feat: Added Block Format submodule and more questions.

This commit is contained in:
KyMAN 2025-12-06 20:57:52 +01:00
parent 15ba494ef8
commit 92e67643a7
28 changed files with 2521 additions and 51 deletions

View File

@ -0,0 +1,114 @@
"use strict";
import {Check} from "../../Utils/Check.ecma.js";
import {FormatModule} from "../FormatModule.ecma.js";
/**
* @typedef {import("../FormatModule.ecma.js").FormatModule} FormatModule
*/
/**
* @class BlockFormat
* @constructor
* @param {!FormatModule} format
* @returns {void}
* @access public
* @static
*/
export const BlockFormat = (function(){
/**
* @constructs BlockFormat
* @param {!FormatModule} format
* @returns {void}
* @access private
* @static
*/
const BlockFormat = function(format){
/** @type {BlockFormat} */
const self = this;
/**
* @returns {void}
* @access private
*/
const constructor = () => {
["b", "B", "block", "Block"].forEach(name => {
format.modes[name] = self.get;
format.checks[name] = self.check;
});
};
/**
* @param {[number, number]} coordenates
* @param {!(string|Array.<any|null>)} inputs
* @param {!Object.<string, any|null>} [shared = {}]
* @param {!Array.<string>} [fragments = []]
* @returns {string}
* @access public
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
/** @type {[string, boolean, string|Array.<string>]} */
const [language, mutable, content_base] = (
Check.is_string(inputs) ? ((_, language, mutable, options) => [
language, mutable == "1", options
])(...inputs.match(/^([^,]+),([01]),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]),
/** @type {string} */
content = Check.is_array(content_base) ? content_base.join("\n") : content_base;
return "```" + language + "`" + (
mutable ? format.execute([i, j], content, shared, fragments) :
format.restore_fragments(content, fragments)) + "```";
};
/**
* @param {[number, number]} coordenates
* @param {!string} string
* @param {!(string|Array.<string>)} inputs
* @param {!Object.<string, any|null>} [shared = {}]
* @param {!Array.<string>} [fragments = []]
* @returns {number}
* @access public
*/
this.check = ([i, j], string, inputs, shared = {}, fragments = []) => {
/** @type {[string, boolean, string|Array.<string>]} */
const [language, mutable, content_base] = (
Check.is_string(inputs) ? ((_, language, mutable, options) => [
language, mutable == "1", options
])(...inputs.match(/^([^,]+),([01]),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]),
/** @type {string} */
content = Check.is_array(content_base) ? content_base.join("\n") : content_base;
/** @type {number} */
let k = -1,
/** @type {string} */
clone = "" + string;
if(clone.startsWith("```" + language + "`")){
/** @type {number} */
const end = (clone = clone.substring(6 + language.length)).indexOf("```");
end != -1 &&
(k = (
mutable ? format.get_check_length([i, j], clone.substring(0, end), [content], shared, fragments) :
clone.startsWith(content + "```") ? content.length : -1)) != -1 &&
(k += 7 + language.length);
};
return k;
};
constructor();
};
return BlockFormat;
})();

View File

@ -49,10 +49,10 @@ export const CapitalizeFormat = (function(){
* @returns {string} * @returns {string}
* @access public * @access public
*/ */
this.get = ([i, j], inputs, shared = {}, fragments = []) => format.execute([i, j], this.get = ([i, j], inputs, shared = {}, fragments = []) => format.execute([i, j], (
Check.is_string(inputs) ? inputs : Check.is_string(inputs) ? inputs :
Check.is_string(inputs[0]) ? inputs[0] : Check.is_string(inputs[0]) ? inputs[0] :
"", shared, fragments).replace(/^./, character => character.toUpperCase()); ""), shared, fragments).replace(/^./, character => character.toUpperCase());
/** /**
* @param {[number, number]} coordenates * @param {[number, number]} coordenates

View File

@ -8,6 +8,7 @@ import {SerieFormat} from "./Format/SerieFormat.ecma.js";
import {SelectFormat} from "./Format/SelectFormat.ecma.js"; import {SelectFormat} from "./Format/SelectFormat.ecma.js";
import {PlainFormat} from "./Format/PlainFormat.ecma.js"; import {PlainFormat} from "./Format/PlainFormat.ecma.js";
import {CapitalizeFormat} from "./Format/CapitalizeFormat.ecma.js"; import {CapitalizeFormat} from "./Format/CapitalizeFormat.ecma.js";
import {BlockFormat} from "./Format/BlockFormat.ecma.js";
/** /**
* @typedef {import("../OpoTests.ecma.js").OpoTests} OpoTests * @typedef {import("../OpoTests.ecma.js").OpoTests} OpoTests
@ -77,6 +78,8 @@ export const FormatModule = (function(){
this.plain = new PlainFormat(self); this.plain = new PlainFormat(self);
/** @type {CapitalizeFormat} */ /** @type {CapitalizeFormat} */
this.capitalize = new CapitalizeFormat(self); this.capitalize = new CapitalizeFormat(self);
/** @type {BlockFormat} */
this.block = new BlockFormat(self);
/** /**
* @returns {void} * @returns {void}
@ -364,11 +367,21 @@ export const FormatModule = (function(){
variable = self.get_variable([i, j], key); variable = self.get_variable([i, j], key);
if(variable[0] == "list") if(variable[0] == "list")
return items.concat(variable[1]); return items.concat(self.get_list([i, j], variable[1]));
}; };
return items.concat([item]); return items.concat([item]);
}, []); }, []);
/**
* @param {!string} string
* @param {!Array.<string>} fragments
* @returns {string}
* @access public
*/
this.restore_fragments = (string, fragments) => FormatModule.recursive(string, substring => (
self.set_fragments_level(substring, fragments)
));
constructor(); constructor();
}; };

View File

@ -51,7 +51,10 @@ export const TestsView = (function(){
}, [ }, [
ot.comp.i18n(name, "strong"), ot.comp.i18n(name, "strong"),
["span", {class : "value"}, "" + value], ["span", {class : "value"}, "" + value],
maximum === null ? null : ["span", {class : "maximum"}, "" + maximum] ...(maximum === null ? [] : [
["span", {class : "maximum"}, "" + maximum],
["span", {class : "relative"}, "" + value]
])
]]; ]];
/** /**
@ -295,7 +298,7 @@ export const TestsView = (function(){
ot.comp.i18n("unanswered") ot.comp.i18n("unanswered")
]] ]]
]], ]],
["p", null, ot.format.execute([i, j], Check.is_array(ot.database[i].queries[j].question) ? Utils.get_random(ot.database[i].queries[j].question) : ot.database[i].queries[j].question)], ["p", null, TestsView.to_html(ot.format.execute([i, j], Check.is_array(ot.database[i].queries[j].question) ? Utils.get_random(ot.database[i].queries[j].question) : ot.database[i].queries[j].question))],
["ul", {class : "answers"}, answers.map((answer, i) => ["li", {data_i : i}, [ ["ul", {class : "answers"}, answers.map((answer, i) => ["li", {data_i : i}, [
ot.comp[multiple_answers ? "checkbox" : "radio"]("q" + q + "[]", false, (item, event) => { ot.comp[multiple_answers ? "checkbox" : "radio"]("q" + q + "[]", false, (item, event) => {
@ -339,7 +342,7 @@ export const TestsView = (function(){
}; };
test_box.querySelector(".graphic [data-q='" + block.getAttribute("data-q") + "']").setAttribute("data-status", status); test_box.querySelector(".graphic [data-q='" + block.getAttribute("data-q") + "']").setAttribute("data-status", status);
}, answer, null, "answer_" + (i + 1)), }, TestsView.to_html(answer), null, "answer_" + (i + 1)),
["span", {data_is_ok : !!(x & (1 << i))}], ["span", {data_is_ok : !!(x & (1 << i))}],
["span", {data_right : null}] ["span", {data_right : null}]
]])] ]])]
@ -405,6 +408,7 @@ export const TestsView = (function(){
form.querySelector(".test-info li[data-i18n=answered] .value").innerText = "" + (values.answered = form.querySelectorAll(".graphic [data-status]:not([data-status=unanswered])").length); form.querySelector(".test-info li[data-i18n=answered] .value").innerText = "" + (values.answered = form.querySelectorAll(".graphic [data-status]:not([data-status=unanswered])").length);
form.querySelector(".test-info li[data-i18n=marks] .value").innerText = ((maximum * values.rights / values.number) - values.wrongs * rest - values.partially * rest * .5).toFixed(decimals); form.querySelector(".test-info li[data-i18n=marks] .value").innerText = ((maximum * values.rights / values.number) - values.wrongs * rest - values.partially * rest * .5).toFixed(decimals);
form.querySelector(".test-info li[data-i18n=marks] .relative").innerText = ((maximum * values.rights / values.answered) - values.wrongs * rest - values.partially * rest * .5).toFixed(decimals);
}, 1); }, 1);
@ -527,5 +531,12 @@ export const TestsView = (function(){
}; };
TestsView.to_html = string => string.replace(/`{3}([a-z0-9]+)`((?:(?!(?:```))(?:.|[\r\n]+))*)`{3}/gi, (_, language, content) => (`<code data-language="` + language + `">` + [
[/&/g, "&amp;"],
[/</g, "&lt;"],
[/>/g, "&gt;"],
[/\r\n|\r|\n/g, "<br>"]
].reduce((content, [pattern, value]) => content.replace(pattern, value), content) + `</code>`));
return TestsView; return TestsView;
})(); })();

View File

@ -16,6 +16,7 @@
"/json/paco/trebep/paco.trebep.00.estructura.json", "/json/paco/trebep/paco.trebep.00.estructura.json",
"/json/paco/trebep/paco.trebep.01.i.json", "/json/paco/trebep/paco.trebep.01.i.json",
"/json/paco/trebep/paco.trebep.02.ii-ci.json",
"/json/kyman/especifico/kyman.diccionario.json", "/json/kyman/especifico/kyman.diccionario.json",
"/json/kyman/especifico/kyman.00.redes.00.tipos-area.json", "/json/kyman/especifico/kyman.00.redes.00.tipos-area.json",
@ -24,6 +25,9 @@
"/json/kyman/especifico/kyman.00.redes.03.ieee-802.json", "/json/kyman/especifico/kyman.00.redes.03.ieee-802.json",
"/json/kyman/especifico/kyman.00.redes.04.ipv4.json", "/json/kyman/especifico/kyman.00.redes.04.ipv4.json",
"/json/kyman/especifico/kyman.00.redes.05.ipv6.json", "/json/kyman/especifico/kyman.00.redes.05.ipv6.json",
"/json/kyman/especifico/kyman.00.redes.06.osi.json",
"/json/kyman/especifico/kyman.00.redes.07.tcp-ip.json",
"/json/kyman/especifico/kyman.00.redes.08.hardware.json",
"/json/kyman/especifico/kyman.01.generaciones.json", "/json/kyman/especifico/kyman.01.generaciones.json",
"/json/kyman/especifico/kyman.02.hardware.00.ics.json", "/json/kyman/especifico/kyman.02.hardware.00.ics.json",
"/json/kyman/especifico/kyman.03.desarrollo.02.codificaciones-texto.json", "/json/kyman/especifico/kyman.03.desarrollo.02.codificaciones-texto.json",
@ -32,6 +36,9 @@
"/json/kyman/especifico/kyman.ac.eni.preguntas-frecuentes.json", "/json/kyman/especifico/kyman.ac.eni.preguntas-frecuentes.json",
"/json/kyman/especifico/software/kyman.00.ping.json", "/json/kyman/especifico/software/kyman.00.ping.json",
"/json/kyman/especifico/software/kyman.01.sed.json",
"/json/kyman/especifico/software/kyman.02.tracert.json",
"/json/kyman/especifico/software/kyman.03.git.json",
"/data/json/baquedano/c-ejer-1-promo-sass-2025.json", "/data/json/baquedano/c-ejer-1-promo-sass-2025.json",
"/data/json/baquedano/c-ejer-1-libre-sas-2025.json", "/data/json/baquedano/c-ejer-1-libre-sas-2025.json",

View File

@ -0,0 +1,132 @@
[
{
"origin": "Gemini Test Generator",
"title": "Test Iniciativa Legislativa y Reforma (Art. 87 y 166 CE)",
"group": "ce_art_87_166",
"source": "Constitución Española, Artículos 87 y 166",
"queries": [
{
"question": "{rand:Según el Art. 87.1 de la Constitución|De acuerdo con la Constitución}, ¿a quién corresponde la iniciativa legislativa?",
"rights": [
"Al {Mix:y,Gobierno|Congreso|Senado}."
],
"wrongs": [
"Al {Mix:y,Gobierno|Congreso|Senado|las Asambleas de las Comunidades Autónomas}.",
"Al {Mix:y,Gobierno|Congreso|Senado|la Iniciativa Legislativa Popular}.",
"Solamente al {rand:Gobierno|Congreso|Senado}.",
"A las {Mix:y,Asambleas de las CCAA|Cortes Generales}."
]
},
{
"question": "{rand:Según el Art. 87.2|En materia de iniciativa legislativa}, las Asambleas de las Comunidades Autónomas podrán:",
"rights": [
"{rand:Solicitar al Gobierno la adopción de un proyecto de ley|Remitir a la Mesa del Congreso una proposición de ley}."
],
"wrongs": [
"Solicitar al {rand:Gobierno|Congreso} la adopción de un proyecto de ley {rand:o|y} remitir a la Mesa del {rand:Senado|Tribunal Constitucional} una proposición de ley.",
"Presentar {rand:proyectos de ley|proposiciones de ley} directamente ante el {rand:Senado|Pleno del Congreso}.",
"Delegar {rand:un número ilimitado de|hasta {range:4-10} miembros} para {rand:votar|defender} una proposición de ley ante la Mesa."
]
},
{
"question": "Al remitir una proposición de ley a la Mesa del Congreso {rand:según el Art. 87.2|por parte de una CCAA}, ¿cuántos miembros de la Asamblea pueden ser delegados para su defensa?",
"rights": [
"{Cap:un} máximo de {range:3-3} miembros."
],
"wrongs": [
"{Cap:un} máximo de {range:1-2|4-5} miembros.",
"{Cap:un} mínimo de {range:3-3} miembros.",
"{Cap:exactamente} {range:1-1} miembro {rand:por cada grupo parlamentario|de la Asamblea}."
]
},
{
"question": "{rand:Según el Art. 87.3|Para una Iniciativa Legislativa Popular}, ¿cuántas firmas acreditadas se exigen como mínimo?",
"rights": [
"{range:500000-500000} firmas."
],
"wrongs": [
"{range:100000-100000} firmas.",
"{range:250000-250000} firmas.",
"{range:1000000-1000000} firmas."
]
},
{
"question": "{rand:La Iniciativa Legislativa Popular (Art. 87.3)|El Art. 87.3} regula la presentación de:",
"rights": [
"{Cap:proposiciones} de ley."
],
"wrongs": [
"{Cap:proyectos} de ley.",
"{Cap:proposiciones} no de ley.",
"{rand:Proyectos|Proposiciones} de {rand:reforma constitucional|ley orgánica}."
]
},
{
"question": "Según el Art. 87.3, la iniciativa legislativa popular NO procederá en materias:",
"rights": [
"{rand:Propias de ley orgánica|Tributarias|De carácter internacional|Relativas a la prerrogativa de gracia}."
],
"wrongs": [
"Relativas a {rand:la educación|la sanidad|los derechos de los trabajadores|la vivienda}.",
"{rand:Propias de ley ordinaria|De carácter autonómico|De carácter local}.",
"Relativas a {rand:la organización judicial|la defensa nacional} (que no sean Ley Orgánica)."
]
},
{
"question": "Señale la materia {rand:excluida|prohibida} para la Iniciativa Legislativa Popular (Art. 87.3):",
"rights": [
"{rand:Tributarias|De carácter internacional|Relativas a la prerrogativa de gracia|Propias de ley orgánica}."
],
"wrongs": [
"Relativas al {rand:Defensor del Pueblo|Tribunal de Cuentas} (siempre que no sea L.O.).",
"Relativas a {rand:la sanidad pública|la educación concertada}.",
"Sobre {rand:vivienda|medio ambiente|protección civil}."
]
},
{
"question": "Según el Artículo 166 de la Constitución, ¿en qué términos se ejercerá la iniciativa de reforma constitucional?",
"rights": [
"En los términos previstos en los apartados {range:1-1} y {range:2-2} del artículo 87."
],
"wrongs": [
"En los términos previstos en los apartados {range:1-1}, {range:2-2} y {range:3-3} del artículo 87.",
"En los términos previstos {rand:solo en el apartado 1|solo en el apartado 3} del artículo 87.",
"En los términos que {rand:decida el Gobierno|aprueben las Cortes Generales|establezca una ley orgánica específica}."
]
},
{
"question": "Teniendo en cuenta {rand:el Art. 166 y el Art. 87|la regulación constitucional}, ¿quién NO tiene iniciativa de reforma constitucional?",
"rights": [
"La iniciativa {rand:legislativa|popular} (regulada en el Art. 87.3)."
],
"wrongs": [
"El {rand:Gobierno|Congreso|Senado}.",
"Las Asambleas de las {rand:Comunidades Autónomas|CCAA}.",
"El {Mix:y,Gobierno|Senado}."
]
},
{
"question": "{rand:De acuerdo con el Art. 166|En materia de reforma constitucional}, ¿quiénes ostentan la iniciativa?",
"rights": [
"{Mix:y,el Gobierno|el Congreso|el Senado|las Asambleas de las Comunidades Autónomas}."
],
"wrongs": [
"El {Mix:y,Gobierno|Congreso|Senado} (pero no las CCAA).",
"El {Mix:y,Gobierno|Congreso|Senado|las Asambleas de las CCAA|la Iniciativa Popular}.",
"Solamente {rand:el Gobierno|las Cortes Generales}."
]
},
{
"question": "{rand:Conforme al Art. 166|En materia de reforma constitucional}, las Asambleas de las CCAA podrán:",
"rights": [
"{Select:1-2,o,Solicitar al Gobierno la adopción de un proyecto de reforma|Remitir a la Mesa del Congreso una proposición de reforma}."
],
"wrongs": [
"Exigir al {rand:Gobierno|Congreso} la adopción de un proyecto de reforma.",
"Presentar una proposición de reforma {rand:directamente al Senado|ante el Tribunal Constitucional}.",
"Remitir a la Mesa del Congreso una proposición de reforma {rand:y|pero no} solicitar al Gobierno un proyecto."
]
}
]
}
]

View File

@ -21,20 +21,20 @@
], ],
"wrongs": [ "wrongs": [
"{rand:{EBEP}|El propio {TREBEP}}{rand:|, en su artículo {rand:uno|1}.g}", "{rand:{EBEP}|El propio {TREBEP}}{rand:|, en su artículo {rand:uno|1}.g}",
"La Constitución Española {rand:directamente|en su artículo {rand:82|86}}", "La {ce78} {rand:directamente|en su artículo {rand:82|86}}",
"Una Ley Orgánica {rand:aprobada en {range:2014-2015}|de delegación}" "Una Ley Orgánica {rand:aprobada en {range:2014-2015}|de delegación}"
] ]
}, },
{ {
"question": "¿En virtud de qué artículos de la Constitución Española se realizó la delegación legislativa mencionada en el preámbulo?", "question": "¿En virtud de qué artículos de la {ce78} se realizó la delegación legislativa mencionada en el preámbulo?",
"rights": [ "rights": [
"En virtud de lo establecido en el artículo {range:82|82-83} y siguientes de la Constitución Española", "En virtud de lo establecido en el artículo {range:82|82-83} y siguientes de la {ce78}",
"Del artículo 82 y siguientes de la CE" "Del artículo 82 y siguientes de la CE"
], ],
"wrongs": [ "wrongs": [
"Del artículo {range:86|85-86} de la CE (Decreto-Ley)", "Del artículo {range:86|85-86} de la {ce78} (Decreto-Ley)",
"Del artículo {range:81|80-81} de la CE (Leyes Orgánicas)", "Del artículo {range:81|80-81} de la {ce78} (Leyes Orgánicas)",
"Del artículo {range:149|148-149} de la CE (Competencias)", "Del artículo {range:149|148-149} de la {ce78} (Competencias)",
"{Select:1-3,y,El artículo 81|El artículo 86|El artículo 97|El artículo 149} de la Constitución" "{Select:1-3,y,El artículo 81|El artículo 86|El artículo 97|El artículo 149} de la Constitución"
] ]
}, },

View File

@ -0,0 +1,271 @@
[{
"origin": "RDL 5/2015 (TREBEP) - Preámbulo",
"title": "Test sobre el Preámbulo del TREBEP",
"group": "trebep_preambulo",
"source": [
"https://www.boe.es/buscar/act.php?id=BOE-A-2015-11719",
"https://www.youtube.com/watch?v=6mwhTr6pHkk&list=PLM96U4ATrC6wpB6Fyw8MM71ZZ8P0qzjA1&index=2"
],
"variables" : {
"TREBEP_nombre" : ["rand", ["TREBEP", "Texto Refundido de la Ley del Estatuto Básico del Empleado Público", "{RDL} 5/2015{rand:|, de 30 de Octubre}"]],
"TREBEP_RDL" : ["plain", ["{rand:RDL|Real Decreto Legislativo} 5/2015{rand:|, de 30 de Octubre}"]],
"EBEP_nombre" : ["rand", ["EBEP", "Estatuto Básico del Empleado Público"]],
"EBEP_ley" : ["plain", ["Ley 7/2007{rand:|, de 12 de Abril}"]]
},
"queries": [{
"question": [
"¿Cuál es la norma básica en materia de personal, según el texto proporcionado, que siempre se debe consultar ante lagunas o discrepancias en otras regulaciones?",
"Identifique la norma fundamental, de carácter básico en materia de personal, a la que se debe acudir para la resolución de lagunas o discrepancias según lo expuesto.",
"Ante la existencia de vacíos o contradicciones normativas que afecten a los derechos y deberes de los empleados públicos, ¿qué texto refundido actúa como norma supletoria o principal de referencia?"
],
"rights": [
"El Texto Refundido del Estatuto Básico del Empleado Público (TREBEP).",
"El TREBEP.",
"Real Decreto Legislativo 5/2015, de 30 de octubre."
],
"wrongs": [
"La Ley 7/2007 (Estatuto Básico del Empleado Público) que fue derogada por el TREBEP.",
"La Ley de Funcionarios Civiles de 1964, que sigue parcialmente en vigor.",
"El Real Decreto Legislativo 364/1995, que contiene parte de la normativa de desarrollo.",
"La Ley de Reforma de la Función Pública de 1984, que mantiene su vigencia en aspectos no contradictorios con el TREBEP."
],
"wrong_explanations": [
"La Ley 7/2007 es el Estatuto Básico del Empleado Público original, que fue expresamente derogada por la Disposición Derogatoria Única del Real Decreto Legislativo 5/2015 (TREBEP).",
"La Ley de Funcionarios Civiles de 1964 sigue en vigor en lo que no ha sido derogado expresamente y no contradice al TREBEP, pero no es considerada la norma básica principal de referencia en la actualidad.",
"El RDL 364/1995 son normas de desarrollo anteriores al TREBEP y siguen vigentes, pero el TREBEP es la norma básica con carácter supletorio sobre las demás.",
"La Ley de 1984 sigue en vigor en lo que no ha sido derogado, pero no posee la primacía ni el carácter de texto refundido básico actual como el TREBEP."
]
}, {
"question": [
"Indique la fecha de entrada en vigor en su totalidad del Texto Refundido del Estatuto Básico del Empleado Público (TREBEP).",
"¿En qué día específico se produjo la entrada en vigor completa del TREBEP?",
"El Real Decreto Legislativo 5/2015, de 30 de octubre, entra en vigor en su totalidad el:"
],
"rights": [
"El 1 de noviembre de 2015."
],
"wrongs": [
"El 30 de octubre de 2015, fecha de su firma.",
"El 31 de octubre de 2015, fecha de su publicación en el BOE.",
"El 22 de julio de 1918, fecha de la Ley de Bases mencionada en el texto.",
"Al día siguiente de su publicación, pero no entra en vigor en su totalidad, salvo una pequeña parte."
],
"wrong_explanations": [
"El 30 de octubre de 2015 fue la fecha de la firma o aprobación del RDL 5/2015.",
"El 31 de octubre de 2015 fue la fecha de su publicación en el Boletín Oficial del Estado (BOE).",
"El 22 de julio de 1918 es la fecha de una Ley de Bases que garantizó la inamovilidad de la condición de funcionario de carrera, no la entrada en vigor del TREBEP.",
"El texto indica que entra en vigor el 1 de noviembre (al día siguiente de su publicación) en su totalidad, 'salvo una pequeña parte', haciendo referencia a que el grueso entra en esa fecha."
]
}, {
"question": [
"Según el artículo 1 del TREBEP, ¿cuál es el objeto principal de la ley?",
"La finalidad del TREBEP, según su artículo 1, se centra en:"
],
"rights": [
"Establecer las bases que regulan el régimen estatutario de los funcionarios públicos y del personal laboral en su ámbito.",
"Fijar las bases del régimen estatutario de funcionarios y personal laboral."
],
"wrongs": [
"Derogar expresamente todas las normas anteriores a 2015, incluyendo la Ley de Funcionarios Civiles del 64.",
"Regular el desarrollo normativo de las Entidades Locales y la Policía Local.",
"Establecer exclusivamente el régimen estatutario de los funcionarios de carrera, dejando el personal laboral al Estatuto de los Trabajadores.",
"Garantizar la objetividad y la imparcialidad en el servicio a través de la inamovilidad de la condición de funcionario de carrera."
],
"wrong_explanations": [
"El TREBEP no deroga todas las normas anteriores a 2015, sino que mantiene en vigor lo no derogado expresamente que no lo contradiga. La Ley del 64 sigue en parte en vigor.",
"La regulación de Entidades Locales se aborda en el Artículo 3, no en el 1 (Objeto).",
"El objeto abarca tanto a los funcionarios públicos como al personal laboral 'en su ámbito'.",
"La objetividad y la inamovilidad son fundamentos de actuación (Artículo 1, fundamentos), pero el 'objeto' es establecer las bases del régimen estatutario en general."
]
}, {
"question": [
"De la siguiente lista, ¿cuál NO está incluida dentro del ámbito de aplicación directo del TREBEP (Artículo 2)?",
"Identifique la entidad o personal que, según el Artículo 2 y 4, NO se rige por el ámbito de aplicación del TREBEP, sino por legislación específica propia (Artículo 4)."
],
"rights": [
"El personal de las Fuerzas Armadas.",
"Los Jueces y Magistrados.",
"El Centro Nacional de Inteligencia (CNI)."
],
"wrongs": [
"Las Entidades Locales.",
"Las Universidades Públicas.",
"La Administración General del Estado (AGE).",
"La Administración de las Comunidades Autónomas (CC.AA.)."
],
"wrong_explanations": [
"Las Entidades Locales SÍ están incluidas en el ámbito de aplicación (Artículo 2).",
"Las Universidades Públicas SÍ están incluidas en el ámbito de aplicación (Artículo 2).",
"La AGE SÍ está incluida en el ámbito de aplicación (Artículo 2).",
"Las CC.AA. SÍ están incluidas en el ámbito de aplicación (Artículo 2)."
]
}, {
"question": [
"¿Qué personal se rige por su normativa específica y, supletoriamente, por lo dispuesto en el TREBEP (Artículo 5)?",
"El régimen jurídico de Correos y Telégrafos se rige por su normativa específica y, con carácter supletorio, por:"
],
"rights": [
"El personal de Correos y Telégrafos."
],
"wrongs": [
"El personal laboral, que se rige por el Cuarto Convenio Colectivo Único.",
"El personal retribuido por arancel, que tiene legislación específica propia.",
"El personal de la Policía Local, que se rige por legislación estatal y de las CC.AA., con salvedad de la Ley Orgánica de Fuerzas y Cuerpos de Seguridad.",
"Las Cortes Generales, que tienen legislación específica propia."
],
"wrong_explanations": [
"El personal laboral se rige por su legislación específica (convenio colectivo) y solo determinados permisos (maternidad, etc.) se rigen por el TREBEP (Artículo 7), no siendo un régimen supletorio general.",
"El personal por arancel tiene legislación específica propia (Artículo 4), sin aplicación supletoria del TREBEP mencionada en ese artículo.",
"La Policía Local se rige por legislación estatal y autonómica (Artículo 3), no por la regla de 'normativa específica + TREBEP supletorio'.",
"Las Cortes Generales tienen legislación específica propia (Artículo 4) sin aplicación supletoria del TREBEP mencionada en ese artículo."
]
}, {
"question": [
"El TREBEP, en su Disposición Derogatoria Única, deroga directamente:",
"Según la Disposición Derogatoria Única, ¿qué norma fue expresamente derogada por el TREBEP?"
],
"rights": [
"El Estatuto Básico del Empleado Público (Ley 7/2007) y hasta la última norma de personal del año 2015, antes de la publicación del texto refundido."
],
"wrongs": [
"Toda la normativa de personal anterior a 2015, incluidos el RDL 364/1995 y la Ley de 1964.",
"Solo el Estatuto Básico del Empleado Público (Ley 7/2007), manteniendo en vigor el resto de normas.",
"Únicamente los Reales Decretos Legislativos 364/1995 y 365/1995, que regulaban la provisión de puestos y situaciones administrativas.",
"La Ley de Reforma de la Función Pública de 1984 y la Ley de Funcionarios Civiles de 1964."
],
"wrong_explanations": [
"El texto afirma que el RDL 364/1995 y la Ley de 1964, entre otras, siguen en vigor en lo que no contradiga al TREBEP y no haya sido derogado expresamente.",
"Además de la Ley 7/2007, deroga 'hasta la última norma de personal del año 2015, antes de la publicación de este texto refundido'.",
"Los Reales Decretos 364 y 365, entre otros, siguen vigentes en lo que no ha sido derogado expresamente.",
"Estas dos leyes siguen en vigor todo lo que no haya sido derogado expresamente y no contradiga al TREBEP, por lo que no fueron derogadas directamente en su totalidad."
]
}, {
"question": [
"¿Cuál de los siguientes es un fundamento de actuación de la Administración Pública, mencionado en el Artículo 1 del TREBEP y remarcado como importante en el texto?",
"El texto hace énfasis en dos fundamentos de actuación del Artículo 1. ¿Cuál de los siguientes corresponde a uno de ellos?",
"El servicio garantizado por la inamovilidad de la condición de funcionario de carrera está ligado al fundamento de:"
],
"rights": [
"La objetividad, la profesionalidad y la imparcialidad en el servicio.",
"El servicio a los ciudadanos y a los intereses generales."
],
"wrongs": [
"El respeto al orden jerárquico y a la disciplina.",
"La eficacia en la gestión de los recursos públicos.",
"El sometimiento pleno a la Ley y al Derecho.",
"La inamovilidad del funcionario de carrera."
],
"wrong_explanations": [
"El respeto al orden jerárquico y a la disciplina es un fundamento general, pero el texto hace énfasis específico en el servicio al ciudadano y la objetividad/imparcialidad.",
"La eficacia es un principio de actuación, pero el texto se centra en el servicio al ciudadano y la objetividad/imparcialidad.",
"El sometimiento a la Ley es un principio fundamental, pero el texto destaca otros dos para el ejercicio de la labor en la Administración.",
"La inamovilidad es el **medio** para garantizar la objetividad/imparcialidad en el servicio, no el fundamento de actuación en sí mismo."
]
}, {
"question": [
"La garantía de que el trabajo del funcionario de carrera está fuera de las injerencias políticas del momento se fundamenta en:",
"¿Qué característica de la condición de funcionario de carrera asegura la objetividad del trabajo frente a las injerencias políticas, según el texto?",
"La inamovilidad de la condición de funcionario de carrera fue aprobada históricamente en una Ley de Bases de qué fecha:"
],
"rights": [
"La inamovilidad de la condición de funcionario de carrera.",
"Fue aprobada en una Ley de Bases del 22 de julio de 1918."
],
"wrongs": [
"El Real Decreto Legislativo 5/2015.",
"El fundamento del servicio a los ciudadanos y a los intereses generales.",
"La prohibición expresa de afiliarse a partidos políticos.",
"El principio de imparcialidad en el servicio."
],
"wrong_explanations": [
"El RDL 5/2015 (TREBEP) es la norma actual que recoge esta garantía, pero la 'inmovilidad' como tal es lo que lo asegura, aprobada en la Ley de Bases de 1918.",
"Este es uno de los fundamentos de actuación, pero la 'inmovilidad' es la garantía explícita que protege al trabajo de las injerencias políticas.",
"El texto no menciona la prohibición expresa de afiliarse a partidos políticos, sino que la garantía reside en la inamovilidad.",
"El principio de imparcialidad es el **resultado** de la garantía que ofrece la inamovilidad."
]
}, {
"question": [
"¿Cuál de las siguientes Entidades NO tiene carácter supletorio del TREBEP en su regulación?",
"Según el ámbito de aplicación (Artículo 2) y supletoriedad del TREBEP, ¿qué entidad se incluye en su ámbito y no necesita supletoriedad general?",
"El TREBEP tiene carácter supletorio a todo el personal que no esté incluido dentro de su ámbito de aplicación. ¿Cuál de los siguientes SÍ está incluido?"
],
"rights": [
"Las Entidades Locales.",
"Ceuta y Melilla."
],
"wrongs": [
"El personal laboral de la Administración General del Estado.",
"El personal de Correos y Telégrafos, que tiene su normativa específica.",
"El personal de las Cortes Generales, que tiene legislación específica propia.",
"El personal de las Fuerzas y Cuerpos de Seguridad del Estado."
],
"wrong_explanations": [
"El personal laboral de la AGE (Artículo 7) se rige por su convenio, y solo permisos específicos se rigen por el TREBEP (no es su ámbito directo total, aunque es supletorio o complementario).",
"El personal de Correos y Telégrafos (Artículo 5) se rige por su normativa específica y, supletoriamente, por el TREBEP.",
"Las Cortes Generales (Artículo 4) tienen legislación específica propia, por lo que el TREBEP tiene un carácter supletorio o nulo según su propia ley.",
"Este personal (Artículo 4) tiene legislación específica propia, no rigiéndose directamente por el ámbito de aplicación del TREBEP."
]
}, {
"question": [
"Según el Artículo 7 del TREBEP, ¿cuál es la legislación específica principal que rige al personal laboral?",
"El personal laboral se rige por su legislación específica de personal laboral, que es:"
],
"rights": [
"El Cuarto Convenio Colectivo Único del personal laboral dentro de la Administración General del Estado."
],
"wrongs": [
"El Estatuto de los Trabajadores en su totalidad.",
"El Estatuto Básico del Empleado Público (TREBEP) en su totalidad.",
"El Real Decreto Legislativo 365/1995, que regula las situaciones administrativas.",
"El Cuarto Convenio Colectivo Único del personal laboral, que fue derogado en 2019."
],
"wrong_explanations": [
"El Estatuto de los Trabajadores se aplica, pero el convenio colectivo es la legislación de personal laboral específica mencionada.",
"El personal laboral se rige por su legislación (el convenio) y no por el TREBEP en su totalidad, aunque el TREBEP es supletorio y regula permisos específicos.",
"El RDL 365/1995 es una norma reglamentaria de desarrollo del EBEP para funcionarios, no la legislación principal del personal laboral.",
"El Convenio Colectivo sigue vigente; la modificación de 2019 afectó a la regulación de ciertos permisos, no derogó el convenio."
]
}, {
"question": [
"¿Qué modificación normativa de 2019 afectó al Artículo 7 del TREBEP en relación con el personal laboral?",
"Identifique el punto específico en el que el TREBEP pasa a regir sobre el Estatuto de los Trabajadores para el personal laboral, tras la modificación de 2019:",
"A partir de 2019, los permisos de personal laboral por nacimiento (madre biológica y distinto de madre biológica), adopción y lactancia se rigen por:"
],
"rights": [
"El TREBEP pasa a regir sobre el Estatuto de los Trabajadores para los permisos por nacimiento (madre biológica y distinto), adopción y lactancia del personal laboral que trabaje en la AGE."
],
"wrongs": [
"El TREBEP pasó a derogar el Cuarto Convenio Colectivo Único del personal laboral.",
"El personal laboral pasó a regirse en su totalidad por el TREBEP, dejando de lado el Estatuto de los Trabajadores.",
"Se extendió la aplicación directa del TREBEP a los Jueces, Fiscales y Magistrados.",
"Se incluyó al personal de Correos y Telégrafos en el ámbito de aplicación directa del TREBEP."
],
"wrong_explanations": [
"El convenio no fue derogado, solo se modificó el régimen de ciertos permisos.",
"Solo permisos específicos del personal laboral de la AGE pasaron a regirse por el TREBEP, no el régimen laboral en su totalidad.",
"Este personal sigue teniendo legislación específica propia (Artículo 4).",
"El personal de Correos y Telégrafos se rige por su normativa específica más el TREBEP supletorio (Artículo 5), y esta no fue la modificación de 2019 del Artículo 7."
]
}, {
"question": [
"¿Quiénes son los responsables de elaborar las normas de desarrollo del TREBEP, según el Artículo 6?",
"El desarrollo normativo de los artículos del TREBEP corresponde a:",
"Según el Artículo 6, las normas de desarrollo del Texto Refundido serán elaboradas por:"
],
"rights": [
"Las Cortes Generales y las Asambleas Legislativas en su ámbito de aplicación."
],
"wrongs": [
"El Gobierno central a través de Reales Decretos Legislativos.",
"Las Entidades Locales y la Administración General del Estado.",
"El Banco de España y el Fondo de Garantía de Depósitos de Entidades de Crédito.",
"Únicamente las Comunidades Autónomas, ya que son las que tienen el desarrollo de la función pública."
],
"wrong_explanations": [
"Aunque hay Reales Decretos que desarrollan el TREBEP (como los citados 364 y 365), la norma indica que el desarrollo es competencia de las Cortes Generales y las Asambleas Legislativas (poder legislativo).",
"La AGE y las Entidades Locales son ámbitos de aplicación, pero la potestad de elaborar las normas de desarrollo recae en los órganos legislativos (Cortes y Asambleas).",
"Estas entidades tienen legislación específica propia (Artículo 4) y no tienen potestad para elaborar las normas de desarrollo del TREBEP.",
"Son las Cortes Generales (ámbito estatal) y las Asambleas Legislativas (ámbito autonómico) en conjunto."
]
}]
}]

View File

@ -17,6 +17,7 @@
"meses" : ["rand", ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]], "meses" : ["rand", ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]],
"RDL" : ["rand", ["RDL", "Real Decreto Legislativo"]], "RDL" : ["rand", ["RDL", "Real Decreto Legislativo"]],
"RD_L" : ["rand", ["RDL", "Real Decreto-Ley"]],
"tipo_ley_random" : ["rand", [ "tipo_ley_random" : ["rand", [
"Ley{rand:| Orgánica| Ordinaria| Autonómica}", "Ley{rand:| Orgánica| Ordinaria| Autonómica}",
"Real Decreto{rand:|{rand:-| }Ley| Legislativo}", "Real Decreto{rand:|{rand:-| }Ley| Legislativo}",

View File

@ -5,6 +5,26 @@
"group" : "kyman_comun_leyes", "group" : "kyman_comun_leyes",
"variables" : { "variables" : {
"l_random_ley_lista" : ["list", [
"{trebep_ley}", "{ebep_ley}", "{lopd_ley}", "{rgpd_ley}",
"{d_95_46_ce_ley}", "{d_315_1964_ley}",
"{rd_364_1995_ley}", "{rd_365_1995_ley}", "{rd_4_2010_ley}",
"{rdl_2_2015_ley}", "{rdl_14_2021_ley}",
"{l_11_2007_ley}", "{l_30_30_1984_ley}", "{l_39_2015_ley}", "{l_40_2015_ley}", "{l_30_1984_ley}", "{l_53_1984_ley}",
"{lo_2_1986_ley}"
]],
"l_random_ley_el_lista" : ["list", [
"el {trebep_ley}", "el {ebep_ley}", "la {lopd_ley}", "el {rgpd_ley}",
"el {d_95_46_ce_ley}", "el {d_315_1964_ley}",
"el {rd_364_1995_ley}", "el {rd_365_1995_ley}", "el {rd_4_2010_ley}",
"el {rdl_2_2015_ley}", "el {rdl_14_2021_ley}",
"la {l_11_2007_ley}", "la {l_30_30_1984_ley}", "la {l_39_2015_ley}", "la {l_40_2015_ley}", "la {l_30_1984_ley}", "la {l_53_1984_ley}",
"la {lo_2_1986_ley}"
]],
"l_random_ley" : ["rand", ["list:l_random_ley_lista"]],
"l_random_ley_el" : ["rand", ["list:l_random_ley_el_lista"]],
"l_30_30_1984_ley" : ["plain", "Ley 30/1984{rand:|, de 2 de Agosto}"], "l_30_30_1984_ley" : ["plain", "Ley 30/1984{rand:|, de 2 de Agosto}"],
"l_30_30_1984_nombre" : ["plain", "Ley de Medidas para la Reforma de la Función Pública"], "l_30_30_1984_nombre" : ["plain", "Ley de Medidas para la Reforma de la Función Pública"],
"l_30_30_1984" : ["rand", [ "l_30_30_1984" : ["rand", [
@ -89,6 +109,13 @@
"{rand:|Ley del }Estatuto de los Trabajadores" "{rand:|Ley del }Estatuto de los Trabajadores"
]], ]],
"rdl_14_2021_ley" : ["plain", "{RD_L} 14/2021{rand:|, de 6 de Julio}"],
"rdl_14_2021_nombre" : ["plain", "de Medidas Urgentes para la Reducción de la Temporalidad en el Empleo Público"],
"rdl_14_2021" : ["rand", [
"{rdl_14_2021_nombre}",
"{rdl_14_2021_ley}{rand:|, por el que se aprueba el {rdl_14_2021_nombre}}"
]],
"l_30_1984_ley" : ["plain", "Ley 30/1984{rand:|, de 2 de Agosto}"], "l_30_1984_ley" : ["plain", "Ley 30/1984{rand:|, de 2 de Agosto}"],
"l_30_1984_nombre" : ["plain", "Ley de Medidas para la Reforma de la Función Pública"], "l_30_1984_nombre" : ["plain", "Ley de Medidas para la Reforma de la Función Pública"],
"l_30_1984" : ["rand", [ "l_30_1984" : ["rand", [

View File

@ -0,0 +1,11 @@
[{
"origin": "TREBEP - Artículos 1-7 (video transcript)",
"title": "Preguntas TREBEP Art 1-7 - Video",
"group": "trebep_art1_7_video",
"source": "/Public/data/srt/Real Decreto Legislativo 52015, TREBEP - Art 1 a 7 - 1a parte. (1080p_30fps_H264-128kbit_AAC).español.clean.txt",
"queries": [{
"question" : "¿Qué Ley aprueba el Texto Refundido de la Ley del Estatuto Básico del Empleado Público?",
"rights" : ["{RDL} 5/2015{rand:|, de 30 de octubre}."],
"wrongs" : ["{Cap:{tipo_ley_random}}.", "{Cap:{l_random_ley}}"]
}]
}]

View File

@ -0,0 +1,266 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI",
"group" : "kyman_redes_osi",
"variables" : {
"protocolos_osi1" : ["list", [
"Tranceptores", "{DSP}", "Interfaz {WiFi}", "Interfaz {LiFi}",
"Interfaz {WiMAX}", "Interfaz {LTE}", "{PHYceiver}",
"{PHYceiver} integrados en capas MAC en implementaciones {SoC}",
"Interfaz {USB}", "{IrDA}", "{sATA}", "Interfaces de Chip", "Interfaz Bluetooth",
"1000BASE-T", "10BASE-T", "100BASE5",
"{DSL}", "{ONT}", "Interfaz {GSM}",
"Interfaz {2G}", "Interfaz {3G}", "Interfaz {4G}", "Interfaz {5G}",
"{SDH}", "{SONET}", "Hub", "Concentrador", "Repetidor",
"Cables", "Conectores", "Modem", "El Hardware de una {NIC}"
]],
"protocolos_osi2" : ["list", [
"{MAC}", "{LLC}", "Switch", "Bridge",
"Comunicación {WiFi}", "{Ethernet}", "{VLAN}", "{PPP}", "{HDLC}",
"{STP}", "{LACP}", "{ARP}", "{CDP}", "{LLDP}"
]],
"protocolos_osi3" : ["list", [
"{IPv4}", "{IPv6}",
"{IP}", "{ICMP}", "{IGMP}", "{OSPF}", "{BGP}", "{EIGRP}",
"{RIP}", "Enrutador", "Router", "{VRF}",
"{ICMP}", "{IGMP}", "{IPSec}", "{tracert}", "{traceroute}"
]],
"protocolos_osi4" : ["list", [
"{TCP}", "{UDP}", "{SCTP}",
"Puertos", "Multiplexación", "Control de flujo",
"Control de errores", "{Mix:y,segmentación|reensamblaje}",
"Comunicación Socket", "{QUIC}"
]],
"protocolos_osi5" : ["list", [
"Establecimiento de sesión", "Mantenimiento de sesión",
"Terminación de sesión", "Control de diálogo",
"Sincronización", "Punto de {mix:y,verificación|recuperación}",
"{RPC}", "{RTP}", "{SIP}", "{NetBIOS}", "{SMB}", "{NFS}",
"SOCKS{rand:|4{rand:|a}|5}", "{PPTP}", "{L2TP}", "{PAP}",
"Half-Duplex", "Full-Duplex"
]],
"protocolos_osi6" : ["list", [
"{ASCII}", "{JPEG}", "{MPEG}", "{GIF}", "{TIFF}", "{PNG}",
"{SSL}", "{TSL}", "{SSL_TSL}", "{XDR}", "{EBCDIC}", "{MIME}", "{BMP}",
"Compresión de datos", "Codificación de datos",
"Encriptación de datos"
]],
"protocolos_osi7" : ["list", [
"{DNS}", "{HTTP}", "{HTTPS}", "{rand:|Clientes }{FTP}", "{SMTP}", "{POP3}",
"{IMAP}", "{SNMP}", "{Telnet}", "{SSH}", "{DHCP}", "{SSH}", "{IRC}",
"{NTP}", "{LDAP}", "{RDP}", "{VNC}", "{SNMP}", "{TFTP}",
"Servicios de {rand:transferencia de archivos|{email}}"
]],
"protocolos_osi_aleatorio" : ["select", [1, 6], "y", [
"list:protocolos_osi1",
"list:protocolos_osi2",
"list:protocolos_osi3",
"list:protocolos_osi4",
"list:protocolos_osi5",
"list:protocolos_osi6",
"list:protocolos_osi7"
]]
},
"queries" : [{
"question" : "¿Qué es el {rand:ISO/IEC 7498-1|Modelo OSI}?",
"rights" : ["Es un modelo de referencia para los protocolos de red{rand:| creado en 1980{rand:| por la {ISO}}}."],
"wrongs" : [
"Es un protocolo de comunicación utilizado exclusivamente en redes {rand:{PAN}|{LAN}|{WAN}|{MAN}}.",
"Es un estándar de Hardware para la interconexión de dispositivos de red.",
"Es un Software de gestión de redes{rand:| desarrollado por la {IEEE}}.",
"Es un {OS} diseñado para la administración de redes."
]
}, {
"question" : "¿Qué significa 'OSI' en el {rand:ISO/IEC 7498-1|Modelo OSI}?",
"rights" : [
"Interconexión de Sistemas Abiertos",
"Open Systems Interconnection."
],
"wrongs" : [
"Integración de Sistemas Operativos.",
"Operating System Integration.",
"Interfaz de Señal Óptica",
"Optical Signal Interface.",
"Infraestructura de Sistemas Organizacionales",
"Organizational Systems Infrastructure.",
"Interacción de Servicios en Línea",
"Online Service Interaction."
]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI - Capas",
"group" : "kyman_redes_osi",
"queries" : [{
"question" : "¿Cuál es la Capa de Aplicación del {modelo_osi}?",
"rights" : ["Capa 7."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de Presentación del {modelo_osi}?",
"rights" : ["Capa 6."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de Sesión del {modelo_osi}?",
"rights" : ["Capa 5."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de Transporte del {modelo_osi}?",
"rights" : ["Capa 4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de Red del {modelo_osi}?",
"rights" : ["Capa 3."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de Enlace de Datos del {modelo_osi}?",
"rights" : ["Capa 2."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa Física del {modelo_osi}?",
"rights" : ["Capa 1."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI - Capas II",
"group" : "kyman_redes_osi",
"queries" : [{
"question" : "¿Cuál es la Capa de 7 del {modelo_osi}?",
"rights" : ["Capa de Aplicación."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 6 del {modelo_osi}?",
"rights" : ["Capa de Presentación."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 5 del {modelo_osi}?",
"rights" : ["Capa de Sesión."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 4 del {modelo_osi}?",
"rights" : ["Capa de Transporte."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 3 del {modelo_osi}?",
"rights" : ["Capa de Red."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 2 del {modelo_osi}?",
"rights" : ["Capa de Enlace de Datos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 1 del {modelo_osi}?",
"rights" : ["Capa Física."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI - Protocolos",
"group" : "kyman_redes_osi",
"queries" : [{
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi1_solo}?",
"rights" : ["{rand:list:protocolos_osi1}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi2_solo}?",
"rights" : ["{rand:list:protocolos_osi2}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi3_solo}?",
"rights" : ["{rand:list:protocolos_osi3}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi4_solo}?",
"rights" : ["{rand:list:protocolos_osi4}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi5_solo}?",
"rights" : ["{rand:list:protocolos_osi5}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi6_solo}?",
"rights" : ["{rand:list:protocolos_osi6}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {osi7_solo}?",
"rights" : ["{rand:list:protocolos_osi7}."],
"wrongs" : ["Las aplicaciones de Software que corren en un ordenador."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI - Protocolos II",
"group" : "kyman_redes_osi",
"queries" : [{
"question" : "¿A qué capa del {modelo_osi} pertenecen las aplicaciones de Software que corren en un ordenador?",
"rights" : ["No están consideradas dentro de una capa de Red."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi1}'?",
"rights" : ["{osi1_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi2}'?",
"rights" : ["{osi2_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi3}'?",
"rights" : ["{osi3_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi4}'?",
"rights" : ["{osi4_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi5}'?",
"rights" : ["{osi5_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi6}'?",
"rights" : ["{osi6_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_osi} pertenece '{select:1-1,y,list:protocolos_osi7}'?",
"rights" : ["{osi7_nombre}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI - Protocolos III",
"group" : "kyman_redes_osi",
"queries" : [{
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi1_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi1}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi2_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi2}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi3_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi3}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi4_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi4}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi5_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi5}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi6_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi6}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {osi7_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_osi7}."],
"wrongs" : ["{protocolos_osi_aleatorio}."]
}]
}]

View File

@ -0,0 +1,241 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo TCP/IP",
"group" : "kyman_redes_tcpip",
"variables" : {
"protocolos_tcpip1" : ["list", [
"list:protocolos_osi1",
"list:protocolos_osi2"
]],
"protocolos_tcpip2" : ["list", ["list:protocolos_osi3"]],
"protocolos_tcpip3" : ["list", ["list:protocolos_osi4"]],
"protocolos_tcpip4" : ["list", [
"list:protocolos_osi5",
"list:protocolos_osi6",
"list:protocolos_osi7"
]],
"protocolos_tcpip_aleatorio" : ["select", [1, 6], "y", [
"list:protocolos_tcpip1",
"list:protocolos_tcpip2",
"list:protocolos_tcpip3",
"list:protocolos_tcpip4"
]]
},
"queries" : [{
"question" : "¿Qué es el Modelo {TCP_IP}?",
"rights" : [
"Es {rand:una explicación|un modelo} de protocolos de red{rand:| creado por {mix:y,Vinton Cerf|Robert E.Kahn}}{rand:| en la década de 1970}{rand:| el cual fue implementado en la red {ARPANET}{rand:| por encargo de {DARPA}}}.",
"Es {rand:una explicación|un modelo} de protocolos mantenido por la {IETF}."
],
"wrongs" : ["Es {rand:una explicación|un modelo|una teoría|un teorema|un conjunto|un estándar} de protocolos {select:1-3,y,mantenido|diseñado|creado} por {select:1-3,y,la {ISO}|la {IEEE}|la {IEC}}{rand:| en {range:1930-2018}}{rand:| para infraestructuras {select:1-3,o,{PAN}|{LAN}|{MAN}|{WAN}}{rand:| únicamente|sólamente}}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo TCP/IP - Capas",
"group" : "kyman_redes_tcpip",
"queries" : [{
"question" : "¿Cuál es la Capa {rand:de Aplicación|Process} del {modelo_tcp_ip}?",
"rights" : ["Capa 4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa {rand:de Transporte|Host-to-Host} del {modelo_tcp_ip}?",
"rights" : ["Capa 3."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa {rand:de Internet|Network} del {modelo_tcp_ip}?",
"rights" : ["Capa 2."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa {rand:de Acceso{rand:| al Medio}|Media} del {modelo_tcp_ip}?",
"rights" : ["Capa 1."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo TCP/IP - Capas II",
"group" : "kyman_redes_tcpip",
"queries" : [{
"question" : "¿Cuál es la Capa de 4 del {modelo_tcp_ip}?",
"rights" : ["Capa {tcpip4_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 3 del {modelo_tcp_ip}?",
"rights" : ["Capa {tcpip3_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 2 del {modelo_tcp_ip}?",
"rights" : ["Capa {tcpip2_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la Capa de 1 del {modelo_tcp_ip}?",
"rights" : ["Capa {tcpip1_nombre}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo TCP/IP - Protocolos",
"group" : "kyman_redes_tcpip",
"queries" : [{
"question" : "¿Cuál de los siguientes elementos pertenecen a la {tcpip1_solo}?",
"rights" : ["{rand:list:protocolos_tcpip1}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {tcpip2_solo}?",
"rights" : ["{rand:list:protocolos_tcpip2}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {tcpip3_solo}?",
"rights" : ["{rand:list:protocolos_tcpip3}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de los siguientes elementos pertenecen a la {tcpip4_solo}?",
"rights" : ["{rand:list:protocolos_tcpip4}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo TCP/IP - Protocolos II",
"group" : "kyman_redes_tcpip",
"queries" : [{
"question" : "¿A qué capa del {modelo_tcp_ip} pertenece '{select:1-1,y,list:protocolos_tcpip1}'?",
"rights" : ["{tcpip1_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_tcp_ip} pertenece '{select:1-1,y,list:protocolos_tcpip2}'?",
"rights" : ["{tcpip2_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_tcp_ip} pertenece '{select:1-1,y,list:protocolos_tcpip3}'?",
"rights" : ["{tcpip3_nombre}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa del {modelo_tcp_ip} pertenece '{select:1-1,y,list:protocolos_tcpip4}'?",
"rights" : ["{tcpip4_nombre}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo TCP/IP - Protocolos III",
"group" : "kyman_redes_tcpip",
"queries" : [{
"question" : "¿A qué capa del {modelo_tcp_ip} pertenecen las aplicaciones de Software que corren en un ordenador?",
"rights" : ["No están consideradas dentro de una capa de Red."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {tcpip1_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_tcpip1}."],
"wrongs" : ["{protocolos_tcpip_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {tcpip2_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_tcpip2}."],
"wrongs" : ["{protocolos_tcpip_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {tcpip3_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_tcpip3}."],
"wrongs" : ["{protocolos_tcpip_aleatorio}."]
}, {
"question" : "¿Cuál de las siguientes listas de elementos pertenecen a la {tcpip4_solo}?",
"rights" : ["{select:1-6,y,list:protocolos_tcpip4}."],
"wrongs" : ["{protocolos_tcpip_aleatorio}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI-TCP/IP",
"group" : "kyman_redes_osi_tcpip",
"queries" : [{
"question" : "¿A qué capa de red pertenecen las aplicaciones de Software que corren en un ordenador?",
"rights" : ["No están consideradas dentro de una capa de Red."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi1}'?",
"rights" : ["{osi1}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi2}'?",
"rights" : ["{osi2}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi3}'?",
"rights" : ["{osi3}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi4}'?",
"rights" : ["{osi4}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi5}'?",
"rights" : ["{osi5}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi6}'?",
"rights" : ["{osi6}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red pertenece '{select:1-1,y,list:protocolos_osi7}'?",
"rights" : ["{osi7}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI-TCP/IP - Equivalencias OSI-TCP/IP",
"group" : "kyman_redes_osi_tcpip",
"queries" : [{
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi1_solo}?",
"rights" : ["{tcpip1_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi2_solo}?",
"rights" : ["{tcpip1_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi3_solo}?",
"rights" : ["{tcpip2_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi4_solo}?",
"rights" : ["{tcpip3_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi5_solo}?",
"rights" : ["{tcpip4_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi6_solo}?",
"rights" : ["{tcpip4_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_tcp_ip} pertenece la {osi7_solo}?",
"rights" : ["{tcpip4_solo}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Modelo OSI-TCP/IP - Equivalencias TCP/IP-OSI",
"group" : "kyman_redes_osi_tcpip",
"queries" : [{
"question" : "¿A qué capa red del {modelo_osi} pertenece la {tcpip1_solo}?",
"rights" : ["{Mix:y,{osi1_solo}|{osi2_solo}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_osi} pertenece la {tcpip2_solo}?",
"rights" : ["{osi3_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_osi} pertenece la {tcpip3_solo}?",
"rights" : ["{osi4_solo}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿A qué capa red del {modelo_osi} pertenece la {tcpip4_solo}?",
"rights" : ["{Mix:y,{osi5_solo}|{osi6_solo}|{osi7_solo}}."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,23 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Hardware",
"group" : "kyman_redes_hardware",
"queries" : [{
"question" : "Cuáles de los siguientes {rand:elementos|componentes} de red que trabaja en la {osi1}?",
"rights" : ["Repetidor.", "Hub."],
"brothers_are_wrongs" : true
}, {
"question" : "Cuáles de los siguientes {rand:elementos|componentes} de red que trabaja en la {osi2}?",
"rights" : ["Switch.", "Puente.", "Conmutador."],
"brothers_are_wrongs" : true
}, {
"question" : "Cuáles de los siguientes {rand:elementos|componentes} de red que trabaja en la {osi3}?",
"rights" : ["Router.", "Cortafuegos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama la memoria de enrutamiento de {MAC} de un Switch?",
"rights" : ["Tabla {CAM}."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -17,12 +17,12 @@
"LAN" : ["rand", ["LAN", "Local Area Network", "Red de Área Local"]], "LAN" : ["rand", ["LAN", "Local Area Network", "Red de Área Local"]],
"MAN" : ["rand", ["MAN", "Metropolitan Area Network", "Red de Área Metropolitana"]], "MAN" : ["rand", ["MAN", "Metropolitan Area Network", "Red de Área Metropolitana"]],
"WAN" : ["rand", ["WAN", "Wide Area Network", "Red de Área Amplia"]], "WAN" : ["rand", ["WAN", "Wide Area Network", "Red de Área Amplia"]],
"VLAN" : ["rand", ["VLAN", "Virtual Local Area Network", "Red de Área Local Virtual"]], "VLAN" : ["rand", ["VLAN", "Virtual Local Area Network", "Red de Área Local Virtual", "{IEEE} 802.1Q"]],
"PANs" : ["rand", ["PAN", "Personal Area Networks", "Redes de Área Personal"]], "PANs" : ["rand", ["PAN", "Personal Area Networks", "Redes de Área Personal"]],
"LANs" : ["rand", ["LAN", "Local Area Networks", "Redes de Área Local"]], "LANs" : ["rand", ["LAN", "Local Area Networks", "Redes de Área Local"]],
"MANs" : ["rand", ["MAN", "Metropolitan Area Networks", "Redes de Área Metropolitana"]], "MANs" : ["rand", ["MAN", "Metropolitan Area Networks", "Redes de Área Metropolitana"]],
"WANs" : ["rand", ["WAN", "Wide Area Networks", "Redes de Área Amplia"]], "WANs" : ["rand", ["WAN", "Wide Area Networks", "Redes de Área Amplia"]],
"VLANs" : ["rand", ["VLAN", "Virtual Local Area Networks", "Redes de Área Local Virtual"]], "VLANs" : ["rand", ["VLAN", "Virtual Local Area Networks", "Redes de Área Local Virtual", "{IEEE} 802.1Q"]],
"IP" : ["rand", ["IP", "Internet Protocol", "Protocolo de Internet"]], "IP" : ["rand", ["IP", "Internet Protocol", "Protocolo de Internet"]],
"IP_el" : ["rand", ["la IP", "el Internet Protocol", "el Protocolo de Internet"]], "IP_el" : ["rand", ["la IP", "el Internet Protocol", "el Protocolo de Internet"]],
@ -37,7 +37,7 @@
"IPv6" : ["rand", ["IPv6", "Internet Protocol version 6", "Protocolo de Internet versión 6"]], "IPv6" : ["rand", ["IPv6", "Internet Protocol version 6", "Protocolo de Internet versión 6"]],
"DNS" : ["rand", ["DNS", "Domain Name System", "Sistema de Nombres de Dominio"]], "DNS" : ["rand", ["DNS", "Domain Name System", "Sistema de Nombres de Dominio"]],
"MAC" : ["rand", ["MAC", "Media Access Control", "Control de Acceso al Medio"]], "MAC" : ["rand", ["MAC", "Media Access Control", "Control de Acceso al Medio"]],
"WiFi" : ["rand", ["Wi-Fi", "Wireless Fidelity", "Fidelidad Inalámbrica"]], "WiFi" : ["rand", ["Wi-Fi", "Wifi", "Wireless Fidelity", "Fidelidad Inalámbrica", "{IEEE} 802.11"]],
"SSID" : ["rand", ["SSID", "Service Set Identifier", "Identificador de Conjunto de Servicios"]], "SSID" : ["rand", ["SSID", "Service Set Identifier", "Identificador de Conjunto de Servicios"]],
"WPA" : ["rand", ["WPA", "{WiFi} Protected Access", "Acceso Protegido {WiFi}"]], "WPA" : ["rand", ["WPA", "{WiFi} Protected Access", "Acceso Protegido {WiFi}"]],
"WPA2" : ["rand", ["WPA2", "{WiFi} Protected Access II", "Acceso Protegido {WiFi} II"]], "WPA2" : ["rand", ["WPA2", "{WiFi} Protected Access II", "Acceso Protegido {WiFi} II"]],
@ -59,7 +59,6 @@
"HTTP3" : ["rand", ["HTTP/3", "HyperText Transfer Protocol version 3", "Protocolo de Transferencia de Hipertexto versión 3"]], "HTTP3" : ["rand", ["HTTP/3", "HyperText Transfer Protocol version 3", "Protocolo de Transferencia de Hipertexto versión 3"]],
"SSH" : ["rand", ["SSH", "Secure Shell", "Shell Seguro"]], "SSH" : ["rand", ["SSH", "Secure Shell", "Shell Seguro"]],
"SSL" : ["rand", ["SSL", "Secure Sockets Layer", "Capa de Conexión Segura"]], "SSL" : ["rand", ["SSL", "Secure Sockets Layer", "Capa de Conexión Segura"]],
"TLS" : ["rand", ["TLS", "Transport Layer Security", "Seguridad de la Capa de Transporte"]],
"SFTP" : ["rand", ["SFTP", "{SSH} File Transfer Protocol", "Protocolo de Transferencia de Archivos {SSH}"]], "SFTP" : ["rand", ["SFTP", "{SSH} File Transfer Protocol", "Protocolo de Transferencia de Archivos {SSH}"]],
"FTPS" : ["rand", ["FTPS", "{FTP} Secure", "{FTP} Seguro"]], "FTPS" : ["rand", ["FTPS", "{FTP} Secure", "{FTP} Seguro"]],
"SMB" : ["rand", ["SMB", "Server Message Block", "Bloque de Mensajes del Servidor"]], "SMB" : ["rand", ["SMB", "Server Message Block", "Bloque de Mensajes del Servidor"]],
@ -80,7 +79,7 @@
"OSPF" : ["rand", ["OSPF", "Open Shortest Path First", "Primer Camino Más Corto Abierto"]], "OSPF" : ["rand", ["OSPF", "Open Shortest Path First", "Primer Camino Más Corto Abierto"]],
"RIP" : ["rand", ["RIP", "Routing Information Protocol", "Protocolo de Información de Enrutamiento"]], "RIP" : ["rand", ["RIP", "Routing Information Protocol", "Protocolo de Información de Enrutamiento"]],
"IEEE" : ["rand", ["IEEE", "Institute of Electrical and Electronics Engineers", "Instituto de Ingenieros Eléctricos y Electrónicos"]], "IEEE" : ["rand", ["IEEE", "Institute of Electrical and Electronics Engineers", "Instituto de Ingenieros Eléctricos y Electrónicos"]],
"STP" : ["rand", ["STP", "Spanning Tree Protocol", "Protocolo de Árbol de Expansión"]], "STP" : ["rand", ["STP", "Spanning Tree Protocol", "Protocolo de Árbol de Expansión", "{IEEE} 802.1D"]],
"PoE" : ["rand", ["PoE", "Power over Ethernet", "Alimentación a través de Ethernet"]], "PoE" : ["rand", ["PoE", "Power over Ethernet", "Alimentación a través de Ethernet"]],
"WLAN" : ["rand", ["WLAN", "Wireless Local Area Network", "Red de Área Local Inalámbrica"]], "WLAN" : ["rand", ["WLAN", "Wireless Local Area Network", "Red de Área Local Inalámbrica"]],
"WWAN" : ["rand", ["WWAN", "Wireless Wide Area Network", "Red de Área Amplia Inalámbrica"]], "WWAN" : ["rand", ["WWAN", "Wireless Wide Area Network", "Red de Área Amplia Inalámbrica"]],
@ -120,7 +119,7 @@
"NVMe" : ["rand", ["NVMe", "Non-Volatile Memory Express", "Memoria No Volátil Express"]], "NVMe" : ["rand", ["NVMe", "Non-Volatile Memory Express", "Memoria No Volátil Express"]],
"PHP" : ["rand", ["PHP", "Hypertext Preprocessor", "Preprocesador de Hipertexto"]], "PHP" : ["rand", ["PHP", "Hypertext Preprocessor", "Preprocesador de Hipertexto"]],
"SQL" : ["rand", ["SQL", "Structured Query Language", "Lenguaje de Consulta Estructurada"]], "SQL" : ["rand", ["SQL", "Structured Query Language", "Lenguaje de Consulta Estructurada"]],
"NoSQL" : ["rand", ["NoSQL", "Not Only SQL", "No Solo SQL"]], "NoSQL" : ["rand", ["NoSQL", "Not Only {SQL}", "No Solo {SQL}"]],
"ORM" : ["rand", ["ORM", "Object-Relational Mapping", "Mapeo Objeto-Relacional"]], "ORM" : ["rand", ["ORM", "Object-Relational Mapping", "Mapeo Objeto-Relacional"]],
"MVC" : ["rand", ["MVC", "Model-View-Controller", "Modelo-Vista-Controlador"]], "MVC" : ["rand", ["MVC", "Model-View-Controller", "Modelo-Vista-Controlador"]],
"MVVM" : ["rand", ["MVVM", "Model-View-ViewModel", "Modelo-Vista-VistaModelo"]], "MVVM" : ["rand", ["MVVM", "Model-View-ViewModel", "Modelo-Vista-VistaModelo"]],
@ -206,10 +205,10 @@
"SVG" : ["rand", ["SVG", "Scalable Vector Graphics", "Gráficos Vectoriales Escalables"]], "SVG" : ["rand", ["SVG", "Scalable Vector Graphics", "Gráficos Vectoriales Escalables"]],
"BMP" : ["rand", ["BMP", "Bitmap", "Mapa de Bits"]], "BMP" : ["rand", ["BMP", "Bitmap", "Mapa de Bits"]],
"GIF" : ["rand", ["GIF", "Graphics Interchange Format", "Formato de Intercambio de Gráficos"]], "GIF" : ["rand", ["GIF", "Graphics Interchange Format", "Formato de Intercambio de Gráficos"]],
"JPEG" : ["rand", ["JPEG", "Joint Photographic Experts Group", "Grupo Conjunto de Expertos en Fotografía"]], "JPEG" : ["rand", ["JPEG", "JPG", "JPGE", "Joint Photographic Experts Group", "Grupo Conjunto de Expertos en Fotografía"]],
"PNG" : ["rand", ["PNG", "Portable Network Graphics", "Gráficos de Red Portátiles"]], "PNG" : ["rand", ["PNG", "Portable Network Graphics", "Gráficos de Red Portátiles"]],
"TIFF" : ["rand", ["TIFF", "Tagged Image File Format", "Formato de Archivo de Imagen Etiquetada"]], "TIFF" : ["rand", ["TIFF", "Tagged Image File Format", "Formato de Archivo de Imagen Etiquetada"]],
"MPEG" : ["rand", ["MPEG", "Moving Picture Experts Group", "Grupo de Expertos en Imágenes en Movimiento"]], "MPEG" : ["rand", ["MPEG", "MPG", "MPGE", "Moving Picture Experts Group", "Grupo de Expertos en Imágenes en Movimiento"]],
"MP3" : ["rand", ["MP3", "MPEG-1 Audio Layer III", "Capa de Audio MPEG-1 III"]], "MP3" : ["rand", ["MP3", "MPEG-1 Audio Layer III", "Capa de Audio MPEG-1 III"]],
"AAC" : ["rand", ["AAC", "Advanced Audio Coding", "Codificación de Audio Avanzada"]], "AAC" : ["rand", ["AAC", "Advanced Audio Coding", "Codificación de Audio Avanzada"]],
"WAV" : ["rand", ["WAV", "Waveform Audio File Format", "Formato de Archivo de Audio de Forma de Onda"]], "WAV" : ["rand", ["WAV", "Waveform Audio File Format", "Formato de Archivo de Audio de Forma de Onda"]],
@ -432,6 +431,57 @@
"AI_CV" : ["rand", ["CV", "Computer Vision", "Visión por Computadora"]], "AI_CV" : ["rand", ["CV", "Computer Vision", "Visión por Computadora"]],
"AI_RL" : ["rand", ["RL", "Reinforcement Learning", "Aprendizaje por Refuerzo"]], "AI_RL" : ["rand", ["RL", "Reinforcement Learning", "Aprendizaje por Refuerzo"]],
"TTL" : ["rand", ["TTL", "Time to Live", "Tiempo de Vida"]], "TTL" : ["rand", ["TTL", "Time to Live", "Tiempo de Vida"]],
"DSP" : ["rand", ["DSP", "Digital Signal Processing", "Procesamiento Digital de Señales"]],
"ADC" : ["rand", ["ADC", "Analog-to-Digital Converter", "Convertidor Analógico a Digital"]],
"DAC" : ["rand", ["DAC", "Digital-to-Analog Converter", "Convertidor Digital a Analógico"]],
"LTE" : ["rand", ["LTE", "Long-Term Evolution", "Evolución a Largo Plazo"]],
"PHY" : ["rand", ["PHY", "Physical Layer", "Capa Física"]],
"PHYceiver" : ["rand", ["PHYceiver", "Physical Layer Transceiver", "Transceptor de Capa Física"]],
"IrDA" : ["rand", ["IrDA", "Infrared Data Association", "Asociación de Datos Infrarrojos"]],
"PPP" : ["rand", ["PPP", "Point-to-Point Protocol", "Protocolo Punto a Punto"]],
"HDLC" : ["rand", ["HDLC", "High-Level Data Link Control", "Control de Enlace de Datos de Alto Nivel"]],
"LACP" : ["rand", ["LACP", "Link Aggregation Control Protocol", "Protocolo de Control de Agregación de Enlaces", "{IEEE} 802.3ad"]],
"CDP" : ["rand", ["CDP", "Cisco Discovery Protocol", "Protocolo de Descubrimiento de Cisco"]],
"LLDP" : ["rand", ["LLDP", "Link Layer Discovery Protocol", "Protocolo de Descubrimiento de Capa de Enlace"]],
"CAM" : ["rand", ["CAM", "Content Addressable Memory", "Memoria de Dirección de Contenido"]],
"EIGRP" : ["rand", ["EIGRP", "Enhanced Interior Gateway Routing Protocol", "Protocolo de Enrutamiento de Puerta de Enlace Interior Mejorado"]],
"VRF" : ["rand", ["VRF", "Virtual Routing and Forwarding", "Enrutamiento y Reenvío Virtual"]],
"QUIC" : ["rand", ["QUIC", "Quick UDP Internet Connections", "Conexiones Rápidas de Internet UDP"]],
"SCTP" : ["rand", ["SCTP", "Stream Control Transmission Protocol", "Protocolo de Transmisión de Control de Flujo"]],
"BIOS" : ["rand", ["BIOS", "Basic Input/Output System", "Sistema Básico de Entrada/Salida"]],
"NetBIOS" : ["rand", ["NetBIOS", "Network Basic Input/Output System", "Sistema Básico de Entrada/Salida de Red"]],
"PAP" : ["rand", ["PAP", "Password Authentication Protocol", "Protocolo de Autenticación de Contraseña"]],
"RPC" : ["rand", ["RPC", "Remote Procedure Call", "Llamada a Procedimiento Remoto"]],
"SIP" : ["rand", ["SIP", "Session Initiation Protocol", "Protocolo de Inicio de Sesión"]],
"RTP" : ["rand", ["RTP", "Real-time Transport Protocol", "Protocolo de Transporte en Tiempo Real"]],
"RTCP" : ["rand", ["RTCP", "RTP Control Protocol", "Protocolo de Control RTP"]],
"L2TP" : ["rand", ["L2TP", "Layer 2 Tunneling Protocol", "Protocolo de Túnel de Capa 2"]],
"PPTP" : ["rand", ["PTP", "Precision Time Protocol", "Protocolo de Tiempo de Precisión"]],
"TLS" : ["rand", ["TLS", "Transport Layer Security", "Seguridad de la Capa de Transporte"]],
"SSL_TLS" : ["rand", ["SSL/TLS", "Secure Sockets Layer / Transport Layer Security", "Capa de Conexiones Seguras / Seguridad de la Capa de Transporte"]],
"XDR" : ["rand", ["XDR", "Extended Detection and Response", "Detección y Respuesta Extendida"]],
"SNMP" : ["rand", ["SNMP", "Simple Network Management Protocol", "Protocolo Simple de Administración de Red"]],
"email" : ["rand", ["email", "mail", "E-Mail", "Electronic Mail", "correo electrónico"]],
"emails" : ["rand", ["emails", "mails", "E-Mails", "Electronic Mails", "correos electrónicos"]],
"IEC" : ["rand", ["IEC", "International Electrotechnical Commission", "Comisión Electrotécnica Internacional"]],
"WiMAX" : ["rand", ["WiMAX", "Worldwide Interoperability for Microwave Access", "Interoperabilidad Mundial para el Acceso por Microondas"]],
"VNC" : ["rand", ["VNC", "Virtual Network Computing", "Computación en Red Virtual"]],
"RMON" : ["rand", ["RMON", "Remote Monitoring", "Monitoreo Remoto"]],
"IRC" : ["rand", ["IRC", "Internet Relay Chat", "Chat de Relevo de Internet"]],
"RDP" : ["rand", ["RDP", "Remote Desktop Protocol", "Protocolo de Escritorio Remoto"]],
"GSM" : ["rand", ["GSM", "Global System for Mobile Communications", "Sistema Global para las Comunicaciones Móviles"]],
"IPSec" : ["rand", ["IPSec", "Internet Protocol Security", "Seguridad de Protocolo de Internet"]],
"Telnet" : ["rand", ["telnet", "teletype network", "red de teletipos"]],
"ONT" : ["rand", ["ONT", "Optical Network Terminal", "Terminal de Red Óptica"]],
"ARPANET" : ["rand", ["ARPANET", "Modelo {DARPA}", "Advanced Research Projects Agency Network", "Red de la Agencia de Proyectos de Investigación Avanzados"]],
"DARPA" : ["rand", ["DARPA", "DoD", "Defense Advanced Research Projects Agency", "Agencia de Proyectos de Investigación Avanzados de Defensa"]],
"CVS" : ["rand", ["CVS", "Concurrent Versions System", "Sistema de Versiones Concurrentes"]],
"SVN" : ["rand", ["SVN", "Subversion", "Subversión"]],
"TFS" : ["rand", ["TFS", "Team Foundation Server", "Servidor de Fundación de Equipo"]],
"VSS" : ["rand", ["VSS", "Visual SourceSafe", "Fuente Segura Visual"]],
"git_PAT" : ["rand", ["Git PAT", "Git Personal Access Token", "Token de Acceso Personal Git"]],
"Ethernet" : ["rand", ["Ethernet", "Familia {IEEE} 802.3{rand:|{rand:| de Estándares} de {LAN}}"]],
"broadcast" : ["rand", ["Broadcast", "Difusión"]], "broadcast" : ["rand", ["Broadcast", "Difusión"]],
"multicast" : ["rand", ["Multicast", "Multidifusión"]], "multicast" : ["rand", ["Multicast", "Multidifusión"]],
@ -477,34 +527,51 @@
"ENS" : ["rand", ["ENS", "Esquema Nacional de Segridad", "{RD} 311/2022{rand:|, de 2 de Mayo}{rand:|, por el que se regula el Esquema Nacional de Seguridad}"]], "ENS" : ["rand", ["ENS", "Esquema Nacional de Segridad", "{RD} 311/2022{rand:|, de 2 de Mayo}{rand:|, por el que se regula el Esquema Nacional de Seguridad}"]],
"NTI" : ["rand", ["NTI", "Norma Técnica de Interoperabilidad"]], "NTI" : ["rand", ["NTI", "Norma Técnica de Interoperabilidad"]],
"osi1" : ["rand", [ "modelo_osi" : ["rand", [
"Capa {rand:de Física|1} del Modelo {OSI}", "Modelo {OSI}",
"Capa {rand:de Acceso al Medio|del Medio|1} del Modelo {TCP_IP}" "{ISO}/{IEC} 7498-1"
]], ]],
"osi2" : ["rand", [ "modelo_tcp_ip" : ["plain", "Modelo {TCP_IP}"],
"Capa {rand:de Enlace{rand:| de Red}|2} del Modelo {OSI}", "osi1_nombre" : ["rand", ["Física", "PHY", "1"]],
"Capa {rand:de Acceso al Medio|del Medio|1} del Modelo {TCP_IP}" "osi2_nombre" : ["rand", ["Enlace{rand:| de Datos}", "Data Link", "2"]],
]], "osi3_nombre" : ["rand", ["Red", "Network", "3"]],
"osi3" : ["rand", [ "osi4_nombre" : ["rand", ["Transporte", "Transport", "4"]],
"Capa {rand:de Red|3} del Modelo {OSI}", "osi5_nombre" : ["rand", ["Sesión", "Session", "5"]],
"Capa {rand:de Internet|Network|2} del Modelo {TCP_IP}" "osi6_nombre" : ["rand", ["Presentación", "Presentation", "6"]],
]], "osi7_nombre" : ["rand", ["Aplicación", "Application", "7"]],
"osi4" : ["rand", [ "tcpip1_nombre" : ["rand", ["Acceso al Medio", "del Medio", "Media", "1"]],
"Capa {rand:de Transporte|4} del Modelo {OSI}", "tcpip2_nombre" : ["rand", ["Internet", "Network", "2"]],
"Capa {rand:de Transporte|3} del Modelo {TCP_IP}" "tcpip3_nombre" : ["rand", ["Transporte", "Host-to-Host", "3"]],
]], "tcpip4_nombre" : ["rand", ["Aplicación", "Process", "4"]],
"osi5" : ["rand", [ "osi1_solo" : ["plain", "Capa {osi1_nombre} del {modelo_osi}"],
"Capa {rand:de Sesión|5} del Modelo {OSI}", "osi2_solo" : ["plain", "Capa {osi2_nombre} del {modelo_osi}"],
"Capa {rand:de Aplicación|4} del Modelo {TCP_IP}" "osi3_solo" : ["plain", "Capa {osi3_nombre} del {modelo_osi}"],
]], "osi4_solo" : ["plain", "Capa {osi4_nombre} del {modelo_osi}"],
"osi6" : ["rand", [ "osi5_solo" : ["plain", "Capa {osi5_nombre} del {modelo_osi}"],
"Capa {rand:de Presentación|6} del Modelo {OSI}", "osi6_solo" : ["plain", "Capa {osi6_nombre} del {modelo_osi}"],
"Capa {rand:de Aplicación|4} del Modelo {TCP_IP}" "osi7_solo" : ["plain", "Capa {osi7_nombre} del {modelo_osi}"],
]], "tcpip1_solo" : ["plain", "Capa {tcpip1_nombre} del {modelo_tcp_ip}"],
"osi7" : ["rand", [ "tcpip2_solo" : ["plain", "Capa {tcpip2_nombre} del {modelo_tcp_ip}"],
"Capa {rand:de Aplicación|7} del Modelo {OSI}", "tcpip3_solo" : ["plain", "Capa {tcpip3_nombre} del {modelo_tcp_ip}"],
"Capa {rand:de Aplicación|4} del Modelo {TCP_IP}" "tcpip4_solo" : ["plain", "Capa {tcpip4_nombre} del {modelo_tcp_ip}"],
]] "osi1" : ["rand", ["{osi1_solo}", "{tcpip1_solo}"]],
"osi2" : ["rand", ["{osi2_solo}", "{tcpip1_solo}"]],
"osi3" : ["rand", ["{osi3_solo}", "{tcpip2_solo}"]],
"osi4" : ["rand", ["{osi4_solo}", "{tcpip3_solo}"]],
"osi5" : ["rand", ["{osi5_solo}", "{tcpip4_solo}"]],
"osi6" : ["rand", ["{osi6_solo}", "{tcpip4_solo}"]],
"osi7" : ["rand", ["{osi7_solo}", "{tcpip4_solo}"]],
"tcpip1" : ["rand", ["{tcpip1_solo}", "Capas {mix:y,{osi1_nombre|{osi2_nombre}} del {modelo_osi}"]],
"tcpip2" : ["rand", ["{tcpip2_solo}", "{osi3_solo}"]],
"tcpip3" : ["rand", ["{tcpip3_solo}", "{osi4_solo}"]],
"tcpip4" : ["rand", ["{tcpip4_solo}", "Capas {mix:y,{osi5_nombre}|{osi6_nombre}|{osi7_nombre}} del {modelo_osi}"]],
"capas_red_lista" : ["rand", ["{rand:{osi1}|{osi2}|{osi3}|{osi4}|{osi5}|{osi6}|{osi7}}"]],
"hops" : ["rand", ["saltos{rand:| de red}", "Hops"]],
"win_os" : ["rand", ["Windows", "{DOS}", "{MS_DOS}"]],
"unix_os" : ["rand", ["UNIX", "{GNU}/Linux", "{GNU}", "Linux"]],
"workflow" : ["rand", ["workflow", "flujo de trabajo"]],
"workflows" : ["rand", ["workflows", "flujos de trabajo"]]
} }
}] }]

View File

@ -31,7 +31,7 @@
}, { }, {
"origin" : "KyMAN", "origin" : "KyMAN",
"sources" : [], "sources" : [],
"title" : "Software - Comando Ping", "title" : "Software - Comando Ping - Argumentos",
"group" : "kyman_software_comando_ping", "group" : "kyman_software_comando_ping",
"queries" : [{ "queries" : [{
"question" : "¿Qué hace el parámetro {rand:{rand:-|/}i en Windows|-t en Linux} en el comando ping?", "question" : "¿Qué hace el parámetro {rand:{rand:-|/}i en Windows|-t en Linux} en el comando ping?",
@ -66,4 +66,42 @@
"rights" : ["Especifica el tiempo de espera, en milisegundos, para recibir una respuesta antes de considerar que el paquete se ha perdido."], "rights" : ["Especifica el tiempo de espera, en milisegundos, para recibir una respuesta antes de considerar que el paquete se ha perdido."],
"brothers_are_wrongs" : true "brothers_are_wrongs" : true
}] }]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando Ping - Argumentos II",
"group" : "kyman_software_comando_ping",
"queries" : [{
"question" : "¿Qué argumento del comando ping establece el {TTL}{rand:| de los paquetes enviados {ICMP}}?",
"rights" : ["{rand:{rand:-|/}i en Windows|-t en Linux}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping hace que el comando ping envíe paquetes {ICMP} de forma continua hasta que se interrumpa manualmente?",
"rights" : ["{rand:-|/}t en Windows."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping especifica el número de paquetes {ICMP} que se enviarán durante la prueba de ping?",
"rights" : ["{rand:{rand:-|/}n en Windows|-c en Linux}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping especifica el tamaño, en bytes, de los paquetes {ICMP} que se enviarán?",
"rights" : ["{rand:{rand:-|/}l en Windows|-s en Linux}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping resuelve y muestra el nombre de host asociado a la dirección {IP} de destino?",
"rights" : ["{rand:{rand:-|/}a en Windows|-a en Linux}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping fuerza al comando ping a utilizar la {IPv4} para la comunicación?",
"rights" : ["-4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping fuerza al comando ping a utilizar la {IPv6} para la comunicación?",
"rights" : ["-6."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando ping especifica el tiempo de espera, en milisegundos, para recibir una respuesta antes de considerar que el paquete se ha perdido?",
"rights" : ["{rand:-|/}w."],
"brothers_are_wrongs" : true
}]
}] }]

View File

@ -0,0 +1,107 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando 'sed'",
"group" : "kyman_software_comando_sed",
"queries" : [{
"question" : "¿Qué es el comando 'sed'?",
"rights" : [
"Es un editor de texto en línea de comandos utilizado para {mix:y,filtrar|transformar} texto en sistemas Unix y Linux.",
"Permite realizar operaciones como {mix:y,sustituciones|eliminaciones|inserciones|transformaciones} de texto mediante expresiones regulares.",
"Es especialmente útil para procesar grandes cantidades de texto de manera {mix:y,eficiente|automatizada}.",
"Se utiliza comúnmente en Scripts de Shell para manipular {mix:y,archivos de texto|flujos de datos}.",
"Su nombre viene de Stream EDitor{rand:|, ya que trabaja con flujos de texto {I_O}}."
],
"wrongs" : [
"Es un lenguaje de programación utilizado para desarrollar aplicaciones web interactivas.",
"Es una herramienta de gestión de bases de datos utilizada para {select:1-2,y,almacenar|recuperar} datos estructurados.",
"Es un {OS} diseñado para dispositivos {select:1-2,y,móviles|tabletas}.",
"Nos permite crear interfaces gráficas de usuario para aplicaciones de escritorio.",
"Nos permite hacer un control de nuestra red."
]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando 'sed' - Argumentos",
"group" : "kyman_software_comando_sed",
"queries" : [{
"question" : "¿Qué hace el argumento -E en el comando 'sed'?",
"rights" : ["Permite utilizar expresiones regulares extendidas, facilitando la escritura de patrones complejos sin necesidad de escapar ciertos caracteres especiales."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -I en el comando 'sed'?",
"rights" : ["Edita los archivos creando siempre una copia de seguridad de los mismos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -r en el comando 'sed'?",
"rights" : ["{rand:Cómo el argumento -E del mismo comando|Permite utilizar expresiones regulares extendidas, facilitando la escritura de patrones complejos sin necesidad de escapar ciertos caracteres especiales}, pero con la compatibilidad de GNU."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -i en el comando 'sed'?",
"rights" : ["Edita los archivos, similar al argumento -I, pero independizando cada uno en espera de otros archivos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -l en el comando 'sed'?",
"rights" : ["Establece el tamaño del búfer de salida para la función de impresión{rand:|, lo que puede ser útil para manejar grandes volúmenes de datos}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -e en el comando 'sed'?",
"rights" : ["Permite especificar múltiples {mix:o,comandos|expresiones} para ser ejecutados en una sola invocación del comando."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -n en el comando 'sed'?",
"rights" : ["Suprime la salida automática, mostrando solo las líneas que coinciden con los patrones especificados."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -f en el comando 'sed'?",
"rights" : ["Permite leer las instrucciones del comando 'sed' desde un archivo en lugar de especificarlas directamente en la línea de comandos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el argumento -u en el comando 'sed'?",
"rights" : ["Hace que el comando 'sed' procese la entrada de manera {rand:unbuffered|sin búfer}, mostrando los resultados inmediatamente."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando 'sed' - Argumentos II",
"group" : "kyman_software_comando_sed",
"queries" : [{
"question" : "¿Qué argumento del comando 'sed' necesitamos para poder hacer uso de los patrones regulares extendidas?",
"rights" : ["-E"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para editar los archivos creando siempre una copia de seguridad de los mismos?",
"rights" : ["-I"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para poder hacer uso de Expresiones Regulares Extendidas compatibles con GNU?",
"rights" : ["-r"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para poder editar archivos de forma independiente entre sí?",
"rights" : ["-i"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para establecer el tamaño del búfer de salida para la función de impresión?",
"rights" : ["-l"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para poder establecer múltiples {mix:o,comandos|expresiones}?",
"rights" : ["-e"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para suprimir la salida automática y sólo mostrar las salidas de las líneas coincidentes?",
"rights" : ["-n"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para leer instrucciones de archivos existentes?",
"rights" : ["-f"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué argumento del comando 'sed' necesitamos para trabajar sin Buffer, saliendo inmediatamente?",
"rights" : ["-u"],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,249 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando 'tracert'",
"group" : "kyman_software_comando_tracert",
"queries" : [{
"question" : "¿Qué es el comando '{rand:tracert|traceroute}'?",
"rights" : ["Es una herramienta de red utilizada para rastrear la ruta que toman los paquetes de datos desde un origen hasta un destino en una red {IP}."],
"wrongs" : [
"Es un comando utilizado para medir la velocidad de transferencia de datos entre dos puntos en una red.",
"Es una herramienta para diagnosticar problemas de conectividad mediante el envío de paquetes {ICMP} y midiendo el tiempo de {rand:respuesta|latencia}.",
"Es un comando utilizado para asignar direcciones {IP} a dispositivos en una {rand:{PAN}|{LAN}|{WAN}|{MAN}}.",
"Es una herramienta para monitorear el tráfico de red en tiempo real.",
"Es un comando utilizado para configurar parámetros de red en {OS} {select:1-3,y,Windows|Linux|Android|Unix|MacOS|iOS}."
]
}, {
"question" : "¿Cuál es la función principal del comando '{rand:tracert|traceroute}'?",
"rights" : ["Identificar cada uno de los nodos intermedios (routers) que los paquetes atraviesan en su camino hacia el destino final, mostrando la dirección {IP} y el tiempo que tarda en llegar a cada nodo."],
"wrongs" : [
"Medir la velocidad de transferencia de datos entre dos puntos en una red.",
"Diagnosticar problemas de conectividad mediante el envío de paquetes {ICMP} y midiendo el tiempo de {rand:respuesta|latencia}.",
"Asignar direcciones {IP} a dispositivos en una {rand:{PAN}|{LAN}|{WAN}|{MAN}}.",
"Monitorear el tráfico de red en tiempo real.",
"Configurar parámetros de red en {OS} {select:1-3,y,Windows|Linux|Android|Unix|MacOS|iOS}."
]
}, {
"question" : "¿Qué tipo de información proporciona el comando '{rand:tracert|traceroute}'?",
"rights" : ["Proporciona información sobre la ruta tomada por los paquetes, incluyendo las direcciones {IP} de los routers intermedios y los tiempos de {rand:respuesta|latencia} para cada salto."],
"wrongs" : [
"Proporciona información sobre la velocidad de transferencia de datos entre dos puntos en una red.",
"Proporciona estadísticas detalladas sobre el tráfico de red en tiempo real.",
"Proporciona una lista de dispositivos conectados a una {rand:{PAN}|{LAN}|{WAN}|{MAN}}.",
"Proporciona información sobre la configuración de red del {OS}."
]
}, {
"question" : "¿En qué sistemas operativos está disponible el comando 'tracert'?",
"rights" : ["Está disponible en Windows{rand:|, mientras que en Unix/Linux se utiliza el comando 'traceroute'}."],
"wrongs" : [
"Está disponible en Unix/Linux{rand:|, mientras que en Windows se utiliza el comando 'traceroute'}.",
"Está disponible {rand:únicamente|exclusivamente|sólo|solamente} en {OS} {select:1-3,y,MacOS|Linux|Android|Unix|iOS}."
]
}, {
"question" : "¿En qué sistemas operativos está disponible el comando 'traceroute'?",
"rights" : ["Está disponible en Unix/Linux{rand:|, mientras que en Windows se utiliza el comando 'tracert'}."],
"wrongs" : [
"Está disponible en Windows{rand:|, mientras que en Unix/Linux se utiliza el comando 'traceroute'}.",
"Está disponible {rand:únicamente|exclusivamente|sólo|solamente} en {OS} {select:1-3,y,MacOS|Linux|Android|Unix|iOS|Windows}."
]
}, {
"question" : "¿Qué protocolo utiliza el comando '{rand:tracert|traceroute}' para enviar los paquetes?",
"own_variables" : {
"mal" : ["list", [
"establecer conexiones seguras entre {select:1-2,y,origen|destino}",
"enviar paquetes sin conexión entre {select:1-2,y,origen|destino}.",
"comunicarse con servidores web durante el rastreo de la ruta.",
"transferir archivos entre {select:1-2,y,el origen|el destino} durante el rastreo.",
"enviar paquetes de {rand:Ping|eco} con diferentes valores de {TTL}"
]]
},
"rights" : ["El {ICMP} para enviar paquetes de {rand:Ping|eco} con diferentes valores de {TTL}."],
"wrongs" : ["El {select:1-3,y,{TCP}|{ICMP}|{UDP}|{HTTP}|{FTP}|{IGMP}} para {rand:list:mal}."]
}, {
"question" : "¿En qué capa de red opera el comando '{rand:tracert|traceroute}'?",
"own_variables" : {
"mal" : ["list", [
"ya que se encarga del enrutamiento de paquetes entre diferentes redes",
"ya que se encarga de la representación y codificación de datos para la transmisión",
"ya que se encarga de la negociación de sesiones entre dispositivos en una red",
"ya que se utiliza para {mix:y,interactuar con servicios de red|gestionar conexiones de red}",
"ya que se encarga de {select:1-2,y,la gestión de conexiones|el control de flujo} entre dispositivos.",
"ya que se encarga de la transmisión de datos entre dispositivos en una red local",
"ya que se ocupa de la transmisión {select:1-2,o,de señales eléctricas|de radio} entre dispositivos",
"ya que se encarga de mapear la ruta de Routers entre {mix:y,origen|destino}"
]]
},
"rights" : ["En la {osi3}{rand:|, ya que se encarga de mapear la ruta de Routers entre {mix:y,origen|destino}}."],
"wrongs" : ["En la {rand:|, list:capas_red_lista}{rand:list:mal}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando 'tracert' - Argumentos",
"group" : "kyman_software_comando_tracert",
"queries" : [{
"question" : [
"¿Qué hace el {rand:argumento|parámetro} -n{rand:| en {unix_os}} en el comando 'traceroute'?",
"¿Qué hace el {rand:argumento|parámetro} -d{rand:| en {win_os}} en el comando 'tracert'?"
],
"rights" : ["Evita la resolución de nombres de Host, mostrando sólo las direcciones {IP} durante el rastreo."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué hace el {rand:argumento|parámetro} -m{rand:| en {unix_os}} en el comando 'traceroute'?",
"¿Qué hace el {rand:argumento|parámetro} -h{rand:| en {win_os}} en el comando 'tracert'?"
],
"rights" : ["Especifica el número máximo de {hops} que los paquetes pueden realizar antes de ser descartados."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -w en el comando '{rand:tracert|traceroute}'?",
"rights" : ["Establece el tiempo de espera{rand:|, en {rand:milisegundos en {win_os}|segundos en {unix_os}}}, para cada respuesta antes de considerar que el paquete se ha perdido."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -w{rand:| en {win_os}} en el comando 'tracert'?",
"rights" : ["Establece el tiempo de espera{rand:|, en milisegundos,} para cada respuesta antes de considerar que el paquete se ha perdido."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -w{rand:| en {unix_os}} en el comando 'traceroute'?",
"rights" : ["Establece el tiempo de espera{rand:|, en segundos,} para cada respuesta antes de considerar que el paquete se ha perdido."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué hace el {rand:argumento|parámetro} -p{rand:| en {unix_os}} en el comando 'traceroute'?",
"¿Qué hace el {rand:argumento|parámetro} -p{rand:| en {win_os}} en el comando 'tracert'?"
],
"rights" : ["Establece el puerto {UDP} de destino utilizado en los paquetes enviados durante el rastreo."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -j{rand:| en {win_os}} en el comando 'tracert'?",
"rights" : ["Permite dar una lista de Hosts permitidos que funciona sólo sobre una dirección {IP}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -R{rand:| en {win_os}} en el comando 'tracert'?",
"rights" : ["{rand:S|En {IPv6}, s}igue también la ruta de retorno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -4{rand:| en {win_os}} en el comando 'tracert'?",
"rights" : ["Fuerza a que sólo siga una ruta compuesta por direcciones {IPv4}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -6{rand:| en {win_os}} en el comando 'tracert'?",
"rights" : ["Fuerza a que sólo siga una ruta compuesta por direcciones {IPv6}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -l{rand:| en {unix_os}} en el comando 'traceroute'?",
"rights" : ["Cambia de paquetes {UDP} a paquetes {ICMP}."],
"wrongs" : ["Cambia de paquetes {rand:{UDP}|{ICMP}|{TCP}} a paquetes {rand:{UDP}|{ICMP}|{TCP}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -q{rand:| en {unix_os}} en el comando 'traceroute'?",
"rights" : ["Indica el número de paquetes a enviar{rand:|. Por defecto son 3}."],
"wrongs" : ["Indica el número de paquetes a enviar. Por defecto son {range:0-20}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -d{rand:| en {unix_os}} en el comando 'traceroute'?",
"rights" : ["Activa la depuración a nivel de Socket."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -r{rand:| en {unix_os}} en el comando 'traceroute'?",
"rights" : ["Evita el enrutamiento normal y envía los paquetes de forma más directa."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:argumento|parámetro} -g{rand:| en {unix_os}} en el comando 'traceroute'?",
"rights" : ["Permite indicar una dirección {IP} de origen."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué significa un {rand:'*'|asterisco} en la columna de tiempo sobre el comando 'tracert'{rand:| en {win_os}}?",
"¿Qué significa un {rand:'*'|asterisco} en la columna de tiempo sobre el comando 'traceroute'{rand:| en {unix_os}}?"
],
"rights" : "Indica que se superó tiempo de espera y se abandona el envío de paquetes.",
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué significa un mensaje de '{rand:Red|Host} de destino inalcanzable' en el comando 'tracert'{rand:| en {win_os}}?",
"¿Qué significa un mensaje de '{rand:Red|Host} de destino inalcanzable' en el comando 'traceroute'{rand:| en {unix_os}}?"
],
"rights" : "Indica que el paquete no pudo llegar al destino final debido a un problema de red.",
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué significa un mensaje de 'Tiempo de espera agotado para esta solicitud' en el comando 'tracert'{rand:| en {win_os}}?",
"¿Qué significa un mensaje de 'Tiempo de espera agotado para esta solicitud' en el comando 'traceroute'{rand:| en {unix_os}}?"
],
"rights" : "Indica que no se recibió respuesta del nodo intermedio dentro del tiempo de espera establecido.",
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Comando 'tracert' - Argumentos II",
"group" : "kyman_software_comando_tracert",
"queries" : [{
"question" : "¿Qué {rand:argumento|parámetro} del comando 'tracert' evita la resolución de nombres de Host{rand:| para mostrar sólo las direcciones {IP} durante el rastreo}{rand:| en {win_os}}?",
"rights" : ["-n."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' evita la resolución de nombres de Host{rand:| para mostrar sólo las direcciones {IP} durante el rastreo}{rand:| en {unix_os}}?",
"rights" : ["-d."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'tracert' especifica el número máximo de {hops}{rand:| que los paquetes pueden realizar antes de ser descartados}{rand:| en {win_os}}?",
"rights" : ["-m."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' especifica el número máximo de {hops}{rand:| que los paquetes pueden realizar antes de ser descartados}{rand:| en {unix_os}}?",
"rights" : ["-h."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué {rand:argumento|parámetro} del comando 'tracert' establece el tiempo de espera{rand:| en milisegundos}{rand:|, para cada respuesta antes de considerar que el paquete se halla perdido}{rand:| en {win_os}}?",
"¿Qué {rand:argumento|parámetro} del comando 'traceroute' establece el tiempo de espera{rand:| en segundos}{rand:|, para cada respuesta antes de considerar que el paquete se halla perdido}{rand:| en {unix_os}}?"
],
"rights" : ["-w."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué {rand:argumento|parámetro} del comando 'tracert' establece el puerto {UDP} de destino{rand:| utilizado en los paquetes enviados durante el rastreo}{rand:| en {win_os}}?",
"¿Qué {rand:argumento|parámetro} del comando 'traceroute' establece el puerto {UDP} de destino{rand:| utilizado en los paquetes enviados durante el rastreo}{rand:| en {unix_os}}?"
],
"rights" : ["-p."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'tracert' permite dar una lista de Hosts permitidos que funciona sólo sobre una dirección {IP}{rand:| en {win_os}}?",
"rights" : ["-j."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'tracert' permite seguir el retorno{rand:| en {IPv6}}{rand:| en {win_os}}?",
"rights" : ["-R."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'tracert' fuerza a que sólo siga una ruta compuesta por direcciones {IPv4}{rand:| en {win_os}}?",
"rights" : ["-4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'tracert' fuerza a que sólo siga una ruta compuesta por direcciones {IPv6}{rand:| en {win_os}}?",
"rights" : ["-6."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' cambia de paquetes {UDP} a paquetes {ICMP}{rand:| en {unix_os}}?",
"rights" : ["-l."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' nos permite cambiar el número de paquetes a enviar{rand:|, que por defecto son 3,}{rand:| en {unix_os}}?",
"rights" : ["-q."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' activa la depuración a nivel de Socket{rand:| en {unix_os}}?",
"rights" : ["-d."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' evita el enrutamiento normal y envía los paquetes de forma más directa{rand:| en {unix_os}}?",
"rights" : ["-r."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué {rand:argumento|parámetro} del comando 'traceroute' permite indicar una dirección {IP} de origen{rand:| en {unix_os}}?",
"rights" : ["-f."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,663 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué es Git?",
"rights" : ["Un sistema de control de versiones distribuido."],
"wrongs" : [
"Es un {IDE} para desarrollo de Software.",
"Es un sistema de gestión de bases de datos.",
"Es un lenguaje de programación.",
"Es {rand:un protocolo|una metodología|una arquitectura} para el desarrollo de Software."
]
}, {
"question" : "¿Para qué sirve Git?",
"own_variables" : {
"bien" : ["list", [
"rastrear cambios en el código fuente de un proyecto",
"permitir la colaboración entre múltiples desarrolladores{rand:| de forma {mix:y,eficiente|segura}}",
"mantener un historial completo de las modificaciones realizadas en los archivos",
"facilitar la gestión de {mix:y,ramas|fusiones} en el desarrollo de Software",
"integrarse con plataformas de alojamiento de código como {select:1-3,o,GitHub|GitLab|Bitbucket|Gogs|Gitea}"
]],
"mal" : ["list", [
"editar imágenes de Docker",
"gestionar bases de datos {select:1-2,o,{SQL}|{NoSQL}}",
"configurar redes y dispositivos de hardware",
"realizar análisis de datos estadísticos",
"debuggear un proyecto y hallar {rand:bugs|errores} en el código fuente, de forma {select:1-3,y,automática|eficiente|ágil|precisa|ordenada|estructurada|segura}",
"integrar librerías externas en un proyecto de Software de forma {select:1-3,y,automática|eficiente|ágil|precisa|ordenada|estructurada|segura}",
"facilitar las integraciones de Software{rand:| {CI_CD}} en proyectos de desarrollo de forma {select:1-3,y,automática|eficiente|ágil|precisa|ordenada|estructurada|segura}"
]]
},
"rights" : ["Para {select:1-4,o,list:bien}{rand:|, entre otras cosas}."],
"wrongs" : ["Para {select:1-4,o,list:mal|list:bien}{rand:|, entre otras cosas|, únicamente|, sóla{rand:|mente}}."]
}, {
"question" : "¿Qué es el {git_PAT}?",
"rights" : [
"Es un Token que se utiliza para {mix:y,autenticar|autorizar} acciones en repositorios Git alojados en plataformas como {select:1-3,o,GitHub|GitLab|Bitbucket|Gitea}{rand:|, entre otras}.",
"Es un Token con tiempo de vida limitado que permite a los usuarios realizar operaciones en repositorios Git sin necesidad de utilizar sus credenciales principales."
],
"wrongs" : [
"Es un Token que permite a los usuarios realizar operaciones en repositorios Git sin necesidad de utilizar sus credenciales principales de forma permanente.",
"Es {rand:un Token{rand:| con tiempo de vida limitado}|una herramienta de línea de comandos} para gestionar repositorios Git de forma {select:1-3,y,protegida|segura|ágil|anónima}{rand:| creado en {range:1995-2024}{rand:| por GitHub}}.",
"Es un sistema de control de accesos {select:1-3,y,distribuido|centralizado|limitado|seguro|anónimo} para controlar el desarrollo de un proyecto en un repositorio Git.",
"Es un lenguaje de programación utilizado para desarrollar aplicaciones web simplificadas con MarkDown."
]
}, {
"question" : "¿Cuál es el lenguaje usado para generar los archivos de documentación dentro de un proyecto Git?",
"rights" : ["MarkDown."],
"wrongs" : ["{HTML}.", "{CSS}.", "{JS}.", "{XML}.", "{YAML}."]
}, {
"question" : "¿Cómo se usa el {git_PAT}?",
"rights" : ["Se utiliza como una contraseña alternativa{rand:| al realizar operaciones en repositorios Git{rand:| alojados en plataformas como {select:1-3,o,GitHub|GitLab|Bitbucket|Gitea}{rand:|, entre otras}}}."],
"wrongs" : [
"Se utiliza mediante un paso más intermedio a la hora de realizar la autenticación sobre operaciones en repositorios Git.",
"Se utiliza como una herramienta de línea de comandos para gestionar repositorios Git de forma {select:1-3,y,protegida|segura|ágil|anónima}{rand:| creado en {range:1995-2024}{rand:| por GitHub}}.",
"Se utiliza como un sistema de control de accesos {select:1-3,y,distribuido|centralizado|limitado|seguro|anónimo} para controlar el desarrollo de un proyecto en un repositorio Git.",
"Se utiliza como un lenguaje de programación utilizado para desarrollar aplicaciones web simplificadas con MarkDown."
]
}, {
"question" : "¿Cómo puedo hacer para que Git no me incluya ciertos {mix:o,archivos|carpetas} en un repositorio remoto?",
"rights" : ["Creando un archivo '.gitignore' en el directorio raíz del proyecto y especificando los {mix:o,archivos|carpetas} que se desean {rand:excluir|ignorar}."],
"wrongs" : [
"Configurando las opciones de Git para ignorar ciertos {mix:o,archivos|carpetas} durante las operaciones de {select:1-2,y,commit|push}.",
"Utilizando un comando especial de Git para marcar ciertos {mix:o,archivos|carpetas} como ignorados antes de realizar un commit.",
"Modificando el archivo de configuración global de Git para excluir ciertos {mix:o,archivos|carpetas} de todos los repositorios.",
"Creando un archivo de configuración personalizado en el directorio del proyecto para especificar los {mix:o,archivos|carpetas} que se desean {rand:excluir|ignorar}."
]
}, {
"question" : "¿Dónde se encuentra el archivo de configuración de Git dentro del proyecto?",
"rights" : ["En el directorio oculto '.git' ubicado en la raíz del proyecto{rand:|, un archivo llamado 'config'}."],
"wrongs" : [
"En el directorio 'config' ubicado en la raíz del proyecto{rand:|, dentro están los archivos con las configuraciones pertinentes}.",
"En el archivo 'settings.json'{rand:, el cual ha de ser creado por el desarrollador en {rand:en la carpeta oculta '.git'|la raíz}| ubicado en el directorio raíz} del proyecto.",
"En el archivo{rand:| oculto} '{rand:|.}gitconfig' ubicado en el directorio '{rand:.git|docs}' del proyecto{rand:|. Si no existe ha de crearse}.",
"En el archivo 'config.yaml' ubicado en el directorio{rand:| oculto} '{rand:|.}{rand:git|config}' del proyecto{rand:| Si no existe ha de crearse}."
]
}, {
"question" : "¿Cómo puedo automatizar el Login en un repositorio Git clonado?",
"rights" : [
"Utilizando un {git_PAT} como método de autenticación en lugar de las credenciales tradicionales.",
"Incluyendo el Login en la URL del repositorio {rand:al clonarlo|del archivo de configuración{rand:| global}}{rand:|, aunque no es recomendable por razones de seguridad}{rand:|. Dependes de que el servidor te permita dicha acción}."
],
"wrongs" : [
"Utilizando un archivo de configuración personalizado en el directorio del proyecto para almacenar las credenciales de Login.",
"Modificando el archivo de configuración{rand:| global{rand:| de Git}} para incluir las credenciales de Login en todas las operaciones de {select:1-2,y,clone|pull|push|fetch|reset}.",
"Creando un script de automatización que ejecute el comando de Login cada vez que se realice una operación en el repositorio."
]
}, {
"question" : "¿Cómo puedo asociar el ID de un Pull Request en un 'commit' de Git?",
"rights" : [
"Incluyendo el ID del Pull Request en el mensaje del 'commit' precedido por un símbolo {rand:'#'|Hash}.",
"{b:sh,0,git commit -m 'Mensaje #ID'}"
],
"wrongs" : [
"Utilizando un comando especial de Git para vincular el Pull Request al 'commit' después de realizarlo.",
"Modificando el archivo de configuración{rand:| global{rand:| de Git}} para asociar automáticamente los Pull Requests con los 'commits'.",
"Creando un script de automatización que agregue el ID del Pull Request al 'commit' después de realizarlo.",
"Respondiendo en el Pull Request con el ID del 'commit' para establecer la asociación.",
"{b:sh,1,git commit -m 'Mensaje' {rand:-x|{rand:|-}-pr|--pull-request|{rand:|--}request} ID}",
"{b:sh,0,git commit-request -m 'Mensaje' ID}"
]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Conjuntos",
"group" : "kyman_software_comando_git",
"group_variables" : {
"lista_workflows" : ["list", ["Git-Flow", "GitHub-Flow", "GitLab-Flow", "One Flow"]],
"lista_alternativas_git" : ["list", [
"Mercurial", "{SVN}", "{CVS}", "Perforce", "Bazaar", "Fossil", "{TFS}", "{VSS}"
]],
"lista_ramas_git_flow" : ["list", ["Master", "Development", "Features", "Release", "Hotfix"]],
"lista_clientes_git" : ["list", [
"GitHub Desktop", "Sourcetree", "GitKraken", "Tower", "Fork", "SmartGit", "TortoiseGit",
"Git Cola", "GitEye"
]],
"lista_servidores_git" : ["list", [
"GitHub", "GitLab", "Bitbucket", "Gogs", "Gitea", "AWS CodeCommit", "Azure Repos",
"SourceForge"
]],
"lista_selfhosted_git" : ["list", [
"Gogs", "Gitea", "GitLab", "Bitbucket Server", "Phabricator", "Kallithea"
]],
"lista_mal" : ["list", [
"list:lista_workflows", "list:lista_alternativas_git", "list:lista_ramas_git_flow",
"list:lista_clientes_git"
]]
},
"queries" : [{
"question" : "¿Cuáles de los siguientes elementos son {workflows} comunes en Git?",
"rights" : ["{Select:1-4,y,list:lista_workflows}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son alternativas hay frente a Git?",
"rights" : ["{Select:1-8,y,list:lista_alternativas_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son ramas comunes en el Git-Flow?",
"rights" : ["{Select:1-5,y,list:lista_ramas_git_flow}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son clientes de Git?",
"rights" : ["{Select:1-8,y,list:lista_clientes_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son servidores de Git?",
"rights" : ["{Select:1-8,y,list:lista_servidores_git|list:lista_selfhosted_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son servidores de Git Self-Hosted?",
"rights" : ["{Select:1-6,y,list:lista_selfhosted_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Definiciones",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué es el Git-Flow?",
"rights" : [
"Es un {workflow} de desarrollo de Software que utiliza ramas específicas para gestionar el ciclo de vida del desarrollo, incluyendo ramas para {mix:y,características|lanzamientos|correcciones de errores}.",
"Es un {workflow} pensado para aquellos proyectos que tienen {mix:y,entregables|ciclos de desarrollo} bien definidos{rand:| de 2010}{rand:|, creado por Vincent Driessen}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la GitHub-Flow?",
"rights" : [
"Es un {workflow} de desarrollo de Software {mix:y,ligero|sencillo} que se centra en la creación de ramas para cada {mix:o,característica|corrección de errores}, con un enfoque en {mix:y,la integración continua|el despliegue frecuente}.",
"Es un {workflow} ideal para proyectos que {mix:y,requieren despliegues {mix:y,rápidos|frecuentes}|cuyas ramas parten directamente de 'master'}{rand:| creado en 2011{rand:| por la propia GitHub}}.",
"Es un {workflow} donde las integraciones entre ramas han de pasar por un 'Pull Request' para su revisión y aprobación antes de ser fusionadas."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la GitLab-Flow?",
"rights" : [
"Es un {workflow} de desarrollo de Software que combina aspectos de {mix:y,Git-Flow|GitHub-Flow}, adaptándose a diferentes modelos de {mix:y,desarrollo|despliegue}.",
"Es un {workflow} flexible que permite a los equipos elegir entre diferentes estrategias de ramas según sus necesidades específicas{rand:| creado en 2014{rand:| por GitLab}}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la One Flow en Git?",
"rights" : [
"Es un {workflow} de desarrollo de Software que simplifica la gestión de ramas al utilizar una única rama principal para el desarrollo, con ramas temporales para {mix:y,características|correcciones} que se integran directamente en la rama principal.",
"Es un {workflow} diseñado para reducir la complejidad en la gestión de ramas, facilitando un flujo de trabajo más {mix:y,ágil|directo}{rand:| creado en 2015{rand:| por Adam Ruka}}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la principal diferencia entre One FLow frente a Git-Flow?",
"rights" : ["Que carece de la rama 'Development', utilizando únicamente 'Master' como rama principal de desarrollo."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Master' en el Git-Flow?",
"rights" : ["Es la rama principal que contiene el código de producción estable."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Development' en el Git-Flow?",
"rights" : ["Es la rama donde se integran las {mix:y,características|correcciones} antes de ser fusionadas{rand:| en 'Master'} de forma estable."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Features' en el Git-Flow?",
"rights" : ["Es la rama donde se desarrollan nuevas características{rand:| antes de ser integradas en 'Development'}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Hotfix' en el Git-Flow?",
"rights" : [
"Es la rama donde se desarrollan correcciones urgentes que se aplican directamente a 'Master' y luego se integran en 'Development'.",
"Son errores de Software que surgen en producción, por lo que se deben {mix:y,arreglar|publicar} de forma urgente sobre una rama que cuelga de 'Master' para unificar contra {mix:y,'Development'|'Master'}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Release' en el Git-Flow?",
"rights" : ["Es la rama donde se preparan las versiones para su lanzamiento, permitiendo realizar {mix:y,pruebas|correcciones} finales antes de fusionarlas en 'Master'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Pull Request' en Git?",
"rights" : ["Es una solicitud para {mix:y,revisar|fusionar} cambios realizados en una rama específica con otra rama{rand:|, generalmente utilizada para facilitar la {mix:y,colaboración|revisión de código} entre desarrolladores}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es una Rama de Entorno en GitLab-Flow?",
"rights" : ["Es una rama que representa un entorno específico de despliegue, como {mix:y,producción|staging|desarrollo}, permitiendo gestionar el código según el entorno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es una Rama de Versión en GitLab-Flow?",
"rights" : ["Es una rama creada para preparar una versión específica del software, permitiendo realizar {mix:y,pruebas|correcciones} antes del lanzamiento."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es el archivo README.md en un proyecto Git?",
"rights" : ["Es un archivo {rand:principal|índice|Index} de documentación escrito en MarkDown que proporciona información sobre el proyecto, incluyendo {select:1-3,y,su propósito|cómo instalarlo|cómo usarlo} entre otra información relevante."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es el '.gitignore' en un proyecto Git?",
"rights" : ["Es un archivo de configuración que especifica qué {mix:o,archivos|directorios} deben ser ignorados por Git, evitando que se incluyan en el repositorio remoto."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Argumentos",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué hace el {rand:parámetro|argumento} 'init' en el comando 'git'?",
"rights" : ["{Select:1-2,o,crea un nuevo repositorio de Git vacío|reinicializa uno existente en el directorio actual}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'merge' en el comando 'git'?",
"rights" : ["Combina las ramas especificadas en la rama actual."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'clone' en el comando 'git'?",
"rights" : ["Crea una copia local de un repositorio remoto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'commit' en el comando 'git'?",
"rights" : ["Registra los cambios realizados{rand:| en el área de preparación} en el historial del repositorio local."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'push' en el comando 'git'?",
"rights" : ["Sube los cambios confirmados en el repositorio local al repositorio remoto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'add' en el comando 'git'?",
"rights" : ["Agrega archivos al área de preparación para su confirmación{rand:| desde el Path indicado}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'status' en el comando 'git'?",
"rights" : ["Muestra el estado de los archivos en {mix:y,el directorio de trabajo|el área de preparación}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'branch' en el comando 'git'?",
"rights" : ["Gestiona las ramas del repositorio {rand:|, permitiendo {mix:o,{mix:o,crear|listar} ramas localmente|eliminar ramas en el entorno {mix:y,local|remoto}}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'pull' en el comando 'git'?",
"rights" : [
"{Mix:y,descarga|fusiona} los cambios desde un repositorio remoto al repositorio local.",
"Unifica los {rand:parámetros|argumentos} {mix:y,'fetch'|'merge'} en una sola operación."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'fetch' en el comando 'git'?",
"rights" : ["Descarga los cambios desde un repositorio remoto sin fusionarlos automáticamente."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'checkout' en el comando 'git'?",
"rights" : ["{Select:1-2,o,cambia entre ramas|restaura archivos a un estado anterior} del repositorio remoto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'log' en el comando 'git'?",
"rights" : ["Muestra el historial de confirmaciones del repositorio."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'reset' en el comando 'git'?",
"rights" : ["Deshace cambios {mix:y,en el área de preparación|en el historial de confirmaciones}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'diff' en el comando 'git'?",
"rights" : ["Muestra las diferencias entre archivos o ramas."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'tag' en el comando 'git'?",
"rights" : ["{Mix:o,crea|lista|elimina} etiquetas en el repositorio."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'remote' en el comando 'git'?",
"rights" : ["Gestiona las conexiones a repositorios remotos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'stash' en el comando 'git'?",
"rights" : ["Guarda temporalmente los cambios no confirmados para limpiarlos del área de trabajo."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'rebase' en el comando 'git'?",
"rights" : [
"Aplica los cambios de una rama sobre otra, reescribiendo el historial de confirmaciones.",
"Permite mover la totalidad de una rama a otro punto del árbol."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'config' en el comando 'git'?",
"rights" : ["Configura las {mix:y,opciones|preferencias} de Git {mix:o,a nivel global|por repositorio}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'show' en el comando 'git'?",
"rights" : ["Muestra información detallada sobre objetos específicos en el repositorio{rand:|, como {select:1-3,o,confirmaciones|ramas|etiquetas} entre otros}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'revert' en el comando 'git'?",
"rights" : ["Deshace los cambios introducidos por una confirmación específica creando una nueva confirmación que revierte esos cambios."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Argumentos II",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : [
"¿Con qué {rand:argumento|parámetro} de Git puedo crear un nuevo repositorio vacío?",
"¿Con qué {rand:argumento|parámetro} de Git puedo reinicializar un repositorio en el directorio actual?"
],
"rights" : ["'init'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo combinar ramas en la rama actual?",
"rights" : ["'merge'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo clonar un repositorio remoto?",
"rights" : ["'clone'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo registrar los cambios realizados en el área de preparación?",
"rights" : ["'commit'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo subir los cambios confirmados en el repositorio local al repositorio remoto?",
"rights" : ["'push'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo agregar archivos al área de preparación para su confirmación?",
"rights" : ["'add'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar el estado de los archivos en {select:1-2,o,el directorio de trabajo|el área de preparación}?",
"rights" : ["'status'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo gestionar las ramas del repositorio?",
"rights" : ["'branch'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-2,y,descargar|fusionar} cambios desde un repositorio remoto al repositorio local?",
"rights" : ["'pull'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo descargar cambios desde un repositorio remoto sin fusionarlos automáticamente?",
"rights" : ["'fetch'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-2,o,cambiar entre ramas|restaurar archivos a un estado anterior}?",
"rights" : ["'checkout'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar el historial de confirmaciones del repositorio?",
"rights" : ["'log'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo deshacer cambios {select:1-2,o,en el área de preparación|en el historial de confirmaciones}?",
"rights" : ["'reset'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar las diferencias entre {select:1-2,o,archivos|ramas}?",
"rights" : ["'diff'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-3,o,crear|listar|eliminar} etiquetas en el repositorio?",
"rights" : ["'tag'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo gestionar las conexiones a repositorios remotos?",
"rights" : ["'remote'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo guardar temporalmente los cambios no confirmados para limpiarlos del área de trabajo?",
"rights" : ["'stash'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo aplicar los cambios de una rama sobre otra, reescribiendo el historial de confirmaciones?",
"rights" : ["'rebase'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo configurar las {select:1-2,o,opciones|preferencias} de Git {select:1-2,o,a nivel global|por repositorio}?",
"rights" : ["'config'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar información detallada sobre objetos específicos en el repositorio?",
"rights" : ["'show'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo deshacer los cambios introducidos por una confirmación específica creando una nueva confirmación que revierte esos cambios?",
"rights" : ["'revert'."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Órdenes comunes",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : [
"¿Cómo puedo crear un nuevo repositorio de Git vacío?",
"¿Cómo puedo reinicializar un repositorio de Git en el directorio actual?"
],
"rights" : ["{b:sh,0,git init}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo combinar ramas en la rama actual?",
"rights" : ["{b:sh,0,git merge RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo {rand:descargar|clonar} un repositorio remoto?",
"rights" : ["{b:sh,0,git clone URL}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo registrar los cambios realizados en el área de preparación?",
"rights" : ["{b:sh,0,git commit -m \"Descripción de los cambios\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo subir los cambios confirmados en el repositorio local al repositorio remoto?",
"rights" : ["{b:sh,0,git push}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo Commitear los cambios desde la rama local 'origin' a la rama 'RAMA'?",
"rights" : ["{b:sh,0,git push origin RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo {rand:Trackear|agregar} archivos al área de preparación para su confirmación?",
"rights" : ["{b:sh,0,git add PATH}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo mostrar el estado de los archivos en el directorio de trabajo o el área de preparación?",
"rights" : ["{b:sh,0,git status}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo listar todas las ramas locales del repositorio?",
"rights" : ["{b:sh,0,git branch}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo listar todas las ramas{rand:|, tanto locales como remotas,} del repositorio?",
"rights" : ["{b:sh,0,git branch -a}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo eliminar una rama local del repositorio?",
"rights" : ["{b:sh,0,git branch -d RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar y fusionar cambios desde un repositorio remoto al repositorio local?",
"rights" : ["{b:sh,0,git pull}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar cambios desde un repositorio remoto sin fusionarlos automáticamente?",
"rights" : ["{b:sh,0,git fetch}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo cambiar a la rama RAMA?",
"rights" : ["{b:sh,0,git checkout RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo cambiar a la rama anterior a la actual?",
"rights" : ["{b:sh,0,git checkout -}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo crear la rama RAMA y automáticamente irme a ésta?",
"rights" : ["{b:sh,0,git checkout -b RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar una rama remota existente?",
"rights" : ["{b:sh,1,git checkout -t origin/RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo mostrar el historial de confirmaciones del repositorio?",
"rights" : ["{b:sh,0,git log}"],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Cómo puedo deshacer todos los cambios y volver al último 'commit'?",
"¿Cómo puedo deshacer todos los cambios aún no Commiteados?"
],
"rights" : ["{b:sh,0,git reset --hard{rand:| HEAD}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo actualizar los cambios desde un repositorio remoto para casos donde otro desarrollador halla eliminado alguna rama remota?",
"rights" : ["{b:sh,0,git remote prune origin}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo revertir los cambios del 'commit' a partir del Hash?",
"rights" : ["{b:sh,0,git revert HASH}"],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Tipos de Commit",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué indica el tipo de 'commit' es 'wip' en Git?",
"rights" : ["El trabajo está en progreso y no está listo para ser {mix:o,fusionado|revisado}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'fix' en Git?",
"rights" : ["Corregido un {mix:o,error|problema} en el código."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'feat' en Git?",
"rights" : ["Añadida una nueva {mix:o,característica|funcionalidad} al proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'docs' en Git?",
"rights" : ["Cambios en la documentación del proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'chore' en Git?",
"rights" : ["Tareas de {mix:o,mantenimiento|cambios} que no afectan directamente al código fuente del proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'refactor' en Git?",
"rights" : ["Cambios en el código que mejoran su {mix:o,estructura|legibilidad} sin alterar su funcionalidad."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'test' en Git?",
"rights" : ["{Mix:o,añadidas|modificadas} pruebas automatizadas para el proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'style' en Git?",
"rights" : ["Cambios en el {mix:o,formato|estilo} del código, como {select:1-2,o,la corrección de{rand:l espaciado| espacios en blanco}|la indentación}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'perf' en Git?",
"rights" : ["Mejoras en el rendimiento del código."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'ci' en Git?",
"rights" : ["Cambios relacionados con la {mix:o,configuración|scripts de {mix:o,integración continua|despliegue frecuente}} del proyecto."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Tipos de Commit II",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se está trabajando en progreso?",
"rights" : ["'wip'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se ha corregido un {rand:error|problema}?",
"rights" : ["'fix'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se ha añadido una nueva {rand:característica|funcionalidad}?",
"rights" : ["'feat'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios en la documentación?",
"rights" : ["'docs'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios que no afectan directamente al código?",
"rights" : ["'chore'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo mejoras en la {rand:estructura|legibilidad} del código?",
"rights" : ["'refactor'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se añadieron pruebas automatizadas?",
"rights" : ["'test'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios de {rand:formato|estilo} en el código?",
"rights" : ["'style'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo mejoras de rendimiento?",
"rights" : ["'perf'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios en la {rand:configuración|scripts de {rand:integración continua|despliegue frecuente}}?",
"rights" : ["'ci'."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Tipos de Commit II",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se está trabajando en progreso?",
"rights" : ["{b:sh,1,git commit -m \"{rand:|#}wip{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se ha corregido un {rand:error|problema}?",
"rights" : ["{b:sh,1,git commit -m \"fix{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se ha añadido una nueva {rand:característica|funcionalidad}?",
"rights" : ["{b:sh,1,git commit -m \"feat{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios en la documentación?",
"rights" : ["{b:sh,1,git commit -m \"docs{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios que no afectan directamente al código?",
"rights" : ["{b:sh,1,git commit -m \"chore{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo mejoras en la {rand:estructura|legibilidad} del código?",
"rights" : ["{b:sh,1,git commit -m \"refactor{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se añadieron pruebas automatizadas?",
"rights" : ["{b:sh,1,git commit -m \"test{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios de {rand:formato|estilo} en el código?",
"rights" : ["{b:sh,1,git commit -m \"style{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo mejoras de rendimiento?",
"rights" : ["{b:sh,1,git commit -m \"perf{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios en la {rand:configuración|scripts de {rand:integración continua|despliegue frecuente}}?",
"rights" : ["{b:sh,1,git commit -m \"ci{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,19 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Docker",
"group" : "kyman_software_comando_docker",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Docker - Argumentos",
"group" : "kyman_software_comando_docker",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Docker - Argumentos II",
"group" : "kyman_software_comando_docker",
"queries" : []
}]

View File

@ -3,6 +3,29 @@
"title" : "TREBEP - Estructura", "title" : "TREBEP - Estructura",
"source" : "https://www.youtube.com/watch?v=jll91s6qz6c", "source" : "https://www.youtube.com/watch?v=jll91s6qz6c",
"group" : "trebep_estructura", "group" : "trebep_estructura",
"variables" : {
"trebep_titulos_mal_del" : ["list", [
"de los {select:1-2,y,derechos|deberes}. Código de conducta de los empleados públicos.",
"de los derechos de los empleados públicos.",
"de la {select:1-2,y,adquisición|pérdida} de la relación de servicio.",
"de la ordenación de la actividad profesional.",
"de las situaciones administrativas.",
"del régimen disciplinario.",
"de la cooperación entre las Administraciones Públicas."
]],
"trebep_capitulos_mal_del" : ["list", [
"del derecho {select:1-2,y,a la carrera profesional|a la promoción interna}. La evaluación del desempeño.",
"de los derechos retributivos.",
"del derecho a la {select:1-3,y,negociación colectiva|representación|participación institucional}. Derecho de reunión.",
"del derecho a {mix:y,la jornada de trabajo|los permisos|las vacaciones}.",
"de los eberes de los empleados públicos. Código de Conducta.",
"{select:1-2,y,del acceso al empleo público|de la adquisición de la relación de servicio}.",
"de la pérdida de la relación de servicio.",
"de la planificación de recursos humanos.",
"de la estructuración del empleo público.",
"de la provisión de {select:1-2,y,puestos de trabajo|movilidad}."
]]
},
"queries" : [{ "queries" : [{
"question" : "¿De cuántos artículos consta el {trebep}?", "question" : "¿De cuántos artículos consta el {trebep}?",
"rights" : ["100 artículos{rand:| más el artículo único del Preámbulo}."], "rights" : ["100 artículos{rand:| más el artículo único del Preámbulo}."],

View File

@ -2,5 +2,182 @@
"origin" : "Paco Barbié", "origin" : "Paco Barbié",
"title" : "TREBEP - Título II Capítulo I", "title" : "TREBEP - Título II Capítulo I",
"source" : "https://www.youtube.com/watch?v=jll91s6qz6c", "source" : "https://www.youtube.com/watch?v=jll91s6qz6c",
"queries" : [{}] "queries" : [{
"question" : "¿De qué van los artículos del 8 al 13, ambos inclusive, del {TREBEP}?",
"rights" : ["Del personal al servicio de las {AAPP}."],
"wrongs" : ["{Cap:{rand:list:trebep_titulos_mal_del|list:trebep_capitulos_mal_del}}."]
}, {
"question" : "¿Quiénes son los Empleados Públicos según {rand:|el artículo 8 d}el {TREBEP}?",
"rights" : [
"Las personas que trabajan en las {AAPP} y que tienen la condición de funcionario público, personal laboral o personal eventual.",
"Quienes desempeñan funciones retribuidas en las {AAPP} al servicio de los intereses generales."
],
"wrongs" : [
"El personal laboral al servicio de {select:1-2,y,las {AAPP}|los intereses generales}.",
"Solo los funcionarios {select:1-2,y,interinos|de carrera} de las {AAPP}.",
"Los empleados de empresas privadas que prestan servicios a las {AAPP}.",
"Los contratistas externos que trabajan para las {AAPP}."
]
}, {
"question" : "¿Qué tipos de Empleados Públicos existen según {rand:|el artículo 8 d}el {TREBEP}?",
"variables" : {
"tipos_base" : ["list", [
"funcionarios de carrera",
"funcionarios interinos",
"personal eventual"
]],
"laboral_mal" : ["plain", "personal laboral{rand:| ya sea {select:1-3,y,fijo|indefinido|temporal}|personal eventual}"]
},
"rights" : ["{Mix:y,funcionarios de carrera|funcionarios interinos|personal laboral{rand:| ya sea {mix:y,fijo|indefinido|temporal}}|personal eventual}."],
"wrongs" : ["{Cap:{rand:|sólo }{select:1-6,y,list:tipos_base|{laboral_mal}|funcionarios de carrera|personal eventual|contratistas externos|empleados de empresas privadas}}."]
}, {
"question" : "¿Qué dos grupos de Empleados Públicos se pueden extraer, según {rand:|el artículo 8 d}el {TREBEP}?",
"rights" : ["{Mix:y,los funcionarios|{mix:y,el personal laboral|el personal eventual}}."],
"wrongs" : ["{Select:1-3,y,los funcionarios|el personal laboral|el personal eventual|los empleados de empresas privadas|los contratistas externos}."]
}, {
"question" : "¿Qué tipos de personal laboral se mencionan en {rand:|el artículo 8 d}el {TREBEP}?",
"rights" : ["{Mix:y,fijo|indefinido|temporal}."],
"wrongs" : ["{Cap:{rand:|Sólo |Únicamente }{select:1-5,y,fijo|directivo{rand:| profesional}|indefinido|temporal|eventual|contratado externo|interino|de carrera|de empresas privadas|de las Administraciones Locales}}."]
}, {
"question" : "¿Qué tipo de Personal Laboral es el Directivo Profesional según el {TREBEP}?",
"rights" : ["Es un tipo especial de personal laboral con {mix:y,funciones de dirección|responsabilidad}."],
"wrongs" : [
"Es un tipo de {rand:funcionario público|personal eventual|contratista externo} con {select:1-2,y,funciones de dirección|responsabilidad}.",
"No es Personal Laboral{rand:|, sino Funcionario {rand:interino|de Carrera} con funciones {select:1-2,y,ejecutivas|directivas}}."
]
}, {
"question" : "¿Qué tipo de Empleado Público es el Directivo Profesional según el {TREBEP}?",
"rights" : ["No es un Empleado Público."],
"wrongs" : [
"Es un tipo de {rand:funcionario público|personal eventual|contratista externo} con {select:1-2,y,funciones de dirección|responsabilidad}.",
"Es un tipo especial de personal laboral con {mix:y,funciones de dirección|responsabilidad}."
]
}, {
"question" : "¿Qué diferencia existe entre Personal Laboral {mix:y,fijo|indefinido} según el {TREBEP}?",
"rights" : [
"El Personal Laboral Fijo ha pasado una serie de pruebas, como el Funcionario de Carrera; mientras que el Personal Laboral Indefinido excedió el tiempo trabajando en una empresa con Fraude de Ley donde si se ven las causas necesarias, se transforma en dicho tipo."
],
"wrongs" : [
"No existe diferencia, ambos términos se refieren al mismo tipo de contrato.",
"El Personal Laboral Fijo {rand:es un tipo de funcionario público|tiene un contrato temporal|ha pasado una serie de pruebas, como el Funcionario de Carrera}; mientras que el Personal Laboral Indefinido {rand:excedió el tiempo trabajando en una empresa con Fraude de Ley donde si se ven las causas necesarias, se transforma en dicho tipo|es permanente}."
]
}, {
"question" : "¿Quiénes son el Personal Laboral Fijo según el {TREBEP}?",
"rights" : [
"Las personas que{rand:|, como los Funcionarios de Carrera,} han superado un proceso selectivo y tienen un contrato indefinido con la Administración Pública."
],
"wrongs" : [
"Las personas que tienen un contrato temporal con la Administración Pública.",
"Las personas que trabajan para empresas privadas que prestan servicios a las Administraciones Públicas{rand:| con un contrato fijo contra la misma}.",
"Las personas quienes trabajando en la empresa privada, excedieron el tiempo trabajando en la misma con Fraude de Ley donde si se ven las causas necesarias, se transforma en dicho tipo."
]
}, {
"question" : "¿Quiénes son el Personal Laboral Indefinido según el {TREBEP}?",
"rights" : [
"Las personas quienes trabajando en la empresa privada, excedieron el tiempo trabajando en la misma con Fraude de Ley donde si se ven las causas necesarias, se transforma en dicho tipo."
],
"wrongs" : [
"Las personas que tienen un contrato temporal con la Administración Pública.",
"Las personas que trabajan para empresas privadas que prestan servicios a las Administraciones Públicas{rand:| con un contrato fijo contra la misma}.",
"Las personas que{rand:|, como los Funcionarios de Carrera,} han superado un proceso selectivo y tienen un contrato indefinido con la Administración Pública."
]
}, {
"question" : "¿Quiénes pueden acogerse a {mix:y,derechos|deberes} entre otros, como {select:1-2,o,excedencia por cuidado de familiares|excendencia por agrupación familiar} entre otros, según el {TREBEP}?",
"rights" : ["{Cap:{rand:|sólo |únicamente }{mix:y,el Personal Laboral Fijo|Funcionarios de Carrera}}."],
"wrongs" : ["{Cap:{rand:|Sólo |Únicamente }{select:1-4,y,el Personal Laboral Indefinido|el Personal Laboral Temporal|el Personal Eventual|los contratistas externos|los empleados de empresas privadas|el Personal Laboral Fijo|los Funcionarios de Carrera|los Funcionarios Interinos}}."]
}, {
"question" : "¿Qué puntos requiere un Funcionario de Carrera para llegar a dicho puesto, según el {TREBEP}?",
"rights" : ["{Mix:y,un nombramiento legal|un vínculo con una {AAPP} por relación estatutaria regulada por el derecho administrativo|que desempeñe servicios profesionales retribuidos de carácter permanente}."],
"wrongs" : ["{Cap:{rand:|Sólo |Únicamente }{select:1-6,y,un nombramiento legal|un vínculo con una {AAPP} por relación estatutaria regulada por el derecho administrativo|que desempeñe servicios profesionales retribuidos de carácter permanente|un contrato {select:1-3,o,temporal|indefinido|fijo}|haber superado unas pruebas|relación con entidades privadas para proporcionar comunicación con los requerimientos de los servicios públicos|una regulación sobre el puesto concreto|haber sido {rand:llamado|convocado} para ocupar un cargo|pertenecer a unas listas de contratación {select:1-3,del estado|de la {CCAA}|de la {rand:Provincia|Diputación{rand:| Provincial}}|de la Entidad Local{rand:| correspondiente}}|haber servido en el ejército|ser Español{rand:| de origen}}}."]
}, {
"question" : "¿Dónde serán nombrados los Funcionarios de Carrera según el {TREBEP}?",
"rights" : ["{Mix:o,en el {BOE}|en el {BOP}}."],
"wrongs" : [
"{Select:1-4,o,en el {BOE}|en el {BOP}|en el {DOGA}|en el {BOD}|en el tablón de anuncios de la entidad correspondiente}.",
"Depende del {rand:puesto al que vaya orientado|reglamento {select:1-4,o,local|provincial|autonómico|estatal} al que sirva}.",
"En la orden reglamentaria conforme {select:1-2,o,al puesto ofertado|a su entidad}."
]
}, {
"question" : [
"Según el apartado 2 del artículo 9 del {TREBEP}. ¿De qué se encargarían los Funcionarios de Carrera?",
"¿De qué se encargarían los Funcionarios de Carrera según{rand:|{rand:| el apartado 2} del artículo 9} del {TREBEP}?"
],
"rights" : ["Salvaguardar los intereses {Mix:y,del Estado|de las {AAPP}}."],
"wrongs" : ["{Select:1-3,y,salvaguardar los intereses|gestionar los recursos económicos|supervisar el cumplimiento de las leyes} {select:1-3,y,del Estado|de las {AAPP}|de las empresas {select:1-2,y,privadas|públicas}|de las organizaciones no gubernamentales|de las entidades con fines lucrativos|de las instituciones educativas privadas}."]
}, {
"question" : ["¿En dónde se modificó, con caracter de urgencia, a los Funcionarios Interinos{rand:|, por motivo de su reducción|, de Medidas Urgentes para la Reducción de la Temporalidad en el Empleo Público}, según el {TREBEP}?"],
"rights" : ["En el {rdl_14_2021}."],
"wrongs" : ["En {l_random_ley_el}."]
}, {
"question" : "¿Cuándo fue publicado el {rand:{RD_L} 14/2021{rand:|, de Medidas Urgentes para la Reducción de la Temporalidad en el Empleo Público}|el {RD_L} de Medidas Urgentes para la Reducción de la Temporalidad en el Empleo Público}?",
"rights" : ["El 6 de Julio{rand:| de 2021}."],
"wrongs" : ["El {rand:6|{range:1-31}} de {rand:Julio|{meses}}{rand:| de {rand:2021|{range:1990-2025}}}."]
}, {
"question" : "¿Cuándo entró en vigor el {rand:{RD_L} 14/2021{rand:|, de Medidas Urgentes para la Reducción de la Temporalidad en el Empleo Público}|el {RD_L} de Medidas Urgentes para la Reducción de la Temporalidad en el Empleo Público}?",
"rights" : [
"El 7 de Julio{rand:| de 2021}.",
"Al día siguiende su publicación{rand:|, es decir, el 7 de Julio{rand:| de 2021}}."
],
"wrongs" : [
"El {rand:7|{range:1-31}} de {rand:Julio|{meses}}{rand:| de {rand:2021|{range:1990-2025}}}.",
"Al día siguiente de su publicación, es decir, el {rand:7|{range:1-31}} de {rand:Julio|{meses}}{rand:| de {rand:2021|{range:1990-2025}}}."
]
}, {
"question" : "¿Cómo define al Funcionario Interino el {rdl_14_2021}?",
"rights" : ["Funcionarios nombrados por razones expresamente justificadas de {mix:y,necesidad|urgencia} para la cobertura temporal de desempeño de funciones propias de los Funcionarios de Carrera."],
"wrongs" : ["Funcionarios nombrados por razones expresamente justificadas de {rand:|posible }{select:1-2,y,necesidad|urgencia} para la cobertura temporal de desempeño de funciones propias de los {select:1-2,y,empleados de empresas privadas|contratistas externos|Personal Laboral|Personal Eventual|Funcionario de Carrera}."]
}, {
"question" : "Según el {rdl_14_2021}. ¿Qué condiciones han de existir para que se pueda dar una plaza de Funcionario Interino?",
"variables" : {
"condiciones_bien" : ["list", [
"que halla la existencia de plazas vacantes{rand:| no superior a 3 años}",
"la sustitución {rand:transitoria|temporal} de los titulares",
"la ejecución de programas de carácter {rand:transitoria|temporal}{rand:| de una duración no superior a 3 años{rand:|, prorrogables por una única vez por un período máximo de {rand:12 meses|1 año}}}",
"que halla {mix:o,exceso|acumulación} de tareas en el plazo máximo de 9 meses dentro de un periodo de 18 meses"
]],
"condiciones_mal" : ["list", [
"que halla la existencia de plazas vacantes{rand:| no superior a {rand:3 años|1 año|{range:2-10} años}}",
"la sustitución {rand:transitoria|temporal|permanente|necesaria} de los titulares",
"la ejecución de programas de carácter {rand:transitoria|temporal}{rand:| de una duración no superior a {rand:3 años|1 año|{range:2-10} años}{rand:|, prorrogables por una única vez por un período máximo de {rand:12 meses|1 año|{range:2-24} meses|{range:2-4} años}}}",
"que halla {mix:o,exceso|acumulación} de tareas en el plazo {rand:máximo|mínimo} de {rand:9|{range:2-24}} meses dentro de un periodo de {rand:18|{range:2-36}} meses",
"haber superado unas pruebas",
"relación con entidades privadas para proporcionar comunicación con los requerimientos de los servicios públicos",
"una regulación sobre el puesto concreto"
]]
},
"rights" : ["{Mix:y,list:condiciones_bien}."],
"wrongs" : ["{Cap:{rand:|Sólo |Únicamente }{select:1-6,y,list:condiciones_mal}}."]
}, {
"question" : "¿Cuál es el plazo máximo de duración de un nombramiento como Funcionario Interino según el {rdl_14_2021}?",
"rights" : ["No superior a 3 años."],
"wrongs" : ["No superior a {rand:1 año|{range:2-10} años}."]
}, {
"question" : "Según el apartado 4 del artículo 10 del {TREBEP}. ¿Cómo será el objeto de cobertura de los puestos de Funcionario Interino?",
"rights" : ["Mediante los procedimientos {mix:y,{rand:de provisión|cómo {select:1-2,y,el concurso|la libre designación} entre otros}|de movilidad}."],
"wrongs" : ["{Select:1-4,y,mediante los procedimientos de provisión|de movilidad|de selección pública|de contratación temporal} {select:1-2,y,{rand:de provisión|cómo {select:1-2,y,el concurso|la libre designación} entre otros}|de movilidad}."]
}, {
"question" : "¿Dónde vienen regulados los procedimeintos de provisión de los puestos de Funcionario Interino según el {TREBEP}?",
"rights" : ["En {select:1-3,y,el {rd_364_1995}|el {rd_365_1995}|la {l_30_30_1984_ley}} entre otras."],
"wrongs" : ["En {select:1-6,y,list:l_random_ley_el_lista} entre otras."]
}, {
"question" : "¿Qué nos dice el segundo párrafo del apartado 4 del artículo 10 del {TREBEP} sobre los nombramientos de Funcionarios Interinos?",
"rights" : ["Que no podrán superar el plazo máximo de duración de 3 años."],
"wrongs" : [
"Que no podrán superar el plazo máximo de duración de {rand:1 año|{range:2-10} años}.",
"El contrato puede extenderse {rand:indefinidamente|hasta un máximo de {rand:1 mes|2-36 meses|1 año|{range:2-10} años}} si se cumplen las condiciones necesarias."
]
}, {
"question" : "¿Cuándo, una vacante para un Funcionario de Carrera, puede ser cubierta por un Funcionario Interino según el {TREBEP}?",
"rights" : ["Cuando ésta quede desierta por los procedimientos de {mix:o,provisión|movilidad}{rand:|, pudiéndose volver a ocupar por un Interino}."],
"wrongs" : ["{Select:1-4,y,cuando ésta quede desierta por los procedimientos de {mix:o,provisión|movilidad}{rand:|, pudiéndose volver a ocupar por un Interino}|cuando el titular del puesto esté de baja médica|cuando el titular del puesto esté de vacaciones|cuando el titular del puesto haya solicitado una excedencia|cuando el titular del puesto haya sido suspendido de empleo y sueldo}."]
}, {
"question" : "¿Qué sucede cuando llegamos al final del plazo máximo de duración de un nombramiento como Funcionario Interino según el {TREBEP}?",
"rights" : ["El nombramiento cesará automáticamente{rand:|, a excepción de que de que dicha plaza esté en marcha y aún no se halla tomado posesión de la misma, con lo que podría excederse en el tiempo la limitación máxima pero ha de ser poco tiempo{rand:|, según el tercer párrafo del apartado 4 del artículo 10}}."],
"wrongs" : [
"El nombramiento se renovará automáticamente por un período igual al anterior.",
"El nombramiento se convertirá en un contrato {rand:indefinido|temporal} con la Administración Pública.",
"El contrato se extenderá en el tiempo según el tercer párrafo del apartado 4 del artículo 10.",
"El Funcionario Interino tendrá que volver a pasar el proceso selectivo acorde a la vacante que esté ocupando para poder volver a disfrutar del puesto{rand:|, según el tercer párrafo del apartado 4 del artículo 10}{rand:|, con una limitación de {range:2-5} veces consecutivas en el tiempo{rand:|, limitado por el {rdl_14_2021}}}."
]
}]
}] }]

View File

@ -401,6 +401,10 @@
opacity: .5; } opacity: .5; }
.opo-tests .test-info .maximum::before { .opo-tests .test-info .maximum::before {
content: " / "; } content: " / "; }
.opo-tests .test-info .relative {
opacity: .5; }
.opo-tests .test-info .relative::before {
content: " - "; }
.opo-tests .test-form .buttons { .opo-tests .test-form .buttons {
position: absolute; position: absolute;
left: 0em; left: 0em;

File diff suppressed because one or more lines are too long

View File

@ -474,6 +474,10 @@ $transition : .5s;
opacity : .5; opacity : .5;
&::before{content : " / ";} &::before{content : " / ";}
} }
.relative{
opacity : .5;
&::before{content : " - ";}
}
} }
.test-form{ .test-form{

View File

@ -170,7 +170,9 @@ class Utils:
@staticmethod @staticmethod
def base64_decode(data:str|bytes, encoding:str = "utf-8", is_string:bool = True) -> str|bytes|None: def base64_decode(data:str|bytes, encoding:str = "utf-8", is_string:bool = True) -> str|bytes|None:
try: try:
decoded:bytes = base64_decode(data.encode(encoding) if Check.is_string(data) else data) decoded:bytes = base64_decode(data.encode(encoding) if Check.is_string(data) else data)
return decoded.decode(encoding) if is_string else decoded return decoded.decode(encoding) if is_string else decoded
except Exception as exception: except Exception as exception:
pass pass

View File

@ -1 +1 @@
0.0.10 0.0.11