{"id":73944,"date":"2020-03-13T02:42:03","date_gmt":"2020-03-12T23:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo"},"modified":"2020-03-13T02:42:03","modified_gmt":"2020-03-12T23:42:03","slug":"retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","title":{"rendered":"Retrospectiva de tropiezos. C\u00f3mo una soluci\u00f3n hecha a medida result\u00f3 ser mejor que una de pago","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00a1Hola! Me llamo Alexey Pyankov, soy el programador jefe en la compa\u00f1\u00eda Sportmaster. D\u00e9jame decirte que \"jefe\" no significa \"el m\u00e1s importante de todos los programadores\", no, es solo un t\u00edtulo, una encantadora traducci\u00f3n para \"Senior+\".<\/p>\n<p><\/p>\n<p>En la empresa Sportmaster he estado trabajando desde 2012, y durante este tiempo el equipo de desarrollo ha creado muchas soluciones interesantes desde un punto de vista t\u00e9cnico. Pero hoy me gustar\u00eda hablar sobre nuestro trabajo con un enfoque en c\u00f3mo reflexionamos en situaciones ambiguas.<\/p>\n<p><\/p>\n<p>En este art\u00edculo no habr\u00e1 soluciones t\u00e9cnicas espec\u00edficas (ni nada t\u00e9cnico en general) que deban ser tomadas y aplicadas en su proyecto. M\u00e1s bien, es una reflexi\u00f3n sobre el trabajo realizado. Hubo momentos especiales que nos impactaron como equipo: nos unieron, nos templaron y nos pusieron a prueba. Sobre esos momentos, sobre la atm\u00f3sfera de trabajo en el equipo, sobre nuestras trampas y una serie de trampas psicol\u00f3gicas en las que a veces nos metemos, intentar\u00e9 hablar hoy.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospectiva de tropiezos. C\u00f3mo una soluci\u00f3n hecha a medida result\u00f3 ser mejor que una de pago\" src=\"\/wp-content\/uploads\/2020\/03\/1651640dbf2cb45d48e1e046a78c931f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Y comenzar\u00e9 precisamente con el a\u00f1o 2012.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Llegu\u00e9 en 2012 con el objetivo principal en ese momento: trabajar en nuestro sitio insignia. En ese momento, era un \"monstruo de Frankenstein\": una parte del equipo trabajaba con nuestro antiguo sistema, que no manejaba muy bien las cargas (Bitrix), mientras que la otra parte del equipo (donde estaba yo) intentaba implementar un nuevo sistema que hab\u00edamos escogido por el criterio de \"Dado que es el e-commerce m\u00e1s caro del mundo, lo adoptamos\". Resulta que \"intentamos implementar\" \u2014 porque el sistema se resist\u00eda ferozmente, y por cada aspecto que logramos desentra\u00f1ar, siempre surg\u00eda una \"sorpresa\" en respuesta. Trabajamos mucho, pero avanz\u00e1bamos a la velocidad de un caracol.<\/p>\n<p><\/p>\n<p>Personalmente, la gota que colm\u00f3 el vaso fue conocer el c\u00f3digo de un m\u00e9todo en este \"e-commerce m\u00e1s caro del mundo\", cuando varias horas de trabajo concentrado en un bug complicado resultaron en que la causa se encontraba en alg\u00fan custom-tag que se ejecuta al generar HTML en JSP. La tarea de este custom-tag es mostrar la suma de ciertas cantidades. No est\u00e1 mal, para eso est\u00e1n dise\u00f1ados estos custom-tags. Pero la sorpresa estaba en que, al hacer esto, se modifican algunos datos en la base de datos, lo que afecta el comportamiento en las siguientes p\u00e1ginas, y si se presiona F5, la llamada se repet\u00eda, lo que romp\u00eda la consistencia de los datos. Adem\u00e1s, lo hac\u00eda de tal manera que se manifestaba solo despu\u00e9s de varios pasos, en la tercera p\u00e1gina de la secuencia. No, no estoy en contra de que haya un \"maestro ninja\" en el equipo que con su c\u00f3digo mantenga a los colegas en alerta. Pero que as\u00ed sea en la biblioteca del sistema m\u00e1s caro.<\/p>\n<p><\/p>\n<p>Era viernes. Y el s\u00e1bado y el domingo los pas\u00e9 con un colega en la oficina con el objetivo de entender qu\u00e9 tareas establece el negocio ante el sistema hoy y qu\u00e9 tareas podr\u00eda inventar en un a\u00f1o. Por lo tanto, c\u00f3mo las resolver\u00edamos si no estuvi\u00e9ramos atrapados en las limitaciones de este sistema sumamente costoso y frustrante.<\/p>\n<p><\/p>\n<p>Dicho y hecho. Creamos un piloto en el que establecimos las bases para el desarrollo del nuevo sitio de Sportmaster. Muchas de estas ideas se han asentado y ahora mismo su continuaci\u00f3n est\u00e1 activa en el sitio.<\/p>\n<p><\/p>\n<h2 id=\"etapy-pilota-i-vremennye-ramki\">Etapas del piloto y plazos<\/h2>\n<p><\/p>\n<p><strong>2 d\u00edas.<\/strong> Hicimos un microprototipo \u2014 durante el fin de semana trasladamos nuestra base a ElasticSearch, implementamos la b\u00fasqueda facetada. \u00a1Voil\u00e1! En ese mismo sistema adquirido, tal configuraci\u00f3n \"consumi\u00f3\" 2 semanas. \u00a1Y aqu\u00ed fue literalmente en un par de horas! Adem\u00e1s, funciona m\u00e1s r\u00e1pido. \u00a1Y m\u00e1s r\u00e1pido por un factor considerable!<\/p>\n<p><\/p>\n<p><strong>2 semanas.<\/strong> Estamos \"desarrollando\" el prototipo, a\u00f1adiendo funcionalidad para una entrega personalizada adecuada. <\/p>\n<p><\/p>\n<p>Por ejemplo, si un usuario tiene varios descuentos y promociones que son relevantes solo para \u00e9l, entonces en los resultados de b\u00fasqueda de productos se debe mostrar el precio exacto que se puede obtener aplicando todos los beneficios disponibles de la manera m\u00e1s ventajosa.<\/p>\n<p><\/p>\n<p>Con las promociones no es tan simple. Por ejemplo, compr\u00e9 esqu\u00eds, ahora hay un 40% de descuento en el gorro, pero se cancela el descuento de bienvenida del 10% en todo el pedido. S\u00ed, este es un caso real \ud83d\ude42 Y para configurar tal promoci\u00f3n en el sistema de compras, se pagaron 3 consultas con el proveedor, gracias a las cuales obtuvimos muchos ejemplos de c\u00f3mo realizar diferentes promociones. Muy diplom\u00e1ticamente y, considerando el costo de las consultas, es una buena econom\u00eda.<\/p>\n<p><\/p>\n<p>Mostramos al negocio una demo detallada. Prometieron montar el piloto r\u00e1pidamente y enseguida se pusieron a trabajar.<\/p>\n<p><\/p>\n<p><strong>2 meses.<\/strong> El proyecto piloto lo hacemos en forma de un sitio web en vivo con b\u00fasqueda en el cat\u00e1logo. La b\u00fasqueda con facetas, los resultados de la b\u00fasqueda \u2014 con descuentos personales, el piloto se parece casi al sitio de Sportmaster, y los productos que subimos son los mismos. \u00a1Una maravilla! <\/p>\n<p><\/p>\n<p>Agregamos \"Elocuencia:100\" de nuestro jefe de departamento, \u00a1y la presentaci\u00f3n al negocio es un \u00e9xito total! Nos dan carta blanca para desarrollar la plataforma de eCommerce nosotros mismos.<\/p>\n<p><\/p>\n<p>Y eso significa, mantengan al equipo, chicos, mantengan el presupuesto, \u00a1genial!<\/p>\n<p><\/p>\n<p><strong>2 a\u00f1os.<\/strong> Lanzamiento del sitio en producci\u00f3n. S\u00ed, fue largo. Todo lo que supimos hacer entonces, lo probamos solo a la escala del prototipo. Dos personas forman f\u00e1cilmente un equipo cohesionado. Adem\u00e1s, las tareas que \"tuvimos que completar\" eran en gran medida peque\u00f1os ajustes a \"Hello World\" en nuevas tecnolog\u00edas. Gener\u00e1bamos nuevas hip\u00f3tesis f\u00e1cilmente, las verific\u00e1bamos r\u00e1pidamente, no lleg\u00e1bamos a acostumbrarnos y, por lo tanto, las \"mat\u00e1bamos\" sin remordimientos. Cuando llegamos a 10 personas, por inercia extrapolamos nuestra velocidad de trabajo a todos los dem\u00e1s. E hicimos promesas de plazos de ejecuci\u00f3n que equivalen a la idea de la perfecci\u00f3n multiplicada por nuestro entusiasmo.<\/p>\n<p><\/p>\n<p>\u00bfSituaci\u00f3n familiar? \ud83d\ude42<\/p>\n<p><\/p>\n<p>Entonces, \u00bfya saben lo que va a pasar despu\u00e9s?<\/p>\n<p><\/p>\n<h2 id=\"lovushka-1-ekstrapolyator-krutysh\">Trampa \u21161. \"El extrapolador genial\"<\/h2>\n<p><\/p>\n<p>Es obvio que las nuevas tecnolog\u00edas se ven muy geniales en las presentaciones y funcionan perfectamente en aplicaciones como \"Hello World\". Pero la realidad suele estar un poco m\u00e1s lejos.<\/p>\n<p><\/p>\n<p>As\u00ed que. Tomamos una biblioteca, escribimos un mont\u00f3n de c\u00f3digo de aplicaci\u00f3n. Consideramos que las pruebas unitarias son una carga (somos geniales y estamos trabajando a la velocidad del sonido, el c\u00f3digo es moderno y dem\u00e1s). Cambiamos y mejoramos la API sobre la marcha \u2014 \u00bfqu\u00e9 pruebas serias en este caso? Y todo esto bajo el lema de \"hemos optimizado genialmente el proceso de desarrollo\" (s\u00ed, ahora da miedo incluso describirlo).<\/p>\n<p><\/p>\n<p>Y luego todo es bastante obvio.<\/p>\n<p><\/p>\n<p>Estamos lanzando una nueva versi\u00f3n en uat. Los chicos del negocio est\u00e1n listos para probar todo y hacer clic en los botones. A veces, lo hacen de manera bastante creativa: algo falla. Ser\u00eda bueno averiguar qu\u00e9 se ha hecho para solucionar esto. Pero al otro lado de la pantalla no hay un tester exhaustivo que te presentar\u00e1 todas las caracter\u00edsticas del entorno teniendo en cuenta el clima de la regi\u00f3n, sino un cliente del negocio. Simplemente dice \"no funciona\". Y eso significa que est\u00e1 insatisfecho. Preg\u00fantale y \u00e9l dir\u00e1 <em>terrible<\/em> insatisfecho!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospectiva de tropiezos. C\u00f3mo una soluci\u00f3n hecha a medida result\u00f3 ser mejor que una de pago\" src=\"\/wp-content\/uploads\/2020\/03\/9d980b25fabea5e0a34a428fb9dbb85e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Entonces, para reproducir el bug, hay que ir y probar todo a ciegas. Por supuesto, no hemos ignorado ninguna queja y hemos corregido todo. Abandonamos tareas planificadas, pero \"apagamos el fuego\".<\/p>\n<p><\/p>\n<p>As\u00ed que nos hemos cavado un nuevo agujero.<\/p>\n<p><\/p>\n<h2 id=\"lovushka-2-stahanovec\">Trampa N\u00ba2. \"Estajanovista\"<\/h2>\n<p><\/p>\n<p>Te llega un bug bastante desagradable. Comienzas a investigar. No logras resolverlo, te enojas, intentas nuevamente, otro fracaso, aclara todo lo que puedes, sigue sin ser lo correcto, piensas en lo viejo que ya eres y en que todos tienen hijos e hipotecas, vuelves a intentarlo, de nuevo no es lo adecuado. Varias tazas de caf\u00e9, y todo se repite. 12-14 horas de trabajo continuado \u2014 casi normal. Y cuando ya todos est\u00e1n al l\u00edmite \u2014 \u00a1bam! \u00a1la iluminaci\u00f3n!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospectiva de tropiezos. C\u00f3mo una soluci\u00f3n hecha a medida result\u00f3 ser mejor que una de pago\" src=\"\/wp-content\/uploads\/2020\/03\/8f66e2ca834ffafd72bde53fd397bcb7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puede que, desde afuera, la evaluaci\u00f3n de la efectividad de un d\u00eda as\u00ed se vea clara y correcta. Pero desde adentro \u2014 puede ser diferente.<\/p>\n<p><\/p>\n<p>En mi caso, la impresi\u00f3n de ese trabajo era \"Soy genial, soy asombroso, lo resolv\u00ed\". No siempre de manera consciente, pero inconscientemente \u2014 \u00a1siempre!<\/p>\n<p><\/p>\n<p>Y te vuelves adicto a esto, sin bromas. As\u00ed que, las m\u00e9tricas internas de \u00e9xito se desplazan del resultado a la cantidad de esfuerzo aplicado y el nivel de los logros que has alcanzado, cu\u00e1n intensamente has sufrido al intentar resolver el problema.<\/p>\n<p><\/p>\n<p>Probablemente, esta sea la trampa m\u00e1s terrible.<\/p>\n<p><\/p>\n<p>Lo que viene ser\u00e1 m\u00e1s f\u00e1cil y divertido \ud83d\ude42<\/p>\n<p><\/p>\n<h2 id=\"lovushka-3-sila-hello-world\">Trampa N\u00ba3. \"El poder de Hello world\"<\/h2>\n<p><\/p>\n<p>Nuestro stack tecnol\u00f3gico de esa \u00e9poca: ElasticSearch, Hazelcast, Pentaho, freemarker (y los probados Java, Spring, Tomcat, nginx). Freemarker no proporcionaba mensajes de error muy informativos. Sin embargo, tuvimos que parchear ElasticSearch, Hazelcast, Pentaho varias veces \u2014 encontr\u00e1bamos casos donde no funcionaban como indicaba la documentaci\u00f3n.<\/p>\n<p><\/p>\n<p>Un comienzo f\u00e1cil y los r\u00e1pidos beneficios de la nueva tecnolog\u00eda son buenos, pero generan euforia y disminuyen la vigilancia. Porque la nueva tecnolog\u00eda tiene errores, necesariamente tiene errores. Y si a\u00fan no se han escrito sobre ellos, al\u00e9grate, te tocar\u00e1 ser el pionero que inevitablemente encontrar\u00e1 algo defective y buscar\u00e1 en Google o en Stack Overflow. Por supuesto, se pueden encontrar errores en productos establecidos, pero en los nuevos es mucho m\u00e1s f\u00e1cil.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospectiva de tropiezos. C\u00f3mo una soluci\u00f3n hecha a medida result\u00f3 ser mejor que una de pago\" src=\"\/wp-content\/uploads\/2020\/03\/86d505a5125b8106503497b72ff7761e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A pesar de todas las dificultades, hemos salido a producci\u00f3n. S\u00ed, con retrasos. S\u00ed, no muy estable. Pero en general, sin cat\u00e1strofes.<\/p>\n<p><\/p>\n<p>As\u00ed que una vez m\u00e1s se\u00f1alar\u00e9 las trampas en las que se distorsiona la percepci\u00f3n saludable del proceso de trabajo.<\/p>\n<p><\/p>\n<ol>\n<li><strong>\u00abEl extrapolador genial\u00bb<\/strong>. Impresionados por los \u00e9xitos actuales, seguimos adelante y extrapolamos con alegr\u00eda la velocidad de desarrollo a los pr\u00f3ximos proyectos.<\/li>\n<li><strong>\u00abEl trabajador incansable\u00bb<\/strong>. Trabajamos arduamente, estamos satisfechos con nosotros mismos, pero no nos damos cuenta de que los problemas que resolvemos son consecuencia de nuestros errores personales \/ descuidos \/ negligencias. Trabajos no realizados.<\/li>\n<li><strong>\u00abLa fuerza del Hola Mundo\u00bb<\/strong>. Nos apresuramos a implementar en producci\u00f3n todo lo nuevo e interesante.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"pochemu-vsyo-poluchilos\">Por qu\u00e9 todo sali\u00f3 bien<\/h2>\n<p><\/p>\n<p>Por supuesto, no he enumerado todos los errores que hemos tenido durante este tiempo, pero s\u00ed los m\u00e1s comunes, probables para cualquier tipo de proyecto. Identificar errores de esta manera ayuda a evitarlos en el futuro.<\/p>\n<p><\/p>\n<p>Un poco sobre c\u00f3mo logramos crear una mini-startup dentro de la empresa y convencer al negocio de abandonar el sistema comprado en favor de algo hecho a medida.<\/p>\n<p><\/p>\n<p><strong>Condici\u00f3n n\u00ba 0<\/strong>. Un clima saludable en la empresa. No se trata solo de los \"ojos brillantes\" de los empleados y la comunicaci\u00f3n en condiciones estresantes de recolecci\u00f3n de cookies, no. Se trata de todas las interacciones.<\/p>\n<p><\/p>\n<p><strong>Condici\u00f3n n\u00ba 1<\/strong>. Creer en lo que haces. En serio, no creo que tuvi\u00e9ramos ninguna oportunidad si hubi\u00e9ramos realizado el piloto sin desmantelar el sistema comprado \"hasta el tornillo\", es decir, tomando distancia y subconscientemente sabi\u00e9ndolo que este sistema es mejor y nos superar\u00e1.<\/p>\n<p><\/p>\n<p>Lo que hicimos: 1) entendimos el sistema comprado, con su ayuda resolvimos las principales solicitudes del negocio 2) elaboramos una lista de tareas que no solo existen ahora, sino que tambi\u00e9n surgir\u00e1n en el futuro previsible 3) seleccionamos la soluci\u00f3n que se ajusta mejor. Y entonces, nuestra evaluaci\u00f3n de la soluci\u00f3n fue una evaluaci\u00f3n de expertos.<\/p>\n<p><\/p>\n<p>\u00bfNos dar\u00edan algo si simplemente lleg\u00e1ramos y dij\u00e9ramos: \u201cchicos, todo es una tonter\u00eda, no queremos lidiar con esto y decidimos hacerlo desde cero\u201d? Dif\u00edcilmente. Adem\u00e1s, la respuesta ser\u00eda tal que se recordar\u00eda bien \ud83d\ude42<\/p>\n<p><\/p>\n<p><strong>Condici\u00f3n \u21162<\/strong>. Comenzamos con un primer paso peque\u00f1o. Generamos la primera hip\u00f3tesis y la verificamos. Se puede gastar tiempo personal en esto. Si no deseas invertir tu tiempo, entonces no deber\u00edas embarcarte en tal empresa. Y si no quieres verificar una peque\u00f1a hip\u00f3tesis y prefieres hacerlo desde el principio de manera impresionante y brillante, \u00a1mantente alejado de esas personas!<\/p>\n<p><\/p>\n<p>Tuvimos suerte y la primera hip\u00f3tesis funcion\u00f3. Pero esto no siempre sucede. Por ejemplo, en uno de los siguientes proyectos, cuando impulsamos una administraci\u00f3n en el marco de un piloto similar, solo funcion\u00f3 la opci\u00f3n 18. Y los primeros 17 enfoques fueron en vano. Por cierto, en la historia de la creaci\u00f3n de la administraci\u00f3n, los giros argumentales estaban a la altura de las telenovelas brasile\u00f1as, porque el equipo estaba formado por chicos que ya eran veteranos, verdaderos \"zorro viejos\".<\/p>\n<p><\/p>\n<p><strong>Condici\u00f3n \u21163<\/strong>. Creamos un MVP y buscamos las frustraciones del tomador de decisiones. Por supuesto, puede que ya est\u00e9 reflejando horror en su rostro por el simple hecho de que le traes alguna idea por trig\u00e9sima vez. Pero aun as\u00ed. Y necesariamente mostramos c\u00f3mo resolvemos sus problemas con nuestro producto.<\/p>\n<p><\/p>\n<p><strong>Condici\u00f3n \u21164<\/strong>. R\u00e1pidamente hacemos un piloto que se ve <em>aproximadamente<\/em> como el resultado final. Hacerlo todo perfecto es tentador, pero puedes caer en el perfeccionismo, lo que resultar\u00e1 en que, en lugar de un piloto, quieres mostrar una versi\u00f3n piloto de un producto ya ideal. Y eso no existe. As\u00ed que simplemente hazlo, al menos, con palos.<\/p>\n<p><\/p>\n<p><strong>Condici\u00f3n \u21165<\/strong>. Producto. El proyecto crece, obtiene financiaci\u00f3n, llegan especialistas con s\u00f3lida experiencia.<br \/>\nY si eres un cl\u00e1sico emprendedor de start-ups, este es el momento en el que tienes que salir disparado. Porque los vuelos f\u00e1ciles por las cimas y la sensaci\u00f3n de bienestar general se disipan r\u00e1pidamente.<\/p>\n<p><\/p>\n<p>La salida a producci\u00f3n es un choque con cargas reales, la integraci\u00f3n con decenas de sistemas, y al crear una nueva funcionalidad, al mismo tiempo, dentro del soporte, mejoras las versiones antiguas. Todo esto son desaf\u00edos mucho m\u00e1s serios que solo inventar una idea y resolver al menos un problema del cliente.<\/p>\n<p><\/p>\n<p>Este es el momento en el que suceden los desaf\u00edos y se desarrollan las habilidades.<\/p>\n<p><\/p>\n<p>Gracias por leer. \u00a1Feliz nuevo c\u00f3digo!<\/p>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/485088\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Retrospectiva de errores. C\u00f3mo una soluci\u00f3n hecha a mano result\u00f3 ser mejor que una de pago | ProHoster","description":"\u00a1Hola! Me llamo Alexey P'yankov, soy el programador principal en la empresa Sportmaster.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-12T23:42:03+00:00","article:modified_time":"2020-03-12T23:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73944","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:24:23","updated":"2022-10-06 05:35:50","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/73944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=73944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/73944\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/73945"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=73944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=73944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=73944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}