Saltar al contenido

Categoría: Desarrollo y Programación

Crudgen: Generador CRUD para PostgreSQL usando phppgadmin

Crudgen fue mi proyecto de tesis de grado que culminé a medidados del 2009, el mismo consiste en un generador de páginas para realizar operaciones CRUD (Create, Report, Update y Delete) en una base de datos Postgres a través de phppgadmin, el mejor gestor web para administrar este tipo de base de datos. Para ese entonces modifiqué el código fuente de varias partes de la aplicación, dificultando su integración en el programa, al año siguiente (2010) decidí reescribirlo y modificar su uso siguiendo las sugerencias del equipo, sin embargo, por falta de tiempo lo abandoné. En agosto de 2011, se agregó soporte para complementos por parte de Leonardo Sápiras al participar en el Google Summer of Code, permitiendo escribir un plugin con esta funcionalidad sin modificar el código fuente del programa.En el último año, cuando tenía tiempo libre me puse a rescribir (por tercera vez) el programa y hasta hace poco logré finalizarlo.

El plugin permite a través de pocos pasos, generar páginas web para realizar operaciones sobre las tablas seleccionadas de una base de datos. El código generadoson funciones PHP para realizar las acciones, las cuales son llamadas desde una plantilla HTML, esta plantilla, puede ser programada fácilmente o fácil de adaptar desde un diseño un existente, permitiendo obtener resultados con diseños personalizados (a diferencia de las otras soluciones donde todos los resultados tienen la misma apariencia).

Respecto al código del lado del servidor, soporta las bibliotecas PGSQL o PDO_PGSL brindando posibilidad al usuario de elegir la que mas le convezca (debería usarse siemper PDO para mayor seguridad), posee seguridad respecto a ataques de inyección SQL, usa PHP5 de fácil lectura y con flexibilidad para adaptarla a los requisitos del programador. Centraliza funciones comunes entre las páginas y mucho mas.

Si les interesa, les invito a ver este vídeo en inglés (me di cuenta que necesito prácticar) donde explico todo el funcionamiento del programa, sino entienden el idioma, no importa, pueden ver todo el proceso y ver lo que genera el plugin.

Espero que lo utilicen, compartan esta información, reporten bugs, se unan al proyecto y aporten código al mismo.

Para utilizarlo pueden descargarlo desde la página de Crudgen en Github.

Deja un comentario

Clean Code: Libro para desarrolladores

Hace unos meses terminé de leer Clean Code, un libro recomendado en un artículo de Mundo Geek titulado 10 libros míticos sobre programación que todo desarrollador debería leer.  se enfoca hacia el programador y no al resto de tareas, por lo que si no son desarrolladores este libro no es para ustedes.

De hecho, al principio advierte sobre el uso de ejemplos usando porciones de código: recomiendan leerlos con calma hasta entenderlo correctamente, comparar modificaciones realizadas con el original y otros. Por mi  parte, me pareció muy interesante pues uno aprende a reconocer fácilmente errores cometidos y ver como se deberían hacer, además los ejemplos suelen estar en varios lenguajes de programación entendibles por cualquier profesional, pero si no te gusta programar este libro no es para ti.

El libro está divido en capítulos, en cada uno de ellos, se habla de un tema en específico como funciones, comentarios, objetos y estructuras, entre otros. Por ejemplo, el de comentarios (uno de los que mas me gustó) expresa como se debe documentar el código, casos en los que no es necesario, métodos, uso de Javadoc, ejemplos de malos comentarios y mas.  El de funciones explica los casos en que se deben crear funciones, como nombrarlas, casos en los que deben crearse funciones y mas. En otras palabras, solo se habla de un tema y se explica todo lo que se puede de él, al pasar a un nuevo capítulo se repite el mismo proceso para el nuevo concepto.

 

Portada de Clean Code
Portada de Clean Code

Un aspecto interesante, es como el autor logra explicar muchos conceptos de desarrollo de software o programación usando ejemplos de la vida cotidiana, por ejemplo, analogías de mantenimiento de la limpieza / mantenimiento de ventanas de un edificio con el mantenimiento de un sistema. Así que no deben ser unos estudiados en el tema para entenderlos, cualquier persona con una vida normal los entenderán (tal vez existan programadores que no han visitado un taller o han visto un edificio).

Es un buen libro, no me pareció muy bueno como Code Complete o The Pragmatic Programmer, pero se los recomiendo si son programadores, aprenderán nuevas técnicas, formas de escribir mejor código y mas. También al igual que con otros libros mencionados en este blog, opino que todo profesional debe leerlos cuanto antes para mejorar su forma de escribir código.

4 comentarios

¡Feliz día del programador!

El día 256 de cada año se celebra el día del programador, este año por ser bisiesto se celebra hoy 12 de septiembre; el 256 es debido a que es el mayor número base 2 (28) posible en el año, pues tenemos como máximo 365.

Ser programador es una profesión fuerte: requiere grandes capacidades de análisis, de lógica, constante lectura y actualización de conocimientos, paciencia, entre otros. Sin embargo, algunas personas como yo, opinamos que es un arte, una manera de resolver problemas lógicos a través de sentencias en forma ordenada pero con sencillez (cuando sea posible o el cerebro lo permita), escribir código legible para las personas, permitir a las computadoras realizar tareas para simplificar la vida de los humanos…y mas.

Empecé a programar por hobbie desde los 13 años con BASIC (por eso no odio este lenguaje, pues allí comenzó todo) y 12 años después puedo decir que estoy lejos de ser un buen programador, sin embargo, lo disfruto e incluso me parece divertido, por lo que me gusta ahora ejercer profesionalmente este rol. Se que mucho de ustedes también los disfruta, así que me gustaría leer sus comentarios.

En fin, para celebrar este día del programador. Les dejo unos enlaces para que se conviertan en mejores programadores y/o conozcan personas iguales a ustedes:

  • Coderz Venezuela: Un buen sitio (su cuenta de twitter es aún mejor) para conocer el movimiento de desarrollo en Venezuela, en su perfil de twitter colocan artículos interesantes y también publican ofertas de trabajo en el país o internacional.
  • Code Jobs: Excelente página en español con mucha documentación, cursos en línea, vídeos, charlas virtuales y demás recursos para aprender a programar, lo mejor es que es gratuito y en su cuenta de twitter suelen resolver algunas dudas.
  • Maestros del Web: Parecida a la anterior pero enfocada al desarrollo web. Recomendada para los programadores especializados en esta área.

Existen muchos recursos disponibles en Internet, pero estos son los 3 que mas me gustan en español. Para finalizar, les dejo esta canción perfecta para este día. Code Monkey, una canción que aseguro que a todos los programadores les recordará a su trabajo o trabajos anteriores.

Deja un comentario

HTML5 ★ Boilerplate una plantilla para crear nuestras páginas

Esta tecnología la descubrí leyendo el blog de Paul Irish, al principio no la entendí y pensaba que era un framework para desarrollar páginas web pero luego de ver varios tutoriales comprendí que realmente es una plantilla en HTML5 que incluye (en mi opinión) las mejores herramientas de detección de características del navegador, compresión de código HTML, CSS y Javascript; métodos para acelerar la carga de librerías de Javascript, entre otros.

¿Por qué usar Boilerplate?

Si eres desarrollador web (frontend) especializado en la parte visual debes usar esta herramienta para tus proyectos, la idea es ofrecer una plantilla o página web usando HTML5 sin perder compatibilidad con navegadores antiguos que no lo soportan (o solo parcialmente). Además utiliza las mejores prácticas e incluye las mejores herramientas para tener una buena página como: utiliza Modernizr para detectar las funcionalidades soportadas por los navegadores y aplicar solo ha ellos ciertos efectos CSS3 por dar un ejemplo, no reinicia los estilos de los navegadores sino que los normaliza, incluye compatibilidad con la mayoría de servidores web para aplicar técnicas de compresión de datos y pequeñas reglas de seguridad, compatibilidad con dispositivos móviles, herramientas para comprimir el código Javascript entre otros.

Con esto te ahorras mucho tiempo en implementar todas estas cosas, ademas garantiza tener una páginas que usa lo mejor de la tecnología actual sin romper compatibilidad con los navegadores antiguos. Cabe destacar que es solo para crear la plantilla inicial, es una base para ir agregando tu markup, librerías, reglas CSS, etc. Si utilizas un CMS puedes hacer tu propia plantilla o buscar en Internet plantillas ya optimizadas con Boilerplate.

Mi experiencia

Utilicé Boilerplate para MiguelUseche.com (mi sitio profesional) y me ayudó a realizar una página que carga en poco tiempo, funciona en casi todos los navegadores, me ahorro tiempo al dar soporte a Internet Explorer 6 y 7, y la adaptación a dispositivos móviles requirió poco trabajo. Obviamente no todo se hizo automático, sino su base de código me permitió ahorrar mucho tiempo al dar soporte a distintos navegadores.

Boilerplate funciona con una plantilla base, la cual vamos agregando nuestro markup y vamos creando nuestra página/aplicación web. Luego a través de unos scripts «construimos» el sitio optimizado el cual se guarda en la carpeta build, durante este proceso, se comprimen las reglas CSS, el código HTML, los archivos de Javascript, los une si están separados en varios archivos, optimiza las imágenes para ser vistas en la web, actualiza las rutas para incluir estos scripts y mas. Todo lo que debemos hacer es configurar un archivo donde le indicamos todo lo que queremos hacer.

Conclusión

Si quieres hacer un sitio con HTML5 y realizar ciertas acciones con los navegadores que no lo soporten, utiliza Boilerplate. Con todas la base ya optimizada que trae permite crear buenos sitios en menos tiempo, y si son como yo: desarrolladores web especializados en la programación del sitio y no en la parte visual; les ayudará mucho esta tecnología al realizar cosas que no comprendemos mucho. Sin embargo, si eres desarrollador front-end supongo que te ayudará a ahorrar tiempo y te ofrece configuración para adaptarse a tus requisitos o forma de trabajar.

Si quieres comenzar a utilizar esta tecnología pueden ver el siguiente video que está en inglés:

An introduction to HTML5 Boilerplate v4.0

Para descargarlo, entren a la página oficial: https://html5boilerplate.com/

2 comentarios