{"id":74955,"date":"2020-03-22T08:42:23","date_gmt":"2020-03-22T05:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu"},"modified":"2020-03-22T08:42:23","modified_gmt":"2020-03-22T05:42:23","slug":"kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","title":{"rendered":"C\u00f3mo leer y corregir 100,000 l\u00edneas de c\u00f3digo en una semana","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"C\u00f3mo leer y corregir 100,000 l\u00edneas de c\u00f3digo en una semana\" src=\"\/wp-content\/uploads\/2020\/03\/9d646716cc8d6eb1f9c49cb8539d7422.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAl principio, siempre es dif\u00edcil entender un proyecto grande y antiguo. La evaluaci\u00f3n de arquitectura es una de las actividades del arquitecto. Normalmente, hay que trabajar con grandes proyectos antiguos, y los resultados deben presentarse en una semana.<\/p>\n<p>\u00bfC\u00f3mo evaluar un proyecto de 100k o m\u00e1s l\u00edneas de c\u00f3digo en una semana y al mismo tiempo proporcionar resultados realmente \u00fatiles para el cliente?<\/p>\n<p>La mayor\u00eda de los arquitectos y l\u00edderes t\u00e9cnicos se han enfrentado a este tipo de evaluaciones de proyectos. Puede parecer un proceso semiformado o un servicio separado como se hace en nuestra empresa; de cualquier manera, la mayor\u00eda de ustedes han tenido experiencia con esto.<\/p>\n<p>El original en ingl\u00e9s para sus amigos que no hablan ruso est\u00e1 aqu\u00ed: <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-assessment-read-and-fix-100000-lines-of-code-in-a-week\/\">Evaluaci\u00f3n de Arquitectura en una semana<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Enfoque en nuestra empresa<\/h2>\n<p>\nLes contar\u00e9 c\u00f3mo funciona esto en nuestra empresa y c\u00f3mo procedo en situaciones similares, pero pueden ajustar este enfoque seg\u00fan las necesidades de su proyecto y empresa.<\/p>\n<p>Hay dos tipos de evaluaci\u00f3n de arquitectura.<\/p>\n<p><b>Interna<\/b> \u2013 normalmente la hacemos para proyectos dentro de la empresa. Cualquier proyecto puede solicitar una evaluaci\u00f3n de arquitectura por varias razones:<\/p>\n<ol>\n<li>El equipo piensa que su proyecto es perfecto y eso es sospechoso. Hemos tenido tales casos y a menudo en esos proyectos nada es perfecto.<\/li>\n<li>El equipo quiere verificar su proyecto y sus decisiones.<\/li>\n<li>El equipo sabe que todo est\u00e1 mal. Incluso pueden enumerar los problemas principales y sus causas, pero quieren obtener una lista completa de problemas y recomendaciones para mejorar el proyecto.<\/li>\n<\/ol>\n<p>\n<b>Externa<\/b> \u2013 este es un proceso m\u00e1s formal que la evaluaci\u00f3n interna. El cliente siempre llega en un solo caso, cuando todo est\u00e1 mal \u2013 muy mal. Normalmente, el cliente comprende que hay problemas globales, pero no puede identificar correctamente las causas y descomponerlas en partes.<\/p>\n<p>La evaluaci\u00f3n de arquitectura para un cliente externo es un caso m\u00e1s complicado. El proceso debe ser m\u00e1s formal. Los proyectos siempre son grandes y antiguos. Tienen muchos problemas, errores y c\u00f3digo defectuoso. El informe del trabajo realizado debe estar listo en unas pocas semanas como m\u00e1ximo, donde se deben detallar los problemas principales y las recomendaciones para mejorar. Por lo tanto, si resolvemos la evaluaci\u00f3n externa del proyecto, la interna ser\u00e1 un tr\u00e1mite f\u00e1cil. Consideremos el caso m\u00e1s complicado.<\/p>\n<h2>Evaluaci\u00f3n de arquitectura de un proyecto empresarial.<\/h2>\n<p>\nUn proyecto t\u00edpico para una evaluaci\u00f3n es un gran proyecto antiguo de empresa con muchos problemas. El cliente viene a nosotros y nos pide reparar su proyecto. Es como un iceberg, el cliente solo ve la punta de sus problemas y no se da cuenta de lo que hay debajo del agua (en lo profundo del c\u00f3digo).<\/p>\n<p>Problemas de los que el cliente puede quejarse y de los que puede ser consciente:<\/p>\n<ul>\n<li>Problemas de rendimiento<\/li>\n<li>Problemas con la usabilidad de la aplicaci\u00f3n<\/li>\n<li>Despliegue prolongado<\/li>\n<li>Falta de pruebas unitarias y otras pruebas<\/li>\n<\/ul>\n<p>\nProblemas que el cliente probablemente no se da cuenta, pero que pueden estar presentes en el proyecto:<\/p>\n<ul>\n<li>Problemas de seguridad<\/li>\n<li>Problemas de dise\u00f1o<\/li>\n<li>Arquitectura incorrecta<\/li>\n<li>Errores algor\u00edtmicos<\/li>\n<li>Tecnolog\u00edas inadecuadas<\/li>\n<li>Deuda t\u00e9cnica<\/li>\n<li>Proceso de desarrollo incorrecto<\/li>\n<\/ul>\n<p><\/p>\n<h2>Proceso formal de evaluaci\u00f3n de la arquitectura<\/h2>\n<p>\nEste es un proceso formal que seguimos en la empresa, pero puedes adaptarlo seg\u00fan tu empresa y proyecto.<\/p>\n<h3>Solicitud del cliente<\/h3>\n<p>\nEl cliente solicita una evaluaci\u00f3n de la arquitectura del proyecto actual. La persona responsable de nuestra parte recopila informaci\u00f3n b\u00e1sica sobre el proyecto y selecciona a los expertos necesarios. Dependiendo del proyecto, estos pueden ser diferentes expertos.<\/p>\n<p><b>Arquitecto de Soluciones<\/b> \u2013 la persona principal responsable de la evaluaci\u00f3n y la coordinaci\u00f3n (y a menudo la \u00fanica).<br \/>\n<b>Expertos espec\u00edficos de la pila<\/b> \u2013 .Net, Java, Python, y otros especialistas t\u00e9cnicos seg\u00fan el proyecto y las tecnolog\u00edas<br \/>\n<b>Expertos en la Nube<\/b> \u2013 pueden ser arquitectos de nube de Azure, GCP o AWS.<br \/>\n<b>Infraestructura<\/b> \u2013 DevOps, administrador de sistemas, etc.<br \/>\n<b>Otros expertos<\/b> \u2013 como big data, machine learning, ingeniero de rendimiento, experto en seguridad, l\u00edder de QA.<\/p>\n<h3>Recopilaci\u00f3n de informaci\u00f3n sobre el proyecto<\/h3>\n<p>\nDeber\u00edas recopilar tanta informaci\u00f3n como sea posible sobre el proyecto. Puedes utilizar diferentes t\u00e9cnicas seg\u00fan la situaci\u00f3n:<\/p>\n<ul>\n<li>Cuestionarios y otros m\u00e9todos de comunicaci\u00f3n por correo. El m\u00e9todo menos efectivo.<\/li>\n<li>Reuniones en l\u00ednea.<\/li>\n<li>Herramientas especiales para el intercambio de informaci\u00f3n como: Google doc, Confluence, repositorios, etc.<\/li>\n<li>Reuniones 'en vivo' en el lugar. El m\u00e9todo m\u00e1s efectivo y caro.<\/li>\n<\/ul>\n<p>\n<i>\u00bfQu\u00e9 se debe obtener del cliente?<\/i><\/p>\n<p><b>Informaci\u00f3n b\u00e1sica.<\/b> Sobre qu\u00e9 trata el proyecto. Su objetivo y valor. Objetivos principales y planes futuros. Objetivos comerciales y estrategias. Problemas principales y resultados deseados.<\/p>\n<p><b>Informaci\u00f3n sobre el proyecto<\/b>. Stack tecnol\u00f3gico, frameworks, lenguajes de programaci\u00f3n. Despliegue on-premise o en la nube. Si el proyecto est\u00e1 en la nube, \u00bfqu\u00e9 servicios se utilizan? \u00bfQu\u00e9 patrones arquitect\u00f3nicos y de dise\u00f1o se aplicaron?<\/p>\n<p><b>Requisitos no funcionales<\/b>. Todos los requisitos relacionados con el rendimiento, la disponibilidad y la facilidad de uso del sistema. Requisitos de seguridad, etc.<\/p>\n<p><b>Casos de uso b\u00e1sicos y flujos de datos.<\/b><\/p>\n<p><b>Acceso al c\u00f3digo fuente<\/b>. \u00a1La parte m\u00e1s importante! Debe asegurarse de obtener acceso a los repositorios y la documentaci\u00f3n sobre c\u00f3mo construir el proyecto.<\/p>\n<p><b>Acceso a la infraestructura<\/b>. Ser\u00eda ideal tener acceso a la infraestructura de stage o producci\u00f3n para trabajar con el sistema \"vivo\". Es una gran ventaja si el cliente tiene herramientas de monitoreo de infraestructura y rendimiento. Hablaremos sobre estas herramientas en la siguiente secci\u00f3n.<\/p>\n<p><b>La documentaci\u00f3n<\/b>. Si el cliente tiene documentaci\u00f3n, es un buen comienzo. Puede estar desactualizada, pero sigue siendo un buen punto de partida. Nunca conf\u00edes completamente en la documentaci\u00f3n: verifica con el cliente, en la infraestructura real y en el c\u00f3digo fuente.<\/p>\n<h3>Proceso de evaluaci\u00f3n de la arquitectura<\/h3>\n<p>\n\u00bfC\u00f3mo manejar una cantidad tan grande de informaci\u00f3n en tan poco tiempo? Primero, paraleliza el trabajo.<\/p>\n<p>El DevOps debe revisar la infraestructura. El l\u00edder t\u00e9cnico en el c\u00f3digo. El ingeniero de rendimiento debe observar las m\u00e9tricas de rendimiento. El especialista en bases de datos debe profundizar en las estructuras de datos.<\/p>\n<p>Pero este es el caso ideal, cuando tienes muchos recursos. Normalmente, la evaluaci\u00f3n del proyecto la realizan entre una y tres personas. Incluso puedes realizar la evaluaci\u00f3n t\u00fa mismo, lo cual sucede a menudo si tienes el conocimiento y la experiencia adecuados en todas las \u00e1reas del proyecto. En ese caso, necesitas automatizar todos los procesos tanto como sea posible.<\/p>\n<p>Desafortunadamente, tendr\u00e1s que leer la documentaci\u00f3n manualmente. Con la experiencia adecuada, podr\u00e1s entender r\u00e1pidamente la calidad de la documentaci\u00f3n. Qu\u00e9 es cierto y qu\u00e9 claramente no coincide con la realidad. A veces, puedes encontrar una arquitectura en la documentaci\u00f3n que nunca funcionar\u00e1 en la vida real. Este es un disparador para que te preguntes c\u00f3mo se hace realmente en el proyecto.<\/p>\n<h3>Herramientas \u00fatiles para automatizar la evaluaci\u00f3n del proyecto<\/h3>\n<p>\nLa evaluaci\u00f3n del c\u00f3digo es un ejercicio sencillo. Puede utilizar analizadores de c\u00f3digo est\u00e1ticos que le mostrar\u00e1n problemas de dise\u00f1o, rendimiento y seguridad. Aqu\u00ed hay algunos de ellos:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/structure101.com\/\">Structure 101<\/a><\/noindex> es una excelente herramienta para arquitectos. Le mostrar\u00e1 una visi\u00f3n general, las dependencias entre m\u00f3dulos y las \u00e1reas potenciales para refactorizaci\u00f3n. Como todas las buenas herramientas, cuesta un buen dinero, aunque puede aprovechar una versi\u00f3n de prueba de 30 d\u00edas.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.sonarqube.org\/\">SonarQube<\/a><\/noindex> es una herramienta cl\u00e1sica. Herramienta para el an\u00e1lisis est\u00e1tico de c\u00f3digo. Permite identificar c\u00f3digo defectuoso, errores y problemas de seguridad para m\u00e1s de 20 lenguajes de programaci\u00f3n.<\/p>\n<p>Todos los proveedores de la nube tienen herramientas para monitorear la infraestructura. Esto le permitir\u00e1 evaluar correctamente la efectividad de la infraestructura en t\u00e9rminos de costo y rendimiento. Para AWS, esto es <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/premiumsupport\/technology\/trusted-advisor\/\">trusted advisor<\/a><\/noindex>. Para Azure, es simplemente <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/advisor\/\">Azure Advisor<\/a><\/noindex>.<\/p>\n<p>Un monitoreo adicional del rendimiento y la recopilaci\u00f3n de registros ayudar\u00e1 a detectar problemas de rendimiento en todos los niveles. Desde bases de datos con consultas ineficientes, el backend y hasta el frontend. Incluso si el cliente no ha instalado estas herramientas anteriormente, puede integrarlas bastante r\u00e1pidamente en el sistema existente para identificar problemas de rendimiento.<\/p>\n<p>Como siempre, las buenas herramientas tienen un buen precio. Puedo recomendar un par de herramientas de pago. Claro, puede utilizar software de c\u00f3digo abierto, pero necesitar\u00e1 m\u00e1s tiempo para ello. Y esto deber\u00eda hacerse con antelaci\u00f3n, no durante la evaluaci\u00f3n de la arquitectura.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\">New Relic<\/a><\/noindex> es una herramienta para evaluar el rendimiento de aplicaciones.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">Datadog<\/a><\/noindex> es un servicio en la nube para el monitoreo de sistemas.<\/p>\n<p>Hay muchas herramientas para probar la seguridad. Esta vez, le recomendar\u00e9 una herramienta gratuita para escanear sistemas.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-project-zap\/\">OWASP ZAP<\/a><\/noindex> es una herramienta para escanear aplicaciones web en busca de cumplimiento con est\u00e1ndares de seguridad.<\/p>\n<p>Juntamos todo en un solo lugar.<\/p>\n<h3>Preparamos el informe.<\/h3>\n<p>\nComience su informe con los datos recopilados del cliente. Describa los objetivos del proyecto, las limitaciones y los requisitos no funcionales. Despu\u00e9s de eso, mencione toda la entrada de datos: el c\u00f3digo fuente, la documentaci\u00f3n, la infraestructura.<\/p>\n<p>Siguiente paso. Indique todos los problemas que encontr\u00f3 manualmente o con la ayuda de herramientas automatizadas. Coloque los informes generados autom\u00e1ticamente al final en la secci\u00f3n de anexos. Aqu\u00ed deben de haber pruebas cortas y concisas de los problemas encontrados.<br \/>\nPriorice los problemas encontrados en una escala de error, advertencia, informaci\u00f3n. Puede elegir su propia escala, pero esta es la m\u00e1s com\u00fan.<\/p>\n<p>Como verdadero arquitecto, debe ofrecer recomendaciones para resolver los problemas encontrados. Describa las mejoras y el valor para el negocio que obtendr\u00e1 el cliente. C\u00f3mo demostrar el valor para el negocio de <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-refactoring-and-design-refactoring-how-to-sell-it-client\/\">refactorizaci\u00f3n de arquitectura<\/a><\/noindex> de lo que discutimos anteriormente.<\/p>\n<p>Prepare una hoja de ruta con peque\u00f1as iteraciones. Cada iteraci\u00f3n debe incluir el tiempo de ejecuci\u00f3n, una descripci\u00f3n, la cantidad de recursos necesarios para mejorar, el valor t\u00e9cnico y el valor para el negocio.<\/p>\n<h3>Finalizamos la evaluaci\u00f3n de la arquitectura y entregamos el informe al cliente.<\/h3>\n<p>\nNunca env\u00ede simplemente el informe por correo. Puede que ni siquiera se lea o que se lea sin la debida explicaci\u00f3n. En resumen, la comunicaci\u00f3n cara a cara ayuda a eliminar malentendidos entre las personas. Deber\u00eda programar una reuni\u00f3n con el cliente y hablar sobre los problemas encontrados, enfatizando los m\u00e1s significativos. Debe llamar la atenci\u00f3n del cliente sobre problemas de los que podr\u00eda no haber sido consciente, como problemas de seguridad, y explicar c\u00f3mo pueden afectar el negocio. Muestre su hoja de ruta con mejoras y discuta las diferentes opciones m\u00e1s adecuadas para el cliente. Esto puede incluir tiempo, recursos, volumen de trabajo.<\/p>\n<p>Como cierre de su reuni\u00f3n, env\u00ede al cliente su informe.<\/p>\n<h2>En conclusi\u00f3n<\/h2>\n<p>\nLa evaluaci\u00f3n de la arquitectura es un proceso complejo. Para llevar a cabo una evaluaci\u00f3n adecuadamente, debe tener suficiente experiencia y conocimientos.<\/p>\n<p>Es posible proporcionar resultados \u00fatiles para el cliente y su negocio en solo una semana. Incluso si lo hace solo.<\/p>\n<p>Basado en mi experiencia, muchas mejoras se deten\u00edan a la mitad, y a veces ni siquiera comenzaban. Aquellos que optaban por un enfoque equilibrado y realizaban solo algunas de las mejoras m\u00e1s \u00fatiles para el negocio con el m\u00ednimo de esfuerzo lograban mejorar significativamente la calidad de su producto. Los que no hac\u00edan nada pod\u00edan cerrar el proyecto despu\u00e9s de un par de a\u00f1os.<\/p>\n<p>Su objetivo es mostrar al cliente las m\u00e1ximas mejoras al m\u00ednimo precio.<\/p>\n<p>Otros art\u00edculos de la secci\u00f3n <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/category\/architecture\/\">arquitectura<\/a><\/noindex> puede leerse en su tiempo libre.<\/p>\n<p>Le deseo c\u00f3digo limpio y buenas soluciones arquitect\u00f3nicas.<\/p>\n<p>Nuestro grupo de Facebook es \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/206130407152602\/\">Arquitectura y Desarrollo de Software<\/a><\/noindex>.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/493226\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0438 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. Architecture assessment \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438, \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e. \u041a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445 \u043b\u0438\u0434\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74955","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=\"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432.\" \/>\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\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\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\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c 100,000 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\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-22T05:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-22T05:42:23+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\udd47C\u00f3mo leer y corregir 100,000 l\u00edneas de c\u00f3digo en una semana | ProHoster","description":"Al principio siempre es dif\u00edcil entender en.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","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\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c 100,000 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e | ProHoster","og:description":"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","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-22T05:42:23+00:00","article:modified_time":"2020-03-22T05:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74955","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:04:26","updated":"2022-10-02 00:18:18","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\/74955","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=74955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/74955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/74956"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=74955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=74955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=74955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}