Blog Calendar

July 2010
Sun Mon Tue Wed Thu Fri Sat
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

Visitors Statistics

6
77
11329

Internet Explorer 8 y la vista compatibilidad

Después de varios intentos por mejorar el IE, Microsoft ha procurado seguir de menos un estándar, en esta ocasión con la versión de IE 8 el equipo de desarrollo de IE ha procurado seguir el estándar 2.1 de las CSS [1] y es una de las cosas que más llaman la atención debido a que constantemente podemos ver el icono para activar la vista compatibilidad.


Compatibility View

Por default esta vista está deshabilitada, debido a que los desarrolladores de páginas web nos vemos forzados a solucionar este tipo de problemas por más sencillos que parezcan, existen algunas etiquetas que nos pueden ayudar. La primera es la que forza a que la página se vea con las características de IE8, esto quiere decir que nuestra página cumple con el estándar 2.1 de las CSS y por tal motivo evitamos que salga el icono en la barra del navegador

<meta http-equiv="X-UA-Compatible" content="IE=8" />
 
También tenemos otra opción para asegurarnos de que se habilite la vista compatibilidad cuando se carga la página.
<meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
 
Dicha etiqueta debe aparecer antes que cualquier otra etiqueta y debe estar situado en el de la página.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>TextboxList + Autocomplete demo</title>
  </head>
 
Otra opción de la cual podemos sacar provecho es la que provee el IIS 7, donde podemos editar el archivo de configuración y establecer que todas las páginas se comporten de forma predeterminada con la vista compatibilidad agregando lo siguiente en el web.config.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=EmulateIE7" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>
 
Y por último se pude realizar esta verificación mediante JavaScript en la version 6 del IIS con el siguiente script.
function IsStandardsMode()
{
   !if(document.documentMode)
       return false;
   return (document.documentMode == 8);
}
 
[1] http://www.w3.org/TR/CSS2/

Hablemos de SSIS

Hoy quiero hacer un post sencillo, sin mucho tecnicismo y que me recuerde que de ves en cuando tengo que anotar algo por aquí aunque sea de rápido pero que tenga la suficiente información para atraer a dos que tres lectores.
Veamos que es SSIS, podrías confundirte con el Sistema de Integración del Servicio Social, pero esto solo ocurre si eres dislexico. El SQL Server Integration Services (SSIS) es un componente de Microsoft SQL Server, es un software empleado en base de datos que permite llevar a cabo una amplia gamas en tareas para la migración de datos.
SSIS es una herramienta ETL (son las siglas en inglés de Extraer, Transformar y Cargar -Extract, Transform and Load-). integral y totalmente funcional. Su funcionalidad, escala y rendimiento se comparan de manera muy favorable con competidores superiores en el mercado, a una fracción de su costo y conste que no me pagan por hacer publicidad, pero es cierto que se ofreció en el mercado como parte de la suite de SQL y no se elevo el costo por su uso como suele suceder con los productos de Microsoft.
La arquitectura de canalización de integración de datos permite consumir datos desde orígenes simultáneos, realizar transformaciones complejas y llevar los datos a destinos simultáneos, siento estos orígenes y destinos de datos suficientemente diversos. Esta arquitectura permite usar SSIS no sólo para conjuntos de datos de gran tamaño, sino también para flujos de datos complejos. A medida que los datos fluyen desde los orígenes hacia los destinos, la secuencia de datos se puede dividir, fusionar, combinar con otras secuencias de datos y manipular de distintas maneras.
Flujo SSIS
De momento es todo, tengo intención de ir publicando más datos sobre SSIS porque es muy útil y existen algunos trucos que pueden ahorrarnos mucho esfuerzo.
face-wink.png
Resources

Common Table Expressions

Ya pasaron unos cuantos años desde mis primeros roses con SQL y actualmente creo que puedo manejar con soltura algunas cosillas monas dentro del mismo.
Recuerdo cuando me pedían algo en el trabajo y yo me la pasaba super entretenido leyendo sobre SQL porque no encontraba la manera de resolver mis problemas, ahora que lo veo creo que tan simple y que solo requería leer un poco las especificaciones del lenguaje, practicar un poco y listo!
Ahora que me puse a hacer más consultas encontré algunas cosas monas y las quiero compartir, aunque sea de una por una. Hoy hablaré en este breve post de Common Table Expression:
Que tal si tenemos una consulta medio entretenida y queremos unirla con otra que es algo simple pero que si las metemos en una sola consulta ... saz! ... cuando queremos retomar la lógica nos cuesta trabajo, ejemplo.
Tenemos reclamos que ver por mes para sacar estadísticas de nuestro servicio.
SELECT Month(FechaAltaReclamo) AS Month
            ,ReclamoId
            ,SUM(Monto) AS Monto
      FROM HistorialReclamo
      GROUP BY
             FechaAltaReclamo
             ,ReclamoId
 
Y lo queremos unir con algo que nos permita ver los montos que se han pagado en una sola exhibición
SELECT Month(FechaPago) AS Month
            ,ReclamoId
            ,SUM(Monto) AS Monto
      FROM HistorialPagos
      WHERE Estatus = 3 -- 3 es igual a cubierto
      GROUP BY
             FechaPago
             ,ReclamoId
 
Ahora queremos hacer una comparativa de ambos pero nos gustaría verlo en un solo paso, tal vez una vista.
WITH
Reclamos(FechaReclamo, ReclamoId, Monto) AS (
    SELECT Month(FechaAltaReclamo) AS Month
            ,ReclamoId
            ,SUM(Monto) AS Monto
      FROM HistorialReclamo
      GROUP BY
             FechaAltaReclamo
            ,ReclamoId
)
SELECT H.UserName, R.FechaReclamo, R.ReclamoId, R.Monto AS MontoReclamo
FROM Reclamos AS R
        INNER JOIN HistorialPagos AS H ON R.ReclamoId = H.ReclamoId
WHERE R.Monto = H.Monto
 
Con esto podemos obtener una consulta clara y sin broncas, en Oracle me parece que acepta la consulta anidada, pero en SLQ 2005 es una sola tabla en with, después investigaré algo más y lo posteo.
Code It!

Consejos al conducir


Suzuki GSR-X

Debido a que necesitaba relajarme un poco me puse a leer mis feeds y encontré este post en Moto Club México.
Así que lo replicaré aquí con la intención de que me recuerde lo que debo de hacer:
  1. Al tomar una curva: Frena, Suelta, Inclínate, Acelera.
  2. No frenes mientras estas inclinado, especialmente con la llanta delantera. Termina de frenar antes de entrar en una curva, una vez que estas en ella hay solo dos opciones: acostar la moto o acelerar. En algunos casos, enderézate, frena y vuelve a inclinarte.
  3. Si la moto se queda “entre velocidad” cuando haces el cambio, vuelve a meter la velocidad en la que venias y vuelva a cambiar. Si tratas forzar y meter una velocidad mas baja para frenar con motor, corres el riesgo de que se amarre la llanta de atrás ¡justo al entrar a la curva!
  4. Toma las curvas siempre con tracción, no solo con “vuelo”, la tracción aumenta la estabilidad y el control de la moto.
  5. Si tienes que frenar, revisa que viene detrás de ti y si va a poder frenar sin atropellarte, por la misma razón, si alguien viene “leyéndote la placa” es mejor dejarlo pasar. Evita el impulso de enseñarle quien eres y tratar de dejarlo atrás.
  6. Nunca pases inclinado por las vías del tren, las ruedas se patinan.
  7. Cuando vayas en carretera detrás de otro vehículo, trata de ir alineado con cualquiera de sus ruedas. De esta forma tendrás mas tiempo para esquivarlo si frena o hace una maniobra inesperada.
  8. iFrenar! El freno delantero representa el 80% del poder de frenado, acostúmbrate a frenar con el. Ve a un estacionamiento y practica hasta que lo hagas sin pensar. En una emergencia no tienes tiempo para razonar.
  9. Una regla sencilla; sin tener que girar la cabeza trata de saber siempre quien te rodea. El uso de los espejos se vuelve indispensable.
  10. Toma una posición adecuada en las calles y carreteras, permite que otros vehículos te vean, te tomen en cuenta y te respeten.
RECUERDEN QUE LO IMPORTANTE ES DISFRUTAR EL VIAJE “NO CORRER” EN UN LUGAR QUE NO ES DE COMPETENCIA.

Usando subversion y tortoise

Que es subversion?

Es un software de control de versiones.
OK, OK ... y que es un software de control de versiones?

De acuerdo a la wikipedia, el control de versiones se realiza principalmente en la industria informática para controlar las distintas versiones del código fuente. Sin embargo, los mismos conceptos son aplicables a otros ámbitos como documentos, imágenes, sitios web, etcétera.

Subversion no es el único sistema de control de versiones existente, también existen: (CVS, SourceSafe, Plastic SCM, Git, Mercurial, etc.).

Entendido este punto, recomiendo que estudiemos (porque yo también necesito conocer mejor los otros sistemas) los diferentes sistemas de control de versiones y los usemos para realmente tener un punto de vista propio de cual se adapta mejor a nuestras necesidades.

Ya quiero usar un controlador de versiones, que hago?

Tomando en cuenta que nuestro equipo de desarrollo usa windows -- Notese que es un equipo de desarrollo de software y apenas están conociendo lo que es un controlador de versiones (todos somos más que nóveles en algún momento) -- necesitamos que puedan actualizar la copia de trabajo, subir sus cambios, corregir conflictos, renombrar archivos, etc. Bueno, el objetivo de este post es ese, explicar que hacer en este caso.

Primero que nada me imagino que al menos uno en el equipo sabe como instalar subversion como servidor, si estás usando linux es muuy simple, sobre todo si tu distribución es derivada de debian:
apt-get install subversion

Si tienes windows, puedes leer los post anteriores sobre subversion que he generado:

Ya tenemos el servidor de subversion habilitado y listo para que los clientes puedan conectarse, pero ... como se conectan?. Aquí es donde interviene un cliente muy conocido llamado tortoise

El tortoise únicamente provee de una interfaz amigable para realizar lo que se haría por consola, osea, cuando no cuentes con el tortoise bien puedes realizar cualquier cosa empleando el cliente de consola. Esto es un simple comentario para ver si alguien se anima a estudiar después algo en la consola con subversion.

Primero que nada se requiere descargar la solución, proyecto o como quieran llamarle que se encuentra en el servidor de versiones, para esto damos "checkout" en el menú contextual que aparece al pulsar click con el botón derecho del mouse. Tal como aparece en la imagen siguiente:


Subversion Quick Reference - Checkout

Read More...
Previous page 1 2 3 4 ... 28 Next page
136 entries