Update from obsidian - thinkpad

Affected files:
.obsidian/app.json
.obsidian/plugins/obsidian-omnivore/data.json
01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md
01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 3.md
01. Projects/Coding Mentorship/Temas/Pasted image 20240520174417.png
01. Projects/Coding Mentorship/Temas/Pasted image 20240520174436.png
01. Projects/Coding Mentorship/Temas/Requerimients.md
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174501.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174546.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175134.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175325.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175739.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520180128.png
Pasted image 20240520173241.png
This commit is contained in:
Alexander Navarro 2024-05-21 16:42:23 -04:00
parent 0e825121b9
commit 3473680392
14 changed files with 492 additions and 22 deletions

2
.obsidian/app.json vendored
View file

@ -7,7 +7,7 @@
"alwaysUpdateLinks": true,
"useMarkdownLinks": true,
"showUnsupportedFiles": true,
"attachmentFolderPath": "./",
"attachmentFolderPath": "./_attachments",
"newFileFolderPath": "notes",
"pdfExportSettings": {
"includeName": true,

View file

@ -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}}}"
}

View file

@ -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

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

View file

@ -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
<split even gap="3">
![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520175739.png|150]] <!-- element class="fragment" -->
![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520174501.png|150]] <!-- element class="fragment" -->
![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520174546.png|150]] <!-- element class="fragment" -->
![[01.%20Projects%2FCoding%20Mentorship%2FTemas%2F_attachments%2FPasted%20image%2020240520175134.png|150]] <!-- element class="fragment" -->
</split>
---
## 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB