Ya rueda el beerjs/jaen

/cc @beerjs

Simplemente genial la primera quedada de beerjs/jaen. Aunque hubo que sortear algunos problemas, como la coincidencia con una carrera solidaria que hacía más complicado acceder a la UJA, o el hecho de quedar en una sala que algunos de los asistentes no sabían ni que existía, al final la quedada salió redonda.

Además del que esto escribe (vrivas), por allí pasaron M. Angeles Godino, Manuel Cano, Daniel Cruz (spawnsito), Jose ( joseja8), Adrián (adpl), Daniel Moya (lynx901), y Angel Luis (algarcia-ujaen).

Por resumiros el encuentro, estuvimos conociéndonos un poco ya que algunos éramos profesores, otros alumnos, otros ex-alumnos que ya están trabajando (no olvidéis de visitar la página de Dapda 😉 )… Una interesantísima mezcla de gente con experiencia y savia nueva que permite que cada uno aprendamos un poquito de los demás.

Fijaos que, simplemente charlando ya salieron muchos conceptos interesantes, como Gulp y Grunt, Karma, Scala.js, o Jasmine. (Auto-recordatorio: Gulp dispara Karma y Karma dispara Jasmine).

Coincidimos en que había sido una excelente idea poder reunirnos en torno a este lenguaje y que, sin duda, no podíamos dejar la oportunidad y que teníamos que seguir juntándonos. De hecho, decidimos hacerlo mensualmente, al menos para empezar.

Dicho esto, nuestra próxima reunión será el 10 de diciembre, de nuevo en la misma sala (la 911, en la planta sótano de edificio A3 de la UJA).

Para ese día, Daniel Cruz nos contará algo de Gulp, Karma y Jasmine. Yo intentaré dar algunas pinceladas del uso de las funciones map, reduce, foreach y filter. Y José y Adrián podrían contarnos algo sobre Scala y, si es posible, su integración con Javascript mediante Scala.js.

La idea es que las charlas sean breves, 5 ó 10 minutos a lo sumo. Será interesante si nos traemos nuestros portátiles y probamos lo que nos vayan contando.Por cierto… siguen siendo quedadas 0.0 (=sin alcohol, je, je)… pero el lugar lo merece.

Anuncio publicitario

Próximos eventos de los beerjs de Jaén y Granada

/cc @beerjs @OSLUGR @demiurgosoft

Empezamos la andadura de beerjs/jaen y beerjs/granada.

Por lo pronto, en Jaén, el jueves 12-nov nos vemos en el edificio A3 (en principio en el hall y de ahí ya os digo dónde vamos) de la UJA sobre las 19:30 horas. Nos llevaremos cada uno algo para hacer el encuentro más … eh… entrañable 🙂 Toda la info en https://github.com/beerjs/jaen

En cuanto a Granada, habrá una charla de Andrés Ortiz (@demiurgosoft) en la ETSIIT, el día 18, a las 16:30 horas en la sala de usos múltiples de la ETSIIT. Toda la info en https://github.com/beerjs/granada (incluyendo material de la charla)

GDG DevFest IV: Scala JS, Rafael Paradela

@GDGgranada, , @rafaparadela

Contenido:

  • Problemas que presenta Javascript
    • Hay info en la página de 47deg.com
  • http://www.scala-js.org/
  • Extender de JSApp: object Patata extends JSApp
  • Scala infiere los nombres de las variables > usa una variable declarada como parámetro para llamar a una función aun cuando a dicha función no se le pase explícitamente
  • Scala.js incluye funciones de las librerías de Java
  • case class > Clases con ciertos privilegios
  • _: comodín para funciones de alto orden > vector.foreach( funcion(_,parametro));
  • Pattern matching: permite hacer switch con tuplas, no necesita break;
    • Se puede hacer pattern matching con expresiones
  • Interaccion con el dom:
    • import org.scalajs.dom.document;
  • @JSExport
    • Permite que se pueda llamar directamente a la función escrita en scala
  • Permite añadir librerías, como jQuery: libraryDependencies
    • Además, se puede generar un solo fichero con todas ellas.
    • Luego, podemos usar la función jQuery directamente dentro de scala.
  • El contenedor Option puede usarse como parámetro para abstraernos de si un parámetro tiene o no datos.
  • Proyecto para aprender scala: http://scala-exercises.47deg.com
  • Toda la presentación en https://github.com/47deg/scalajs-intro

GDG DevFest III: Persistiendo que es gerundio, Jorge Juan Barroso Carmona

@GDGgranada, , @flipper83

Contenido:

GDG DevFest II: Programando Android como Ingenieros, Olmo Gallegos

@GDGgranada, , @voghDev

Conceptos

  • STUPID: Código malo (http://williamdurand.fr/2013/07/30/from-stupid-to-solid-code/)
    • Singleton
    • Tight Coupling
    • Untestability
    • Premature Optimization
    • Indescriptive Naming
    • Duplication
  • Patrones de diseño
    • Singleton: peligroso > Android SDK permite hacer lo mismo pero de otra forma menos peligrosa
    • Observer (=Listener)
    • Respository
    • Builder
    • NullObject
    • Model-View-Presenter
  • Arquitectura CLEAN:
  • Librerías externas
    • retrofit / retrofit2
    • dagger
    • otto
    • picasso
    • butterknife
    • dagger2
    • RecyclerView
    • Glide
    • renderers
    • google/exoplayer
    • DBFlow
    • SectionedRecyclerView
    • WheelIndicatorView

Hate de code you wrote 6 months ago

GDG DevFest I: Catan architecture, Pablo Guardiola

@GDGgranada,
Conceptos

  • Clean Code
  • Metodología SOLID: http://www.cmjackson.net/2009/09/04/solid-programming-principles/
    • Single responsability
    • Open/Close
    • Liskov Substitution
    • Interface segregation
    • Dependency Inversion
  • Gran importancia de hacer test al código… ¡test automáticos!
    • Refactorizar código sin hacer tests, no es refactorizar.
  • Alta «mantenibilidad», baja «deuda técnica» (=consecuencia de nuestras malas decisiones)
  • No obstante…¡¡ojo con la «sobre-ingeniería»
  • Arquitectura Hexagonal:
    • http://alistair.cockburn.us/Hexagonal+architecture
    • Distintos actores pueden ejecutar tu aplicación: usuarios, programas autónomos, scripts de test…
    • Puertos + Adaptadores: Puerto = API, Adaptador = Implementación de un puerto
    • En Java los puertos son las interfaces y los adptadores son las implementaciones de la interfaz