Translate

jueves, 4 de agosto de 2016

Modern Java EE Design Patterns By O'Reilly, Gratis !!!

Me llego un super mail de infoQ, al parecer esta gente junto con los amigos de red hat regalan un libro y yo lo tengo que compartir con ustedes.

August 2016
 
Sent on behalf of Red Hat to InfoQ Industry Email Notices Subscribers
 
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But as explained in this O’Reilly report, some enterprises are now looking to bridge that gap by building microservice-based architectures on top of Java EE. 

Download this report to explore best practices for automation, high availability, data separation, and performance while inspecting design patterns such as aggregator, proxy, pipeline, and shared resources to model service interactions.
Download Now

Try Django

Code scholl se viene con todo, ahora nos presenta un curso de django.

Bueno, les dejo un poco de publicidad:

Code School
 
Try Django
Get started with this Python-based web application framework and build your first Django app.
Start Level 1
What you will learn:
Level 1
 
Getting Started
Explore how a Django app works and get your first page up and running.
Level 2
 
Templates
Sift through templates, which will help you render HTML with dynamic data.
Level 3
 
Models
Discover models, the blueprints for your data, and trace them back to the database.
“What is Django?”
You may be wondering if Django is right for you. In her new blog post, “Why Django”, Course Instructor Sarah Holderness compares Django to another popular framework: Ruby on Rails.
 
Twitter IconFacebook IconYoutube IconGoogle+ Icon
 
FAQ

lunes, 1 de agosto de 2016

domingo, 31 de julio de 2016

ChakraCore funciona en Linux y Mac OS


ChakraCore funciona en Linux y Mac OS!!!

Microsoft ha demostrado ChakraCore que se ejecuta en Linux y Mac OS X, y Node.js / ChakraCore en Linux.

ChakraCore es el motor de javascript de Edge que desde hace tiempo es open source dado que Microsoft tiene la intención de portarlo a otras plataformas y ejecutar Node.js en él.

Microsoft demostró ChakraCore correr tanto en x64 Linux y Mac OS X 10.9+ y que todavía experimentales que se ejecuta en ChakraCore en x64 Linux junto con Node.js.

Dejo link: https://www.infoq.com/news/2016/07/chakracore-linux-mac
https://github.com/Microsoft/ChakraCore

miércoles, 27 de julio de 2016

Apache Spark 2.0.0 esta con nosotros!!


Se ha lanzado la versión 2.0.0 de Apache Spark con muchas mejoras, entre las que podemos nombrar:

  • Soporte a SQL 2003 
  • Mejora de performance
  • Soporte para uso de R
  • Streaming
  • Y más!!


Dejo link: http://spark.apache.org/releases/spark-release-2-0-0.html

lunes, 25 de julio de 2016

Elixir 1.3



Que tarde, que tarde!! Se me repaso, la nueva versión de Elixir, que trae cosas interesantes.

Como los seguidores más atentos del blog recordaran Elixir es un lenguaje funcional que corre sobre la maquina virtual de Erlang, y tiene como objetivo hacer más fácil el desarrollo en la tecnología de Erlang.

Elixir 1.3, fue anunciado por José Valim. La nueva versión depreca (se dice así?) tareas imperativas y añade nuevos tipos y métodos de acceso, mejora su herramienta de Mixing y mejora el framework de pruebas unitarias ExUnit.

Para mayor información dejo el release note: https://github.com/elixir-lang/elixir/releases/tag/v1.3.0

domingo, 24 de julio de 2016

Spring Statemachine Framework


Nunca les paso que deben diseñar una maquina de estados, pero utilizar un framework de bpm es muchisimo pero hacerlo a mano es un trabajo muy arduo.

Por eso spring diseño, Spring Statemachine Framework.

La idea es simple, es un framework que permite diseñar maquinas de estados de forma muy fácil. Como cualquier maquina de estados tenemos estados y eventos que permiten cambiar de estado:

 static enum States {
    STATE1, STATE2
}

static enum Events {
    EVENT1, EVENT2
}

Con esto tenemos los estados y los eventos, pero falta algo muy importante, definir los caminos o transiciones para esto utilizamos un objeto de configuración:

@Configuration
@EnableStateMachine
static class Config1 extends EnumStateMachineConfigurerAdapter<States, Events> {

    @Override
    public void configure(StateMachineStateConfigurer<States, Events> states)
            throws Exception {
        states
            .withStates()
                .initial(States.STATE1)
                .states(EnumSet.allOf(States.class));
    }

    @Override
    public void configure(StateMachineTransitionConfigurer<States, Events> transitions)
            throws Exception {
        transitions
            .withExternal()
                .source(States.STATE1).target(States.STATE2)
                .event(Events.EVENT1)
                .and()
            .withExternal()
                .source(States.STATE2).target(States.STATE1)
                .event(Events.EVENT2);
    }
}

Luego definimos el bean que va ser utilizado en esta maquina de estado:

@WithStateMachine
static class MyBean {

    @OnTransition(target = "STATE1")
    void toState1() {
    }

    @OnTransition(target = "STATE2")
    void toState2() {
    }
}

Finalmente podemos utilizar esta maquina:

static class MyApp {

    @Autowired
    StateMachine<States, Events> stateMachine;

    void doSignals() {
        stateMachine.start();
        stateMachine.sendEvent(Events.EVENT1);
        stateMachine.sendEvent(Events.EVENT2);
    }
}

Y listo!

Dejo link: http://projects.spring.io/spring-statemachine/

miércoles, 20 de julio de 2016

Try .net mvc

La gente de codescholl me invito a cursar su nuevo curso gratuito sobre .net mvc. Este curso pertenece a la colección "try" que son muy buenos para tener contacto por primera vez con una tecnología, les dejo el mail que me enviaron:



Code School
{alt}
Learn the basics of building web applications with ASP.NET MVC.
VIEW COURSE CONTENT
Twitter IconFacebook IconYoutube IconGoogle+ Icon
Have questions or need assistance?

FAQ
© 2016 Code School LLC. Crafted lovingly in Orlando, Florida.
Code School 618 E South Street Suite 620 Orlando, FL 32801 USA

domingo, 17 de julio de 2016

Que es una Sequence en Oracle?


En mysql tenemos los valores autoincrementales, que están muy buenos pero siendo realistas tenemos poco control de la secuencia que llena el valor autoincremental.

En oracle en cambio tenemos objetos secuencia que nos permiten tener más control de los valores autoincrementales. Ojo! la secuencia es un objeto independiente del campo que deba llenar. Es decir podemos tener una secuencia para todos nuestros campos autoincrementales o una secuencia para cada uno de ellos. Como ven, tenemos mucha más libertad.

Como creo una secuencia? Asì:


Aja... claro! Mejor veamos un ejemplo, no?


CREATE SEQUENCE customers_seq
 START WITH     1000
 INCREMENT BY   1
 NOCACHE
 NOCYCLE;

Con estas sentencias estamos creando una secuencia que comienza en 1000 y va de 1 en 1.

Ahora bien, como la usamos?

por ejemplo con el metodo nextval podemos acceder al proximo valor.

Select customers_seq.NEXTVAL from dual;

Por lo tanto podemos utilizarla en un insert:


INSERT INTO customers_tab (id, name)
    VALUES (customers_seq.NEXTVAL, 'Acme');

También podemos saber el valor actual con CURRVAL

INSERT INTO Line_items_tab (Orderno, Partno, Quantity)
    VALUES (Order_seq.CURRVAL, 29374, 1);

Ojo al piojo, se puede usar CURRVAL solo luego de ejecutar NEXTVAL, es decir si no ejecutaste NEXTVAL, CURRVAL va dar error.

Podemos alterar la secuencia, pero nunca reiniciarla. Para reiniciarla tenemos que eliminarla y crearla nuevamente.

ALTER SEQUENCE emp_sequence
    INCREMENT BY 10
    MAXVALUE 10000
    CYCLE
    CACHE 20;

Dejo link: https://docs.oracle.com/cd/B28359_01/server.111/b28310/views002.htm




sábado, 16 de julio de 2016

domingo, 10 de julio de 2016

Don Electron

Electron permite construir aplicaciones nativas de la misma forma que construimos una web. Utilizando tecnologías javascript, html y css con electrón podemos construir aplicaciones nativas.

Entre sus características podemos nombrar:

  • Tecnología web: Utiliza HTML, CSS, javascript y tecnologías node.js
  • Open Source: Es totalmente libre y esta alojado en github
  • Cross Platform: compatible con Linux, Windows y OsX


Dejo un video:


y un poco de música tipo rock and roll:


Dejo link: http://electron.atom.io/

jueves, 7 de julio de 2016

White Paper sobre MySQL Enterprise Edition

No soy de dar publicar publicidad de empresas, pero creo que es interesante publicar información técnica sobre productos por más que sean comerciales.

Me llego este mail y se los comparto:

View this message in a Web browser
MySQL Enterprise Edition Product Guide
White Paper
MySQL Enterprise Edition Product Guide
MySQL Enterprise Edition Product Guide
Get Your White Papercta-arrow
Ensure Data Protection and Regulatory Compliance
Did you know that Malware & Ransomware increased 35% in the past year and that over half a billion personal records were stolen or lost in 2015? Additionally, the compliance risk has become one of the most significant ongoing concerns for executives.
 
How can you ensure that your MySQL databases are protected against external attacks and misuse of information while achieving regulatory compliance?
Access our Resource Kit to discover
slap-hr
bulletThe MySQL Enterprise Edition advanced security features and management tools that can help you protect your organization
bulletHow to enable data-at-rest encryption in MySQL
bulletHow to solve complex business auditing requirement
Get it nowcta-arrow

lunes, 4 de julio de 2016

Que es Erlang distribution?


El "distribution protocol" es el medio por el cual varios nodos de Erlang se unen para formar un clúster. Cuando se agrupan los nodos de Erlang, cualquier proceso puede enviar mensajes a los procesos en cualquier otro nodo, y generar nuevos procesos en cualquier otro nodo. Esto forma la base para las aplicaciones distribuidas como Mnesia, la aplicación de base de datos que viene con Erlang/OTP, y RabbitMQ.

En este post,  se describe cómo ejecutar el protocolo de distribución de Erlang sobre TLS, y cuáles son los problemas que puede o no puede resolver.

Dejo link:
https://www.erlang-solutions.com/blog/erlang-distribution-over-tls.html?utm_source=Gplus&utm_medium=groups&utm_campaign=TLSblog

domingo, 3 de julio de 2016

Microsoft anuncia la disponibilidad de .NET Core 1.0

Microsoft ama a linux y cada vez más me creo este cuento...

Porque Microsoft ha anunciado la disponibilidad de .NET Core 1.0, ASP.NET Core 1.0 y Entity Framework Core 1.0, los cuales están disponibles para Windows, OS X y GNU/Linux a través de la instalación de .NET Core 1.0.

.NET Core 1.0 forma parte del proyecto de Microsoft para ir liberando .NET bajo licencia MIT, ofreciendo un framework Open Source para crear aplicaciones web modernas, librerías y aplicaciones de consola, incluyendo las librerías y herramientas necesarias. Además Microsoft ha liberado extensiones tanto para Visual Studio como Visual Studio Code para poder crear proyectos con .NET Core. Para aquellos que estén interesados en programar con este framework, Microsoft ha publicado también documentación en su sitio web, detallando aspectos como el hecho de que es Open Source y haciendo una breve comparativa con Mono y la rama oficial .NET Framework.

Dejo links:
https://dotnet.github.io/
https://www.microsoft.com/net/core