Agustín Ventura

Ingeniería de Software

Docker y almacenamiento. Como cambiar el directorio de las imágenes y contenedores

Los contenedores no solo tienen la ventaja de ser entornos aislados sino que además ocupan muy poco espacio en disco. Esto se debe a varias causas: No tienen el sistema operativo al completo (como una máquina virtual) lo cual ya de por sí es un ahorro de espacio. El proceso de tener una imagen e ir “instanciando” contenedor no ocupa tanto como podríamos esperar (tamaño de imagen x contenedores) gracias a UnionFS, ya que solo se cambian los cambios de cada contenedor en particular. Esto esta de maravilla y por ejemplo, hoy he montado un Oracle XE en un contenedor para lo que he tenido que hacer mi propia imagen. Si hago

PostgreSQL en Docker

Una de las ventajas de Docker es que te aisla del problema de tener que instalar el software que necesitas para desarrollar. La encapsulación en contenedores no es solo una ventaja para los pasos a producción y la infraestructura como código sino que lo es, especialmente en entornos de desarrollo. En muchas ocasiones instalas una base de datos o una cola de mensajes y ajustando la configuración te la terminas cargando y tienes que volver a crearla. La ventaja de Docker es que parte de esa premisa, se asume que te vas a cargar el sistema… y que no pasa nada. Y seamos sinceros, esto es muy frecuente que pase en los entornos de desarrollo (para eso estan). Si bien hay tareas que son relativamente sencillas como instalar un PostgreSQL que se puede hacer a tiro de apt, con Docker es MUCHO más sencillo y además tiene la ventaja de que si te cansas, puedes eliminar los contenedores y las imágenes y no has tocado tu sistema.

Certificados y Dispositivos en Tizen Studio

##Certificados Una de las cosas que piden para poder subir software (o instalarlo en dispositivos de prueba) en Samsung es disponer de un certificado, tanto de autor como de distribuidor. Para crear un certificado podemos utilizar el mismo Certificate Manager de Tizen Studio, pero que en esta versión no viene instalado, así que lo primero es ir al Package Manager y en la sección Tizen SDK Tools > Baseline SDK instalar el Certificate Manager.

Tizen Studio

A finales de 2017 participé en un concurso de Samsung llamado Dispositivos por Apps y que, mediante el regalo de dispositivos pretende aumentar la presencia de aplicaciones en el market propio de Samsung (Galaxy Apps). El caso fue que que en aquel momento hice tres aplicaciones para relojes Samsung (y sin tener uno, jaja) y me saqué un reloj Samsung Gear Sport. Las aplicaciones en cuestión eran las siguientes: [TabataTimer](https://github.com/agustinventura/TabataTimer): Un temporizador Tabata configurable, incluyendo número de rondas, duración del intervalo de trabajo y del intervalo de descanso. [DiceRoller](https://github.com/agustinventura/DiceRoller): Un tirador de dados, por si te pilla en una partidilla de algo y no tienes a mano los dados, pues puedes seleccionar el tipo de dados y el número y la aplicación los "tira" por tí. [SwimMonitor](https://github.com/agustinventura/SwimMonitor): La aplicación que creo que me quedó mejor de todas. Permite llevar el control de los largos que vas haciendo en la piscina y además revisar entrenamientos anteriores para poder compararlos. Pues bien, ahora ha vuelto a salir la promoción y esta vez piden nada más y nada menos que seis aplicaciones, pero teniendo en cuenta que ya sé más o menos como funciona todo, creo que puedo sacarlas en las semanas que dan. ##Tizen Studio

SDKMAN

SDKMAN es un gestor de entornos y herramientas Java. Cuando trabajas en un entorno “corporativo” (¿aburrido?) sueles tener claramente fijadas las versiones de herramientas de desarrollo a utilizar, por ejemplo, Java 8 en la versión 1.8.0_121 o Maven 3.2.1, etc… Sin embargo cuando empiezas a cacharrear y a tratar de instalar cosas nuevas es relativamente normal que acabes con dos (o tres o seis) versiones del JDK: la “buena” (1.8), la de “los módulos” (9), la de “los val” (10) y la “nueva buena” (11). Todo eso puedes gestionarlo a mano, claro, para eso esta JAVA_HOME, pero ¿qué pasa si tienes varias versiones de Maven? ¿Y si son más herramientas? Ya se empieza a hacer cansino. Pues bien, SDKMAN se ocupa precisamente de eso, lo instalas y él te instala las versiones que quieras de las herramientas, te pone unas activas, etc… Pero mejor enseño un ejemplo. ##Instalación Pues basta con seguir las instrucciones. Yo como soy un poco particular y maniático, me gusta tener todo lo relacionado con el desarrollo ordenado en carpetas particulares, así que para la instalación especifico primero el directorio en el que quiero que me lo instale y después lanzo el script de instalación: