Replicación de BD (IV): Retraso de replicación
Puedes leer el artículo anterior de la serie aquí: mecanismos de replicación
Es hora de que hablemos sobre una propiedad importante de la replicación del mundo real: el retraso de replicación.
En el primer artículo de la serie, mencionamos que hay dos formas de replicación: síncrona y asíncrona. La replicación síncrona espera hasta que cada se...
Replicación de BD (III): Mecanismos de replicación
Puedes leer el artículo anterior de la serie aquí: mecanismos de replicación
Hemos estado hablando sobre el log de replicación y flujo de cambios en los últimos dos artículos de esta serie. Este es el mecanismo que el líder usa para comunicar cambios a los seguidores. Como puedes imaginar, hay diferentes implementaciones con sus ventajas y desv...
Replicación de BD (II): Fundamentos de recuperación de fallos
En el artículo anterior aprendimos los fundamentos de la replicación y el porqué es útil aprender sobre ella.
También aprendimos sobre replicación líder/seguidor. Seleccionamos una réplica para que sea el líder y los clientes solo podrán enviar operaciones que cambian datos a esta réplica. Después de que una operación de este tipo es procesada ...
Replicación de BD (I): Introducción a la replicación de bases de datos
La replicación es el proceso por el cual los datos son copiados, almacenados y actualizados a través de diferentes sistemas de almacenamiento de datos.
La mayoría de la teoría detrás de la replicación ha existido desde los años 70. Con el advenimiento de la computación en la nube y las bases de datos distribuidas, esta información se ha vuelto ...
Depende del comportamiento, no de los datos
Este es uno de los consejos más poderosos en programación OO que he recibido.
Significa que los objetos no deben ser vistos solo como una colección de estructuras de datos. En cambio, debes visualizarlos como entidades de software que pueden responder a mensajes y responder preguntas sobre sí mismos.
Logramos esto ocultando los detalles de imp...
Cosas que me hubiese gustado saber cuando empecé a programar, Parte 8
Sí, más Cosas que me hubiese gustado saber cuando empecé a programar, 8va edición.
Puedes encontrar el primer artículo de la serie aquí.
Y el artículo anterior aquí
Programar no se trata de memorizar, se trata de entender
Cuando empecé a programar me sentía muy frustrado cuando trataba de escribir cosas simples solo para descubrir que había ...
Escribiendo buenos comentarios de software II
En un artículo anterior, hablamos sobre la importancia de los comentarios en el desarrollo de software.
Aunque son herramientas poderosas para mejorar la legibilidad de nuestro código, debemos usarlos con cuidado. Un buen comentario puede hacer el código más fácil de entender, pero uno malo puede perjudicar tu productividad.
Los comentarios ma...
Escribiendo buenos comentarios de software I
Los comentarios son, de cierta manera, un tema controvertido.
Hay dos opiniones muy fuertes en el desarrollo de software, ambas extremadamente populares y extendidas. La primera establece que los comentarios son malvados, y no deberías usarlos bajo ninguna circunstancia. El argumento principal es que en lugar de usar comentarios, deberías trata...
Iteradores de Ruby y la palabra clave yield (con ejemplos)
Iteradores de Ruby y la palabra clave yield
Los iteradores de Ruby son un tipo especial de método soportado por colecciones. Son como cualquier otro método regular, pero reciben una entrada adicional en la forma de un bloque de código. Los iteradores son una de las características más útiles del lenguaje Ruby, y usarlos efectivamente es una gra...
Una introducción gentil a los punteros usando el lenguaje de programación C
Los punteros son uno de esos conceptos que no tienen sentido cuando los aprendes por primera vez. Usualmente, un cambio de perspectiva es suficiente para que algo en tu cerebro haga click y - ¡puf! - todo mágicamente cae en su lugar.
A pesar de esta confusión inicial, los punteros son herramientas extremadamente poderosas. Además, en algunos le...
Cosas que me hubiese gustado saber cuando empecé a programar, Parte 7
Sí, más Cosas que me hubiese gustado saber cuando empecé a programar, 7ma edición.
Puedes encontrar el primer artículo de la serie aquí.
Y el artículo anterior aquí
Testea tu código
Escribir tests es una de esas cosas que aprecias más a medida que ganas experiencia.
Al principio, es difícil entender por qué necesitamos tests. ¡Sé que funcio...
Mejores argumentos == Mejores funciones
Los argumentos juegan un papel muy importante en la legibilidad de una función. Cuando están implementados correctamente, muestran intención y proveen información sobre el comportamiento de la función. Esta es una de las razones por las que invertir tiempo en crear buenos argumentos puede ayudar a mejorar la calidad de tu código. Veamos cómo pod...
Cosas que me hubiese gustado saber cuando empecé a programar, Parte 6
Sí, más Cosas que me hubiese gustado saber cuando empecé a programar, 6ta edición.
Puedes encontrar el primer artículo de la serie aquí.
Y el artículo anterior aquí
No trates de predecir el futuro
Somos malísimos prediciendo el futuro.
Cada vez que tomas una decisión arquitectónica/de diseño, cierras opciones en tu diseño y limitas las opci...
El Principio de Segregación de Interfaces
El principio de segregación de interfaces (ISP) se ocupa de la forma en que los clientes acceden a la funcionalidad desarrollada en otra clase. Establece que los clientes no deben ser obligados a depender de funcionalidad que no utilizan.
Seguir este principio tiene varias ventajas. Por un lado, protege tus objetos de depender de cosas que no n...
Cosas que me hubiese gustado saber cuando empecé a programar, Parte 5
Aja, más Cosas que me hubiese gustado saber cuando empecé, 5ta edición.
Puedes encontrar el primer artículo de la serie aquí.
Y el artículo anterior aquí
Lees código más a menudo de lo que lo escribes. Optimiza para leer
En lugar de imaginar que nuestra tarea principal es instruir a una computadora qué hacer, concentrémonos más bien en ex...
Cosas que me hubiese gustado saber cuando empecé a programar, Parte 4
Sip, más Cosas que me hubiese gustado saber cuando empecé a programar, 4ta edición.
Puedes encontrar el primer artículo de la serie aquí.
Y el artículo anterior aquí
Ama el trabajo de mantenimiento o al menos aprende a apreciarlo
Muy pocas cosas son más despreciadas por los programadores que hacer trabajo de mantenimiento y trabajar con apli...
El Principio de Sustitución de Liskov
En 1987, mientras daba una conferencia magistral sobre abstracciones de datos y jerarquías, Barbara Liskov introdujo la idea que eventualmente se convertiría en el principio de sustitución de Liskov. La siguiente es una descripción moderna (y muy formal) del principio:
Sea Φ(x) una propiedad demostrable sobre objetos x de tipo T. Entonces Φ(...
Revisiones de código efectivas en 5 pasos fáciles
Las revisiones de código son una de esas cosas que o realmente amas o realmente odias.
Cuando se hacen bien, pueden aumentar dramáticamente la calidad de tu código y enseñarte muchas buenos hábitos. Las revisiones mal hechas, por otro lado, pueden hacer que sientas terror cada vez que tratas de subir tu código GitHub.
Aunque la actitud y exper...
103 artículos, 6 páginas.