Entiendiendo Versionamiento Semántico

Hace poco estaba hablando con un colega y recomendándole una librería para ayudarle en un problema que estaba tratando de resolver. Mientras le hablaba de cómo funcionaba la librería, abrió el repositorio Github de la misma y vio el número de version (1.1.5) y me dijo “No es muy buena, está solo en versión 1”….

POO VS PF: Una falsa dicotomía

Los seres humanos somos seres muy dicotómicos (por no decir, extremistas). Nos encanta atrincherarnos en nuestras posiciones, reconociendo poco y nada de valor en la posición antagónica. Pensamos que tenemos que elegir una u otra alternativa, pero pocas veces realmente llegamos a la conclusión, luego de un análisis honesto, que podría haber valor en ambos…

Testeando Unitariamente el Sistema de Archivos en PHP

Cada vez que hacemos una llamada a file_get_contents o fwrite o cualquiera de las funciones de sistema de archivos en PHP, estamos acoplando nuestro código al sistema de archivos. Lo que quiero decir con esto es que nuestro código necesita un sistema de archivos para funcionar. Si estuviésemos usando una abstracción de sistema de archivos…

Desplegando un Nodo Master de Kubernetes

Bienvenido a estas series de artículos sobre Kubernetes 101. He estado aprendiendo Kubernetes ya por un tiempo y creo que estoy en una buena posición para poder ayudar a otros a montar su propio clúster. Vamos a hacer todo “más o menos” manual. Hoy en día, es fácil montar un clúster de tres nodos en…

Desmitificando las ORM

Hace poco en el sitio de Programadores Chile, un usuario hizo una pregunta muy interesante, que al menos todos nos hemos hechos alguna vez: Hola, quiero hacerles una consulta… ¿para ustedes es mejor SQL nativo o un ORM y por qué ? Un Desarrollador X Un montón de respuestas y comentarios, algunos de ellos bastante increíbles…

Svelte VS Vue: Una comparación temprana

Estos días he estado jugando con Svelte js. Aunque no soy un desarrollador frontend (mi css es lo peor que este mundo ha visto), me gusta estar al tanto de las nuevas tecnologías y los avances en la parte un poco más programática del front. He tenido la experiencia de trabajar con jQuery en los…

Accediendo a propiedades privadas sin usar Reflection

Hace poco, mientras estaba trabajando en mi próximo gran proyecto (una librería de Event Sourcing en PHP) me topé con un problema muy concreto. Necesitaba serializar una clase llamada Event a json, y poder volver a deserializarla de vuelta. Lo sé: en PHP existen las funciones serialize y unserialize para guardar representaciones textuales de cualquier…

Tell Don’t Ask en PHP

De las muchas técnicas y principios de POO que he aprendido en mi carrera, uno de los más útiles es el llamado Tell, Don’t Ask.Para comprenderlo mejor, tenemos que contrastarlo con su anti patrón. Consideremos la siguiente clase: Lo que la mayoría de los desarrolladores haría, es llenar esta clase de getters y setters: Luego,…

3 Razones para evitar usar Laravel

No pocas veces he escuchado la frase “No importa, al final todos los frameworks son iguales” cuando he intentado convencer a otros desarrolladores de considerar las cualidades de un framework sobre otro. Tal respuesta es parte de una técnica ancestral: no hay mejor forma de aniquilar un debate que negar el hecho de que debería…