<?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-18T04:48:20+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:pycurl?rev=1725268712&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/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/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/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/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/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/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: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: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: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/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/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/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/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/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/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>
</rdf:RDF>
