sábado, 22 de agosto de 2015

Singleton - Design Pattern


Singleton Pattern
Intención
Garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
Conocido Como
N/A
Motivo
A veces es importante asegurar que una clase sólo tiene una instancia (por ejemplo una sola cola de impresión, un gestor de ventanas, un sistema de ficheros...)
Aplicaciones
Cuando
  • Debe haber exactamente una instancia de una clase, que debe ser accesible a los clientes a través de un punto de acceso conocido.
  • La instancia única pueda tener subclases, y los clientes deban ser capaces de usar las subclases sin modificar su propio código.

Estructura

Participantes
  • Define una operación Instance estática que permite a los clientes acceder a su instancia única.

  • Puede ser responsable de crear su única instancia.
  • Colaboradores
    Los colaboradores llaman al método que hace referencia a la única instancia de Singleton.
    Implementación

    Código de Ejemplo

    Usos Conocidos
    La clase java.lang.Runtime del API de Java es una clase Singleton, no tiene constructores públicos y se obtiene su única instancia llamando a getRuntime().
    Patrones Relacionados
    Es frecuente utilizarlo con Abstract Factory, Builder y Prototype.

    martes, 18 de agosto de 2015

    AFD Mínimos - AFD construcción directa



    Programa realizado en Java para minimizar autómatas finitos deterministas. También construye autómatas finitos deterministas por el método directo (desde una expresión regular).


    miércoles, 12 de agosto de 2015

    AFN -> AFD

    Programa realizado en Java para convertir autómatas finitos no deterministas en autómatas finitos deterministas. Realiza la simulación de cadenas para ambos autómatas y mide el tiempo de ejecución para compararlos.


    sábado, 11 de abril de 2015

    SpaceApps Challenge 2015

    Hoy inició la participación en el evento de https://2015.spaceappschallenge.org/location/guatemala/


    #SpaceHunterGT #SensorYourself #NASA #Guatemala

    Visitar http://spacehuntergt.fcpauldiaz.com/ para enterarse de los avances.

    sábado, 21 de febrero de 2015

    Have a nice Open Data day!

    Hoy sábado 21 de febrero se celebra al rededor del mundo el International Open Data Hackathon, consiste en una reunión de ciudadanos al rededor del mundo que crean aplicaciones, liberan datos, crean visualizaciones y publican análisis usando datos públicos abiertos.

    Para información de como estarán distribuidas las reuniones al rededor del mundo pueden visitar http://opendataday.org/  que es el sitio oficial.

    La información pública es nuestra y debería estar disponible y abierta. Esto va mas allá de poder descargar los archivos, sino que estos se puedan ver y analizar por medio de aplicaciones o plataformas.

    Nosotros los ciudadanos debemos servir de 'InfoMediarios' para volver la data en algo importante. Si la información no se usa, nuestros gobiernos terminaran por cerrar el acceso a esta. Por eso en días como hoy es importante participar en las actividades que propone la rama de Open Data con tal de exigir nuestros derechos a las autoridades y conseguir lo que necesitamos.

    El Hacking Cívico es el peor enemigo de la burocracia. Nosotros ayudamos a mejorar servicios que usamos a diario.

    Acá dejo algunos ejemplos de lo que se está haciendo en latinoamerica con respecto a Open Data:

                                                                          

    jueves, 19 de febrero de 2015

    Design Thinking


    Design Thinking en su traducción literal al español significa “El pensamiento del diseño”, representa una metodología que busca ver al mundo de la manera que lo haría un diseñador.

    A continuación presento una breve guía sobre la aplicación de Design Thinking. Esta incluye definiciones de los pasos involucrados y posibles herramientas. 


    El primer paso como se puede observar es EMPATIZAR
                                                

    El segundo paso a  seguir para aplicar la metodología es DEFINIR
                         
    El tercer paso consiste en IDEAR
                                               
                                                             
    Se continúa con PROTOTIPAR

                        

    Por último se debe EVALUAR