Update from obsidian - thinkpad

Affected files:
.obsidian/plugins/obsidian-omnivore/data.json
Read Later/Git Merge vs Rebase vs Squash ¿Qué estrategia debemos elegir-.md
Read Later/How Game Reviews Actually Affect You.md
Read Later/Let's Get Webby! 🦀 🕸️.md
Read Later/Use cases for Rust.md
Read Later/What the Rust Book didn't tell you about testing....md
Read Later/Why Signals Are Better Than React Hooks.md
books/Book/Caballo de troya.md
books/Book/En el nombre de la rosa.md
notes/coping mechanisms/Good Enough.md
notes/utils/Crear una nueva funcionalidad.md
notes/utils/Git.md
notes/utils/React.md
projects/personal-page-notes/List of Games.md
projects/quests.md
This commit is contained in:
Alexander Navarro 2023-11-05 13:26:21 -03:00
parent c3e2778f4e
commit 784703b79b
15 changed files with 160 additions and 55 deletions

View file

@ -2,10 +2,10 @@
"dateHighlightedFormat": "yyyy-MM-dd HH:mm:ss", "dateHighlightedFormat": "yyyy-MM-dd HH:mm:ss",
"dateSavedFormat": "yyyy-MM-dd HH:mm:ss", "dateSavedFormat": "yyyy-MM-dd HH:mm:ss",
"apiKey": "ec3bba50-4770-471b-99b1-9953ca523d8c", "apiKey": "ec3bba50-4770-471b-99b1-9953ca523d8c",
"filter": "ADVANCED", "filter": "HIGHLIGHTS",
"syncAt": "2023-11-03T07:52:14", "syncAt": "2023-11-05T12:56:15",
"customQuery": "in:archive has:highlights", "customQuery": "",
"template": "# {{{title}}}\n\n{{# note }}\n## Notes\n\n{{{ note }}}\n{{/ note }}\n{{#highlights.length}}\n## Highlights\n\n{{#highlights}}\n> [!quote] \n> {{{text}}} \n> \n> [source]({{{highlightUrl}}}) {{#labels}} #{{name}} {{/labels}}\n> {{#note}}\n>\n>> [!info] \n>> {{{note}}}\n\n{{/note}}\n{{/highlights}}\n{{/highlights.length}}\n\n---\n## Original\n\n{{{ content }}}", "template": "# {{{title}}}\n\n{{# note }}\n## Notes\n\n{{{ note }}}\n{{/ note }}\n{{#highlights.length}}\n## Highlights\n\n{{#highlights}}\n> [!quote] \n> {{{text}}} \n> \n> [source]({{{highlightUrl}}}) {{#labels}} #{{name}} {{/labels}}\n> {{#note}}\n>\n>> [!info] \n>> {{{note}}}\n\n{{/note}}\n{{/highlights}}\n{{/highlights.length}}\n---\n## Original\n\n{{{ content }}}",
"highlightOrder": "LOCATION", "highlightOrder": "LOCATION",
"syncing": false, "syncing": false,
"folder": "Read Later/", "folder": "Read Later/",

View file

@ -0,0 +1,28 @@
---
id: fc51bf82-66d3-451f-8f64-17d6add50f92
title: |
Git Merge vs Rebase vs Squash ¿Qué estrategia debemos elegir?
status: ARCHIVED
tags:
- read-later
- Youtube
date_added: 2023-11-04 14:14:49
url_omnivore: |
https://omnivore.app/me/https-www-youtube-com-watch-pp-yg-ukz-2-l-0-ih-nxd-w-fza-a-253-d-18b9b548407
url_original: |
https://www.youtube.com/watch?pp=ygUKZ2l0IHNxdWFzaA%253D%253D&v=HlmZLXMOpEM
---
# Git Merge vs Rebase vs Squash ¿Qué estrategia debemos elegir?
## Notes
- Merge commit: Se crea un commit que tiene 2 padres, el último commit de main y la feature branch, se mantiene la trazabilidad hacia la feature branch pero el historial queda visualmente más complejo ^5df1b4
- Rebase: Se copian los commits de la feature branch a main como nuevos commits, se pierde la trazabilidad hacia la feature branch pero queda un historial lineal en main
- Squash commit: Se juntan todos los commits en uno solo con un squash que queda en main, se pierde la trazabilidad hacia la feature branch pero queda un historial lineal en main
---
## Original
[Git Merge vs Rebase vs Squash ¿Qué estrategia debemos elegir?](https://www.youtube.com/watch?pp=ygUKZ2l0IHNxdWFzaA%253D%253D&v=HlmZLXMOpEM)
By [CodelyTV - Redescubre la programación](https://www.youtube.com/@CodelyTV)

View file

@ -22,7 +22,6 @@ Según estudios, los jugadores se ven afectados por reviews que leen/ven, ya sea
Estas críticas tienen un impacto inconciente en el jugador en forma de _"self fulfilling prophecy"_ ó _"probar lo contrario"_. Estas críticas tienen un impacto inconciente en el jugador en forma de _"self fulfilling prophecy"_ ó _"probar lo contrario"_.
Esto nos afecta queramos o no, por lo que es mejor evitar opiniones lo más posible y solo disfrutar el juego por lo que es, podemos validar nuestras opiniones luego de terminar el juego. Esto nos afecta queramos o no, por lo que es mejor evitar opiniones lo más posible y solo disfrutar el juego por lo que es, podemos validar nuestras opiniones luego de terminar el juego.
--- ---
## Original ## Original

View file

@ -26,7 +26,6 @@ url_original: |
>> [!info] >> [!info]
>> I can create front end web apps with this libraries >> I can create front end web apps with this libraries
--- ---
## Original ## Original

View file

@ -21,7 +21,7 @@ url_original: |
> Some popular server-side web frameworks written in Rust include Actix Web, Warp, and Axum. > Some popular server-side web frameworks written in Rust include Actix Web, Warp, and Axum.
> >
> [source](https://omnivore.app/me/use-cases-for-rust-18b85df6f3a#64793bd7-d3bd-4597-9f2c-9b4697217661) > [source](https://omnivore.app/me/use-cases-for-rust-18b85df6f3a#64793bd7-d3bd-4597-9f2c-9b4697217661)
> ---
## Original ## Original
![](https://proxy-prod.omnivore-image-cache.app/374x0,sWwbkQPNcQS05Cyma-JsPnEwyj7_G5D8tak-9k2Pm7g8/https://kartrausers.s3.amazonaws.com/letsgetrusty/25597207_1643064007NFuWebsite_Header.png) ![](https://proxy-prod.omnivore-image-cache.app/374x0,sWwbkQPNcQS05Cyma-JsPnEwyj7_G5D8tak-9k2Pm7g8/https://kartrausers.s3.amazonaws.com/letsgetrusty/25597207_1643064007NFuWebsite_Header.png)
@ -50,7 +50,7 @@ Here are a few common types of applications built using Rust:
**Server-side applications / Microservices** **Server-side applications / Microservices**
* Rust is a great choice for server-side applications and microservices because it is fast and efficient. * Rust is a great choice for server-side applications and microservices because it is fast and efficient.
* Some popular server-side web frameworks written in Rust include Actix Web, Warp, and Axum. * ==Some popular server-side web frameworks written in Rust include Actix Web, Warp, and Axum.==
* Many companies are migrating their critical microservices to Rust because of its safety and performance guarantees. * Many companies are migrating their critical microservices to Rust because of its safety and performance guarantees.
**WebAssembly** **WebAssembly**

View file

@ -25,8 +25,7 @@ url_original: |
> We can use the [mockall crate](https://letsgetrusty.us6.list-manage.com/track/click?u=9f28b35c1658c447f3b962a54&id=00a07042b3&e=d0eb971086)! > We can use the [mockall crate](https://letsgetrusty.us6.list-manage.com/track/click?u=9f28b35c1658c447f3b962a54&id=00a07042b3&e=d0eb971086)!
> >
> [source](https://omnivore.app/me/what-the-rust-book-didn-t-tell-you-about-testing-18b6707a120#f9650419-c778-4974-9da2-aabce209609f) > [source](https://omnivore.app/me/what-the-rust-book-didn-t-tell-you-about-testing-18b6707a120#f9650419-c778-4974-9da2-aabce209609f)
> ---
---
## Original ## Original

View file

@ -23,7 +23,6 @@ Esto permite compartir este _"estado"_ entre componentes pero solo actualizar lo
Además, podemos extraer toda la lógica del estado a un archivo aparte que solo tenga código relevante, y en los componentes se mantiene solo la implementación. Además, podemos extraer toda la lógica del estado a un archivo aparte que solo tenga código relevante, y en los componentes se mantiene solo la implementación.
Es obviamente más rápido de implementar y más limpio que hacer custom hooks, pero es añadir otra dependencia, habrá otras ventajas y desventajas?? Es obviamente más rápido de implementar y más limpio que hacer custom hooks, pero es añadir otra dependencia, habrá otras ventajas y desventajas??
--- ---
## Original ## Original

View file

@ -0,0 +1,5 @@
---
status: Wishlist
kind: Book
author: J.J. Benítez
---

View file

@ -0,0 +1,5 @@
---
status: Wishlist
kind: Book
author: Umberto Eco
---

View file

View file

@ -1,6 +1,3 @@
# Cómo crear una nueva funcionalidad
Los siguientes pasos son una breve guía sobre como implementar cualquier funcionalidad al momento de desarrollar, es agnóstica a cualquier tecnología, lenguaje y complegidad. Además podemos pensar en ella como una estrategia recursiva en donde vamos realizando funcionalidades atómicas para producir una funcionalidad más compleja.
## TLDR ## TLDR
@ -16,6 +13,15 @@ Los siguientes pasos son una breve guía sobre como implementar cualquier funcio
- [[#Descansar y repetir|Descansar y repetir]] - [[#Descansar y repetir|Descansar y repetir]]
- [[#Ejemplo de recursividad|Ejemplo de recursividad]] - [[#Ejemplo de recursividad|Ejemplo de recursividad]]
## Cosas a tener en mente
- [Accept that Everything Is a Draft](The%20cult%20of%20done.md#Accept%20that%20Everything%20Is%20a%20Draft), siempre se puede volver a ello y mejorarlo. Por ahora, esto es un prototipo...
- Contrario al punto anterior, si algo fue lanzado al mundo, ya se fue, no quedarse modificando lo mismo para siempre.
- Concentrarse en una cosa a la vez:
1. Escribir algo que funcione.
2. Mejorar la implementación, performance y corregir bugs.
3. Limpiar y refactorizar, sólo si queda tiempo/energía y es necesario ([good enough](Good%20Enough.md)).
## Time Tracking ## Time Tracking
Esto no es con el objetivo de reportar lo realizado o de maximizar la productividad, si no con el de evitar la fatiga y la visión de túnel. Puedes utilizar la técnica, metodología y/o longitud que prefieras o sea más apta para la tarea, pero lo ideal es tomar descansos regulares. Esto ayudará fisiológicamente a nuestro cuerpo (ojos, espalda, cuello, etc) y a nuestra mente. Esto no es con el objetivo de reportar lo realizado o de maximizar la productividad, si no con el de evitar la fatiga y la visión de túnel. Puedes utilizar la técnica, metodología y/o longitud que prefieras o sea más apta para la tarea, pero lo ideal es tomar descansos regulares. Esto ayudará fisiológicamente a nuestro cuerpo (ojos, espalda, cuello, etc) y a nuestra mente.

25
notes/utils/Git.md Normal file
View file

@ -0,0 +1,25 @@
## Merge strategies
![Notes](Git%20Merge%20vs%20Rebase%20vs%20Squash%20¿Qué%20estrategia%20debemos%20elegir-.md#Notes)
## Buscar cuando un bug se introdujo
Utilizar `git bisect`
## Fix messy commits
Ya que estas opciones sobre escriben el historial de git, solo deben aplicarse en local y no commits publicados a un remote.
### Last commit
Si solo necesitamos agregar un cambio pequeño al ultimo commit (typo o correr el formatter), podemos aplicarlo con `git commit --ammend`, se puede sobre escribir el mensaje con `-m`.
### Mutiple commits
Se pueden arreglar el historial de commits con un `git rebase -i [since commit or branch]` y utilizar las estratégias de pick, squash, reword y drop.
En caso de que sepamos que haremos un commit que luego no necesitaremos, podemos hacer:
- `git commit --fixup [commit hash]` -> descarta el commit message de este commit y mantiene el del commit de referencia
- `git commit --squash [commit hash]` -> git juntará los mensajes de todos los commits a hacer squash y el commit de referencia.
Finalmente podemos hacer `git rebase -i --autosquash` y git eligirá las opciones necesarias a tomar en vez de tener que hacerlo de manera manual.

View file

@ -1,3 +1,5 @@
## Issues with useEffect dependency array
React use [shallow comparision](https://learntechsystems.com/what-is-shallow-comparison-in-js/) (values are equals in case of primitive types. In case of object it just check the reference) to check if the dependency changes between renders, this can conduce to bugs in the following situa React use [shallow comparision](https://learntechsystems.com/what-is-shallow-comparison-in-js/) (values are equals in case of primitive types. In case of object it just check the reference) to check if the dependency changes between renders, this can conduce to bugs in the following situa
### Always use a depency array ### Always use a depency array
@ -50,3 +52,33 @@ useEffect(() => {
``` ```
[source](https://blog.logrocket.com/solve-react-useeffect-hook-infinite-loop-patterns/) [source](https://blog.logrocket.com/solve-react-useeffect-hook-infinite-loop-patterns/)
## Reset a component state
React utiliza la propiedad `key` para poder identificar un componente, esta propiedad puede ser omitida y react le asignará una en base a su posición en el Virtual DOM Tree.
Cuando la propiedad cambia, React entiende que el componente no es el mismo, por lo que destruye el componente actual y crea uno nuevo, lo que por ende, tiene el estado inicial.
Para esto tenemos dos opciones:
- Pasar alguna propiedad de los datos como key.
- Generar un valor único localmente.
Lo primero es como pasar el ID de un usuario. para lo segundo podemos usar lo siguiente:
```jsx
import { useRef } from 'react';
export default function Parent() {
const key = useRef(crypto.randomUUID());
const resetComponent = () => key.current = crypto.randomUUID();
return (
<div>
<Component key={key.current} />
<button onClick={() => resetComponent()}></button>
</div>
)
}
```

View file

@ -4,18 +4,22 @@
- See free code camp video?? - See free code camp video??
- [x] instead of passing a collection of astro, map the collection and create the data how I needed - [x] instead of passing a collection of astro, map the collection and create the data how I needed
- This shouldn't add overheat since is done ahead of time?? - This shouldn't add overheat since is done ahead of time??
- [ ] Finish pagination - [x] Finish pagination
- [ ] Advance filters - [ ] Advance filters
- [x] String - [x] String
- [x] Number (with logic operator) - [x] Number (with logic operator)
- [x] Select - [x] Select
- [x] Multiple selector - [x] Multiple selector
- [x] Add clear input to select input - [x] Add clear input to select input
- [ ] Add Clear all filters - [x] Add Clear all filters
- [ ] Add a button in the table doesn't clean the input values, fix this. - [x] Add a button in the table doesn't clean the input values, fix this.
- [ ] Refactor code organization - [ ] Refactor code organization
- [ ] Clean & optimize - [ ] Clean & optimize
- [ ] Extract types declaration where they belogns -> investigate where?? - [ ] Extract types declaration where they belogns
- -> investigate where??
- Carpeta con definiciones y una archivo para cada cosa (enums, interface, etc)??
- Al mismo nivel dentro de src??
- replicar structura en types??
--- ---

View file

@ -23,6 +23,8 @@ kanban-plugin: basic
- [ ] Settear Karabiner en Mac - [ ] Settear Karabiner en Mac
- [ ] Añadir estado de macro recording en lualine para nvim - [ ] Añadir estado de macro recording en lualine para nvim
- [ ] Hacer respaldo de configuración de teclados<br>- Sofle<br>- Keychron (Pasar de VIA -> QMK)<br>- Exportar a Drive<br>- Reinicializar QMK Repo<br><br>Parece que no necesito todo el repo, bastará con solo la carpeta del teclado?? - [ ] Hacer respaldo de configuración de teclados<br>- Sofle<br>- Keychron (Pasar de VIA -> QMK)<br>- Exportar a Drive<br>- Reinicializar QMK Repo<br><br>Parece que no necesito todo el repo, bastará con solo la carpeta del teclado??
- [ ] Settear OoT & MM 3D con mod 4K de [Henriko Magnifico](https://www.henrikomagnifico.com/texture-packs)
- [ ] Escribir algo sobre [Good Enough](Good%20Enough.md)
## Expedition Quests ## Expedition Quests
@ -33,7 +35,6 @@ kanban-plugin: basic
- [ ] [Improve VPN setup](Improve%20VPN%20setup.md) - [ ] [Improve VPN setup](Improve%20VPN%20setup.md)
- [ ] Shinto - [ ] Shinto
- [ ] Write better commit messages - [ ] Write better commit messages
- [ ] Look into grandia 2
- [ ] Scooter Electrico - [ ] Scooter Electrico
- [ ] Override methods on Typescript - [ ] Override methods on Typescript
- [ ] Mejorar workflow en obsidian<br>- Memorizar shortcuts<br>- Aplicar workspaces<br>- Entender layouts and navigation<br>#laptop - [ ] Mejorar workflow en obsidian<br>- Memorizar shortcuts<br>- Aplicar workspaces<br>- Entender layouts and navigation<br>#laptop
@ -51,6 +52,7 @@ kanban-plugin: basic
- [ ] Treesitter movement in neovim - [ ] Treesitter movement in neovim
- [ ] [Utilizar VIA en vez de QMK por CLI](https://www.caniusevia.com/docs/specification) - [ ] [Utilizar VIA en vez de QMK por CLI](https://www.caniusevia.com/docs/specification)
- [ ] [Youtube alternative](Youtube%20alternative.md) - [ ] [Youtube alternative](Youtube%20alternative.md)
- [ ] Investigar JRPG's:<br>- Star Ocean<br>- Grandia 2
## Waiting for... ## Waiting for...
@ -61,6 +63,8 @@ kanban-plugin: basic
- [ ] Preventa de ultraman - [ ] Preventa de ultraman
- [ ] [8bitdo ultimate](https://atomstore.cl/producto/mando-8bitdo-ultimate-bluetooth/) - [ ] [8bitdo ultimate](https://atomstore.cl/producto/mando-8bitdo-ultimate-bluetooth/)
- [ ] Organizador de clables para ala derecha<br>#purchases - [ ] Organizador de clables para ala derecha<br>#purchases
- [ ] Los pilares de la Tierra N°5<br>#gifts
- [ ] [Hobonichi Mega Weeks](https://artepapel.cl/mega-weeks-colors-navy) ($40.000~)<br>#purchases
## Available Quests (5) ## Available Quests (5)