style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Java Standard Edition

Redux-mx

React es una herramienta que ha cambiado el desarrollo web y nos ayuda a recordar lo difícil que es controlar el estado de una aplicación, sobre todo si manejas hilos, llamadas asíncronas y muchos clientes simultáneos, a pesar de que una aplicación web no maneja hilos normalmente, tiene muchas interacciones entre el servidor, la acciones del usuario y en muchos casos timers que monitorean alguna actividad.

Debido a esta complejidad es que nació como arquitectura Flux y después Redux como librería que implementa la arquitectura Flux, Redux es tan bueno que casi casi se volvio la utileria por defecto para control de estado con React, su creador actualmente trabaja para Facebook mejorando React. Redux ha permitido que las aplicaciones sean predecibles y mas sencillas de desarrollar. No todas las aplicaciones lo necesitan pero a mi en lo personal me ha tocado el caso en el que lo necesitaba y no lo tenia (todavía no existía).

Odio las excepciones verificadas

De verdad que deberían haber eliminado por completo las excepciones verificadas para Java 8. Estorban. No es una coincidencia que casi todos los demás lenguajes de la JVM las eliminaron.

BEGIN RANT

Tengo una clase donde implemento un método abstracto más o menos así:

@Override
protected Runnable crearTarea(Request req) {
  Response resp = new Respuesta(Errores.CANT_CONNECT);
  if (req.getTipo() == Request.UnaCosa) {
    return () -> {
      try {
        unaCosa(req, resp);
      } catch (IOException ex) {
        log.error("Haciendo una cosa con {}", req, ex);
      } finally {
        procesaRespuesta(resp);
      }
    };
  } else if (req.getTipo() == Request.OtraCosa) {
    return () -> {
      try {
        otraCosa(req, resp);
      } catch (IOException ex) {
        log.error("Haciendo otra cosa con {}", req, ex);
      } finally {
        procesaRespuesta(resp);
      }
    };
  } else if (req.getTipo() == Request.OoootraCosa) {
    return () -> {
      try {
        oootraCosa(req, resp);
      } catch (IOException ex) {
        log.error("Haciendo todavía otra cosa con {}", req, ex);
      } finally {

JAVA DEV DAY 2018

Hola, uno de los eventos mas grande de programacion esta de regreso en Guadalajara, tendra speakers internacionales y nacionales, el evento es todo el dia da link en el link para tener mas informacion

http://bit.ly/javadevday18

Vavr Try.of

En el post anterior revisamos de forma rapida como hacer tipos que combinen monads para hacer cosas interesantes, como el evitar errores por posibles nulos, en los comentarios de @ezamudio nos podemos dar cuenta que Java ya implementa eso del fromNullable con Optional, pero deja de lado las excepciones y pues intente extender los tipos Right y Left para manejar y encadenar Excepciones.

Pero me encontré una librería, la cual es mejor estudiar en lugar de tratar de crear nuestros tipos una y otra vez, esta librería es vavr, tiene cosas muy interesantes entre ellas, manejo de excepciones de una forma funcional, precisamente lo que estaba tratando de hacer.

Vamos a ver como “esquivar” las excepciones con ayuda de programación funcional.

Supongamos que tenemos un archivo /opt/config.json que contiene la configuración del puerto tcp de nuestra app:

{
  "port": 8080
}

Java safe null

Todos tenemos a nuestros maestros en temas de desarrollo, personas que seguimos, quienes siempre están buscando cambiar lo cotidiano, quienes tienen tienen una gran idea o quienes pueden compartir su pasión por algo en particular, por el momento estoy siguiendo al Profesor Frisby, en estas cosas de programación funcional y composición de funciones. Tiene un curso completo de este tema gratuito (como dice mi esposa del verbo “nel no pago”) para javascript, Esta es la liga: Professor Frisby Introduces Composable Functional JavaScript.

Porque como se darán cuenta no soy muy bueno para explicar, pero el si :), y si quieren tener mas detalles del porque los pequeños bloques de código que ultimamente he estado poniendo, en ese curso podran entenderlo mejor o confundirse mas, a saber de cada quien :P.

Java Magic Box

Y siempre si se pudo, me costo mas trabajo del que pensaba, pero pude escribir la version de la Caja que en Javascript me parece muy simple en Kotlin parece que estoy escribiendo marciano y en Java, pues ni se diga, la verdad es que no parece java :P, pero lo importante y tal vez me haga regresar a escribir java, es que el soporte funcional es bueno (obvio no es un lenguaje puramente funcional, si no, se me enojan los clojurianos).

Pero si puedo escribir codigo como este, para servicios REST y otras moneria ya me imagino las posibilidades, bueno les dejo el codigo:

import java.util.function.Function;

class Box<T>  {

    private T x;

    public Box(T x) {
        this.x = x;
    }

    <R> Box<R> map(Function<T, R> f) {
        return new Box(f.apply(this.x));
    }

    <R> R fold(Function<T, R> f) {
        return f.apply(this.x);
    }

    public String toString() {
        return "Box(" + this.x != null ? x.toString() : x + ")";
    }

}

public class Main {

    public static void main(String... args) {

        Box<Integer> num = new Box<String>("  64  ")
                .map(x -> x.trim())

Firmado de Documentos Digitales

Buen día, disculpen a todos me podrían recomendar alguna librería para poder firmar documentos digitalmente?, la llave privada que tengo tiene el standard PKCS8 en formato DER, y un certificado con estandar x509 en formato DER.

Saludos.

Certificarse o no certificarse... ¡He ahí la cuestión!

Juan tiene varias certificaciones, Pedro no tiene ninguna.

Juan está por tomar un nuevo curso de certificación. Pedro está, vagamente, pensando en tomar un curso de certificación, pero no se decide. Según Juan, tener una certificacion te abre puertas. Al menos eso le ha dicho.

A Pedro no parece importarle mucho tener o no tener una certificación, pero después de ver que Juan ha obtenido una nueva certificación (sí, otra más), le ha caído el veinte: quizás tener una certificación sea necesaria para no quedarse atrás. Después de todo es el único de la camarilla quien no posee ninguna.

Pedro ha investigado cómo y cuánto cuesta certificarse. Le ha parecido relativamente aceptable el costo monetario y de tiempo de inversión en esta tarea que se ha propuesto cumplir.

La persona que imparte el curso parece ser un profesional y las clases no son una pérdida de tiempo. Los compañeros de clase son una mezcla de profesionales, semi profesionales y meros estudiantes universitarios. Nada fuera de lo común.

VALIDACIONES NUMEROS DECIMALES

Hola

Tengo un JDialog con un JTextField para ingresar números. Cuando pierde el foco del JtextField se acciona el public boolean esDecimal(String cad), para verificar si es un número decimal.

El problema que tengo es que la primera vez que valida, lo hace correcto ( por ejemplo con 3.14, dicen las variables, esDecimal o hayPunto que es true (correcto). Pero, sin cerrar el JDialog, marco 3 (no es decimal por carecer del punto y la parte decimal), las variables dicen lo mismo que es true, al igual que todas las siguientes. Es como si no regenerada las variables y tomara el dato del primer caso.

Aclaro que public boolean esDecimal(String cad), después llama a public void RellenaDigitos(int cuantosEntera, int cuantosDecimal), para accionar los JOption y mostrar las variables.

Por cierto las variables que guardan la parte entera y la parte decimal, no funcionan.

Paro el programa es:

String va10s = "";
String cad = "";
boolean hayPunto=false;
int NDigitos = 0;
int cuantosEntera = 0;
int cuantosDecimal = 0;
String enteros;
String decimal;
int posicionDelPunto=0;
StringBuffer parteEntera;
StringBuffer parteDecimal;

APLICACIONES DISTRIBUIDAS

Es posible desarrollar sistemas y aplicaciones empresariales complejas que no sean WEB ? Es posible desarrollar Sistemas Modulares y distribuidos en JAVA capaces de ofrecer mejores interfaces, ergonomía, operación, transacciones seguras, velocidad y portabilidad. Qué al mismo tiempo sean fáciles de mantener, actualizar, modificar y crecer sin perjucio de afectar sistemas que actualmente están corriendo en producción ? Este blog no es para los tecnócratas o técnicos teóricos, este blog esta orientado a desarrolladores que desean y quieren comprobar la teoría con hechos prácticos y reales. Les dejo las preguntas y manos a la obra.

Distribuir contenido

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">