Programación

Ahora tutorizo cursos de Java

Posted on

Comienzo una nueva andadura como tutor de cursos, esta vez con un curso de Java de la empresa Digital Learning.

Si estás interesado/a échale un vistazo a la página en la que se describe el contenido, objetivos, etc…

http://www.digitallearning.es/curso-java-para-android.html

Ayúdanos a hacer un poquito de ciencia / Help us to make a bit of Science

Posted on

/cc @geneura – http://vrivas.es/dcai16
(English version)

¿Me echas una mano con unos experimentos símplemente accediendo a la web http://vrivas.es/dcai16?

Como muchos sabéis, últimamente me dedico a la ejecución de algoritmos evolutivos y redes neuronales desde navegadores web. En relación a esta investigación, me gustaría enviar un trabajo a un congreso que habrá en Sevilla este año, llamado DCAI’2016.

Ya tengo el trabajo bastante avanzado, pero me gustaría poder tener más resultados; así que, si no te importa, accede a la web http://vrivas.es/dcai16 desde donde intentamos predecir valores de una serie temporal de temática económica.

Ten en cuenta que:

  • Puedes acceder a la página tantas veces como desees, y también abandonarla en el momento que decidas.
  • El programa que se ejecutará no instalará nada en tu ordenador, móvil o tablet, ni siquiera cookies.
  • Los algoritmos evolutivos suelen ser lentos, por eso, no te preocupes si tarda en cargarse y actualizar los gráficos en la pantalla.

Muchas gracias.

P.D. Si tienes interés, puedes ver todo el algoritmo en https://github.com/vrivas/evrbf_dcai2016, y  marcarlo como favorito o incluso hacerle un fork.


Would you like to help me running some experiments just accessing to the web http://vrivas.es/dcai16?

I’m doing some research running evolutionary algorithms and neural networks in web browsers.  Regarding this research, I would like to send a paper to a congress that will be held in Seville this year: DCAI’2016.

I’ve lot of the work just done, but I’d like to get more results; so, please, access the web http://vrivas.es/dcai16 where we are trying to forecast a time-series.

Consider the following:

  • You can visit the page as many times as you want, and you can also leave it at any time.
  • The program we are executing won’t install anything in your computer,  smartphone or tablet; even cookies.
  • Evolutionary algorithm tend to be slow; don’t worry if it takes long to load the page, run the algorithm and update graphics in the screen.

Thanks!!

P.D. If you are interested, you can see the algorithm at https://github.com/vrivas/evrbf_dcai2016, setting as favourite or even forking it.

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

Posted on Actualizado enn

@GDGgranada, , @flipper83

Contenido:

GDG DevFest II: Programando Android como Ingenieros, Olmo Gallegos

Posted on Actualizado enn

@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

Posted on Actualizado enn

@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