<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://miguelangel.torresegea.es/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://miguelangel.torresegea.es/wiki/feed.php">
        <title>miguel angel torres egea</title>
        <description></description>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <image rdf:resource="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-06-16T04:53:58+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:p10k?rev=1780419138&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:datetime?rev=1657207550&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:modulos?rev=1655976060&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4?rev=1740066882&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.4?rev=1699216387&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.2?rev=1699216358&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:1.1?rev=1709556888&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:rutas?rev=1581289598&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s10?rev=1615309386&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.2?rev=1709626190&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:pycurl?rev=1725268712&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s2?rev=1646848645&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:2.1?rev=1699219278&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:archivos?rev=1657392170&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:3.1?rev=1699216465&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:paquetes?rev=1655983096&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:3.1?rev=1702505981&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.1?rev=1704741328&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.5?rev=1705601125&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/macintosh:boot:start?rev=1478435748&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap2?rev=1548924286&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:dockerfile?rev=1546512279&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.2?rev=1703245770&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.6?rev=1703762970&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.3?rev=1703793078&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.9?rev=1699216453&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.4?rev=1703794616&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.6?rev=1705660623&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.7?rev=1705663347&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:3.1?rev=1709549519&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache3?rev=1421449903&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:htaccess:start?rev=1592651529&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab18?rev=1740138780&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab20?rev=1740141555&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.2?rev=1699216496&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:5.1?rev=1699261386&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:4.1?rev=1702980148&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:2.1?rev=1709548650&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:syntax?rev=1528018666&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:wordpress?rev=1760533181&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:python-mega-course?rev=1729249956&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s8?rev=1646839711&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:metodos?rev=1657048521&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.7?rev=1699216429&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.3?rev=1703357345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.8?rev=1703788552&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:elementos-basicos?rev=1580061344&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:pipes?rev=1580148768&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:multistage?rev=1531411709&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.8?rev=1699216442&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:practica1?rev=1580158095&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:from?rev=1710249964&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos?rev=1585422899&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day2?rev=1333912570&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion6?rev=1551531889&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion7?rev=1559662594&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.1?rev=1699216341&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.6?rev=1699216418&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.1?rev=1703244026&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.4?rev=1705059240&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:5.1?rev=1709555915&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:directivas?rev=1581288362&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:modulos?rev=1580061369&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:pandas?rev=1728569657&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:backupselectivo?rev=1576005342&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:wordpress:seguridad?rev=1761117348&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap2?rev=1544811667&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s3?rev=1646847691&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache1?rev=1421449851&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:excepciones?rev=1656618866&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.2?rev=1699216324&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.3?rev=1699216373&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.5?rev=1699216406&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.1?rev=1703790579&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.3?rev=1705056974&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:2.1?rev=1705687171&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:utilidades?rev=1537865996&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:postgresql:sql?rev=1635245659&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:argparse?rev=1758873920&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:decorators?rev=1726469312&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:braceexpansion?rev=1590273451&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:rsync?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:sadservers?rev=1716904318&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:backup:borg?rev=1655284776&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:spf:spf?rev=1763364887&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:account:migraralocal?rev=1722081750&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:utils:everything?rev=1750069295&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:users:start?rev=1635245521&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:tutorial?rev=1580244758&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:item-lista:start?rev=1738838353&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1?rev=1709549553&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbos:rutorrent?rev=1580595855&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:onbuild?rev=1531414008&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap3?rev=1544897816&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion8?rev=1586354266&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion12?rev=1586354361&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s13?rev=1648069358&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:entorno?rev=1585438356&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache2?rev=1421449820&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:excepciones?rev=1655834352&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:herencia?rev=1657049370&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:lab9?rev=1740124796&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab19?rev=1740138058&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.1?rev=1699216302&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.1?rev=1699216475&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:1.1?rev=1699217111&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.4?rev=1703358335&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.5?rev=1703359986&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.9?rev=1703789305&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.5?rev=1703795730&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:plugins?rev=1528577721&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:primeros_pasos?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:sql:start?rev=1712309085&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:sql:updatefield2tables?rev=1637185714&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:entorno?rev=1579975632&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:estructura?rev=1580030908&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:securizar?rev=1527188647&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:bokeh?rev=1728563878&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:start?rev=1771488008&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:start?rev=1739777466&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:tar?rev=1682592622&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:start?rev=1781084239&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:ddrescue?rev=1755680310&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteconn?rev=1573039061&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/pentesting:retos:uam2?rev=1514240706&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:jmespath?rev=1584986696&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:twitch-sl?rev=1603726960&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/sotfware:utils:youtube-dl?rev=1623255364&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:google:operadores-busqueda?rev=1758784529&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:certificados?rev=1640261109&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:cli?rev=1675931719&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:letsencrypt?rev=1583322985&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:openssl?rev=1638598409&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:w10:wsl?rev=1601650951&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:dupes:start?rev=1527188162&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:leftjoin:start?rev=1527188321&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:match:start?rev=1527187996&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:variables:start?rev=1527187883&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:java:lib:jaxb?rev=1529401827&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:core?rev=1580244618&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap5?rev=1590271587&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent?rev=1580595836&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent_rutorrent?rev=1608803427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso1?rev=1479168183&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:games:minecraft:start?rev=1586618902&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day3?rev=1333916873&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day4?rev=1333919150&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:alpine?rev=1531410794&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:contenedores?rev=1582790161&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion2?rev=1550920329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion14?rev=1553949660&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion16?rev=1554617923&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s4?rev=1663569952&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s8?rev=1614285381&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:conditionals-state-vm?rev=1586871197&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old1?rev=1608802462&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:cadenas?rev=1656616085&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:generadores?rev=1657203147&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-systemd?rev=1740743512&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.3?rev=1699216505&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.7?rev=1703765167&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:4.1?rev=1709555079&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:notificaciones?rev=1537866041&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:paquetes?rev=1537865940&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:p10k?rev=1780419138&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-02T16:52:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>powerlevel10k ZSH Theme</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:p10k?rev=1780419138&amp;do=diff</link>
        <description>powerlevel10k ZSH Theme

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

ZSH_THEME=&quot;powerlevel10k/powerlevel10k&quot;


# Generated by Powerlevel10k configuration wizard on 2026-06-02 at 11:08 CEST.
# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 57633.
# Wizard options: powerline, rainbow, unicode, angled separators, sharp heads,
# flat tails, 1 line, compact, concise, instant_prompt=verbose.
# Type `p10…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:datetime?rev=1657207550&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-07T15:25:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Biblioteca datetime</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:datetime?rev=1657207550&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Biblioteca datetime

Introducción al módulo datetime

En esta sección, aprenderás sobre un módulo de Python llamado datetime.

Como puedes adivinar, proporciona clases para trabajar con la fecha y hora. Si crees que no necesitas profundizar en este tema, hablemos de ejemplos del uso de la fecha y la hora en la programación.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:modulos?rev=1655976060&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-23T09:21:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 1 (intermedio): Módulos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:modulos?rev=1655976060&amp;do=diff</link>
        <description>Modulo 1 (intermedio): Módulos

El código de computadora tiene una tendencia a crecer. Podemos decir que el código que no crece probablemente sea completamente inutilizable o esté abandonado. Un código real, deseado y ampliamente utilizado se desarrolla continuamente, ya que tanto las demandas de los usuarios como sus expectativas se desarrollan de manera diferente.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4?rev=1740066882&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-20T15:54:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : sesión 4</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4?rev=1740066882&amp;do=diff</link>
        <description>Ethical Hacker : sesión 4

	*  Ethical Hacker : sesión 4

clase

	*  Modulo 14
	*  Modulo 15
	*  Modulo 16
	*  Modulo 17

Modulo 14: Hacking Web Applications

	*  Amenazas
	*  OWASP - &lt;https://owasp.org&gt;
		*  asociación sin ánimo de lucro
		*  proyectos relacionados con seguridad
		*  Coraza - ModSecurity - set reglas programables</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.4?rev=1699216387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.4 Decorators</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.4?rev=1699216387&amp;do=diff</link>
        <description>2.4 Decorators

A decorator is one of the design patterns that describes the structure of related objects. Python is able to decorate functions, methods, and classes.

The decorator&#039;s operation is based on wrapping the original function with a new «</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.2?rev=1699216358&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.2 Inheritance and polymorphism — Inheritance as a pillar of OOP</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.2?rev=1699216358&amp;do=diff</link>
        <description>2.2 Inheritance and polymorphism — Inheritance as a pillar of OOP

Inheritance is one of the fundamental concepts of object oriented programming, and expresses the fundamental relationships between classes: superclasses (parents) and their subclasses (descendants). Inheritance creates a class hierarchy. Any object bound to a specific level of class hierarchy inherits all the traits (methods and attributes) defined inside any of the superclasses.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:1.1?rev=1709556888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T12:54:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 SQLite</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:1.1?rev=1709556888&amp;do=diff</link>
        <description>1.1 SQLite

What is a database?

Nowadays, social applications such as Facebook, Twitter, and Instagram are very popular. Every day many people create new accounts, and existing users add or share different content. You’ve surely noticed that the data sent to those applications are still available after a few days, or even years. Do you know how that’s possible?</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:rutas?rev=1581289598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-09T23:06:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: rutas</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:rutas?rev=1581289598&amp;do=diff</link>
        <description>angular: rutas

rutas hijas en módulo centralizado

	*  en vez de tener todas las rutas centralizadas, cada módulo gestiona sus propias rutas (primer paso)
	*  hasta ahora:




	*  uso de etiquetas &lt;router-outlet&gt;&lt;/router-outlet&gt; necesario
		*  rutas hijas:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s10?rev=1615309386&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T17:03:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 10 (2021-03-04)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s10?rev=1615309386&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 10 (2021-03-04)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

Web Services

	*  DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/Resumen Apache.txt</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.2?rev=1709626190&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-05T08:09:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.2 How to use sockets in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.2?rev=1709626190&amp;do=diff</link>
        <description>1.2 How to use sockets in Python

How to fetch a document from a server using Python

We are going to write our first program making use of network sockets. Of course, we&#039;ll harness Python for this purpose.

Here are our goals:

	*  we want to write</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:pycurl?rev=1725268712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-02T09:18:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python PycURL</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:pycurl?rev=1725268712&amp;do=diff</link>
        <description>Python PycURL

/via: &lt;https://www.rapidseedbox.com/blog/python-curl&gt;

	*  requests: 1.6 Making life easier with the requests module

setup

	*  PycURL es un intefaz python para interactuar con cURL (más completa/compleja que requests)
	*  
sudo apt install libcurl4-openssl-dev libssl-dev

	*  
pip install pycurl


comandos básicos con requests</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s2?rev=1646848645&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:57:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 2 (2022-02-14) Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s2?rev=1646848645&amp;do=diff</link>
        <description>DevOps Sesión 2 (2022-02-14) Docker

Documentación relacionada

	*  
 {
&quot;bip&quot;: &quot;172.17.0.1/16&quot;,
&quot;ip&quot;: &quot;192.168.33.10&quot;,
&quot;hosts&quot;: [
		&quot;unix:///var/run/docker.sock&quot;,
		&quot;tcp://0.0.0.0:2376&quot;
	]
} 

	*  Libros:
		*  terraform curso practico formación Ed. RC</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:2.1?rev=1699219278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T21:21:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 PEP 20 – The Zen of Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:2.1?rev=1699219278&amp;do=diff</link>
        <description>2.1 PEP 20 – The Zen of Python

The Zen of Python is a collection of 19 aphorisms, which reflect the philosophy behind Python, its guiding principles, and design.

Tim Peters, a long time major contributor to the Python programming language and Python community, wrote this 19-line poem on the Python mailing list in 1999, and it became entry #20 in the Python Enhancement Proposals in 2004.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:archivos?rev=1657392170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-09T18:42:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Archivos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:archivos?rev=1657392170&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Archivos

Accediendo archivos desde código en Python

Uno de los problemas más comunes en el trabajo del desarrollador es procesar datos almacenados en archivos que generalmente se almacenan físicamente utilizando dispositivos de almacenamiento: discos duros, ópticos, de red o de estado sólido.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:3.1?rev=1699216465&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3.1 Advanced techniques of creating and serving exceptions</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:3.1?rev=1699216465&amp;do=diff</link>
        <description>3.1 Advanced techniques of creating and serving exceptions

In this module, we&#039;ll talk about Python exceptions – objects that represent errors which occur during the execution of a program that disrupts the normal flow of the program&#039;s instructions.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:paquetes?rev=1655983096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-23T11:18:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 1 (intermedio): Paquetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:paquetes?rev=1655983096&amp;do=diff</link>
        <description>Modulo 1 (intermedio): Paquetes

Escribir tus propios módulos no difiere mucho de escribir scripts comunes.

Existen algunos aspectos específicos que se deben tomar en cuenta, pero definitivamente no es algo complicado. Lo verás pronto.



Resumamos algunos aspectos importantes:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:3.1?rev=1702505981&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-13T22:19:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3.1 PEP 8 – Introduction</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:3.1?rev=1702505981&amp;do=diff</link>
        <description>3.1 PEP 8 – Introduction

As mentioned earlier, PEP 8 is a document that provides coding conventions (code style guide) for Python code.

PEP 8 is considered one of the most important PEPs and a must-read for every professional Python programmer, as it helps to make the code more consistent, more readable, and more efficient.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.1?rev=1704741328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-08T19:15:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 Python Professional Course Series: RESTful APIs</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.1?rev=1704741328&amp;do=diff</link>
        <description>1.1 Python Professional Course Series: RESTful APIs

Some words about REST

The word you see below may look a little enigmatic: REST

Are we going to convince you to take a rest? Not at all. On the contrary, we want to encourage you to start the next part of our adventure - very demanding and completely new. We&#039;ll show you not Python itself, but a very specific kind of machinery (do not take this literally) which drives lots of contemporary computer systems, especially those which work on the In…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.5?rev=1705601125&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-18T18:05:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.5 What is XML and why do we prefer to use JSON?</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.5?rev=1705601125&amp;do=diff</link>
        <description>1.5 What is XML and why do we prefer to use JSON?

XML is a language. Anyway, this is what it thinks about itself. Note – it isn&#039;t a programming language, and although it is possible to build a real programming language on top of XML, it wasn&#039;t (and still isn&#039;t) its native niche.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/macintosh:boot:start?rev=1478435748&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-06T12:35:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mac boot</title>
        <link>https://miguelangel.torresegea.es/wiki/macintosh:boot:start?rev=1478435748&amp;do=diff</link>
        <description>mac boot

magical boot key secuences
 Key Combination  Effect mouse down  Eject removable media ( I think Boot ROMs prior to 2.4f1 excluded the CD drive )⌥  Bring up OF system picker on New World machines⌘-⌥  Hold down until 2nd chime, will boot into Mac</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap2?rev=1548924286&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-31T08:44:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>[Docker SecDevOps] Capítulo 2 : Dockerfile</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap2?rev=1548924286&amp;do=diff</link>
        <description>[Docker SecDevOps] Capítulo 2 : Dockerfile

	*  # comentarios o directivas
	*  INSTRUCCIÓN argumentos : por convención, instrucción en mayúsculas
	*  primera instrucción: FROM (o ARG)

build

	*  docker build o docker image build
		*  -t &lt;nombre_imagen&gt;[:tag]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:dockerfile?rev=1546512279&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-03T10:44:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:dockerfile?rev=1546512279&amp;do=diff</link>
        <description>Dockerfile

fichero de scripting para generar un contenedor
docker build -t &lt;nombre&gt; .: genera una nueva imagen con repositorio &lt;tag&gt;
vagrant rsync : sincroniza el directorio «compartido» entre el host y la imagen vagrantTambién se puede lanzar un proceso vagrant rsync-auto que se encarga de ir haciendo este proceso automaticamente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.2?rev=1703245770&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-22T11:49:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.2 Let TkInter speak!</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.2?rev=1703245770&amp;do=diff</link>
        <description>1.2 Let TkInter speak!

Importing TkInter

As you already know, from Python&#039;s point of view TkInter is a package named tkinter. The package contains a bunch of functions, constants, classes, objects, and modules used to build GUI applications.

The GUI</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.6?rev=1703762970&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T11:29:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.6 Events and how to handle them</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.6?rev=1703762970&amp;do=diff</link>
        <description>1.6 Events and how to handle them

Event handling

As you already know, events are the fuel which propel the application’s movements. All events come to the event manager, which is responsible for dispatching them to all the application components. This also means that some of the events may launch some of your callbacks, which makes you responsible for preparing the proper reactions to the user’s actions.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.3?rev=1703793078&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T19:51:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.3 A small lexicon of widgets - Part 3</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.3?rev=1703793078&amp;do=diff</link>
        <description>2.3 A small lexicon of widgets - Part 3

There are two remaining widgets we want to tell you about – the first one is just a widget, while the second is, in fact, a set of cooperating widgets.

The Entry widget not only presents a line of text, but is also able to</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.9?rev=1699216453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.9 Inheriting properties from built-in classes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.9?rev=1699216453&amp;do=diff</link>
        <description>2.9 Inheriting properties from built-in classes

Python gives you the ability to create a class that inherits properties from any Python built-in class in order to get a new class that can enrich the parent&#039;s attributes or methods. As a result, your newly-created class has the advantage of all of the well-known functionalities inherited from its parent or even parents and you can still access those attributes and methods.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.4?rev=1703794616&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T20:16:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.4 Shaping the main window and conversing with the user</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.4?rev=1703794616&amp;do=diff</link>
        <description>2.4 Shaping the main window and conversing with the user

The main window is a very specific construct, as its fate is shared among two masters: you (supported by tkinter) and your operating system. This means than you cannot manage the window like any other widget, as the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.6?rev=1705660623&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-19T10:37:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.6 Making life easier with the requests module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.6?rev=1705660623&amp;do=diff</link>
        <description>1.6 Making life easier with the requests module

We have reached the point where we can start the final stage of our journey – we know enough to communicate with the web service using JSON as an information carrier. Unfortunately, our knowledge needs to be supplemented – we need a</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.7?rev=1705663347&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-19T11:22:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.7 Four magic letters: CRUD</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.7?rev=1705663347&amp;do=diff</link>
        <description>1.7 Four magic letters: CRUD

Entering a non-existing/malformed address

We’ve reached the point in which we are ready to gather all new facts and tools and glue all these pieces into one functional block. You already know how HTTP works, how it’ is mounted on top of the TCP stack and how the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:3.1?rev=1709549519&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T10:51:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3.1 The CSV module in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:3.1?rev=1709549519&amp;do=diff</link>
        <description>3.1 The CSV module in Python

The CSV module in Python

The CSV (Comma Separated Values) format is one of the most popular file formats used to store and transfer data between different programs. Currently, many database management tools and the popular Excel offer data import and export in this format.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache3?rev=1421449903&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T23:11:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero apache conf3</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache3?rev=1421449903&amp;do=diff</link>
        <description>fichero apache conf3

conf3


ServerName localhost

&lt;VirtualHost *:80&gt;

        ServerAdmin admin@rutorrent
        ServerName localhost
        DocumentRoot /var/rutorrent

        &lt;Directory /&gt;
                AllowOverride None
                Order deny,allow
                Deny from all
        &lt;/Directory&gt;
        &lt;Location /&gt;
                AuthType Basic
                AuthName &quot;My ruTorrent web site&quot;
                AuthUserFile &quot;/etc/apache2/rutorrent_passwd&quot;
                Require…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-13T21:26:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker (first contact)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff</link>
        <description>docker (first contact)

docker

un poco de historia

	*  docker monta un sistema de containerización que permite lanzar nuevas instancias de S.O. aprovechando los recursos (hard) de la máquina Y el kernel del SO ya corriendo, lo que hace más óptimo el aprovechamiendo de recursos que las máquinas virtuales (que recrean un ordenador al completo, con sus propios kernels y sistemas de ficheros)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T21:49:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH zmv</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff</link>
        <description>ZSH zmv

mv/rename mejorado

uso

	*  si no lo hacemos en el .zshrc, cargar con autoload zmv
	*  parámetros:
		*  -n: test, o hace los cambios
		*  C: copy
		*  L: ln
		*  M: move
		*  -w: añade paréntesis en los *
		*  -i: interactivo


ejemplo

usage</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:htaccess:start?rev=1592651529&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T11:12:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.htaccess</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:htaccess:start?rev=1592651529&amp;do=diff</link>
        <description>.htaccess

	*  .htaccess rewrites (redirecciones)

basics

	*  mantén el fichero .htaccess tan pequeño como pueda ser
	*  comenta y organiza correctamente el fichero .htaccess
	*  añade la opción [L] a las páginas finales, para decirle al servidor que no procese más reglas - como en hotlinking</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab18?rev=1740138780&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T11:53:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 18 IoT and OT Hacking</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab18?rev=1740138780&amp;do=diff</link>
        <description>Lab Module 18 IoT and OT Hacking

Lab 1: Perform Footprinting using Various Footprinting Techniques

Task 1: Gather Information using Online Footprinting Tools

	*  Launch any web browser, go to &lt;https://www.whois.com/whois&gt; (here, we are using Mozilla Firefox).
	*  The Whois Domain Lookup page appears; type</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab20?rev=1740141555&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T12:39:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 20 Cryptography</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab20?rev=1740141555&amp;do=diff</link>
        <description>Lab Module 20 Cryptography

With the increasing adoption of the Internet for business and personal communication, securing sensitive information such as credit-card and personal identification numbers (PINs), bank account numbers, and private messages is becoming increasingly important, and yet, more difficult to achieve. Today’s information-based organizations extensively use the Internet for e-commerce, market research, customer support, and a variety of other activities. Thus, data security i…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.2?rev=1699216496&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.2 Serialization of Python objects using the pickle module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.2?rev=1699216496&amp;do=diff</link>
        <description>4.2 Serialization of Python objects using the pickle module

In this section, you will learn how to persist Python objects for later use.

Pickling is the process of preserving or extending the lifespan of food. The resulting food is called a pickle, and to prevent ambiguity, prefaced with the &#039;pickled&#039; adjective.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:5.1?rev=1699261386&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-06T09:03:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>5.1 Metaprogramming</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:5.1?rev=1699261386&amp;do=diff</link>
        <description>5.1 Metaprogramming

Introduction to metaclasses

Metaprogramming is a programming technique in which computer programs have the ability to modify their own or other programs’ codes. It may sound like an idea from a science fiction story, but the idea was born and implemented in the early 1960s.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:4.1?rev=1702980148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-19T10:02:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1 PEP 257 – Docstring Conventions</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:4.1?rev=1702980148&amp;do=diff</link>
        <description>4.1 PEP 257 – Docstring Conventions

What is PEP 257?

PEP 257 is a document created as part of the Python Developer&#039;s Guide, which makes an attempt to standardize the high-level structure of docstrings. It outlines the conventions, best practices, and semantics (not laws or regulations!) associated with documenting Python code using docstrings. In short, it tries to answer the following two questions:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:2.1?rev=1709548650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T10:37:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 File processing - XML files</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:2.1?rev=1709548650&amp;do=diff</link>
        <description>2.1 File processing - XML files

XML processing in Python

Python is commonly used to process various types of data. Perhaps, while working as a programmer, you&#039;ll have to read or create a data file in the XML format. Soon, doing that will be a piece of cake.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:syntax?rev=1528018666&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-03T09:37:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Formatting Syntax</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:syntax?rev=1528018666&amp;do=diff</link>
        <description>Formatting Syntax

DokuWiki supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-31T08:58:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Los ficheros de inicio de Bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff</link>
        <description>Los ficheros de inicio de Bash

tipos de shell

	*  Interactivo: permite interactuar, ejecutando comandos introducidos desde el teclado.
	*  No Interactivo: ejecuta los comandos desde un script
	*  De Inicio: los shells que se ejecutan justo después de haberse identificado. Son los que solicitan usuario y contraseña (versus los interactivos que no la solicitan, que no serían de inicio)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-01T07:17:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsync</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff</link>
        <description>rsync

related

	*  Copias de seguridad usando RSYNC y SSH
	*  otra guía: &lt;http://troy.jdmz.net/rsync/index.html&gt;
	*  al detalle: &lt;https://www.computerhope.com/unix/rsync.htm&gt;

ejemplos

	*  sincronización de 2 directorios locales:
rsync -a -v dir1/ dir2

		*  -a implica:
			*  -r : recursividad
			*  -l : copiar symlinks como tal
			*  -p : copiar permisos
			*  -o,-g</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:wordpress?rev=1760533181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-15T12:59:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WORDPRESS</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:wordpress?rev=1760533181&amp;do=diff</link>
        <description>WORDPRESS

	*  /vía: &lt;http://wpzine.com/wordpress-security-hacks-and-tricks/&gt;
	*  /vía: &lt;http://www.katharsix.com/la-seguridad-en-wordpress-algunos-consejos/&gt;
	*  /vía: &lt;http://www.katharsix.com/la-seguridad-en-wordpress-algunos-consejos-ii/&gt;

	*  WordPress multisite
	*  Wordpress securizar
	*  WordPress, webinar seguridad

trucos

	*  obligar método https VS ftp al actualizar:
define(&#039;FS_METHOD&#039;, &#039;direct&#039;);


recover &amp; debugging

	*  desactivar plugins:&lt;https://www.ostraining.com/blog/wordpress…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:python-mega-course?rev=1729249956&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-18T11:12:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Curso python udemy</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:python-mega-course?rev=1729249956&amp;do=diff</link>
        <description>Curso python udemy

	*  &lt;https://www.udemy.com/course/former-python-mega-course-build-10-real-world-applications/learn/lecture/34362798#overview&gt;

interesante

	*  Numpy: manejo de matrices
	*  Web Mapping: creación mapas interactivos HTML
	*  Manejo Webcam
	*  Bokeh: libreria representación gráficos -&gt; Python Bokeh
	*  Pandas: libreria de analisis de datos -&gt; Python Pandas
	*  Flask: web development</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s8?rev=1646839711&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T15:28:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 8 (2022-03-07) k8s</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s8?rev=1646839711&amp;do=diff</link>
        <description>DevOps Sesión 8 (2022-03-07) k8s

Documentación relacionada

	*  2-Despliegue de Aplicaciones Kubernetes/1-Laboratorios Kubernetes 2020.pdf
	*  2-Despliegue de Aplicaciones Kubernetes/2-Laboratorios basicos kubernetes .pdf
	*  2-Despliegue de Aplicaciones Kubernetes/Laboratorio kubernetes Curso-DevOps.txt línea 481</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:metodos?rev=1657048521&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:15:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3 - Programación Orientada a Objetos - Métodos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:metodos?rev=1657048521&amp;do=diff</link>
        <description>Módulo 3 - Programación Orientada a Objetos - Métodos

Métodos a detalle

Resumamos todos los hechos relacionados con el uso de métodos en las clases de Python.

Como ya sabes, un método es una función que está dentro de una clase.

Existe un requisito fundamental: un</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.7?rev=1699216429&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.7 Encapsulation</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.7?rev=1699216429&amp;do=diff</link>
        <description>2.7 Encapsulation

Attribute encapsulation

Encapsulation is one of the fundamental concepts in object-oriented programming (amongst inheritance, polymorphism, and abstraction). It describes the idea of bundling attributes and methods that work on those attributes within a class.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.3?rev=1703357345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-23T18:49:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.3 Settling widgets in the window&#039;s interior</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.3?rev=1703357345&amp;do=diff</link>
        <description>1.3 Settling widgets in the window&#039;s interior

Settling widgets

A familiarity with the Button widget allows us to show you some ways of putting the widgets (not only the buttons) inside windows. There are more of them than just place(), which you learned about in the previous section. To be precise, there are</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.8?rev=1703788552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T18:35:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.8 Interacting with widget methods</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.8?rev=1703788552&amp;do=diff</link>
        <description>1.8 Interacting with widget methods

Widget methods

Widgets have methods – you’ve met some of them already. Now we’re going to show you a few more of them, and we’ll start with two which seem to be very specific. We can even say that the sense of their existence is very closely bound to the unique features of</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:elementos-basicos?rev=1580061344&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T17:55:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: elementos básicos app</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:elementos-basicos?rev=1580061344&amp;do=diff</link>
        <description>angular: elementos básicos app

	*  PPT: 3.3

componentes

	*  piezas funcionales y reutilizables
	*  bajo coste mantenimiento
	*  archivos interelacionados de proposito común
		*  app.component.css (opcional)
			*  estilos CSS exclusivos componente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:pipes?rev=1580148768&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T18:12:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: pipes</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:pipes?rev=1580148768&amp;do=diff</link>
        <description>angular: pipes

	*  transformación al vuelo de los datos para su representación en la página
	*  también para superar restricciones del tipo CSS, como un vídeo de YouTube
	*  de serie:
		*  mayúsculas/minúsuclas
		*  monedas, números
		*  JSON</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:multistage?rev=1531411709&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-12T16:08:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>multi-stage</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:multistage?rev=1531411709&amp;do=diff</link>
        <description>multi-stage

posibilidad de usar varios FROM, el útimo será el que se utilizará.

así:

	*  descargamos la imagen con todo lo que necesitamos
	*  copiamos los programas generados (compilación, por ejemplo)
	*  cargamos la imagen con el «jre» correspondiente (o lo que necesitemos), todo lo usado en el primer FROM desaparece</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.8?rev=1699216442&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.8 Composition vs Inheritance - two ways to the same destination</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.8?rev=1699216442&amp;do=diff</link>
        <description>2.8 Composition vs Inheritance - two ways to the same destination

So far we&#039;ve been using and following the inheritance concept when modeling our classes to represent real-life issues. Inheritance is a great concept, one of the most important foundations of object-oriented programming that models a tight relation between two classes: the base class and the derived class, called a subclass.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:practica1?rev=1580158095&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T20:48:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>practica 1</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:practica1?rev=1580158095&amp;do=diff</link>
        <description>practica 1

previa

	*  
npm install jquery popper.js bootstrap


rutas



	*  añadir a app.modules.ts
	*  en navbar.component.html:
		*  uso de routerLinkActive para indicar la opción activa
		*  uso de [routerLink] en lugar de href


servicios

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:from?rev=1710249964&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-12T13:26:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python librerias</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:from?rev=1710249964&amp;do=diff</link>
        <description>Python librerias

python

collections

from collections import defaultdict
var = defaultdict(int)
var2 = defautldict(set)

	*  todos los elementos seteados a 0 o vacío por defecto

pickle

	*  serialización de objetos
	*  from pickle import TRUE! -&gt; ?

trace</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:27:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación rápida debian 6 como seedbox</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff</link>
        <description>instalación rápida debian 6 como seedbox

	*  /vía: &lt;http://pastebin.com/Kx8sLk46&gt;
	*  /vía: &lt;http://www.linuxquestions.org/questions/linux-general-1/problem-using-screen-cannot-open-your-terminal-dev-pts-0-please-check-338313/&gt;: problemas con screen
	*  configuración rtorrent+rutorrent+screen: /vía: &lt;https://ks358174.kimsufi.com/download.CFF9640E/&gt;
	*  reiniciar rtorrent (&lt;https://www.feralhosting.com/faq/view?question=158&gt;)

instalación básica


apt-get update &amp;&amp; apt-get upgrade
apt-get instal…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-03T08:58:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Uncomplicated Firewall</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff</link>
        <description>Uncomplicated Firewall

manera alternativa de montar reglas de acceso con una sintáxis más sencilla, monta tablas y cadenas a su antojo

sintaxis y argumentos

ufw [--dry-run] [options] [rule syntax]

	*  options:
		*  allow
		*  deny
		*  reject
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-13T08:03:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Singularity</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff</link>
        <description>Singularity

.sif i cache

singularity pull hello-world.sif shub://vsoch/hello-world

singularity cache list [-v]

containers

singularity exec hello-world.sif /bin/echo Hello World!

singularity shell hello-world.sif

singularity shell hello-world.sif
Singularity&gt; whoami</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos?rev=1585422899&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T19:14:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Aprende DevOps. Fundamentos de Terraform</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos?rev=1585422899&amp;do=diff</link>
        <description>Aprende DevOps. Fundamentos de Terraform

introducción

	*  administrar infraestructuras (desde una aplicación a considerablemente grandes)
	*  muchos proveedores
	*  sintaxis simple y unificada
	*  configuraciones compartidas y reutilizables
	*  el modelo permite versionado</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day2?rev=1333912570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-08T19:16:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>day 2 : Database Selecting Methods</title>
        <link>https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day2?rev=1333912570&amp;do=diff</link>
        <description>day 2 : Database Selecting Methods

	*  diferentes métodos para acceder a la información
		*  directamente con una sentencia SQL
			*  $q = $this-&gt;db-&gt;query(&#039;SELECT * FROM XXX&#039;);
			*  $q-&gt;num_rows() &lt;- número de rows devueltas
			*  $q-&gt;result()</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion6?rev=1551531889&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-02T13:04:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 6 : ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion6?rev=1551531889&amp;do=diff</link>
        <description>Sesión 6 : ansible

ansible

become


- name: servicio
  service:
    name: httpd
    state: started
  become: yes



- name: servicio
  service:
    name: httpd
    state: started
  become: yes
  become_user: apache


adduser


- hosts: all
  tasks:
    - include: add-user-debian.yaml
      when: ansible_os_family == &#039;Debian&#039;
    - include: add-user-redhat.yaml
      when: ansible_os_family == &#039;RedHat&#039;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion7?rev=1559662594&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-04T15:36:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 7: Seguridad, Prometheus</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion7?rev=1559662594&amp;do=diff</link>
        <description>Sesión 7: Seguridad, Prometheus

seguridad

	*  &lt;https://www.owasp.org/&gt;
	*  JSON
	*  REST = Representational state transfer
		*  uso de verbos
			*  comunes: get, post, head
			*  otras: putm patch, delete, transfer...
			*  &lt;https://en.wikipedia.org/wiki/Representational_state_transfer&gt;
			*  waf, ids, ips : filtrado por reglas


	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.1?rev=1699216341&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 Python core syntax</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.1?rev=1699216341&amp;do=diff</link>
        <description>2.1 Python core syntax

So far we have been using Python core operations that allow us to operate on strings, lists, integers, and floats. It’s natural for us to formulate expressions using algebraic symbols representing operators, or to get a number of elements in a sequence or dictionary.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.6?rev=1699216418&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.6 Abstract classes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.6?rev=1699216418&amp;do=diff</link>
        <description>2.6 Abstract classes

Python is considered to be a very flexible programming language, but that doesn’t mean that there are no controls to impose a set of functionalities or an order in a class hierarchy. When you develop a system in a group of programmers, it would be useful to have some means of establishing requirements for classes in matters of interfaces (methods) exposed by each class.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.1?rev=1703244026&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-22T11:20:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Professional Course Series: GUI Programming</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.1?rev=1703244026&amp;do=diff</link>
        <description>Python Professional Course Series: GUI Programming

What is GUI?

GUI is an acronym. Moreover, it’s a three-letter acronym, a representative of a well-known class of acronyms which plays a very important role in the IT industry. Okay, that’s enough jokes about TLA’s for one course, all the more that</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.4?rev=1705059240&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-12T11:34:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.4 Talking to JSON in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.4?rev=1705059240&amp;do=diff</link>
        <description>1.4 Talking to JSON in Python

Working with the JSON module in Python

Now that we&#039;re familiar with JSON essentials, it&#039;s time to learn how to use it with Python. We&#039;re a little worried you may think that we want you to laboriously build JSON messages, fretting over all these brackets, parentheses and colons, and to break down complex JSON lines into prime factors. Nothing could be further from the truth! We’re not in the habit of coming up with such crazy ideas, although, to be honest, it&#039;s not…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:5.1?rev=1709555915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T12:38:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>5.1 The configparser module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:5.1?rev=1709555915&amp;do=diff</link>
        <description>5.1 The configparser module

Introduction to the configparser module

Currently, many popular services provide an API that we can use in our applications. Integration with these services requires authentication using data such as a login and password, or simply an access token.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:directivas?rev=1581288362&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-09T22:46:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: directivas y personalización</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:directivas?rev=1581288362&amp;do=diff</link>
        <description>angular: directivas y personalización

	*  componentes
		*  directivas con plantilla asociada
		*  son del tipo más común

	*  directivas de atributos
		*  cambian la apariencia o el comportamiento de un elemento, componente u otra directiva
		*  se usan como atributos de los elementos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:modulos?rev=1580061369&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T17:56:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: módulos</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:modulos?rev=1580061369&amp;do=diff</link>
        <description>angular: módulos

	*  PPT: 3.3

	*  modulos
	*  se define:
		*  componentes, servicios, pipes
		*  que puede ser accesible (visible) desde otros módulos
		*  lo que el módulo requiere de otros
		*  src/app/app.module.ts: 
			*  imports:
				*  BrowserModule: permite ejecución en un navegador</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:pandas?rev=1728569657&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-10T14:14:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Pandas</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:pandas?rev=1728569657&amp;do=diff</link>
        <description>Python Pandas

	*  
pip3 install pandas

	*  soporte para excel: 
pip3.9 install openpyxl # needed to load Excel .xlsx files
pip3.9 install xlrd # needed to load Excel old .xls files)



	*  Estilos: &lt;https://docs.bokeh.org/en/latest/docs/user_guide/styling/plots.html#ug-styling-plots&gt;
	*  datos: &lt;https://pythonhow.com/media/data/supermarkets.json&gt;

varios

importar en dataframe

	*  pandas.read_csv(&#039;data.txt&#039;,header=None)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-05T06:10:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comandos bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff</link>
        <description>comandos bash

linux bash

comandos al detalle

	*  uptime
	*  tail [-n &lt;nn&gt;]
	*  head [-n &lt;nn&gt;]
	*  sort
	*  watch
	*  wc : wordcount
		*  -c : caracteres
		*  -l : líneas
		*  -w : palabras

	*  tr : translate characters (sustitución cadenas sobre la entrada estandard. Uso com filtro en scripts)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:backupselectivo?rev=1576005342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-10T19:15:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup selectivo</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backupselectivo?rev=1576005342&amp;do=diff</link>
        <description>backup selectivo

pendiente wiki
RASP-HOLE
&lt;https://stackoverflow.com/questions/8033857/tar-archiving-that-takes-input-from-a-list-of-files&gt;

&lt;https://stackoverflow.com/questions/984204/shell-command-to-tar-directory-excluding-certain-files-folders&gt;


#! /bin/bash

PATH_LOCAL=/home/pi/backup

#tar vczf ${PATH_LOCAL}/pihole-raspi.tar.gz --files-from ${PATH_LOCAL}/files.txt --exclude-tag-all=.nobackup -X ${PATH_LOCAL}/exclude.txt
tar vczf ${PATH_LOCAL}/pihole-raspi.tar.gz --files-from ${PATH_LOCAL…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero .ssh/config</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff</link>
        <description>fichero .ssh/config

linux ssh

man page

fichero configuración conexión

para simplificar la conexión vía SSH con diferentes servidores, y en alternativa a crear alias de conexiones:

alias ssh-local-dns=&#039;ssh -v -i /home/mate/.ssh/pi@raspberry pi@192.168.1.60&#039;

se puede optar por crear el fichero de configuración de conexión (</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-19T08:02:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>find - fd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff</link>
        <description>find - fd

&lt;https://github.com/sharkdp/fd&gt;

install


sudo apt install fd-find
sudo ln -s /usr/lib/cargo/bin/fd /usr/local/bin/fd


regexp

&lt;https://docs.rs/regex/latest/regex/#syntax&gt;

	*  por defecto
	*  ^: empieza
	*  $: acaba
	*  buscar -:
fd -- &#039;-pattern&#039;
fd &#039;[-]pattern&#039;


parámetros

	*  --ignore-case
		*  por defecto: todo minúsculas, no distingue. Si alguna mayúscula, distingue.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-07T22:25:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vim</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff</link>
        <description>vim



linux

/vía: &lt;https://www.catswhocode.com/blog/vim-cheat-sheet-for-2016&gt;

/vía:&lt;http://www.catswhocode.com/blog/130-essential-vim-commands&gt;

info

	*  .vimrc
	*  1 al día por mlechon

Plugins/extensiones/personalización
&lt;https://kadekillary.work/post/statusline/&gt;&lt;https://gist.github.com/millermedeiros/1262085&gt;
	*  gestión/instalación plugins en sus propios directorios (runtimepath): &lt;https://github.com/tpope/vim-pathogen&gt;
		*  crear dos directorios: ~/.vim/autoload (ubicación vim-pathogen…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-22T15:36:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff</link>
        <description>ZSH

	*  ZSH install
	*  &lt;http://zsh.sourceforge.net/&gt;
	*  introducción:
		*  &lt;https://linuxconfig.org/learn-the-basics-of-the-zsh-shell&gt;
		*  &lt;http://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/&gt;


+ características

	*  ZSH features
	*  oh-my-zsh
	*  ZSH TAB Expansion
	*  ZSH Globbing (extended)
	*  ZSH expansion modifiers
	*  ZSH Parameter Expansion Flags
	*  ZSH zmv
	*  ZSH modules
	*  ZSH prompt

curiosidades

	*  src: recarga entorno (plugin)
	*  take : fun…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:wordpress:seguridad?rev=1761117348&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-22T07:15:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WordPress, webinar seguridad</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:wordpress:seguridad?rev=1761117348&amp;do=diff</link>
        <description>WordPress, webinar seguridad

	*  Nominalia: &lt;https://www.escueladeinternet.com/&gt;
	*  &lt;https://www.escueladeinternet.com/seguridad-wordpress-hackeo&gt;

vulnerabilidades

	*  en themes o plugins
	*  en núcleo WP
	*  PHP -&gt; versión &gt; 8.1
	*  robo credenciales/suplantación
	*  fugas de información (logs de error que exponen información sensible)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap2?rev=1544811667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-14T18:21:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 2 : The MongoDB Query Language + Atlas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap2?rev=1544811667&amp;do=diff</link>
        <description>Chapter 2 : The MongoDB Query Language + Atlas

CRUD

	*  Create
	*  Read
	*  Update
	*  Delete

Installing the mongo Shell

Compass no cobre toda las opciones que da MongoDB

windows

	*  download center
	*  instalar MongoDB Server versión enterprise (soporte</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s3?rev=1646847691&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:41:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 3 (2022-02-16) Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s3?rev=1646847691&amp;do=diff</link>
        <description>DevOps Sesión 3 (2022-02-16) Docker

Documentación relacionada

	*  1-Despliegue de Aplicaciones Docker
	*  ./1-Curso Alumnos Docker.pdf, pag. 147
	*  ./Docker-Resumen/Laboratorio docker redes wp+mysql.txt
	*  ./1-Curso Alumnos Docker.pdf, pag. 164</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache1?rev=1421449851&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T23:10:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero apache conf1</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache1?rev=1421449851&amp;do=diff</link>
        <description>fichero apache conf1


&lt;VirtualHost *:80&gt;
	RewriteEngine on
	RewriteCond %{SERVER_PORT} =80
	RewriteRule ^(.*) https://%{SERVER_NAME}%{REQUEST_URI}
&lt;/VirtualHost&gt;

&lt;VirtualHost *:443&gt;
	ServerAdmin webmaster@localhost
 
	SSLEngine on
	SSLOptions +StdEnvVars +ExportCertData
#	SSLCertificateFile /etc/apache2/apache.pem
	SSLCertificateFile /etc/apache2/certificados/Servidor_certificado.crt
	SSLCertificateKeyFile /etc/apache2/certificados/Servidor_privada.key
	SSLCACertificateFile /etc/apache2/certif…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:excepciones?rev=1656618866&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-30T19:54:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 2 (Intermedio): Excepciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:excepciones?rev=1656618866&amp;do=diff</link>
        <description>Módulo 2 (Intermedio): Excepciones

Errores, fallas y otras plagas

Cualquier cosa que pueda salir mal, saldrá mal.

Esta es la ley de Murphy, y funciona en todo y siempre. Si la ejecución del código puede salir mal, lo hará.

import math

x = float(input(&quot;Ingresa x: &quot;))
y = math.sqrt(x)

print(&quot;La raíz cuadrada de&quot;, x, &quot;es igual a&quot;, y)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.2?rev=1699216324&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.2 Working with class and instance data – instance variables</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.2?rev=1699216324&amp;do=diff</link>
        <description>1.2 Working with class and instance data – instance variables

Instance variables

This kind of variable exists when and only when it is explicitly created and added to an object. This can be done during the object&#039;s initialization, performed by the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.3?rev=1699216373&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.3 Extended function argument syntax</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.3?rev=1699216373&amp;do=diff</link>
        <description>2.3 Extended function argument syntax

When we talk about function arguments, we should recall the following facts:

	*  some functions can be invoked without arguments;
	*  functions may require a specific number of arguments with no exclusions; we have to pass a required number of arguments in an imposed order to follow function definition;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.5?rev=1699216406&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.5 Different faces of Python methods</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.5?rev=1699216406&amp;do=diff</link>
        <description>2.5 Different faces of Python methods

Until now, we’ve been implementing methods that have performed operations on the instances (objects), and in particular the attributes of the instance, so we’ve called them instance methods.

The instance methods, as the first parameter, take the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.1?rev=1703790579&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T19:09:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 A small lexicon of widgets - Part 1</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.1?rev=1703790579&amp;do=diff</link>
        <description>2.1 A small lexicon of widgets - Part 1

A small lexicon of widgets

Now we’re ready to present a systematized set of some of the tkinter widgets. We aren’t able to describe all of them, however – it would bloat our course to an unmanageable size. We’re convinced that our collection is large enough to make you familiar with</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.3?rev=1705056974&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-12T10:56:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.3 JSON – our new friend</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.3?rev=1705056974&amp;do=diff</link>
        <description>1.3 JSON – our new friend

Do you sometimes feel that coping with IT issues is a continuous struggle with acronyms? Well, you’re not alone. We share this opinion. An old anecdote says that computer technology development is in fact based on TLA. What is TLA? It&#039;s simple – it&#039;s a Three-Letter Acronym. Close your eyes, strain your mind and try to recall five acronyms commonly used in the IT world.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:2.1?rev=1705687171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-19T17:59:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 Python Professional Course Series: Lab &amp; Assessment</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:2.1?rev=1705687171&amp;do=diff</link>
        <description>2.1 Python Professional Course Series: Lab &amp; Assessment

Working with RESTful APIs: Lab &amp; Assessment

Well done, you&#039;ve reached the end of the course!

In this section, it&#039;s time to translate your Python skills and everything you&#039;ve learned about RESTful APIs into some real-world projects. Specifically, we&#039;ll ask you to create:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:utilidades?rev=1537865996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T08:59:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>utilidades</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:utilidades?rev=1537865996&amp;do=diff</link>
        <description>utilidades

3:32 Comando Utilidades (I)

ejecución de comandos en el nodo remoto

	*  command
	*  expect : ejecuta un comando y responde a la introducción de dataos
	*  raw : envía comandos sin filtrar por SSH
	*  script : transfiere y ejecuta un script</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:postgresql:sql?rev=1635245659&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-26T10:54:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQL (PostgreSQL)</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:postgresql:sql?rev=1635245659&amp;do=diff</link>
        <description>SQL (PostgreSQL)

SELECT version();&lt;/sql&gt;
&lt;code sql&gt;select * from «pg_user»;

CREATE USER nombre_usuario WITH password ‘123456&#039;;

DROP USER nombre_usuario;

ALTER USER usertochange WITH password ‘new_passwd’;

ALTER USER mysuper WITH SUPERUSER;
ALTER USER mysuper WITH SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN REPLICATION;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:argparse?rev=1758873920&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-26T08:05:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python argparse</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:argparse?rev=1758873920&amp;do=diff</link>
        <description>Python argparse

	*  &lt;https://ellibrodepython.com/python-argparse&gt;

argparse

	*  o = argparse.ArgumentParser:
		*  description: se muestra en la ayuda del programa
		*  prefix_chars: cambia el prefijo de los argumentos
		*  fromfile_prefix_chars: establece el prefijo para importar un archivo que contiene los argumentos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:decorators?rev=1726469312&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-16T06:48:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python decoradores</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:decorators?rev=1726469312&amp;do=diff</link>
        <description>Python decoradores

/via: &lt;https://medium.com/@LuisMBaezCo/decoradores-con-clases-y-funciones-en-python-2fafb22dba43&gt;

	*  &lt;https://codigofacilito.com/articulos/decoradores-python&gt;

Decorador mediante una función


def decorator(func):
  print(&quot;Decorator&quot;)
  return func

@decorator
def Hello():
  print(&quot;Hello World&quot;)

Hello() 
# [Output]:
# Decorator
# Hello World


Decorador mediante dos funciones</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:braceexpansion?rev=1590273451&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-23T22:37:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>brace expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:braceexpansion?rev=1590273451&amp;do=diff</link>
        <description>brace expansion
&lt;http://wiki.bash-hackers.org/syntax/expansion/brace&gt;

{string1,string2,...,stringN}
{&lt;START&gt;..&lt;END&gt;}

{&lt;START&gt;..&lt;END&gt;..&lt;INCR&gt;} (Bash 4)

&lt;PREAMBLE&gt;{........}

{........}&lt;POSTSCRIPT&gt;

&lt;PREAMBLE&gt;{........}&lt;POSTSCRIPT&gt;


Brace expansion is used to generate arbitrary strings. The specified strings are used to generate</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-26T22:51:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>curl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff</link>
        <description>curl

	*  &lt;https://curl.haxx.se/&gt; -&gt; 
	*  curl api rest test: &lt;https://www.baeldung.com/curl-rest&gt;
	*  protocolos: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET y TFTP

parámetros

	*  -o &lt;nombre&gt;: guarda el archivo con el nombre especificado</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-04T11:09:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux udisks</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff</link>
        <description>linux udisks

	*  lsblk: dispositivos conectados
		*  -a: más información (incluido major:minor)
		*  -d: no muestra información de los «esclavos» o holder devices (particiones)
		*  -i: usa caracteres ASCII para las representaciones de árbol (mejor copy&amp;paste)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T08:32:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mis ficheros $HOME</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff</link>
        <description>mis ficheros $HOME

.bash_profile


# ~/.bash_profile: executed by bash(1) for login shells.

# quita el permiso de excritura al others
umask 002

#prompt por defecto
PS1=&#039;[\h]$ &#039;

# prompt de color en 2 lineas
if [ -f &quot;.prompt&quot; ]; then
  export PS1=`cat .prompt`
fi

if [ -f &quot;.bashrc&quot; ]; then
  source ~/.bashrc
fi

# variables de entorno
export EDITOR=&quot;vim&quot;
export LANG=en_US.ISO-8859-15

# echo &quot;&gt; .bash_profile&quot;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:rsync?rev=1321351182&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-15T09:59:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsync.sh</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:rsync?rev=1321351182&amp;do=diff</link>
        <description>rsync.sh


#!/bin/bash
#
# parametros RSYNC
#   - r == recursive
#   - p == preserve permisions
#   - t == preserve times
#   - q == supress non-error messages
#   - o == preserve owner
#   - g == preserve group
#   - L == copy-links
#   - v == verbose

RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
KEY=/root/.ssh/rsa_192.168.3.199
RUSER=backup
RHOST=192.168.3.199
RPATH=/home/backup
LPATH=/home/backups/wardog.eurorscg.es
TITLE=&quot;to_be_changed&quot;
DATE=`eval date +%y%m%d`

# $RSYNC -az -e &quot;$SSH -i $KEY&quot; $RUSE…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:sadservers?rev=1716904318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-28T13:51:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux sadservers</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:sadservers?rev=1716904318&amp;do=diff</link>
        <description>Linux sadservers

&quot;Saint John&quot;: what is writing to this log file?

	*  ps auxf
	*  lsof /path/to/file
	*  fuser /path/to/file
	*  pwdx PID: pwd del fichero PID


1. You can use ps to list all processes and see if you see something related, for example with: ps auxf. Ignore system processes [in brackets].

A better way is to use the command to list open files: lsof.

2. Find the name (first column) and Process ID (PID, second column) of the process related to /var/log/bad.log by running lsof and …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:backup:borg?rev=1655284776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-15T09:19:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>borgbackup</title>
        <link>https://miguelangel.torresegea.es/wiki/software:backup:borg?rev=1655284776&amp;do=diff</link>
        <description>borgbackup

	*  &lt;https://borgbackup.readthedocs.io/en/stable/index.html&gt;
	*  &lt;https://www.atareao.es/podcast/hice-un-rm-rf-salvado-por-borg/&gt;
	*  alternativa?: &lt;https://restic.readthedocs.io/en/stable/index.html&gt;

quick


sudo mount /media/mate/3TB-EXT4_BACKUP2
sudo borg list /media/mate/3TB-EXT4_BACKUP2/borgbackup/home
sudo borg list /media/mate/3TB-EXT4_BACKUP2/borgbackup/entireDisk

tail -f /media/mate/3TB-EXT4_BACKUP2/borgbackup/entireDisk.last_exec.txt
sudo myscripts/backups/borg-create_ent…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:spf:spf?rev=1763364887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-17T07:34:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPF</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:spf:spf?rev=1763364887&amp;do=diff</link>
        <description>SPF

SPF en realidad es un registro TXT en el DNS para «autorizar» ciertos servidores - vía IP o CNAME - en ese dominio para combatir el SPAM

	&quot; El protocolo SPF (Sender Policy Framework - Marco de políticas del remitente) es la última iniciativa para combatir el spam. Se trata de un protocolo que mediante dos técnicas intenta averiguar si existe una suplantación de identidad en los mensajes recibidos, con sólo examinar sus cabeceras.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T00:27:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker volumes</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff</link>
        <description>docker volumes

/via: &lt;https://docs.docker.com/storage/volumes/&gt;


	*  bind mount: montaje clásico con -v sobre una estructura de directorios
	*  tmpfs mount: almacenar data no persistente
	*  volume:
		*  gestionado desde cli docker
		*  trasversal al OS


--volume o --mount

	*  desde la versión 17.06</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:57:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform state</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff</link>
        <description>Terraform state

comandos

	*  list: lista los recursos del state
	*  show: muestra los detalles de uno de los recursos del state
	*  mv: mueve o renombra un recurso
	*  rm: elimina un recurso
	*  pull: descarga el state de un remoto
	*  push: sube el state desde local al remoto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-20T07:23:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform win-instance</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff</link>
        <description>terraform win-instance

de interés

	*  uso key para recuperar contraseña admin windows
	*  asignación IP privada a dedo
	*  IP pública variable

código


resource &quot;aws_vpc&quot; &quot;my_vpc&quot; {
  cidr_block = &quot;172.16.0.0/16&quot;

  tags = {
    Name = &quot;tf-example&quot;
  }
}

resource &quot;aws_subnet&quot; &quot;my_subnet&quot; {
  vpc_id            = &quot;${aws_vpc.my_vpc.id}&quot;
  cidr_block        = &quot;172.16.10.0/24&quot;
  availability_zone = &quot;${var.az1}&quot;
  map_public_ip_on_launch = true

  tags = {
    Name = &quot;tf-example&quot;
  }
}

resource &quot;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:account:migraralocal?rev=1722081750&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-27T12:02:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows: migrar cuenta microsoft a cuenta local</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:account:migraralocal?rev=1722081750&amp;do=diff</link>
        <description>Windows: migrar cuenta microsoft a cuenta local

	*  Crear disco para restablecer contraseña: &lt;https://support.microsoft.com/es-es/windows/crear-un-disco-para-restablecer-la-contrase%C3%B1a-para-una-cuenta-local-en-windows-9a54a5ca-27bc-de72-244a-27b7d62951de&gt;

original

You can use the Settings app to switch your Microsoft account to a local account.

Important: Microsoft recommends using a Microsoft account, not a local account, when signing in to Windows. Using a Microsoft account in Windows …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:utils:everything?rev=1750069295&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-16T10:21:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>everything</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:utils:everything?rev=1750069295&amp;do=diff</link>
        <description>everything

	*  propiedades: &lt;https://www.voidtools.com/forum/viewtopic.php?f=12&amp;t=10176#dupe&gt;

dupes

/via: &lt;https://www.voidtools.com/forum/viewtopic.php?t=12733&gt;

	*  Right click the size column header and click Find size duplicates.
	*  search bar: dupe:size, dupe:size,sha256
	*  in a search:
		*  Right click a column header and click Find &lt;property&gt; duplicates.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:users:start?rev=1635245521&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-26T10:52:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>manejo de usuarios en MySQL</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:users:start?rev=1635245521&amp;do=diff</link>
        <description>manejo de usuarios en MySQL

bbdd mysql user

para acceder al servidor desde una máquina local


shell&gt; mysql --user=root mysql -p


crear cuentas de usuario

permisos y que implican


# ver usuarios creados
SELECT user,authentication_string,plugin,host FROM mysql.user;

# cambiar root
ALTER USER &#039;root&#039;@&#039;localhost&#039; IDENTIFIED WITH mysql_native_password BY &#039;password&#039;;

# guardar los cambios
FLUSH PRIVILEGES;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:tutorial?rev=1580244758&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:52:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>codeigniter from de scratch</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:tutorial?rev=1580244758&amp;do=diff</link>
        <description>codeigniter from de scratch

&lt;http://net.tutsplus.com/sessions/codeigniter-from-scratch/&gt;

	*  day 2 : Database Selecting Methods
	*  Day 3 : Sending Emails
	*  day 4 : newsletter signup
	*  day 5 : CRUD operations

primer video ejemplo


&lt;?php

class Blog extends CI_Controller {

# si reescribimos el constructor de la clase, invocar al constructor de la clase padre
  public function __construct() {
    parent:__construct();
  }

# se invoca directamente con http://www.ejemplo.com/index.php/blog…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:item-lista:start?rev=1738838353&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-06T10:39:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Item / Lista</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:item-lista:start?rev=1738838353&amp;do=diff</link>
        <description>Item / Lista

ejemplos

delete + log


$oL = new Log(&quot;treballadors_menjador_logs&quot;);
$oL-&gt;seccio=&quot;menjador-delete&quot;;
$oL-&gt;treballador_id=$idU;
		
$oP = new Item(&quot;treballadors_menjador&quot;,&quot;id&quot;,$id);
$oP-&gt;setFields(array(&#039;id&#039;,&#039;id_treballador&#039;,&#039;jornada&#039;,&#039;__CREATESTAMP&#039;));
$oP-&gt;load();
$oP-&gt;setObjLog($oL);
$oL-&gt;txt=sprintf(  &#039;(%s) as (%s)&#039;,implode( &quot;,&quot;,array_keys($oP-&gt;getData()) ),implode( &quot;,&quot;,$oP-&gt;getData() )  );
$oL-&gt;save();
$oP-&gt;delete();</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1?rev=1709549553&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T10:52:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Curso python (PCPP1) PUE 2023</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1?rev=1709549553&amp;do=diff</link>
        <description>Curso python (PCPP1) PUE 2023

python

	*  Jordi Ariño
		*  jordi.arino@pue.es
		*  jordiAS2K@gmail.com

	*  Plataforma: EDUBE
	*  Recursos
		*  Referencia:&lt;https://docs.python.org/3/reference/index.html&gt;
		*  Librerías: &lt;https://docs.python.org/3/library/index.html&gt;
		*  funciones built-in: &lt;https://docs.python.org/3/library/functions.html&gt;
		*  PEP8: &lt;https://peps.python.org/pep-0008/&gt;
		*  Paquetes: &lt;https://pypi.org/&gt;


PCPP1 / M1 | Advanced Perspective of Classes and Object-Oriented Program…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbos:rutorrent?rev=1580595855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:24:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación / configuración rutorrent (on premise)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbos:rutorrent?rev=1580595855&amp;do=diff</link>
        <description>instalación / configuración rutorrent (on premise)

	*  descargar en directorio temporal:
		*  svn checkout &lt;http://rutorrent.googlecode.com/svn/trunk/rutorrent&gt;
		*  svn checkout &lt;http://rutorrent.googlecode.com/svn/trunk/plugins&gt;
		*  sustituimos la carpeta plugins dentro del rutorrent por la descargada
		*  copiamos/movemos la carpeta a la raiz del webserver, cambiando permisos y propietario</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-26T05:31:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración/uso screen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff</link>
        <description>configuración/uso screen

install &amp; help

	*  
sudo apt install screen

	*  &lt;https://linuxize.com/post/how-to-use-linux-screen/&gt;
	*  &lt;https://www.gnu.org/software/screen/manual/screen.html&gt;
	*  versión moderna TMUX: &lt;https://www.howtogeek.com/671422/how-to-use-tmux-on-linux-and-why-its-better-than-screen/&gt;

comando

	*  screeen -ls: lista sesiones
	*  screen -r [&lt;sesion&gt;] : retornar a última sesión o a sesión específica
	*  screen -S &lt;nombre&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-27T11:20:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zsh-autoenv</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff</link>
        <description>zsh-autoenv

/via: &lt;https://github.com/Tarrasch/zsh-autoenv&gt;

configuration

	*  AUTOENV_FILE_ENTER: Name of the file to look for when entering directories. Default: .autoenv.zsh
	*  AUTOENV_FILE_LEAVE: Name of the file to look for when leaving directories. Requires AUTOENV_HANDLE_LEAVE=1.Default: .autoenv_leave.zsh</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:onbuild?rev=1531414008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-12T16:46:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>onbuild</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:onbuild?rev=1531414008&amp;do=diff</link>
        <description>onbuild

se antepone el comando ONBUILD delante de los otros comandos, y al usar la imagen generada de esta manera, esos comandos marcados con ONBUILD se ejecutan en la imagen extendida (es como una «plantilla») -&gt; facilita a los usuarios (que no generedores) de Docker el trabajo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap3?rev=1544897816&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-15T18:16:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 3: Deeper Dive on the MongoDB Query Language</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap3?rev=1544897816&amp;do=diff</link>
        <description>Chapter 3: Deeper Dive on the MongoDB Query Language

comparison query operators

extras

	*  &lt;https://docs.mongodb.com/manual/reference/operator/query/&gt;
	*  &lt;https://docs.mongodb.com/manual/reference/operator/query-comparison/&gt;
	*  

operators

	*  $eq, $ne : igual y no-igual
	*  $gt, $gte : mayor y mayor-igual
	*  $lt, $lte : menor y menor-igual
	*  $in, $nin : en array y no-en array</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion8?rev=1586354266&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-08T13:57:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 8 : kubernetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion8?rev=1586354266&amp;do=diff</link>
        <description>Sesión 8 : kubernetes

devops cursos k8s

katacoda

	*  &lt;https://www.katacoda.com/&gt;
	*  CoreDNS : DNS simple para trabajar como editando /etc/hosts y lo que no, a google

kubernetes

	*  master
		*  todo a través de la API
		*  etcd (lo que más se muere en entorno multimaster)
			*  en algunos casos pierde la coherencia, no se replica, hay que borrar los ficheros de etcd del nodo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion12?rev=1586354361&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-08T13:59:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 12 : k8s (traefik)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion12?rev=1586354361&amp;do=diff</link>
        <description>Sesión 12 : k8s (traefik)

devops cursos k8s

k8s

lab (traefik)

	*  traefik como ingress controller:

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: traefik-ingress-controller
rules:
  - apiGroups:
      - &quot;&quot;
    resources:
      - services
      - endpoints
      - secrets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
    resources:
      - ingresses
    verbs:
      - get
      - list
      - watch
---
kind: Cluster…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s13?rev=1648069358&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-23T21:02:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 13 (2022-03-23) Ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s13?rev=1648069358&amp;do=diff</link>
        <description>DevOps Sesión 13 (2022-03-23) Ansible

Documentación relacionada

	*  ./4-Topic 704 Configuration Management
	*  ./Material Curso Ansible/Curso Ansible 2020.pdf

variables

	*  ./Material Curso Ansible/Curso Ansible 2020.pdf pag 71
	*  ./Material Curso Ansible/Clase Ansible variables basicas .txt</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:entorno?rev=1585438356&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T23:32:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform, entorno de trabajo</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:entorno?rev=1585438356&amp;do=diff</link>
        <description>Terraform, entorno de trabajo

instalación

visual studio code

	*  plugins:
		*  terraform


go

	*  Terraform está desarrollado en GO
	*  &lt;https://golang.org/&gt;
	*  &lt;https://golang.org/doc/code.html&gt;

terraform

	*  &lt;https://terraform.io&gt;

Laboratorio

	*  
	*  &lt;https://github.com/hashicorp/terraform/tree/master/examples&gt;
	*  provider: 
		*  para obviar costes, crear VM o contenedor con servidor BBDD</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache2?rev=1421449820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T23:10:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero apache conf2</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache2?rev=1421449820&amp;do=diff</link>
        <description>fichero apache conf2


&lt;VirtualHost *:80&gt;
ServerAdmin webmaster@localhost
 
DocumentRoot /var/www/
&lt;Directory /&gt;
Options FollowSymLinks
AllowOverride All
&lt;/Directory&gt;
&lt;Directory /var/www/&gt;
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
&lt;/Directory&gt;
 
ErrorLog /var/log/apache2/error.log
 
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
 
CustomLog /var/log/apache2/access.log combined
 
&lt;Location /rutor…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:excepciones?rev=1655834352&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-21T17:59:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 4: Excepciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:excepciones?rev=1655834352&amp;do=diff</link>
        <description>Modulo 4: Excepciones

Excepciones

El lidiar con errores de programación tiene (al menos) dos partes. La primera es cuando te metes en problemas porque tu código, aparentemente correcto, se alimenta con datos incorrectos. Por ejemplo, esperas que se ingrese al código un valor entero, pero tu usuario descuidado ingresa algunas letras al azar.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:herencia?rev=1657049370&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:29:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3: Programación Orientada a Objetos - Herencia</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:herencia?rev=1657049370&amp;do=diff</link>
        <description>Módulo 3: Programación Orientada a Objetos - Herencia

Herencia: ¿por qué y cómo?

Antes de comenzar a hablar sobre la herencia, queremos presentar un nuevo y práctico mecanismo utilizado por las clases y los objetos de Python: es la forma en que el objeto puede presentarse a si mismo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:lab9?rev=1740124796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:59:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 09: Social Engineering</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:lab9?rev=1740124796&amp;do=diff</link>
        <description>Lab Module 09: Social Engineering

Lab 1: Perform Social Engineering using Various Techniques

Task 1: Sniff Credentials using the Social-Engineer Toolkit (SET)

	*   setoolkit to launch Social-Engineer Toolkit.
	*  
	*  
	*  
	*  
	*  IP máquina host</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab19?rev=1740138058&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T11:40:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 19 Cloud Computing</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab19?rev=1740138058&amp;do=diff</link>
        <description>Lab Module 19 Cloud Computing

Lab 1: Perform Reconnaissance on Azure

As an ethical hacker, you need to know how to utilize PowerShell command-based scripting tools for conducting reconnaissance and gathering information. This information can then be used to assess the security posture of other systems within the network.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.1?rev=1699216302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:31:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 Classes, Instances, Attributes, Methods — introduction</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.1?rev=1699216302&amp;do=diff</link>
        <description>1.1 Classes, Instances, Attributes, Methods — introduction

Introduction to Object-Oriented Programming

This module addresses the advanced Object Oriented Programming (OOP) issues that are at the heart of Python programming.

The object-oriented approach is an evolution of good design practices that go back to the very beginning of computer programming.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.1?rev=1699216475&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1 Shallow and deep copy operations</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.1?rev=1699216475&amp;do=diff</link>
        <description>4.1 Shallow and deep copy operations

Copying objects using shallow and deep operations

In this module, you’ll learn how to copy Python objects. Specifically, you&#039;ll learn about:

	*  object: label vs. identity vs. value;
	*  the id() function and the is operand;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:1.1?rev=1699217111&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:45:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 What is PEP?</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:1.1?rev=1699217111&amp;do=diff</link>
        <description>1.1 What is PEP?

PEP may refer to several things:

	*  football (soccer) fans will definitely associate it with the famous ex-footballer and football manager, Josep Guardiola, whose nickname is (guess what) Pep;
	*  those who have medical jobs will surely think of post-exposure prophylaxis, which in turn has to do with taking preventive medical measures after contact with pathogens;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.4?rev=1703358335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-23T19:05:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.4 Coloring your widgets</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.4?rev=1703358335&amp;do=diff</link>
        <description>1.4 Coloring your widgets

Adding colors

Nearly everything you put inside your windows may be colored. Most widgets have dedicated properties to handle their colors and we will tell you about them while discussing the widgets themselves. Currently, the most important thing is getting to know how the colors are described in</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.5?rev=1703359986&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-23T19:33:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.5 A simple GUI application</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.5?rev=1703359986&amp;do=diff</link>
        <description>1.5 A simple GUI application

Building a GUI application from scratch

Now we&#039;re going to build a very simple and rather useless GUI application. Does that sound weird? Maybe, but the application, when ready, will make you more accustomed to some tkinter</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.9?rev=1703789305&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T18:48:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.9 Looking at variables</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.9?rev=1703789305&amp;do=diff</link>
        <description>1.9 Looking at variables

Variables

To implement some of its functions, Tkinter uses a very special kind of variable called an observable variable. This variable works like a regular variable (i.e., it’s able to store values which are accessible to the outside world) but there is something more – any change of the variable’s state can be</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.5?rev=1703795730&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T20:35:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.5 Working with the Canvas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.5?rev=1703795730&amp;do=diff</link>
        <description>2.5 Working with the Canvas

Canvas

Our last meeting is devoted to the Canvas – a widget that behaves like a... canvas. It’s a flat, rectangular surface that you can cover with drawings, text, frames, and other widgets. Please treat this story as a basic introduction to the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:plugins?rev=1528577721&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-09T20:55:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>plugins</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:plugins?rev=1528577721&amp;do=diff</link>
        <description>plugins

	*  export to TXT : &lt;https://www.dokuwiki.org/plugin:text&gt; -&gt; ?do=export_text
	*  qrcodes
	*  &lt;http://wikidesign.ch/en/plugins&gt;
	*  estadísticas de usuarios: &lt;https://www.dokuwiki.org/plugin:authorstats&gt;
	*  editor ACE : &lt;https://www.dokuwiki.org/plugin:aceeditor&gt;
	*  añade botón para introducir &lt;file&gt;code&lt;/file&gt;: &lt;https://www.dokuwiki.org/plugin:codebutton&gt;
	*  crear botones en el editor «a medida»: &lt;https://www.dokuwiki.org/plugin:codebutton2&gt; &lt;- no instalado
	*  necesario para el ope…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:primeros_pasos?rev=1321351182&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-15T09:59:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>primeros pasos</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:primeros_pasos?rev=1321351182&amp;do=diff</link>
        <description>primeros pasos

&lt;note important&gt;A la hora de hacer un buen seguimiento de control de cambios, los arreglos de texto o composición (poner negritas, corregir un error tipográfico, arreglar una lista que no sale bien) tendrían que marcarse como Minor Chages</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:sql:start?rev=1712309085&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-05T09:24:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQL</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:sql:start?rev=1712309085&amp;do=diff</link>
        <description>SQL

	*  postgresql
	*  SQL Pivot

tablas útiles

	*  provincias
	*  SQLServer: &lt;https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks&gt;

pequeños scripts mysql

	*  buscar registros duplicados
	*  manejo de fechas en mysql
	*  Estado de un servidor mysql
	*  LEFT-JOIN
	*  mysqldump
	*  SQL update campo tabla 1 desde tabla 2

comandos

	*  
SHOW VARIABLES LIKE &quot;%version%&quot;;

	*  actualizar campo de un registro que cumpla criterio de WHERE:
UPDATE &lt;tabla&gt; SET &lt;campo&gt;=&#039;&lt;valor&gt;&#039;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:sql:updatefield2tables?rev=1637185714&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-17T21:48:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQL update campo tabla 1 desde tabla 2</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:sql:updatefield2tables?rev=1637185714&amp;do=diff</link>
        <description>SQL update campo tabla 1 desde tabla 2


select o.__timestamp as IDOrigen,d.__timestamp as IDDestino 
from 10minutos_photos d inner join 10minutos_photos_OLD o on d.id=o.id WHERE d.id &lt; 1000



UPDATE 10minutos_photos d inner join 10minutos_photos_OLD o on d.id=o.id 
SET d.__TIMESTAMP = o.__TIMESTAMP
WHERE d.id &lt; 1000</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:entorno?rev=1579975632&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T18:07:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: entorno</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:entorno?rev=1579975632&amp;do=diff</link>
        <description>angular: entorno

	*  ng mew &lt;PROJECT&gt;
	*   mv &lt;PROJECT&gt; &lt;NEW-NAME-PROJECT&gt;
	*  ng serve: servidor web interno
	*  ng test: pasa test unitarios (ficheros spec)

aplicación angular

	*  ha de constar como mínimo de un modulo, que ha de estar compuesto de al menos 1 componente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:estructura?rev=1580030908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T09:28:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: estructura proyecto</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:estructura?rev=1580030908&amp;do=diff</link>
        <description>angular: estructura proyecto

	*  e2e:
		*  pruebas extremo a extremo, simulación interacción con humano
		*  angular-cli configura este directorio de forma automática

	*  node_modules:
		*  multitud paquetes de ayuda al desarrollo
		*  cuando se genera la aplicación, solo se coge lo estrictamente necesario</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:securizar?rev=1527188647&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T19:04:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>securizar instalación PHP</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:securizar?rev=1527188647&amp;do=diff</link>
        <description>securizar instalación PHP

php

	*  desactivar URL remota para inclusión de ficheros:
allow_url_fopen = Off

	*  registro de variables globales:
register_globals = Off

	*  restringir donde puede leer/escribir PHP: 
open_basedir = /home/cfproyectos

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:bokeh?rev=1728563878&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-10T12:37:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Bokeh</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:bokeh?rev=1728563878&amp;do=diff</link>
        <description>Python Bokeh

	*  
pip3 install bokeh


bokeh ejemplos

más ejemplos en Python Pandas


from bokeh.plotting import figure, output_file, show
 
p=figure(width=500,height=400, tools=&#039;pan&#039;)
 
p.title.text=&quot;Cool Data&quot;
p.title.text_color=&quot;Gray&quot;
p.title.text_font=&quot;times&quot;
p.title.text_font_style=&quot;bold&quot;
p.xaxis.minor_tick_line_color=None
p.yaxis.minor_tick_line_color=None
p.xaxis.axis_label=&quot;Date&quot;
p.yaxis.axis_label=&quot;Intensity&quot;    
 
p.line([1,2,3],[4,5,6])
output_file(&quot;graph.html&quot;)
show(p)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:start?rev=1771488008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T08:00:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PYTHON</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:start?rev=1771488008&amp;do=diff</link>
        <description>PYTHON

development python

doc

	*  Curso python (PCPP1) PUE 2023
	*  Curso python PUE 2022
	*  Curso python udemy

install

best practices

	*  entornos virtuales: Python: Entornos virtuales
	*  paquetes: Python pip
	*  instalar varias versiones python: &lt;https://medium.com/@julgq/instalando-m%C3%BAltiples-versiones-de-python-en-linux-ubuntu-20-04-2-lts-9f163c046cc5&gt;
	*  How to use Python’s py launcher for Windows: &lt;https://www.infoworld.com/article/3617292/how-to-use-pythons-py-launcher-for-wi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:start?rev=1739777466&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-17T07:31:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cursos y formación</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:start?rev=1739777466&amp;do=diff</link>
        <description>cursos y formación

técnicos

devops

	*  k8s essentials
	*  Learning Terraform on Microsoft Azure
	*  HashiCorp Taller de Vault

PUE

	*  Ethical Hacker
	*  DevOps
	*  Curso PUE DevOps 2022
	*  Curso python PUE 2022
		*  python en netacad

	*  Google Cloud Associate Cloud Enginer (234)
	*  Curso python (PCPP1) PUE 2023

IDFO

	*  VMWARE

itformacion

	*  AWS Associate
	*  AWS Certified Developer

altran

	*  git (altran)
	*  docker (altran)

openwebinars

	*  Introducción a Cloud Computing
	*  …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-10T10:03:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>apt-get</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff</link>
        <description>apt-get

apt VS apt-get

	*  &lt;https://itsfoss.com/apt-vs-apt-get-difference/&gt;
	*  &lt;https://itsfoss.com/apt-get-linux-guide/&gt;
	*  &lt;https://itsfoss.com/apt-command-guide/&gt;

sources.list

	*  copia: /usr/share/doc/apt/examples/sources.list
	*  añadir universe y multiverse:
sudo add-apt-repository universe
sudo add-apt-repository multiverse


ignore certificate

Cuando estamos en una versión vieja de algún linux (debian 9 strech en este caso), podemos intentar encontrar la manera de actualizar los c…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-09T11:48:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>arrays bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff</link>
        <description>arrays bash



linux bash pendiente wiki

/via: &lt;http://www.thegeekstuff.com/2010/06/bash-array-tutorial/&gt;
&lt;http://wiki.bash&gt;-hackers.org/syntax/arrays?rev=1534920675&lt;https://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/&gt;
declaración e inicialización


declare -a array=(valor0 &#039;valor uno&#039; &#039;valor dos&#039;)



declare -A array=( [indice1]=valor0 [indice2]=&#039;valor uno&#039; [indice3]=&#039;valor dos&#039;)
# es necesario una versión 4+ de BASH para disponer de Arrays asociativos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-31T09:25:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Estructuras de control y bucles</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff</link>
        <description>Estructuras de control y bucles



comparaciones de cadenas alfanuméricas (Test Operators, Binary Comparison)

	*  cadena1 = cadena2 (también cadena1 == cadena2)
	*  cadena1 != cadena2
	*  cadena1 &lt; cadena2
	*  cadena1 &gt; cadena2
	*  -n cadena1 -&gt; longitud mayor que 0</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:tar?rev=1682592622&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-27T10:50:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tar</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:tar?rev=1682592622&amp;do=diff</link>
        <description>tar

comprimir

	*  tar -czvf &lt;file&gt;.tgz &lt;dir&gt;
	*  dónde:
		*  c : indica comprimir
		*  z : usar gzip como formato de compresión
		*  v : verbose, mostrar información mientras trabaja
		*  f : fichero TAR a crear


descomprimir

	*  tar -xzvf &lt;file&gt;.tgz [fichero o directorio a extraer]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:start?rev=1781084239&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-10T09:37:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian installs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:start?rev=1781084239&amp;do=diff</link>
        <description>debian installs



pendiente wiki

	*  debian 12 &quot;bookworm&quot; + KDE
		*  Debian 12 &quot;bookworm&quot; + Realtek RTL8811AU

	*  debian 10 &quot;Buster&quot;
	*  debian 9 stretch
	*  debian 8 + ISPCONFIG OVH VPS
	*  instalación rápida debian 6 como seedbox
pendiente mirar y documentar webmin
info general

	*  Releases: &lt;https://wiki.debian.org/DebianReleases&gt;
	*  Repositorios: &lt;https://www.debian.org/mirror/list&gt;
	*  apt mirrors: &lt;https://debiansupport.com/mirrors/&gt;
		*  &lt;https://www.debian.org/distrib/archive.es.htm…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-27T15:24:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MasterClass Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff</link>
        <description>MasterClass Docker

docker

info masterclass

ponente: Dani Sanchez  --&gt; docker user 

pass:2...s

docker

info general

3 componentes:

	*  docker daemon
	*  rest api (escuchando en file system) --&gt; nos permite hablar con otros demonios docker (en otras máquinas)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:ddrescue?rev=1755680310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:58:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Recuperación disco, clonación en imagen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:ddrescue?rev=1755680310&amp;do=diff</link>
        <description>Recuperación disco, clonación en imagen

crear imagen con dd

dd if=/dev/sdX of=file.img

crear imagem con ddrescue

	*  en caso de problemas de lectura con dd
	*  instalación: 
sudo apt install gddrescue

	*  uso: 
ddrescue /dev/sdX imagen.img log-file</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-14T17:02:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación moebius (raspberry)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff</link>
        <description>instalación moebius (raspberry)

/vía: &lt;http://www.ubuntumax.com/2013/01/el-home-server-perfecto-con-una.html&gt;

S.O.

	*  descargar IMG y grabar en SD:
		*  &lt;http://downloads.sourceforge.net/project/moebiuslinux/raspberry.stable/moebius.minimal.image.1.0.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmoebiuslinux%2Ffiles%2Fraspberry.stable%2F&amp;ts=1356605621&amp;use_mirror=heanet&gt;
		*  $ dd bs=4M if=moebius.minimal.imagen.1.0.1 of=/dev/sd? ? indica la letra que identifica a nuesrta SD

	*  local…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T10:17:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Copias de seguridad usando RSYNC y SSH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff</link>
        <description>Copias de seguridad usando RSYNC y SSH

Hemos de tener instalados los 2 paquetes, el RSYNC y el SSH, cosa que consideraremos trivial.

Los pasos concretos:

Generar las claves pública/privada:

ssh-keygen

Esto genera en ~/.ssh/ 2 archivos, con el nombre que hayamos especificado, en ese directorio. Uno es la clave privada (NO COMPARTIR) y otra la clave pública (con extesión</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>authorized_keys</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff</link>
        <description>authorized_keys

linux ssh

contiene las claves públicas de los sistemas que permiten la conexión al sistema actualse le pueden añadir restricciones del tipo:

	*  from=«xxx.xxx.xxx.xxx» ssh-dss.... -&gt; restricción por IP
	*  no-pty ssh-dss... -&gt; evita obtener una shell</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteconn?rev=1573039061&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-06T11:17:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conexión remota A-&gt;B-&gt;C con SSH (~/.ssh/config)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:remoteconn?rev=1573039061&amp;do=diff</link>
        <description>Conexión remota A-&gt;B-&gt;C con SSH (~/.ssh/config)

conectar desde A a C (que no es accesible directamente por A) a través de B usando SSH

objetivo

	*  conectamos desde nuestra máquina local a bastion (A)
	*  conectaremos a la máquina C a través de A, según marca la configuración del fichero</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-14T18:20:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>NFS</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff</link>
        <description>NFS

información

	*  &lt;http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-nfs.html&gt;
	*  mount -t nfs nfs_volume local_dir options (se puede omitir -t nfs pq el formato de montaje es exclusivo de este protocolo)
		*  mount -t nfs vlager:/home /users

	*  cat /proc/filesystems -&gt; ha de aparecer «nfs»

puesta en marcha de server/client</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/pentesting:retos:uam2?rev=1514240706&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-12-25T22:25:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UAM #2 (Una al Mes)</title>
        <link>https://miguelangel.torresegea.es/wiki/pentesting:retos:uam2?rev=1514240706&amp;do=diff</link>
        <description>UAM #2 (Una al Mes)

general

	*  &lt;http://34.253.233.243/mission2.php&gt;

herramientas

simular conexión desde otro país

	*  Extensión firefox: Hola VPN &lt;http://hola.org&gt; free
	*  Extensión Chrome: Just Proxy VPN = hide IP + security + unblock (shareware)

extraer datos esteganografia

	*  la imagen descargada:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:jmespath?rev=1584986696&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T18:04:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jmespath</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:jmespath?rev=1584986696&amp;do=diff</link>
        <description>jmespath

	*  manipulación JSON (librerias, cli)
	*  más información:
		*  &lt;https://jmespath.org&gt;
		*  &lt;https://github.com/jmespath/jp&gt;
		*  &lt;https://github.com/jmespath/jp/releases&gt;


instalación

	*  descargar la release deseada
	*  mover ejecutable a directorio en el path
	*  dar permisos de ejecución

uso

	*  &lt;https://jmespath.org/tutorial.html&gt;
	*  &lt;https://jmespath.org/examples.html&gt;

jmespath-terminal</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:twitch-sl?rev=1603726960&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-26T15:42:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>twitch-dl</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:twitch-sl?rev=1603726960&amp;do=diff</link>
        <description>twitch-dl

	*  &lt;https://github.com/ihabunek/twitch-dl&gt;

setup

	*  download from here &lt;https://github.com/ihabunek/twitch-dl/releases/tag/1.12.1&gt;
	*  execute python3 twitch-dl.1.10.2.pyz --help

examples

	*  vídeos del canal LibreLabUCM: python3 twitch-dl.1.12.1.pyz videos LibreLabUCM
	*  descargar uno de los vídeos:
		*  python3 twitch-dl.1.12.1.pyz &lt;ID&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/sotfware:utils:youtube-dl?rev=1623255364&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-06-09T16:16:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>youtube-dl</title>
        <link>https://miguelangel.torresegea.es/wiki/sotfware:utils:youtube-dl?rev=1623255364&amp;do=diff</link>
        <description>youtube-dl

	*  download youtube videos from CLI
	*  &lt;https://github.com/ytdl-org/youtube-dl&gt;
	*  &lt;https://youtube-dl.org/&gt;

install


sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl


config

	*  /etc/youtube-dl.conf
	*  ~/.config/youtube-dl/config</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-17T09:04:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DOCKER</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff</link>
        <description>DOCKER

devops info

related

+info

	*  dockerd
	*  Dockerfile
	*  docker-compose
	*  docker volumes
	*  docker TLS (OLD)
	*  docker daemon TLS
	*  docker context
	*  docker scan
	*  Dev Containers: &lt;https://www.youtube.com/watch?v=DkKs29etRis&gt;
	*  Health Check: &lt;https://atareao.es/podcast/tu-contenedor-docker-podria-estar-muerto-y-tu-sin-enterarte/&gt;

	*  &lt;https://tech.paulcz.net/blog/secure-docker-with-tls/&gt;
	*  &lt;https://gist.github.com/kekru/974e40bb1cd4b947a53cca5ba4b0bbe5&gt;
	*  &lt;https://blog…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:02:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git*</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff</link>
        <description>.git*

git

.gitconfig

	*  ~/.gitconfig:


[alias]
        ck = checkout
        s = status
        l = log --oneline --max-count=10
        ll = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate --numstat
        lg = log --oneline --decorate --graph
        ls = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate
        alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ /
        a = add
        b = branc…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-12T11:50:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git FETCH</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff</link>
        <description>git FETCH

git comando

La respuesta corta es: no recibirás una notificación de sistema (como un mensaje emergente o un aviso sonoro), pero la terminal te dará información visual inmediata si hay algo nuevo.

git fetch es como asomarse a la ventana para ver si ha llegado el correo: descargas la información sobre lo que hay en el servidor, pero no &quot;abres las cartas&quot; (no mezclas los cambios con tu código todavía).</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T08:37:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git repo server</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff</link>
        <description>git repo server

seguridad

protocolos

&lt;https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#The-HTTP/S-Protocol&gt;

	*  local
	*  http(s)
		*  Smart HTTP
		*  Dumb HTTP

	*  ssh
	*  git

ssh

	*  git-shell
		*  usermod -s /usr/bin/git-shell &lt;username&gt;

	*  /etc/ssh/sshd_config:

Match User git
    ForceCommand /usr/bin/git
    AllowTCPForwarding no
    X11Forwarding no</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:00:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git tips</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff</link>
        <description>git tips

git

git fetch VS git pull

	*  git pull = git fetch (+ git checkout) + git merge
	*  modo seguro:
git fetch origin
git log --oneline main..origin/main
git checkout main
git log origin/main
git merge origin/main


	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/git-fetch&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-merge&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/gi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:google:operadores-busqueda?rev=1758784529&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-25T07:15:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Google: operadores de búsqueda</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:google:operadores-busqueda?rev=1758784529&amp;do=diff</link>
        <description>Google: operadores de búsqueda

google

	*  Operadores de búsqueda que puedes usar con Gmail: &lt;https://support.google.com/mail/answer/7190?hl=en&gt;

	*  /via: &lt;https://en.wikipedia.org/wiki/Google_hacking&gt;
	*  /via: &lt;https://www.welivesecurity.com/la-es/2021/07/29/google-hacking-averigua-que-informacion-sobre-ti-o-empresa-aparece-resultados/&gt;
	*  GHDB: &lt;https://www.exploit-db.com/google-hacking-database&gt;
		*  intitle:”webcamXP 5″
		*  intext:”index of” inurl:ftp
		*  “Index of” inurl:phpmyadmin
		…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:31:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform cli</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff</link>
        <description>Terraform cli

básicos

	*  init : Initialize a new or existing Terraform configuration
	*  validate : Validates the Terraform files
	*  plan : Generate and show an execution plan
	*  fmt : Rewrites config files to canonical format
	*  apply : Builds or changes infrastructure</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T09:57:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform modules</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff</link>
        <description>terraform modules

+ info: &lt;https://www.terraform.io/docs/configuration/modules.html&gt;

llamada


module &quot;servers&quot; {
  source = &quot;./app-cluster&quot;

  servers = 5 # input var from module
}


	*  otros meta-argumentos
		*  version
		*  providers: map


accediendo a los outputs de un módulo

	*  declarar outputs con los datos que se quieren compartir desde el módulo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:certificados?rev=1640261109&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-23T12:05:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>certificados de seguridad (apache)</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:certificados?rev=1640261109&amp;do=diff</link>
        <description>certificados de seguridad (apache)

conceptos

	*  .key -&gt; fichero conteniendo clave privada de un certificado
	*  .csr -&gt; fichero de petición para certificar por una entidad certificadora -&gt; Certificate Signing Request
	*  .crt -&gt; fichero firmado por la entidad certificadora, para instalar en el webserver</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:cli?rev=1675931719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-09T08:35:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Línea de Comando con Apache</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:cli?rev=1675931719&amp;do=diff</link>
        <description>Línea de Comando con Apache

apachectl

	*  start/stop -&gt; arrancar y parar daemon (service httpd start/stop/restart)
	*  configtest -&gt; comprobar configuración (/etc/init.d/httpd configtest o apachectl configtest )
	*  graceful -&gt; recargar la configuración en caliente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:letsencrypt?rev=1583322985&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-04T11:56:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>trucos let&#039;s encrypt</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:letsencrypt?rev=1583322985&amp;do=diff</link>
        <description>trucos let&#039;s encrypt

apache + multiple vhosts

	*  hacer transversal el directorio de renovación de certificados:

Alias &quot;/.well-known&quot; &quot;/var/www-internal/well-known&quot;
&lt;Directory /var/www-internal/well-known&gt;
	Satisfy Any
	Allow from all
&lt;/Directory&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:openssl?rev=1638598409&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-04T06:13:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>openssl</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:openssl?rev=1638598409&amp;do=diff</link>
        <description>openssl

	*  Certificados, certificaciones, Entidades de Certificación
	*  &lt;https://www.sslshopper.com/article-most-common-openssl-commands.html&gt;

utils

	*  Remove a passphrase from a private key:
openssl rsa -in privateKey.pem -out newPrivateKey.pem



check

	*  Check a Certificate Signing Request (CSR):
openssl req -text -noout -verify -in CSR.csr


	*  Check a private key:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:w10:wsl?rev=1601650951&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-02T15:02:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WSL (Windows Subsystem for Linux)</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:w10:wsl?rev=1601650951&amp;do=diff</link>
        <description>WSL (Windows Subsystem for Linux)
&lt;https://github.com/microsoft/vscode-docs/blob/master/remote-release-notes/v1_42.md#wsl&gt;
info + setup

	*  &lt;https://docs.microsoft.com/en-us/windows/wsl/about&gt;
	*  &lt;https://docs.microsoft.com/en-us/windows/wsl/install-win10&gt;

install from cli

	*  descarga desde powershell
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing

	*  descarga desde CURL
curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:dupes:start?rev=1527188162&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:56:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>buscar registros duplicados</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:dupes:start?rev=1527188162&amp;do=diff</link>
        <description>buscar registros duplicados

bbdd mysql

con esta sentancia SQL nos encontrará los duplicados de 1 tabla en función del campo que indiquemos.


SELECT id,count(*) AS n
FROM table_name 
GROUP BY id 
HAVING  n &gt; 1</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:leftjoin:start?rev=1527188321&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:58:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LEFT-JOIN</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:leftjoin:start?rev=1527188321&amp;do=diff</link>
        <description>LEFT-JOIN

bbdd mysql


select t1.fecha,t1.dia_semana,t1.tipo,t1.ubicacion,sum(t2.horas) as suma_horas from ct_anyo t1
left join ct_datos t2
on t1.fecha=t2.fecha
where t2.id_usuario=&quot;1&quot; AND year(t1.fecha)=&quot;2014&quot; AND t1.Ubicacion=&quot;Barcelona&quot;
group by t1.fecha</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:match:start?rev=1527187996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:53:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>match, full-text index, tags...</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:match:start?rev=1527187996&amp;do=diff</link>
        <description>match, full-text index, tags...

bbdd mysql


SELECT *
FROM tabla
WHERE MATCH (campo) against (&#039;cadena_busqueda&#039; IN BOOLEAN MODE)


cadena de búsqueda

	*  &#039;aaa bbb&#039; -&gt; busca tag aaa o tag bbb
	*  &#039;+aaa +bbb&#039; -&gt; busca tag aaa y tag bbb
	*  &#039;+aaa bbb&#039; -&gt; busca tag aaa y preferentemente bbb</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:variables:start?rev=1527187883&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:51:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>uso de variables</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:variables:start?rev=1527187883&amp;do=diff</link>
        <description>uso de variables

bbdd mysql


SELECT @variable:=&#039;valor&#039;;
SELECT * FROM @variable;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:java:lib:jaxb?rev=1529401827&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-19T09:50:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Jaxb</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:lib:jaxb?rev=1529401827&amp;do=diff</link>
        <description>Jaxb

java lib

Java XML BindConversión de objetos Java a XML y viceversa usando anotaciones

funcionamiento

trucos

ficheros



enlaces

	*  &lt;https://www.mkyong.com/java/jaxb-hello-world-example/&gt;
	*  &lt;http://blog.bdoughan.com/2010/10/jaxb-and-shared-references-xmlid-and.html&gt;
	*  &lt;http://www.vogella.com/tutorials/JAXB/article.html&gt;
	*  &lt;http://www.vogella.com/tutorials/JavaXML/article.html&gt;
	*  &lt;https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/annotation/package-summary.html&gt;
	*  &lt;htt…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:core?rev=1580244618&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:50:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>core</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:core?rev=1580244618&amp;do=diff</link>
        <description>core

	*  db
		*  &lt;http://codeigniter.com/user_guide/database/active_record.html&gt;
		*  se pueden concatenar: $query = $this-&gt;db-&gt;order_by(campo)-&gt;get(tabla)
		*  $this-&gt;db-&gt;select(&#039;&lt;campo&gt;,&lt;campo&gt;,&lt;campo&gt;&#039;);
		*  $this-&gt;db-&gt;select_max(&#039;&lt;campo&gt;&#039;,&#039;&lt;alias&gt;&#039;);
		*  $this-&gt;db-&gt;select_min(&#039;&lt;campo&gt;&#039;,&#039;&lt;alias&gt;&#039;);
		*  $this</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap5?rev=1590271587&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-23T22:06:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 5: Terraform tips and tricks</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap5?rev=1590271587&amp;do=diff</link>
        <description>Chapter 5: Terraform tips and tricks

loops

count

	*  usage:
resource &quot;blablabla&quot; &quot;blablabla_name&quot; {
count = 3
name  = &quot;bla${count.index}&quot;
}

		*  result: 3 elements ([0],[1],[2]) -&gt; resources array
		*  with length():

variable &quot;bla_names&quot; {
  type    = list(string)
  default = [&quot;bla_green&quot;,&quot;bla_yellow&quot;,&quot;bla_red&quot;] 
}
resource &quot;blablabla&quot; &quot;blablabla_name&quot; {
  count = length(var.bla_names)
  name  = bla_names[count.index]
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent?rev=1580595836&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:23:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración rtorrent(on premise)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent?rev=1580595836&amp;do=diff</link>
        <description>configuración rtorrent(on premise)

	*  instalar subversion: apt-get install subversion
	*  instalar compilador: apt-get instsall make
	*  crear carpeta &#039;source&#039; en &#039;user&#039;
	*  descargar:
		*  svn co &lt;https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable&gt; xmlrpc
			*  svn co &lt;http://svn.code.sf.net/p/xmlrpc-c/code/advanced&gt; xmlrpc-c
			*  svn co &lt;http://svn.code.sf.net/p/xmlrpc-c/code/stable&gt; xmlrpc-c</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent_rutorrent?rev=1608803427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-24T09:50:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rtorrent+rutorrent en contenedor</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent_rutorrent?rev=1608803427&amp;do=diff</link>
        <description>rtorrent+rutorrent en contenedor

instalacion rtorrent+rutorrent

	*  crear estructura de directorios:

mkdir -p data/downloads/completo
mkdir -p data/config


	*  copiar ficheros de configuración (extraidos de propio contenedor y modificados a conveniencia):</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-16T13:50:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instal·lació Linux Server Ubuntu 20.04.3</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff</link>
        <description>Instal·lació Linux Server Ubuntu 20.04.3

recepta

instal·lació

configuració


sudo apt update -y &amp;&amp; sudo apt upgrade -y
sudo apt install -y git vim curl



sudo update-alternatives --config editor # canvi d&#039;editor per defecte
sudo visudo -f /etc/sudoers.d/nopass # %sudo ALL=(ALL:ALL) NOPASSWD:ALL</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso1?rev=1479168183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-15T00:03:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsyslogd (paso 1)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso1?rev=1479168183&amp;do=diff</link>
        <description>rsyslogd (paso 1)

/etc/rsyslogd

para permitir conexiones remotas a nuestro sistema de log, descomentar:


# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514


/var/log</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-22T19:16:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>journalctl-remote</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff</link>
        <description>journalctl-remote

/via: &lt;https://www.digitalocean.com/community/tutorials/how-to-centralize-logs-with-journald-on-ubuntu-20-04-es&gt;

/via: &lt;https://serverfault.com/questions/758244/how-to-configure-systemd-journal-remote&gt;


basico


sudo apt update -y &amp;&amp; sudo apt upgrade -y
sudo apt install systemd-journal-remote


servidor

	*  instalar servicios:

sudo systemctl enable --now systemd-journal-remote.socket
sudo systemctl enable systemd-journal-remote.service

# si ufw
sudo ufw allow in 19532/tcp…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:games:minecraft:start?rev=1586618902&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-11T15:28:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>minecraft</title>
        <link>https://miguelangel.torresegea.es/wiki/software:games:minecraft:start?rev=1586618902&amp;do=diff</link>
        <description>minecraft

standalone

	*  &lt;https://vandal.elespanol.com/guias/guia-minecraft-los-mejores-trucos-y-consejos-2018/los-mejores-trucos-y-comandos-de-minecraft-2018&gt;

server

	*  &lt;https://minecraft-es.gamepedia.com/Server.properties&gt;
	*  &lt;https://www.beastnode.com/portal/knowledgebase/118/Make-Yourself-An-OporOwnerorAdmin.html&gt;
	*  &lt;https://minecraft-es.gamepedia.com/Administrador&gt;
	*  name -&gt; uuid: &lt;https://api.mojang.com/users/profiles/minecraft/&lt;username&gt;&gt;
	*  uuid -&gt; name: &lt;https://api.mojang.co…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-19T15:48:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker-compose casos de uso</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff</link>
        <description>docker-compose casos de uso

docker-compose

mariadb + adminer


version: &#039;3.9&#039;

services:
  db:
    image: mariadb
    ports:
      - &quot;3306:3306&quot;
    volumes:
      - ./data/db:/var/lib/mysql
    env_file:
      - db.env
    container_name: mariadb

  adminer:
    image: adminer
    restart: unless-stopped
    ports:
      - 8080:8080</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day3?rev=1333916873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-08T20:27:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Day 3 : Sending Emails</title>
        <link>https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day3?rev=1333916873&amp;do=diff</link>
        <description>Day 3 : Sending Emails

&lt;http://codeigniter.com/user_guide/libraries/email.html&gt;

	*  datos de conexión:(se puede guardar directamente en /application/config/email.php

$config = array(
    &#039;protocol&#039; =&gt; &#039;smtp&#039;,
    &#039;smtp_host&#039; =&gt; &#039;ssl://smtp.googlemail.com&#039;,
    &#039;smpt_port&#039; =&gt; 465,
    &#039;smtp_user&#039; =&gt; &#039;user&#039;,
    &#039;smtp_pass&#039; =&gt; &#039;pass&#039;
);</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day4?rev=1333919150&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-08T21:05:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>day 4 : newsletter signup</title>
        <link>https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day4?rev=1333919150&amp;do=diff</link>
        <description>day 4 : newsletter signup

&lt;http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-4-newsletter-signup/&gt;

	*  creación de formulario (libreria «form»)
	*  validación de formulario (librería «form_validation»)
	*  uso de $this-&gt;input-&gt;post()</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:alpine?rev=1531410794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-12T15:53:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alpine</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:alpine?rev=1531410794&amp;do=diff</link>
        <description>alpine

instrucciones

	*  usuarios:
RUN addgroup -g 1001 -S dani \
&amp;&amp; adduser -D -S -u 1001 -F -s /sbin/nologin
...



virtual

	*  coger la imagen mínima, instalar lo necesario, realizamos las tareas necesarias y borrar, todo en un RUN (para mantenerlo en la layer)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:contenedores?rev=1582790161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-27T07:56:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>trabajando con contenedores</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:contenedores?rev=1582790161&amp;do=diff</link>
        <description>trabajando con contenedores

	*  docker info
	*  docker ps
		*  -a muestra todos los contenedores

	*  docker run hello-world
	*  docker search debian
	*  docker pull debian : si no se especifica, se descarga la latest, que además es la que se va actualizando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion2?rev=1550920329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-23T11:12:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 2: Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion2?rev=1550920329&amp;do=diff</link>
        <description>Sesión 2: Docker

info

	*  &lt;https://es.atlassian.com/software/confluence&gt;
	*  &lt;https://12factor.net&gt;
	*  duffle -&gt; helm
	*  istio.io : securiza la conexión entre PODs

sudo &amp; services

	*  sudoreplay
		*  /var/log/sudo-io

	*  supervisor daemon (levanta varios servicios)

datos

	*  datadog : &lt;https://www.datadoghq.com/&gt;
	*  influx : &lt;https://www.influxdata.com/&gt;

Parallel changes</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion14?rev=1553949660&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-30T12:41:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sesión 14 OpenStack</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion14?rev=1553949660&amp;do=diff</link>
        <description>sesión 14 OpenStack

openstack

intro

	*  &lt;https://wiki.openstack.org/wiki/Main_Page&gt;
	*  Trove : Database as a Service
	*  Zaquar : rabbit openstack + broadcast
	*  Swift : aka S3
		*  opensource S3 (interfaz) : &lt;https://min.io/&gt; -&gt; mockups S3 (aunque funciona como producto por si mismo)


composición



	*  han personalizado los diferentes servicios</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion16?rev=1554617923&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-07T06:18:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 16 prometheus on kubernetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion16?rev=1554617923&amp;do=diff</link>
        <description>Sesión 16 prometheus on kubernetes

	*  &lt;https://linuxhint.com/kubernetes_operator/&gt;

google cloud

	*  gcloud config set compute/zone europe-west1-b &lt;- (&lt;https://cloud.google.com/compute/docs/regions-zones/&gt;)
	*  gcloud container clusters create bootcamp --num-nodes 3 --scopes «&lt;https://www.googleapis.com/auth/projecthosting,storage-rw&gt;»
	*  gcloud container clusters list
	*  en local, con las utilidades G instaladas:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s4?rev=1663569952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-19T06:45:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 4 (2021-02-11) - systemd, journal</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s4?rev=1663569952&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 4 (2021-02-11) - systemd, journal

Curso

	*  Documentación relacionada 202:
		*  Presentaciones/2020/201/202 - Arranque del Sistema.pdf
		*  /Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Resumen Systemd-SystemV.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s8?rev=1614285381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-25T20:36:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 8 (2021-02-25)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s8?rev=1614285381&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 8 (2021-02-25)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-201/6-System Maintenance/
	*  Presentaciones/2020/201/
	*  gdrive://
	*  práctica (fuera de certificación): Material Practicas LPIC-2/LPIC-201/6-System Maintenance/Script para comentar el examen de practica.rar</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:conditionals-state-vm?rev=1586871197&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-14T13:33:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform, conditionals, state and VM</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:conditionals-state-vm?rev=1586871197&amp;do=diff</link>
        <description>Terraform, conditionals, state and VM

azure public ip

	*  public IP = external access to resources
	*  SND
	*  Estáticas/Dinámicas
	*  Acceso a recursos



conditionals




azure Network Security Group

	*  traffic control
		*  like firewall

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old1?rev=1608802462&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-24T09:34:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rtorrent+rutorrent en contenedor (OLD1)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old1?rev=1608802462&amp;do=diff</link>
        <description>rtorrent+rutorrent en contenedor (OLD1)

pasos básicos

	*  montar estructura de carpetas
		*  downloads : ubicación descargas
		*  root : ubicación archivos configuración NGINX/RTORRENT/RUTORRENT modificados

	*  ejecutar docker según script


STORAGE_PATH=/home/user/storage/rtorrent+rutorrent

docker run \
	-dt \
	--name rtorrent-rutorrent \
	--restart unless-stopped \
	-p 80:80 \
	-p 443:443 \
	-p 49160:49160/udp \
	-p 49161:49161 \
	-v ${STORAGE_PATH}/downloads:/downloads \
	-v ${STORAGE_PAT…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:36:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile mariadb + SSL</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff</link>
        <description>Dockerfile mariadb + SSL

dockerfile

Dockerfile


FROM mariadb:latest

ADD --chown=mysql:root ./data/certs/server-key.pem /etc/mysql/certs/server.key
ADD ./data/certs/server-cert.pem /etc/mysql/certs/server.crt
ADD ./data/certs/ca-cert.pem /etc/mysql/certs/CA.crt
ADD ./data/certs/ssl.cnf /etc/mysql/conf.d/ssl.cnf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:cadenas?rev=1656616085&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-30T19:08:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 2 (intermedio): Cadenas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:cadenas?rev=1656616085&amp;do=diff</link>
        <description>Modulo 2 (intermedio): Cadenas

Cómo las computadoras entienden los caracteres individuales

Has escrito algunos programas interesantes desde que comenzó este curso, pero todos ellos han procesado solo un tipo de datos: los numéricos. Como sabes (puedes ver esto en todas partes), muchos datos de la computadora no son números: nombres, apellidos, direcciones, títulos, poemas, documentos científicos, correos electrónicos, sentencias judiciales, confesiones de amor y mucho, mucho más.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:generadores?rev=1657203147&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-07T14:12:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Generadores</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:generadores?rev=1657203147&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Generadores

Generadores, donde encontrarlos

Generador - ¿Con qué asocias esta palabra? Quizás se refiere a algún dispositivo electrónico. O tal vez se refiere a una máquina pesada diseñada para producir energía eléctrica u otra cosa.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-systemd?rev=1740743512&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-28T11:51:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara Extras systemd</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-systemd?rev=1740743512&amp;do=diff</link>
        <description>Apuntes SinCara Extras systemd

Consideraciones iniciales

	*  Se presenta el 30 de abril de 2010, por Lennart Poetterig
	*  SystemD es un sistema de inicio y administración de servicios.
	*  Reemplaza los sistemas de inicio tradicionales como SysV init o Upstart (de Canonical / Ubuntu)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.3?rev=1699216505&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:35:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.3 Making Python objects persistent using the shelve module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.3?rev=1699216505&amp;do=diff</link>
        <description>4.3 Making Python objects persistent using the shelve module

Serialization of Python objects using the shelve module

As you remember, the pickle module is used for serializing objects as a single byte stream. Both serializing and deserializing parties must abide by the order of all the elements placed into a file or database, or sent via a network.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.7?rev=1703765167&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T12:06:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.7 Visiting widgets’ properties</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.7?rev=1703765167&amp;do=diff</link>
        <description>1.7 Visiting widgets’ properties

Widget properties

As you already know, every widget has a set of properties, and the widget’s user is able to change them by modifying the widget’s appearance and behavior. We’ll show you how to manipulate properties and present a basic set of the most usable widget properties.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:4.1?rev=1709555079&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T12:24:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1 Logging in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:4.1?rev=1709555079&amp;do=diff</link>
        <description>4.1 Logging in Python

Logging in Python

The Python Standard Library provides a useful module called logging to log events occurring in the application. Logs are most often used to find the cause of an error. By default, Python and its modules provide many logs informing you of the causes of errors. However, it&#039;s good practice to create your own logs that may be useful to you or other programmers.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:notificaciones?rev=1537866041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T09:00:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>notificaciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:notificaciones?rev=1537866041&amp;do=diff</link>
        <description>notificaciones

3:35 Notificaciones

sistemas de mensajería:

	*  cisco_spark
	*  flowdock
	*  hipchat
	*  irc
	*  jabber
	*  mattermost : tipo slack pero de código abierto
	*  mqt : mensajería IoT
	*  nexmo : SMS
	*  pushbullet : móbiles
	*  pushover : móbiles</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:paquetes?rev=1537865940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T08:59:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gestión de paquetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:paquetes?rev=1537865940&amp;do=diff</link>
        <description>gestión de paquetes

3:29 Gestor Paquetes (I)

para lenguajes de programación:

	*  bower : desarrollo web
	*  bundler : dependencias Ruby Gem
	*  composer : librerias PHP
	*  cpam : gestor módulos Perl
	*  easy_install : gestión módulos / librerias Phyton</description>
    </item>
</rdf:RDF>
