Archivos de la categoría Programación

La exprimidora de ideas crece

DrupalPracticamente desde mi llegada a Barna estoy colaborando con Javier Linares y el proyecto conjunto ExprimiendoAlquimia. Estamos todavía en los comienzos de esta colaboración, pero ya he podido participar en cosas como la ampliación de la web de Cultura Lliure, una iniciativa de la Generalitat de Catalunya para difundir contenidos con un cierto grado de libertad (CreativeCommons basicamente) en catalán.

Después de esto viene mucho más. Y tanto hay por hacer aquí que desde Exprimiendo se está buscando más gente para sacar todo las ideas adelante. Si tienes experiencia con el PHP, conocimientos de Linux, capacidad para trabajar en grupo (con una gente muy enrollada, todo sea dicho) y sobre todo ganas de hacer cosas, si para ti no es un problema currar en La Garriga (a un ratito en tren desde Barcelona) con la posiblidad de hacer el trabajo algunos días desde casa, animate. Buscamos compañeros con los que compartir todos estos proyectos. Si tienes conocimientos de Drupal, subversion, estándares web, ya sería la pera limonera.

Si te interesa, no te lo pienses más y ponte en contacto con Exprimiendo.

Django

A Django site.

Desde hace unos meses estoy trabajando con un nuevo (para mí) framework de desarrollo rápido de aplicaciones web, Django. Es un framework para Python, software libre y especializado en la creación de gestores de contenidos (CMS). Es la plataforma sobre la que estoy desarrollando los nuevos proyectos de PrakanStudios y también alguna que otra aplicación a medida que estoy haciendo. No voy a hablar demasiado de Django, al menos no de momento, porque ya hay muchas referncias introductorias a lo qué es.

Hablando con Ricardo Barrios, compi de Orgánica DTM, quienes ya están desarrollando todo un sistema de gestión para empresas de logística de código abierto con Django, comentabamos la falta de comunidad hispana sobre este genial entorno de desarrollo. Así que nos decidimos a dar el primer paso y montar una lista en Google Groups. Nuestra sorpresa llegó al descubrir que se nos habían adelantado. Al intentar crear django-es el sistema nos decía que esa lista ya existía. Así que al menos, ya hay un inicio de una comunidad de desarrolladores de Django de habla hispana. Cualquiera que esté interesado en profundizar en Django, no duden en echar un vistazo a los tutoriales y pasarse por la lista. Allí estaremos.

Sumergiendonos en Python

A través de esta nota de Javi Cantero en los diarios de Libertonia me enteró de que uno de los compañeros de la gofiocosa (que además resulta ser compañero de trabajo mío, esto está para que Castells escriba un libro) está poniendo al día la traducción de Inmersión en Python al español.

Lo anuncia a través de este aviso y este otro en su weblog, ¡Qué inventen ellos!.

Una muy buena oportunidad para aquellos que buscan, como reza el slogan del tutorial, pasar de novato a experto en Python.

Frameworks para PHP5

Con la salida de PHP5 y sus nuevas capacidades para el manejo de objetos (no perderse la serie de artículos sobre PHP5 que ha comenzado Javier Cantero en Libertonia) también han comenzado a salir frameworks para el desarrollo de aplicaciones hasta de debajo de las piedras.

Ya hace algún tiempo hablé de que quería hacer una aplicación con cierta modularidad y escalabilidad y creo que lo mejor es aprovecharme del trabajo ya hecho que suponen esos frameworks. El gran problema es, como suele ocurrir al tener múltiples opciones, cual elegir.

Para empezar está CVPFramework, hecho por españoles, bastante ambicioso y nacido a la sombre de una aplicacion real (una tienda electrónica). En contra, el que de momento la “abstracción de base de datos” sólo funciona con PostgreSQL, mientras yo estaba por usa MySQL, más que nada por tener mayor soltura con este último. Un artículo en español sobre CVPFramework.

Luego tenemos Sourdough, que parece un framework algo más maduro, con más desarrolladores, más avanzado que el otro…

Finalmente Pandora , que tiene toda la pinta de estar abandonado, con lo que mejor ni plantearselo.

¿Alguno de ustedes ha probado o trabajado con alguno de los framework? ¿cual es su experiencia? De momento me inclino por Sourdough, aunque el hecho de que CVPFramework sea algo que está naciendo y hecho por hispanos me atrae mucho. Ya les iré contando.

Patrones en PHP

Estoy metido en nuevo proyecto para hacer una aplicación para la gestión de una asociación a la que pertenezco. Como no encontré nada hecho que me convenciera (la verdad es que no encontré nada parecido a lo que buscaba) pues tocaba empezar de cero.

La idea principal era hacer algo totalmente modular, para poder sacar el mayor partido posible a lo que se haga, con un núcleo de la aplicación que pueda ser usable para cualquier fin y ya los modulos se especialicen en lo que me interesa en este caso.
La verdad es que no tengo demasiada experiencia en cosas de este tipo, algo he hecho, pero no encuentro la forma adecuada de comunicar los módulos con el núcleo.

Buscando por la web me encontré con phpPatterns(), una web con bastantes e interesantes artículos sobre PHP y patrones, diseño de aplicaciones y desarrollo. De momento no he encontrado nada que solucione mi problema, pero sí que hay cosas interesantes que me han hecho replantear como hacia ciertas cosas hasta ahora.

Las imágenes, mejor fuera

Nota para recordar: no metas las imágenes en la base de datos. Cuando cogí el proyecto con el que estoy actualmetente, me encontré con que el que había hecho el diseño había decidido meter las imágenes en la base de datos. Mi primera intención fue sacarlas fuera, pero después de comentarlo un poco, decidimos dejarlo tal como estaba para ahorrar trabajo. Craso error.

Me he encontrado, que si bien los tiempos de carga y acceso pueden ser tan buenos a la base de datos como al sistema de ficheros, la mayoría de funciones no están preparadas para trabajar con imágenes de esta manera. Esperan que la imagen sea un fichero. Y no lo es. Ahora tengo que hacer más trabajo 🙁

De momento las opciones que tengo son implementar una sistema de caché de las imágenes para tenerlas en ficheros además de en la base de datos las que se hayan consultado últimamente, crear una capa para poner en medio de las funciones de tratamiento de imágenes y la base de datos,… ninguna de ellas trivial.

El problema de los acentos

Un montón de veces programando me he encontrado con el problema de representar adecuadamente las cadenas de caracteres (strings para entendernos) por el tema de los acentos y las eñes. Nunca me he aclarado mucho con el tema de las codificaciones y me eso me ha obligado a hacer muchas piruetas en algunos programas.

Joel Spolsky ha publicado en su bitácora un interesante introducción acerca del tema. Recomendado para todos los que, como yo, andamos algo perdidos. Lo malo, que está en inglés. Nada puede ser perfecto 😉