En la entrada de la semana pasada se explicaron los pasos necesarios para la instalación y configuración de un sistema de alta disponibilidad en PostgreSQL con repmgr. Para lo que se emplearon dos máquinas virtuales con Rocky Linux 9. En esta publicación se va a usar el clúster para ver cómo mantener un sistema de alta disponibilidad con PostgreSQL y comprobar que este funciona … [Leer más...] acerca de Mantener un sistema de alta disponibilidad con PostgreSQL y repmgr
Diferencias entre los errores 401 y 403 del estándar HTTP
Al navegar por la web o interactuar con una API es probable encontrarse con mensajes de error como "401 Unauthorized" o "403 Forbidden". A primera vista, estos errores pueden parecer lo mismo, ya que ambos indican la existencia de un problema de permisos para acceder a un recurso. Pero no lo son, existen diferencias clave entre ellos. En esta entrada, se explicará cuándo y por … [Leer más...] acerca de Diferencias entre los errores 401 y 403 del estándar HTTP
Ver el código de cualquier función en Python
Una característica bastante interesante de R es la posibilidad de ver el código de una función simplemente escribiendo el nombre de estas sin paréntesis. Lo que permite ver y comprender el funcionamiento de estas. Independientemente de que sea una función creada por nosotros o una que se hubiese importado de un paquete. Esta característica no existe como tal en Python, pero es … [Leer más...] acerca de Ver el código de cualquier función en Python
Alta disponibilidad en PostgreSQL con repmgr
La semana pasada se explicaron los pasos necesarios para la creación de un sistema de réplica con PostgreSQL. Esto es, un sistema mediante el cual se puede disponer de una copia de la base de datos en un segundo servidor. Pero un sistema de réplica no es un sistema de alta disponibilidad. La base de datos de réplica es de solo lectura, por lo que solamente se puede usar como … [Leer más...] acerca de Alta disponibilidad en PostgreSQL con repmgr
Visualizador de expresiones regulares
Las expresiones regulares son una herramienta fundamental para el procesamiento de cadenas de texto. Siendo esenciales para muchas tareas de análisis de texto. A pesar de ello, su sintaxis puede ser intimidante, especialmente para aquellas personas que no están familiarizadas con su lógica que en algunos casos puede llegar a ser intrincada. Para estos casos un visualizador de … [Leer más...] acerca de Visualizador de expresiones regulares
Diferencia entre at y loc en Pandas
En Pandas existen dos opciones para seleccionar los elementos de un DataFrame: at y loc. Aparentemente las dos alternativas hacen lo mismo, pero no es así. Existe una sutil diferencia entre at y loc en Pandas que se debe tener en cuenta a la hora de elegir una u otra opción.La diferencia entre at y loc en PandasLa sutil diferencia que existe entre los dos métodos es la … [Leer más...] acerca de Diferencia entre at y loc en Pandas
Creación de un sistema de réplica con PostgreSQL
Una sola copia de una base de datos puede no ser suficiente para algunas aplicaciones. Tanto por motivos de seguridad como de rendimiento, disponer de una o varias réplicas de la base de datos puede ser clave. La configuración de un sistema de réplica con PostgreSQL es algo relativamente sencillo gracias al uso de Streaming Replication (SR), una característica que está … [Leer más...] acerca de Creación de un sistema de réplica con PostgreSQL
Publicación de aplicaciones Angular en IIS (Internet Information Services) incluso con rutas
La publicación de una aplicación creada con Angular en IIS (Internet Information Services) es una tarea sencilla, simplemente se debe compilar esta para producción y copiar los archivos a la carpeta de IIS. En esta publicación se explicarán los pasos necesarios para realizar esto.Compilación de la aplicación AngularEl primer paso para la publicación de una aplicación … [Leer más...] acerca de Publicación de aplicaciones Angular en IIS (Internet Information Services) incluso con rutas
Comparar cadenas con espacios en Pandas
Los DataFrame de Pandas son una excelente herramienta para procesar los conjuntos de datos. Con ellos es posible seleccionar los registros en base a los valores de las diferentes columnas o eliminar aquellos que no cumplan una condición. Algo que se puede hacer con valores numéricos, fechas y cadenas de texto. Pero ¿qué pasa cuando los registros de texto no son iguales? Por … [Leer más...] acerca de Comparar cadenas con espacios en Pandas
Solucionar el error “(13: Permission denied) while connecting to upstream” al usar Nginx con RHEL o CentOS
Recientemente he usado un proxy inverso creado con Nginx en RHEL para mejorar la seguridad de una aplicación web creada con Express. Pero, una vez creado el proxy inverso, en lugar de acceder a la aplicación aparecía una página con un error 502 Bad Gateway. En este caso se puede revisar el log de Nginx para intentar describir cual es el problema, lo que se puede hacer con el … [Leer más...] acerca de Solucionar el error “(13: Permission denied) while connecting to upstream” al usar Nginx con RHEL o CentOS
Evitar que Office guarde los archivos por defecto en OneDrive
Almacenar los archivos en una nube permite mantener una copia de éstos a salvo en caso de pérdida o deterioro del ordenador de trabajo. Lo que reduce las posibilidades de sufrir una pérdida de datos. Por eso, actualmente, las aplicaciones de Office, como Word, Excel o PowerPoint, vienen configuradas por defecto para guardar los nuevos archivos en OneDrive en lugar de en una … [Leer más...] acerca de Evitar que Office guarde los archivos por defecto en OneDrive
Segmentar datos numéricos en Pandas con la función cut()
Al trabajar con datos numéricos, para facilitar su análisis e interpretación, puede ser necesario agrupar estos en intervalos de valores discretos. Lo que permite convertir datos numéricos en categorías o clases. La función cut permite segmentar datos numéricos en Pandas de una manera sencilla.Descripción de la función cut() de PandasLa función cut() de Pandas permite … [Leer más...] acerca de Segmentar datos numéricos en Pandas con la función cut()