
Python
A 100x speedup with unsafe Python
- A 100x speedup with unsafe Python : En este artículo se explora cómo lograr un aumento de velocidad de 100 veces en Python al trabajar con numpy y pygame.
Cómo funciona Python asyncio: uso de generadores
- Cómo funciona Python asyncio: recreándolo desde cero : Jacob Padilla explora cómo funciona Python asyncio usando generadores. Se detalla la creación de un bucle de eventos, la pausa con ‘yield’, la transición a ‘await’ con el método ‘ await ’, y finalmente la implementación de asyncio real. Se muestra cómo los generadores son la base de asyncio y se explica el proceso paso a paso.
Temporal 1.0.0 – Un bucle de eventos asyncio persistente y distribuido
- Temporal 1.0.0 – Un bucle de eventos asyncio persistente y distribuido : Temporal permite a los desarrolladores escribir flujos de trabajo persistentes en Python utilizando asyncio.
Nuevo REPL en Python 3.13
- Nuevo REPL en Python 3.13 : En artículo destaca la llegada del nuevo REPL de Python 3.13, con mejoras como la inclusión de colores en el prompt, indentación automática y soporte para pegar código. Aunque no tiene soporte en Windows, se espera que en el futuro se agregue.
Bases de datos vectoriales para aplicaciones de IA generativa
- Bases de datos vectoriales para aplicaciones de IA generativa : Abhishek Gupta explora en su artículo la importancia de las bases de datos vectoriales para aplicaciones de IA generativa. Destaca las limitaciones de los modelos LLM y la necesidad de acceso a fuentes de datos externas. Describe cómo las bases de datos vectoriales capturan el significado semántico y su papel en la búsqueda contextual. También presenta la técnica RAG para mejorar la generación de respuestas relevantes en aplicaciones de IA.
Python’s unittest: Cómo escribir pruebas unitarias
- Python’s unittest: Cómo escribir pruebas unitarias : En este tutorial de REAL PYTHON se muestra el uso del framework unittest para crear pruebas unitarias en Python.
Evitar conflictos y dejar que el sistema operativo seleccione un puerto para una aplicación web
- Evitar conflictos y dejar que el sistema operativo seleccione un puerto para una aplicación web : Christoph Schiessl explica cómo evitar problemas en el desarrollo Web con Python al permitir que el sistema operativo seleccione automáticamente un número de puerto aleatorio en lugar de especificarlo manualmente. Esto facilita ejecutar múltiples instancias del mismo proceso paralelo.
Lanzamiento de Pydantic v2.7.0
- Lanzamiento de Pydantic v2.7.0 : Se ha anunciado el lanzamiento de Pydantic v2.7.0. Entre las novedades se encuentran mejoras en empaquetado, nuevas características como el soporte para campos deprecados y mejoras de rendimiento.
Cómo agregar una marca de agua a una imagen con Matplotlib
- Cómo agregar una marca de agua a una imagen con Matplotlib : Matplotlib es una de las bibliotecas de visualización de datos más populares para el lenguaje de programación Python. Permite crear diversos gráficos y diagramas. Mike Driscoll explica cómo añadir una marca de agua a una imagen.
Funciones en Python como objetos
- Funciones en Python como objetos : Stephen Gruppetta explora cómo las funciones en Python son objetos que pueden ser reasignados y manipulados. Se presenta un problema aparentemente imposible de resolver, pero que puede ser abordado con algunas reasignaciones clave.
4 Principios de Diseño de Software que Aprendí a la Fuerza
- 4 Principios de Diseño de Software que Aprendí a la Fuerza : Leonardo Creed discute cuatro principios de ingeniería de software que ha aprendido a lo largo de su carrera. Algunos van en contra de la práctica común, como el principio DRY que puede no ser tu amigo.
Creación de Componentes Reutilizables en Django
- Creación de Componentes Reutilizables en Django : Michael Yin explora cómo construir componentes de interfaz de usuario reutilizables en el lado del servidor en Django utilizando la biblioteca django-viewcomponent.
Java
La mejor manera de usar el atributo opcional OneToOne de JPA
- La mejor manera de usar el atributo opcional OneToOne de JPA : Vlad Mihalcea explora la mejor forma de utilizar el atributo opcional OneToOne en JPA para evitar problemas de consultas N+1. Se detalla cómo mapear la relación de tablas uno a uno entre las entidades Post y PostDetails, destacando el uso de @MapsId para evitar consultas adicionales y mejorar el rendimiento.
Introducción a Spring AI
- Introducción a Spring AI : Vojtech Ruzicka explica cómo comenzar con Spring AI para integrar funcionalidades de Inteligencia Artificial en una aplicación Spring Boot. Se detalla la creación de un nuevo proyecto con Spring Initializr, la configuración de dependencias, la gestión de claves de API y la generación de texto e imágenes. Se destaca la abstracción del proveedor de IA para facilitar futuros cambios de plataforma.
Java: Programación Funcional f(x) - Parte 1
- Java: Programación Funcional f(x) - Parte 1 : Mahendra Rao B muestra cómo la programación funcional se basa en conceptos matemáticos para mejorar la claridad y eficiencia del código. Se discuten los principios fundamentales y conceptos de la programación funcional, así como las características específicas de Java en este paradigma.
Optimizando el desarrollo con Payara Micro en modo Dev
- Optimizando el desarrollo con Payara Micro en modo Dev : Gaurav Gupta explora el modo Dev del plugin de Maven de Payara Micro, que agiliza el desarrollo al permitir despliegues automáticos, recarga automática, persistencia de sesiones y logs legibles. Estas funciones mejoran la productividad, la calidad del código y la satisfacción del desarrollador al ofrecer una experiencia de desarrollo más fluida.
Rendimiento del compilador K2 y cómo medirlo en tus proyectos
- Rendimiento del compilador K2 y cómo medirlo en tus proyectos : Con la próxima versión 2.0.0 de Kotlin, el compilador K2 está disponible para realizar pruebas. Se detalla su rendimiento en varios proyectos y brinda herramientas para recopilar estadísticas de rendimiento. El nuevo frontend del compilador mejora la eficiencia de compilación y el análisis en IntelliJ IDEA.
Java en 2024 - Cambio constante
- Java en 2024 - Cambio constante : Georges Saab, destaca cómo se ha acelerado el ritmo de nuevas versiones de Java desde hace seis años para mantenerse activos en un mundo en constante cambio. Esta estrategia ha permitido una innovación y entrega de características sin precedentes. Se repasan las últimas funcionalidades.
Java 21 and Beyond: A Roadmap of Innovations
- Java 21 and Beyond: A Roadmap of Innovations : Se detallan las nuevas características de Java 21. Desde clases sin nombre hasta plantillas de cadenas y matching de patrones.
Hibernate 6.5.0.Final
- Hibernate 6.5.0.Final : Se ha lanzado Hibernate 6.5.0.Final, con mejoras en el manejo de objetos Java Time y la posibilidad de configurar el formato de almacenamiento en la caché de consultas. Ahora se permite el uso de registros Java como @IdClass y la habilitación automática de filtros. También se añade soporte para consultas de actualización y eliminación con joins, entre otras novedades.
Hibernate Reactive 2.3.0.Final released
- Hibernate Reactive 2.3.0.Final released : Se ha lanzado la versión 2.3.0.Final compatible con Hibernate ORM 6.5.0.Final, incluyendo soporte para soft deletes.
Quarkus 3.10 - Novedades en Hibernate Search, Flyway 10 y mejoras de seguridad
- Quarkus 3.10 - Novedades en Hibernate Search, Flyway 10 y mejoras de seguridad : Guillaume Smet presenta las novedades de Quarkus 3.10, destacando la integración del mapeador POJO independiente de Hibernate Search, la actualización a Flyway 10, y mejoras de seguridad.
WildFly 32
- WildFly 32 : Se destaca la introducción de WildFly Glow para facilitar la instalación óptima. Se han añadido nuevas guías de usuario y características individuales, como mejoras de seguridad y herramientas de aprovisionamiento. Además, se presenta un cambio en el soporte de Java SE, recomendando usar SE 21. WildFly Preview ahora muestra avances para Jakarta EE 11.
Cómo usar una Raspberry Pi para ejecutar una acción en GitHub
- Cómo usar una Raspberry Pi para ejecutar una acción en GitHub : Nicolas Frankel explora cómo migrar de un runner de GitHub a un runner autohospedado en Raspberry Pi. Destaca la necesidad de entender que el script se ejecuta en la máquina, automatizar la provisión de una nueva máquina en caso de fallos y considerar ejecutar el runner dentro de un contenedor en el Pi. Detalla los pasos necesarios para configurar el runner y manejar secretos.
Cómo utilizar la API de Funciones Externas en Java 22 para llamar a Bibliotecas en C
- Cómo utilizar la API de Funciones Externas en Java 22 para llamar a Bibliotecas en C : Se detalla cómo llamar a bibliotecas en C como fopen, fgets y fclose desde Java. Presenta la API de Funciones Externas y Memoria (FFM) de java.lang.foreign, detallando la configuración de la clase LibC, la implementación de fopen, fgets y fclose, y su uso en un programa Runner. Se destaca la seguridad y comparación con JNI.
JEP 479: Eliminar el puerto Windows 32-bit x86
- JEP 479: Eliminar el puerto Windows 32-bit x86 : Eliminar el soporte de código fuente y compilación para el puerto Windows 32-bit x86. Este cambio, propuesto por George Adams y Bruno Borges, tiene como objetivo simplificar la infraestructura de construcción y pruebas de JDK, permitiendo acelerar el desarrollo de nuevas funcionalidades en la plataforma. Se espera que esta eliminación se realice en una versión futura de JDK.
Implementando el Patrón Publisher-Subscriber con AWS SNS y SQS en Spring Boot
- Implementando el Patrón Publisher-Subscriber con AWS SNS y SQS en Spring Boot : Hardik Singh Behl explora cómo implementar el patrón publisher-subscriber en microservicios de Spring Boot utilizando los servicios de AWS SNS y SQS. Se detalla la configuración de un microservicio como publisher y otro como subscriber, mostrando cómo lograr una arquitectura desacoplada y escalable.
Cómo anular FetchType.EAGER con la propiedad fetchgraph de JPA
- Cómo anular FetchType.EAGER con la propiedad fetchgraph de JPA : Vlad Mihalcea explica cómo anular la estrategia FetchType.EAGER utilizando la propiedad fetchgraph en JPA. Se detalla cómo crear un Entity Graph que excluya la asociación que no se desea recuperar y cómo aplicarlo al recuperar entidades. Esta funcionalidad, disponible desde Hibernate 5.5, permite evitar la carga innecesaria de asociaciones FetchType.EAGER en consultas, mejorando así el rendimiento de las transacciones.
Needle: Una biblioteca de expresiones regulares basada en DFA que se compila a bytecode de JVM
- Needle: Una biblioteca de expresiones regulares basada en DFA que se compila a bytecode de JVM : Justin Blank presenta Needle, una biblioteca que compila expresiones regulares a bytecode de JVM. Cada expresión se compila a un Autómata Finito Determinista (DFA) en una clase Java. Needle optimiza la búsqueda al detectar prefijos, sufijos e infijos requeridos, mejorando el rendimiento. Se comparan rendimientos con la librería estándar de Java y brics automaton library.
Go
Mejoras en la Biblioteca Estándar de Go con math/rand/v2
- Mejoras en la Biblioteca Estándar de Go con math/rand/v2 : Generar números aleatorios es más complejo de lo que parece. El equipo de desarrollo de Go ha lanzado la versión 2.0 de este paquete que corrige fallos en el generador de números aleatorios inicial sin romper la compatibilidad.
Borgo: Un nuevo lenguaje que se compila a Go
- Borgo: Un nuevo lenguaje que se compila a Go : Borgo, un nuevo lenguaje que se compila a Go, ha generado mucha expectación en la comunidad. Los autores de Borgo buscan crear un lenguaje más expresivo que Go pero menos complejo que Rust, lo que añade seguridad.
Usando Structs para Listas de Argumentos Genéricas
- Usando Structs para Listas de Argumentos Genéricas : Evan Moses explora en su artículo el uso de structs para listas de argumentos genéricas. Compara la ejecución de un nuevo algoritmo con uno antiguo para garantizar que arrojen la misma respuesta. Propone el uso de structs y genéricos para limpiar el código, similar a banderas de características para probar refactorizaciones.
IA y Ciencia de datos
AI Comic Generation: StoryDiffusion
- AI Comic Generation: StoryDiffusion : AI Comic Generation: StoryDiffusion es un nuevo avance presentado en un paper de ByteDance y universidades chinas. Este framework innovador genera secuencias coherentes de imágenes y videos a partir de texto, utilizando modelos basados en difusión.
Deep Reinforcement Learning: De novato a experto (Curso)
- Deep Reinforcement Learning: De novato a experto : Repositorio que contiene documentación muy extensa sobre el Deep Reinforcement Learning.
Cómo funcionan los LLMs, explicado sin matemáticas
- Cómo funcionan los LLMs, explicado sin matemáticas : Miguel Grinberg explica de forma sencilla cómo funcionan los LLMs en este artículo.
Llama-3 with LocalGPT: Conversar con tus documentos de forma privada
- Llama-3 with LocalGPT: Conversar con tus documentos de forma privada : En este video se explica como utilizar llama-3 con LocalGPT para chatear con documentos de forma local y privada.
Construir una automatización IA usando multiagentes
- Construir una automatización IA usando multiagentes : Assaf Elovic, Jefe de I+D en Wix, explica cómo construir un asistente de investigación autónomo utilizando LangGraph con un equipo de agentes especializados.
La efectividad de los grandes prompts en LLMs supera al fine-tuning
- La efectividad de los grandes prompts en LLMs supera al fine-tuning : Según un estudio de Carnegie Mellon y la Universidad de Tel Aviv, los investigadores han descubierto que proporcionar a los modelos LLMs muchos ejemplos directamente en el prompt puede ser más efectivo que realizar fine-tuning.
Optimización en la recuperación de vectores con técnicas avanzadas de metadatos basadas en grafos
- Optimización en la recuperación de vectores con técnicas avanzadas de metadatos basadas en grafos : Tomaz Bratanic explica cómo mejorar la búsqueda de vectores en aplicaciones RAG mediante técnicas avanzadas de metadatos basadas en grafos utilizando LangChain y Neo4j.
Despliega modelos de lenguaje con vLLM en Hugging Face Inference Endpoints
- Despliega modelos de lenguaje con vLLM en Hugging Face Inference Endpoints : Tutorial de PHILSCHMID que explica cómo desplegar modelos de lenguaje con vLLM en los Endpoints de Inferencia de Hugging Face.
SEO
Google Clamping Down On: Actualizaciones de Primavera 2024 — Whiteboard Friday
- Google Clamping Down On: Actualizaciones de Primavera 2024 — Whiteboard Friday : Tom Capper explora las últimas actualizaciones de Google y cómo afectarán a los sitios web.
Análisis del core update de Marzo en España
- Análisis del core update de Marzo en España : Arturo Marimón analiza el último Core Update de Google en España, un update peculiar al integrar el Helpful Content Update (HCU) y desplegarse en fases durante más de un mes. Destaca la publicidad agresiva y la afectación a redes completas de blogs, entre otros factores.
Google experimenta con filtros personalizados para cada usuario
- Google experimenta con filtros personalizados para cada usuario : Google está testeando una nueva función en su buscador que permite a los usuarios ajustar los resultados de búsqueda con filtros específicos. Los filtros se pueden guardar con un nombre personalizado para su posterior uso.
Cómo un post de Reddit se posicionó en Google en 5 minutos
- Cómo un post de Reddit se posicionó en Google en 5 minutos : Roger Montti detalla cómo un post de Reddit logró posicionarse en Google en tan solo 5 minutos, sorprendiendo a muchos. Montti analiza las posibles razones detrás de este fenómeno y ofrece consejos para aquellos que buscan mejorar su SEO. Una lectura interesante para entender cómo funciona el algoritmo de Google.
Google considera nuevas opciones para reemplazar hreflang
- Google considera nuevas opciones para reemplazar hreflang : Barry Schwartz informa que Google está considerando alternativas para reemplazar o complementar la etiqueta hreflang en la indexación de páginas multilingües, como el uso de robots.txt o un archivo JSON.
Problemas comunes de JavaScript en sitios de noticias
- Problemas comunes de JavaScript en sitios de noticias : Barry Adams hace un repaso de algunos usos de JavaScript que pueden afectar al rastreo e indexación.
La importancia de los enlaces gratuitos en la estrategia de linkbuilding
- La importancia de los enlaces gratuitos en la estrategia de linkbuilding : Rafa Villaplana explora si los enlaces gratuitos siguen siendo efectivos en el linkbuilding. Se analiza su relevancia en el posicionamiento web actual y se muestran recomendaciones para su uso adecuado en estrategias SEO.
Cómo aprovechar BigQuery para un análisis avanzado de enlaces internos
- Cómo aprovechar BigQuery para un análisis avanzado de enlaces internos : Se explora cómo utilizar BigQuery para realizar un análisis detallado de enlaces internos en un sitio web.
General
El Patrón Notifier para Aplicaciones que Utilizan Postgres
- El Patrón Notifier para Aplicaciones que Utilizan Postgres : Se detalla la funcionalidad de listen / notify de Postgres, mencionando su utilidad en diversas situaciones. Comenta su sorpresa al descubrir que MySQL y SQLite aún no cuentan con una funcionalidad equivalente en 2024.
Entender el funcionamiento de los esquemas y search_path en Postgres
- Entender el funcionamiento de los esquemas y search_path en Postgres : Zach Musgrave, desarrollador de Dolt, comparte su experiencia al migrar de MySQL a Doltgres, una base de datos compatible con Postgres. Destaca la importancia de entender el funcionamiento de los esquemas en Postgres.
Guía no oficial de Dotfiles en GitHub
- Guía no oficial de Dotfiles en GitHub : En este artículo se detalla el uso de dotfiles en GitHub y cómo optimizar el flujo de trabajo.
La importancia de los niveles de log INFO y ERROR
- La importancia de los niveles de log INFO y ERROR : Nicole Tietz destaca en su artículo la importancia de los niveles de log INFO y ERROR en las aplicaciones web.
Los makefiles: Una historia de amor
- Los makefiles: Una historia de amor : Tom Gągor explora formas creativas de utilizar Makefiles para automatizar tareas diarias a pesar de que algunos consideran esta herramienta obsoleta.
Código y proyectos
Hacer solicitudes HTTP en texto plano
- Hacer solicitudes HTTP en texto plano : Realiza solicitudes HTTP en texto plano de forma sencilla. Encadena solicitudes, evalúa consultas, define afirmaciones. Herramientas de manipulación integradas para HTML, JSON, REST, SOAP, GraphQL. Exporta informes para monitorizar el tiempo de respuesta. Admite plantillas de solicitud e inyección de variables.
logdy
- logdy : Plataforma de registro de actividades para desarrolladores. Permite llevar un registro detallado de las acciones realizadas durante el desarrollo de un proyecto. Ideal para mantener un historial organizado y facilitar la colaboración en equipo.
Stirling-PDF
- Stirling-PDF : Stirling-PDF es una librería de Python para cálculos de distribuciones de probabilidad. Escrita por un experto en estadística, ofrece una guía detallada sobre su uso y ventajas.
Automatización de procesos AI-First con modelos grandes de Lenguaje Multimodal (LLMs)
- Automatización de procesos AI-First con modelos grandes de Lenguaje Multimodal (LLMs) : OpenAdapt, es una herramienta de código abierto que conecta modelos grandes multimodales con interfaces gráficas tradicionales.
TagStudio: Una herramienta para la de gestión de archivos y fotos
- TagStudio: Una herramienta para la de gestión de archivos y fotos : TagStudio busca dar libertad al usuario sin formatos propietarios ni archivos adicionales. Creado para ser portátil, privado, extensible y visualmente atractivo.
Java bindings para TensorFlow
- Java bindings para TensorFlow : Nueva implementación de bindings de TensorFlow para Java, permitiendo a los desarrolladores de Java construir, entrenar y ejecutar modelos de aprendizaje automático.
Nimble Terminal Charts
- Nimble Terminal Charts: Charting for Bubble Tea : Nimble Terminal Charts es una herramienta para crear gráficos de barra, línea, dispersión, series temporales y más con Bubble Tea.
Ejecuta JavaScript desde Go a través de V8
- Ejecuta JavaScript desde Go a través de V8 : Herramienta para ejecutar JavaScript desde Go a través de V8. Este proyecto es un fork de v8go y añade soporte para Android, nuevas versiones de V8, símbolos de JS y más.
mactop: Una herramienta similar a htop para los Apple Silicon
- mactop: Una herramienta similar a htop para los Apple Silicon : Herramienta basada en terminal para Apple Silicon similar a htop pero específica para Mac. Muestra el uso en tiempo real de CPU y GPU, junto con métricas sobre consumo de energía y memoria.
Logdy: Un visor web para registros
- Logdy: Un visor web para registros : Logdy es un visor web en tiempo real para registros. Permite transmitir cualquier contenido a una interfaz web con filtros autogenerados, y luego analizar cualquier formato con TypeScript.
GoWrap: Herramienta CLI para Generar Decoradores para Interfaces
- GoWrap: Herramienta CLI para Generar Decoradores para Interfaces : GoWrap: Herramienta CLI para Generar Decoradores para Interfaces. Max Chechel presenta una variedad de plantillas para agregar fácilmente métricas, trazas, fallbacks, pools y otras características a tu código existente.
gocron 2.5
- gocron 2.5 : Paquete cron escrito en Go que permite ejecutar funciones en intervalos predefinidos.
HaxMap: Un mapa hash concurrente y eficiente en memoria
- HaxMap: Un mapa hash concurrente y eficiente en memoria : HaxMap es un mapa hash concurrente en Golang creado por alphadose. Utiliza el algoritmo de hash xxHash y una implementación de listas lock-free de Harris. Se incluyen ejemplos de instalación y uso, benchmarks comparativos con sync.Map y cornelk-hashmap, consejos para personalizar el algoritmo de hash y mejorar el rendimiento, y detalles sobre su eficiencia en tiempo, memoria y asignaciones.
fzf 0.51
- fzf 0.51 : Lanzada la versión 0.51.0 de fzf, una herramienta de búsqueda en la terminal. Esta actualización incluye la adición de una nueva variable de entorno $FZF_POS, la opción –with-shell para personalizar el shell de inicio, la acción change-multi para cambiar dinámicamente la opción –multi, mejoras en Windows y correcciones de errores.
Gin 1.10
- Gin 1.10 : Gin es un framework web escrita en Go con API similar a Martini y hasta 40 veces más rápida.
pacemaker: Controlar el tiempo por iteración en un loop de Python
- Controlar el tiempo por iteración en un loop de Python : Paquete minimalista en Python para controlar el tiempo por iteración. Ideal para APIs con límites de velocidad, animaciones y simulaciones en tiempo real.
Vulture: Encuentra Código Python en deshuso
- Vulture: Encuentra Código Python en deshuso : Vulture es una herramienta que encuentra código no utilizado en programas Python. Es útil para limpiar y encontrar errores en bases de código extensas.
Extracción de datos de archivos PDF con pdfquery
- Extracción de datos de archivos PDF con pdfquery : Herramienta para extraer datos de archivos PDF utilizando la biblioteca pdfquery en Python.
pigsty
- pigsty : pigsty es una distribución de PostgreSQL que incluye todo lo necesario y es una alternativa gratuita a RDS.
Posts que te pueden interesar:
- #4 - Los mejores enlaces sobre programación, SEO y ciencia de datos (08-05-2024)
- #3 - Los mejores enlaces sobre programación, SEO y ciencia de datos (02-05-2024)
- #2 - Los mejores enlaces sobre programación y ciencia de datos de la semana (24-04-2024)
- #1 - Los mejores enlaces sobre programación y ciencia de datos de la semana (14-04-2024)
- La mejor cheatsheet de Python
comments powered by
Disqus