Recientes
- Transferencia de datos segura con cifrado de Public Key y pyNaCl
- rqlite: una alternativa de alta disponibilidad y dist distribuida SQLite
- ¿Debo migrar mi Docker Swarm a Kubernetes?
- Obtener una lista de YouTube vídeos de una persona
- De Docker-Composer a Docker Swarm: Configs
- Docker-Componer proyectos con nombres de servicio idénticos
Más vistos
- Usando UUIDs en lugar de Integer Autoincrement Primary Keys con SQLAlchemy y MariaDb
- Usando Python's pyOpenSSL para verificar los certificados SSL descargados de un host
- Conectarse a un servicio en un host Docker desde un contenedor Docker
- Usando PyInstaller y Cython para crear un ejecutable de Python
- SQLAlchemy: Uso de Cascade Deletes para eliminar objetos relacionados
- Flask RESTful API validación de parámetros de solicitud con esquemas Marshmallow
Etiquetas
AiohttpAJAXAlembicAlpineAPIApplication settingsAsyncBabelBeautifulSoupBootstrapCachingCaptchaCeleryColorsCompileCronCryptographyCSRF protectionCythonDecoratorDeep LearningDeepLDispatcherMiddleWareDistributionDNSDockerDocker SwarmDocker-composeEmailExceptionsFastAPIFlaskGunicornIconsIMAPInternetISPConfigJavascriptJinja2KubernetesLog fileLoggingMachine LearningMariaDBMessage brokerMultilanguageMultiprocessingPentestingPikaPostfixProfilingPyInstallerpyOpenSSLPytestRabbitMQRedisrqliteScrapingSecurity testingSeleniumSlackSQLAlchemyTestingThreadsTimezoneToastsUbuntu TouchUUIDWeb automationWerkzeugWheelsWTFormsYouTubeTransferencia de datos segura con cifrado de Public Key y pyNaCl
2 diciembre 2023 0
Peter
Este es un breve post sobre la transferencia de datos de forma segura entre dos personas. Para ello utilizamos el paquete Python pyNaCl para generar claves privadas y públicas y para cifrar y descifrar los datos. También he añadido el paquete Python keyring para almacenar las private_key y public_key. En realidad no es tan difícil. Necesitaba una clase básica para ...
rqlite: una alternativa de alta disponibilidad y dist distribuida SQLite
17 octubre 2023 1
Peter
En un proyecto estoy utilizando una base de datos SQLite . Los datos no son críticos, se pueden recargar en cualquier momento. Aún así, no quiero que parte de la aplicación deje de responder cuando la base de datos SQLite no esté disponible temporalmente.
Buscaba una base de datos rápida, más o menos tolerante a fallos, y también distributed, para poder replicar algunos módulos de lectura. Al ...
¿Debo migrar mi Docker Swarm a Kubernetes?
15 septiembre 2023 0
Peter
Cuando lees posts en internet diciendo que Docker Swarm está muerto, te asustas. Yo tengo un Docker Swarm funcionando y me gusta, es fácil cuando ya usas Docker.
¿Cuáles son las alternativas? Hemos leído todo el tiempo que sólo hay una cosa que hacer y es migrar a Kubernetes y olvidarse de todo lo demás.
Yo estaba a medio camino de migrar de Docker a Docker Swarm, y quería saber si debía ...
Obtener una lista de YouTube vídeos de una persona
7 septiembre 2023 0
Peter
Hace unos días recibí la pregunta ¿Se puede descargar todos los videos YouTube pública de una persona, que fueron subidos entre 2020 y hoy. El número total de vídeos era de unos doscientos. Y no, no he podido acceder a la cuenta YouTube de esta persona.
En este post, utilizo la YouTube API para descargar los metadatos necesarios de los vídeos, un elemento por vídeo. Busqué en PyPI, pero no ...
De Docker-Composer a Docker Swarm: Configs
29 agosto 2023 0
Peter
Tiene una aplicación que consta de varios proyectos Docker-Compose y utiliza Docker-Compose para compilar, iniciar y desplegar.
Ahora quiere ir un paso más allá y mover algunos de los proyectos Docker-Compose a otro servidor. La opción más obvia para hacer esto, bueno para probar primero, es Docker Swarm. Aprendes unos pocos comandos más Docker y listo. ¿Es ...
Docker-Componer proyectos con nombres de servicio idénticos
25 agosto 2023 0
Peter
Si tenemos proyectos Docker-Compose idénticos con nombres de servicio idénticos, conectados por una red Docker , debemos asegurarnos de que accedemos al servicio adecuado. En una red Docker hay dos formas de acceder a un servicio:
Por nombre de servicio
Por nombre de contenedor
Tengo múltiples proyectos Docker-Compose que son casi idénticos, cada proyecto está en su propio directorio ...
X Automatización web y scraping con Selenium
11 agosto 2023 0
Peter
Cuando se quieren extraer datos de la Web, hay que saber lo que se hace. No quieres sobrecargar un servidor de destino con peticiones. Si lo haces desde un único sitio, un IP address, podrías recibir un baneo (temporal).
Si quieres hacer un scrape grande, considera usar un servicio dedicado como ZenRows, ScrapFly, WebScrapingAPI, ScrapingAnt, etc. distribuyen tus peticiones a través ...
Aiohttp con servidores DNS personalizados, Unbound y Docker
13 julio 2023 0
Peter
Utilizar aiohttp parece muy fácil, pero no lo es. Es confuso. La documentación 'Client Quickstart' comienza con lo siguiente:
Nota
No cree una sesión por solicitud. Lo más probable es que necesite una sesión por solicitud que realice todas las solicitudes juntas.
Casos más complejos pueden requerir una sesión por sitio, por ejemplo, una para Github y otra para Facebook APIs. De todos ...
Devuelve sólo los valores de una lista de registros de FastAPI
6 julio 2023 0
Peter
En Python, todo es una clase, lo que significa que los datos del modelo son similares a un diccionario. Pero los diccionarios tienen claves. Y cuando devuelves una lista de muchos diccionarios desde FastAPI, el tamaño de los datos, claves y valores, suele ser mucho más del doble del tamaño de los valores. Mayor tamaño y más tiempo significa que nuestra aplicación no es muy eficiente, más lenta de ...
Prevención de la suplantación de identidad IP address mediante el filtrado de ruta inversa
15 junio 2023 0
Peter
Este post es sobre administración de sistemas y no tiene nada que ver con Python. Entonces, ¿por qué publicar esto aquí? Porque creo que hay muchos como yo que tienen uno o más servidores web y a veces se encuentran con estos problemas.
En el post anterior escribí que mi servidor ISPConfig Debian fue objeto de escaneo de puertos, etc y que parecía que el 95% de todas las solicitudes procedían ...
Recoger y bloquear IP addresses con ipset y Python
21 mayo 2023 0
Peter
Si tienes un servidor conectado a Internet, probablemente hayas visto esto en tus archivos de registro: montones de peticiones externas ilegales intentando acceder a tus servicios.
Yo mantengo un servidor Debian , y utilizo Fail2Ban para la prevención de intrusiones. Práctica estándar, instalar, configurar y olvidar. Como el servidor se caía a ciertas horas, decidí echar un vistazo más de cerca.
Me ...
Cómo cancelar tareas con Python Asynchronous IO (AsyncIO)
2 mayo 2023 0
Peter
Para un proyecto estaba usando AIOHTTP para comprobar las respuestas de muchos sitios web remotos, URLs. Las URLs provenían de una lista. Esta lista puede contener duplicados.
Todo bien hasta que noté que algunas respuestas también tenían el código de estado HTTP-429 'Demasiadas peticiones'. Cualquiera que sea la razón, sobrecarga, seguridad, queremos comportarnos amigablemente y no queremos llamar ...
Ejecutar un comando Docker dentro de un contenedor Cron Docker
18 abril 2023 0
Peter
Al utilizar Docker, su aplicación suele constar de varios contenedores Docker . A menudo, quieres ejecutar scripts dentro de estos contenedores en determinados momentos, por ejemplo, cada cinco minutos, una vez por hora, una vez al día.
Aquí es donde el programador de tareas Cron entra en juego, y hay varias opciones sobre cómo hacer esto. En este post creo un contenedor Cron separado, y uso el ...
Creación de un Captcha con Flask, WTForms, SQLAlchemy, SQLite
10 abril 2023
Peter
En el pasado escribí algo de código para un (sólo texto) Captcha para un sitio web Flask . Esto es una actualización. Aquí utilizo un paquete Pypi para generar la imagen. Además también añadí un botón de actualización de imagen Captcha .Puedes probar el código de abajo, es un formulario de suscripción (newsletter). Aunque esta es una solución Captcha para un sitio web Flask , se puede convertir ...
Multiprocessing, bloqueo de archivos, SQLite y pruebas
30 marzo 2023 0
Peter
Estaba trabajando en un proyecto con SQLAlchemy y PostgreSQL. Para algunas tablas, quería limitar el número de filas por user, y lo hice añadiendo una función de comprobación y un trigger PostgreSQL .
Probando manualmente todo parecía estar funcionando bien, pero ¿qué pasaría si un user iniciara múltiples procesos y añadiera filas exactamente al mismo tiempo? He añadido el 'pg_advisory_xact_lock' ...
Envío de mensajes a Slack mediante chat_postMessage
23 marzo 2023 0
Peter
Para un proyecto que ya estaba enviando mensajes por correo electrónico, pero ahora también quería enviar mensajes a Slack. Por supuesto, estamos utilizando el Python Slack SDK.
La documentación se puede encontrar en la página: Python Slack SDK - Cliente Web. En este post creo una simple clase SlackAPI con su propia clase de excepción SlackError.
Crear y ...
PostgreSQL copia de seguridad con Docker SDK para Python
9 marzo 2023 0
Peter
Este es un breve post sobre la copia de seguridad de una base de datos Dockerized PostgreSQL . Para acceder a la base de datos, normalmente ejecutamos un script Bash en el host, con comandos como:
docker exec -t <container> bash -c '<command>'
En este post sustituimos nuestro script Bash por un script Python . ¿Por qué? Porque conocemos Python y programar en Bash puede llevarnos ...
Evitar el envío de mensajes duplicados a un sistema remoto
21 febrero 2023 0
Peter
Muchas veces las aplicaciones deben enviar mensajes a un sistema remoto. En un mundo perfecto sólo tenemos que ocuparnos del Flujo Feliz: no ocurren cosas malas como excepciones, errores.
Por desgracia, el mundo no es perfecto. Además de los errores de programación, las conexiones pueden fallar, los sistemas de bases de datos pueden fallar, los sistemas remotos pueden fallar. ...
Politician Translator con Spacy y Negate
11 enero 2023 0
Peter
Este es un post corto. Todo el tiempo oímos hablar a los políticos, pero la mayoría de las veces quieren decir lo contrario. Por ejemplo, si un político dice que va a bajar los impuestos, los impuestos subirán. Si un político dice que no una relación con esa mujer, entonces ... Etc.
Así que pensé, ¿por qué no hacer un Politician Translator en Python? En este post, empiezo con los resultados. El ...
Del código monolítico a los servicios con RabbitMQ y Pika
8 enero 2023 0
Peter
Este post es sobre el uso de RabbitMQ en su aplicación Python . Si ya estás usando Rabbit, probablemente no encontrarás nada útil en este post. ¿Por qué un post sobre RabbitMQ? Porque tengo una aplicación que lo está utilizando desde hace un año, y pensé en compartir mis experiencias.
En este post, transformamos una aplicación ...