Skip to content

Commit 9379b78

Browse files
committed
Fix some minor errors and missing spaces in titles
1 parent eda721b commit 9379b78

File tree

8 files changed

+52
-66
lines changed

8 files changed

+52
-66
lines changed

Notes/FundamentosDeJavascript/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ El punto y coma es opcional en JavaScript, excepto en algunos casos:
161161
- Cuando usamos varias instrucciones en una mísma línea
162162
- Al comenzar la próxima línea con un array
163163
- Al comenzar la próxima línea con un template string
164+
164165
## ¿Cómo ejecutar una función al cargar un script?
165166

166167
Cuando queremos ejecutar una función una vez que se haya cargado una librería de terceros.

Notes/Kubernetes/index.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ Una buena técnica mnemotécnica para memorizarlo es:
172172

173173
[A]ll [P]eople [S]eems [T]o [N]eed [D]ata [P]rotection
174174

175-
![](../img/arquitectura-de-red.jpg)## 1.6 Declarativo vs imperativo
175+
![](Notes/Kubernetes/img/arquitectura-de-red.jpg)
176+
177+
## 1.6 Declarativo vs imperativo
176178

177179
Kubernetes hace enfasis en ser un sistema declarativo.
178180

Notes/MachineLearningPython/index.md

+16-13
Original file line numberDiff line numberDiff line change
@@ -266,17 +266,17 @@ También podemos usar $R$ para valores númericos.
266266

267267
Implica la agrupación de una serie de datos, que busca encontrar la estructura mediante la asignación de puntos de datos a grupos específicos.
268268

269-
![](../img/k-means.png)
269+
![](Notes/MachineLearningPython/img/k-means.png)
270270

271271
Estos grupos se llaman clusters.
272272

273273
Para hacer esto k-means usa centroides, que representan cada cluster y que, inicialmente, se colocan de manera aleatoria. El objetivo es actualizar la posición de los centroides encontrando la media de los puntos de datos que pertenecen a cada cluster.
274274

275-
![](../img/k-means-avg.png)
275+
![](Notes/MachineLearningPython/img/k-means-avg.png)
276276

277277
El parámetro más importante es el número de clusters, conocido como "k", de ahí el nombre "K-means". Este valor cambia por completo el significado de todo, pues varios puntos de datos pueden moverse de un cluster a otro.
278278

279-
![](../img/k-means-k.png)
279+
![](Notes/MachineLearningPython/img/k-means-k.png)
280280

281281

282282
### Pasos de la regla de actualización
@@ -286,7 +286,7 @@ El parámetro más importante es el número de clusters, conocido como "k", de a
286286
3. Asignar cada punto de datos a un cluster basándonos en la distancia más corta
287287
4. Computar nuevos centroides como promedios del os miembros del cluster.
288288

289-
![](../img/k-means-update.png)
289+
![](Notes/MachineLearningPython/img/k-means-update.png)
290290

291291
### Calcular el rendimiento
292292

@@ -297,7 +297,7 @@ Para evaluar un modelo usaremos una gráfica de elbow (codo), debido a su simila
297297

298298
Lo ideal es encontrar la velocidad de cambio más lenta, el punto de inercia más pequeño antes de que se dispare el número de clusters, es decir, el punto de inflexión
299299

300-
![](../img/k-means-performance.png)
300+
![](Notes/MachineLearningPython/img/k-means-performance.png)
301301

302302
### Función de coste
303303

@@ -338,7 +338,7 @@ Esta funcion es una funci6n de activacion.
338338

339339
Expresadas visualmente así
340340

341-
![](../img/funciones-activacion.jpg)
341+
![](Notes/MachineLearningPython/img/funciones-activacion.jpg)
342342

343343
### Capa de salida
344344

@@ -358,7 +358,7 @@ Las redes neuronales se dividen en estos 3 tipos:
358358
- Convolucionales
359359
- Recurrentes
360360

361-
![](../img/tipos-redes-neuronales.jpg)
361+
![](Notes/MachineLearningPython/img/tipos-redes-neuronales.jpg)
362362

363363
#### DNNS
364364

@@ -382,7 +382,7 @@ Ideal para su uso en lenguaje
382382

383383
El proceso se resume en la siguiente imagen
384384

385-
![](../img/entramiento.jpg)
385+
![](Notes/MachineLearningPython/img/entramiento.jpg)
386386

387387
### Backpropagation
388388

@@ -395,13 +395,15 @@ Se actualizan tomando la derivada parcial, empezando desde la salida hacia atrá
395395

396396
El término se refiere a cuando el método ha memorizado la información de entrenamiento de los datos, pero no ha encontrado el patrón que los predice. El modelo funcionará perfectamente con los datos de entrada, pero fallará con datos nuevos.
397397

398-
![](../img/overfitting.jpg)
398+
![](Notes/MachineLearningPython/img/overfitting.jpg)
399399

400400
### Prevenir overfitting
401401

402402
Una estrategia para prevenir el overfitting es detener el entrenamiento en su mejor punto de predicción.
403403

404-
![](../img/prevenir-overfitting.jpg)## Neuronas
404+
![](Notes/MachineLearningPython/img/prevenir-overfitting.jpg)
405+
406+
## Neuronas
405407

406408
La neurona, también llamado perceptrón está inspirado en las redes neuronales biológicas.
407409

@@ -434,7 +436,7 @@ En redes computacionales, la Función de Activación de un nodo define la salida
434436
- Relu, la más usada. (Valores menores a 0 son 0, si es mayor, deja el valor)
435437
- Softmax, nos da la probabilidad de ciertos outputs
436438

437-
![](../img/funciones-activacion_2.png)
439+
![](Notes/MachineLearningPython/img/funciones-activacion_2.png)
438440

439441
La página [wolframalpha](https://www.wolframalpha.com/) nos permite obtener las fórmulas de las funciones y su comportamiento.## Descenso del gradiente
440442

@@ -443,6 +445,7 @@ El objetivo es disminuir la función de coste respecto a los pesos (weights) de
443445
* Optimizador: me dice como debo actualizar los pesos, para disminuir el error. Hay varios tipos: gradient descent, AdaGrand, AdaDelta, Momentum, Nesterov, ADAM, RMS prop
444446
* Learning rate: magnitud en la actualizacion de los pesos. Muy altos no encuentran un punto mínimo local o global, muy pequeños consumen demasiados recursos.
445447
* Momentum: para evitar caer en mínimos globales hay optimizadores que aplican momentum (como el concepto de física, es el impulso extra que acumulo en la bajada de bajada) como el RMS prop, el cual es una variación del descenso del gradiente más el momentum.
448+
446449
## Funciones de pérdida
447450

448451
La función de pérdida evalúa los valores reales contra la predicción. Un valor alto en la función de pérdida indica que nuestras predicciones son malas. En cambio, un valor bajo de la función de pérdida indica una buena predicción.
@@ -459,7 +462,7 @@ Backpropagation (propagación hacia atrás) es un algoritmo de entrenamiento uti
459462

460463
La propagación hacia atrás se llama así porque el error se propaga a través de la red desde la capa de salida hasta la capa de entrada, de manera inversa al flujo de la información durante la fase de entrenamiento hacia adelante (feedforward). Durante el proceso de entrenamiento, se calcula el error de la salida de la red en función de los valores objetivo, y luego se propagan estos errores hacia atrás a través de la red para actualizar los pesos de las conexiones.
461464

462-
![](../img/backpropagation.jpg)
465+
![](Notes/MachineLearningPython/img/backpropagation.jpg)
463466

464467
### Fundamentos matemáticos del backpropagation
465468

@@ -680,7 +683,7 @@ K-fold validation, también conocida como validación cruzada en k grupos, es un
680683

681684
Cuando se entrena un modelo de aprendizaje automático, es común dividir los datos disponibles en dos conjuntos: uno para entrenamiento y otro para evaluar el rendimiento del modelo. Sin embargo, esta división puede ser problemática si los datos de prueba no son representativos de la distribución de los datos reales o si la partición es aleatoria y los resultados varían con cada partición.
682685

683-
![](../img/k-fold.jpg)
686+
![](Notes/MachineLearningPython/img/k-fold.jpg)
684687

685688
La validación cruzada en k-fold aborda este problema dividiendo los datos en k grupos o pliegues (folds) de tamaño similar. El valor de k se selecciona de antemano y generalmente se elige un número entre 5 y 10. Luego, el modelo se entrena y evalúa k veces, cada vez utilizando un grupo diferente como conjunto de prueba y los restantes como conjunto de entrenamiento.
686689

Notes/Nextjs/index.md

+4-37
Original file line numberDiff line numberDiff line change
@@ -897,21 +897,7 @@ propios estilos CSS.
897897
```
898898
## Autenticación
899899
900-
* [2.1-Autenticación-clásica-y-moderna](<2.1-Autenticación-clásica-y-moderna.md>)
901-
* [2.2-Oauth](<2.2-Oauth.md>)
902-
* [2.3-Patrones-de-autenticación](<2.3-Patrones-de-autenticación.md>)
903-
* [2.4-Servicios-de-autenticación](<2.4-Servicios-de-autenticación.md>)
904-
* [2.5-Nextauth.js](<2.5-Nextauth.js.md>)
905-
* [2.6-Autenticación-manual](<2.6-Autenticación-manual.md>)
906-
* [2.7-Cookies-de-Nextjs](<2.7-Cookies-de-Nextjs.md>)
907-
* [2.8-Objeto-sessión](<2.8-Objeto-sessión.md>)
908-
* [2.9-Cierre-de-sesión](<2.9-Cierre-de-sesión.md>)
909-
* [2.10-Manejando-el-flash-of-unauthenticated](<2.10-Manejando-el-flash-of-unauthenticated.md>)
910-
* [2.11-Autenticando-con-Github](<2.11-Autenticando-con-Github.md>)
911-
* [2.12-JWT](<2.12-JWT.md>)
912-
* [2.13-Protegiendo-rutas-API](<2.13-Protegiendo-rutas-API.md>)
913-
* [2.14-Protegiendo-rutas-en-el-frontend](<2.14-Protegiendo-rutas-en-el-frontend.md>)
914-
* [2.15-Soluciones-basadas-en-Node.js-Passport-Auth0-emails-y-bases-de-datos](<2.15-Soluciones-basadas-en-Node.js-Passport-Auth0-emails-y-bases-de-datos.md>)## 1.1 Autenticación clásica y moderna
900+
### 1.1 Autenticación clásica y moderna
915901
916902
Existen dos modelos de autenticación: clásica y la moderna.
917903
@@ -1473,16 +1459,7 @@ router.query: {"key": "value"}
14731459
```
14741460
## 3.0 Internacionalización
14751461
1476-
* [3.1-i18n](<3.1-i18n.md>)
1477-
* [3.2-Anatomia-de-un-Locale](<3.2-Anatomia-de-un-Locale.md>)
1478-
* [3.3-Arquitectura](<3.3-Arquitectura.md>)
1479-
* [3.4-Estrategias-de-rutas-i18n](<3.4-Estrategias-de-rutas-i18n.md>)
1480-
* [3.5-Configuración-de-locales-en-nextjs.config.js](<3.5-Configuración-de-locales-en-nextjs.config.js.md>)
1481-
* [3.6-i18n-en-páginas-dinámicas](<3.6-i18n-en-páginas-dinámicas.md>)
1482-
* [3.7-i18n-en-páginas-no-dinámicas](<3.7-i18n-en-páginas-no-dinámicas.md>)
1483-
* [3.8-Detección-automática-con-Nextjs](<3.8-Detección-automática-con-Nextjs.md>)
1484-
* [3.9-Arquitectura-de-i18n-para-labels](<3.9-Arquitectura-de-i18n-para-labels.md>)
1485-
* [3.10-i18n-con-next-i18next](<3.10-i18n-con-next-i18next.md>)## 1.1 i18n
1462+
## 1.1 i18n
14861463
14871464
Se refiere a la adecuación del idioma, formato fechas, monedas, números,
14881465
zonas horarias, de acuerdo a un país y región.
@@ -2078,6 +2055,7 @@ contiene una serie de recomendaciones; generales, para cada aspecto de
20782055
un sitio web, desde la recuperación de contraseña hasta el loggeo; y
20792056
específicas, destinadas a una sola tecnología como docker o ruby on
20802057
rails.
2058+
20812059
## 5.0 JAM Stack
20822060
20832061
Jamstack es una arquitectura de desarrollo web moderna basada en
@@ -2090,18 +2068,7 @@ Existen dos tipos de formas de renderizar una aplicación:
20902068
- Navegador
20912069
- Servidor
20922070
2093-
* [5.1-Tipos-de-renderizado](<5.1-Tipos-de-renderizado.md>)
2094-
* [5.2-Arquitectura](<5.2-Arquitectura.md>)
2095-
* [5.3-Instalación-del-contentful-cli](<5.3-Instalación-del-contentful-cli.md>)
2096-
* [5.4-Autogeneración-de-data-con-graphql](<5.4-Autogeneración-de-data-con-graphql.md>)
2097-
* [5.5-getStaticProps](<5.5-getStaticProps.md>)
2098-
* [5.6-Ventajas-y-desventajas-de-SSG](<5.6-Ventajas-y-desventajas-de-SSG.md>)
2099-
* [5.7-Incremental-Site-Regeneration](<5.7-Incremental-Site-Regeneration.md>)
2100-
* [5.8-Fallback](<5.8-Fallback.md>)
2101-
* [5.9-Enfoque-stale-while-revalidate](<5.9-Enfoque-stale-while-revalidate.md>)
2102-
* [5.10-Trade-offs-de-ISG](<5.10-Trade-offs-de-ISG.md>)
2103-
* [5.11-SSR-ventajas-y-desventajas](<5.11-SSR-ventajas-y-desventajas.md>)
2104-
* [5.12-Nextjs-Export](<5.12-Nextjs-Export.md>)## 1.1 Tipos de renderizado
2071+
## 1.1 Tipos de renderizado
21052072
21062073
Procesamiento de fragmentos de código y datos para mostrar un resultado.
21072074
Por ejemplo de JS a HTML.

Notes/Node/index.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ elimine el atributo password y tokens. El método toJSON() se llama de
9191
manera automática al hacer el send del objeto respuesta.
9292
9393
``` javascript
94-
# Desde el schema de MongoDB
94+
// Desde el schema de MongoDB
9595
userSchema.methods.toJSON = function () {
9696
const user = this
9797
const userObject = user.toObject()
@@ -321,8 +321,8 @@ const upload = multer({
321321
}
322322
})
323323
```
324-
## 1.1 Graphql[Graphql](../../Graphql/1.-Graphql)
325-
## 1.1 Mongoose[Mongoose](../../Mongoose/1.-Mongoose)## SSR con React en express
324+
325+
## SSR con React en express
326326
327327
Para realizar SSR en [React](../../React/1.-React.md) necesitamos vincular un renderizado del HTML a la función encargada de servir nuestras rutas en express, o cualquier otro framework.
328328
@@ -402,7 +402,9 @@ npm i ignore-styles
402402
403403
### Ejemplo mínimo de SSR
404404
405-
Encontré un excelente ejemplo del SSR con React en el siguiente [repositorio de github](https://github.com/juhanakristian/react-ssr-example)## Assets require hook
405+
Encontré un excelente ejemplo del SSR con React en el siguiente [repositorio de github](https://github.com/juhanakristian/react-ssr-example)
406+
407+
## Assets require hook
406408
407409
Assets require hook es un hook que se encarga de importar todas nuestras imágenes en tiempo real cuando sean requeridas mediante SSR, en lugar de ser procesadas de manera manual por la función de express.
408410

Notes/NomadismoDigital/index.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@ pesar de esto, es posible rentar tickets totalmente auténticos
113113
para presentar por unas cuentas decenas de dolares.
114114

115115
- [OneWayFly](https://onewayfly.com/es/)
116-
- [BestOnWardTicket](https://bestonwardticket.com/#how-it-works)## 1.9 Trabajo y entrevistas
116+
- [BestOnWardTicket](https://bestonwardticket.com/#how-it-works)
117+
118+
## 1.9 Trabajo y entrevistas
117119

118120
### 1.9.1 Preguntas para filtrar empresas que no valen la pena
119121

@@ -133,12 +135,15 @@ para presentar por unas cuentas decenas de dolares.
133135

134136
- [visadb](https://visadb.io/)
135137
- [Visas de paises para mexicanos](https://www.mundukos.com/tips-de-viaje/a-que-paises-pueden-viajar-los-mexicanos-sin-visa/)
138+
136139
## Blogs interesantes sobre nómadas digitales
137140

138-
- [Broken backpacker](https://www.thebrokebackpacker.com/)## 1.12-Apps-utiles
141+
- [Broken backpacker](https://www.thebrokebackpacker.com/)
142+
143+
## 1.12-Apps-utiles
139144

140145
1. @travelspendapp: una aplicación de seguimiento presupuestario dedicada a los viajes (¡asegúrate de estar al tanto de cada gasto!).
141-
2. Google Translate: se explica por sí sola, pero el truco es descargar el idioma para traducirlo sin conexión. Además, utiliza la cámara para traducir menús y señales :)
146+
2. Google Translate: se explica por sí sola, pero el truco es descargar el idioma para traducirlo sin conexión. Además, utiliza la cámara para traducir menús y señales
142147
3. Google Maps - de nuevo, descarga tus mapas para que al menos puedas ver tu ubicación en vivo cuando no estés conectado y encontrar a dónde tienes que ir en consecuencia.
143148
4. @hostelworld - mi aplicación favorita para encontrar albergues con buenas valoraciones. También puedes chatear con otros viajeros en tu albergue o en la zona cuando reservas a través de HW.
144149
5. @worldpackers: el truco de vida para viajar con poco dinero y alojarse gratis. Usa el C0d3: SIERRAFERNALD para conseguir 10$ de descuento en tu suscripción 😉 .

Notes/React/index.md

+10-5
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,7 @@ pm2 start npm --name "Mi aplicación" -- run serve -- --port 3001
713713
```
714714

715715
Esta será accesible y podemos vincularla a un gestor de servicios como systemd
716+
716717
## 1.1 Webpack
717718

718719
Webpack empaquetará la aplicación y permitirá que podamos usar los
@@ -1944,12 +1945,16 @@ useEffect(()=>{
19441945
}
19451946

19461947
})
1947-
```## Librerías interesantes de scroll
1948+
```
1949+
1950+
## Librerías interesantes de scroll
1951+
1952+
- [aos](michalsnik.github.io/aos)
1953+
- [scrollimator](github.com/mxdubois/scrollimator)
1954+
- [scrolltrigger](greensock.com/scrolltrigger)
1955+
- [locomotive-scroll](locomotivemtl.github.io/locomotive-scroll)
19481956
1949-
[aos](michalsnik.github.io/aos)
1950-
[scrollimator](github.com/mxdubois/scrollimator)
1951-
[scrolltrigger](greensock.com/scrolltrigger)
1952-
[locomotive-scroll](locomotivemtl.github.io/locomotive-scroll)## Previsualizar una imagen en un form
1957+
## Previsualizar una imagen en un form
19531958
19541959
Esto nos permite subir una imagen en un campo field. El método consiste en:
19551960
- Revisar la existencia del archivo en el campo

Notes/SitiosWebUtiles/index.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# 1. Sitios útiles para desarrollo web
22

3-
4-
53
## 1.1 Para vectores
64

75
- [humaans](http://humaans.com)
@@ -73,8 +71,11 @@
7371
- Fastmail
7472
- GoogleApps
7573
- Rackspace email
74+
7675
## SAAS-starter-kit
7776

78-
- [StarterSaas](https://www.startersaas.com/)## Ventans de código
77+
- [StarterSaas](https://www.startersaas.com/)
78+
79+
## Ventanas de código
7980

8081
- CodeMirror

0 commit comments

Comments
 (0)