Skip to content

Commit

Permalink
adds new readme
Browse files Browse the repository at this point in the history
  • Loading branch information
atralice committed Jun 4, 2020
1 parent 9814110 commit 88ed6c8
Show file tree
Hide file tree
Showing 62 changed files with 94 additions and 6,103 deletions.
18 changes: 14 additions & 4 deletions Lesson01-Git/README.md → 01-Git/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Git - Lección 1
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>

Git es un _sistema de control de versión_ diseñado para trackear cambios en archivos digitales y coordinar el trabajo realizado sobre esos archivos en un equipo de personas. Su mayor uso es para el desarrollo de software, aunque también es utilizado para trackear archivos de otros tipos.
# Git - Lección 1

## Version Control System

El control de versiones es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante.
¿Qué es un control de versiones, y por qué debería importarte? Un control de versiones es un sistema que registra los cambios realizados en un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante.

Si eres diseñador gráfico o web, y quieres mantener cada versión de una imagen o diseño (algo que sin duda quieres), un sistema de control de versiones (Version Control System o VCS en inglés) es una elección muy sabia. Te permite revertir archivos a un estado anterior, revertir el proyecto entero a un estado anterior, comparar cambios a lo largo del tiempo, ver quién modificó por última vez algo que puede estar causando un problema, quién introdujo un error y cuándo, y mucho más. Usar un VCS también significa generalmente que si rompes o pierdes archivos, puedes recuperarlos fácilmente.

Expand All @@ -14,7 +16,7 @@ Hay varios tipos de sistemas de versionado, estos puedes ser:

![Local](./img/local.png)

Un sistema de versionado local, automatiza la tarea de ordenar, copiar y tagear todas las modificaciones de archivos que vayamos haciendo. Imaginense que están trabajando con código, y ustedes mismos van copiando y guardando los archivos en otra carpeta cada vez que lo mofican, y ponen un nombre indicando la fecha y la hora del cambios, este mismo proceso, pero automatizado, es un _VCS local_.
Un método de control de versiones, usado por muchas personas, es copiar los archivos a otro directorio (quizás indicando la fecha y hora en que lo hicieron, si son ingeniosos). Este método es muy común porque es muy sencillo, pero también es tremendamente propenso a errores. Es fácil olvidar en qué directorio te encuentras y guardar accidentalmente en el archivo equivocado o sobrescribir archivos que no querías.
Como se puden imaginar, este sistema funciona _bien_ para trabajar solos, pero si queremos incorporar otra gente al equipo van a empezar a surgir problemas.

### Centralizados
Expand Down Expand Up @@ -89,3 +91,11 @@ Sabiendo esto, el flujo de trabajo básico en Git sería algo así:
### Github.com

[Github.com](https://github.com) es una red para almacenar tus repositorios, esencialmente es un repositorio de repositorios. Es uno de los tantos disponibles en internet, y el más popular. Git != Github, aunque funcionen muy bien juntos. Github es un lugar donde puedes compartir tu código o encontrar otros proyectos. También actúa como portfolio para cualquier código en el que hayas trabajado. Si planeas ser un desarrollador deberías tener cuenta en Github. Usaremos Github extensivamente durante tu tiempo en Henry.

## Lectura recomendada:

* [Git: sitio oficial](https://git-scm.com/)
* [Github: tutorial oficial](https://try.github.io/levels/1/challenges/1)
* [Git: tutorial oficial](https://git-scm.com/docs/gittutorial)
* [Terminal turorial](https://www.davidbaumgold.com/tutorials/command-line/)

16 changes: 3 additions & 13 deletions Lesson01-Git/homework/README.md → 01-Git/homework/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Homework: Git

## Conocimientos previos necesarios

### Pre-requisitos

* Crear una cuenta en [Github.com](https://www.github.com/).
* Si usas una computadora con Windows, puedes instalar la terminal de comandos _git-bash_ haciendo click [acá](https://git-for-windows.github.io/).
* Si usas Mac, `git` viene pre-instalado y puedes acceder desde la terminal pulsando ⌘+Espacio y escribiendo "terminal". Puedes asegurarte de que git está instalado escribiendo `which git` en la terminal y pulsando Enter, si aparece la ruta de un archivo está todo correcto. En algunas ocasiones, podrías ser redireccionado a la descarga de la línea de comandos de Xcode, sigue las instrucciones.
Expand Down Expand Up @@ -81,7 +80,7 @@ Listo ya tenes tu propio repo. Ahora vas a poder clonarlo con las intrucciones d

### Clonar

Para poder trabajar en un proyecto debes clonarlo (descargarlo) a tu máquina local. Para ello, accede al repositorio que creaste en tu cuenta, y haz click en el botón verde de la esquina superior derecha que dice "Clonar o descargar". Un dropdown aparecerá y podemos clickear en el icono del clipboard para copiar la dirección del repo. (Nota: Puedes descargar el repositorio completo, pero no se recomienda tanto como clonarlo dado que este último realizará unos pasos extra que harán tu vida mucho más fácil -> si lo descargas en vez de clonar, vas a tener que inicializar el repo vos mismo, no se preocupen por esto ahora).
Para poder trabajar en un proyecto debes clonarlo (descargarlo) a tu máquina local. Para ello, accede al repositorio que creaste en tu cuenta, y haz click en el botón de la esquina superior derecha que dice "Clonar o descargar". Un dropdown aparecerá y podemos clickear en el icono del clipboard para copiar la dirección del repo. O, si el repo esta vacio vas a ver en el medio de la pantalla la URL con la dirección de tu repositorio.

Una vez tengas la dirección copiada, vuelve a tu terminal y escribe lo siguiente:

Expand Down Expand Up @@ -166,13 +165,4 @@ La terminal te preguntará tu usuario y contraseña (En el caso de la contraseñ
cccc682..283b9dd master -> master
```

¡Felicitaciones, acabas de subir tu primer git commit!


## Lectura recomendada y tutoriales:

* [Git: sitio oficial](https://git-scm.com/)
* [Github: tutorial oficial](https://try.github.io/levels/1/challenges/1)
* [Codecademy: Learn Git](https://www.codecademy.com/learn/learn-git)
* [Git: tutorial oficial](https://git-scm.com/docs/gittutorial)
* [Terminal turorial](https://www.davidbaumgold.com/tutorials/command-line/)
¡Felicitaciones, acabas de subir tu primer git commit!
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
75 changes: 43 additions & 32 deletions Lesson02-JS-I/README.md → 02-JS-I/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 2: Introducción a Javascript

En esta lección cubriremos:
Expand All @@ -12,30 +15,35 @@ En esta lección cubriremos:

## Introducción a Javascript

Si imaginamos un sitio web como una casa, el HTML hace de materiales (madera, ladrillos y concreto), el CSS es cómo ponemos todos esos materiales juntos, y Javascript es la electricidad, las cañerías y el gas. Es lo que hace que la página "funcione". Javascript fue diseñado originalmente para ser usado únicamente en el front-end como forma de que los desarrolladores web puedan añadir funcionalidades a sus páginas web, y en sus comienzos era solo eso. Recientemente, la introducción del "_engine_ V8" de Google ha mejorado la velocidad y el funcionamiento de JS. Esto trajo novedades en el desarrollo creando frameworks de Javascript para el front-end, y eventualmente Node.js, que es una manera de correr Javascript en el servidor (back-end).
JavaScript es un lenguaje de programación que fue creado originalmente para ser usado en el front-end de una pǻgina web. La idea original era poder dar dinamismo a las páginas webs, que en un principio eran estáticas. La introducción del "motor V8" de Google ha mejorado la velocidad y el funcionamiento de JS. Haciendo que JS sea la lingua franca de la web, llegando inclusive al Back-End a través de NodeJs.

Este nuevo desarrollo ha llevado a un resurgimiento de Javascript. Javascript es uno de los lenguajes de programación más utilizados en el mundo. Ahora encontramos que Javascript se usa en front-end, back-end, desarrollo móvil, IoT, y realmente en cualquier lugar donde se usaría un lenguaje de programación tradicional. Recientemente, se lanzó la versión más reciente del lenguaje Javascript (ES6), nos enfocaremos y usaremos ES6 en este curso. Tenga en cuenta, Javascript! = Java. Aunque comparten nombres similares (desafortunadamente, esto fue considerado una característica por los primeros pioneros de Javascript), ahí es donde terminan las similitudes.
Vamos a aprender los conceptos más básicos de JS:

## Variables

En el corazón de Javascript se encuentran las variables. Una variable es una forma de almacenar el valor de algo para usar más tarde. (Una nota para aquellos con conocimientos previos de programación: Javascript es un lenguaje de tipado débil, una variable se puede configurar (y restablecer) a cualquier tipo, no necesitamos declarar su tipo al iniciar la variable).
Una variable es una forma de almacenar el valor de algo para usar más tarde. (Una nota para aquellos con conocimientos previos de programación: Javascript es un lenguaje de tipado dinámico, una variable se puede configurar (y restablecer) a cualquier tipo, no necesitamos declarar su tipo al iniciar la variable).

La anatomía de una variable es primero la palabra clave, un espacio, el nombre que le estamos dando a la variable, un signo de "igual", el valor que le estamos asignando a la variable y luego el punto y coma.
Para crear una variable en JavaScript utilizamos la palabra clave `var`, seguida de un espacio y el nombre de la variable (con este nombre podremos hacer referencia a ella luego). Además de declarar una variable, podemos asignarle un valor usando el signo `=`.

> Nota: Las palabras claves o keywords son palabras especiales que utiliza el lenguaje para indicar algo. No podremos usas las palabras claves del lenguaje cómo nombres de variables.
Existen tres formas de declarar una variable:

```javascript
var nombre = 'Juan';
var nombre = 'Juan'; // Vamos a usar principalemente esta forma
let apellido = 'Perez';
const comidafavorita = 'Pizza';
var comidafavorita = 'Pizza';
```

### var

`var` es la forma declarar una variable en ES5. Esta es una _palabra clave_ genérica para "variable".
`var` es la forma declarar una variable en ES5 (ES5 es la versión de JS, hoy en día existe ES6 que es la nueva versión, pero que todavía no es la más usada). Esta es una _palabra clave_ genérica para "variable".

Las dos formas siguentes, si bien son válidas, vamos a utilizarlas más adelante en la carrera, cuando tengamos más claros otros conceptos:

### let

`let` es una nueva palabra clave de ES6, esto asignará una variable muy similar a` var`, pero con un comportamiento un poco diferente. Lo más notable es que difiere al crear un "nivel de _scope_" (hablaremos sobre esto más adelante).
`let` es una nueva palabra clave de ES6, esto asignará una variable muy similar a `var`, pero con un comportamiento un poco diferente. Lo más notable es que difiere al crear un "nivel de _scope_" (hablaremos sobre esto más adelante).

### const

Expand All @@ -51,48 +59,51 @@ console.log();

Este método muy simple nos permitirá imprimir en la consola todo lo que pongamos entre paréntesis.

## Strings, Numbers, and Booleans
## Tipos de Datos

En ciencias de la computación, un tipo de dato informático o simplemente tipo, es un atributo de los datos que indica la clase de datos que se va a manejar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.

Los tipos de datos aceptados varían de lenguaje en lenguaje.

### Strings, Numbers, and Booleans

Estos son los tipos de datos más básicos en Javascript.

### Strings

Las "strings" son bloques de texto, siempre se definirán entre comillas, ya sea simple o doble. Cualquier texto entre comillas es una cadena.
Las "strings" son bloques de texto, siempre se definirán entre comillas, ya sea simple o doble. Cualquier texto entre comillas es una cadena o string.

```javascript
const nombrePerro = 'firulais';
var nombrePerro = 'firulais';
```
### Numbers

Los números son solo eso, números. Los números NO se envuelven en comillas. Pueden ser negativos también. Javascript tiene una limitación en el tamaño de un número (+/- 9007199254740991), pero muy raramente aparecerá esa limitación en nuestro uso diario.

```javascript
const positivo = 27;
const negativo = -40;
var positivo = 27;
var negativo = -40;
```

### Boolean

Los booleanos provienen de la informática de bajo nivel. Es un concepto que alimenta el código binario y el núcleo de las computadoras. Es posible que haya visto código binario en el pasado (0001 0110…), esto es lógica booleana. Esencialmente significa que tiene dos opciones, activar o desactivar, 0 o 1, verdadero o falso. En Javascript usamos booleanos para significar verdadero o falso. Esto puede parecer simple al principio, pero puede complicarse más adelante.
Los booleanos provienen de la [lógica de Boole](https://es.wikipedia.org/wiki/%C3%81lgebra_de_Boole). Es un concepto que alimenta el código binario y el núcleo de las computadoras. Es posible que haya visto código binario en el pasado (0001 0110…), esto es lógica booleana. Esencialmente significa que tiene dos opciones, activar o desactivar, 0 o 1, verdadero o falso. En Javascript usamos booleanos para significar verdadero o falso. Esto puede parecer simple al principio, pero puede complicarse más adelante.

```javascript
const meEncantaJavascript = true;
var meEncantaJavascript = true;
```

Los valores posibles de un dato booleando en JS son: `true` o `false`.

## Operadores

Un operador no es otra cosa que una función, pero al ser funciones básicas para el Engine y que se utilizan muchos, se escriben de una forma particular y que en general es corta y simple. Generalmente, los operadores toman dos parámetros y retornan un resultado.
Por ejemplo: Para el intérprete al ver el signo `+`, sabe que tiene que ejecutar la función suma (que tiene internamente definida), y toma como parámetros los términos que estén a la izquierda y la derecha del operador. De hecho, es equivalente a tener una función que se llame `suma` y que reciba dos parámetros:
Vamos a poder realizar operaciones en JavaScript a través de los `operadores`. Básicamente son símbolos que ya conocemos (`+`, `-`, `/`, `*`) que indican al intérprete de JavaScript las operaciones que debe realizar.

Por ejemplo: Para el intérprete al ver el signo `+`, sabe que tiene que ejecutar la función suma (que tiene internamente definida), y toma como parámetros los términos que estén a la izquierda y la derecha del operador.

```javascript
var a = 2 + 3; // 5

function suma(a,b){
return a + b;
// usamos el mismo operador como ejemplo
// Si no deberiamos hacer sumas binarias!
}
var a = suma(2,3) // 5
var b = 3 / 3; // 1
```

De hecho, esa forma de escribir tiene un nombre particular, se llama notación notación `infix` o `infija`, en ella se escribe el operador entre los operandos. Pero también existen otro tipos de notación como la `postfix` o `postfija` y la `prefix` o `prefija`. En estas última el operador va a la derecha de los operandos o a la izquierda respectivamente.
Expand Down Expand Up @@ -181,7 +192,7 @@ Math.ceil(6.0001) = 7;
El tipo de datos "string" tiene un método incorporado llamado `.length`. Cualquier cadena que llamemos a esto devolverá la cantidad de caracteres en esa cadena.

```javascript
const nombreGato = 'felix';
var nombreGato = 'felix';
console.log(nombreGato.length); // 5
```

Expand All @@ -195,8 +206,8 @@ Ahora que tenemos un conjunto de variables, necesitamos funciones para calcularl

```javascript
function miFuncion() {}
const otraFuncion = function () {};
const yOtra = () => {};
var otraFuncion = function () {};
var yOtra = () => {};
```

Usaremos la primera forma en esta lección y hablaremos sobre las otras formas en próximas lecciones.
Expand Down Expand Up @@ -238,15 +249,15 @@ function logHola(nombre) {
console.log( `Hola, ${nombre}`);
}

const miNombre = 'Antonio';
var miNombre = 'Antonio';
logHola(miNombre);
```

Podemos agregar múltiples argumentos colocando una coma entre ellos:

```javascript
function sumarDosNumeros(a, b) {
const suma = a + b;
var suma = a + b;
return suma;
}

Expand All @@ -258,7 +269,7 @@ En el ejemplo anterior presentamos la declaración `return`. No vamos a usar `co

```javascript
function dividirDosNumeros(a, b) {
const producto = a / b;
var producto = a / b;
return producto;
}

Expand All @@ -271,11 +282,11 @@ También podemos establecer variables para igualar lo que devuelve una función.

```javascript
function restarDosNumeros(a, b) {
const diferencia = a - b;
var diferencia = a - b;
return diferencia;
}

const diferenciaDeResta = restarDosNumeros(10, 9);
var diferenciaDeResta = restarDosNumeros(10, 9);
console.log(diferenciaDeResta); // 1
console.log(diferencia); // undefined
```
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
3 changes: 3 additions & 0 deletions Lesson03-JS-II/README.md → 03-JS-II/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 3: Javascript II (Flujos de control, operadores de comparación, bucles `for`)

En esta lección cubriremos:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions Lesson04-JS-III/README.md → 04-JS-III/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 4: Javascript III (continuación de bucles `for` y Arrays)

En esta lección cubriremos:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions Lesson05-JS-IV/README.md → 05-JS-IV/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 5: Javascript IV (Objetos)

En esta lección cubriremos:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions Lesson06-JS-V/README.md → 06-JS-V/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 6: Javascript V (Clases y `prototype`)

En esta lección cubriremos:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
3 changes: 3 additions & 0 deletions Lesson07-JS-VI/README.md → 07-JS-VI/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 7: Javascript VI (Callbacks)

En esta lección cubriremos:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions Lesson08-HTML/README.md → 08-HTML/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 8: Fundamentos HTML/CSS

En esta clase veremos:
Expand Down
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<p align='left'>
<img src='./logo.png'/ height='70px'>
</p>
# Lección 9: CSS Intermedio

En esta lección cubriremos:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
26 changes: 12 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
<p align='left'>
<img src='https://static.wixstatic.com/media/85087f_0d84cbeaeb824fca8f7ff18d7c9eaafd~mv2.png/v1/fill/w_160,h_30,al_c,q_85,usm_0.66_1.00_0.01/Logo_completo_Color_1PNG.webp' </img>
<img src='./logo.png'/ height='70px'>
</p>

# Modulo 0 - Prep

* [Git](./Lesson01-Git)
* JS:
<iframe src="https://player.vimeo.com/video/423898676" width="640" height="564" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>

- [I - Introducción a Javascript: Variables, tipos de datos y funciones](./Lesson02-JS-I)
- [II- Flujos de control, operadores de comparación, bucles for](./Lesson03-JS-II)
- [III - continuación de bucles for y Arrays](./Lesson04-JS-III)
- [IV - Objetos](./Lesson05-JS-IV)
- [V - Clases y prototype](./Lesson06-JS-V)
- [VI - Callbacks](./Lesson07-JS-VI)
* [01 - Git](./01-Git)
* [02 - I - Introducción a Javascript: Variables, tipos de datos y funciones](./02-JS-I)
* [03 - II- Flujos de control, operadores de comparación, bucles for](./03-JS-II)
* [04 - III - continuación de bucles for y Arrays](./04-JS-III)
* [05 - IV - Objetos](./05-JS-IV)
* [06 - V - Clases y prototype](./06-JS-V)
* [07 - VI - Callbacks](./07-JS-VI)
* Contenido extra (Recomendado)
- [VII - HTML](./Lesson08-HTML)
- [VIII - CSS](./Lesson09-CSS-Positioning)
* Checkpoint
- [VII - HTML](./08-HTML)
- [VIII - CSS](./09-CSS-Positioning)
* Checkpoint

>> El **Checkpoint** consiste en un ejercicio que integra todo este contenido, va a ser individual y van a tener un día completo para terminarlo. Para continuar con la carrera es necesario aprobar este Checkpoint.
<iframe src="https://player.vimeo.com/video/423898676" width="640" height="360" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
1 change: 0 additions & 1 deletion _config.yml

This file was deleted.

Binary file added logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 88ed6c8

Please sign in to comment.