Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

¿Eres un arquitecto de software?

Tomado del original (en inglés) en infoq.com.

La linea que divide el desarrollo de software y su arquitectura es engañosa.  Algunos dirán que esta no existe y que la arquitectura es simplemente una extensión del proceso de diseño hecho por los desarrolladores.  Otros harán de esto un enorme abismo que solo puede ser crusado por desarrolladores avanzados que creen que debes resumir los componentes fundamentales en lugar de detenerte en esos detalles molestos de implementación. Como siempre, hay un balance pragmático en algún lado a mitad del camino, lo cual hace surgir una pregunta interesante sobre como moverte de un lado a otro.

Algunos de los factores clave que a menudo se utilizan para diferenciar la arquitectura del software de su diseño y su desarrollo incluyen un aumento de la escala, un aumento en el nivel de abstracción y un aumento en la importancia de la toma de decisones correctas en el diseño.
La arquitectura del software es acerca de tener visiones holísticas y teniendo una vista general para entender como el sistema trabaja como un todo.  Mientras esto puede ayudar a difrenciar el desarrollo de la arquitectura de software, no necesariamente permite entender como alguien cambia de actividades de desarrollo a las de arquitectura. Tampoco ayuda a identificar quién hará un buen trabajo de arquitectura, ¿como harás para contratar a la gente correcta o sabrás si tu eres un arquitecto de software?

La experiencia es una buena referencia pero necesitas profundizar más

Llegar a ser un arquitecto de software no es algo que simplemente pase de la noche a la mañana o con un ascenso. Es una función, no un rango.  Es un proceso evolutivo donde gradualmente ganarás la experiencia y confianza que necesitas para ejecutar tu función.

Hay un número de cualidades que puedes buscar en un arquitecto de software y su experiencia pasada es a menudo un buen puntaje para calificar su habilidad en el desempeño de su papel.  Aunque la función de un arquitecto de software es muy variado, se necesita profundizar para entender el nivel de participación, la influencia, el liderazgo y la responsabilidad que ha sido demostrada a través de un número de ámbitos diferentes. Hablando ampliamente, la arquitectura de software en la mayoría de los proyectos puede ser dividida en dos fases; la arquitectura es definida y luego es liberada.

Instalando most como pager en Linux

Casi todos estamos familiarizados con los paginadores más famosos en GNU/Linux, con los cuales un texto largo en consola puede verse tranquilamente pantalla a pantalla...

Puede ser que usemos el clásico more(1), o que por otro lado utilicemos less(1).

¿Tenemos más opciones? La respuesta es sí...

Construye tu propio servidor LAMP

Vamos a instalar varios servidores que en conjunto se suelen conocer como LAMP (Linux-Apache-MySQL-PHP), básicamente necesitamos Apache para poder montar nuestras paginas web, php para poder programarlas y mysql para almacenar nuestros datos pero como ya deben saber para que funciona cada una, voy a enfocarme más a la instalación propiamente sobre un linux ubuntu 9.10.

Instalar Apache2 y configurar PHP5
Debemos descargar los paquetes desde el repositorio de ubuntu usando apt-get de la siguiente forma:

sudo apt-get install apache2 php5 libapache2-mod-php5

El comando sudo te permitirá ejecutar los comandos como administrador, esto es muy común en ubuntu, la única diferencia de hacerlo sin el comando sudo es que te pedirá tu contraseña y listo, te mostrará algo como la siguiente imagen.  Debes responder 'Y' a la pregunta y empezará a descargar primero los paquetes, luego a instalarlos automáticamente.

Prepara tu café porque se va a descargar como de 7 a 10MB.

Uso del comando awk en linux

Algunas de las limitaciones del comando sed se remedian por medio del comando awk, pues aunque se parece mucho a sed, los detalles se basan más en el lenguaje de programación C que un solo editor de textos. Uso:

awk 'programa' archivos
Sin embargo, la constitución del programa es distinta:
patron { acción }
patrón { acción }
patrón { acción }

... (mas patrones y acciones)

A semejanza del comando sed, awk tampoco modifica los archivos de entrada, solamente la salida que imprime. El comando awk lee la entrada de un archivo un renglón a la vez, para el cual compara con cada patrón en orden, de esta manera, para cada patrón que concuerde se efectúa la acción correspondiente.

Los patrones son expresiones regulares como en el comando egrep o condiciones complicadas como en el lenguaje C. Por ejemplo:

awk '/expresión regular/' { print }' archivos
awk '/expresión regular/' archivos


Esta instrucción consiste en imprimir aquellas líneas que concuerden con la expresión regular, si se omite una acción, se imprime, por lo que ambas líneas muestran el mismo resultado. En caso de omitir el patrón, la parte de la acción se ejecuta a cada línea de entrada.