Centri Pio Magazine 02

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 44

TITULO CENTRAL

TEMAS DE LA REVISTA
El mundo de los asistentes inteligentes crece da a da; Siri, Cortana, Alexa, Google Assistant y Face-
book M son algunos de los asistentes mas utilizados actualmente. Afortunadamente, esto a dado
paso a que surgan nuevas APIs y SDKs para que los desarrolladores puedan crear su propio asistente
100% personalizado y puedan implementar sus ideas e hacer integraciones a sus aplicaciones.

En este post nos vamos a enfocar en uno de los ser- comprado por Google, el inicio de sesin se migro hacia
vicios mas utilizadas para la creacin de asistentes el uso exclusivo de cuentas de Google para iniciar sesin.
inteligentes: Api.ia. Con Api.ia podemos desarrollar
de una forma bastante simple nuestro propio asis- El siguiente paso es seleccionar nuestra cuenta de goo-
tente con tan solo una sencilla configuracion inicial gle (2), leer y aceptar las politicas/terminos de servicio:

Que es Api.ai?

Api.ai es un servicio que permite a los desarrolladores


crear conversaciones de voz a texto, realizar procesa-
miento de lenguaje natural y crear sistemas artificial-
mente inteligentes que pueden ser entrenados y person-
alizados. Tiene una gran gama de bases de conocimiento
existentes llamados Domains. Los Domains proporcio-
nan una base entera del conocimiento, traducciones,
tiempos y mas. En este articulo nos vamos a enfocar en
entender este concepto de una forma mas profunda.

Iniciando con Api.ai

Lo primero que tenemos que hacer es ir al sitio web de Api.


ai y hacer clic en el botn que dice Sign Up Free que se
encuentra en la pantalla inicial para crear nuestra cuenta.

Al dar clic en este botn, este nos lleva a otra pgina para
que podamos iniciar sesin utilizando nuestra cuenta
de Google(1). Anteriormente se podia crear una cuen-
ta utilizando tu email, pero a medida de que Api.ia fue

2 Centripio Magazine #02


Google Project
En esta opcion puedes seleccionar un proyecto de Goo-
gle Platform si ya tienes uno creado, de lo contrario
Api.ia creara automaticamente un proyecto de Google
Cloud Platform que sera utilizado posteriormente.

Una vez llenados estos campos, da clic en el boton de


Save que se encuentra en la parte superior derecha
de la interfaz.

Una vez registrado, el sitio de Api.ia te manda directa- La consola de prueba


mente a su interfaz en donde podras crear tu asistente
Una vez que tengas tu agente creado, puedes empezar
virtual. Cada asistente que creas y entrenas se llama
a probarlo en la consola que se encuentra del lado dere-
agent. Por lo tanto, el siguiente paso es crear nuestro
cho. La consola te permite realizar consultas(queries) y
primer agente haciendo clic en el botn Create new
enviarlas a tu agente, el agente te regresara el resulta-
agent que se encuentra en la parte superior izquierda
do de acuerdo a la informacion tenga disponible(1). In-
En la siguiente pantalla, tenemos que poner los datos gresa la pregunta: How are you? o cualquier otra para
de nuestro agente: que pruebes esta funcionalidad(3):

Agent name
Agrega el nombre de tu agente, de esta forma puedes
diferenciar cada uno de los agentes que tengas crea-
dos en Api.ia. Es recomendable que nombres a tu agen-
te de acuerdo a las tareas que realizara, por ejemplo
English Teacher o con un nombre propio, por ejemplo:
Jorge.
Cuando realizas una consulta Api.ia te mostrara todos
los detalles de los resultados. En la parte de abajo, se
Description
muestra un botn que dice Show JSON. Haz clic en l
En este campo debe de agregarse la especificacion de
para ver cmo la API regresa los resultados:
lo que realiza tu agente. Este campo es opcional y no
es necesaria si el nombre de tu agente explica por s
mismo su funcion.

Add sample data


Api.ia provee una serie de ejemplos de datos que
puedes agregar

Language
El idioma en el que funciona el agente. Una vez que hayas
elegido el idioma no puedes cambiarlo. Para este tutori-
al utilizaremos ingls. Si quieres saber en cuales idiomas Si revisas la respuesta de tu agente podrs observar que
esta disponible Api.ia puedes revisarlo en la tabla de len- hasta ahora no sabe cmo responder, an necesita que
guajes que se encuentra en la documentacion de Api.ia. le agregues la lgica con la funcionalidad que necesites.
El valor de input.unknown nos indica que aun no sabe
Timezone cmo proceder y por default ahora esta mostrando el
La mayoria de las ocasiones esta opcin se agrega au- mensaje que dice Sorry, can you say that again?. La lgi-
tomticamente, pero si no, es importante que agregues ca de las respuestas de un Agent se agregan en la sec-
la zona horaria que estaras utilizando en tu agente. cin de Intents que se encuentra en el menu izquierdo.

http://centripio.io 3
Small Talk Si tu agente no esta respondiendo correctamente,
comprueba que si hiciste clic en el botn de Save
Api.ia provee una funcionalidad que nos permite agregarle ya que los cambios no se guardan automtica-
un pequeo toque de inteligencia a nuestro asistente: Small mente.
Talk. Con Small Talk podemos proporcionar una gama de re-
spuestas para preguntas frecuentes, por ejemplo, para la pre- Lo que har diferente a tu agente de otros es
gunta que hicimos anteriormente: How are you?. Por default que tenga una personalidad nica, en otras pa-
esta opcin no se encuentra activada, para agregarle esta fun- labras, entre mas adaptado y personalizado tu
cionalidad a tu agente solo necesitas hacer click en la opcin agente podr responder mejor a sus usuarios.
de Small Talk que se encuentra en el menu izquierdo y selec- Con Api.ia puedes elegir el tono y la estructura de
cionar la opcion que dice: Enable las respuestas, por ejemplo, si es un chatbot que
ama los gatos tendr que responder cosas rela-
cionadas con los gatos o si es un chatbot de una
aerolnea que ayuda a los usuarios este deber
responder cosas relacionadas a la ayuda que se
espera que proporcione.

Ahora que tu asistente ya es capaz de respond-


er conversaciones pequeas podemos empezar
a integrarlo con su propia interfaz web. Para ello,
necesitamos las API keys para poder tener acce-
so al agente.
Despus de habilitar esta funcionalidad podras observar
que se despliegan una seria de categoras con frases co-
Api.ai API keys
munes en Small Talk. Encuentra la seccion que dice Hel-
lo/Goodbye y dale clic para expandirla. Agrega diferentes Las API keys se encuentran en la pgina de con-
respuestas y despues haz clic en el botn Save que se figuraciones de tu agente, para encontrarlas solo
encuentra en la parte superior para guardar tus respues- tienes que hacer clic en el cono que se encuentra
tas. Cada vez que aades frases, la cifra del porcentaje a un lado del nombre de tu agente. Por ahora el
que se encuentra a lado de cada categora ir aumentan- valor que necesitamos es el de Client access to-
do para mostrar que tanto has personalizado tu chatbot: ken, este es un token nico que te permite hacer
consultas al servicio de Api.ia.

Si vas ahora a la consola de prueba y le preguntas a tu asis-


tente How are you? nuevamente, este te responder con las
diferentes opciones que le agregaste. Lets code!

Lleg el momento del cdigo! Para empezar


puedes descargar el codigo que se encuentra
en este repositorio de Github: https://github.
com/IsabelPalomar/demos-api-ia/tree/mas-
ter/01-mi-primer-asistente. Sientanse libre de
utilizarlo como base y desarrollar nuevas op-
ciones para su asistente personal, ms adelante
explicaremos el cdigo paso a paso.

4 Centripio Magazine #02


Por: Andrs Bedoya

Que hay que tener en cuenta para de-


sarrollar en la Nube?
Sabas que desarrollar aplicaciones on-premise es diferente de desarrollar aplicaciones para la nube?
El hecho de que tengas una aplicacin instalada en la nube no quiere decir que tu
aplicacin est preparada para aprovechar todas las caractersticas de la misma.
En la nube surge un nuevo concepto, elasticidad, sabes a que se refiere?

Esta tendencia se da debido al continuo


crecimiento de datos, impredecibilidad
en los patrones de trfico y la necesidad
de tiempos de respuesta ms ptimos.
Este artculo est enfocado a los arqui-
tectos de nube que quieran migrar sus
aplicaciones locales o que necesiten
crear una aplicacin enfocada en nube.

CONTEXTO

Es importante comprender los benefi-


cios de la informtica en la nube y con-
ocer porque se necesita enfocar los de-
Anteriormente los arquitectos de software solo nos pre- sarrollos en nube con otras estrategias
ocupamos por los drivers de arquitectura de aplicacin diferentes a las aplicaciones on-premise.
como son disponibilidad, escalabilidad, desempeo, se-
guridad etc. Y de aqu solo nos preocupabamos por las Ventajas empresariales de la in-
3 dimensiones, capacidad, modularidad y redundancia. formtica en la nube

No hay inversin en infraestructura.


No es necesario preocuparse por
crearte un datacenter o comprar el
servidor super poderoso que se te
va a quedar obsoleto en unos aos.
Y adems de eso contratar soporte.

Reduccin en Costos Operativos Uno


de los grandes problemas de los de-
partamentos de sistemas es el presu-
Pero qu sucede hoy en da con las nuevas tendencias de la puesto para comprar infraestructura,
nube. Aqu es donde tenemos que ponernos a pensar en lo a veces se pueden quedar cortos o a
siguiente. Es lo mismo desarrollar aplicaciones on-premise veces pueden estar sobredimensiona-
que en la nube?. La verdad t podras asumir esto e incluso dos. En ambos casos TI tiene la culpa
puedes hacer que tu aplicacin on-premise funcione en la nube,
pero realmente ests aprovechando la capacidad de la nube?. Pagas segn el Uso: Una de las grandes ven-
Lamento decirte que no. Hoy en da es importante que tu apli- tajas de la nube es que solo pagas lo que
cacin en la nube, aproveche las caractersticas de la misma. consumes por lo cual tus costos son fciles
de manejar y dependern de tu demanda

http://centripio.io 5
Pero entonces, si la nube es tan diferente...como debo FACTOR 3 - CONFIGURACIN
disear y desarrollar aplicaciones que aprovechen las
capacidades de la nube? . De aqu es donde viene el Este factor se refiere a almacenar la configuracin que
trmino autenticacin de 12 factores. Recuerda que es susceptible de cambio y Estas variables deben ser
una aplicacin en la nube no es simplemente instalar- almacenadas en variables de ambiente y de esta for-
la en la nube y ya. Para que una aplicacin realmente ma poderlas cambiar sin necesidad de cambiar cdi-
est preparada para la nube debe cumplir estas car- go. A diferencia de los archivos de configuracin es-
actersticas. Pues bien esas caractersticas son los 12 tas no van al repositorio de cdigo y son agnsticas
factores que te hablo. Estos 12 factores los defini e independientes del SO y lenguaje de programacin.
Heroku que como bien saben son pioneros en PaaS que puede variar entre los distintos ambientes.

FACTOR 1 - BASE DE CDIGO CONTEXTO FACTOR 4 - SERVICIOS EXTERNOS

Es importante comprender los beneficios de la in- Se trata a los servicios externos como recursos conect-
formtica en la nube y conocer porque se necesi- ables. Una aplicacin consume servicios ya sean exter-
ta enfocar los desarrollos en nube con otras es- nos o internos. Ejemplo sistemas de mensajera, correo,
trategias diferentes a las aplicaciones on-premise. ftp, etc. Estos servicios no deben ser diferenciados en-
Ventajas empresariales de la informtica en la nube tre locales y remotos sino simplemente como recursos
No hay inversin en infraestructura. No es conectados que en cualquier momento puedo cambiar
necesario preocuparse por crearte un data-
center o comprar el servidor super podero- FACTOR 5 - CONSTRUIR LIBERAR EJECUTAR
so que se te va a quedar obsoleto en unos aos.
Se refiere a separar las fases de construccin y
Y adems de eso contratar soporte. ejecucin de tal forma que los cambios se reali-
Reduccin en Costos Operativos Uno de los grandes cen en la fase adecuada. Ejemplo no se pueden
problemas de los departamentos de sistemas es el hacer cambios al codigo en la fase de ejecucin
presupuesto para comprar infraestructura, a veces
se pueden quedar cortos o a veces pueden estar so- FACTOR 6 - PROCESOS
bredimensionados. En ambos casos TI tiene la culpa
La aplicacin se ejecuta en procesos sin estado.
Pagas segn el Uso: Una de las grandes ventajas de la nube La aplicacion nunca puede asumir que algo cachea-
es que solo pagas lo que consumes por lo cual tus cos- do en memoria o disco estara disponible para una
tos son fciles de manejar y dependern de tu demanda peticion futura, ya que no hay ninguna garantia de
Es importante tener un nico repositorio de cdi- que una peticion futura sea atendida por el mis-
go con algn flujo establecido ya sea estndar o per- mo proceso. Incluso cuando la aplicacion se ejecute
sonalizado. Ejemplo: si usas git puedes usar gitflow en un proceso unico en un solo nodo de compu-
to, este puede ser reiniciado en cualquier momento.
FACTOR 2 - DEPENDENCIAS
FACTOR 7 - ASIGNACIN DE PUERTOS
Se debe declarar y aislar las dependencias. No depend-
er de sistemas existentes, para esto se debe declarar Los servicios se pueden publicar mediante la asignacin
todas las dependencias en un manifiesto Ejemplo el de puertos. Esto simplemente es que las aplicaciones
pom de Maven. Tampoco hay que depender de herra- sean autocontenidas y que expongas los puertos a los
mientas de sistema. Ejemplo curl est instalado en la cuales quieran recibir sus peticiones.Por ejemplo, una
mayora de sistemas linux pero no siempre es as. Re- aplicacion puede exponer un servicio de Redis, HTTP o de
cuerda que debes tener presente. El aislamiento (tool) y XMPP, y a su vez esa aplicacion puede operar como ser-
declaracin(manifiesto) de dependencias para cumplir vicio externo (recurso conectable) para otra aplicacion.
con este factor.
FACTOR 8 - CONCURRENCIA

Escalar usando procesos. En una aplicacion twelve-fac-


tor los procesos son ciudadanos de primer nivel. Una

6 Centripio Magazine #02


aplicacion puede definir distintos tipos de proceso.
Para manejar distintos tipos de peticin.

FACTOR 9 - DESECHABILIDAD

Hacer el sistema mas robusto por medio de arranque


rapido y apagado suave.En este caso se refiere a que
cuando un proceso recibe una senal de finalizacion
por parte del administrador de procesos debe: 1) de-
jar de escuchar el puerto de servicio, 2) finalizar las
peticiones pendientes (o regresarlas a una cola de
trabajo) y 3) terminar su ejecucion. De esta forma fa-
cilitamos la escalabilidad y despliegue de cambios.

FACTOR 10 - PARIDAD ENTRE AMBIENTES

Mantener los ambientes lo mas similares posible.

Annciate con
Una aplicacin de 12 factores se enfoca mucho en
la entrega continua. Para esto hay qye garantizar
que por ejemplo los ambientes de desarrollo y pre-
produccin sean lo ms parecidos posible y que
las entregas a produccin se realicen mas seguido, nosotros
disminuyendo as el tiempo entre cada instalacin

FACTOR 11 - BITCORAS

Trata los logs como corrientes de eventos. Lo importante


informes al correo
aqu es que la app no se preocupa por gestionar y almacenar
estos logs. Esta tarea se le deja a un entorno de ejecucin [email protected]
FACTOR 12 - PROCESOS ADMINISTRATIVOS

las tareas administrativas de la aplicacion deberi-


an ejecutarse como parte de la aplicacin, ejem-
plo ejecutar scripts,limpiar datos, archiving, etc

CONCLUSION

Como nos podemos dar cuenta es diferente una


aplicacion instalada en la nube a una aplicacin que
aproveche la nube. Es por eso que muchas de las em-
presas que tienen sistemas fuertes en el mercado hoy
en da tienen que esforzarse mucho para cambiar a la
nube, dado que prcticamente en la mayora de los
casos tienen que rehacer la arquitectura y la aplicacion.

http://centripio.io 7
Yo creo que en la prxima dcada... la inteligencia ser parte del ambiente, ser posible por
una red siempre creciente de dispositivos conectados, la capacidad de cmputo increble
de la nube, las percepciones obtenidas con Bigdata y la inteligencia de Machine Learning.
Satya Nadella - CEO. Microsoft.

INTRODUCCION tambin conocido como la casa del maana, han evo-


lucionado antes de que nos demos cuenta en el hog-
He decidido iniciar mi artculo citando a Satya ar conectado para entrar al Internet de las cosas, sin
Nadella, ya que hace referencia a lo que en re- embargo, es muy importante tener claro que IOT y
alidad le da valor al IOT Internet Of Things. Domtica, aunque se parecen no son lo mismo, pues
la Domtica es un Conjunto de tcnicas orientadas a
El trmino Internet de las cosas no es nuevo. Hace automatizar una vivienda, que integran la tecnologa en
casi 30 aos, los Magister del MIT lo describen como los sistemas de seguridad, gestin energtica, biene-
un mundo donde las cosas (dispositivos o sensores) star o comunicaciones, el IOT, ya vimos su definicin.
son conectados y son capaces de compartir datos.
Los datos procedentes de estos dispositivos y sen- En dnde est el verdadero valor del Inter-
sores proporcionan una visin de negocio que antes net de las Cosas (IOT)?
estaban fuera de su alcance. Los inestimables conoci-
Internet de las cosas produce mucha informacin, o me-
mientos habilitados mediante el aprovechamiento y el
jor, muchos datos, su tratamiento, organizacin anlisis
anlisis de los datos de estos dispositivos conectados
y presentacin, quiz son los elementos que le aportan
son de lo que en realidad se trata Internet de las cosas
el mayor valor a IOT, hace unos pocos das conversaba
con un partner de una multinacional de tecnologa, l
Es un trmino del que escuchamos hablar constante-
me deca que su organizacin no le ve el valor a IOT,
mente en el mbito de tecnologa. Internet de las co-
porque los tableros de barras, graficas, tortas e inclu-
sas, Internet of Things o IoT por sus siglas en ingls,
so los muy impresionantes Dashboards con los datos
es un concepto un poco abstracto pero que ha estado
que produce su compaa son temas que pueden hallar
ganando bastante popularidad en los ltimos aos.
de otra manera sin tener que usar IoT, es cierto y tiene
razn, quiz llenarse de dispositivos, cosas elementos
La idea que intenta representar queda bastante bien
que consumen energa y los mgicos auto sostenibles
ilustrada por su nombre, cosas cotidianas que se
que sustentan su alimentacin elctrica de fuentes
conectan a Internet, pero en realidad se trata de mu-
como energa solar, pues est bien si sabe para que los
cho ms que eso. Ideas como el hogar inteligente,
va a usar y lo que desea hacer con esos datos extraidos.

8 Centripio Magazine #02


A gran escala, estas COSAS no son costosas, pero el ECOSISTEMA
valor no est en los sensores que toman que finalmente Las soluciones de IoT son apalancadas para enfren-
no son el origen de los datos, est realmente en lo que tar los ms importantes asuntos de la sociedad y el
podemos hacer con estos datos, en los anlisis que po- planeta. IoT ayudar a las naciones y sus economas
demos hacer con ellos y el sorprendente resultado que a responder los ms grandes desafos que enfrenta
obtenemos de ellos, la Analtica y la ciencia de datos es nuestro planeta, lo ecosistemas de ambientes contro-
el verdadero valor que podemos hallar en el IOT. lados y no controlados, incluyendo el calentamiento
global, la escasez de agua y la polucin. De hecho, la
utilizacin mejorada de los recursos como el beneficio
nmero uno para la sociedad como un todo. Cientos
de compaas del sector agro ya obtienen resultados
del IOT permitindose monitorear, cambiar y mejorar
las condiciones del medio ambiente de sus cultivos
tomando mejores decisiones a favor de la produc-
cin de su organizacin y la optimizacin en el uso
de los recursos naturales que rodean su producto

Valor de IoT - Origen : Nodocast

VEAMOS LOS ESCENARIOS DE IOT.

Ecosistema IoT - Origen: MyComputerPro

DEEP DATA
Charla IoT Bogota Colombia IoT convertir datos que no se podan usar en infor-
INNOVACIN macin de valor que permitiera a las empresas a llevar
IoT funcionar hoy da ya es fuente de inno- la experiencia del usuario a un nivel sorprendente. Al
vacin, como un modelo disruptivo para los pensar sobre la proposicin de valor de la IoT, muchos
negocios y de crecimiento econmico para de los negocios apuntan hacia la eficacia, la eficiencia
los gobiernos y las economas emergentes: y el ahorro de costos como benficos claves. Las com-
Es una nueva revolucin industrial, el nacimiento de paas que adopten IoT Podra obtener un ROI de for-
internet y la revolucin mvil han dirigido el avance y ma veloz y efectiva al punto que podra verse reflejado
la innovacin, igual lo har IoT. Ya vemos soluciones en economizar miles de dlares por la toma de deci-
basadas en Smart City, Smart Farm, soluciones de siones acertadas y sobre todo oportunas, por el aprove-
logstica, reseller y cientos de soluciones pensadas chamiento de las oportunidades que trae esto alrede-
en ofrecer nuevos servicios basados en esta tenden- dor de la satisfaccin y el servicio al cliente.
cia, nuevos modelos de negocios estn surgiendo
alrededor de las COSAS, en particular las economas
emergentes tendrn una oportunidad significativa
para apalancarse de forma rpida sin el drama de la
infraestructura legada. McKinsey predice que el 40%
del mercado mundial de soluciones de IoT ser genera-
da por pases en desarrollo y economas emergentes.
DeepData- Origen: Delta NDA

http://centripio.io 9
CONFIANZA EN CLOUD

IoT promover una forma de interactuar abierta, in-


teroperable, hbrida, e impulsar la colaboracin entre
el gobierno y la industria sobre estndares de arquitec-
tura globales que se enfoquen en las preocupaciones
de ciberseguridad, en pases como Mxico, Brasil, Ar-
gentina o Colombia la inversin pblica para IoT ha cre-
cido casi en un 80% ao tras ao desde 2014, Mxico y Transformacion IoT -Origen: GlobbIT
Brasil forman parte de los 10 pases con mayor pene-
tracin de IoT en el mundo, mientas que en Colombia COMO INICIAR EN EL IOT?
el Ministerio de las TICS ya se ha preocupado por esto,
y comienza un estudio para dar un estndar dentro del Pues bien, hay dos perspectivas desde las cuales iniciar,
espectro radio elctrico que permita que IoT tenga una la primera, el genio de la lampara que sabe que va a
regulacin en su uso y aprovechamiento del mismo. hacer con los datos como los va a llevar a la nube, con
que los va a almacenar, analizar y presentar, la segun-
Mientras las soluciones de IoT basadas en la nube van da, ser el consumidor que requiere que su organizacin
creciendo en popularidad y van creciendo, ninguna ar- provea esos datos invisibles u ocultos, que hasta el mo-
quitectura de computacin aislada monopolizar su mento no cree que tengan valor, pero tiene el inters
entrega, esto importante porque conserva el principio por ver el resultado.
de libertad en generacin de herramientas que aporten
valor a esta tecnologa. Identificar los modelos de arquitectura ideal para una
solucin de IOT, es un arte, pues requiere un cono-
cimiento profundo del negocio en particular, aunque
hay algunos cuya naturaleza es similar o la misma, no
son iguales, lo que nos lleva a conocer de forma partic-
ular la necesidad y el valor que requieren los datos que
se les d.

El hardware, ya existen muchos fabricantes de solu-


Confianza en Cloud - Origen: Micirosoft Azure ciones integradas de IOT, que cuentan con miles de
sensores y gran capacidad de captura de informacin
TRANSFORMACIN: y consumos de energa muy bajos, algunos de estos
Libelium y SigFox, inclusive, ofrecen la solucin integra-
IoT generar la nueva ola de la transformacin al uni- da a la nube, lo que permite que podramos escoger
ficar los mundos de Tecnologas operacionales y Tec- a cualquier proveedor de nube como Microsoft Azure,
nologas Informticas(TIC`S) mientras sirve de motor Amazon, Google, para llevar los datos a una capa se-
para una fuerza de trabajo cada vez ms digital y mvil. gura y que permita la integracin con herramientas de
anlisis.
Entre ms compaas expandan y profundicen sus
programas de digitalizacin por toda la empresa, IoT
QUE HAY DE LA ANALTICA?
tomar cada vez ms un puesto de valor dentro de la
organizacin.
Alguna vez se ha preguntado Que pas con el nego-
cio? o ha escuchado esta pregunta?, bien, sta la re-
Esta nueva ola de transformacin se lograr a travs de
sponde la analtica descriptiva que es una etapa prelim-
sensores conectados (Dispositivos) ms econmicos,
inar del procesamiento de datos que crea un resumen
control e inteligencia embebida, canales de comuni-
de los datos histricos para proporcionar informacin
cacin ms rpidos y ms ubicuas, infraestructura para
til y preparar los datos para su posterior anlisis.
la nube y capacidades analticas.

10 Centripio Magazine #02


La analtica descriptiva hace exactamente lo que su lo que suceder, sino tambin por qu va a suceder.
nombre implica: Describir. Son anlisis que descri-
ben el pasado. La gran mayora de las estadsticas Recuerda cada vez que su mam o su pap le ha repetido
que utilizamos entran en esta categora (por ejemp- Se lo dije!, bueno, ellos tienen claro lo que la analtica
lo, en la aritmtica bsica: sumas, promedios, cam- predictiva, el anlisis predictivo es un rea de la minera
bios por ciento). Por lo general, los datos subya- de datos que se ocupa de extraer informacin de los da-
centes son un recuento de datos a los que se aplica tos y usarla para predecir las tendencias y patrones de
matemticas bsicas. Para todos los propsitos prc- comportamiento. el anlisis predictivo puede aplicarse
ticos, hay un nmero infinito de estas estadsticas. a cualquier tipo de evento, ya sea en el pasado, pre-
La analtica descriptiva es til para mostrar cosas como sente o futuro. El ncleo del anlisis predictivo se basa
el volumen total en el inventario, el dinero gastados pro- en las relaciones que hay entre las variables explicativas
medio por cliente o el cambio ao a ao en las ventas de y las variables predichas a partir de sucesos pasados,
un producto. Ejemplos comunes de anlisis descriptivos y explotarlos para predecir un resultado desconocido.
son informes que proporcionan conocimientos histri- El anlisis predictivo se define como la pre-
cos respecto a la produccin, finanzas, operaciones, diccin a un nivel ms detallado de granu-
ventas, finanzas, inventario y clientes de una empresa. laridad, es decir, la generacin de resultados
Una aplicacin de cine, por ejemplo, utilizara el anli- predictivos (probabilidades) de cada elemento de la or-
sis descriptivo para encontrar correlaciones entre las ganizacin individual. Esto lo distingue de los pronsticos.
diferentes pelculas que ha gustado a sus suscriptores
y as mejorar su motor de recomendacin, utilizan-
do los datos de ventas y el histrico de los clientes.
Por lo tanto, el anlisis descriptivo es una
fuente importante para determinar qu hac-
er a continuacin en una campaa o evento.

Usted ha salido con su pareja a comprar ropa y quis-


iera poder brindar recomendaciones, de en donde, a
quien, cuando y como ir de shoping ok, bien esta es la
analtica prescriptiva, busca brindar recomendaciones
ptimas durante el proceso de toma de decisiones. A
diferencia de la analtica descriptiva, los anlisis pre-
scriptivos determinan las formas en que los procesos
de negocios deben evolucionar o ser modificados.
Al igual que otros modelos analticos, los diversos
avances facilitan la analtica prescriptiva. El aumento
de las capacidades de los medios de almacenamien-
to de datos permite a las empresas almacenar mu-
cha ms informacin asequible, como, por ejemplo, a
travs de soluciones de servicios de alojamiento en
la nube. Los avances en estructura de red tambin
permiten la captura de una variedad ms amplia
de informacin en formas nuevas y ms poderosas.
La analtica prescriptiva permite a los usuarios pre-
scribir un nmero de diferentes acciones posibles
a y guiarlos hacia una solucin. Esta intenta cuanti-
ficar el efecto de las decisiones futuras con el fin de
asesorar sobre los posibles resultados antes de que
las decisiones se hagan realmente. No slo predicen

http://centripio.io 11
Introduccin a los
patrones de diseo,
el nico libro que

Introduccin a los patrones de diseo es el nico li-


bro que te ensea paso a paso los principales patrones
de diseo mediante un enfoque prctico y del mundo
real, abarcando un total de 25 patrones y 25 ejemplos
del mundo real.

https://patronesdediseo.com
Una de las grandes problemticas de las compaas en la actualidad, es el procesamiento de la
cantidad de informacin que generamos de ventas , proveedores , clientes, etc. an mayor es el
problema cuando queremos consumir toda esa informacin, por ejemplo, saber cules fueron las
ventas en el ltimo ao, cul ha sido la regin donde ms se ha vendido, cuales son los tipos de
producto de mayor venta y cuales es la poblacin de clientes donde ms genera impacto y el prob-
lema aumenta ms cuando se toman decisiones para el negocio con base en toda esa informacin
De all se generan problemticas como es fiable esta preguntas que podran surgir, y es all cuando nosotros
informacin?, es oportuna?, estoy tomando las de- como responsables del negocio colocamos a trabajar
cisiones correctas sobre el negocio?, estoy analizan- equipos completos de gente consolidando, procesan-
do todas las aristas?. La respuesta a estos problemas do, miles y/o millones de registros de informacin de
y algunos otros se llama Business Intelligent (BI). diferentes reas de la actividad se repetir, generando
que nuestro negocio se vuelva en funcin de respond-
er a estas necesidades, olvidndonos del negocio como
tal.

Estado del negocio en tiempo real.

Muchas veces sucede que de ltima hora la junta di- Ejemplo de un tablero de mando
rectiva o las gerencias citan una reunin donde se qui- Para ello BI nos entrega soluciones que permiten au-
ere ver los resultados del ltimo mes, comparar los tomatizar el procesamiento y consolidacin de toda
resultados de este mes con meses anteriores, ver los esta informacin con el fin de tenerla a disposicin
resultados de las estrategias de marketing , entre otras cuando se requiera y que estos datos sean visibles

http://centripio.io 13
en tiempo real en diferentes dispositivos electrni- le permitir de seguro centrarse en mejorar su negocio.
cos, como tablet, smartphone y/o computadores;
adicionalmente podramos tener reportes semana-
les, mensuales, trimestrales, etc. sin necesidad que Ayuda en la toma decisiones
se solicite, siendo entregado de forma oportuna a
la persona que lo requiera. Por ejemplo nuestros Con la informacin de su negocio consolidada y en-
vendedores podrn consultar en tiempo real el es- tregada de forma oportuna le permitir mejorar en la
tado de ventas de su zona o los miembros de la jun- toma de decisiones de su negocio desde dos perspecti-
ta directiva pueden ver los resultados del mes sol- vas, mejorando y generando eficiencia en los procesos
amente accediendo a su dispositivo mvil, dndole internos como la produccin y compras, midiendo los
as transparencia y credibilidad a su negocio. diferentes procesos podr ver frente a sus ojos el esta-
do de las diferentes reas de su compaa lo que le per-
Respuestas rpidas a preguntas difciles.
mitir mejorar ciertas falencias o reprocesos, reducir o
aumentar su fuerza laboral segn sus ventas, disminuir
A travs de BI podemos responder preguntas que en
gastos con compras innecesarias, entre otras cosas.
el pasado parecan difciles tales como el promedio
de ventas del ltimo semestre por regin y producto
comparado contra el semestre anterior? cual es el
comportamiento histrico de ventas por zona, vend-
edor, producto, etc? ( Otras preguntas), con esta al-
ternativa estas preguntas pueden ser resueltas en
segundos.

Informacin que no veas antes de tu ne-


gocio

Normalmente en las organizaciones nos acostum- Y por otro lado le permitir a sus directores de ventas
bramos a ver nuestro negocio desde variables sim- y/o vendedores enfocarse en estrategias de ventas pro-
ples como ventas por vendedor, ventas por regional ductivas que van a resultar en aumento de las ventas.
, entre otras; dejando de lado variables de valor que
permitan aumentar el flujo de caja y la productividad Referencias
como productos con mayor influencia de venta en
cierta poca del ao, productos que complementen http://neteris.com/es/service/consultoria-busi-
las compras de un cliente segn los histricos, tradi- ness-intelligence/
cionalmente esta informacion est en la cabeza del
vendedor de ms experiencia en el negocio, pero http://saimasolutions.com/beneficios-del-busi-
tambin est en la fuente de mas valor de su com- ness-intelligence-para-la-empresa/
paa, sus propios datos.
https://www.propertymanagementanalytics.com/
Las soluciones de BI no solo destacan por consoli- powerbi-dashboard-property-management/
dar y procesar la informacin con la que cuenta su
negocio, adicionalmente cuenta con procesos de
estandarizacin y enriquecimiento de los datos, esto
permite ver variables diferentes a las que acostum-
bramos por ejemplo los gustos de una persona, pre-
decir cuando habitualmente compran nuestros cli-
entes y enviar de forma automtica la informacin a
nuestro vendedor para que contacte al cliente, aler-
tar de la necesidad de stock segn ventas, alertar las
compras a realizar para cumplir con los despachos,

14 Centripio Magazine #02


ACTUALMENTE EXISTE UNA PROBLEMTICA CON RELACIN A COMO SE LLEVAN LOS PROYECTOS EN LAS EMPRESAS,
YA QUE SE TIENE UNA IDEA ERRONEA SOBRE EL PENSAR QUE MANEJAR SOLO UNA HERRAMIENTA COMO MICRO-
SOFT PROJECT O EXCEL ES SUFICIENTE Y LO MEJOR.

ACTUALMENTE EXISTE UNA PROBLEMTICA CON RELACIN A COMO SE LLEVAN LOS PROYECTOS EN
LAS EMPRESAS, YA QUE SE TIENE UNA IDEA ERRONEA SOBRE EL PENSAR QUE MANEJAR SOLO UNA
HERRAMIENTA COMO MICROSOFT PROJECT O EXCEL ES SUFICIENTE Y LO MEJOR.

Introduccin tecnologa no trabajen en forma de silos, sino que am-


bas partes constantemente trabajen juntos (existiendo
El presente artculo trata de dar una resea de como siempre mucha comunicacin entre estas).
actualmente las empresas manejan sus proyectos de
una manera tradicional. As mismo, se muestra como Entre lo que se ha podido notar en como muchos equi-
con una muy buena herramienta de gestin, como los pos de gestin llevan los proyectos (el control de los
es TRELLO, se puede llevar el control de equipos de equipos, control de las tareas y tiempos asignados por
proyecto de una manera muy dinmica. cada recurso del proyecto), es que muy usualmente
ellos se apoyan solo en una o dos herramientas clsicas
El artculo presentado est enfocado a realidades que que son Microsoft Project y/o Microsoft Excel. Con esto
se ven en el da a da en los diferentes proyectos del no se est criticando la calidad de estas herramientas
rubro de tecnologa de los cuales se ha tenido cono- de ofimtica, pero normalmente estas estn enfocadas
cimiento de cmo se han llevado, as mismo como a un trabajo muy encapsulado, para llevar un proyecto
hecho seguimiento y en muchos de ellos encontrado (no colaborativo), ya que al estar luego versionndolos
que no han sido llevados de la mejor manera. a nivel de archivo, compartiendo dichos archivos a los
interesados, como que se pierde el dinamismo de equi-
ACTUALIDAD po que desde el inicio se desea lograr.

La realidad es que actualmente en los proyectos de


tecnologa se define un alcance de dichos proyectos,
dentro del cual se consideran y definen los roles de los
participantes de dichos proyectos. Lo normal es que
se definan equipos de tecnologa (analistas, programa- Nombre - Origen
dores, lderes, arquitectos) y equipo gestin (jefes de Esta misma situacin sucede con los arquitectos y lde-
proyecto o project managers). Es importante mencio- res de equipo de trabajo, los cuales se apoyan suelen
nar, que siempre debe tener en mente el objetivo que manejar en las mismas herramientas de ofimtica para
tanto el equipo asignado de gestin, as como el de definir y asignar responsabilidades a sus equipos, pu-

http://centripio.io 15
ACTUALMENTE EXISTE UNA PROBLEMTICA CON RELACIN A COMO SE LLEVAN LOS PROYECTOS EN LAS EMPRESAS, Y
PROJECT O EXCEL ES SUFICIENTE Y LO MEJOR.

diendo algunos mejorar esta modalidad por medio de QUIEN LO PUEDE UTILIZAR?
un google docs, para trabajar documentos en paralelo.
Esto en realidad mejora bastante la forma tradicional Trello puede ser utilizada por cualquier persona que
de llevar un proyecto, pero an no es lo ptimo al 100% requiera gestionar algn equipo de proyecto, en modo
de grupo o individual de manera dinmica y colabora-
TECNOLOGA EN LA NUBE tiva.

Para la gestin de equipos de proyectos, hoy en da


no basta con ser productivos e ir ejecutando una
determinada lista de tareas dentro de un proyecto.
Esto debido a que existen muchas aplicaciones muy
buenas que sirven de manera excelente para el apoyo
en la ejecucin de proyectos. Es importante men-
cionar, que se define como apoyo, ya que para llevar
proyectos muy grandes, es necesario contar con her-
QUE CARACTERSTICAS TIENE?
ramientas capaces de gestionar tareas complejas con
muchos escenarios especiales y con la capacidad de
Trello posee un diseo el cual ha empleado el sistema
adaptarse a la posible incertidumbre en los proyectos.
Kanban, para el registro de actividades en base a tarjetas.
Esta tcnica fue creada por Toyota en 1980, para con-
Debido a ello, actualmente en el mercado existen una
trolar el avance del trabajo en una lnea de produccin.
gran variedad de herramientas para la gestin de proyec-
Trello por medio de los tableros ofrece varias carac-
tos como lo es Trello (https://trello.com) de la cual habla-
tersticas como son:
remos. Este es un beneficio para los Project Managers,
lderes de equipo, etc, ya que se tiene la posibilidad de
Asignar tareas a cada uno de los miem-
escoger un software que se ajuste a sus necesidades
bros a travs de tarjetas individuales.
en un amplio mercado de herramientas profesionales.
Opinar y votar en cada tarjeta, para saber
que piensan los otros miembros del equipo.
PROYECTO TRELLO
Notificar a travs de emails el log las actividades
Trello es un proyecto de Federico Stella que fue creado realizado para mantener a todos informados.
en el 2010. Luego, en el 2011 sali a la luz la primera Hacer seguimiento en caliente de las tar-
versin basada en Web, as como por medio de un Cli- eas, la que se est trabajando y la que es-
ente para iPhone. Posteriormente, en el 2012 se lanz tn trabajando los dems del equipo.
la versin para Android. Para el 2014 se cre Trello
Inc. Y en el 2017 la compaa fue vendida a Atlassian.

Entre las preguntas y/o dudas que usualmente se


tiene sobre Trello podemos mencionar las siguientes

QUE ES TRELLO?

Trello en realidad es una herramienta para organizar


proyectos y realizar tareas (tarjetas). Dicha gestin de
tareas se realiza por medio de listas de listas dentro de
un tablero. Lo que la hace especial, es su versatilidad CMO ACCEDER?
ya que a cada tarjeta de una lista se le puede agregar:
imgenes, vdeos, documentos, etc. Adems, es ex- Para poder acceder en lnea a Trello se puede realizar
tremadamente potente para uso colaborativo. Pueden de dos formas:
asignarse un nmero a las tareas, ponerles fecha lmite, 1. Crendonos una cuenta en lnea.
maneja su propio calendario sincronizado Google, etc 2. Por medio de Invitacin.

16 Centripio Magazine #02


YA QUE SE TIENE UNA IDEA ERRONEA SOBRE EL PENSAR QUE MANEJAR SOLO UNA HERRAMIENTA COMO MICROSOFT

CMO ES SU ESPACIO DE TRABAJO?

El espacio de trabajo en Trello est dividido en:

Proyecto (ttulo).
Tarjeta (tareas).
Lista (listas de tareas).
Tablero.

Proyecto Scrum

Proyecto por recursos


Espacio de trabajo CMO SE MANEJAN LAS TAREAS?
CMO ES SU TABLERO?
Las tareas en Trello, son manejadas por me-
Trello consiste en un tablero personalizable que dio de tarjetas como se ya mencion, son par-
est distribuido por columnas llamadas listas. As te de una lista. As mismo, se le pueden asignar
mismo, cada lista se compone de tarjetas (tareas). los recursos, colores de estado, comentarios, etc.
Cada una de estas tarjetas representa una uni-
dad bsica de una lista, creada con la finalidad de Por otro lado, ejemplos de estas tareas, dependi-
gestionar proyectos, realizar un seguimiento de endo el tipo de proyecto, pueden ser las siguientes:
la informacin y/o organizar cualquier actividad.
Una actividad del proyecto.
Un tablero puede representar en realidad cual- Una nueva caracterstica.
quier cosa y otorgarle el uso que se crea con- Un error por corregir.
veniente utilizando la metodologa Kanban. El historial de un cliente.
Tema de Investigacin para un artculo.
As mismo, con Trello se puede aprovechar el Un problema de atencin al cliente.
tablero junto con los elementos de este para
disear plantillas y controlar diferentes tipos de Para editar las tareas solo se requiere dar dos veces
proyectos que se deseen gestionar como estos: click en la tarjeta o en la flecha que aparece en el bor-
de superior derecho de la tarjeta para configurarla.

Tarjetas
Proyecto Roadmap (fases)

http://centripio.io 17
CMO SE MANEJAN LAS LISTAS? QU VENTAJAS TIENE?

Trello a nivel de las listas brinda un gran nme- Se pueden considerar las siguientes ventajas de
ro de funcionalidades como las resaltadas, en- Trello:
tre las que resaltan el copiar una lista com-
pleta de actividades y con ello poder clonarla. Como herramienta es rpida, intuitiva y prctica.
La cuenta permite crear mucho Tableros y gestion-
arlos.
Se trabaja en la web y desde el celular.
Est al alcance de todos solo teniendo como re-
querimiento internet.
Permite el modo colaborativo de todos los inte-
grantes.
Brinda informacin en tiempo real, de cmo es el
estado de los proyectos.

QU DESVENTAJAS TIENE?

Se puede considerar como desventaja de Trello:

_ La versin Free es muy buena, pero existen mu-


chas caractersticas adicionales que se pueden
FUNCIONA EN MODO COLABORATIVO? ser accedidos por medio de la versin de paga
(para crear proyectos de tipo empresarial).
Una de las principales caractersticas de Trello es la co-
laboracin. Esto quiere decir que con Trello se puede
trabajar en equipo a travs de sus tableros, por medio
de los cuales uno de los miembros asignados, pueden
colaborar y editar en tiempo real.

Cuando algn miembro del equipo lleva a cabo


un cambio en el proyecto, este se ve reflejado in-
mediatamente en el tablero, y ser visto en cali-
ente por los dems miembros del equipo, incluso
ser notificado va email. Planes de paga
CONCLUSIONES:

Se ha tratado de brinda el detalle las bondades


que Trello tiene para el apoyo en la gestin de equi-
pos de proyectos, dando detalles de sus carac-
tersticas y funcionalidades que su software brinda.

Hay que considerar que la versin free es bue-


na pero si se requiere an ms caractersti-
cas, se puede acceder a la versin de paga.

18 Centripio Magazine #02


Por: Yamit Leiva

FREELANCE, UN BUEN PRIMER


PASO PARA MI NUEVO NEGOCIO
Recuerde que no es un salto al vaco, se trata de coger impulso y lanzarse a un mar de posibilidades
online, donde ser freelance le permitir mantener su propio barco a flote.

Luego de decidir lanzarse al agua viene


como principal protagonista la estrategia de
corto plazo, que representa la manera como
se podr mantener la idea de crear su propio
negocio, asegurando los ingresos durante
los primeros meses. En este punto la clave
es trabajar, por ejemplo, como freelance
online. Algunas de las plataformas que facil-
itan este tipo de trabajo son Upwor, Twago,
Fiverr, Freelancer, PeoplePerHour, Adtriboo,
Nubelo, Yeeply, InfoJobs, Freelance, Lance
Talent, Workana, TrabajoFreelance, Top-
A muchos de los que hemos trabajado por largo tiempo como em- tal, Guru, Get a Coder, iFreelance, Design
pleados nos atrae la idea de emprender un nuevo camino: crear una Crowd, We Work Remotely, Behance, Hirable.
nueva empresa o trabajar de manera independiente. Esta idea surge
muchas veces buscando beneficios como manejar nuestro propio
tiempo, trabajar en lo que realmente nos apasiona, dejar atrs a
los jefes molestos, trabajar desde la comodidad de nuestro hogar,
estar ms cerca de la familia, entre otras; sin embargo, hay varios
aspectos y, por qu no decirlo, miedos a considerar, en especial
para quienes no han tenido la experiencia, pero cmo prepararse?

Pensando en lo anterior, les compartir mi idea sobre cmo


ambas cosas pueden ser un mejor camino, haciendo que el tra-
bajo independiente o freelance abra camino al de emprender.

En primer lugar abordar la transicin. Si se encuentran trabajan-


do como empleados probablemente su forma de vida depende En algunas de estas plataformas se puede in-
en gran parte de un salario mensual, con el que garantizan sus gresar de manera sencilla, tan solo creando
gastos bsicos y gustos personales y de su familia. En este caso, la un perfil para poder ofrecer los servicios. Hay
primera pregunta a plantearse antes de decidir ser independiente otras que tienen un proceso de seleccin ms
es cmo seguir pagando las cuentas sin mi actual trabajo? Para difcil y similar al de un trabajo convencion-
responderla aparecen otros cuestionamientos relacionados como al con entrevistas, pruebas tcnicas, verifi-
Qu voy hacer cuando sea independiente? Cunto tiempo tard- cacin en vivo y certificacin de la experiencia.
ar en comenzar a tener ingresos?
Aun as, creo que esta sigue siendo una
Realmente lo nico que puede bloquear esa transicin es el forma sencilla de obtener clientes, sobre
miedo a tomar la decisin. Una vez tomada, empezarn a apa- todo para quienes no tienen formacin
recer todas las oportunidades que existen en el mercado, so- ni experiencia comercial, permitin-
bre todo en el sector de tecnologa teniendo en cuenta la po- doles acceder a nuevos mercados a los
ca de transformacin digital en que actualmente vivimos cuales de otra manera no sera tan fcil.

http://centripio.io 19
Este camino abre tambin la oportunidad nica
de conocer las tecnologas que se utilizan actual-
mente en el mercado, lo cual muchas veces es dif-
cil de hacer para una empresa y que, por lo tan-
to, puede costar mucho a la hora de emprender.

Precisamente, debido a lo anterior es que consid-


ero este aspecto un buen primer paso para iniciar
una startup u otro tipo de empresa, ya que vari-
os intentos de emprender fallan en sus primeros
meses porque no ingresa dinero, lo que conlleva
muchas veces a tomar nuevas decisiones basadas
en la desesperacin y que derivan en renunciar
al sueo de tener y mantener su propio negocio.

Esto puede evitarse si desde el primer mes del em-


prendimiento se reciben ingresos y, para ello, el mun-

Annciate con
do freelance puede ser el medio. Evite de esta manera
ser parte del 45% de los emprendedores colombianos

nosotros
que no sobreviven el primer ao, ni del 74% que fra-
casan por ingresos insuficientes para subsistir, segn
el estudio realizado por The Failure Institute. Al final,
depende de qu tan cmodo se sienta con esta forma
de trabajar, puede decidir continuar con esta opcin.

informes al correo
[email protected]

Recuerde: reconocer la transicin, tomar la decisin,


enfocar la estrategia de corto plazo a garantizar in-
gresos tempranos, y definir la estrategia de mediano y
largo plazo para el desarrollo de sus propios produc-
tos y servicios innovadores, son puntos claves para
que su nuevo negocio tenga un menor riesgo y no se
hunda en el intento.

Referencias
Timn de barco: Photo by Joseph Barrientos on Un-
splash
Hombre lanzndose al agua: Photo by Tommaso For-
noni on Unsplash

20 Centripio Magazine #02


Java es hoy en da el lenguaje de programacin ms popular y a un que existe detractores, la verdad
es que sigue teniendo una gran popularidad, que a decir verdad, yo sigo siendo unos de sus Fans.
Pocas son las versiones de Java que han marcado un antes y un despus en el lenguaje, por ejemplo,
la introduccin de anotaciones y genricos de la Java 6, o los Lambda expresions y paralelismo de
Java 8 y finalmente la llegada de Java 9 trae algunas mejores importantes que son dignas de elogiar.

Al momento de la redaccin de este artculo, la paquetes de un mdulo se expone a los dems


versin de Java 9 se encuentra en Beta, pero se es- evitando que otros mdulos utilicen paquetes que
pera su liberacin el da 21 de septiembre, por no fueron expuestos, incluso mediante Reflexin.
lo que, al momento de leer esta nota, es muy Para crear un mdulo en Java 9, es requerido que el
probable ya que esta liberada la versin final. proyecto tengo un archivo llamado module-info.java
Como sea, la verdad es que cada versin de Java en la raz del proyecto, con la siguiente estructura.
trae una gran expectativa, y por lo general cada
versin trae tantos cambios como para escribir un
libro completo, por lo que en este artculo tratare-
mos de hablar de lo ms relevante y que como pro-
gramadores podra ser de los ms interesante, as
El cual deber declarar mediante la sentencia export los
que, sin ms prembulos, veamos las mejoras.
paquetes que podrn ser accedidos por otros mdulos,
Sistema de mdulos y la sentencia requires para importar los mdulos de los
que depende. Por default, todos los paquetes que no sean
Sin lugar a duda, el sistema de mdulos es la carac-
expuestos sern privados de forma predeterminada.
terstica ms relevantes y esperadas, pues desde su
nacimiento, el JDK de Java ha sido monoltico, lo que
implica que tenas todos o nada. En este sentido, las
aplicaciones Java requeran montar en el classpath to-
das las clases del JDK + las clases de los proyectos. lo que
implicaba varios problemas, como el espacio requerido Fig. 1 - dependencia entre mdulos
para cargar todas las clases al classpath o la colisin
En la imagen podemos observar que el Modulo A requiere
en los nombres de las clases de diferentes paquetes.
del MduloB, y que el Modulo B expone el paquete com.
El sistema de mdulos ayuda a que se realice un
centripio.moduleb, aunque por otro lado, vemos que el
encapsulamiento real, pues permite definir que
ModuloA importa al mdulo completo, no sus paquetes.

http://centripio.io 21
Servicios otra parte, le estamos indicando que el mdulo expone
un servicio (provides) el cual se expone encapsulado
Otra de las cosas que ofrece la modularizacin, es
mediante la interface com.centripio.hello.IHelloWorld
exponer servicios. Los servicios son clases que son
del Mdulo Hello, pero la implementacin real es la
expuestas mediante una interface, que la imple-
clase com.centripio.modulec.impl.HelloWorldCIm-
mentacin real queda totalmente oculta, pues no es
pl la cual est dentro del Mdulo c. notemos que en
necesario exponer mediante export la implementacin.
ningn momento estamos exponiendo mediante
Veamos el siguiente ejemplo, tenemos un Mdu-
export el paquete de la clase de implementacin.
lo A y un Mdulo C, el modulo A requiere el servicio
El archivo module-info del mdulo A queda de la sigui-
expuesto por el Modulo C, para esto, el Modulo A
ente manera:
no debe de conocer la implementacin del Mdu-
lo C. Para esto tendremos un tercer mdulo llamado
Hello, el cual solo expone una interface, esta inter-
face ser comn entre el modulo A y C, el modulo C
va exponer el servicio por medio de la interface del
Mdulo C y el Mdulo A buscar todos los servicios
Finalmente, vemos que el Modulo A indi-
expuestos mediante la interface del Mdulo Hello.
ca que requiere del Mdulo Hello, y adicion-
al, hace uso (uses) de los servicios expuestos
por la interface com.centripio.hello.IHelloWorld.

Ahora bien, veamos cmo se ejecuta esto dentro del


mtodo Main.

Fig. 2 - Servicios con Java 9


El archivo module-info del mdulo Hello queda de la
siguiente manera:

Podemos observar que el mdulo Hello expone


el paquete com.centripio.hello, el cual contiene
la interface IHelloWorld. Al contar con la instruc- En la lnea 8 utilizamos la case ServiceLoader, la cual
cin exports, le indicamos que todas lo que este en tiene el mtodo load que recibe una clase/interface
este paquete podr ser visible por otros mdulos. para buscar todos los servicios encapsulados por esta
interface. El retorno es una lista, pues varios mdulos
El archivo module-info del mdulo c queda de la sigui- pueden exponer una implementacin diferente. Final-
ente manera: mente, iteramos la lista y llamamos el mtodo hello
definido en la interface del Mdulo Hello. Si has utili-
zando OSGI, este te podr resultar algo muy familiar.

Modularize JDK (Jigsaw)


El Mdulo C indica que requiere (requires) del mdu- Unos de los principales problemas de Java desde el inicio,
lo Hello, como podemos ver, no hacemos referencia ha sido la popularizacin del JDK, pues cualquier apli-
a los paquetes expuestos, sino a todo el modulo. Por cacin desarrollada en Java, requiere de una instalacin

22 Centripio Magazine #02


completa del JRE, un que solo requiera unas cuantas en las clases que las implementen. Se pueden declarar
API. En Java 9 se soluciona este problema con el proyec- mtodos privados y mtodos privados estticos.
to llamado Jigsaw, el cual se viene consolidado desde le
Java 8 y que en el Java 9 ya lo podemos ver consolidado.
La idea central de modularizar el JDK consiste en
que una aplicacin puede ser ejecutada en una
versin reducida del JRE, de esta forma, podemos
ahorra recursos importantes en nuestros dispos-
itivos, lo cual viene bastante bien la arquitectura
de micro servicios o despticos de bajos recursos.

Como podemos ver en este ejemplo, solo es necesario


declararlos con el modificador de acceso private, y no
es necesario utilizar la instruccin default.

Anotacin @deprecated mejorada


Desde su creacin, la anotacin @deprecated ha
servido a los programadores para enterarse si una
Ilustracin 1- Aplicacin no modular
clase o mtodo ya esta no est aconsejada para
La imagen anterior ilustra la forma en que tra- su uso, debido a que ya no recibir ms soporte o
bajbamos con versiones anteriores del por que se ha creado una nueva funcionalidad me-
JDK, en la cual era necesario tener todas las jor que sustituye a la anterior, sin embargo, no era
APIs para que nuestra aplicacin funcionara. posible determinar desde cuando fue deprecada, y
si ha sido marcada para ser eliminada en el futu-
ro. El nuevo formato de la anotacin es la siguiente:

El atributo forRemoval indica si ha sido marcado para


ser removido permanentemente en las siguientes
versiones y since le indica al programador desde que
versin ha sido marcado como deprecated.
Ilustracin 2 - Aplicacin modular.
Por otra parte, Java 9 nos permite ejecutar nuestra Mtodos de fbrica de conveniencia para
aplicacin solo con los mdulos necesario. colecciones
Java 9 a incluido algunos mtodos de utilidad que ayudan
Mtodos privados en interfaces a crear colecciones inmutables de una forma mucho ms
Una de las novedades que introdujo el Java 8 es la im- simples, pues eliminan la verbosidad requerida en ver-
plementacin default de las interfaces, sin embargo, siones para crear e inicializar las colecciones inmutables.
todos los mtodos tenan que ser pblicos. Con la lle- Las colecciones inmutables son aquellas en las que no es
gada de Java 9, esto cambia, y es posible definir mto- posible agregar o eliminar valores, y son muy utilizadas
dos privados, por lo que solo podrn ser utilizados en en procesos concurrentes, pues no generan bloqueos.
dentro de la misma interface, mas precisamente, solo Aqu algunos ejemplos de cmo crear una List, Set y un Map:
se podrn llamar dentro de los mtodos por default.
Ya que fuera de la interface no ser accesibles, incluso

http://centripio.io 23
Como podemos observar, utilizamos el mtodo of de Nueva API HTTP
la interface de la coleccin deseada, y como resulta-
La llegada de Java 9 nos trae una nueva API para es-
do, obtendremos una implementacin de coleccin,
tablecer conexiones HTTP de una manera ms or-
pero inmutable. En el caso de las listas y Sets, solo
dena y con soporte para HTTP 2.0, y aunque to-
mandamos una lista de valores, que ser agregados
dava es un API que estn en la incubadora, ya
en ese orden, pero en el Map, los valores vienen en
podemos apreciar algunas de sus caractersticas.
pares, el primero es el Key y el segundo l es value.
El soporte para HTTP 2.0 es sin duda lo ms relevante del
Existen algunas reglas bsicas que debemos de en-
API, porque mostraremos un ejemplo simple de cmo
tender cuando utilizamos estas colecciones inmutables.
utilizarlo. No quiero entrar en detalles acerca de las me-
joras de HTTP 2.0 pues en el tema central de este artculo.
1. Si intentamos agregar o eliminar un valor de la col-
Lo primero que debemos de saber es que esta nue-
eccin, lanzarn UnsupportedOperationException
va API no viene como parte del API Base de Java,
2. En las List y Set no se permiten valores null
por lo que debemos de importarlo como mdulo:
y en el Map, la llave no puede contener val-
or null, ya que, en cualquiera de estos dos
casos, se lanzar NullPointerException.
3. Instancias basadas en valores, esto quiere decir que
el mtodo of puede devolver la misma instancia para El nuevo API de HTTP divide su funcionalidad en 3
una lista con los mismos valores, por lo que: List. principales clases:
of("foo", "bar") == List.of("foo", "bar") podran de- HttpClient: gestiona la creacin y el envo de las
volver la misma instancia, todo depender de la JVM solicitudes
4. La coleccin resultante ser serializable si los valores HttpRequest: Se utiliza para construir el request
lo son, en caso contrario, la lista no ser serializable. para ser enviado por medio de HttpClient
HttpResponse: Contiene la respuesta de la pet-
Mejoras en el try-with-resources icin enviada por HttpClient.
Una de las novedades que nos trajo Java 7 fue la posib-
ilidad de administrar recursos dentro de un Try-Catch Ahora veamos un pequeo ejemplo de cmo consum-
y que este los cerrar por nosotros al terminar el blo- ir un recurso WEB como es la pgina de Google:
que, sin embargo, tena el principal inconveniente
de que requera una nueva variable, ya sea declarar-
la y asignarle el valore de un recurso existente o
declarar la variable y abrir en ese momento el recurso:

El ejemplo anterior es como se haca en versiones


pasadas, la nueva forma de hacerlo es la siguiente:

En este ejemplo rustico, pero bastante claro, podemos


En Java 9 es posible utilizar una variable exis- apreciar como utilizamos el nuevo API para consumir
ten, con la nica condicin es que la variable in- la pgina de Google. En la lnea 10 creamos un cliente
put sea efectivamente final, es decir, que se asigne HTTP y en la lnea 11 imprimimos la versin del cliente,
un valor en su declaracin y nunca se modifique. el cual deber arrojar Http version: HTTP_2. En la lnea

24 Centripio Magazine #02


14 y 15 creamos un objeto HttpRequest para consultar me quiero centrar en un ejemplo simple. Imagine-
la pgina de google mediante el mtodo GET. En la lnea mos que tenemos que mostrar el avatar de nuestro
19 enviamos el Request mediante la clase HttpClient y usuario o un banner publicitario, y segn la resolu-
obtenemos un objeto HttpResponse como respuesta. cin de pantalla, podemos mostrar una imagen que
se vea mejor. Para este ejemplo, vamos realizar una
Hay varias cosas que no podemos abarcar en prueba con una imagen de 64x64, otra de 128x128
este artculo, pero cabe mencionar que el API de y otra de 256x256. Finalmente le solicitaremos a la
HTTP soporta conexiones sncronas y asncronas interface MultiResolutionImage que nos de la im-
adems que permite crear clientes de WebSockets. agen que mejor se adecua a la resolucin solicitada

TIFF Image I/O


El formato TIFF ha venido tomando fuerza, pues
es el formato predeterminado para el sistema op-
erativo IOS. Pero a pesar de tener mucha fuer-
za, la realidad es que hasta la versin 9 de Java
se empaqueta como una solucin definitiva.
En las versiones anteriores de Java proporcionaba un con-
junto de codecs para mostrar los formatos de imgenes
ms populares, como JPG, PNG, GIF, etc. En versiones de
pasadas de Java, era necesario utilizar el paquete com.
sun.media.imageio.plugins.tiff el cual en la versin 9 de
Java, es reempaquetada en javax.imageio.plugins.tiff.

Multi-Resolution Images
Con la llegada de Smartphones, tablets y pantallas
de diferentes resoluciones, se ha complicado la for-
ma en que mostramos las imgenes en el dispositi-
vo, pues en muchas ocasiones no vemos obligados a
redimensionar las imgenes o crear condiciones que
muestren una imagen u otra, segn la resolucin de
pantalla. Cabe resaltar que esta nueva funcionalidad
no se encarga de redimensionar una imagen, sino
que, dado una serie de imgenes, nos ayuda a selec-
En la lnea 18 definimos las URL de las 3 imgenes con
cionar la que mejor se ve para una resolucin dada.
diferentes resoluciones. En la lnea 25 leemos las im-
Con la llegada de Java 9, se agregan una serie
genes para crear un objeto Image. En la lnea 27 crea-
de clases de utilidad que nos ayudarn a selec-
mos el objeto MultiResolutionImage a partir de las 3
cionar la imagen ms adecuada para una reso-
imgenes con diferente resolucin. En las lneas 31,32
lucin de pantalla. Las clases son las siguientes:
y 33 solicitamos 3 imgenes, para resoluciones 64, 128
y 256, por lo que la interface MultiResolutionImage nos
MultiResolutionImage: Interface base
deber retornar la imagen que mejor se ajuste. Cabe
para todas las imgenes multi resolucin
mencionar que las resoluciones no tienen que ser exac-
AbstractMultiResolutionImage: Clase abstrac-
tas con las imgenes. Ya que, en este caso, MultiResolu-
ta que implementa la funcionalidad base
tionImage nos arrojara la resolucin que mejor se adap-
BaseMultiResolutionImage: Clase concre-
ta a la resolucin. Veamos cmo se ejecuta este ejemplo:
ta que implementa la funcionalidad mnima.

No quiero entrar un mucho detalle acerca de las


clases, pues nos alargaramos demasiado, por lo que

http://centripio.io 25
Deprecated Applet API
Debido al declive de los Applets y que los navegadores
cada vez soportan menos las tecnologas que se eje-
cutan con plugin como Java o Flash, Oracle ha decidi-
do marcar todo el API de Applets como Deprecated, y
un que siguieran siendo parte del JDK, se advierte que
ser eliminado permanentemente del JDK en versiones
posteriores, un que todava no confirman en cual.

Mejoras al API de proceso JavaDB eliminado del JDK


Esta es una mejora que ya muchos estn esperan- A partir de la versin Java 9, la base de datos Ja-
do, pues al ejecutar un proceso con java.lang.Pro- vaDB o ms bien Apache Derby, ser elimina-
cess era muy difcil tener un control real de los pro- da definitivamente del JDK, por lo que se po-
cesos del sistema operativo, por ejemplo, obtener dr descargar por separado. En las versiones
el Process ID o PID, realizar una accin cuando el pasadas, se poda encontrar en la carpeta db del JDK.
proceso terminara u obtener los procesos hijos, en-
tre otras cosas. Para esto, Java 9 ofrece la interface VisualVM removido
ProcessHandle y su clase internar ProcessHandle.
Info la cual nos da informacin acerca del proceso. La herramienta VisualVM que es utilizada analizar la
Por ejemplo, veamos como ini- JVM en tiempo de ejecucin fue agregada como par-
ciar el block de notas y obtener el PID te del JDK en la versin 6 del JDK, pero a partir de la
versin 9 de Java, es removida del JDK y se tendr
que descargar por separado. El proyecto VisualVM
es mantenido por la comunidad de cdigo abierto y
Esto solo es una pequea parte de todo el potencial puede ser descargado en: https://visualvm.github.io/
de esta mejora, para ver ms informacin puedes ver
la siguiente liga: https://www.javaworld.com/arti- Conclusiones
cle/3176874/java-language/java-9s-other-new-en- PEn este artculo solo quise hablar de las cosas ms so-
hancements-part-3.html bresaliente. Pero sin lugar a duda, el sistema de md-
ulos es las caractersticas ms sobre saliente de esta
Plattform logging API and Service versin, y un qu nivel lenguaje no tuvimos mejoras, la
realidad es te la modularizacin era unos de los grandes
Una de las grandes problemticas al modulizar el JDK
problemas que tena Java, y ms aun con la llegada de
era que el Mdulo Base (clases base) no poda depender
la arquitectura de microservicios y nuevos lenguajes
del Mdulo (java.loggin) pues creara una referencia cir-
como NodeJS que son modulares desde su nacimien-
cular, lo cual todos sabemos que es una mala prctica,
to. Si quieres profundizar ms acerca de las nove-
por ello, se decidi crear un API de loggin integrado al
dades que nos trae Java 9, puede ver la siguiente url:
Mdulo base (java.lang.Loggin) el cual sirve primero que
nada para desacoplar la dependencia con java.loggin
http://docs.oracle.com/javase/9/whatsnew/toc.htm
pero tambin se utiliza para crear Servicios por mdulo.

Otra de las ventajas que ofrece este nuevo API,


es que permite registrar mensajes en el log an-
tes de que todos los mdulos estn cargados.
Para ver un ejemplo ms concreto, te recomendamos
la siguiente liga: http://javasampleapproach.com/
java/java-9/java-9-platform-logging-and-service

26 Centripio Magazine #02


La Infraestructura como cdigo es un principio fundamental de DevOps es tratar la infraestructura
de la misma manera que los desarrolladores tratan el cdigo. El cdigo de la aplicacin tiene un
formato y sintaxis definidos. Si el cdigo no se escribe de acuerdo con las reglas del lenguaje de pro-
gramacin, no se pueden crear aplicaciones. El cdigo se almacena en un sistema de gestin de ver-
siones que registra un historial de desarrollo de cdigo, cambios y correcciones de errores. Cuando
el cdigo se compila (construye) en aplicaciones, esperamos que se cree una aplicacin coherente.
Es decir, la construccin es repetible y confiable.
Practicar "infraestructura como cdigo" significa aplicar el mis- refiere a implementaciones de produccin.
mo rigor de desarrollo de cdigo de aplicacin al aprovision- Mediante el uso de prcticas y herramientas
amiento de infraestructura. Todas las configuraciones deben de entrega continua, el software se puede
definirse de forma declarativa y almacenarse en un sistema de implementar de forma rpida, repetida y
gestin de versiones, al igual que el cdigo de la aplicacin. La confiable. Si un despliegue falla, se puede
provisin, la orquestacin y el despliegue de la infraestruc- volver automticamente a la versin anterior.
tura deben apoyar el uso del "cdigo de la infraestructura."
Existen Herramientas de desarrol-
AWS CloudFormation facilita de una manera
lo AWS para el Despliegue Continuo
enfocada en DevOps de crear y mantener infrae-
structura, que permiten la creacin, despliegue y AWS CodeCommit:
mantenimiento de infraestructura de una manera Un servicio de control de
programtica, descriptiva y declarativa. Similar a la forma en que
versin de cdigo fuente ad-
los desarrolladores de software escriben cdigo de aplicacin.
ministrado que hospeda repos-
Los servicios de AWS que se aprovisionan con CloudFormation
itorios privados basados en Git.
son con una estrategia de DevOps y constituyen los fundamentos
de numerosos principios y prcticas de alto nivel de AWS DevOps. AWS CodeCommit proporciona estos
beneficios:
Despliegue Continuo
Altamente disponible, escalable y toler-
El despliegue continuo es otro concepto bsico en una estrategia ante a las fallas
de DevOps. Su objetivo principal es permitir el despliegue autom- Sin lmite de tamao
atizado de cdigo de aplicacin preparado para la produccin. Se integra con otros servicios de AWS
(CodePipeline, Lambda & SNS)
A veces, el despliegue continuo se denomina entrega continua. La Migra fcilmente archivos de otros re-
nica diferencia es que el despliegue continuo generalmente se positorios basados en Git

http://centripio.io 27
Funciona con herramientas existentes basadas en Todos los Eventos del Repositorio
Git Un push a la rama existente (* rama principal)
Comandos CodeCommit vs Git La creacin de una rama o etiqueta
AWS CLI -> create, edit, delete, and view Repositories La eliminacin de una rama o etiqueta
Git -> clone, commit, push, pull, and create branches
Los disparadores pueden invocar ac-
ciones en los siguientes servicios de AWS:
Precio:
AWS Servicio de notificacin simple (SNS)
Gratis (los primeros 5 usuarios activos)
y AWS Lambda
Repositorios ilimitados
50 GB por mes de almacenamiento
Tambin puede aprovechar la capacidad de
Solicitud de 10.000 Git por mes
SNS para integrarse con otros servicios de
$ 1 por mes (cada usuario activo por encima de los
AWS como el servicio AWS Simple Queue (SQS).
primeros 5)
Repositorios ilimitados AWS CodePipeline:
10 GB por mes de almacenamiento por usuario Es un servicio de entrega continua. Pro-
activo porciona las herramientas para modelar,
2.000 solicitudes Git por mes por usuario activo visualizar y automatizar los muchos pasos
que se requieren como parte de la versin del software.
Por ejemplo: Si tiene 8 usuarios activos, su fac- Puede automatizar fcilmente todo el proce-
tura total ser de $ 3, suponiendo que no ex- so de lanzamiento, desde el repositorio de
ceda ninguno de los lmites anteriores. origen hasta los servidores de produccin.
Exceso:
$ 0.06 por GB por mes AWS CodePipeline proporciona estos beneficios:
$ 0.001 por solicitud Git Es posible crear y repetir un conjunto coherente de pa-
sos cada vez que desee liberar o actualizar su software.
Migracin de un repositorio a CodeCommit
AWS permite migrar otros repositorios basados en Acelera el proceso de liberacin mediante la au-
git a CodeCommit,cmo Github, GitLab y BitBucket tomatizacin, CodePipeline se integra con muchos
otros servicios de AWS (CodeCommit, CodeDeploy,
Puede elegir migrar todo el repositorio o slo S3, OpsWorks), as como otras grandes plataformas
algunos. desarrolladoras y DevOps como Jenkins y GitHub.
Puede migrar desde otros sistemas de control de Fcil de visualizar y visualizar cada etapa del
versiones (no basados en git), como Subversion o proceso de liberacin, su estado y posicin.
TFS, pero primero tendr que migrar a un sistema
basado en git.
Puede migrar todo el repositorio, o en partes (in-
crementalmente).

Disparadores:
Los disparadores, son un mtodo en el que los even-
tos de CodeCommit pueden iniciar acciones automa-
tizadas en otros servicios de AWS.

La creacin de un nuevo repositorio puede desen-


cadenar un tema SNS para notificar a todos los su-
scriptores que se ha creado un nuevo repositorio. Se
puede seleccionar uno de los siguientes eventos en
CodeCommit para invocar un disparador:

28 Centripio Magazine #02


AWS CodeDeploy: struccin. Usted paga solamente por el nme-
Es un servicio de AWS para automa- ro de minutos de construccin que consume.
tizar el proceso de implementacin
de sus aplicaciones, desde siste- La fase del proceso DevOps, para el despliegue de apli-
mas de control de versiones basa- caciones en AWS consiste en los siguientes procesos
dos en Git o compartimentos S3 a e involucra las siguientes herramientas de desarrollo.
instancias de Amazon EC2, instancias locales o ambas.

AWS CodeDeploy proporciona estos ben-


eficios:
Puede automatizar fcilmente su implementacin de
cdigo en entornos de desarrollo, prueba y produccin. Ejemplo grafico de cmo se puede implementar todo
Es posible implementar su cdigo en una o miles el proceso DevOps en AWS y utilizando repositorio git:
de instancias a la vez y las actualizaciones dinmi-
cas le permiten reducir el tiempo de inactividad al
permitirle realizar un seguimiento de los desplieg-
ues de aplicacin y parada / retroceso si hay errores.
Puede realizar un seguimiento fcil de sus imple-
mentaciones recibiendo informes que enumer-
an cundo y dnde se implementa cada una de
las revisiones de la aplicacin. CodeDeploy est
diseado para trabajar con cualquier aplicacin.

Adems, es importante destacar la interaccin de las


personas con los procesos y las herramientas de de-
AWS CodeBuild:
sarrollo para una correcta cultura de DevOps en el
Es un servicio que compila su
desarrollo de aplicaciones e infraestructura en AWS.
cdigo fuente, ejecuta pruebas
de unidad y produce artefac-
tos que estn listos para imple-
mentarse. AWS CodeBuild elimi-
na la necesidad de proporcionar, administrar y
escalar sus propios servidores de compilacin.

Proporciona entornos de compilacin para los lenguajes


de programacin ms populares y herramientas de
compilacin como Apache Maven, Gradle y ms. Tam-
bin puede personalizar entornos de creacin en AWS
CodeBuild para utilizar sus propias herramientas de
compilacin. AWS CodeBuild se escala automticamente
para satisfacer las solicitudes de generacin de recursos.

AWS CodeBuild proporciona estos benefi-


cios:
Totalmente administrado, elimina la necesi-
dad de configurar, revisar, actualizar y admin-
istrar sus propios servidores de compilacin.
Bajo demanda, ofrece escalas bajo deman-
da para satisfacer sus necesidades de con-

http://centripio.io 29
Por: Toms Mujica

nginx la alternativa de un servidor web


NGINX es un servidor HTTP libre, de cdigo abierto, con un proxy inverso, as como un ser-
vidor proxy IMAP / POP3. NGINX es mejor conocido por su alto rendimiento, estabili-
dad, conjunto de caractersticas ricas, configuracin sencilla y bajo consumo de recursos.

La diferencia de rendimiento entre Nginx


y Apache se nota, ya que el tiempo de re-
spuesta conseguido por Nginx es casi un
150% ms rpido que en el caso de Apache.

Fig. 1 Nginx vs Apache sirviendo pginas por segundo.


Por que usar nginx.
NGINX Ms all del servicio web
A diferencia de los servidores tradicionales, NGINX no est basa- A pesar de NGINX se utiliza como el servidor
do en los hilos para manejar las solicitudes. En su caso utili- web ms rpido, la arquitectura escalable ha
za una arquitectura (asincrnica) basada en eventos mucho demostrado ser ideal para muchas tareas
ms escalable, esta arquitectura utiliza cantidades pequeas web ms all de servir contenido esttico.
predecibles de memoria bajo la carga. Incluso si no espera Debido a que puede manejar un alto volu-
manejar miles de solicitudes simultneas, todava puede ben- men de conexiones, NGINX se utiliza comn-
eficiarse del alto rendimiento y el bajo uso de memoria. NG- mente como un proxy inverso y un equili-
INX escala en todas las direcciones: desde el ms pequeo brador de carga para administrar el trfico
VPS todo el camino hasta grandes grupos de servidores. entrante y distribuirlo a servidores ascen-
dentes ms lentos - desde servidores de bas-
es de datos heredados hasta microservicios.
Desde cuando podemos usar Nginx
NGINX tambin se coloca frecuentemente
La primera versin de Nginx apareci en Octubre de 2004
entre clientes y un segundo servidor web,
y actualmente este servidor web ya se encuentra en una
para servir como un terminador SSL / TLS
versin ms que estable, y esto ha hecho que muchos
o un acelerador web. Actuando como un
grandes sitios de Internet como por ejemplo WordPress.com
intermediario, NGINX maneja eficiente-
o SourceForge, hayan decidido abandonar Apache como ser-
mente las tareas que podran ralentizar su
vidor web y pasarse a Nginx como servidor web principal.
servidor web, como la negociacin de SSL
Nginx vs Apache server / TLS o comprimir y almacenar en cach el
La principal diferencia entre Apache y Nginx (y la ms grande) contenido para mejorar el rendimiento. Los
es su arquitectura, mientras que Apache abre un montn de sitios dinmicos, construidos utilizando
procesos para servir peticiones, Nginx abre solo los hilos de cualquier cosa, desde Node.js a PHP, suel-
ejecucin justos y necesarios permitiendo servir millones de en utilizar NGINX como cach de conteni-
peticiones en un corto espacio de tiempo, ya que no requiere do y proxy inverso para reducir la carga en
tiempo adicional para abrir nuevos procesos y adems al no los servidores de aplicaciones y hacer el
abrir nuevos procesos tampoco consume mas memoria RAM. uso ms efectivo del hardware subyacente.

30 Centripio Magazine #02


con ufw, nuestro cortafuegos, durante la instalacin.
Esto hace bastante fcil permitir el acceso de Nginx.
Para listar las configuraciones de las aplica-
ciones que ufw saben cmo trabajar escribiendo:

sudo ufw app list

Con esto la respuesta de la lista de los perfiles de aplicacin.

Fig. 2 Concurrencia y reduccin de peticiones al servidor. Available applications:


Nginx Full
Nginx con proxy inverso Nginx HTTP
Cuando no podemos prescindir de Apache como ser- Nginx HTTPS
vidor web por razones de configuracin o necesidades OpenSSH
del script PHP pero queremos disfrutar de las ventajas
de Nginx al servir contenido esttico podemos optar Como puede ver, hay tres perfiles disponibles para Nginx:
por usar Nginx como proxy inverso para otro servidor Nginx Full : Este perfil abre tanto el puerto 80 (nor-
web como Apache. mal, trfico web no cifrado) como el puerto 443
(trfico cifrado TLS / SSL)
El funcionamiento de Nginx como proxy inverso para Nginx HTTP : Este perfil abre slo el puerto 80 (nor-
Apache es simple: Nginx sirve los contenidos estticos mal, trfico web no cifrado)
(imgenes, css, javascript, etc) mientras que Apache HTTPS de Nginx : este perfil abre slo el puerto 443
se encarga de servir el contenido dinmico siendo (trfico cifrado TLS / SSL).
adems el encargado de procesar los scripts PHP.
Podemos consultar con el systemd sistema init para ase-
gurarnos de que el servicio se est ejecutando escribiendo:

systemctl status nginx

Debera ver la pgina de destino predeterminada


de Nginx, que debera tener el siguiente aspecto:

fig. 3 Soporte para distintos Apps, el esquema de funcionamien-


to de Nginx como proxy inverso

Cmo instalar Nginx en Ubuntu


Antes de comenzar esta gua recuerde que los co-
mandos de descarga pueden cambiar dependi-
endo del SO, y debe tener un usuario normal, no Fig. 4 Pagina de defauld de Nginx.
root, con privilegios configurados en su servidor. Cmo usar la imagen oficial de Docker
Nginx est disponible en los repositorios predetermina- NGINX.
dos de Ubuntu, por lo que la instalacin es bastante sencilla.
Como vimos en la entrega anterior de este nme-
sudo apt-get update ro sobre Docker Hoy veremos como estas dos
sudo apt-get install nginx tecnologas pueden aumentar la rentabilidad.

Antes de poder probar Nginx, necesitamos configurar Para crear una instancia de NGINX en un contenedor
nuestro software de firewall para permitir el acceso al Docker, busque y extraiga la imagen oficial de NGINX
servicio. Nginx se registra a s mismo como un servicio desde Docker Hub. Utilice el siguiente comando para

http://centripio.io 31
iniciar una instancia de NGINX ejecutndose en un con-
tenedor y utilizando la configuracin predeterminada.

docker run --name mynginx1 -P -d nginx


Fcd1fb01b14557c7c9d991238f2558ae2704d-
129cf9fb97bb4fadf673a58580d

Este comando crea un contenedor denominado my-


nginx1 basado en la imagen NGINX y lo ejecuta en
modo independiente, lo que significa que el contene-
dor se inicia y permanece en ejecucin hasta que
se detiene, pero no escucha la lnea de comandos.
La imagen NGINX expone los puertos 80 y 443 en el con-
tenedor y la -P opcin le dice a Docker que se mapee esos
puertos a los puertos en el host dentro del Docker que se
seleccionan aleatoriamente entre el rango 49153 y 65535.

Annciate con
Esto se hace porque si creamos mltiples con-
tenedores NGINX en el En el mismo host de Dock-

nosotros
er, creamos un conflicto en los puertos 80 y 443. Las
asignaciones de puertos son dinmicas y se esta-
blecen cada vez que se inicia o reinicia el contene-
dor. Si desea que las asignaciones de puertos sean
estticas, establezca manualmente con la -p opcin.
Se devolver la forma larga del Id de contenedor.
informes al correo
Podemos ejecutar docker ps para verificar que
el contenedor fue creado y se est ejecutan- [email protected]
do, y para ver las asignaciones de puerto:

Docker ps

Tambin podemos verificar que NGINX se est


ejecutando haciendo una peticin HTTP al puer-
to 49167 (informado en la salida del comando an-
terior el puerto del host Docker que est asig-
nado al puerto 80 en el contenedor); aparece la
pgina de bienvenida predeterminada de NGINX.

Bibliografia

1. https://www.nginx.com/resources/wiki/
2. https://www.digitalocean.com/community/tutori-
als/how-to-install-nginx-on-ubuntu-16-04
3. https://blog.desdelinux.net/nginx-una-intere-
sante-alternativa-a-apache/
4. https://blog.docker.com/2015/04/tips-for-deploy-
ing-nginx-official-image-with-docker/

32 Centripio Magazine #02


El futuro de la impresin 3D es la
impresin rpida en lquidos

Karlos Fuentes
@KarlosFuentes

http://centripio.io 33
Desde hace unos aos, son cada vez ms habituales
las noticias sobre objetos de la vida diaria que son
fabricados con impresoras 3D. Y es que cualquier
cosa que se pueda representar se puede imprimir.

Que es la impresin 3D?

La impresin 3D tambin es llamada: Fabricacin adi-


tiva (Additive Manufacturing), manufactura por capas
(layers), fabricacin de forma libre o procesos aditivos.
El nombre de "Manufactura aditiva", es el nombre oficial Arriba: Impresora Mark One.
usado en la industria de la manufactura, esta definicin
En el caso de la Impresora Mark One, es la primera
se encuentra registrada como: (ASTM F2792) para todas
capaz de imprimir en fibra de carbono, que permite
las aplicaciones de tecnologas de prototipos rpidos.
crear materiales tan resistentes como ligeros y ele-
gantes, adems imprime en fibra de vidrio, nylon y PLA.
La Manufactura aditiva se define como el proce-
so de agregar o unir materiales capa por capa, para
La principal ventaja de la Mark One, es que puede im-
crear objetos a partir de diseo y modelado de com-
primir piezas 20 veces ms rgidas y cinco veces ms
puto CAD 3D. Actualmente al rededor del mun-
fuertes que el ABS, segn la empresa, podra ser una
do, la manufactura aditiva est cambiando la forma
revolucin en el campo de la medicina para el desar-
en que se disea y se manufacturan los productos.
rollo de prtesis, ya que como en todo tipo de industri-
as se requiere fabricar piezas pequeas y resistentes.
Tecnologas para la impresin

Existen varias tecnologas de impresin en 3D dif-


erentes, entre las que se encuentran las; SLS (sin-
tetizacin lser selectiva), FDM (modelado por de-
posicin fundida) y SLA (estereolitografa) son las
tecnologas ms utilizadas en la impresin 3D.

A la llegada de la impresin 3D a diferentes sec-


tores profesionales como la construccin o la bio- https://vimeo.com/84989258
medicina, han transformado el proceso de fab-
ricacin hasta lmites insospechados, aunque a Sector de la Alimentacin
veces nos parezcan inslitas, ya son una realidad.
Una de las aportaciones recientes de la NASA a la
humanidad, que probablemente, una de las co-
Medicina sas que echan de menos los astronautas en el es-
pacio son las comidas de la tierra. Para esto la em-
La mayora de impresoras 3D que existen actual- presa BeeHex, que nace como un proyecto de la
mente imprimen objetos en dos materiales plsti- NASA fue la encargada de investigar cmo la im-
cos conocidos como ABS (acrilonitrilo butadieno presin 3D podra ser utilizada para hacer alimentos.
estireno), un termoplstico amorfo muy resistente
al impacto, muy utilizado para usos industriales y El prototipo de la empresa BeeHex se trata de
domsticos y PLA (cido polilctico o policido lcti- un robot Chef 3D, capaz de imprimir pizzas en
co) denominado un polmero parecido al PET (terefta- menos de cinco minutos, suponiendo una alter-
lato de polietileno), que se utiliza para hacer envases. nativa a las comidas preenvazadas diseadas
para la nutricin y consumo en microgravedad.

34 Centripio Magazine #02


Arriba: impresora chef
La razn de que la pizza sea uno de los prim-
eros alimentos que se imprime en 3D, se debe
a que su preparacin se realiza por capas, Electrnica
aprovechando el funcionamiento de la tecnologa.
Las impresoras 3D son capaces de crear objetos cada
Anjan Contractor, Chintan Kanuga, Jordan French y vez ms complejos y la Rabbit Proto (Grupo de inves-
Ben Feltne, cofundadores de BeeHex, as como inver- tigadores de la Universidad de Stanford) le aade una
sores, continan buscando soluciones de impresin caracterstica ms compleja como la impresin de ob-
para pizzeras de alto volumen como Pizza Hut o jetos que ya integren sus propias conexiones electrni-
Domino's y, esperan que en un futuro prximo, las co- cas, es decir, en vez de imprimir la carcasa de un mando
midas impresas en 3D se pidan a travs de una apli- de una consola de juegos, esta impresora nos permite
cacin, y que los clientes tambin tengan la posibilidad imprimir un mando de consola que funciona de verdad.
de personalizar las comidas segn sus preferencias.

Robtica

En este campo, actualmente existen platafor-


mas de aprendizaje que permiten a los robots
explorar y entender su entorno, con esto como
base, la perspectiva es de araas robot que
recorran estructuras para hacer reparaciones. https://youtu.be/mS6-Tzjeths

Este es uno de los objetivos de un grupo de cientficos que Espacio


trabaja en un laboratorio de Siemens ubicado en la Uni-
versidad de Princeton, que es de utilizar la impresin 3D Otro de los campos que le ha dado su impor-
a travs de estas araas robot, equipadas con cmaras tancia a la impresin en 3D est en el espa-
3d para mapear su entorno y para que colaboren en- cio. La idea principal es que los astronautas
tre ellas para fabricar estructuras ms complejas. puedan imprimir sus propias piezas directamente.
Para esto, la NASA, la Agencia Espacial Europea
Actualmente son imprecisos para construir algo muy (ESA), colaboran con 28 compaas industriales en
complejo, pero eventualmente los robots mviles se un programa llamado AMAZE (Additive Manufac-
volvern ms autnomos y podran permitir a las lneas turing Aiming Towards Zero Waste & Efficient Pro-
de produccin producir pequeos lotes de productos duction of High-Tech Metal Products) con el obje-
complejos, en donde el aprendizaje por maquina desem- tivo de fabricar piezas metlicas de titanio de gran
pear un papel cada vez ms importante en el futuro. tamao sin generar residuos y en un menor tiempo.

http://centripio.io 35
La impresin 3D elimina por completo la necesidad Tendencia de la impresin 3D
de tener repuestos en almacn, la ausencia de ma- Investigadores del Instituto de Tecnologa de Mas-
terial sobrante, la reduccin del espacio que requi- sachusetts (MIT), han desarrollado una mane-
ere la impresora es menor y el consumo de energa ra revolucionaria de imprimir en 3D que con-
elctrica es menor. Con estas tecnologas, todas siste en la produccin de objetos en una fraccin
las piezas se transmiten y almacenan en archivos de tiempo con impresoras 3D tradicionales.
CAD, que, pueden ser modificados por los propios
astronautas o desde los ingenieros en la tierra. Self-Assembly Lab trabaj en conjunto con la empresa
estadounidense de muebles Steelcase para desarrollar
el proceso denominada Rapid Liquid Printing, surge
de la idea de imprimir mobiliario rpidamente, con-
siste en el uso de la tcnica RLP, que puede dibujar li-
bremente en un espacio como un tanque lleno de gel.

Arriba: Vlvula de agua. A la izquierda, la original, a la derecha,


una copia impresa en 3D.
La impresin 3D elimina por completo la necesidad
de tener repuestos en almacn, la ausencia de ma-
terial sobrante, la reduccin del espacio que requi-
ere la impresora es menor y el consumo de energa
elctrica es menor. Con estas tecnologas, todas
las piezas se transmiten y almacenan en archivos
CAD, que, pueden ser modificados por los propios
astronautas o desde los ingenieros en la tierra.

Ms all del metal, los ingenieros de las agencias espa- Esto permite crear estructuras de gran escala
ciales estudian las impresoras 3D que utilizan materia- rpidamente, creando un abanico de posibili-
les en polvo similares a la piedra, para la construccin de dades para la produccin de muebles, abordan-
estaciones sobre la superficie lunar o de Marte. Los in-
do de esta manera los tres retos principales en
vestigadores trabajan con impresoras como la D-Wave,
que su proceso consiste en mezclar materiales simi- la fabricacin: velocidad, escala y propiedades
lares al polvo lunar con sales que actan como aglom- de los materiales.
erantes para generar materiales parecidos al cemento,
pero en seco. Actualmente la impresora D-Wave es ca-
paz de imprimir dos metros de material en una hora.

La impresin lquida permite que la apertura robtica


pueda dibujar libremente en el espacio 3D, por aho-
ra solo est limitado slo por el tamao del depsito.

36 Centripio Magazine #02


El gel usado evita que el material tenga que Steelcase considera a la tecnologa como un paso
luchar con la fuerza de gravedad evitando la importante en el desarrollo de muebles y espa-
necesidad de construir a partir de una base. cios de oficina personalizables, adems de uti-
lizarse a gran escala incluyendo aplicaciones
aeroespaciales, automotrices y arquitectnicas.

El equipo ha experimentado con una variedad de


materiales de impresin incluyendo plsticos, cau-
chos y poliuretanos con diferentes propiedades.

https://player.vimeo.com/video/211513776
En Conclusin, cuando estas tecnologas se usan de
manera correcta, pueden ahorrar tiempo y recursos
para las organizaciones con menores costos y mejor cal-
idad, ya que con la implementacin de las impresoras
3D y las herramientas de diseo digital, se est trans-
formando la forma en que fabricamos los productos.

En cada caso, se mezclan dos materi-


ales en la boquilla y se curan qumi-
camente a medida que se expulsa.

El material se extrae como una pasta de dientes


de un tubo, por lo que le da mejor integridad es-
tructural que si fuera construido capa por capa.

http://centripio.io 37
Bootstrap (BS) a sido una gran herramienta para darle vida a nuestras pginas, es un
framework del lado del cliente enteramente (front-end), basado en HTML y CSS, tiene
una serie de elementos visuales tales como botones, formas, tipografas, mens, pane-
les, etc, que nos ayudan generar nuestras pginas, de una manera muy sencilla y rpida.

Es la herramienta perfecta para todo desarrollador front- Cambio el uso de Less a Sass, y adaptacin de vari-
end, y para los que no conocen mucho de sobre el tema. ables a Sass.
BS ahora compila mucho ms rpido, gra-
BS ha ido evolucionando radicalmente a lo largo de cias a Libsass, mejores variables y mixins.
su vida, en la versin 2.0 soportaba diseo responsivo, En lugar de mover y mejorar estilos como gradien-
todo un hito en la creacin de pginas web, que se tes, transiciones, sombras, clases del grid, entre
podan desplegar tanto computadoras, tablets y tel- otras cosas en una nueva hoja de estilos, todas
fonos sin la necesidad de hacer el zoom caracterstico estas opciones fueron movidas a variables Sass.
por aquellos aos; en la versin 3.0 adopt la filosofa
mobile-first, prestando especial atencin en que los Se eliminaron los componentes panel, thumbnail, y
diseos creados se vean bien en dispositivos mviles, well para poner en su lugar cards.
entonces si se veian bien ahi, por ende se deberan
Cards, es un componente totalmente nuevo en
de mirar bien en pantallas ms grandes, como las de
BS, pero te debes de sentir cmodo con l porque
laptops y PC. Ahora en la versin BS 4.0 (todava en
hace lo mismo que los panel, thumbnail y well
Beta) agreg SASS y FlexBox entre otros componentes.
hacen, solo que ahora de una mejor manera.

BS 4.0, despus de la versin Alpha, y liberacin de la Se elimino la fuente de Glyphicons.


versin Beta, ha cambiado considerablemente, hacien- Se elimino el componente pager.
do y deshaciendo muchas cosas, ha ido puliendo para
Ya no soporta navegadores viejos, el caso de IE8, IE9,
obtener un gran cambio y mejoras en distintas partes.
y iOS 6.
Aun ocupas soporte para estos navegadores?
Principales cambios y novedades No te preocupes, contina utilizando BS 3.0.

BS 3, ha sido casi reescrito totalmente para crear BS 4, Se incorpor flexbox (mdulo CSS3 para respon-
estos cambios incluyen: sive design) y se retir el soporte a cosas non-flex-
box, adems de cambios en el sistema de grids.

38 Centripio Magazine #02


Casi todo se movi a flexbox, y se agreg Cards
una nueva estructura a los grids para
dar mejor soporte a dispositivos mviles. Algo notorio inicialmente en BS4 es el uso de card, las
Se cambiaron las unidades de medida de pixels a antiguas clases .panel y .well han sido reemplazadas
root ems. por .card. Este cambio tiene mucho sentido, ya que en
diseo responsivo se utiliza mucho este trmino card
Unidades movidas a rem para un me-
para el acomodo de los componentes, donde estos com-
jor control del tamao de los componen-
ponentes (cards) pueden ser ordenados y acomodados
tes y tomar ventaja de CSS ms nuevo.
independientemente unos de otros, hacindolos un ele-
Se increment el tamao de letra default, de 14px mento esencial para la creacion de paginas responsivas.
a 16px.
En general se reescribieron casi todos los compo- Los cards se pueden mostrar agrupadas, solas, o
nente, plugins y documentacin. en diferentes estilos, de igual o de diferente tamao,
hay distintos acomodos y opciones en el contenido.
Plugin Javascript reescritos.
Cada plugin JS ha sido reescrito en ES6 para tomar En la siguiente imagen se puede ver que tienen as-
ventaja de las novedades de JavaScript, nuevos pecto similar a los paneles, pero dado su habili-
mtodos, opciones de chequeo de tipos y ms. dad para ser acomodados facilmente y definidos
de una manera mas clara, hacen que sea muy fcil
Mejoras en tooltips, popovers y dropdowns
su desarrollo y mantenimiento. Tambin podem-
Estas mejoras son gracias al uso de la libreria Pop- os apreciar el cambio de fuente de 14px a 16px.
per.js
Y mucho mas!
Controles de formularios, rediseo del car-
rusel, menus, HTML5 para validaciones
y estilos, y cientos de clases utilitarias
y nuevos componentes han sido incluidos.

Principales novedades:
Imagen 02- Comparacin Panel y Cards. De aspecto similar
Botones pero con increble uso para diseo responsivo.
En la Imagen 01 podemos ver cmo han ido cambi- Fuentes
ando los botones en las diferentes versiones de BS,
hay una diferencia obvia en las versiones 2.x y 3.x Otro punto que resalta es el incremento del tamao de-
donde se movi el gradiente a un diseo plano, esto fault de fuente. El tamao default paso de 14px a 16px
aparece en estilos de mens (elemento nav) y bot- en BS4. Recordemos que todos los tamaos de fuen-
ones. En BS 4 el cambio es un poco ms sutil en el tes cambiaron a unidades rem, entonces el tamao
look-and-feel, siguen siendo planos, solo que aho- de las fuentes son relativas al elemento raz (root).
ra hay una versin de contornos del color del botn

Imagen 03- Fuentes


Imagen 01- Botones y estilos

http://centripio.io 39
BS 4 tambin integra clases para el tamao del fuente Cards con la misma altura y anchura.
en los ttulos, el grupo de clases display-* , veamos el Centrado vertica y horizontal sin valores
siguiente ejemplo: hardcode en mrgenes u otros elementos.
Clases de utilidades para manejar mejor la visu-
alizacin, direccin y alineacin de elementos.
Auto mrgenes para un espaciado ms fcil.
Grupos de botones y mens justificados.

Casi cada componente de BS toma ahora ventaja de la


El cdigo anterior produce estas diferencias en un integracin de Flexbox. Se tiene ahora mejor control
elemento H1: sobre el DOM, y el ordenamiento visual, esto nos lleva
a tener menos errores y mejor mantenimiento. Inclu-
so componentes complejos como el carrusel ha sido
modificado en algunos lugares para utilizar flexbox.

Comentario final

Algo muy importante es que hay que tener en cuen-


ta que la versin de BS 4 actual, contina en versin
Beta, y que algunas de las caractersticas aqu de-
Imagen 04- Encabezado scrita podra cambiar un poco, pero no es algo de
que alarmarse demasiado, dado que BS 4 se en-
Flexbox cuentra al final de la fase beta, los cambios que
pueden ocurrir son relativamente pocos o casi nulos.
BS4 ahora utiliza Flexbox por default, Flexbox es una
poderosa herramienta para diseo de layouts, y nos
Invito fervientemente a todos nuestros lectores, a que
provee una gran flexibilidad y un mejor control del
visiten la pagina oficial de Bootstrap para estar al tanto
sistema de grid utilizado por bootstrap y componen-
de cualquier actualizacin de ultimo momento, ademas
te core. El costo de incluir Flexbox es que se dej de
de que nos contacten por cualquier duda o comentar-
tener soporte para IE9, pero nos da mejoras signif-
io. No dejen de seguirnos en nuestras redes sociales,
icativas para alineaciones y tamao de elementos.
e invitar a sus amigos que conozcan nuestra revista.

Por decir un ejemplo, gracias a la utilizacin


de Flexbox en los nuevos elementos cards,
Referencias
es mucho ms fcil crear grupos de cards:
Guia oficial: http://bootstrap4.guide/

Cards: https://uxdesign.cc/design-better-cards-
c0d12ab581c4

Flexbox: https://filisantillan.com/el-gran-poder-de-
css3-flexbox/

Guia visual: https://medium.com/wdstack/bootstrap-4-


Imagen 05- Encabezado
Para las personas que no estn familiariza- whats-new-visual-guide-c84dd81d8387
das con flexbox, veamos una lista de mejo-
ras que esta herramienta nos aporta en BS4:
Igual anchura en columnas de las tablas.

40 Centripio Magazine #02


Por: Abad Lpez

Programacin y los nios - La programacin


debe de ser una materia ms en las escuelas.
En la actualidad la mayora de los planes
educativos carece de una materia de
programacin, y en algunos colegios
privados la tienen como una materia op-
cional cuando esta debera de ser oblig-
atoria, incluso desde nivel primaria.
Pero Por qu es tan importante la pro-
gramacin? La programacin prctica-
mente est en todo lo que nos rodea, en
la actualidad casi todo requiere un tipo de
programacin; por ejemplo: las direcciona-
les de los carros, los semforos, las aplica-
Hoy en da casi todo requiere algn tipo de pro- ciones de los celulares, los puntos de venta
gramacin, entonces sera bueno por empezar ha- de los supermercados, en la medicina, etc.
ciendo esta pregunta: Qu es la programacin?.
Si alguno tiene hijos y despus de haber ledo
Programar es algo que puede aprenderse de una lo anterior piensan que es mucho el tiempo
manera sencilla si el estudio es constante, entonc- que pierden ellos frente al televisor o con un
es Por qu no todo el mundo sabe programar?. gadget, mantengan la calma, no todo est
Segn un estudio realizado por el Instituto Federal de Telecomu- perdido pues los nios con la gua correcta
nicaciones (IFT) en 12 ciudades del pas con nios y nias de entre de los padres de familia o tutores pueden
7 y 12 aos, result que los nios mexicanos pasan 54% ms de estar conviviendo con muchos programas
horas viendo la televisin que en la escuela, lo que quiere decir que sin darse cuenta y sin tener alguna idea de
si sumamos las horas que le dedican a cada actividad (escuela y qu es la programacin o cmo hacer un
ver televisin) en un ao los nios estn ms tiempo frente a la TV. programa, aprender de una forma divertida.

Para aportar ms cifras ms evidentes, el reporte dice:


Tiempo promedio que los nios pasan en forma acumulada
al ao frente a la televisin: mil 636 horas (unas 4 horas y
media por da).
Tiempo promedio que los nios pasan en forma acumulada
al ao en la escuela: mil 62 horas (5.4 horas en 195 das del
ciclo escolar).

La televisin sigue siendo el principal medio de entretenimiento,


Sabemos que a la mayora de los nios les
la diferencia es que hoy en da los nios son multipantallas lo que
gustan los retos y tienen algo muy valio-
quiere decir que al mismo tiempo de estar viendo la tv pueden
so que la mayora de los adultos hemos
estar entretenidos con un gadget. Algunos padres de familia des-
perdido, la famosa pregunta: El porqu
graciadamente confan la educacin de sus hijos a un aparato
de las cosas. Este es una cualidad muy
electrnico, pues piensan que sus hijos son muy inteligentes por
valiosa ya que cuando un nio se hace
dominar un gadget a la perfeccin; pero se han puesto a pensar:
preguntas no tiene lmite para imaginar
quin domina a quin? los nios realmente estn aprovechan-
muchas respuestas sin saber si es posible
do el tiempo que pasan en internet?. Con las preguntas anteriores
o no, y claro, los lleva a un pensamiento
entramos a un tema muy interesante: Programacin para nios.
lgico el cual se requiere para programar.

http://centripio.io 41
En el mundo hay ms de dos mil profesores que sconociendo Linux o Unix como otra alternativa.
Apple reconoce como Distinguished Educa-
tors y el mexicano Alfredo Mora es uno de ellos. Debido a que en Mxico la programacin en nios
Definitivamente hay diferentes formas de ensear prcticamente es un campo virgen me dediqu a in-
programacin desde el kinder, una es utilizando vestigar sobre qu es lo que hacen otros pases lati-
unas abejitas robticas. noamericanos sobre este campo y me encontr que:
En la primaria los nios aprenden a programar un
robot de Lego utilizando Scratch un lenguaje muy Listn Diario (del diario de Repblica Dominicana) tiene
conocido y difundido que hace el MIT. un artculo muy interesante y que deberan leer titu-
En la secundara suben un escaln ms hacia Live- lado: El mundo ser de quienes sepan programar.
Code, una plataforma para desarrollar apps nativas La argentina Jennifer Brooks, quien maneja el rea
que utiliza una sola fuente de cdigo, lo que sig- de Filantropa de Microsoft hace hincapi en que
nifica que los programas que se desarrollan son Repblica Dominicana y los dems pases de lati-
funcionales en iOS, Android, Windows, Mac, entre noamericanos tienen la gran oportunidad de al-
otros. fabetizar en el rea de programacin a los nios,
En la preparatoria aprenden sobre redes en espe- en la entrevista para este diario dijo las siguientes
cfico CISCO y Swift el lenguaje de Apple. palabras: Ahora es el momento. Y quiero dejar
esa sensacin de urgencia. Este es el momento
de aprender, no dentro de cinco aos cuando
estemos fuera del mercado. Nios y nias de
las escuelas, los maestros..., todos tenemos que
saber programar. No quiero ser catastrfica
con esta nueva revolucin; creo que s va a ser
un cimbronazo social y todos nos vamos a ten-
er que acomodar, pero creo que hay una opor-
tunidad enorme para que mucha gente sea in-
cluida y se creen otras nuevas reas de trabajo.
Brooks y la ministra de la Juventud, Robiamny Bal-
ccer, tienen un inters de formar jvenes en reas
tecnolgicas. La idea de trabajar con el Ministerio
En Mxico no le damos la importancia que de la Juventud es para darle esa oportunidad a los
se le debera dar a la programacin en jvenes que no aprendieron cuando eran pequeos.
los nios ya que existen muchos factores: Robiamny especficamente tiene inters de hacer
En las escuelas pblicas no hay un esto para las Casas de la Juventud (que se crearn
plan de estudios que integre la pro- 38 en distintas partes del pas, ocho este ao), y
gramacin como una materia obligatoria. ella se ha comprometido en llevar la discusin de
Los padres de familia desconocen el significado las ciencias de la computacin con los ministerios
de la programacin, y me atrevo a decir que la de Educacin, Trabajo, y con todas las reas que
mayora de maestros que imparten programacin tienen que ponerse de acuerdo, asegura Brooks.
en los primarias particulares se limitan a ensear Por medio de la iniciativa Yo puedo programar,
frmulas en excel y/o crear algunas estructuras han sido muchos los nios que han aprendido.
de control, olvidando que la esencia de la pro- Solo en el pas, asegura Brooks, entre 2014 y 2016
gramacin es el razonamiento y que no se tra- unos 45,000 nios, adolescentes y jvenes en
ta solo de memorizar las estructuras de control. edades de 8 a 16 aos han utilizado este programa.

Pienso que no deberas casarte con un lengua- Para leer el artculo completo puedes ingresar al
je de programacin, como por ejemplo Swift que siguiente link: https://www.listindiario.com/tec-
es de Apple, lo cual me hace recordar cuando en la nologia/2017/06/06/468998/el-futuro-cercano-es-
escuela solo nos enseaban a usar windows, con- ta-en-la-programacion
virtiendonos en consumidores de microsoft y de-

42 Centripio Magazine #02


En Youtube podemos encontrar un vdeo muy inte- ensea jugando, la siguiente pgina https://codecom-
resante titulado: Todos deberan aprender a pro- bat.com/ nos introduce a la programacin mediante
gramar, es un vdeo corto de diez minutos el cual ex- el juego. Aprender puede ser divertido para un nio,
plica claramente la importancia de la programacin, sin obtendrn mejores calificaciones en la escuela y lo
embargo no estoy de acuerdo con el siguiente punto mejor estarn capacitados para innovar en mbito
de vista: No se necesita ser un genio para aprender de sus vidas, eliminando la barrera que actualmente
a programar, solo debes saber sumar y restar. El ra- existe con muchos profesionistas, incluso cientfi-
zonamiento lgico matemtico es muy importante, cos pues siempre se necesita de un programador.
la base de la programacin es el razonamiento mis-
mo, porque un programador no se limita a saber so-
bre un rea especfica pues debe aprender de otras
reas como la contadura, medicina, biologa, etc, lo
cual depende de lo que se tenga que programar.

El mes anterior impart un curso de programacin de


40 horas a nios de diez y once aos, lo cual me re-
sult complicado porque no tengo una gran experien-
cia pedaggica, pero que si bien es cierto actualmente
existen muchas herramientas para facilitar la ensean-
za. Como fue de esperarse prefer la vieja escuela e
inici con algoritmos, diagramas de flujo y pseudocdi-
go. A ganancia de tiempo por mi buenos alumnos nos
alcanz el tiempo para ver lgebra y lgica matemti-
ca. El resultado fue increble pues los nios fueron
capaces de resolver problemas que me han pues-
to en algunos procesos de seleccin para un trabajo. Un dato importante: tan solo en Estados Unidos den-
tro de seis aos se necesitarn 1 milln 400 mil traba-
Hubo un momento en donde record mis aos uni- jos informticos y solo habr 400 mil egresados. As
versitarios, cuando explicaba a mis compaeros so- que ahora es el momento de que los nios empiecen
bre las estructuras de control pero no todos me en- a programar, no maana, no en un futuro. Es cierto
tendan, era frustrante, sin embargo me sorprend que la Inteligencia Artificial no es como en las pelculas
cuando los nios comprendieron rpidamente pero actualmente tiene un gran auge y ha avanzado
e incluso resolvieron problemas de recursividad. ms rpido de lo que creamos, muchos empleos de-
saparecern pero surgirn otros nuevos, y es por eso
La facilidad con que estaban aprendiendo el lenguaje C que la niez debe de estar preparada. Sin ms, nos
fue excelente. Hubo gente que cuestion mi ensean- leemos en el prximo artculo, no sin antes decirles
za del lenguaje C, y argumentaron que actualmente que si tienen la oportunidad de ensearle a programar
existen otros lenguajes ms sencillos y modernos a un nio, ahora es el momento, El conocimiento se
como Python; Mi respuesta es que es ms fcil saber comparte!.
C y aprender Python que Saber Python y aprender C.
Pienso que no es necesario esperar al bachillerato o Enlaces externos
la universidad para aprender y/o ensear temas com- http://laorquesta.mx/especial-ninos-mexicanos-multipantalla/
plejos, ya que si se sabe plantear bien el problema a http://www.elfinanciero.com.mx/empresas/ninos-mexicanos-desti-
modo de que un nio lo entienda, ellos lo resolvern. nan-54-mas-horas-a-ver-tele-que-a-la-escuela.html
A continuacin les proporciono el link de Youtube http://www.informador.com.mx/tecnologia/2017/718975/6/mas-de-
donde pueden ver la entrevista a un nio de 10 aos la-mitad-de-los-ninos-mexicanos-utilizan-gadgets.htm
explicando lo que aprendi en el curso de 40 horas: http://laureate-comunicacion.com/prensa/80-de-los-ninos-menores-
https://www.youtube.com/watch?v=dktqlkk1eFE de-12-anos-utiliza-gadgets-cotidianamente/

Ensear a los nios no tiene que ser difcil si se les

http://centripio.io 43
Centripio Magazine
es posible gracias a:

Direccin editorial:
Andres Bedoya / @andresdigital
Carlos Raygoza / @carlosraygoza
Oscar Blancarte / @oscarjblancarte

Colaboradores en esta edicin:


Abad Lpez / @abad_lp
Isabel Palomar / @isabelpalomar
Cesar Guerra / @cesarricardoguerraarnaiz
Jaime Surez / @genomma
Cristian Nieto / @cristiannietobi
Yamit Leiva / @yamitleiva
Rafael Lpez / @mintaka_star
Tomas Mujica / @t_mujica
Pablo Galeana / @pablogaleana
Karlos Fuentes / @karlosfuentes

Quieres participar?
Si tienes algn artculo o tema interesante que quieres publicar
en la revista, mndanos tu propuesta a [email protected] y con
gusto veremos cmo publicarla.

Recursos grficos:

http://www.freepik.es/

También podría gustarte