Centri Pio Magazine 02
Centri Pio Magazine 02
Centri Pio Magazine 02
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?
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
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.
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.
CONTEXTO
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.
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
FACTOR 9 - DESECHABILIDAD
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
CONCLUSION
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.
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
http://centripio.io 11
Introduccin a los
patrones de diseo,
el nico libro que
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.
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.
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,
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.
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.
QUE ES TRELLO?
Proyecto (ttulo).
Tarjeta (tareas).
Lista (listas de tareas).
Tablero.
Proyecto Scrum
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?
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.
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]
Referencias
Timn de barco: Photo by Joseph Barrientos on Un-
splash
Hombre lanzndose al agua: Photo by Tommaso For-
noni on Unsplash
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.
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:
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.
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.
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.
http://centripio.io 29
Por: Toms Mujica
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.
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
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/
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.
Robtica
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.
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.
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.
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 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.
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
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.
Comentario final
Cards: https://uxdesign.cc/design-better-cards-
c0d12ab581c4
Flexbox: https://filisantillan.com/el-gran-poder-de-
css3-flexbox/
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-
http://centripio.io 43
Centripio Magazine
es posible gracias a:
Direccin editorial:
Andres Bedoya / @andresdigital
Carlos Raygoza / @carlosraygoza
Oscar Blancarte / @oscarjblancarte
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/