cambio url imagenes y feed
This commit is contained in:
@@ -8,12 +8,12 @@ Creé un archivo en el fondo de mi sistema con el nombre _archivoprueba_ y hice
|
||||
|
||||
**Primero en la terminal de Xfce4:**
|
||||
|
||||

|
||||

|
||||
Tarda 41 segundos
|
||||
|
||||
**Con Alacritty:**
|
||||
|
||||

|
||||

|
||||
Tarda 16 segundos!!
|
||||
|
||||
Estamos hablando, en este caso de casi el triple de rápido que una terminal convencional. Me veo obligado a cambiarme a **Alacritty** como mi emulador de terminal.
|
||||
|
||||
@@ -5,27 +5,27 @@
|
||||
El *backend* era un reto para mi, estuve mirando posibles soluciones y al final me decidí por **Django**. Dejo aquí una recopilación de recursos que he encontrado por internet y con los que he conseguido tener un *backend* seguro y en condiciones:
|
||||
|
||||
- El primero, más largo y más importante. Con este video ya puedes tener el *backend* funcionando
|
||||
[](https://www.youtube.com/watch?v=Sjv-HTLmnB4 "Build And Deploy A REST API With Django REST Framework. Full Project Tutorial.")
|
||||
[](https://www.youtube.com/watch?v=Sjv-HTLmnB4 "Build And Deploy A REST API With Django REST Framework. Full Project Tutorial.")
|
||||
|
||||
- Encriptar la contraseña en un *serializer*
|
||||
[](https://www.youtube.com/watch?v=eQ8UCDDBOAY "14.- Curso Django REST | ENCRIPTAR contraseña en un SERIALIZER")
|
||||
[](https://www.youtube.com/watch?v=eQ8UCDDBOAY "14.- Curso Django REST | ENCRIPTAR contraseña en un SERIALIZER")
|
||||
|
||||
- Como implementar en django "olvidé mi contraseña"
|
||||
[](https://www.youtube.com/watch?v=y-4-qv9_zP8 "Django, como implementar olvide mi contraseña")
|
||||
[](https://www.youtube.com/watch?v=y-4-qv9_zP8 "Django, como implementar olvide mi contraseña")
|
||||
|
||||
- [Filtrar contenido del modelo en Django](https://www.kyocode.com/2019/09/filtrar-contenido-modelo-django/)
|
||||
|
||||
- **Swagger API**, como funciona tu *API*
|
||||
[](https://www.youtube.com/watch?v=IU9YuRhhY7M "Add Swagger API Documentation to Django REST API | Open API | REST Framework | Python")
|
||||
[](https://www.youtube.com/watch?v=IU9YuRhhY7M "Add Swagger API Documentation to Django REST API | Open API | REST Framework | Python")
|
||||
|
||||
- Como hacer el login en **VueJs**, con **localStorage** y **JWT**
|
||||
[](https://www.youtube.com/watch?v=1AahtN4ClnE "VideoTutorial 13 Taller práctico desarrollo con VUE JS. Login con localStorage y JWT")
|
||||
[](https://www.youtube.com/watch?v=1AahtN4ClnE "VideoTutorial 13 Taller práctico desarrollo con VUE JS. Login con localStorage y JWT")
|
||||
|
||||
- Autenticación con *VueJs* y *JWT*
|
||||
[](https://www.youtube.com/watch?app=desktop&v=ULFAgn2ITko "VueJS JWT Authentication")
|
||||
[](https://www.youtube.com/watch?app=desktop&v=ULFAgn2ITko "VueJS JWT Authentication")
|
||||
|
||||
- **MEVN** *JWT* sin *localStorage*
|
||||
[![MEVN (2022) #01 - JWT en memoria - SIN ⛔ localStorage 💀 [refreshToken]](https://clonbg.netlify.app/aprender-django/mevn.png)](https://www.youtube.com/watch?v=53VBlv7K-BI "MEVN (2022) #01 - JWT en memoria - SIN ⛔ localStorage 💀 [refreshToken]")
|
||||
[![MEVN (2022) #01 - JWT en memoria - SIN ⛔ localStorage 💀 [refreshToken]](https://myblog.clonbg.es/aprender-django/mevn.png)](https://www.youtube.com/watch?v=53VBlv7K-BI "MEVN (2022) #01 - JWT en memoria - SIN ⛔ localStorage 💀 [refreshToken]")
|
||||
|
||||
Espero que os sirva de algo, a mi por lo menos me sirvió *mucho*
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ Para saber el estado del servicio y si está funcionando bien:
|
||||
|
||||
sudo systemctl status twitter.service
|
||||
|
||||

|
||||

|
||||
|
||||
Visto en [chips.mecatronium.com](https://chips.mecatronium.com/tutorial-como-correr-un-script-de-python-al-iniciar-el-raspberry-pi/)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
He hecho un **CRUD (Create, Read, Update and Delete)** con *Python*, y diréis, porqué? Yo os lo contaré, este tipo de "proyectitos" son fundamentales para aprender y también para no olvidar conceptos, que por muy claros que los tengas, tarde o temprano se terminan por olvidar.
|
||||
|
||||

|
||||

|
||||
|
||||
Se me ocurrió hacer un programa que, usara una base de datos con *SQLite3*, que como características tiene:
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
|
||||
Hoy en día hay muchos sitios donde poder formarse, unos mejores y otros de menor calidad. Yo recomiendo **Youtube**, porque es rápido, lo tienes disponible siempre que quieras y puedes encontrar auténticas joyitas.
|
||||
|
||||

|
||||

|
||||
|
||||
Os quería hablar de dos cursos que me han venido muy bien. El primero, como no, es de **VueJs**, creado por *Juan Andrés Núñez*. Son 28 vídeos para iniciarse en este framework. Desde mi punto de vista es el mejor curso que puedes hacer para "dar el salto". Incluye *Ajax con Vue-Resource*, *Firebase*, *Babel*, *Gulp* y *Webpack*. Lo podéis encontrar [aquí](https://www.youtube.com/playlist?list=PLM-Y_YQmMEqD2EWfWpSbiV3WgShRRW3FE). Os recomiendo que visiteis su web [**escuelavue.es**](https://escuelavue.es/)
|
||||
|
||||

|
||||

|
||||
|
||||
El otro curso es de mi otra debilidad **Python**, este consta de 51 videos creados por *Manuel J. Dávila*. Con él podréis aprender desde lo más básico hasta lo más complicado. Más de la mitad del curso está orientado a programar con la interfaz gráfica **PyQt**. Lo podéis encontrar [aquí](https://www.youtube.com/playlist?list=PLjARR1053fYlEKgn0H1-x3UM9Zl4aYLxy). También os recomiendo que os deis un paseo por sus [*listas de reproducción*](https://www.youtube.com/c/ManuelJD%C3%A1vilaGonz/playlists), hay un excelente material.
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ Esto quiere decir que puede deshacer la asociación de un proceso con la termina
|
||||
|
||||
Veamos como se usa, si por ejemplo abrimos *chromium* desde la terminal:
|
||||
|
||||

|
||||

|
||||
|
||||
Cuando cerramos la terminal se cierra *chromium* también. Sin embargo, cuando usamos **disown** podemos cerrar la terminal que el proceso pasa a estar a cargo del nucleo del sistema:
|
||||
|
||||

|
||||

|
||||
|
||||
Incluso nos muestra el *PID* del proceso. Sabiendo eso también podemos *matarlo* desde la terminal con el comando:
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Vamos a poner el ejemplo que tenemos un entramado de carpetas con archivos con e
|
||||
find ~/carpeta/prueba -name "*.json" -type f
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
Ahora solo hay que añadir *-delete* al final del comando y las borrará todas de forma recursiva:
|
||||
|
||||
@@ -11,7 +11,7 @@ Crear una cuenta en [freeDNS](https://freedns.afraid.org/signup/?plan=starter)
|
||||
|
||||
En el menú de la izquierda pinchar en *subdomains* > *Add* para crear uno nuevo
|
||||
|
||||

|
||||

|
||||
|
||||
De esta manera la dirección sería [http://lecheDeVaca.mooo.com](http://lecheDeVaca.mooo.com), en *Destination* tienes que poner tu IP pública
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Antes de nada, decir que tener mi propio servidor de **Git** instalado en mi equipo puede no ser una buena idea, ya que tienes que ocuparte tu mismo de los backups y mantenerlo, ya que no se encuentra en ningún otro sitio. A parte de esto todo son beneficios, sobre todo para no depender de servicios de terceros.
|
||||
|
||||
Buscando un servicio fácil de instalar y claro, si puede ser con **docker**, dí con [Gogs](https://gogs.io/)
|
||||
Buscando un servicio fácil de instalar y claro, si puede ser con **docker**, dí con [Gogs](https://gogs.io/)
|
||||
Como indica en la página de [Github](https://github.com/gogs/gogs/tree/main/docker) con unos sencillos pasos lo tendrás funcionando:
|
||||
|
||||
```
|
||||
|
||||
@@ -9,7 +9,7 @@ El primer paso es saber el destino que ocupa el Usb, con el comando:
|
||||
sudo fdisk -l
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Como se puede ver la dirección de mi Usb es */dev/sda*.
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Decidí comprarlo y buscar soluciones a los servicios que usaba.
|
||||
- Correo seguí usando el de _Gmail_ pero a través de la aplicación que usa el sistema.
|
||||
- Teclado, a mi me gustaba *Gboard* y después de probar varios me decidí por *Go Keyboard* ya que tiene escritura *swife*
|
||||
|
||||
Ahora viene lo más difícil, por un lado tener los documentos a mano como en el _Drive_, y por otro lado los contactos y el calendario. Esto lo solucioné con ayuda de mi servidor, la _Raspberry Pi 4_ que tengo instalada en casa y con la que puedo acceder desde fuera de mi red. Si no sabes como hacer esto puedes revisar esto [Conectarnos desde fuera de la red con free-dns](https://clonbg.netlify.app/#/free-dns)
|
||||
Ahora viene lo más difícil, por un lado tener los documentos a mano como en el _Drive_, y por otro lado los contactos y el calendario. Esto lo solucioné con ayuda de mi servidor, la _Raspberry Pi 4_ que tengo instalada en casa y con la que puedo acceder desde fuera de mi red. Si no sabes como hacer esto puedes revisar esto [Conectarnos desde fuera de la red con free-dns](https://myblog.clonbg.es/#/free-dns)
|
||||
|
||||
- Lo primero simplemente creé una carpeta llamada 'Documentos' en mi _Raspberry_, puse ahí todo lo que me hizo falta y accedo a ella a traves de _sftp_ con la plicación [_Cx Explorador de archivos_](https://apkpure.com/es/cx-file-explorer/com.cxinventor.file.explorer)
|
||||
- Lo de los contactos y el calendario es más difícil, os lo explicaré en el próximo post ;)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
Algo muy sencillo que me ha traído de cabeza ha sido activar el *scroll* en **tmux**. Me hacía falta porque en **Linux** es fundamental leer lo que pasa en la terminal, además cuando intentas ir hacia arriba van saliendo los últimos comandos, como cuando le das al botón de *flecha arriba* de nuestro teclado.
|
||||
|
||||

|
||||

|
||||
|
||||
Solo hay que crear un archivo de configuración de *tmux* y añadirle la opción, esto se puede hacer con tan solo una linea en nuestra terminal:
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Después me he creado una carpeta llamada **Nativefier** para descargar ahí las
|
||||
Ahora tenemos que saber la dirección web que queremos convertir, por ejemplo la de [*Telegram*](https://web.telegram.org/), y la creamos:
|
||||
|
||||
nativefier https://web.telegram.org/
|
||||

|
||||

|
||||
|
||||
Se ha creado una carpeta llamada *TelegramWeb-linux-x64*, con el ejecutable *TelegramWeb*. Para poder ejecutarlo en cualquier parte de nuestro sistema creamos un enlace simbólico al ejecutable hasta nuestro **$PATH**:
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Nuevo *Blog* programado desde 0 con quasar.dev
|
||||
#### 22/12/2021
|
||||
|
||||
Cómo podéis ver hace tiempo que no publico y es que se me ha ocurrido rehacer el **Blog de Clonbg** desde cero. Está hecho con [quasar](https://quasar.dev/) qué es un *framework* para *Vuejs*. Tenéis todo el código publicado en mi [Github](https://github.com/clonbg/ejercicio_quasar). Una cosa a tener en cuenta en cuanto al ćodigo, es que tiene dos ramas, una es la *master*, donde puse comentarios, y la otra, *"sin_comentarios*, que es la que está terminada y desplegada en [Netlify](https://clonbg.netlify.app/#/).
|
||||
Cómo podéis ver hace tiempo que no publico y es que se me ha ocurrido rehacer el **Blog de Clonbg** desde cero. Está hecho con [quasar](https://quasar.dev/) qué es un *framework* para *Vuejs*. Tenéis todo el código publicado en mi [Github](https://github.com/clonbg/ejercicio_quasar). Una cosa a tener en cuenta en cuanto al ćodigo, es que tiene dos ramas, una es la *master*, donde puse comentarios, y la otra, *"sin_comentarios*, que es la que está terminada y desplegada en [Netlify](https://myblog.clonbg.es/#/).
|
||||
|
||||
El aspecto visual es bastante sencillito pero en lo que tiene que ver con el funcionamiento el cambio es brutal, la velocidad a la que realiza las búsquedas es fantástica!
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ docker run -d --name=Ouroboros --hostname=ouroboros --network=host --restart=alw
|
||||
```
|
||||
Esto creará una instancia que se mantendrá en funcionamiento y cada 1200 segundos (20 minutos) vigilará si hay alguna actualización posible. Cuando haya actualizado un contenedor te mandará un mensaje a *Telegram* de este tipo:
|
||||
|
||||

|
||||

|
||||
|
||||
Tiene un par de extras:
|
||||
- Puedes decirle que contenedores quieres que no sean monitorizados añadiendo ```-e IGNORE="contenedor1 contenedor2..."```
|
||||
|
||||
@@ -12,11 +12,11 @@ En nuestro menú nos habrá salido un programa llamado *QtDesigner*, lo abrimos
|
||||
Cada vez que lo abrimos nos pregunta con que *plantilla* vamos a empezar. Le daremos *Main Window*, que es la raiz del programa. Qt funciona con un sistema de *Widgets*, todo lo que se añade es un *widget*, un botón, un label, etc.
|
||||
Para crear nuestro primer programa añadiremos un *Label* y un *Push Button* a nuestra ventana.
|
||||
|
||||

|
||||

|
||||
|
||||
Podemos ver como queda la interfaz con *Control+R*
|
||||
|
||||

|
||||

|
||||
|
||||
Ahora solo falta guardar la interfaz. *File > Save* y guardamos el archivo *ui*. Yo lo he llamado *post.ui*. Ahora al lado de donde hemos guardado el archivo *post.ui* creamos un archivo de *python*, yo lo he llamado *post.py* con este contenido:
|
||||
|
||||
@@ -55,6 +55,6 @@ Si todo ha ido bien se nos tiene que abrir el programa. Ahora vamos a hacer que
|
||||
|
||||
Y cuando clickamos en el botón:
|
||||
|
||||

|
||||

|
||||
|
||||
Salu2
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Minimizar al *tray* un programa hecho en **PyQt5**
|
||||
#### 29/08/2021
|
||||
|
||||
Como podeis ver en el post sobre [Mi primer *CRUD* con *Python*](https://clonbg.netlify.app/#/crud_con_python), tenía hecho un programa que simplemente era un registro de usuarios implementado en *Python* con *PyQt5* y *Mysql3* como base de datos. Funcionaba bien pero había dejado para más adelante algunas funciones (ya sabéis lo que pasa con estas cosas). Ahora he escrito unos cambios y tiene icono en el *tray* del sistema y se puede cerrar, minimizar y maximizar a discrección.
|
||||
Como podeis ver en el post sobre [Mi primer *CRUD* con *Python*](https://myblog.clonbg.es/#/crud_con_python), tenía hecho un programa que simplemente era un registro de usuarios implementado en *Python* con *PyQt5* y *Mysql3* como base de datos. Funcionaba bien pero había dejado para más adelante algunas funciones (ya sabéis lo que pasa con estas cosas). Ahora he escrito unos cambios y tiene icono en el *tray* del sistema y se puede cerrar, minimizar y maximizar a discrección.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Veamos como lo he hecho:
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ La forma de autenticarse de manera segura es usando *htpasswd*, con este comando
|
||||
|
||||
El archivo de configuración ```/etc/radicale/config``` tiene que tener esta configuración:
|
||||
|
||||

|
||||

|
||||
|
||||
Aquí os dejo el mio para que podáis echarle un vistazo:
|
||||
|
||||
@@ -187,7 +187,7 @@ Líneas a tener en cuenta:
|
||||
- **hosts**, aquí va la ip del servidor
|
||||
- **filesystem_folder**, la dirección donde se ubican los calendarios
|
||||
|
||||
Solo falta entrar en la web [localhost](http:localhost:5232), o en la dirección Ip del servidor y crear vuestro calendario y vuestra libreta de direcciones, instalar **DAV<sub>x<sup>5</sup></sub>** en vuestro móvil y empezar a usarlo. Si quieres que se actualice fuera de casa échale un ojo [aquí](https://clonbg.netlify.app/#/free-dns), además acuerdate de abrir el puerto *5232* en vuestro router.
|
||||
Solo falta entrar en la web [localhost](http:localhost:5232), o en la dirección Ip del servidor y crear vuestro calendario y vuestra libreta de direcciones, instalar **DAV<sub>x<sup>5</sup></sub>** en vuestro móvil y empezar a usarlo. Si quieres que se actualice fuera de casa échale un ojo [aquí](https://myblog.clonbg.es/#/free-dns), además acuerdate de abrir el puerto *5232* en vuestro router.
|
||||
|
||||
|
||||
Salu2
|
||||
|
||||
@@ -22,7 +22,7 @@ Una vez añadido hay que añadirle una línea con la siguiente estructura:
|
||||
Para que se reinicie todos los días a las 4:00 quedaría así:
|
||||
|
||||
|
||||
Una vez guardados los cambios, hay que reiniciar el servicio:
|
||||
Una vez guardados los cambios, hay que reiniciar el servicio:
|
||||
|
||||
sudo service cron restart
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Al arrancar mi sistema operativo y estar en un sitio sin conexión a internet al
|
||||
|
||||
Este es el esquema:
|
||||
|
||||

|
||||

|
||||
|
||||
y aquí está el *script*:
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Encontré un script en [slimbook.es](https://slimbook.es/tutoriales/linux/45-scr
|
||||
|
||||
Nos da algo como esto de salida, tenemos que quedarnos con el número donde pone *uid* seguido de nuestro nombre de usuario, es el *id* de usuario
|
||||
|
||||

|
||||

|
||||
|
||||
Este es el script:
|
||||
|
||||
@@ -72,6 +72,6 @@ Y he añadido esta línea con la ruta de mi script:
|
||||
|
||||
Con esto hacemos que se ejecute cada cinco minutos, y...
|
||||
|
||||

|
||||

|
||||
|
||||
Salu2
|
||||
|
||||
@@ -16,10 +16,10 @@ Yo soy más vago, me he creado dos alias en mi archivo *.zshrc*, uno para dividi
|
||||
|
||||
De esta manera al escribir *tmuxAll* puedes trabajar con 3 terminales a la vez:
|
||||
|
||||

|
||||

|
||||
|
||||
y al escribir *tmuxClose* cierra todas las terminales:
|
||||
|
||||

|
||||

|
||||
|
||||
Salu2
|
||||
|
||||
@@ -5,15 +5,15 @@ Vamos a ver como obtener al *url* de una radio web para poder escucharla en **vl
|
||||
|
||||
Primeramente entramos en la web donde esté la radio que quieres extraer, yo por ejemplo voy a entrar en [radio-espana](http://www.radio-espana.es) y voy a buscar *RockFm*. No le des a escuchar todavía.
|
||||
|
||||

|
||||

|
||||
|
||||
Presionamos **F12** para que se abra la barra de utilidades para desarrolladores, después en la pestaña **Red** y, ahora si, le damos al play. Abajo salen las conexiones que realiza la web, debe haber una cuyo **iniciador** sea de tipo **media**, si haces click te saldrá la dirección web a la derecha.
|
||||
|
||||

|
||||

|
||||
|
||||
Si copias la dirección y la usas en el reproductor podrás escucharla sin necesidad de abrir el navegador
|
||||
|
||||

|
||||

|
||||
|
||||
Visto en [geekland.eu](https://geekland.eu/obtener-la-url-para-escuchar-radio-en-streaming/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+geeklandlinux+%28geekland%29)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user