{"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\/sv\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","title":{"rendered":"Hur man l\u00e4ser och r\u00e4ttar 100 000 rader kod p\u00e5 en vecka","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Hur man l\u00e4ser och r\u00e4ttar 100 000 rader kod p\u00e5 en vecka\" src=\"\/wp-content\/uploads\/2020\/03\/9d646716cc8d6eb1f9c49cb8539d7422.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI b\u00f6rjan \u00e4r det alltid sv\u00e5rt att f\u00f6rst\u00e5 ett stort och gammalt projekt. Architecture assessment \u00e4r en av aktiviteternas arkitekt. Ofta m\u00e5ste man arbeta med stora, gamla projekt, och resultaten m\u00e5ste levereras inom en vecka.<\/p>\n<p>Hur kan man utv\u00e4rdera ett projekt med 100k och fler rader kod p\u00e5 en vecka och samtidigt ge verkligt anv\u00e4ndbara resultat f\u00f6r kunden?<\/p>\n<p>De flesta arkitekter och teknikledare har st\u00f6tt p\u00e5 liknande projektutv\u00e4rderingar. Det kan se ut som en halvformell process eller som en separat tj\u00e4nst, som den vi erbjuder, men oavsett vad har de flesta av er varit med om detta.<\/p>\n<p>Originalet p\u00e5 engelska f\u00f6r dina icke-rysspr\u00e5kiga v\u00e4nner finns h\u00e4r: <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>V\u00e5r strategi<\/h2>\n<p>\nJag kommer att ber\u00e4tta hur det fungerar i v\u00e5rt f\u00f6retag och hur jag hanterar s\u00e5dana situationer, men du kan enkelt anpassa denna strategi efter ditt projekts och f\u00f6retags behov.<\/p>\n<p>Det finns tv\u00e5 typer av architecture assessments.<\/p>\n<p><b>Intern<\/b> \u2013 vi g\u00f6r vanligtvis detta f\u00f6r projekt inom f\u00f6retaget. Vilket projekt som helst kan beg\u00e4ra en arkitekturbed\u00f6mning av flera sk\u00e4l:<\/p>\n<ol>\n<li>Teamet tror att deras projekt \u00e4r perfekt, vilket \u00e4r misst\u00e4nkt. Vi har haft s\u00e5dana fall, och ofta \u00e4r allt annat \u00e4n perfekt i s\u00e5dana projekt.<\/li>\n<li>Teamet vill kontrollera sitt projekt och sina l\u00f6sningar.<\/li>\n<li>Teamet vet att allt \u00e4r d\u00e5ligt. De kan till och med lista huvudproblemen och orsakerna, men de vill ha en fullst\u00e4ndig lista med problem och rekommendationer f\u00f6r f\u00f6rb\u00e4ttring av projektet.<\/li>\n<\/ol>\n<p>\n<b>Extern<\/b> \u2013 detta \u00e4r en mer formell process \u00e4n intern bed\u00f6mning. Kunden kommer alltid i ett enda fall, n\u00e4r allt \u00e4r d\u00e5ligt - mycket d\u00e5ligt. Vanligtvis f\u00f6rst\u00e5r kunden att det finns globala problem, men kan inte korrekt identifiera orsakerna och bryta ner dem i best\u00e5ndsdelar.<\/p>\n<p>Architecture assessment f\u00f6r extern kund \u00e4r en mer komplex fr\u00e5ga. Processen m\u00e5ste vara mer formell. Projekten \u00e4r alltid stora och gamla. De inneh\u00e5ller m\u00e5nga problem, buggar och d\u00e5lig kod. Rapporten om det utf\u00f6rda arbetet m\u00e5ste vara klar inom n\u00e5gra veckor, d\u00e4r de viktigaste problemen och rekommendationerna f\u00f6r f\u00f6rb\u00e4ttring ska ing\u00e5. S\u00e5, om vi l\u00f6ser den externa bed\u00f6mningen av projektet, blir den interna bara en bagatell. L\u00e5t oss \u00f6verv\u00e4ga det mest komplexa fallet.<\/p>\n<h2>Bed\u00f6mning av arkitekturen f\u00f6r ett enterprise-projekt<\/h2>\n<p>\nEtt typiskt projekt f\u00f6r utv\u00e4rdering \u00e4r ett stort, gammalt enterprise-projekt med m\u00e5nga problem. Klienten kommer till oss och ber oss att fixa sitt projekt. Det \u00e4r som med ett isberg; klienten ser bara toppen av sina problem och anar inte vad som finns under ytan (i djupet av koden).<\/p>\n<p>Problem som klienten kan klaga p\u00e5 och k\u00e4nner till:<\/p>\n<ul>\n<li>Prestandaproblem<\/li>\n<li>Anv\u00e4ndbarhetsproblem<\/li>\n<li>L\u00e5ngsam distribution<\/li>\n<li>Brist p\u00e5 enhetstester och andra tester<\/li>\n<\/ul>\n<p>\nProblem som klienten troligen inte k\u00e4nner till, men som kan f\u00f6rekomma i projektet:<\/p>\n<ul>\n<li>S\u00e4kerhetsproblem<\/li>\n<li>Designproblem<\/li>\n<li>Felaktig arkitektur<\/li>\n<li>Algoritmiska fel<\/li>\n<li>Ol\u00e4mpliga teknologier<\/li>\n<li>Teknisk skuld<\/li>\n<li>Felaktig utvecklingsprocess<\/li>\n<\/ul>\n<p><\/p>\n<h2>Formell arkitekturbed\u00f6mningsprocess<\/h2>\n<p>\nDetta \u00e4r en formell process som vi f\u00f6ljer i f\u00f6retaget, men du kan justera den efter dina behov beroende p\u00e5 ditt f\u00f6retag och projekt.<\/p>\n<h3>Beg\u00e4ran fr\u00e5n klienten<\/h3>\n<p>\nKlienten ber oss att bed\u00f6ma arkitekturen av det nuvarande projektet. Den ansvariga personen fr\u00e5n v\u00e5r sida samlar in grundl\u00e4ggande information om projektet och v\u00e4ljer n\u00f6dv\u00e4ndiga experter. Beroende p\u00e5 projektet kan det vara olika experter.<\/p>\n<p><b>L\u00f6sningsarkitekt<\/b> \u2013 huvudpersonen ansvarig f\u00f6r bed\u00f6mning och koordinering (och ofta den enda).<br \/>\n<b>Teknikspecifika experter<\/b> \u2013 .Net, Java, Python och andra tekniska specialister beroende p\u00e5 projektet och teknologierna.<br \/>\n<b>Molnexperter<\/b> \u2013 det kan vara Azure, GCP eller AWS-molnarkitekter.<br \/>\n<b>Infrastruktur<\/b> \u2013 DevOps, systemadministrat\u00f6rer, etc.<br \/>\n<b>Andra experter<\/b> \u2013 s\u00e5som big data, maskininl\u00e4rning, prestandaingenj\u00f6r, s\u00e4kerhetsexpert, QA-lead.<\/p>\n<h3>Insamling av information om projektet<\/h3>\n<p>\nDu b\u00f6r samla s\u00e5 mycket information som m\u00f6jligt om projektet. Du kan anv\u00e4nda olika tekniker beroende p\u00e5 situationen:<\/p>\n<ul>\n<li>Enk\u00e4ter och andra kommunikationss\u00e4tt via e-post. Den mest ineffektiva metoden.<\/li>\n<li>Online-m\u00f6ten.<\/li>\n<li>Speciella verktyg f\u00f6r informationsutbyte som: Google-dokument, Confluence, repository osv.<\/li>\n<li>Fysiska m\u00f6ten. Den mest effektiva och dyraste metoden.<\/li>\n<\/ul>\n<p>\n<i>Vad beh\u00f6ver vi f\u00e5 fr\u00e5n klienten?<\/i><\/p>\n<p><b>Grundl\u00e4ggande information.<\/b> Vad handlar projektet om. Dess syfte och v\u00e4rde. Huvudm\u00e5l och framtidsplaner. Aff\u00e4rsm\u00e5l och strategier. Huvudproblem och \u00f6nskat resultat.<\/p>\n<p><b>Information om projektet<\/b>. Teknologistack, ramverk, programmeringsspr\u00e5k. On-premise eller molndistribution. Om projektet \u00e4r i molnet, vilka tj\u00e4nster anv\u00e4nds. Vilka arkitektoniska och designm\u00f6nster till\u00e4mpades.<\/p>\n<p><b>Icke-funktionella krav<\/b>. Alla krav relaterade till systemets prestanda, tillg\u00e4nglighet, anv\u00e4ndarv\u00e4nlighet. S\u00e4kerhetskrav etc.<\/p>\n<p><b>Grundl\u00e4ggande anv\u00e4ndningsfall och datavstr\u00f6mmar.<\/b><\/p>\n<p><b>\u00c5tkomst till k\u00e4llkoden<\/b>. Den allra viktigaste delen! Du b\u00f6r absolut f\u00e5 tillg\u00e5ng till repository och dokumentation om hur man bygger projektet.<\/p>\n<p><b>\u00c5tkomst till infrastrukturen<\/b>. Det vore bra att f\u00e5 tillg\u00e5ng till stage- eller produktionsinfrastrukturen f\u00f6r att arbeta med ett 'levande' system. Det \u00e4r en stor f\u00f6rdel om kunden har verktyg f\u00f6r att \u00f6vervaka infrastrukturen och prestanda. Vi kommer att diskutera dessa verktyg i n\u00e4sta avsnitt.<\/p>\n<p><b>Dokumentation<\/b>. Om kunden har dokumentation \u00e4r det en bra start. Den kan vara f\u00f6r\u00e5ldrad, men det \u00e4r fortfarande en bra start. Lita aldrig blint p\u00e5 dokumentationen \u2013 kontrollera den med kunden, p\u00e5 den verkliga infrastrukturen och i k\u00e4llkoden.<\/p>\n<h3>Processen f\u00f6r att bed\u00f6ma arkitekturen<\/h3>\n<p>\nHur ska man hantera s\u00e5 mycket information p\u00e5 s\u00e5 kort tid? F\u00f6rst och fr\u00e4mst, parallalisera arbetet.<\/p>\n<p>DevOps b\u00f6r titta p\u00e5 infrastrukturen. Tech lead p\u00e5 koden. Prestandaingenj\u00f6ren b\u00f6r titta p\u00e5 prestandametrik. Databasexperten b\u00f6r gr\u00e4va djupare i datamodeller.<\/p>\n<p>Men det \u00e4r det ideala fallet n\u00e4r du har m\u00e5nga resurser. Ofta genomf\u00f6rs projektv\u00e4rderingen av en till tre personer. Du kan till och med genomf\u00f6ra v\u00e4rderingen sj\u00e4lv, vilket ofta h\u00e4nder om du har tillr\u00e4cklig kunskap och erfarenhet inom alla omr\u00e5den av projektet. I s\u00e5 fall b\u00f6r du automatisera alla processer s\u00e5 mycket som m\u00f6jligt.<\/p>\n<p>Tyv\u00e4rr m\u00e5ste du l\u00e4sa dokumentationen manuellt. Med r\u00e4tt erfarenhet kan du ganska snabbt f\u00f6rst\u00e5 kvaliteten p\u00e5 dokumentationen. Vad som \u00e4r sant och vad som uppenbarligen inte st\u00e4mmer med verkligheten. Ibland kan du st\u00f6ta p\u00e5 en arkitektur i dokumentationen som aldrig kommer att fungera i verkligheten. Detta \u00e4r en signal f\u00f6r dig att t\u00e4nka p\u00e5, hur \u00e4r det verkligen gjort i projektet.<\/p>\n<h3>Nyttiga verktyg f\u00f6r att automatisera projektv\u00e4rderingen<\/h3>\n<p>\nKodbed\u00f6mning \u00e4r en enkel \u00f6vning. Du kan anv\u00e4nda statiska kodanalysatorer som visar design-, prestanda- och s\u00e4kerhetsproblem. H\u00e4r \u00e4r n\u00e5gra av dem:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/structure101.com\/\">Structure 101<\/a><\/noindex> \u00e4r ett utm\u00e4rkt verktyg f\u00f6r arkitekten. Det ger dig en \u00f6versikt \u00f6ver beroenden mellan moduler och potentiella omr\u00e5den f\u00f6r refaktorering. Precis som alla bra verktyg kostar det en hel del, men du kan ocks\u00e5 ta del av en 30-dagars gratisversion.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.sonarqube.org\/\">SonarQube<\/a><\/noindex> \u00e4r en gammal trotj\u00e4nare. Ett verktyg f\u00f6r statisk kodanalys. Det identifierar d\u00e5lig kod, buggar och s\u00e4kerhetsproblem f\u00f6r mer \u00e4n 20 programmeringsspr\u00e5k.<\/p>\n<p>Alla molnleverant\u00f6rer har verktyg f\u00f6r att \u00f6vervaka infrastrukturen. Detta hj\u00e4lper dig att korrekt bed\u00f6ma effektiviteten i infrastrukturen n\u00e4r det g\u00e4ller kostnad och prestanda. F\u00f6r AWS \u00e4r det <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/premiumsupport\/technology\/trusted-advisor\/\">trusted advisor<\/a><\/noindex>. F\u00f6r Azure \u00e4r det helt enkelt <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/advisor\/\">Azure Advisor<\/a><\/noindex>.<\/p>\n<p>Ytterligare prestanda\u00f6vervakning och loggning hj\u00e4lper till att identifiera prestandaproblem p\u00e5 alla niv\u00e5er. Fr\u00e5n databaser med ineffektiva fr\u00e5gor, backend och fram till frontend. \u00c4ven om en kund inte har installerat dessa verktyg tidigare kan du ganska snabbt integrera dem i det befintliga systemet f\u00f6r att uppt\u00e4cka prestandaproblem.<\/p>\n<p>Som alltid kostar bra verktyg pengar. Jag kan rekommendera n\u00e5gra betalda verktyg. Sj\u00e4lvklart kan du anv\u00e4nda open source, men det kommer att ta mer tid. Och detta borde g\u00f6ras i f\u00f6rv\u00e4g, inte under bed\u00f6mningen av arkitekturen.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\">New Relic<\/a><\/noindex> \u00e4r ett verktyg f\u00f6r utv\u00e4rdering av applikationsprestanda<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">Datadog<\/a><\/noindex> \u00e4r en molntj\u00e4nst f\u00f6r system\u00f6vervakning<\/p>\n<p>F\u00f6r s\u00e4kerhetstestning finns det m\u00e5nga verktyg. Denna g\u00e5ng rekommenderar jag ett gratis verktyg f\u00f6r systems\u00f6kning.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-project-zap\/\">OWASP ZAP<\/a><\/noindex> \u00e4r ett verktyg f\u00f6r att skanna webbapplikationer f\u00f6r att s\u00e4kerst\u00e4lla efterlevnad av s\u00e4kerhetsstandarder.<\/p>\n<p>S\u00e4tt allt samman.<\/p>\n<h3>Vi f\u00f6rbereder en rapport<\/h3>\n<p>\nB\u00f6rja din rapport med insamlade data fr\u00e5n kunden. Beskriv projektets m\u00e5l, begr\u00e4nsningar och icke-funktionella krav. Efter detta b\u00f6r du n\u00e4mna all indata, inklusive k\u00e4llkod, dokumentation och infrastruktur.<\/p>\n<p>N\u00e4sta steg. Ange alla problem som du har hittat manuellt eller med automatisk verktyg. Stora automatiskt genererade rapporter b\u00f6r placeras sist i bilagorna. H\u00e4r b\u00f6r det finnas korta och koncisa bevis p\u00e5 de uppt\u00e4ckta problemen.<br \/>\nPrioritera de uppt\u00e4ckta problemen enligt skalan error, warning, info. Du kan v\u00e4lja din egen skala, men detta \u00e4r en vedertagen.<\/p>\n<p>Som en riktig arkitekt \u00e4r du skyldig att ge rekommendationer f\u00f6r att \u00e5tg\u00e4rda de uppt\u00e4ckta problemen. Beskriv f\u00f6rb\u00e4ttringarna och det v\u00e4rde f\u00f6r aff\u00e4ren som kunden f\u00e5r. Hur man visar v\u00e4rdet f\u00f6r aff\u00e4ren fr\u00e5n <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-refactoring-and-design-refactoring-how-to-sell-it-client\/\">arkitektur omstrukturering<\/a><\/noindex> vi diskuterade tidigare.<\/p>\n<p>F\u00f6rbered en roadmap med sm\u00e5 iterationer. Varje iteration b\u00f6r inneh\u00e5lla tid f\u00f6r utf\u00f6rande, beskrivning, antal resurser som beh\u00f6vs f\u00f6r f\u00f6rb\u00e4ttringar, tekniskt v\u00e4rde och aff\u00e4rsv\u00e4rde.<\/p>\n<h3>Vi avslutar arkitekturv\u00e4rderingen och tillhandah\u00e5ller en rapport till kunden.<\/h3>\n<p>\nSkicka aldrig bara rapporten via e-post. Den kan antingen inte l\u00e4sas alls eller l\u00e4sas utan att f\u00f6rst\u00e5s utan ordentlig f\u00f6rklaring. Kort sagt \u2013 personligt m\u00f6te hj\u00e4lper till att eliminera missf\u00f6rst\u00e5nd mellan m\u00e4nniskor. Du b\u00f6r boka ett m\u00f6te med kunden och diskutera de uppt\u00e4ckta problemen med fokus p\u00e5 de mest betydande. Det \u00e4r viktigt att uppm\u00e4rksamma kunden p\u00e5 problem som han kanske inte ens har misst\u00e4nkt, s\u00e5som s\u00e4kerhetsproblem, och f\u00f6rklara hur de kan p\u00e5verka aff\u00e4ren. Visa din roadmap med f\u00f6rb\u00e4ttringar och diskutera olika alternativ som passar kunden b\u00e4ttre. Det kan handla om tid, resurser, arbetsvolym.<\/p>\n<p>Som en sammanfattning av ditt m\u00f6te, skicka din rapport till kunden.<\/p>\n<h2>Avslutningsvis<\/h2>\n<p>\nArkitekturv\u00e4rdering \u00e4r en komplex process. F\u00f6r att genomf\u00f6ra en v\u00e4rdering p\u00e5 r\u00e4tt s\u00e4tt m\u00e5ste du ha tillr\u00e4cklig erfarenhet och kunskap.<\/p>\n<p>Det \u00e4r verkligen m\u00f6jligt att ge kunden nyttiga resultat f\u00f6r honom och hans aff\u00e4rer p\u00e5 bara en vecka. \u00c4ven om du g\u00f6r det sj\u00e4lv.<\/p>\n<p>Utifr\u00e5n min erfarenhet har m\u00e5nga f\u00f6rb\u00e4ttringar kanske aldrig startat eller avbrutits halvv\u00e4gs. De som valde en gyllene medelv\u00e4g och gjorde bara en del av f\u00f6rb\u00e4ttringarna som var mest anv\u00e4ndbara f\u00f6r aff\u00e4ren med minimal arbetsinsats f\u00f6rb\u00e4ttrade betydligt kvaliteten p\u00e5 sin produkt. De som inte gjorde n\u00e5got riskerade helt att st\u00e4nga ner projektet efter ett par \u00e5r.<\/p>\n<p>Ditt m\u00e5l \u00e4r att visa kunden maximala f\u00f6rb\u00e4ttringar till minsta pris.<\/p>\n<p>Andra artiklar i sektionen <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/category\/architecture\/\">arkitektur<\/a><\/noindex> kan l\u00e4sas p\u00e5 fritiden.<\/p>\n<p>Jag \u00f6nskar dig ren kod och bra arkitekturl\u00f6sningar.<\/p>\n<p>V\u00e5r Facebook-grupp \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/206130407152602\/\">Mjukvaruarkitektur och utveckling<\/a><\/noindex>.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Hur man l\u00e4ser och r\u00e4ttar till 100 000 rader kod p\u00e5 en vecka | ProHoster","description":"Det \u00e4r alltid sv\u00e5rt att f\u00f6rst\u00e5 i b\u00f6rjan.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/74955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=74955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/74955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/74956"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=74955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=74955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=74955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}