lunes, 27 de mayo de 2013

Javascript - Extensión objeto Date: Obtener hora y fecha según formato

Imagen tomada de:
hauteliving.com
Hace un buen rato venía luchando con javascript en cuanto a la obtención de horas y fechas.  Esto no es problema si se maneja con un lenguaje cercano al "bajo nivel" como C/C++ (ya lo he hecho) o incluso de lado del servidor como PHP, el único inconveniente es que al hacer pruebas con alrededor de 30 a 40 usuarios (en el caso de PHP), todos ejecutando procesos diferentes y algunos muy pesados, la sobrecarga del servidor es notable.


La ventaja de lenguajes como PHP es que permiten crear cadenas de texto de acuerdo al formato que se le envíe a funciones/métodos como date() o DateTime::format().  La desventaja vino después cuando un par de clientes se interesaron en la aplicación, pero clientes que no eran de aquí de Colombia, y sus zonas horarias afectaban de manera negativa la aplicación, ya que eventualmente tenía que detectar desde donde se conectaban y hacer los cálculos de la hora local del servidor, con respecto a la hora local de ellos y en algunos casos también calcular la hora local colombiana para mostrar algunos informes a mi jefe, y es ahí donde aparecía la desventaja por que debía estar utilizando cada rato la función date_default_timezone_set(), para determinar las zonas horarias de los clientes de países como panamá y chile, donde el horario cambia de acuerdo a la época de verano o invierno.

miércoles, 8 de mayo de 2013

Generador de sentencias básicas SQL

Muchas veces le he preguntado a algunos compañeros y también he visto en diferentes foros a personas haciendo preguntas como:
¿Como generar sentencias SQL automáticamente?
¿Como extraer/utilizar el generador automático de sentencias SQL en phpmyadmin?
¿Alguien sabe como crear 'automágicamente' las sentencias SQL básicas?
....

Y la lista sigue. Últimamente he visto una baja en la tendencia a preguntar esto y más por que seguro las personas se resignan a digitar palabra por palabra estas sentencias, pero para esto ya hice mi propia solución, la cual me tomó alrededor de 3 horas, pero ya tiene las funciones básicas necesarias.