Adrianistán

El blog de Adrián Arroyo


Artículos con etiqueta «programacion»

Diesel, un ORM para Rust

Un tipo de librería muy popular en lenguajes dinámicos son los ORM. Los ORM son librerías que hacen de intermediario entre la base de datos y nuestra aplicación, permitiéndonos expresar en el lenguaje de programación deseado las estructuras y datos y procedimientos. Rust, a pesar de ser un lenguaje de programación estático, cuenta con un potente ORM gracias al sistema de macros. Se llama Diesel  y es compatible con PostgreSQL, SQLite y MySQL. Un ejemplo uso de Diesel es este mismo blog, que lo usa para almacenar posts y comentarios en una base de datos PostgreSQL.

Seguir leyendo

Yield, generadores y corrutinas en Python

Estaba realizando uno de los problemas del Advent of Code 2019, cuando tuve la oportunidad de usar generadores y yield en Python, y para mi sorpresa, mucha gente los desconocía. Os pongo en situación. Si recordáis, el año pasado intenté publicar mis soluciones al Advent of Code comentadas aquí, aunque no logré acabar y sigo teniendo pendientes de hacer los últimos días de 2018. Este año lo he vuelto a intentar pero no he publicado nada por aquí, lo que considero que ha sido una buena decisión, ya que gastaba mucho tiempo y eran posts bastante densos de leer con poca utilidad. Sin embargo, he seguido comentando con compañeros, a través de Telegram sobre todo, diferentes soluciones. Ese día había que ejecutar 4 procesos de forma circular, uno detrás de otro pero manteniendo el estado en cada uno de ellos. Aunque existen otras formas válidas de resolverlo, considero que merece la pena echar un vistazo a los generadores y corrutinas de Python.

Seguir leyendo

Historia de la privacidad

Últimamente se habla mucho de la privacidad. Si bien antes era algo anecdótico, tras la llegada de las redes sociales y los dispositivos móviles, la privacidad se ha convertido en un tema mucho más común. Más aún con los escándalos como el de Cambridge Analytica que obligaron a Mark Zuckerberg a declarar. Pero entonces me surgió una curiosidad. ¿De dónde sale la privacidad? ¿Los romanos tenían privacidad? ¿Por qué en la historia de la humanidad es un concepto que parece inexistente?

Seguir leyendo

Ponencia Linux y Tapas 2019: "Web 3 0: redes descentralizadas"

El pasado 19 de octubre, tuvo lugar en la ciudad de León el evento Linux y Tapas 2019. Era mi primera vez en este evento y encima, además decidí dar una ponencia. El evento en sí me gustó mucho. Primero se queda en la catedral de León y luego nos dirigimos todos juntos al barrio húmedo a comer a base de tapas. Nunca había estado en el barrio húmedo y me sorprendió muy gratamente. Durante este tiempo puedes hablar con el resto de asistentes. Conocí a mucha gente interesante y pudimos hablar de gran cantidad de temas diferentes, eso sí, en su mayoría temas que no podrías sacar en conversaciones con tus amigos no técnicos.

Seguir leyendo

Crónica Neuronal: matrices de expresión genética para leucemia

Bienvenidos a un nuevo episodio de la serie Crónica Neuronal. Hoy vamos a tocar un problema del campo de la bioinformática. En concreto, vamos a usar matrices de expresión genética para identificar si un paciente de leucemia la tiene de tipo ALL o de tipo AML. Ambas leucemias tienen síntomas muy parecidos y es interesante poder encontrar un modelo de aprendizaje automático que pueda distinguirlas.

Seguir leyendo

Tu código va a morir

Memento mori. En la Antigua Roma, cuando un general venía victorioso de una campaña, se le organizaba un desfile por las calles de Roma. Lanzaban vítores y proclamas en su honor. No obstante, al lado de él había un siervo, que le iba repitiendo constantemente las limitaciones de la naturaleza humana, con el fin de impedir que incurriese en la soberbia y pretendiese, a la manera de un dios omnipotente, usar su poder ignorando las limitaciones impuestas por la ley y la costumbre. (Wikipedia). Esto se resume en un aforismo, Memento Mori, "Recuerda que vas a morir". Este chorro de realidad nos devuelve a la humildad, y a la vez, si uno lo piensa, nos deja entrever que los problemas de ahora no son tan importantes como muchas veces creemos que son.

Seguir leyendo

Terraform, infraestructura como código declarativo

Como alguno de los lectores ya sabrá, he empezado a trabajar este verano en Telefónica como becario. El proyecto donde estoy es 100% cloud y para ello usamos muchas herramientas. Hoy os vengo a hablar de Terraform, una herramienta que nos permite declarar la infraestructura como código y de forma declarativa.

Seguir leyendo

Podcast sobre Docker

Acaba de salir el segundo episodio del podcast Undefined. Se trata de un podcast donde algunos conocidos hablamos de temas de informática. En este episodio, dedicado a Docker, soy uno de los colaboradores así que: ¡a escucharlo todos!

Seguir leyendo

Re: Rust no es un buen reemplazo de C

Como muchos ya sabéis, podéis contactar conmigo de muchas formas. De entre ellas, Lector anónimo eligió el correo para enviarme esta pregunta:

Seguir leyendo

jq, el sed del siglo XXI

Que levante la mano quién no ha oído hablar de sed. Una herramienta presente en cualquier sistema UNIX, se trata de un editor de texto en modo streaming. Aunque sed es una herramienta muy potente, con un lenguaje de programación propio que es Turing completo, la mayor cantidad de usos son sustituir o extraer datos usando expresiones regulares y los comandos sp de sed. jq es sed para el siglo XXI porque trabaja de forma nativa con JSON, es decir, trabaja con objetos, no con texto plano.

Seguir leyendo