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

4Dic/110

Índice de directorios con filtro

Hacía mucho tiempo que no escribía y era por una razón bien práctica: me cambié de país y como tal, he estado muy ocupado tanto con la mudanza, con el traerme mi mujer y trabajando, ya que de alguna forma hay que mantener la máquina andando y eso significa que aparte de todos los trámites regulares que hay que hacer y pagar, también hay que trabajar.

Lo bueno es que estoy trabajando hace cerca de 2 meses ya, encontré trabajo sumamente rápido y como recién llegado en la empresa, me llenaron de proyectos pasados, presentes y futuros. Cuando estaba trabajando en Chile, sólo tenía 3 proyectos permanentes, así que trabajar en localhost era bastante simple. Sin embargo, ahora tengo algo más de 18 proyectos y recordar el nombre de cada una no es tan simple como parece. Por eso, ya instalado en mi nueva casa y aprovechando un ratito de ocio, escribí un script que recorre un directorio y crea un link por cada directorio que encuentra para que de esa forma, pueda visitar http://localhost/ y hacer click en el proyecto que me interesa trabajar. Hasta ahí, no tiene ninguna maravilla; sin embargo; este script tiene algo especial, ya que permite esconder ciertos directorios y asignarles un alias a otros para que el listado no quede tan feo a primera vista.

Archivado en: Linux, PHP | 112 vistas Continúa leyendo
22Sep/110

Cinco maneras simples de acelerar tu aplicación

Estaba yo revisando mi twitter el otro día cuando me encontré con un artículo bien interesante acerca de cómo acelerar tu aplicación en PHP. De hecho, lo encontré tan bueno que decidí hacer el mismo listado, pero en español y poniéndole también de mi cosecha.

Instalación de un Opcode Cache

En general, se puede acelerar mucho una aplicación hecha en PHP con un simple programita, el cual es tan bueno que será incluida dentro del core de PHP en su próxima release principal (5.4). El funcionamiento básico de este programa sigue un esquema bastante básico, aunque para entender eso primero deberemos entender el cómo funciona el ciclo de entrega de una página Web. Básicamente, el ciclo completo es el siguiente:

Archivado en: PHP | 465 vistas Continúa leyendo
28Jul/116

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.

Archivado en: Apple/Mac, Bases de Datos, PHP | 589 vistas Continúa leyendo
27Jul/117

Crear una firma HTML en Mail5

Pequeño tip: el proceso para la creación de una firma que admita HTML en Mail5.0 es lijeramente distinto que en las versiones anteriores. En la nueva versión es:

  • Crear un archivo .html con lo que quisiéramos dejar de firma. Guardar en una ubicación temporal.
  • Abrir Preferencias en Mail y agregar una nueva firma.
  • Cerrar Mail
  • En Safari, abrir el archivo .html creado y guardarlo como un archivo tipo .webarchive
  • Copiar el archivo exportado por Safari a ~/Library/Mail/V2/MailData/Signatures/, teniendo cuidado en cambiarle el nombre al archivo sobreescribiendo el que ya esté. Si tienen varias firmas, primero revisen cuál es cuál, Mail5 le asigna una ID única a cada uno pero abriendo el archivo en un editor de texto, aunque verán mucha basura entremedio, igual se puede ver de cuál firma se trata.

[ACTUALIZACIÓN]
Otro tip para volver a activar el apretar una tecla y que ésta se repita es poner en la terminal el siguiente comando:
defaults write -g ApplePressAndHoldEnabled -bool false

Gracias a Rincón Apple por este dato.

[ACTUALIZACIÓN 2]
Tuve un problema con la copia de archivos: sucede que copiaba o movía y éste movimiento quedaba sin efecto alguno. La solución a este problema proviene directamente de los foros oficiales de Apple y consiste en borrar un archivo ubicado en:
rm -rf ~/Library/Preferences/com.apple.finder.plist

Solución encontrada gracias a los foros de Apple.

Archivado en: Apple/Mac | 1,624 vistas 7 Comentarios
27Jul/115

Ventajas y desventajas de Mac OS Lion

La última versión del sistema operativo de la manzanita es, en muchos sentidos, un cambio para bien. Sin embargo, hay algunas cosas que no funcionan y otros que llegan a ser molestos y esta entrada pretende ser una suerte de guía para aquel que, como yo, simplemente actualizó a Lion sin leer antes de.

Una de las cosas que afecta directamente la temática de este blog, es que Lion actualiza la versión de PHP... y lo hace sin preguntar. Eso significa que tenemos que instalar php-mssql, xDebug, APC y todo eso nuevamente, así que aprovechando la ocasión, estoy escribiendo dos artículos a la vez: la primera que enseña a instalar xDebug y php-mssql (APC ya está cubierto) y esta misma.

Archivado en: Apple/Mac, Pensamientos Personales | 4,608 vistas Continúa leyendo
25Jul/110

Nueva class publicada: Extended PGsql

Hice un submit de una nueva class basada en mi class ya existente para MySQL: Extended MySQLi. Hoy (bueno, más bien ayer) salió aprobada la segunda class que toma un approach algo distinto: es la misma class con los mismos métodos, pero esta vez hecho para PostGreSQL, ocupando PDO, ¿se acuerdan que hablé sobre eso hace algún tiempo?

Finalmente la class, después de mucho tiempo, vio la luz y como tal también es probable que el framework en el que estoy trabajando, realice el cambio a PostGreSQL. MySQL si bien es cierto bastante bueno, no tiene un buen sistema de transacciones, depende de muchas cosas para hacer las cosas bien y es muy fácil equivocarse, especialmente trabajando en equipo.

Sin más ni menos, les dejo el link para que puedan bajar la class Extended PGsql.

Archivado en: PHP | 403 vistas Sin Comentarios
24Jul/110

Firefox5 + IE9 y su nueva forma de redireccionar

Yo siempre he opinado, como desarrollador, que todos los nuevos cambios en un programa son bienvenidos, sobretodo si son buenos. Pero ocurre también que a veces estos nuevos cambios terminan siendo contra-productivos, ya que requiere una gran inversión de tiempo en acomodar lo que antes funcionaba bien y que ahora funciona mal o derechamente no funciona. A veces sólo es necesario una línea de código, pero llegar a esa conclusión puede ser una gran pérdida de tiempo.

En ese sentido, Firefox en su última versión del popular navegador, cambió la forma de tratar las redirecciones 302 y que pueden producir más de algún dolor de cabeza teniendo en cuenta lo poco difundido de esta nueva característica.

Archivado en: Mundo Web, PHP | 515 vistas Continúa leyendo
17Jul/110

Manito de gato al blog

Hace mucho tiempo que quería hacer algunas cosas nuevas en el blog, entre las cuales estaban:

  • Una actualización general: Cuando instalé el blog WordPress iba en la versión 2.7.9 y nunca más la actualicé.
  • Actualización de Plugins: Aunque no me gusta ocupar plugins, sí tenía algunos que estaban sumamente desactualizados.
  • Incorporar botones sociales: Hoy en día, casi infaltables si uno quiere hacer las cosas de forma rápida.
  • Cambiar el blog de máquina: Antes estaba en una máquina casi exclusiva, ahora, estoy en el servidor web que sirve todas las páginas, pero podré administrar mejor.
  • Así que buenas noticias: actualicé WordPress a la última versión (3.2.1), actualicé los plugins a la última versión y también incorporé los botones +1 de Google, Like de Facebook y el Tweet Button de Twitter. Y para dejar algo de aporte, revise el código después del salto.

7Jun/113

¿Qué es más rápido? ¿Procedural u OOP?

Una de las dudas más recurrentes y que tiene mucha antigüedad ya sea en foros o listas de correo es si es mejor ocupar procedural u OOP para programar en PHP, particularmente desde el punto de vista de uso de los recursos y la velocidad. Desde hace algunos días que venimos discutiendo eso en CHW, y pensé que sería bueno expandirme un poco más en el blog.

Lo primero que se me pasó por la mente es que cómo era posible que procedural podía ser más rápido y ocupar menos recursos que la programación orientada a objetos, que la segunda era mejor en ambientes corporativos, que el puro hecho de ser encapsulado otorgaba mejor seguridad, portabilidad y mantenabilidad, pero luego me di cuenta que una cosa no tiene nada que ver con la otra: durante la investigación que hice del tema me di cuenta que en realidad estaba mezclando los conceptos. ¿Cuál es mejor? ¿Cuáles son las ventajas y desventajas de cada una? Averíguelo haciendo click en "leer más" (o algo así).

Archivado en: PHP | 1,022 vistas Continúa leyendo
10Abr/112

Instalar APC para PHP en Snow Leopard

Siguiendo con la tanda de instalar extensiones infaltables para PHP, tenemos el caso de APC. Como todo el mundo ya debería saber, APC acelera la ejecución del código en forma enorme, gracias a que almacena en caché una copia de nuestro script ya compilado y ejecuta directamente ese en vez de parsear y posteriormente compilar cada vez nuestro script.
Por si fuera poco, APC permite servirnos como un buen módulo de caché, y aunque me gustaría escribir al tiro sobre eso, el objetivo de este post no es para eso. Sepan que de todas formas estoy preparando otro post con justamente esa información.

Archivado en: Apple/Mac, Linux, PHP | 1,302 vistas Continúa 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)

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
Archivado en: Apple/Mac, Bases de Datos, Linux, PHP | 2,740 vistas Continúa leyendo
3Abr/112

Migrar usuarios Linux de un sistema a otro

En este preciso momento me encuentro en una tarea bien tediosa: actualizando de un webserver a otro por cambio de hardware. Bueno, también aprovechamos de meter ese webserver al VMware pero ese es otro tema: lo importante es que esa actualización había que hacerla.
¿Lo único malo? 44 cuentas de usuario y 70GB de datos que transferir. Así que mientras comprimo el /home/ me di el tiempo de empezar a escribir esta entrada.

La idea de la migración es que sea algo (casi) totalmente transparente para los usuarios, lo cual implica; además de cambiar los archivos de lugar y respaldar los datos de la base de datos; mantener las cuentas de usuario entre máquina y máquina y quizás más importante: mantener las contraseñas y permisos sobre los archivos.

Archivado en: Linux | 947 vistas Continúa leyendo