{"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\/da\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","title":{"rendered":"Hvordan l\u00e6ser og retter man 100.000 linjer kode p\u00e5 en uge","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Hvordan l\u00e6ser og retter man 100.000 linjer kode p\u00e5 en uge\" src=\"\/wp-content\/uploads\/2020\/03\/9d646716cc8d6eb1f9c49cb8539d7422.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI starten er det altid sv\u00e6rt at finde sig til rette i et stort og gammelt projekt. Architecture assessment er en af aktiviteterne for arkitekten. Man m\u00e5 ofte arbejde med store, gamle projekter, og resultaterne skal pr\u00e6senteres p\u00e5 en uge.<\/p>\n<p>Hvordan vurderer man et projekt med 100.000 linjer kode og mere p\u00e5 en uge, mens man stadig leverer virkelig nyttige resultater til kunden?<\/p>\n<p>De fleste arkitekter og tech leads har st\u00e5et over for s\u00e5danne projektspecifikationer. Det kan se ud som en halvformel proces eller som en separat service, som den vi tilbyder i vores virksomhed, men de fleste af jer har v\u00e6ret i denne situation.<\/p>\n<p>Originalen p\u00e5 engelsk for dine ikke-russisk talende venner ligger her: <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-assessment-read-and-fix-100000-lines-of-code-in-a-week\/\">Architecture Assessment in a week<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Tilgangen i vores virksomhed<\/h2>\n<p>\nJeg vil fort\u00e6lle dig, hvordan det fungerer i vores virksomhed, og hvordan jeg h\u00e5ndterer s\u00e5danne situationer, men du kan nemt tilpasse denne tilgang til dit projekts og din virksomheds behov.<\/p>\n<p>Der er to slags architecture assessment.<\/p>\n<p><b>Intern<\/b> \u2013 vi laver normalt dette for projekter inden for virksomheden. Hvert projekt kan anmode om en arkitekturvurdering af flere grunde:<\/p>\n<ol>\n<li>Teamet tror, at deres projekt er perfekt, og det virker mist\u00e6nkeligt. Vi har haft s\u00e5danne tilf\u00e6lde, og ofte er alt langt fra perfekt i disse projekter.<\/li>\n<li>Teamet \u00f8nsker at tjekke deres projekt og l\u00f8sninger.<\/li>\n<li>Teamet ved, at alt er d\u00e5rligt. De kan endda opremse de vigtigste problemer og \u00e5rsager, men \u00f8nsker at f\u00e5 en fuld liste over problemer og anbefalinger til forbedringer.<\/li>\n<\/ol>\n<p>\n<b>Ekstern<\/b> \u2013 det er en mere formel proces end den interne vurdering. Kunden henvender sig altid kun under \u00e9n omst\u00e6ndighed, n\u00e5r alt er d\u00e5rligt \u2013 meget d\u00e5rligt. Normalt forst\u00e5r kunden, at der er globale problemer, men kan ikke korrekt identificere \u00e5rsagerne og nedbryde dem.<\/p>\n<p>Arkitekturvurdering for en ekstern kunde er en mere kompleks sag. Processen skal v\u00e6re mere formel. Projekterne er altid store og gamle. Der er mange problemer, bugs og d\u00e5rligt kode. Rapporten om det udf\u00f8rte arbejde skal v\u00e6re klar inden for et par uger, h\u00f8jst, hvor de vigtigste problemer og anbefalinger til forbedringer skal pr\u00e6senteres. S\u00e5 hvis vi kan finde ud af den eksterne vurdering af projektet, vil den interne v\u00e6re en tilf\u00f8jelse. Lad os se p\u00e5 den mest komplekse situation.<\/p>\n<h2>Vurdering af enterprise-arkitektur<\/h2>\n<p>\nEt typisk projekt til vurdering er et stort, gammelt enterprise-projekt med mange problemer. Kunden henvender sig til os og beder os om at reparere deres projekt. Det er som med et isbjerg; kunden ser kun toppen af deres problemer og aner ikke, hvad der gemmer sig under overfladen (i dybden af koden).<\/p>\n<p>Problemer, som kunden m\u00e5ske klager over og er klar over:<\/p>\n<ul>\n<li>Ydelsesproblemer<\/li>\n<li>Problemer med brugervenligheden af applikationen (Usability)<\/li>\n<li>Langvarig deployment<\/li>\n<li>Manglende unit og andre tests<\/li>\n<\/ul>\n<p>\nProblemer, som kunden sandsynligvis ikke er klar over, men som kan v\u00e6re til stede i projektet:<\/p>\n<ul>\n<li>Sikkerhedsproblemer<\/li>\n<li>Designproblemer<\/li>\n<li>Forkert arkitektur<\/li>\n<li>Algorithmiske fejl<\/li>\n<li>Utilstr\u00e6kkelige teknologier<\/li>\n<li>Teknisk g\u00e6ld<\/li>\n<li>Forkert udviklingsproces<\/li>\n<\/ul>\n<p><\/p>\n<h2>Formel proces for vurdering af arkitektur<\/h2>\n<p>\nDette er en formel proces, som vi f\u00f8lger i virksomheden, men du kan tilpasse den til dine behov afh\u00e6ngigt af dit firma og projekt.<\/p>\n<h3>Anmodning fra kunden<\/h3>\n<p>\nKunden beder om at f\u00e5 vurderet arkitekturen for det aktuelle projekt. Den ansvarlige person fra vores side indsamler grundl\u00e6ggende information om projektet og v\u00e6lger de n\u00f8dvendige eksperter. Afh\u00e6ngig af projektet kan det v\u00e6re forskellige eksperter.<\/p>\n<p><b>L\u00f8sningsarkitekt<\/b> \u2013 den prim\u00e6re person, der er ansvarlig for vurderingen og koordineringen (og ofte den eneste).<br \/>\n<b>Stack-specifikke eksperter<\/b> \u2013 .Net, Java, Python og andre tekniske specialister afh\u00e6ngigt af projektet og teknologierne.<br \/>\n<b>Cloud-eksperter<\/b> \u2013 dette kan v\u00e6re Azure, GCP eller AWS cloud-arkitekter.<br \/>\n<b>Infrastruktur<\/b> \u2013 DevOps, systemadministrator osv.<br \/>\n<b>Andre eksperter<\/b> \u2013 s\u00e5som big data, machine learning, performance engineer, sikkerhedsekspert, QA lead.<\/p>\n<h3>Indsamling af information om projektet<\/h3>\n<p>\nDu b\u00f8r indsamle s\u00e5 meget information som muligt om projektet. Du kan bruge forskellige teknikker afh\u00e6ngigt af situationen:<\/p>\n<ul>\n<li>Sp\u00f8rgeskemaer og andre kommunikationsmetoder via e-mail. Den mest ineffektive metode.<\/li>\n<li>Online m\u00f8der.<\/li>\n<li>Specialv\u00e6rkt\u00f8jer til informationsudveksling, s\u00e5som: Google doc, Confluence, repositories osv.<\/li>\n<li>\u00bbLive\u00ab m\u00f8der p\u00e5 stedet. Den mest effektive og dyre metode.<\/li>\n<\/ul>\n<p>\n<i>Hvad skal man s\u00e5 have fra kunden?<\/i><\/p>\n<p><b>Grundl\u00e6ggende information.<\/b> Hvad handler projektet om? Dets m\u00e5l og v\u00e6rdi. Hovedm\u00e5l og fremtidige planer. Forretningsm\u00e5l og strategier. Hovedproblemer og \u00f8nsket resultat.<\/p>\n<p><b>Information om projektet<\/b>. Teknologistak, rammer, programmeringssprog. On-premise eller cloud-deployment. Hvis projektet er i skyen, hvilke tjenester anvendes? Hvilke arkitektoniske og designm\u00f8nstre er anvendt?<\/p>\n<p><b>Ikke-funktionelle krav<\/b>. Alle krav relateret til systemets ydelse, tilg\u00e6ngelighed, brugervenlighed. Sikkerhedskrav osv.<\/p>\n<p><b>Basis-usecases og datastr\u00f8mme.<\/b><\/p>\n<p><b>Adgang til kildekoden<\/b>. Den vigtigste del! Du skal absolut have adgang til repositoryer og dokumentation for, hvordan projektet samles.<\/p>\n<p><b>Adgang til infrastrukturen<\/b>. Det ville v\u00e6re godt at f\u00e5 adgang til stage eller produktionsinfrastrukturen for at arbejde med det 'aktive' system. Det er en stor fordel, hvis kunden har v\u00e6rkt\u00f8jer til overv\u00e5gning af infrastruktur og ydeevne. Vi vil tale om disse v\u00e6rkt\u00f8jer i n\u00e6ste sektion.<\/p>\n<p><b>Dokumentation<\/b>. Hvis kunden har dokumentation, er det et godt udgangspunkt. Den kan v\u00e6re for\u00e6ldet, men det er stadig et godt udgangspunkt. Stol aldrig blindt p\u00e5 dokumentationen \u2013 verificer den med kunden, p\u00e5 den virkelige infrastruktur og i kildekoden.<\/p>\n<h3>Vurderingsprocessen for arkitektur<\/h3>\n<p>\nHvordan h\u00e5ndterer man s\u00e5 mange informationer p\u00e5 s\u00e5 kort tid? F\u00f8rst og fremmest, del arbejdet op i parallelle spor.<\/p>\n<p>DevOps b\u00f8r kigge p\u00e5 infrastrukturen. Tech-lead til koden. Ydelsesteknikeren skal kigge p\u00e5 ydeevnemetrikker. Databasespecialisten b\u00f8r grave dybere i datalogi.<\/p>\n<p>Men det er den ideelle situation, n\u00e5r du har mange ressourcer. Normalt udf\u00f8res projektvurderingen af en til tre personer. Du kan endda udf\u00f8re vurderingen selv, hvilket ofte er tilf\u00e6ldet, hvis du har den n\u00f8dvendige viden og erfaring inden for alle omr\u00e5der af projektet. I s\u00e5 fald skal du automatisere alle processer, hvor det er muligt.<\/p>\n<p>Desv\u00e6rre m\u00e5 du l\u00e6se dokumentationen manuelt. Med tilstr\u00e6kkelig erfaring kan du hurtigt vurdere kvaliteten af dokumentationen. Hvad der er sandt, og hvad der \u00e5benlyst ikke stemmer overens med virkeligheden. Nogle gange kan du finde en arkitektur i dokumentationen, der aldrig ville fungere i virkeligheden. Dette er en indikator for dig til at overveje, hvordan det faktisk er lavet i projektet.<\/p>\n<h3>Nyttige v\u00e6rkt\u00f8jer til automatisering af projektvurdering<\/h3>\n<p>\nKodevurdering er en simpel \u00f8velse. Du kan bruge statiske kodeanalysev\u00e6rkt\u00f8jer, der viser design-, performance- og sikkerhedsproblemer. Her er nogle af dem:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/structure101.com\/\">Structure 101<\/a><\/noindex> \u2013 er et fremragende v\u00e6rkt\u00f8j for arkitekter. Det vil give dig et overblik, afh\u00e6ngigheder mellem moduler og potentielle omr\u00e5der for refactoring. Som med alle gode v\u00e6rkt\u00f8jer koster det penge, men du kan samtidig benytte en 30-dages pr\u00f8veversion.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.sonarqube.org\/\">SonarQube<\/a><\/noindex> \u2013 den gode gamle v\u00e6rkt\u00f8j. Et v\u00e6rkt\u00f8j til statisk kodeanalyse. Det kan identificere d\u00e5rlig kode, bugs og sikkerhedsproblemer p\u00e5 mere end 20 programmeringssprog.<\/p>\n<p>Alle cloud-udbydere har v\u00e6rkt\u00f8jer til overv\u00e5gning af infrastrukturen. Dette vil give dig et korrekt billede af effektiviteten af infrastrukturen med hensyn til omkostninger og ydeevne. For AWS er det <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/premiumsupport\/technology\/trusted-advisor\/\">trusted advisor<\/a><\/noindex>. For Azure er det blot <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/advisor\/\">Azure Advisor<\/a><\/noindex>.<\/p>\n<p>Yderligere ydeevneoverv\u00e5gning og logf\u00f8ring kan hj\u00e6lpe med at finde ydeevneproblemer p\u00e5 alle niveauer. Fra databasen med ineffektive foresp\u00f8rgsler, backend og op til frontend. Selvom kunden ikke tidligere har installeret disse v\u00e6rkt\u00f8jer, kan du hurtigt integrere dem i det eksisterende system for at identificere ydeevneproblemer.<\/p>\n<p>Som altid koster gode v\u00e6rkt\u00f8jer penge. Jeg kan anbefale et par betalte v\u00e6rkt\u00f8jer. Selvf\u00f8lgelig kan du bruge open-source, men det vil tage l\u00e6ngere tid. Og det b\u00f8r g\u00f8res p\u00e5 forh\u00e5nd, ikke under vurderingen af arkitekturen.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\">New Relic<\/a><\/noindex> \u2013 v\u00e6rkt\u00f8j til vurdering af applikationsydelse<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">Datadog<\/a><\/noindex> \u2013 cloud-baseret overv\u00e5gning af systemer<\/p>\n<p>Til sikkerhedstest findes der mange v\u00e6rkt\u00f8jer. Denne gang vil jeg anbefale et gratis v\u00e6rkt\u00f8j til systemscanning.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-project-zap\/\">OWASP ZAP<\/a><\/noindex> \u2013 et v\u00e6rkt\u00f8j til scanning af webapplikationer i henhold til sikkerhedsstandarder.<\/p>\n<p>Samler alt i \u00e9t.<\/p>\n<h3>Forbereder rapport<\/h3>\n<p>\nStart din rapport med de indsamlede data fra kunden. Beskriv projektets m\u00e5l, begr\u00e6nsninger og ikke-funktionelle krav. Derefter b\u00f8r du n\u00e6vne alle indg\u00e5ende data: kildekode, dokumentation, infrastruktur.<\/p>\n<p>N\u00e6ste skridt. Angiv alle de problemer, du har fundet manuelt eller ved hj\u00e6lp af automatiserede v\u00e6rkt\u00f8jer. Store autogenererede rapporter skal placeres i slutningen i sektionen for bilag. Her skal der v\u00e6re korte og pr\u00e6cise beviser for de fundne problemer.<br \/>\nPrioriter de fundne problemer p\u00e5 en skala af fejl, advarsel, info. Du kan v\u00e6lge din egen skala, men denne er almindeligt accepteret.<\/p>\n<p>Som en \u00e6gte arkitekt er du forpligtet til at give anbefalinger til at l\u00f8se de fundne problemer. Beskriv forbedringerne og den v\u00e6rdi, som kunden vil opn\u00e5. Hvordan viser man v\u00e6rdien for virksomheden fra <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-refactoring-and-design-refactoring-how-to-sell-it-client\/\">architecture refactoring<\/a><\/noindex> vi diskuterede tidligere.<\/p>\n<p>Forbered et roadmap med sm\u00e5 iterationer. Hver iteration skal indeholde tid til udf\u00f8relse, beskrivelse, antal ressourcer n\u00f8dvendige for forbedring, teknisk v\u00e6rdi og v\u00e6rdi for virksomheden.<\/p>\n<h3>Vi afslutter vurderingen af arkitekturen og giver kunden en rapport.<\/h3>\n<p>\nSend aldrig blot rapporten pr. mail. Den kan hverken blive l\u00e6st eller blive forst\u00e5et uden ordentlige forklaringer. Kort sagt \u2013 levende kommunikation hj\u00e6lper med at afklare misforst\u00e5elser mellem mennesker. Du b\u00f8r planl\u00e6gge et m\u00f8de med kunden og tale om de fundne problemer med fokus p\u00e5 de mest betydningsfulde. Det er vigtigt at g\u00f8re kunden opm\u00e6rksom p\u00e5 problemer, han m\u00e5ske ikke engang er klar over. S\u00e5som sikkerhedsproblemer, og forklar, hvordan de kan p\u00e5virke hans forretning. Vis dit roadmap med forbedringer og diskuter forskellige muligheder, der passer bedre til kunden. Dette kan v\u00e6re tid, ressourcer, arbejdsomfang.<\/p>\n<p>Som et resume af dit m\u00f8de, send kunden din rapport.<\/p>\n<h2>Afslutningsvis<\/h2>\n<p>\nVurdering af arkitektur er en kompleks proces. For at gennemf\u00f8re en evaluering ordentligt, skal du have tilstr\u00e6kkelig erfaring og viden.<\/p>\n<p>Det er muligt at give kunden nyttige resultater for ham og hans virksomhed p\u00e5 bare en uge. Selv hvis du g\u00f8r det alene.<\/p>\n<p>P\u00e5 baggrund af min erfaring blev mange forbedringer stoppet halvvejs, og nogle gange begyndte de slet ikke. De, der valgte en gylden middelvej og kun gjorde de mest nyttige forbedringer for virksomheden med minimale ressourcer, forbedrede kvaliteten af deres produkt betydeligt. De, der ikke gjorde noget, kunne efter et par \u00e5r lukke projektet helt.<\/p>\n<p>Dit skal vise kunden maksimale forbedringer til minimal pris.<\/p>\n<p>Andre artikler i sektionen <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/category\/architecture\/\">arkitektur<\/a><\/noindex> kan l\u00e6ses i ens fritid.<\/p>\n<p>Jeg \u00f8nsker jer ren kode og gode arkitektur-l\u00f8sninger.<\/p>\n<p>Vores Facebook-gruppe \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/206130407152602\/\">Softwarearkitektur og udvikling<\/a><\/noindex>.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Hvordan man l\u00e6ser og retter 100.000 linjer kode p\u00e5 en uge | ProHoster","description":"I begyndelsen er det altid sv\u00e6rt at forst\u00e5 i.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/74955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=74955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/74955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/74956"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=74955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=74955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=74955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}