Instalación simple de LAMP en GNU/Linux Ubuntu

La manera mas sencilla de montar un servidor LAMP (Linux, Apache, MySQL y PHP) en Ubuntu que encontré, es la de utilizar una pequeña aplicación, por linea de comandos, que simplifica enormemente la tarea de instalación y configuración de todos los paquetes necesarios para tener un entorno de desarrollo (no tan mínimo) funcionando. La aplicación es tasksel y para poder instalarla basta con poner en una terminal, Ctrl+Alt+T (Ubuntu):

:~$ sudo apt-get install tasksel

Una vez que se termina de instalar ejecutamos:

:~$ sudo tasksel

Y eso nos mostrará un listado de servicios, paquetes, escritorios alternativos y muchas otras cosas que vale la pena revisar, pero en este caso el que nos importa es la opción de LAMP Server.

tasksel

Durante el proceso de instalación, podrán configurar la contraseña de MySQL, y otros parametro solicitados por tasksel.

Fácil, rápido e indoloro.

Primeras charlas Grupo PHP Argentina

Primeras Charlas del Grupo PHP

El día Sábado 6 de Marzo se realizara en el Hotel Las Naciones (Corrientes 818 1º piso – Buenos Aires, Argentina), se llevaran a cabo mas primeras charlas organizadas por el GrupoPHP argentina.

Agenda

09:30 – 09:40 | Acreditación

09:40 – 09:55 | Presentacion del Grupo PHP

10:00 – 10:40 | Introducción a POO / UML / PHP5 – Enrique Place

10:45 – 11:25 | Optimización y escalabilidad – Matías Montes

11:30 – 12:10 | Desarrollo de aplicaciones en Facebook – Matías Paterlini

12:10 – 12:30 | BREAK

12:35 – 13:15 | Introducción al Estándar de Codificación de Zend – Enrique Place

13:20 – 14:00 | Lithium, framework PHP 5.3 que pega como piña – Mariano Iglesias

14:05 – 14:45 | Cormo Framework ex ORMphp – Germán Peraferrer

14:50 – 15:00 | Mensaje de cierre

Para poder asistir es necesario registrarse en http://grupophp1.eventbrite.com, en donde recibirán un ticket con el cual podrán participar del evento.

Para obtener más información pueden visitar el sitio oficial del GrupoPHP argentina.

Yo ya estoy anotado. ¿Quién más se suma?

Update: Corregida la dirección del evento. Donde decía ”2º piso” ahora dice “1º piso”

Implementación de Búsqueda Binaria en PHP

La Búsqueda Binaria se utiliza para saber si un elemento se encuentra en una colección de datos, como podría ser un array, un vector o cualquier estructura de datos similar. Este algoritmo se basa en la premisa de que nuestra colección de datos se encuentra ordenada por la misma clave que buscamos.

La filosofía del algoritmo es la de Divide et impera, en el que la idea es separar el problema en partes mas pequeñas, descartando lo que no me sirve y quedándome con los rangos útiles. Los algoritmos de este tipo, que descargan la mitad de los datos en cada comparación, se dice que son de un orden de complejidad de:

log( N )

Donde N es la cantidad de elementos de nuestra colección de datos. Así podemos saber que en cada pasada, nos quedaran la mitad de los elementos, algo muy importante a al hora de optimizar recursos.

La implementación que presento a continuación, esta hecha de forma recursiva. La recursividad puede ser un tanto engañosa y colgar todo si no esta bien definida su condición de corte.

function binarySearch($key, $collection, $start, $end){
	// Selección de la posición del elemento central.
	$pivot = (int)($start + ($end - $start) / 2);
	// Condición de corte.
	if($start >= $end) return FALSE;
	if($collection[$pivot] > $key){
		return binarySearch($key, $collection, $start, $pivot - 1);
	} else if ($collection[$pivot] < $subscriber){
		return binarySearch($key, $collection, $pivot + 1, $end);
	} else {
		return TRUE;
	}
}

Simplemente eso, este mismo algoritmo podría ser optimizado o mejorado en cuanto a la inteligencia en el tratamiento de las variables $start y $end, haciendo que el mismo script calcule estos datos. Yo no los calculo por un tema de rendimiento.

Espero que pueda servirle a alguien en cualquier momento, desde ya esta todo el mundo invitado a utilizar este código. Y obviamente a dejar sus comentarios al respecto.