<?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-14T20:02:01+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:python:thinkpython?rev=1654853278&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:datetable:start?rev=1779357548&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: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:angular:directivas?rev=1581288362&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:formularios?rev=1581356727&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:python:argparse?rev=1758873920&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:pycurl?rev=1725268712&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/development:java:tomcat:start?rev=1527241217&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:v4:model?rev=1780907507&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: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: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: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: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: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: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: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: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: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: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: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: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: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: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/development:java:tomcat:start?rev=1527241217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-25T09:40:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tomcat</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:tomcat:start?rev=1527241217&amp;do=diff</link>
        <description>tomcat

tips

	*  permitir acceso desde más IPs que localhost en el manager: &lt;https://salehparsa.github.io/tomcat/security/linux/regex/2016/08/21/Allow-Deny-Access-to-Certain-IP-Address-in-Tomcat.html&gt;</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:v4:model?rev=1780907507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-08T08:31:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CodeIgniter v4 Model</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:v4:model?rev=1780907507&amp;do=diff</link>
        <description>CodeIgniter v4 Model

codeigniter

	*  conexión automática a BDD
	*  métodos CRUD básicos
	*  permite extender de otros modelos

instanciar


// Create a new class manually.
$userModel = new \App\Models\UserModel();

// Create a shared instance of the model.
$userModel = model(&#039;UserModel&#039;);
// or
$userModel = model(&#039;App\Models\UserModel&#039;);
// or
$userModel = model(\App\Models\UserModel::class);

// Create a new class with the model() function.
$userModel = model(&#039;UserModel&#039;, false);

// Create s…</description>
    </item>
</rdf:RDF>
