programación

WordPress: preparando un plugin para publicar

2020-10-11 - Categorías: General / GNU/Linux
Logo de WordPress

¡Hola de nuevo! Dejo aquí un Shell Script de ayuda para preparar los ficheros de publicación para cada nueva versión de un plugin para WordPress. La idea es que estamos trabajando en un plugin en una instalación de WordPress. Por defecto en WordPress los plugins estarán en el directorio /wp-content/plugins/slug-de-tu-plugin/ y tendremos que preparar los ficheros antes de subirlos al repositorio de Subversion y publicarlos así en la comunidad de plugins para WordPress.

Este preparar los ficheros se puede hacer manualmente. Pero con cada nueva versión se puede volver tedioso, aburrido, el volver a generar la estructura. Así que si ya tenemos revisado y aceptado el publicar un plugin, podemos usar este Shell Script para ir publicando nuevas versiones.

Continuar leyendo..

El ABC con SVN Subversion

- Categorías: General
Subversion logo

Dejo aquí un howto sobre este sistema de control de versiones. Un sistema de control de versiones es una herramienta de trabajo para gestionar las modificaciones que se hacen en el software a lo largo del tiempo. Apache Subversion, cuya abreviatura es SVN, se lanzó en el año 2000 y desde entonces ha habido muchas aplicaciones en las que se ha utilizado.

En este post puedes encontrar un resumen de los principales comandos que hace falta usar para empezar a trabajar con subversion.

Continuar leyendo..

AWS Cloud9, un entorno de desarrollo completo en la nube

2020-09-05 - Categorías: Amazon Web Services / General / GNU/Linux
AWS Cloud9

Hoy traigo esta herramienta de AWS que me ha impresionado después de un tiempo probándola. Cloud9 es un entorno de desarrollo integrado, un IDE, que funciona sobre la web en un navegador. No necesitas instalarte nada en tu ordenador. Cloud9 usa el editor de código fuente Ace adquirido por Amazon Web Services en 2016, que está escrito en JavaScript, y sólo necesita acceso SSH al servidor donde quieras trabajar.

Es decir, con este entorno de desarrollo podemos programar directamente en un navegador. No tenemos que instalarnos localmente ningún IDE, ni bajar los códigos fuentes de la nube, base de datos, etc.. Todo, absolutamente todo el entorno de desarrollo puede correr sobre servidores en una nube, con lo que esto conlleva.

Continuar leyendo..

GNU/Linux: montando un sistema de despliegue manual con Git

2020-05-10 - Categorías: General / GNU/Linux
GNULinux

Dejo aquí un pequeño howto o codekata para configurar un despliegue manual de una aplicación mediante Git. Con este codekata se instala el repositorio en un directorio, mientras que los ficheros de trabajo que finalmente corren la aplicación estarán en otro directorio diferente. Internamente los sistemas de despliegue automatizado usan configuraciones de este estilo para hacer lo que se llama Continuous Deployment (CD).

Para este post sólo se trabaja la forma manual de hacer el despliegue. Que si quisieras, podrás automatizarlo añadiendo luego webhooks a tu repositorio, y recibir estos webhooks para lanzar este despliegue.

Clonado del repositorio

Suponiendo que queremos poner la aplicación y repositorio en el mismo directorio, vamos al directorio y podemos ejecutar lo siguiente:

git --work-tree=./la_app/ clone git@servidor-de-repos.com:ruta/al/repo.git el_repo

Si estamos en el directorio /ruta/al/directorio/ entonces se crearán los siguientes directorio:

  • /ruta/al/directorio/el_repo/
  • /ruta/al/directorio/la_app/

No tienen que existir los directorios para que Git pueda crearlos.

Comandos de despliegue machacando modificaciones

cd /ruta/al/directorio/el_repo/
git checkout master
git fetch --all
git reset --hard origin/master
# aquí otros comandos especiales de tu app como borrar cachés, archivos temporales, etc..

Symfony: subiendo todo tipo de ficheros al servidor

2019-02-27 - Categorías: PHP / Symfony
Editando en Atom el controlador de subida de ficheros..

Hoy traigo un pequeño CODEKATA sobre una consulta que me ha hecho un lector. Se trata de unos códigos fuentes en Symfony 4 para subir ficheros al servidor, pero sin usar ningún componente extra en el proyecto.

Se trata de unas pocas modificaciones que le he hecho al código fuente de ejemplo de la documentación oficial. Así el código dejará de chequear la extensión, el mime type del fichero, y además de que no renombra los ficheros con un identificador único. Esto puede tener doble filo porque puedes acabar machacando los ficheros en nuevas subidas, pero siempre se le puede añadir después la lógica necesaria para comprobar si el fichero ya existía.. 😉

Continuar leyendo..

Datatables y Symfony: cargando tablas con cantidades ingentes de datos

2019-02-19 - Categorías: JavaScript / PHP / Symfony
Symfony y Datatables, cargando cantidades ingentes de datos mediante AJAX.

Continuando con un post anterior sobre mostrar tablas de datos interactivas, traigo hoy otro CODE-KATA, hecho en Symfony 4 para probar el Datatables más a fondo. En aquel post empecé a testear el Datatables con pocos datos. Datatables es un plugin de jQuery con el que en poco tiempo, listas, ordenas y filtras tablas de datos de forma muy profesional.

Ahora estoy probando cómo funciona sobre un proyecto con ingentes cantidades de datos, en concreto con una tabla con 622,001 registros. Llegado a éste extremo, no puedes cargar el 100% de los datos en el servidor, enviarlos al navegador, y pintarlos. Si lo haces, el navegador se sobrecargará, no podrá pintar la tabla, o irá muy muy lento.

Continuar leyendo..

Datatables: listando y filtrando tablas de datos con Javascript

2019-02-11 - Categorías: General / JavaScript
Datatables simple, cargando desde HTML los datos
Proyecto de pruebas en el que se listan sitios web bajo estudio SEO.

Ya estoy de nuevo por aquí compartiendo una verdadera joya del software, el Datatables. Esta es una herramienta para desarrollo frontend, que mediante JavaScript, crea unas tablas de datos muy profesionales para tus proyectos en muy poco tiempo. Se trata de un plugin de jQuery, que le da vitaminas a la presentación de datos en el navegador del cliente.

JavaScript actúa en la parte de frontend, es decir, tenemos que enviarle al navegador el HTML, CSS y JavaScript con el Datatable configurado. Entonces, en el navegador del cliente, mediante JavaScript, se regenerará el contenido web de la tabla para hacer los listados, ordenados y filtrados de la tabla de datos.

Continuar leyendo..


Nueva versión del sencillo mensaje de aceptar cookies para tu web

2018-12-01 - Categorías: General
Monstruo come galletas

Un lector me ha escrito consultando sobre un post algo antiguo, sobre cómo poner un sencillo mensaje de cookies en una web. La verdad es que no me he explicado muy bien en aquel post, los navegadores han cambiado durante estos últimos años, Javascript también.. así que aquí estoy compartiendo otro mensaje de aceptar cookies más actual.

Este mensaje de aceptar cookies es una actualización de aquel antiguo que vengo usando en nuevos proyectos. Es un mensaje hecho artesanalmente que puedes copiar y pegar para tu web. El único requisito que tiene es que necesitas usar la librería de jQuery para que funcione. jQuery hoy día es como un estándar, hace tan bien su trabajo de acceder al DOM de las páginas web, que cómo no usarlo en todos los proyectos.

Continuar leyendo..

Cómo automatizar el despliegue de una aplicación web en Symfony 4

2018-11-25 - Categorías: Amazon Web Services / GNU/Linux / PHP / Symfony
Launch lanzamiento

¡Hola de nuevo! Llevo unos días muy ajetreado y no he tenido tiempo de escribir nada en el blog, así que aquí estoy compartiendo de nuevo un pequeño HOWTO que me está ayudando mucho en el día a día. Se trata de un pequeño script en Shell Script que automatiza el despliegue en servidor de una aplicación web hecha con Symfony 4.

En Symfony 4 ha cambiado toda la estructura de directorios, así que para tenerlo todo bien controlado y evitar fallos intermitentes, esta es una de la cosas a automatizar. No es plan que cada vez que queramos hacer un despliegue en producción o en el área de pruebas tengamos que entrar al servidor, descargar la última versión, refrescar archivos temporales, etc..

Continuar leyendo..

Cómo filtrar el acceso a los elementos de la API Platform para Symfony

2018-10-15 - Categorías: PHP / Symfony
API Platform filtering

Vengo a traer un pequeño truco que es algo complicado de encontrar. Es decir, traigo un HOWTO para una configuración en concreto de una joya del software. Se trata de la API Platform para Symfony, con la que implementamos en muy poco tiempo una API web en un proyecto completo.

Con esta API Platform tendremos acceso remoto, mediante las clásicas llamadas GET, POST, PUT, DELETE a las entidades del proyecto. Podemos limitar el acceso a cada usuario a cada elemento de una entidad de la que sea propietario.

Continuar leyendo..

Magento 1: los índices, qué son y cómo reindexar

2018-10-10 - Categorías: GNU/Linux / Magento / PHP
Magento funcionamiento interno

Magento es un gran CMS para montar tiendas online. Está muy desarrollado teniendo en cuenta el SEO, el marketing, para tener muchos dominios con la misma web, muchas configuraciones de impuestos, de precios distintintos por web, distintas plantillas para cada sitio web.. todo desde un mismo panel de control.

Es tan flexible desde el mismo panel de control, que ha llegado a extremos de tal forma de que necesita todo tipo de cacheados, tablas temporales donde guardar indexada la información, así como también Varnish y Redis. Todo esto junto es una combinación explosiva y todo un reto hacerlo funcionar todo. Así que en este post vengo a hacer una review del funcionamiento de estos índices de datos.

Continuar leyendo..

© 2020 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.