unreal4u's Personal Network Because my reality… is just your virtuality

11Sep/122

Instalando las extensiones de PHP básicas en Mountain Lion

Hasta el momento no había tenido la oportunidad de actualizar mi blog con las nuevas instrucciones para este nuevo sistema operativo, sin embargo difieren bastante poco, así que no esperen mucho cambio. De todas formas, las instrucciones ya están listas y es cosa de copiar y pegar. En esta ocasión, las extensiones que serán instaladas serán xDebug, APC, intl y el conector mssql para Microsoft SQL Server.

4Ago/1228

Sobre COLLATION y CHARSET en MySQL

Hace bastante tiempo que tenía ganas de abordar varias cosas de MySQL, pero una de las más importantes (a mi juicio) es lo relativo a los COLLATIONs y los CHARSETs que tanto dolor de cabeza le pueden dar a aquellos de habla hispana. ¿Quién no ha tenido problemas con los tildes (no confundir con los acentos) en alguna página?

Y aunque este tema ya fue tocado en un post previo, éste será un poco más específico y aclaratorio sólo sobre estas dos propiedades de cada tabla y/o campo.

28Jul/117

Instalación de php-mssql y xDebug en Mac OS Lion

Ayer les contaba acerca de que Mac OS en su nueva versión del sistema operativo había actualizado la versión de PHP (sin preguntar) y que tenía que instalar las extensiones de nuevo. Hoy toca el día en que el artículo que explica cómo instalar dos de las extensiones más populares bajo este sistema operativo y con la nueva versión de PHP incluida.

Lo primero que hay que hacer es bajar las dependencias:
Freedts
PHP5.3.6
xDebug
Descomprimen todo en un directorio y hacen click en Continuar Leyendo.

9Abr/117

Instalando PostGreSQL, php-pgsql y php-pdo_pgsql en Mac OS X

No me malentiendan: desde que ocupo Mac OS X que me encanta y no me cambiaría de vuelta a Linux ni menos a Windows, pero hay algunas cosas que son capaces de hacerte doler la cabeza. Una de ellas es justamente la instalación de PostGreSQL y sus conectores para PHP: php-pgsql y su driver unificado mejorado PDO. Entre medio, hay que borrar usuarios de sistema, compilar y parchear, así que preparaos porque esto se viene bueno.

Lo bueno de todo esto, es que la instalación de PostGreSQL está dentro de lo más fácil. Sólo basta con bajar un paquete, borrar un usuario de sistema e instalar para que todo resulte bien, lo cual se hace de la siguiente manera: (Todos los comandos se ejecutan como root o sudo, lo que prefieran)

# en 10.6:
dscl . delete /users/postgres
# en 10.7:
dscl . delete /users/_postgres
cd /Volumes/PostgreSQL\ 9.0.3-1/
./postgresql-9.0.3-1-osx.app/Contents/MacOS/installbuilder.sh
# seguir los pasos en pantalla.
# el siguiente comando crea el superuser de postgres:
# el nombre de la cuenta (segundo parámetro) puede ser cualquier cosa.
createuser pgsql --pwprompt --username=postgres
14Mar/1127

Regiones, provincias y comunas de Chile en SQL

Hacía ya algún tiempo atrás, necesitaba un listado (actualizado) de las regiones y ciudades (o mejor dicho comunas, ya que no existen ciudades en Chile) en SQL y a pesar de que podría ser bastante común, me costó encontrar alguna. Así que les presento una página que de casualidad corresponde a un amigo mío que se dio el trabajo de agregar y corregir el SQL para distintos motores y en distintos formatos de acuerdo al decreto 817 del 20 de mayo del 2010.

Revisen el siguiente post: Lacosox
Y por supuesto, también queda una copia local aquí por si se cae el primer sitio: Archivo .zip

15Feb/111

El problema del microsegundo en MySQL

Es increíble cómo hoy se celebran 6 años desde que fue ingresado un feature request a MySQL Bugs pidiendo que se implemente una función que de seguro es importante para muchos: los microsegundos en TIMESTAMP y otros relacionados.

Si bien es cierto que por lo general no se necesita tanta precisión, de repente es necesario, ya sea para propósitos de debug o actividad en el sistema, considerando que es un sistema que ocupan muchas personas.
Imaginemos por un momento que administramos Facebook y ocurre lo peor que te puede pasar: uno de los balanceadores de carga entiende mal un request y arma un castillo de naipes sobrecargando paulatinamente cada uno de los servidores.

4Feb/111

Algunos links interesantes

Como siempre, navego en busca de información interesante, y aquí les traigo algunos links de interés (que además me servirán para desocupar un par de pestañas del navegador). Están ordenadas por temática, y hay de todo un poco, desde generadores de passwords hasta guías sobre cómo hacer extensiones de classes para Magento.

3Feb/111

INSERT a partir de un SELECT, en una sola consulta

Trabajando en la empresa privada, uno se da cuenta de cuán importante resulta llegar a ser optimizar bien una tabla, ya sea organizándola al estilo "sábana" (mucha repetición de registros, pero super rápido al tener un par de índices livianos bien ubicados), o bien crearla con un estilo EAV (permite crear infinitas propiedades de un objeto sin crear tablas gigantes que guarden ese atributo). Ninguna de las dos es ideal ya que en la primera si bien es cierto se puede hacer una sola consulta que se genere rápidamente se repiten demasiados datos y la segunda es, por lo general, un parto hacer consultas optimizadas ya que el modelo en sí no lo permite fácilmente.

Sin embargo, este post no se tratará de modelos de datos, sino más bien un tipo de consulta en particular frente a una problemática particular y que permitirá, en una sola consulta, insertar un registro nuevo a partir de un select.

4Ene/113

Fallback en MySQL: Actualizar en caso de ya existir

Estos meses he estado bastante ocupado trabajando, y es por lo mismo que no he escrito nada. Sin embargo, he estado atento a sus comentarios y aprobándolos cuando hay.

La solución propuesta hoy me surgió en un momento de extrema ociosidad y flojera, buscando una forma de hacerme la vida más fácil: alguien más tendría que haber tenido la duda de que era posible; en MySQL; insertar un registro, pero si éste registro ya estaba, actualizarlo sin tener que:

  • Hacer la consulta inicial
  • Verificar que exista
  • Actualizar el registro en vez de insertarlo
  • Revisar que se actualizó correctamente

Bueno, esto es posible, y es bastante fácil de implementar. Para saber cómo, siga leyendo :)

30Sep/102

Chequear sintaxis de my.cnf y httpd.conf

Aunque por lo general ningún servidor me da problemas, la máquina que aloja este blog está dando un poco de jugo. El proceso del Apache tiene la mala costumbre de tomarse el 100% del procesador por algunos segundos (hasta 30) y durante ese lapso de tiempo simplemente no aparece nada en el cliente. Sin embargo, ese error es tan vago que no da para nada más. En los logs tampoco aparece nada inusual, así que simplemente aplicaré regla de oro en la informática: ir probando para ver si puedo replicar el error. (Que manera tan elegante de decir: "prueba y error").

2Sep/1015

¿Problemas en los tildes o acentos?

Desde que empecé en esto de la Web, siempre tuve un problema: las tildes. O me salía el típico signo de pregunta o bien me salían caracteres extraños, que intentando por aquí y por allá siempre lograba evitar, aunque a veces me superaba y optaba simplemente por terminar escribiendo su entidad.

Aunque no pretendo arreglarle la vida a todo el mundo, en este post sí les dejaré algunos tips para asegurarse de que todo funciona como debería: se verán algunas funciones de PHP que sirven harto y se verá superficialmente la interacción con bases de datos.
Dato rosa antes de continuar: la diferencia entre acento y tilde, es que tilde representa el signo´ " mientras que acento se refiere a la fuerza que se le impregna a la sílaba específica. De esta manera, en la palabra "sílaba", el tilde está en la letra "i", mientras que el acento está en la sílaba "sí".

13Dic/090

Help save MySQL!

Hoy leí una noticia que viene directamente desde la fuente: o sea, del creador mismo de MySQL.

Por si no lo sabían, MySQL era parte de SUN, y desde hace algún tiempo atrás, se están haciendo las gestiones para que Oracle compre SUN. El único problema de esto, es que Oracle no se ha comprometido a mantener MySQL como un producto separado, por lo que se le está pidiendo a la Unión Europea que interceda y efectivamente autorize la compra bajo la condición de que MySQL se mantenga como un producto.

¿Qué podemos hacer nosotros? Mandar un simple mail a la CE para que de esta manera, la existencia de MySQL siga vigente, lo único malo es que esto tiene que ser ANTES del lunes 14 de Diciembre (O sea, mañana). Es como ya lo podrán imaginar, una situación de urgencia.

Post original aquí.
Noticia traducido al español aquí.