lista de actividades

This commit is contained in:
2025-12-14 02:03:14 +01:00
parent 296a9644c4
commit 845ac5c3aa
3 changed files with 115 additions and 3 deletions

View File

@@ -67,7 +67,7 @@
"state": { "state": {
"type": "search", "type": "search",
"state": { "state": {
"query": "", "query": "path:\"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/\" ",
"matchingCase": false, "matchingCase": false,
"explainSearch": false, "explainSearch": false,
"collapseAll": false, "collapseAll": false,
@@ -238,9 +238,9 @@
}, },
"active": "34eecf2b06cedd2e", "active": "34eecf2b06cedd2e",
"lastOpenFiles": [ "lastOpenFiles": [
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Extra.md", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Extra.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/validador_de_contraseñas.sh~", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/validador_de_contraseñas.sh~",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/test", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/test",
"BDD/SQL/Disparadores.md", "BDD/SQL/Disparadores.md",
"README.md", "README.md",

View File

@@ -158,4 +158,116 @@ resultado=$(validador "$a" )
Bibliografía Web: Bibliografía Web:
- [Conversión de mayúsculas a minúsculas](https://es.stackoverflow.com/questions/346567/cómo-convierto-un-texto-a-mayúsculas-o-minúsculas-en-bash-zsh-o-osx) - [Conversión de mayúsculas a minúsculas](https://es.stackoverflow.com/questions/346567/cómo-convierto-un-texto-a-mayúsculas-o-minúsculas-en-bash-zsh-o-osx)
- - [Using && and || in bash](https://kyleshevlin.com/using-and-and-or-in-bash-scripts/)
- [Bash operators](https://www.w3schools.com/bash/bash_operators.php)
# 3. Normalizador de nombres de archivos
---
Objetivo: Tener un nombre de archivo asqueroso y limpiarlo.
##### Ejemplo de entradas:
```Shell
" Hola Mundo.txt"
"Mi fichero (copia) (1).png"
```
- `normalizar_nombre` - Elimina espacios extra, pasa a minúsculas, reemplazo de espacios con `_`.
# 4. Parser de configuración estilo .ini
---
Objetivo: Procesar una línea. No se toca ficheros en la función pura.
##### Funciones puras:
- `es_comentario`
- `es_seccion`
- `obtener_clave`
- `obtener_valor`
##### Parte impura:
- Leer el archivo línea por línea
- Imprimir errores o configuraciones
Se entrena el patron: *la funcion pura opera en una linea, la impura itera por el fichero*.
# 5. Mini motor de templates
---
Objetivo: Reemplazo de variables del estilo:
```Shell
Hola {{NOMBRE}}
```
##### Funcion pura
- `renderizar_template "$template" "$nombre"`
Debe sustituir `{{NOMBRE}}` por el valor que le pasas.
##### Parte impura:
- Leer `.template`
- Guardar la salida en un fichero final.
Es composicion pura de texto, sin tocar nada externo.
# 6. Filtro de logs
---
Objetivo: Se procesa cada linea para extraer informacion util
##### Funciones puras
- `es_error`
- `extraer_fecha`
- `extraer_mensaje`
- `formato_limpio`
##### Parte impura
- Leer fichero de log gigante
- Guardar resultados filtrados
Procesamiento funcional de toda la vida. Muy util.
# 7. Comparador de versiones
---
Ejemplo:
```Shell
compare_versions "1.2.10" "1.3.1"
```
##### Salida pura:
- `-1` si v1 < `v2`
- `0` si iguales
- `1` si `v1` > `v2`
##### Parte impura
- Nada mas que capturar valores y mostrar los resultados.
Perfecto para practicar manejo de arrays y logica sin tocar sistema.
# 8. Generador de checksums "puro"
---
No se calcula archivos, solo texto.
##### Funciones puras
- `checksum_simple "$texto"` - Ejemplo: suma ASCII mod 10000
- `hash_basico "$texto"`
##### Parte impura
- Leer ficheros desde disco
- Pasar su contenido a la parte pura
Obliga a pensar que es pureza y que no.
# 9. Conversor de fecha
---
Convierte formatos
Entrada:
```shell
2025-12-10
```
Salida de funcion pura:
```shell
10/12/2025
```
##### Impuro
Nada fuera de imprimir resultados
Es un ejemplo simple para disciplina.
# 10. Mini-linter para Bash
---
Suena más grande de lo que es.
##### Funcion pura
- `analizar_linea "$linea"` - Devuelve etiquetas como `"echo esta mal"`, `"mal identado"`, `"ok"`.
###### Funcion impura
- Leer archivo `.sh`
- Contar errores
- Mostrar resumen
Mola detectar mierda en los scripts. Tambien fuerza a separar analisis puro de acciones impuras.