<?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-05-23T20:43:02+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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/development:python:thinkpython?rev=1654853278&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:setup?rev=1580244494&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:mvc?rev=1580244605&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:20200302?rev=1583179491&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:angular:introduccion?rev=1579956588&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:datetable:start?rev=1779357548&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/development:angular:20200309?rev=1583786998&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:markdown:start?rev=1731848297&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:entornos-virtuales?rev=1760012078&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/development:angular:formularios?rev=1581356727&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:config?rev=1580244694&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:python:init_.py?rev=1771502281&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:componentes?rev=1580061301&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:directivas-atributos?rev=1580139244&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/development:encoding:start?rev=1600156269&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:make:start?rev=1602860398&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:maven:start?rev=1574844174&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:conda?rev=1674204511&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:angular:introduccion-typescript?rev=1579975537&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:jerarquia?rev=1580752740&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:angular:practica1?rev=1580158095&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:php:string-formating?rev=1681894928&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:aberraciones?rev=1728466008&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/development:python:strings?rev=1728546797&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:redis:start?rev=1579899837&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/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/development:python:thinkpython?rev=1654853278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T09:27:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>think python</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:thinkpython?rev=1654853278&amp;do=diff</link>
        <description>think python

python

cadenas

	*  inmutables
	*  &lt;string&gt;[char]
		*  -1 : last
		*  -2 : pre-last

	*  &lt;string&gt;[pos1:pos2]
	*  &lt;string&gt;[:pos2], &lt;string&gt;[pos2:],&lt;string&gt;[-pos2:]
	*  &lt;string&gt;.capitalize()
	*  &lt;string&gt;.isupper()
	*  list(cadena) : separa en caracteres</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:setup?rev=1580244494&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:48:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>setup</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:setup?rev=1580244494&amp;do=diff</link>
        <description>setup

	*  descomprimir .zip actual
	*  mover carpetas config y application donde corresponda, fuera del WEBROOT si es posible
	*  copiar el .htaccess
	*  index.php
		*  dejarlo en el WEBROOT
		*  cambiar las variables $system y $application con la nueva ubicación de esas carpetas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:mvc?rev=1580244605&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:50:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MVC y otros...</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:mvc?rev=1580244605&amp;do=diff</link>
        <description>MVC y otros...

models

	*  la clase ha de extender de CI_Model
	*  se carga con $this-&gt;load-&gt;model(&#039;&lt;modelo&gt;&#039;[,&#039;&lt;otro_nombre_instancia&gt;&#039;][,&#039;TRUE&#039;]);
		*  el tercer parámetro obliga a la conectar al cargar el modelo (si está a TRUE)
		*  en lugar de TRUE se le pueden pasar los parámetros de conexión si no se van a utilizar los definidos en</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:20200302?rev=1583179491&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-02T20:04:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>02/03/2020</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:20200302?rev=1583179491&amp;do=diff</link>
        <description>02/03/2020

proyecto: firebase + crud

	*  &lt;https://angular-templates.io/tutorials/about/firebase-authentication-with-angular&gt;
	*  &lt;https://angular-templates.io/tutorials/about/angular-crud-with-firebase&gt;

setup

	*  borrar directorio e2e
		*  eliminar referencias a e2e en package.json y angular.json
		*  actualizar con npm i
		*  instalar un formateador de código: npm i --save-dev prettier
			*  tslint se está deprecando</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:angular:introduccion?rev=1579956588&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T12:49:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introducción e instalación</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:introduccion?rev=1579956588&amp;do=diff</link>
        <description>introducción e instalación

	*  framework de Google JavaScript para front-end
	*  arquitectura MVC
	*  simplicar vida de las SPA
		*  una sola pàgina
		*  carga de datos dinámica asíncrona AJAX

	*  Angular VS AngularJS
		*  hasta la versión 1.7 era AngularJS</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:datetable:start?rev=1779357548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-21T09:59:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Datatables (JS)</title>
        <link>https://miguelangel.torresegea.es/wiki/development:datetable:start?rev=1779357548&amp;do=diff</link>
        <description>Datatables (JS)

	*  &lt;https://datatables.net/download/&gt;

functions

	*  initComplete: &lt;https://datatables.net/reference/option/initComplete&gt;

plugins:

	*  sorting date/time values: &lt;https://datatables.net/plug-ins/sorting/datetime-moment&gt;
	*  formatting date/time: &lt;https://datatables.net/examples/datetime/formatting-moment.html&gt;
		*  &lt;https://momentjs.com/docs/#/displaying/format/&gt;


i18n

	*  &lt;https://datatables.net/plug-ins/i18n/&gt;
	*  català: &lt;https://datatables.net/plug-ins/i18n/Catalan.html…</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/development:angular:20200309?rev=1583786998&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-09T20:49:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>09/03/2020</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:20200309?rev=1583786998&amp;do=diff</link>
        <description>09/03/2020

librerias

	*  creación de librerías (npm install) para reutilizar en más de un proyecto

ng new myAngularLib --create-application=false

	*  un servicio

workspace

	*  nueva metodología de desarrollo de aplicaciones, no se crea la estructura clásica de directorios</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:markdown:start?rev=1731848297&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-17T12:58:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>markdown</title>
        <link>https://miguelangel.torresegea.es/wiki/development:markdown:start?rev=1731848297&amp;do=diff</link>
        <description>markdown

development addendum

	*  tutorial: &lt;https://www.markdowntutorial.com&gt;
	*  tutorial: &lt;https://www.markdownguide.org/&gt;
		*  &lt;https://www.markdownguide.org/cheat-sheet/&gt;

	*  cheat-sheet: &lt;https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet&gt;
	*  online: &lt;https://dillinger.io/&gt;
	*  docker: &lt;https://hub.docker.com/r/joemccann/dillinger&gt;



/vía: &lt;https://daringfireball.net/projects/markdown/syntax&gt;

/vía: &lt;http://desarrollandowebsdinamicas.blogspot.com/2013/03/escribir-archivo…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:entornos-virtuales?rev=1760012078&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-09T12:14:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python: Entornos virtuales</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:entornos-virtuales?rev=1760012078&amp;do=diff</link>
        <description>Python: Entornos virtuales

python

	*  venv
	*  virtualenv
	*  pyenv

Una combinación de pyenv (para gestión de versiones de python) y virtualenv (para encapsular librerias por proyecto) parace una buena solución

virtualenv


python3 -m pip install --upgrade pip
pip3 install virtualenv

which virtualenv
virtualenv -p /home/username/opt/python-3.10.1/bin/python3 venv # crea venv

pip3 install --upgrade setuptools # si error setuptools pip failed with error code 1` error

source venv/bin/activat…</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/development:angular:formularios?rev=1581356727&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-10T17:45:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>formularios</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:formularios?rev=1581356727&amp;do=diff</link>
        <description>formularios

template-driven forms

	*  la plantilla es la responsable de crear los controles, formularios y reglas de validación
	*  sincronización entre la vista y el modelo con el doble enlace (two-way databinding)
		*  si la vista cambia, se actualiza el modelo, y viceversa</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:config?rev=1580244694&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:51:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>config</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:config?rev=1580244694&amp;do=diff</link>
        <description>config

	*  config.php
		*  base_url : la URL que se añade delante de todo
		*  index_page : la página que se abre/busca por defecto, dejar en blanco si se usa .htaccess
		*  global_xss_filtering : para evitar ataques XSS, usando $this-&gt;input-&gt;
		*</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:python:init_.py?rev=1771502281&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T11:58:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>__init__.py</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:init_.py?rev=1771502281&amp;do=diff</link>
        <description>__init__.py

/via: &lt;https://realpython.com/python-init-py/&gt;

general

	*  este fichero marca un directorio como un paquete regular
		*  permite importar todo de golpe o un modulo concreto

	*  permite la importación de módulos
	*  el contenido de ese fichero se ejecuta automaticamente con la primera importación</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:componentes?rev=1580061301&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T17:55:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: componentes</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:componentes?rev=1580061301&amp;do=diff</link>
        <description>angular: componentes

	*  PPT: 3.3 + 3.4 + 3.5

preparativos

	*  uso de bootstrap como framework CSS
		*  añadirlo en package.json y usar npm para su instalación
		*  descargar directamente
		*  uso por CDN

	*  generar nuevo proyecto: 
ng new &lt;PROJECT&gt;

	*</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:directivas-atributos?rev=1580139244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T15:34:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: directivas de atributos</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:directivas-atributos?rev=1580139244&amp;do=diff</link>
        <description>angular: directivas de atributos

ngStyle

	*  cambio de estilo de elementos HTML usando atributos de los componentes
	*  scope de actuación del CSS -&gt; propio del componente, no efecta a otros
	*  añadir/quitar clases CSS según nuestro internés
	*</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/development:encoding:start?rev=1600156269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-15T07:51:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>encoding</title>
        <link>https://miguelangel.torresegea.es/wiki/development:encoding:start?rev=1600156269&amp;do=diff</link>
        <description>encoding

development addendum

beginners

	*  character_set ≡ repertoire: agrupación de caracteres para un propósito
	*  code point ≡ coded character set : representación única de un carácter en un character_set
	*  unicode: agrupación de «todos» los caracteres necesarios para usar en un ordenador, bajo un standard</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:make:start?rev=1602860398&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-16T14:59:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>make</title>
        <link>https://miguelangel.torresegea.es/wiki/development:make:start?rev=1602860398&amp;do=diff</link>
        <description>make


#comentario
all: seccion_uno seccion_dos
seccion_uno:
    @echo &quot;hola mundo&quot;

seccion_dos:
   @touch archivo.txt

clean:
   rm archivo.txt


a destacar:

	*  hace falta poner &lt;TAB&gt; para los comandos a ejecutar
	*  en all: se indica que secciones se han de ejecutar, en este caso seccion_uno y seccion_dos (solo con</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:maven:start?rev=1574844174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-27T08:42:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>maven</title>
        <link>https://miguelangel.torresegea.es/wiki/development:maven:start?rev=1574844174&amp;do=diff</link>
        <description>maven

development addendum

/via: &lt;https://www.adictosaltrabajo.com/tutoriales/maven/&gt;

general

	*  basado en POM
	*  &lt;http://maven.apache.org&gt;
	*  patrones y estándaares
	*  POM : descripción del proyecto, de que se compone -&gt; maven se encargará de hacer
	*  gestión de librerias (incluso transitivas)

arquetipo

	*  ≡ plantilla; estructura de directorios y ficheros</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:conda?rev=1674204511&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-20T08:48:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conda (gestor paquetes miniconda - python)</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:conda?rev=1674204511&amp;do=diff</link>
        <description>Conda (gestor paquetes miniconda - python)

	*  gestión de paquetes
	*  entornos virtuales

comandos

	*  
conda info

	*  
conda --version


entornos

	*  crear:
conda create --name &lt;ENTORNO&gt; python=3.8

	*  cambiar de entorno:
conda activate &lt;ENTORNO&gt;</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:angular:introduccion-typescript?rev=1579975537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T18:05:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introducción a TypeScript y ECMAScript 6 (ES6)</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:introduccion-typescript?rev=1579975537&amp;do=diff</link>
        <description>introducción a TypeScript y ECMAScript 6 (ES6)

	*  uso intensivo en aplicaciones Angular
	*  decoradores = característica experimental en ES6, pero consolidados en Angular
	*  JavaScript tiene tipado débil de tipos, lo que no nos avisa de situaciones que pueden producir errores.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:jerarquia?rev=1580752740&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-03T17:59:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>práctica: jerarquia padre-hijo</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:jerarquia?rev=1580752740&amp;do=diff</link>
        <description>práctica: jerarquia padre-hijo

	*  traspaso de información entre componentes que tienen una relación padre-hijo
	*  envíar al hijo es fácil, del hijo al padre no tanto
	*  entre hermanos del mismo padre, hay que pasar por él, no se pueden hablar entre ellos</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: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: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:php:string-formating?rev=1681894928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-19T09:02:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PHP String formating</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:string-formating?rev=1681894928&amp;do=diff</link>
        <description>PHP String formating

printf

	*  %[parameter][flags][width][.precision][length]type
	*  
&lt;?php

$var1 = &quot;variable1&quot;;
$var2 = &quot;variable2&quot;;
$var3 = &quot;123&quot;;

# ús habitual
$r = sprintf(&quot;%s %s&quot;, $var1, $var2);
var_dump($r);echo &quot;&lt;br&gt;&quot;;

# especificant ubicació dels paràmetres. Atenció cometes simples!
$r = sprintf(&#039;%2$s %1$s %2$s&#039;, $var1, $var2);
var_dump($r);echo &quot;&lt;br&gt;&quot;;

# afegir caracter * fins a 20 caracters totals (alineació dreta)
$r = sprintf(&quot;%&#039;*20s&quot;, $var1);
var_dump($r);echo &quot;&lt;br&gt;&quot;;

# afe…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:aberraciones?rev=1728466008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-09T09:26:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python aberraciones</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:aberraciones?rev=1728466008&amp;do=diff</link>
        <description>Python aberraciones

	*  operador ternario:

variable = &quot;valor&quot; if condicion_cierta() else &quot;otro_valor&quot;


	*  reducciones:
my_numbers = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
even_number_list = [num for num in my_numbers if num%2 == 0]


		*  List Comprehensions

	*</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/development:python:strings?rev=1728546797&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-10T07:53:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python strings</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:strings?rev=1728546797&amp;do=diff</link>
        <description>Python strings

python

comp

	*  Exact match (equality comparison): ==, !=
	*  Partial match: in, not in
	*  Forward/backward match: startswith(), endswith()
	*  Order comparison: &lt;, &lt;=, &gt;, &gt;=
	*  Case-insensitive comparison: upper(), lower()
	*  Regex: re.search(), re.fullmatch()</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:redis:start?rev=1579899837&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-24T21:03:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>redis</title>
        <link>https://miguelangel.torresegea.es/wiki/development:redis:start?rev=1579899837&amp;do=diff</link>
        <description>redis

devops info development

tutorial

	*  set server:name «nombre»
		*  set conexiones 10

	*  get server:name -&gt; nombre
	*  incr conexiones -&gt; 11
		*  operación atómica

	*  del conexiones -&gt; nil
		*  incr conexiones -&gt; 1

	*  expire conexiones &lt;segundos&gt;
		*  una vez expirado, devuelve -2 (-1 es que no tiene expiración)</description>
    </item>
</rdf:RDF>
