Cómo organizar las dependencias en Gradle

Una de las mejores formas de trabajar mejor es teniendo bien organizado tu proyecto, y no, no me refiero únicamente al código de tu aplicación sino también al de tus dependencias. Es muy común, por lo menos en mis primeros proyectos con Gradle, tener todas las dependencias a cascoporro sin llevar ningún tipo de control de versiones o, simplemente, de agrupación de tipo de dependencias. Para evitarlo, intento sacar todas las dependencias a un fichero común dónde intento organizarlas de una forma más concisa y legible. Eso es lo que te traigo hoy, un videotutorial de cómo organizo las dependencias...

Cómo usar el nuevo all-open plugin de Kotlin 1.0.6

Poco antes de terminar el pasado año, JetBrains lanzó su última versión de Kotlin y entre otras novedades han añadido un plugin muy interesante: All-open plugin. Introducción Antes de explicar qué es exactamente, me gustaría recordarte que por defecto todas las clases son finales en Kotlin a no ser que indiquemos lo contrario usando la palabra reservada open: open class HelloWorld { } ¿Qué significa ésto? Que si no indicas que una clase es open no podrás heredar de ella ni sobreescribir ningún método ya que es una clase final. Desde el punto de vista de programador ésto no debería ser un...

Propósitos para el 2017

El comienzo de año es el típico momento dónde solemos dar un paso atrás para pararnos a pensar en dónde estamos, qué estamos haciendo y, no menos importante. qué podemos hacer. Eso hice y me di cuenta qué quiero empezar a hacer cosas que hasta hace unos meses no me planteaba ni hacer. Ponerse objetivos no es más que un ejercicio de planificación de lo que se quiere conseguir durante el año. No es obligatorio hacerlo pero si no lo haces, probablemente, pierdas el rumbo en algún momento y termines viendo cómo pasan los días y meses sin darte cuenta...

Creando enumerados con datos asociados en Kotlin

Últimamente, he estado desarrollando en Swift por motivos de trabajo y, para ser sincero, me encantan los enumerados con datos asociados de Swift. Si no sabes lo que es, no te preocupes, veremos ejemplos pero te puedo asegurar que luego no podrás vivir sin ellos. Normalmente, un enum (enumerado) puede contener información, pero el tipo tiene que ser el mismo para todos los casos. Ejemplo: public enum DayOfWeek { MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7); private int dayNumber; private DayOfWeek(int dayNumber) { this.dayNumber = dayNumber; } public int getDayNumber() { return dayNumber; } } Mismo código en...

Confiando certificados autofirmados en Git

Hoy, me he estado pegando con el problema de cómo aceptar de antemano el certificado autofirmado que tiene el servidor del trabajo cuándo estás clonando un repositorio Git usando una URL HTTPS. El tema está en que si intentar clonar un repositorio que está en hosteado en una máquina con un servidor autofirmado obtendrás el siguiente error: $ git clone https://www.myserver.com/myrepo.git fatal: unable to access 'https://www.myserver.com/myrepo.git/': SSL certificate problem: Invalid certificate chain Git no pregunta si quieres aceptar el certificado por lo que no se puede acceder al contenido si...