Skip to content
Permalink
Browse files

fix: replace imgur with s3 for spanish guide without conflict (#36056)

* fix: replace imgur with s3 for spanish guide without conflict

* fix: revert incorrect changes
  • Loading branch information...
ahmadabdolsaheb authored and thecodingaviator committed May 20, 2019
1 parent 8b4fb5a commit 727d55fb5f1f32fe797df55aac6c8de98bd1bbc7
Showing with 60 additions and 58 deletions.
  1. +1 −1 guide/spanish/algorithms/greatest-common-divisor-euclidean/index.md
  2. +2 −2 guide/spanish/algorithms/greedy-algorithms/index.md
  3. +1 −1 ...esponsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element/index.md
  4. +1 −1 guide/spanish/computer-science/dynamic-programming/index.md
  5. +1 −1 guide/spanish/cplusplus/compilers/index.md
  6. +6 −5 guide/spanish/cplusplus/index.md
  7. +1 −1 guide/spanish/cplusplus/preprocessors/index.md
  8. +7 −6 guide/spanish/cplusplus/tokens-variables/index.md
  9. +6 −6 guide/spanish/css/css3-gradients/index.md
  10. +5 −5 guide/spanish/css/layout/flexbox/flex-grow/index.md
  11. +1 −1 guide/spanish/css/properties/background-position-property/index.md
  12. +1 −1 guide/spanish/css/using-css-animations/index.md
  13. +1 −1 guide/spanish/git/difference-git-github/index.md
  14. +1 −1 guide/spanish/html/layouts/index.md
  15. +1 −1 guide/spanish/javascript/concurrency-model-and-event-loop/index.md
  16. +3 −3 guide/spanish/javascript/tutorials/how-to-create-a-dropdown-menu-with-css-and-javascript/index.md
  17. +2 −2 guide/spanish/logic/monty-hall-problem/index.md
  18. +2 −2 guide/spanish/machine-learning/support-vector-machine/index.md
  19. +1 −1 guide/spanish/mathematics/2-by-2-determinants/index.md
  20. +6 −6 guide/spanish/mathematics/statistics/binomial-distribution/index.md
  21. +1 −1 guide/spanish/miscellaneous/create-and-upload-and-link-animated-gif-image/index.md
  22. +1 −1 guide/spanish/miscellaneous/storing-mongo-username--password-persistently-using-dotenv/index.md
  23. +1 −1 guide/spanish/miscellaneous/what-is-a-sprint/index.md
  24. +1 −1 guide/spanish/php/ajax/index.md
  25. +1 −1 guide/spanish/tools/source-code-editors/index.md
  26. +2 −2 guide/spanish/typescript/installation/index.md
  27. +1 −1 guide/spanish/typescript/javascript-vs-typescript/index.md
  28. +1 −1 mock-guide/spanish/git/difference-git-github/index.md
  29. +1 −1 mock-guide/spanish/html/layouts/index.md
@@ -33,7 +33,7 @@ El algoritmo euclidiano encuentra el GCD de 2 números.

Comprenderás mejor este algoritmo viéndolo en acción. Suponiendo que desea calcular el GCD de 1220 y 516, apliquemos el algoritmo euclídeo -

Suponiendo que desea calcular el GCD de 1220 y 516, apliquemos el algoritmo euclídeo - ![Ejemplo Euclidiano](https://i.imgur.com/aa8oGgP.png)
Suponiendo que desea calcular el GCD de 1220 y 516, apliquemos el algoritmo euclídeo - ![Ejemplo Euclidiano](https://cdn-media-1.freecodecamp.org/imgr/aa8oGgP.png)

Pseudo Código del algoritmo
Paso 1: **Sean `a, b` los dos números**
@@ -49,12 +49,12 @@ Echemos un vistazo a los diversos enfoques para resolver este problema.

1. **Tiempo de inicio más temprano primero,** es decir, seleccione el intervalo que tenga el tiempo de inicio más temprano. Eche un vistazo al siguiente ejemplo que rompe esta solución. Esta solución falló porque podría haber un intervalo que se inicia muy temprano pero que es muy largo. Esto significa que la próxima estrategia que podríamos probar sería donde miremos a intervalos más pequeños primero. ![El tiempo de partida más temprano primero](https://algorithmsandme.files.wordpress.com/2015/03/f268b-jobs.png?w=840)

2. **Intervalo más pequeño Primero,** es decir, terminas seleccionando las clases por orden de su intervalo general, que no es más que su `finish time - start time` . Una vez más, esta solución no es correcta. Mira el siguiente caso. ![Intervalo más corto primero](https://i.stack.imgur.com/4bz2N.png)
2. **Intervalo más pequeño Primero,** es decir, terminas seleccionando las clases por orden de su intervalo general, que no es más que su `finish time - start time` . Una vez más, esta solución no es correcta. Mira el siguiente caso. ![Intervalo más corto primero](https://cdn-media-1.freecodecamp.org/imgr/4bz2N.png)


Puede ver claramente que la clase de intervalo más corto es la que está en el medio, pero esa no es la solución óptima aquí. Veamos otra solución para este problema, derivando perspectivas de esta solución.

3. **Intervalo menos conflictivo Primero,** es decir, debe observar los intervalos que causan el menor número de conflictos. Una vez más, tenemos un ejemplo donde este enfoque no logra encontrar una solución óptima. ![Intervalo menos conflictivo primero](https://i.stack.imgur.com/5LZ9V.png)
3. **Intervalo menos conflictivo Primero,** es decir, debe observar los intervalos que causan el menor número de conflictos. Una vez más, tenemos un ejemplo donde este enfoque no logra encontrar una solución óptima. ![Intervalo menos conflictivo primero](https://cdn-media-1.freecodecamp.org/imgr/5LZ9V.png)

El diagrama nos muestra que el intervalo menos conflictivo es el que está en el medio con solo 2 conflictos. Después de eso solo podemos elegir los dos intervalos al final con conflictos 3 cada uno. Pero la solución óptima es elegir los 4 intervalos en el nivel superior.

@@ -23,7 +23,7 @@ Este elemento es de cierre automático, pero para ser amigable con los analizado

Sea cual sea el formato que elija, se creará una línea horizontal como en [esta lección](https://learn.freecodecamp.org/responsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element/) en [freeCodeCamp](https://www.freecodecamp.org/) . Aquí hay una captura de pantalla de esa lección que muestra un elemento `hr` contenido dentro de un div.

![Ejemplo hr](https://i.imgur.com/RMTqXPw.png)
![Ejemplo hr](https://cdn-media-1.freecodecamp.org/imgr/RMTqXPw.png)

## Recursos:

@@ -12,7 +12,7 @@ Un ejemplo con la serie de Fibonacci que se define como:

Este es el árbol para encontrar F (5):

![Árbol de la serie fibonacci](https://i.stack.imgur.com/59Rpw.png)
![Árbol de la serie fibonacci](https://cdn-media-1.freecodecamp.org/imgr/59Rpw.png)

Para calcular F (5) tendrá que calcular muchas veces la misma F (i). Utilizando la recursividad:

@@ -20,7 +20,7 @@ Digamos que tienes un archivo C ++ llamado `helloWorld.cpp` ...

#### Usando y IDE como CodeBlocks

Es tan simple como hacer clic en los botones de compilación y ejecución, crearán un archivo en la carpeta del proyecto. ![img](https://i.imgur.com/FwZuFGy.png)
Es tan simple como hacer clic en los botones de compilación y ejecución, crearán un archivo en la carpeta del proyecto. ![img](https://cdn-media-1.freecodecamp.org/imgr/FwZuFGy.png)

#### Usando el símbolo del sistema

@@ -1,7 +1,8 @@
---
title: C++
localeTitle: C ++
---# Hola Mundo! - Tu primer programa de C ++
---
title: C++
localeTitle: C ++
---
# Hola Mundo! - Tu primer programa de C ++

## ¿Qué es C ++?

@@ -79,7 +80,7 @@ int main()
### El código debe verse algo como esto:
![Img](https://i.imgur.com/d1liGwI.png)
![Img](https://cdn-media-1.freecodecamp.org/imgr/d1liGwI.png)
Los programadores utilizan un programa Hello World (como este) como un ritual en el uso de un nuevo lenguaje de programación. Es un símbolo de buena suerte.
_Ha terminado de codificar su primer programa de C ++ y ha comprendido la mayor parte del código que ha escrito / escrito. ¡FELICIDADES!_
@@ -6,7 +6,7 @@ localeTitle: Preprocesadores

Como su nombre lo indica, los preprocesadores son programas que procesan nuestro código fuente antes de compilar. Hay una serie de pasos involucrados entre escribir un programa y ejecutar un programa en C / C ++. Echemos un vistazo a estos pasos antes de que realmente comencemos a aprender acerca de los preprocesadores.

![Img](https://i.imgur.com/Pb0aTkV.png)
![Img](https://cdn-media-1.freecodecamp.org/imgr/Pb0aTkV.png)

Puedes ver los pasos intermedios en el diagrama de arriba. El código fuente escrito por los programadores se almacena en el archivo program.c. Este archivo luego es procesado por preprocesadores y se genera un archivo de código fuente expandido denominado programa. El compilador compila este archivo expandido y se genera un archivo de código de objeto denominado program.obj. Finalmente, el enlazador vincula este archivo de código de objeto con el código de objeto de las funciones de la biblioteca para generar el archivo ejecutable program.exe.

@@ -1,7 +1,8 @@
---
title: Tokens Part 1
localeTitle: Tokens parte 1
---### ¿Qué son los tokens?
---
title: Tokens Part 1
localeTitle: Tokens parte 1
---
### ¿Qué son los tokens?

Los tokens son las unidades más pequeñas de un programa que son importantes para el compilador. Hay diferentes tipos de fichas:

@@ -22,7 +23,7 @@ Los tokens son las unidades más pequeñas de un programa que son importantes pa

* Definición de libro de texto: las variables se denominan ubicaciones de memoria cuyos datos pueden modificarse.

* Pero me gustaría que pensaras en una variable como algo así como una caja, algo como esto: ![Img](https://i.imgur.com/YdbgWHL.png)
* Pero me gustaría que pensaras en una variable como algo así como una caja, algo como esto: ![Img](https://media-1.freecodecamp.org/imgr/YdbgWHL.png)


Así por ejemplo : Me estoy mudando a un nuevo lugar y necesito arreglar mis cosas en cajas. Por lo tanto, se me ocurren 2 cosas: **¿Qué tipo de cosas se almacenarán en la caja, de modo que se conozca el tamaño de la caja (el tipo de datos)** y **cómo se identifica la caja? (Nombrar la variable)**
@@ -177,7 +178,7 @@ Si una variable no está inicializada, contiene un valor de basura. Por ejemplo:

Así que en términos de cajas, puedes imaginar esto como ...

![Img](https://i.imgur.com/YdbgWHL.png)
![Img](https://media-1.freecodecamp.org/imgr/YdbgWHL.png)

\`\` \`cpp #incluir utilizando namespace std; int main () { int a cout << "Valor de basura en a:" << a << endl; // declarando la variable llamada 'a' de tipo entero a = 5; // inicializando variable. cout << "Nuevo valor en a" << a << endl;

@@ -24,7 +24,7 @@ background: linear-gradient(direction, color-stop1, color-stop2, ...);

##### Degradado lineal: de arriba a abajo (este es el valor predeterminado)

El siguiente ejemplo muestra un degradado lineal que comienza en la parte superior. Empieza en rojo, pasando a amarillo: ![gradiente lineal por defecto](https://i.imgur.com/2uGfleD.jpg)
El siguiente ejemplo muestra un degradado lineal que comienza en la parte superior. Empieza en rojo, pasando a amarillo: ![gradiente lineal por defecto](https://cdn-media-1.freecodecamp.org/imgr/2uGfleD.jpg)

#### Ejemplo
```
@@ -55,11 +55,11 @@ El siguiente ejemplo muestra un degradado lineal que comienza en la parte superi
</html>
```

![gradiente lineal por defecto](https://i.imgur.com/CvtXCMd.jpg)
![gradiente lineal por defecto](https://cdn-media-1.freecodecamp.org/imgr/CvtXCMd.jpg)

##### Gradiente lineal - de izquierda a derecha

El siguiente ejemplo muestra un degradado lineal que comienza desde la izquierda. Empieza en rojo, pasando a amarillo: ![de izquierda a derecha](https://i.imgur.com/e4dRvZR.jpg)
El siguiente ejemplo muestra un degradado lineal que comienza desde la izquierda. Empieza en rojo, pasando a amarillo: ![de izquierda a derecha](https://cdn-media-1.freecodecamp.org/imgr/e4dRvZR.jpg)

#### Ejemplo
```
@@ -90,15 +90,15 @@ El siguiente ejemplo muestra un degradado lineal que comienza desde la izquierda
</html>
```

![de izquierda a derecha](https://i.imgur.com/k4FSyXz.jpg)
![de izquierda a derecha](https://cdn-media-1.freecodecamp.org/imgr/k4FSyXz.jpg)

#### Degradado Lineal - Diagonal

Puede hacer un degradado en diagonal especificando las posiciones de inicio horizontales y verticales.

El siguiente ejemplo muestra un degradado lineal que comienza en la parte superior izquierda (y va hacia la parte inferior derecha). Empieza en rojo, pasando a amarillo:

![diagonal](https://i.imgur.com/YvtbUBH.jpg)
![diagonal](https://cdn-media-1.freecodecamp.org/imgr/YvtbUBH.jpg)

#### Ejemplo
```
@@ -129,7 +129,7 @@ El siguiente ejemplo muestra un degradado lineal que comienza en la parte superi
</html>
```

![diagonal-exp](https://i.imgur.com/8gKRhAp.jpg)
![diagonal-exp](https://cdn-media-1.freecodecamp.org/imgr/8gKRhAp.jpg)

#### Más información:

@@ -8,11 +8,11 @@ La propiedad flex-grow es una propiedad flexbox que le permite especificar la as

Te va a convertir tu contenedor de esta

![](https://i.imgur.com/lFJaBUfh.png)
![](https://cdn-media-1.freecodecamp.org/imgr/lFJaBUfh.png)

# **a esto**

![](https://i.imgur.com/4X8ITZih.png)
![](https://cdn-media-1.freecodecamp.org/imgr/4X8ITZih.png)

¿Lo que acaba de suceder?

@@ -49,7 +49,7 @@ Veamos un ejemplo.

Primero vamos a crear dos párrafos y habilitar la visualización: flex;

![](https://i.imgur.com/wPqUgsih.png)
![](https://cdn-media-1.freecodecamp.org/imgr/wPqUgsih.png)

Note algunas cosas

@@ -60,7 +60,7 @@ Ese espacio vacío es el "espacio libre" que se asignará a cada uno de los dife

Para ver esto en acción, démosle al primero una clase de "diez" y una propiedad de flex-grow de 1. También le demos al segundo una clase de "veinte" y una propiedad de flex-grow de 2.

![](https://i.imgur.com/7n0V1G4h.png)
![](https://cdn-media-1.freecodecamp.org/imgr/7n0V1G4h.png)

Note algunas cosas

@@ -69,6 +69,6 @@ Note algunas cosas

A medida que cambiamos el tamaño de la pantalla, también encontramos que el primero se reduce al doble de la velocidad del segundo.

![](https://i.imgur.com/pa4grM8h.png)
![](https://cdn-media-1.freecodecamp.org/imgr/pa4grM8h.png)

#### Más información:
@@ -11,7 +11,7 @@ La propiedad de fondo establece la posición desde donde debe comenzar la imagen
```css
/* setting background-image of HTML doc */
body {
background-image: url('https://i.imgur.com/6Z2VStD.png');
background-image: url('https://cdn-media-1.freecodecamp.org/imgr/6Z2VStD.png');
background-repeat: no-repeat;
background-position: right top;
}
@@ -63,7 +63,7 @@ Para la parte CSS:
}
```

![Imgur](https://imgur.com/sczZjwm.gif)
![Imgur](https://cdn-media-1.freecodecamp.org/imgr/sczZjwm.gif)

#### Más información:

@@ -6,7 +6,7 @@ localeTitle: Diferencia entre Git y GitHub

Git y GitHub son dos cosas diferentes. [Git](https://git-scm.com/) es el [sistema de control de versiones](https://en.wikipedia.org/wiki/Version_control) , mientras que [GitHub](https://github.com/) es un servicio proporcionado para alojar repositorios de Git y ayudar a las personas a colaborar en la escritura de software. Sin embargo, ambos servicios a menudo se confunden por su contar con un nombre similar, debido al hecho de que GitHub se construye sobre Git, y porque muchos sitios web y artículos no hacen una diferencia lo suficientemente clara entre ambos conceptos.

![Git no es GitHub](https://i.imgur.com/EkjwJdr.png)
![Git no es GitHub](https://cdn-media-1.freecodecamp.org/imgr/EkjwJdr.png)

### Git

@@ -8,7 +8,7 @@ Los diseños organizan diferentes áreas de la página web.

Casi todas las páginas web que vemos pueden dividirse en cuadros, que se pueden organizar en un orden específico para crear esa página web. La imagen de abajo es uno de esos ejemplos.

![Muestra de Diseño de Sitio Web - www.codementor.io](http://i.imgur.com/Z1DSMYC.png)
![Muestra de Diseño de Sitio Web - www.codementor.io](https://cdn-media-1.freecodecamp.org/imgr/Z1DSMYC.png)

> Los sitios web a menudo muestran el contenido en varias columnas (como una revista o un periódico).
@@ -33,7 +33,7 @@ Entonces, para resumir cada vez que se invoca una función, se inserta en la pil

Ahora sabemos por esto que Javascript puede ejecutar una cosa a la vez, pero ese no es el caso con el navegador. El navegador tiene su propio conjunto de API como setTimeout, XMLHttpRequests que no se especifican en el tiempo de ejecución de Javascript. De hecho, si revisa el código fuente de V8, el popular runtime de Javascript que impulsa los navegadores como Google Chrome, no encontrará ninguna definición para ello. Es porque estas API web especiales existen en el entorno del navegador y no en el entorno de javascript y se puede decir que estas API introducen la concurrencia en la mezcla. Veamos un diagrama para entender el cuadro completo.

![Modelo de bucle de concurrencia y evento](https://i.imgur.com/rnQEY7o.png)
![Modelo de bucle de concurrencia y evento](https://cdn-media-1.freecodecamp.org/imgr/rnQEY7o.png)

Se introducen algunos términos más

@@ -14,15 +14,15 @@ Así es como se ve el resultado del código:

Pantalla inicial:

![](https://i.imgur.com/jrnu6mE.png)
![](https://cdn-media-1.freecodecamp.org/imgr/jrnu6mE.png)

Desplegable abierto:

![](https://i.imgur.com/gszPtRa.png)
![](https://cdn-media-1.freecodecamp.org/imgr/gszPtRa.png)

Desplegable con la opción seleccionada:

![](https://i.imgur.com/TKXxZGF.png)
![](https://cdn-media-1.freecodecamp.org/imgr/TKXxZGF.png)

#### HTML:

@@ -10,11 +10,11 @@ El problema se define de la siguiente manera; Estás en un programa de juegos y

¡Resulta que la elección sí importa y es realmente beneficioso para usted cambiar su decisión a la Puerta 3! Este es el por qué. Cuando eligió la Puerta 1 de las 3 puertas cerradas, tuvo una probabilidad de 1 de cada 3 de que eligió la correcta. Tanto la Puerta 2 como la Puerta 3 también tienen una probabilidad 1 de las 3 de tener un auto detrás. También podría decir que las Puertas 2 y 3 tienen una probabilidad de 2 de 3 de tener un automóvil detrás de este _combinado_ .

![Probability before revealing a goat](https://i.imgur.com/8EsVvZk.png "Probabilidad antes de revelar una cabra")
![Probability before revealing a goat](https://cdn-media-1.freecodecamp.org/imgr/8EsVvZk.png "Probabilidad antes de revelar una cabra")

Ahora, cuando el anfitrión abre la Puerta 2 y contiene una cabra, ahora tiene más información sobre el problema. Recuerde que las Puertas 2 y 3 tienen una probabilidad combinada que contiene un carro 2 / 3rds del tiempo. Con la revelación de la puerta sabes que la puerta 2 no tiene coche. Pero, esta revelación no cambia la probabilidad combinada de las dos puertas. Esa es la clave para llevar aquí! Como ahora sabemos que la Puerta 2 tiene una probabilidad de 0/3 de mostrar un automóvil, ahora puede decir que la Puerta 3 tiene una probabilidad de 2/3 de contener un automóvil. La combinación de las probabilidades de la Puerta 2 y la Puerta 3 aún se suma a 2/3 como estaba antes de que se abriera la Puerta 2. La puerta 1 permanece sin cambios y solo tiene un tercio de probabilidad. Entonces, si decides cambiar, pasas de aproximadamente un 33.33% de probabilidad a 66.67% de escoger el auto. En otras palabras, ¡estás duplicando tus posibilidades de éxito cambiando!

![Probability after revealing a goat](https://i.imgur.com/V2JzAka.png "Probabilidad después de revelar una cabra")
![Probability after revealing a goat](https://cdn-media-1.freecodecamp.org/imgr/V2JzAka.png "Probabilidad después de revelar una cabra")

Sí, es posible que la Puerta 1 haya tenido el auto todo el tiempo y que Monty te haya engañado. Eso no importa. Usted está apostando aceptando el trato, pero está apostando con inteligencia. Tomas tu mejor decisión con la información que te dan y dejas que los dados rueden. A la larga, realiza un cambio mejor que un competidor que decide mantener su primera selección. Al final, Monty en realidad se engaña ofreciéndote un mejor trato.

@@ -6,13 +6,13 @@ localeTitle: Máquinas de vectores soporte

Una Máquina de vectores de soporte (SVM) es un clasificador discriminativo definido formalmente por un hiperplano separador. En otras palabras, dados los datos de entrenamiento etiquetados (aprendizaje supervisado), el algoritmo genera un hiperplano óptimo que categoriza nuevos ejemplos. Para ello, minimiza el margen entre los puntos de datos cerca del hiperplano.

![SVM vs regresión logística](https://i.imgur.com/KUeOSK3.png)
![SVM vs regresión logística](https://cdn-media-1.freecodecamp.org/imgr/KUeOSK3.png)

Una función de costo SVM busca aproximar la función logística con un lineal por tramos. Este algoritmo ML se usa para problemas de clasificación y es parte del subconjunto de algoritmos de aprendizaje supervisado.

### La función de costo

![Función de costo SVM](https://i.imgur.com/SOhv2jZ.png)
![Función de costo SVM](https://cdn-media-1.freecodecamp.org/imgr/SOhv2jZ.png)

La función de costo se utiliza para entrenar a la SVM. Al minimizar el valor de J (theta), podemos garantizar que el SVM sea lo más preciso posible. En la ecuación, las funciones cost1 y cost0 se refieren al costo de un ejemplo donde y = 1 y el costo de un ejemplo donde y = 0. El costo, para los SVM, está determinado por las funciones del kernel (similitud).

@@ -16,7 +16,7 @@ Las filas y los vectores de una matriz de 2 por 2 se pueden asociar con puntos e

El valor absoluto del determinante es igual al área del paralelogramo.

![](https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Area_parallellogram_as_determinant.svg/1044px-Area_parallellogram_as_determinant.svg.png) [Aquí](https://i.stack.imgur.com/gCaz3.png) hay una interesante prueba visual de esta propiedad.
![](https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Area_parallellogram_as_determinant.svg/1044px-Area_parallellogram_as_determinant.svg.png) [Aquí](https://cdn-media-1.freecodecamp.org/imgr/gCaz3.png) hay una interesante prueba visual de esta propiedad.

Nota: Si el determinante es igual a cero, no hay soluciones (intersecciones) para el sistema (las líneas son paralelas).

0 comments on commit 727d55f

Please sign in to comment.
You can’t perform that action at this time.