Translate

jueves, 25 de febrero de 2016

Try Ember

Codescholl lo hace de nuevo, publica un curso corto de forma gratuita. Si estas interesado en saber que es Ember este curso es para vos: 






COURSE DESCRIPTION

Pack your bags and help the Woodland Wanderers as you learn how to use Ember and Ember CLI to build your next ambitious web applications.

COURSE OVERVIEW

  1. Level 1 Try Ember Badge

    LEVEL 1 FREE LEVELGetting Started 1 Video | 5 Challenges

    Learn what Ember is, who uses it, and how to create your first Ember application with Ember CLI.
  2. Level 2 Try Ember Badge

    LEVEL 2Routing and Templating 2 Videos | 11 Challenges

    Meet the Ember router and routes, and customize the presentation of your application using templates.
  3. Level 3 Try Ember Badge

    LEVEL 3Models and Services 1 Video | 3 Challenges

    Explore services to share common features and functionality while using models to formalize your application data.
  4. Level 4 Try Ember Badge

    LEVEL 4Actions 1 Video | 5 Challenges

    React to user events and make your application more dynamic and interesting with actions.
  5. Level 5 Try Ember Badge

    LEVEL 5Properties and Components 2 Videos | 6 Challenges

    Bring everything together for cleanliness and reuse with Ember’s computed properties and components.



EMPLEARTEC

Me llego este mail y es una buena oportunidad si buscas capacitarte:

Ver versión Online
Capacitate gratis en software y tecnología
Incribite y cambiá tu futuro.
ORACLE  · MYSQL  · SQL SERVER  · JAVA  · APLICACIONES MÓVILES iOS y ANDROID · VIDEOJUEGOS  · DISEÑO WEB  · ANIMACIÓN 3D  · LINUX  · PHP  · .NET  · FLASH
· HERRAMIENTAS DE OFFICE  · E-COMMERCE · REDES SOCIALES: COMMUNITY MANAGER · CISCO: CCNA R&S - SECURITY · GESTIÓN DE PROYECTOS · SISTEMAS EMBEBIDOS · SISTEMAS DE GESTIÓN EMPRESARIAL · TESTING   Ver todos los cursos
Si te interesa capacitarte gratis en software y tecnología, aprovechá esta nueva oportunidad: ingresá al sitio deempleartec.org.ar y registrate en los cursos que más te interesan aquí.

Una vez más, gracias a la alianza estratégica entre la Cámara de la Industria Argentina del Software (CESSI) y el Ministerio de Trabajo de la Nación, y con el invalorable apoyo de empresas referentes del sector, hemos lanzado el programa de formación profesional gratuita EMPLEARTEC – Control+F / Control+A 2016, con el objetivo de fomentar más y mejor empleo en las áreas de software y tecnología de todo el país.

¡No te pierdas esta nueva posibilidad! Elegí aquí entre más de 200 cursos y cambiá tu futuro.

Saludos cordiales,

Gabriel Martinez Riva / Director General de CESSI
Nazareno Villa / Coordinador de EMPLEARTEC
 seguinos en Facebook seguinos en Twitterempleartec.org.ar
Ministerio de Trabajo, Empleo y Seguridad SocialFormación ContinuaCESSI Argentina
¿Deseas dejar de recibir estos emails? Click aquí
CESSI | Marcelo Torcuato de Alvear 636 Piso 4 | Buenos Aires | 1058

martes, 23 de febrero de 2016

Como scala conquisto el mundo Big data

Quiero compartir un interesante video sombre como scala va tomando relevancia en el mundo de big data:


lunes, 22 de febrero de 2016

MailRelay, la forma más fácil y rápida de hacer publicidad por email


No es muy común esta clase de post en el blog pero estuve probando esta herramienta y me gusto mucho. Y quiero compartirla con ustedes.

MailRelay es una herramienta de envío de emails. No! No es un cliente de correo, es una plataforma de email marketing avanzado con características de gran alcance. Te permite crear, enviar y gestionar tus boletines enviados vía emails con estadísticas completas, a la vez podes analizar el comportamiento del suscriptor.

Email marketing??  Si, tambien se lo conoce como ciberbuzoneo  o en inglés: e-mailing es un método de marketing directo que utiliza el correo electrónico como medio de comunicación comercial para enviar mensajes a una audiencia. De esta forma podes tener al tanto a tus clientes de las novedades de tu empresa, nuevos productos, ofertas, etc...

Con MailRelay podemos crear boletines y enviárselas a un grupo de suscriptores, a la vez la herramienta analiza el comportamiento del subscriptor, de esta forma podemos saber cual es el articulo más visitado, y que suscriptores vieron que articulo pudiendo analizar las necesidades de los clientes según esta información.

MailRelay no solo permite crear campañas de email marketing sino que tambien darle un correcto seguimiento y tener un contacto real con los clientes. Y es muy importante este seguimiento tanto para fidelizar al cliente como para estimular las ventas.

Entre otras ventajas podemos nombrar:

  • Un seguimiento inteligente de los clientes: con esta herramienta podes saber que necesita cada suscriptor y podemos hacer un seguimiento de los clientes y sus necesidades. 
  • No vamos a ser catalogados como spam:  Mailrelay cumple con todas las normas de correo electrónico anti-spam, haciendo que la puntuación antispam sea menos posible.
  • Templates para nuestros boletines:  Mailrelay cuenta con una completa biblioteca de templates gratuitos que podemos utilizar. 
  • SMTP de alto rendimiento:  Mailrelay nos ofrece un servicio smtp que se distingue por su alto rendimiento. 
  • Facilidad de uso: No es necesario que contrates a un programador o un diseñador gráfico, cualquier persona puede utilizar este servicio. 
  • Atención personalizada: Recibe atención personalizada y respuesta inmediata a tus dudas.
  • Y además de estas características cuenta con muchas promociones y descuentos. Por ejemplo Mailrelay es el único software de email marketing que permite enviar gratis 75.000 emails al mes a 15.000 suscriptores con autorespondedores incluidos.


Como conclusión les aconsejo que vean con buenos ojos a Mailrelay dado su excelente soporte y sus ofertas. Y además es un excelente producto.

Dejo links:
http://blog.mailrelay.com/es/2016/02/08/6-meses-gratis-al-migrar-de-mailchimp-benchmark-getresponse?utm_source=coobis&utm_medium=emanuelpeg=&utm_campaign=campaign8 
http://blog.mailrelay.com/es/2015/11/23/safe-harbour-y-mailchimp-evita-los-problemas-legales-migrando-a-mailrelay/?tm_source=coobis&utm_medium=emanuelpeg=&utm_campaign=campaign8
http://blog.mailrelay.com/es/category/manuales-gratis-email-marketing?utm_source=coobis&utm_medium=emanuelpeg=&utm_campaign=campaign8 

miércoles, 17 de febrero de 2016

No pares de aprender


Leí un muy buen post, básicamente lo que hace esta persona es recolectar un montón de sitios para aprender de forma gratuita y paga.

Muy buena idea!!

Dejo el link:
https://medium.com/synapse/insatiably-curious-6caaff8d0422#.mb1c78606

domingo, 14 de febrero de 2016

5 programadores que cambiaron el mundo.

Leí un articulo sobre 5 programadores que cambiaron el mundo. La verdad no me gusto mucho el resultado, en la lista estaban:

  • Dennis Ritchie
  • Bjarne Stroustrup
  • Linus Torvalds
  • Bill Gates
  • Mark Zuckerberg


Hasta Bill Gates estaba todo bien, pero Mark Zuckerberg?? Me parece mucho, pero bueno.

En mi opinión debería estar, Alan Kay. Por la programación orientada a objetos por supuesto.

Y vos que pensas que agregarías o sacarías?

Dejo link:
http://www.techora.net/2016/02/top-5-influential-programmers.html

sábado, 13 de febrero de 2016

Scala vs. Python para utilizar con Apache Spark



Leí un articulo por demás interesante, Apache Spark nos permite utilizar varios lenguajes para interactuar con él. La pregunta es, que lenguaje es mejor?

Por supuesto se puede tender a decir el más conveniente técnicamente, pero tambien existen consideraciones ajenas a lo técnico.

El articulo intenta dar luz sobre que lenguajes es mejor a nivel técnico para interactuar con Spark. Para ello nos muestra esta tabla comparativa:


Les recomiendo la lectura de este articulo. 

Dejo link:
https://www.dezyre.com/article/scala-vs-python-for-apache-spark/213

viernes, 12 de febrero de 2016

Remix OS, el android de escritorio


Remix OS es un sistema operativo que trata llevar lo mejor de android a la PC. Cuenta con modificaciones, para que android funcione en la PC.

Este sistema se puede descargar de forma gratuita y prueba que Android tiene muchas posibilidades en el escritorio de una PC.

Con Remix OS llega una propuesta que trata de demostrar que esa dualidad no es necesaria y que este fork de Android puede convertirse en una opción válida para los usuarios. En este SO nos encontramos con diversas opciones que transforman la experiencia móvil en una experiencia de escritorio, a saber:

  • Multitarea
  • Menú de inicio
  • Atajos de teclado y ratón
  • Explorador de archivos

Dejo un video:



Dejo link: http://www.jide.com/en/remixos

martes, 9 de febrero de 2016

Manual sobre desarrollo y arquitectura de vídeo juegos.


Quiero compartir un manual sobre vídeo juegos escritos en c++. Si bien es bastante básico nos enseña conceptos básicos y avanzados de c++ que nos permiten desarrollar vídeos juegos.

Este tutorial de 306 paginas esta escrito por la Escuela Superior de Informatica de Ciudad real. 

Les dejo el indice: 

1.1. El desarrollo de videojuegos
1.1.1. La industria del videojuego. Presente y futuro
1.1.2. Estructura típica de un equipo de desarrollo
1.1.3. El concepto de juego
1.1.4. Motor de juego
1.1.5. Géneros de juegos
1.2. Arquitectura del motor. Visión general
1.2.1. Hardware, drivers y sistema operativo
1.2.2. SDKs y middlewares
1.2.3. Capa independiente de la plataforma
1.2.4. Subsistemas principales
1.2.5. Gestor de recursos
1.2.6. Motor de rendering
1.2.7. Herramientas de depuración
1.2.8. Motor de física
1.2.9. Interfaces de usuario
1.2.10.Networking y multijugador
1.2.11.Subsistema de juego
1.2.12.Audio
1.2.13.Subsistemas específicos de juego
2. Herramientas de Desarrollo
2.1. Introducción
2.2. Compilación, enlazado y depuración
2.2.1. Conceptos básicos
2.2.2. Compilando con GCC
2.2.3. ¿Cómo funciona?
2.2.4. Ejemplos
2.2.5. Otras herramientas
2.2.6. Depurando con GNU GDB
2.2.7. Construcción automática con GNU Make
2.3. Gestión de proyectos y documentación
2.3.1. Sistemas de control de versiones
2.3.2. Documentación
2.3.3. Forjas de desarrollo
3. C++. Aspectos Esenciales
3.1. Utilidades básicas
3.1.1. Introducción a C++
3.1.2. ¡Hola Mundo! en C++
3.1.3. Tipos, declaraciones y modificadores
3.1.4. Punteros, arrays y estructuras
3.1.5. Referencias y funciones
3.2. Clases
3.2.1. Fundamentos básicos
3.2.2. Aspectos específicos de las clases
3.2.3. Sobrecarga de operadores
3.3. Herencia y polimorfismo
3.3.1. Herencia
3.3.2. Herencia múltiple
3.3.3. Funciones virtuales y polimorfismo
3.4. Plantillas
3.4.1. Caso de estudio. Listas
3.4.2. Utilizando plantillas en C++
3.4.3. ¿Cuándo utilizar plantillas?
3.5. Manejo de excepciones
3.5.1. Alternativas existentes
3.5.2. Excepciones en C++
3.5.3. ¿Cómo manejar excepciones adecuadamente?
3.5.4. ¿Cuándo utilizar excepciones?
4. Patrones de Diseño
4.1. Introducción
4.1.1. Estructura de un patrón de diseño
4.1.2. Tipos de patrones
4.2. Patrones de creación
4.2.1. Singleton
4.2.2. Abstract Factory
4.2.3. Factory Method
4.2.4. Prototype
4.3. Patrones estructurales
4.3.1. Composite
4.3.2. Decorator
4.3.3. Facade
4.3.4. MVC
4.3.5. Adapter
4.3.6. Proxy
4.4. Patrones de comportamiento
4.4.1. Observer
4.4.2. State
4.4.3. Iterator
4.4.4. Template Method
4.4.5. Strategy
4.4.6. Reactor
4.4.7. Visitor
5. La Biblioteca STL
5.1. Visión general de STL
5.2. STL y el desarrollo de videojuegos
5.2.1. Reutilización de código
5.2.2. Rendimiento
5.2.3. Inconvenientes
5.3. Secuencias
5.3.1. Vector
5.3.2. Deque
5.3.3. List
5.4. Contenedores asociativos
5.4.1. Set y multiset
5.4.2. Map y multimap
5.5. Adaptadores de secuencia
5.5.1. Stack
5.5.2. Queue
5.5.3. Cola de prioridad
6. Sistemas del Motor de Bajo Nivel
6.1. Subsistema de arranque y parada
6.1.1. Aspectos fundamentales
6.1.2. Esquema típico de arranque y parada
6.1.3. Caso de estudio. Ogre 3D
6.1.4. Caso de estudio. Quake III
6.2. Contenedores
6.2.1. Iteradores
6.2.2. Más allá de STL
6.3. Subsistema de gestión de cadenas
6.3.1. Cuestiones específicas
6.3.2. Optimizando el tratamiento de cadenas
6.3.3. Hashing de cadenas
6.4. Configuración del motor
6.4.1. Esquemas típicos de configuración
6.4.2. Caso de estudio. Esquemas de definición
7. El Bucle de Juego
7.1. El bucle de renderizado
7.2. El bucle de juego
7.3. Arquitecturas típicas del bucle de juego
7.3.1. Tratamiento de mensajes en Windows
7.3.2. Esquemas basados en retrollamadas
7.3.3. Tratamiento de eventos
7.3.4. Esquema basado en estados
7.4. Gestión de estados de juego con Ogre3D
7.5. Definición de estados concretos
8. Importador de Datos de Intercambio
8.1. Formatos de intercambio
8.1.1. Archivos binarios
8.1.2. Archivos en texto plano
8.1.3. XML
8.2. Creación de un importador
8.2.1. Justificación y estructura XML
8.2.2. Lógica de dominio
8.2.3. La clase Importer
9. Recursos y el sistema de archivos
9.1. Gestión básica de recursos
9.2. Gestión de recursos con Ogre3D
9.3. Gestión básica del sonido
9.3.1. Introducción a SDL
9.3.2. Reproducción de música
9.3.3. Soporte de efectos de sonido
9.3.4. Integrando música y efectos
9.4. El sistema de archivos
9.4.1. Gestión y tratamiento de archivos
9.4.2. E/S básica
9.4.3. E/S asíncrona
9.4.4. Caso de estudio. La biblioteca Boost.Asio C++
9.4.5. Consideraciones finales
10.Hilos y Concurrencia
10.1.Fundamentos básicos
10.1.1.El concepto de hilo
10.1.2.El problema de la sección crítica
10.2.La biblioteca de hilos de ICE
10.2.1.The Internet Communications Engine (ICE)
10.2.2.Manejo de hilos
10.2.3.Exclusión mutua básica
10.2.4.Flexibilizando el concepto de mutex
10.2.5.Introduciendo monitores
10.3.Multi-threading en Ogre3D
10.4.Caso de estudio. Procesamiento en segundo plano mediante hilos




lunes, 8 de febrero de 2016

Cursos gratuitos de tecnología Microsoft


Microsoft Virtual Academy es el lugar ideal para comenzar a estudiar tecnologías microsoft. Yo creo que ya hice un post sobre mva, pero quiero reiterar dado la cantidad de cursos que se sumaron.

Tenemos cursos de:

  • Windows 10
  • Cloud Development
  • Game Development
  • Web Development
  • Database Development
  • C# / XAML
  • Visual Studio
  • HTML5 & CSS3
  • For Beginners
  • Y más, y más...

Dejo link:
https://mva.microsoft.com/

Como empezar con Clojure


Una forma es leyendo algo de lisp o common lisp. Otra es siguiendo este post que esta por demás interesante:

https://www.twilio.com/blog/2016/02/getting-started-with-clojure.html

Lenguajes de programación más solicitados y mejor pagados



Bueno ya publique esto cientos de veces, pero es bueno recordar las implicancias que esta tomando la programación funcional y si no me creen vean este post, sobre todo la parte que indica:

A pesar de su poca frecuencia, los lenguajes mejor pagados son: 

1.-Lisp 

2.-F# 

3.-Haskell 

4.-Scala 

5.-Clojure 

6.-Erlang 

7.-Lua 

Dejo link: http://www.taringa.net/post/info/19148330/Lenguajes-de-programacion-mas-solicitados-y-mejor-pagados.html




De programador a project manager


Volví un tanto reflexivo de las vacaciones, dado que escuche como tantas veces la frase, "si asignas las tareas de project manager a tu mejor programador, perderás un buen programador y obtendrás un pésimo project manager" y sin duda esto es así. Es decir sin capacitación de project manager, no obtendremos un buen project manager, ni de un programador, ni de nadie. En muchos casos no son tareas o decisiones que las pueda tomar cualquiera.

Sumo a esta problemática, lo que pasa por estos lares, que si sos un muy buen técnico no podes seguir creciendo con este sombrero, tarde o tempano tenes que transformarte en project manager. Que a mi entender es algo muy tonto dado que no hay peor cosa en el mundo que trabajar de lo que no te gusta.

Pero, ¿porque las empresas se empeñan en transformar programadores en project managers? En principio porque da buenos resultados. Si si, a pesar de todo lo que dije anteriormente. Es necesario que un project manajer tenga conocimiento técnicos. Con los cuales puede validar estimaciones, soluciones. Discutir con el cliente, ver que necesitan los desarrolladores.

Tal vez ustedes lo han sufrido, no existe nada más patético que tener que explicar una estimación a una persona no técnica y que esta persona sin ninguna idea te rechace la estimación solo porque es mucho tiempo.

Por lo tanto esta bueno que el project manajer sea técnico, pero no nos olvidemos que debe recibir mucha capacitación, no se puede pasar de programador a project manager de la noche a la mañana. También podemos optar por hacer un paso gradual donde el programador se le van delegando tareas de project manager de a poco y de menor dificultad.

Y a la vez las empresas deberían dar oportunidad de seguir en la carrera técnica. La idea sería la carrera de programador debería tener una bifurcación en la cual uno podría elegir que perfil toma su carrera.

No es nada fácil más que nada en empresas pequeñas, pero creo seriamente que es donde deberíamos tender.

miércoles, 3 de febrero de 2016

Java Browser Plugin van a ser deprecados en Java 9

Se lo que están pensando, los applet de java ni se usan. Pero créanme se usan y mucho. Todos los que tengan un desarrollo en java con esta tecnología han visto como cada vez nos pedía nuevos carteles de seguridad como anunciando la muerte de los applet.

También tenemos que ver que implicancias tiene con JavaFX. Saben algo?

Los que lo usan a ponerse a migrar!!

Dejo link:
http://www.infoq.com/news/2016/01/java-plugin-eol

Aprende a codificar en code.org



Code.org es una organización que promulga el aprendizaje de programación.

Ahore cuenta con un apartado en castellano. A la vez se puede aprender jugando, es decir podes aprender a programar jugando a minecraft o con startwar o con algún otro juego.

Esta muy bueno te invito a que visites la pagina.




Dejo link: https://code.org/learn

domingo, 31 de enero de 2016

Introducción al Business Intelligence y al Big Data

Otro curso gratuito recomendado, que ya esta por empezar!!

Este curso pretende ser una introducción al Business Intelligence (BI). Se presenta que es un sistema de BI, cuál es la arquitectura de estos sistemas, cuáles son las metodologías principales de Business Analytics (el Clustering y la Clasificación), y cuáles son las tendencias actuales en el área del Business Intelligence.




Les dejo link:
https://miriadax.net/web/introduccion-al-business-intelligence-2-edicion-

Try Python

La gente de codescholl nos regala un curso sobre python, de la misma modalidad de "Try ruby". Sin más les dejo más info:

COURSE DESCRIPTION

​Explore the basics of Python and learn what it means to store and manipulate numbers and words as well as make decisions with your program.

COURSE OVERVIEW

  1. Level 1 Try Python Badge

    LEVEL 1 FREE LEVELBirds & Coconuts 2 Videos | 6 Challenges

    Get started with Python by calculating how many swallows it takes to carry a coconut.
  2. Level 2 Try Python Badge

    LEVEL 2 FREE LEVELSpam & Strings 2 Videos | 7 Challenges

    ​Learn how to store characters in a string to combine, dissect, and slice words.
  3. Level 3 Try Python Badge

    LEVEL 3 FREE LEVELConditional Rules of Engagement 2 Videos | 7 Challenges

    Explore conditionals in Python to see how your program can make important decisions.

martes, 12 de enero de 2016

Que es React?


Si, si voy a hablar de otra librería javascript: React.js. Lo se, hay muchas librerías javascript. Como existe gente que crea otra y como hay gente que la estudia. no lo se. Pero lo que si se es que cuando el mundo parecía solucionado con Angular, apareció Rect.js que hizo ruido y si hizo ruido algo tendrá.

React es una librería Javascript de código abierto para crear interfaces de usuario, la idea es que sea una herramienta para las webs single-page  (que en castellano serían las web que se ejecutan en una sola pagina). Es mantenido por Facebook, Instagram y una comunidad de desarrolladores independientes.

React nos ayuda a modificar datos de forma dinámica. Su objetivo es para ser sencillo, declarativo y orientado a componentes. React utiliza el patrón MVC, y puede ser utilizada conjuntamente con otras librerías Javascript como AngularJS.

En otros post voy a seguir hablando de este fabuloso framework.

Dejo link: https://facebook.github.io/react/
y en español: https://github.com/jlobos27/react-espanol

lunes, 11 de enero de 2016

Linux Mint 17.3 "Rosa" ya se encuentra en todos sus sabores



La ditro Linux Mint 17.3 "Rosa" ya se encuentra para descargar tanto para mate como para cinnamo, Xfce y kde.

El sábado se lanzo la versión xfce y kde, completando así todos los saberes de Mint. Si bien no es una versión que traiga muchos cambios, es bueno mantenerse actualizado.

Para la próxima versión mint va a tomar como base Ubuntu 16.04 LTS. Linux Mint 18 con nombre en clave ‘Sarah’ llegará posiblemente hacia finales de mayo o principios de junio. Este va a tener nuevas meta: renovar el aspecto visual del escritorio, que falta le hace.

Los usuarios de Mint estamos agradecidos y esperamos un gran año para la distro.

Dejo link:
http://blog.linuxmint.com/?p=2978
http://blog.linuxmint.com/?p=2977

jueves, 7 de enero de 2016

Swift le gano a Objective-C en el indice TIOBE.



Todos recuerdan el indice TIOBE, es un indice que muestra los lenguajes más usados y en el mes de diciembre Swift paso a Objective-C.

Que tiene de especial esta noticia?

Bueno, es la primera vez que queda claro que el publico esta más interesado en Swift, que en Objective-C y me parece natural. Por lo tanto si queres programar en la plataformas de Apple, ponete a estudiar Swift.

Dejo link:
http://www.infoq.com/news/2016/01/swift-overtakes-objective-c

Ubuntu GNOME 15.10 fue liberado


En el mundo del software libre existen muchas cosas muy buenas, pero Ubuntu y gnome son una joya.Y ahora podemos verlsa juntas.

Ubuntu GNOME trae un nuevo detalles, los cuales se pueden ver en el video:


miércoles, 6 de enero de 2016

Elixir 1.2 se viene con muchas mejoras!!


José Valim ha anunciado la versión 1.2 de Elixir, el lenguaje funcional dinámico que corre en la plataforma Erlang.

Elixir 1.2 trae mejoras, bug fixing y mejoras en la performance y necesita la versión 18 de Erlang o superior.

Entre las mejorar podemos nombrar:
Se agrega nuevas formas para lo aliases/imports/require, ahora podemos hacer multiples alias por ejemplo:  alias MyApp.{Foo, Bar, Baz}
Se agrego nuevo soporte para matas
Además, las variables también se pueden utilizar como patrones con el operador pin.
Elixir v1.2 introduce el operador "with" que permite resolver patter matching de forma más resumida.

Dejo link:
http://elixir-lang.org/blog/2016/01/03/elixir-v1-2-0-released/

martes, 5 de enero de 2016

Los Mejores Proyectos Open Source 2015

Me gustaría compartir un interesante post donde lista los mejores proyectos del 2015, esto de mejor es muy subjetivo. Pero me parece que esta bien.

Los proyectos que a mi entender son muy interesantes:

  • Spark
  • R
  • Blender
  • git
  • Vagrant
Cual falto? A mi entender faltaron muchos por ejemplo: 
  • Unity
  • Akka
  • play
  • Angular
  • etc...
Que opinan? Cual falta?


Dejo link: 


domingo, 3 de enero de 2016

GOA, a Go-based HTTP Microservice Framework


El lenguje de google no se toma respiro y sigue creciendo. Ahora tengo el agrado de presentar a GOA, que es un framework hecho en Go y que permite definir servicios a través de un DSL y luego se genera el código y la documentación.

Veamos un ejemplo:

package design

import (
        . "github.com/raphael/goa/design" // "dot" imports make the DSL easier to read.
        . "github.com/raphael/goa/design/dsl"
)

var _ = API("winecellar", func() { // The API function defines an API given its name.
        Description("The winecellar service API")
        BasePath("/cellar")        // Base path or prefix to all requests.
                                   // Can be overridden in action definitions using an
                                   // absolute path starting with //.
        Host("cellar.goa.design")  // Default API host used by clients and Swagger.
        Scheme("http")             // Supported API URL scheme used by clients and Swagger.
        Scheme("https")            // Scheme("http", "https") works too
})

var _ = Resource("Bottle", func() { // Define the Bottle resource
        DefaultMedia(BottleMedia)   // Default media type used to render the bottle resources
        BasePath("/bottles")        // Gets appended to the API base path

        Action("show", func() {              // Define the show action on the Bottle resource
                Routing(GET("/:bottleID"))   // The relative path to the show endpoint. The full path is
                                             // built concatenating the API and resource base paths with it.
                                             // Uses a wildcard to capture the requested bottle ID.
                                             // Wildcards can start with : to capture a single path segment
                                             // or with * to capture the rest of the path.
                Description("Retrieve bottle with given ID")
                Params(func() {              // Define the request parameters found in the URI (wildcards)
                                             // and the query string.
                        Param(               // Define a single parameter
                                "bottleID",  // Here it corresponds to the path segment captured by :bottleID
                                Integer,     // The JSON type of the parameter
                                "The name of the bottle to retrieve", // An optional description
                        )
                })
                Response(OK)                 // Define a potential response
                Response(NotFound)           // An action may define any number of responses.
                                             // Their content is defined through ResponseTemplates (not shown
                                             // in this simplistic example). Here we use the default response
                                             // templates defined in goa.
        })
})

var BottleMedia = MediaType("application/vnd.goa.example.bottle+json", func() {
        Description("A bottle of wine")
        Attributes(func() {
                Attribute("id", Integer, "ID of bottle") // Attribute defines a single field in
                                                         // the media type data structure given its
                                                         // name, type and description.
                Attribute("href")                        // The default type for attributes is String.
                Attribute("name", String "The bottle  name", func() { // Like with API, Resource and Action an
                                                         // attribute definition may use an anonymous function
                                                         // as last argument to define additional properties.
                        MinLength(1)                     // Here we define validation rules specifying a
                        MaxLength(255)                   // minimum and maximum number of characters in a bottle
                        // name.
                })
                Attribute("color", func() {              // Descriptions are optional.
                        Enum("red", "white", "rose", "yellow", "sparkling") // Possible field values
                })
                Attribute("sweetness", Integer, func() {
                        Minimum(1)                       // Minimum and maximum int field values.
                        Maximum(5)
                })

                View("default", func() {                 // Views are used to render a media type.
                        Attribute("id")                  // A media type can have one or more views
                        Attribute("href")                // and must define the "default" view.
                        Attribute("name")                // The view simply lists the fields to render.
                        Attribute("color")               // It can also specify the view to use to render
                        Attribute("sweetness")           // fields whose type is itself a media type
                                                         // (the "default" view by default). Not used here.
                })
        })
})

Parece cimplejo a simple vista pero pensemos que estamos codificando y documentando un servicio REST.

A la vez este framework se encuentra documentado en Go academy.

Dejo link:
https://blog.gopheracademy.com/advent-2015/goaUntanglingMicroservices/

miércoles, 30 de diciembre de 2015

Feliz navidad y prospero año



Como todos los años quiero desearles feliz navidad y prospero año. Nos seguimos leyendo en le 2016.

Las más populares bases NoSQL del 2015


Quiero compartir un link muy interesante, sobre las base de datos más populares de este año. Lo más interesante del articulo no esta expreso en articulo y es que son similares a las base NoSql del año pasado. Es decir que este movimiento no nos a dado mayores novedades, cosa que puede ser vista como algo negativo, pero yo pienso todo lo contrario, habla sobre estabilidad. Ya tuvimos problemas, ya los solucionamos, ya podes usar tranquilo estas soluciones. Que piensan ustedes?


Dejo link:
http://www.improgrammer.net/most-popular-nosql-database/

OpenSUSE Leap


OpenSUSE Leap es el contagio de las distros de Mint. Me explico mejor, OpenSUSE Leap es llevar la simpleza a las distros como Mint llevo simpleza a Ubuntu, OpenSUSE Leap llevo simpleza y elegancia a OpenSUSE.

La contra (en mi opinión) es que se debe bajar los DVDs que no esta tan bueno, prefiero bajar un cd chico y luego ir bajando las dependencias.

Que más decir? Les dejo un vídeo:


Dejo link:
https://en.opensuse.org/Portal:42.1
https://software.opensuse.org/421/es

domingo, 27 de diciembre de 2015

10 Ides para Node.js



El mundo de las IDEs va cambiando con el tiempo y seamos sinceros depende de una moda o gusto del desarrollador. También cambia si es necesario compilar o si es un lenguaje interpretado. Por lo tanto estuve buscando una IDE para estudiar un poco de Node y encontré este genial articulo:

http://www.freewebdesigntutorials.net/10-best-integrated-development-environment-for-node-js/

Si alguien le interesa mi opinión Atom esta muy bueno, me gusto mucho. Y IDEs pesadas como eclipse o intellij las veo muy pesadas y no utilizas todas las funcionalidades que traen.

Que les parece? Cual les gusta más?


martes, 22 de diciembre de 2015

NodeOS, el sistema operativo basado en Node.js



NodeOS  es un sistema operativo basado en Node.js, si si lo que escuchaste. NodeOS utiliza un kernel linux y se comunica con el a través de node.js.

Si bien es un proyecto que esta tomando vida y es muy reciente. Este fue impulsado por una sola pregunta: Se puede hacer un sistema operativo con node.js?

Si bien esta hecho con node.js como es de pensar utiliza todas sus herramientas, y se apoya en un kernel linux.

Para más info dejo link: https://node-os.com/

lunes, 21 de diciembre de 2015

Cosas que se pueden hacer en F# y no en C#

Estuve viendo este video y me resulto muy entretenido, como el titulo indica ataca las diferencias entre estos dos lenguajes:


jueves, 17 de diciembre de 2015

Stack Overflow en español



Stack Overflow en español es un sitio de preguntas y respuestas para programadores y profesionales de la informática. Es 100 % gratuito, y no se requiere registro.

Así se anuncia Stack Overflow en español. Ahora podemos hacer consultas en nuestro idioma.

Dejo el link: http://es.stackoverflow.com/