Mostrando entradas con la etiqueta presentaciones. Mostrar todas las entradas
Mostrando entradas con la etiqueta presentaciones. Mostrar todas las entradas

miércoles, 11 de mayo de 2011

[Webcast–AUGES] Introducción a ASP.NET MVC

Seguramente la mayoría ya sabréis que gracias al empuje del maestro Luis Ruiz Pavón (que nos ha ido convenciendo a varios), se ha creado AUGES, el grupo de usuarios de ASP.NET de España.

Para mi es un honor y un placer poder formar parte de este grupo, pero todavía es un placer más grande inaugurar la agenda de eventos del grupo. Y como no podía ser de otro modo el evento será un Webcast de ASP.NET MVC. :)

La fecha? El Miércoles 18. La hora? A las 19:30 (hora española peninsular).

La idea es hacer un evento 100% introductorio: explicar que es esto de ASP.NET MVC, ver ejemplos y comentar cosillas básicas. Más adelante ya tendremos tiempo de hacer eventos más hardcore sobre el tema! ;-)

Así que, ya sabes… si has oído a hablar de MVC y quieres ver de que se trata, o si conoces implementaciones de MVC en otros sistemas y quieres ver la de Microsoft, o si simplmente quieres escucharme un rato (mmmm…. :p) pásate por la web de registro y… nos conectamos el miércoles!!

Saludos… y nos vemos! ;-)

PD: Como siempre… crosspost desde mi blog de geeks.ms

martes, 8 de febrero de 2011

[Material] WebCast ASP.NET MVC

Buenas.

Este post simplemente es para agradeceros a todos el interés que mostrasteis en el Webcast de ASP.NET MVC que tuve el placer de realizar para la gente del Lledia DotNetClub.

Antes que nada os dejo la página desde donde os podéis ver o descargaros el WebCast: https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=es-ES&EventID=1032476809&CountryCode=ES. En esa página veréis un enlace que pone “Regístrese sin cuenta de Windows Live ID” que es el que os llevará a la página de descarga.

Increíble, eh? Esta vez no la pifié con el livemeeting y quedó grabado! :)

Os dejo:

  1. El código fuente de Porrazo completo. Porrazo, el sistema de porras on-line, fue lo que más o menos fuimos desarrollando a lo largo de los dos webcasts. En el código veréis implementadas todas las técnicas de las que hablamos (con la excepción del helper WebGrid). Por supuesto que Porrazo es un conglomerado de técnicas de hacer las cosas: no significa que todas deban implementarse en una misma aplicación MVC. A vosotros os toca juzgar en cada caso cual es la mejor opción!
  2. Los dos ppts, aunqué no tienen apenas información, ya que son un mero índice.
  3. El script SQL para crear las tablas (sin datos… los datos deberéis ponerlos vosotros… :p).

Lo tenéis en: http://cid-6521c259e9b1bec6.office.live.com/browse.aspx/BurbujasNet/ZipsPosts/Porrazo

En breve me gustaría hacer un documento word (en esa misma carpeta) para que podáis realizar step-by-step Porrazo desde cero y podáis practicar las técnicas que vimos. Pero como ello me va a llevar cierto tiempo, prefiero dejaros los fuentes ya disponibles, y actualizar este post cuando tenga el documento realizado.

Si alquien quiere que le avise personalmente cuando tenga el documento, puede enviarme un mail (mi correo está en los ppts) o contactar conmigo a través del formulario de contacto del blog.

Muchas gracias!

PD: Eso es un crosspost desde mi blog en geeks.ms!

miércoles, 2 de febrero de 2011

[WebCast] ¿Te quedaste con más ganas? ASP.NET MVC II

Muy buenas! Este jueves 03 de febrero (o sea mañana) gracias a la gente del Lleida dotnet club, tengo el gusto de dar un WebCast sobre ASP.NET MVC :)

La verdad es que el WebCast está pensado para ser la continuación del que dí el pasado 2 de diciembre. En aquel webcast vimos:

  1. Introducción a ASP.NET MVC
  2. Membership providers para autenticación y autorización
  3. Uso de Unity para desacoplar dependencias
  4. El patrón repositorio para acceder a la BBDD
  5. Uso de Ajax con Json
  6. Templates con jquery-tmpl
  7. Binding de datos en los controladores
  8. Guardando datos en la bbdd: Unit of Work

Todo ello lo vimos desarrollando una aplicación desde cero (al que mi departamento de marketing llamó Porrazo), y este nuevo webcast continuará donde se quedó aquel. Lamentablemente, debido a que soy un negado en eso del livemeeting el webcast no quedó grabado, así que al principio vamos a dar un rápido resumen a lo visto en aquel webcast, para que estemos todos en situación… Y luego proseguiremos con los puntos que se nos quedaron en el tintero:

  1. Uso de un Role Provider
  2. Añadiendo un módulo de administración (áreas)
  3. Componiendo presentación (uso de vistas parciales)
  4. Grids!! (Sí… esa es una feature que la gente pide mucho)
  5. Ventanas flotantes (popups)

Si me da tiempo (espero no volver a enrollarme) veremos algunos temas addicionales como:

  1. Validación de datos en cliente
  2. Unobtrusive javascript

Y al final una sesión de preguntas y respuestas (pero… no os paséis: que sean facilitas, eh? ;-))

Todo ello con ASP.NET MVC3, con VS2010 a tope (nada de power points!) y desarrollando Porrazo, el sistema de porras online que cuando esté finalizado colgaré aquí con la esperanza de que lo compre Google y me retire.

La página de registro esá en: https://msevents.microsoft.com/CUI/Register.aspx?culture=es-ES&EventID=1032476808&CountryCode=ES&IsRedirect=false

Un saludo a todos!

viernes, 19 de noviembre de 2010

[Evento] Hasta donde se puede llegar con ASP.NET MVC?

Muy buenas!

El jueves 2 de diciembre voy a realizar un WebCast para la gente del Lleida DotNetClub sobre ASP.NET MVC.

La idea es empezar desde cero a desarrollar una aplicación ASP.NET MVC y ver hasta donde llegamos. Iremos explorando el framework y viendo paso a paso sus características: controladores, vistas, modelos, vistas parciales, ajax, helpers, inyección de dependencias,…

La idea es que sea 100% Visual Studio, nada de powerpoints que de esto ya se encuentra mucho en la web!

La página de registro está en https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032471331&EventCategory=4&culture=es-ES&CountryCode=ES

Así que si estás interesado en ver ASP.NET MVC, ya sabes: te esperamos! ;-)

Saludos y gracias a la gente del Lleida DotNetClub por invitarme a dar la charla! :)

PD: Huelga decir que si tienes cualquier comentario sobre algo específico que te gustaría ver en este Webcast coméntalo por aquí y voy a ver como se puede encajar! De lo que se trata es que este Webcast sea interesante para vosotros!

PD2: Pues sí… Eso es oooooooootro crosspost de mi blog de geeks.ms

martes, 29 de junio de 2010

[WebCast] ASP.NET MVC UoC DotNetClub – Material

Hola a todos!

Ayer 28 de Junio a las 20:00 di un WebCast de introducción a ASP.NET MVC gracias a la gente del UoC DotNetClub. La verdad es que yo me lo pasé fenomenal, a pesar de no ser muy ducho con el LiveMeeting que digamos, pero bueno, jejejeee… :)

Visto en retrospectiva, que siempre es fácil, intenté dar un vistazo (muy) rápido a todo ASP.NET MVC, explicando cual es la necesidad de un nuevo framework para el desarrollo de aplicaciones web en ASP.NET y luego comentando cada uno de los aspectos propios. No puede entrar en tanto detalle en algunos puntos en los que quería hacer especial incapié (sobretodo la factoría de controladores) y me gustaría haber dado más ejemplos de ViewResults y ActionFilters pero la verdad es que iba mirando el reloj, porque había muchas cosas que contar… y muy poco tiempo. Honestamente ahora quizá un par de puntos que intenté dar no los hubiera mencionado porque creo que no pude explicarlos como se merecen.

Después en el turno de preguntas me realizaron varias y aunqué las contesté muy rápidamente, creo que muchas son muy interesantes, así que dedicaré un post a cada una de ellas. Cuando vaya escribiendo los posts iré actualizando este a modo de índice. Las preguntas que voy intentar resolver son las siguientes:

  1. ¿Como pasar parámetros a un controlador?
  2. ¿Como podemos crear vistas “complejas”?
  3. ¿Como usar la sesión desde ASP.NET MVC?
  4. ¿Como usar cookies desde ASP.NET MVC?
  5. ¿Como simular el control Repeater desde ASP.NET MVC?
  6. ¿Tenemos grids tan potentes en ASP.NET MVC?

Lo que no aseguro es que las responda precisamente en este orden, ya que para algunos temas necesito más preparación que para otros y no se en que orden voy a abordarlos. También si me llega alguna pregunta más por mail o por twitter y que considere que es de interés general la añadiré.

Sólo me queda dejaros el material: el powerpoint que usé (tenéis plena libertad para usarlo como y para lo que queráis) y los ejemplos que enseñé. Algunos de los ejemplos no son exactamente los mismos, puesto que los iba creando desde cero en el webcast, pero se parecen bastante. Aquí tenéis el enlace a la carpeta en skydrive donde estan el powerpoint y un zip con las demos:

Finalmente sólo dar las gracias a la gente del UoC DotNetClub y por supuesto a todos los que asististeis al webcast. Fue un auténtico placer.

Un saludo!

PD: Este es un crosspost desde mi blog en geeks.ms. Mejor pásate por allí que somos más!

PD2: El post que iré actualizando a modo de índice no es este, sinó el que hay en geeks.ms!

miércoles, 5 de mayo de 2010

Evento de ASP.NET MVC

Hola a todos!! Mañana (o sea jueves 6 de mayo) hay una charla en las oficinas de Microsoft en Madrid sobre ASP.NET MVC, en la cual tengo el gusto de participar.

Yo voy a contar cosillas sobre controladores y modelos… Veremos como hacer binding y validaciones de modelos, un poco sobre factorías de controladores, action results, action filters y cuatro cosillas sobre la tabla de rutas… En fin, lo que me de tiempo en una hora. :)

Os recomiendo que si podéis y estáis interesados en ASP.NET MVC os paséis por allí, ya no tanto para escucharme a mí, sinó para escuchar a otros cracks como Hadi Hariri o Miguel Caballero que también participan en la charla!!

La agenda y los detalles de la charla estan aquí: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032444497&Culture=es-ES

Un saludo a todos!

PD: Esto es un crosspost desde mi blog de geeks.ms. Méjor pásate por allí que somos muchos más!! :)

martes, 9 de febrero de 2010

[WebCast] Material de mi webcast sobre Facebook Connect

Este pasado jueves (4 de febrero de 2010) di un WebCast sobre Facebook Connect. La verdad es que era la primera vez que daba un webcast, y fue una sensación extraña: acostumbrado a dar charlas presenciales, se me hizo raro no tener el feedback visual de la gente. La verdad es que me sentí un poco como cuando hablas con un contestador automático…

Pero he de decir que la experiencia me gustó, así que espero poder repetirla algún dia de esos!

Muchas gracias a todos los que os conectasteis, espero que al menos os haya picado la curiosidad sobre connect :)

Os dejo el enlace a un fichero .zip con el código y el “super pptx” que enseñé!

Nota: El proyecto es un proyecto ASP.NET MVC RC2, así pues debéis tener instalado este framework para que os funcione!

Saludos!

PD: Esto es un crosspost de mi blog en geeks.ms… pásate por allí mejor! ;-)

jueves, 21 de enero de 2010

[WebCast] Aprovecha el poder de facebook en tu web.

Hola a todos! Este post es sólo para informaros que el próximo 4 de febrero a las 19:00, voy a realizar un webcast para la gente del Club .NET UOC. Bajo el título Aprovecha el poder de facebook en tu web, voy a contar algunas cosillas sobre como integrar facebook en tu aplicación ASP.NET: usar connect para implementar un SSO (single sign-on), poner mensajes en el muro, obtener información del perfil del usuario…

La idea es ver lo fácil que resulta la integración y las ventajas que podemos obtener al integrarnos con una red social en general, y en una de las más usadas en particular…

Os dejo el enlace para apuntaros. Cualquier cosa que queráis comentar… ya sabéis donde encontrarme!!! ;-)

Saludos!

PD: Evidentemente, muchas gracias a la gente del Club .NET UOC y a Jesús Bosch en particular, por invitarme a realizar el webcast… es un autentico placer!

PD: Otro crosspost desde mi blog en geeks.ms (pásate por allí mejor… :p)

jueves, 26 de noviembre de 2009

[ALM 09] Material de las sesiones: Surface y TDD

Hola a todos! Finalmente tuve el placer de dar no una, sino dos sesiones en las ALM Sessions 09. No era la idea inicial, pero mi compañero Juan Carlos finalmente no pudo dar la de Surface, así que la di yo (y es que por suerte o por desgracia me encanta hablar).

La primera sesión fue precisamente la de Surface, en el track de Diseño y UX. La intención inicial era haber traído la surface que tenemos en raona, pero por temas logísticos fue imposible… Así que tuve que dar una presentación sobre Surface sin Surface que es como una noche de fiesta sin lig… esto, que le falta algo, vamos. Intenté explicar un poco que es la Surface, y el cambio de paradigma que supone desarrollar para ella. Mostré el emulador que viene con el SDK de Surface (que os animo a todos a probar) y vimos algunos de los controles de dicho SDK. Finalmente exploramos el futuro que nos espera con WPF 4 unificando la programación multi-touch en Surface y en Windows 7.

La segunda sesión, en el track de arquitectura, versó sobre TDD. Intenté explicar que es TDD, pero sobre todo por que usar TDD sin entrar en detalles sobre el como hacer pruebas unitarias (lo que daria para varias sesiones). Luego mencioné los pequeños cambios que trae VS2010 para hacernos llevadera la tarea de realizar TDD (recordad las sabias palabràs del Capità Enciam: los pequeños cambios son poderosos) y empecé a desarrollar una clase usando TDD, intentando hacer énfasis en los pensamientos que uno tiene gracias a usar TDD. Me quedé un poco corto de tiempo y tambien me comentaron que la combinación de colores que tengo en mi VS2010 será muy cómoda para programar pero muy mala para proyectar… Disculpas por si no pudisteis ver bien el código por culpa de los colores :(

En fin, que más puedo deciros: yo me lo pasé en grande durante todo el evento: dando sesiones, escuchándolas, hablando y conociendo a gente… ah si! y también comiendo y bebiendo jejejee… :)

Os dejo las presentaciones de ambas sesiones.

Un saludo y nos vemos en la próxima movida!!! ;)

PD: Esto es (como no podia ser de otra forma) un crosspost desde mi blog en geeks.ms

martes, 17 de noviembre de 2009

ALM Sessions’09 – Test Driven Development

Hola a todos!! Este año tengo el placer de realizar una presentación en las ALM Sessions’09.

En concreto hablaré sobre Test Driven Development: que és, como su uso junto con otras buenas prácticas de desarrollo puede ayudarnos a ganar en calidad y como podemos implantarlo en un equipo de desarrollo.

También veremos que herramientas trae Visual Studio 2010 y como nos pueden ayudar a realizar de forma más sencilla TDD.

Os recomiendo que los que podais os paseis por Madrid este 24 de Noviembre, porque vale la pena. Si el año pasado las sesiones fueron buenas este año todavía más porque hay hasta 6 tracks simultáneos: Procesos, Calidad y testing, Herramientas, Arquitectura, Diseño/UX y Plataforma de aplicaciones. Si veis la agenda observaréis la gran cantidad de temas que se tratan. Es casi imposible no encontrar ninguno de vuestro interés!

Un saludo y nos vemos por allí!!!

image

Este post es crosspost desde mi blog en geeks.ms!

jueves, 22 de octubre de 2009

Code Contracts, Pruebas Unitarias y SandCastle (y los materiales del CodeCamp)

Buenas! Como prometí en el post anterior sobre el CodeCamp, en mi charla sobre Code Contracts, quedaron por ver algunos temillas que aprovecho para comentar ahora.

Pruebas Unitarias

Primero remarcar que no realiceis pruebas unitarias para validar que vuestros contratos están bien, es decir, si teneis un método:

public void Foo(int arg)
{
Contract.Requires(arg > 0);
}





No hagáis una prueba unitaria que compruebe que el contracto falla si se le pasa cero a arg.



¿Por qué no hacer esta prueba? Pues por dos razones.



La primera es “filosófica”: Un contrato fallado significa código erróneo, y no tiene sentido que una prueba unitaria que es código erróneo funcione correctamente.



La segunda es más práctica: Qué va a suceder cuando el contrato falle? Code Contracts dos modos de funcionamiento (se realiza un Asert, o bien se lanza una excepción), pero podemos añadir nuestro propio comportamiento. Además la prueba unitaria no debería asumir nada en cuanto al comportamiento de Code Contracts, ya que ese es variable por configuración (recordad que incluso podríamos tener todos los contratos deshabilitados en Release).



Si un contrato se rompe durante la ejecución de la prueba unitaria, la prueba debería fallar, con independencia del comportamiento en que tengamos configurado Code Contracts. Para ello puede usarse el evento ContractFailed, de la clase Contract, que se lanza cada vez que un contrato se rompe. El siguiente código lo podéis usar a tal efecto:




/* Convierte los fallos de contrato en fallos de Tests */
[AssemblyInitialize]
public static void AssemblyInitialize(TestContext tc)
{
Contract.ContractFailed += (sender, e) =>
{
e.SetHandled();
e.SetUnwind();
Assert.Fail(e.FailureKind.ToString() + ":" + e.Message);
};
}





Nos suscribimos al evento ContractFailed y en él:




  1. Indicamos a Code Contracts que no realice el comportamiento por defecto. P.ej. si Code Contracts estaba configurada para lanzar una excepción evitamos que la lance.


  2. Fallamos la prueba unitaria (mostrando cual es el contrato fallado).



De esta manera podéis “olvidaros” de Code Contracts y realizar pruebas unitarias que verifiquen vuestro código en lugar de los contratos, con la total seguridad de que si en cualquier momento un contrato falla, la prueba unitaria os lo verificará!



Sandcastle



Sandcastle es la herramienta para generar archivos de ayuda a partir de los comentarios XML en código fuente. No es excesivamente agradable de utilizar, aunque por suerte existe SandCastle Help File Builder, una GUI sobre Sandcastle que convierte su uso en casi trivial (si lo usáis sabed que puede integrarse con Team Build).



Los contratos son un elemento fundamental de los métodos y de una clase, pero sandcastle no los soporta (la última versión de sandcastle es mayo del 2008). Code contracts viene con un parche para sandcastle que se instala encima de sandcastle y que añade soporte para contratos. Con este parche instalado, podemos utilizar nuevas etiquetas xml, en nuestra documentación:




/// <summary>
/// Construye la pila de un tamaño máximo indicado.
/// </summary>
/// <param name="size">Tamaño máximo</param>
/// <requires />
public Pila(int size)
{
Contract.Requires(size > 0, "Tamaño inicial mayor que cero");
// Código...
}





P.ej. en este caso la etiqueta <requires /> indica que queremos documentar las precondiciones de este método. Luego en código utilizamos una sobrecarga de Contract.Requires que permite especificar un mensaje. Este mensaje es el que usa cuando falla el contrato, y también es el que usará sandcastle. Si no ponemos la etiqueta <requires /> las precondiciones no se documentarán aunque existan llamadas a Contract.Requires. Si alguien se pregunta porqué, es lo mismo que ocurre con el resto de documentación. P.ej. si no ponemos una etiqueta <param> no se documenta un parámetro de método, aunque éste exista.



El resultado será algo parecido a lo siguiente:



image



Como se puede observar se incluye un apartado “Contracts” con las precondiciones. Igual que existe la etiqueta <requires /> existen otras como <ensures /> para las postcondiciones,… Están todas ellas documentadas en el manual de Code Contracts.



Y el material del CodeCamp…



Aunque se lo mandaré a la organización para que lo cuelguen en la web del codecamp os dejo aquí el enlace al material de mi charla del codecamp. Son varias demos, que se auto-explican bastante y el ppt usado. Para cualquier duda… ya sabéis donde encontrarme!



 



Saludos!



PD: Crossposting desde mi blog en geeks.ms (acaso lo dudabas? ;-))

martes, 20 de octubre de 2009

De resaca… del codecamp!

Pues sí… han pasado ya dos días, pero yo todavía estoy resacoso del Code Camp 2009 de Tarragona.

Fue una experiencia brutal, tanto en lo organizativo, como en lo técnico pero sobretodo en lo humano… compartir este fin de semana con gente apasionada de la tecnología .NET, sea en entornos MS o en Mono, es simplemente increíble.

El éxito de gente también debe mencionarse: unas 250 persones el sábado, y un poco menos el domingo, pero más de las que yo me esperaba. En mi caso yo daba una charla sobre “Code Contracts”, el domingo a las 09:00 (jejeeee… a los malos ponentes nos meten en la peor hora :P), en la que hubo bastante más gente de la que me pensaba. Además pienso que el tema interesó bastante, aunqué no me dio tiempo de contar todo lo hubiese deseado. Pude comentar que son los contratos de código y por qué deben  usarse. Luego vimos ejemplos de precondiciones, postcondiciones e invariantes y poca cosa más…

… me quedó en el tintero como hacer tests unitarios cuando tenemos contratos (aunque pronto colgaré un post al respecto), y la integración con Sandcastle. De todos modos, estará toda la información (con ejemplos) disponible en la web del codecamp. Y por supuesto si alguien tiene alguna duda o interés al respecto, que contacte conmigo!

Gracias a todos los que vinisteis al codeamp, y espero que nos veamos en el próximo, sea donde sea!!

Saludos!

pd: Esto es un crosspost de mi blog en geeks.ms

martes, 24 de febrero de 2009

Evento ALM: Como Team System cambió mi (ciclo de) vida

Hola a todos!

Aprovecho la ocasión para comunicaros un evento que organizamos en raona, en colaboración con Microsoft, sobre ALM en general y Team System en particular.

Lo hemos llamado “Como Team System cambió mi (ciclo de) vida”. Durante unas 4 horas y pico, Magda, Enric y yo mismo (sí, nada es perfecto y yo voy a estar… pero no sufrais, ya dejaré hablar a los que saben :p) vamos a comentar distintos aspectos de Team System. Empezaremos con una introducción y luego iremos viendo aspectos concretos (personalización, distintos clientes de foundation server, team build,…).

El evento será en Madrid el 18 de marzo y en Barcelona al dia siguiente (o sea el 19).

Enlace de la página del evento en raona

Enlace del registro para Madrid

Enlace del registro para Barcelona

Esperamos veros por allí!!! ;-)

Saludos!

Crossposting desde mi blog de geeks (como no :p)

miércoles, 21 de mayo de 2008

Charla en catdotnet

Este viernes (16 de mayo) he tenido el honor de presentar una pequeña demo en una charla de catdotnet, el grupo de usuarios de .NET de la catalunya central. La charla fue en Igualada y se impartieron dos pequeñas sesiones:

  1. Em primer lugar intervine yo, y bajo el título "Qui diu que .NET 3.0 és dificil?" (¿Quien dice que .NET 3.0 es difícil?), presenté una demo práctica de unos 45 minutos en los cuales montamos una aplicación web que mostraba imágenes de una base de datos. Luego creamos una librería de servicios WCF, que se conectaba a la BBDD y devolvia las imágenes de un determinado usuario, y consumimos esta librería de servicios en una aplicación WPF.

  2. En segundo lugar fue Lleonard Del Río quien mostró una demo de Workflow Foundation y explicó sus principales características.

Ambas sesiones fueron totalmente prácticas (vamos, sin powerpoint, sólo con Visual Studio... como tiene que ser! xD).

Cuando esté el código disponible en la página de catdotnet, os aviso! :)

Saludos!