lunes, 26 de mayo de 2008

Analizador de código para C#


Ya está disponible esta herramienta de análisis de código por parte de Microsoft llamada Microsoft Source Analysis for C#, anteriormente era conocida como StyleCop en Microsoft.
Actualmente existe otra herramienta llamada FxCop pero está basada en análisis de ensamblados a diferencia de Microsoft Source Analysis for C# que se basa en el código fuente própiamente tal.

La herramienta incluye sobre 200 buenas prácticas y cubre muchos aspectos, se integra directamente con Visual Studio 2005 o Visual Studio 2008 y también se puede usar mediante línea de comandos, tal vez lo malo que tiene es que le falta algo de documentación todavía pero va por buen camino.
Para bajar, click aquí.
Para el sitio oficial, click aquí.

Pd.: A ver si ésta noche posteo sobre mi estrategia de estudio que usé para el examen 70-536.

Saludos !

viernes, 23 de mayo de 2008

Curso de SilverLight

No he tenido nada de tiempo para investigar sobre SilverLight, pero con este curso no se a que hora espero poder darle una miradita con más calma:

Click Aqui

Si, es gratis, saludos.

jueves, 22 de mayo de 2008

Nuevos tiempos

Mhhh... esto es algo que hace tiempo quería comentar, la verdad no es muy sencillo de explicar para mi pero quiero desahogarme un poco.
Desde que tengo memoria (si, a veces me siento un poco viejo) he sido "gamer" y siempre he tratado de alargar lo más posible la etapa de inmadurez, eso hasta hace algunos meses (concretamente Febrero), donde comenzé a mirar hacia atrás y me di cuenta de todo el tiempo que había derrochado en juegos y al final no me dejaban nada (excepto muy buenos amigos que hasta el día de hoy conservo), la cosa es que igual le dedicaba todos los días su rato al juego (ya sea en el Pc o la Xbox 360) y entremedio también le tenía que dedicar tiempo al estudio para la certificación y además obviamente tiempo para la familia (ya perdí la cuenta de las veces que mi polola señora me reclamaba que me dejara de jugar y le dedicara más tiempo a ella y al estudio igual tenía razón).
Hasta que empezé a colapsar y el tiempo ya simplemente no me alcanzaba por ningún lado y a mi familia obviamente no la iva a dejar y entre los estudios y los juegos cláramente los estudios eran mi meta, en ese momento hice lo que yo considero el equivalente a un fumador compulsivo que ha fumado casi toda su vida: dejar de fumar de un día para otro, empezé con convulsiones y casi me muero decidí dejar el vicio de raíz, no más juegos enviciantes y quita-vidas como los mmorpg.
No fué fácil pero la necesidad tiene cara de hereje, para alguien que nunca ha sido muy dado a los libros tener que leerse el librito para el examen 70-536 que tiene más de 1000 páginas (todo en inglés) y tener que posteriormente meterse a la MSDN a complementar lo que no se incluye en el libro y además obligarte a estudiar todos los días no fué nada fácil pero tampoco imposible.
Recuerdo que hubo un día domingo en la noche en que tenía unas 2 o 3 horas libres para estudiar, pasada la primera media hora ya no tenía muchas ganas de seguir estudiando, llegando a la primera hora me picaban las manos por jugar, la siguiente media hora estaba incluso nervioso pero fuí fuerte y me obligué a estudiar. Yo creo que en ese minuto se produjo el quiebre entre el estudio y las distracciones, me obligué a estudiar y de ahi en adelante asumí el estudio como parte de mi vida y comenzé a mirar hacia atrás a todo ese tiempo que perdí jugando cuando podría haber estado estudiando, quizás cuantos logros podría tener a estas alturas, pero en fin, norlamente creo que no vale la pena arrepentirse por las cosas hechas si no más por las que no se han hecho, estoy consciente que no tomé las mejores desiciones pero creo que todavía estoy a tiempo de recuperar el "tiempo perdido" y haber logrado mi primera certificación me indica que voy por el camino correcto y que la meta que en un principio se veía tan lejana y ya he superado no es inalcanzable, menos para cualquiera que sea más dedicado a los estudios y libros de lo que yo he sido.
La moraleja de la historia segun yo es que si alguien como yo pudo sacar la certificación creo que cualquiera puede hacerlo con un poco de empeño y mucho esfuerzo, es cosa de ser constante no más (bueno y saber algo de inglés en este caso), en mi caso fué algo más complicado por todos los factores que he mencionado (además de tener a mi hija que hace poco cumplió 1 año y todavía no dejar dormir mucho que digamos).
Creo que más o menos eso era lo que quería hechar afuera, en los siguientes posteos tengo pensado contar con más detalles mi estrategia de preparación para el examen de certificación y además incluir algunas noticias como la llegada de mi notebook (en realidad no se muy bien porqué nunca me había decidido a comprar uno, de hecho ahora estoy escribiendo esto desde él es como el cerdo araña de homero para mi ahora).
A futuro me gustaría comenzar a incluir noticias que me parezcan interesantes, no necesariamente sobre certificaciones si no también sobre tenología y temas relacionados con .Net y yerbas varias, se pondrá interesante la cosa.
Como siempre, si leiste todo esto te lo agradezco ya que en este momento me ha servido de desahogo.

Saludos y hasta luego.

miércoles, 14 de mayo de 2008

El fin del camino ? O un camino que tal vez recién comienza ?

Mhhh... tengo tantas cosas que escribir, tantas cosas que han pasado en este tiempo y como siempre me da flojera falta tiempo para escribirlas todas.
Creo que haré un resumen de algunas líneas y después profundizaré cada tema con más tiempo, la cosa va más o menos así:
  • En Febrero retomé los estudios para la certificación, decidí no comenzar a leer el libro de nuevo si no seguir adelante desde el capítulo 9 hasta el final, después vino una etapa de repaso y pruebas hasta que el día 7 de Mayo di el maldito examen y afortunadamente lo aprobé.
  • A fines de Abril me llegó el libro para la certificación 70-528 (desarrollo web) y ésta semana comenzé a estudiar de nuevo para esta nueva certificación.
  • Tengo planeado incluir los materiales que usé para pasar el 70-536 en algún post con más detalles incluyendo las peripecias por las que pasé para aprobar el examen.
  • El día 8 de Mayo mandé a pedir un notebook Dell y me llega a fin de mes, la idea es jugar trabajar y estudiar en la cama cuando llegue a la casa, por lo menos así mi polola señora no se va a quejar que me voy a acostar con los pies helados.
  • Con el notebook ya en las manos pienso dedicarme a escribir más seguido y no sólo sobre temas relacionados con las certificaciones, si no también sobre juegos las cosas que me pasan y las leseras que se me van ocurriendo, algo así como un desahogo mental (aunque a mi polola señora la otra vez se lo mencioné y me dijo "porqué no conversas esas cosas conmigo", algo de razón tiene pero me quitaría libertad de expresión al condicionar mis comentarios y justamente el blog lo quiero para dejar vagar mi mente sin restricciones, ojalá nadie se enoje aunque da lo mismo).
Eso sería así como resumen a la rápida, ya iré posteando las cosas que tengo pendientes y las nuevas que quiero escribir también si es que no me da flojera de nuevo.
Saludos.

martes, 26 de febrero de 2008

Capítulo 9 listo

El capítulo 9 trata sobre instalación y configuración de aplicaciones.
La lección 1 habla del namespace System.Configuration y cómo manejar los distintos seteos de una aplicación, ésto incluye el manejo de las secciones que debe tener un archivo de configuración y como crear, modificar y leer archivos de configuración.
La lección 2 habla sobre como crear un instalador de aplicaciones y los distintos posibles desenlaces que puede tener una instalación (si tuvo exito hacer commit, si hubieron problemas hacer rollback, etc.) .
La lección 3 habla sobre el uso de la herramienta de configuración que provee el framework 2.0 de .Net, aqui se ven los posibles acceso de los usuarios a una aplicación y la forma y recursos a los que tendrá acceso una aplicación.
La lección 4 habla sobre como implementar interfaces de configuración y como usarlas para manejar archivos de configuración.

En general éste capítulo es bastante útil ya que normalmente todas las aplicaciones (al menos las web) requieren manejar al menos un archivo de configuración (incluyendo sus secciones) para lo cual las lecciones 1 y 2 se hacen bastante familiares. Las 2 últimas lecciones la verdad no las encontré muy útiles y profundizan más en casos particulares pero de todas formas es bueno leerlas.

De vuelta a la vida

Al fin, después de ya 8 meses desde la última publicación y tras varios inconvenientes y desmotivaciones he decidido retomar este tema de una vez y por todas.

Ya no más excusas, no más distracciones, no más desmotivaciones, esta vez (espero) será la definitiva así que como siempre iré posteando los avances que voy logrando.

Así como resumen desde el año pasado hasta ahora sería algo asi: Empezé a estudiar, nació mi hija, me empezó al faltar el sueño, me tuve que cambiar de trabajo y mi motivación se fué al piso, estuve en un trabajo desmotivante y estresante, me hecharon (no entraré en detalles, sólo diré que fué una injusticia tremenda) y volví al trabajo anterior por lo tanto ahora agarré de nuevo las motivaciones y además ahora mi hija me deja dormir un poquito más (aunque nunca lo suficiente).

Hace un par de semanas me traje el libro de preparación para el examen 70-536 al trabajo y ahora estoy tratando de estudiar al menos una lección por día a la hora de almuerzo, no todos los días pero si al menos 3 de 5 días de la semana (eso me deja sin almuerzo normalmente pero es soportable).

Cuando retomé el libro estaba en la duda de si volver a leer todo o repasar desde cero o continuar desde donde lo había dejado, finalmente decidí continuar desde el capítulo 9 en adelante y cuando termine el libro repasar mucho y practicar lo más que pueda las preguntas que vienen de preparación, de ésta forma las metas a corto-mediano plazo son las siguientes:
- Continuar la lectura desde el capítulo 9 en adelante hasta el 16 poniendo énfasis en la base teórica, sin hacer los laboratorios pero sí dándoles una mirada y respondiendo las preguntas de cada lección y poniendo atención a los casos de estudio al final de cada capítulo.
- Una vez terminado el libro comenzar un repaso teórico y práctico (laboratorios) al libro completo.
- Comenzar con las pruebas que vienen en el CD.
- Hacer un repaso comparativo con el contenido de la MSDN.
- Hacer un repaso general y dar el examen.
- if (!exito) { repetir el paso anterior; } ---> Broma :P

Ya más a largo plazo la idea es seguir con el examen 70-528 y posteriormente con todos los demás hasta donde me dé la motivación (ojalá sea harta).

Ah casi lo olvido, como parte del apoyo me he inscrito en una clínica de preparación del examen la cual es gratuita y es dada en un centro de estudios mexicano (devworx), el curso en línea debería empezar el día 03-03-2008 y tengo muchas espectativas de él ya que espero sea de gran ayuda.

Así a grandes rasgos espero haber pasado el examen a más tardar a mediados de año, le ruego a Dios que así sea, por lo menos pondré todo de mi parte para llegar a ésta meta.

martes, 5 de junio de 2007

Retomando la pausa

Han pasado casi 2 meses desde la última vez que actualicé mi blog, estuve bastante desaparecido ya que hace un mes y medio nació mi hija Javiera y la verdad me ha cambiado bastante el estilo de vida en la casa, requiere que se le dedique bastante tiempo y de cierta forma ha sido mi justificación para dilatar un poco el estudio (con la falta de sueño cuesta bastante estudiar y que entre en la cabeza lo estudiado).
Bueno, no me justifico más y para aclarar no he dejado de estudiar, sólo que ya no he estudiado al mismo ritmo que antes pero no tengo ni la más mínima intención de dejarlo así que les contaré que ya finalicé el capítulo 8 del libro y en resumen lo que he visto de los otros capítulos ha sido más o menos así:
-Capítulo 5 Serialización: Orientado principalmente a los 2 tipos de serialización que ofrece la plataforma .Net 2.0 los cuales son serialización binaria (BinaryFormatter) y serialización XML (SoapFormatter) además de la serialización customizada. En general es bueno serializar en los casos en que los objetos a usar dentro de la aplicación deban ser utilizados en otras máquinas/plataformas.
-Capítulo 6 Gráficos: Orientado a todo lo que es el manejo de imágenes dentro del framework además de la creación de gráficos básicos con colores y todo eso (figuras y texto).
-Capítulo 7 Threading: Capítulo bastante complejo donde explican como manejar hilos de ejecución y traspasar información entre los distintos hilos, manejo de estados de los mismos y además de ver un poco de seguridad.
-Capítulo 8 Dominios de Aplicación y Servicios: Bastante básico, relata sobre como crear dominios de aplicación, cargar y descarcar assemblies dentro del dominio, configurar en forma segura el uso de assemblies externos dentro del dominio de aplicación. Por otro lado también explica como crear e implementar servicios además de como administrarlos.

Desde hoy quiero retomar con más dedicación el tema y seguir con el capítulo 9 que trata sobre como instalar y configurar aplicaciones, los mantendré al tanto.

martes, 10 de abril de 2007

Capitulo 4 listo

Después de una semana sin mucha lectura al fin he podido volver a dedicarle el tiempo necesario al libro y al fin terminé el capitulo 4 el cual encontré un poco extenso comparado con los anteriores.

El capítulo 4 trata principalmente sobre los distintos tipos de colecciones que provee el framework .net 2.0, pasando por las colecciones normales (ArrayList, HashTable, SortedList, BitArray, etc), las listas secuenciales (Queue, Stack), diccionarios y diccionarios especializados (SortedList, ListDictionary, HybridDictionary y OrderedDictionary), colecciones especializadas (BitArray, BitVector32, StringCollection, StringDictionary, NameValueCollection) y finalmente las más interesantes: las colecciones genéricas las cuales ahorran bastante trabajo y evitan algunos posibles errores en el manejo de los tipos usados al crear algún tipo de colección.

En mi experiencia personal ya me había tocado trabajar con algunos de los tipos propuestos por el framework (especialmente el ArrayList) aunque el resto no los conocía muy bien, también había usado la clase genérica List pero no me había puesto a investigar muy en profundidad su funcionamiento y la utilidad que puede proveer al crear clases base para colecciones genéricas, ahora me quedó bastante más claro.

Ahora se viene el capítulo 5 el cual trata sobre serialización, otro tema que alguna vez usé pero no me interioricé sobre su funcionamiento en detalle, les iré comentando que tal.

viernes, 30 de marzo de 2007

Capitulo 3 listo

Anoche terminé de leer el tercer capitulo del libro y la verdad es bastante corto pero algo complejo, se divide en 2 partes principalmente y la primera trata sobre el manejo de expresiones regulares y la segunda sobre codificaciones a diferentes tablas de código.

El manejo de expresiones regulares se trata con bastante detalle y la verdad recordar bien las diferentes sintaxis es bastante complejo, la segunda parte se orienta principalmente al manejo de caracteres entre distintos idiomas y sus tablas de código (ej.: utf-8).

Hasta el momento no he hecho muchos laboratorios ya que pienso dejarlos para el final a modo de repaso pero si he estado haciendo las autoevaluaciones y los escenarios de prueba propuestos.

Ahora se viene el capitulo 4 que trata sobre colecciones y clases genéricas, se ve interesante así que iré comentando que tal.

miércoles, 28 de marzo de 2007

Capítulos 1 y 2 listos

Anoche por fin terminé de leer el segundo capítulo del libro referido a todo lo que es I/O y manejo de archivos, bastante interesante y con buenas posibles aplicaciones en el mundo real.

Hasta el momento no me ha tocado ver temas relacionados con archivos (excepto Ftp) debido a mi orientación hacia aplicaciones web más que a aplicaciones de escritorio pero pude distinguir claramente posibles aplicaciones bien interesantes como el monitoreo de archivos/directorios o la compresión de datos y ciertamente el framework provee las herramientas necesarias para que estos procesos se desarrollen con bastante facilidad. A lo único que tal vez no le vi mucha utilidad práctica es el manejo de almacenamientos aislados (Isolated Storage) aunque en determinadas situaciones tal vez si sea necesario usarlo, de todas formas es bueno saber que está ahí por si acaso.

Ahora se viene el capitulo 3 que trata sobre búsqueda, modificación y codificación de textos, veremos que tal.