miércoles, 5 de octubre de 2011

Marca de agua para textbox

Cachureando por el mundo de jQuery me topé con este plugin para meter marcas de agua en los textbox, puede llegar a ser bastante útil para indicarle a los usuarios qué es lo que deben ingresar en cada textbox.

Una demo acá:

http://digitalbush.com/projects/watermark-input-plugin/

Y el plugin acá:

http://plugins.jquery.com/project/jq-watermark

Saludos.

viernes, 30 de septiembre de 2011

Formación gratis sobre tecnologías Microsoft y otras tecnologías

Como siempre, apenas veo algo sobre recursos gratuitos para aprender tecnologías relacionadas a .Net lo vengo a publicar en mi blog, y en este caso no es la excepción:


Formación gratis sobre tecnologías Microsoft y otras tecnologías:


Saludos !

lunes, 26 de septiembre de 2011

VS11: Buscador en la caja de herramientas!

La verdad es que esto lo deberían haber hecho hace tiempo, pero no está de más que lo hagan ahora.

En resumen, la nueva versión de Visual Studio traerá un buscador en la caja de herramientas.

VS11: Buscador en la caja de herramientas!

miércoles, 21 de septiembre de 2011

101 ejemplos usando Linq

Buenas, en esta ocasión les traigo este buen link desde Microsoft donde están agrupados muchos ejemplos para usar Linq, ideales para quienes están empezando en el tema o quieren tener una referencia rápida a mano.

101 LINQ Samples

Saludos.

Gears of War 3 ya está disponible en tiendas

Ya está en mis manos el esperado Gears of war 3, una verdadera joya en su género con una historia épica que (lamentablemente) llega a su fin.





Gears of War 3 ya está disponible en tiendas

martes, 20 de septiembre de 2011

VS2010: VSCommands 2010

Un buen plugin con mejoras a la navegación y generación de código para Visual Studio 2010.

VS2010: VSCommands 2010

Visual Studio 2011–Mejoras en el Editor de CSS

Aquí un buen resumen de las mejoras al editor de CSS que vendrán con Visual Studio 2011.

Visual Studio 2011–Mejoras en el Editor de CSS

Visual Studio 11–ASP.NET Extraer a User Control

Esto si se ve interesante para crear controles de usuario directamente a partir de un trozo de código aspx, ahorrará un poco de pega de vez en cuando lo cual no es malo.

Visual Studio 11–ASP.NET Extraer a User Control

jQuery validation plugin en ASP.NET [Parte I]

Por si a alguien le interesa usar los validadores del lado del cliente con jQuery para reemplazar los del lado de .Net.

jQuery validation plugin en ASP.NET [Parte I]

[#VS11] Instalando Visual Studio 11 en Windows 7

No está de más darle una mirada a los pasos para instalar Visual Studio 2011 en Windows 7 :)

[#VS11] Instalando Visual Studio 11 en Windows 7:

image

[#VS11] Descarga máquinas virtuales con Visual Studio 11 y Team Foundation 11

A probar las máquinas virtuales de VS 2011 se ha dicho !

[#VS11] Descarga máquinas virtuales con Visual Studio 11 y Team Foundation 11:

image47dd1de4

jueves, 8 de septiembre de 2011

Guía de referencia de jQuery

Hola, esta vez vengo a escribir sobre esta buena guía de referencia para jQuery, abarca muchos temas y todos con ejemplos prácticos, en mi caso se fue directo a los favoritos:

VisualJQuery

Saludos !

Referencia:

http://geeks.ms/blogs/gperez/archive/2008/12/08/gu-237-a-de-referencia-y-ejemplos-de-jquery.aspx#199763

lunes, 11 de abril de 2011

Libro gratuito de jQuery en español

Estimados, como siempre el tema de ir actualizándose y metiéndose con tecnologías nuevas es una preocupación constante ya saben que me gusta compartir información que le resulte a todos.

En esta ocasión les comento que se ha publicado un libro gratuito de jQuery para leerlo en línea y completamente en español, parte desde lo básico hasta llegar a temas bastante avanzados de esta notable librería de Javascript.

Recomiendo darle una miradita ya que está bastante completo y viene con muchos ejemplos para sacarle el potencial a jQuery, lo pueden ver acá:

http://librojquery.com/

La página del autor la pueden encontrar acá:

http://dzign.us/post/4186826143/libro-gratuito-de-jquery-en-espanol-fundamentos-de-jquer

Ojalá le sirva a alguien, saludos.

lunes, 21 de marzo de 2011

Cómo montar un servidor de integración continua con CruiseControl .Net

Hola, bueno este post en realidad es meramente para documentar los pasos que tuve que seguir para montar un servidor de integración continua y en este caso la herramienta elegida fue CruiseControl .Net con el cual ya había trabajado pero no me había tocado levantar un servidor específicamente.

Resumidamente para los que no se manejen con el tema, el hecho de tener un servidor de integración continua presenta una serie de ventajas a la hora de tener un equipo de desarrollo realizando cambios continuamente sobre un proyecto en particular (o más de uno), entre ellas:
  • Detección de errores mucho antes de llegar a ambiente productivo.
  • Automatización del proceso para mantener siempre una versión estable del proyecto.
  • Producto final robusto y constantemente revisado.
  • Reducción de riesgos y mayor visibilidad del proyecto.

Básicamente al tener un servidor de integración continua nos aseguraremos que siempre exista una versión disponible del proyecto para revisión (normalmente QA) y que las subidas que realicen los desarrolladores no contengan errores o éstos serán delatados inmediatamente, con esto podemos sacar métricas de productividad por desarrollador y revisar los posibles problemas que se tengan antes de enviar el proyecto al ambiente productivo.

Bueno, para resumir lo primero que necesitamos son las siguientes herramientas (como dije esto es lo que en particular me ha tocado usar a mi en un proyecto de pruebas):
TortoiseSvn (Cliente de Subversion)
AnkhSvn (plugin de Svn para Visual Studio)
SlikSvn (control vía línea de comandos para Svn para el enganche con CruiseControl)
CruiseControl .Net (motor de integración continua)

Primeros pasos en forma resumida y asumiendo que ya se tiene el Visual Studio (2010 en mi caso) instalado:
Instalar TortoiseSvn y crear un repositorio.
Instalar AnkhSvn.
En el VS crear un proyecto o editar uno ya existente, enganchar este proyecto con el repositorio de Svn con TortoiseSvn, realizar pruebas para tomar y subir archivos con el plugin AnkhSvn.
Instalar el CruiseControl .Net (ccnet de ahora en adelante), al instalarlo vendrá con una aplicación web para revisar el estado de los proyectos, esta aplicación web debe ser montada sobre el IIS como aplicación con el alias ccnet.

En este punto debo comentar mi configuración en cuanto a máquinas:
En mi máquina local estará el servidor de ccnet además de la máquina de desarrollo.
El repositorio de Svn estará en una máquina de red, por ahora sólo actuará como repositorio.
Idealmente la máquina de ccnet será un servidor dedicado, esta máquina también podría ser usada como máquina de QA cosa de tener ambas cosas en el mismo lugar.

Volviendo a la instalación de ccnet, en este punto empezé a tener problemas al tratar de montar la aplicación web sobre el IIS 7, en primer lugar en mi máquina no estaba activado el IIS 7 por defecto así que tuve que instalarlo desde los componentes de windows.

ActivarIIS

Luego el problema fue que tuve que reinstalar el ccnet ya que no había quedado bien el registro de la aplicación web en el IIS. El siguiente problema es que tuve que ejecutar la siguiente línea de comandos para que la aplicación web por defecto del IIS soportara secuencias de doble escape ya que la aplicación web seguía con problemas:
%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:system.webServer/security/requestfiltering -allowDoubleEscaping:true
A continuación se empezó a ver la luz pero seguía con problemas con un error del tipo:
Handler "CCNetHttpHandler" has a bad module “ManagedPipelineHandler” in its module list
Por lo que tuve que reinstalar el IIS:

Para el Fw 4 de .Net:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Para el Fw 2 de .Net:
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –i
Recuerden ejecutar el comando anterior en una ventana de comandos con privilegios de administrador.

A continuación apareció otro error en la aplicación web del tipo:
HTTP Error 500.19 - Internal Server Error with Error Code: 0x80070021
The requested page cannot be accessed because the related configuration data for the page is invalid.
Para corregir este problema la solución fue editar el archivo:
C:\Windows\System32\inetsrv\config\applicationHost.config
Y cambiar la sección:
<section name="handlers" overrideModeDefault="Deny" />
Por:
<section name="handlers" overrideModeDefault="Allow" />

Finalmente pude ver la aplicación en mi máquina local, aunque todavía sin un proyecto asociado:

ccnetworking

Cabe recordar que primero hay que ejecutar el motor de ccnet el cual nos irá dando indicaciones si existe algún problema con nuestro archivo de configuración además de información detallada sobre qué es lo que está haciendo a cada momento:

ccnetconsole

A continuación la idea es tomar nuestro proyecto (web en mi caso) y llevarlo a ccnet usando svn para detectar cualquier cambio en las subidas de los desarrolladores y generar una nueva compilación en nuestro servidor de integración continua.

El siguiente paso es empezar a editar el siguiente archivo de configuración de ccnet:
C:\Program Files\CruiseControl.NET\server\ccnet.config 
Lo primero es agregar un proyecto, se pueden agregar rutas a varios archivos de proyectos pero en nuestro caso de prueba sólo levantaremos un proyecto por lo que sólo agregaremos una configuración de proyecto:
<project name="Test" webURL="http://localhost/ccnet">
</project>

Donde name es el nombre del proyecto en ccnet y webURL es la ruta de la aplicación web de ccnet.

Dentro de la etiqueta project primero agregaremos una tarea o task y aqui le indicaremos la solución que queremos ingresar a ccnet y que tipo de configuración tendrá:

<tasks>
    <devenv>
       <solutionfile>D:\Proyectos\nHibernateTest\nHibernateTest.sln</solutionfile>
        <configuration>Debug</configuration>
    </devenv>
</tasks>

En la siguiente sección indicaremos que tipo de control de versiones usaremos, en nuestro caso será SubVersion y le indicaremos donde se encuentra el trunk o repositorio de la solución de visual studio además del directorio de trabajo:

<sourcecontrol type="svn">
  <trunkUrl>file://192.168.208.4/desarrollo/svn/Repositorio/nHibernateTest</trunkUrl>
  <workingDirectory>D:\Proyectos\nHibernateTest\</workingDirectory>
</sourcecontrol>

En la siguiente sección indicaremos los triggers que generarán una compilación automática, en nuestro caso será un trigger por intervalos de tiempo (en segundos):

<triggers>
  <intervalTrigger name="Subversion" seconds="60" />
</triggers>

Con esta configuración es suficiente para probar nuestro servidor de ccnet, en mi caso le agregué un plugin para que le vaya poniendo etiquetas a las distintas versiones que se vayan generando:

<labeller type="svnRevisionLabeller">
  <major>7</major>
  <minor>11</minor>
  <url>file://192.168.208.4/desarrollo/svn/Repositorio/nHibernateTest</url>
</labeller>

Ojo que este plugin no viene con ccnet y lo tuve que bajar desde acá, luego copiar la dll en la carpeta del server de ccnet y reiniciar el server de ccnet.

En todo momento podemos ir revisando si nuestro archivo de configuración (ccnet.config) es válido o no con la herramienta Configuration Validator que viene con el ccnet:

Validadorccnet

Para probar que todo funcione bien es cosa de tomar cualquier archivo de nuestro proyecto en el visual studio, modificarlo y luego subirlo vía Svn, esto debería generar una compilación automática en nuestro servidor de ccnet y podremos ir monitoreando el resultado en la aplicación web de ccnet:

CompilacionExitosaCcnet

Desde la raíz de la aplicación web de ccnet podemos descargar el Cctray el cual es una aplicación de monitoreo local de los proyectos de ccnet:

CctrayEjemplo

Para agregar nuestro proyecto vamos a File – Settings y luego agregamos nuestro servidor y proyecto:

ConfigCctray

Para terminar podemos ir agregando nuevos plugins a la aplicación web de ccnet, para esto nos vamos a la opción Administer Dashboard desde la raíz de la aplicación web donde nos pedirá una clave, esta clave se define en el archivo que se encuentra en:

C:\Program Files\CruiseControl.NET\webdashboard\dashboard.config

En este archivo debemos modificar la siguiente línea donde pondremos la clave que usaremos como administrador:

<administrationPlugin password="ccnet" />

Una vez que logremos ingresar al administrador de la aplicación web de ccnet podremos administrar los plugins que aparecen en la lista de Packages, si queremos agregar algún plugin primero debemos darle permisos de escritura al usuario AspNet, en mi caso le tuve que dar permisos al usuario de IIS (IIS_IUSRS) al siguiente archivo:

C:\Program Files\CruiseControl.NET\webdashboard\packages\packages.xml

Bueno, eso es todo por ahora, como les comenté estos son los pasos que en mi caso particular tuve que seguir para montar un servidor de integración continua en un ambiente de pruebas, faltan muchas pruebas por hacer y muchas cosas que agregar pero esto es lo básico para partir.

Les recomiendo las siguientes lecturas para ir viendo más en detalle los parámetros a usar y cómo mejorar nuestro server de integración continua:

La documentación de ccnet

Tutorial de CruiseControl.Net

Eso sería por ahora, espero que no se me olvide nada, como siempre si tienen dudas o consultas las mandan por acá o a mi correo.

Saludos.

De vuelta a las pistas

Hola de nuevo, bastante tiempo ha pasado desde las últimas entradas pero esta vez espero volver con varias novedades, resumidamente he estado trabajando con varias cosillas como:
  • Visual Studio 2010
  • Framework .net 4.0
  • nHibernate 3 (y muy poco de Entity Framework 4)
  • jQuery
  • Sql Server 2008
  • Integración continua (con CruiseControl .Net alias CCNet)
  • MVC para .Net (versiones 2 y 3 con Razor)
  • Subversion (svn) con Tortoise, AnkhSvn y SlikSvn

Este año se viene cargado con hartas novedades y hartas cosas interesantes para testear y estudiar así que pronto iré escribiendo sobre el uso e instalación de varias de estas herramientas, mientras tanto les aprovecho de comentar que ya tengo en mis manos el libro para sacar la certificación 70-515 (TS: Web Applications Development with Microsoft .NET Framework 4) y pronto también iré comentando como me va con el estudio.