Groovy

JavaOne 2012 charlas técnicas en YouTube

El equipo del Oracle Learning Portal publica las charlas técnicas impartidas en la JavaOne 2012 en su canal de YouTube.

Las charlas son variadas y no tienen desperdicio, las pongo aquí para que las puedan aprovechar.

JavaOne 2012 Technical Tracks:

  1. Core Java Platform (69 videos)
  2. Development Tools and Techniques (75 videos)
  3. Emerging Languages on the JVM (35 videos)
  4. Enterprise Service Architectures and the Cloud (66 videos)
  5. Java EE Web Profile and Platform Technologies (81 videos)
  6. Java ME, Java Card, Embedded and Devices (78 videos)
  7. JavaFX and Rich User Experiences (48 videos)

Y aquí el canal de Oracle Learning Portal.

String Calculator en Groovy

Hola, como parte de la tarea de un curso que estoy tomando, nos dejaron resolver String Calculator y aquí comparto mi solución, la termine en poco tiempo, pero no en menos de 30 minutos la parte de probar las exceptions se me dificulto, se que con shouldFail de GroovyTestCase eso se pudo resolver, pero quise experimentar un poquito. Ya me dio flojera hacer que los delimitadores fueran mas complejos como por ejemplo [****].

String.metaClass.sum = { ->
        if(delegate.trim()){
                def delimiters = '[,'

                if(delegate.startsWith("//")){
                        def limitPosition = delegate.indexOf("\n");
                        delimiters += delegate[2..limitPosition]
                }

                def negatives = []
               
                def result = delegate.split(delimiters + ']').collect{ num ->
                        num = num.isNumber() ? num as int : 0
                        num >= 0 ?: (negatives << num)
                        num < 1001? num : 0
                }.sum()
                if(negatives){
                        throw new RuntimeException(
                                "Negatives not allowed $negatives"
                        )
                }
                result
        } else {
                0
        }
}

assert 0 == "".sum()
assert 0 == " ".sum()
assert 1 == "1".sum()
assert 1 == " 1".sum()
assert 1 == " 1 ".sum()

Como hacer pruebas a un script Groovy

Como probar un script Groovy.

Hola, te voy a platicar unas formas en las que vas a poder alardear que tus ‘scripts’ en Groovy tienen todas las pruebas unitarias necesarias y que el día de la instalación a producción te lo pueden dar libre, porque no tiene caso que pierdas tu tiempo viendo como los demás se sorprenden de lo bien que esta jalando tu ‘script’; aunque seguramente un sysadmin sea tu usuario. :)

¡Obvio, lo anterior es broma!

Assert es tu amigo.

Quisiera platicar de assert, aunque la información sobre esta herramienta en Groovy es muy extensa en Internet.

Los assert dentro del código son muy útiles cuando muestras a tus amigos los bocetos de las ideas que tuviste en la noche. Por ejemplo:

def saludos   = ['no':false, 'si': true, 'claro': true, 'no lo se': false]
def respuesta = 'si'

assert respuesta in saludos

println saludos."$respuesta"

En este caso es importante que el assert haga su trabajo, de lo contrario ocurrirá una groovy.lang.MissingPropertyException.

Un vistazo a Griffon

Tuve la curiosidad de usar este framework al leer este post Aqui y como soy medio lento en aprender haber como me va.

¿Donde lo descargo?

http://griffon.codehaus.org/Download

Grails y Oracle

Que hago mal???

Pues estoy tratando de conectar Grails a una base de datos Oracle y nada mas no puedo, el IDE en el que estoy trabajando es:

  • Netbeans 7.1.2
  • Grails 2.0.3

Estoy ya configurando el archivo de DataSourde.groovy como sigue:

 
dataSource {
    pooled = true
    dbCreate = "update"
    driverClassName = "oracle.jdbc.driver.OracleDriver"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
            user="RH"
            password="METROSIRH"
            url = "jdbc:oracle:thin:@160.1.X.X:1521:METROSISDV=true"
        }
    }
}

Como utilizar el Bootstrap de twitter en Grails

¿Qué es el Bootstrap de twitter?

Twitter Bootstrap es una solución flexible que ofrece muchas más potencia que el CSS normal. Conseguimos una serie de características extras como las declaraciones anidadas, mixins, operaciones y funciones de color. Es fácil de implementar en el código tan sólo incluyendo la declaración en la cabecera y usar los componentes disponibles.

La evolución de Bootstrap dentro de Twitter ha sido un trabajo constante para disponer de una herramienta que les permitiera escalar más fácilmente y mantener los proyectos que iban desarrollando. Al principio de todo cada ingeniero usaba cualquier librería con la que estuviera familiarizado lo que producía graves inconsistencias al intentar crecer. Por lo tanto Twitter Bootstrapes un gran ejemplo para todos los desarrolladores que trabajamos en compañías grandes en la que es necesario disponer de un framework uniforme para ir evolucionando.

Podéis echar un vistazo a todo el código en la sección que dispone Twitter en GitHub. Allí comprobaréis todo lo los archivos que lo componen por separado:

reset.css para eliminar los elementos innecesarios.

Podcast de ViveCodigo 00x17 - Entrevista con Graeme Rocher

Una emisión más en audio del podcast de ViveCodigo presentando en entrevista a Graeme Rocher, creador de Grails; la liga del sitio original en:
http://vivecodigo.org/2012/04/09/episodio-17-de-la-temporada-0/

Compartir Libro de Groovy

Hola compañeros aqui solicitando de su apoyo,tendran algun buen link para descargar un libro de groovy o alguien que me pueda compartir alguno.

Saludos.

Desplegar aplicaciones Grails en Google App Engine (GAE)

Ahora que ya sabemos que es Google App Engine y que características son interesantes para nosotros como desarrolladores de aplicaciones Web para JVM además de que ya logramos desplegar en el nuestra primer aplicación Java, toca el turno a Grails que como algunos de ustedes ya habrán investigado GAE no mencionada nada sobre poder instalar en él nuestras aplicaciones Grails pero si menciona que podemos correr todas aquellas aplicaciones web que utilicen un intérprete o compilador basado en JVM, les recomiendo leer el tutorial anterior (Desplegando una aplicación Java en GAE) donde se explican algunos conceptos básicos sobre GAE que daré por entendidos en el presente tutorial.

El balance entre el uso de métodos como operadores.

Estaba escribiendo una respuesta al post de ezamudio Operadores en Ceylon pero como siempre me extendí más de la cuenta y mejor cree esta entrada separada.

El tema es la sobre carga de operadores en Ceylon.

Es interesante tratar de alcanzar el balance entre el uso de operadores y métodos en un lenguaje de programación.

Por un lado, si se permite que cualquier método se pueda utilizar como operador, se puede terminar creando código que solamente el autor del programa o la biblioteca entienda y eso cuando aún lo tiene fresco en la mente. Me parece que este es una de las críticas más fuertes hacía C++ y a Scala ( aunque Scala además permite una sintaxis diferente para la invocación de métodos que es sin usar punto )

Por otro lado si se prohibe del todo se tiene un lenguaje que es sumamente claro y fácil de entender por cualquiera pero que resulta tedioso porque el programador tiene que escribir toooodo el nombre del método y no simplemente un operador ( Java , Javascript y Go por ejemplo )

Distribuir contenido