July 24th, 2008 Category: linux php5
6 Comments »

Hay varias funciones y librerías dando vueltas por Internet para manipular la resolucion de imagenes con PHP. Hay algo mas facil que usar estas librerias y es a traves del comando convert. Este comando nos permite manipular imagenes y videos desde el shell de linux.

Para cambiar la resolucion de una imagen que originalmente tiene 1280×1024 a 120×100 solo tendriamos que ejecutar desde el shell la siguiente linea.

$ convert -resize 120×100 archivo_original.jpg archivo_resultante.jpg

En el directorio vamos a ver un archivo nuevo llamado “archivo_resultante.jpg”, el cual va a tener una resolucion de 120×100.

Esto es util cuando sabemos que no vamos a necesitar cargar imagenes mas grandes que esa, o queremos generar thumbnails de nuestras fotos.

Si esto lo queremos ejecutar desde php solo tenemos que usar el comando system de php.

Un codigo de ejemplo utilizando esta funcion seria el siguiente.


Seguir leyendo

June 24th, 2008 Category: linux
No Comments »

Si necesitamos por esas cosas de la vida ver una web con IE podemos instalar IEs4Linux. Este software es open source, si queres podes colaborar vía paypal.

El proceso de instalación es muy fácil, y esta disponible una guia para las distribuciones mas importantes.

Estuve probando esta aplicacion para un error especifico con IE6, y el error lo genero perfectamente :( .

En la imagen se puede ver el programa corriendo en un Ubuntu 8.04, además marco un problema con el interlineado que solo aparece con Explorer :@.

Seguir leyendo


May 16th, 2008 Category: linux Programacion
3 Comments »

Cuando se habla de teletrabajo o trabajo en grupos en programacion, generalmente se habla de un control de versiones, para que los programadores no pisen el trabajo de otros, y no necesiten usar el ftp constantemente para editar algo. Tambien resulta muy importante para liberar una versión estable y seguir trabajando en una versión de prueba, o para recuperar versiones de los archivos, es común que alguien cambie algo y resulte que ese cambio no era correcto, y si lo era el que estaba antes, con el versioando solo tendríamos que volver a una versión anterior.

Recuerdo hace un tiempo entre en una empresa que trabajaba con CVS, había leído algo al respecto pero no me había metido en el tema. En ese entonces el entorno de trabajo era un windows 98, y usabamos winCvs para el control de versiones, eramos 5 programadores, 3 en Argentina y dos en USA. Y el trabajo era totalmente coordinado, si tuvimos 3 problemas con pisadas de archivos estoy exagerando, y en los casos que paso algo fue error de algún programador ( yo me mande dos de esas tres :P ).

CVS quedo un poco en el tiempo, ahora se habla sobre SVN que es una versión mejorada de este sistema.
El mecanismo del svn es simple. Se crea un repositorio el acceso al respositorio puede ser publico o privado, una vez creado el repositorio en el servidor, es necesario que se haga un checkout por única vez, para configurar todo el entorno de trabajo. Una vez hecho el checkout solo tenemos que hacer commit para agregar cambios al repositorio y que otro se lo pueda actualizar, y update para actualizar dependiendo de los cambios que tenga el repositorio.

Cabe aclarar que cuando uno hace un svn update, o svn commit no se suben todos los archivos, sino únicamente los que tienen cambio, previamente comparando que no haya versiones posteriores a las nuestras en dicho caso nos va pedir que hagamos un update antes de hacer el commit. Otro dato importante es que los commit solo se hace sobre los archivos que están en el repositorio, si nosotros creamos un archivo localmente y queremos subirlo al repositorio para que este dentro del control de versiones primero agregamos el archivo al repositorio y despues hacemos el commit.

SVN desde Linux.

En los ejemplos yo estoy usando Ubuntu.

Lo primero que tenemos que hacer es conseguir la url de algún repositorio para probar podemos usar uno de prueba de google code tienen el buscador de proyectos, pueden elegir cualquiera y van a la solapa de source, y copian en el porta papeles ( ctrl + c ) la url del sistema

Supongamos que nuestro locahost, apunta a /var/www/. Desde la consola vamos hasta esta carpeta. Una vez en este path escribimos el siguiente comando para hacer nuestro primer checkout.

$ sudo svn co http://dominiodelrepositorio.com nombre_carpeta_proyecto

Cuando damos enter nos pueden salir 3 errores.

1- Error 1: Que el svn no esta instalado, para solucionar esto desde nuestra consola escribimos la siguiente linea

$ sudo apt-get install subversion

Este ejemplo es para los paquetes .deb para los rpm tienen que consultar como instalar SVN.

Una vez instalado volvemos a ejecutar nuestra linea para hacer el checkout.

2- Error 2: Que el repositorio no exista, vamos a chequear la url. Si este es el caso, es porque no existe esa url o no es un repositorio.

3- Error 3: Que la carpeta exista y contenga un proyecto subversionado.
En el caso que una carpeta ya contenga una versión de este o de otro proyecto no vamos a poder hacer el checkout, tenemos dos opciones, borramos la carpeta con todo su contenido, o guardamos nuestro proyecto en otra carpeta.

Sino surgió ninguno de estos errores, la consola tendría que mostrar que esta descargando archivos, y al finalizar nos tiene que decir la versión del sistema.

Una vez finalizado el checkout controlamos que nuestro proyecto este funcionando. Es probable que tengamos que configurar los datos de la base de datos que use el proyecto para que funcione correctamente, en este caso configuramos lo que sea necesario, y en localhost/proyecto/ tendríamos que ver el contenido.

Ya deberíamos tener el proyecto corriendo en nuestro sistema sin ningún problema.

Agregando cambios.

Después de revisar un poco el código se dieron cuenta que había un error, y deciden editarlo.
En forma local lo editan, con el IDE que mas le guste.
Una vez solucionado el problema, decidimos subirlo al repositorio para que el próximo que lo baje tenga el código corregido.

Para hacerlo nos posicionamos dentro del path del proyecto desde la consola

$ cd /var/www/proyecto/

Ejecutamos el commado commit, que podemos reemplazarlo por “ci“. Y nos quedaría de la siguiente forma

$ sudo svn ci -m ‘Corregimos un error en la carga de datos’

Hay un beneficio que no comente al principio sobre SVN, y son los comentarios de los cambios. Todos los cambios tienen la opción de enviarse con un comentario con una descripción de lo realizado. Esto es importante para controlar los diferentes cambios. Para agregar un comentario en un commit agregamos el parámetro “-m” y entre comillas el mensaje

Despues de ejecutar el commit el sistema nos tiene que mostrar por consola los detalles del commit, y nos devuelve la versión del repositorio actual ;)

Manteniendo actualizada la versión del sistema

Si necesitaramos actualizar el sistema solo tendríamos que hacer un update.

$ sudo svn up

Podríamos usar sudo svn update, pero para escribir menos podemos usar el alias up ;) .

Si existen diferencias con nuestros archivos locales nos va a actualizar lo necesario.

Subiendo Archivos.

Para subir archivo solo tenemos que ejecutar la opción add.

$ svn add nombre_archivo_extendsion

Si el archivo no se encuentra en el repositorio lo va agregar, en caso contrario nos va a decir que el archivo ya se encuentra bajo control de versiones.

Podemos agregar una carpeta que contenga un grupo de archivos, y de carpeta, sin necesidad de agregar uno por uno.

Puede ser que consideren esto un poco cerrado ya que solo explico como trabajar desde linux, pero el problema es que con windows todo es supuestamente tan facil, que no deberías complicarles mucho esto. Tienen Tortoise que es una herramienta espectacular para trabajar desde windows ;) , donde todas las acciones que hicimos en este mini tutorial lo tienen haciendo click derecho sobre la carpeta que tienen el proyecto.

Otro punto muy importante, es que la mayoria de los IDE decentes tienen soporte de control de versiones revisen la documentacion de su IDE para saber como configurarlo.

links relacionados: Configuracion, uso e instalacion de Subversion de Linux.

Seguir leyendo

May 6th, 2008 Category: linux
6 Comments »

Herramientas a instalar

- Maquina Virtual Java
- Eclipse PDT
- Xampp

Instalando Eclipse PDT

Eclipse es un entorno de desarrollo (IDE), se concibió como la versión linuxera de Visual Studio, a través de plugins, se puede trabajar en cualquier entorno, en nuestro caso Eclipse PDT, ya tiene los plugins de php configurados. PDT significa PHP Development Tools.

Antes de empezar a trabajar vamos a actualizar nuestro repositorio. Desde nuestra terminal ejecutamos.

$ sudo apt-get update

Después vamos a instalar la maquina virtual java, la cual es necesaria para correr Eclipse.

$ sudo apt-get install sun-java6-jdk

Descarga de paquetes de la maquina virtual Java

Una vez instalado la maquina virtual de Java vamos a descargar Eclipse PDT nos vamos a bajar la versión estable de la pagina oficial. Obviamente vamos a elegir la versión para linux. ;)

Cuando termine de descargar vamos a descomprimir todo el contenido en el directorio /opt que es el lugar que vamos a elegir para instalar todas nuestras aplicaciones.

Para descomprimir nuestro archivo en /opt dentro de nuestra terminal vamos a ir hasta la ruta donde hayamos descargado el archivo, que generalmente FireFox lo hace en nuestro escritorio en mi caso

$ cd /home/pablo/Escritorio

Una vez en el path del archivo tar.gz escribimos la siguiente linea en la terminal

$ sudo tar xvzf pdt-all-in-one-S20080505_RC1-linux-gtk.tar.gz -C /opt

Con esta linea le estamos diciendo que descomprima el archivo que bajamos en la carpeta correspondiente.

Una vez terminado la descompresión ejecutamos la aplicacion escribiendo la siguiente linea.

$ /opt/eclipse/eclipse

O vamos a la carpeta desde el explorador de archivos de Gnome, y ejecutamos el archivo eclipse.

Configuramos nuestro workspace, y listo ya tenemos eclipse corriendo en nuestra pc

Xampp

Nos falta lo mas importante. Nuestro servidor web!. Y para esto vamos a usar Xampp, que viene con todo lo que necesitamos para un servidor web con php. El paquete incluye Apache, MySql, php, phpmyadmin, y mas. Además tiene el mod_rewirte activado para que nuestras aplicaciones en Zend funcionen sin necesidad de configurar ningún parámetro extra.

La instalación es tan fácil como la de eclipse.

Descargamos el archivo tag.gz de la pagina oficial de Xampp

Desde una terminal una vez terminada la descarga ingresamos el siguiente comando

$ tar xvfz xampp-linux-1.6.6.tar.gz -C /opt

Al igual que con Eclipse instalamos Xampp en la carpeta /opt

Para correr nuestro servidor web, lo único que nos hace falta es ejecutar la siguiente linea:

$ sudo /opt/lampp/lampp start

y listo, vamos a nuestro browser escribimos en la barra de direcciones http://localhost, si el browser nos muestra la imagen de Xampp, ya tenemos 100% funcionando nuestro servidor web.

La carpeta donde se guardan todas las paginas web que vayamos haciendo es htdocs, dentro de xampp

Si quieren editar sus bases de datos mysql, pueden ir a la url http://localhost/phpmyadmin/

Y con esto terminamos de configurar nuestro entorno de desarrollo web.

También puede consultar este tutorial de configuración de eclipse PDT enlace

Seguir leyendo

April 25th, 2008 Category: linux
2 Comments »

En este pdf van a encontrar una referencia a comandos de ubuntu.

Los que mas se usan son los de apt-get que se utilizan para la descarga e instalacion de Software.

No recuerdo la fuente, pero es una traduccion de un documento en ingles.

Una de las herramientas que me facilitan mas el trabajo en un Ubuntu es Midnight Commander (mc), podemos instalarla usando el comando

#sudo apt-get install mc

Una vez instalado con solo ejecutar el comando
# mc
se nos va abir un programa parecido al viejo Norton Commander de dos.

Si nosotros queremos alternar entre MC o comandos de shell podemos usar la combinacion de teclas Ctrl + o.

Seguir leyendo