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

Blogs

Importar Certificados en Java

Cuando desarrollamos una aplicación en Java que va ha hacer uso de un recurso seguro (mediante un certificado), debemos asegurarnos que este certificado podrá ser validado por una entidad certificadora que reconozca Java.

Por defecto, la máquina virtual de Java dispone de las Entidades Certificadoras (CA) más comunes, Sin embargo, suele darse el caso, sobretodo en entornos de desarrollo, que necesitemos utilizar una Entidad Certificadora "de prueba". En este caso, debemos importar esta CA en el almacén de claves de la máquina virtual que estemos utilizando.

* Por ejemplo:

A mi me paso que cuando estaba tratando de llamar un servicio web, no me dejaba consultar la información ya que se había cambiado la infraestructura por lo tanto el certificado se había cambiado y por lo tanto no tenia los permisos necesarios para poder consumir el servicio para ello se me paso el archivo .cer que se importa de la siguiente manera.

Grails ... un ejemplo

ec564-shomecode4

En este post crearemos un mini sistema para la gestión de tickets de soporte técnico.

¿Qué necesitamos?

  1. Tener instalado el JDK 8
  2. Tener instalado Grails
  3. Tener una BD (usaremos PostgreSQL en este ejemplo)

Tenemos los departamentos o áreas ).

areas

Se levantan los tickets

tickets

El encargado de dar soporte técnico responderá a las peticiones.

respuesta

ayuda con este ejercicio

Hola que tal necesito ayuda para realizar este programa
necesito que me ayuden con esto:

HERENCIA

1. Se va a implementar un simulador de Vehículos. Existen dos tipos de Vehiculo: Coche y Camión.

a) Sus características comunes son la matricula y la velocidad. En el momento de crearlos, la matricula se recibe por parámetro y la velocidad se inicializa en cero. El método toString() se los vehículos devuelve información acerca de la matricula y la velocidad. Además se pueden acelerar, pasando por parámetro la cantidad en km/h que se tiene que acelerar.
b) Los coches tienen además un atributo para el número de puertas, que se recibe también por parámetro en el momento de crearlo. Tiene además un método que devuelve el número de puertas.
c) Los camiones tienen un atributo de tipo Remolque que inicializa a null ( para indicar que no tiene remolque). Además tiene un metodo ponRemolque(), que recibe el remolque por parámetro, y otro quitaRemolque(). Cuando se muestra la información de un camión que lleve remolque, además de la matricula y velocidad del camión, debe aparecer la información del remolque.

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())

Kotlin Magic Box

Un monad es una tecnica que nos permite crear tipos propios, extender funcionalidades de una meanera limpia y hacer tranformaciones entre tipos. Me gusto mucho en kotlin porque elimina el estar escribiendo tantos tipos todo el tiempo que a veces me parecen inecesarios (esto opinion muy personal), en este caso vamos a escribir una clase Caja que nos permite aplicar funciones de una forma continua (encadenada), manteniendo un solo closure (parcialmente, en kotlin no he hecho pruebas de rendimiento para ver cuanta memoria usa, pero en javascript el incremento en memoria es minimo).

En el ejemplo podemos ver como cambiamos de un numero en String para despues limpiarlo y convertirlo a su equivalente en carácter, lo anterior de una manera limpia, sin hacer uso mas que de una sola variable.

En el archivo Main.kt colocamos lo siguiente:

class Box<T>(private val x: T) {

    fun <R> map(f: (x:T) -> R): Box<R> {
        return Box(f(x))
    }

    fun <R> fold(f: (x:T) -> R): R {
        return f(x)
    }

    fun inspect(): String {
        return "Box($x)"
    }

}

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.

Microsoft compra Github

No es ningún fake o broma.

En el blog de Github pueden ver el anuncio oficial:
https://blog.github.com/2018-06-04-github-microsoft/

Kotlin con curry

Si no han probado el Curry, deberian, es una especie de mole Indio muy sabroso, y también en programación se usa, principalmente en programación funcional, es increíblemente util y ayuda a tener menos errores y simplificar por mucho el código.

Aqui solo presento un pequeno ejemplo de como usar esta técnica con kotlin y despues lo compararemos con javascript, la verdad con java ya no me gusto :P pero se que se puede.

Simplemente a una lista de precios le calcularemos el Iva del 16%. No se vera mucho la ventaja de porque usar currying pero si como usarlo.

Con kotlin

data class Total(val precio: Double, val iva: Double, val total: Double)

val getImpuesto = { t: Double -> { i: Double -> t * i } }

val getIva = getImpuesto(0.16)

val precios = listOf<Double>(10.2, 12.3, 10.0, 11.0)

val resultados = precios.map({i: Double ->
    val imp = getIva(i)
    Total(i, imp, i + imp)
})

println(resultados)

Eso solo se pega en la función main de Kotlin y la salida es:

 

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.

Distribuir contenido

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