Autor: Urbano Villanueva (Página 1 de 5)

Desarrollador de Software en Autentia

Potencia tus formularios en Flask con WTF

Hace una semana publiqué, en la web de adictos, una guía completa con las bases para construir un sitio web con Flask.

Lo último que hicimos en aquel proyecto guiado fue la introducción de datos a través de formularios. Lo hicimos de forma nativa, aplicando solamente algunos estilos de bootstrap. Vamos a continuar con el mismo repositorio de github como proyecto guiado.

Hoy vamos a aplicar un módulo extra de Flask: WTF.

Esta guía no prentende ser una simple reproducción de ejemplos a modo de documentación. Encontrarás diferentes formas de hacer las cosas y recomendaciones para poder hacer el código con las mejores prácitcas posibles. Seguir leyendo

Logitech MX Keys mini

He dicho adiós a los teclados mecánicos. Hace años, me sentía muy feliz de haber conseguido un teclado mecánico muy caro y con muchas luces, el Asus Claymore Core. Y sí, el tacto de las teclas es muy bueno y lo he disfrutado mucho. Sin embargo, tal y como dice el título, hoy vengo a hablar de otro teclado. No es mecánico. Además, siendo algo más barato (90 euros nuevo frente a los 120 o más del claymore) me parece caro. ¿Por qué razón hace años veía normal gastarme 100-150 euros en un teclado y ahora me voy a wallapop para no gastarme más de 50? No lo sé pero, desde luego, algo ha cambiado.

¿Qué es lo que ha cambiado? Para empezar, el marketing: ¿realmente tiene sentido un teclado mecánico? Hace muchos años la gente usaba teclados mecánicos. Luego se pusieron de moda los teclados de lámina. Y claro, hay que vender algo. Pues, cuando todo el mundo ya tiene teclados no mecánicos, resulta interesante volver a poner de moda los mecánicos y que la gente actualice. Seamos sinceros: ¿cuántos de nosotros cambiamos de teclado o de ratón porque se estropea?. Es decir, que reconozco haber sido víctima de las agresivas campañas de marketing gaming-led-colores-rgb de turno.

Seguir leyendo

Aplica plantillas a tus Merge Requests

Que cualquier persona del equipo sea capaz de entregar el nivel deseado de calidad en el trabajo.

Esta es una meta ambiciosa y, a la vez, necesaria a la que debemos evolucionar. Esto se aplica tanto al desarrollo de software como a otros sectores o trabajos.

Una de las claves para conseguirlo es procedimentar o guionizar los trabajos a realizar. De forma que se extraigan las normas comunes que cualquier tarea debe incluir. Por ejemplo: un taller de coches en el que, al terminar cualquier labor, te lavan el coche. Independientemente de quién lo haga, debe completar esa tarea tanto si tiene que cambiar una rueda como si tiene que hacer un reglaje de válvulas. Si todo está debidamente guionizado y el proceso de onboarding empapa de esa cultura hasta al más junior, vamos a conseguir que incluso el becario que lleva dos semanas con nosotros entregue ese coche lavado como si lo hubiera arreglado el mecánico más experto de nuestro equipo.

Entrando ya en el sector del desarrollo de software, hoy traigo una herramienta muy útil para conseguir esto: una estrategia de checklist que deben ser seguidas tanto por el desarrollador como por el revisor al mergear código a ramas principales (desarroll, master, main…).

Seguir leyendo

Cómo decidir si debes guardar la caja del último gadget que te has comprado

Hoy he visto un tuit (bueno, una publicación en X) interesante acerca de alguien al que le resultaba difícil tirar las cajas de los objetos que compraba, especialmente aquellos electrónicos de cierto valor. Me siento totalmente identificado y he decidido plasmar las normas que aplico para decidir cuándo guardar (o no guardar) la caja de un producto nuevo para que todos podamos utilizarla.

Es muy sencilla, solo hay que multiplicar, sumar y restar. Lo difícil es decidir objetivamente qué valor aplicar a cada variable:

(P.garantía x 0,2 + P.reventa x 0,8) x (Espacio disponible x (1 – tamaño de la caja proporcional a espacio libre))

Seguir leyendo

Spring Security: un paseo por la seguridad de tus APIS

Recientemente impartí una charla en directo en el canal de Autentia sobre Spring Security.

En ella trato temas básicos de este módulo de Spring para comprender cómo funciona y qué hace exactamente por debajo cuando lo utilizamos, y muestro un par de ejemplos reales de código que pueden serte útiles para empezar en el mundo de la seguridad y conocer qué elementos son importante, así como algunas buenas prácticas y consejos de implementación y testeo. Seguir leyendo

Conceptos básicos de GitLab CI

Hoy voy a enseñarte a dar tus primeros pasos con algunos conceptos básicos de GitLab CI, que es la herramienta de integración continua de nuestros amigos de GitLab. De esta forma, podrás configurar tu repositorio para construir los proyectos automáticamente cuando hagas push a una rama, por ejemplo. O pasar los tests e, incluso, automatizar despliegues automáticos en tus diferentes servidores de una forma más que sencilla. Seguir leyendo

Probando minería de zCash con una gtx 960: no es rentable y por qué

No me digas por qué, pero tras meses sin escribir he encontrado esto en borradores. Me olvidé completamente de publicarlo. Hoy ya no es la mitad de útil de lo que sería entonces, pero seguro que te gusta mi aventura. ¡No te la pierdas!

Hasta ahora había estudiado mucho el mundo de la minería, pero no me había metido de fondo en él. He hecho un pequeño estudio, de primera mano, para estudiar tres aspectos principales: ¿de verdad se gana dinero minando? ¿Es cierto que una tarjeta gráfica mediocre (como mi gtx960) no es rentable para minar o solo se ha llegado a esa afirmación por puro márketing? ¿Cómo se mina, qué programas me tengo que descargar y cómo funcionan? ¿Cómo funciona una pool cuando estás en ella? ¿Dónde crear mi cartera? Y muchas otras preguntas a las que encontrarás respuesta en este artículo. Seguir leyendo

Diferentes tipos de SSD y cuál comprar

Hace ya bastante tiempo, os contaba cómo instalar un SSD en vuestro portátil. Han pasado 3 años y, como cabe esperar, las cosas han cambiado bastante. El precio de los SSD ha caído drásticamente, aunque no tanto como cabría esperar. Y sí, aunque los SSD tal y como los conocíamos son más baratos, el marketing se ha encargado de ofrecernos nuevas tipologías que nos harán temblar el bolsillo. Y esto es lo que vengo a contarte hoy: ¿Cuántos tipos de SSD existen? ¿Qué ventajas ofrecen? ¿Qué precios tienen? Quédate y en pocos minutos lo sabrás todo sobre ellos. Seguir leyendo

Instala una unidad SSD en tu portátil sin quitar tu HDD

Actualmente está muy de moda eso de cambiar el disco duro de tu portátil por un disco de estado sólido. El problema que presentaban estos nuevos inventos es el precio, por lo que normalmente los usuarios no podían permitirse unidades de más de 120 o 240 gb. Y esa falta de almacenamiento es lo que a muchos de mis amigos les tira atrás cuando les recomiendo unidades SSD.

Actualización 2020: si quieres sabér más sobre todos los tipos de SSD que existen y cuáles te recomiendo, pásate por este artículo!

¿Tú también quieres tener un ssd en tu portátil sin renunciar a toda la capacidad de almacenamiento de tu HDD actual? Continúa leyendo y verás como hacerlo.

Seguir leyendo

Ejemplo práctico de TDD con Spring Boot

Hoy vas a aprender mucho con este sencillo ejemplo práctico de TDD (Test-Driven Development). Es una metodología de desarrollo de software que consiste, básicamente, en escribir antes los tests que la funcionalidad. De esta forma, conseguimos numerosas ventajas. Para empezar, una gran covertura de código. Y esque, en este caso, la covertura de código es una consecuencia de la metodología, no una simple meta a alcanzar (¿te suenan los assert(true)?). Además, conseguimos un diseño totalmente enfocado a las necesidades y requisitos el proyecto, ya que cada test sería (más o menos) reprensentativo de un caso de uso.

Antes de nada, permíteme avisarte de que este extenso artículo está hecho para gente con una experiencia moderada desarrollando. Si no tienes experiencia con Spring Boot o un framework similar, no sabes lo que es una API rest o cómo funciona por dentro, o no sabes distinguir entre controlardores, servicios, DAOS y POJOS, entonces primero aprende todo eso, coge experiencia, y con todo eso puedes empezar a mejorar tu forma de desarrollar apliando TDD. Seguir leyendo

« Entradas anteriores