10 de agosto de 2014

return "blog"

Buenas muchach@s. Hace un largo tiempo que no escribía de nuevo en el blog y la verdad que lo he dejado un 'poco' apartado debido a causas como el trabajo, proyecto de fin de primer año, aprender programación, y sobre todo porque es verano. Y claro estar todo el rato o bien en la calle, o bien haciendo cursos en CodeAcademy como que no te anima a redactar mucho. (De hecho estoy redactando este post a escasos minutos de irme a la playa).

Sin embargo vengo trayendo unas pocas novedades:

 

Aprendiendo a programar

Si bien antes no era uno de mis puntos fuertes, ni si quiera tenía nociones de ello, tanto de programación Web como puede ser CSS, HTML, PHP, JavaScript y jQuery (entre ellos hay varios que no se definen como lenguaje de programación ojo) hasta aprendiendo Python. Y mediante el e-learning con muchas ganas le sacas mucho provecho sobre todo cuando haces ejercicios con explicaciones en vivo y en directo con CodeAcademy, también con los libros que puedes encontrar por Internet como el de Eugenia Bahit titulado Curso: Python para principiantes liberado bajo Creative Commons
CC-NC-ND y totalmente descargable desde multitud de sitios de Internet. Explica bastante bien la sintaxis, el control de flujo, los objetos y mucho más. Entre otras fuentes, también tenemos la documentación de jQuery, JavaScript, PHP de los sitios oficiales. 

Me he quedado tan maravillado, que ahora la programación es como casi el total de mi fuente de entretenimiento. Día que no practico algo, día que me voy con regañadientes a dormir. Y estoy ahí ahí a ver si puedo ver multitud de cosas y ponerlas en práctica antes de empezar con los famosos frameworks, que son como librerías, bibliotecas, conjuntos de multitud de código que hacen la vida del desarrollo mucho más sencilla (en teoría, jojojo) y además disponibles para multitud de lenguajes como jQuery de JavaScript, AngularJS (JavaScript), Django (Python4Web), Laravel de PHP, Bootstrap de CSS...

 

Creando un CMS, PostIO

Como estoy en un grado superior de informática llamado ASIR (Administración de Sistemas Informáticos en Red), que a pesar de tener ese nombre que llama más a un perfil de sysadmin, también se da programación Web, shell scripting con bash, SQL para base de datos... en una de las asignaturas llamada 'Gestión de base de datos', como tarea final se nos mandó ha hacer un proyecto utilizando un Sistema Gestor de Base de Datos da igual el que fuese mientras se almacenasen información aguardando su integridad referencial, sus claves foráneas, primarias.... y todo ese 'tinglado' que realmente lo controlas en un 80% con la programación más que con las relaciones entre entidades... bueno, sin ir más lejos. 

Bueno comencé poniéndome un objetivo bastante fuerte y parecía incluso utópico. Ni más ni menos quería hacer un CMS que pudiera generar blogs. Si, como Wordpress con su instalador y todo, ¡solo teniendo un vago recuerdo de estos lenguajes! Pues la cuestión, empecé a indagar un poco en PHP, CSS, HTML, SQL para poder hacerlo. Y después de horas y horas, días y días, meses y meses generando código y subiéndolo a mi repo en GitHub... ¡lo logré!

Un CMS completamente desde 0, sin frameworks, y con lo más simple del mundo. Era tan simple que apenas tenía funciones, y algo que no me gustó que a mediados de proyecto me encontré con que las funciones mysql_* ya no estaban soportadas justo en la mitad del proyecto. Así que si lo deciden probar, es para estudio o desarrollo, pero no para entornos de producción. Además de que fue un graso error no implementar ni funciones, ni objetos, ni clases, el código es tan simple que creo que es hasta redundante. Cosa que corregiré de camino a la segunda versión.

Y por último, el ¡nombre y la fuente! Como es un generador de blogs, en ellos hay mucha salida y entrada de información, por ello le puse el nombre de PostIO. Artículo (Post) proveniente del Inglés e IO del famoso I/O, Input/Output que viene siendo la Entrada/Salida de algo, en este caso de información. El proyecto está licenciado bajo GPLv2 además de incluir las respectivas licencias detalladas en el README.

Puedes obtenerlo a través del siguiente enlace, o bien clonando el repositorio desde git.
git clone https://github.com/netSys/PostIO
Recuerden que ahora mismo no está destinado para entornos de producción.

Probando Docker

Hace unos meses que tuve unas conversaciones largas y extendidas con un administrador de sistemas de nativo de Irlanda que vino de paso por la isla, y curiosamente me conoció por un artículo de mi blog sobre un router de Movistar. Estuvimos dialogando como niños sobre diversos temas relacionados con Fedora y sus nuevas características de la versión 20 y de cara a la próxima release, temas de networking, virtualización y tecnologías destinadas a cloud como Amazon EC2 (cuando me lo enseñó mi cerebro se hizo un DDoS así mismo), y uno de los programas era Docker IO.

Docker es una pequeña y gran plataforma de generar 'clouds' de la nada nativamente. Soy un poco inexperto en el tema, pero por lo que entiendo y he experimentado. Descargas imágenes de pequeños sistemas como CentOS, Fedora, Ubuntu, Debian, Gentoo... que se encuentran almacenadas en una especie de 'CDN', un servidor o conjunto de servidores que almacenan las imágenes 'cloud' y que las descargamos con tan solo 2-3 comandos.

Quedé maravillado con su funcionamiento, hacías un servidor de la nada, si quiera tocabas el /etc/hosts para añadir el nuevo servidor. (Como si fuera un 'Virtual host' de Apache). Su instalación y uso son bastante fáciles así como generar tu propia cloud's image con tan sólo unos sencillos pasos. Puedes obtener más información sobre este fantástico proyecto desde el siguiente enlace.

Más adelante escribiré un artículo más detallado, porque ya queda menos para que me vengan a recoger para ir a la playa. JoJoJo. Desde aquí le mando un agradecimiento a Justin, por haber contactado conmigo y haberme enseñado todas las tecnologías que rodean el entorno cloud.

Plataformas e-learning

Como mencioné anteriormente, el e-learning me encanta, y sobre todo si son plataformas como CodeAcademy que aprendes mientras practicas directamente. Además de esta plataforma fantástica, encontré CodeSchool con cursos gratuitos de multitud de lenguajes, y otros de pago. No obstante, 20€/mes por invertir en tu futuro accediendo a casi todos ellos no está nada mal. Por otro lado encontré una especie de Humble Bundle (conjunto de ofertas que con un el dinero que tu quieras pagar sobre ellas se destinan en % a proyectos generalmente humanitarios como Unicef, Manos Unidas...) llamado Stack Social. Ahí encontré un pack de cursos buenísimos enlazados a otra plataforma Web llamada Udemy. En la que puedes aprender de ¡todo! pagando o bien si los tienes disponibles gratuitamente. En ellos puedes encontrar multitud de videotutoriales y descargártelos desde tu propio smartphone o tableta con su aplicación disponible para iOS y Google Play Store.

Sacándome el carné

Aparte de estar eufórico con todo esto de la informática, también ando con el dichoso carné. Que son multitud de gastos entre teórico, prácticas...etc acabas literalmente con tu sueldo del trabajo fundido por todos esos costes. A pesar de haber sacado el teórico por libre y ahorrarme la matrícula de la autoescuela, entre las tasas que te cobran por ellas 90€, más el paripé del certificado médico que sigo diciendo que son tres pruebas tontas que las pasa un chimpancé siendo el coste de unos 50€ y encima 22€/práctica. Acabas literalmente fundido y luego pagar 25€/examen y en caso de no aprobar, volver a pagar 90€ por solo las tasas.

Sin embargo, grata será la satisfacción ver que todo ese dinero valió realmente la pena porque tener carnet en Lanzarote es cuadruplicar las posibilidades de obtener un puesto de trabajo y aparte que tienes más libertades a la hora de irte a cualquier sitio de la isla, o más allá de la misma, península, y el resto de los países adheridos a la Unión Europea.

Y bueno muchísimas más cosas que faltan por comentar, pero creo que... ¡me voy a la playa! Juaaa. Un saludo y un abrazo a todos. 

No hay comentarios:

Publicar un comentario

Gracias por visitar mi blog y animarte a comentar. Por favor se respetuoso con sus comentarios. Cualquier error es preferible reportárlo que criticarlo por el bien de todos.



Licencia y responsabilidades

Licencia Creative Commons
netSys blog por Álvaro Castillo se encuentra bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.

El propietario de este blog no se responsabiliza de los daños que puedan generarse u ocurrir por la información expuesta aquí, en caso de ser utilizada la responsabilidad recae bajo quién la use.

Se les informa de posibles publicaciones donde queden expuestas imágenes a terceros o marcas comerciales que siempre tendrán sus fuentes, y sus atribuciones.

Por último, en caso de confusión por la temática que se trate de los artículos, tutoriales...etc dejaremos claro que este sitio Web no colabora directamente con ningún proyecto de forma oficial.