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

Groovy

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

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

JDBI como alternativa a JDBC, JPA, Hibernate ...

Para todos aquellos que estén cansados de usar siempre lo mismo (JDBC, JPA, Hibernate, etc.) cuando trabajan con base de datos en sus aplicaciones pueden optar por usar JDBI, una librería que promete facilitarnos la existencia. Su página oficial dice:

JDBI is a SQL convenience library for Java. It attempts to expose relational database access in idiommatic Java, using collections, beans, and so on, while maintaining the same level of detail as JDBC. It exposes two different style APIs, a fluent style and a sql object style

No me dejaran mentir al decir que cuando se trabaja con aplicaciones demasiado robustas los desarrolladores sufrimos al trabajar con extensos archivos confusos y difíciles de mantener. Peor aún cuando el equipo original de trabajo "olvido" documentar el proyecto.

Instalando lenguajes JVM usando SDKMAN!

Existe una herramienta llamada SDKMAN! que nos sirve para instalar lenguajes como Ceylon, Groovy, Scala, además de otros entornos o sdks de desarrollo como Grails, SBT, etc.

Desde Linux podemos teclear en nuestra consola de comandos:

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

Obtener ayuda:  sdk help
Que versión tenemos: sdk version
Listar lo que podemos instalar: sdk list

Comencemos instalando Ceylon, Groovy, y Scala:

sdk install ceylon
sdk install groovy
sdk install scala

Comprobemos que se instalaron adecuadamente:

ceylon --version
groovy -version
scala -version

Con esto tenemos instalados los lenguajes y la herramienta SDKMAN!.

Links
http://sdkman.io/

Login con Facebook parte 1

******************************

Aquí pueden ver la segunda parte del tutorial: Login con Facebook parte 2 http://paraisodeldesarrollador.blogspot.mx/2015/04/login-con-facebook-pa...

******************************

En estos tiempos son cada vez más los sitios web en los que te permiten realizar la autenticación por medio de redes sociales siendo Facebook la más usada para tal fin, en este pequeño tutorial vamos a realizar la conexión para poder autenticarnos a una aplicación externa con nuestra cuenta de Facebook.

Al momento de la realización del tutorial ocupamos las siguientes versiones: Grails 2.4.4 y Java 1.7

Crearemos un nuevo proyecto exclusivamente para este ejemplo, en el, lo primero que debemos realizar es la instalación y configuración de Spring Security Core, una opción es como lo muestro aquí (Configurar Spring Security Core Plugin).
Este tutorial lo vamos a dividir en dos partes, esta primera, la cual consta de las configuraciones que debemos realizar en Facebook para dejar “lista” una aplicación para poder loguearnos y la segunda que tratara sobre el código en nuestra aplicación para enlazar el formulario de login de Facebook.

Creando una nueva aplicación en Facebook

1.- Entrar a la url https://developers.facebook.com, la cual al momento de realizar este tutorial muestra lo siguiente:

groovy

veo que critican la velocidad de este lenguaje por ser compilado, tenia pensado pasar todo mi modelos de clases a groovy igual que mis daos a groovy es mala idea?? o que debe programar en groovy y que en java.

¿Groovy o Scala?

class Vehiculo{
   int puertas
   String color
}

static main(args){
  def miVehiculo= new Vehiculo(puertas:4,color:"Rojo")
  println "no. de puertas: $miVehiculo.puertas"
  println "color: $miVehiculo.color"
}

class Vehiculo(val _puertasx:Int=2,val _colorx:String=null){

  private var _puertas:Int=_puertasx
  private var _color:String=_colorx
 
  def puertas = _puertas
  def puertas_= (value:Int):Unit = _puertas = value
 
  def color=_color
  def color_=(value:String):Unit=_color=value
 
}

object EjemploScala{

        def main(args: Array[String]): Unit = {
          val miVehiculo=new Vehiculo(4,"Verde")
          Console.println("no. puertas: "+miVehiculo.puertas)
          Console.println("color: "+miVehiculo.color)
        }
       
       
}

Link:

problema con griffon

Hola q tal comunidad estoy teniendo un problema algo extraño con griffon y trata en que no puedo enviar argumentos a los closures del controller desde la vista lo intente desde un actionperformed y tambien desde las actions que maneja este marco , sin embargo si funcionan sin tener argumentos , en los closures hago pruebas con un println it y obtengo null , por el momento tengo que recurrir a la referencia view.dato dentro del closure del controlador.
- es decir (controller.miclosure ) funciona.
- y controller.miclosure('cadena') funciona pero con un println it dentro del closure imprime null.

Clases internas en Groovy

Acabo de toparme con un problema en Groovy. Tristemente la solución que todo mundo da en foros es simplemente "no lo hagas, es mejor si haces [cualquier otra solución]"; pero, qué tal si lo que necesitaba era esto?

Bueno y ¿cuál es el problema? Es simple: el soporte en clases internas tiene problemas con atributos heredados en la clase externa. Tiene solución, y es sencilla, pero me parece una leaky abstraction y honestamente la encontré por pura suerte, buscando maneras de darle vuelta al asunto.

El problema se da bajo estas circunstancias:

//Una clase padre, normalita, con un atributo normalito
class Parent {
  String name
}
//Una subclase, normalita, con una clase interna
class External extends Parent {
  //Un atributo propio de esta clase
  String outer
  //Y esta es la clase interna
  class Internal {
    //También tiene un atributo propio
    String inner
    //Este método truena como ejote
    void boom() {
      //Esta línea se ejecuta bien, se despliega el atributo externo y el interno
      println "Outer is " + outer + ", inner is " + inner
      //Pero esta línea truena con un error macabro,

groovy y propiedades enlazadas

hola comunidad quise hacer mi primer blog y empeze por este tema ya que estoy jugando con groovy ya un tiempesito , bueno todos sabemos que java a traves de los javabeans cuenta con PropertyChangeListeners que notifica a todos los oyentes antes registrados con (addPropertyChangeListener) de los cambios de valor de algunas de sus propiedades a traves de firePropertyChanged aqui hay un ejemplo del javabeans que llamaremos modelo

import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;

public class Modelo{
    private String propiedad;

    PropertyChangeSupport pcs = new PropertyChangeSupport(this);

    public void addPropertyChangeListener(PropertyChangeListener l) {
        pcs.add(l);
    }

    public void removePropertyChangeListener(PropertyChangeListener l) {
        pcs.remove(l);
    }

    public String getProp() {
        return prop;
    }

    public void setProp(String propiedad) {
        pcs.firePropertyChanged("propiedad", this.propiedad, this.propiedad = propiedad);
    }
}

-las clases registradas a este modelo tienen que implementar la interfaz PropertyChangeListener con su metodo
 

Distribuir contenido

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