Blog

  • PHP asíncrono: cómo manejar miles de solicitudes simultáneas

    PHP asíncrono: cómo manejar miles de solicitudes simultáneas

    En los primeros años de la web, PHP se ejecutaba en un ciclo relativamente simple: recibía una petición, ejecutaba el script de principio a fin y devolvía una respuesta. Este modelo síncrono es fácil de entender, pero limita la capacidad de una aplicación para aprovechar al máximo la CPU y los recursos de red. Si tu aplicación necesita esperar a que una consulta a la base de datos termine o a que un API externo responda, el intérprete queda bloqueado hasta que la operación finaliza. Cuando el tráfico crece, estos tiempos de espera se multiplican y el servidor no puede…

  • Guía completa de operadores en PHP

    Guía completa de operadores en PHP

    LosLos operadores son los ladrillos con los que construimos expresiones en cualquier lenguaje de programación. En PHP no son la excepción: permiten sumar o restar valores, comparar variables, concatenar cadenas o incluso ejecutar comandos del sistema. Conocer cada tipo de operador y sus matices te ayudará a escribir código más claro y eficiente. 1. Operadores aritméticos operadores son los ladrillos con los que construimos expresiones en cualquier lenguaje de programación. En PHP no son la excepción: permiten sumar o restar valores, comparar variables, concatenar cadenas o incluso ejecutar comandos del sistema. Conocer cada tipo de operador y sus matices te…

  • Trucos avanzados de Eloquent que impulsan el rendimiento de tu aplicación Laravel

    Trucos avanzados de Eloquent que impulsan el rendimiento de tu aplicación Laravel

    Trucos avanzados de Eloquent que impulsan el rendimiento de tu aplicación Laravel Eloquent es uno de los puntos fuertes de Laravel: facilita la interacción con bases de datos a través de un ORM expresivo. Sin embargo, esta comodidad tiene un coste. Es muy fácil escribir consultas que realizan demasiadas operaciones o generan una avalancha de solicitudes a la base de datos. En esta entrada exploraremos técnicas avanzadas para exprimir todo el potencial de Eloquent sin sacrificar el rendimiento. Todas las recomendaciones están pensadas para desarrolladores hispanohablantes y se basan en prácticas contrastadas en proyectos reales. 1. Usa eager loading para…

  • Buenas prácticas modernas para Laravel en 2025

    Buenas prácticas modernas para Laravel en 2025

    Laravel sigue siendo uno de los frameworks PHP más populares y su ecosistema evoluciona constantemente. Para mantener una base de código limpia y sostenible en 2025 conviene adoptar las siguientes prácticas: Adoptar estas prácticas te permitirá escribir código mantenible, seguro y rápido, reduciendo a la vez la deuda técnica.

  • Novedades en Firebase Studio y herramientas open-source para SaaS

    Novedades en Firebase Studio y herramientas open-source para SaaS

    Firebase Studio ha renovado su suite con mejoras que facilitan la creación de aplicaciones basadas en IA y la integración con el ecosistema de Google. Además existen alternativas open‑source que te permiten montar servicios SaaS sin depender de proveedores cerrados: Estas herramientas demuestran que es posible construir aplicaciones completas con tecnología abierta, combinando el poder de Firebase Studio para acelerar el front‑end con un backend flexible y controlado.

  • Avances en Yii 3: HTTP Runner 3.2 y Middleware 1.1

    Avances en Yii 3: HTTP Runner 3.2 y Middleware 1.1

    La versión 3.2 de HTTP Runner en Yii 3 incorpora mejoras importantes. Ahora el núcleo de Yii puede obtener la respuesta de la aplicación sin enviarla directamente al cliente gracias al nuevo método HttpApplicationRunner::runAndGetResponse(), lo que facilita pruebas y composición de aplicaciones. El constructor del corredor acepta parámetros opcionales para inyectar un emisor (Emitter) y habilitar o deshabilitar middlewares específicos como RemoveBodyByStatus, ContentLength y HeadRequest, permitiendo una configuración más granular. También se refactorizó RequestFactory para utilizar propiedades de sólo lectura, y se solucionó un fallo que eliminaba la cabecera Content‑Length cuando ya estaba definida. La biblioteca Middleware de Yii llega a…

  • Yii Dummy Provider 1.1: proveedor ficticio para pruebas y bases de datos

    Yii Dummy Provider 1.1: proveedor ficticio para pruebas y bases de datos

    Yii Dummy Provider 1.1 es una herramienta pensada para quienes necesitan ejecutar pruebas de sus aplicaciones sin depender de un motor de bases de datos real. La versión 1.1 publicada el 7 de julio de 2025 introduce un paquete virtual llamado yiisoft/db implementation que proporciona una implementación ficticia de la interfaz de base de datos; esto permite simular consultas e inserciones de forma sencilla. Al usar este proveedor dummy, los desarrolladores pueden crear y validar modelos, formular consultas o probar lógicas de negocio sin tener que levantar un servidor MySQL, PostgreSQL u otro servicio. La iniciativa busca unificar las dependencias de…

  • Yii Validator 2.4 y 2.5: mejoras en mensajes y nuevas utilidades

    Yii Validator 2.4 y 2.5: mejoras en mensajes y nuevas utilidades

    La biblioteca de validación de Yii 3 sigue evolucionando. En la versión 2.4 se mejoraron los mensajes de error y se refinó la API para ofrecer una experiencia de desarrollo más coherente. Las mejoras incluyen una mejor estructuración de los resultados de validación y mensajes más claros para el usuario. La versión 2.5 introduce el método Result::getPropertyErrorMessagesByPath(), que permite obtener los mensajes de error de una propiedad siguiendo un camino específico dentro de un modelo complejo. Esto facilita el acceso a los problemas de validación de campos anidados. Junto con otras pequeñas mejoras y correcciones, estas actualizaciones hacen que la validación en Yii…

  • PHP 8.5 en camino: principales novedades

    PHP 8.5 en camino: principales novedades

    PHP 8.5 estará disponible el 20 de noviembre de 2025 y actualmente se encuentra en fase alfa. Esta versión añade varias características pensadas para hacer la vida más cómoda a los desarrolladores y mejorar la experiencia del lenguaje. Entre las novedades destacadas están las funciones array_first() y array_last(), que permiten obtener directamente el primer y el último valor de un array sin tener que escribir código extra. También se introduce el operador de tubería (|>), que facilita encadenar llamadas de funciones de manera más limpia y legible. Otra incorporación son las funciones get_exception_handler() y get_error_handler(), útiles para recuperar los manejadores…

  • Agregar certificados de seguridad auto-firmados en Windows – Linux – Mac

    Agregar certificados de seguridad auto-firmados en Windows – Linux – Mac

    En casi todos los proyectos que se desarrollan actualmente, se habla en cualquier medida, de la seguridad y si es un proyecto web o con operación sobre internet, se escuchara en alguna medida el uso de certificados de seguridad; pero para la generación de estos se requiere por lo menos de un domino único y conexión a internet. Teniendo en cuenta este panorama, me encuentro en un proyecto donde se requiere tener conexión con un docker registry para poder cargar y descargar imagenes docker, este servidor estará desconectado de internet y no tendrá dominio registrado. Al hacer la conexión de…

  • Paths de wordpress que puedes necesitar

    Paths de wordpress que puedes necesitar

    Estas son algunos de los paths de wordpress que puedes necesitar para realizar desarrollos de temas o plugins para WordPress. plugins_url(): Retorna el path de instalación de los plugins. get_theme_root(): Retorna el path raíz de instalación de los temas (theme). get_template_directory_uri(): Retorna la URL donde están guardados los archivos del tema (theme) actual. admin_url(): Retorna la dirección de las páginas administrativas de WordPress. content_url(): Indica donde se encuentra el directorio wp-content. site_url() y home_url(): Retorna la dirección del sitio. includes_url(): Retorna el path de los archivos de INCLUDE de WordPress. wp_upload_dir(): Retorna el path del directorio donde se almacenan los…

  • Instalacion del wifi usb TL-WN725N en el raspberry pi

    Instalacion del wifi usb TL-WN725N en el raspberry pi

    Si ustedes como nosotros se han encontrado con el problema de querer conectar a la red la raspberry pi, pero de forma inalambrica y tienen disponible una wifi usb TP-LINK TL-WN725N, aqui les comentaremos los pasos necesarios para instalarla con exito. Nota Para poder seguir los pasos del siguiente tutorial deber saber hacer una conexion por medio de ssh o estar trabajando en el bash del raspberry pi Pasos de instalación en el raspberry Paso 1 lo primero que debemos hacer es actualizar el firmware del raspberry pi En caso que el comando anterior nos llegue a dar un error,…

  • Jquery Tips (Metodos)

    Jquery Tips (Metodos)

    Después de aprender a seleccionar con jQuery los elementos del documento html por medio de los selectores anteriormente comentados, es importante saber qué hacer con estos, por lo cual vamos a ver cómo aplicar métodos a un elemento seleccionado. Ejemplos de aplicación de métodos con jQuery

  • Jquery tips (Selectores)

    Jquery tips (Selectores)

    JQuery es sin duda el framework javascript mas popular en la web, por esto en ocasiones es importante tener a la mano información que aunque es básica, nos ayudara a resolver varios problemas. Empecemos con lo basico Es lo mismo que selectores Aqui terminan los tips de selectores.

  • Configurar camara web lifecam vx-500 en octopi

    Configurar camara web lifecam vx-500 en octopi

    Primero les hablo del gran proyecto que es OctoPrint y su adaptacion a raspberry pi llamado OctoPi OctoPrint es un software de control de Impresoras 3D que se ejecuta desde un navegador y permite controlar tu impresora 3D de forma remota a través de la red; este grandioso software es open source y recientemente ha sido apadrinado por la empresa española Bq. OctoPi mas que una adaptación, es un script que genera una imagen de raspbian modificado, esta es una imagen del sistema operativo linux para raspberry, este script deja listo el sistema para conectarlo a la impresora 3D y usarlo…

  • Como instalar node js, npm y express en linux ubuntu/mint

    Como instalar node js, npm y express en linux ubuntu/mint

    Para instalar node js lanzaremos los siguientes comandos Este comando es para agregar un repositorio PPA Los siguientes comandos actualizan el listado de los paquetes disponibles e instala el paquete de nodejs el cual tambien incluye a npm Ya con estos comandos instalados podemos comprobar las versiones de nodejs y npm por ultimo para instalar el express en linux ubuntu/mint

  • Como limpiar Floats en CSS

    Como limpiar Floats en CSS

    Quien no ha experimentado problemas al iniciar con css y se encuentra con algo como esto: Pero, qué pasa con el contenedor, si ambos objetos, tanto el contenido general como el contenido del sidebar están dentro del contenedor? Pues para este problema es cuando nos referimos a limpiar floats, ya que tanto contenido general como  contenido del sidebar tienen propiedad float y debemos hacer un clear. Aquí te mostramos 3 posibles soluciones: Método 1: colocar un elemento justo antes de cerrar el contenedor (solución «clásica») Esta es una solución clásica, o una de las primeras soluciones, consiste en colocar algún elemento, ya sea…

  • URLs amigables para Yii Frameworks

    URLs amigables para Yii Frameworks

    para poder hacer esto el procedimiento es muy sencillo, pero como suele ocurrir en interner en ocaciones la informacion esta dispersa, por loo cual les traigo es tip de como configurar esto en unos simples pasos paso 1 tener habilitado la extencion de mod_rewrite en apache paso 2 crear el archivo .htaccess en la raiz del sitio con la siguiente información paso 3 buscar en el archivo de configuracion del nuevo sitio (comunmente esta en protected/config/main.php) la linea donde este «urlManager» y descomentariar el bloque, el bloque debe quedar asi:

  • Cambiar Zona Horaria Linux

    Cambiar Zona Horaria Linux

    Hoy vengo con este corto y sencillo tip para poder cambiar la zona horaria del sistema operativo linux, la verdad es que siempre que necesito esta información termino buscando por muchos lugares, por lo cual para no tener que volver a hacer muchas búsquedas lo pongo aquí y lo comparto con ustedes para que cuando lo necesiten lo encuentren fácilmente.

  • CSS3 – Image Captions

    CSS3 – Image Captions

    Los «Captions» en imagenes no es mas que una leyenda que describa a grandes rasgos la imagen, en este caso son captions animados gracias al uso de las transormaciones en CSS3.  En este link puedes saber como funcionan las transformaciones, esta página web además te genera el codigo fuente de los css. Practicando un poco de transformaciones en css3, pude saber varios trucos. Una propiedad que se debe tener muy en cuenta es la propiedad overflow. Overflow nos define si el área al que lo aplicamos tiene o no un scroll, o lo tiene escondido. Precisamente escondido es como se debe colocar, para los…

  • divs con alto al 100% sin asignarle 100% al elemento padre

    divs con alto al 100% sin asignarle 100% al elemento padre

    Para muchos de nosotros es un dolor de cabeza ajustar un elemento como un «div» al alto de un contenedor,  he visto soluciones a este problema en los que el truco esta en dejar los elementos padre al 100%, algo como esto: Solucion 1. No aplica en todos los casos HTML CSS Otros recomiendan dejar 100% al html y al body: Solucion 2. Más efectiva! He trabajado con archivos css demasiado extensos, intente con la tecnica anterior dejar un «sidebar» dentro de un contenedor al 100%, pero ninguno me funcionó, por más que colocaba height:100% al llegar al punto que…

  • Apuntes de GIT parte 1

    Apuntes de GIT parte 1

    En la empresa donde actualmente trabajo me toco manejar el versionado del código, es divertido, pero todo entra en una época de desastre cuando uno se da cuenta que toca hacerlo todo en consola, y peor cuando uno esta acostumbrado a trabajar en ambiente gráfico; continuando con mi tarea diaria me encontré que la documentación sobre git es muy amplia, pero en algunos casos es muy dispersa, en otros muy poco puntual, en otros muy básica (en extremo), así que decidí hacer mis apuntes los comandos que consideraba que en algún momento iba a necesitar.

  • Recursos y webs para aprender Jquery, CSS y HTML5

    Recursos y webs para aprender Jquery, CSS y HTML5

    Code Academy Codeacademy es una web que ofrece una manera diferente a lo que estamos acostumbrados ver en internet, en cuanto a webs de aprendizaje o tutoriales, pues ofrece variedad de cursos online en donde puedes ir aprendiendo paso a paso, ideal para los que quieren comenzar a avanzar en el mundo del desarrollo web. La gran diferencia de esa web es que puedes ir practicando y escribiendo código en la misma página, la web se encarga de revisar que este bien desarrollada la lección. http://www.codecademy.com Libros Web Excelentes manuales de CSS, AJAX, Javascript, y Symphony, la primera vez que visite esta web los…

  • Checks y radio buttons personalizados con jquery

    Checks y radio buttons personalizados con jquery

    Checks y Radios en jquery. Llevo un tiempo practicando con jquery, y  me vi en la necesidad de colocar unos forms personalizados, algunos de los que hay en la nube no soportan eventos como los «onClick», pero estos si soportan cualquier tipo de evento.  Son compatibles en todos los navegadores, pueden personalizarlos con la imagen que gusten, es un sprite de 36×36 con los 4 estados de los botones.

  • Maquetar con divs como si fuese una tabla

    Maquetar con divs como si fuese una tabla

    Muchos de los que comenzamos maquetando, comenzamos a extrañar los comportamientos que tenian las tablas, y que era algo facil de acomodar los elementos. Pero recordemos que ahora las tablas no se usan para maquetacion, en cuanto al diseño se refiere. Las tablas se deberían usar para tabular datos, como un listado de varios elementos. Lo bueno del caso es que existe una manera de «imitar» el comportamiento de las tablas con capas, gracias a la propiedad display. Muchos de los que comenzamos a maquetar conocemos las básicas que son: display: block Inline None pero además existen: display: table table-row…

  • Lección 3: Introducción a PHP

    Lección 3: Introducción a PHP

    En el mundo del desarrollo existen muchos lenguajes de programación los cuales son muy reconocidos como por ejemplo .NET, python, Ruby y otros tantos, pero en este caso vamos a habar de PHP uno de los lenguajes de mayor popularidad en la web y el lenguaje que es el centro de atención de este curso, hoy por fin, después de haber dado las expliaciones necesarias para poder montar el ambiente de desarrollo necesario para poder realizar nuestras practicas, comenzamos con los primeros pasos. Capítulo 1: Las etiquetas PHP PHP asi como otros lenguajes de script pueden ser incrustados dentro de…

  • Lección 2: Crear un sitio web

    Lección 2: Crear un sitio web

    Capítulo 1: ¿Cómo funcionan las páginas PHP? PHP para que funcione necesita de su interprete o motor de scripting, el cual ejecuta el código escrito en este lenguaje antes de ser entregada una respuesta al servidor web para que este le muestre el resultado al cliente; la forma en la cual es interpretado es de la forma que todo lenguaje scripting, la ejecución se hace de forma secuencial. Capítulo 2: Crear un alias en Apache como ya lo habíamos dicho en la lección anterior, todos los ejemplos los vamos a hacer con el servidor WAMP. por lo cual vamos a usar el menu del servidor para crear el…

  • Curso De Php Lección 1: Instalación

    Curso De Php Lección 1: Instalación

    Capítulo 1: Introducción Como es de suponer al ingresar al mundo de un lenguaje de programación es importante conocer por lo menos el ambiente basico necesario para poder realizar los desarrollos que dia a dia iran siendo mas complejos dependiendo de la emotividad que tenga la persona que quiere profundizar en el mundo del desarrollo. Así como para poder compilar un programa en C o C++ necesita como minimo un compilador del lenguaje, y que para trabajar con .net es necesario el frameworks, asi mismo para poder ejecutar el programa o script de PHP es necesario tener unas aplicaciones basicas para poder…

  • Curso De Php

    Curso De Php

    la presente entrada es para dar a conocer el temario de un proyecto de curso de PHP que realizare con el fin de enseñarle a dos personas a programar en este lenguaje, el acceso sera totalmente libre para cualquier persona. A continuacion el temario, el cual he ido creando con lo temas de interes que creo que son importantes, y teniendo en cuenta algunos temarios encontrados en cursos que rondan por internet, el temario puede ser afectado agregando mas capítulos o lecciones con el fin de completar temas que no fueron tenidos en cuenta inicialmente.

  • CEO cristalab Cartoon by IMAGEAC

    CEO cristalab Cartoon by IMAGEAC

    Freddier Cartoon   En uno de esos días que uno anda «webiando», o mejor aun, «googleando», algo de anime, mientras veia mejorando la web, note algo muy curioso o raro, @freddier por un lapso de tiempo se había quedado callado, cosa que no suele suceder muy a menudo. Me dije a mi mismo: -freddier se quedo callado, debe ser de buena suerte!, la expresion de freddier no era normal, no se había callado porque no tenia nada que decir, sino que al contrario yo creía que estaba pensando que era lo que iba a decir cuando le dieran la palabra… o mejor aun, cuando interrumpiera al…