<?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-15T18:35:41+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:python:iterables?rev=1759134237&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:php:codeigniter:v4:model?rev=1780907507&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:java:enum?rev=1528192915&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:php:codeigniter:core?rev=1580244618&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:json:start?rev=1585124609&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:jquery:start?rev=1779357605&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:php:codeigniter:v4:entity?rev=1780925307&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:java:regexp?rev=1576250328&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:item-lista:start?rev=1738838353&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:elementos-basicos?rev=1580061344&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:start?rev=1583776642&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:markdown:start?rev=1731848297&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:restful:start?rev=1537954868&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:java:tomcat:start?rev=1527241217&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:laravel:start?rev=1527188754&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:directivas-estructurales?rev=1581288696&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:formularios?rev=1581356727&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:practica1?rev=1580158095&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:php:ini?rev=1527188566&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:pandas?rev=1728569657&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:yaml:start?rev=1534151629&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:java:frameworks:collections?rev=1526807614&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:java:lib:csv?rev=1526807837&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:api-rest?rev=1580245126&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:mvc?rev=1580244605&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: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:python:iterables?rev=1759134237&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-29T08:23:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python iterables</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:iterables?rev=1759134237&amp;do=diff</link>
        <description>Python iterables

python

	*  &lt;https://kinsta.com/es/blog/iterables-de-python/&gt;
	*  &lt;https://ellibrodepython.com/iterator-python&gt;

iterables

even_list = [2, 4, 6, 8, 10]
my_iterator = iter(even_list)
print(next(my_iterator)) # Prints 2
print(next(my_iterator)) # Prints 4
print(next(my_iterator)) # Prints 6


funciones sobre iterables

	*  sum — Devuelve la suma de un iterable dado, siempre que la colección sea de tipos numéricos (enteros, valores de coma flotante y números complejos)</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: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>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:java:enum?rev=1528192915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-05T10:01:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Enum</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:enum?rev=1528192915&amp;do=diff</link>
        <description>Enum

java api

revisar

	*  &lt;https://www.mkyong.com/java/java-enum-example/&gt;

ejemplos

	*  &lt;https://www.mkyong.com/java/java-enum-example/&gt;
	*  &lt;https://beginnersbook.com/2014/09/java-enum-examples/&gt;

simple




simple + campo




simple + campo + lógica




bucle




comparación



comparacion 2



string to enum</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: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/development:json:start?rev=1585124609&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T08:23:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>json</title>
        <link>https://miguelangel.torresegea.es/wiki/development:json:start?rev=1585124609&amp;do=diff</link>
        <description>json

development addendum

install (raspberry)


cd /tmp
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz
tar xfvz jq-1.5.tar.gz
cd jq-1.5
./configure &amp;&amp; make &amp;&amp; sudo make install


tutorials

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

jq (shell)

selección


{
  &quot;ACTION&quot;: &quot;domain.list&quot;,
  &quot;DATA&quot;: [
    {
      &quot;TYPE&quot;: &quot;slave&quot;,
      &quot;AXFR_IPS&quot;: &quot;none&quot;,
      &quot;DOMAIN&quot;: &quot;domain1.com&quot;,
      &quot;TTL_SEC&quot;: 0,
      &quot;SOA_EMAIL&quot;: &quot;&quot;,
      &quot;DOMAINID&quot;: 11111,
      &quot;DESCRIPT…</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:jquery:start?rev=1779357605&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-21T10:00:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jquery</title>
        <link>https://miguelangel.torresegea.es/wiki/development:jquery:start?rev=1779357605&amp;do=diff</link>
        <description>jquery

&lt;https://releases.jquery.com/&gt;

datepicker

fuentes

	*  &lt;https://bootstrap-datepicker.readthedocs.io/en/latest/options.html&gt;
	*  &lt;https://uxsolutions.github.io/bootstrap-datepicker/?#sandbox&gt;
	*  &lt;https://gijgo.com/datepicker/example/bootstrap-4&gt;
	*  &lt;https://stackoverflow.com/questions/25874375/multiple-dates-in-bootstrap-date-picker&gt;

ejemplo


&lt;script&gt;
        $(&#039;#date&#039;).datepicker({
            uiLibrary: &#039;bootstrap4&#039;,
            minDate: &#039;01/01/2020&#039;,
            maxDate: &#039;31/12/2…</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:php:codeigniter:v4:entity?rev=1780925307&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-08T13:28:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CodeIgniter v4 Entity</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:v4:entity?rev=1780925307&amp;do=diff</link>
        <description>CodeIgniter v4 Entity

codeigniter

	*  &lt;https://codeigniter.com/user_guide/models/model.html#save&gt;

crear


namespace App\Entities;

use CodeIgniter\Entity\Entity;

class User extends Entity
{
    // ...
}


usar


namespace App\Models;

use CodeIgniter\Model;

class UserModel extends Model
{
    protected $table         = &#039;users&#039;;
    protected $allowedFields = [
        &#039;username&#039;, &#039;email&#039;, &#039;password&#039;,
    ];
    protected $returnType    = \App\Entities\User::class;
    protected $useTimestam…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:java:regexp?rev=1576250328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-13T15:18:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RegExp</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:regexp?rev=1576250328&amp;do=diff</link>
        <description>RegExp

java api pte

/via: &lt;https://blog.desdelinux.net/con-el-terminal-uso-de-expresiones-regulares/&gt;

básico

	*  . : cualquier caracter (pero solo 1)
	*  * : cualquier ristra de caracteres (desde 0)
	*  ? : cualquier caracter, pero de manera opcional (1 o 0) -&gt; regexp extendidas
	*  [abc] : a || b || c
	*  [^ac] : NO a || NO c
	*  [0-9]</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: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: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: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: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:start?rev=1583776642&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-09T17:57:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ANGULAR</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:start?rev=1583776642&amp;do=diff</link>
        <description>ANGULAR

development

+ info

	*  re-introducción a javascript
	*  introducción a los objetos JavaScript
	*  let
	*  const

curso PUE

temario

	*  ANGULAR
	*  introducción e instalación
	*  introducción a TypeScript y ECMAScript 6 (ES6)
	*  angular: entorno
	*  angular: estructura proyecto
	*  angular: elementos básicos app
	*  angular: componentes
	*  angular: directivas y personalización
	*  angular: directivas estructurales
	*  angular: directivas de atributos
	*  angular: módulos &lt;-PPT 6.3,…</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: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: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:restful:start?rev=1537954868&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-26T09:41:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RESTful</title>
        <link>https://miguelangel.torresegea.es/wiki/development:restful:start?rev=1537954868&amp;do=diff</link>
        <description>RESTful

related

	*  &lt;https://www.idento.es/blog/desarrollo-web/que-es-una-api-rest/&gt;
	*  &lt;https://bbvaopen4u.com/es/actualidad/api-rest-que-es-y-cuales-son-sus-ventajas-en-el-desarrollo-de-proyectos&gt;
	*  &lt;https://desarrolloweb.com/articulos/que-es-rest-caracteristicas-sistemas.html&gt;
		*  &lt;https://desarrolloweb.com/manuales/manual-desarrollo-api.html&gt;

	*  &lt;https://ca.wikipedia.org/wiki/REST&gt;
	*  hateoas: &lt;https://www.adictosaltrabajo.com/tutoriales/spring-hateoas/&gt;

resumen

	*  API REST(ful)
…</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: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:laravel:start?rev=1527188754&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T19:05:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>laravel</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:laravel:start?rev=1527188754&amp;do=diff</link>
        <description>laravel

php

documentación oficial: &lt;http://laravel.com/docs&gt;

primeros pasos

	*  &lt;http://www.cristalab.com/tutoriales/introduccion-a-laravel-c111339l/&gt;
	*  &lt;http://www.cristalab.com/tutoriales/como-instalar-laravel-y-composer-c111363l/&gt;
		*  soporte ficheros phar en dreamhost: &lt;http://wiki.dreamhost.com/ZendFramework_2&gt;
		*  otra info de php en dreamhost: Enlace externo

	*  &lt;http://www.cristalab.com/tutoriales/configurar-base-de-datos-y-crear-tablas-con-laravel-c111394l/&gt;
	*  &lt;http://www.cri…</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:directivas-estructurales?rev=1581288696&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-09T22:51:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: directivas estructurales</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:directivas-estructurales?rev=1581288696&amp;do=diff</link>
        <description>angular: directivas estructurales

	*  PPT 3.7 + 3.8 + 3.9 + 4.1 + 4.2 + 4.3
	*  lógica en capa de presentación (plantilla)
	*  se reconocen por tener * en el nombre
	*  no es necesario fichero HTML
	*  no es un componente

ngIf

	*  elemento que queremos ocultar o mostrar</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: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?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: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: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:php:ini?rev=1527188566&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T19:02:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php.ini</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:ini?rev=1527188566&amp;do=diff</link>
        <description>php.ini

php

opciones

	*  --help
	*  -v : versión
	*  -l : check de sintaxis, sin ejecutar
	*  -i : información del sistema
	*  --ini : muestra ficheros INI en uso y disponibles
	*  -re &lt;extensión&gt; : información sobre una extensión

seguridad

	*</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: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:yaml:start?rev=1534151629&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-13T09:13:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>yaml</title>
        <link>https://miguelangel.torresegea.es/wiki/development:yaml:start?rev=1534151629&amp;do=diff</link>
        <description>yaml

development addendum

&lt;http://yaml.org/&gt;

conceptos básicos

	*  diccionarios: key: value
	*  listas: - item

elastic?

namespacing

	*  output.elasticsearch.index: ... 

output:
  elasticsearch:
    index: &#039;beat-%{[beat.version]}-%{+yyyy.MM.dd}&#039;


	*  filebeat.inputs.0.type: log

filebeat:
  inputs:
    - type: log</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:java:frameworks:collections?rev=1526807614&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-20T09:13:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Framework Collections</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:frameworks:collections?rev=1526807614&amp;do=diff</link>
        <description>Framework Collections

teoria

casos de uso

	*  hacer clase Iterable / Iterator : &lt;https://codereview.stackexchange.com/questions/48109/simple-example-of-an-iterable-and-an-iterator-in-java&gt;

java framework</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:java:lib:csv?rev=1526807837&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-20T09:17:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CSV</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:lib:csv?rev=1526807837&amp;do=diff</link>
        <description>CSV

java lib

librerias

	*  &lt;http://opencsv.sourceforge.net/&gt; : libreria libre
	*  &lt;https://www.univocity.com/pages/parsers-tutorial&gt;  : aportación empresa privada

openCSV

funcionamiento

enlaces

	*  &lt;https://www.mkyong.com/java/how-to-read-and-parse-csv-file-in-java/&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:api-rest?rev=1580245126&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:58:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Restful API</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:api-rest?rev=1580245126&amp;do=diff</link>
        <description>Restful API

tutoriales

	*  &lt;https://www.itsolutionstuff.com/post/codeigniter-3-restful-api-tutorialexample.html&gt;
	*  &lt;https://dev.to/pardip_trivedi/create-a-rest-api-in-codeigniter-with-basic-authentication-1e7f&gt;
	*  &lt;https://www.desarrollolibre.net/blog/codeigniter/como-crear-una-api-rest-con-codeigniter#.XXGE9XX7TmE&gt;
	*  codeigniter-restserver: &lt;https://github.com/chriskacerguis/codeigniter-restserver&gt;
		*  &lt;https://github.com/ivantcholakov/codeigniter-restserver-test&gt;</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>
</rdf:RDF>
