Borrando información sensible del historial de modificaciones Git

2020-06-21 - Categorías: General

Es es un post apunte, para borrar ficheros del historial de modificaciones, de un repositorio Git. Esta acción me ha costado un poco encontrarla, así que aquí me hago eco. Se trata de una acción de limpieza del historial, ya que quizá queremos sacar ficheros con información sensible, que no queremos que estén en el historial: configuraciones locales, ficheros con alguna contraseña, ficheros temporales, ficheros de configuración del entorno de desarrollo, ficheros que necesitan compilación en el servidor de instalación, etc..

¡Atención! Esta acción no deja rastro de dichos ficheros, pero luego te deja el historial que no puedes redistribuirlo como si no hubiera pasado nada. Las identificaciones de las cosas habrán cambiado, se habrán reescrito sólo guardando iguales las fechas y autores. Y en terceros repositorios con Git no vas a poder hacer ‘git pull’ como si no hubiera pasado nada. Luego dejo también una solución a esto último.

Continuar leyendo..

Rejilla de contenidos mobile-first con puro HTML y CSS

2020-06-18 - Categorías: General

El diseño sensible al dispositivo, responsive o mobile-first, que se adapta al tamaño de la pantalla en donde se visualiza una web, se puede construir con puro HTML y CSS. Con unos pocos estilos, y estructura en los contenidos, podemos manejar la disposición de éstos contenidos en pantalla.

Si nos fijamos en cómo se visualiza el contenido en rejilla de uno de los principales framework mobile-first, que se llama Bootstrap, salta a la vista que se basa en dos ideas. La primera es el visualizar las cajas en pocas filas con muchas columnas cuando la pantalla en lo bastante ancha. Y mostrar las cajas en muchas filas con pocas columnas cuando hay pocos pixeles de ancho de la pantalla.

Continuar leyendo..

WordPress: cómo hacer scripts de línea de comandos

2020-06-17 - Categorías: PHP / WordPress
Logo de WordPress

Pequeño howto para lanzar scripts PHP desde línea de comandos y poder trabajar sobre WordPress. Es decir, esta es una técnica con la que, por ejemplo, podríamos hacer un recorrido de todos los posts de una instalación de WordPress, para hacer un trabajo entonces sobre cada uno de ellos.

Esta forma de lanzar scripts es útil mientras que estamos contruyendo un plugin o theme. Así se pueden probar algunas funciones o pocas líneas de código, viendo sin funcionan, para luego cortar y pegar en donde tengan que ir.

Continuar leyendo..

Cómo empezar un cortafuegos en PHP

2020-06-08 - Categorías: Drupal / Magento / PHP / Prestashop / Symfony / WordPress
WAF Web Application Firewall

Este post es un sencillo howto para ejecutar un código, antes de cualquier ejecución en PHP en una aplicación web. Sirve para montar lo que se llama un WAF en la capa de aplicación, cuyas siglas significan Web Application Firewall.

Así después, le podemos añadir toda la lógica que necesitemos. Con ésta técnica, en cada petición que se reciba en PHP, se ejecutará lo que pongas en el WAF antes de la ejecución de nuestra aplicación web.. ?

Continuar leyendo..

WordPress: cómo crear una tabla para un plugin

2020-06-08 - Categorías: PHP / WordPress
Logo de WordPress

Este es un pequeño codekata o howto para crear un plugin que cree una tabla en la base de datos. Como reza la documentación oficial, no se recomienda crear nuevas tablas para almacenar los datos, pero según que caso, puede ser la mejor opción, tendremos entonces que ocuparnos nosotros de su mantenimiento.

El siguiente código simplemente es un esqueleto de plugin con el que se puede crear una tabla en el momento de la activación de dicho plugin. También cuando se desactiva el plugin se borrará dicha tabla.

Continuar leyendo..

JavaScript: hola mundo con Node.js

2020-06-06 - Categorías: JavaScript

JavaScript es uno de los lenguajes de programación más populares. Se pueden hacer aplicaciones para webs, de escritorio, para móviles, aplicaciones de servidor como microservicios o también aplicaciones de consola. Es un lenguaje de programación interpretado, no compilado, te permite OOP, y aunque sea imperativo, también permite la programación funcional.

Con todas estas cosas, a fecha de hoy, podemos programar en JavaScript fuera de los navegadores gracias al entorno de ejecución de Node.js. Viene a ser lo mismo que el JRE para Java, el runtime de PHP, o el CLR del .NET framework.. pero en este caso es para JavaScript. Este post es un sencillo howto o codekata para comenzar a usarlo.

Continuar leyendo..

WordPress: haciendo una plantilla de página

2020-05-10 - Categorías: PHP / WordPress
Logo de WordPress

Este post es un codekata o howto sobre WordPress para hacer plantillas de páginas individuales. Es decir, tenemos lo que se llaman temas completos para el frontend de WordPress. En los temas de WordPress todo el diseño web viene definido, y a veces nos traen una serie de plantillas que se pueden asignar individualmente a cada página, a cada post, a cada contenido..

Estas plantillas de página, podemos además maquetarlas y programarlas para que tengan cierto aspecto visual. Podemos crear nuevas y definir nuevas estructuras. Por ejemplo, en el tema de Customizr que estoy usando actualmente en este blog, tenemos una plantilla de página que nos proponen, y podemos crear nuevas replicándola y editándola fácilmente.

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..

WordPress: añadir taxonomías a los tipos de posts

2020-04-26 - Categorías: PHP / WordPress
Logo de WordPress

Esto es otro codekata para WordPress, para añadir lo que se llaman taxonomías a los posts. Es decir, las taxonomías son al efecto como categorías, con las que podemos clasificar los posts. Me explico un poco más, dentro de WordPress, muchos de los contenidos son posts, están dentro de la tabla de la BD wp_posts. Se pueden dividir en tipos tal y como se puede ver en el post anterior, sobre cómo registrar tipos de posts. Y además, dentro de cada conjunto de tipos de post, éstos se pueden marcar con las taxonomías/clasificaciones.

Continuar leyendo..

WordPress: añadir tipos de posts

2020-04-26 - Categorías: PHP / WordPress
Logo de WordPress

Apunte, resumen, tutorial, codekata para generar tipos de contenidos en el backend de un WordPress. En el origen de los tiempos todo eran Posts del mismo tipo.. xD ¡y se crearon los tipos de post! Con lo que ya podemos tener de base también las páginas, y podemos generar nuestros propios tipos de posts.

Esto sirve para crear páginas de gestión de por ejemplo productos, servicios, locales, personal, etc..

Continuar leyendo..

JavaScript: las Progressive Web Apps y el futuro de las aplicaciones para móviles

2020-04-14 - Categorías: General / JavaScript / SEO

¿Qué te parece si te dicen que se puede desarrollar una web, que se puede instalar como si fuera una aplicación nativa, en cualquier sistema operativo como Android, iOS, Mac o Windows? Ya sea en móviles o PCs de escritorio.. ¿Y si no hace falta que se publique en las App Store de cada sistema operativo? ¿Y si se actualizara también automáticamente?

Pues esta tecnología ya está entre nosotros desde hace unos pocos años, y la mayoría de los navegadores más usados ya son compatibles. Estas aplicaciones también pueden almacenar información en el navegador, acceder a la cámara, micrófono, GPS, se pueden usar sin conexión, son seguras porque obligan al uso de SSL, pueden acceder a las notificaciones push para mostrar notificaciones de escritorio y de móviles, etc..

Continuar leyendo..

Javascript: objetos y ficheros, escalando un programa

2020-04-13 - Categorías: General / JavaScript
Logo de Javascript

Sencillo codekata o tutorial para comprender cómo en Javascript se importan ficheros, o se puede organizar el programa en varios ficheros. No es plan tener todo junto en un mismo fichero. Hay que encapsular todo en objetos, en ficheros, con funciones, todo bien desacoplado, etc.. para que el programa sea mantenible y legible.

A partir del Ecma Script 6 tenemos disponible en Javascript mecanismos para esto. Una sugerencia es lo siguiente. Cargar como módulo un fichero principal y dentro de este a base de import lo demás. Dependerá del proyecto que quizá entonces hay que usar una estructura definida..

Continuar leyendo..

© 2024 JnjSite.com - MIT license

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