lunes, 30 de diciembre de 2013

Silex, un micro-framework para PHP

Symfony2 es todo un proyecto que a su vez engloba otros proyectos más, este es el caso de Silex un framework muy profesional para el desarrollo de aplicaciones web en PHP.


Silex es un microframework desarrollado con PHP 5.3. Se basa en los mismos principios que Symfony2 y está inspirado por el microframework Sinatra de Ruby.

Características



  • Conciso: Silex proporciona una API concisa e intuitiva que hasta es divertida de utilizar.
  • Extensible: Silex dispone de un sistema de extensiones basado en el micro contenedor de servicios Pimple y que facilita el uso de librerías creadas por terceros.
  • Facil de testear: Silex utiliza el componente HttpKernel de Symfony para abstraer el manejo de la petición y de la respuesta. Esto facilita mucho la creación de tests tanto para las aplicaciones como para el propio framework. Además, Silex respeta la filosofía de funcionamiento de la especificación HTTP y te ayuda a que tu también la sigas.


Código de ejemplo


// web/index.php

require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/hello/{name}', function ($name) use ($app) {
    return 'Hello '.$app->escape($name);
});

$app->run();

sábado, 28 de diciembre de 2013

Presentaciones con reveal.js

Este año he tenido la suerte de participar en algunas jornadas como conferensistas dando presentaciones sobre Programación y Seguridad Informática dos de los temas que más me apasionan.

Para ello encontré este framework para hacer las presentaciones más simples y rápidas, con un terminado excelente y todo utilizando tecnología de la web moderna HTML5, CSS3 y JavaScript.


reveal.js es un completo framework para realizar presentaciones en HTML de forma rápida y simple, que incluye animaciones, varios themes en CSS3, diferentes transiciones, Zoom, Markup y varias cosas más.

Es una forma simple y profesional de realizar presentaciones estupendas y lo bueno es que todo lo podemos hacer desde nuestro navegador web.

Comenzar a utilizar reveal.js


Tenemos la suerte que reveal.js es software libre y absolutamente todo su código fuente se encuentra en los repositorios de Github.

Lo idea es realizar un clon del repositorio en local de la siguiente manera:

$ git clone https://github.com/hakimel/reveal.js.git
$ cd reveal.js/

Es aquí donde nos encontramos con todos los archivos del proyecto, lo primero que les recomiendo es leer el archivo README antes de comenzar.

$ less README.md

Por otro lado pueden abrir el archivo index.html con un navegador web y comenzar a disfrutar del ejemplo de reveal.js donde muestra absolutamente todas sus características.

miércoles, 25 de diciembre de 2013

Feliz Navidad a todos


Hoy no vamos a hablar ni de hacking ni de programación, de eso vamos a tener todo un año más por delante. Hoy simplemente desearles a todos y cada uno de los geek que nos siguieron en Cacería de Spammers y en el regreso de El CoDiGo K que tengan una muy Feliz Navidad para ustedes y a los que tengan la suerte de compartirlo con familia y amigos.

Felicidades! Saludos!

lunes, 23 de diciembre de 2013

Vim for Dev: Eliminando los saltos de línea


Este es otro tip de Vim para poder sobrellevar todas las situaciones que se nos presenten, por alguna razón hoy me encontré con la siguiente situación.

$ cat /etc/passwd | awk -F":" '{ print $1 }' | sort > usuarios

No vamos a explicar mucho a que viene este ejemplo, simplemente decir que utilizamos el redireccionamiento al archivo usuarios para dejar los usuarios que se encuentran en el archivo /etc/passwd finalizando con un salto de línea.

Para terminar de hacer el informe la idea es con Vim eliminar todos los saltos de línea y eso lo podemos hacer editando el archivo usuarios y ejecutando el siguiente comando separandolos por el carácter “,”.

:1,$ s/\n/,/g

De esta forma eliminamos absolutamente todos los saltos de líneas que se representan con “\n” y lo reemplazamos por nada, otra opción es reemplazarlo por un espacio

:1,$ s/\n/, /g

Otra forma simple de eliminar los saltos de línea sin utilizar Vim y haciendo uso de la consola de Linux es implementar el comando sed de la siguiente manera:

$ sed -n -e '1x;1!H;${x;s-\n- -gp}' usuarios

Hasta aquí dos formas diferentes de eliminar los saltos de líneas que en diferentes oportunidades lo necesitamos.

Saludos!

jueves, 19 de diciembre de 2013

El arte de mejorar el 1% de las cosas


Ya se acercan las fiestas de fin de año y es un buen momento para realizar un balance de todo lo acontecido en el año, con sus altos y bajos es bueno tener los pies sobre la tierra y pensar en las cosas que se lograron, lo que quedó sin terminar y lo planificado que no pudimos concretar.

Estoy seguro que entre todas esas cosas, quedaron por probar en tus aplicaciones muchas cosas, mejoras en el diseño, optimizaciones en bases de datos, refactorización de código fuente, documentación, pruebas y algunos renglones de tareas más.

Ahora bien si te das cuentas por más que parezcan funciones muy pequeñas o tareas simples, si a esto lo llevamos al día a días, lo multiplicamos por varios sistemas paralelos, sumado a tiempo en el trabajo, los estudios y la familia, estoy seguro que por estos días el almanaque esta casi completo y en cuenta regresiva para las merecidas vacaciones anuales.

Nuevamente si ponemos en la mente todas estas tareas pendientes lo único que logramos es bloquear nuestras actividades y terminamos por no hacer nada, absolutamente nada.

En éste Blog de programación, hoy no vamos a escribir nada de código, simplemente recomendarles una nueva forma de pensar y actuar ante estas situación que tarde o temprano vamos a vivirlas y generalmente por alguna razón siempre optamos por el camino más dificil.

Ya sabemos que se nos va a acumular tareas, y si no lo sabías te lo voy a contar, “se te van a acumular las tareas” por eso la idea no es descuidarlas, ni mucho menos dejarla en el olvido, sino revisarlas a diario, la idea es mejorar el 1% de las cosas todos los días.

miércoles, 18 de diciembre de 2013

TDD - Desarrollo guiado por pruebas

TDD (Test-driven Developmen) es una metodología para el desarrollo de software que en los últimos años tubo una gran aceptación entre los programadores.

Esta metodología involucra algunas buenas prácticas como, escribir las pruebas primero y luego refactorizar el código.

En primer lugar, generalmente se programan los que se conocen como Pruebas Unitarias (Unit test) y se verifique que estas pruebas fallen, a continuación se implementa el código que hace que las pruebas pasen satisfactóriamente y finalmente se refactoriza el código escrito.

Cuando hablamos de Refactorización de código estamos haciendo referencias a modificaciones en el código fuente de un programa, no con la intención de cambiar su funcionalidad sino de “limpiar las líneas de código”, de tal manera que mejore su consistencia interna y su claridad para ser entendida por cualquier programador.


Proposito de TDD


El propósito del desarrollo guiado por pruebas es lograr un código limpio que funcione. La idea es que los requisitos sean traducidos a pruebas, de este modo, cuando las pruebas pasen se garantizará que el software cumple con los requisitos que se han establecido.

lunes, 16 de diciembre de 2013

NINJA-IDE v2.3


NINJA-IDE es una plataforma fantástica para el desarrollo de aplicaciones en Python, se encuentra optimizada e ideada para ayudarte a crear de forma más ágil tus aplicaciones.

Posee un conjunto de herramientas avanzadas que le permite al desarrollador tener una excelente experiencia final usando NINJA-IDE, pensado solo para Python y creado en Python desde el año 2010 y bajo la licencia GNU/GPL.

Tiene la particularidad de ejecutarse en los sistemas operativos más utilizados como Linux/X11, Mac OS X y Windows.

Características


Administración de Proyecto

Dentro de NINJA-IDE podemos crear y administrar nuestros propios proyectos, guardar su información y todos y cada unos de los archivos que lo conforman.

Editor Avanzado de código

Proporciona un editor de código con varios idiomas a configurar, con un asistente para completar código, que en las últimas versiones fue mejorando muchísimo y por supuesto la posibilidad de extender el editor gracias a los diferentes plugins.

Localizador de Código

Esta características permite un acceso rápido y directo a cualquier archivo, función o clase dentro de nuestro proyecto con tan solo pulsar unas cuantas teclas. Al presionar [Ctrl+K] aparece una ventana emergente para realizar nuestra búsqueda.

Busca los errores en PEP8

NINJA-IDE ayuda al desarrollador a crear script optimizados a PEP8, que es una guía de estilo del código de Python o una serie de recomendaciones para que tu código fuente sea mucho más legible y estandard.

Extensible

NINJA-IDE le permite al desarrollador no solo buscar sus configuraciones adecuada sino también colaborar con la creación y distribución de plugins para extender el IDE. De esta forma encontramos extensiones para ampliar su funcionalidad a Git o Django.

viernes, 13 de diciembre de 2013

La consola interactiva de PHP


Python fue el primer lenguaje de programación en tener una consola interactiva para probar directamente algunos comandos, luego irb de la mano de Ruby acompaño y extendió esta funcionalidad, finalmente PHP logra tener su consola interactiva de comandos a partir de su versión PHP 5.1.0

Ejemplo


Para poder utilizar la consola de PHP y ejecutar sus comandos, podemos ingresar:

$ php -a
Interactive shell

php > echo 11+9;
20
php > echo "Hola, mundo!\n";
Hola, mundo!
php >

Otra particularidad de la consola de PHP que posee un autocompletado de sus ordenes pulsando la tecla [TAB]

php > zend_[TAB][TAB]
zend_logo_guid  zend_version    
php > zend_

Con lo cuál podemos encontrar algunas funciones de PHP de forma más simple, rápida e intuitiva.

Para salir de la función de consola pulsamos [Crtl+D] y vamos a poder ver en nuestro directorio $HOME que creó un archivo oculto llamado .php_history donde va a ir almacenando todos los comandos y funciones que fuimos interactuando con PHP.

martes, 10 de diciembre de 2013

Vim for Dev: buscar y reemplazar cadenas


Yo siempre dije que utilizar Vim hace bien a la memoria, ya que absolutamente todo su potencial está basado en la ejecución y combinación de comandos que podemos ejecutar en él.

Hoy les voy a mostrar como buscar alguna cadena o coincidencia dentro del archivo que estamos editando y finalmente como podemos reemplazar algún parámetro en todo el texto.

Buscar una cadena


Cuando estemos editando cualquier documentos, ya sea el código fuente de un script o simplemente un archivo en texto plano, lo primero que vamos a hacer es en el modo normal (si estamos en cualquier otro modo pulsamos la tecla ESC), /texto

De no encontrar alguna coincidencia Vim nos avisa, caso contrario se dirige a su primera coincidencia y pulsando n podemos continuar con la próxima, para buscar hacia atrás pulsamos N

Reemplazar cadenas


Podemos utilizar varias formas de reemplazar cadenas, yo particularmente ejecuto el siguiente comando

:1,$ s/text1/texto2/g

Donde 1,$ le indicamos que realice esta sustitución en todo el documento, desde la línea 1 hasta el final. texto1 corresponde al contenido de la cadena que deseamos buscar, texto2 el contenido de cadena que la va a reemplazar y /g de global para sustituír todas las coincidencias.

Así como es un comando simple, muchas veces es muy peligroso ejecutar, buscar y reemplazar todas las cadenas, incluso aquellas que no deseabamos, por lo cuál aplicando una pequeña modificación

:1,$ s/text1/text2/cg

utilizando al final /cg le obligamos a Vim a que nos solicite una confirmación de los cambios antes de ejecutarlos, de esta manera podemos estudiar en detalle cada uno de los cambios.

Saludos!

lunes, 9 de diciembre de 2013

Como perder peso en el navegador


Esta es una guía creada por expertos en la web y que nos deja un conjunto de buenas prácticas y recomendaciones para optimizar al máximo nuestra web desde la perspectiva del Front-end.

Totalmente en español y marcando temas de optimización en HTML, CSS, JavaScript, jQuery, Imágenes, Servidores y algunos tópicos más.

En esta guía además de las recomendaciones, vas a poder leer el porque de todas las optimizaciones y una serie de herramientas para seguir y ejecutar aquello que vas a optimizar.

Saludos!

Enlace | Cómo perder peso en el navegador

miércoles, 4 de diciembre de 2013

Al fin ya puedes instalar Symfony 2.4.0


Tal y como estaba previsto y a seis meses del último lanzamiento de Symfony 2.3.0, ya se encuentra disponible para descargar y desarrollo Symfony 2.4.0

Symfony 2.4.0


A diferencia de las actualizaciones anteriores, es posible pasar de la versión 2.3 a 2.4 sin realizar prácticamente ninguna modificación, por lo cuál se logró una completa compatibilidad como uno de los objetivos cumplidos para esta etapa de Symfony.

Fabien Potencier, creador del proyecto, deja algunas estadísticas sobre el desarrollo llevado a cabo. En la versión 2.4 hubo 493 pull request en el repositorio oficial en GitHub y 1.474 commits ejecutados por 54 desarrolladores.

Por otro lado Fabien, desde el blog oficial de Symfony2 fue anunciando de forma paulatina todas las características con las que Symfony 2.4 contaría como es el caso de las mejoras en la consola, mejoras y personalización de algunas opciones en la seguridad, dumping de las configuraciones para las extensiones, mejoras en los mensajes de error, información de formularios en el entorno dev y varias cosas más.

martes, 3 de diciembre de 2013

Diccionarios en #Python


Hay un tipo particular de datos en Python que me gusta muchísimo y que son los diccionarios, es una forma muy cómoda y simple de organizar toda la información y en estos últimos días lo estuve utilizando bastante.

>>> a = {}
>>> type(a)
<type 'dict'>

Esta es una forma simple de inicializar un diccionario y consultar por su tipo de dato.

>>> a['nombre'] = "Daniel"
>>> a['apellido'] = "Maldonado"
>>> a['edad'] = 25
>>> a
{'edad': 25, 'nombre': 'Daniel', 'apellido': 'Maldonado'}

Observen la forma simple con la que podemos ir construyendo nuestro diccionario y modificando su información

>>> a['edad'] = 28
>>> a
{'edad': 28, 'nombre': 'Daniel', 'apellido': 'Maldonado'}

En base a este ejemplo, podríamos consultar la cantidad de elementos que tiene:

>>> len(a)
3

lunes, 2 de diciembre de 2013

Instalando Symfony 2.4.0 RC1

Desde hace un par de días se encuentra disponible para su descarga la Primera Release Candidate de Symfony 2.4.0 con un importante trabajo que está reflejado en varios post escritos por Fabien Potencier.

La idea de hoy es descargar esta nueva versión y comenzar a jugar con ella, luego a medida que salgan las nuevas RC vamos a ir actualizando nuestro trabajo, así hasta llegar a la versión final.

Lo primero que vamos a hacer es ir hasta el sitio oficial de Symfony2 y descargarnos Symfony Standard 2.4.0-RC1 without vendors (.tgz)

Descarga Symfony 2.4.0 RC1

Descomprimimos nuestro pequeño paquete y lo llevamos a un directorio donde podamos ejecutar nuestro entorno de Apache2 por ejemplo /var/www o en nuestro home en el directorio /public_html

Symfony2 desde hace tiempo utiliza para resolver todas sus dependencias en los paquetes Composer, para instalarlo vamos a ejecutar el siguiente comando.

$ curl -s http://getcomposer.org/installer | php

Una vez finaliza la ejecución de este comando, Composer crea un archivo llamado compose.phar, junto a él, vamos a poder realizar las operaciones con las librerías que acompañan a Symfony2 como por ejemplo instalarlas y posteriormente actualizarlas.

Ahora bien ejecutamos el siguiente comando:

$ ./composer.phar install

Instalar por composer Symfony 2.4.0-RC1

Para finalizar y tener nuestro Symfony2 listo para utilizarlo y comenzar a trabajar debemos darle un permiso 777 a los siguientes directorios

$ chmod 777 app/cache/ -R
$ chmod 777 app/logs/ -R

jueves, 28 de noviembre de 2013

Vim for Dev: NERDTree


Hoy me gustaría mostrarles unos de los plugins más utilizado en Vim que nos va a permitir navegar por el árbol de directorios de forma más simple y rápida, llamado NerdTree.

NERDTree


Es sin duda un plugins esencial para Vim, ya que nos permite navegar entre los directorios y archivos del sistema por medio de nuestro teclado para no estar saliendo de la consola y buscar aquellos archivos que necesitamos editar, por otro lado nos permite administrar nuestros bookmark en directorios y archivos.

Quizás utilizas Vim para programar proyectos en Django o Symfony2 donde la cantidad de directorios es abrumadora, NERDTree en este aspecto es mucho más intuitivo que ir recordando uno a uno el PATH absoluto de los directorios más importantes dentro del Framework.

Instalación


El código fuente de NERDTree se encuentra alojado en GitHub, para lo cuál lo único que vamos a hacer es realizar un clon del repositorio en local y copiar su contenido al directorio oculto .vim/ de nuestro directorio home:

$ git clone https://github.com/scrooloose/nerdtree.git
$ cd nerdtree/
$ cp -R * ~/.vim/

Con esto es suficiente para instalar NerdTree, solo queda iniciar Vim de forma normal, ya sea editando un archivo y ejecutar el comando :NERDTree

Invito a todos a probar NERDTree en su labor diaria y dejarme sus comentarios.

Saludos!

Enlace | NERDTree

domingo, 24 de noviembre de 2013

POO y MVC en PHP

PHP, excelente lenguaje de programación para comenzar en el mundo de la Web, yo recuerdo claramente mis primeros script hace 8 años atrás, y es que PHP nos dejaba eso, jugar de forma simple y rápida.

Hoy les quiero dejar el enlace de un excelente libro escrito por una amiga de la casa, Eugenia Bahit llamado "POO y MVC en PHP"

El Paradigma de la Programación Orientada a Objetos en PHP con el patrón arquitectónico MVC.

A lo largo del libro, aprenderás a construir una aplicación orientada a objetos en PHP, utilizando el patrón arquitectónico MVC, desde cero, sin necesidad de utilizar ningún framework, incluso aunque tus conocimientos de programación sean básicos. Aprenderás a hacerlo tú mismo, logrando una abstracción completa y absoluta, tanto del modelo, la vista y el controlador, como de la independencia de lenguajes de programación y diseño.

jueves, 21 de noviembre de 2013

Introducción a Jinja2


Hoy les quería comentar sobre Jinja2, una librería que en los últimos días estaba utilizando para renderizar mis script en Python a una salida HTML de una forma muy simple y rápida de aprender, osea "Python style".

En palabras simple, Jinja2 es un motor de plantillas con todas las funciones de Python. Tiene soporte completo de Unicode, un entorno de ejecución, seguridad incorporada, utilizada por grandes proyectos y se encuentra bajo los términos de la licencia BSD.

Es simple entender en un fragmento de código como este, la forma en que podemos utilizar Jinja2

{% extends "layout.html" %}
{% block body %}
  <ul>
  {% for user in users %}
    <li>
        <a href="{{ user.url }}">{{ user.username }}</a>
    </li>
  {% endfor %}
  </ul>
{% endblock %}

Lo primero que encontramos en su documentación es que Jinaj2 está inspirado en el sistema de plantillas de Django y si pueden observar un poco más en detalle, van a notar que Jinja2 es muy similar a Twig que es el motor de plantillas en Symfony2.

Como característica adicional, posee un sistema automático para escapar en los posibles ataques XSS (Cross-Site Scripting), herencia y extensión de plantillas, alto rendimiento en tiempo de ejecución.

martes, 19 de noviembre de 2013

Por qué les recomiendo aprender #Python


Una vez un gran amigo me dijo "escribir un script en Python es tan estético y bello como leer un poema". Y valla que tenía razón.

Python es un lenguaje multiplataforma y multipropósito, la primera es que se ejecuta en cualquier plataforma y cuando digo cualquier es sorprendente ver lo portable que es y la segunda es que podemos enfocar su propósito a escribir script para administrar servidores, para realizar una aplicación de escritorio o simplemente hacer un proyecto web gracias a Django. Todo eso en un solo lenguaje.

El éxito de Python sin duda es su capacidad de implementar cosas de forma rápida, aprender el lenguaje es muy divertido, tiene un poder en la identación que lo hace único y encontramos un importante numero de librerías para hacer sencillamente lo que se nos ocurra.

A los que les gusta utilizar GNU/Linux, muchas de sus herramientas se encuentran programadas en Python, por ese motivo, se encuentra instalada en todas las distribuciones. En lo personal, desde que aprendí a utilizar Python no encontré algo similar tan potente, simple, escalable y rápido de implementar y aprender.

Me gusta mucho por que se implementa Programación Orientada a Objetos, instalarlo es sumamente simple, en mi labor diaria lo utilizo para crear junto con Bash, AWK y Sed algunos script de administración de servidores y seguridad, en algún momento programé aplicaciones de escritorios con librerías gráficas como QT, GTK y WxWindows.

Por eso, si estas por aprender algún lenguaje y no te decides por cuál, tienes algunos conocimientos básicos pero muy básicos de programación y realmente estas con ganas de divertirte? Comenzá con Python ahora!

Saludos!

jueves, 14 de noviembre de 2013

Algunas características de Django 1.6


Este último 6 de Noviembre se anunció el lanzamiento oficial de la nueva versión del framework web de Python, Django 1.6

Los objetivos de esta versión se destaca el incremento de la seguridad en los proyectos incorporados por defecto, la simplificación en algunas tareas, la revisión del manejo de las transacciones y el soporte para la persistencia de las conexiones con la base de datos.

Camilo Nova realizó una presentación indicando algunas de estas características en una charla llamada "Que hay de nuevo en Django 1.6"

Saludos!

Enlace | Django 1.6
Descarga | Django 1.6

martes, 12 de noviembre de 2013

Como configurar un proyecto de Symfony2 y Git

En esta pequeña guía vamos a explicar como configurar de una forma simple, un proyecto de Symfony2 junto a al sistema de control de versiones Git.

Teniendo como escenario un servidor de desarrollo LAMP (Linux, Apache, MySQL, PHP), lo primero que vamos a hacer es descargar del sitio oficial de Symfony2 la última versión estable sin los vendors o librerías.


Ahora tenemos que descomprimir el paquete recién descargado y mover todos los archivos a nuestro directorio raíz de nuestro VirtualHost para mi ejemplo se encuentra en /var/www/proyecto, la misma nos va a quedar de la siguiente manera:


Con un editor de texto, vamos a crear un archivo llamado .gitignore, éste es un archivo oculto que Git es capás de interpretar y aprender ciertas directivas, como por ejemplo “ignorar en el control de versiones todo aquello que se encuentre en este archivo”. Su contenido es el siguiente:

/web/bundles/
/app/bootstrap*
/app/cache/*
/app/logs/*
/vendor/
/app/config/parameters.yml

Ahora si, iniciamos nuestro proyecto en Git con el siguiente comando:

$ git init
Initialized empty Git repository in /var/www/proyecto/.git/


lunes, 11 de noviembre de 2013

Tarjeta de referencia básica de Vim

Toda aquella persona que utilizó Vim en alguna oportunidad, sabe lo importante que es tener este tipo de tarjeta al alcance de la mano.


Enlace | Creada por Eugenia Bahit

viernes, 8 de noviembre de 2013

La guía sencilla de Git

Siempre escuche decir que lo bueno y breve es doblemente bueno, y de eso se trata el enlace que les quería recomendar ahora.

Una guía sencilla para comenzar con Git, sin complicaciones ;)


Saludos!

Enlace | Git - la guía sencilla

jueves, 7 de noviembre de 2013

Presentaciones en deSymfony 2013


El 21 y 22 de Junio de este año, se realizó en Madrid (España) una nueva edición de deSymfony 2013, un evento cuyo objetivo es promover y difundir temas relacionado con el Framework de programación de PHP5 Symfony2.

Una vez más, como en el año pasado, contaron con la presencia de Fabien Potencier, creador y Project Leader de Symfony2 junto a otros conferencistas de primer nivel.

Ya se encuentran publicadas todas las presentaciones para aprender un poco más sobre este maravilloso framework de programación.

Vídeos deSymfony 2013


Viernes 21 de junio




Sábado 22 de junio




Saludos!

martes, 5 de noviembre de 2013

Google Charts

Hoy les quería comentar sobre una herramienta que desde hace tiempo está entre nosotros y que sin duda es la forma más simple, rápida y prolija de presentar datos, estadísticas por medio de recursos gráficos.

Hace un tiempo estaba parseando varios datos y sentía la necesidad de expresarlos en Gráficos de Sectores, Líneas de Tiempo o simplemente en Gráficos de Barras, como esta programación estaba basada en HTML5 y CSS3 como sus componentes principales de las Templates, era lógico que los gráficos que estaba por crear lo haría con alguna librería JavaScript.

Librerías para hacer estos gráficos, realmente hay muchísimo, la verdad que tengo que reconocer que todas son muy flexibles y escalables, que no requieren de mucho conocimiento para poner en funcionamiento y comenzar a crear los primeros gráficos y por es justa razón comencé mis primeros pasos con algunos plugins en jQuery y las cosas salían bastante bien.


Pero en solo un instante encontré Google Charts y desde ese momento todo lo que ya era simple se convirtió en algo mucho más simple. Y es que este proyecto impulsado por el Google I/O 2011 era lo que todo programador sin duda estaba buscando para la web.


Sus gráficos disponibles son Gráficos de Sectores, Graficos de Dispersión, Tablas, Gráficos Geográficos, Treemap, Gráfico de Líneas, Gráfico de Barras, Gráfico de áreas, Timeline, Gráficos de burbujas y algunos gráficos más.

Si tomamos como ejemplo el Gráfico de Sectores, podríamos obtener algo similar a esto:


Simplemente escribiendo estas 29 líneas de código.


Además podemos complementarla con algunas opciones, como el uso de un pequeño 3D, rotación del gráfico, la explosión de sus segmentos, el color de sus áreas y algunas cosas más. Y eso que todas estas cosas es solo para el gráfico de Sectores.

Es por ello que cada uno de los gráficos a utilizar tiene sus propias opciones para customizar su apariencia de forma muy simple y bastante bien documentada.

Por eso es que si hoy, nuevamente necesito representar información en diferentes gráficos para tener una perspectiva mucho más amplias de las cosas que estoy trabajando, Google Charts sin duda va a estar en la primera opción de todas las alternativas ya existentes.

Saludos!

Enlace | Google Charts

lunes, 4 de noviembre de 2013

La premisa es compartir


Por qué regresé con este proyecto? La realidad es que nunca me fui de la web, luego de sufrir algunos problemas con un proveedor de hosting, suspensión de cuentas hace un par de años, decidí no quedarme sin nada y comenzar un nuevo proyecto llamado Cacería de Spammers, un blog sobre seguridad y hacking que por supuesto voy a seguir trabajando duro en ello sumado a la continuación de este proyecto.

Luego de un par de años de inactividad en El CoDiGo K sin dudas un proyecto que llegó a tener muchos seguidores y que a lo largo de los años me ha dado tantas satisfacciones, amigos y reconocimiento, les cuento que voy a volver a escribir sobre programación y software libre, dos de mis pasiones en las que siempre estoy investigando.

En Julio del 2007 daba inicio a El CoDiGo K desde la plataforma de Blogger y hoy decidí darle una continuidad en esta misma plataforma, simplemente por una cuestión de comodidad a la hora de administrar los otros blogs, por lo cuál voy a estar utilizando el subdominio de blogger por un tiempo más.

A los que se preguntan ¿Qué es lo que van a leer en el blog?, la idea es aprender y difundir algunos proyectos libres, comentar muchas cosas sobre programación, publicar y comentar algunas cuestiones que tiene que ver con el tema pero desde una perspectiva más profesional gracias a la experiencia adquirida en los últimos años.

Voy a estar preparando algunos temas interesantes para iniciar una vez más este blog y darle continuidad a las publicaciones, solo te pido que me ayudes a difundir los contenidos, un simple +1, Like o tweet es suficiente para juntar nuevamente a toda la comunidad de entusiastas.

Un saludo grande y bienvenidos una vez más a El CoDiGo K!

sábado, 2 de noviembre de 2013

Volvemos?

Entre las idas y vueltas de la vida, terminar la carrera de grado, dedicarse al trabajo y a la familia, me estoy preguntando nuevamente si vuelvo a escribir sobre temas relacionados a la programación.

Para comprender más de seguridad informática les recomiendo darse una vuelta por Caceria de Spammers mi actual proyecto con una gran comunidad.

Si hay alguien por estos lugares, hágamelo saber, así vamos juntando a la comunidad!

Saludos!

Entradas populares