feature(translations): Normalize translations
translations are now listed under the prop "translations" and keys to the IETF lang tag.
This commit is contained in:
@ -53,8 +53,8 @@
|
||||
},
|
||||
"hint": {
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"description": "hints must be a single line of plain text"
|
||||
"description": "hints must be a single line of plain text",
|
||||
"default": []
|
||||
},
|
||||
"block": {
|
||||
"type": "string"
|
||||
@ -96,42 +96,16 @@
|
||||
"MDNlinks": {
|
||||
"type": "array"
|
||||
},
|
||||
"nameCn": {
|
||||
"type": "string"
|
||||
},
|
||||
"descriptionCn": {
|
||||
"type": "array"
|
||||
},
|
||||
"nameFr": {
|
||||
"type": "string"
|
||||
},
|
||||
"descriptionFr": {
|
||||
"type": "array"
|
||||
},
|
||||
"nameRu": {
|
||||
"type": "string"
|
||||
},
|
||||
"descriptionRu": {
|
||||
"type": "array"
|
||||
},
|
||||
"nameEs": {
|
||||
"type": "string"
|
||||
},
|
||||
"descriptionEs": {
|
||||
"type": "array"
|
||||
},
|
||||
"namePt": {
|
||||
"type": "string"
|
||||
},
|
||||
"descriptionPt": {
|
||||
"type": "array"
|
||||
},
|
||||
"solutions": {
|
||||
"type": "array",
|
||||
"default": []
|
||||
},
|
||||
"releasedOn": {
|
||||
"type": "string"
|
||||
},
|
||||
"translations": {
|
||||
"type": "object",
|
||||
"default": "{}"
|
||||
}
|
||||
},
|
||||
"validations": [],
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -61,22 +61,28 @@
|
||||
"RegExp"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Valida Números Telefónicos de los EEUU",
|
||||
"descriptionEs": [
|
||||
"Haz que la función devuelva true (verdadero) si el texto introducido es un número válido en los EEUU.",
|
||||
"El usuario debe llenar el campo del formulario de la forma que desee siempre y cuando sea un número válido en los EEUU. Los números mostrados a continuación tienen formatos válidos en los EEUU:",
|
||||
"<blockquote>555-555-5555\n(555)555-5555\n(555) 555-5555\n555 555 5555\n5555555555\n1 555 555 5555</blockquote>",
|
||||
"Para esta prueba se te presentará una cadena de texto como por ejemplo: <code>800-692-7753</code> o <code>8oo-six427676;laskdjf</code>. Tu trabajo consiste en validar o rechazar el número telefónico tomando como base cualquier combinación de los formatos anteriormente presentados. El código de área es requrido. Si el código de país es provisto, debes confirmar que este es <code>1</code>. La función debe devolver true si la cadena de texto es un número telefónico válido en los EEUU; de lo contrario, debe devolver false.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Verifica i numeri telefonici degli Stati Uniti",
|
||||
"descriptionIt": [
|
||||
"Ritorna <code>true</code> se la stringa passata come argomento è un numero valido negli Stati Uniti.",
|
||||
"L'utente può digitare qualunque stringa nel campo di inserimento, purchè sia un numero di telefono valido negli Stati Uniti. Qui sotto alcuni esempi di numeri di telefono validi negli Stati Uniti (fai riferimento ai test per le altre varianti):",
|
||||
"<blockquote>555-555-5555\n(555)555-5555\n(555) 555-5555\n555 555 5555\n5555555555\n1 555 555 5555</blockquote>",
|
||||
"In questo problema ti saranno presentate delle stringe come <code>800-692-7753</code> o <code>8oo-six427676;laskdjf</code>. Il tuo obiettivo è di validare o rigettare il numero di telefono basato su una qualunque combinazione dei formati specificati sopra. Il prefisso di zona è obbligatorio. Se il prefisso nazionale è presente, devi confermare che corrisponda a <code>1</code>. Ritorna <code>true</code> se la stringa è un numero di telefono valido negli Stati Uniti; altrimenti ritorna <code>false</code>.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Valida Números Telefónicos de los EEUU",
|
||||
"description": [
|
||||
"Haz que la función devuelva true (verdadero) si el texto introducido es un número válido en los EEUU.",
|
||||
"El usuario debe llenar el campo del formulario de la forma que desee siempre y cuando sea un número válido en los EEUU. Los números mostrados a continuación tienen formatos válidos en los EEUU:",
|
||||
"<blockquote>555-555-5555\n(555)555-5555\n(555) 555-5555\n555 555 5555\n5555555555\n1 555 555 5555</blockquote>",
|
||||
"Para esta prueba se te presentará una cadena de texto como por ejemplo: <code>800-692-7753</code> o <code>8oo-six427676;laskdjf</code>. Tu trabajo consiste en validar o rechazar el número telefónico tomando como base cualquier combinación de los formatos anteriormente presentados. El código de área es requrido. Si el código de país es provisto, debes confirmar que este es <code>1</code>. La función debe devolver true si la cadena de texto es un número telefónico válido en los EEUU; de lo contrario, debe devolver false.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Verifica i numeri telefonici degli Stati Uniti",
|
||||
"description": [
|
||||
"Ritorna <code>true</code> se la stringa passata come argomento è un numero valido negli Stati Uniti.",
|
||||
"L'utente può digitare qualunque stringa nel campo di inserimento, purchè sia un numero di telefono valido negli Stati Uniti. Qui sotto alcuni esempi di numeri di telefono validi negli Stati Uniti (fai riferimento ai test per le altre varianti):",
|
||||
"<blockquote>555-555-5555\n(555)555-5555\n(555) 555-5555\n555 555 5555\n5555555555\n1 555 555 5555</blockquote>",
|
||||
"In questo problema ti saranno presentate delle stringe come <code>800-692-7753</code> o <code>8oo-six427676;laskdjf</code>. Il tuo obiettivo è di validare o rigettare il numero di telefono basato su una qualunque combinazione dei formati specificati sopra. Il prefisso di zona è obbligatorio. Se il prefisso nazionale è presente, devi confermare che corrisponda a <code>1</code>. Ritorna <code>true</code> se la stringa è un numero di telefono valido negli Stati Uniti; altrimenti ritorna <code>false</code>.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a3f503de51cf954ede28891d",
|
||||
@ -114,18 +120,24 @@
|
||||
"Symmetric Difference"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Diferencia simétrica",
|
||||
"descriptionEs": [
|
||||
"Crea una función que acepte dos o más arreglos y que devuelva un arreglo conteniendo la diferenia simétrica entre ambos",
|
||||
"En Matemáticas, el término 'diferencia simétrica' se refiere a los elementos en dos conjuntos que están en el primer conjunto o en el segundo, pero no en ambos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Differenza simmetrica",
|
||||
"descriptionIt": [
|
||||
"Crea una funzione che accetti due o più array e che ritorni un array contenente la <dfn>differenza simmetrica</dfn> (<code>△</code> o <code>⊕</code>) degli stessi.",
|
||||
"Dati due insiemi (per esempio l'insieme <code>A = {1, 2, 3}<code> e l'insieme <code>B = {2, 3, 4}</code>, il termine matematico \"differenza simmetrica\" di due insiemi è l'insieme degli elementi che sono in almeno uno dei due insiemi, ma non in entrambi (<code>A △ B = C = {1, 4}</code>). Per ogni differenza simmetrica aggiuntiva che fai (per esempio su un insieme <code>D = {2, 3}</code>), devi prendere l'insieme degli elementi che sono in almeno uno dei due insiemi ma non in entrambi (<code>C △ D = {1, 4} △ {2, 3} = {1, 2, 3, 4}</code>).",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Diferencia simétrica",
|
||||
"description": [
|
||||
"Crea una función que acepte dos o más arreglos y que devuelva un arreglo conteniendo la diferenia simétrica entre ambos",
|
||||
"En Matemáticas, el término 'diferencia simétrica' se refiere a los elementos en dos conjuntos que están en el primer conjunto o en el segundo, pero no en ambos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Differenza simmetrica",
|
||||
"description": [
|
||||
"Crea una funzione che accetti due o più array e che ritorni un array contenente la <dfn>differenza simmetrica</dfn> (<code>△</code> o <code>⊕</code>) degli stessi.",
|
||||
"Dati due insiemi (per esempio l'insieme <code>A = {1, 2, 3}<code> e l'insieme <code>B = {2, 3, 4}</code>, il termine matematico \"differenza simmetrica\" di due insiemi è l'insieme degli elementi che sono in almeno uno dei due insiemi, ma non in entrambi (<code>A △ B = C = {1, 4}</code>). Per ogni differenza simmetrica aggiuntiva che fai (per esempio su un insieme <code>D = {2, 3}</code>), devi prendere l'insieme degli elementi che sono in almeno uno dei due insiemi ma non in entrambi (<code>C △ D = {1, 4} △ {2, 3} = {1, 2, 3, 4}</code>).",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "aa2e6f85cab2ab736c9a9b24",
|
||||
@ -175,22 +187,28 @@
|
||||
"Global Object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Cambio exacto",
|
||||
"descriptionEs": [
|
||||
"Crea una función que simule una caja registradora que acepte el precio de compra como el primer argumento, la cantidad recibida como el segundo argumento, y la cantidad de dinero disponible en la registradora (cid) como tercer argumento",
|
||||
"cid es un arreglo bidimensional que lista la cantidad de dinero disponible",
|
||||
"La función debe devolver la cadena de texto \"Insufficient Funds\" si el cid es menor al cambio requerido. También debe devolver \"Closed\" si el cid es igual al cambio",
|
||||
"De no ser el caso, devuelve el cambio en monedas y billetes, ordenados de mayor a menor denominación.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Cambio esatto",
|
||||
"descriptionIt": [
|
||||
"Scrivi una funzione che simuli un registro di cassa chiamata <code>checkCashRegister()</code> che accetti il prezzo degli articoli come primo argomento (<code>price</code>), la somma pagata (<code>cash</code>), e la somma disponibile nel registratore di cassa (<code>cid</code>) come terzo argomento.",
|
||||
"<code>cid</code> è un array a due dimensioni che contiene la quantità di monete e banconote disponibili.",
|
||||
"Ritorna la stringa <code>\"Insufficient Funds\"</code> se la quantità di denaro disponibile nel registratore di cassa non è abbastanza per restituire il resto. Ritorna la stringa <code>\"Closed\"</code> se il denaro disponibile è esattamente uguale al resto.",
|
||||
"Altrimenti, ritorna il resto in monete e banconote, ordinate da quelle con valore maggiore a quelle con valore minore.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Cambio exacto",
|
||||
"description": [
|
||||
"Crea una función que simule una caja registradora que acepte el precio de compra como el primer argumento, la cantidad recibida como el segundo argumento, y la cantidad de dinero disponible en la registradora (cid) como tercer argumento",
|
||||
"cid es un arreglo bidimensional que lista la cantidad de dinero disponible",
|
||||
"La función debe devolver la cadena de texto \"Insufficient Funds\" si el cid es menor al cambio requerido. También debe devolver \"Closed\" si el cid es igual al cambio",
|
||||
"De no ser el caso, devuelve el cambio en monedas y billetes, ordenados de mayor a menor denominación.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Cambio esatto",
|
||||
"description": [
|
||||
"Scrivi una funzione che simuli un registro di cassa chiamata <code>checkCashRegister()</code> che accetti il prezzo degli articoli come primo argomento (<code>price</code>), la somma pagata (<code>cash</code>), e la somma disponibile nel registratore di cassa (<code>cid</code>) come terzo argomento.",
|
||||
"<code>cid</code> è un array a due dimensioni che contiene la quantità di monete e banconote disponibili.",
|
||||
"Ritorna la stringa <code>\"Insufficient Funds\"</code> se la quantità di denaro disponibile nel registratore di cassa non è abbastanza per restituire il resto. Ritorna la stringa <code>\"Closed\"</code> se il denaro disponibile è esattamente uguale al resto.",
|
||||
"Altrimenti, ritorna il resto in monete e banconote, ordinate da quelle con valore maggiore a quelle con valore minore.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a56138aff60341a09ed6c480",
|
||||
@ -238,16 +256,22 @@
|
||||
"Global Array Object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Actualizando el inventario",
|
||||
"descriptionEs": [
|
||||
"Compara y actualiza el inventario actual, almacenado en un arreglo bidimensional, contra otro arreglo bidimensional de inventario nuevo. Actualiza las cantidades en el inventario actual y, en caso de recibir una nueva mercancía, añade su nombre y la cantidad recibida al arreglo del inventario en orden alfabético.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Aggiornamento dell'inventario",
|
||||
"descriptionIt": [
|
||||
"Confronta e aggiorna l'inventario, contenuto in un array bidimensionale, con un secondo array bidimensionale relativo ad una nuova consegna. Aggiorna le quantità disponibili in inventario (dentro <code>arr1</code>). Se uno degli articoli non è presente nell'inventario, aggiungi allo stesso il nuovo articolo e la sua quantità. Ritorna un array con l'inventario aggiornato, che deve essere ordinato alfabeticamente per articolo.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Actualizando el inventario",
|
||||
"description": [
|
||||
"Compara y actualiza el inventario actual, almacenado en un arreglo bidimensional, contra otro arreglo bidimensional de inventario nuevo. Actualiza las cantidades en el inventario actual y, en caso de recibir una nueva mercancía, añade su nombre y la cantidad recibida al arreglo del inventario en orden alfabético.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Aggiornamento dell'inventario",
|
||||
"description": [
|
||||
"Confronta e aggiorna l'inventario, contenuto in un array bidimensionale, con un secondo array bidimensionale relativo ad una nuova consegna. Aggiorna le quantità disponibili in inventario (dentro <code>arr1</code>). Se uno degli articoli non è presente nell'inventario, aggiungi allo stesso il nuovo articolo e la sua quantità. Ritorna un array con l'inventario aggiornato, che deve essere ordinato alfabeticamente per articolo.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a7bf700cd123b9a54eef01d5",
|
||||
@ -285,18 +309,24 @@
|
||||
"RegExp"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Sin repeticiones, por favor",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva el número total de permutaciones de las letras en la cadena de texto provista, en las cuales no haya letras consecutivas repetidas",
|
||||
"Por ejemplo, 'aab' debe retornar 2 porque, del total de 6 permutaciones posibles, solo 2 de ellas no tienen repetida la misma letra (en este caso 'a').",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Niente ripetizioni, per favore",
|
||||
"descriptionIt": [
|
||||
"Ritorna il numero totale di permutazioni della stringa passata che non hanno lettere consecutive riptetute. Assumi che tutti i caratteri nella stringa passata siano unici.",
|
||||
"Per esempio, <code>aab</code> deve ritornare 2, perchè la stringa ha 6 permutazioni possibili in totale (<code>aab</code>, <code>aab</code>, <code>aba</code>, <code>aba</code>, <code>baa</code>, <code>baa</code>), ma solo 2 di loro (<code>aba</code> e <code>aba</code>) non contengono la stessa lettera (in questo caso <code>a</code> ripetuta).",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Sin repeticiones, por favor",
|
||||
"description": [
|
||||
"Crea una función que devuelva el número total de permutaciones de las letras en la cadena de texto provista, en las cuales no haya letras consecutivas repetidas",
|
||||
"Por ejemplo, 'aab' debe retornar 2 porque, del total de 6 permutaciones posibles, solo 2 de ellas no tienen repetida la misma letra (en este caso 'a').",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Niente ripetizioni, per favore",
|
||||
"description": [
|
||||
"Ritorna il numero totale di permutazioni della stringa passata che non hanno lettere consecutive riptetute. Assumi che tutti i caratteri nella stringa passata siano unici.",
|
||||
"Per esempio, <code>aab</code> deve ritornare 2, perchè la stringa ha 6 permutazioni possibili in totale (<code>aab</code>, <code>aab</code>, <code>aba</code>, <code>aba</code>, <code>baa</code>, <code>baa</code>), ma solo 2 di loro (<code>aba</code> e <code>aba</code>) non contengono la stessa lettera (in questo caso <code>a</code> ripetuta).",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a19f0fbe1872186acd434d5a",
|
||||
@ -338,26 +368,32 @@
|
||||
"parseInt()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Rangos de fechas amigables",
|
||||
"descriptionEs": [
|
||||
"Convierte un rango de fecha que conste de dos fechas en formato AAAA-MM-DD a un formato más legible",
|
||||
"",
|
||||
"La presentación amigable debería usar nombres de meses en inglés en lugar de números y fechas ordinales en lugar de cardinales (\"1st\" en lugar de \"1\").",
|
||||
"No presentes información redundante o que pueda ser inferida por el usuario: si el rango de fechas termina en menos de un año desde la fecha incial, no presentes el año final. Si el rango termina en el mismo mes de la fecha inicial, no presentes ni el mes ni el año final.",
|
||||
"Además, si el rango de fechas comienza en el año actual y termina en un año o menos, no debes presentar el año al comienzo del rango amigable."
|
||||
],
|
||||
"titleIt": "Intervalli di date leggibili",
|
||||
"descriptionIt": [
|
||||
"Converti un intervallo di date composto da due date in formato <code>YYYY-MM-DD</code> in un formato più leggibile.",
|
||||
"Il formato leggibile deve usare i nomi dei mesi (in inglese) e le i numeri dei giorni in formato ordinale invece che cardinale (sempre in inglese. Ad esempio <code>1st</code> invece di <code>1</code>).",
|
||||
"Non mostrare informazioni ridondanti o che siano ricavabili dall'utente: se l'intervallo di date termina in <em>meno di un anno</em> da quando inizia, non mostrare l'<em>anno in cui l'intervallo termina</em>.",
|
||||
"In più, se l'intervallo di date incomincia nell'<em>anno corrente</em> (siamo nell'anno 2016) e finisce nel giro di un anno, l'anno non deve essere mostrato all'<em>inizio</em> del risultato.",
|
||||
"Se l'intervallo di date finisce nello <em>stesso mese</em> in cui incomincia, non mostrare l'<em>anno di termine nè il mese</em>.",
|
||||
"Esempi:",
|
||||
"<code>makeFriendlyDates([\"2016-07-01\", \"2016-07-04\"])</code> deve ritornare <code>[\"July 1st\",\"4th\"]</code>",
|
||||
"<code>makeFriendlyDates([\"2016-07-01\", \"2018-07-04\"])</code> deve ritornare <code>[\"July 1st, 2016\", \"July 4th, 2018\"]</code>.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Rangos de fechas amigables",
|
||||
"description": [
|
||||
"Convierte un rango de fecha que conste de dos fechas en formato AAAA-MM-DD a un formato más legible",
|
||||
"",
|
||||
"La presentación amigable debería usar nombres de meses en inglés en lugar de números y fechas ordinales en lugar de cardinales (\"1st\" en lugar de \"1\").",
|
||||
"No presentes información redundante o que pueda ser inferida por el usuario: si el rango de fechas termina en menos de un año desde la fecha incial, no presentes el año final. Si el rango termina en el mismo mes de la fecha inicial, no presentes ni el mes ni el año final.",
|
||||
"Además, si el rango de fechas comienza en el año actual y termina en un año o menos, no debes presentar el año al comienzo del rango amigable."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Intervalli di date leggibili",
|
||||
"description": [
|
||||
"Converti un intervallo di date composto da due date in formato <code>YYYY-MM-DD</code> in un formato più leggibile.",
|
||||
"Il formato leggibile deve usare i nomi dei mesi (in inglese) e le i numeri dei giorni in formato ordinale invece che cardinale (sempre in inglese. Ad esempio <code>1st</code> invece di <code>1</code>).",
|
||||
"Non mostrare informazioni ridondanti o che siano ricavabili dall'utente: se l'intervallo di date termina in <em>meno di un anno</em> da quando inizia, non mostrare l'<em>anno in cui l'intervallo termina</em>.",
|
||||
"In più, se l'intervallo di date incomincia nell'<em>anno corrente</em> (siamo nell'anno 2016) e finisce nel giro di un anno, l'anno non deve essere mostrato all'<em>inizio</em> del risultato.",
|
||||
"Se l'intervallo di date finisce nello <em>stesso mese</em> in cui incomincia, non mostrare l'<em>anno di termine nè il mese</em>.",
|
||||
"Esempi:",
|
||||
"<code>makeFriendlyDates([\"2016-07-01\", \"2016-07-04\"])</code> deve ritornare <code>[\"July 1st\",\"4th\"]</code>",
|
||||
"<code>makeFriendlyDates([\"2016-07-01\", \"2018-07-04\"])</code> deve ritornare <code>[\"July 1st, 2016\", \"July 4th, 2018\"]</code>.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a2f1d72d9b908d0bd72bb9f6",
|
||||
@ -401,24 +437,30 @@
|
||||
"Details of the Object Model"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Crea una Persona",
|
||||
"descriptionEs": [
|
||||
"Completa el constructor de objetos con los métodos especificados a continuación:",
|
||||
"<blockquote>getFirstName()\ngetLastName()\ngetFullName()\nsetFirstName(first)\nsetLastName(last)\nsetFullName(firstAndLast)</blockquote>",
|
||||
"Ejecuta las pruebas para ver el resultado esperado de cada método.",
|
||||
"Las funciones que aceptan argumentos deben aceptar sólo uno, y este tiene que ser una cadena.",
|
||||
"Estos métodos deben ser el único medio para interactuar con el objeto.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Crea una Persona",
|
||||
"descriptionIt": [
|
||||
"Completa il costruttore dell'oggetto con i metodi specificati qui sotto:",
|
||||
"<blockquote>getFirstName()\ngetLastName()\ngetFullName()\nsetFirstName(first)\nsetLastName(last)\nsetFullName(firstAndLast)</blockquote>",
|
||||
"Esegui i test per vedere il risultato atteso per ogni metodo.",
|
||||
"I metodi che richiedono un argomento devono accettarne solo uno e questo deve essere una stringa.",
|
||||
"Questi metodi devono essere l'unica maniera possibile di interagire con l'oggetto.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea una Persona",
|
||||
"description": [
|
||||
"Completa el constructor de objetos con los métodos especificados a continuación:",
|
||||
"<blockquote>getFirstName()\ngetLastName()\ngetFullName()\nsetFirstName(first)\nsetLastName(last)\nsetFullName(firstAndLast)</blockquote>",
|
||||
"Ejecuta las pruebas para ver el resultado esperado de cada método.",
|
||||
"Las funciones que aceptan argumentos deben aceptar sólo uno, y este tiene que ser una cadena.",
|
||||
"Estos métodos deben ser el único medio para interactuar con el objeto.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Crea una Persona",
|
||||
"description": [
|
||||
"Completa il costruttore dell'oggetto con i metodi specificati qui sotto:",
|
||||
"<blockquote>getFirstName()\ngetLastName()\ngetFullName()\nsetFirstName(first)\nsetLastName(last)\nsetFullName(firstAndLast)</blockquote>",
|
||||
"Esegui i test per vedere il risultato atteso per ogni metodo.",
|
||||
"I metodi che richiedono un argomento devono accettarne solo uno e questo deve essere una stringa.",
|
||||
"Questi metodi devono essere l'unica maniera possibile di interagire con l'oggetto.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "af4afb223120f7348cdfc9fd",
|
||||
@ -452,24 +494,30 @@
|
||||
"Math.pow()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Ubica los escombros",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva un nuevo arreglo que transforme la altitud promedio del elemento en su período orbital.",
|
||||
"El arreglo debe contener objetos en el formato <code>{name: 'name', avgAlt: avgAlt}</code>.",
|
||||
"Puedes leer acerca de períodos orbitales <a href=\"http://en.wikipedia.org/wiki/Orbital_period\" target='_blank'>en wikipedia</a>.",
|
||||
"Los valores deben estar redondeados al número entero más próximo. El cuerpo orbitado es la Tierra",
|
||||
"El radio de la Tierra es 6367.4447 kilómetros, y el valor GM del planeta es de 398600.4418 km<sup>3</sup>s<sup>-2</sup>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "Mappa i detriti",
|
||||
"descriptionIt": [
|
||||
"Ritorna un nuovo array che trasformi l'altitudine media degli elementi nel loro periodo orbitale.",
|
||||
"L'array conterrà oggetti in formato <code>{name: 'name', avgAlt: avgAlt}</code>.",
|
||||
"Puoi leggere riguardo i periodi orbitali <a href=\"http://en.wikipedia.org/wiki/Orbital_period\" target='_blank'>su wikipedia</a>.",
|
||||
"I valori devono essere arrotondati al numero intero più vicino. Il corpo attorno a cui orbitano gli elementi è la Terra.",
|
||||
"Il raggio della Terra è di 6367.4447 kilometri, e il valore GM della Terra è di 398600.4418 km<sup>3</sup>s<sup>-2</sup>.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Ubica los escombros",
|
||||
"description": [
|
||||
"Crea una función que devuelva un nuevo arreglo que transforme la altitud promedio del elemento en su período orbital.",
|
||||
"El arreglo debe contener objetos en el formato <code>{name: 'name', avgAlt: avgAlt}</code>.",
|
||||
"Puedes leer acerca de períodos orbitales <a href=\"http://en.wikipedia.org/wiki/Orbital_period\" target='_blank'>en wikipedia</a>.",
|
||||
"Los valores deben estar redondeados al número entero más próximo. El cuerpo orbitado es la Tierra",
|
||||
"El radio de la Tierra es 6367.4447 kilómetros, y el valor GM del planeta es de 398600.4418 km<sup>3</sup>s<sup>-2</sup>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "Mappa i detriti",
|
||||
"description": [
|
||||
"Ritorna un nuovo array che trasformi l'altitudine media degli elementi nel loro periodo orbitale.",
|
||||
"L'array conterrà oggetti in formato <code>{name: 'name', avgAlt: avgAlt}</code>.",
|
||||
"Puoi leggere riguardo i periodi orbitali <a href=\"http://en.wikipedia.org/wiki/Orbital_period\" target='_blank'>su wikipedia</a>.",
|
||||
"I valori devono essere arrotondati al numero intero più vicino. Il corpo attorno a cui orbitano gli elementi è la Terra.",
|
||||
"Il raggio della Terra è di 6367.4447 kilometri, e il valore GM della Terra è di 398600.4418 km<sup>3</sup>s<sup>-2</sup>.",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a3f503de51cfab748ff001aa",
|
||||
@ -505,23 +553,29 @@
|
||||
"Array.prototype.reduce()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "En parejas",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva la suma de todos los índices de los elementos de 'arr' que pueden ser emparejados con otro elemento de tal forma que la suma de ambos equivalga al valor del segundo argumento, 'arg'. Si varias combinaciones son posibles, devuelve la menor suma de índices. Una vez un elemento ha sido usado, no puede ser usado de nuevo para emparejarlo con otro elemento.",
|
||||
"Por ejemplo, pairwise([1, 4, 2, 3, 0, 5], 7) debe devolver 11 porque 4, 2, 3 y 5 pueden ser emparejados para obtener una suma de 7",
|
||||
"pairwise([1, 3, 2, 4], 4) devolvería el valor de 1, porque solo los primeros dos elementos pueden ser emparejados para sumar 4. ¡Recuerda que el primer elemento tiene un índice de 0!",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleIt": "A coppie",
|
||||
"descriptionIt": [
|
||||
"Dato un array <code>arr</code>, trova le coppie di elementi la cui somma è uguale al secondo argomento passato <code>arg</code>. Ritorna quindi la somma dei loro indici.",
|
||||
"Se ci sono più coppie possibili che hanno lo stesso valore numerico ma indici differenti, ritorna la somma degli indici minore. Una volta usato un elemento, lo stesso non può essere riutilizzato per essere accoppiato con un altro.",
|
||||
"Per esempio <code>pairwise([7, 9, 11, 13, 15], 20)</code> ritorna <code>6</code>. Le coppia la cui somma è 20 sono <code>[7, 13]</code> e <code>[9, 11]</code>. Possiamo quindi osservare l'array con i loro indici e valori.",
|
||||
"<table class=\"table\"><tr><th><b>Indice</b></th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th></tr><tr><td>Valore</td><td>7</td><td>9</td><td>11</td><td>13</td><td>15</td></tr></table>",
|
||||
"Qui sotto prendiamo gli indici corrispondenti e li sommiamo.",
|
||||
"7 + 13 = 20 → Indici 0 + 3 = 3<br>9 + 11 = 20 → Indici 1 + 2 = 3<br>3 + 3 = 6 → Ritorna <code>6</code>",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "En parejas",
|
||||
"description": [
|
||||
"Crea una función que devuelva la suma de todos los índices de los elementos de 'arr' que pueden ser emparejados con otro elemento de tal forma que la suma de ambos equivalga al valor del segundo argumento, 'arg'. Si varias combinaciones son posibles, devuelve la menor suma de índices. Una vez un elemento ha sido usado, no puede ser usado de nuevo para emparejarlo con otro elemento.",
|
||||
"Por ejemplo, pairwise([1, 4, 2, 3, 0, 5], 7) debe devolver 11 porque 4, 2, 3 y 5 pueden ser emparejados para obtener una suma de 7",
|
||||
"pairwise([1, 3, 2, 4], 4) devolvería el valor de 1, porque solo los primeros dos elementos pueden ser emparejados para sumar 4. ¡Recuerda que el primer elemento tiene un índice de 0!",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"it": {
|
||||
"title": "A coppie",
|
||||
"description": [
|
||||
"Dato un array <code>arr</code>, trova le coppie di elementi la cui somma è uguale al secondo argomento passato <code>arg</code>. Ritorna quindi la somma dei loro indici.",
|
||||
"Se ci sono più coppie possibili che hanno lo stesso valore numerico ma indici differenti, ritorna la somma degli indici minore. Una volta usato un elemento, lo stesso non può essere riutilizzato per essere accoppiato con un altro.",
|
||||
"Per esempio <code>pairwise([7, 9, 11, 13, 15], 20)</code> ritorna <code>6</code>. Le coppia la cui somma è 20 sono <code>[7, 13]</code> e <code>[9, 11]</code>. Possiamo quindi osservare l'array con i loro indici e valori.",
|
||||
"<table class=\"table\"><tr><th><b>Indice</b></th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th></tr><tr><td>Valore</td><td>7</td><td>9</td><td>11</td><td>13</td><td>15</td></tr></table>",
|
||||
"Qui sotto prendiamo gli indici corrispondenti e li sommiamo.",
|
||||
"7 + 13 = 20 → Indici 0 + 3 = 3<br>9 + 11 = 20 → Indici 1 + 2 = 3<br>3 + 3 = 6 → Ritorna <code>6</code>",
|
||||
"Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -24,19 +24,23 @@
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a esta: <a href='https://codepen.io/FreeCodeCamp/full/PNKdjo/' target='_blank'>https://codepen.io/FreeCodeCamp/full/PNKdjo/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo sumar, restar, multiplicar y dividir dos números.",
|
||||
"<span class='text-info'>Historia de usuario opcional:</span> Puedo limpiar la pantalla con un botón de borrar.",
|
||||
"<span class='text-info'>Historia de usuario opcional:</span> Puedo concatenar continuamente varias operaciones hasta que pulse el botón de igual, y la calculadora me mostrará la respuesta correcta.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen. ",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Crea una calculadora JavaScript"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea una calculadora JavaScript",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a esta: <a href='https://codepen.io/FreeCodeCamp/full/PNKdjo/' target='_blank'>https://codepen.io/FreeCodeCamp/full/PNKdjo/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo sumar, restar, multiplicar y dividir dos números.",
|
||||
"<span class='text-info'>Historia de usuario opcional:</span> Puedo limpiar la pantalla con un botón de borrar.",
|
||||
"<span class='text-info'>Historia de usuario opcional:</span> Puedo concatenar continuamente varias operaciones hasta que pulse el botón de igual, y la calculadora me mostrará la respuesta correcta.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen. ",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eddfaeb5bd0f",
|
||||
@ -59,32 +63,38 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте таймер Pomodoro",
|
||||
"descriptionRu": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/aNyxXR/' target='_blank'>https://codepen.io/FreeCodeCamp/full/aNyxXR/</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу запустить 25 минутную 'помидорку', по истечении которой таймер выключится.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу сбросить таймер для установки следующей 'помидорки'.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу выбирать длительность 'помидорки'.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"titleEs": "Crea un reloj pomodoro",
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/aNyxXR/' target='_blank'>https://codepen.io/FreeCodeCamp/full/aNyxXR/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo iniciar un pomodoro de 25 minutos, y el cronómetro terminará cuando pasen 25 minutos.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Como usuario, puedo reiniciar el reloj para comenzar mi siguiente pomodoro.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Como usuario, puedo personalizar la longitud de cada pomodoro.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un reloj pomodoro",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/aNyxXR/' target='_blank'>https://codepen.io/FreeCodeCamp/full/aNyxXR/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo iniciar un pomodoro de 25 minutos, y el cronómetro terminará cuando pasen 25 minutos.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Como usuario, puedo reiniciar el reloj para comenzar mi siguiente pomodoro.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Como usuario, puedo personalizar la longitud de cada pomodoro.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте таймер Pomodoro",
|
||||
"description": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/aNyxXR/' target='_blank'>https://codepen.io/FreeCodeCamp/full/aNyxXR/</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу запустить 25 минутную 'помидорку', по истечении которой таймер выключится.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу сбросить таймер для установки следующей 'помидорки'.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу выбирать длительность 'помидорки'.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eedfaeb5bd1c",
|
||||
@ -106,19 +116,23 @@
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/KzXQgy/' target='_blank'>https://codepen.io/FreeCodeCamp/full/KzXQgy/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo jugar un juego de Tic Tac Toe contra el computador.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Mi juego se reiniciará tan pronto como termine para poder jugar de nuevo.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo elegir si quiero jugar como X o como O.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Crea un juego de Tic Tac Toe"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un juego de Tic Tac Toe",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/KzXQgy/' target='_blank'>https://codepen.io/FreeCodeCamp/full/KzXQgy/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo jugar un juego de Tic Tac Toe contra el computador.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Mi juego se reiniciará tan pronto como termine para poder jugar de nuevo.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo elegir si quiero jugar como X o como O.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eddfaeb5bd1c",
|
||||
@ -146,25 +160,29 @@
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/Em-Ant/full/QbRyqq/' target='_blank'>https://codepen.io/Em-Ant/full/QbRyqq/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Se me presenta una serie aleatoria de pulsaciones a botones.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Cada vez que presiono una secuencia de pulsaciones correctamente, veo que vuelve a ejecutarse la misma serie de pulsaciones con un paso adicional.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Escucho un sonido que corresponde a cada botón cuando se ejecuta una secuencia de pulsaciones, así como cuando yo presiono un botón.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Si presiono el botón equivocado, se me notifica sobre mi error, y se ejecuta de nuevo la serie correcta de pulsaciones para recordarme cuál es la secuencia correcta, tras lo cual puedo intentar de nuevo.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver cuántos pasos hay en la serie de pulsaciones actual.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Si deseo reiniciar, puedo pulsar un botón para hacerlo, y el juego comenzará desde una secuencia con un solo paso.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo jugar en modo estricto donde si presiono el botón equivocado, se me notifica de mi error, y el juego vuelve a comenzar con una nueva serie aleatoria de colores.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ganar el juego si completo 20 pasos correctos. Se me notifica sobre mi victoria, tras lo cual el juego se reinicia.",
|
||||
"<span class='text-info'>Pista:</span> Aquí hay algunos mp3s que puedes utilizar para tus botones: <code>https://s3.amazonaws.com/freecodecamp/simonSound1.mp3</code>, <code>https://s3.amazonaws.com/freecodecamp/simonSound2.mp3</code>, <code>https://s3.amazonaws.com/freecodecamp/simonSound3.mp3</code>, <code>https://s3.amazonaws.com/freecodecamp/simonSound4.mp3</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Construye un juego de Simon"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Construye un juego de Simon",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/Em-Ant/full/QbRyqq/' target='_blank'>https://codepen.io/Em-Ant/full/QbRyqq/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Se me presenta una serie aleatoria de pulsaciones a botones.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Cada vez que presiono una secuencia de pulsaciones correctamente, veo que vuelve a ejecutarse la misma serie de pulsaciones con un paso adicional.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Escucho un sonido que corresponde a cada botón cuando se ejecuta una secuencia de pulsaciones, así como cuando yo presiono un botón.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Si presiono el botón equivocado, se me notifica sobre mi error, y se ejecuta de nuevo la serie correcta de pulsaciones para recordarme cuál es la secuencia correcta, tras lo cual puedo intentar de nuevo.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver cuántos pasos hay en la serie de pulsaciones actual.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Si deseo reiniciar, puedo pulsar un botón para hacerlo, y el juego comenzará desde una secuencia con un solo paso.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo jugar en modo estricto donde si presiono el botón equivocado, se me notifica de mi error, y el juego vuelve a comenzar con una nueva serie aleatoria de colores.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ganar el juego si completo 20 pasos correctos. Se me notifica sobre mi victoria, tras lo cual el juego se reinicia.",
|
||||
"<span class='text-info'>Pista:</span> Aquí hay algunos mp3s que puedes utilizar para tus botones: <code>https://s3.amazonaws.com/freecodecamp/simonSound1.mp3</code>, <code>https://s3.amazonaws.com/freecodecamp/simonSound2.mp3</code>, <code>https://s3.amazonaws.com/freecodecamp/simonSound3.mp3</code>, <code>https://s3.amazonaws.com/freecodecamp/simonSound4.mp3</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -37,34 +37,38 @@
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/sJkp30a.png",
|
||||
"Una imagen de un desafio sobre algoritmos que presenta instrucciones, pruebas y el editor de código.",
|
||||
"Nuestros desafios sobre algoritmos te enseñarán como pensar como un programador.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/d8LuRNh.png",
|
||||
"Una mamá pájaro saca un bebé pájaro fuer de su nido.",
|
||||
"Nuestros desafios anteriores te introdujeron a los conceptos de programación. Pero para estos desafios sobre algoritmos, ahora necesitarás aplicar lo que has aprendido y resolver problemas de respuesta abierta",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WBetuBa.jpg",
|
||||
"Un programador frustado golpeando la pantalla de su computador.",
|
||||
"Nuestros desafíos sobre algortimos son difíciles. Algunos pueden requerir muchas horas para resolverse. Podrás frustarte, pero no te rindas.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/p2TpOQd.jpg",
|
||||
"Un tierno perro que salta sobre un obstáculo, pica el ojo y te apunta con su pata.",
|
||||
"Cuando te atasques, usa la metodología Leer-Buscar-Preguntar.<br>No te preocupes - ya lo has entendido.",
|
||||
""
|
||||
]
|
||||
],
|
||||
"isRequired": false,
|
||||
"titleEs": "Prepárate para nuestros Desafíos sobre Algoritmos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Prepárate para nuestros Desafíos sobre Algoritmos",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/sJkp30a.png",
|
||||
"Una imagen de un desafio sobre algoritmos que presenta instrucciones, pruebas y el editor de código.",
|
||||
"Nuestros desafios sobre algoritmos te enseñarán como pensar como un programador.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/d8LuRNh.png",
|
||||
"Una mamá pájaro saca un bebé pájaro fuer de su nido.",
|
||||
"Nuestros desafios anteriores te introdujeron a los conceptos de programación. Pero para estos desafios sobre algoritmos, ahora necesitarás aplicar lo que has aprendido y resolver problemas de respuesta abierta",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WBetuBa.jpg",
|
||||
"Un programador frustado golpeando la pantalla de su computador.",
|
||||
"Nuestros desafíos sobre algortimos son difíciles. Algunos pueden requerir muchas horas para resolverse. Podrás frustarte, pero no te rindas.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/p2TpOQd.jpg",
|
||||
"Un tierno perro que salta sobre un obstáculo, pica el ojo y te apunta con su pata.",
|
||||
"Cuando te atasques, usa la metodología Leer-Buscar-Preguntar.<br>No te preocupes - ya lo has entendido.",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a202eed8fc186c8434cb6d61",
|
||||
@ -100,13 +104,17 @@
|
||||
"Array.prototype.join()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Invierte el texto",
|
||||
"descriptionEs": [
|
||||
"Invierte la cadena de texto que se te provee",
|
||||
"Puede que necesites convertir la cadena de texto en un arreglo antes de que puedas invertirla",
|
||||
"El resultado debe ser una cadena de texto",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Invierte el texto",
|
||||
"description": [
|
||||
"Invierte la cadena de texto que se te provee",
|
||||
"Puede que necesites convertir la cadena de texto en un arreglo antes de que puedas invertirla",
|
||||
"El resultado debe ser una cadena de texto",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a302f7aae1aa3152a5b413bc",
|
||||
@ -141,14 +149,18 @@
|
||||
"Arithmetic Operators"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Factoriza un número",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva el factorial del número entero que se te provee",
|
||||
"El factorial de un número entero positivo n es la multiplicación de todos los enteros positivos menores o iguales a n",
|
||||
"Los factoriales son comúnmente representados con la notación <code>n!</code>",
|
||||
"Por ejemplo: <code>5! = 1 * 2 * 3 * 4 * 5 = 120</code>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Factoriza un número",
|
||||
"description": [
|
||||
"Crea una función que devuelva el factorial del número entero que se te provee",
|
||||
"El factorial de un número entero positivo n es la multiplicación de todos los enteros positivos menores o iguales a n",
|
||||
"Los factoriales son comúnmente representados con la notación <code>n!</code>",
|
||||
"Por ejemplo: <code>5! = 1 * 2 * 3 * 4 * 5 = 120</code>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "aaa48de84e1ecc7c742e1124",
|
||||
@ -196,15 +208,19 @@
|
||||
"String.prototype.toLowerCase()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Verifica si es palíndromo",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva <code>true</code> si una cadena de texto dada es un palíndromo, y que devuelva <code>false</code> en caso contrario",
|
||||
"Un palíndromo es una palabra u oración que se escribe de la misma forma en ambos sentidos, sin tomar en cuenta signos de puntuación, espacios y sin distinguir entre mayúsculas y minúsculas.",
|
||||
"Tendrás que quitar los caracteres no alfanuméricos (signos de puntuación, espacioes y símbolos) y transformar las letras a minúsculas para poder verificar si el texto es palíndromo.",
|
||||
"Te proveeremos textos en varios formatos, como \"racecar\", \"RaceCar\", and \"race CAR\" entre otros.",
|
||||
"También vamos a pasar cadenas con símbolos especiales, tales como <code>\"2A3*3a2\"</code>, <code>\"2A3 3a2\"</code>, y <code>\"2_A3*3#A2\"</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Verifica si es palíndromo",
|
||||
"description": [
|
||||
"Crea una función que devuelva <code>true</code> si una cadena de texto dada es un palíndromo, y que devuelva <code>false</code> en caso contrario",
|
||||
"Un palíndromo es una palabra u oración que se escribe de la misma forma en ambos sentidos, sin tomar en cuenta signos de puntuación, espacios y sin distinguir entre mayúsculas y minúsculas.",
|
||||
"Tendrás que quitar los caracteres no alfanuméricos (signos de puntuación, espacioes y símbolos) y transformar las letras a minúsculas para poder verificar si el texto es palíndromo.",
|
||||
"Te proveeremos textos en varios formatos, como \"racecar\", \"RaceCar\", and \"race CAR\" entre otros.",
|
||||
"También vamos a pasar cadenas con símbolos especiales, tales como <code>\"2A3*3a2\"</code>, <code>\"2A3 3a2\"</code>, y <code>\"2_A3*3#A2\"</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a26cbbe9ad8655a977e1ceb5",
|
||||
@ -239,12 +255,16 @@
|
||||
"String.length"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Encuentra la palabra más larga",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva la longitud de la palabra más larga en una frase dada",
|
||||
"El resultado debe ser un número",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Encuentra la palabra más larga",
|
||||
"description": [
|
||||
"Crea una función que devuelva la longitud de la palabra más larga en una frase dada",
|
||||
"El resultado debe ser un número",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ab6137d4e35944e21037b769",
|
||||
@ -276,12 +296,16 @@
|
||||
"String.prototype.split()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Aplica formato de título",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva la cadena de texto que recibe con la primera letra de cada palabra en mayúscula. Asegúrate de que el resto de las letras sean minúsculas",
|
||||
"Para este ejercicio, también debes poner en mayúscula conectores como \"the\" y \"of\".",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Aplica formato de título",
|
||||
"description": [
|
||||
"Crea una función que devuelva la cadena de texto que recibe con la primera letra de cada palabra en mayúscula. Asegúrate de que el resto de las letras sean minúsculas",
|
||||
"Para este ejercicio, también debes poner en mayúscula conectores como \"the\" y \"of\".",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a789b3483989747d63b0e427",
|
||||
@ -313,13 +337,17 @@
|
||||
"Comparison Operators"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Devuelve el mayor entero de cada arreglo",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva un arreglo que contenga el mayor de los números de cada sub-arreglo que recibe. Para simplificar las cosas, el arreglo que recibirá tendrá exactamente 4 sub-arreglos",
|
||||
"Recuerda que puedes iterar a través de un arreglo con un búcle simple, y acceder a cada miembro utilizando la sintaxis arr[i].",
|
||||
"Si escribes tu propio test con Chai.js, asegúrate de utilizar un operador de igualdad estricto en lugar de un operador de igualdad cuando compares arreglos. ",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Devuelve el mayor entero de cada arreglo",
|
||||
"description": [
|
||||
"Crea una función que devuelva un arreglo que contenga el mayor de los números de cada sub-arreglo que recibe. Para simplificar las cosas, el arreglo que recibirá tendrá exactamente 4 sub-arreglos",
|
||||
"Recuerda que puedes iterar a través de un arreglo con un búcle simple, y acceder a cada miembro utilizando la sintaxis arr[i].",
|
||||
"Si escribes tu propio test con Chai.js, asegúrate de utilizar un operador de igualdad estricto en lugar de un operador de igualdad cuando compares arreglos. ",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "acda2fb1324d9b0fa741e6b5",
|
||||
@ -358,11 +386,15 @@
|
||||
"String.prototype.substring()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Confirma la terminación",
|
||||
"descriptionEs": [
|
||||
"Verifica si una cadena de texto (primer argumento) termina con otra cadena de texto (segundo argumento).",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Confirma la terminación",
|
||||
"description": [
|
||||
"Verifica si una cadena de texto (primer argumento) termina con otra cadena de texto (segundo argumento).",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "afcc8d540bea9ea2669306b6",
|
||||
@ -396,11 +428,15 @@
|
||||
"Global String Object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Repite el texto Repite el texto",
|
||||
"descriptionEs": [
|
||||
"Repite una cadena de texto dada (primer argumento) <code>num</code> veces (segundo argumento). Retorna una cadena de texto vacía si <code>num</code> es un número negativo.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Repite el texto Repite el texto",
|
||||
"description": [
|
||||
"Repite una cadena de texto dada (primer argumento) <code>num</code> veces (segundo argumento). Retorna una cadena de texto vacía si <code>num</code> es un número negativo.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ac6993d51946422351508a41",
|
||||
@ -436,13 +472,17 @@
|
||||
"String.prototype.slice()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Trunca una cadena de texto",
|
||||
"descriptionEs": [
|
||||
"Trunca una cadena de texto (primer argumento) si su longitud es mayor que un máximo de caracteres dado (segundo argumento). Devuelve la cadena de texto truncada con una terminación \"...\".",
|
||||
"Ten en cuenta que los tres puntos al final también se cuentan dentro de la longitud de la cadena de texto.",
|
||||
"Si el <code>num</code es menor o igual a 3, entonces la longitud de los 3 puntos no se añade a la longitud de la cadena.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Trunca una cadena de texto",
|
||||
"description": [
|
||||
"Trunca una cadena de texto (primer argumento) si su longitud es mayor que un máximo de caracteres dado (segundo argumento). Devuelve la cadena de texto truncada con una terminación \"...\".",
|
||||
"Ten en cuenta que los tres puntos al final también se cuentan dentro de la longitud de la cadena de texto.",
|
||||
"Si el <code>num</code es menor o igual a 3, entonces la longitud de los 3 puntos no se añade a la longitud de la cadena.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a9bd25c716030ec90084d8a1",
|
||||
@ -478,11 +518,15 @@
|
||||
"Array.prototype.slice()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "En mil pedazos",
|
||||
"descriptionEs": [
|
||||
"Escribe una función que parta un arreglo (primer argumento) en fragmentos de una longitud dada (segundo argumento) y los devuelva en forma de un arreglo bidimensional.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "En mil pedazos",
|
||||
"description": [
|
||||
"Escribe una función que parta un arreglo (primer argumento) en fragmentos de una longitud dada (segundo argumento) y los devuelva en forma de un arreglo bidimensional.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ab31c21b530c0dafa9e241ee",
|
||||
@ -518,12 +562,16 @@
|
||||
"Array.prototype.splice()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Vuélale la cabeza",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva los elementos restantes de un arreglo después de eliminar <code>n</code> elementos de la cabeza.",
|
||||
"Por cabeza nos referimos al inicio de un arreglo, comenzando por el índice 0.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Vuélale la cabeza",
|
||||
"description": [
|
||||
"Crea una función que devuelva los elementos restantes de un arreglo después de eliminar <code>n</code> elementos de la cabeza.",
|
||||
"Por cabeza nos referimos al inicio de un arreglo, comenzando por el índice 0.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "af2170cad53daa0770fabdea",
|
||||
@ -562,14 +610,18 @@
|
||||
"String.prototype.indexOf()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Mutaciones",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva <code>true</code> si la cadena de texto del primer elemento de un arreglo contiene todas las letras de la cadena de texto del segundo elemento del arreglo.",
|
||||
"Por ejemplo, <code>[\"hello\", \"Hello\"]</code>, debe devolver <code>true</code> porque todas las letras en la segunda cadena de texto están presentes en la primera, sin distinguir entre mayúsculas y minúsculas.",
|
||||
"En el caso de <code>[\"hello\", \"hey\"]</code> la función debe devolver false porque la cadena de texto \"hello\" no contiene una \"y\".",
|
||||
"Finalmente, <code>[\"Alien\", \"line\"]</code>, la función debe devolver <code>true</code> porque todas las letras en \"line\" están presentes en \"Alien\".",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Mutaciones",
|
||||
"description": [
|
||||
"Crea una función que devuelva <code>true</code> si la cadena de texto del primer elemento de un arreglo contiene todas las letras de la cadena de texto del segundo elemento del arreglo.",
|
||||
"Por ejemplo, <code>[\"hello\", \"Hello\"]</code>, debe devolver <code>true</code> porque todas las letras en la segunda cadena de texto están presentes en la primera, sin distinguir entre mayúsculas y minúsculas.",
|
||||
"En el caso de <code>[\"hello\", \"hey\"]</code> la función debe devolver false porque la cadena de texto \"hello\" no contiene una \"y\".",
|
||||
"Finalmente, <code>[\"Alien\", \"line\"]</code>, la función debe devolver <code>true</code> porque todas las letras en \"line\" están presentes en \"Alien\".",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "adf08ec01beb4f99fc7a68f2",
|
||||
@ -603,12 +655,16 @@
|
||||
"Array.prototype.filter()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Detector de mentiras",
|
||||
"descriptionEs": [
|
||||
"Remueve todos los valores falsy de un arreglo dado",
|
||||
"En javascript, los valores falsy son los siguientes: <code>false</code>, <code>null</code>, <code>0</code>, <code>\"\"</code>, <code>undefined</code>, y <code>NaN</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Detector de mentiras",
|
||||
"description": [
|
||||
"Remueve todos los valores falsy de un arreglo dado",
|
||||
"En javascript, los valores falsy son los siguientes: <code>false</code>, <code>null</code>, <code>0</code>, <code>\"\"</code>, <code>undefined</code>, y <code>NaN</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a39963a4c10bc8b4d4f06d7e",
|
||||
@ -642,11 +698,15 @@
|
||||
"Array.prototype.filter()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Buscar y destruir",
|
||||
"descriptionEs": [
|
||||
"Se te proveerá un arreglo inicial (el primer argumento en la función <code>destroyer</code>), seguido por uno o más argumentos. Elimina todos los elementos del arreglo inicial que tengan el mismo valor que el resto de argumentos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Buscar y destruir",
|
||||
"description": [
|
||||
"Se te proveerá un arreglo inicial (el primer argumento en la función <code>destroyer</code>), seguido por uno o más argumentos. Elimina todos los elementos del arreglo inicial que tengan el mismo valor que el resto de argumentos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a24c1a4622e3c05097f71d67",
|
||||
@ -683,13 +743,17 @@
|
||||
"Array.prototype.sort()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "¿Cuál es mi asiento?",
|
||||
"descriptionEs": [
|
||||
"Devuelve el menor índice en el que un valor (segundo argumento) debe ser insertado en un arreglo (primer argumento) una vez ha sido ordenado.",
|
||||
"Por ejemplo, where([1,2,3,4], 1.5) debe devolver 1 porque el segundo argumento de la función (1.5) es mayor que 1 (con índice 0 en el arreglo), pero menor que 2 (con índice 1).",
|
||||
"Mientras que <code>where([20,3,5], 19)</code> debe devolver <code>2</code> porque una vez ordenado el arreglo se verá com <code>[3,5,20]</code> y <code>19</code> es menor que <code>20</code> (índice 2) y mayor que <code>5</code> (índice 1).",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "¿Cuál es mi asiento?",
|
||||
"description": [
|
||||
"Devuelve el menor índice en el que un valor (segundo argumento) debe ser insertado en un arreglo (primer argumento) una vez ha sido ordenado.",
|
||||
"Por ejemplo, where([1,2,3,4], 1.5) debe devolver 1 porque el segundo argumento de la función (1.5) es mayor que 1 (con índice 0 en el arreglo), pero menor que 2 (con índice 1).",
|
||||
"Mientras que <code>where([20,3,5], 19)</code> debe devolver <code>2</code> porque una vez ordenado el arreglo se verá com <code>[3,5,20]</code> y <code>19</code> es menor que <code>20</code> (índice 2) y mayor que <code>5</code> (índice 1).",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56533eb9ac21ba0edf2244e2",
|
||||
@ -728,16 +792,20 @@
|
||||
"String.fromCharCode()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"titleEs": "Cifrado César",
|
||||
"descriptionEs": [
|
||||
"Uno de los <dfn>cifrados</dfn> más simples y ampliamente conocidos es el <code>cifrado César</code>, también llamado <code>cifrado por desplazamiento</code>. En un <code>cifrado por desplazamiento</code> los significados de las letras se desplazan por una cierta cantidad.",
|
||||
"Un uso moderno común es el cifrado <a href=\"https://en.wikipedia.org/wiki/ROT13\" target='_blank'>ROT13</a> , donde los valores de las letras se desplazan 13 espacios. De esta forma 'A' ↔ 'N', 'B' ↔ 'O' y así.",
|
||||
"Crea una función que tome una cadena de texto cifrada en <a href=\"https://en.wikipedia.org/wiki/ROT13\" target='_blank'>ROT13</a> como argumento y que devuelva la cadena de texto decodificada.",
|
||||
"Todas las letras que se te pasen van a estar en mayúsculas. No transformes ningún caracter no-alfabético (por ejemplo: espacios, puntuación). Simplemente pásalos intactos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"isRequired": true,
|
||||
"releasedOn": "January 1, 2016"
|
||||
"releasedOn": "January 1, 2016",
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Cifrado César",
|
||||
"description": [
|
||||
"Uno de los <dfn>cifrados</dfn> más simples y ampliamente conocidos es el <code>cifrado César</code>, también llamado <code>cifrado por desplazamiento</code>. En un <code>cifrado por desplazamiento</code> los significados de las letras se desplazan por una cierta cantidad.",
|
||||
"Un uso moderno común es el cifrado <a href=\"https://en.wikipedia.org/wiki/ROT13\" target='_blank'>ROT13</a> , donde los valores de las letras se desplazan 13 espacios. De esta forma 'A' ↔ 'N', 'B' ↔ 'O' y así.",
|
||||
"Crea una función que tome una cadena de texto cifrada en <a href=\"https://en.wikipedia.org/wiki/ROT13\" target='_blank'>ROT13</a> como argumento y que devuelva la cadena de texto decodificada.",
|
||||
"Todas las letras que se te pasen van a estar en mayúsculas. No transformes ningún caracter no-alfabético (por ejemplo: espacios, puntuación). Simplemente pásalos intactos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -56,84 +56,90 @@
|
||||
"type": "Waypoint",
|
||||
"isRequired": false,
|
||||
"challengeType": 7,
|
||||
"titleRu": "Приготовьтесь к разработке фронтенд проектов",
|
||||
"descriptionRu": [
|
||||
[
|
||||
"//i.imgur.com/OAD6SJz.png",
|
||||
"Игра Саймона - один из фронтенд проектов.",
|
||||
"Наши фронтенд проекты дадут вам шанс применить полученные к этому моменту знания по фронтенд разработке. Мы будем использовать популярный браузерный редактор кода - CodePen.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WBetuBa.jpg",
|
||||
"Программист от отчаяния кулаком пробивает экран своего ноутбука.",
|
||||
"Это трудные проекты. Разработка каждого занимает у большинства кэмперов несколько дней. У вас может возникнуть чувство отчаяния. Несмотря на это не сдавайтесь. С практикой этот процесс станет проще.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/p2TpOQd.jpg",
|
||||
"Милый пес, прыгающий через препятствие, указывает на вас лапой и подмигивает.",
|
||||
"Если что-то не получается, воспользуйтесь Read-Search-Ask. Не волнуйтесь - вы сможете это сделать.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G1saeDt.gif",
|
||||
"Гифка показывающая как зарегистрироваться на CodePen.",
|
||||
"Для заданий по фронтенд разработке, мы будем использовать популярный браузерный редактор кода под названием CodePen. Откройте страницу регистрации на сайте CodePen, нажав на расположенную чуть ниже кнопку \"Open link in new tab\". Заполните форму и нажмите \"Sign up\". <br><div class=\"small\">Замечание: Если у вас уже есть аккаунт CodePen, то этот шаг можно пропустить: нажмите на кнопку \"Open link in new tab\", закройте появившуюся вкладку и затем кликните \"go to my next step\". Мы убрали кнопку \"skip step\", ввиду того что большинство людей просто нажимали бы ее несколько раз подряд и пропускали бы эти важные инструкции.</div>",
|
||||
"https://codepen.io/signup/free"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/U4y9RJ1.gif",
|
||||
"Гифка показывающая набор в редакторе заголовка с текстом \"hello world\", который затем отображается в окошке предпросмотра. А также указывающая как изменить размер окон редактора или поменять их расположение.",
|
||||
"В окошке HTML создайте элемент h1 с текстом \"Hello World\". Ухватив края окон можно изменить их размер. А нажав на кнопку \"Change View\" поменять их расположение.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G9KFQDL.gif",
|
||||
"Гифка показывающая как в CodePen добавить к проекту Bootstrap.",
|
||||
"Нажмите на звездочку в левом верхнем углу окошка CSS, найдите внизу поле \"Quick add\" и выберите в нем Bootstrap. Добавьте к элементу h1 класс \"text-primary\", чтобы изменить его цвет и удостовериться, что Bootstrap подключен.",
|
||||
""
|
||||
]
|
||||
],
|
||||
"titleEs": "Prepárate para los Proyectos de Desarrollo de Interfaces",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/OAD6SJz.png",
|
||||
"Una imagen del juego Simón, uno de nuestros proyectos de interfaz.",
|
||||
"Nuestros proyectos de desarrollo de interfaces te darán oportunidad de aplicar las habilidades con interfaces que has desarrollado hasta este momento. Usaremos un editor de código basado en el navegador llamado CodePen.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WBetuBa.jpg",
|
||||
"Un programador frustado golpeando la pantalla de su computador.",
|
||||
"Nuestros desafíos sobre algoritmos son difíciles. Algunos pueden requerir muchas horas para resolverse. Podrás frustarte, pero no te rindas. Se vuelve fácil con práctica.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/p2TpOQd.jpg",
|
||||
"Un tierno perro que salta sobre un obstáculo, pica el ojo y te apunta con su pata.",
|
||||
"Cuando te atasques, usa la metodología Leer-Buscar-Preguntar. No te preocupes - lo tienes resuelto.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G1saeDt.gif",
|
||||
"Un gif que muestra cómo crear una cuenta en Codepen.",
|
||||
"Para nuestros desafíos de interfaces, usaremos un editor de código basado en el navegador que es muy famoso llamado Codepen. Pulsa en el botón de abajo \"Open link in new tab\" para abrir la página de registro de CodePen. Rellena el formulario y pulsa \"Sign up\". <br><div class=\"small\">Nota: Si ya tienes una cuenta de CodePen, puedes omitir este paso pulsando \"Open link in new tab\", cierra la nueva pestaña que se abre, entonces pulsa \"go to my next step\". Eliminamos nuestro botón \"skip step\" porque mucha gente solamente pulsa el botón sin realizar estos importantes pasos.</div>",
|
||||
"https://codepen.io/signup/free"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/U4y9RJ1.gif",
|
||||
"Un gif que muestra que puedes escribir \"hello world\" en el editor, lo cual escribirá \"hello world\" en la ventana de vista previa. También puedes mover las ventanas para cambiar su tamaño, y cambiar su orientación.",
|
||||
"En la ventana de HTML, crea un elemento h1 con el texto \"Hola mundo\". Puedes arrastrar los bordes de las ventanas para cambiar su tamaño. También puedes pulsar el botón de \"Change View\" para cambiar la orientación de las ventanas.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G9KFQDL.gif",
|
||||
"Un gif que muestra el proceso de agregar Bootstrap a tu proyecto.",
|
||||
"Pulsa el engrane en la esquina superior izquierda de la ventana de CSS, luego ve hacia abajo hasta donde dice \"Quick add\" y elige Bootstrap. Ahora dale a tu elemento h1 la clase \"text-primary\" para cambiar su color y verificar que Bootstrap está activado.",
|
||||
""
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Prepárate para los Proyectos de Desarrollo de Interfaces",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/OAD6SJz.png",
|
||||
"Una imagen del juego Simón, uno de nuestros proyectos de interfaz.",
|
||||
"Nuestros proyectos de desarrollo de interfaces te darán oportunidad de aplicar las habilidades con interfaces que has desarrollado hasta este momento. Usaremos un editor de código basado en el navegador llamado CodePen.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WBetuBa.jpg",
|
||||
"Un programador frustado golpeando la pantalla de su computador.",
|
||||
"Nuestros desafíos sobre algoritmos son difíciles. Algunos pueden requerir muchas horas para resolverse. Podrás frustarte, pero no te rindas. Se vuelve fácil con práctica.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/p2TpOQd.jpg",
|
||||
"Un tierno perro que salta sobre un obstáculo, pica el ojo y te apunta con su pata.",
|
||||
"Cuando te atasques, usa la metodología Leer-Buscar-Preguntar. No te preocupes - lo tienes resuelto.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G1saeDt.gif",
|
||||
"Un gif que muestra cómo crear una cuenta en Codepen.",
|
||||
"Para nuestros desafíos de interfaces, usaremos un editor de código basado en el navegador que es muy famoso llamado Codepen. Pulsa en el botón de abajo \"Open link in new tab\" para abrir la página de registro de CodePen. Rellena el formulario y pulsa \"Sign up\". <br><div class=\"small\">Nota: Si ya tienes una cuenta de CodePen, puedes omitir este paso pulsando \"Open link in new tab\", cierra la nueva pestaña que se abre, entonces pulsa \"go to my next step\". Eliminamos nuestro botón \"skip step\" porque mucha gente solamente pulsa el botón sin realizar estos importantes pasos.</div>",
|
||||
"https://codepen.io/signup/free"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/U4y9RJ1.gif",
|
||||
"Un gif que muestra que puedes escribir \"hello world\" en el editor, lo cual escribirá \"hello world\" en la ventana de vista previa. También puedes mover las ventanas para cambiar su tamaño, y cambiar su orientación.",
|
||||
"En la ventana de HTML, crea un elemento h1 con el texto \"Hola mundo\". Puedes arrastrar los bordes de las ventanas para cambiar su tamaño. También puedes pulsar el botón de \"Change View\" para cambiar la orientación de las ventanas.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G9KFQDL.gif",
|
||||
"Un gif que muestra el proceso de agregar Bootstrap a tu proyecto.",
|
||||
"Pulsa el engrane en la esquina superior izquierda de la ventana de CSS, luego ve hacia abajo hasta donde dice \"Quick add\" y elige Bootstrap. Ahora dale a tu elemento h1 la clase \"text-primary\" para cambiar su color y verificar que Bootstrap está activado.",
|
||||
""
|
||||
]
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Приготовьтесь к разработке фронтенд проектов",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/OAD6SJz.png",
|
||||
"Игра Саймона - один из фронтенд проектов.",
|
||||
"Наши фронтенд проекты дадут вам шанс применить полученные к этому моменту знания по фронтенд разработке. Мы будем использовать популярный браузерный редактор кода - CodePen.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WBetuBa.jpg",
|
||||
"Программист от отчаяния кулаком пробивает экран своего ноутбука.",
|
||||
"Это трудные проекты. Разработка каждого занимает у большинства кэмперов несколько дней. У вас может возникнуть чувство отчаяния. Несмотря на это не сдавайтесь. С практикой этот процесс станет проще.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/p2TpOQd.jpg",
|
||||
"Милый пес, прыгающий через препятствие, указывает на вас лапой и подмигивает.",
|
||||
"Если что-то не получается, воспользуйтесь Read-Search-Ask. Не волнуйтесь - вы сможете это сделать.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G1saeDt.gif",
|
||||
"Гифка показывающая как зарегистрироваться на CodePen.",
|
||||
"Для заданий по фронтенд разработке, мы будем использовать популярный браузерный редактор кода под названием CodePen. Откройте страницу регистрации на сайте CodePen, нажав на расположенную чуть ниже кнопку \"Open link in new tab\". Заполните форму и нажмите \"Sign up\". <br><div class=\"small\">Замечание: Если у вас уже есть аккаунт CodePen, то этот шаг можно пропустить: нажмите на кнопку \"Open link in new tab\", закройте появившуюся вкладку и затем кликните \"go to my next step\". Мы убрали кнопку \"skip step\", ввиду того что большинство людей просто нажимали бы ее несколько раз подряд и пропускали бы эти важные инструкции.</div>",
|
||||
"https://codepen.io/signup/free"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/U4y9RJ1.gif",
|
||||
"Гифка показывающая набор в редакторе заголовка с текстом \"hello world\", который затем отображается в окошке предпросмотра. А также указывающая как изменить размер окон редактора или поменять их расположение.",
|
||||
"В окошке HTML создайте элемент h1 с текстом \"Hello World\". Ухватив края окон можно изменить их размер. А нажав на кнопку \"Change View\" поменять их расположение.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/G9KFQDL.gif",
|
||||
"Гифка показывающая как в CodePen добавить к проекту Bootstrap.",
|
||||
"Нажмите на звездочку в левом верхнем углу окошка CSS, найдите внизу поле \"Quick add\" и выберите в нем Bootstrap. Добавьте к элементу h1 класс \"text-primary\", чтобы изменить его цвет и удостовериться, что Bootstrap подключен.",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eddfaeb5bd18",
|
||||
@ -156,28 +162,34 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте страницу посвященную тому что вас вдохновляет",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a> которое функционально соответствует вот этому: <a href='https://codepen.io/FreeCodeCamp/full/NNvBQW/' target='_blank'>https://codepen.io/FreeCodeCamp/full/NNvBQW/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>. Используйте любые библиотеки, которые потребуются. Оформите приложение в вашем собственном стиле.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть на странице изображение и текст.",
|
||||
"<strong>Пользовательская история:</strong> Я могу нажать на ссылку, которая ведет на внешнюю страницу с дополнительной информацией по теме.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Construye una página Tributo",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcionalmente sea similar a esta: <a href='https://codepen.io/FreeCodeCamp/full/NNvBQW/' target='_blank'>https://codepen.io/FreeCodeCamp/full/NNvBQW/</a>",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería que necesites. Dale tu estilo personal.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una página tributo con una imagen y texto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo pulsar en un enlace que me llevará a un sitio web externo con mayor información sobre el tema.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón \"I've completed this challenge\" e incluye un link a tu CodePen. ",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Construye una página Tributo",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcionalmente sea similar a esta: <a href='https://codepen.io/FreeCodeCamp/full/NNvBQW/' target='_blank'>https://codepen.io/FreeCodeCamp/full/NNvBQW/</a>",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería que necesites. Dale tu estilo personal.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una página tributo con una imagen y texto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo pulsar en un enlace que me llevará a un sitio web externo con mayor información sobre el tema.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón \"I've completed this challenge\" e incluye un link a tu CodePen. ",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте страницу посвященную тому что вас вдохновляет",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a> которое функционально соответствует вот этому: <a href='https://codepen.io/FreeCodeCamp/full/NNvBQW/' target='_blank'>https://codepen.io/FreeCodeCamp/full/NNvBQW/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>. Используйте любые библиотеки, которые потребуются. Оформите приложение в вашем собственном стиле.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть на странице изображение и текст.",
|
||||
"<strong>Пользовательская история:</strong> Я могу нажать на ссылку, которая ведет на внешнюю страницу с дополнительной информацией по теме.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c242eddfaeb5bd13",
|
||||
@ -205,38 +217,44 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте сайт-портфолио",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a> которое функционально соответствует вот этому: <a href='https://codepen.io/FreeCodeCamp/full/QNmvEL/' target='_blank'>https://codepen.io/FreeCodeCamp/full/QNmvEL/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>. Используйте любые библиотеки, которые потребуются. Оформите приложение в вашем собственном стиле.",
|
||||
"<strong>Пользовательская история:</strong> Я могу получить доступ ко всей информации на странице просто прокрутив ее сверху вниз.",
|
||||
"<strong>Пользовательская история:</strong> Я могу нажать на различные кнопки и перейти к социальным страницам владельца портфолио.",
|
||||
"<strong>Пользовательская история:</strong> Я могу увидеть эскизы проектов созданных владельцем портфолио (используйте временную картинку если у вас пока нет собственных веб-страниц).",
|
||||
"<strong>Пользовательская история:</strong> Я могу перемещаться к различным частям страницы нажимая на соответствующие навигационные кнопки.",
|
||||
"Не переживайте если вам пока нечего показать в портфолио - вы создадите несколько веб приложений в следующих заданиях, а затем вернетесь и обновите портфолио.",
|
||||
"В сети существует много шаблонов для портфолио, но в этом задании вам необходимо создать собственную уникальную страницу. Используя Bootstrap, сделать это будет намного проще.",
|
||||
"Обратите внимание, что CodePen.io переопределяет функцию Window.open(), поэтому, если вы хотите открывать окна используя jQuery, необходимо будет адресовать невидимые якорные элементы, такие как этот: <code><a target='_blank'&rt;</a></code>.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Construye una página web para tu portafolio",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/QNmvEL/' target='_blank'>https://codepen.io/FreeCodeCamp/full/QNmvEL/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería que necesites. Dale tu estilo personal.",
|
||||
"<strong>Historia de usuario:</strong> Puedo acceder a todo el contenido de la página del portafolio con sólo desplazarme en la ventana.",
|
||||
"<strong>Historia de usuario:</strong> Puedo pulsar diferentes botones que me llevarán a las páginas de las diferentes cuentas de redes sociales del creador del portafolio.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una imagenes en miniatura de los diferentes proyectos que el creador del portafolio ha construido (si no has construido ningún sitio web antes, usa marcadores de posición.)",
|
||||
"<strong>Historia de usuario:</strong> Puedo navegar a las diferentes secciones de la página web pulsando botones de navegación.",
|
||||
"No te preocupes si no tienes nada que mostrar en tu portafolio todavía - en los siguientes desafíos crearás varias aplicaciones en CodePen, así que puedes regresar luego para actualizar tu portafolio.",
|
||||
"Hay varias plantillas buenas, pero para este desafío, tendrás que construir la página web de tu portafolio completamente por tu cuenta. Usar Bootstrap hará el trabajo mucho más fácil para ti.",
|
||||
"Ten en mente que CodePen.io ignora la función Window.open(), así que si quieres abrir alguna ventana usando jQuery, necesitarás utilizar como objetivo un elemento de ancla invisible como el siguiente: <code><a target='_blank'></a></code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón \"I've completed this challenge\" e incluye un link a tu CodePen. ",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Construye una página web para tu portafolio",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/QNmvEL/' target='_blank'>https://codepen.io/FreeCodeCamp/full/QNmvEL/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería que necesites. Dale tu estilo personal.",
|
||||
"<strong>Historia de usuario:</strong> Puedo acceder a todo el contenido de la página del portafolio con sólo desplazarme en la ventana.",
|
||||
"<strong>Historia de usuario:</strong> Puedo pulsar diferentes botones que me llevarán a las páginas de las diferentes cuentas de redes sociales del creador del portafolio.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una imagenes en miniatura de los diferentes proyectos que el creador del portafolio ha construido (si no has construido ningún sitio web antes, usa marcadores de posición.)",
|
||||
"<strong>Historia de usuario:</strong> Puedo navegar a las diferentes secciones de la página web pulsando botones de navegación.",
|
||||
"No te preocupes si no tienes nada que mostrar en tu portafolio todavía - en los siguientes desafíos crearás varias aplicaciones en CodePen, así que puedes regresar luego para actualizar tu portafolio.",
|
||||
"Hay varias plantillas buenas, pero para este desafío, tendrás que construir la página web de tu portafolio completamente por tu cuenta. Usar Bootstrap hará el trabajo mucho más fácil para ti.",
|
||||
"Ten en mente que CodePen.io ignora la función Window.open(), así que si quieres abrir alguna ventana usando jQuery, necesitarás utilizar como objetivo un elemento de ancla invisible como el siguiente: <code><a target='_blank'></a></code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón \"I've completed this challenge\" e incluye un link a tu CodePen. ",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте сайт-портфолио",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a> которое функционально соответствует вот этому: <a href='https://codepen.io/FreeCodeCamp/full/QNmvEL/' target='_blank'>https://codepen.io/FreeCodeCamp/full/QNmvEL/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>. Используйте любые библиотеки, которые потребуются. Оформите приложение в вашем собственном стиле.",
|
||||
"<strong>Пользовательская история:</strong> Я могу получить доступ ко всей информации на странице просто прокрутив ее сверху вниз.",
|
||||
"<strong>Пользовательская история:</strong> Я могу нажать на различные кнопки и перейти к социальным страницам владельца портфолио.",
|
||||
"<strong>Пользовательская история:</strong> Я могу увидеть эскизы проектов созданных владельцем портфолио (используйте временную картинку если у вас пока нет собственных веб-страниц).",
|
||||
"<strong>Пользовательская история:</strong> Я могу перемещаться к различным частям страницы нажимая на соответствующие навигационные кнопки.",
|
||||
"Не переживайте если вам пока нечего показать в портфолио - вы создадите несколько веб приложений в следующих заданиях, а затем вернетесь и обновите портфолио.",
|
||||
"В сети существует много шаблонов для портфолио, но в этом задании вам необходимо создать собственную уникальную страницу. Используя Bootstrap, сделать это будет намного проще.",
|
||||
"Обратите внимание, что CodePen.io переопределяет функцию Window.open(), поэтому, если вы хотите открывать окна используя jQuery, необходимо будет адресовать невидимые якорные элементы, такие как этот: <code><a target='_blank'&rt;</a></code>.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -240,33 +240,37 @@
|
||||
],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/k8btNUB.jpg",
|
||||
"Una imagen que muestra nuestro certificado de Desarrollo de interfaces",
|
||||
"Este desafío te otorga tu certificado autenticado de Desarrollo de interfaces. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los desafíos básicos e intermedios de diseño de algoritmos, y todos los proyectos básicos e intermedios de desarrollo de interfaces. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/HArFfMN.jpg",
|
||||
"Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.",
|
||||
"Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/14F2Van.jpg",
|
||||
"Una imagen del texto \"Front End Development Certificate requirements\"",
|
||||
"Confirmemos que has completado todos nuestros desafíos básicos e intermedios de diseño de algoritmos, y todos nuestros proyectos básicos e intermedios de desarrollo de interfaces. Pulsa el botón siguiente para hacer la verificación.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/16SIhHO.jpg",
|
||||
"Una imagen de la palabra \"Congratulations\"",
|
||||
"¡Felicitaciones! Hemos agregado tu certificado de Desarrollo de interfaces a tu portafolio. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.",
|
||||
""
|
||||
]
|
||||
],
|
||||
"titleEs": "Reclama tu certificado de Desarrollo de interfaces"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Reclama tu certificado de Desarrollo de interfaces",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/k8btNUB.jpg",
|
||||
"Una imagen que muestra nuestro certificado de Desarrollo de interfaces",
|
||||
"Este desafío te otorga tu certificado autenticado de Desarrollo de interfaces. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los desafíos básicos e intermedios de diseño de algoritmos, y todos los proyectos básicos e intermedios de desarrollo de interfaces. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/HArFfMN.jpg",
|
||||
"Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.",
|
||||
"Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/14F2Van.jpg",
|
||||
"Una imagen del texto \"Front End Development Certificate requirements\"",
|
||||
"Confirmemos que has completado todos nuestros desafíos básicos e intermedios de diseño de algoritmos, y todos nuestros proyectos básicos e intermedios de desarrollo de interfaces. Pulsa el botón siguiente para hacer la verificación.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/16SIhHO.jpg",
|
||||
"Una imagen de la palabra \"Congratulations\"",
|
||||
"¡Felicitaciones! Hemos agregado tu certificado de Desarrollo de interfaces a tu portafolio. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -31,69 +31,77 @@
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"titleEs": "Join our Forum",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/y0XxmxQ.gif",
|
||||
"A gif showing how you can join Free Code Camp's forum by clicking the \"sign up\" button, authenticating using GitHub, and verifying your email address.",
|
||||
"Our forum is the best place for deep discussions about various programming resources: books, online courses, coding events, and more. You can also get help with these resources from your fellow campers. Click the button below to open up our forum, then click the \"Sign up\" button. Once you've created an account using GitHub, you'll need to confirm your email address. Now you're able to join discussions on our forum!",
|
||||
"http://forum.freecodecamp.com/"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/GxCpl7x.gif",
|
||||
"A gif showing how you can upload your profile picture.",
|
||||
"We recommend that you also add a custom profile picture of your face. You can do this in the settings section of the forum.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Gop2PmJ.gif",
|
||||
"A gif showing how you can introduce yourself on our self introduction forum thread.",
|
||||
"You can make your first forum post right now by clicking the button below to go to the introduction thread. You can reply to the original post with: who you are, why you're learning to code, and how you've been learning to code so far. Then feel free to explore the various discussions and jump in with your own thoughts.",
|
||||
"http://forum.freecodecamp.com/t/welcome-please-introduce-yourself-here/1082"
|
||||
]
|
||||
],
|
||||
"titleFr": "Join our Forum",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/y0XxmxQ.gif",
|
||||
"A gif showing how you can join Free Code Camp's forum by clicking the \"sign up\" button, authenticating using GitHub, and verifying your email address.",
|
||||
"Our forum is the best place for deep discussions about various programming resources: books, online courses, coding events, and more. You can also get help with these resources from your fellow campers. Click the button below to open up our forum, then click the \"Sign up\" button. Once you've created an account using GitHub, you'll need to confirm your email address. Now you're able to join discussions on our forum!",
|
||||
"http://forum.freecodecamp.com/"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/GxCpl7x.gif",
|
||||
"A gif showing how you can upload your profile picture.",
|
||||
"We recommend that you also add a custom profile picture of your face. You can do this in the settings section of the forum.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Gop2PmJ.gif",
|
||||
"A gif showing how you can introduce yourself on our self introduction forum thread.",
|
||||
"You can make your first forum post right now by clicking the button below to go to the introduction thread. You can reply to the original post with: who you are, why you're learning to code, and how you've been learning to code so far. Then feel free to explore the various discussions and jump in with your own thoughts.",
|
||||
"http://forum.freecodecamp.com/t/welcome-please-introduce-yourself-here/1082"
|
||||
]
|
||||
],
|
||||
"titleDe": "Join our Forum",
|
||||
"descriptionDe": [
|
||||
[
|
||||
"//i.imgur.com/y0XxmxQ.gif",
|
||||
"A gif showing how you can join Free Code Camp's forum by clicking the \"sign up\" button, authenticating using GitHub, and verifying your email address.",
|
||||
"Our forum is the best place for deep discussions about various programming resources: books, online courses, coding events, and more. You can also get help with these resources from your fellow campers. Click the button below to open up our forum, then click the \"Sign up\" button. Once you've created an account using GitHub, you'll need to confirm your email address. Now you're able to join discussions on our forum!",
|
||||
"http://forum.freecodecamp.com/"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/GxCpl7x.gif",
|
||||
"A gif showing how you can upload your profile picture.",
|
||||
"We recommend that you also add a custom profile picture of your face. You can do this in the settings section of the forum.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Gop2PmJ.gif",
|
||||
"A gif showing how you can introduce yourself on our self introduction forum thread.",
|
||||
"You can make your first forum post right now by clicking the button below to go to the introduction thread. You can reply to the original post with: who you are, why you're learning to code, and how you've been learning to code so far. Then feel free to explore the various discussions and jump in with your own thoughts.",
|
||||
"http://forum.freecodecamp.com/t/welcome-please-introduce-yourself-here/1082"
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"de": {
|
||||
"title": "Join our Forum",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/y0XxmxQ.gif",
|
||||
"A gif showing how you can join Free Code Camp's forum by clicking the \"sign up\" button, authenticating using GitHub, and verifying your email address.",
|
||||
"Our forum is the best place for deep discussions about various programming resources: books, online courses, coding events, and more. You can also get help with these resources from your fellow campers. Click the button below to open up our forum, then click the \"Sign up\" button. Once you've created an account using GitHub, you'll need to confirm your email address. Now you're able to join discussions on our forum!",
|
||||
"http://forum.freecodecamp.com/"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/GxCpl7x.gif",
|
||||
"A gif showing how you can upload your profile picture.",
|
||||
"We recommend that you also add a custom profile picture of your face. You can do this in the settings section of the forum.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Gop2PmJ.gif",
|
||||
"A gif showing how you can introduce yourself on our self introduction forum thread.",
|
||||
"You can make your first forum post right now by clicking the button below to go to the introduction thread. You can reply to the original post with: who you are, why you're learning to code, and how you've been learning to code so far. Then feel free to explore the various discussions and jump in with your own thoughts.",
|
||||
"http://forum.freecodecamp.com/t/welcome-please-introduce-yourself-here/1082"
|
||||
]
|
||||
]
|
||||
},
|
||||
"es": {
|
||||
"title": "Join our Forum",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/y0XxmxQ.gif",
|
||||
"A gif showing how you can join Free Code Camp's forum by clicking the \"sign up\" button, authenticating using GitHub, and verifying your email address.",
|
||||
"Our forum is the best place for deep discussions about various programming resources: books, online courses, coding events, and more. You can also get help with these resources from your fellow campers. Click the button below to open up our forum, then click the \"Sign up\" button. Once you've created an account using GitHub, you'll need to confirm your email address. Now you're able to join discussions on our forum!",
|
||||
"http://forum.freecodecamp.com/"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/GxCpl7x.gif",
|
||||
"A gif showing how you can upload your profile picture.",
|
||||
"We recommend that you also add a custom profile picture of your face. You can do this in the settings section of the forum.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Gop2PmJ.gif",
|
||||
"A gif showing how you can introduce yourself on our self introduction forum thread.",
|
||||
"You can make your first forum post right now by clicking the button below to go to the introduction thread. You can reply to the original post with: who you are, why you're learning to code, and how you've been learning to code so far. Then feel free to explore the various discussions and jump in with your own thoughts.",
|
||||
"http://forum.freecodecamp.com/t/welcome-please-introduce-yourself-here/1082"
|
||||
]
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Join our Forum",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/y0XxmxQ.gif",
|
||||
"A gif showing how you can join Free Code Camp's forum by clicking the \"sign up\" button, authenticating using GitHub, and verifying your email address.",
|
||||
"Our forum is the best place for deep discussions about various programming resources: books, online courses, coding events, and more. You can also get help with these resources from your fellow campers. Click the button below to open up our forum, then click the \"Sign up\" button. Once you've created an account using GitHub, you'll need to confirm your email address. Now you're able to join discussions on our forum!",
|
||||
"http://forum.freecodecamp.com/"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/GxCpl7x.gif",
|
||||
"A gif showing how you can upload your profile picture.",
|
||||
"We recommend that you also add a custom profile picture of your face. You can do this in the settings section of the forum.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Gop2PmJ.gif",
|
||||
"A gif showing how you can introduce yourself on our self introduction forum thread.",
|
||||
"You can make your first forum post right now by clicking the button below to go to the introduction thread. You can reply to the original post with: who you are, why you're learning to code, and how you've been learning to code so far. Then feel free to explore the various discussions and jump in with your own thoughts.",
|
||||
"http://forum.freecodecamp.com/t/welcome-please-introduce-yourself-here/1082"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "560ade65cb82ac38a17513c2",
|
||||
@ -111,33 +119,41 @@
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"titleEs": "Miranos programar en vivo por YouTube",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/4jUhEsb.jpg",
|
||||
"An image of Briana at the whiteboard teaching in a YouTube video.",
|
||||
"Our community's YouTube channel features video tutorials and demos of projects that campers have built for nonprofits. We add new videos every week. The button below will take you to our YouTube channel, where you can subscribe for free.",
|
||||
"https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ?sub_confirmation=1"
|
||||
]
|
||||
],
|
||||
"titleFr": "Regarde nous coder en direct sur Twitch.tv",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/8rtyRY1.gif",
|
||||
"Une gif montrant comment tu peux créer un compte sur Twitch.tv et suivre notre chaîne.",
|
||||
"Nos campers codent fréquemment en direct sur Twitch.tv, un site de streaming populaire. Tu peux créer un compte en moins d’une minute, et suivre la chaîne de Free Code Camp. Une fois suivi, tu auras l’option de recevoir un email à chaque fois qu’un de nos campers est en direct. Et donc tu peux rejoindre plusieurs campers pour regarder et interagir sur le salon de chat. C’est une façon d’apprendre en regardant les autres coder.",
|
||||
"https://twitch.tv/freecodecamp"
|
||||
]
|
||||
],
|
||||
"titleDe": "Schaue uns auf Twitch.tv Live beim Programmieren zu",
|
||||
"descriptionDe": [
|
||||
[
|
||||
"//i.imgur.com/8rtyRY1.gif",
|
||||
"Ein GIF, das dir zeigt, wie du dich bei Twitch.tv anmelden und unserem Kanal folgen kannst.",
|
||||
"Unsere Camper programmieren oft Live auf Twitch.tv, einer populären Streaming-Website. Du kannst in weniger als einer Minute einen Account anlegen und dann dem Kanal von Free Code Camp folgen. Wenn du dem Kanal folgst, hast du die Option E-Mail Benachrichtigungen zu bekommen, sobald einer unserer Camper live geht. Dann kannst du Dutzenden Campern folgen und ihnen beim Programmieren zusehen sowie in Chats interagieren. Das ist eine lustige und lockere Art und Weise, um von anderen Personen zu lernen, wie sie ihre Projekte umsetzen.",
|
||||
"https://twitch.tv/freecodecamp"
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"de": {
|
||||
"title": "Schaue uns auf Twitch.tv Live beim Programmieren zu",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/8rtyRY1.gif",
|
||||
"Ein GIF, das dir zeigt, wie du dich bei Twitch.tv anmelden und unserem Kanal folgen kannst.",
|
||||
"Unsere Camper programmieren oft Live auf Twitch.tv, einer populären Streaming-Website. Du kannst in weniger als einer Minute einen Account anlegen und dann dem Kanal von Free Code Camp folgen. Wenn du dem Kanal folgst, hast du die Option E-Mail Benachrichtigungen zu bekommen, sobald einer unserer Camper live geht. Dann kannst du Dutzenden Campern folgen und ihnen beim Programmieren zusehen sowie in Chats interagieren. Das ist eine lustige und lockere Art und Weise, um von anderen Personen zu lernen, wie sie ihre Projekte umsetzen.",
|
||||
"https://twitch.tv/freecodecamp"
|
||||
]
|
||||
]
|
||||
},
|
||||
"es": {
|
||||
"title": "Miranos programar en vivo por YouTube",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/4jUhEsb.jpg",
|
||||
"An image of Briana at the whiteboard teaching in a YouTube video.",
|
||||
"Our community's YouTube channel features video tutorials and demos of projects that campers have built for nonprofits. We add new videos every week. The button below will take you to our YouTube channel, where you can subscribe for free.",
|
||||
"https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ?sub_confirmation=1"
|
||||
]
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Regarde nous coder en direct sur Twitch.tv",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/8rtyRY1.gif",
|
||||
"Une gif montrant comment tu peux créer un compte sur Twitch.tv et suivre notre chaîne.",
|
||||
"Nos campers codent fréquemment en direct sur Twitch.tv, un site de streaming populaire. Tu peux créer un compte en moins d’une minute, et suivre la chaîne de Free Code Camp. Une fois suivi, tu auras l’option de recevoir un email à chaque fois qu’un de nos campers est en direct. Et donc tu peux rejoindre plusieurs campers pour regarder et interagir sur le salon de chat. C’est une façon d’apprendre en regardant les autres coder.",
|
||||
"https://twitch.tv/freecodecamp"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "570add8ccb82ac38a17513c3",
|
||||
@ -154,33 +170,41 @@
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"titleEs": "Únete a nuestra red de alumnos en LinkedIn",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/vJyiXzU.gif",
|
||||
"Un gif mostrando como puedes pulsar el enlace de abajo y llenar todos los campos necesarios para agregar los estudios de Free Code Camp a tu perfil de LinkedIn",
|
||||
"LinkedIn reconoce a Free Code Camp como una universidad. Puedes obtener acceso a nuestra larga red de alumnos agregando Free Code Camp a la sección de educación de tu LinkedIn. Define tu fecha de graduación para el siguiente año. En el campo \"Grado\", escribe \"Certificación de Desarrollo Web Full Stack\". En \"Campo de estudio\", escribe \"Ingeniería de Software\". Después pulsa \"Guardar Cambios\".",
|
||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||
]
|
||||
],
|
||||
"titleFr": "Rejoignez notre réseau de lauréats sur Linkedin",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/vJyiXzU.gif",
|
||||
"Une gif qui montre comment tu peux cliquer sur le lien ci-dessous et remplir les champs nécessaires pour ajouter le certificat de Free Code Camp à votre profil LinkedIn.",
|
||||
"LinkedIn reconnait Free Code Camp comme une université. Tu peux avoir accès à notre large réseau de lauréats en ajoutant Free Code Camp à la section éducation de ton profil LinkedIn. L’année d’obtention du diplôme est la prochaine année. Pour le \"Degré\", c’est \"Full Stack Web Development Certification\". Pour le \"Domaine d’études\", c’est \"Computer Software Engineering\". Puis sauvegardez les changements.",
|
||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||
]
|
||||
],
|
||||
"titleDe": "Tritt unserem LinkedIn Alumni Netzwerk bei",
|
||||
"descriptionDe": [
|
||||
[
|
||||
"//i.imgur.com/vJyiXzU.gif",
|
||||
"Ein GIF, das dir zeigt, wie du den unten stehenden Link anklicken kannst und welche Felder du ausfüllen musst, damit du Free Code Camp zu deinem LinkedIn Profil hinzufügst.",
|
||||
"LinkedIn erkennt Free Code Camp als Universität an. Du bekommst auf unser großes Alumni Netzwerk zugriff, indem du Free Code Camp zum Ausbildungsbereich deines LinkedIn Profils hinzufügst. Setze deinen Abschlusszeitpunkt auf das nächste Jahr. In das Feld \"Abschluss\" schreibe \"Full Stack Web Development Certification\". In das Feld \"Studienfach\" schreibe \"Computer Software Engineering\". Dann klicke auf den \"Speichern\" Button.",
|
||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"de": {
|
||||
"title": "Tritt unserem LinkedIn Alumni Netzwerk bei",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/vJyiXzU.gif",
|
||||
"Ein GIF, das dir zeigt, wie du den unten stehenden Link anklicken kannst und welche Felder du ausfüllen musst, damit du Free Code Camp zu deinem LinkedIn Profil hinzufügst.",
|
||||
"LinkedIn erkennt Free Code Camp als Universität an. Du bekommst auf unser großes Alumni Netzwerk zugriff, indem du Free Code Camp zum Ausbildungsbereich deines LinkedIn Profils hinzufügst. Setze deinen Abschlusszeitpunkt auf das nächste Jahr. In das Feld \"Abschluss\" schreibe \"Full Stack Web Development Certification\". In das Feld \"Studienfach\" schreibe \"Computer Software Engineering\". Dann klicke auf den \"Speichern\" Button.",
|
||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||
]
|
||||
]
|
||||
},
|
||||
"es": {
|
||||
"title": "Únete a nuestra red de alumnos en LinkedIn",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/vJyiXzU.gif",
|
||||
"Un gif mostrando como puedes pulsar el enlace de abajo y llenar todos los campos necesarios para agregar los estudios de Free Code Camp a tu perfil de LinkedIn",
|
||||
"LinkedIn reconoce a Free Code Camp como una universidad. Puedes obtener acceso a nuestra larga red de alumnos agregando Free Code Camp a la sección de educación de tu LinkedIn. Define tu fecha de graduación para el siguiente año. En el campo \"Grado\", escribe \"Certificación de Desarrollo Web Full Stack\". En \"Campo de estudio\", escribe \"Ingeniería de Software\". Después pulsa \"Guardar Cambios\".",
|
||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||
]
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Rejoignez notre réseau de lauréats sur Linkedin",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/vJyiXzU.gif",
|
||||
"Une gif qui montre comment tu peux cliquer sur le lien ci-dessous et remplir les champs nécessaires pour ajouter le certificat de Free Code Camp à votre profil LinkedIn.",
|
||||
"LinkedIn reconnait Free Code Camp comme une université. Tu peux avoir accès à notre large réseau de lauréats en ajoutant Free Code Camp à la section éducation de ton profil LinkedIn. L’année d’obtention du diplôme est la prochaine année. Pour le \"Degré\", c’est \"Full Stack Web Development Certification\". Pour le \"Domaine d’études\", c’est \"Computer Software Engineering\". Puis sauvegardez les changements.",
|
||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "560add8ccb81ac38a17513c4",
|
||||
@ -197,33 +221,41 @@
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"titleEs": "Comprométete con una meta y con una organización sin fines de lucro",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/Og1ifsn.gif",
|
||||
"Un gif mostrando como te puedes comprometer con una meta para tus estudios de Free Code Camp y prometer una donación mensual a una organización sin fines de lucro para darte motivación externa de alcanzar esa meta.",
|
||||
"Puedes poner una meta y prometer donar mensualmente a una organización sin fines de lucro hasta que alcances tu meta. Esto te dará motivación externa en tu aventura de aprender a programar, así como una oportunidad para ayudar inmediatamente a organizaciones sin fines de lucro. Elige tu meta, después elige tu donativo mensual. Cuando pulses \"commit\", la página de donación de la organización sin fines de lucro se abrirá en una nueva pestaña. Esto es completamente opcional, y puedes cambiar tu compromiso o detenerlo en cualquier momento.",
|
||||
"/comprometerse"
|
||||
]
|
||||
],
|
||||
"titleFr": "Engage-toi à un but et aide une association à but non lucratif",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/Og1ifsn.gif",
|
||||
"Une gif montrant comment tu peux t’engager pour atteindre ton but sur Free Code Camp et verser une somme d’argent chaque mois pour une organisation à but non lucratif qui sera une motivation externe pour atteindre ton objectif.",
|
||||
"Tu peux définir un but et t’engager à verser une somme d’argent pour aider une organisation à but non lucratif chaque mois jusqu’à atteindre ton objectif. Cela va te donner une motivation externe dans ta journée d’apprentissage, mais aussi une opportunité pour aider ces organisations. Choisi un but, et un montant à verser. Quand tu vas cliquer sur \"commit\", la page des dons de l’organisation va s’ouvrir. Cette étape est optionnel, et tu peux annuler ou arrêter ton engagement à n’importe quel instant.",
|
||||
"/commit"
|
||||
]
|
||||
],
|
||||
"titleDe": "Verpflichte dich zu einem Ziel und einer gemeinnützigen Organisation",
|
||||
"descriptionDe": [
|
||||
[
|
||||
"//i.imgur.com/Og1ifsn.gif",
|
||||
"Ein GIF, das dir zeigt, wie du dich einem Ziel auf Free Code Camp verpflichten kannst und versprichst, eine monatliche Spende an eine gemeinnützige Organisation zu entrichten, um externe Motivation zur Erreichung deines Ziels zu haben.",
|
||||
"Du kannst dir ein Ziel setzen und versprechen, einer gemeinnützigen Organisation eine monatliche Spende zu entrichten, bis du dieses Ziel erreicht hast. Das gibt dir externe Motivation in deinem Bestreben programmieren zu lernen - und eröffnet von Anfang an die Gelegenheit gemeinnützigen Organisationen zu helfen. Wähle dein Ziel und dann eine monatliche Spende. Wenn du auf \"verpflichten\" klickst, öffnet sich die Spendenseite der gemeinnützigen Organisation in einem neuen Tab. Dieser Schritt ist optional, du kannst deine Verpflichtung jederzeit ändern oder stoppen.",
|
||||
"/verpflichten"
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"de": {
|
||||
"title": "Verpflichte dich zu einem Ziel und einer gemeinnützigen Organisation",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/Og1ifsn.gif",
|
||||
"Ein GIF, das dir zeigt, wie du dich einem Ziel auf Free Code Camp verpflichten kannst und versprichst, eine monatliche Spende an eine gemeinnützige Organisation zu entrichten, um externe Motivation zur Erreichung deines Ziels zu haben.",
|
||||
"Du kannst dir ein Ziel setzen und versprechen, einer gemeinnützigen Organisation eine monatliche Spende zu entrichten, bis du dieses Ziel erreicht hast. Das gibt dir externe Motivation in deinem Bestreben programmieren zu lernen - und eröffnet von Anfang an die Gelegenheit gemeinnützigen Organisationen zu helfen. Wähle dein Ziel und dann eine monatliche Spende. Wenn du auf \"verpflichten\" klickst, öffnet sich die Spendenseite der gemeinnützigen Organisation in einem neuen Tab. Dieser Schritt ist optional, du kannst deine Verpflichtung jederzeit ändern oder stoppen.",
|
||||
"/verpflichten"
|
||||
]
|
||||
]
|
||||
},
|
||||
"es": {
|
||||
"title": "Comprométete con una meta y con una organización sin fines de lucro",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/Og1ifsn.gif",
|
||||
"Un gif mostrando como te puedes comprometer con una meta para tus estudios de Free Code Camp y prometer una donación mensual a una organización sin fines de lucro para darte motivación externa de alcanzar esa meta.",
|
||||
"Puedes poner una meta y prometer donar mensualmente a una organización sin fines de lucro hasta que alcances tu meta. Esto te dará motivación externa en tu aventura de aprender a programar, así como una oportunidad para ayudar inmediatamente a organizaciones sin fines de lucro. Elige tu meta, después elige tu donativo mensual. Cuando pulses \"commit\", la página de donación de la organización sin fines de lucro se abrirá en una nueva pestaña. Esto es completamente opcional, y puedes cambiar tu compromiso o detenerlo en cualquier momento.",
|
||||
"/comprometerse"
|
||||
]
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Engage-toi à un but et aide une association à but non lucratif",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/Og1ifsn.gif",
|
||||
"Une gif montrant comment tu peux t’engager pour atteindre ton but sur Free Code Camp et verser une somme d’argent chaque mois pour une organisation à but non lucratif qui sera une motivation externe pour atteindre ton objectif.",
|
||||
"Tu peux définir un but et t’engager à verser une somme d’argent pour aider une organisation à but non lucratif chaque mois jusqu’à atteindre ton objectif. Cela va te donner une motivation externe dans ta journée d’apprentissage, mais aussi une opportunité pour aider ces organisations. Choisi un but, et un montant à verser. Quand tu vas cliquer sur \"commit\", la page des dons de l’organisation va s’ouvrir. Cette étape est optionnel, et tu peux annuler ou arrêter ton engagement à n’importe quel instant.",
|
||||
"/commit"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -42,18 +42,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Suma todos los números en un rango",
|
||||
"descriptionEs": [
|
||||
"Te pasaremos un vector que contiene dos números. Crea una función que devuelva la suma de esos dos números y todos los números entre ellos.",
|
||||
"El número menor no siempre será el primer elemento en el vector.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Additionner tous les nombres d'une série",
|
||||
"descriptionFr": [
|
||||
"Nous te passons un tableau de deux nombres. Crée une fonction qui renvoie la somme de ces 2 nombres ainsi que tous les nombres entre ceux-ci.",
|
||||
"Le plus petit nombre ne viendra pas forcément en premier.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Suma todos los números en un rango",
|
||||
"description": [
|
||||
"Te pasaremos un vector que contiene dos números. Crea una función que devuelva la suma de esos dos números y todos los números entre ellos.",
|
||||
"El número menor no siempre será el primer elemento en el vector.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Additionner tous les nombres d'une série",
|
||||
"description": [
|
||||
"Nous te passons un tableau de deux nombres. Crée une fonction qui renvoie la somme de ces 2 nombres ainsi que tous les nombres entre ceux-ci.",
|
||||
"Le plus petit nombre ne viendra pas forcément en premier.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a5de63ebea8dbee56860f4f2",
|
||||
@ -94,16 +100,22 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Obtén la diferencia entre dos vectores",
|
||||
"descriptionEs": [
|
||||
"Crea una función que compare dos vectores y que devuelva un nuevo vector que contenga los elementos que sólo se encuentre en uno de los vectores dados, pero no en ambos En otras palabras, devuelve la diferencia simétrica entre los dos vectores.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Comparer 2 arrays",
|
||||
"descriptionFr": [
|
||||
"Compare les 2 tableaux donnés et renvoie un nouvel tableau avec les éléments trouvé dans un seul des deux tableaux, pas dans les deux. En d'autres termes, renvoie la différence symétrique des deux tableaux.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Obtén la diferencia entre dos vectores",
|
||||
"description": [
|
||||
"Crea una función que compare dos vectores y que devuelva un nuevo vector que contenga los elementos que sólo se encuentre en uno de los vectores dados, pero no en ambos En otras palabras, devuelve la diferencia simétrica entre los dos vectores.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Comparer 2 arrays",
|
||||
"description": [
|
||||
"Compare les 2 tableaux donnés et renvoie un nouvel tableau avec les éléments trouvé dans un seul des deux tableaux, pas dans les deux. En d'autres termes, renvoie la différence symétrique des deux tableaux.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a7f4d8f2483413a6ce226cac",
|
||||
@ -159,18 +171,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Convertior de números romanos",
|
||||
"descriptionEs": [
|
||||
"Convierte el número dado en numeral romano.",
|
||||
"Todos los <a href=\"http://www.mathsisfun.com/roman-numerals.html\" target=\"_blank\">numerales romanos</a> en las respuestas deben estar en mayúsculas.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Convertir en chiffres romains",
|
||||
"descriptionFr": [
|
||||
"Convertis le nombre donné en chiffres romains.",
|
||||
"Tous les <a href=\"http://www.mathsisfun.com/roman-numerals.html\" target=\"_blank\">chiffres romains</a> doivent être en lettres capitales.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Convertior de números romanos",
|
||||
"description": [
|
||||
"Convierte el número dado en numeral romano.",
|
||||
"Todos los <a href=\"http://www.mathsisfun.com/roman-numerals.html\" target=\"_blank\">numerales romanos</a> en las respuestas deben estar en mayúsculas.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Convertir en chiffres romains",
|
||||
"description": [
|
||||
"Convertis le nombre donné en chiffres romains.",
|
||||
"Tous les <a href=\"http://www.mathsisfun.com/roman-numerals.html\" target=\"_blank\">chiffres romains</a> doivent être en lettres capitales.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a8e512fbe388ac2f9198f0fa",
|
||||
@ -210,18 +228,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "¿Dónde estás que no te veo?",
|
||||
"descriptionEs": [
|
||||
"Crea una función que busque en un vector de objetos (primer argumento) y devuelva un vector con todos los objetos que compartan el valor indicado para una propiedad dada (segundo argumento). Cada pareja de propiedad y valor debe estar presente en el objeto de la colección para ser incluido en el vector devuelto por la función",
|
||||
"Por ejemplo, si el primer argumento es <code>[{ first: \"Romeo\", last: \"Montague\" }, { first: \"Mercutio\", last: null }, { first: \"Tybalt\", last: \"Capulet\" }]</code>, y el segundo argumento es <code>{ last: \"Capulet\" }</code>, entonces tu función debe devolver el tercer objeto del vector en el primer argumento, ya que contiene la propiedad y el valor indicados en el segundo argumento.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "O Roméo! Roméo!",
|
||||
"descriptionFr": [
|
||||
"Écris une fonction qui parcourt un array d'objets (premier argument) et renvoie un array de tous les objects ayant les paires de nom/valeur correspondantes à l'objet donné (second argument). Chaque paire de nom et de valeur de l'objet source doit être présente dans les objects renvoyés.",
|
||||
"Par exemple, si le premier argument est <code>[{ first: \"Romeo\", last: \"Montague\" }, { first: \"Mercutio\", last: null }, { first: \"Tybalt\", last: \"Capulet\" }]</code>, et le second argument est <code>{ last: \"Capulet\" }</code>, tu dois renvoyer le troisième objet de l'array (premier argument), parce qu'il contient le nom et sa valeur, donnés en deuxième argument.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "¿Dónde estás que no te veo?",
|
||||
"description": [
|
||||
"Crea una función que busque en un vector de objetos (primer argumento) y devuelva un vector con todos los objetos que compartan el valor indicado para una propiedad dada (segundo argumento). Cada pareja de propiedad y valor debe estar presente en el objeto de la colección para ser incluido en el vector devuelto por la función",
|
||||
"Por ejemplo, si el primer argumento es <code>[{ first: \"Romeo\", last: \"Montague\" }, { first: \"Mercutio\", last: null }, { first: \"Tybalt\", last: \"Capulet\" }]</code>, y el segundo argumento es <code>{ last: \"Capulet\" }</code>, entonces tu función debe devolver el tercer objeto del vector en el primer argumento, ya que contiene la propiedad y el valor indicados en el segundo argumento.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "O Roméo! Roméo!",
|
||||
"description": [
|
||||
"Écris une fonction qui parcourt un array d'objets (premier argument) et renvoie un array de tous les objects ayant les paires de nom/valeur correspondantes à l'objet donné (second argument). Chaque paire de nom et de valeur de l'objet source doit être présente dans les objects renvoyés.",
|
||||
"Par exemple, si le premier argument est <code>[{ first: \"Romeo\", last: \"Montague\" }, { first: \"Mercutio\", last: null }, { first: \"Tybalt\", last: \"Capulet\" }]</code>, et le second argument est <code>{ last: \"Capulet\" }</code>, tu dois renvoyer le troisième objet de l'array (premier argument), parce qu'il contient le nom et sa valeur, donnés en deuxième argument.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a0b5010f579e69b815e7c5d6",
|
||||
@ -259,24 +283,30 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Buscar y reemplazar",
|
||||
"descriptionEs": [
|
||||
"Crea una función que busque un fragmento en una frase dada y lo reemplace por otro fragmento, devolviendo la nueva frase.",
|
||||
"El primer argumento es la frase en la que se ejecutará la búsqueda y el reemplazo",
|
||||
"El segundo argumento es la palabra que se va a reemplazar",
|
||||
"El tercer argumento es lo que reemplazará a la palabra indicada en el segundo argumento",
|
||||
"NOTA: Debes respetar mayúsculas y minúsculas de la palabra original cuando ejecutes el reemplazo. Por ejemplo, si quisieras reemplazar la palabra \"Libro\" con la palabra \"perro\", deberías insertar en vez la palabra \"Perro\"",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Cherche et remplace",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui cherche et remplace une partie de la phrase en utilisant les arguments et renvoie la nouvelle phrase.",
|
||||
"Le premier argument est la phrase à modifier.",
|
||||
"Le deuxième argument est le mot à remplacer (avant).",
|
||||
"Le troisième argument est le mot qui doit remplacer le deuxième argument (après).",
|
||||
"NB: Tu dois respecter les majuscules ou miniscules du mot originel que tu remplaces. Par exemple, si tu veux remplacer le mot \"Livre\" par \"chien\", tu devras le remplacer par \"Chien\"",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Buscar y reemplazar",
|
||||
"description": [
|
||||
"Crea una función que busque un fragmento en una frase dada y lo reemplace por otro fragmento, devolviendo la nueva frase.",
|
||||
"El primer argumento es la frase en la que se ejecutará la búsqueda y el reemplazo",
|
||||
"El segundo argumento es la palabra que se va a reemplazar",
|
||||
"El tercer argumento es lo que reemplazará a la palabra indicada en el segundo argumento",
|
||||
"NOTA: Debes respetar mayúsculas y minúsculas de la palabra original cuando ejecutes el reemplazo. Por ejemplo, si quisieras reemplazar la palabra \"Libro\" con la palabra \"perro\", deberías insertar en vez la palabra \"Perro\"",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Cherche et remplace",
|
||||
"description": [
|
||||
"Crée une fonction qui cherche et remplace une partie de la phrase en utilisant les arguments et renvoie la nouvelle phrase.",
|
||||
"Le premier argument est la phrase à modifier.",
|
||||
"Le deuxième argument est le mot à remplacer (avant).",
|
||||
"Le troisième argument est le mot qui doit remplacer le deuxième argument (après).",
|
||||
"NB: Tu dois respecter les majuscules ou miniscules du mot originel que tu remplaces. Par exemple, si tu veux remplacer le mot \"Livre\" par \"chien\", tu devras le remplacer par \"Chien\"",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "aa7697ea2477d1316795783b",
|
||||
@ -315,21 +345,27 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Latín de los cerdos",
|
||||
"descriptionEs": [
|
||||
"Traduce la cadena de texto que se te provee al Latín de los cerdos (Pig Latin)",
|
||||
"<a href=\"http://en.wikipedia.org/wiki/Pig_Latin\" target=\"_blank\">Pig Latin</a> toma la primera consonante (o grupo de consonantes) de una palabra en inglés, la mueve al final de la palabra y agrega un \"ay\".",
|
||||
"Si la palabra comienza con una vocal, simplemente añade \"way\" al final.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Pig latin",
|
||||
"descriptionFr": [
|
||||
"Traduis la phrase donnée en pig latin (verlan anglais)",
|
||||
"Le <a href=\"http://fr.wikipedia.org/wiki/Pig_Latin\" target=\"_blank\">Pig Latin</a> prend la ou les première(s) consonne(s) d'un mot en anglais et les mets à la fin du mot accompagné par le suffixe \"ay\".",
|
||||
"Si un mot commence par une voyelle ajoute \"way\" à la fin du mot.",
|
||||
"Les chaînes de caractères entrées sont garanties d'être des mots anglais, en lettres minuscules.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Latín de los cerdos",
|
||||
"description": [
|
||||
"Traduce la cadena de texto que se te provee al Latín de los cerdos (Pig Latin)",
|
||||
"<a href=\"http://en.wikipedia.org/wiki/Pig_Latin\" target=\"_blank\">Pig Latin</a> toma la primera consonante (o grupo de consonantes) de una palabra en inglés, la mueve al final de la palabra y agrega un \"ay\".",
|
||||
"Si la palabra comienza con una vocal, simplemente añade \"way\" al final.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Pig latin",
|
||||
"description": [
|
||||
"Traduis la phrase donnée en pig latin (verlan anglais)",
|
||||
"Le <a href=\"http://fr.wikipedia.org/wiki/Pig_Latin\" target=\"_blank\">Pig Latin</a> prend la ou les première(s) consonne(s) d'un mot en anglais et les mets à la fin du mot accompagné par le suffixe \"ay\".",
|
||||
"Si un mot commence par une voyelle ajoute \"way\" à la fin du mot.",
|
||||
"Les chaînes de caractères entrées sont garanties d'être des mots anglais, en lettres minuscules.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "afd15382cdfb22c9efe8b7de",
|
||||
@ -364,24 +400,30 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Emparejando bases de ADN",
|
||||
"descriptionEs": [
|
||||
"A la cadena de ADN que se te pasa le hace falta una hebra. Toma cada una de las letras, obtén su pareja correspondiente y devuelve los resultados en un segundo vector",
|
||||
"<a href=\"http://es.wikipedia.org/wiki/Apareamiento_de_bases\" target=\"_blank\">Parejas de bases</a> son pares de AT y CG. Encuentra el elemento que hace falta para cada una de las letras que se te presentan.",
|
||||
"Devuelve la letra que se te provee como el primer elemento en cada vector",
|
||||
"Por ejemplo, si te pasáramos la cadena GCG, tu función debería devolver el vector: [[\"G\", \"C\"], [\"C\",\"G\"],[\"G\", \"C\"]]",
|
||||
"Cada letra que se te provee y su pareja deben estar contenidos en un vector, y cada uno de estos vectores debe estar contenidos en un vector.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Coupler les bases d'ADN",
|
||||
"descriptionFr": [
|
||||
"Une base d'ADN a perdu sa paire. Assemble chaque paire de caractères et renvoie les résultats dans un second tableau.",
|
||||
"Les <a href=\"https://fr.wikipedia.org/wiki/Paire_de_bases\" target=\"_blank\">paires de bases</a> sont des paires d'AT et CG. Associe l'élement manquant au caractère donné.",
|
||||
"Renvoie le caractère donné comme premier élément de chaque tableau.",
|
||||
"Par exemple, pour GCG, il faut renvoyer [[\"G\", \"C\"], [\"C\",\"G\"],[\"G\", \"C\"]]",
|
||||
"Chaque caractère et sa paire sont couplées dans un tableau, et tous les tableaux sont groupés dans un tableau.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Emparejando bases de ADN",
|
||||
"description": [
|
||||
"A la cadena de ADN que se te pasa le hace falta una hebra. Toma cada una de las letras, obtén su pareja correspondiente y devuelve los resultados en un segundo vector",
|
||||
"<a href=\"http://es.wikipedia.org/wiki/Apareamiento_de_bases\" target=\"_blank\">Parejas de bases</a> son pares de AT y CG. Encuentra el elemento que hace falta para cada una de las letras que se te presentan.",
|
||||
"Devuelve la letra que se te provee como el primer elemento en cada vector",
|
||||
"Por ejemplo, si te pasáramos la cadena GCG, tu función debería devolver el vector: [[\"G\", \"C\"], [\"C\",\"G\"],[\"G\", \"C\"]]",
|
||||
"Cada letra que se te provee y su pareja deben estar contenidos en un vector, y cada uno de estos vectores debe estar contenidos en un vector.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Coupler les bases d'ADN",
|
||||
"description": [
|
||||
"Une base d'ADN a perdu sa paire. Assemble chaque paire de caractères et renvoie les résultats dans un second tableau.",
|
||||
"Les <a href=\"https://fr.wikipedia.org/wiki/Paire_de_bases\" target=\"_blank\">paires de bases</a> sont des paires d'AT et CG. Associe l'élement manquant au caractère donné.",
|
||||
"Renvoie le caractère donné comme premier élément de chaque tableau.",
|
||||
"Par exemple, pour GCG, il faut renvoyer [[\"G\", \"C\"], [\"C\",\"G\"],[\"G\", \"C\"]]",
|
||||
"Chaque caractère et sa paire sont couplées dans un tableau, et tous les tableaux sont groupés dans un tableau.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "af7588ade1100bde429baf20",
|
||||
@ -414,18 +456,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Letras perdidas",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva la letra que falta en el rango de letras que se le pasa",
|
||||
"Si todas las letras en el rango están presentes, la función debe devolver undefined.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Lettres perdues",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui renvoie la lettre manquante dans la série.",
|
||||
"Si aucune lettre n'est manquante, renvoie undefined.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Letras perdidas",
|
||||
"description": [
|
||||
"Crea una función que devuelva la letra que falta en el rango de letras que se le pasa",
|
||||
"Si todas las letras en el rango están presentes, la función debe devolver undefined.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Lettres perdues",
|
||||
"description": [
|
||||
"Crée une fonction qui renvoie la lettre manquante dans la série.",
|
||||
"Si aucune lettre n'est manquante, renvoie undefined.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a77dbc43c33f39daa4429b4f",
|
||||
@ -464,18 +512,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "¡Bu!",
|
||||
"descriptionEs": [
|
||||
"Crea una función que verifique si el valor que se le pasa es de tipo booleano. Haz que la función devuelva true o false según corresponda.",
|
||||
"Los primitivos booleanos primitivos son: true y false",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Boo !",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui vérifie qu'une valeur est de type booléen. Renvoie true ou false.",
|
||||
"Les primitives booléennes sont true ou false.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "¡Bu!",
|
||||
"description": [
|
||||
"Crea una función que verifique si el valor que se le pasa es de tipo booleano. Haz que la función devuelva true o false según corresponda.",
|
||||
"Los primitivos booleanos primitivos son: true y false",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Boo !",
|
||||
"description": [
|
||||
"Crée une fonction qui vérifie qu'une valeur est de type booléen. Renvoie true ou false.",
|
||||
"Les primitives booléennes sont true ou false.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a105e963526e7de52b219be9",
|
||||
@ -510,22 +564,28 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Intersección ordenada",
|
||||
"descriptionEs": [
|
||||
"Escribe una función que tome dos o más vectores y que devuelva un nuevo vector con los valores únicos en el orden de aparición de los vectores que se te pasaron",
|
||||
"En otra palabras, todos los valores presentes en todos los vectores deben aparecer en el vector final en su orden original, pero sin duplicados.",
|
||||
"Los valores únicos deben aparecer en el orden original, pero el vector final no necesariamente debe mostrar los elementos en orden numérico.",
|
||||
"Puedes usar de referencia las pruebas de verificación si necesitas ejemplos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Union arrangée",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui accepte deux tableaux ou plus et renvoie un nouvel array de valeurs uniques dans l'ordre des tableaux donnés.",
|
||||
"En d'autres termes, toutes les valeurs des tableaux doivent être incluses dans l'ordre originel, sans doublon dans le tableau final.",
|
||||
"Les valeurs uniques doivent être classées dans l'ordre originel, mais le tableau final ne doit pas être classé par ordre croissant.",
|
||||
"Réfère toi aux test pour plus d'examples.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Intersección ordenada",
|
||||
"description": [
|
||||
"Escribe una función que tome dos o más vectores y que devuelva un nuevo vector con los valores únicos en el orden de aparición de los vectores que se te pasaron",
|
||||
"En otra palabras, todos los valores presentes en todos los vectores deben aparecer en el vector final en su orden original, pero sin duplicados.",
|
||||
"Los valores únicos deben aparecer en el orden original, pero el vector final no necesariamente debe mostrar los elementos en orden numérico.",
|
||||
"Puedes usar de referencia las pruebas de verificación si necesitas ejemplos.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Union arrangée",
|
||||
"description": [
|
||||
"Crée une fonction qui accepte deux tableaux ou plus et renvoie un nouvel array de valeurs uniques dans l'ordre des tableaux donnés.",
|
||||
"En d'autres termes, toutes les valeurs des tableaux doivent être incluses dans l'ordre originel, sans doublon dans le tableau final.",
|
||||
"Les valeurs uniques doivent être classées dans l'ordre originel, mais le tableau final ne doit pas être classé par ordre croissant.",
|
||||
"Réfère toi aux test pour plus d'examples.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a6b0bb188d873cb2c8729495",
|
||||
@ -562,16 +622,22 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Convierte entidades HTML",
|
||||
"descriptionEs": [
|
||||
"Convierte los caracteres <code>&</code>, <code><<code>, <code>><code>, <code>\"<code>' (comilla), y <code>'<code> (apóstrofe), contenidos en la cadena de texto que se te pasa, en sus entidades HTML correspondientes",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Convertir les entités HTML",
|
||||
"descriptionFr": [
|
||||
"Convertis les caractères <code>&</code>, <code><<code>, <code>><code>, <code>\"<code>' (guillemet), y <code>'<code> (apostrophe), contenus dans la chaîne de caractères en entités HTML.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Convierte entidades HTML",
|
||||
"description": [
|
||||
"Convierte los caracteres <code>&</code>, <code><<code>, <code>><code>, <code>\"<code>' (comilla), y <code>'<code> (apóstrofe), contenidos en la cadena de texto que se te pasa, en sus entidades HTML correspondientes",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Convertir les entités HTML",
|
||||
"description": [
|
||||
"Convertis les caractères <code>&</code>, <code><<code>, <code>><code>, <code>\"<code>' (guillemet), y <code>'<code> (apostrophe), contenus dans la chaîne de caractères en entités HTML.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a103376db3ba46b2d50db289",
|
||||
@ -606,16 +672,22 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "separado-por-guiones",
|
||||
"descriptionEs": [
|
||||
"Convierte la cadena de texto que se te pasa al formato spinal case. Spinal case es cuando escribes todas las palabras en-minúsculas-unidas-por-guiones.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Trait d'union",
|
||||
"descriptionFr": [
|
||||
"Convertis la chaîne de caractères en spinal case. Spinal case correspond au bas-de-casse-séparé-par-des-tirets.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "separado-por-guiones",
|
||||
"description": [
|
||||
"Convierte la cadena de texto que se te pasa al formato spinal case. Spinal case es cuando escribes todas las palabras en-minúsculas-unidas-por-guiones.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Trait d'union",
|
||||
"description": [
|
||||
"Convertis la chaîne de caractères en spinal case. Spinal case correspond au bas-de-casse-séparé-par-des-tirets.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a5229172f011153519423690",
|
||||
@ -650,20 +722,26 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Suma todos los números de Fibonacci que son impares",
|
||||
"descriptionEs": [
|
||||
"Crea una función que devuelva la suma de todos los números impares en la secuencia de Fibonacci hasta el número que se le pasa como argumento, incluyéndolo en caso de ser un número de la secuencia.",
|
||||
"Los primeros números de la secuencia son 1, 1, 2, 3, 5 y 8, y cada número siguiente es la suma de los dos números anteriores.",
|
||||
"Por ejemplo, si se te pasa el número 4, la función deberá devolver 5, ya que los números impares menores que 4 son 1, 1 y 3.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Additionner tous les nombre de Fibonacci impairs",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui additionne tous les nombre de Fibonacci jusqu'au nombre donné (inclus si c'est un nombre de Fibonacci).",
|
||||
"Les premiers chiffres de la séquence sont 1, 1, 2, 3, 5 y 8, et chaque nombre correspond à la somme des deux nombres précédents.",
|
||||
"Par example, pour le chiffre 4, la fonction doit retourner 5, puisque les chiffres précédent 4 sont 1, 1 et 3.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Suma todos los números de Fibonacci que son impares",
|
||||
"description": [
|
||||
"Crea una función que devuelva la suma de todos los números impares en la secuencia de Fibonacci hasta el número que se le pasa como argumento, incluyéndolo en caso de ser un número de la secuencia.",
|
||||
"Los primeros números de la secuencia son 1, 1, 2, 3, 5 y 8, y cada número siguiente es la suma de los dos números anteriores.",
|
||||
"Por ejemplo, si se te pasa el número 4, la función deberá devolver 5, ya que los números impares menores que 4 son 1, 1 y 3.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Additionner tous les nombre de Fibonacci impairs",
|
||||
"description": [
|
||||
"Crée une fonction qui additionne tous les nombre de Fibonacci jusqu'au nombre donné (inclus si c'est un nombre de Fibonacci).",
|
||||
"Les premiers chiffres de la séquence sont 1, 1, 2, 3, 5 y 8, et chaque nombre correspond à la somme des deux nombres précédents.",
|
||||
"Par example, pour le chiffre 4, la fonction doit retourner 5, puisque les chiffres précédent 4 sont 1, 1 et 3.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a3bfc1673c0526e06d3ac698",
|
||||
@ -696,20 +774,26 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Suma todos los números primos",
|
||||
"descriptionEs": [
|
||||
"Suma todos los números primos hasta, e incluyendo, el número que se te pasa",
|
||||
"Números primos son todos aquellos que sólo son divisibles entre 1 y entre sí mismos. Por ejemplo, el número 2 es primo porque solo es divisible por 1 y por 2. Por el contrario, el número 1 no es primo, ya que sólo puede dividirse por sí mismo",
|
||||
"El número que se le provee a la función no puede ser primo",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Additionner tous les nombres primaires",
|
||||
"descriptionFr": [
|
||||
"Additionne tous les nombres primaires jusqu'au nombre donné (inclus).",
|
||||
"Un nombre primaire est un nombre divisible que par 1 ou par lui-même (plus grand que 1). Par exemple, 2 est un nombre primaire puisqu'il n'est divisible que par 1 et 2. 1 n'est pas primaire puiqu'il n'est divisible que par lui-même.",
|
||||
"Le nombre donné en argument n'est pas forcément un nombre primaire.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Suma todos los números primos",
|
||||
"description": [
|
||||
"Suma todos los números primos hasta, e incluyendo, el número que se te pasa",
|
||||
"Números primos son todos aquellos que sólo son divisibles entre 1 y entre sí mismos. Por ejemplo, el número 2 es primo porque solo es divisible por 1 y por 2. Por el contrario, el número 1 no es primo, ya que sólo puede dividirse por sí mismo",
|
||||
"El número que se le provee a la función no puede ser primo",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Additionner tous les nombres primaires",
|
||||
"description": [
|
||||
"Additionne tous les nombres primaires jusqu'au nombre donné (inclus).",
|
||||
"Un nombre primaire est un nombre divisible que par 1 ou par lui-même (plus grand que 1). Par exemple, 2 est un nombre primaire puisqu'il n'est divisible que par 1 et 2. 1 n'est pas primaire puiqu'il n'est divisible que par lui-même.",
|
||||
"Le nombre donné en argument n'est pas forcément un nombre primaire.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ae9defd7acaf69703ab432ea",
|
||||
@ -744,20 +828,26 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Mínimo común múltiplo",
|
||||
"descriptionEs": [
|
||||
"En el ejercicio se te provee un vector con dos números. Crea una función que encuentre el número más pequeño que sea divisible entre ambos números, así como entre todos los números enteros entre ellos.",
|
||||
"Tu función debe aceptar como argumento un vector con dos números, los cuales no necesariamente estarán en orden.",
|
||||
"Por ejemplo, si se te pasan los números 1 y 3, deberás encontrar el mínimo común múltiplo de 1 y 3 que es divisible por todos los números <em>entre</em> 1 y 3.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Plus petit commun multiple",
|
||||
"descriptionFr": [
|
||||
"Cherche le plus petit commun multiple qui soit divisible par les deux nombres donnés et par les nombres de la série entre ces deux nombres.",
|
||||
"La série est un tableau de deux nombres qui ne seront pas nécessairement dans l'ordre croissant.",
|
||||
"Par exemple, pour 1 et 3, il faut trouver le plus petit commun multiple de 1 et 3 mais aussi des nombres <em>entre</em> 1 et 3/",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Mínimo común múltiplo",
|
||||
"description": [
|
||||
"En el ejercicio se te provee un vector con dos números. Crea una función que encuentre el número más pequeño que sea divisible entre ambos números, así como entre todos los números enteros entre ellos.",
|
||||
"Tu función debe aceptar como argumento un vector con dos números, los cuales no necesariamente estarán en orden.",
|
||||
"Por ejemplo, si se te pasan los números 1 y 3, deberás encontrar el mínimo común múltiplo de 1 y 3 que es divisible por todos los números <em>entre</em> 1 y 3.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Plus petit commun multiple",
|
||||
"description": [
|
||||
"Cherche le plus petit commun multiple qui soit divisible par les deux nombres donnés et par les nombres de la série entre ces deux nombres.",
|
||||
"La série est un tableau de deux nombres qui ne seront pas nécessairement dans l'ordre croissant.",
|
||||
"Par exemple, pour 1 et 3, il faut trouver le plus petit commun multiple de 1 et 3 mais aussi des nombres <em>entre</em> 1 et 3/",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a6e40f1041b06c996f7b2406",
|
||||
@ -787,16 +877,22 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Buscando la verdad",
|
||||
"descriptionEs": [
|
||||
"Crea una función que busque dentro de un vector (primer argumento) y que devuelva el primer elemento que pase una prueba de verdad (segundo argumento).",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Détecteur de mensonges",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui parcourt un tableau (premier argument) et renvoie le premier élément du tableau qui passe le test (second argument).",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Buscando la verdad",
|
||||
"description": [
|
||||
"Crea una función que busque dentro de un vector (primer argumento) y que devuelva el primer elemento que pase una prueba de verdad (segundo argumento).",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Détecteur de mensonges",
|
||||
"description": [
|
||||
"Crée une fonction qui parcourt un tableau (premier argument) et renvoie le premier élément du tableau qui passe le test (second argument).",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a5deed1811a43193f9f1c841",
|
||||
@ -834,18 +930,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "¡Fuera de aquí!",
|
||||
"descriptionEs": [
|
||||
"Toma los elementos contenidos en el vector que se te provee en el primer argumento de la función y elimínalos uno por uno, hasta que la función provista en el segundo argumento devuelva true.",
|
||||
"Retorna el resto del vector, de lo contrario retorna un vector vacío.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Laisse tomber",
|
||||
"descriptionFr": [
|
||||
"Écarte les éléments du tableau (premier argument), en commençant par la gauche, jusqu'à ce la fonction (second argument) renvoie true.",
|
||||
"Renvoie le reste du tableau, ou dans le cas contraire un tableau vide",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "¡Fuera de aquí!",
|
||||
"description": [
|
||||
"Toma los elementos contenidos en el vector que se te provee en el primer argumento de la función y elimínalos uno por uno, hasta que la función provista en el segundo argumento devuelva true.",
|
||||
"Retorna el resto del vector, de lo contrario retorna un vector vacío.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Laisse tomber",
|
||||
"description": [
|
||||
"Écarte les éléments du tableau (premier argument), en commençant par la gauche, jusqu'à ce la fonction (second argument) renvoie true.",
|
||||
"Renvoie le reste du tableau, ou dans le cas contraire un tableau vide",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ab306dbdcc907c7ddfc30830",
|
||||
@ -877,16 +979,22 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Aplanadora",
|
||||
"descriptionEs": [
|
||||
"Aplana el vector anidado que se te provee. Tu función debe poder aplanar vectores de cualquier forma.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Rouleau compresseur",
|
||||
"descriptionFr": [
|
||||
"Aplatis le tableau donné. Ta fonction doit pour gérer différentes formes de tableaux.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Aplanadora",
|
||||
"description": [
|
||||
"Aplana el vector anidado que se te provee. Tu función debe poder aplanar vectores de cualquier forma.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Rouleau compresseur",
|
||||
"description": [
|
||||
"Aplatis le tableau donné. Ta fonction doit pour gérer différentes formes de tableaux.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a8d97bd4c764e91f9d2bda01",
|
||||
@ -917,18 +1025,24 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Mensaje secreto",
|
||||
"descriptionEs": [
|
||||
"Haz que la función devuelva el mensaje en inglés escondido en el código binario de la cadena de texto que se le pasa.",
|
||||
"La cadena de texto binaria estará separada por espacios.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Agent binaire",
|
||||
"descriptionFr": [
|
||||
"Traduis la chaîne binaire donnée en anglais.",
|
||||
"La chaîne binaire comporte des espaces.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Mensaje secreto",
|
||||
"description": [
|
||||
"Haz que la función devuelva el mensaje en inglés escondido en el código binario de la cadena de texto que se le pasa.",
|
||||
"La cadena de texto binaria estará separada por espacios.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Agent binaire",
|
||||
"description": [
|
||||
"Traduis la chaîne binaire donnée en anglais.",
|
||||
"La chaîne binaire comporte des espaces.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a10d2431ad0c6a099a4b8b52",
|
||||
@ -963,18 +1077,24 @@
|
||||
"isRequired": true,
|
||||
"type": "bonfire",
|
||||
"challengeType": 5,
|
||||
"titleEs": "Que todo sea verdadero",
|
||||
"descriptionEs": [
|
||||
"Verifica si la función en el segundo argumento devuelve true para todos los elementos de la colección en el primer argumento.",
|
||||
"Recuerda que puedes accesar a las propiedades de un objeto, ya sea a través de la notación por punto o de la notación por corchete usando [].",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Tout doit être vrai",
|
||||
"descriptionFr": [
|
||||
"Vérifie que la fonction donnée (second argument) est vraie sur tous les éléments de la collection (premier argument).",
|
||||
"Tu peux utiliser un point ou des [] pour accéder aux propritétés de l'objet.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Que todo sea verdadero",
|
||||
"description": [
|
||||
"Verifica si la función en el segundo argumento devuelve true para todos los elementos de la colección en el primer argumento.",
|
||||
"Recuerda que puedes accesar a las propiedades de un objeto, ya sea a través de la notación por punto o de la notación por corchete usando [].",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Tout doit être vrai",
|
||||
"description": [
|
||||
"Vérifie que la fonction donnée (second argument) est vraie sur tous les éléments de la collection (premier argument).",
|
||||
"Tu peux utiliser un point ou des [] pour accéder aux propritétés de l'objet.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "a97fd23d9b809dac9921074f",
|
||||
@ -1012,26 +1132,32 @@
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 5,
|
||||
"titleEs": "Argumentos opcionales",
|
||||
"descriptionEs": [
|
||||
"Crea una función que sume dos argumentos. Si sólo se le pasa un argumento a la función, haz que devuelva otra función que acepte un argumento y que devuelva la suma correspondiente.",
|
||||
"Por ejemplo, <code>add(2, 3)</code> debe devolver <code>5</code>, y <code>add(2)</code> debe devolver una función.",
|
||||
"Al llamar esta función con un único argumento devolverá la suma:",
|
||||
"<code>var sumTwoAnd = add(2);</code>",
|
||||
"<code>sumTwoAnd(3)</code> devuelve <code>5</code>.",
|
||||
"Si alguno de los argumentos no es un número válido, haz que devuelva undefined.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
],
|
||||
"titleFr": "Arguments optionnels",
|
||||
"descriptionFr": [
|
||||
"Crée une fonction qui additionne deux arguments. Si un seul argument est donné, renvoie une fonction qui attend un argument et renvoie la somme.",
|
||||
"Par exemple, <code>add(2, 3)</code>, doit renvoyer <code>5</code>, et <code>add(2)</code> doit renvoyer une fonction.",
|
||||
"Appeler cette fonction avec un seul argument renvoie la somme:",
|
||||
"<code>var sumTwoAnd = add(2);</code>",
|
||||
"<code>sumTwoAnd(3)</code> renvoie <code>5</code>.",
|
||||
"Si aucun argument n'est un nombre, renvoie undefined.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Argumentos opcionales",
|
||||
"description": [
|
||||
"Crea una función que sume dos argumentos. Si sólo se le pasa un argumento a la función, haz que devuelva otra función que acepte un argumento y que devuelva la suma correspondiente.",
|
||||
"Por ejemplo, <code>add(2, 3)</code> debe devolver <code>5</code>, y <code>add(2)</code> debe devolver una función.",
|
||||
"Al llamar esta función con un único argumento devolverá la suma:",
|
||||
"<code>var sumTwoAnd = add(2);</code>",
|
||||
"<code>sumTwoAnd(3)</code> devuelve <code>5</code>.",
|
||||
"Si alguno de los argumentos no es un número válido, haz que devuelva undefined.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Arguments optionnels",
|
||||
"description": [
|
||||
"Crée une fonction qui additionne deux arguments. Si un seul argument est donné, renvoie une fonction qui attend un argument et renvoie la somme.",
|
||||
"Par exemple, <code>add(2, 3)</code>, doit renvoyer <code>5</code>, et <code>add(2)</code> doit renvoyer une fonction.",
|
||||
"Appeler cette fonction avec un seul argument renvoie la somme:",
|
||||
"<code>var sumTwoAnd = add(2);</code>",
|
||||
"<code>sumTwoAnd(3)</code> renvoie <code>5</code>.",
|
||||
"Si aucun argument n'est un nombre, renvoie undefined.",
|
||||
"N'oublie pas d'utiliser <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Lire-Chercher-Demander</a> si tu es bloqué. Essaye de trouver un partenaire. Écris ton propre code."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -22,33 +22,39 @@
|
||||
],
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"descriptionRu": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/ONjoLe/' target='_blank'>https://codepen.io/FreeCodeCamp/full/ONjoLe/</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу нажать на кнопку и получить случайную цитату.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу нажать на кнопку и опубликовать цитату в Twitter'e.",
|
||||
"Цитаты можно добавить в массив и случайным образом выводить одну из них, либо можно воспользоваться соответствующим API, например <a href='http://forismatic.com/en/api/'>http://forismatic.com/en/api/</a>.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/ONjoLe/' target='_blank'>https://codepen.io/FreeCodeCamp/full/ONjoLe/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón que me mostrará una nueva frase aleatoria.",
|
||||
"<span class='text-info'>Bonus User Story:</span> Puedo presionar un botón para twitear una frase.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте генератор случайных цитат",
|
||||
"titleEs": "Crea una máquina de frases aleatorias"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea una máquina de frases aleatorias",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/ONjoLe/' target='_blank'>https://codepen.io/FreeCodeCamp/full/ONjoLe/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón que me mostrará una nueva frase aleatoria.",
|
||||
"<span class='text-info'>Bonus User Story:</span> Puedo presionar un botón para twitear una frase.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте генератор случайных цитат",
|
||||
"description": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/ONjoLe/' target='_blank'>https://codepen.io/FreeCodeCamp/full/ONjoLe/</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу нажать на кнопку и получить случайную цитату.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу нажать на кнопку и опубликовать цитату в Twitter'e.",
|
||||
"Цитаты можно добавить в массив и случайным образом выводить одну из них, либо можно воспользоваться соответствующим API, например <a href='http://forismatic.com/en/api/'>http://forismatic.com/en/api/</a>.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eddfaeb5bd10",
|
||||
@ -71,35 +77,41 @@
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"descriptionRu": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу узнать погоду с учетом моего текущего местоположения.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу в зависимости от погоды видеть различные температурные значки.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу в зависимости от погоды видеть различные фоновые изображения (снежные горы, знойная пустыня).",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу нажать на кнопку чтобы переключится между градусами по Цельсию или по Фаренгейту.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Pedo obtener información acerca del clima en mi localización actual.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver un icono diferente o una imagen de fondo diferente (e.g. montaña con nieve, desierto caliente) dependiendo del clima.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón para cambiar la unidad de temperatura de grados Fahrenheit a Celsius y viceversa.",
|
||||
"Recomendamos utilizar <a href='https://openweathermap.org/current#geo' target='_blank'>Open Weather API</a>. Al utilizarlo tendrás que crear una llave API gratuita. Normalmente debes evitar exponer llaves de API en CodePen, pero por el momento no hemos encontrado un API de clima que no requiera llave.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleRu": "Покажите местную погоду",
|
||||
"titleEs": "Muestra el clima local"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Muestra el clima local",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Pedo obtener información acerca del clima en mi localización actual.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver un icono diferente o una imagen de fondo diferente (e.g. montaña con nieve, desierto caliente) dependiendo del clima.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón para cambiar la unidad de temperatura de grados Fahrenheit a Celsius y viceversa.",
|
||||
"Recomendamos utilizar <a href='https://openweathermap.org/current#geo' target='_blank'>Open Weather API</a>. Al utilizarlo tendrás que crear una llave API gratuita. Normalmente debes evitar exponer llaves de API en CodePen, pero por el momento no hemos encontrado un API de clima que no requiera llave.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Покажите местную погоду",
|
||||
"description": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу узнать погоду с учетом моего текущего местоположения.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу в зависимости от погоды видеть различные температурные значки.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу в зависимости от погоды видеть различные фоновые изображения (снежные горы, знойная пустыня).",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу нажать на кнопку чтобы переключится между градусами по Цельсию или по Фаренгейту.",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eddfaeb5bd19",
|
||||
@ -123,24 +135,28 @@
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/wGqEga/' target='_blank'>https://codepen.io/FreeCodeCamp/full/wGqEga/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Pedo obtener información acerca del clima en mi localización actual.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver un icono diferente o una imagen de fondo diferente (e.g. montaña con nieve, desierto caliente) dependiendo del clima.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón para cambiar la unidad de temperatura de grados Fahrenheit a Celsius y viceversa.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo buscar entradas en Wikipedia en un cuadro de búsqueda y ver las entradas de Wikipedia resultantes.",
|
||||
"<span class='text-info'>Historia de usuario:</span>Puedo pulsar un botón para ver un artículo aleatorio de Wikipedia.",
|
||||
"<span class='text-info'>Pista 1:</span> Aquí está una URL donde puedes ver una entrada aleatoria de Wikipedia: <code>https://en.wikipedia.org/wiki/Special:Random<</code>.",
|
||||
"<span class='text-info'>Pista 2:</span> Este es un artículo muy útil relativo al uso del API de Wikipedia: <code>https://www.mediawiki.org/wiki/API:Main_page</code>.",
|
||||
"<span class='text-info'>Pista 3:</span> Usa este <a href='https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=jsonfm' target='_blank'>enlace</a> para experimentar con el API de Wikipedia.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Crea un buscador de Wikipedia"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un buscador de Wikipedia",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/wGqEga/' target='_blank'>https://codepen.io/FreeCodeCamp/full/wGqEga/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Pedo obtener información acerca del clima en mi localización actual.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver un icono diferente o una imagen de fondo diferente (e.g. montaña con nieve, desierto caliente) dependiendo del clima.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón para cambiar la unidad de temperatura de grados Fahrenheit a Celsius y viceversa.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo buscar entradas en Wikipedia en un cuadro de búsqueda y ver las entradas de Wikipedia resultantes.",
|
||||
"<span class='text-info'>Historia de usuario:</span>Puedo pulsar un botón para ver un artículo aleatorio de Wikipedia.",
|
||||
"<span class='text-info'>Pista 1:</span> Aquí está una URL donde puedes ver una entrada aleatoria de Wikipedia: <code>https://en.wikipedia.org/wiki/Special:Random<</code>.",
|
||||
"<span class='text-info'>Pista 2:</span> Este es un artículo muy útil relativo al uso del API de Wikipedia: <code>https://www.mediawiki.org/wiki/API:Main_page</code>.",
|
||||
"<span class='text-info'>Pista 3:</span> Usa este <a href='https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=jsonfm' target='_blank'>enlace</a> para experimentar con el API de Wikipedia.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c442eddfaeb5bd1f",
|
||||
@ -166,42 +182,48 @@
|
||||
"tests": [],
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"descriptionRu": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/Myvqmo/' target='_blank'>https://codepen.io/FreeCodeCamp/full/Myvqmo/</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу увидеть идет ли в данный момент на Twitch.tv трансляция Free Code Camp.",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу, кликнув на описание трансляции, перейти на канал Free Code Camp.",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу видеть дополнительную информацию о текущей трансляции Free Code Camp.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу произвести поиск среди перечисленных каналов.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу видеть уведомление, если создатель канала закрыл свой аккаунт на Twitch.tv. Добавьте в массив имена пользователей brunofin и comster404, чтобы убедиться, что эта функция реализована правильно.",
|
||||
"<span class='text-info'>Подсказка:</span> Пример запроса к Twitch.tv JSON API: <code>https://api.twitch.tv/kraken/streams/freecodecamp</code>.",
|
||||
"<span class='text-info'>Подсказка:</span> Документацию об этом запросе можно найти по ссылке: <a href='https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel' target='_blank'>https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel</a>.",
|
||||
"<span class='text-info'>Подсказка:</span> В этом массиве приведены имена пользователей, которые регулярно пишут код онлайн: <code>[\"ESL_SC2\", \"OgamingSC2\", \"cretetion\", \"freecodecamp\", \"storbeck\", \"habathcx\", \"RobotCaleb\", \"noobs2ninjas\"]</code>",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"descriptionEs": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/Myvqmo/' target='_blank'>https://codepen.io/FreeCodeCamp/full/Myvqmo/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo verificar si Free Code Camp está transmitiendo actualmente en Twitch.tv",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar el estatus y ser enviado directamente al canal de Free Code Camp en Twitch.tv.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Si un usuario Twitch está transmitiendo actualmente, puedo ver detalles adicionales acerca del contenido que están transmitiendo.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver una notificación si el usuario ha cerrado su cuenta de Twitch (o si la cuenta nunca ha existido). Puedes verificar si esto funciona agregando brunofin y comster404 a tu vector de usuarios de Twitch.",
|
||||
"<span class='text-info'>Pista:</span> Obseva una llamada de ejemplo al API JSONP de Twitch.tv en <code>https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Zipline-Use-the-Twitchtv-JSON-API</code>.",
|
||||
"<span class='text-info'>Pista:</span> La documentación relevante sobre esta llamada al API está aquí: <a href='https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel' target='_blank'>https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel</a>.",
|
||||
"<span class='text-info'>Pista:</span> Aquí está un vector de usuarios en Twitch.tv que regularmente transmiten sobre programación: <code>[\"ESL_SC2\", \"OgamingSC2\", \"cretetion\", \"freecodecamp\", \"storbeck\", \"habathcx\", \"RobotCaleb\", \"noobs2ninjas\"]</code>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleRu": "Используйте Twitch.tv JSON API",
|
||||
"titleEs": "Usa el API JSON de Twitch.tv"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Usa el API JSON de Twitch.tv",
|
||||
"description": [
|
||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/Myvqmo/' target='_blank'>https://codepen.io/FreeCodeCamp/full/Myvqmo/</a>.",
|
||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites. Dale tu estilo personal.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo verificar si Free Code Camp está transmitiendo actualmente en Twitch.tv",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar el estatus y ser enviado directamente al canal de Free Code Camp en Twitch.tv.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Si un usuario Twitch está transmitiendo actualmente, puedo ver detalles adicionales acerca del contenido que están transmitiendo.",
|
||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver una notificación si el usuario ha cerrado su cuenta de Twitch (o si la cuenta nunca ha existido). Puedes verificar si esto funciona agregando brunofin y comster404 a tu vector de usuarios de Twitch.",
|
||||
"<span class='text-info'>Pista:</span> Obseva una llamada de ejemplo al API JSONP de Twitch.tv en <code>https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Zipline-Use-the-Twitchtv-JSON-API</code>.",
|
||||
"<span class='text-info'>Pista:</span> La documentación relevante sobre esta llamada al API está aquí: <a href='https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel' target='_blank'>https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel</a>.",
|
||||
"<span class='text-info'>Pista:</span> Aquí está un vector de usuarios en Twitch.tv que regularmente transmiten sobre programación: <code>[\"ESL_SC2\", \"OgamingSC2\", \"cretetion\", \"freecodecamp\", \"storbeck\", \"habathcx\", \"RobotCaleb\", \"noobs2ninjas\"]</code>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Используйте Twitch.tv JSON API",
|
||||
"description": [
|
||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/Myvqmo/' target='_blank'>https://codepen.io/FreeCodeCamp/full/Myvqmo/</a>.",
|
||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||
"Реализуйте следующие <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>пользовательские истории</a>, сделайте также бонусные по желанию:",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу увидеть идет ли в данный момент на Twitch.tv трансляция Free Code Camp.",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу, кликнув на описание трансляции, перейти на канал Free Code Camp.",
|
||||
"<span class='text-info'>Пользовательская история:</span> В качестве пользователя, я могу видеть дополнительную информацию о текущей трансляции Free Code Camp.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу произвести поиск среди перечисленных каналов.",
|
||||
"<span class='text-info'>Бонусная пользовательская история:</span> В качестве пользователя, я могу видеть уведомление, если создатель канала закрыл свой аккаунт на Twitch.tv. Добавьте в массив имена пользователей brunofin и comster404, чтобы убедиться, что эта функция реализована правильно.",
|
||||
"<span class='text-info'>Подсказка:</span> Пример запроса к Twitch.tv JSON API: <code>https://api.twitch.tv/kraken/streams/freecodecamp</code>.",
|
||||
"<span class='text-info'>Подсказка:</span> Документацию об этом запросе можно найти по ссылке: <a href='https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel' target='_blank'>https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel</a>.",
|
||||
"<span class='text-info'>Подсказка:</span> В этом массиве приведены имена пользователей, которые регулярно пишут код онлайн: <code>[\"ESL_SC2\", \"OgamingSC2\", \"cretetion\", \"freecodecamp\", \"storbeck\", \"habathcx\", \"RobotCaleb\", \"noobs2ninjas\"]</code>",
|
||||
"Если что-то не получается, воспользуйтесь <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a>.",
|
||||
"Когда выполните задание кликните кнопку \"I've completed this challenge\" и добавьте ссылку на ваш CodePen. Если вы программировали с кем-то в паре, также добавьте имя вашего напарника.",
|
||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -49,24 +49,30 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Activa eventos de pulsación con jQuery",
|
||||
"descriptionEs": [
|
||||
"En esta sección, vamos a aprender cómo obtener datos de las APIs. Las APIs - o interfaces de programación de aplicaciones - son herramientas que utilizan los computadores para comunicarse entre sí.",
|
||||
"También aprenderemos cómo actualizar HTML con los datos que obtenemos de estas API usando una tecnología llamada Ajax.",
|
||||
"En primer lugar, vamos a revisar lo que hace la función <code>$(document).ready()</code>. Esta función hace que todo el código dentro de ella se ejecute sólo hasta que nuestra página ha sido cargada.",
|
||||
"Hagamos que nuestro botón \"Get message\" cambie el texto del elemento con clase <code>message</code>.",
|
||||
"Antes de poder hacer esto, tenemos que implementar un <code>evento de pulsación</code> dentro de nuestra función <code>$(document).ready()</code>, añadiendo este código:",
|
||||
"<blockquote>$(\"#getMessage\").on(\"click\", function(){</br></br>});</blockquote>"
|
||||
],
|
||||
"titlePt": "Ativando eventos de clique com jQuery",
|
||||
"descriptionPt": [
|
||||
"Nesta sessão, vamos aprender como obter dados de uma API. As APIS - Interface de Programação de Aplicativos - são ferramentas usadas pelos computadores para se comunicarem entre si.",
|
||||
"Também aprenderemos como utilizar o HTML com os dados obtidos de uma API usando uma tecnologia chamada Ajax",
|
||||
"Em primeiro lugar, vamos revir o que faz a função <code>$(document).ready()</code>. Esta função faz com que todo o codigo que esteja dentro de seu escopo execute somente quando a nossa página tenha sido carregada.",
|
||||
"Vamos fazer nosso butão \"Get message\" mudar o texto do elemento com a classe <code>message</code>.",
|
||||
"Antes de poder fazer isso, temos que implementar um <code>evento de clique</code> dentro da nossa função <code>$(document).ready()</code>, adicionando este código:",
|
||||
"<blockquote>$(\"#getMessage\").on(\"click\", function(){</br></br>});</blockquote>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Activa eventos de pulsación con jQuery",
|
||||
"description": [
|
||||
"En esta sección, vamos a aprender cómo obtener datos de las APIs. Las APIs - o interfaces de programación de aplicaciones - son herramientas que utilizan los computadores para comunicarse entre sí.",
|
||||
"También aprenderemos cómo actualizar HTML con los datos que obtenemos de estas API usando una tecnología llamada Ajax.",
|
||||
"En primer lugar, vamos a revisar lo que hace la función <code>$(document).ready()</code>. Esta función hace que todo el código dentro de ella se ejecute sólo hasta que nuestra página ha sido cargada.",
|
||||
"Hagamos que nuestro botón \"Get message\" cambie el texto del elemento con clase <code>message</code>.",
|
||||
"Antes de poder hacer esto, tenemos que implementar un <code>evento de pulsación</code> dentro de nuestra función <code>$(document).ready()</code>, añadiendo este código:",
|
||||
"<blockquote>$(\"#getMessage\").on(\"click\", function(){</br></br>});</blockquote>"
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Ativando eventos de clique com jQuery",
|
||||
"description": [
|
||||
"Nesta sessão, vamos aprender como obter dados de uma API. As APIS - Interface de Programação de Aplicativos - são ferramentas usadas pelos computadores para se comunicarem entre si.",
|
||||
"Também aprenderemos como utilizar o HTML com os dados obtidos de uma API usando uma tecnologia chamada Ajax",
|
||||
"Em primeiro lugar, vamos revir o que faz a função <code>$(document).ready()</code>. Esta função faz com que todo o codigo que esteja dentro de seu escopo execute somente quando a nossa página tenha sido carregada.",
|
||||
"Vamos fazer nosso butão \"Get message\" mudar o texto do elemento com a classe <code>message</code>.",
|
||||
"Antes de poder fazer isso, temos que implementar um <code>evento de clique</code> dentro da nossa função <code>$(document).ready()</code>, adicionando este código:",
|
||||
"<blockquote>$(\"#getMessage\").on(\"click\", function(){</br></br>});</blockquote>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56bbb991ad1ed5201cd392d5",
|
||||
@ -112,20 +118,26 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Cambia texto con eventos de pulsación",
|
||||
"descriptionEs": [
|
||||
"Cuando nuestro evento de pulsación ocurre, podemos utilizar jQuery para actualizar un elemento HTML.",
|
||||
"Hagamos que cuando un usuario pulse el botón \"Get Message\", el texto del elemento con la clase <code>message</code> cambie para decir \"Here is the message\".",
|
||||
"Podemos hacerlo añadiendo el siguiente código dentro de nuestro evento de pulsación:",
|
||||
"<code>$(\".message\").html(\"Here is the message\");</code>"
|
||||
],
|
||||
"titlePt": "Mundando texto com eventos de clique",
|
||||
"descriptionPt": [
|
||||
"Quando nosso evento de clique ocorre, podemos utilizar o jQuery para atualixar um elemento HTML",
|
||||
"Vamos fazer que quando um usuário clicar no botão \"Get Message\", o texto do elemento com a classe <code>message</code> passe a dizer \"Here is the message\".",
|
||||
"Podemos fazer isso adicionando o seguinte código dentro do nosso evento de clique:",
|
||||
"<code>$(\".message\").html(\"Here is the message\");</code>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Cambia texto con eventos de pulsación",
|
||||
"description": [
|
||||
"Cuando nuestro evento de pulsación ocurre, podemos utilizar jQuery para actualizar un elemento HTML.",
|
||||
"Hagamos que cuando un usuario pulse el botón \"Get Message\", el texto del elemento con la clase <code>message</code> cambie para decir \"Here is the message\".",
|
||||
"Podemos hacerlo añadiendo el siguiente código dentro de nuestro evento de pulsación:",
|
||||
"<code>$(\".message\").html(\"Here is the message\");</code>"
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Mundando texto com eventos de clique",
|
||||
"description": [
|
||||
"Quando nosso evento de clique ocorre, podemos utilizar o jQuery para atualixar um elemento HTML",
|
||||
"Vamos fazer que quando um usuário clicar no botão \"Get Message\", o texto do elemento com a classe <code>message</code> passe a dizer \"Here is the message\".",
|
||||
"Podemos fazer isso adicionando o seguinte código dentro do nosso evento de clique:",
|
||||
"<code>$(\".message\").html(\"Here is the message\");</code>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56bbb991ad1ed5201cd392d6",
|
||||
@ -183,30 +195,36 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Obtén JSON con el método getJSON de jQuery",
|
||||
"descriptionEs": [
|
||||
"También puedes solicitar los datos de una fuente externa. Aquí es donde entran en juego las API. ",
|
||||
"Recuerda que las API - o interfaces de programación de aplicaciones - son herramientas que utilizan los ordenadores para comunicarse entre sí.",
|
||||
"La mayoría de las API para el web transfieren datos en un formato llamado JSON. JSON significa notación de objeto JavaScript (<em>JavaScript Object Notation</em>).",
|
||||
"Tú ya has usado JSON al crear objetos en JavaScript. JSON no es más que las propiedades del objeto y sus valores actuales, intercalados entre un <code>{</code> y un <code>}</code>. ",
|
||||
"Estas propiedades y sus valores a menudo se denominan \" pares llave-valor\".",
|
||||
"Vamos a obtener el JSON de la API de fotos de gato de Free Code Camp.",
|
||||
"Aquí está el código que puedes poner en tu evento de pulsación para lograrlo:",
|
||||
"<blockquote>$.getJSON(\"/json/cats.json\", function(json) {<br> $(\".message\").html(JSON.stringify(json));<br>});</blockquote>",
|
||||
"Una vez lo añadas, pulsa el botón \"Get Message\". Tu función Ajax sustituirá el texto \"The message will go here\" con la salida JSON en bruto de la API de fotos de gato de Free Code Camp."
|
||||
],
|
||||
"titlePt": "Obter um JSON com o método getJSON do jQuery",
|
||||
"descriptionPt": [
|
||||
"Também é possivel solicitar os dados de uma fonte externa. É aqui onde as API's entram em jogo.",
|
||||
"Lembre que as API's - Interface de Programação de Aplicativos - são ferramentas que os computadores usam para se comunicar entre si.",
|
||||
"A maioria das API's transferem de dados para web em um formato chamado JSON. JSON significa notação de objeto JavaScript (<em>JavaScript Object Notation</em>).",
|
||||
"Você já usou JSON para criar objetos em JavaScript. O JSON não é mais que as propriedades de um objeto e seus valores atuais, separados entre <code>{</code> e um <code>}</code>.",
|
||||
"Estas propriedades e seus valores são muitas vezes denominados de \" pares chave-valor\".",
|
||||
"Vamos obter o JSON da API de fotos de gatos do Free Code Camp.",
|
||||
"Aqui esta o código que você pode por no nosso evento de clique para fazer isso:",
|
||||
"<blockquote>$.getJSON(\"/json/cats.json\", function(json) {<br> $(\".message\").html(JSON.stringify(json));<br>});</blockquote>",
|
||||
"Uma vez adicionadas, aperte o botão \"Get Message\". Sua função Ajax substituirá o texto \"The message will go here\" com a saída bruta do JSON da API de gatos do Free Code Camp."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Obtén JSON con el método getJSON de jQuery",
|
||||
"description": [
|
||||
"También puedes solicitar los datos de una fuente externa. Aquí es donde entran en juego las API. ",
|
||||
"Recuerda que las API - o interfaces de programación de aplicaciones - son herramientas que utilizan los ordenadores para comunicarse entre sí.",
|
||||
"La mayoría de las API para el web transfieren datos en un formato llamado JSON. JSON significa notación de objeto JavaScript (<em>JavaScript Object Notation</em>).",
|
||||
"Tú ya has usado JSON al crear objetos en JavaScript. JSON no es más que las propiedades del objeto y sus valores actuales, intercalados entre un <code>{</code> y un <code>}</code>. ",
|
||||
"Estas propiedades y sus valores a menudo se denominan \" pares llave-valor\".",
|
||||
"Vamos a obtener el JSON de la API de fotos de gato de Free Code Camp.",
|
||||
"Aquí está el código que puedes poner en tu evento de pulsación para lograrlo:",
|
||||
"<blockquote>$.getJSON(\"/json/cats.json\", function(json) {<br> $(\".message\").html(JSON.stringify(json));<br>});</blockquote>",
|
||||
"Una vez lo añadas, pulsa el botón \"Get Message\". Tu función Ajax sustituirá el texto \"The message will go here\" con la salida JSON en bruto de la API de fotos de gato de Free Code Camp."
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Obter um JSON com o método getJSON do jQuery",
|
||||
"description": [
|
||||
"Também é possivel solicitar os dados de uma fonte externa. É aqui onde as API's entram em jogo.",
|
||||
"Lembre que as API's - Interface de Programação de Aplicativos - são ferramentas que os computadores usam para se comunicar entre si.",
|
||||
"A maioria das API's transferem de dados para web em um formato chamado JSON. JSON significa notação de objeto JavaScript (<em>JavaScript Object Notation</em>).",
|
||||
"Você já usou JSON para criar objetos em JavaScript. O JSON não é mais que as propriedades de um objeto e seus valores atuais, separados entre <code>{</code> e um <code>}</code>.",
|
||||
"Estas propriedades e seus valores são muitas vezes denominados de \" pares chave-valor\".",
|
||||
"Vamos obter o JSON da API de fotos de gatos do Free Code Camp.",
|
||||
"Aqui esta o código que você pode por no nosso evento de clique para fazer isso:",
|
||||
"<blockquote>$.getJSON(\"/json/cats.json\", function(json) {<br> $(\".message\").html(JSON.stringify(json));<br>});</blockquote>",
|
||||
"Uma vez adicionadas, aperte o botão \"Get Message\". Sua função Ajax substituirá o texto \"The message will go here\" com a saída bruta do JSON da API de gatos do Free Code Camp."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56bbb991ad1ed5201cd392d7",
|
||||
@ -263,24 +281,30 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Convierte datos JSON a datos HTML",
|
||||
"descriptionEs": [
|
||||
"Ahora que estamos obteniendo datos de una API JSON, mostremóslos en nuestro HTML.",
|
||||
"Podemos usar el método <code>.forEach()</code> para recorrer nuestros datos y modificar nuestros elementos HTML.",
|
||||
"En primer lugar, vamos a declarar una variable llamada <code>html</code> con <code>var html = \"\";</code>.",
|
||||
"Después, iteremos a traveś de nuestro JSON, añadiendo más HTML a esa variable. Cuando se termina el ciclo, vamos a presentarla. ",
|
||||
"Aquí está el código que hace esto:",
|
||||
"<blockquote>json.forEach(function(val) {</br> var keys = Object.keys(val);</br> html += \"<div class = 'cat'>\";</br> keys.forEach(function(key) {</br> html += \"<strong>\" + key + \"</strong>: \" + val[key] + \"<br>\";</br> });</br> html += \"</div><br>\";</br>});</blockquote>"
|
||||
],
|
||||
"titlePt": "Converter dados JSON para HTML",
|
||||
"descriptionPt": [
|
||||
"Agora que estamos obtendo os dados de uma API JSON, vamos mostra-los em nosso HTML",
|
||||
"Podemos usar o método <code>.forEach()</code> para percorrer os nossos dados e modificar o elementos HTML.",
|
||||
"Em primeiro lugar, vamos declarar uma variável chamada <code>html</code> com <code>var html = \"\";</code>.",
|
||||
"Depois, vamos percorrer através do nosso JSON, adicionando mais HTML para a nossa variável. Quando essa iteração terminar, vamos apresentar o resultado.",
|
||||
"Aqui está o código que faz isso:",
|
||||
"<blockquote>json.forEach(function(val) {</br> var keys = Object.keys(val);</br> html += \"<div class = 'cat'>\";</br> keys.forEach(function(key) {</br> html += \"<strong>\" + key + \"</strong>: \" + val[key] + \"<br>\";</br> });</br> html += \"</div><br>\";</br>});</blockquote>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Convierte datos JSON a datos HTML",
|
||||
"description": [
|
||||
"Ahora que estamos obteniendo datos de una API JSON, mostremóslos en nuestro HTML.",
|
||||
"Podemos usar el método <code>.forEach()</code> para recorrer nuestros datos y modificar nuestros elementos HTML.",
|
||||
"En primer lugar, vamos a declarar una variable llamada <code>html</code> con <code>var html = \"\";</code>.",
|
||||
"Después, iteremos a traveś de nuestro JSON, añadiendo más HTML a esa variable. Cuando se termina el ciclo, vamos a presentarla. ",
|
||||
"Aquí está el código que hace esto:",
|
||||
"<blockquote>json.forEach(function(val) {</br> var keys = Object.keys(val);</br> html += \"<div class = 'cat'>\";</br> keys.forEach(function(key) {</br> html += \"<strong>\" + key + \"</strong>: \" + val[key] + \"<br>\";</br> });</br> html += \"</div><br>\";</br>});</blockquote>"
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Converter dados JSON para HTML",
|
||||
"description": [
|
||||
"Agora que estamos obtendo os dados de uma API JSON, vamos mostra-los em nosso HTML",
|
||||
"Podemos usar o método <code>.forEach()</code> para percorrer os nossos dados e modificar o elementos HTML.",
|
||||
"Em primeiro lugar, vamos declarar uma variável chamada <code>html</code> com <code>var html = \"\";</code>.",
|
||||
"Depois, vamos percorrer através do nosso JSON, adicionando mais HTML para a nossa variável. Quando essa iteração terminar, vamos apresentar o resultado.",
|
||||
"Aqui está o código que faz isso:",
|
||||
"<blockquote>json.forEach(function(val) {</br> var keys = Object.keys(val);</br> html += \"<div class = 'cat'>\";</br> keys.forEach(function(key) {</br> html += \"<strong>\" + key + \"</strong>: \" + val[key] + \"<br>\";</br> });</br> html += \"</div><br>\";</br>});</blockquote>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56bbb991ad1ed5201cd392d8",
|
||||
@ -344,20 +368,26 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Presenta imágenes de fuentes de datos",
|
||||
"descriptionEs": [
|
||||
"Hemos visto en las dos últimas lecciones que cada objeto en nuestro vector JSON contiene una llave <code>imageLink</code> con un valor que corresponde a la URL de la imagen de un gato.",
|
||||
"Cuando estamos recorriendo estos objetos, usemos esta propiedad <code>imageLink</code> para visualizar la imagen en un elemento <code>img</code>.",
|
||||
"Aquí está el código que hace esto:",
|
||||
"<code>html += \"<img src = '\" + val.imageLink + \"' \" + \"alt='\" + val.altText + \"'>\";</code>"
|
||||
],
|
||||
"titlePt": "Apresentar as imagens da fonte de dados",
|
||||
"descriptionPt": [
|
||||
"Como temos visto nas ultimas lições, cada objeto em nosso array JSON contém a chave <code>imageLink</code> com um valor que corresponde a URL da imagem de um gato.",
|
||||
"Quando estamos percorrendo por estes objetos, usamos a propriedade <code>imageLink</code> para visualizar a imagem em um elemento <code>img</code>.",
|
||||
"Aqui está o código para fazer isso:",
|
||||
"<code>html += \"<img src = '\" + val.imageLink + \"' \" + \"alt='\" + val.altText + \"'>\";</code>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Presenta imágenes de fuentes de datos",
|
||||
"description": [
|
||||
"Hemos visto en las dos últimas lecciones que cada objeto en nuestro vector JSON contiene una llave <code>imageLink</code> con un valor que corresponde a la URL de la imagen de un gato.",
|
||||
"Cuando estamos recorriendo estos objetos, usemos esta propiedad <code>imageLink</code> para visualizar la imagen en un elemento <code>img</code>.",
|
||||
"Aquí está el código que hace esto:",
|
||||
"<code>html += \"<img src = '\" + val.imageLink + \"' \" + \"alt='\" + val.altText + \"'>\";</code>"
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Apresentar as imagens da fonte de dados",
|
||||
"description": [
|
||||
"Como temos visto nas ultimas lições, cada objeto em nosso array JSON contém a chave <code>imageLink</code> com um valor que corresponde a URL da imagem de um gato.",
|
||||
"Quando estamos percorrendo por estes objetos, usamos a propriedade <code>imageLink</code> para visualizar a imagem em um elemento <code>img</code>.",
|
||||
"Aqui está o código para fazer isso:",
|
||||
"<code>html += \"<img src = '\" + val.imageLink + \"' \" + \"alt='\" + val.altText + \"'>\";</code>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56bbb991ad1ed5201cd392d9",
|
||||
@ -423,20 +453,26 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Pre-filtra JSON",
|
||||
"descriptionEs": [
|
||||
"Si no queremos presentar cada foto de gato que obtengamos de la API JSON de fotos de gato de Free Code Camp, podemos pre-filtrar el json antes de iterar a través de este.",
|
||||
"Vamos a filtrar el gato cuya llave \"id\" tiene un valor de 1.",
|
||||
"Aquí está el código para hacer esto:",
|
||||
"<blockquote>json = json.filter(function(val) {</br> return (val.id !== 1);</br>});</blockquote>"
|
||||
],
|
||||
"titlePt": "Pré-filtro JSON",
|
||||
"descriptionPt": [
|
||||
"Se não queremos apresentar cada foto de gato que obtemos da API JSON de fotos de gatos do Free Code Camp, podemos realizar um pré-filtro o JSON antes de iterar através dele.",
|
||||
"Vamos filtrar o gato cuja a chave \"id\" tenha o valor 1.",
|
||||
"Aqui está o código para fazer isso:",
|
||||
"<blockquote>json = json.filter(function(val) {</br> return (val.id !== 1);</br>});</blockquote>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Pre-filtra JSON",
|
||||
"description": [
|
||||
"Si no queremos presentar cada foto de gato que obtengamos de la API JSON de fotos de gato de Free Code Camp, podemos pre-filtrar el json antes de iterar a través de este.",
|
||||
"Vamos a filtrar el gato cuya llave \"id\" tiene un valor de 1.",
|
||||
"Aquí está el código para hacer esto:",
|
||||
"<blockquote>json = json.filter(function(val) {</br> return (val.id !== 1);</br>});</blockquote>"
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Pré-filtro JSON",
|
||||
"description": [
|
||||
"Se não queremos apresentar cada foto de gato que obtemos da API JSON de fotos de gatos do Free Code Camp, podemos realizar um pré-filtro o JSON antes de iterar através dele.",
|
||||
"Vamos filtrar o gato cuja a chave \"id\" tenha o valor 1.",
|
||||
"Aqui está o código para fazer isso:",
|
||||
"<blockquote>json = json.filter(function(val) {</br> return (val.id !== 1);</br>});</blockquote>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56bbb991ad1ed5201cd392da",
|
||||
@ -471,24 +507,30 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 0,
|
||||
"titleEs": "Recibir datos de Geo-localización",
|
||||
"descriptionEs": [
|
||||
"Otra cosa interesante que podemos hacer es acceder a la ubicación actual de nuestros usuarios. Todos los navegadores han incorporado un geo-localizador que nos puede dar esta información. ",
|
||||
"El navegador puede obtener la longitud y latitud actual de nuestros usuarios.",
|
||||
"Como usuario verás un mensaje para permitir o evitar que el sitio conozca tu ubicación actual. El desafío se puede completar de cualquier manera, siempre y cuando el código sea correcto. ",
|
||||
"Si lo permites, verás que el texto en el teléfono de la derecha cambiará con tu latitud y longitud",
|
||||
"Aquí hay un código que hace esto:",
|
||||
"<blockquote>if (navigator.geolocation) {</br> navigator.geolocation.getCurrentPosition(function(position) {</br> $(\"#data\").html(\"latitude: \" + position.coords.latitude + \"<br>longitude: \" + position.coords.longitude);</br> });</br>}</blockquote>"
|
||||
],
|
||||
"titlePt": "Receber dados de Geo-localização",
|
||||
"descriptionPt": [
|
||||
"Outra coisa interessante que podemos fazer é acessar a atual localização do nosso usuário. Todos os navegadores tem implementado um geo-localizador que pode nos fornecer essa informação.",
|
||||
"O navegador pode obter a longitude e latitude atual de nossos usuários",
|
||||
"Você irá ver uma janela para bloquear ou permitir que o site possa conhecer a nossa localização atual. O desafio será completado de qualquer maneira, sempre que o código estará correto.",
|
||||
"Se você permitir, irá ver o texto de saída do telefone mudar para sua latitude e longitude.",
|
||||
"Aqui está o código para fazer isso:",
|
||||
"<blockquote>if (navigator.geolocation) {</br> navigator.geolocation.getCurrentPosition(function(position) {</br> $(\"#data\").html(\"latitude: \" + position.coords.latitude + \"<br>longitude: \" + position.coords.longitude);</br> });</br>}</blockquote>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Recibir datos de Geo-localización",
|
||||
"description": [
|
||||
"Otra cosa interesante que podemos hacer es acceder a la ubicación actual de nuestros usuarios. Todos los navegadores han incorporado un geo-localizador que nos puede dar esta información. ",
|
||||
"El navegador puede obtener la longitud y latitud actual de nuestros usuarios.",
|
||||
"Como usuario verás un mensaje para permitir o evitar que el sitio conozca tu ubicación actual. El desafío se puede completar de cualquier manera, siempre y cuando el código sea correcto. ",
|
||||
"Si lo permites, verás que el texto en el teléfono de la derecha cambiará con tu latitud y longitud",
|
||||
"Aquí hay un código que hace esto:",
|
||||
"<blockquote>if (navigator.geolocation) {</br> navigator.geolocation.getCurrentPosition(function(position) {</br> $(\"#data\").html(\"latitude: \" + position.coords.latitude + \"<br>longitude: \" + position.coords.longitude);</br> });</br>}</blockquote>"
|
||||
]
|
||||
},
|
||||
"pt": {
|
||||
"title": "Receber dados de Geo-localização",
|
||||
"description": [
|
||||
"Outra coisa interessante que podemos fazer é acessar a atual localização do nosso usuário. Todos os navegadores tem implementado um geo-localizador que pode nos fornecer essa informação.",
|
||||
"O navegador pode obter a longitude e latitude atual de nossos usuários",
|
||||
"Você irá ver uma janela para bloquear ou permitir que o site possa conhecer a nossa localização atual. O desafio será completado de qualquer maneira, sempre que o código estará correto.",
|
||||
"Se você permitir, irá ver o texto de saída do telefone mudar para sua latitude e longitude.",
|
||||
"Aqui está o código para fazer isso:",
|
||||
"<blockquote>if (navigator.geolocation) {</br> navigator.geolocation.getCurrentPosition(function(position) {</br> $(\"#data\").html(\"latitude: \" + position.coords.latitude + \"<br>longitude: \" + position.coords.longitude);</br> });</br>}</blockquote>"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -46,11 +46,15 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Declara objetos de JavaScript como variables",
|
||||
"descriptionEs": [
|
||||
"Antes de sumergirnos en Programación Orientada a Objetos, vamos a revisar los objetos de JavaScript.",
|
||||
"Dale a tu objeto <code>motorBike</code> un atributo <code>wheels</code>, otro llamado <code>motors</code> y otro <code>seats</code> y asignales números."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Declara objetos de JavaScript como variables",
|
||||
"description": [
|
||||
"Antes de sumergirnos en Programación Orientada a Objetos, vamos a revisar los objetos de JavaScript.",
|
||||
"Dale a tu objeto <code>motorBike</code> un atributo <code>wheels</code>, otro llamado <code>motors</code> y otro <code>seats</code> y asignales números."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c15feddfaeb2bdef",
|
||||
@ -92,22 +96,26 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Construye objetos de JavaScript con funciones",
|
||||
"descriptionEs": [
|
||||
"También podemos crear objetos utilizando funciones <code>constructoras</code>.",
|
||||
"A cada función <code>constructora</code> se le da un nombre comenzando en mayúsculas para que quede claro que es una <code>constructora</code>.",
|
||||
"He aquí un ejemplo de una función <code>constructora</code>:",
|
||||
"<code>var Carro = function() {</code>",
|
||||
"<code>& nbsp; & nbsp; this.llantas = 4; </code>",
|
||||
"<code>& nbsp; & nbsp; this.motores = 1; </code>",
|
||||
"<code>& nbsp; & nbsp; this.asientos = 5; </code>",
|
||||
"<code>}; </code>",
|
||||
"En una <code>constructora</code> la variable <code>this</code> hace referencia al nuevo objeto que está siendo creado por la constructora. Así que cuando escribimos ",
|
||||
"<code> this.llantas = 4;</code>",
|
||||
"dentro de la <code>constructora</code> le estamos dando el nuevo objeto que se crea una propiedad llamada <code>llantas</code> con un valor de <code>4</code>.",
|
||||
"Puedes pensar en una <code>constructora</code> como una descripción del objeto que crea.",
|
||||
"Haz que tu <code>constructora</code> <code>MotorBike</code> describa un objeto con las propiedades <code>wheels</code>,<code>engines</code> and <code>seats</code> y asignales números."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Construye objetos de JavaScript con funciones",
|
||||
"description": [
|
||||
"También podemos crear objetos utilizando funciones <code>constructoras</code>.",
|
||||
"A cada función <code>constructora</code> se le da un nombre comenzando en mayúsculas para que quede claro que es una <code>constructora</code>.",
|
||||
"He aquí un ejemplo de una función <code>constructora</code>:",
|
||||
"<code>var Carro = function() {</code>",
|
||||
"<code>& nbsp; & nbsp; this.llantas = 4; </code>",
|
||||
"<code>& nbsp; & nbsp; this.motores = 1; </code>",
|
||||
"<code>& nbsp; & nbsp; this.asientos = 5; </code>",
|
||||
"<code>}; </code>",
|
||||
"En una <code>constructora</code> la variable <code>this</code> hace referencia al nuevo objeto que está siendo creado por la constructora. Así que cuando escribimos ",
|
||||
"<code> this.llantas = 4;</code>",
|
||||
"dentro de la <code>constructora</code> le estamos dando el nuevo objeto que se crea una propiedad llamada <code>llantas</code> con un valor de <code>4</code>.",
|
||||
"Puedes pensar en una <code>constructora</code> como una descripción del objeto que crea.",
|
||||
"Haz que tu <code>constructora</code> <code>MotorBike</code> describa un objeto con las propiedades <code>wheels</code>,<code>engines</code> and <code>seats</code> y asignales números."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c15feddfaeb4bdef",
|
||||
@ -150,24 +158,28 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Crea instancias de objetos con funciones constructoras",
|
||||
"descriptionEs": [
|
||||
"¡Ahora usemos esa gran <code>constructora</code> que hicimos en la última lección!",
|
||||
"Para utilizar una función <code>constructora</code> la llamamos con la palabra reservada <code>new</code> al frente, como:",
|
||||
"<code>var miCarro = new Carro();</code>",
|
||||
"<code>miCarro</code>es ahora una <code>instancia</code> de la constructora <code>Carro</code> que se parece al objeto que describe:",
|
||||
"<code>{</code>",
|
||||
"<code> wheels: 4,</code>",
|
||||
"<code> engines: 1,</code>",
|
||||
"<code> seats: 5</code>",
|
||||
"<code>}</code>",
|
||||
"Ten en cuenta que es importante utilizar la palabra reservada <code>new</code> cuando se llama a una constructora. Así es como Javascript sabe crear un objeto nuevo y hace que todas las referencias a <code>this</code> dentro del constructor se refieran al objeto nuevo ",
|
||||
"Ahora, una vez que la <code>instancia</code> <code>miCarro</code> se crea, puede ser utilizada como cualquier otro objeto y puedes acceder o modificar sus propiedades como lo harías normalmente. Por ejemplo:",
|
||||
"<code>miCarro.tipoTurbo = \"doble\"; </code>",
|
||||
"Nuestra variable <code>miCarro</code> tiene ahora una propiedad <code>tipoTurbo</code> con un valor de <code>\"doble\"</code>.",
|
||||
"En el editor, utiliza la <code>constructora</code> <code>Car</code> para crear una nueva <code>instancia</code> y asignala a <code>myCar</code>.",
|
||||
"A continuación, dale a <code>myCar</code> una propiedad <code>nickname</code> con un valor tipo cadena."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea instancias de objetos con funciones constructoras",
|
||||
"description": [
|
||||
"¡Ahora usemos esa gran <code>constructora</code> que hicimos en la última lección!",
|
||||
"Para utilizar una función <code>constructora</code> la llamamos con la palabra reservada <code>new</code> al frente, como:",
|
||||
"<code>var miCarro = new Carro();</code>",
|
||||
"<code>miCarro</code>es ahora una <code>instancia</code> de la constructora <code>Carro</code> que se parece al objeto que describe:",
|
||||
"<code>{</code>",
|
||||
"<code> wheels: 4,</code>",
|
||||
"<code> engines: 1,</code>",
|
||||
"<code> seats: 5</code>",
|
||||
"<code>}</code>",
|
||||
"Ten en cuenta que es importante utilizar la palabra reservada <code>new</code> cuando se llama a una constructora. Así es como Javascript sabe crear un objeto nuevo y hace que todas las referencias a <code>this</code> dentro del constructor se refieran al objeto nuevo ",
|
||||
"Ahora, una vez que la <code>instancia</code> <code>miCarro</code> se crea, puede ser utilizada como cualquier otro objeto y puedes acceder o modificar sus propiedades como lo harías normalmente. Por ejemplo:",
|
||||
"<code>miCarro.tipoTurbo = \"doble\"; </code>",
|
||||
"Nuestra variable <code>miCarro</code> tiene ahora una propiedad <code>tipoTurbo</code> con un valor de <code>\"doble\"</code>.",
|
||||
"En el editor, utiliza la <code>constructora</code> <code>Car</code> para crear una nueva <code>instancia</code> y asignala a <code>myCar</code>.",
|
||||
"A continuación, dale a <code>myCar</code> una propiedad <code>nickname</code> con un valor tipo cadena."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "563cfb55594311ffcb333c70",
|
||||
@ -208,26 +220,30 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Crea objetos únicos pasando parámetros a la constructora",
|
||||
"descriptionEs": [
|
||||
"La <code>constructora</code> que tenemos es fabulosa, pero ¿qué hacer si no queremos crear siempre el mismo objeto?",
|
||||
"Para solucionar esto podemos añadir<code>parámetros</code>en nuestra <code>constructora</code>. Hacemos esto como en el siguiente ejemplo: ",
|
||||
"<code>var Carro = function (ruedas, asientos, motores) {</code>",
|
||||
"<code> this.ruedas = ruedas;</code>",
|
||||
"<code> this.asientos = asientos;</code>",
|
||||
"<code> this.motores = motores;</code>",
|
||||
"<code>};</code>",
|
||||
"Ahora podemos pasar <code>argumentos</code> cuando llamamos a nuestra <code>constructora</code>.",
|
||||
"<code>var miCarro = nuevo Carro(6, 3, 1); </code>",
|
||||
"Este código crea un objeto que utiliza los <code>argumentos</code> que pasamos en y se ve así:",
|
||||
"<code>{</code>",
|
||||
"<code> ruedas: 6,</code>",
|
||||
"<code> asientos: 3,</code>",
|
||||
"<code> motores: 1</code>",
|
||||
"<code>}</code>",
|
||||
"¡Ahora date una oportunidad a ti mismo! Modifica la <code>constructora</code> <code>Car</code> para que use <code>parámetros</code> que permitan asignar valores para las propiedades <code>wheels</code>, <code>seats</code>, y <code>engines</code>. ",
|
||||
"Entonces llama a tu nueva <code>constructora</code> con tres <code>argumentos</code> numéricos y asígnala a <code>myCar</code>para verla en acción."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea objetos únicos pasando parámetros a la constructora",
|
||||
"description": [
|
||||
"La <code>constructora</code> que tenemos es fabulosa, pero ¿qué hacer si no queremos crear siempre el mismo objeto?",
|
||||
"Para solucionar esto podemos añadir<code>parámetros</code>en nuestra <code>constructora</code>. Hacemos esto como en el siguiente ejemplo: ",
|
||||
"<code>var Carro = function (ruedas, asientos, motores) {</code>",
|
||||
"<code> this.ruedas = ruedas;</code>",
|
||||
"<code> this.asientos = asientos;</code>",
|
||||
"<code> this.motores = motores;</code>",
|
||||
"<code>};</code>",
|
||||
"Ahora podemos pasar <code>argumentos</code> cuando llamamos a nuestra <code>constructora</code>.",
|
||||
"<code>var miCarro = nuevo Carro(6, 3, 1); </code>",
|
||||
"Este código crea un objeto que utiliza los <code>argumentos</code> que pasamos en y se ve así:",
|
||||
"<code>{</code>",
|
||||
"<code> ruedas: 6,</code>",
|
||||
"<code> asientos: 3,</code>",
|
||||
"<code> motores: 1</code>",
|
||||
"<code>}</code>",
|
||||
"¡Ahora date una oportunidad a ti mismo! Modifica la <code>constructora</code> <code>Car</code> para que use <code>parámetros</code> que permitan asignar valores para las propiedades <code>wheels</code>, <code>seats</code>, y <code>engines</code>. ",
|
||||
"Entonces llama a tu nueva <code>constructora</code> con tres <code>argumentos</code> numéricos y asígnala a <code>myCar</code>para verla en acción."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c15feddfaeb3bdef",
|
||||
@ -288,17 +304,21 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Crea propiedades privadas de un objeto",
|
||||
"descriptionEs": [
|
||||
"Los objetos tienen sus propios atributos, llamados <code>propiedades</code>, y sus propias funciones, llamadas<code>métodos</code>.",
|
||||
"En los desafíos anteriores, se utilizó la palabra reservada <code>this</code> para referenciar <code>propiedades públicas</code>del objeto actual.",
|
||||
"También podemos crear <code>propiedades privadas</code> y <code>métodos privados</code>, que no son accesibles desde fuera del objeto.",
|
||||
"Para ello, creamos la variable dentro de la <code>constructora</code> usando la palabra reservada <code>var</code>, con la cual ya estamos familiarizados, en lugar de crearla con <code>this</code>. ",
|
||||
"Esto es útil cuando necesitamos almacenar información sobre un objeto, pero controlando como se usa en el código externo al objeto.",
|
||||
"Por ejemplo, ¿qué pasa si queremos almacenar la <code>velocidad</code> con la cual se desplaza nuestro carro, pero queremos que el código externo pueda modificarla sólo acelerando o desacelerando, de forma que la velocidad cambie de una manera controlada?",
|
||||
"En el editor se puede ver un ejemplo de una <code>constructora</code> de <code>Car</code> que implementa este patrón.",
|
||||
"¡Ahora pruébalo tú mismo! Modifica la <code>constructora</code> <code>Bike</code> para tener una <code>propiedad privada</code> llamada <code>gear</code>y dos<code>métodos públicos</code> llamados <code>getGear</code>y<code>setGear</code> para obtener y establecer ese valor."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea propiedades privadas de un objeto",
|
||||
"description": [
|
||||
"Los objetos tienen sus propios atributos, llamados <code>propiedades</code>, y sus propias funciones, llamadas<code>métodos</code>.",
|
||||
"En los desafíos anteriores, se utilizó la palabra reservada <code>this</code> para referenciar <code>propiedades públicas</code>del objeto actual.",
|
||||
"También podemos crear <code>propiedades privadas</code> y <code>métodos privados</code>, que no son accesibles desde fuera del objeto.",
|
||||
"Para ello, creamos la variable dentro de la <code>constructora</code> usando la palabra reservada <code>var</code>, con la cual ya estamos familiarizados, en lugar de crearla con <code>this</code>. ",
|
||||
"Esto es útil cuando necesitamos almacenar información sobre un objeto, pero controlando como se usa en el código externo al objeto.",
|
||||
"Por ejemplo, ¿qué pasa si queremos almacenar la <code>velocidad</code> con la cual se desplaza nuestro carro, pero queremos que el código externo pueda modificarla sólo acelerando o desacelerando, de forma que la velocidad cambie de una manera controlada?",
|
||||
"En el editor se puede ver un ejemplo de una <code>constructora</code> de <code>Car</code> que implementa este patrón.",
|
||||
"¡Ahora pruébalo tú mismo! Modifica la <code>constructora</code> <code>Bike</code> para tener una <code>propiedad privada</code> llamada <code>gear</code>y dos<code>métodos públicos</code> llamados <code>getGear</code>y<code>setGear</code> para obtener y establecer ese valor."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c15feddfaeb7bdef",
|
||||
@ -331,16 +351,20 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Iterar sobre vectores con .map",
|
||||
"descriptionEs": [
|
||||
"El método <code>map</code> es una manera conveniente de iterar sobre vectores. He aquí un ejemplo de uso: ",
|
||||
"<code>var porCuatro = vectorAntiguo.map(function(val){</code>",
|
||||
"<code> return val * 4;</code>",
|
||||
"<code>});</code>",
|
||||
"El método <code>map</code> iterará sobre cada elemento del vector, creando un nuevo vector con los valores modificados por la función de devolución de llamada (<em>callback</em>) y retornará ese nuevo arreglo.",
|
||||
"En nuestro ejemplo, la función de devolución de llamada sólo usa el valor del elemento del vector sobre el que está iterando (parámetro <code>val</code>), pero tu función de devolución de llamada también puede incluir parámetros para el <code>índice</code> y el <code>vector</code> completo. ",
|
||||
"Usa la función <code>map</code> para añadir 3 a cada valor de la variable <code>oldArray</code>."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Iterar sobre vectores con .map",
|
||||
"description": [
|
||||
"El método <code>map</code> es una manera conveniente de iterar sobre vectores. He aquí un ejemplo de uso: ",
|
||||
"<code>var porCuatro = vectorAntiguo.map(function(val){</code>",
|
||||
"<code> return val * 4;</code>",
|
||||
"<code>});</code>",
|
||||
"El método <code>map</code> iterará sobre cada elemento del vector, creando un nuevo vector con los valores modificados por la función de devolución de llamada (<em>callback</em>) y retornará ese nuevo arreglo.",
|
||||
"En nuestro ejemplo, la función de devolución de llamada sólo usa el valor del elemento del vector sobre el que está iterando (parámetro <code>val</code>), pero tu función de devolución de llamada también puede incluir parámetros para el <code>índice</code> y el <code>vector</code> completo. ",
|
||||
"Usa la función <code>map</code> para añadir 3 a cada valor de la variable <code>oldArray</code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c15feddfaeb8bdef",
|
||||
@ -374,17 +398,21 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Condensa vectores con .reduce",
|
||||
"descriptionEs": [
|
||||
"El método <code>reduce</code> de un vector, se utiliza para iterar a través del vector y condensarlo en un valor.",
|
||||
"Para usar <code>reduce</code> tu le pasas una función de devolución de llamada cuyos argumentos sean un acumulador (en este caso, <code>valorPrevio</code>) y el valor actual (<code>valorActual</code>). ",
|
||||
"<code>reduce</code> tiene un argumento opcional que puede usarse para asignar un valor inicial al acumulador. Si no se especifica ningún valor inicial, este será el primer elemento del vector y <code>valorActual</code> comenzará en el segundo elemento del vector. ",
|
||||
"He aquí un ejemplo de<code>reduce</code> cuando se utiliza para restar todos los valores de una matriz:",
|
||||
"<code>var singleVal = array.reduce(function(valorAnterior, valorActual) {</code>",
|
||||
"<code> return valorAnterior - valorActual;</code>",
|
||||
"<code>}, 0);</code>",
|
||||
"Usa el método <code>reduce</code> para sumar todos los valores en <code>array</code> y asignarlo a <code>singleVal</code>."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Condensa vectores con .reduce",
|
||||
"description": [
|
||||
"El método <code>reduce</code> de un vector, se utiliza para iterar a través del vector y condensarlo en un valor.",
|
||||
"Para usar <code>reduce</code> tu le pasas una función de devolución de llamada cuyos argumentos sean un acumulador (en este caso, <code>valorPrevio</code>) y el valor actual (<code>valorActual</code>). ",
|
||||
"<code>reduce</code> tiene un argumento opcional que puede usarse para asignar un valor inicial al acumulador. Si no se especifica ningún valor inicial, este será el primer elemento del vector y <code>valorActual</code> comenzará en el segundo elemento del vector. ",
|
||||
"He aquí un ejemplo de<code>reduce</code> cuando se utiliza para restar todos los valores de una matriz:",
|
||||
"<code>var singleVal = array.reduce(function(valorAnterior, valorActual) {</code>",
|
||||
"<code> return valorAnterior - valorActual;</code>",
|
||||
"<code>}, 0);</code>",
|
||||
"Usa el método <code>reduce</code> para sumar todos los valores en <code>array</code> y asignarlo a <code>singleVal</code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c15feddfaeb9bdef",
|
||||
@ -419,18 +447,22 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Filtrar vectores con .filter",
|
||||
"descriptionEs": [
|
||||
"El método <code>filter</code> se utiliza para iterar a través de un vector y filtrar los elementos que hagan falsa un condición determinada.",
|
||||
"<code>filter</code> recibe una función de devolución de llamada que a su vez recibe como argumento el valor actual (que hemos llamado <code>val</code>).",
|
||||
"Cualquier elemento del vector para el cual la función de devolución de llamada retorne <code>true</code> se mantendrá y los elementos que devuelven <code>false</code> serán filtrados.",
|
||||
"El código siguiente es un ejemplo del uso de <code>filter</code> para eliminar los elementos de un vector que son iguales a cinco:",
|
||||
"Nota: Omitimos el segundo y tercer argumentos ya que sólo necesitamos el valor",
|
||||
"<code>array = array.filter(function(val) {</code>",
|
||||
"<code> return val !== 5;</code>",
|
||||
"<code>});</code>",
|
||||
"Usa <code>filter</code> para crear un nuevo vector con todos los valores de <code>oldArray</code> que son menores a 6. <br><code>oldArray</code> no debe cambiar."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Filtrar vectores con .filter",
|
||||
"description": [
|
||||
"El método <code>filter</code> se utiliza para iterar a través de un vector y filtrar los elementos que hagan falsa un condición determinada.",
|
||||
"<code>filter</code> recibe una función de devolución de llamada que a su vez recibe como argumento el valor actual (que hemos llamado <code>val</code>).",
|
||||
"Cualquier elemento del vector para el cual la función de devolución de llamada retorne <code>true</code> se mantendrá y los elementos que devuelven <code>false</code> serán filtrados.",
|
||||
"El código siguiente es un ejemplo del uso de <code>filter</code> para eliminar los elementos de un vector que son iguales a cinco:",
|
||||
"Nota: Omitimos el segundo y tercer argumentos ya que sólo necesitamos el valor",
|
||||
"<code>array = array.filter(function(val) {</code>",
|
||||
"<code> return val !== 5;</code>",
|
||||
"<code>});</code>",
|
||||
"Usa <code>filter</code> para crear un nuevo vector con todos los valores de <code>oldArray</code> que son menores a 6. <br><code>oldArray</code> no debe cambiar."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c16feddfaeb1bdef",
|
||||
@ -465,18 +497,22 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Ordena vectores con .sort",
|
||||
"descriptionEs": [
|
||||
"Puedes utilizar el método <code>sort</code> para ordenar alfabética o numéricamente los valores de un vector.",
|
||||
"A diferencia de los métodos de vector que hemos visto,<code>sort</code>en realidad altera el vector en su lugar. Sin embargo, también devuelve este vector ordenado. ",
|
||||
"<code>sort</code> puede recibir como parámetro una función de devolución de llamada para comparar. Sin no se provee una función de comparación, convertirá los valores a cadenas y los ordenará alfabéticamente. ",
|
||||
"He aquí un ejemplo del uso de <code>sort</code> con una función de comparación que ordena los elementos de menor a mayor:",
|
||||
"<code>var array = [1, 12, 21, 2];</code>",
|
||||
"<code>array.sort(function(a, b) {</code>",
|
||||
"<code> return a - b;</code>",
|
||||
"<code>});</code>",
|
||||
"Usa <code>sort</code> para ordenar<code>array</code> de mayor a menor."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Ordena vectores con .sort",
|
||||
"description": [
|
||||
"Puedes utilizar el método <code>sort</code> para ordenar alfabética o numéricamente los valores de un vector.",
|
||||
"A diferencia de los métodos de vector que hemos visto,<code>sort</code>en realidad altera el vector en su lugar. Sin embargo, también devuelve este vector ordenado. ",
|
||||
"<code>sort</code> puede recibir como parámetro una función de devolución de llamada para comparar. Sin no se provee una función de comparación, convertirá los valores a cadenas y los ordenará alfabéticamente. ",
|
||||
"He aquí un ejemplo del uso de <code>sort</code> con una función de comparación que ordena los elementos de menor a mayor:",
|
||||
"<code>var array = [1, 12, 21, 2];</code>",
|
||||
"<code>array.sort(function(a, b) {</code>",
|
||||
"<code> return a - b;</code>",
|
||||
"<code>});</code>",
|
||||
"Usa <code>sort</code> para ordenar<code>array</code> de mayor a menor."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c16feddfaeb2bdef",
|
||||
@ -509,15 +545,19 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Invierte vectores con .reverse",
|
||||
"descriptionEs": [
|
||||
"Puedes utilizar el método <code>reverse</code> para invertir los elementos en un vector.",
|
||||
"<code>reverse</code> es otro método de vector que altera el vector mismo, y también devuelve el vector invertido.",
|
||||
"<code>var miVector = [1, 2, 3];</code>",
|
||||
"<code>miVector.reverse();</code>",
|
||||
"<em>devuelve [3, 2, 1]</em>",
|
||||
"Usa <code>reverse</code> para invertir la variable <code>array</code> y asignarla a <code>newArray</code>."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Invierte vectores con .reverse",
|
||||
"description": [
|
||||
"Puedes utilizar el método <code>reverse</code> para invertir los elementos en un vector.",
|
||||
"<code>reverse</code> es otro método de vector que altera el vector mismo, y también devuelve el vector invertido.",
|
||||
"<code>var miVector = [1, 2, 3];</code>",
|
||||
"<code>miVector.reverse();</code>",
|
||||
"<em>devuelve [3, 2, 1]</em>",
|
||||
"Usa <code>reverse</code> para invertir la variable <code>array</code> y asignarla a <code>newArray</code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c16feddfaeb3bdef",
|
||||
@ -552,14 +592,18 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Concatena vectores con .concat",
|
||||
"descriptionEs": [
|
||||
"<code>concat</code> se puede utilizar para combinar el contenido de dos vectores en uno solo.",
|
||||
"<code>concat</code> recibe un vector como argumento y devuelve un nuevo vector con los elementos del vector que recibe concatenados al final.",
|
||||
"He aquí un ejemplo de <code>concat</code> cuando se usa para concatenar <code>otroVector</code> al final de <code>vectorAntiguo</code>:",
|
||||
"<code>vectorNuevo = vectorAntiguo.concat(otroVector);</code>",
|
||||
"Usa <code>.concat ()</code> para concatenar <code>concatMe</code> al final de <code>oldArray</code> y asigna el vector resultante a <code>newArray</code>."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Concatena vectores con .concat",
|
||||
"description": [
|
||||
"<code>concat</code> se puede utilizar para combinar el contenido de dos vectores en uno solo.",
|
||||
"<code>concat</code> recibe un vector como argumento y devuelve un nuevo vector con los elementos del vector que recibe concatenados al final.",
|
||||
"He aquí un ejemplo de <code>concat</code> cuando se usa para concatenar <code>otroVector</code> al final de <code>vectorAntiguo</code>:",
|
||||
"<code>vectorNuevo = vectorAntiguo.concat(otroVector);</code>",
|
||||
"Usa <code>.concat ()</code> para concatenar <code>concatMe</code> al final de <code>oldArray</code> y asigna el vector resultante a <code>newArray</code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c16feddfaeb4bdef",
|
||||
@ -591,14 +635,18 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Divide cadenas con .split",
|
||||
"descriptionEs": [
|
||||
"Puedes utilizar el método <code>split</code> para dividir una cadena en un vector.",
|
||||
"<code>split</code> utiliza el argumento que recibe como delimitador para determinar en qué puntos debe dividir la cadena.",
|
||||
"He aquí un ejemplo del uso de <code>split</code> para dividir una cadena en cada caracter <code>s</code>:",
|
||||
"<code>var vector = string.split('s');</code>",
|
||||
"Usa <code>split</code> para crear un vector con las palabras de una <code>cadena</code> y asígnalo a la variable <code>array</code>."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Divide cadenas con .split",
|
||||
"description": [
|
||||
"Puedes utilizar el método <code>split</code> para dividir una cadena en un vector.",
|
||||
"<code>split</code> utiliza el argumento que recibe como delimitador para determinar en qué puntos debe dividir la cadena.",
|
||||
"He aquí un ejemplo del uso de <code>split</code> para dividir una cadena en cada caracter <code>s</code>:",
|
||||
"<code>var vector = string.split('s');</code>",
|
||||
"Usa <code>split</code> para crear un vector con las palabras de una <code>cadena</code> y asígnalo a la variable <code>array</code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c16feddfaeb5bdef",
|
||||
@ -629,15 +677,19 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Une cadenas con .join",
|
||||
"descriptionEs": [
|
||||
"Podemos usar el método <code>join</code> para unir los elementos de un vector en una cadena, separándolos con el delimitador que proporciones como argumento.",
|
||||
"El siguiente es un ejemplo del uso de <code>join</code> para unir todos los elementos de un vector en una cadena con todos los elementos separados entre si por palabra` Na`: ",
|
||||
"<code>var uneme = [\"Na \", \"Na \", \"Na \", \"Na \", \"Batman!\"];</code>",
|
||||
"<code>var cadenaUnida = uneme.join(\"Na \");</code>",
|
||||
"<code>console.log(cadenaUnida);</code>",
|
||||
"Usa el método <code>join</code> para crear una cadena a partir <code>joinMe</code> con espacios entre cada par de elementos y asignarla a <code>joinedString </code>."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Une cadenas con .join",
|
||||
"description": [
|
||||
"Podemos usar el método <code>join</code> para unir los elementos de un vector en una cadena, separándolos con el delimitador que proporciones como argumento.",
|
||||
"El siguiente es un ejemplo del uso de <code>join</code> para unir todos los elementos de un vector en una cadena con todos los elementos separados entre si por palabra` Na`: ",
|
||||
"<code>var uneme = [\"Na \", \"Na \", \"Na \", \"Na \", \"Batman!\"];</code>",
|
||||
"<code>var cadenaUnida = uneme.join(\"Na \");</code>",
|
||||
"<code>console.log(cadenaUnida);</code>",
|
||||
"Usa el método <code>join</code> para crear una cadena a partir <code>joinMe</code> con espacios entre cada par de elementos y asignarla a <code>joinedString </code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -13,7 +13,11 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Desafios para aprender D3"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Desafios para aprender D3"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -92,60 +92,66 @@
|
||||
],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/Et3iD74.jpg",
|
||||
"Una imagen que muestra nuestro certificado de Visualización de datos",
|
||||
"Este desafío te otorga tu certificado autenticado de Visualización de datos. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los proyectos con React y D3.js. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/swuEma9.png",
|
||||
"Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.",
|
||||
"Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/6b50POD.png",
|
||||
"Una imagen del texto \"Los requisitos de Certificación de Visualización de datos\"",
|
||||
"Confirmemos que has completado todos nuestros proyectos en React y D3.js. Pulsa el botón siguiente para hacer la verificación.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/PnFG11N.png",
|
||||
"Una imagen de la palabra \"Felicitaciones!\"",
|
||||
"¡Felicitaciones! Hemos agregado tu certificado de Visualización de datos a tu portafolio. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.",
|
||||
""
|
||||
]
|
||||
],
|
||||
"titleEs": "Reclama tu certificado de Visualización de datos",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/Et3iD74.jpg",
|
||||
"Une image de note Certificat de Visualisation de données",
|
||||
"Ce défi vous permettra d’avoir votre Certificat de Visualisation de données vérifiée. Avant de vous donner votre certificat, il faut s’assurer que vous avez bien accomplie tous les projets de React et D3.js et il faut que vous acceptiez notre Academic Honesty Pledge. Cliquez sur le bouton si dessous pour démarrer le processus.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/iFL1xR1.png",
|
||||
"Une définition du plagiat : Plagiat (nom) – copier le travail d’un autre et le présenter comme étant le tien, sans mention de l’auteur original",
|
||||
"En cliquant si dessous, je garantie que tout le code que j’ai présenté A) est mon propre code ou celui de mon collaborateur, B) vient d’un projet open-source comme jQuery, ou C) contient les mentions nécessaires des auteurs. Vous nous donnez aussi la permission de vérifier vos solutions et de révoquer votre certificat en cas de détection de plagiat.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/0GZ0KHa.png",
|
||||
"Une image du texte \"Les exigences de certification de visualisation de données\"",
|
||||
"On va confirmer maintenant que vous avez bien terminé nos projets de React et D3.js. Cliquez sur le bouton si dessous pour vérifier cela.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/EJXMNIQ.png",
|
||||
"Une image du mot \"Félicitations à vous!\"",
|
||||
"Félicitations! On vient d’ajouter votre Certificat de Visualisation de données à votre profile. Cette certificat est public et vérifiable, mais vous pouvez le cacher si vous désirer.",
|
||||
""
|
||||
]
|
||||
],
|
||||
"titleFr":"Réclamer votre Certificat de Visualisation de données"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Reclama tu certificado de Visualización de datos",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/Et3iD74.jpg",
|
||||
"Una imagen que muestra nuestro certificado de Visualización de datos",
|
||||
"Este desafío te otorga tu certificado autenticado de Visualización de datos. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los proyectos con React y D3.js. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/swuEma9.png",
|
||||
"Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.",
|
||||
"Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/6b50POD.png",
|
||||
"Una imagen del texto \"Los requisitos de Certificación de Visualización de datos\"",
|
||||
"Confirmemos que has completado todos nuestros proyectos en React y D3.js. Pulsa el botón siguiente para hacer la verificación.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/PnFG11N.png",
|
||||
"Una imagen de la palabra \"Felicitaciones!\"",
|
||||
"¡Felicitaciones! Hemos agregado tu certificado de Visualización de datos a tu portafolio. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.",
|
||||
""
|
||||
]
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Réclamer votre Certificat de Visualisation de données",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/Et3iD74.jpg",
|
||||
"Une image de note Certificat de Visualisation de données",
|
||||
"Ce défi vous permettra d’avoir votre Certificat de Visualisation de données vérifiée. Avant de vous donner votre certificat, il faut s’assurer que vous avez bien accomplie tous les projets de React et D3.js et il faut que vous acceptiez notre Academic Honesty Pledge. Cliquez sur le bouton si dessous pour démarrer le processus.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/iFL1xR1.png",
|
||||
"Une définition du plagiat : Plagiat (nom) – copier le travail d’un autre et le présenter comme étant le tien, sans mention de l’auteur original",
|
||||
"En cliquant si dessous, je garantie que tout le code que j’ai présenté A) est mon propre code ou celui de mon collaborateur, B) vient d’un projet open-source comme jQuery, ou C) contient les mentions nécessaires des auteurs. Vous nous donnez aussi la permission de vérifier vos solutions et de révoquer votre certificat en cas de détection de plagiat.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/0GZ0KHa.png",
|
||||
"Une image du texte \"Les exigences de certification de visualisation de données\"",
|
||||
"On va confirmer maintenant que vous avez bien terminé nos projets de React et D3.js. Cliquez sur le bouton si dessous pour vérifier cela.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/EJXMNIQ.png",
|
||||
"Une image du mot \"Félicitations à vous!\"",
|
||||
"Félicitations! On vient d’ajouter votre Certificat de Visualisation de données à votre profile. Cette certificat est public et vérifiable, mais vous pouvez le cacher si vous désirer.",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -27,19 +27,23 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Visualiza datos utilizando un gráfico de barras",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/vGjLVZ' target='_blank'>https://codepen.io/FreeCodeCamp/full/vGjLVZ</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver el Producto Interno Bruto (PIB) de los EEUU por trimestre, a través del tiempo.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una descripción emergente con el monto de PIB y el mes y año que representa cada barra al mover el ratón sobre ellas.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/GDP-data.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/GDP-data.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Visualiza datos utilizando un gráfico de barras",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/vGjLVZ' target='_blank'>https://codepen.io/FreeCodeCamp/full/vGjLVZ</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver el Producto Interno Bruto (PIB) de los EEUU por trimestre, a través del tiempo.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una descripción emergente con el monto de PIB y el mes y año que representa cada barra al mover el ratón sobre ellas.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/GDP-data.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/GDP-data.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7178d8c242eddfaeb5bd13",
|
||||
@ -64,19 +68,23 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Visualiza datos utilizando un gráfico de dispersión",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/ONxvaa/' target='_blank'>https://codepen.io/FreeCodeCamp/full/ONxvaa/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver el tiempo de recorrido en el diagrama de dispersión.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una descripción emergente con información adicional al mover el ratón sobre el gráfico.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/cyclist-data.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/cyclist-data.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Visualiza datos utilizando un gráfico de dispersión",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/ONxvaa/' target='_blank'>https://codepen.io/FreeCodeCamp/full/ONxvaa/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver el tiempo de recorrido en el diagrama de dispersión.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver una descripción emergente con información adicional al mover el ratón sobre el gráfico.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/cyclist-data.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/cyclist-data.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7188d8c242eddfaeb5bd13",
|
||||
@ -102,20 +110,24 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Visualiza datos utilizando un mapa de calor",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/aNLYPp/' target='_blank'>https://codepen.io/FreeCodeCamp/full/aNLYPp/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un mapa de calor con datos representados en los ejes x, y.",
|
||||
"<strong>Historia de usuario:</strong> El color de cada celda debe estar basado en su relación con otros datos.",
|
||||
"<strong>Historia de usuario:</strong> Puedo mover el ratón sobre una celda en el mapa de calor para obtener información más detallada.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/global-temperature.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/global-temperature.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Visualiza datos utilizando un mapa de calor",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/aNLYPp/' target='_blank'>https://codepen.io/FreeCodeCamp/full/aNLYPp/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un mapa de calor con datos representados en los ejes x, y.",
|
||||
"<strong>Historia de usuario:</strong> El color de cada celda debe estar basado en su relación con otros datos.",
|
||||
"<strong>Historia de usuario:</strong> Puedo mover el ratón sobre una celda en el mapa de calor para obtener información más detallada.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/global-temperature.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/global-temperature.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7198d8c242eddfaeb5bd13",
|
||||
@ -128,7 +140,7 @@
|
||||
"<strong>User Story:</strong> I can see a Force-directed Graph that shows which countries share borders.",
|
||||
"<strong>User Story:</strong> I can see each country's flag on its node.",
|
||||
"<strong>Hint:</strong> Here's a dataset you can use to build this: <a href='https://raw.githubusercontent.com/DealPete/forceDirected/master/countries.json' target='_blank'>https://raw.githubusercontent.com/DealPete/forceDirected/master/countries.json</a>",
|
||||
"<strong>Hint:</strong> You can create a spritesheet of national flags at <a href='https://www.flag-sprites.com' target='_blank'>https://www.flag-sprites.com</a>.",
|
||||
"<strong>Hint:</strong> You can create a spritesheet of national flags at <a href='https://www.flag-sprites.com' target='_blank'>https://www.flag-sprites.com</a>.",
|
||||
"Remember to use <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> if you get stuck.",
|
||||
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. ",
|
||||
"You can get feedback on your project by sharing it with your friends on Facebook."
|
||||
@ -141,22 +153,26 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Muestra asociaciones utilizando un gráfico de fuerzas dirigidas",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/KVNNXY' target='_blank'>https://codepen.io/FreeCodeCamp/full/KVNNXY</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un gráfico de fuerza dirigida que muestra qué campistas están publicando enlaces en Camper News hacia qué dominios.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver el icono de cada campista en su nodo respectivo.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver la relación entre los campistas y los dominios que publican.",
|
||||
"<strong>Historia de usuario:</strong> Puedo conocer aproximadamente cuántas veces los campistas han enlazado un dominio en particular a partir del tamaño del nodo respectivo.",
|
||||
"<strong>Historia de usuario:</strong> Puedo conocer aproximadamente cuántas veces un campista específico ha publicado un enlace a partir del tamaño de su nodo.",
|
||||
"<strong>Pista:</strong> La siguiente es la ruta del API de noticias de Camper News: <code>http://www.freecodecamp.com/news/hot</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Muestra asociaciones utilizando un gráfico de fuerzas dirigidas",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/KVNNXY' target='_blank'>https://codepen.io/FreeCodeCamp/full/KVNNXY</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un gráfico de fuerza dirigida que muestra qué campistas están publicando enlaces en Camper News hacia qué dominios.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver el icono de cada campista en su nodo respectivo.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver la relación entre los campistas y los dominios que publican.",
|
||||
"<strong>Historia de usuario:</strong> Puedo conocer aproximadamente cuántas veces los campistas han enlazado un dominio en particular a partir del tamaño del nodo respectivo.",
|
||||
"<strong>Historia de usuario:</strong> Puedo conocer aproximadamente cuántas veces un campista específico ha publicado un enlace a partir del tamaño de su nodo.",
|
||||
"<strong>Pista:</strong> La siguiente es la ruta del API de noticias de Camper News: <code>http://www.freecodecamp.com/news/hot</code>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7108d8c242eddfaeb5bd13",
|
||||
@ -182,20 +198,24 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "zipline",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Mapea datos a lo largo del Globo",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/mVEJag' target='_blank'>https://codepen.io/FreeCodeCamp/full/mVEJag</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver a dónde cayeron todos los meteoritos en un mapa mundi.",
|
||||
"<strong>Historia de usuario:</strong> Puedo distinguir el tamaño relativo de cada meteorito simplemente viendo la forma en que está representado en el mapa.",
|
||||
"<strong>Historia de usuario:</strong> Puedo mover el ratón sobre el dato de cada meteorito para obtener información adicional.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/meteorite-strike-data.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/meteorite-strike-data.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Mapea datos a lo largo del Globo",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/mVEJag' target='_blank'>https://codepen.io/FreeCodeCamp/full/mVEJag</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Regla #3:</strong> Debes utilizar D3.js para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver a dónde cayeron todos los meteoritos en un mapa mundi.",
|
||||
"<strong>Historia de usuario:</strong> Puedo distinguir el tamaño relativo de cada meteorito simplemente viendo la forma en que está representado en el mapa.",
|
||||
"<strong>Historia de usuario:</strong> Puedo mover el ratón sobre el dato de cada meteorito para obtener información adicional.",
|
||||
"<strong>Pista:</strong> Puedes utilizar el siguiente conjunto de datos para construir tu proyecto: <a href='https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/meteorite-strike-data.json' target='_blank'>https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/meteorite-strike-data.json</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -28,34 +28,40 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте предпросмотрщик языка разметки Markdown",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/JXrLLE/' target='_blank'>https://codepen.io/FreeCodeCamp/full/JXrLLE/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Я могу использовать язык разметки в стиле GitHub в текстовом поле.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть предварительный просмотр вывода моей разметки по мере ввода текста.",
|
||||
"<strong>Подсказка:</strong> Вам не нужно интерпретировать разметку самостоятельно - вы можете импортировать библиотеку Marked для этого: <a href='https://cdnjs.com/libraries/marked'>https://cdnjs.com/libraries/marked</a>",
|
||||
"<strong>Заметка:</strong> Если вы хотите использовать синтаксис React JSX, вам понадобится задействовать 'Babel' в качестве препроцессора.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Crea un visualizador de lenguaje de marcado (Markdown)",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/JXrLLE/' target='_blank'>https://codepen.io/FreeCodeCamp/full/JXrLLE/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo escribir lenguaje de marcado al estilo GitHub en un área de texto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo tener una vista preliminar del resultado de mi marcado que se actualiza mientras escribo.",
|
||||
"<strong>Pista:</strong> No necesitas interpretar el lenguaje de marcado por tu cuenta - puedes importar la librería de marcado en el enlace siguiente: <a href='https://cdnjs.com/libraries/marked'>https://cdnjs.com/libraries/marked</a>",
|
||||
"<strong>Nota:</strong> Si quieres utilizar la sintaxis de React JSX, necesitarás habilitar 'Babel' como un preprocesador",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un visualizador de lenguaje de marcado (Markdown)",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/JXrLLE/' target='_blank'>https://codepen.io/FreeCodeCamp/full/JXrLLE/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo escribir lenguaje de marcado al estilo GitHub en un área de texto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo tener una vista preliminar del resultado de mi marcado que se actualiza mientras escribo.",
|
||||
"<strong>Pista:</strong> No necesitas interpretar el lenguaje de marcado por tu cuenta - puedes importar la librería de marcado en el enlace siguiente: <a href='https://cdnjs.com/libraries/marked'>https://cdnjs.com/libraries/marked</a>",
|
||||
"<strong>Nota:</strong> Si quieres utilizar la sintaxis de React JSX, necesitarás habilitar 'Babel' como un preprocesador",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте предпросмотрщик языка разметки Markdown",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/JXrLLE/' target='_blank'>https://codepen.io/FreeCodeCamp/full/JXrLLE/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Я могу использовать язык разметки в стиле GitHub в текстовом поле.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть предварительный просмотр вывода моей разметки по мере ввода текста.",
|
||||
"<strong>Подсказка:</strong> Вам не нужно интерпретировать разметку самостоятельно - вы можете импортировать библиотеку Marked для этого: <a href='https://cdnjs.com/libraries/marked'>https://cdnjs.com/libraries/marked</a>",
|
||||
"<strong>Заметка:</strong> Если вы хотите использовать синтаксис React JSX, вам понадобится задействовать 'Babel' в качестве препроцессора.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7156d8c242eddfaeb5bd13",
|
||||
@ -82,36 +88,42 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте таблицу Кемперов-Лидеров",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/eZGMjp/' target='_blank'>https://codepen.io/FreeCodeCamp/full/eZGMjp/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть таблицу кемперов Free Code Camp, которые получили наибольшее количество очков за последние 30 дней.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть сколько очков они получили за последние 30 дней, и сколько они получили их всего.",
|
||||
"<strong>Пользовательская история:</strong> Я могу отсортировать список по количеству очков, которые они получили за последние 30 дней, и по общему количеству полученных очков.",
|
||||
"<strong>Подсказка:</strong> Ссылка на топ 100 кемперов за последние 30 дней в формате JSON: <a href='https://fcctop100.herokuapp.com/api/fccusers/top/recent' target='_blank'>https://fcctop100.herokuapp.com/api/fccusers/top/recent</a>.",
|
||||
"<strong>Подсказка:</strong> Ссылка на топ 100 кемперов за все время в формате JSON: <a href='http://fcctop100.herokuapp.com/api/fccusers/top/alltime' target='_blank'>http://fcctop100.herokuapp.com/api/fccusers/top/alltime</a>.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Crea un marcador para los campistas",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/eZGMjp/' target='_blank'>https://codepen.io/FreeCodeCamp/full/eZGMjp/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un tablero con los campistas de Free Code Camp que han ganado más puntos de brownie en los últimos 30 días.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver cuántos puntos de brownie han ganado en los últimos 30 días, y cuántos han ganado en total.",
|
||||
"<strong>Historia de usuario:</strong> Puedo elegir entre dos formas de organizar la lista: 1) En base a cuántos puntos de brownie se han ganado en los últimos 30 días. 2) En base al número de puntos de brownie que han ganado en total.",
|
||||
"<strong>Pista:</strong> Para obtener los 100 mejores campistas para los últimos 30 días: <a href='https://fcctop100.herokuapp.com/api/fccusers/top/recent' target='_blank'>https://fcctop100.herokuapp.com/api/fccusers/top/recent</a>.",
|
||||
"<strong>Pista:</strong> Para obtener los 100 mejores campistas de toda la historia: <a href='http://fcctop100.herokuapp.com/api/fccusers/top/alltime' target='_blank'>http://fcctop100.herokuapp.com/api/fccusers/top/alltime</a>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un marcador para los campistas",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/eZGMjp/' target='_blank'>https://codepen.io/FreeCodeCamp/full/eZGMjp/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un tablero con los campistas de Free Code Camp que han ganado más puntos de brownie en los últimos 30 días.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver cuántos puntos de brownie han ganado en los últimos 30 días, y cuántos han ganado en total.",
|
||||
"<strong>Historia de usuario:</strong> Puedo elegir entre dos formas de organizar la lista: 1) En base a cuántos puntos de brownie se han ganado en los últimos 30 días. 2) En base al número de puntos de brownie que han ganado en total.",
|
||||
"<strong>Pista:</strong> Para obtener los 100 mejores campistas para los últimos 30 días: <a href='https://fcctop100.herokuapp.com/api/fccusers/top/recent' target='_blank'>https://fcctop100.herokuapp.com/api/fccusers/top/recent</a>.",
|
||||
"<strong>Pista:</strong> Para obtener los 100 mejores campistas de toda la historia: <a href='http://fcctop100.herokuapp.com/api/fccusers/top/alltime' target='_blank'>http://fcctop100.herokuapp.com/api/fccusers/top/alltime</a>.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте таблицу Кемперов-Лидеров",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/eZGMjp/' target='_blank'>https://codepen.io/FreeCodeCamp/full/eZGMjp/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть таблицу кемперов Free Code Camp, которые получили наибольшее количество очков за последние 30 дней.",
|
||||
"<strong>Пользовательская история:</strong> Я могу видеть сколько очков они получили за последние 30 дней, и сколько они получили их всего.",
|
||||
"<strong>Пользовательская история:</strong> Я могу отсортировать список по количеству очков, которые они получили за последние 30 дней, и по общему количеству полученных очков.",
|
||||
"<strong>Подсказка:</strong> Ссылка на топ 100 кемперов за последние 30 дней в формате JSON: <a href='https://fcctop100.herokuapp.com/api/fccusers/top/recent' target='_blank'>https://fcctop100.herokuapp.com/api/fccusers/top/recent</a>.",
|
||||
"<strong>Подсказка:</strong> Ссылка на топ 100 кемперов за все время в формате JSON: <a href='http://fcctop100.herokuapp.com/api/fccusers/top/alltime' target='_blank'>http://fcctop100.herokuapp.com/api/fccusers/top/alltime</a>.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7155d8c242eddfaeb5bd13",
|
||||
@ -140,38 +152,44 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте хранилище рецептов",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/xVXWag/' target='_blank'>https://codepen.io/FreeCodeCamp/full/xVXWag/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Я могу создавать рецепты, содержащие название и ингредиенты.",
|
||||
"<strong>Пользовательская история:</strong> Я могу просмотреть корневой вид, на котором видны все рецепты.",
|
||||
"<strong>Пользовательская история:</strong> Я могу нажать на имя каждого из рецептов для просмотра содержимого.",
|
||||
"<strong>Пользовательская история:</strong> Я могу отредактировать эти рецепты.",
|
||||
"<strong>Пользовательская история:</strong> Я могу удалить эти рецепты.",
|
||||
"<strong>Пользовательская история:</strong> Все новые рецепты, которые я добавил, сохранены в локальном хранилище моего браузера. Если я обновлю страницу, эти рецепты будут всё ещё там.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Crea una caja de recetas",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/xVXWag/' target='_blank'>https://codepen.io/FreeCodeCamp/full/xVXWag/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo crear recetas a las que les puedo poner un nombre y los ingredientes necesarios.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un índice que contenga los nombres de todas las recetas.",
|
||||
"<strong>Historia de usuario:</strong> Puedo pulsar cualquiera de las recetas para verla.",
|
||||
"<strong>Historia de usuario:</strong> Puedo editar las recetas.",
|
||||
"<strong>Historia de usuario:</strong> Puedo eliminar las recetas.",
|
||||
"<strong>Historia de usuario:</strong> Las recetas que voy agregando deben guardarse en el almacenamiento local de mi navegador. Las recetas deben seguir allí si refresco la página.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea una caja de recetas",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/xVXWag/' target='_blank'>https://codepen.io/FreeCodeCamp/full/xVXWag/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Puedo crear recetas a las que les puedo poner un nombre y los ingredientes necesarios.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver un índice que contenga los nombres de todas las recetas.",
|
||||
"<strong>Historia de usuario:</strong> Puedo pulsar cualquiera de las recetas para verla.",
|
||||
"<strong>Historia de usuario:</strong> Puedo editar las recetas.",
|
||||
"<strong>Historia de usuario:</strong> Puedo eliminar las recetas.",
|
||||
"<strong>Historia de usuario:</strong> Las recetas que voy agregando deben guardarse en el almacenamiento local de mi navegador. Las recetas deben seguir allí si refresco la página.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте хранилище рецептов",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/xVXWag/' target='_blank'>https://codepen.io/FreeCodeCamp/full/xVXWag/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Я могу создавать рецепты, содержащие название и ингредиенты.",
|
||||
"<strong>Пользовательская история:</strong> Я могу просмотреть корневой вид, на котором видны все рецепты.",
|
||||
"<strong>Пользовательская история:</strong> Я могу нажать на имя каждого из рецептов для просмотра содержимого.",
|
||||
"<strong>Пользовательская история:</strong> Я могу отредактировать эти рецепты.",
|
||||
"<strong>Пользовательская история:</strong> Я могу удалить эти рецепты.",
|
||||
"<strong>Пользовательская история:</strong> Все новые рецепты, которые я добавил, сохранены в локальном хранилище моего браузера. Если я обновлю страницу, эти рецепты будут всё ещё там.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7154d8c242eddfaeb5bd13",
|
||||
@ -201,42 +219,48 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте игру \"Жизнь\"",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/reGdqx/' target='_blank'>https://codepen.io/FreeCodeCamp/full/reGdqx/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Когда я впервые запускаю игру, она генерирует доску случайным образом и начинает игру.",
|
||||
"<strong>Пользовательская история:</strong> Я могу запустить и остановить игру.",
|
||||
"<strong>Пользовательская история:</strong> Я могу настроить доску.",
|
||||
"<strong>Пользовательская история:</strong> Я могу очистить доску.",
|
||||
"<strong>Пользовательская история:</strong> Когда я нажимаю начать, игра начинает воспроизведение.",
|
||||
"<strong>Пользовательская история:</strong> Каждый раз, когда доска меняется, я могу видеть сколько поколений прошло.",
|
||||
"<strong>Подсказка:</strong> Вот объяснение игры \"Жизнь\" от её создателя Джона Конвея: <a href='https://www.youtube.com/watch?v=E8kUJL04ELA' target='_blank'>https://www.youtube.com/watch?v=E8kUJL04ELA</a>",
|
||||
"<strong>Подсказка:</strong> Вот обзор правил игры \"Жизнь\" для вашего сведения: <a href='https://ru.wikipedia.org/wiki/Жизнь_(игра)' target='_blank'>https://ru.wikipedia.org/wiki/Жизнь_(игра)</a>",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Crea un Juego de la vida",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/reGdqx/' target='_blank'>https://codepen.io/FreeCodeCamp/full/reGdqx/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> La aplicación debe generar aleatoriamente un tablero y comenzar a jugar cuando entro al juego por primera vez.",
|
||||
"<strong>Historia de usuario:</strong> Puedo iniciar y detener el tablero.",
|
||||
"<strong>Historia de usuario:</strong> Puedo preparar el tablero.",
|
||||
"<strong>Historia de usuario:</strong> Puedo limpiar el tablero.",
|
||||
"<strong>Historia de usuario:</strong> El juego inicia cuando presiono un botón de inicio.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver cuántas generaciones han pasado cada vez que el tablero cambia.",
|
||||
"<strong>Pista:</strong> Puedes encontrar una explicación del Juego de la vida de Conway de parte del mismísimo John Conway aquí: <a href='https://www.youtube.com/watch?v=E8kUJL04ELA' target='_blank'>https://www.youtube.com/watch?v=E8kUJL04ELA</a>",
|
||||
"<strong>Pista:</strong> Puedes referirte al siguiente enlace para obtener información general acerca del Juego de la vida de Conway incluyendo las reglas del juego: <a href='https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life' target='_blank'>https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un Juego de la vida",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/reGdqx/' target='_blank'>https://codepen.io/FreeCodeCamp/full/reGdqx/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> La aplicación debe generar aleatoriamente un tablero y comenzar a jugar cuando entro al juego por primera vez.",
|
||||
"<strong>Historia de usuario:</strong> Puedo iniciar y detener el tablero.",
|
||||
"<strong>Historia de usuario:</strong> Puedo preparar el tablero.",
|
||||
"<strong>Historia de usuario:</strong> Puedo limpiar el tablero.",
|
||||
"<strong>Historia de usuario:</strong> El juego inicia cuando presiono un botón de inicio.",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver cuántas generaciones han pasado cada vez que el tablero cambia.",
|
||||
"<strong>Pista:</strong> Puedes encontrar una explicación del Juego de la vida de Conway de parte del mismísimo John Conway aquí: <a href='https://www.youtube.com/watch?v=E8kUJL04ELA' target='_blank'>https://www.youtube.com/watch?v=E8kUJL04ELA</a>",
|
||||
"<strong>Pista:</strong> Puedes referirte al siguiente enlace para obtener información general acerca del Juego de la vida de Conway incluyendo las reglas del juego: <a href='https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life' target='_blank'>https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life</a>",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте игру \"Жизнь\"",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/reGdqx/' target='_blank'>https://codepen.io/FreeCodeCamp/full/reGdqx/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> Когда я впервые запускаю игру, она генерирует доску случайным образом и начинает игру.",
|
||||
"<strong>Пользовательская история:</strong> Я могу запустить и остановить игру.",
|
||||
"<strong>Пользовательская история:</strong> Я могу настроить доску.",
|
||||
"<strong>Пользовательская история:</strong> Я могу очистить доску.",
|
||||
"<strong>Пользовательская история:</strong> Когда я нажимаю начать, игра начинает воспроизведение.",
|
||||
"<strong>Пользовательская история:</strong> Каждый раз, когда доска меняется, я могу видеть сколько поколений прошло.",
|
||||
"<strong>Подсказка:</strong> Вот объяснение игры \"Жизнь\" от её создателя Джона Конвея: <a href='https://www.youtube.com/watch?v=E8kUJL04ELA' target='_blank'>https://www.youtube.com/watch?v=E8kUJL04ELA</a>",
|
||||
"<strong>Подсказка:</strong> Вот обзор правил игры \"Жизнь\" для вашего сведения: <a href='https://ru.wikipedia.org/wiki/Жизнь_(игра)' target='_blank'>https://ru.wikipedia.org/wiki/Жизнь_(игра)</a>",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7153d8c242eddfaeb5bd13",
|
||||
@ -267,44 +291,50 @@
|
||||
"type": "zipline",
|
||||
"isRequired": true,
|
||||
"challengeType": 3,
|
||||
"titleRu": "Создайте Roguelike-подобную игру Подземелье",
|
||||
"descriptionRu": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/PNJRyd/' target='_blank'>https://codepen.io/FreeCodeCamp/full/PNJRyd/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> У меня есть жизни, уровень и оружие. Я могу подобрать оружие получше. Я могу подобрать очки здоровья.",
|
||||
"<strong>Пользовательская история:</strong> Все предметы и враги располагаются на карте случайным образом.",
|
||||
"<strong>Пользовательская история:</strong> Я могу передвигаться по карте, обнаруживая новые предметы.",
|
||||
"<strong>Пользовательская история:</strong> Я могу двигаться куда угодно в рамках карты, но не могу продвинуться дальше врага, пока он не будет побежден.",
|
||||
"<strong>Пользовательская история:</strong> Большая часть карты скрыта. Когда я делаю шаг, все клетки в определенном количестве клеток от меня становятся видимы.",
|
||||
"<strong>Пользовательская история:</strong> Когда я побеждаю врага, враг исчезает, а я получаю очки опыта (XP), что увеличивает мой уровень.",
|
||||
"<strong>Пользовательская история:</strong> Когда я веду бой с врагом, мы поочередно наносим друг-другу повреждения, до тех пор пока кто-нибудь не победит. Я наношу повреждения, которые зависят от моего уровня и моего оружия. Враг наносит повреждения, которые зависят от его уровня. Значение повреждений распределено случайным образом в некотором диапазоне.",
|
||||
"<strong>Пользовательская история:</strong> Когад я нахожу и побеждаю босса, я выигрываю игру.",
|
||||
"<strong>Пользовательская история:</strong> Игра должна быть интересной и достаточно сложной, но теоретически проходимой.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
],
|
||||
"titleEs": "Crea un juego de dragones al estilo Rogue",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/PNJRyd/' target='_blank'>https://codepen.io/FreeCodeCamp/full/PNJRyd/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Tengo energía, nivel de habilidad y un arma. Puedo recoger un arma mejor. Puedo recoger ítems que recuperan mi energía.",
|
||||
"<strong>Historia de usuario:</strong> Todos los ítems y los enemigos en el mapa están colocados aleatoriamente.",
|
||||
"<strong>Historia de usuario:</strong> Puedo moverme a lo largo de un mapa y descubrir ítems.",
|
||||
"<strong>Historia de usuario:</strong> Puedo moverme hacia cualquier parte dentro de los límites del mapa, pero no puedo moverme sobre un enemigo hasta que lo haya vencido.",
|
||||
"<strong>Historia de usuario:</strong> Gran parte del mapa está escondido. Cuando doy un paso, todos los espacios que están a cierto número de espacios de distancia de mi son revelados.",
|
||||
"<strong>Historia de usuario:</strong> Cuando venzo un enemigo, este desaparece y yo gano puntos de experiencia (XP), lo que eventualmente me permite aumentar de nivel.",
|
||||
"<strong>Historia de usuario:</strong> Cuando peleo con un enemigo, tomamos turnos haciéndonos daño hasta que uno de los dos pierde. El daño que hago está basado en mi nivel de experiencia y en el arma que estoy utilizando. El enemigo hace daño basado en su nivel. El daño es aleatorio dentro de cierto márgen.",
|
||||
"<strong>Historia de usuario:</strong> Gano el juego cuando encuentre y venza al jefe.",
|
||||
"<strong>Historia de usuario:</strong> El juego debe representar un reto, pero ganar debe ser teóricamente posible.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Crea un juego de dragones al estilo Rogue",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación en <a href='https://codepen.io' target='_blank'>CodePen.io</a> que funcione de forma similar al siguiente ejemplo: <a href='https://codepen.io/FreeCodeCamp/full/PNJRyd/' target='_blank'>https://codepen.io/FreeCodeCamp/full/PNJRyd/</a>.",
|
||||
"<strong>Regla #1:</strong> No veas el código del proyecto de ejemplo. Encuentra la forma de hacerlo por tu cuenta.",
|
||||
"<strong>Regla #2:</strong> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o API que sea necesaria. ¡Ponle un toque personal!.",
|
||||
"<strong>Rule #3:</strong> Debes utilizar ambos Sass y React para construir este proyecto.",
|
||||
"<strong>Historia de usuario:</strong> Tengo energía, nivel de habilidad y un arma. Puedo recoger un arma mejor. Puedo recoger ítems que recuperan mi energía.",
|
||||
"<strong>Historia de usuario:</strong> Todos los ítems y los enemigos en el mapa están colocados aleatoriamente.",
|
||||
"<strong>Historia de usuario:</strong> Puedo moverme a lo largo de un mapa y descubrir ítems.",
|
||||
"<strong>Historia de usuario:</strong> Puedo moverme hacia cualquier parte dentro de los límites del mapa, pero no puedo moverme sobre un enemigo hasta que lo haya vencido.",
|
||||
"<strong>Historia de usuario:</strong> Gran parte del mapa está escondido. Cuando doy un paso, todos los espacios que están a cierto número de espacios de distancia de mi son revelados.",
|
||||
"<strong>Historia de usuario:</strong> Cuando venzo un enemigo, este desaparece y yo gano puntos de experiencia (XP), lo que eventualmente me permite aumentar de nivel.",
|
||||
"<strong>Historia de usuario:</strong> Cuando peleo con un enemigo, tomamos turnos haciéndonos daño hasta que uno de los dos pierde. El daño que hago está basado en mi nivel de experiencia y en el arma que estoy utilizando. El enemigo hace daño basado en su nivel. El daño es aleatorio dentro de cierto márgen.",
|
||||
"<strong>Historia de usuario:</strong> Gano el juego cuando encuentre y venza al jefe.",
|
||||
"<strong>Historia de usuario:</strong> El juego debe representar un reto, pero ganar debe ser teóricamente posible.",
|
||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado.",
|
||||
"Cuando termines, haz clic en el botón de \"I've completed this challenge\" e incluye el vínculo de tu proyecto en CodePen. ",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
},
|
||||
"ru": {
|
||||
"title": "Создайте Roguelike-подобную игру Подземелье",
|
||||
"description": [
|
||||
"<strong>Задание:</strong> Создайте приложение <a href='https://codepen.io' target='_blank'>CodePen.io</a>, функционал которого схож с этим: <a href='https://codepen.io/FreeCodeCamp/full/PNJRyd/' target='_blank'>https://codepen.io/FreeCodeCamp/full/PNJRyd/</a>.",
|
||||
"<strong>Правило #1:</strong> Не подсматривайте код приложения-примера. Напишите его самостоятельно.",
|
||||
"<strong>Правило #2:</strong> Приложение должно удовлетворять нижеприведённым <a href='https://ru.wikipedia.org/wiki/Пользовательские_истории' target='_blank'>пользовательским историям</a>. Используйте любые библиотеки или API, которые потребуются. Придайте ему свой личный стиль.",
|
||||
"<strong>Правило #3:</strong> Для создания этого проекта вы должны использовать Sass и React.",
|
||||
"<strong>Пользовательская история:</strong> У меня есть жизни, уровень и оружие. Я могу подобрать оружие получше. Я могу подобрать очки здоровья.",
|
||||
"<strong>Пользовательская история:</strong> Все предметы и враги располагаются на карте случайным образом.",
|
||||
"<strong>Пользовательская история:</strong> Я могу передвигаться по карте, обнаруживая новые предметы.",
|
||||
"<strong>Пользовательская история:</strong> Я могу двигаться куда угодно в рамках карты, но не могу продвинуться дальше врага, пока он не будет побежден.",
|
||||
"<strong>Пользовательская история:</strong> Большая часть карты скрыта. Когда я делаю шаг, все клетки в определенном количестве клеток от меня становятся видимы.",
|
||||
"<strong>Пользовательская история:</strong> Когда я побеждаю врага, враг исчезает, а я получаю очки опыта (XP), что увеличивает мой уровень.",
|
||||
"<strong>Пользовательская история:</strong> Когда я веду бой с врагом, мы поочередно наносим друг-другу повреждения, до тех пор пока кто-нибудь не победит. Я наношу повреждения, которые зависят от моего уровня и моего оружия. Враг наносит повреждения, которые зависят от его уровня. Значение повреждений распределено случайным образом в некотором диапазоне.",
|
||||
"<strong>Пользовательская история:</strong> Когад я нахожу и побеждаю босса, я выигрываю игру.",
|
||||
"<strong>Пользовательская история:</strong> Игра должна быть интересной и достаточно сложной, но теоретически проходимой.",
|
||||
"Если что-то не получается, не забывайте пользоваться методом <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Читай-Ищи-Спрашивай</a>.",
|
||||
"Когда закончите, нажмите кнопку \"I've completed this challenge\" и укажите ссылку на вашу работу на CodePen.",
|
||||
"Вы можете получить отзыв о вашем проекте от коллег, поделившись ссылкой на него в нашем <a href='//gitter.im/freecodecamp/codereview' target='_blank'>чате для рассмотрения кода</a>. Также вы можете поделиться ею через Twitter и на странице Free Code Camp вашего города на Facebook."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -13,7 +13,11 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Desafios para aprender React"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Desafios para aprender React"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 3,
|
||||
"titleEs": "Desafios para aprender Sass"
|
||||
"translations": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -91,7 +91,8 @@
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"isRequired": false
|
||||
"isRequired": false,
|
||||
"translations": {}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443edefaeb5bdef",
|
||||
@ -114,17 +115,21 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"titleEs": "Microservicio de Marca Temporal",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Desarolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://timestamp-ms.herokuapp.com/' target='_blank'>https://timestamp-ms.herokuapp.com/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo pasar una cadena como parámetro y comprobará si contiene o no una marca de tiempo para Unix o una fecha en lenguaje natural en inglés (Ejemplo: January 1, 2016).",
|
||||
"<strong>Historia de Usuario:</strong> Si tiene una marca de tiempo para Unix, devuelve tanto la marca de tiempo de Unix como la fecha en lenguaje natural.",
|
||||
"<strong>Historia de Usuario:</strong> Si no contiene una fecha ni una marca de tiempo para Unix, devolverá esas propiedades en <code>null</code>.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Microservicio de Marca Temporal",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Desarolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://timestamp-ms.herokuapp.com/' target='_blank'>https://timestamp-ms.herokuapp.com/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo pasar una cadena como parámetro y comprobará si contiene o no una marca de tiempo para Unix o una fecha en lenguaje natural en inglés (Ejemplo: January 1, 2016).",
|
||||
"<strong>Historia de Usuario:</strong> Si tiene una marca de tiempo para Unix, devuelve tanto la marca de tiempo de Unix como la fecha en lenguaje natural.",
|
||||
"<strong>Historia de Usuario:</strong> Si no contiene una fecha ni una marca de tiempo para Unix, devolverá esas propiedades en <code>null</code>.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443edefaeb5bdff",
|
||||
@ -145,15 +150,19 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"titleEs": "Microservicio para analizar el encabezado de una petición",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Desarrolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/whoami/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/whoami/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo obtener la dirección IP, idioma y sistema operativo de mi navegador.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Microservicio para analizar el encabezado de una petición",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Desarrolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/whoami/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/whoami/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo obtener la dirección IP, idioma y sistema operativo de mi navegador.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443edefaeb5bd0e",
|
||||
@ -177,17 +186,21 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"titleEs": "Microservicio para acortar URLs",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Desarrolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://little-url.herokuapp.com/' target='_blank'>https://little-url.herokuapp.com/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo pasar una URL como parámetro y recibiré una URL acortada en la respuesta JSON.",
|
||||
"<strong>Historia de Usuario:</strong> Si paso una URL inválido que no siga el formato válido http://www.exmaple.com, en cambio la respuesta JSON contendrá un mensaje de error.",
|
||||
"<strong>Historia de Usuario:</strong> Cuando visite el URL acortado, me redirigirá a mi enlace original.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Microservicio para acortar URLs",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Desarrolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://little-url.herokuapp.com/' target='_blank'>https://little-url.herokuapp.com/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo pasar una URL como parámetro y recibiré una URL acortada en la respuesta JSON.",
|
||||
"<strong>Historia de Usuario:</strong> Si paso una URL inválido que no siga el formato válido http://www.exmaple.com, en cambio la respuesta JSON contendrá un mensaje de error.",
|
||||
"<strong>Historia de Usuario:</strong> Cuando visite el URL acortado, me redirigirá a mi enlace original.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443edefaeb5bdee",
|
||||
@ -210,17 +223,21 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"titleEs": "Capa de abstracción para buscar imágenes",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Desarolla una aplicación de Pila Completa en JavaScript que te permite buscar imágenes como esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/imagesearch/lolcats%20funny?offset=10' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/imagesearch/lolcats%20funny?offset=10</a> y examinar las búsquedas recientes como esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/latest/imagesearch/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/latest/imagesearch/</a>. Después, despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo obtener la URL de una imagen, texto alternativo y URLs de las páginas de un conjunto de imágenes que se relacionen con una cadena de texto dada.",
|
||||
"<strong>Historia de Usuario:</strong> Puedo examinar página a página las respuestas añadiendo un parámetro del estilo <code>?offset=2</code> al URL.",
|
||||
"<strong>Historia de Usuario:</strong> Puedo obtener una lista de las cadenas búscadas que se enviaron más recientemente.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Capa de abstracción para buscar imágenes",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Desarolla una aplicación de Pila Completa en JavaScript que te permite buscar imágenes como esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/imagesearch/lolcats%20funny?offset=10' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/imagesearch/lolcats%20funny?offset=10</a> y examinar las búsquedas recientes como esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/latest/imagesearch/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/latest/imagesearch/</a>. Después, despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo obtener la URL de una imagen, texto alternativo y URLs de las páginas de un conjunto de imágenes que se relacionen con una cadena de texto dada.",
|
||||
"<strong>Historia de Usuario:</strong> Puedo examinar página a página las respuestas añadiendo un parámetro del estilo <code>?offset=2</code> al URL.",
|
||||
"<strong>Historia de Usuario:</strong> Puedo obtener una lista de las cadenas búscadas que se enviaron más recientemente.",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443edefaeb5bd0f",
|
||||
@ -243,17 +260,21 @@
|
||||
"releasedOn": "January 1, 2016",
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"titleEs": "Microservicio de metadatos de archivos",
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Desarrolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://cryptic-ridge-9197.herokuapp.com/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo enviar un objeto FormData que incluya una subida de un archivo.",
|
||||
"<strong>Historia de Usuario:</strong> Cuando envío algo, recibiré el tamao del archivo en bytes en la respuesta JSON.",
|
||||
"<strong>Pista:</strong> Puede servirte este paquete: <a href='https://www.npmjs.com/package/multer' target='_blank'>https://www.npmjs.com/package/multer</a>",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Microservicio de metadatos de archivos",
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Desarrolla una aplicación de Pila Completa en JavaScript que sea funcionalmente similar a esta: <a href='https://cryptic-ridge-9197.herokuapp.com/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/</a> y despliegala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-api-development-projects'>https://freecodecamp.com//challenges/get-set-for-our-api-development-projects</a>.",
|
||||
"Aquí están las historias de usuario específicas que debes implementar para este proyecto:",
|
||||
"<strong>Historia de Usuario:</strong> Puedo enviar un objeto FormData que incluya una subida de un archivo.",
|
||||
"<strong>Historia de Usuario:</strong> Cuando envío algo, recibiré el tamao del archivo en bytes en la respuesta JSON.",
|
||||
"<strong>Pista:</strong> Puede servirte este paquete: <a href='https://www.npmjs.com/package/multer' target='_blank'>https://www.npmjs.com/package/multer</a>",
|
||||
"Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón \"I've completed this challenge\" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.",
|
||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -26,13 +26,17 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Utiliza la consola de JavaScript",
|
||||
"descriptionEs": [
|
||||
"Tanto Chrome como Firefox tienen excelentes consolas JavaScript, también conocidas como DevTools, para depurar tu código JavaScript.",
|
||||
"Puedes encontrar las Herramientas para desarrolladores (<code>Developer tools</code>) en el menú de Chrome o la Consola web (<code>Web Console</code>) en el menú de FireFox. Si estás utilizando un navegador diferente, o un dispositivo móvil, nuestra recomendación es que cambies a la versión de escritorio de Firefox o Chrome.",
|
||||
"Vamos a imprimir en esta consola utilizando el método <code>console.log</code>.",
|
||||
"<code>console.log('Hello world!')</code>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Utiliza la consola de JavaScript",
|
||||
"description": [
|
||||
"Tanto Chrome como Firefox tienen excelentes consolas JavaScript, también conocidas como DevTools, para depurar tu código JavaScript.",
|
||||
"Puedes encontrar las Herramientas para desarrolladores (<code>Developer tools</code>) en el menú de Chrome o la Consola web (<code>Web Console</code>) en el menú de FireFox. Si estás utilizando un navegador diferente, o un dispositivo móvil, nuestra recomendación es que cambies a la versión de escritorio de Firefox o Chrome.",
|
||||
"Vamos a imprimir en esta consola utilizando el método <code>console.log</code>.",
|
||||
"<code>console.log('Hello world!')</code>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cf1111c1c16feddfaeb7bdef",
|
||||
@ -62,16 +66,20 @@
|
||||
],
|
||||
"type": "waypoint",
|
||||
"challengeType": 1,
|
||||
"titleEs": "Usando typeof",
|
||||
"descriptionEs": [
|
||||
"Puedes usar <code>typeof</code> para verificar la <code>estructura de datos</code>, o el tipo, de una variable.",
|
||||
"Ten en cuenta que, en JavaScript, los vectores son técnicamente un tipo de objeto.",
|
||||
"Intenta utilizar <code>typeof</code> en cada uno de los siguientes valores para ver de qué tipo son.",
|
||||
"<code>console.log(typeof(\"\"));</code>",
|
||||
"<code>console.log(typeof(0));</code>",
|
||||
"<code>console.log(typeof([]));</code>",
|
||||
"<code>console.log(typeof({}));</code>"
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Usando typeof",
|
||||
"description": [
|
||||
"Puedes usar <code>typeof</code> para verificar la <code>estructura de datos</code>, o el tipo, de una variable.",
|
||||
"Ten en cuenta que, en JavaScript, los vectores son técnicamente un tipo de objeto.",
|
||||
"Intenta utilizar <code>typeof</code> en cada uno de los siguientes valores para ver de qué tipo son.",
|
||||
"<code>console.log(typeof(\"\"));</code>",
|
||||
"<code>console.log(typeof(0));</code>",
|
||||
"<code>console.log(typeof([]));</code>",
|
||||
"<code>console.log(typeof({}));</code>"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -92,60 +92,66 @@
|
||||
],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/8v3t84p.jpg",
|
||||
"Una imagen que muestra nuestro certificado de desarrollo del lado del servidor",
|
||||
"Este desafío te otorga tu certificado autenticado de desarrollo del lado del servidor. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los proyectos de desarrollo del lado del servidor. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/HArFfMN.jpg",
|
||||
"Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.",
|
||||
"Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2qn7tHp.jpg",
|
||||
"Una imagen del texto \"Back End Development Certificate requirements\"",
|
||||
"Confirmemos que has completado todos nuestros proyectos de desarrollo del lado del servidor. Pulsa el botón siguiente para hacer la verificación.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/16SIhHO.jpg",
|
||||
"Una imagen de la palabra \"Congratulations\"",
|
||||
"¡Felicitaciones! Hemos agregado tu certificado de desarrollo del lado del servidor. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.",
|
||||
""
|
||||
]
|
||||
],
|
||||
"titleEs": "Reclama tu certificado de desarrollo del lado del servidor",
|
||||
"titleFr": "Demandez votre certificat de développement Back End",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/8v3t84p.jpg",
|
||||
"Une image de notre certificat de développement Back End",
|
||||
"Ce défi vous donnera votre certificat de développement Back End authentifié. Avant que nous ne vous le donnions, nous devons vérifier que vous avez complété tous les projets de développement Back End. Vous devez aussi accepter notre serment de droiture académique. Cliquez le bouton ci-dessous pour commencer cette procédure.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/HArFfMN.jpg",
|
||||
"La définition du plagiat: Plagiat (nom) - copier le travail de quelqu'un d'autre et le presenter comme le votre sans lui en donner crédit.",
|
||||
"En cliquant ci dessous, vous faites le serment que tout le code que vous avez mis en ligne A) est un code que vous ou un pair avez personellement écrit, ou B) qu'il provient de librairies open-source comme jQuery, ou C) qu'il a été cmairement attribué à ses auteurs originaux. Vous nous donnez la permission de consulter vos solutions aux défis et de révoquer votre certificat si nous y trouvons une preuve de plagiat.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2qn7tHp.jpg",
|
||||
"Une image du texte \"Back End Development Certificate requirements\"",
|
||||
"Confirmons que vous avez complété nos projets de développement Back End. Cliquez sur le bouton ci dessous pour vérifier.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/16SIhHO.jpg",
|
||||
"Une image du mot \"Congratulations\"",
|
||||
"Félicitations! Nous avons ajouté votre certificat de développement Back End à votre page portfolio. A moins que vous ne choisissiez de cacher vos solutions, ce certificat restera publiquement visible et vérifiable.",
|
||||
""
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Reclama tu certificado de desarrollo del lado del servidor",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/8v3t84p.jpg",
|
||||
"Una imagen que muestra nuestro certificado de desarrollo del lado del servidor",
|
||||
"Este desafío te otorga tu certificado autenticado de desarrollo del lado del servidor. Antes de que podamos emitir tu certificado, debemos verificar que has completado todos los proyectos de desarrollo del lado del servidor. También debes aceptar nuestro Juramento de honestidad académica. Pulsa el botón siguiente para iniciar este proceso.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/HArFfMN.jpg",
|
||||
"Plagio (nombre): acción y efecto de plagiar. Plagiar (verbo) - copiar en lo sustancial obras ajenas, dándolas como propias.",
|
||||
"Al pulsar el botón siguiente, juras que todo el código en tus soluciones a los desafíos A) es código que tú o tu compañero escribieron personalmente, o B) proviene de librerías de código abierto como jQuery, o C) ha sido claramente atribuido a sus autores originales. También nos otorgas el permiso para auditar tus soluciones a los desafíos y revocar tu certificado si encontramos evidencia de plagio.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2qn7tHp.jpg",
|
||||
"Una imagen del texto \"Back End Development Certificate requirements\"",
|
||||
"Confirmemos que has completado todos nuestros proyectos de desarrollo del lado del servidor. Pulsa el botón siguiente para hacer la verificación.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/16SIhHO.jpg",
|
||||
"Una imagen de la palabra \"Congratulations\"",
|
||||
"¡Felicitaciones! Hemos agregado tu certificado de desarrollo del lado del servidor. A menos que elijas no mostrar tus soluciones, este certificado será públicamente visible y verificable.",
|
||||
""
|
||||
]
|
||||
]
|
||||
},
|
||||
"fr": {
|
||||
"title": "Demandez votre certificat de développement Back End",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/8v3t84p.jpg",
|
||||
"Une image de notre certificat de développement Back End",
|
||||
"Ce défi vous donnera votre certificat de développement Back End authentifié. Avant que nous ne vous le donnions, nous devons vérifier que vous avez complété tous les projets de développement Back End. Vous devez aussi accepter notre serment de droiture académique. Cliquez le bouton ci-dessous pour commencer cette procédure.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/HArFfMN.jpg",
|
||||
"La définition du plagiat: Plagiat (nom) - copier le travail de quelqu'un d'autre et le presenter comme le votre sans lui en donner crédit.",
|
||||
"En cliquant ci dessous, vous faites le serment que tout le code que vous avez mis en ligne A) est un code que vous ou un pair avez personellement écrit, ou B) qu'il provient de librairies open-source comme jQuery, ou C) qu'il a été cmairement attribué à ses auteurs originaux. Vous nous donnez la permission de consulter vos solutions aux défis et de révoquer votre certificat si nous y trouvons une preuve de plagiat.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2qn7tHp.jpg",
|
||||
"Une image du texte \"Back End Development Certificate requirements\"",
|
||||
"Confirmons que vous avez complété nos projets de développement Back End. Cliquez sur le bouton ci dessous pour vérifier.",
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/16SIhHO.jpg",
|
||||
"Une image du mot \"Congratulations\"",
|
||||
"Félicitations! Nous avons ajouté votre certificat de développement Back End à votre page portfolio. A moins que vous ne choisissiez de cacher vos solutions, ce certificat restera publiquement visible et vérifiable.",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -98,93 +98,97 @@
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"isRequired": false,
|
||||
"titleEs": "Prepárate para nuestros Proyectos de Desarrollo en el lado del servidor",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/4IZjWZ3.gif",
|
||||
"Una imagen gif que te muestra cómo crear una cuenta en c9.io.",
|
||||
"Te recomendamos resolver nuestros desafíos de pila completa (full stack) en c9.io, un poderoso ambiente de desarrollo basado en tu navegador. Esto te ahorrará muchas horas que utilizarías configurando tu computadora para correr Node.js y MongoDB - tiempo que podrías utilizar escribiendo código. <br>Crea una cuenta en c9.io pulsando el símbolo de GitHub en la esquina superior derecha de la página de c9.io. Pulsa el botón con el símbolo de suma para crear una área de trabajo nueva. Introduce tu dirección de correo electrónico cuando se te solicite.",
|
||||
"https://c9.io"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/F7i5Hhi.gif",
|
||||
"Una imagen gif que te muestra cómo llenar el formulario para crear un área de trabajo nueva",
|
||||
"En vez de iniciar desde cero, recomendamos utilizar Clementine.js, un modelo (<em>bolierplate</em>) de JavaScript pila completa (full stack) que viene con código básico ya escrito para ti. Clementine.js tiene un tutorial detallado que puedes seguir para construirlo por ti mismo, pero por ahora simplemente vamos a clonarlo. En c9.io, dale un nombre a tu área de trabajo, luego deja \"Plantilla\" (\"Template\") como personalizado y crea tu espacio de trabajo usando el siguiente url de GitHub: <code>https://github.com/johnstonbl01/clementinejs-fcc.git</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/42m1vyr.gif",
|
||||
"Una imagen gif que te muestra cómo mostrar los archivos ocultos.",
|
||||
"Pulsa el engrane en la esquina superior derecha del árbol de archivos de c9.io. Selecciona \"show hidden files\".",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/qrE8xaK.gif",
|
||||
"Una imagen gif que te muestra cómo crear un archivo nuevo.",
|
||||
"Haciendo clic derecho, crea un nuevo archivo llamado <code>.env</code>.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/jkQX9SQ.gif",
|
||||
"Una imagen gif que te muestra cómo preparar tus variables de ambiente en tu archivo .env.",
|
||||
"Abre tu archivo .env pega el siguiente código, y luego guárdalo: <br><code>GITHUB_KEY=<br>GITHUB_SECRET=<br>MONGO_URI=mongodb://localhost:27017/clementinejs<br>PORT=8080<br>APP_URL=http://localhost:8080/</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/f3DE7zB.gif",
|
||||
"Una imagen gif que te muestra cómo abir la vista previa de la ventana de c9.io.",
|
||||
"Abre tu aplicación en una pestaña de vista previa pulsando window > share > application > open.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Ip0qUdQ.gif",
|
||||
"Una imagen gif que te muestra cómo crear una aplicación de GitHub usando la URL de vista previa de c9.io.",
|
||||
"Crea una aplicación de GitHub para autenticación y elige un \"Nombre de aplicación\". Para la URL de inicio (homepage), pega la URL de tu pestaña de vista previa. También debes pegar la URL de tu pestaña de vista previa en <code>Authorization callback URL</code>, agrégale: <code>auth/github/callback</code>",
|
||||
"https://github.com/settings/applications/new"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/qCUVRFb.gif",
|
||||
"Una imagen gif que te muestra cómo transferir tu llave (key) y tu código secreto (secret) de GitHub a tu archivo .env, así como tu URL de c9.io.",
|
||||
"GitHub creará una aplicación y te entregará un ID de cliente (Client ID) y un Código secreto de cliente (Client Secret). Haz que el GITHUB_KEY en tu archivo .env sea igual al ID de cliente, y haz que tu GITHUB_SECRET en el archivo .env sea igual al Código secreto de cliente. Copia la URL de tu pestaña de vista previa y pégala en tu archivo .env como tu APP_URL.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2a20Vah.gif",
|
||||
"Una imagen gif que te muestra cómo iniciar mongoDB en la terminal de c9.io.",
|
||||
"En tu terminal, instala MongoDB usando el siguiente comando: <br><br><code>sudo apt-get install mongodb-org</code><br><br>. Inicia MongoDB con el siguiente comando: <code>mongod --smallfiles</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/dC55pWk.gif",
|
||||
"Una imagen gif que te muestra cómo abrir una nueva pestaña en la terminal de c9.io.",
|
||||
"Abre una nueva pestaña de terminal pulsando el botón de + sobre tu terminal, luego ejecuta <code>npm install</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/54OC2Ro.gif",
|
||||
"Una imagen gif que te muestra cómo navegar a tu pestaña de vista previa e ingresar a tu nueva aplicación Clementine.js.",
|
||||
"Ejecuta <code>node server.js</code> para iniciar el servidor. Actualiza tu pestaña de vista previa. Deberías poder ver el logo de Clementine.js. Pulsa \"sign in\" y acepta la solicitud de GitHub para autorizar la aplicación.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2IJfyvN.gif",
|
||||
"Una imagen gif que te muestra cómo pulsar un botón para desencadenar una acción AJAX con Clementine.js y cómo ver tu perfil de usuario en los datos de autenticación provistos por GitHub.",
|
||||
"Pulsa el botón que dice \"click me\" y verás que se incrementa el número de clics. Pulsa el botón de perfil (profile) y verás la información de tu perfil de GitHub.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/bjO5pnq.gif",
|
||||
"Una imagen gif que te muestra cómo crear un nuevo repositorio de GitHub GitHub y empujar allí tu código.",
|
||||
"Crea un nuevo repositorio en GitHub. Luego copia su ULR .git. <br>Regresa a tu terminal de c9.io y establece tu URL remota de GitHub: <code>git remote set-url origin</code> seguido de la URL que copiaste de GitHub. <br>Ejecuta <code>git push origin master</code>. <br>Ahora ve de regreso a la página de GitHub y actualízala. Verás que tu código ahora está ahora en GitHub.",
|
||||
"https://github.com/new"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Qn0K65B.gif",
|
||||
"Una imagen gif que te muestra cómo agregar complementos a Heroku.",
|
||||
"Pronto agregaremos instrucciones para hacer que Clementine corra en Heroku. Por ahora, desarrolla tus Basejumps en c9.io.",
|
||||
""
|
||||
]
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Prepárate para nuestros Proyectos de Desarrollo en el lado del servidor",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/4IZjWZ3.gif",
|
||||
"Una imagen gif que te muestra cómo crear una cuenta en c9.io.",
|
||||
"Te recomendamos resolver nuestros desafíos de pila completa (full stack) en c9.io, un poderoso ambiente de desarrollo basado en tu navegador. Esto te ahorrará muchas horas que utilizarías configurando tu computadora para correr Node.js y MongoDB - tiempo que podrías utilizar escribiendo código. <br>Crea una cuenta en c9.io pulsando el símbolo de GitHub en la esquina superior derecha de la página de c9.io. Pulsa el botón con el símbolo de suma para crear una área de trabajo nueva. Introduce tu dirección de correo electrónico cuando se te solicite.",
|
||||
"https://c9.io"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/F7i5Hhi.gif",
|
||||
"Una imagen gif que te muestra cómo llenar el formulario para crear un área de trabajo nueva",
|
||||
"En vez de iniciar desde cero, recomendamos utilizar Clementine.js, un modelo (<em>bolierplate</em>) de JavaScript pila completa (full stack) que viene con código básico ya escrito para ti. Clementine.js tiene un tutorial detallado que puedes seguir para construirlo por ti mismo, pero por ahora simplemente vamos a clonarlo. En c9.io, dale un nombre a tu área de trabajo, luego deja \"Plantilla\" (\"Template\") como personalizado y crea tu espacio de trabajo usando el siguiente url de GitHub: <code>https://github.com/johnstonbl01/clementinejs-fcc.git</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/42m1vyr.gif",
|
||||
"Una imagen gif que te muestra cómo mostrar los archivos ocultos.",
|
||||
"Pulsa el engrane en la esquina superior derecha del árbol de archivos de c9.io. Selecciona \"show hidden files\".",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/qrE8xaK.gif",
|
||||
"Una imagen gif que te muestra cómo crear un archivo nuevo.",
|
||||
"Haciendo clic derecho, crea un nuevo archivo llamado <code>.env</code>.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/jkQX9SQ.gif",
|
||||
"Una imagen gif que te muestra cómo preparar tus variables de ambiente en tu archivo .env.",
|
||||
"Abre tu archivo .env pega el siguiente código, y luego guárdalo: <br><code>GITHUB_KEY=<br>GITHUB_SECRET=<br>MONGO_URI=mongodb://localhost:27017/clementinejs<br>PORT=8080<br>APP_URL=http://localhost:8080/</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/f3DE7zB.gif",
|
||||
"Una imagen gif que te muestra cómo abir la vista previa de la ventana de c9.io.",
|
||||
"Abre tu aplicación en una pestaña de vista previa pulsando window > share > application > open.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Ip0qUdQ.gif",
|
||||
"Una imagen gif que te muestra cómo crear una aplicación de GitHub usando la URL de vista previa de c9.io.",
|
||||
"Crea una aplicación de GitHub para autenticación y elige un \"Nombre de aplicación\". Para la URL de inicio (homepage), pega la URL de tu pestaña de vista previa. También debes pegar la URL de tu pestaña de vista previa en <code>Authorization callback URL</code>, agrégale: <code>auth/github/callback</code>",
|
||||
"https://github.com/settings/applications/new"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/qCUVRFb.gif",
|
||||
"Una imagen gif que te muestra cómo transferir tu llave (key) y tu código secreto (secret) de GitHub a tu archivo .env, así como tu URL de c9.io.",
|
||||
"GitHub creará una aplicación y te entregará un ID de cliente (Client ID) y un Código secreto de cliente (Client Secret). Haz que el GITHUB_KEY en tu archivo .env sea igual al ID de cliente, y haz que tu GITHUB_SECRET en el archivo .env sea igual al Código secreto de cliente. Copia la URL de tu pestaña de vista previa y pégala en tu archivo .env como tu APP_URL.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2a20Vah.gif",
|
||||
"Una imagen gif que te muestra cómo iniciar mongoDB en la terminal de c9.io.",
|
||||
"En tu terminal, instala MongoDB usando el siguiente comando: <br><br><code>sudo apt-get install mongodb-org</code><br><br>. Inicia MongoDB con el siguiente comando: <code>mongod --smallfiles</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/dC55pWk.gif",
|
||||
"Una imagen gif que te muestra cómo abrir una nueva pestaña en la terminal de c9.io.",
|
||||
"Abre una nueva pestaña de terminal pulsando el botón de + sobre tu terminal, luego ejecuta <code>npm install</code>",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/54OC2Ro.gif",
|
||||
"Una imagen gif que te muestra cómo navegar a tu pestaña de vista previa e ingresar a tu nueva aplicación Clementine.js.",
|
||||
"Ejecuta <code>node server.js</code> para iniciar el servidor. Actualiza tu pestaña de vista previa. Deberías poder ver el logo de Clementine.js. Pulsa \"sign in\" y acepta la solicitud de GitHub para autorizar la aplicación.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/2IJfyvN.gif",
|
||||
"Una imagen gif que te muestra cómo pulsar un botón para desencadenar una acción AJAX con Clementine.js y cómo ver tu perfil de usuario en los datos de autenticación provistos por GitHub.",
|
||||
"Pulsa el botón que dice \"click me\" y verás que se incrementa el número de clics. Pulsa el botón de perfil (profile) y verás la información de tu perfil de GitHub.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/bjO5pnq.gif",
|
||||
"Una imagen gif que te muestra cómo crear un nuevo repositorio de GitHub GitHub y empujar allí tu código.",
|
||||
"Crea un nuevo repositorio en GitHub. Luego copia su ULR .git. <br>Regresa a tu terminal de c9.io y establece tu URL remota de GitHub: <code>git remote set-url origin</code> seguido de la URL que copiaste de GitHub. <br>Ejecuta <code>git push origin master</code>. <br>Ahora ve de regreso a la página de GitHub y actualízala. Verás que tu código ahora está ahora en GitHub.",
|
||||
"https://github.com/new"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/Qn0K65B.gif",
|
||||
"Una imagen gif que te muestra cómo agregar complementos a Heroku.",
|
||||
"Pronto agregaremos instrucciones para hacer que Clementine corra en Heroku. Por ahora, desarrolla tus Basejumps en c9.io.",
|
||||
""
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443eddfaeb5bdef",
|
||||
@ -210,23 +214,26 @@
|
||||
"tests": [],
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='https://fcc-voting-arthow4n.herokuapp.com/' target='_blank'>https://fcc-voting-arthow4n.herokuapp.com/</a> y despliégala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este proyecto:",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo guardar mis votaciones y acceder a ellas posteriormente.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo compartir mis votaciones con mis amigos.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo ver los resultados agregados de mis votaciones.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo eliminar votaciones que ya no quiero tener guardadas.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo crear una votación con cualquier número de opciones.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado o no autenticado, puedo ver y votar en las votaciones de otros.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado o no autenticado, puedo ver los resultados de las votaciones por medio de un gráfico. (Esto podría implementarse utilizando Chart.js o Google Charts.)",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, si no me gustan las opciones en una votación, puedo crear una nueva opción.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Crea una aplicación de votaciones"
|
||||
"translations": {
|
||||
"es": {
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='https://fcc-voting-arthow4n.herokuapp.com/' target='_blank'>https://fcc-voting-arthow4n.herokuapp.com/</a> y despliégala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este proyecto:",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo guardar mis votaciones y acceder a ellas posteriormente.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo compartir mis votaciones con mis amigos.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo ver los resultados agregados de mis votaciones.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo eliminar votaciones que ya no quiero tener guardadas.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo crear una votación con cualquier número de opciones.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado o no autenticado, puedo ver y votar en las votaciones de otros.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado o no autenticado, puedo ver los resultados de las votaciones por medio de un gráfico. (Esto podría implementarse utilizando Chart.js o Google Charts.)",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, si no me gustan las opciones en una votación, puedo crear una nueva opción.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443eddfaeb5bdff",
|
||||
@ -249,20 +256,23 @@
|
||||
"tests": [],
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://whatsgoinontonight.herokuapp.com/' target='_blank'>http://whatsgoinontonight.herokuapp.com/</a> y despliégala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario no autenticado, puedo ver todos los bares en mi área.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo agregarme a mí mismo a un bar para indicar que voy a estar allí esta noche.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo removerme de un bar si ya no pienso ir allí.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario no autenticado, cuando accedo a mi cuenta no debo tener la necesidad de buscar de nuevo.",
|
||||
"<span class='text-info'>Pista:</span> Prueba utilizar el <a href='https://www.yelp.com/developers/documentation/v2/overview' target='_blank'>API de Yelp</a> para encontrar lugares en las ciudades donde tus usuarios buscan. Si utilizas el API de Yelp, asegúrate de mencionarlo en tu aplicación.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Crea una aplicación de coordinación de vida nocturna"
|
||||
"translations": {
|
||||
"es": {
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://whatsgoinontonight.herokuapp.com/' target='_blank'>http://whatsgoinontonight.herokuapp.com/</a> y despliégala en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario no autenticado, puedo ver todos los bares en mi área.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo agregarme a mí mismo a un bar para indicar que voy a estar allí esta noche.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario autenticado, puedo removerme de un bar si ya no pienso ir allí.",
|
||||
"<strong>Historia de usuario:</strong> Como un usuario no autenticado, cuando accedo a mi cuenta no debo tener la necesidad de buscar de nuevo.",
|
||||
"<span class='text-info'>Pista:</span> Prueba utilizar el <a href='https://www.yelp.com/developers/documentation/v2/overview' target='_blank'>API de Yelp</a> para encontrar lugares en las ciudades donde tus usuarios buscan. Si utilizas el API de Yelp, asegúrate de mencionarlo en tu aplicación.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443eddfaeb5bd0e",
|
||||
@ -284,19 +294,22 @@
|
||||
"tests": [],
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://watchstocks.herokuapp.com/' target='_blank'>http://watchstocks.herokuapp.com/</a> y despliégalo en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo ver un gráfico que me muestre las líneas de tendencia recientes para cada acción agregada.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo agregar nuevas acciones por su símbolo.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo remover acciones.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo ver cambios en tiempo real cuando algún otro usuario agrega o remueve una acción. Puedes usar Web Sockets para hacer esto.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Grafica el mercado de acciones"
|
||||
"translations": {
|
||||
"es": {
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://watchstocks.herokuapp.com/' target='_blank'>http://watchstocks.herokuapp.com/</a> y despliégalo en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo ver un gráfico que me muestre las líneas de tendencia recientes para cada acción agregada.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo agregar nuevas acciones por su símbolo.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo remover acciones.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario, puedo ver cambios en tiempo real cuando algún otro usuario agrega o remueve una acción. Puedes usar Web Sockets para hacer esto.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443eddfaeb5bd0f",
|
||||
@ -318,19 +331,22 @@
|
||||
"tests": [],
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://bookjump.herokuapp.com/' target='_blank'>http://bookjump.herokuapp.com/</a> y despliégalo en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver todos los libros agregados por cada usuario.",
|
||||
"<strong>Historia de usuario:</strong> Puedo agregar un nuevo libro.",
|
||||
"<strong>Historia de usuario:</strong> Puedo actualizar mi configuración para que almacene mi nombre completo, ciudad y Estado.",
|
||||
"<strong>Historia de usuario:</strong> Puedo proponer un intercambio y esperar a que algún otro usuario acepte el trato.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Administra un club de intercambio de libros"
|
||||
"translations": {
|
||||
"es": {
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://bookjump.herokuapp.com/' target='_blank'>http://bookjump.herokuapp.com/</a> y despliégalo en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Puedo ver todos los libros agregados por cada usuario.",
|
||||
"<strong>Historia de usuario:</strong> Puedo agregar un nuevo libro.",
|
||||
"<strong>Historia de usuario:</strong> Puedo actualizar mi configuración para que almacene mi nombre completo, ciudad y Estado.",
|
||||
"<strong>Historia de usuario:</strong> Puedo proponer un intercambio y esperar a que algún otro usuario acepte el trato.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c443eddfaeb5bdee",
|
||||
@ -355,22 +371,25 @@
|
||||
"tests": [],
|
||||
"type": "basejump",
|
||||
"challengeType": 4,
|
||||
"descriptionEs": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://pintech.herokuapp.com/' target='_blank'>http://pintech.herokuapp.com/</a> y despliégalo en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo acceder a mi cuenta con Twitter.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo agregar enlaces a imágenes.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo elimiar imágenes que he agregado.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo ver un muro al estilo de Pinterest con todas las imágenes para las que he agregado un enlace.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario no autenticado, puedo navegar los muros de imágenes de otros usuarios.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, si agrego una imagen corrupta, será reemplazada por una imagen predeterminada. (Puedes utilizar la detección de imágenes corruptas de jQuery)",
|
||||
"<strong>Pista:</strong> <a href='http://masonry.desandro.com/' target='_blank'>Masonry.js</a> es una librería que permite crear cuadrículas de imágenes al estilo de Pinterest.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
],
|
||||
"isRequired": true,
|
||||
"titleEs": "Crea un clon de Pinterest"
|
||||
"translations": {
|
||||
"es": {
|
||||
"description": [
|
||||
"<strong>Objetivo:</strong> Construye una aplicación de pila completa (full stack) en JavaScript que funcione de forma similar al siguiente proyecto: <a href='http://pintech.herokuapp.com/' target='_blank'>http://pintech.herokuapp.com/</a> y despliégalo en Heroku.",
|
||||
"Ten en cuenta que para cada proyecto, debes crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas cómo hacerlo, visita de nuevo <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>.",
|
||||
"Estas son las Historias de usuario que debes satisfacer para este Basejump:",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo acceder a mi cuenta con Twitter.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo agregar enlaces a imágenes.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo elimiar imágenes que he agregado.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, puedo ver un muro al estilo de Pinterest con todas las imágenes para las que he agregado un enlace.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario no autenticado, puedo navegar los muros de imágenes de otros usuarios.",
|
||||
"<strong>Historia de usuario:</strong> Como usuario autenticado, si agrego una imagen corrupta, será reemplazada por una imagen predeterminada. (Puedes utilizar la detección de imágenes corruptas de jQuery)",
|
||||
"<strong>Pista:</strong> <a href='http://masonry.desandro.com/' target='_blank'>Masonry.js</a> es una librería que permite crear cuadrículas de imágenes al estilo de Pinterest.",
|
||||
"Una vez hayas terminado de implementar estas historias de usuario, pulsa el botón de \"I've completed this challenge\" e incluye las URLs de tu repositorio GitHub y de tu aplicación corriendo en Heroku.",
|
||||
"Puedes obtener retroalimentación acerca de tu proyecto de parte de tus compañeros campistas compartiéndolo en nuestro <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Cuarto de revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -41,34 +41,38 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Guarda las revisiones de tu código por siempre con Git",
|
||||
"descriptionEs": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Pulsa el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puede escribir una descripción.",
|
||||
"Elije Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Pulsa el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Instala <code>git-it</code> usando el siguiente comando: <code>npm install -g git-it</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>git-it</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/jlord/git-it' target='_blank'>https://github.com/jlord/git-it</a>.",
|
||||
"Completa \"Get Git\"",
|
||||
"Completa \"Repository\"",
|
||||
"Completa \"Commit to it\"",
|
||||
"Completa \"Githubbin\"",
|
||||
"Completa \"Remote Control\"",
|
||||
"Completa \"Forks and Clones\"",
|
||||
"Completa \"Branches aren't just for Birds\"",
|
||||
"Completa \"It's a Small World\"",
|
||||
"Completa \"Pull, Never out of Date\"",
|
||||
"Completa \"Requesting you Pull, Please\"",
|
||||
"Completa \"Merge Tada!\"",
|
||||
"Una vez hayas terminado con este tutorial, puedes continuar con el siguiente desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Guarda las revisiones de tu código por siempre con Git",
|
||||
"description": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Pulsa el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puede escribir una descripción.",
|
||||
"Elije Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Pulsa el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Instala <code>git-it</code> usando el siguiente comando: <code>npm install -g git-it</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>git-it</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/jlord/git-it' target='_blank'>https://github.com/jlord/git-it</a>.",
|
||||
"Completa \"Get Git\"",
|
||||
"Completa \"Repository\"",
|
||||
"Completa \"Commit to it\"",
|
||||
"Completa \"Githubbin\"",
|
||||
"Completa \"Remote Control\"",
|
||||
"Completa \"Forks and Clones\"",
|
||||
"Completa \"Branches aren't just for Birds\"",
|
||||
"Completa \"It's a Small World\"",
|
||||
"Completa \"Pull, Never out of Date\"",
|
||||
"Completa \"Requesting you Pull, Please\"",
|
||||
"Completa \"Merge Tada!\"",
|
||||
"Una vez hayas terminado con este tutorial, puedes continuar con el siguiente desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -41,34 +41,38 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Guarda tus datos en MongoDB",
|
||||
"descriptionEs": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Pulsa el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Instala <code>learnyoumongo</code> usando el siguiente comando: <code>npm install learnyoumongo -g</code>",
|
||||
"Instala MongoDB usando el siguiente comando: <code>sudo apt-get install mongodb-org</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>learnyoumongo</code>",
|
||||
"Siempre que ejecutes un comando que incluya <code>mongod</code> en c9.io, asegúrate de usar la bandera <code>--nojournal</code>. Por ejemplo: <code>mongod --nojournal</code>.",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/evanlucas/learnyoumongo'>https://github.com/evanlucas/learnyoumongo</a>.",
|
||||
"Completa \"Mongod\"",
|
||||
"Completa \"Connect\"",
|
||||
"Completa \"Find\"",
|
||||
"Completa \"Find Project\"",
|
||||
"Completa \"Insert\"",
|
||||
"Completa \"Update\"",
|
||||
"Completa \"Remove\"",
|
||||
"Completa \"Count\"",
|
||||
"Completa \"Aggregate\"",
|
||||
"Una vez hayas terminado con este tutorial, puedes continuar con el siguiente desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Guarda tus datos en MongoDB",
|
||||
"description": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Pulsa el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Instala <code>learnyoumongo</code> usando el siguiente comando: <code>npm install learnyoumongo -g</code>",
|
||||
"Instala MongoDB usando el siguiente comando: <code>sudo apt-get install mongodb-org</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>learnyoumongo</code>",
|
||||
"Siempre que ejecutes un comando que incluya <code>mongod</code> en c9.io, asegúrate de usar la bandera <code>--nojournal</code>. Por ejemplo: <code>mongod --nojournal</code>.",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/evanlucas/learnyoumongo'>https://github.com/evanlucas/learnyoumongo</a>.",
|
||||
"Completa \"Mongod\"",
|
||||
"Completa \"Connect\"",
|
||||
"Completa \"Find\"",
|
||||
"Completa \"Find Project\"",
|
||||
"Completa \"Insert\"",
|
||||
"Completa \"Update\"",
|
||||
"Completa \"Remove\"",
|
||||
"Completa \"Count\"",
|
||||
"Completa \"Aggregate\"",
|
||||
"Una vez hayas terminado con este tutorial, puedes continuar con el siguiente desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -48,36 +48,40 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Administrando paquetes con NPM",
|
||||
"descriptionEs": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Pulsa el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Instala <code>how-to-npm</code> usando el siguiente comando: <code>npm install -g how-to-npm</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>how-to-npm</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Ten en mente que sólo puedes agregar etiquetas de distribución a los números de versión publicados en las lecciones 8 y 10. Si recibes un error 403 o 404, ejecuta <code>how-to-npm</code> y prueba de nuevo.",
|
||||
"Si te encuentras con algún error (bug), y crees que has comprendido el concepto del ejercicio, puedes saltarte la lección ejecutando <code>how-to-npm verify skip</code> en la terminal.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/npm/how-to-npm'>https://github.com/npm/how-to-npm</a>.",
|
||||
"Completa \"Install NPM\"",
|
||||
"Completa \"Dev Environment\"",
|
||||
"Completa \"Login\"",
|
||||
"Completa \"Start a Project\"",
|
||||
"Completa \"Install a Module\"",
|
||||
"Completa \"Listing Dependencies\"",
|
||||
"Completa \"NPM Test\"",
|
||||
"Completa \"Package Niceties\"",
|
||||
"Completa \"Publish\"",
|
||||
"Completa \"Version\"",
|
||||
"Completa \"Publish Again\"",
|
||||
"Una vez hayas completado estas lecciones, puedes saltarte el resto (que todavía requieren algunas correcciones), y continuar con el siguiente desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Administrando paquetes con NPM",
|
||||
"description": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Pulsa el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Instala <code>how-to-npm</code> usando el siguiente comando: <code>npm install -g how-to-npm</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>how-to-npm</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Ten en mente que sólo puedes agregar etiquetas de distribución a los números de versión publicados en las lecciones 8 y 10. Si recibes un error 403 o 404, ejecuta <code>how-to-npm</code> y prueba de nuevo.",
|
||||
"Si te encuentras con algún error (bug), y crees que has comprendido el concepto del ejercicio, puedes saltarte la lección ejecutando <code>how-to-npm verify skip</code> en la terminal.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/npm/how-to-npm'>https://github.com/npm/how-to-npm</a>.",
|
||||
"Completa \"Install NPM\"",
|
||||
"Completa \"Dev Environment\"",
|
||||
"Completa \"Login\"",
|
||||
"Completa \"Start a Project\"",
|
||||
"Completa \"Install a Module\"",
|
||||
"Completa \"Listing Dependencies\"",
|
||||
"Completa \"NPM Test\"",
|
||||
"Completa \"Package Niceties\"",
|
||||
"Completa \"Publish\"",
|
||||
"Completa \"Version\"",
|
||||
"Completa \"Publish Again\"",
|
||||
"Una vez hayas completado estas lecciones, puedes saltarte el resto (que todavía requieren algunas correcciones), y continuar con el siguiente desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7153d8c441eddfaeb5bdff",
|
||||
@ -112,30 +116,34 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Inicia un servidor en Node.js",
|
||||
"descriptionEs": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Haz click en el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Ejecuta el siguiente comando: <code>sudo npm install -g learnyounode</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>learnyounode</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
|
||||
"Completa \"Hello World\"",
|
||||
"Completa \"Baby Steps\"",
|
||||
"Completa \"My First I/O\"",
|
||||
"Completa \"My First Async I/O\"",
|
||||
"Completa \"Filtered LS\"",
|
||||
"Completa \"Make it Modular\"",
|
||||
"Completa \"HTTP Client\"",
|
||||
"Una vez hayas completado estas primeras siete lecciones, continúa con el siguiente desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Inicia un servidor en Node.js",
|
||||
"description": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Haz click en el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Ejecuta el siguiente comando: <code>sudo npm install -g learnyounode</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>learnyounode</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
|
||||
"Completa \"Hello World\"",
|
||||
"Completa \"Baby Steps\"",
|
||||
"Completa \"My First I/O\"",
|
||||
"Completa \"My First Async I/O\"",
|
||||
"Completa \"Filtered LS\"",
|
||||
"Completa \"Make it Modular\"",
|
||||
"Completa \"HTTP Client\"",
|
||||
"Una vez hayas completado estas primeras siete lecciones, continúa con el siguiente desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7153d8c441eddfaeb5bdfe",
|
||||
@ -156,17 +164,21 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Continuemos trabajando con servidores en Node.js",
|
||||
"descriptionEs": [
|
||||
"Sigamos con el desafío de LearnYouNode de Node School. Para este Waypoint, trabajaremos con las lecciones 11 a 13.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Regresa al espacio de trabajo que creaste en c9.io. Ahora inicia el tutorial ejecutando <code>learnyounode</code>",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
|
||||
"Completa \"HTTP Collect\"",
|
||||
"Completa \"Juggling Async\"",
|
||||
"Completa \"Time Server\"",
|
||||
"Una vez hayas completado estas tres lecciones, continúa con el siguiente desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Continuemos trabajando con servidores en Node.js",
|
||||
"description": [
|
||||
"Sigamos con el desafío de LearnYouNode de Node School. Para este Waypoint, trabajaremos con las lecciones 11 a 13.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Regresa al espacio de trabajo que creaste en c9.io. Ahora inicia el tutorial ejecutando <code>learnyounode</code>",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
|
||||
"Completa \"HTTP Collect\"",
|
||||
"Completa \"Juggling Async\"",
|
||||
"Completa \"Time Server\"",
|
||||
"Una vez hayas completado estas tres lecciones, continúa con el siguiente desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7153d8c441eddfaeb5bdfd",
|
||||
@ -187,17 +199,21 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Terminemos de trabajar con servidores en Node.js",
|
||||
"descriptionEs": [
|
||||
"Sigamos con el desafío de LearnYouNode de Node School. Para este Waypoint, trabajaremos con las lecciones 11 a 13.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Regresa al espacio de trabajo que creaste en c9.io. Ahora inicia el tutorial ejecutando <code>learnyounode</code>",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
|
||||
"Completa \"HTTP File Server\"",
|
||||
"Completa \"HTTP Uppercaserer\"",
|
||||
"Completa \"HTTP JSON API Server\"",
|
||||
"Una vez hayas completado estas tres lecciones, continúa con el último desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Terminemos de trabajar con servidores en Node.js",
|
||||
"description": [
|
||||
"Sigamos con el desafío de LearnYouNode de Node School. Para este Waypoint, trabajaremos con las lecciones 11 a 13.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Regresa al espacio de trabajo que creaste en c9.io. Ahora inicia el tutorial ejecutando <code>learnyounode</code>",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
|
||||
"Completa \"HTTP File Server\"",
|
||||
"Completa \"HTTP Uppercaserer\"",
|
||||
"Completa \"HTTP JSON API Server\"",
|
||||
"Una vez hayas completado estas tres lecciones, continúa con el último desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7153d8c441eddfaeb5bd1f",
|
||||
@ -233,31 +249,35 @@
|
||||
"tests": [],
|
||||
"type": "waypoint",
|
||||
"challengeType": 2,
|
||||
"titleEs": "Creando Web Apps con Express.js",
|
||||
"descriptionEs": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Haz click en el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Ejecuta el siguiente comando: <code>git clone https://github.com/FreeCodeCamp/fcc-expressworks.git && chmod 744 fcc-expressworks/setup.sh && fcc-expressworks/setup.sh && source ~/.profile</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>expressworks</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/azat-co/expressworks'>https://github.com/azat-co/expressworks</a>..",
|
||||
"Completa \"Hello World!\"",
|
||||
"Completa \"Static\"",
|
||||
"Completa \"Jade\" (Jade ahora se llama Pug)",
|
||||
"Completa \"Good Old Form\"",
|
||||
"Completa \"Stylish CSS\"",
|
||||
"Completa \"Param Pam Pam\"",
|
||||
"Completa \"What's In Query\"",
|
||||
"Completa \"JSON Me\"",
|
||||
"Una vez hayas completado estas lecciones, continúa con el último desafío."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Creando Web Apps con Express.js",
|
||||
"description": [
|
||||
"Haremos este desafío en Cloud 9, un poderoso editor en línea con un ambiente de trabajo Ubuntu Linux completo, corriendo totalmente en la nube.",
|
||||
"Si todavía no tienes una cuenta en Cloud 9, crea una ahora en <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
|
||||
"Abre <a href='http://c9.io' target='_blank'>http://c9.io</a> y accede a tu cuenta.",
|
||||
"Haz click en el icono \"+\" en la parte superior derecha de la página de c9.io para crear un nuevo espacio de trabajo.",
|
||||
"Dale un nombre a tu espacio de trabajo. Opcionalmente también puedes escribir una descripción.",
|
||||
"Elige Node.js entre las opciones en el área debajo del campo donde escribiste el nombre.",
|
||||
"Haz click en el botón que dice \"Create workspace\".",
|
||||
"Una vez C9 termine de cargar tu espacio de trabajo, verás una terminal en la ventana de la esquina inferior derecha. Introduce los comandos siguientes en esa ventana (no te preocupes si no entiendes por ahora qué es lo que hacen):",
|
||||
"Ejecuta el siguiente comando: <code>git clone https://github.com/FreeCodeCamp/fcc-expressworks.git && chmod 744 fcc-expressworks/setup.sh && fcc-expressworks/setup.sh && source ~/.profile</code>",
|
||||
"Ahora inicia el tutorial ejecutando <code>expressworks</code>",
|
||||
"Puedes modificar el tamaño de las ventanas en c9.io arrastrándolas por el borde.",
|
||||
"Asegúrate de que siempre te encuentres en el directorio \"workspace\" de tu proyecto. Puedes regresar a este directorio cuando quieras usando el comando: <code>cd ~/workspace</code>.",
|
||||
"Puedes ver el código fuente de este módulo de Node School en GitHub visitando <a href='https://github.com/azat-co/expressworks'>https://github.com/azat-co/expressworks</a>..",
|
||||
"Completa \"Hello World!\"",
|
||||
"Completa \"Static\"",
|
||||
"Completa \"Jade\" (Jade ahora se llama Pug)",
|
||||
"Completa \"Good Old Form\"",
|
||||
"Completa \"Stylish CSS\"",
|
||||
"Completa \"Param Pam Pam\"",
|
||||
"Completa \"What's In Query\"",
|
||||
"Completa \"JSON Me\"",
|
||||
"Una vez hayas completado estas lecciones, continúa con el último desafío."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Accessibility"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Accessibility"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Agile"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Agile"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -32,17 +32,21 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"La complejidad temporal es una forma de discutir cunto tiempo toma un algoritmo específico. Esto es útil al ajustar software para que opere tan rápido como sea posible.",
|
||||
"Cuando escribes código, debes tener en cuenta cuanto se va a demorar su ejecución. Nadie quiere crear un producto que fruste a los usuarios por su lentitud.",
|
||||
"Se habla de complejidad temporal en relación con un algoritmo, una colección de una o más funciones.",
|
||||
"La notación O mayúscula ayuda a identificar de manera específica cuando un algoritmo no 'escalaría' bien, o no funcionaría bien con una cantidad que varia de usuarios, de información o de algún otro recurso.",
|
||||
"Esto no tiene correspondencia con la ley de Moore - no importa cuando grande y rápido sea tu computador, si un algoritmo es exponencialmente ineficiente, en realidad no es utilizable.",
|
||||
"Además, pueden haber preguntas en entrevistas sobre la notación O mayúscula y de complejidad temporal.",
|
||||
"Tu empleador podrá querer saber que el código que escribes no tardará demasiado en cargar en la página de los usuarios, y el conocimiento de la notación O mayúscula muestra que reconoces esto mientras escribies tu código.",
|
||||
"Lo que esperamos que te quede de este video es que la notación O mayúscula te ayuda a identificar cuando podría haber problemas (en ocasiones problemas MAYÚSCULOS) en velocidad y memoria cuando tu sitio o aplicación crezcan."
|
||||
],
|
||||
"titleEs": "Notación O mayúscula: ¿Qué es y porque te debe interesar?"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Notación O mayúscula: ¿Qué es y porque te debe interesar?",
|
||||
"description": [
|
||||
"La complejidad temporal es una forma de discutir cunto tiempo toma un algoritmo específico. Esto es útil al ajustar software para que opere tan rápido como sea posible.",
|
||||
"Cuando escribes código, debes tener en cuenta cuanto se va a demorar su ejecución. Nadie quiere crear un producto que fruste a los usuarios por su lentitud.",
|
||||
"Se habla de complejidad temporal en relación con un algoritmo, una colección de una o más funciones.",
|
||||
"La notación O mayúscula ayuda a identificar de manera específica cuando un algoritmo no 'escalaría' bien, o no funcionaría bien con una cantidad que varia de usuarios, de información o de algún otro recurso.",
|
||||
"Esto no tiene correspondencia con la ley de Moore - no importa cuando grande y rápido sea tu computador, si un algoritmo es exponencialmente ineficiente, en realidad no es utilizable.",
|
||||
"Además, pueden haber preguntas en entrevistas sobre la notación O mayúscula y de complejidad temporal.",
|
||||
"Tu empleador podrá querer saber que el código que escribes no tardará demasiado en cargar en la página de los usuarios, y el conocimiento de la notación O mayúscula muestra que reconoces esto mientras escribies tu código.",
|
||||
"Lo que esperamos que te quede de este video es que la notación O mayúscula te ayuda a identificar cuando podría haber problemas (en ocasiones problemas MAYÚSCULOS) en velocidad y memoria cuando tu sitio o aplicación crezcan."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31517a",
|
||||
@ -84,27 +88,31 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"La complejidad en tiempo comunmente se estima contando la cantidad de operaciones elementales que un algoritmo efectua (una operación elemental es una cuya ejecución requiere una cantidad de tiempo fijo).",
|
||||
"La complejidad temporal se clasifica por la naturaleza de la función T(n) donde T representa una función matemática para el tiempo que tarda el algoritmo y n representa la cantidad de elementos sobre los que actua el algoritmo.",
|
||||
"La complejidad en el peor caso, es la que más se demoraría con una entrada válida, es la forma más comun de expresar la complejidad.",
|
||||
"Cuando discutes la notación O mayúscula, esta se refiere al peor caso.",
|
||||
"Por ejemplo, si debemos buscar elementos comunes en dos listas, haremos el cálculo suponiendo que los elementos comunes estuvieran justamente al final de cada una de las lista, para no subestimar cuando nos tomaría encontrarlos.",
|
||||
"O(1) - por ejemplo determinar si un número es par o impar, tarda lo mismo sin importar cuanta información haya o cuantos usuarios haya.",
|
||||
"O(log N) - encontrar una palabra en un diccionario (utilizando búsqueda binaria). La búsqueda binaria es un ejemplo de un tipo de algoritmo 'divide y vencerás'.",
|
||||
"O(N) - leer un libro",
|
||||
"O(N log N) - ordenar una plia de cartas (usando ordenamiento por mezcla)",
|
||||
"O(N^2) - revisar que todo lo de una lista de compras está en el carrito de compras",
|
||||
"O(infinito) - lanzar una moneda hasta que caiga cara",
|
||||
"Como regla, todo lo que sea N^2 o cualquier exponente mayor no es un buen algoritmo para un sitio con muchos usuarios.",
|
||||
"Si tu algoritmo se hace más lento de manera exponencial a medida que aumenta la entrada, querrás buscar una forma más eficiente de resolver el problema.",
|
||||
"Siempre que programes ciclos dentro de ciclos, querrás ser especialmente cuidadoso de la complejidad temporal.",
|
||||
"La hoja de copialina de la notación O mayúscula es el lugar donde mirar para clasificar tu algoritmo, como el de un 'ordenamiento por mezcla' o un 'ordenamiento rápido'.",
|
||||
"<a href='http://bigocheatsheet.com/' target='_blank'>bigocheatsheet.com/</a>",
|
||||
"El curso de Coursera de Princeton no es para débiles de corazón. Con ejemplos y prácticas en Java, este curso cubre iteración sobre los datos especifcamente algoritmos de ordenamiento y búsqueda.",
|
||||
"<a href='http://coursera.org/course/algs4partI' target='_blank'>coursera.org/course/algs4partI</a>"
|
||||
],
|
||||
"titleEs": "Notación O mayúscula: Unos pocos ejemplos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Notación O mayúscula: Unos pocos ejemplos",
|
||||
"description": [
|
||||
"La complejidad en tiempo comunmente se estima contando la cantidad de operaciones elementales que un algoritmo efectua (una operación elemental es una cuya ejecución requiere una cantidad de tiempo fijo).",
|
||||
"La complejidad temporal se clasifica por la naturaleza de la función T(n) donde T representa una función matemática para el tiempo que tarda el algoritmo y n representa la cantidad de elementos sobre los que actua el algoritmo.",
|
||||
"La complejidad en el peor caso, es la que más se demoraría con una entrada válida, es la forma más comun de expresar la complejidad.",
|
||||
"Cuando discutes la notación O mayúscula, esta se refiere al peor caso.",
|
||||
"Por ejemplo, si debemos buscar elementos comunes en dos listas, haremos el cálculo suponiendo que los elementos comunes estuvieran justamente al final de cada una de las lista, para no subestimar cuando nos tomaría encontrarlos.",
|
||||
"O(1) - por ejemplo determinar si un número es par o impar, tarda lo mismo sin importar cuanta información haya o cuantos usuarios haya.",
|
||||
"O(log N) - encontrar una palabra en un diccionario (utilizando búsqueda binaria). La búsqueda binaria es un ejemplo de un tipo de algoritmo 'divide y vencerás'.",
|
||||
"O(N) - leer un libro",
|
||||
"O(N log N) - ordenar una plia de cartas (usando ordenamiento por mezcla)",
|
||||
"O(N^2) - revisar que todo lo de una lista de compras está en el carrito de compras",
|
||||
"O(infinito) - lanzar una moneda hasta que caiga cara",
|
||||
"Como regla, todo lo que sea N^2 o cualquier exponente mayor no es un buen algoritmo para un sitio con muchos usuarios.",
|
||||
"Si tu algoritmo se hace más lento de manera exponencial a medida que aumenta la entrada, querrás buscar una forma más eficiente de resolver el problema.",
|
||||
"Siempre que programes ciclos dentro de ciclos, querrás ser especialmente cuidadoso de la complejidad temporal.",
|
||||
"La hoja de copialina de la notación O mayúscula es el lugar donde mirar para clasificar tu algoritmo, como el de un 'ordenamiento por mezcla' o un 'ordenamiento rápido'.",
|
||||
"<a href='http://bigocheatsheet.com/' target='_blank'>bigocheatsheet.com/</a>",
|
||||
"El curso de Coursera de Princeton no es para débiles de corazón. Con ejemplos y prácticas en Java, este curso cubre iteración sobre los datos especifcamente algoritmos de ordenamiento y búsqueda.",
|
||||
"<a href='http://coursera.org/course/algs4partI' target='_blank'>coursera.org/course/algs4partI</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -32,17 +32,21 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Esta es información básica y una mini-lección sobre la pestaña Elements en las herramientas de desarrollo de Chrome. Echa un vistazo a la documentación más detallada aquí: <a href='http://developers.google.com/web/tools/iterate/inspect-styles/basics' target='_blank'>developers.google.com/web/tools/iterate/inspect-styles/basics</a>",
|
||||
"Vamos a utilizar la página web mckellen.com/ por sugerencia del usuario de FreeCodeCamp kmiasko.",
|
||||
"Si pulsas con el botón derecho y seleccionas 'Inspeccionar elemento', tendrás acceso a la pestaña elements. ¡Puedes cambiar el texto, el color de fondo, el color de texto y cualquier otra propiedad CSS o elemento HTML que desees!",
|
||||
"Estos cambios no se establecen de forma automática, por lo que no debes usar el inspector como un IDE o como un lugar para crear o editar cualquier cosa que desees guardar. Puedes configurar algo que se llama 'autoría persistente' para salvar.",
|
||||
"Las reglas de CSS como cascada, herencia y otras se aplican, así que tenlo en cuenta a medida que juegas. Además, los estilos anulados se muestran con un tachado sobre ellos. ",
|
||||
"También hay que señalar que todo el código que veas en ese 'árbol' es código HTML actual, no el original que había cuando se cargó la página. Si utilizas jQuery o JavaScript para cambiar algo, esté árbol se actualizará.",
|
||||
"El relleno, los bordes y los márgenes se inspeccionan fácilmente y puedes editarlos usando la caja con colores que encontrarás al lado derecho o en la parte de abajo.",
|
||||
"Por favor, echa un vistazo a la documentación de las herramientas de desarrollo de Chrome en <a href='http://developers.google.com/web/tools/chrome-devtools/' target='_blank'>http://developers.google.com/web/tools/chrome-devtools/</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Elementos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Elementos",
|
||||
"description": [
|
||||
"Esta es información básica y una mini-lección sobre la pestaña Elements en las herramientas de desarrollo de Chrome. Echa un vistazo a la documentación más detallada aquí: <a href='http://developers.google.com/web/tools/iterate/inspect-styles/basics' target='_blank'>developers.google.com/web/tools/iterate/inspect-styles/basics</a>",
|
||||
"Vamos a utilizar la página web mckellen.com/ por sugerencia del usuario de FreeCodeCamp kmiasko.",
|
||||
"Si pulsas con el botón derecho y seleccionas 'Inspeccionar elemento', tendrás acceso a la pestaña elements. ¡Puedes cambiar el texto, el color de fondo, el color de texto y cualquier otra propiedad CSS o elemento HTML que desees!",
|
||||
"Estos cambios no se establecen de forma automática, por lo que no debes usar el inspector como un IDE o como un lugar para crear o editar cualquier cosa que desees guardar. Puedes configurar algo que se llama 'autoría persistente' para salvar.",
|
||||
"Las reglas de CSS como cascada, herencia y otras se aplican, así que tenlo en cuenta a medida que juegas. Además, los estilos anulados se muestran con un tachado sobre ellos. ",
|
||||
"También hay que señalar que todo el código que veas en ese 'árbol' es código HTML actual, no el original que había cuando se cargó la página. Si utilizas jQuery o JavaScript para cambiar algo, esté árbol se actualizará.",
|
||||
"El relleno, los bordes y los márgenes se inspeccionan fácilmente y puedes editarlos usando la caja con colores que encontrarás al lado derecho o en la parte de abajo.",
|
||||
"Por favor, echa un vistazo a la documentación de las herramientas de desarrollo de Chrome en <a href='http://developers.google.com/web/tools/chrome-devtools/' target='_blank'>http://developers.google.com/web/tools/chrome-devtools/</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315183",
|
||||
@ -71,16 +75,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"La pestaña network (red) ayuda a responder preguntas como '¿Qué elemento o parte de la página fue el más demorado?' o '¿Qué inició una petición?'",
|
||||
"El panel de red registra información detallada sobre cuánto tarda en cargar cada elemento de su página o aplicación.",
|
||||
"Cada solicitud se registra en la bitácora, que se puede encontrar en la parte inferior del panel de red.",
|
||||
"Si te fijas en la línea al lado derecho, te darás cuenta de un patrón de colores. Cada color representa un tipo diferente de contenido en la solicitud. ",
|
||||
"Cuanto más larga sea la línea de un color determinado, tanto más tiempo tomó ese tipo de contenido en la solicitud. En últimas quieres líneas cortas, y si cualquier solicitud tiene largas líneas, sabes que puede estar ralentizando la página web.",
|
||||
"Si pulsas sobre una solicitud en la bitácora, podrás obtener información más detallada.",
|
||||
"Consulta más documentación detallada aquí: <a href='http://developers.google.com/web/tools/profile-performance/network-performance/resource-loading' target='_blank'>developers.google.com/web/tools/profile-performance/network-performance/resource-loading</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: red"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: red",
|
||||
"description": [
|
||||
"La pestaña network (red) ayuda a responder preguntas como '¿Qué elemento o parte de la página fue el más demorado?' o '¿Qué inició una petición?'",
|
||||
"El panel de red registra información detallada sobre cuánto tarda en cargar cada elemento de su página o aplicación.",
|
||||
"Cada solicitud se registra en la bitácora, que se puede encontrar en la parte inferior del panel de red.",
|
||||
"Si te fijas en la línea al lado derecho, te darás cuenta de un patrón de colores. Cada color representa un tipo diferente de contenido en la solicitud. ",
|
||||
"Cuanto más larga sea la línea de un color determinado, tanto más tiempo tomó ese tipo de contenido en la solicitud. En últimas quieres líneas cortas, y si cualquier solicitud tiene largas líneas, sabes que puede estar ralentizando la página web.",
|
||||
"Si pulsas sobre una solicitud en la bitácora, podrás obtener información más detallada.",
|
||||
"Consulta más documentación detallada aquí: <a href='http://developers.google.com/web/tools/profile-performance/network-performance/resource-loading' target='_blank'>developers.google.com/web/tools/profile-performance/network-performance/resource-loading</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315182",
|
||||
@ -111,17 +119,21 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"La pestaña 'fuentes' es más útil para la depuración de JavaScript. Cuanto más grande sea tu proyecto, tanto más difícil resulta encontrar exactamente dónde se produce un problema. ",
|
||||
"Puedes seleccionar diferentes partes del código para ser 'puntos de interrupción', puestos de control que detendrán la ejecución del código en ese preciso momento. ",
|
||||
"Hay diferentes puntos de interrupción que puedes establecer, por ejemplo una línea de código específica, un evento del DOM, una petición del servidor llamada solicitud XMLHTTP, o un evento de JavaScript.",
|
||||
"Cuando estableces un punto de interrupción, el navegador detiene todo cuando llega a interpretar esa línea de código o evento.",
|
||||
"Al reducir la velocidad de todo y darte la oportunidad de examinar lo que está sucediendo en cada punto que hayas configurado, podrás controlar exactamente lo que está sucediendo en la página o aplicación.",
|
||||
"Una vez has establecido todos los puntos de interrupción, puedes recorrer el código y examinar el estado de tu página o aplicación en cada punto de interrupción.",
|
||||
"Al igual que con los elementos, puedes editar en vivo mediante las herramientas de desarrollo, pero recuerda que debes guardar esos cambios para que no pierdas tu progreso.",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/javascript/breakpoints/' target='_blank'>developers.google.com/web/tools/javascript/breakpoints/</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Fuentes"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Fuentes",
|
||||
"description": [
|
||||
"La pestaña 'fuentes' es más útil para la depuración de JavaScript. Cuanto más grande sea tu proyecto, tanto más difícil resulta encontrar exactamente dónde se produce un problema. ",
|
||||
"Puedes seleccionar diferentes partes del código para ser 'puntos de interrupción', puestos de control que detendrán la ejecución del código en ese preciso momento. ",
|
||||
"Hay diferentes puntos de interrupción que puedes establecer, por ejemplo una línea de código específica, un evento del DOM, una petición del servidor llamada solicitud XMLHTTP, o un evento de JavaScript.",
|
||||
"Cuando estableces un punto de interrupción, el navegador detiene todo cuando llega a interpretar esa línea de código o evento.",
|
||||
"Al reducir la velocidad de todo y darte la oportunidad de examinar lo que está sucediendo en cada punto que hayas configurado, podrás controlar exactamente lo que está sucediendo en la página o aplicación.",
|
||||
"Una vez has establecido todos los puntos de interrupción, puedes recorrer el código y examinar el estado de tu página o aplicación en cada punto de interrupción.",
|
||||
"Al igual que con los elementos, puedes editar en vivo mediante las herramientas de desarrollo, pero recuerda que debes guardar esos cambios para que no pierdas tu progreso.",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/javascript/breakpoints/' target='_blank'>developers.google.com/web/tools/javascript/breakpoints/</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315181",
|
||||
@ -152,17 +164,21 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"El panel Línea de tiempo te permite grabar y analizar toda la actividad en tu aplicación mientras se ejecuta. Es el mejor lugar para comenzar a investigar los problemas de rendimiento que percibas en tu aplicación. ",
|
||||
"Al igual que usas el panel de red para averiguar cuánto tiempo toman las partes de la página para comunicarse con el Internet y utilizas fuentes para averiguar dónde algo se daña, puedes utilizar la línea de tiempo para averiguar con más detalle lo que está pasando y el tiempo que tarda.",
|
||||
"En el panel línea de tiempo grabas acontecimientos con el pequeño botón circular. Puedes grabar (o capturar) pilas, perfiles js, la memoria y la presentación (CSS). ",
|
||||
"Al grabarlos (capturalos), quedan en pequeños y detallados registros que puedes organizar de muchas maneras para que se adapten a tus necesidades.",
|
||||
"Todo esto te ayudará a entender mejor lo que está pasando en el navegador, en particular cuáles eventos requieren más memoria del navegador.",
|
||||
"Cuando uses la línea de tiempo, recuerda que debes utilizar el botón 'limpiar' (clear) para iniciar la grabación y antes de cargar la página, dependiendo de lo que desees capturar.",
|
||||
"Te darás cuenta de que cuando grabas eventos JS, al pulsar en el título o en una 'llamada a una función' al lado izquierdo, te llevará al documento y a la línea de esa función en el panel de recursos. ",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/profile-performance/evaluate-performance/timeline-tool' target='_blank'>developers.google.com/web/tools/profile-performance/evaluate-performance/timeline-tool</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Línea de tiempo"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Línea de tiempo",
|
||||
"description": [
|
||||
"El panel Línea de tiempo te permite grabar y analizar toda la actividad en tu aplicación mientras se ejecuta. Es el mejor lugar para comenzar a investigar los problemas de rendimiento que percibas en tu aplicación. ",
|
||||
"Al igual que usas el panel de red para averiguar cuánto tiempo toman las partes de la página para comunicarse con el Internet y utilizas fuentes para averiguar dónde algo se daña, puedes utilizar la línea de tiempo para averiguar con más detalle lo que está pasando y el tiempo que tarda.",
|
||||
"En el panel línea de tiempo grabas acontecimientos con el pequeño botón circular. Puedes grabar (o capturar) pilas, perfiles js, la memoria y la presentación (CSS). ",
|
||||
"Al grabarlos (capturalos), quedan en pequeños y detallados registros que puedes organizar de muchas maneras para que se adapten a tus necesidades.",
|
||||
"Todo esto te ayudará a entender mejor lo que está pasando en el navegador, en particular cuáles eventos requieren más memoria del navegador.",
|
||||
"Cuando uses la línea de tiempo, recuerda que debes utilizar el botón 'limpiar' (clear) para iniciar la grabación y antes de cargar la página, dependiendo de lo que desees capturar.",
|
||||
"Te darás cuenta de que cuando grabas eventos JS, al pulsar en el título o en una 'llamada a una función' al lado izquierdo, te llevará al documento y a la línea de esa función en el panel de recursos. ",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/profile-performance/evaluate-performance/timeline-tool' target='_blank'>developers.google.com/web/tools/profile-performance/evaluate-performance/timeline-tool</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315180",
|
||||
@ -190,14 +206,18 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"El panel Perfiles te permite perfilar el tiempo de ejecución y el uso de memoria de una aplicación web o de una página. Esto se aplica principalmente a la ejecución de JavaScript en su página o aplicación. ",
|
||||
"Hay tres tipos de perfiles que se pueden recolectar: el perfil de la CPU, instantáneas de la memoria con estructura montón (Heap), y el perfil de la memoria con estructura montón. Los perfiles de memoria en estructura montón tienen más que ver con el uso de memoria, mientras que un perfil de la CPU tiene más que ver con el rendimiento de JavaScript. ",
|
||||
"Un perfilador llamado V8 se usa mientras se ejecuta el código para identificar lo que en el JavaScript toma mucho tiempo, facilitándote de esta forma optimizar tu código.",
|
||||
"Cada uno de estos perfiles se puede ver a la izquierda, y se puede tomar múltiples perfiles de cada uno. En general, la pestaña de perfiles es muy útil cuando deseas optimizar tu código. ",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/profile-performance/rendering-tools/js-execution' target='_blank'>developers.google.com/web/tools/profile-performance/rendering-tools/js-execution</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Perfiles"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Perfiles",
|
||||
"description": [
|
||||
"El panel Perfiles te permite perfilar el tiempo de ejecución y el uso de memoria de una aplicación web o de una página. Esto se aplica principalmente a la ejecución de JavaScript en su página o aplicación. ",
|
||||
"Hay tres tipos de perfiles que se pueden recolectar: el perfil de la CPU, instantáneas de la memoria con estructura montón (Heap), y el perfil de la memoria con estructura montón. Los perfiles de memoria en estructura montón tienen más que ver con el uso de memoria, mientras que un perfil de la CPU tiene más que ver con el rendimiento de JavaScript. ",
|
||||
"Un perfilador llamado V8 se usa mientras se ejecuta el código para identificar lo que en el JavaScript toma mucho tiempo, facilitándote de esta forma optimizar tu código.",
|
||||
"Cada uno de estos perfiles se puede ver a la izquierda, y se puede tomar múltiples perfiles de cada uno. En general, la pestaña de perfiles es muy útil cuando deseas optimizar tu código. ",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/profile-performance/rendering-tools/js-execution' target='_blank'>developers.google.com/web/tools/profile-performance/rendering-tools/js-execution</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31517f",
|
||||
@ -219,13 +239,17 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"El panel de Recursos te permite inspeccionar los recursos que se cargan en la página, incluyendo IndexedDB o bases de datos SQL Web, almacenamiento local y de sesión, las galletas (cookies), memoria caché de aplicaciones, imágenes, fuentes y hojas de estilo.",
|
||||
"Puedes ver y editar toda esta información dentro del navegador.",
|
||||
"A medida que vayas construyendo aplicaciones web más avanzadas, juega con el panel de recursos y verás cómo te ayudará a entender los requisitos de tu aplicación y de tu página en tiempo real.",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/iterate/manage-data/index' target='_blank'>developers.google.com/web/tools/iterate/manage-data/index</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Recursos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Recursos",
|
||||
"description": [
|
||||
"El panel de Recursos te permite inspeccionar los recursos que se cargan en la página, incluyendo IndexedDB o bases de datos SQL Web, almacenamiento local y de sesión, las galletas (cookies), memoria caché de aplicaciones, imágenes, fuentes y hojas de estilo.",
|
||||
"Puedes ver y editar toda esta información dentro del navegador.",
|
||||
"A medida que vayas construyendo aplicaciones web más avanzadas, juega con el panel de recursos y verás cómo te ayudará a entender los requisitos de tu aplicación y de tu página en tiempo real.",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/iterate/manage-data/index' target='_blank'>developers.google.com/web/tools/iterate/manage-data/index</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31517e",
|
||||
@ -254,15 +278,19 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"La herramienta de auditoría te guía para mejorar tu página paso a paso.",
|
||||
"En este vídeo, se utiliza esta herramienta con un generador de citas aleatorias desarrollado como uno de los proyectos de desarrollo de interfaces.",
|
||||
"Las sugerencias que se ven, se generan automáticamente con la función de auditoría.",
|
||||
"Es importante tenerlas en cuenta para contextualizarlos con el resto de conocimiento que tienes de tu sitio.",
|
||||
"A veces, puede ser que sea lo acertado, pero en ocasiones, por tu situación las sugerencias que da son equivocadas.",
|
||||
"Usa esta herramienta cuando desees mejorar tu sitio o aplicación, pero no sepas por dónde empezar."
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Las auditorías"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Las auditorías",
|
||||
"description": [
|
||||
"La herramienta de auditoría te guía para mejorar tu página paso a paso.",
|
||||
"En este vídeo, se utiliza esta herramienta con un generador de citas aleatorias desarrollado como uno de los proyectos de desarrollo de interfaces.",
|
||||
"Las sugerencias que se ven, se generan automáticamente con la función de auditoría.",
|
||||
"Es importante tenerlas en cuenta para contextualizarlos con el resto de conocimiento que tienes de tu sitio.",
|
||||
"A veces, puede ser que sea lo acertado, pero en ocasiones, por tu situación las sugerencias que da son equivocadas.",
|
||||
"Usa esta herramienta cuando desees mejorar tu sitio o aplicación, pero no sepas por dónde empezar."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31517d",
|
||||
@ -292,16 +320,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"El panel de la consola ofrece dos funciones principales: registro de datos de diagnóstico en el proceso de desarrollo y proporcionar un intérprete de órdenes que puedes utilizar para interactuar con el documento y las Herramientas de desarrollo",
|
||||
"Al utilizar la consola, puedes ver los datos en bruto o estructurados mediante instrucciones estándar JS y órdenes específicas para la consola.",
|
||||
"Un ejemplo de datos estructurados sería la información JSON que devuelva una API. Muy útil cuando se construyen las primeras aplicaciones de desarrollo de interfaces para FreeCodeCamp.",
|
||||
"Debes saber que los mensajes se apilan y que puedes limpiarlos escribiendo <code>clear()</code>. También puedes guardar la bitácora seleccionando 'Preserve Log'. ",
|
||||
"Hay diferentes órdenes que registrarán en bitácoras de manera diferente, como console.log() para registrar información básica, console.error() y console.warn() para registrar en bitácoras 'información llamativa'.",
|
||||
"La consola puede realizar un seguimiento de excepciones, que básicamente registra cuando algo sale mal. Puede incluso hacer una pausa en el código durante esas excepciones, función que posiblemente recuerdes de la pestaña 'Fuente'. ",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/javascript/console/' target='_blank'>developers.google.com/web/tools/javascript/console/</a>"
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Consola"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Consola",
|
||||
"description": [
|
||||
"El panel de la consola ofrece dos funciones principales: registro de datos de diagnóstico en el proceso de desarrollo y proporcionar un intérprete de órdenes que puedes utilizar para interactuar con el documento y las Herramientas de desarrollo",
|
||||
"Al utilizar la consola, puedes ver los datos en bruto o estructurados mediante instrucciones estándar JS y órdenes específicas para la consola.",
|
||||
"Un ejemplo de datos estructurados sería la información JSON que devuelva una API. Muy útil cuando se construyen las primeras aplicaciones de desarrollo de interfaces para FreeCodeCamp.",
|
||||
"Debes saber que los mensajes se apilan y que puedes limpiarlos escribiendo <code>clear()</code>. También puedes guardar la bitácora seleccionando 'Preserve Log'. ",
|
||||
"Hay diferentes órdenes que registrarán en bitácoras de manera diferente, como console.log() para registrar información básica, console.error() y console.warn() para registrar en bitácoras 'información llamativa'.",
|
||||
"La consola puede realizar un seguimiento de excepciones, que básicamente registra cuando algo sale mal. Puede incluso hacer una pausa en el código durante esas excepciones, función que posiblemente recuerdes de la pestaña 'Fuente'. ",
|
||||
"Revisa documentación más detallada aquí: <a href='http://developers.google.com/web/tools/javascript/console/' target='_blank'>developers.google.com/web/tools/javascript/console/</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31517c",
|
||||
@ -322,12 +354,16 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
", Las herramientas de desarrollo de Chrome son impresionantes, y cuanto más te puedas sumergir y tratar de utilizarlas, más rápido aumentará tu nivel. ",
|
||||
", Utiliza la documentación, incluso si nunca has leído documentación antes: <a href='http://developers.google.com/web/tools/chrome-devtools/' target='_blank'>developers.google.com/web/tools/chrome-devtools/</a> ",
|
||||
", Una vez que comiences a sentirte cómodo en una pestaña, rétate aprendiendo a usar una diferente. Trabajar eficazmente con todas las pestañas te servirá exponencialmente más que pegarte en tu zona de confort."
|
||||
],
|
||||
"titleEs": "Herramientas de desarrollo de Chrome: Resumen"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Herramientas de desarrollo de Chrome: Resumen",
|
||||
"description": [
|
||||
", Las herramientas de desarrollo de Chrome son impresionantes, y cuanto más te puedas sumergir y tratar de utilizarlas, más rápido aumentará tu nivel. ",
|
||||
", Utiliza la documentación, incluso si nunca has leído documentación antes: <a href='http://developers.google.com/web/tools/chrome-devtools/' target='_blank'>developers.google.com/web/tools/chrome-devtools/</a> ",
|
||||
", Una vez que comiences a sentirte cómodo en una pestaña, rétate aprendiendo a usar una diferente. Trabajar eficazmente con todas las pestañas te servirá exponencialmente más que pegarte en tu zona de confort."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -42,22 +42,26 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Una máquina necesita por lo menos cuatro partes básicas para ser considerada un computador.",
|
||||
"Hoy vamos a hablar acerca de conceptos básicos de hardware.",
|
||||
"Los computadores se componen de 4 partes básicas: Los dispositivos de entrada, los dispositivos de salida, la CPU y la memoria.",
|
||||
"Los dispositivos de entrada te permiten ingresar información al computador.",
|
||||
"Piensa en el ratón, teclado, micrófono, con todos estos estás ingresando información al computador.",
|
||||
"Son ejemplos de dispositivos de salida tu monitor donde ves esto, o los altavoces que producen los sonidos que escuchas.",
|
||||
"La información que entra y sale por esos dispositivos puede estar en diversos formatos como texto, números, vídeos, imágenes, lo que tengas.",
|
||||
"CPU significa unidad central de procesamiento, y es en lo que todos pensamos cuando pensamos en un computador.",
|
||||
"Es lo que lo hace funcionar, es lo que ejecuta el software, es lo que manipula los datos.",
|
||||
"La memoria es donde almacenamos los datos y la información.",
|
||||
"Ahora, la CPU tiene acceso exclusivo a esta memoria.",
|
||||
"No se puede llegar a la memoria desde la entrada o desde la salida sin el uso de la CPU.",
|
||||
"Por lo tanto, sólo para repasar, tenemos 4 partes básicas de la computadora: los dispositivos de entrada, los dispositivos de salida, la CPU y la memoria."
|
||||
],
|
||||
"titleEs": "Fundamentes básicos del computador: Las 4 partes básicas de un computador"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentes básicos del computador: Las 4 partes básicas de un computador",
|
||||
"description": [
|
||||
"Una máquina necesita por lo menos cuatro partes básicas para ser considerada un computador.",
|
||||
"Hoy vamos a hablar acerca de conceptos básicos de hardware.",
|
||||
"Los computadores se componen de 4 partes básicas: Los dispositivos de entrada, los dispositivos de salida, la CPU y la memoria.",
|
||||
"Los dispositivos de entrada te permiten ingresar información al computador.",
|
||||
"Piensa en el ratón, teclado, micrófono, con todos estos estás ingresando información al computador.",
|
||||
"Son ejemplos de dispositivos de salida tu monitor donde ves esto, o los altavoces que producen los sonidos que escuchas.",
|
||||
"La información que entra y sale por esos dispositivos puede estar en diversos formatos como texto, números, vídeos, imágenes, lo que tengas.",
|
||||
"CPU significa unidad central de procesamiento, y es en lo que todos pensamos cuando pensamos en un computador.",
|
||||
"Es lo que lo hace funcionar, es lo que ejecuta el software, es lo que manipula los datos.",
|
||||
"La memoria es donde almacenamos los datos y la información.",
|
||||
"Ahora, la CPU tiene acceso exclusivo a esta memoria.",
|
||||
"No se puede llegar a la memoria desde la entrada o desde la salida sin el uso de la CPU.",
|
||||
"Por lo tanto, sólo para repasar, tenemos 4 partes básicas de la computadora: los dispositivos de entrada, los dispositivos de salida, la CPU y la memoria."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7127d8c441eddfbeb5bddf",
|
||||
@ -97,21 +101,25 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"En este video cubrimos las funciones básicas de una placa base, tarjetas de expansión, y la fuente de poder.",
|
||||
"Vamos a revisar rápidamente - las 4 partes básicas de un computador son dispositivos de entrada, como el ratón o el teclado, dispositivos de salida, monitor o altavoces, la CPU, la unidad central de procesamiento, y la memoria.",
|
||||
"Ahora la memoria puede ser memoria a corto plazo, llamada memoria RAM, o memoria de largo plazo.",
|
||||
"Eso es por lo general un disco duro, pero también puede ser un CD-ROM o una unidad flash, o algo por el estilo.",
|
||||
"Además de esas cuatro partes básicas, trataremos tres partes más hoy: La placa base, las tarjetas de expansión, y la fuente de poder",
|
||||
"La placa base es lo que conecta todo.",
|
||||
"Si bien los datos vuelan de un lado a otro tratando de averiguar a dónde ir, la placa base que ayuda a establecer rutas para que lleguen al lugar correcto.",
|
||||
"Las tarjetas de expansión son las tarjetas de sonido, las tarjetas de vídeo, ese tipo de cosas que pueden mejorar tu experiencia como usuario.",
|
||||
"La fuente de poder es, como suena, lo que le da energía a la computadora.",
|
||||
"Por lo general es la parte que tiene un ventilador en él para evitar que se sobrecaliente.",
|
||||
"Así que vamos a hacer un repaso rápido.",
|
||||
"Además de las cuatro partes básicas dispositivos de entrada, dispositivos de salida, CPU, y la memoria, también por lo general tenemos una placa base, las tarjetas de expansión, y una fuente de poder."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Más Hardware"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Más Hardware",
|
||||
"description": [
|
||||
"En este video cubrimos las funciones básicas de una placa base, tarjetas de expansión, y la fuente de poder.",
|
||||
"Vamos a revisar rápidamente - las 4 partes básicas de un computador son dispositivos de entrada, como el ratón o el teclado, dispositivos de salida, monitor o altavoces, la CPU, la unidad central de procesamiento, y la memoria.",
|
||||
"Ahora la memoria puede ser memoria a corto plazo, llamada memoria RAM, o memoria de largo plazo.",
|
||||
"Eso es por lo general un disco duro, pero también puede ser un CD-ROM o una unidad flash, o algo por el estilo.",
|
||||
"Además de esas cuatro partes básicas, trataremos tres partes más hoy: La placa base, las tarjetas de expansión, y la fuente de poder",
|
||||
"La placa base es lo que conecta todo.",
|
||||
"Si bien los datos vuelan de un lado a otro tratando de averiguar a dónde ir, la placa base que ayuda a establecer rutas para que lleguen al lugar correcto.",
|
||||
"Las tarjetas de expansión son las tarjetas de sonido, las tarjetas de vídeo, ese tipo de cosas que pueden mejorar tu experiencia como usuario.",
|
||||
"La fuente de poder es, como suena, lo que le da energía a la computadora.",
|
||||
"Por lo general es la parte que tiene un ventilador en él para evitar que se sobrecaliente.",
|
||||
"Así que vamos a hacer un repaso rápido.",
|
||||
"Además de las cuatro partes básicas dispositivos de entrada, dispositivos de salida, CPU, y la memoria, también por lo general tenemos una placa base, las tarjetas de expansión, y una fuente de poder."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7129d8a441eddfbeb5bddf",
|
||||
@ -149,19 +157,23 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Discutiremos lo que constituye un chip y por qué la tecnología se vuelve más barata cada año.",
|
||||
"En este video vamos a estar hablando sobre chips y algo que se llama la Ley de Moore.",
|
||||
"Probablemente has notado en los últimos 10 años más o menos, que si vas a ir a comprar un reproductor de MP3, podrás obtener cada vez más espacio de almacenamiento por un precio cada vez más bajo.",
|
||||
"Es probable que incluso hayas estado en la tienda y hayas pensado, \"Bueno, puedo conseguir uno ahora, o podría esperar 6 meses y ver hasta qué punto el precio ha bajado\", lo que podría sonar ridículo pero esto es en realidad una tendencia que ha estado ocurriendo durante mucho tiempo. ",
|
||||
"Vamos a hablar de como está hecho un chip.",
|
||||
"Un chip está lleno de estas pequeñas cosas llamadas transistores, que son interruptores que pueden ser un 1 o un 0 (¿ves un tema aquí?).",
|
||||
"Todos estos transistores caben en un chip, y es así como se almacena la información.",
|
||||
"Lo que hace que estos chips sean más grandes o más rápidos es la cantidad de transistores en un solo chip.",
|
||||
"La Ley de Moore es la observación de que la cantidad de transistores que caben en un chip se ha duplicado cada dos años desde 1965.",
|
||||
"Esto es importante porque hace que la tecnología sea más económica y accesible."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Chips y la Ley de Moore"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Chips y la Ley de Moore",
|
||||
"description": [
|
||||
"Discutiremos lo que constituye un chip y por qué la tecnología se vuelve más barata cada año.",
|
||||
"En este video vamos a estar hablando sobre chips y algo que se llama la Ley de Moore.",
|
||||
"Probablemente has notado en los últimos 10 años más o menos, que si vas a ir a comprar un reproductor de MP3, podrás obtener cada vez más espacio de almacenamiento por un precio cada vez más bajo.",
|
||||
"Es probable que incluso hayas estado en la tienda y hayas pensado, \"Bueno, puedo conseguir uno ahora, o podría esperar 6 meses y ver hasta qué punto el precio ha bajado\", lo que podría sonar ridículo pero esto es en realidad una tendencia que ha estado ocurriendo durante mucho tiempo. ",
|
||||
"Vamos a hablar de como está hecho un chip.",
|
||||
"Un chip está lleno de estas pequeñas cosas llamadas transistores, que son interruptores que pueden ser un 1 o un 0 (¿ves un tema aquí?).",
|
||||
"Todos estos transistores caben en un chip, y es así como se almacena la información.",
|
||||
"Lo que hace que estos chips sean más grandes o más rápidos es la cantidad de transistores en un solo chip.",
|
||||
"La Ley de Moore es la observación de que la cantidad de transistores que caben en un chip se ha duplicado cada dos años desde 1965.",
|
||||
"Esto es importante porque hace que la tecnología sea más económica y accesible."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7126d8c441eddfbeb5bddf",
|
||||
@ -195,16 +207,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Cómo se ve lo binario, y lo que puede significar.",
|
||||
"Los 0s y 1s pueden interpretarse como datos mucho más complejos.",
|
||||
"Hoy vamos a hablar un poco sobre el código binario.",
|
||||
"El código binario es un lenguaje para el computador muy simple, donde sólo hay secuencias de 1s y 0s, que representan estado encendido o estado apagado, siendo 1 encendido y el 0 apagado.",
|
||||
"Aquellos 1s y 0s pueden ser casi cualquier cosa, pero por lo general son sólo números, letras y símbolos.",
|
||||
"Vamos a revisar cómo decodificar un número en binario, pero como podrás adivinar, la traducción binaria se puede hacer con una rápida búsqueda en Google.",
|
||||
"La parte más importante de esto es que entiendas el concepto de que incluso cosas simples como 1s y 0s se pueden traducir en algo muy complejo, que es la base para todos los lenguajes de programación existentes en la actualidad."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Introducción a código binario"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Introducción a código binario",
|
||||
"description": [
|
||||
"Cómo se ve lo binario, y lo que puede significar.",
|
||||
"Los 0s y 1s pueden interpretarse como datos mucho más complejos.",
|
||||
"Hoy vamos a hablar un poco sobre el código binario.",
|
||||
"El código binario es un lenguaje para el computador muy simple, donde sólo hay secuencias de 1s y 0s, que representan estado encendido o estado apagado, siendo 1 encendido y el 0 apagado.",
|
||||
"Aquellos 1s y 0s pueden ser casi cualquier cosa, pero por lo general son sólo números, letras y símbolos.",
|
||||
"Vamos a revisar cómo decodificar un número en binario, pero como podrás adivinar, la traducción binaria se puede hacer con una rápida búsqueda en Google.",
|
||||
"La parte más importante de esto es que entiendas el concepto de que incluso cosas simples como 1s y 0s se pueden traducir en algo muy complejo, que es la base para todos los lenguajes de programación existentes en la actualidad."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7125d8c441eddfbeb5bddf",
|
||||
@ -240,18 +256,22 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"En este vídeo, decodificaremos un número escrito en notación binaria.",
|
||||
"Hablemos sobre el sistema de numeración binario, también conocido como un montón de 1s y 0s una y otra vez.",
|
||||
"Vamos a empezar por la numeración de las posiciones, observando de atrás hacia adelante, comenzando en 0 hasta llegar a la cantidad de dígitos del número menos uno.",
|
||||
"(En este video hay 7, pero como comenzamos a numerar en 0, llegamos hasta 6.) Muy claro.",
|
||||
"El siguiente paso es tomar 2 a la potencia de la posición, un 2 a la 0, 2 a la 1, y así sucesivamente hasta la posición de mayor numeración.",
|
||||
"Entonces, todo lo que tenemos que hacer es llenar algunos espacios en blanco completando las potencias de 2.",
|
||||
"Si hay un 1, dejamos el número (2 a la potencia de la posición) y lo agregamos a los números de otras posiciones que estén en \"1\" o \"encendidas\".",
|
||||
"Si es un 0, hacemos caso omiso del número de esa posición.",
|
||||
"En este video, la suma de los números da 75."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: decodificar un número binario"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: decodificar un número binario",
|
||||
"description": [
|
||||
"En este vídeo, decodificaremos un número escrito en notación binaria.",
|
||||
"Hablemos sobre el sistema de numeración binario, también conocido como un montón de 1s y 0s una y otra vez.",
|
||||
"Vamos a empezar por la numeración de las posiciones, observando de atrás hacia adelante, comenzando en 0 hasta llegar a la cantidad de dígitos del número menos uno.",
|
||||
"(En este video hay 7, pero como comenzamos a numerar en 0, llegamos hasta 6.) Muy claro.",
|
||||
"El siguiente paso es tomar 2 a la potencia de la posición, un 2 a la 0, 2 a la 1, y así sucesivamente hasta la posición de mayor numeración.",
|
||||
"Entonces, todo lo que tenemos que hacer es llenar algunos espacios en blanco completando las potencias de 2.",
|
||||
"Si hay un 1, dejamos el número (2 a la potencia de la posición) y lo agregamos a los números de otras posiciones que estén en \"1\" o \"encendidas\".",
|
||||
"Si es un 0, hacemos caso omiso del número de esa posición.",
|
||||
"En este video, la suma de los números da 75."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7122d8c441eddfbeb5bddf",
|
||||
@ -285,16 +305,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"En binario se puede hacer más que representar números - mediante bytes, puede simbolizar todos los símbolos alfanuméricos, los cuales pueden ser interpretados en códigos más complejos",
|
||||
"Vamos a hablar sobre el nivel más básico que un computador puede comprender otros lenguajes como JavaScript.",
|
||||
"Lo más básico es un bit, arriba o abajo, 1 ó 0.",
|
||||
"Después de eso hay un byte de 8 bits.",
|
||||
"Todos los números (255 y menos), las letras y símbolos se pueden traducir en bytes que el computador puede entender.",
|
||||
"Por lo tanto, todos los números, letras y símbolos en su código JavaScript se puede traducir.",
|
||||
"Hay una gran cantidad de lenguajes con los cuales los computadores pueden operar, y lo que quiero que te quede de este video es que todos los datos en tu computador se reducen a bytes binarios."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Bytes en binario"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Bytes en binario",
|
||||
"description": [
|
||||
"En binario se puede hacer más que representar números - mediante bytes, puede simbolizar todos los símbolos alfanuméricos, los cuales pueden ser interpretados en códigos más complejos",
|
||||
"Vamos a hablar sobre el nivel más básico que un computador puede comprender otros lenguajes como JavaScript.",
|
||||
"Lo más básico es un bit, arriba o abajo, 1 ó 0.",
|
||||
"Después de eso hay un byte de 8 bits.",
|
||||
"Todos los números (255 y menos), las letras y símbolos se pueden traducir en bytes que el computador puede entender.",
|
||||
"Por lo tanto, todos los números, letras y símbolos en su código JavaScript se puede traducir.",
|
||||
"Hay una gran cantidad de lenguajes con los cuales los computadores pueden operar, y lo que quiero que te quede de este video es que todos los datos en tu computador se reducen a bytes binarios."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7124d8c441eddfbeb5bddf",
|
||||
@ -333,21 +357,25 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"¿Cómo se mide el tamaño/cantidad de datos, a partir de un bit y continuando hasta un petabyte.",
|
||||
"Hoy vamos a estar hablando de tamaño de los datos.",
|
||||
"El tamaño más pequeño que podemos tener se llama un <em>bit</em>.",
|
||||
"Ese bit sólo puede ser un 1 o un 0, y se refiere a la codificación binaria de la que hemos estado hablando.",
|
||||
"Después de eso, tenemos un <em>nibble</em>, que consta de 4 bits, que no es común, pero es adorable.",
|
||||
"El <em>byte</em>, que es muy común, se trata de 8 bits.",
|
||||
"Una gran cantidad de cosas se expresan en bytes binarios.",
|
||||
"Después de pasar por el bit y el byte, empezamos a crecer en tamaño realmente rápido.",
|
||||
"El siguiente paso es un kilobyte, 1024 bytes, o 8192 bits.",
|
||||
"Después de eso no hay Megabyte, o 1024 bytes a la potencia de dos.",
|
||||
"Entonces es Gigabyte, 1024 Bytes a la tercera potencia; Terabyte, 1024 bytes a la cuarta potencia y petabyte que es 1024 a la quinta potencia.",
|
||||
"!Crecieron realmente rápidamente!"
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Cómo medir el tamaño de los datos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Cómo medir el tamaño de los datos",
|
||||
"description": [
|
||||
"¿Cómo se mide el tamaño/cantidad de datos, a partir de un bit y continuando hasta un petabyte.",
|
||||
"Hoy vamos a estar hablando de tamaño de los datos.",
|
||||
"El tamaño más pequeño que podemos tener se llama un <em>bit</em>.",
|
||||
"Ese bit sólo puede ser un 1 o un 0, y se refiere a la codificación binaria de la que hemos estado hablando.",
|
||||
"Después de eso, tenemos un <em>nibble</em>, que consta de 4 bits, que no es común, pero es adorable.",
|
||||
"El <em>byte</em>, que es muy común, se trata de 8 bits.",
|
||||
"Una gran cantidad de cosas se expresan en bytes binarios.",
|
||||
"Después de pasar por el bit y el byte, empezamos a crecer en tamaño realmente rápido.",
|
||||
"El siguiente paso es un kilobyte, 1024 bytes, o 8192 bits.",
|
||||
"Después de eso no hay Megabyte, o 1024 bytes a la potencia de dos.",
|
||||
"Entonces es Gigabyte, 1024 Bytes a la tercera potencia; Terabyte, 1024 bytes a la cuarta potencia y petabyte que es 1024 a la quinta potencia.",
|
||||
"!Crecieron realmente rápidamente!"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7123d8c441eddfbeb5bddf",
|
||||
@ -381,20 +409,24 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"La velocidad de datos y el tamaño de los datos se miden de manera diferente.",
|
||||
"En este video, cubrimos cómo se mide la velocidad de los datos.",
|
||||
"Hablemos sobre la velocidad de datos.",
|
||||
"La velocidad de datos, a diferencia de tamaño de los datos, por lo general se mide en bits por segundo, mientras que el tamaño se mide en bits.",
|
||||
"Una vez que empecemos a hablar de forma exponencial, esto hará una gran diferencia.",
|
||||
"Cuando hablemos de velocidad dependerá del contexto al que nos refiramos.",
|
||||
"En descarga de audio, hablamos de kilobits por segundo.",
|
||||
"En Internet, utilizamos megabits por segundo.",
|
||||
"En la velocidad de red, hablamos de gigabits por segundo (¡mil millones de bits por segundo!).",
|
||||
"La conclusión principal es que la velocidad se mide generalmente en bits por segundo mientras que el tamaño se mide en bytes.",
|
||||
"Además, si tienes una velocidad de internet de cierta cantidad de bits por segundo, ten en cuenta que te están hablando de algo que es la octava parte de la cantidad en bytes, que es la manera típica como mides tamaños de datos."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: medición de la velocidad de datos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: medición de la velocidad de datos",
|
||||
"description": [
|
||||
"La velocidad de datos y el tamaño de los datos se miden de manera diferente.",
|
||||
"En este video, cubrimos cómo se mide la velocidad de los datos.",
|
||||
"Hablemos sobre la velocidad de datos.",
|
||||
"La velocidad de datos, a diferencia de tamaño de los datos, por lo general se mide en bits por segundo, mientras que el tamaño se mide en bits.",
|
||||
"Una vez que empecemos a hablar de forma exponencial, esto hará una gran diferencia.",
|
||||
"Cuando hablemos de velocidad dependerá del contexto al que nos refiramos.",
|
||||
"En descarga de audio, hablamos de kilobits por segundo.",
|
||||
"En Internet, utilizamos megabits por segundo.",
|
||||
"En la velocidad de red, hablamos de gigabits por segundo (¡mil millones de bits por segundo!).",
|
||||
"La conclusión principal es que la velocidad se mide generalmente en bits por segundo mientras que el tamaño se mide en bytes.",
|
||||
"Además, si tienes una velocidad de internet de cierta cantidad de bits por segundo, ten en cuenta que te están hablando de algo que es la octava parte de la cantidad en bytes, que es la manera típica como mides tamaños de datos."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7121d8c441eddfbeb5bddf",
|
||||
@ -433,21 +465,25 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Este video cubre los conceptos básicos de los supercomputadores, servidores, estaciones de trabajo, PC y microcontroladores.",
|
||||
"Vamos a discutir los diferentes tipos de computadores.",
|
||||
"El tipo más grande se llama un super computador, un computador con muchas CPUs que trabajan en el mismo problema, al mismo tiempo usando una técnica llamada de procesamiento en paralelo.",
|
||||
"El siguiente tipo se llama un servidor.",
|
||||
"Un servidor guarda y accede a una gran cantidad de datos o programas.",
|
||||
"FreeCodeCamp se encuentra alojado en un servidor que almacena toda esa información.",
|
||||
"Vamos a hablar ahora acerca de una estación de trabajo - un equipo que puede ser similar a un computador personal, pero mucho más potente y costoso.",
|
||||
"Toy Story fue construido en estaciones de trabajo.",
|
||||
"Ahora, los computadores personales son, por mucho, los más comunes.",
|
||||
"Tal vez has oído \"¡Soy un Mac!\" o \"¡Soy un PC!\", Algo que indica que son diferentes, pero en realidad mi propio MacBook personal sigue siendo un PC, un computador personal.",
|
||||
"Es a la vez un Mac y un PC.",
|
||||
"El último tipo de equipo del que hablaremos es un microcontrolador, el tipo de equipo que puedes tener en tu carro que es realmente bueno en una pequeña tarea especializada, pero no se utilizaría la misma forma que un PC."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Tipos de Computadores"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Tipos de Computadores",
|
||||
"description": [
|
||||
"Este video cubre los conceptos básicos de los supercomputadores, servidores, estaciones de trabajo, PC y microcontroladores.",
|
||||
"Vamos a discutir los diferentes tipos de computadores.",
|
||||
"El tipo más grande se llama un super computador, un computador con muchas CPUs que trabajan en el mismo problema, al mismo tiempo usando una técnica llamada de procesamiento en paralelo.",
|
||||
"El siguiente tipo se llama un servidor.",
|
||||
"Un servidor guarda y accede a una gran cantidad de datos o programas.",
|
||||
"FreeCodeCamp se encuentra alojado en un servidor que almacena toda esa información.",
|
||||
"Vamos a hablar ahora acerca de una estación de trabajo - un equipo que puede ser similar a un computador personal, pero mucho más potente y costoso.",
|
||||
"Toy Story fue construido en estaciones de trabajo.",
|
||||
"Ahora, los computadores personales son, por mucho, los más comunes.",
|
||||
"Tal vez has oído \"¡Soy un Mac!\" o \"¡Soy un PC!\", Algo que indica que son diferentes, pero en realidad mi propio MacBook personal sigue siendo un PC, un computador personal.",
|
||||
"Es a la vez un Mac y un PC.",
|
||||
"El último tipo de equipo del que hablaremos es un microcontrolador, el tipo de equipo que puedes tener en tu carro que es realmente bueno en una pequeña tarea especializada, pero no se utilizaría la misma forma que un PC."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7120d8c441eddfbeb5bddf",
|
||||
@ -488,23 +524,27 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Un poco más de detalle sobre lo que constituye una placa base y sus funciones estándar en un computador.",
|
||||
"Hoy vamos a hablar más sobre la placa base.",
|
||||
"La hemos mencionado brevemente en videos anteriores, pero vamos a dar algunos detalles más hoy.",
|
||||
"Lo que hace una placa base es la conexión entre la CPU y la memoria - si no lo hace, no es una placa base.",
|
||||
"Sin embargo, la mayoría de placas base hacen mucho más que eso.",
|
||||
"En primer lugar, tienen ranuras de expansión y puertos.",
|
||||
"Las ranuras de expansión es donde pones tarjetas de expansión que aumentan el rendimiento o la funcionalidad de un equipo sin poner más carga en la CPU.",
|
||||
"Por ejemplo, una tarjeta graficadora o una tarjeta de sonido mejora la experiencia del usuario con más calidad de vídeo o de sonido o vídeo, pero sin hacer más lento el computador.",
|
||||
"Una tarjeta de red también puede ir en una ranura de expansión.",
|
||||
"Esto ayudaría a tu computador a conectarse a las redes de alrededor, algo de lo que hablaremos más en los próximos vídeos.",
|
||||
"Las tarjetas ExpressCard se encuentran principalmente en computadores portátiles, y están prevalenciendo debido a su tamaño más pequeño.",
|
||||
"Además de las ranuras de expansión, las placas base tienen puertos.",
|
||||
"En tu computador, probablemente sabes que hay un lugar para conectar USB, FireWire, tarjeta SD, Ethernet, e incluso un plug-in de audio para escuchar a través de auriculares.",
|
||||
"Todos estos son considerados puertos, un lugar en la placa base donde puedes conectar la CPU a algun dispositivo externo bien para obtener o para dar información."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Más sobre la placa base"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Más sobre la placa base",
|
||||
"description": [
|
||||
"Un poco más de detalle sobre lo que constituye una placa base y sus funciones estándar en un computador.",
|
||||
"Hoy vamos a hablar más sobre la placa base.",
|
||||
"La hemos mencionado brevemente en videos anteriores, pero vamos a dar algunos detalles más hoy.",
|
||||
"Lo que hace una placa base es la conexión entre la CPU y la memoria - si no lo hace, no es una placa base.",
|
||||
"Sin embargo, la mayoría de placas base hacen mucho más que eso.",
|
||||
"En primer lugar, tienen ranuras de expansión y puertos.",
|
||||
"Las ranuras de expansión es donde pones tarjetas de expansión que aumentan el rendimiento o la funcionalidad de un equipo sin poner más carga en la CPU.",
|
||||
"Por ejemplo, una tarjeta graficadora o una tarjeta de sonido mejora la experiencia del usuario con más calidad de vídeo o de sonido o vídeo, pero sin hacer más lento el computador.",
|
||||
"Una tarjeta de red también puede ir en una ranura de expansión.",
|
||||
"Esto ayudaría a tu computador a conectarse a las redes de alrededor, algo de lo que hablaremos más en los próximos vídeos.",
|
||||
"Las tarjetas ExpressCard se encuentran principalmente en computadores portátiles, y están prevalenciendo debido a su tamaño más pequeño.",
|
||||
"Además de las ranuras de expansión, las placas base tienen puertos.",
|
||||
"En tu computador, probablemente sabes que hay un lugar para conectar USB, FireWire, tarjeta SD, Ethernet, e incluso un plug-in de audio para escuchar a través de auriculares.",
|
||||
"Todos estos son considerados puertos, un lugar en la placa base donde puedes conectar la CPU a algun dispositivo externo bien para obtener o para dar información."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd712fd8c441eddfbeb5bddf",
|
||||
@ -545,22 +585,26 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Este video cubre los conceptos básicos de redes de área local, redes de área amplia y redes privadas virtuales.",
|
||||
"En este vídeo se habla de redes de datos.",
|
||||
"Usted ha oído hablar de las redes, como una red de agua, red de carreteras, red de telefonía celular, o red de televisión.",
|
||||
"Hoy hablaremos de redes de datos, que son las redes que utilizan los computadores.",
|
||||
"Los tres tipos que vamos a cubrir son la red de área local (LAN), la red de área extensa (WAN), y la red privada virtual (VPN).",
|
||||
"Una LAN es sólo un pequeño grupo de computadores que están conectados entre sí.",
|
||||
"Lo más importante acerca de una LAN es que esos equipos están cercmuy juntas.",
|
||||
"Por lo tanto, si estás usando WiFi en Starbucks o en su escuela, es probable que estés utilizando una LAN a la que sólo puedes conectarte si estás físicamente cerca.",
|
||||
"Una WAN (Wide Area Network) es dos o más LANs que están conectados a través de grandes distancias.",
|
||||
"Por ejemplo, tal vez una escuela en Colorado quiere conectarse a una escuela en Missouri.",
|
||||
"Podrían utilizar una WAN.",
|
||||
"Podrías pensar que estas es posible conectarlas usando Internet, y en el caso de una VPN (red privada virtual, que conceptualmente es básicamente lo mismo que una una WAN), tendrías la razón.",
|
||||
"Sin embargo, por lo general una WAN alquila un cable de una empresa de Internet para crear la conexión."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Redes de datos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Redes de datos",
|
||||
"description": [
|
||||
"Este video cubre los conceptos básicos de redes de área local, redes de área amplia y redes privadas virtuales.",
|
||||
"En este vídeo se habla de redes de datos.",
|
||||
"Usted ha oído hablar de las redes, como una red de agua, red de carreteras, red de telefonía celular, o red de televisión.",
|
||||
"Hoy hablaremos de redes de datos, que son las redes que utilizan los computadores.",
|
||||
"Los tres tipos que vamos a cubrir son la red de área local (LAN), la red de área extensa (WAN), y la red privada virtual (VPN).",
|
||||
"Una LAN es sólo un pequeño grupo de computadores que están conectados entre sí.",
|
||||
"Lo más importante acerca de una LAN es que esos equipos están cercmuy juntas.",
|
||||
"Por lo tanto, si estás usando WiFi en Starbucks o en su escuela, es probable que estés utilizando una LAN a la que sólo puedes conectarte si estás físicamente cerca.",
|
||||
"Una WAN (Wide Area Network) es dos o más LANs que están conectados a través de grandes distancias.",
|
||||
"Por ejemplo, tal vez una escuela en Colorado quiere conectarse a una escuela en Missouri.",
|
||||
"Podrían utilizar una WAN.",
|
||||
"Podrías pensar que estas es posible conectarlas usando Internet, y en el caso de una VPN (red privada virtual, que conceptualmente es básicamente lo mismo que una una WAN), tendrías la razón.",
|
||||
"Sin embargo, por lo general una WAN alquila un cable de una empresa de Internet para crear la conexión."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd712ed8c441eddfbeb5bddf",
|
||||
@ -594,21 +638,25 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Cada dispositivo tiene una dirección IP.",
|
||||
"Las direcciones IP se asignan en función de la ubicación, y son vitales para que Internet funcione.",
|
||||
"Vamos a hablar sobre Internet: Parte 1, Cómo funciona Internet.",
|
||||
"Para saber cómo funciona Internet, vamos a hablar primero de direcciones IP.",
|
||||
"Puedes estar familiarizado con el hecho de que cada uno de los dispositivos tiene su propia dirección IP, como una casa o un apartamento tienen su propia dirección.",
|
||||
"En Internet no es posible enviar datos a un dispositivo a menos que este tenga una dirección IP.",
|
||||
"No sólo el dispositivo debe tener una IP, sino también el módem, el enrutador, y cada dispositivo intermedio en el camino entre el emisor y el receptor, como veremos más adelante.",
|
||||
"Las direcciones IP se determinan en función de la ubicación, comenzando con 5 regiones internacionales grandes.",
|
||||
"De izquierda a derecha, los números significan algo específico acerca de su ubicación.",
|
||||
"Este número no es lo suficientemente específico como para que llames al 911, les des tu dirección IP, y así les permitas saber donde vives.",
|
||||
"Sin embargo, es lo suficientemente específico como para buscar en Google \"¿Dónde está el mejor helado cerca de mí\" y Google podría darte información cercana a tu ubicación.",
|
||||
"Esto se hace utilizando tu dirección IP."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Direcciones IP"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Direcciones IP",
|
||||
"description": [
|
||||
"Cada dispositivo tiene una dirección IP.",
|
||||
"Las direcciones IP se asignan en función de la ubicación, y son vitales para que Internet funcione.",
|
||||
"Vamos a hablar sobre Internet: Parte 1, Cómo funciona Internet.",
|
||||
"Para saber cómo funciona Internet, vamos a hablar primero de direcciones IP.",
|
||||
"Puedes estar familiarizado con el hecho de que cada uno de los dispositivos tiene su propia dirección IP, como una casa o un apartamento tienen su propia dirección.",
|
||||
"En Internet no es posible enviar datos a un dispositivo a menos que este tenga una dirección IP.",
|
||||
"No sólo el dispositivo debe tener una IP, sino también el módem, el enrutador, y cada dispositivo intermedio en el camino entre el emisor y el receptor, como veremos más adelante.",
|
||||
"Las direcciones IP se determinan en función de la ubicación, comenzando con 5 regiones internacionales grandes.",
|
||||
"De izquierda a derecha, los números significan algo específico acerca de su ubicación.",
|
||||
"Este número no es lo suficientemente específico como para que llames al 911, les des tu dirección IP, y así les permitas saber donde vives.",
|
||||
"Sin embargo, es lo suficientemente específico como para buscar en Google \"¿Dónde está el mejor helado cerca de mí\" y Google podría darte información cercana a tu ubicación.",
|
||||
"Esto se hace utilizando tu dirección IP."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd712dd8c441eddfbeb5bddf",
|
||||
@ -644,22 +692,26 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Esta es una descripción breve y descripción de cómo funciona Internet.",
|
||||
"Para una explicación más en profundidad, dale un vistazo a <a href='http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm' target='_blank'>web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm</a>.",
|
||||
"Vamos a hablar un poco más acerca de cómo funciona el Internet.",
|
||||
"Ya hemos establecido que todos los dispositivos y enrutadores en Internet tienen su propia dirección IP, que se asigna en función de la ubicación.",
|
||||
"Usando estas direcciones IP, tu dispositivo puede hablar con tu módem, y después con un enrutador, el cual debió ser configurado por ejemplo con un servicio web con el que te intentas conectar.",
|
||||
"El enrutador acudiría al servidor de nombres de dominio, enviando una petición.",
|
||||
"Ese servidor retornaría la información solicitada, que a su vez regresaría a tu dispositivo.",
|
||||
"Podrías pensar que algo así es falible; si un paso falla, el proceso entero falla.",
|
||||
"Pero en realidad, hay tantos enrutadores y tantas rutas que si incluso una gran parte se apaga, esta en realidad no afectará la funcionalidad.",
|
||||
"Es realmente increíble.",
|
||||
"Lo que quiero que te lleves de este video es que tu dispositivo, que tiene una dirección IP, puede enviar una petición de información, y que esa información regresará a tu dispositivo por medio de servidores y enrutadores que componen el Internet.",
|
||||
"Ahora bien, esta explicación es realmente básica.",
|
||||
"Para obtener más información, echa un vistazo a <a href='http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm' target='_blank'>web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm</a>."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: ¿Cómo funciona Internet"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: ¿Cómo funciona Internet",
|
||||
"description": [
|
||||
"Esta es una descripción breve y descripción de cómo funciona Internet.",
|
||||
"Para una explicación más en profundidad, dale un vistazo a <a href='http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm' target='_blank'>web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm</a>.",
|
||||
"Vamos a hablar un poco más acerca de cómo funciona el Internet.",
|
||||
"Ya hemos establecido que todos los dispositivos y enrutadores en Internet tienen su propia dirección IP, que se asigna en función de la ubicación.",
|
||||
"Usando estas direcciones IP, tu dispositivo puede hablar con tu módem, y después con un enrutador, el cual debió ser configurado por ejemplo con un servicio web con el que te intentas conectar.",
|
||||
"El enrutador acudiría al servidor de nombres de dominio, enviando una petición.",
|
||||
"Ese servidor retornaría la información solicitada, que a su vez regresaría a tu dispositivo.",
|
||||
"Podrías pensar que algo así es falible; si un paso falla, el proceso entero falla.",
|
||||
"Pero en realidad, hay tantos enrutadores y tantas rutas que si incluso una gran parte se apaga, esta en realidad no afectará la funcionalidad.",
|
||||
"Es realmente increíble.",
|
||||
"Lo que quiero que te lleves de este video es que tu dispositivo, que tiene una dirección IP, puede enviar una petición de información, y que esa información regresará a tu dispositivo por medio de servidores y enrutadores que componen el Internet.",
|
||||
"Ahora bien, esta explicación es realmente básica.",
|
||||
"Para obtener más información, echa un vistazo a <a href='http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm' target='_blank'>web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm</a>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd712cd8c441eddfbeb5bddf",
|
||||
@ -685,17 +737,21 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Diferenciamos entre hardware y software, y también discutimos las diferencias entre el sistema operativo y el software de aplicación.",
|
||||
"En este video, vamos a discutir los fundamentos del software.",
|
||||
"Ya hemos cubierto hardware, que son las partes del computador que puedes ver y sentir con tus manos.",
|
||||
"El software es el programa o los programas que se ejecutan en el hardware.",
|
||||
"El software es el código que queda escrito y se ejecuta en el hardware.",
|
||||
"Los dos tipos de software de los cuales vamos a hablar hoy son el sistema operativo y las aplicaciones.",
|
||||
"Hay tres sistemas operativos principales: Windows, Mac y Linux.",
|
||||
"Las aplicaciones comprenden el resto del software, como tu navegador web, juegos, cosas como Photoshop, con lo que ves tu correo, o con lo que editas documentos, etc."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Software"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Software",
|
||||
"description": [
|
||||
"Diferenciamos entre hardware y software, y también discutimos las diferencias entre el sistema operativo y el software de aplicación.",
|
||||
"En este video, vamos a discutir los fundamentos del software.",
|
||||
"Ya hemos cubierto hardware, que son las partes del computador que puedes ver y sentir con tus manos.",
|
||||
"El software es el programa o los programas que se ejecutan en el hardware.",
|
||||
"El software es el código que queda escrito y se ejecuta en el hardware.",
|
||||
"Los dos tipos de software de los cuales vamos a hablar hoy son el sistema operativo y las aplicaciones.",
|
||||
"Hay tres sistemas operativos principales: Windows, Mac y Linux.",
|
||||
"Las aplicaciones comprenden el resto del software, como tu navegador web, juegos, cosas como Photoshop, con lo que ves tu correo, o con lo que editas documentos, etc."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31510f",
|
||||
@ -729,20 +785,24 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Una red de distribución de contenido (del inglés <em>Content Delivery Network</em>) es un sistema (red) de servidores distribuidos que sirven páginas web y otros contenidos web a los usuarios en función de su ubicación geográfica, el origen de la página web y un servidor de entrega de contenido.",
|
||||
"El objetivo de una RDC (CDN) es establecer conexiones de red de mayor calidad.",
|
||||
"Las RDC logran esto proporcionando rutas eficaces entre sus propios servidores que pueden encaminar rápidamente a los usuarios a sus destinos, o si resulta más rápido o económico, a otra copia del sitio web destino, la cual se aloja en otro servidor.",
|
||||
"Este concepto y tipo de servicio no es nuevo, pero es cada vez más popular a medida que crece Internet.",
|
||||
"Los sitios web contratan y pagan un servicio a las RDC, quienes a su vez le pagan a proveedores de Internet para utilizar sus servidores y almacenar en estos sus datos.",
|
||||
"Un ejemplo de CDN son las Bibliotecas alojadas de Google - <a href='http://developers.google.com/speed/libraries/#jquery' target='_blank'>developers.google.com/speed/libraries/#jquery</a>",
|
||||
"Google organiza estas bibliotecas para que tus usuarios puedan cargarlas en tus propios sitio web mucho más rápido que si las alojaras tu mismo.",
|
||||
"Hay incluso una posibilidad de que el navegador del usuario le presente una copia en `caché' (almacenamiento local temporal) realizada durante una visita previa, haciendo que el proceso sea aún más rápido. Si no estás familiarizado con el término 'caché', no te preocupes, vamos a cubrirlo en videos futuros. ",
|
||||
"Como usuario, es probable que utilices RDC todo el tiempo sin darte cuenta.",
|
||||
"Como desarrollador, es posible que desees utilizar RDCs como las bibliotecas de Google para ayudar a que tu página cargue más rápido.",
|
||||
"Como empresa, una RDC sería útil si quieres que tu producto o sitio llegue a los usuarios de manera más eficiente en el esquema más grande de su red y en Internet en su conjunto."
|
||||
],
|
||||
"titleEs": "Fundamentos básicos del computador: Redes de distribución de contenido"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Fundamentos básicos del computador: Redes de distribución de contenido",
|
||||
"description": [
|
||||
"Una red de distribución de contenido (del inglés <em>Content Delivery Network</em>) es un sistema (red) de servidores distribuidos que sirven páginas web y otros contenidos web a los usuarios en función de su ubicación geográfica, el origen de la página web y un servidor de entrega de contenido.",
|
||||
"El objetivo de una RDC (CDN) es establecer conexiones de red de mayor calidad.",
|
||||
"Las RDC logran esto proporcionando rutas eficaces entre sus propios servidores que pueden encaminar rápidamente a los usuarios a sus destinos, o si resulta más rápido o económico, a otra copia del sitio web destino, la cual se aloja en otro servidor.",
|
||||
"Este concepto y tipo de servicio no es nuevo, pero es cada vez más popular a medida que crece Internet.",
|
||||
"Los sitios web contratan y pagan un servicio a las RDC, quienes a su vez le pagan a proveedores de Internet para utilizar sus servidores y almacenar en estos sus datos.",
|
||||
"Un ejemplo de CDN son las Bibliotecas alojadas de Google - <a href='http://developers.google.com/speed/libraries/#jquery' target='_blank'>developers.google.com/speed/libraries/#jquery</a>",
|
||||
"Google organiza estas bibliotecas para que tus usuarios puedan cargarlas en tus propios sitio web mucho más rápido que si las alojaras tu mismo.",
|
||||
"Hay incluso una posibilidad de que el navegador del usuario le presente una copia en `caché' (almacenamiento local temporal) realizada durante una visita previa, haciendo que el proceso sea aún más rápido. Si no estás familiarizado con el término 'caché', no te preocupes, vamos a cubrirlo en videos futuros. ",
|
||||
"Como usuario, es probable que utilices RDC todo el tiempo sin darte cuenta.",
|
||||
"Como desarrollador, es posible que desees utilizar RDCs como las bibliotecas de Google para ayudar a que tu página cargue más rápido.",
|
||||
"Como empresa, una RDC sería útil si quieres que tu producto o sitio llegue a los usuarios de manera más eficiente en el esquema más grande de su red y en Internet en su conjunto."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7129d80441eddfbeb5bddf",
|
||||
@ -778,22 +838,26 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"¿Cómo los computadores pueden volver sonido analógico en archivos digitales, y los pros y los contras de la compresión de datos?",
|
||||
"Vamos a discutir datos anàlogos frente a datos digitales en un nivel muy básico.",
|
||||
"Más especificamente, hablaremos de cómo los computadores interpretan el sonido analógico y lo convierten en un archivo digital.",
|
||||
"Una onda de sonido analógico podría parecerse a cualquier cosa, pero para este ejemplo es una línea ondulada.",
|
||||
"El equipo lo toma y realiza mediciones en muchos puntos diferentes, convirtiéndo las mediciones en números.",
|
||||
"Esto se denomina muestreo.",
|
||||
"Posteriormente, el equipo puede tomar esos números y convertirlos en un sonido de nuevo.",
|
||||
"Vamos a discutir también la compresión de datos.",
|
||||
"El beneficio de la compresión es que resulta en un archivo más pequeño: es más fácil de almacenar, es más fácil de enviar a otra persona, y sencillamente ocupa menos espacio.",
|
||||
"Una de las maneras de lograrlo con sonidos es haciendo un muestreo con menor frecuencia (por ejemplo cada 5 milisegundos en lugar de cada milisegundo).",
|
||||
"Otra forma es tomando una medida desde un punto medio y no desde 0, de forma que los número registrados sean más pequeños.",
|
||||
"En imágenes, se hace midiendo grupos de a 16 píxeles en lugar de hacer mediciones individuales.",
|
||||
"Lo que te llevas de este video es que querrás utilizar archivos digitales pues son de mayor calidad, y cuando te fijes en compresión, tendrás que decidir qué tan lejos estás dispuesto a ir para garantizar que el usuario tenga la mejor experiencia posible."
|
||||
],
|
||||
"titleEs": "Analógico vs digital y compresión de archivos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Analógico vs digital y compresión de archivos",
|
||||
"description": [
|
||||
"¿Cómo los computadores pueden volver sonido analógico en archivos digitales, y los pros y los contras de la compresión de datos?",
|
||||
"Vamos a discutir datos anàlogos frente a datos digitales en un nivel muy básico.",
|
||||
"Más especificamente, hablaremos de cómo los computadores interpretan el sonido analógico y lo convierten en un archivo digital.",
|
||||
"Una onda de sonido analógico podría parecerse a cualquier cosa, pero para este ejemplo es una línea ondulada.",
|
||||
"El equipo lo toma y realiza mediciones en muchos puntos diferentes, convirtiéndo las mediciones en números.",
|
||||
"Esto se denomina muestreo.",
|
||||
"Posteriormente, el equipo puede tomar esos números y convertirlos en un sonido de nuevo.",
|
||||
"Vamos a discutir también la compresión de datos.",
|
||||
"El beneficio de la compresión es que resulta en un archivo más pequeño: es más fácil de almacenar, es más fácil de enviar a otra persona, y sencillamente ocupa menos espacio.",
|
||||
"Una de las maneras de lograrlo con sonidos es haciendo un muestreo con menor frecuencia (por ejemplo cada 5 milisegundos en lugar de cada milisegundo).",
|
||||
"Otra forma es tomando una medida desde un punto medio y no desde 0, de forma que los número registrados sean más pequeños.",
|
||||
"En imágenes, se hace midiendo grupos de a 16 píxeles en lugar de hacer mediciones individuales.",
|
||||
"Lo que te llevas de este video es que querrás utilizar archivos digitales pues son de mayor calidad, y cuando te fijes en compresión, tendrás que decidir qué tan lejos estás dispuesto a ir para garantizar que el usuario tenga la mejor experiencia posible."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7129d8b441eddfbeb5bddf",
|
||||
@ -845,33 +909,37 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"En este video, vamos a entrar en más detalle respecto a enrutadores y paquetes, conceptos importantes para entender cómo funciona Internet.",
|
||||
"Vamos a hablar más acerca de los enrutadores y cómo se relacionan con la creación de redes.",
|
||||
"Los enrutadores son los dispositivos que conectan diferentes pequeñas redes.",
|
||||
"Quiero dar una metáfora para esto: Soy maestra y trabajo en una escuela.",
|
||||
"Digamos que tengo un paquete que necesito hacer llegar a alguien que trabaja en las oficinas de distrito.",
|
||||
"No sé dónde está, no sé donde se encuentra su oficina, pero conozco su nombre.",
|
||||
"Voy a mi secretaria, como mi primer enrutador, y digo \"Hey, tengo que hacer llegar que esto a tal persona en la oficina del distrito, ¿podrías ayudarme por favor?\", y ella va a decir \"Claro, no sé exactamente dónde está su oficina tampoco, pero sé que hacer a continuación, hacerlo llegar al distrito\".",
|
||||
"Así que ella continua y lo envía a la secretaria en la oficina del distrito, el siguiente enrutador.",
|
||||
"Eso secretaria no tiene idea de quién soy ni dónde estoy, pero ve el nombre del paquete y conoce la ubicación final.",
|
||||
"Lo que estoy tratando de explicar aquí es que cada enrutador sólo tiene que conocer su propia pequeña red, las paradas justo al lado de él.",
|
||||
"No tiene por qué conocer toda la Internet, sino sólo sus propias conexiones.",
|
||||
"Puede tomar información y decir, bien, no sé exactamente donde eso va, pero voy a dirigirlo a la dirección correcta.",
|
||||
"Eso es realmente todo lo que necesita.",
|
||||
"Los enrutador pueden ser de diferentes tamaños, diferentes capacidades, pero lo que hacen es conocer su propio vecindario, tomar la información, y pasarla en la dirección correcta.",
|
||||
"Otra cosa que introduciremos un poco más adelante es que los enrutadores ni siquiera necesitan tener el paquete completo de información.",
|
||||
"Si un equipo trata de enviar información a otro, los datos podrían dividirse entre enrutadores diferentes y también estaría bien.",
|
||||
"Los computadores aún saben cómo reagrupar la información correctamente.",
|
||||
"Las pequeñas piezas de información que se envían se llaman paquetes.",
|
||||
"Los paquetes son realmente pequeñas piezas de código binario (que describimos antes).",
|
||||
"Este es un ejemplo de como lucen los paquetes, una representación visual de la corriente eléctrica que el computador puede traducirse en 1s y 0s, que ya todos sabemos es binario que puede representar literalmente cualquier información digital.",
|
||||
"Estos pequeños paquetes se envían a través de enrutadores, y si un archivo es demasiado grande para un paquete, se pueden dividir en tramas más pequeñas (pequeños paquetes).",
|
||||
"Las tramas no tienen que recorrer la misma ruta hasta el destino final.",
|
||||
"Pueden tomar cualquier ruta abierta, la que sea más rápida, y dado que tienen la dirección IP final, todos los enrutadores saben dónde enviarlos.",
|
||||
"Una vez que llegan al destino final, ese computador sabe cómo poner junta toda la información."
|
||||
],
|
||||
"titleEs": "Enrutadores y paquetes"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Enrutadores y paquetes",
|
||||
"description": [
|
||||
"En este video, vamos a entrar en más detalle respecto a enrutadores y paquetes, conceptos importantes para entender cómo funciona Internet.",
|
||||
"Vamos a hablar más acerca de los enrutadores y cómo se relacionan con la creación de redes.",
|
||||
"Los enrutadores son los dispositivos que conectan diferentes pequeñas redes.",
|
||||
"Quiero dar una metáfora para esto: Soy maestra y trabajo en una escuela.",
|
||||
"Digamos que tengo un paquete que necesito hacer llegar a alguien que trabaja en las oficinas de distrito.",
|
||||
"No sé dónde está, no sé donde se encuentra su oficina, pero conozco su nombre.",
|
||||
"Voy a mi secretaria, como mi primer enrutador, y digo \"Hey, tengo que hacer llegar que esto a tal persona en la oficina del distrito, ¿podrías ayudarme por favor?\", y ella va a decir \"Claro, no sé exactamente dónde está su oficina tampoco, pero sé que hacer a continuación, hacerlo llegar al distrito\".",
|
||||
"Así que ella continua y lo envía a la secretaria en la oficina del distrito, el siguiente enrutador.",
|
||||
"Eso secretaria no tiene idea de quién soy ni dónde estoy, pero ve el nombre del paquete y conoce la ubicación final.",
|
||||
"Lo que estoy tratando de explicar aquí es que cada enrutador sólo tiene que conocer su propia pequeña red, las paradas justo al lado de él.",
|
||||
"No tiene por qué conocer toda la Internet, sino sólo sus propias conexiones.",
|
||||
"Puede tomar información y decir, bien, no sé exactamente donde eso va, pero voy a dirigirlo a la dirección correcta.",
|
||||
"Eso es realmente todo lo que necesita.",
|
||||
"Los enrutador pueden ser de diferentes tamaños, diferentes capacidades, pero lo que hacen es conocer su propio vecindario, tomar la información, y pasarla en la dirección correcta.",
|
||||
"Otra cosa que introduciremos un poco más adelante es que los enrutadores ni siquiera necesitan tener el paquete completo de información.",
|
||||
"Si un equipo trata de enviar información a otro, los datos podrían dividirse entre enrutadores diferentes y también estaría bien.",
|
||||
"Los computadores aún saben cómo reagrupar la información correctamente.",
|
||||
"Las pequeñas piezas de información que se envían se llaman paquetes.",
|
||||
"Los paquetes son realmente pequeñas piezas de código binario (que describimos antes).",
|
||||
"Este es un ejemplo de como lucen los paquetes, una representación visual de la corriente eléctrica que el computador puede traducirse en 1s y 0s, que ya todos sabemos es binario que puede representar literalmente cualquier información digital.",
|
||||
"Estos pequeños paquetes se envían a través de enrutadores, y si un archivo es demasiado grande para un paquete, se pueden dividir en tramas más pequeñas (pequeños paquetes).",
|
||||
"Las tramas no tienen que recorrer la misma ruta hasta el destino final.",
|
||||
"Pueden tomar cualquier ruta abierta, la que sea más rápida, y dado que tienen la dirección IP final, todos los enrutadores saben dónde enviarlos.",
|
||||
"Una vez que llegan al destino final, ese computador sabe cómo poner junta toda la información."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7029d8c441eddfbeb5bddf",
|
||||
@ -916,27 +984,31 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"En este video se discute lo que es código fuente, intérpretes y compiladores, y lo que significa fuentes abiertas.",
|
||||
"Vamos a hablar sobre el código fuente: lo que el código fuente es, donde lo puedes ver, y cómo el computador lo entiende.",
|
||||
"El código fuente en sí es el documento de texto que el programador crea: ellos lo teclean, sus letras, números y símbolos",
|
||||
"Si le das ese documento a alguien y le pides verlo en su computador arle eso a alguien y hacer que miren en ese documento en su computador, eso no les permitirá leer su correo, ni es un navegador, es sólo un documento de texto.",
|
||||
"El computador tiene que tener una forma de interpretarlo y hacer que algo realmente potente se ejecute a partir de este.",
|
||||
"Hay dos maneras principales von las que se hace: bien por un intérprete o bien con un compilador",
|
||||
"Cada navegador tiene un intérprete, y así es como se procesa JavaScript.",
|
||||
"Otros lenguajes, como C ++, se utilizan con un compilador.",
|
||||
"A diferencia de un intérprete, el compilador hace todo su trabajo al lado del programador.",
|
||||
"Ellos publican sus paquetes, sus productos, que ya han sido compilados, y que esán listos para ser ejecutados en un computador.",
|
||||
"En el caso de Javascript, por otra parte, y de otros lenguajes interpretados, tu sólo escribes el JavaScript y el navegador al lado del usuario tiene la capacidad de interpretarlo de manera que no neceistas un compilador.",
|
||||
"Todo el mundo tiene su opinión de que es mejor (intérprete o compilador), pero en realidad cada uno tiene sus ventajas y desventajas, y depende del caso a caso.",
|
||||
"Son mejores en diferentes cosas.",
|
||||
"Ahora, vamos a centrarnos en lo que significa fuentes abiertas.",
|
||||
"FreeCodeCamp es de fuentes abiertas, que significa que toda la documentación y el código fuente son abiertas y accesibles.",
|
||||
"Podrías preguntarte, \"¿y eso qué?\", pero lo que es increíble es que si deseas cambiar o mejorar FreeCodeCamp, puedes describir la mejora y tal vez implementarla.",
|
||||
"Es una gran manera para los sitios web y para el software de crecer de forma fuerte y rápida debido a la comunidad que trabaja en conjunto para mejorarlo.",
|
||||
"Una regla no escrita al contribuir a proyectos de fuentes abiertas es que en general deberías compartir tus mejoras para que también sean de fuentes abiertas, y al retornar esa mejora al público también les permites a otros utilizar tus mejoras."
|
||||
],
|
||||
"titleEs": "Código Fuente"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Código Fuente",
|
||||
"description": [
|
||||
"En este video se discute lo que es código fuente, intérpretes y compiladores, y lo que significa fuentes abiertas.",
|
||||
"Vamos a hablar sobre el código fuente: lo que el código fuente es, donde lo puedes ver, y cómo el computador lo entiende.",
|
||||
"El código fuente en sí es el documento de texto que el programador crea: ellos lo teclean, sus letras, números y símbolos",
|
||||
"Si le das ese documento a alguien y le pides verlo en su computador arle eso a alguien y hacer que miren en ese documento en su computador, eso no les permitirá leer su correo, ni es un navegador, es sólo un documento de texto.",
|
||||
"El computador tiene que tener una forma de interpretarlo y hacer que algo realmente potente se ejecute a partir de este.",
|
||||
"Hay dos maneras principales von las que se hace: bien por un intérprete o bien con un compilador",
|
||||
"Cada navegador tiene un intérprete, y así es como se procesa JavaScript.",
|
||||
"Otros lenguajes, como C ++, se utilizan con un compilador.",
|
||||
"A diferencia de un intérprete, el compilador hace todo su trabajo al lado del programador.",
|
||||
"Ellos publican sus paquetes, sus productos, que ya han sido compilados, y que esán listos para ser ejecutados en un computador.",
|
||||
"En el caso de Javascript, por otra parte, y de otros lenguajes interpretados, tu sólo escribes el JavaScript y el navegador al lado del usuario tiene la capacidad de interpretarlo de manera que no neceistas un compilador.",
|
||||
"Todo el mundo tiene su opinión de que es mejor (intérprete o compilador), pero en realidad cada uno tiene sus ventajas y desventajas, y depende del caso a caso.",
|
||||
"Son mejores en diferentes cosas.",
|
||||
"Ahora, vamos a centrarnos en lo que significa fuentes abiertas.",
|
||||
"FreeCodeCamp es de fuentes abiertas, que significa que toda la documentación y el código fuente son abiertas y accesibles.",
|
||||
"Podrías preguntarte, \"¿y eso qué?\", pero lo que es increíble es que si deseas cambiar o mejorar FreeCodeCamp, puedes describir la mejora y tal vez implementarla.",
|
||||
"Es una gran manera para los sitios web y para el software de crecer de forma fuerte y rápida debido a la comunidad que trabaja en conjunto para mejorarlo.",
|
||||
"Una regla no escrita al contribuir a proyectos de fuentes abiertas es que en general deberías compartir tus mejoras para que también sean de fuentes abiertas, y al retornar esa mejora al público también les permites a otros utilizar tus mejoras."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd712ad8c441eddfbeb5bddf",
|
||||
@ -970,19 +1042,23 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Consola y Logging",
|
||||
"descriptionEs": [
|
||||
"Nosotros discutimos que es la consola (y donde está), porque es útil y mostrar un poco de como trabaja.",
|
||||
"La consola: que es, donde la puedes encontrar, y para que la usas.",
|
||||
"La consola es usada comunmente para mostrar los mensajes administrativos del sistema.",
|
||||
"Una vez te familiarices con esta, encontraras una útil y poderosa herramienta.",
|
||||
"En Javascript, la consola es usada como una gran herramienta para depurar y encontrar donde hay un error en tu código ",
|
||||
"Uno de los términos mas importantes para recordar es \"console.log()\".",
|
||||
"El proceso para usarla es, es ponerlo en cualquier parte entre las líneas del código para ayudar a encontrar, identificar, y en últimas solucionar problemas especificos",
|
||||
"Usando el navegador Chrome y la consola de Chrome, si nosotros escribimos <code>console.log(\"Free Code Camp es muy bueno!\");</code>, la consola literalmente mostrará \"Free Code Camp es muy bueno!\".",
|
||||
"Además esto funcionará con números y booleanos, cuyos valores posibles son verdadro/falso",
|
||||
"Cuando se envian palabras a la consola, es importante ponerlas dentro de comillas para reconocer que es una cadena."
|
||||
]
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Consola y Logging",
|
||||
"description": [
|
||||
"Nosotros discutimos que es la consola (y donde está), porque es útil y mostrar un poco de como trabaja.",
|
||||
"La consola: que es, donde la puedes encontrar, y para que la usas.",
|
||||
"La consola es usada comunmente para mostrar los mensajes administrativos del sistema.",
|
||||
"Una vez te familiarices con esta, encontraras una útil y poderosa herramienta.",
|
||||
"En Javascript, la consola es usada como una gran herramienta para depurar y encontrar donde hay un error en tu código ",
|
||||
"Uno de los términos mas importantes para recordar es \"console.log()\".",
|
||||
"El proceso para usarla es, es ponerlo en cualquier parte entre las líneas del código para ayudar a encontrar, identificar, y en últimas solucionar problemas especificos",
|
||||
"Usando el navegador Chrome y la consola de Chrome, si nosotros escribimos <code>console.log(\"Free Code Camp es muy bueno!\");</code>, la consola literalmente mostrará \"Free Code Camp es muy bueno!\".",
|
||||
"Además esto funcionará con números y booleanos, cuyos valores posibles son verdadro/falso",
|
||||
"Cuando se envian palabras a la consola, es importante ponerlas dentro de comillas para reconocer que es una cadena."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7119d8c441eddfbeb5bddf",
|
||||
@ -1012,16 +1088,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Las variables se utilizan con frecuencia en Javascript y en muchos otros lenguajes de programación.",
|
||||
"En este video, vamos a hablar acerca de las variables en el código.",
|
||||
"Las variables, al igual que en álgebra, son letras o palabras que representan algo más.",
|
||||
"Aquí estamos haciendo <code>var x = \"Briana\"</code>. Cuando hagamos referencia a <code>x</code> más adelante, se sabrá que es \"Briana\". ",
|
||||
"Cuando se ejecute <code>console.log(x)</code> presentará \"Briana\".",
|
||||
"Pero ten cuidado - si pones <code>console.log(\"x\")</code>, con la <code>x</code> entre comillas, se presentará la \"x\".",
|
||||
"Lo que yo quiero que te lleves con este video es que existen las variables en el código, y que puedes almacenar todo, desde una simple cadena hasta una función, todo con un simple nombre."
|
||||
],
|
||||
"titleEs": "Las variables en el código"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Las variables en el código",
|
||||
"description": [
|
||||
"Las variables se utilizan con frecuencia en Javascript y en muchos otros lenguajes de programación.",
|
||||
"En este video, vamos a hablar acerca de las variables en el código.",
|
||||
"Las variables, al igual que en álgebra, son letras o palabras que representan algo más.",
|
||||
"Aquí estamos haciendo <code>var x = \"Briana\"</code>. Cuando hagamos referencia a <code>x</code> más adelante, se sabrá que es \"Briana\". ",
|
||||
"Cuando se ejecute <code>console.log(x)</code> presentará \"Briana\".",
|
||||
"Pero ten cuidado - si pones <code>console.log(\"x\")</code>, con la <code>x</code> entre comillas, se presentará la \"x\".",
|
||||
"Lo que yo quiero que te lleves con este video es que existen las variables en el código, y que puedes almacenar todo, desde una simple cadena hasta una función, todo con un simple nombre."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd712bd8c441eddfbeb5bddf",
|
||||
@ -1058,19 +1138,23 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Los programadores (también conocidos como codificadores, desarrolladores, o ingenieros de software) resuelven problemas convirtiendo grandes ideas en pequeños pasos que un computador puede entender.",
|
||||
"En este video, vamos a discutir lo que hacen los programadores.",
|
||||
"Los programadores también pueden llamarse codificadores, desarrolladores o ingenieros de software, y lo que todas estas personas hacen es tomar ideas y convertirlas en código que funciona.",
|
||||
"No es sólo crear el código, sino también mantenerlo.",
|
||||
"Vamos a ver cómo el computador ve el código, específicamente JavaScript.",
|
||||
"El computador ve el código de una línea a la vez, y mientras programas, seguramente verás números de línea al lado izquierdo.",
|
||||
"El computador, literalmente, va de arriba hacía abjo, línea por línea, dando sentido a lo que cada línea dice.",
|
||||
"Todo se hace secuencialmente, de manera directa, por lo que hacer referencia a algo que está por debajo y que todavía no ha sucedido dará lugar a un problema.",
|
||||
"Los computadores sólo leen de arriba hacía abajo, como tu leerías un libro.",
|
||||
"Los programadores son los responsables de dividir sus ideas en pequeños pasos y escribirlos de una manera que las computadoras pueden entenderlos."
|
||||
],
|
||||
"titleEs": "¿Qué hacen los programadores?"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "¿Qué hacen los programadores?",
|
||||
"description": [
|
||||
"Los programadores (también conocidos como codificadores, desarrolladores, o ingenieros de software) resuelven problemas convirtiendo grandes ideas en pequeños pasos que un computador puede entender.",
|
||||
"En este video, vamos a discutir lo que hacen los programadores.",
|
||||
"Los programadores también pueden llamarse codificadores, desarrolladores o ingenieros de software, y lo que todas estas personas hacen es tomar ideas y convertirlas en código que funciona.",
|
||||
"No es sólo crear el código, sino también mantenerlo.",
|
||||
"Vamos a ver cómo el computador ve el código, específicamente JavaScript.",
|
||||
"El computador ve el código de una línea a la vez, y mientras programas, seguramente verás números de línea al lado izquierdo.",
|
||||
"El computador, literalmente, va de arriba hacía abjo, línea por línea, dando sentido a lo que cada línea dice.",
|
||||
"Todo se hace secuencialmente, de manera directa, por lo que hacer referencia a algo que está por debajo y que todavía no ha sucedido dará lugar a un problema.",
|
||||
"Los computadores sólo leen de arriba hacía abajo, como tu leerías un libro.",
|
||||
"Los programadores son los responsables de dividir sus ideas en pequeños pasos y escribirlos de una manera que las computadoras pueden entenderlos."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "bd7129d89441eddfbeb5bddf",
|
||||
@ -1124,36 +1208,40 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Lo fundamental de la seguridad en los computadores y cómo proteger su información.",
|
||||
"Echemos una mirada a la seguridad en los computadores.",
|
||||
"De lo primero que vamos a hablar es de algo conocido como ataque diccionario que se dirige a sus claves.",
|
||||
"Cuando tu creas una clave, algunos lugares de internet te exigen claves muy específicas y complejas, las cuales con frecuencia no son tan necesarias.",
|
||||
"El tipo de ataque que ellos quieren evitar son los llamados ataques diccionario.",
|
||||
"Los ataques diccionario están programados para probar todas las palabras de un diccionario o todas las claves mas usuales, para una gran cantidad de nombres de usuario, registradas en sus propias bases de datos. ",
|
||||
"Su tu clave es Canguro, probablemente podrá ser descubierta ya que es una palabra simple.",
|
||||
"Aunque algunas claves no son tan sencillas como la anterior, esto tampoco importa.",
|
||||
"Ellos atacan tal cantidad de cuentas que solo necesitan unas pocas claves que sean sencillas.",
|
||||
"Cundo se crea una clave, tú usas letras mayúsculas, minúsculas, números y símbolos, pero una de las formas más eficientes es seleccionar números y letras al azar (ejemplo: canguroSyCA67).",
|
||||
"Por lo tanto mantente lejos de los números seguidos.",
|
||||
"Suplantación es otra forma de ataque del cual debes estar pendiente. Son correos o páginas web que simulan sitios seguros y engañan a las personas para obtener su información personlal. Son sitios que no están conectados a donde dicen que estan.",
|
||||
"En general hay dos formas de resguardarse de estos ataques: verificar la dirección web de la página y abrir la dirección de la página web, en otro navegador para poder comprobar si corresponde con el sitio del que dicen que procede.",
|
||||
"Ahora hablemos sobre cifrado y HTTPS",
|
||||
"Si te encuentras comprando en una página de internet de una tienda muy prestigiosa y necesitas dar los datos de tu tarjeta de crédito es muy razonable que sospeches que alguien puede estar viendo y copiando esta información.",
|
||||
"Es imprescindible que te fijes que la dirección de esta página web, en tu navegador, comienza con letras verdes y con HTTPS en vez de comenzar con solo HTTP.",
|
||||
"Esto significa que el sitio por el que estás enviando esta información, la envía en forma codificada",
|
||||
"En general, asegúrate que la página sea HTTPS si necesita escribir información privada o importante.",
|
||||
"Otras recomendaciones importantes: no uses la misma clave para diferentes cuentas importantes",
|
||||
"Si el sitio que usas ha sido vulnerado, tu clave puede estar comprometida independientemente de su fortaleza.",
|
||||
"Tampoco descargues archivos desconocidos.",
|
||||
"Se precavido si no reconoces archivos de tipo .pdf, .txt, .jpg.",
|
||||
"Algunos de estos archivos pueden ser muy potentes e incluso correr dentro de tu computador.",
|
||||
"Por último, mantén tu software actualizado, en especial el software que interactúa con internet.",
|
||||
"Una de las formas en que se puede comprometer tu información es cuando los 'los chicos malos' encuentran huecos en las versiones viejas de los programas",
|
||||
"Estos defectos se corrigen en las versiones nuevas, por lo que evitarás problemas si mantienes el software actualizado.",
|
||||
"Estas son algunas cosas muy básicas que debes saber acerca de cómo proteger la información de tu computador."
|
||||
],
|
||||
"titleEs": "Seguridad en los computadores"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Seguridad en los computadores",
|
||||
"description": [
|
||||
"Lo fundamental de la seguridad en los computadores y cómo proteger su información.",
|
||||
"Echemos una mirada a la seguridad en los computadores.",
|
||||
"De lo primero que vamos a hablar es de algo conocido como ataque diccionario que se dirige a sus claves.",
|
||||
"Cuando tu creas una clave, algunos lugares de internet te exigen claves muy específicas y complejas, las cuales con frecuencia no son tan necesarias.",
|
||||
"El tipo de ataque que ellos quieren evitar son los llamados ataques diccionario.",
|
||||
"Los ataques diccionario están programados para probar todas las palabras de un diccionario o todas las claves mas usuales, para una gran cantidad de nombres de usuario, registradas en sus propias bases de datos. ",
|
||||
"Su tu clave es Canguro, probablemente podrá ser descubierta ya que es una palabra simple.",
|
||||
"Aunque algunas claves no son tan sencillas como la anterior, esto tampoco importa.",
|
||||
"Ellos atacan tal cantidad de cuentas que solo necesitan unas pocas claves que sean sencillas.",
|
||||
"Cundo se crea una clave, tú usas letras mayúsculas, minúsculas, números y símbolos, pero una de las formas más eficientes es seleccionar números y letras al azar (ejemplo: canguroSyCA67).",
|
||||
"Por lo tanto mantente lejos de los números seguidos.",
|
||||
"Suplantación es otra forma de ataque del cual debes estar pendiente. Son correos o páginas web que simulan sitios seguros y engañan a las personas para obtener su información personlal. Son sitios que no están conectados a donde dicen que estan.",
|
||||
"En general hay dos formas de resguardarse de estos ataques: verificar la dirección web de la página y abrir la dirección de la página web, en otro navegador para poder comprobar si corresponde con el sitio del que dicen que procede.",
|
||||
"Ahora hablemos sobre cifrado y HTTPS",
|
||||
"Si te encuentras comprando en una página de internet de una tienda muy prestigiosa y necesitas dar los datos de tu tarjeta de crédito es muy razonable que sospeches que alguien puede estar viendo y copiando esta información.",
|
||||
"Es imprescindible que te fijes que la dirección de esta página web, en tu navegador, comienza con letras verdes y con HTTPS en vez de comenzar con solo HTTP.",
|
||||
"Esto significa que el sitio por el que estás enviando esta información, la envía en forma codificada",
|
||||
"En general, asegúrate que la página sea HTTPS si necesita escribir información privada o importante.",
|
||||
"Otras recomendaciones importantes: no uses la misma clave para diferentes cuentas importantes",
|
||||
"Si el sitio que usas ha sido vulnerado, tu clave puede estar comprometida independientemente de su fortaleza.",
|
||||
"Tampoco descargues archivos desconocidos.",
|
||||
"Se precavido si no reconoces archivos de tipo .pdf, .txt, .jpg.",
|
||||
"Algunos de estos archivos pueden ser muy potentes e incluso correr dentro de tu computador.",
|
||||
"Por último, mantén tu software actualizado, en especial el software que interactúa con internet.",
|
||||
"Una de las formas en que se puede comprometer tu información es cuando los 'los chicos malos' encuentran huecos en las versiones viejas de los programas",
|
||||
"Estos defectos se corrigen en las versiones nuevas, por lo que evitarás problemas si mantienes el software actualizado.",
|
||||
"Estas son algunas cosas muy básicas que debes saber acerca de cómo proteger la información de tu computador."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Computer Science"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Computer Science"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Data Visualization"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Data Visualization"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "DevOps"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "DevOps"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -30,15 +30,19 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"El DOM es la representación interna y programática de una página web del navegador. Lenguajes como javascript te permiten modificar el DOM, y por lo tanto el sitio web, sin editar el código HTML de la página.",
|
||||
"Técnicamente, el DOM es un API (interfaz de programación de aplicaciones). Hay varios tipos de APIs, pero este API en particular interactúa con documentos XML y HTML. Está a cargo de cómo se accesan y se manipulan esos documentos.",
|
||||
"De hecho, puedes hacer muchas cosas con el DOM. De hecho, ya lo estás haciendo desde el momento en que estás escribiendo código en JS y jQuery.",
|
||||
"Puedes insertar nuevos elementos, o cambiar el estilo o contenido de los elementos previamente existentes.",
|
||||
"Esto se puede hacer con javascript puro, como: document.getElementById(id), element.getElementsByTagName(name), o document.createElement(name).",
|
||||
"También puedes usar librerías como jQuery para simplificar, estandarizar y automatizar la manipulación del DOM, como por ejemplo: $('#caja2').append('Esto se agregará a caja2!')"
|
||||
],
|
||||
"titleEs": "El DOM: ¿Qué es el Modelo de objetos del documento?"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "El DOM: ¿Qué es el Modelo de objetos del documento?",
|
||||
"description": [
|
||||
"El DOM es la representación interna y programática de una página web del navegador. Lenguajes como javascript te permiten modificar el DOM, y por lo tanto el sitio web, sin editar el código HTML de la página.",
|
||||
"Técnicamente, el DOM es un API (interfaz de programación de aplicaciones). Hay varios tipos de APIs, pero este API en particular interactúa con documentos XML y HTML. Está a cargo de cómo se accesan y se manipulan esos documentos.",
|
||||
"De hecho, puedes hacer muchas cosas con el DOM. De hecho, ya lo estás haciendo desde el momento en que estás escribiendo código en JS y jQuery.",
|
||||
"Puedes insertar nuevos elementos, o cambiar el estilo o contenido de los elementos previamente existentes.",
|
||||
"Esto se puede hacer con javascript puro, como: document.getElementById(id), element.getElementsByTagName(name), o document.createElement(name).",
|
||||
"También puedes usar librerías como jQuery para simplificar, estandarizar y automatizar la manipulación del DOM, como por ejemplo: $('#caja2').append('Esto se agregará a caja2!')"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31518e",
|
||||
@ -66,14 +70,18 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Creo que ya te habrán dicho que los enlaces a código de estilo (CSS) deben ser incluidos en el encabezado (<code>header</code>) y que los enlaces al código (JS) deben estar incluidos al pie de página (<code>footer</code>). ¿Alguna vez te preguntaste por qué?",
|
||||
"Si alguna vez has visto una página web que carga el texto primero, y después de un momento carga el formato y el estilo, entonces era una página que no tenía los enlaces hacia el estilo y el código en los lugares correctos.",
|
||||
"Esto tiene que ver con la forma en que el navegador decide si ha cargado suficiente información para mostrar. Hay un evento llamado 'DOMContentLoaded', y una vez que ese evento ocurre, lo que sea que se haya cargado hasta entonces será mostrado.",
|
||||
"El DOM le dirá al navegador que está listo una vez que el código HTML ha sido cargado, y a veces el CSS y JS no se han alcanzado a cargar. Si pones el CSS en el encabezado y el JS al pie de página, puedes estar seguro que todo el contenido será cargado antes que el DOM desencadene el evento 'DOMContentLoaded', el cual muestra tu contenido al usuario.",
|
||||
"Esta es una explicación simplificada, al igual que la que encontrarás en el resto de estos videos. Si quieres más información, creo que el siguiente enlace es de bastante ayuda: <a href='http://ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload' target='_blank'>ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload</a>"
|
||||
],
|
||||
"titleEs": "El DOM: Estilo en el encabezado, código al pie de página"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "El DOM: Estilo en el encabezado, código al pie de página",
|
||||
"description": [
|
||||
"Creo que ya te habrán dicho que los enlaces a código de estilo (CSS) deben ser incluidos en el encabezado (<code>header</code>) y que los enlaces al código (JS) deben estar incluidos al pie de página (<code>footer</code>). ¿Alguna vez te preguntaste por qué?",
|
||||
"Si alguna vez has visto una página web que carga el texto primero, y después de un momento carga el formato y el estilo, entonces era una página que no tenía los enlaces hacia el estilo y el código en los lugares correctos.",
|
||||
"Esto tiene que ver con la forma en que el navegador decide si ha cargado suficiente información para mostrar. Hay un evento llamado 'DOMContentLoaded', y una vez que ese evento ocurre, lo que sea que se haya cargado hasta entonces será mostrado.",
|
||||
"El DOM le dirá al navegador que está listo una vez que el código HTML ha sido cargado, y a veces el CSS y JS no se han alcanzado a cargar. Si pones el CSS en el encabezado y el JS al pie de página, puedes estar seguro que todo el contenido será cargado antes que el DOM desencadene el evento 'DOMContentLoaded', el cual muestra tu contenido al usuario.",
|
||||
"Esta es una explicación simplificada, al igual que la que encontrarás en el resto de estos videos. Si quieres más información, creo que el siguiente enlace es de bastante ayuda: <a href='http://ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload' target='_blank'>ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload</a>"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Embedded and Internet of Things"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Embedded and Internet of Things"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Game Development"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Game Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Gamification"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Gamification"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -30,15 +30,19 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Esta es una introducción básica a MDN y el concepto de la documentación.",
|
||||
"MDN, Mozilla Developer Network, es una fantástica colaboración de fuentes abiertas que documenta no sólo JavaScript, sino muchos otros lenguajes y temas. Si no has oído hablar de ellos, deberías darles un vistazo ahora. Personalmente obtengo mucha información de <a href='http://developer.mozilla.org/es/docs/Web/JavaScript' target='_blank'>developer.mozilla.org/es/docs/Web/JavaScript</a>",
|
||||
"Cuando digo documentación, estoy hablando acerca de la información que se proporciona sobre el producto a sus usuarios. La documentación de MDN no necesariamente está escrita por la gente detrás de JS. Brendan Eich creó JS en 1995, pero hoy en día el proyecto continúa creciendo gracias a un esfuerzo comunitario. ",
|
||||
"A medida que continúes aprendiendo JavaScript, jQuery, y prácticamente cualquier otro lenguaje o servicio para desarrollo o programación, la documentación será tu amiga.",
|
||||
"Cuanto más rápido te sientas cómodo leyendo y referenciando documentación, más rápido crecerás como desarrollador.",
|
||||
"Estos vídeos no van a enseñarte JavaScript - te presentan términos y conceptos que serán valiosos a medida que continúes practicando y aprendiendo."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: MDN y Documentación"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: MDN y Documentación",
|
||||
"description": [
|
||||
"Esta es una introducción básica a MDN y el concepto de la documentación.",
|
||||
"MDN, Mozilla Developer Network, es una fantástica colaboración de fuentes abiertas que documenta no sólo JavaScript, sino muchos otros lenguajes y temas. Si no has oído hablar de ellos, deberías darles un vistazo ahora. Personalmente obtengo mucha información de <a href='http://developer.mozilla.org/es/docs/Web/JavaScript' target='_blank'>developer.mozilla.org/es/docs/Web/JavaScript</a>",
|
||||
"Cuando digo documentación, estoy hablando acerca de la información que se proporciona sobre el producto a sus usuarios. La documentación de MDN no necesariamente está escrita por la gente detrás de JS. Brendan Eich creó JS en 1995, pero hoy en día el proyecto continúa creciendo gracias a un esfuerzo comunitario. ",
|
||||
"A medida que continúes aprendiendo JavaScript, jQuery, y prácticamente cualquier otro lenguaje o servicio para desarrollo o programación, la documentación será tu amiga.",
|
||||
"Cuanto más rápido te sientas cómodo leyendo y referenciando documentación, más rápido crecerás como desarrollador.",
|
||||
"Estos vídeos no van a enseñarte JavaScript - te presentan términos y conceptos que serán valiosos a medida que continúes practicando y aprendiendo."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31518d",
|
||||
@ -65,13 +69,17 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Aprende sobre los tres tipos más básicos de valores: Booleanos, cadenas y números",
|
||||
"Un booleano es un valor <code>true</code> (verdadero) o <code>false</code> (falso). Estas palabras son especiales y reservadas. No puedes nombrar a una variable como \"true\", porque esa palabra es ya universal como un valor lógico (así como lo es \"false\"). ",
|
||||
"Una cadena es un conjunto de caracteres que se establecen entre apóstrofes (') o entre comillas (\"). Una cadena puede ser \"true\", siempre y cuando sea con comillas o con apóstrofes. ",
|
||||
"Los números se explican por sí mismos - un número es un valor que se compone sólo de dígitos, aunque también puede contener un decimal o un signo negativo."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Tipos de valores"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Tipos de valores",
|
||||
"description": [
|
||||
"Aprende sobre los tres tipos más básicos de valores: Booleanos, cadenas y números",
|
||||
"Un booleano es un valor <code>true</code> (verdadero) o <code>false</code> (falso). Estas palabras son especiales y reservadas. No puedes nombrar a una variable como \"true\", porque esa palabra es ya universal como un valor lógico (así como lo es \"false\"). ",
|
||||
"Una cadena es un conjunto de caracteres que se establecen entre apóstrofes (') o entre comillas (\"). Una cadena puede ser \"true\", siempre y cuando sea con comillas o con apóstrofes. ",
|
||||
"Los números se explican por sí mismos - un número es un valor que se compone sólo de dígitos, aunque también puede contener un decimal o un signo negativo."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31518b",
|
||||
@ -101,15 +109,19 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Vamos a cubrir lo que constituye una variable, y el razonamiento detrás de la capitalizaciónCamello (<em>camelCase</em>).",
|
||||
"Una variable, también conocida como una 'var', es el nombre o el espacio para un booleano, una cadena, un número, u otra pieza de información estática.",
|
||||
"Puedes usar las Herramientas de desarrollo de Google para inspeccionar la página principal de FreeCodeCamp y buscar algunas variables.",
|
||||
"Tu 'declaras' variables por primera vez con <code>var</code> en frente de ella, pero después puedes referenciarla más adelante en tu programa.",
|
||||
"capitalizaciónCamello es una forma en la que juntas varias palabras y aún así las mantienes legibles. La primera letra de la primera palabra va en minúsculas al igual que el resto de la primera palabra, pero la primera letra de cada palabra que siga se escribe en mayúsculas. No hay espacios. Ejemplos: brianaAmaSusMascotas, laMejorComidaEsElQueso, y valeLaPenaAprenderProgramacion.",
|
||||
"Al asignar un nombre de variable, usa capitalizaciónCamello. Además, trata de mantener los nombres descriptivos y cortos para que los demás (¡e incluso tu!) puedan entender a lo que se refiere la variable simplemente por el nombre."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Variables y capitalizaciónCamello"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Variables y capitalizaciónCamello",
|
||||
"description": [
|
||||
"Vamos a cubrir lo que constituye una variable, y el razonamiento detrás de la capitalizaciónCamello (<em>camelCase</em>).",
|
||||
"Una variable, también conocida como una 'var', es el nombre o el espacio para un booleano, una cadena, un número, u otra pieza de información estática.",
|
||||
"Puedes usar las Herramientas de desarrollo de Google para inspeccionar la página principal de FreeCodeCamp y buscar algunas variables.",
|
||||
"Tu 'declaras' variables por primera vez con <code>var</code> en frente de ella, pero después puedes referenciarla más adelante en tu programa.",
|
||||
"capitalizaciónCamello es una forma en la que juntas varias palabras y aún así las mantienes legibles. La primera letra de la primera palabra va en minúsculas al igual que el resto de la primera palabra, pero la primera letra de cada palabra que siga se escribe en mayúsculas. No hay espacios. Ejemplos: brianaAmaSusMascotas, laMejorComidaEsElQueso, y valeLaPenaAprenderProgramacion.",
|
||||
"Al asignar un nombre de variable, usa capitalizaciónCamello. Además, trata de mantener los nombres descriptivos y cortos para que los demás (¡e incluso tu!) puedan entender a lo que se refiere la variable simplemente por el nombre."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f31518a",
|
||||
@ -138,15 +150,19 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Si desea almacenar más de una pieza de información en una variable, puedes hacerlo mediante la creación de un vector o de un objeto.",
|
||||
"** Exención de responsabilidad: Los objetos de JS no son exactamente lo mismo que los objetos en otros lenguajes. Vamos a discutir aquí objetos con respecto a JS. ",
|
||||
"Los vectores son conjuntos de valores entre [corchetes]. Los valores se separan con comas. Cada valor puede ser booleano, cadena, número, o incluso otro vector. A esto último le llamamos vector anidado. A un vector compuesto por vectores de la misma longitud le llamamos matriz. ",
|
||||
"Los objetos son un tipo de datos que pueden verse o comportarse como un vector, en la medida que se trata de más valores almacenados en una variable de una manera organizada. Oirás que un objeto se puede representar en JSON, y con frecuencia cuando haces llamadas a la API de algunos sitios (para obtener información que necesitas mostrar en tu propia página) está será devuelta en JSON. ",
|
||||
"Un ejemplo de la notación de objetos es: <code>var obj = { 'nombre': 'Briana', 'comida': 'queso', 'perro': 'Maurice'};</code>",
|
||||
"Fíjate que un objeto se encierra entre llaves { ... }, que los diferentes atributos se separan por comas, que cada atributo consta de una palabra llave y de un valor. Por ejemplo son llaves 'nombre', 'comida' y 'perro' y sus respectivos valores son 'Briana', 'queso' y 'Maurice'. En este ejmplo todos los valores fueron cadenas, aunque también son válidos booleanos, números y otros tipos de datos."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Vectores y objetos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Vectores y objetos",
|
||||
"description": [
|
||||
"Si desea almacenar más de una pieza de información en una variable, puedes hacerlo mediante la creación de un vector o de un objeto.",
|
||||
"** Exención de responsabilidad: Los objetos de JS no son exactamente lo mismo que los objetos en otros lenguajes. Vamos a discutir aquí objetos con respecto a JS. ",
|
||||
"Los vectores son conjuntos de valores entre [corchetes]. Los valores se separan con comas. Cada valor puede ser booleano, cadena, número, o incluso otro vector. A esto último le llamamos vector anidado. A un vector compuesto por vectores de la misma longitud le llamamos matriz. ",
|
||||
"Los objetos son un tipo de datos que pueden verse o comportarse como un vector, en la medida que se trata de más valores almacenados en una variable de una manera organizada. Oirás que un objeto se puede representar en JSON, y con frecuencia cuando haces llamadas a la API de algunos sitios (para obtener información que necesitas mostrar en tu propia página) está será devuelta en JSON. ",
|
||||
"Un ejemplo de la notación de objetos es: <code>var obj = { 'nombre': 'Briana', 'comida': 'queso', 'perro': 'Maurice'};</code>",
|
||||
"Fíjate que un objeto se encierra entre llaves { ... }, que los diferentes atributos se separan por comas, que cada atributo consta de una palabra llave y de un valor. Por ejemplo son llaves 'nombre', 'comida' y 'perro' y sus respectivos valores son 'Briana', 'queso' y 'Maurice'. En este ejmplo todos los valores fueron cadenas, aunque también son válidos booleanos, números y otros tipos de datos."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315189",
|
||||
@ -173,12 +189,16 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Hay muchas razones por las que puedes necesitar acceder a una determinada pieza de información al interior de un conjunto más amplio, lo cual haces referenciando su índice.",
|
||||
"No vamos a entrar en la sintaxis, pero debes saber que el primer elemento en un vector tiene en realidad el índice 0.",
|
||||
"Esto también aplica para cadenas y objetos. Todos estos índices comienzan en 0, por lo que si en tu programa usas <code>miVector[2]</code>, realmente vas a obtener la tercera pieza de información del vector <code>miVector</code>."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Encontrando e indexando valores en vectores"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Encontrando e indexando valores en vectores",
|
||||
"description": [
|
||||
"Hay muchas razones por las que puedes necesitar acceder a una determinada pieza de información al interior de un conjunto más amplio, lo cual haces referenciando su índice.",
|
||||
"No vamos a entrar en la sintaxis, pero debes saber que el primer elemento en un vector tiene en realidad el índice 0.",
|
||||
"Esto también aplica para cadenas y objetos. Todos estos índices comienzan en 0, por lo que si en tu programa usas <code>miVector[2]</code>, realmente vas a obtener la tercera pieza de información del vector <code>miVector</code>."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315188",
|
||||
@ -208,16 +228,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Métodos y funciones son formas con las que puedes modificar variables u otros conjuntos de información.",
|
||||
"Los métodos están integrados en JavaScript, y te familiarizarás con estos cuando realices los desafíos sobre algoritmos.",
|
||||
"Me gustaría sugerirte dar un vistazo a MDN (Mozilla Developer Network que discutimos en el primer video) para que te familiarices con la cantidad y el potencial general de los métodos que existen. <a href='http://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Methods_Index' target='_blank'>developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Methods_Index</a>",
|
||||
"Los ejemplos incluyen <code>.split (' ')</code>, que convertirá una cadena en un vector y puede hacerlo de muchas maneras diferentes. Los métodos son de gran alcance - muchas veces cuando quieres que tu programa haga algo, ya habrá un método para eso.",
|
||||
"Las funciones, al igual que las variables, son algo que tu defines y creas.",
|
||||
"Durante tu práctica con algoritmos en FreeCodeCamp, vas a crear funciones que reciben una determinada pieza de información y la manipulan de la forma que elijas.",
|
||||
"Vas a estar más familiarizado con la sintaxis, pero por ahora, sólo recuerda que con los métodos y funciones puedes hacer casi cualquier cosa con tu código."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Manipulación de los datos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Manipulación de los datos",
|
||||
"description": [
|
||||
"Métodos y funciones son formas con las que puedes modificar variables u otros conjuntos de información.",
|
||||
"Los métodos están integrados en JavaScript, y te familiarizarás con estos cuando realices los desafíos sobre algoritmos.",
|
||||
"Me gustaría sugerirte dar un vistazo a MDN (Mozilla Developer Network que discutimos en el primer video) para que te familiarices con la cantidad y el potencial general de los métodos que existen. <a href='http://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Methods_Index' target='_blank'>developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Methods_Index</a>",
|
||||
"Los ejemplos incluyen <code>.split (' ')</code>, que convertirá una cadena en un vector y puede hacerlo de muchas maneras diferentes. Los métodos son de gran alcance - muchas veces cuando quieres que tu programa haga algo, ya habrá un método para eso.",
|
||||
"Las funciones, al igual que las variables, son algo que tu defines y creas.",
|
||||
"Durante tu práctica con algoritmos en FreeCodeCamp, vas a crear funciones que reciben una determinada pieza de información y la manipulan de la forma que elijas.",
|
||||
"Vas a estar más familiarizado con la sintaxis, pero por ahora, sólo recuerda que con los métodos y funciones puedes hacer casi cualquier cosa con tu código."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315187",
|
||||
@ -247,16 +271,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Hay un objeto estático de nombre 'Math' en JS con muchos propiedades y métodos incluidos.",
|
||||
"Vas a querer investigar más de este cuando manipules números. Consulta la documentación de MDN antes de escribir tus propias funciones, pues ya podrían estar definidas allí. ",
|
||||
"Los ejemplos incluyen <code>Math.random()</code> que devolverá un número aleatorio en un rango y <code>Math.round()</code> que redondeará el número decimal que reciba al entero más cercano.",
|
||||
"Yo utilicé <code>Math.random()</code> cuando construí el generador de citas aleatorias como proyecto de desarrollo de interfaces en FreeCodeCamp.",
|
||||
"Cuando trabajes con números, también debes estar consciente de que JS tiene un atributo interesante llamado 'formato de coma flotante'.",
|
||||
"Dependiendo de la cantidad de números, su tamaño y la cantidad de cálculos, JS puede devolver un número que es inexacto en 0,00004.",
|
||||
"Hay maneras de evitar esto, y en general no plantean problemas, pero es algo que debes tener en cuenta si te encuentras con algunos problemas que parecen no tienen sentido."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Matemáticas"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Matemáticas",
|
||||
"description": [
|
||||
"Hay un objeto estático de nombre 'Math' en JS con muchos propiedades y métodos incluidos.",
|
||||
"Vas a querer investigar más de este cuando manipules números. Consulta la documentación de MDN antes de escribir tus propias funciones, pues ya podrían estar definidas allí. ",
|
||||
"Los ejemplos incluyen <code>Math.random()</code> que devolverá un número aleatorio en un rango y <code>Math.round()</code> que redondeará el número decimal que reciba al entero más cercano.",
|
||||
"Yo utilicé <code>Math.random()</code> cuando construí el generador de citas aleatorias como proyecto de desarrollo de interfaces en FreeCodeCamp.",
|
||||
"Cuando trabajes con números, también debes estar consciente de que JS tiene un atributo interesante llamado 'formato de coma flotante'.",
|
||||
"Dependiendo de la cantidad de números, su tamaño y la cantidad de cálculos, JS puede devolver un número que es inexacto en 0,00004.",
|
||||
"Hay maneras de evitar esto, y en general no plantean problemas, pero es algo que debes tener en cuenta si te encuentras con algunos problemas que parecen no tienen sentido."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315186",
|
||||
@ -283,12 +311,16 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Si hay un conjunto de valores (vamos a utilizar un vector en este ejemplo, pero no tiene que ser así) y deseas realizar la misma operación a cada valor del conjunto, puedes usar algo llamado ciclo. ",
|
||||
"Los ciclos tienen una sintaxis compleja a la que inicialmente es difícil acostumbrarse, pero una vez que la entiendas, son de gran utilidad. Yo usé ciclos en muchas de mis soluciones. ",
|
||||
"No es necesario que entiendas todo aquí - sólo que sepas que existen ciclos cuando necesitas recorrer un conjunto de datos y que pueden reducir la cantidad de código que debes escribir."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: Ciclos"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: Ciclos",
|
||||
"description": [
|
||||
"Si hay un conjunto de valores (vamos a utilizar un vector en este ejemplo, pero no tiene que ser así) y deseas realizar la misma operación a cada valor del conjunto, puedes usar algo llamado ciclo. ",
|
||||
"Los ciclos tienen una sintaxis compleja a la que inicialmente es difícil acostumbrarse, pero una vez que la entiendas, son de gran utilidad. Yo usé ciclos en muchas de mis soluciones. ",
|
||||
"No es necesario que entiendas todo aquí - sólo que sepas que existen ciclos cuando necesitas recorrer un conjunto de datos y que pueden reducir la cantidad de código que debes escribir."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "56b15f15632298c12f315185",
|
||||
@ -318,16 +350,20 @@
|
||||
],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"descriptionEs": [
|
||||
"Las RegExp no siguen el formato del resto de JS, y pueden requerir una curva de aprendizaje.",
|
||||
"Las epresiones regulares (abreviado <em>RegExp</em>) también pueden ser una herramienta muy útil y eficiente.",
|
||||
"Usando RegExp, puedes hacer coincidir, reemplazar, buscar y dividir una cadena, uno de los tipos más difíciles de manipular.",
|
||||
"Al igual que con todos los otros videos, no vamos a entrar en detalles, pero quiero mostrar algunos ejemplos donde las RegExp son útiles.",
|
||||
"Si quisieras crear una página de registro que verifique las contraseñas para que contengan al menos un número y una letra mayúscula, puedes usar expresiones regulares.",
|
||||
"Si quieres asegurarte de que las fechas introducidas en una página sean todas fechas válidas en el futuro, puedes usar RegExp.",
|
||||
"Si bien hay infinitas maneras de utilizar RegExp, muchas de estas incluyen validaciones o ediciones automáticas de información."
|
||||
],
|
||||
"titleEs": "JavaScript Lingo: expresiones regulares (RegExp)"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "JavaScript Lingo: expresiones regulares (RegExp)",
|
||||
"description": [
|
||||
"Las RegExp no siguen el formato del resto de JS, y pueden requerir una curva de aprendizaje.",
|
||||
"Las epresiones regulares (abreviado <em>RegExp</em>) también pueden ser una herramienta muy útil y eficiente.",
|
||||
"Usando RegExp, puedes hacer coincidir, reemplazar, buscar y dividir una cadena, uno de los tipos más difíciles de manipular.",
|
||||
"Al igual que con todos los otros videos, no vamos a entrar en detalles, pero quiero mostrar algunos ejemplos donde las RegExp son útiles.",
|
||||
"Si quisieras crear una página de registro que verifique las contraseñas para que contengan al menos un número y una letra mayúscula, puedes usar expresiones regulares.",
|
||||
"Si quieres asegurarte de que las fechas introducidas en una página sean todas fechas válidas en el futuro, puedes usar RegExp.",
|
||||
"Si bien hay infinitas maneras de utilizar RegExp, muchas de estas incluyen validaciones o ediciones automáticas de información."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Machine Learning"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Machine Learning"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Math for Programmers"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Math for Programmers"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Mobile JavaScript Development"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Mobile JavaScript Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Software Engineering Principles"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Software Engineering Principles"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Statistics"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Statistics"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Tools"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Tools"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "User Experience Design"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "User Experience Design"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -12,7 +12,11 @@
|
||||
"tests": [],
|
||||
"type": "hike",
|
||||
"challengeType": 6,
|
||||
"nameEs": "Visual Design"
|
||||
"translations": {
|
||||
"es": {
|
||||
"title": "Visual Design"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
138
seed/normalize-seed-files.js
Normal file
138
seed/normalize-seed-files.js
Normal file
@ -0,0 +1,138 @@
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var sortKeys = require('sort-keys');
|
||||
// var Rx = require('rx');
|
||||
|
||||
// var langTagRegex = /^[a-z]{2,3}(?:-[A-Z]{2,3}(?:-[a-zA-Z]{4})?)?$/;
|
||||
var translationRegex = /(description|title)([a-zA-Z]{2,4})/i;
|
||||
var oldNameRegex = /name([a-zA-Z]{2,4})/i;
|
||||
function hasOldTranslation(key) {
|
||||
return translationRegex.test(key) || oldNameRegex.test(key);
|
||||
}
|
||||
|
||||
function normalizeLangTag(tag) {
|
||||
return tag.slice(0, 2).toLowerCase() + (
|
||||
tag.length > 2 ? '-' + tag.slice(2).toUpperCase() : ''
|
||||
);
|
||||
}
|
||||
|
||||
function sortTranslationsKeys(translations) {
|
||||
Object.keys(translations)
|
||||
.forEach(function(key) {
|
||||
if (Object.keys(translations[key]).length > 2) {
|
||||
console.log('keys', Object.keys(translations[key]));
|
||||
throw new Error('Unknown keys');
|
||||
}
|
||||
});
|
||||
var _translations = Object.keys(translations)
|
||||
.reduce(function(_translations, key) {
|
||||
_translations[key] = sortKeys(translations[key], {
|
||||
compare: function(a, b) {
|
||||
return b > a;
|
||||
}
|
||||
});
|
||||
_translations[key] = Object.keys(_translations[key])
|
||||
.reduce(function(translation, _key) {
|
||||
translation[_key.toLowerCase()] = _translations[key][_key];
|
||||
return translation;
|
||||
}, {});
|
||||
return _translations;
|
||||
}, {});
|
||||
return sortKeys(_translations);
|
||||
}
|
||||
|
||||
function createNewTranslations(challenge) {
|
||||
return Object.keys(challenge)
|
||||
.filter(hasOldTranslation)
|
||||
.reduce(function(translations, oldKey) {
|
||||
var matches, tag, newTranslation;
|
||||
if (translationRegex.test(oldKey)) {
|
||||
matches = oldKey.match(translationRegex);
|
||||
tag = normalizeLangTag(matches[2]);
|
||||
newTranslation = {};
|
||||
newTranslation[matches[1]] = challenge[oldKey];
|
||||
translations[tag] = translations[tag] ?
|
||||
Object.assign({}, translations[tag], newTranslation) :
|
||||
Object.assign({}, newTranslation);
|
||||
return translations;
|
||||
}
|
||||
matches = oldKey.match(oldNameRegex);
|
||||
tag = normalizeLangTag(matches[1]);
|
||||
newTranslation = { title: challenge[oldKey] };
|
||||
translations[tag] = translations[tag] ?
|
||||
Object.assign({}, translations[tag], newTranslation) :
|
||||
Object.assign({}, newTranslation);
|
||||
return translations;
|
||||
}, {});
|
||||
}
|
||||
|
||||
function normalizeChallenge(challenge) {
|
||||
var keys = Object.keys(challenge);
|
||||
challenge.translations = challenge.translations || {};
|
||||
var hasOldTranslations = keys.some(hasOldTranslation);
|
||||
if (hasOldTranslations) {
|
||||
challenge.translations = Object.assign(
|
||||
{},
|
||||
challenge.translations,
|
||||
createNewTranslations(challenge)
|
||||
);
|
||||
}
|
||||
challenge.translations = sortTranslationsKeys(challenge.translations);
|
||||
// remove old translations from the top level
|
||||
return Object.keys(challenge)
|
||||
.filter(function(key) { return !hasOldTranslation(key); })
|
||||
.reduce(function(newChallenge, key) {
|
||||
newChallenge[key] = challenge[key];
|
||||
return newChallenge;
|
||||
}, {});
|
||||
}
|
||||
|
||||
function normalizeBlock(block) {
|
||||
block.challenges = block.challenges.map(normalizeChallenge);
|
||||
return block;
|
||||
}
|
||||
|
||||
function getFilesForDir(dir) {
|
||||
return fs.readdirSync(path.join(__dirname, '/' + dir))
|
||||
.map(function(file) {
|
||||
if (fs.statSync(path.join(__dirname, dir + '/' + file)).isFile()) {
|
||||
return { path: dir + '/' + file };
|
||||
}
|
||||
return getFilesForDir(dir + '/' + file);
|
||||
})
|
||||
.reduce(function(files, file) {
|
||||
if (!Array.isArray(file)) {
|
||||
files.push(file);
|
||||
return files;
|
||||
}
|
||||
return files.concat(file);
|
||||
}, []);
|
||||
}
|
||||
|
||||
function normalize(dir) {
|
||||
return getFilesForDir(dir)
|
||||
.map(function(data) {
|
||||
return {
|
||||
path: data.path,
|
||||
block: require(path.join(__dirname, data.path))
|
||||
};
|
||||
})
|
||||
.map(function(data) {
|
||||
return {
|
||||
path: data.path,
|
||||
block: normalizeBlock(data.block)
|
||||
};
|
||||
})
|
||||
.forEach(function(data) {
|
||||
var file = JSON.stringify(data.block, null, 2);
|
||||
if (/[^\n]$/.test(file)) {
|
||||
file = file + '\n';
|
||||
}
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, '/', data.path),
|
||||
file
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
normalize('challenges');
|
Reference in New Issue
Block a user