Estamos devuelta y al aire! February 22, 2009
Posted by NicoPaez in noticia.Tags: noticia
add a comment
Uau! Cuanto tiempo ha pasado. El último proyecto nos ha tenido muy atareados, pero finalmente estamos al aire. El lunes pasado salimos en producción con http://www.lasubastada.com.ar.
El proyecto aún no ha finalizado pues tenemos pendiente liberar una segunda tanda de funcionalidad en la que aún estamos trabajando. Más allá de los impedimentos que encontramos, el proyecto ha resultado muy enriquecedor para todo el equipo, principalmente por la gran cantidad de tecnologias / herramientas que debimos utilizar y de las cuales estaremos hablando en los proximos posts.
¡Chau 2008! December 30, 2008
Posted by NicoPaez in evento.Tags: noticia
add a comment
En este último tiempo hemos escrito muy poco debido principalmente a que hemos estado enfrentando algunos nuevos y variados desafios. Matias y Gabriela han estado trabajando con PHP, mientras que Dario hizo sus primeras experiencias con Java. Al mismo tiempo junto al resto del equipo hemos comenzado a trabajar en un nuevo sitio promocional para una importante tabacalera que incluye tecnologias varias como Castle Active Record, Spring IoC, WCF, REST, JQuery, Widgets, J2ME y SMSs. Espero que en las próximas semanas podamos hacernos tiempo para empezar a volcar las experiencias que hemos recogido en esto en estos últimos tiempos.
Haciendo referencia al tÃtulo del post, creo que hemos tenido un año muy positivo y me gustarÃa destacar algunos puntos que justifican esta percepción:
- Nos hemos consolidado como equipo de trabajo y hemos sentado las bases de nuestra forma de trabajo.
- Hemos ejecutado exitosamente los proyectos que nos fueron asignados.
- Trabajamos con distintas tecnologias manteniendo siempre las consignas fundacionales de nuestra forma de trabajo.
Si bien el panorama mundial para el 2009 es en gran medida una incógnita, ya tenemos en pipeline algunos proyectos interesantes de los cuales ya iremos contando.
Nos leemos el año próximo, ¡feliz 2009!
Curso Linq, Sql 2008, Parallel FX (DÃa 2) August 7, 2008
Posted by Leandro Romero in evento.Tags: dotnet, noticia, opinion
add a comment
Ayer asistà al workshop del Mug en el dÃa “manejo de datos” y vimos Linq, Parallel FX y un chiquitÃn de SQL 2008.
LINQ
Para empezar vimos Linq, no voy a contar todo lo que dijo, pero básicamente es una linda manera de utilizar sintaxis “parecida” a sql para manejar colecciones. Entonces podemos tener algo asi:
public void Linq6() {
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };var numsPlusOne =
from n in numbers where n > 2
select n;
En este ejemplo se ve que podemos “consultar” sobre una colección.
Bien, Linq es re lindo, nos da un lenguaje copado, con intellisense, tipado y además parece útil, pero lo que lo hacen más útil son sus implementaciones: Linq To Objects, Linq To Sql, Linq To Entity, Linq To DataSets… etc.
Un ejemplo de Linq To Objects (la más fácil de entender):
ArrayList arrList = new ArrayList();
arrList.Add(new Student
{
FirstName = "Svetlana",
LastName = "Omelchenko",
Scores = new int[] { 98, 92, 81, 60 }
});
arrList.Add(new Student
{
FirstName = "Claire",
LastName = "O’Donnell",
Scores = new int[] { 75, 84, 91, 39 }
});
arrList.Add(new Student
{
FirstName = "Sven",
LastName = "Mortensen",
Scores = new int[] { 88, 94, 65, 91 }
});
arrList.Add(new Student
{
FirstName = "Cesar",
LastName = "Garcia",
Scores = new int[] { 97, 89, 85, 82 }
});
var query = from Student student in arrList
where student.Scores[0] > 95
select student;
Copado no?
Ahora sobre lo que mas me voy a explayar: Linq To Sql (Solo SQL Server). Vamos por partes como dijo Jack: Primero hay que tener en cuenta que hay que tener un contexto, esto es una clase que encapsula las tablas y las relaciones de esas tablas (algo MUY parecido a un dataset, pero en realidad es un .dbml). Una vez que se tiene un contexto podemos hacer cosas como esto:
DataContext db = new DataContext
(@“c:\linqtest5\northwnd.mdf”);
Table<Customer> Customers =
db.GetTable<Customer>();db.Log = Console.Out;
IQueryable<Customer> custQuery =
from cust in Customers
where cust.City = “London”
select cust;foreach (Customer cust in custQuery)
{
Console.WriteLine(“ID={0}, City={1}”,
cust.CustomerID,
cust.City);
}
Podemos ver que tiene un contexto (en el ejemplo se muestra una manera rapida de crear contextos sin el .dbml), se trae la tabla Customers (la tabla esta mapeada a una clase Customer) y ejecuta una búsqueda simple. La sentencia “db.Log = Console.Out;” Hace que muestre la sentencia sql que genera nuestra búsqueda. Bien, un dato importante es que la consulta no es ejecutada en el instante, sino que es “diferida” la ejecución, esto significa que recién al recorrer esa colección con el for each, ahi va a ejectuar la consulta en la base, esto es importante porque si surge alguna excepción va a saltar en la ejecución del for each y no en la creación de la consulta en si. Algunos datos para tener en cuenta: NO es un ORM (Como nhibernate), NO soporta complejas estructuras de tablas (lo de complejas es subjetivo, pero como métrica si tienen 30 tablas y tienen 90 relaciones, eso es complejo
) y lo mas importante de todo: las sentencias LIKE no estan soportadas, leyeron bien, no se puede hacer una consulta sobre un campo texto con un LIKE.
Ustedes dirán, y que tiene de bueno esto? Bueno, en principio si tenemos una aplicacion que no tiene una gran complejidad de relaciones, no hay que hacer busquedas de texto con like y nuestro dominio esta excelentemente modelado como para que cada atributo es una columna de una tabla y no hay muchas mas vueltas que eso aca tenemos la solución, en todos los proyectos por los que pasé, esto se me presentó en… mmmm bue.. nunca, pero bueno.. para hacer demos queda RE Lindo!!!
Sin embargo no crean que esto es algo malo, para solucionar esto es que existe Linq To Entities, en criollo es Linq con Entity Framework, ahora si tenemos un ORM, y podemos jugar lo que querramos con esto. Esta implementación es la que le pongo mas fichas, pero no seria Linq la solucion principal, el mayor poder reside en Entity Framework, que les dejo de tarea revisar que es
Parallel FX
Yo me acuerdo cuando empece la secundaria técnica en la vieja y querida Kennedy de Lanus en el 2000. Para esa época AMD e Intel peleaban cuerpo a cuerpo a ver quien era el que lograba el procesador con mayor cantidad de Ghz posible. Hoy por hoy, AMD e Intel pelean por ver quien pone mas procesadores en una pc. Ya sabemos que la mayoria de los procesadores tienen 2Ghz, un poco mas o un poco menos, pero todos andan por ahi. Esto es asi porque a mas Ghz nuestra pc pasarÃa a la categorÃa estufa (se calculaba que si esa tendencia de aumentar la velocidad se extendÃa por un par de años mas, los procesadores iban a alcanzar la temperatura del sol), por suerte a Roberto Intel, que estaba perdiendo mercado con AMD64, se le prendió la lamparita y sorprendio a todos con el Dual-Core, un procesador con 2 nucleos. A estas alturas ya existe el Quad-Core para escritorios y multiples Quad-Cores para servidores (los servidores grosos siempre soportaron muchos procesadores, pero ahora aceptan muchos procesadores que se componen de muchos nucleos). Y las aplicaciones? Bien, gracias, hagan la prueba los que tienen múltiples nucleos en su pc, agarren un archivo pesado de texto (1GB mas o menos) y abranlo con el notepad, vayan al administrador de tareas y van a ver como un procesador esta trabajando a full y el otro esta durmiendo la siesta, un claro ejemplo de una aplicación no está pensada para esta nueva tecnologÃa (convengamos que es el notepad, no le pidan peras al olmo). Como hacemos nosotros para seguir a la tecnologÃa? Simple, Parallel FX y que el framework se arregle como pueda. Ejemplo:
A la antigua el manejo de threads era asi:
for (int i = 0; i < 20; i++)
{
//Dormir 100 milisegundos
Thread.Sleep(100);
}
Ahora para aprovechar los procesadores hacemos asi:
System.Threading.Parallel.For(0, 20, delegate(int i)
{
//Dormir 100 milisegundos
Thread.Sleep(100);
});
Como funciona esto? Bueno, el framework se fija cuantos procesadores tiene a su disposición y ejecuta los threads en paralelo. Miren como es el for de Parallel, muy parecido al viejo for no?
SQL 2008
Por ultimo un chiquitÃn de SQL 2008: Cuando salga va a salir conjuntamente el release de Entity Framework, como el equipo de desarrollo de SQL se atrasó, el equipo de Entity Framework (muy unidos ellos) decidieron retrasarse también.
Bueno, como dirÃan los filósofos contemporáneos: Espero que les haya gustado.
Curso VS2008 – Framework 3.5 (DÃa 1) August 6, 2008
Posted by mlopezamador in evento.Tags: dotnet, noticia, opinion
add a comment
Al inicio del curso se presentaron las novedades de Visual Studio 2008. Las que mas me llamaron la atención fueron: Lambda expressions, variables de tipo anónimo y la posibilidad de hacer debug y seguimiento sobre funciones javascript. El instructor mostró algunos ejemplos prácticos (código) para afianzar los conocimientos. Luego se vieron algunas cuestiones sobre Framework 3.5: Garbage Collector,CLR Security entre otros. Finalmente vimos WorkFlow Foundation (WF) y Windows Communication Foundation (WCF) pero con poco detalle. La última media hora del curso la utilizamos para hacer un ejercio práctico sobre WCF.
El primer dÃa del curso estuvo bueno ya que vimos de manera global lo nuevo de Visual Studio 2008. Lo ideal hubiera sido hacer algunos ejercicios más, pero no daban los tiempos.
Caso de exito TFS July 10, 2008
Posted by NicoPaez in noticia.Tags: noticia, tfs, Visual Studio, vsts
add a comment
Esta semana fue publicado como caso de exito una solución que implementamos en uno de nuestros clientes utilizando Visual Studio Team Foundation Server. Para más información aquÃ.
Salida en producción “Championes” July 5, 2008
Posted by NicoPaez in evento.Tags: noticia
1 comment so far
La semana pasada después de unos arduos meses de trabajo, finalmente salimos en producción y como corresponde salimos todos los integrantes del equipo a festejar el hecho.
De izquierda a derecha: Charly, MartÃn, Leandro, Alejandro, Santiago L, Manuel (infiltrado ocupando el lugar de MartÃn L) Nicolás y Santiago F.
Great job, well done team!
Firefox 3 June 19, 2008
Posted by dariofederico in Tools.Tags: firefox, noticia, opinion
add a comment
El 17 de Julio se lanzo el nuevo Firefox 3, después de sus pruebas y versiones beta, con muchas innovaciones, más rápido, más efectivo y ya supero las 8 millones de descargas en un solo dÃa.
La navegación es más rápida ya que limpia de manera automática la memoria y su gestor proporciona un bajo consumo de recurso cuando se está lo está ejecutando.
Su apariencia nueva es totalmente distinta a sus anteriores versiones. Firefox 3 se adapta a la apariencia que tienes en tu sistema operativo, ya sea Windows Vista, Windows XP, Linux o Mac. La barra de direcciones también fue modificada para poder obtener una búsqueda de páginas visitadas más rápidas.
Al igual que sus versiones anteriores posee la integración de complementos, aunque algunos no pueden ser utilizados y habrá que esperar las nuevas actualizaciones para la nueva versión.
En resumen, Firefox 3 es una nueva forma de navegación con millones de usuarios en el mundo utilizándolo. Esto parece generar un dolor de cabeza a Microsoft ya que hace competencia a su navegador IE.
Con Firefox 3 la Fundación Mozilla aspira a quitarle otro trozo de pastel a Microsoft, a quitarle otro argumento para que la gente deje de usar Windows. El reto es una nueva pelea entre David y Goliat. En este caso, David se compone de 140 empleados y una multitud de programadores voluntarios distribuidos por todo el mundo. Goliat (Microsoft), que estuvo cinco años sin actualizar su navegador, ha reaccionado a cada movimiento de Mozilla y también lo hará en esta ocasión. Si el Firefox 2 acabó con el monopolio del Explorer, la versión 3 intenta arrebatarle la mayorÃa.
Más información sobre Firefox 3 la encontraras acá: http://www.mozilla-europe.org/es/firefox/features/
