diff --git a/.obsidian/app.json b/.obsidian/app.json index 70e9919..5dc97f8 100644 --- a/.obsidian/app.json +++ b/.obsidian/app.json @@ -7,7 +7,7 @@ "alwaysUpdateLinks": true, "useMarkdownLinks": true, "showUnsupportedFiles": true, - "attachmentFolderPath": "./", + "attachmentFolderPath": "./_attachments", "newFileFolderPath": "notes", "pdfExportSettings": { "includeName": true, diff --git a/.obsidian/plugins/obsidian-omnivore/data.json b/.obsidian/plugins/obsidian-omnivore/data.json index d568e39..193432e 100644 --- a/.obsidian/plugins/obsidian-omnivore/data.json +++ b/.obsidian/plugins/obsidian-omnivore/data.json @@ -3,7 +3,7 @@ "dateSavedFormat": "yyyy-MM-dd HH:mm:ss", "apiKey": "ec3bba50-4770-471b-99b1-9953ca523d8c", "filter": "ADVANCED", - "syncAt": "2024-05-16T18:14:36", + "syncAt": "2024-05-21T00:31:53", "customQuery": "in:archive has:highlights", "template": "# {{{title}}}\n\n{{# note }}\n## Notes\n\n{{{ note }}}\n{{/ note }}\n{{#highlights.length}}\n## Highlights\n\n{{#highlights}}\n{{{text}}} \n{{#note}}\n\n> [!note]\n> {{{note}}}\n{{/note}}\n\n[source]({{{highlightUrl}}}) {{#labels}} #{{name}} {{/labels}}\n\n---\n\n{{/highlights}}\n{{/highlights.length}}\n## Original\n\n{{{ content }}}", "highlightOrder": "LOCATION", @@ -17,7 +17,7 @@ "version": "1.6.3", "isSingleFile": false, "frequency": 60, - "intervalId": 14, + "intervalId": 15, "frontMatterVariables": [], "frontMatterTemplate": "id: {{{ id }}}\ntitle: >\n {{{ title }}}\nstatus: {{{ state }}}\ntags:\n - read-later\n{{#labels.length}}\n{{#labels}} - {{{name}}}\n{{/labels}}\n{{/labels.length}}\ndate_added: {{{ dateSaved}}}\nurl_omnivore: >\n {{{ omnivoreUrl}}}\nurl_original: >\n {{{ originalUrl}}}" } \ No newline at end of file diff --git a/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md b/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md index de80063..428f87c 100644 --- a/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md +++ b/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md @@ -214,23 +214,4 @@ notes: | ! | not | Invierte el resultado de la evaluación | !(x < 5) | --- - -## Funciones - - - ---- - -## Ahora Te Toca a Ti - -![](Pasted%20image%2020240515122605.png) - ---- - -## Ejercicio 03 - -Crear un diagrama de actividad de recepción y despacho de pedido con cobro de factura. - ---- - ## Fin :3 diff --git a/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 3.md b/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 3.md new file mode 100644 index 0000000..ad35ec0 --- /dev/null +++ b/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 3.md @@ -0,0 +1,375 @@ +--- +id: Fundamentos de la programación 2 +aliases: + - Fundamentos De la Programación +tags: [] +date_created: Thursday, May 16th 2024, 10:03:49 am +date_modified: Sunday, May 19th 2024, 11:05:58 am +--- + +# Fundamentos De la Programación + +--- + +## Código + +notes: + +- Lo que veremos es transversal para cualquier lenguaje de programación. +- dicho esto, cada lenguaje tiene sus leves diferencias. + +--- + +## Flujo De Datos + ++ Condicionales ++ Bucles ++ Funciones + +--- + +## Condicionales + +```mermaid +flowchart TD + start([Inicio]) ---> entrada1[/ x = 1 /] + entrada1 ---> if1{"¿x < 10?"} + if1 --si--> salida1[/x es menor que 10/] + if1 --no--> salida2[/x no es menor que 10/] + salida1 ---> finish([Fin]) + salida2 ---> finish([Fin]) +``` + +--- + +## Condicionales + +## If/Else + +| Sentencia | Traducción literal | Descripción | +| ---------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `if` | Si… | El siguiente bloque de código se ejecuta si la sentencia se evalúa como verdadera | +| `else` | de lo contrario… | El siguiente bloque se ejecuta si la última sentencia `if` se evalúa como falsa | +| `else if`/`elif` | de lo contrario, si… | El siguiente bloque se ejecuta si la ultima sentencia `if` se evalúa como falsa y la siguiente condición se evalúa como verdadera | + +--- + +## Condicionales + +## If/Else + +```java +// JAVA +int x = 1; + +if (x < 10) { + System.out.println("x es menor a 10"); +else if (x < 50) { + System.out.println("x es menor a 50"); +} else { + System.out.println("x es un número muy grande"); +} +``` + +```python +# PYTHON +x = 1; + +if x < 10: + print("x es menor a 10"); +elif x < 50: + print("x es menor a 10"); +else: + print("x es un número muy grande"); +``` + +```lua +-- LUA +x = 1; + +if x < 10 then + print("x es menor a 10"); +elseif x < 50 then + print("x es menor a 10"); +else + print("x es un número muy grande"); +end +``` + +--- + +## Condicionales + +### Ternary Operator + +```java +// JAVA +String foo = 10 % 2 == 0 ? "10 es par" : "10 no es par"; +``` + +```python +# PYTHON +foo = "10 es par" if 10 % 2 == 0 else "10 no es par"; +``` + +--- + +## Condicionales + +## Switch + +```java +// JAVA +int dia = 4; + +switch (dia) { + case 6: + System.out.println("Hoy es sábado"); + break; + case 7: + System.out.println("Hoy es domingo"); + break; + default: + System.out.println("Esperando el fin de semana :3"); +} +``` + +--- + +## Ciclos/Bucles + +```mermaid +flowchart TD + start([Inicio]) --> entrada1[/ x = 1 /] + entrada1 --> if1{"¿x < 10?"} + if1 --no--> finish([Fin]) + if1 --si--> salida1[/x es menor que 10/] + salida1 --> process1[x += 1] + process1 --> if1 +``` + +--- + +## Ciclos + +### While + +```java +// JAVA +int i = 1; + +while (i < 10) { + System.out.println(i); + i += 1; +} + +/* --- */ + +int j = 0; + +do { + System.out.println(j); + j += 1; +} +while (j < 50); +``` + +```python +# PYTHON +i = 1 + +while i < 10: +  print(i) +  i += 1 +``` + +notes: + +- El bloque del while se ejecuta mientras la condicional sea **Verdadera** +- Preguntar: _"¿cuál es el ultimo número que se va a imprimir?"_ -> 9 +- El while se usa cuando no sabemos cuando la condición se vaya a cumplir. +- while: mientras verdadero, hacer +- do-while: hacer, mientras verdadero + +--- + +## Bucles + +### For + +```java +// JAVA +for (int i = 0; i <= 5; i++) { + System.out.println(i); +} + +/* --- */ + +String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; + +for (int i = 0; i < cars.length(); i++) { + System.out.println(cars[i]); +} +``` + +```python +# PYTHON +for x in range(6): +  print(x) +``` + +notes: + +- python declara el for de esta manera por ser un lenguaje más declarativo. + +--- + +## Bucles + +### For Each + +```java +// JAVA +String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; + +for (String i : cars) { + System.out.println(i); +} +``` + +```python +# PYTHON +fruits = ["apple", "banana", "cherry"] + +for x in fruits: +  print(x) +``` + +--- + +## Bucles + +| Sentencia | Significado literal | Descripción | +| ---------- | ------------------- | --------------------------------------------------------------------- | +| `Continue` | Continuar | Detiene la ejecución del código y continúa con la siguiente iteración | +| `break` | Romper | Sale del bucle, independiente si la condición sigue siendo verdadera | + +--- + +## Bucles + +```java +// JAVA +while (true) { + boolean error = Math.calculos_complicados() + + if (error) { + break; + } +} + +/* --- */ + +String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; + +for (String i : cars) { + if (i == "BMW") { + System.out.println("No trabajamos con BMW!"); + continue; + } + + Fabrica.procesar(i); +} +``` + +--- + +## Funciones + +Las funciones son bloques de código re-utilizables, ayuda a evitar la duplicidad del código siguiendo lógicas como _"don't repeat yourself"_. + +Las funciones vendrían a representar un _"proceso"_. + +notes: + +- en java no existen las funciones fuera de una clase, por lo que sólo las veremos en OOP cómo métodos. +- entrada, proceso, salida. + +--- + +## Funciones + ++ Las funciones deben ser definidas antes de ser llamadas. ++ pueden recibir argumentos/parámetros. ++ En lenguajes tipeados, deben tener un tipo de retorno. + +--- + +## Funciones + +```python +# PYTHON +def saludar(nombre): + print("hola " + nombre) + +saludar("pedro") +saludar("juan") +saludar("diego") +``` + +```python +# PYTHON +def elevarCuadrado(num1): + resultado = num1 * num1 + return resultado + +foo = elevarCuadrado(2) +print(foo) +``` + +--- + +## Scope De Las Variables + +```python +# PYTHON +def myFunction(): + numero = 5 + # calculos complicados + return numero + +myFunction() +print(numero) # Error +``` + +```python +# PYTHON +def myFunction(): + numero = 5 + # calculos complicados + return numero + +numero = myFunction() +print(numero) # funciona +``` + +--- + +## Scope De Las Variables + +```python +# PYTHON + +PI = 3.14 + +def areaCirculo(radio): + area = PI * (radio * radio) + return area + +area = areaCirculo(3) +print(area) +``` + +--- + +## Fin :3 diff --git a/01. Projects/Coding Mentorship/Temas/Pasted image 20240520174417.png b/01. Projects/Coding Mentorship/Temas/Pasted image 20240520174417.png new file mode 100644 index 0000000..0682d6c Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/Pasted image 20240520174417.png differ diff --git a/01. Projects/Coding Mentorship/Temas/Pasted image 20240520174436.png b/01. Projects/Coding Mentorship/Temas/Pasted image 20240520174436.png new file mode 100644 index 0000000..0682d6c Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/Pasted image 20240520174436.png differ diff --git a/01. Projects/Coding Mentorship/Temas/Requerimients.md b/01. Projects/Coding Mentorship/Temas/Requerimients.md new file mode 100644 index 0000000..040fb10 --- /dev/null +++ b/01. Projects/Coding Mentorship/Temas/Requerimients.md @@ -0,0 +1,114 @@ +--- +date_created: Monday, May 20th 2024, 5:14:17 pm +date_modified: Monday, May 20th 2024, 6:28:52 pm +--- + +# Requeriemients + +--- + +## ¿Qué Es Un Requerimiento? + +Los requerimientos son **requisitos** que un sistema debe cumplir para entregar los servicios que se requieren, y considera las **restricciones** asociadas a su funcionamiento. + +--- + +## ¿Para Qué Sirven? + +A pesar de que el usuario tiene clara la necesidad que desea satisfacer, **no siempre sabe expresarse con claridad**, o con términos entendibles para quienes deben abordar la necesidad. + +Lenguaje distinto entre usuario y quien desarrolla la necesidad. Se debe estar consciente de que el usuario no es técnico ni especialista en software; **él hablará en su lenguaje, no en lenguaje técnico**. + +No incluir al usuario a ser parte del desarrollo (técnicamente) de la solución, provoca que no se llegue realmente a lo solicitado. Nos ayudará a conocer su necesidad y sus datos, pero **será él quien nos validará el resultado, las salidas del sistema**. + +--- + +## Características + ++ **Claros**: Los requerimientos deben ser entendibles, no dejando lugar a malas interpretaciones ni errores. ++ **Medibles**: Los requerimientos deben dar lugar a la obtención de resultados. ++ **Necesarios**: Deben existir usuarios con una necesidad en la que tenga algún efecto. ++ **Trazables**: Los advances del proyecto deben ser conocidos de forma pública, durante todo el proceso, desde el inicio al cierre. ++ **Verificables**: Los requerimientos se deben comprobar, obteniendo resultados tanto de aprobación como de rechazo en los resultados del test. ++ **Trazables**: El desarrollo del proyecto debe ser proyectado de forma monetaria. ++ **Completos**: Deben ser especificados, tomando en consideración todas las condiciones que se puedan dar. + +--- + +## Ya Pero, ¿Realmente De Que Sirven? + ++ Son una manera de dejar registro de **como se debe comportar un sistema**, el cuál luego de ser aprobado queda de referencia para todos los involucrados. ++ Ayudan a ponerse de acuerdo entre el equipo de desarrollo y el cliente. ++ Son un **respaldo** para el equipo de desarrollo ante los "esto no es lo que quería". + +--- + +## ¡No Hay Nada Obvio + +--- + +## Quiero Una Mesa + + +![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520175739.png|150]] +![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520174501.png|150]] +![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520174546.png|150]] +![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520175134.png|150]] + + +--- + +## Quiero Un Columpio + +![](01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520180128.png) + +--- + +## Tipos De Requerimientos + ++ Funcionales ++ No funcionales + +--- + +## Requerimientos Funcionales + +Estos requerimientos son las declaraciones que los servicios deben proporcionar al sistema en detalle, determinando **qué hará el software**, definiendo las relaciones de su implementación y operación, teniendo en cuenta cómo se **comportará el sistema**. También es necesario que se establezca lo que este no hará y qué validaciones necesita. + +Los requisitos funcionales pueden ser: detalles técnicos, manipulación, cálculos y además, otras funcionalidades específicas que un sistema tiene que cumplir. Los requisitos de comportamiento para cada requisito funcional se muestran en los casos de uso. Estos requisitos se complementan por los requisitos no funcionales, que se enfocan en el diseño o implementación. + +--- + +## Ejemplos De Requerimientos Funcionales + ++ El usuario puede **buscar** en el conjunto de la base, así como también en un +subconjunto de ella. + ++ El sistema debe ser capaz de proporcionar visores adecuados para que el usuario pueda **leer los documentos** en el almacén de datos. ++ Todos los pedidos **deben tener un identificador único**. El usuario de este podrá **copiar** al área de almacenamiento permanente de la cuenta. ++ Los clientes deben **recibir sus productos** una vez finalizado el proceso. ++ El administrador debe **ver las ganancias**. + +--- + +## Requerimientos no Funcionales + +Los requerimientos no funcionales son los que definen las **restricciones o propiedades de los servicios**, así como las funciones ofrecidas por el sistema. + +Surgen de las necesidades de los usuarios, debido a las herramientas utilizadas, a las restricciones de presupuesto, a la necesidad de interoperabilidad, otros sistemas de software o hardware, así como también a factores externos como las políticas de privacidad y a los reglamentos de seguridad. + +En estos requerimientos podemos encontrar todo lo que se refiere a la fiabilidad, la capacidad de almacenamiento y los tiempos de respuesta. + +--- + +## Ejemplo De Requerimientos no Funcionales + ++ El sistema debe estar disponible (arriba) de 08.00 a 20.00 hrs. ++ Debe estar operativo los próximos 7 años (pronóstico de cambio de servidor). ++ Se espera que esté disponible un 99.8% del tiempo de disponibilidad. ++ También debe cumplir con la norma XXXX/ley… ++ Debe poder darse acceso en la empresa y desde computadores en la casa (remoto). + +--- + +## Fin :3 diff --git a/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174501.png b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174501.png new file mode 100644 index 0000000..0682d6c Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174501.png differ diff --git a/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174546.png b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174546.png new file mode 100644 index 0000000..61f5512 Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174546.png differ diff --git a/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175134.png b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175134.png new file mode 100644 index 0000000..3829717 Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175134.png differ diff --git a/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175325.png b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175325.png new file mode 100644 index 0000000..3829717 Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175325.png differ diff --git a/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175739.png b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175739.png new file mode 100644 index 0000000..5c6724c Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175739.png differ diff --git a/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520180128.png b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520180128.png new file mode 100644 index 0000000..4716175 Binary files /dev/null and b/01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520180128.png differ diff --git a/Pasted image 20240520173241.png b/Pasted image 20240520173241.png new file mode 100644 index 0000000..5c6724c Binary files /dev/null and b/Pasted image 20240520173241.png differ