<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: zJairO</title>
    <description>The latest articles on DEV Community by zJairO (@zjairo).</description>
    <link>https://dev.to/zjairo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F874894%2Fd564f2e0-1d96-4cf7-923a-f54438340c02.png</url>
      <title>DEV Community: zJairO</title>
      <link>https://dev.to/zjairo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zjairo"/>
    <language>en</language>
    <item>
      <title>Comunidad de programadores discord mexicodev</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Thu, 21 Nov 2024 20:15:09 +0000</pubDate>
      <link>https://dev.to/zjairo/comunidad-de-programadores-discord-mexicodev-1mc5</link>
      <guid>https://dev.to/zjairo/comunidad-de-programadores-discord-mexicodev-1mc5</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/BlYwlau4G30"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Somos una comunidad de personas interesadas en tecnología donde charlamos sobre programación y contribuimos al planeta.&lt;/p&gt;

&lt;p&gt;Enlaces:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://discord.gg/mexicodev" rel="noopener noreferrer"&gt;https://discord.gg/mexicodev&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mexicodev.org" rel="noopener noreferrer"&gt;https://mexicodev.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>programacion</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Realizar deploy de una app web en flask con heroku</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Wed, 06 Jul 2022 02:01:16 +0000</pubDate>
      <link>https://dev.to/zjairo/realizar-deploy-de-una-app-web-en-flask-con-heroku-35o7</link>
      <guid>https://dev.to/zjairo/realizar-deploy-de-una-app-web-en-flask-con-heroku-35o7</guid>
      <description>&lt;p&gt;Buenas a tod@s, aquí les dejo un pequeño tutorial para realizar deployment de sus aplicaciones web realizadas con flask de una forma sencilla y rápida a través de heroku.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/XfY1YU4UD4Y"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>python</category>
      <category>flask</category>
      <category>heroku</category>
    </item>
    <item>
      <title>Mi primer aplicación web utilizando el framework Flask de Python</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Thu, 30 Jun 2022 22:55:35 +0000</pubDate>
      <link>https://dev.to/zjairo/mi-primer-aplicacion-web-utilizando-el-framework-flask-de-python-5bhi</link>
      <guid>https://dev.to/zjairo/mi-primer-aplicacion-web-utilizando-el-framework-flask-de-python-5bhi</guid>
      <description>&lt;p&gt;Flask es un microframework de Python mediante el cual podemos construir aplicaciones web de forma muy sencilla.&lt;/p&gt;

&lt;p&gt;En este post vamos a crear nuestra primer aplicación utilizando Flask.&lt;/p&gt;

&lt;p&gt;Lo primero es instalar Flask mediante pip.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install flask
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora vamos a crear un archivo de Python llamado &lt;u&gt;app.py&lt;/u&gt; y después importaremos Flask.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from flask import Flask
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora toca crear una instancia de Flask para nuestra aplicación web.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app = Flask(__name__)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Debemos definir las rutas de nuestra aplicación web, en este caso voy a definir un index en raíz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@app.route('/')
def index():
    return 'Mi primer aplicación web con Flask!'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Después crearemos el lanzador de nuestra aplicación web.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if __name__ == '__main__':
    app.run()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y para finalizar ejecutamos nuestro archivo &lt;u&gt;app.py&lt;/u&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si todo sale bien, tendremos nuestra primer aplicación web ejecutándose en 127.0.0.1:5000&lt;/p&gt;

</description>
      <category>flask</category>
      <category>webdev</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Introducción al web scrapping</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Thu, 30 Jun 2022 02:33:54 +0000</pubDate>
      <link>https://dev.to/zjairo/introduccion-al-web-scrapping-499</link>
      <guid>https://dev.to/zjairo/introduccion-al-web-scrapping-499</guid>
      <description>&lt;p&gt;En internet existe infinidad de información a la que podemos acceder, ya sea en foros, blogs, wikis, etc.. todas nos proporcionan cualquier tipo de información que podría sernos o no de gran utilidad.&lt;/p&gt;

&lt;p&gt;Algunas veces estos sitios nos ofrecen la facilidad de obtener su información mediante diferentes métodos, algunos de ellos pueden ser: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Archivos que se pueden descargar directamente (csv, json, etc..)&lt;/li&gt;
&lt;li&gt;Mediante una API que conecta con su base de datos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Y finalmente la última opción, la cual es un formato muy cómodo para los usuarios que recurrentemente visitan la página web, pero un poco frustrante para extraerla a un programa.&lt;/p&gt;

&lt;p&gt;Por fortuna en Python existen librerías que nos ayudan a extraer la información de cualquier página web, con el simple hecho de visualizar la información en un navegador de internet bastara para extraerla, es lo que se conoce propiamente con el termino de web scrapping.&lt;/p&gt;

&lt;p&gt;Dentro de la última opción, tenemos dos posibilidades. En la primera, podemos acceder a la información visitando el sitio web mediante la URL. En este caso al descargar todo el contenido de la página usaremos la biblioteca BeautifulSoap, la cual nos permitirá buscar el contenido deseado dentro del sitio web.&lt;/p&gt;

&lt;p&gt;La otra posibilidad es para sitios de mayor seguridad que detectan este tipo de librerías, por suerte tenemos la siguiente librería Selenium, que nos permitirá realizar todo lo que haríamos desde el navegador de internet.&lt;/p&gt;

&lt;p&gt;Espero que les ayude esta pequeña introducción al web scrapping, estos días estaré subiendo más contenido sobre esto para que les pueda servir en sus próximos desarrollos.&lt;/p&gt;

&lt;p&gt;Saludos.&lt;/p&gt;

</description>
      <category>python</category>
      <category>web</category>
      <category>scrapping</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Evitar timeout en conexiones por SSH</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Mon, 13 Jun 2022 23:24:40 +0000</pubDate>
      <link>https://dev.to/zjairo/evitar-timeout-en-conexiones-por-ssh-31fn</link>
      <guid>https://dev.to/zjairo/evitar-timeout-en-conexiones-por-ssh-31fn</guid>
      <description>&lt;p&gt;La mayoría de los servidores a los que nos conectamos por ssh cierran la conexión en cuanto detecta inactividad por parte del usuario. &lt;/p&gt;

&lt;p&gt;Para prevenir una desconexión por parte del servidor tendremos que agregar una línea al archivo /etc/ssh/ssh_config, este fichero es leído por nuestro sistema cada vez que iniciamos una conexión ssh. &lt;/p&gt;

&lt;p&gt;Lo que indicaremos con la línea de texto es lanzar un paquete cada 120 segundos, haciéndole saber al servidor que aún estamos trabajando con él. &lt;/p&gt;

&lt;p&gt;La línea a agregar es la siguiente:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ServerAliveInterval 120
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Saludos.&lt;/p&gt;

</description>
      <category>ssh</category>
      <category>linux</category>
      <category>server</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Tomar capturas de pantalla facilmente en i3wm</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Fri, 10 Jun 2022 17:16:21 +0000</pubDate>
      <link>https://dev.to/zjairo/tomar-capturas-de-pantalla-facilmente-en-i3wm-3ac</link>
      <guid>https://dev.to/zjairo/tomar-capturas-de-pantalla-facilmente-en-i3wm-3ac</guid>
      <description>&lt;p&gt;Hola, hoy les quiero compartir un script que uso diariamente para tomar capturas de pantalla en mi arch linux con escritorio i3wm.&lt;/p&gt;

&lt;p&gt;Este no es de mi autoría, es de Rui F Ribeiro, usuario de stackexchange, este script funciona con los paquetes xclip e imagemagick, los cuales nos permitirán capturar la pantalla de nuestro escritorio y además poder seleccionar la región que queramos.&lt;/p&gt;

&lt;p&gt;Comenzamos instalando los paquetes xclip e imagemagick&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pacman -S xclip imagemagick
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Crearemos un archivo y añadiremos lo siguiente (puedes usar tu editor favorito ya sea code, vim, etc)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/usr/bin/env bash

# screenshots stuff
# TODO: docs

function help_and_exit {
    if [ -n "${1}" ]; then
        echo "${1}"
    fi
    cat &amp;lt;&amp;lt;-EOF
    Usage: scregcp [-h|-s] [&amp;lt;screenshots_base_folder&amp;gt;]

    Take screenshot of a whole screen or a specified region,
    save it to a specified folder (current folder is default)
    and copy it to a clipboard. 

       -h   - print help and exit
       -s   - take a screenshot of a screen region
EOF
    if [ -n "${1}" ]; then
        exit 1
    fi
    exit 0
}

if [ "${1}" == '-h'  ]; then
    help_and_exit
elif [ "${1:0:1}" == '-' ]; then
    if [ "${1}" != '-s' ]; then
        help_and_exit "error: unknown option ${1}"  
    fi
    base_folder="${2}"
else
    base_folder="${1}"
    params="-window root"
fi  

file_path=${base_folder}$( date '+%Y-%m-%d_%H-%M-%S' )_screenshot.png
import ${params} ${file_path}
xclip -selection clipboard -target image/png -i &amp;lt; ${file_path}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Guardamos nuestro archivo como scregcp y le damos permisos de ejecución&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod +x scregcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Moveremos nuestro archivo a /usr/bin/&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mv scregcp /usr/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para finalizar editaremos el archivo .config/i3/config para configurar los nuevos shortcuts&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bindsym --release Shift+Print exec "scregcp -s $HOME/Pictures/Screenshots/"
bindsym --release Print exec "scregcp $HOME/Pictures/Screenshots/"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora refrescamos la configuración de i3wm y tendremos todo listo, en mi caso las capturas se guardaran en Pictures/Screenshots/ de igual manera se copiaran en nuestro clipboard.&lt;/p&gt;

&lt;p&gt;Saludos.&lt;/p&gt;

</description>
      <category>i3wm</category>
      <category>linux</category>
      <category>arch</category>
      <category>screenshot</category>
    </item>
    <item>
      <title>Pfetch: Una alternativa a Neofetch</title>
      <dc:creator>zJairO</dc:creator>
      <pubDate>Thu, 09 Jun 2022 18:36:21 +0000</pubDate>
      <link>https://dev.to/zjairo/pfetch-una-alternativa-a-neofetch-2e9f</link>
      <guid>https://dev.to/zjairo/pfetch-una-alternativa-a-neofetch-2e9f</guid>
      <description>&lt;p&gt;Existen diferentes herramientas en Linux que nos permiten visualizar toda la información de nuestro sistema, las herramientas más famosas son neofetch y screenfetch. &lt;/p&gt;

&lt;p&gt;Estas herramientas nos permiten visualizar en nuestra terminal de una forma muy rápida y atractiva toda la información de nuestro sistema (hardware, sistema operativo, configuración, etc).&lt;/p&gt;

&lt;p&gt;Hoy vamos a hablar de &lt;strong&gt;pfetch&lt;/strong&gt;, la cual es una herramienta parecida a las anteriores con la diferencia es que nos da solamente la información importante y tiene un estilo &lt;strong&gt;minimalista&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalación
&lt;/h2&gt;

&lt;p&gt;Es un archivo binario, por lo cual no es necesario compilarlo.&lt;/p&gt;

&lt;p&gt;Clonaremos el repositorio (recuerda tener &lt;em&gt;git&lt;/em&gt; instalado), entonces usaremos el comando &lt;em&gt;git clone&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/dylanaraps/pfetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instalaremos el archivo como &lt;em&gt;root&lt;/em&gt; útilizando el comando &lt;em&gt;install&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo install pfetch/pfetch /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para terminar la instalación:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls -l /usr/local/bin/pfetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Uso
&lt;/h2&gt;

&lt;p&gt;Basta con escribir &lt;em&gt;pfetch&lt;/em&gt; para correr nuestro programa y poder visualizar la información de nuestro sistema:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pfetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para mayor información y configuración extra puedes revisar el &lt;a href="https://github.com/dylanaraps/pfetch"&gt;repositorio oficial&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Saludos.&lt;/p&gt;

</description>
      <category>pfetch</category>
      <category>neofetch</category>
      <category>linux</category>
      <category>terminal</category>
    </item>
  </channel>
</rss>
