Monthly Archives: February 2009

Usar solamente string.Format para unir strings y variables

Los desarrolladores que apenas vayan empezando, acostúmbrense a usar el método string.Format en lugar de estar concatenando strings y variables!!

Incluso varios desarrolladores avanzados siguen concatenando en lugar de usar string.Format(), lo cual definitivamente hace mucho más difícil que los desarrolladores principiantes se acostumbren a seguir estándares y Mejores Practicas.

La sintaxis para usarlo es de lo más simple, y además hace la línea de código muchísimo más legible, por ejemplo:

labelMensaje.Text = "El usuario " + userName + " realizo el pedido " + numPedido + " el dia " + DateTime.Now.ToString();

Odio ver ese tipo de líneas de código, cuando se puede tener algo tan sencillo como esto:

labelMensaje.Text = string.Format("El usuario {0} realizo el pedido {1} el dia {2}", userName, numPedido, DateTime.Now);

Si la legibilidad no es suficiente mejora, también hay que notar que escribir todo el mensaje en un solo string evita posibles errores de falta de espacios entre palabras y variables, lo cual es muy común que suceda cuando se concatenan variables, es muy fácil que se coman el espacio al terminar un string antes de concatenar, o al iniciar el string después de haber concatenado.

Diferencias del .NET Framework entre 32 y 64 bits

Microsoft .NET Framework

Microsoft .NET Framework

Scott Hanselman publicó un artículo muy bueno explicando algunas diferencias básicas y complejas al utilizar la version x86 (32 bits) comparado con la version x64 (64 bits) del .NET Framework.

La liga es la siguiente

Back to Basics: 32-bit and 64-bit confusion around x86 and x64 and the .NET Framework and CLR

Como obtener el valor default de una columna en SQL Server usando T-SQL

SQL Server

SQL Server

Hoy alguien de mi equipo de trabajo me preguntó como se podía comparar los valores de una columna para cada row contra el valor default de esa columna.

Después de probar un rato en el Management Studio, aprendí que se puede utilizar las vistas de INFORMATION_SCHEMA para obtener información de metadata sobre objetos en SQL Server.

Solo para aclarar…esto seguramente se puede hacer usando la tabla sysobjects de SQL Server, pero quería hacerlo de una manera más legible.

El query para obtener el valor default de una columna de alguna tabla es:


SELECT COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Vendedor'
AND COLUMN_NAME = 'CodigoPais'

Un dato muy importante es que estas vistas (INFORMATION_SCHEMA) se crearon para apegarse al estándar SQL-92, con el objetivo de proveer meta-datos sobre los objetos de la base de datos.

Me dió gusto el haber investigado otra alternativa a sysobjects, porque esta investigación me hizo darme cuenta que el realizar mis queries para obtener meta-data usando INFORMATION_SCHEMA en lugar de SYSOBJECTS hace que mis queries sean portables, en lugar de estar limitados a SQL Server solamente, o incluso considerando también el escenario en que Microsoft decidiera cambiar la estructura de SYSOBJECTS de alguna manera que afectara mis queries.

Hay varias vistas de INFORMATION_SCHEMA. Para este escenario solo usé la de Columns, pero hay más, por ejemplo:

  • CHECK_CONSTRAINTS
  • REFERENTIAL_CONSTRAINTS
  • COLUMN_DOMAIN_USAGE
  • ROUTINES
  • COLUMN_PRIVILEGES
  • ROUTINE_COLUMNS
  • COLUMNS
  • SCHEMATA
  • CONSTRAINT_COLUMN_USAGE
  • TABLE_CONSTRAINTS
  • CONSTRAINT_TABLE_USAGE
  • TABLE_PRIVILEGES
  • DOMAIN_CONSTRAINTS
  • TABLES
  • DOMAINS
  • VIEW_COLUMN_USAGE
  • KEY_COLUMN_USAGE
  • VIEW_TABLE_USAGE
  • PARAMETERS
  • VIEWS

Les dejo la siguiente liga a un artículo del SQL Server Development Center de Microsoft, donde explican más detalles de las vistas de INFORMATION_SCHEMA, y a otro artículo que da información general referente a estas.

INFORMATION_SCHEMA Views

INFORMATION_SCHEMA – A map to your database

Shortcuts de Windows que todo desarrollador deberia saber

Shortcuts de Windows que todo desarrollador debería de conocer

Shortcuts de Windows que todo desarrollador debería de conocer

Los siguientes son varios shortcuts de Windows que he aprendido desde que empece a desarrollar software, y que definitivamente es útil conocer. Se pueden usar en el dialog de Run, de Windows (Start -> Run)

Dicen que una pequeña parte del proceso de volverte un mejor desarrollador es ser agil con el teclado, y no tener que tomar el mouse cada 30 segundos, por lo cual eventualmente vas conociendo estos atajos y acostumbrandote a usarlos en lugar del mouse.

Hay muchos más, pero estos son tal vez los más usados por desarrolladores:

msconfig — dialogo para analizar configuración de inicio de Windows
LogFiles — Folder con log de servidores de Windows (IIS, FTP, etc)
inetmgr — Consola de Administración de IIS
regedit — Registry de Windows
eventvwr — Event Viewer
Assembly — .NET GAC (Global Assembly Cache)
services.msc — Configuración de Servicios de Windows
appwiz.cpl — Add/Remove Programs
control userpasswords2 — Configuración avanzada de Usuarios de Windows
control printers — Acceso a Impresoras del sistema
mstsc — Remote Desktop
fsmgmt.msc — Administración de folders compartidos de Windows
shutdown -a — Abortar shutdown de Windows en proceso.
diskmgmgt.msc — Manejo de Discos Duros de Windows

Curiosamente, había dejado listo este post listo para publicarlo otro día. Hoy instalé un nuevo disco duro que compré (interno, SATA II, 320 GB), y a pesar de que al iniciar Windows salió el Tooltip en la Taskbar de que se estaban instalando los drivers para el disco, este nunca apareció listado en My Computer. Se podía ver desde el Device Manager, e indicaba que tenía funcionamiento correcto, pero aún asi no había manera de hacer que se viera en My Computer.

En el párrafo anterior digo curiosamente porque fue ese ultimo, el diskmgmt.msc el que me ayudó a poder Inicializar el disco duro (ni siquiera sabía que se tenía que hacer esto, nunca tuve que hacerlo antes cuando instalaba discos duros internos, pero siempre habían sido IDE, este es el primer disco SATA que instalo yo mismo). Utilizando diskmgmgt.msc se puede: Inicializar el disco, Crear particiones lógicas, Formatear las particiones.

Entre desarrollo y helpdesk de familia y amigos, esos son los que más uso yo. Si alguien tiene alguna sugerencia de algun otro shortcut importante que no haya mencionado, por favor dejenlo en los comments.

1 2 3  Scroll to top