<?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-18T01:22:14+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:jquery:start?rev=1779357605&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:iterables?rev=1759134237&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:php:codeigniter:mvc?rev=1580244605&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:curiosidades?rev=1758268700&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:angular:20200302?rev=1583179491&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:angular:tslint.json?rev=1580060701&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:python:pandas?rev=1728569657&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:redis:start?rev=1579899837&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:php:codeigniter:v4:entity?rev=1780925307&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: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: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: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: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: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: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:python:curiosidades?rev=1758268700&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-19T07:58:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python curiosidades</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:curiosidades?rev=1758268700&amp;do=diff</link>
        <description>Python curiosidades

None, True, False


if result is None:
    print &quot;error parsing stream&quot;
elif result:
    print &quot;result pass&quot;
else:
    print &quot;result fail&quot;



messages = {None: &#039;error&#039;, True: &#039;pass&#039;, False: &#039;fail&#039;}
print messages[result]</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: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: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:angular:tslint.json?rev=1580060701&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T17:45:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tslint.json</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:tslint.json?rev=1580060701&amp;do=diff</link>
        <description>tslint.json

	*  aviso máximo línea superado:
&quot;max-line-length&quot;: [ true, 140 ]</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: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: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: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>
    <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: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>
</rdf:RDF>
