{"id":249941,"date":"2023-03-02T06:48:00","date_gmt":"2023-03-02T03:48:00","guid":{"rendered":"https:\/\/inform.click\/teknisten-velkojen-arvioiminen-hallinta-ja-valttaminen\/"},"modified":"2023-03-02T07:35:00","modified_gmt":"2023-03-02T04:35:00","slug":"teknisten-velkojen-arvioiminen-hallinta-ja-valttaminen","status":"publish","type":"post","link":"https:\/\/inform.click\/fi\/teknisten-velkojen-arvioiminen-hallinta-ja-valttaminen\/","title":{"rendered":"Teknisten velkojen arvioiminen, hallinta ja v\u00e4ltt\u00e4minen"},"content":{"rendered":"<p>\n  Jos tekninen velka kuulostaa joltain rahoituksen k\u00e4sikirjasta nostetulta, se johtuu siit\u00e4, ett\u00e4 termi liittyy rahoitukseen. Tekninen velka liittyy kuitenkin todellisessa merkityksess\u00e4 ohjelmointiin. Se on ajatus siit\u00e4, ett\u00e4 ohjelmistoprojektin kehitt\u00e4misen aikana tietyt v\u00e4ltt\u00e4m\u00e4tt\u00f6m\u00e4t vaiheet j\u00e4tet\u00e4\u00e4n v\u00e4liin tai hyl\u00e4t\u00e4\u00e4n kokonaan, jotta saavutetaan m\u00e4\u00e4r\u00e4aika.\n<\/p>\n<p>\n  T\u00e4ydellisen sovelluksen tai ohjelmiston kehitt\u00e4miseksi kehitt\u00e4jill\u00e4 on usein aikaa \u2013 aivan kuten kuka tahansa satunnainen henkil\u00f6, joka suorittaa mit\u00e4 tahansa mielivaltaista teht\u00e4v\u00e4\u00e4. N\u00e4in ollen on yleens\u00e4 j\u00e4rkev\u00e4\u00e4 tehd\u00e4 jonkinlainen kompromissi t\u00e4ydellisen tuotteen toimittamisen t\u00e4ydellisell\u00e4 koodilla ja ajan maksimoimisen v\u00e4lill\u00e4.\n<\/p>\n<p>\n  Kysymys kuuluukin: onko n\u00e4ill\u00e4 kompromissilla rajaa? Voiko t\u00e4st\u00e4 kompromissista johtua luontaisia \u200b\u200bhaittoja? Lopuksi, onko kehitt\u00e4j\u00e4 todella parempi pitk\u00e4ll\u00e4 aikav\u00e4lill\u00e4? T\u00e4ss\u00e4 teknisi\u00e4 velkoja k\u00e4sittelev\u00e4ss\u00e4 artikkelissa yrit\u00e4n vastata kaikkiin n\u00e4ihin kysymyksiin.\n<\/p>\n<h5>\n  Mik\u00e4 on tekninen velka?<br \/>\n<\/h5>\n<p>\n  M\u00e4\u00e4ritelt\u00e4ess\u00e4 teknist\u00e4 velkaa meid\u00e4n on viitattava mieheen, jonka tunnustetaan termin alun perin luoneen: Ward Cunningham. Teknisell\u00e4 velalla tarkoitetaan Cunninghamin mukaan ylim\u00e4\u00e4r\u00e4ist\u00e4 kehitysty\u00f6t\u00e4, joka on teht\u00e4v\u00e4 koodin ohjelmoinnissa, jotta sen ohjelmoinnista syntyv\u00e4 vaje saadaan korvattua lyhyess\u00e4 ajassa.\n<\/p>\n<p>\n  Tee siit\u00e4 graafisempi kuvittelemalla, ett\u00e4 sinun teht\u00e4v\u00e4si on siivota sotkuinen huone ja olet my\u00f6h\u00e4ss\u00e4 tunnilta. Varmistaaksesi, ett\u00e4 suoritat opetuksen ja olet ajoissa luokassasi, teet nopean siivouksen lakaisemalla suurimman osan roskat sohvan alle. Seurauksena t\u00e4st\u00e4 on, ett\u00e4 joudut lopulta k\u00e4ytt\u00e4m\u00e4\u00e4n aikaa sotkujen selvitt\u00e4miseen. Ohjelmistojen kehitt\u00e4misess\u00e4, kun ohitat tarvittavat vaiheet ja seuraat helpompaa reitti\u00e4 &#8221;ei niin puhtailla&#8221; koodeilla, koodin puhdistaminen tulee my\u00f6hemmin vaikeammaksi. Ohjelmistoprojektin dominoissa on useita vaiheita, ja mit\u00e4 kauemmin ohitat olemassa olevan ongelman, sit\u00e4 kauemmin sen ratkaiseminen kest\u00e4\u00e4.\n<\/p>\n<p>\n  Teknisten velkojen tyypit\n<\/p>\n<p>\n  Teknisi\u00e4 velkoja on erilaisia, mukaan lukien:\n<\/p>\n<h5>\n  Suunnitellut tekniset velat<br \/>\n<\/h5>\n<p>\n  T\u00e4m\u00e4 tapahtuu tilanteissa, joissa organisaatiot p\u00e4\u00e4tt\u00e4v\u00e4t tietoisesti joutua teknisiin velkoihin. Kuten aiemmin mainittiin, t\u00e4m\u00e4 on yleens\u00e4 asetettujen m\u00e4\u00e4r\u00e4aikojen ylitt\u00e4mist\u00e4 ja tietyn tavoitteen saavuttamista. Suunniteltuja teknisi\u00e4 velkoja tehdess\u00e4\u00e4n organisaation tulee olla selv\u00e4, mist\u00e4 on valmis luopumaan ja mist\u00e4 ei. Sinun on pidett\u00e4v\u00e4 tarkkaa kirjaa, pit\u00e4en mieless\u00e4, ett\u00e4 sinun on lopulta palautettava ja korjattava alussa ohittamasi virheet.\n<\/p>\n<h5>\n  Tahattomia teknisi\u00e4 velkoja<br \/>\n<\/h5>\n<p>\n  T\u00e4m\u00e4ntyyppinen tekninen velka on suora vastakohta ensimm\u00e4iselle. Se syntyy, kun organisaatio ei ennakoi tai suunnittele teknist\u00e4 velkaa. Syyn\u00e4 t\u00e4h\u00e4n on tyypillisesti organisaation eri yksik\u00f6iden v\u00e4lisen viestinn\u00e4n katkeaminen tai yksik\u00f6iden v\u00e4liset surkeat ty\u00f6tavat.\n<\/p>\n<h5>\n  V\u00e4ltt\u00e4m\u00e4tt\u00f6m\u00e4t tekniset velat<br \/>\n<\/h5>\n<p>\n  T\u00e4m\u00e4 on sellainen tekninen velka, jota mik\u00e4\u00e4n organisaation toiminta ei olisi voinut est\u00e4\u00e4. Esimerkiksi tekniikan nopeiden muutosten vuoksi on j\u00e4rkev\u00e4\u00e4, ett\u00e4 jotkin aiemmin kirjoitetut koodit eiv\u00e4t vastaa nykyisi\u00e4 ennustettuja standardeja.\n<\/p>\n<p>\n  My\u00f6s t\u00e4llainen tekninen velka voi synty\u00e4, kun muutoksia pyydet\u00e4\u00e4n, kun koodia ollaan jo kirjoittamassa. Jos ohjelmiston suunnittelun puoliv\u00e4liss\u00e4 tehd\u00e4\u00e4n tiettyj\u00e4 muutoksia, se voi sotkea dynamiikkaa ja tehd\u00e4 vanhasta koodista vanhentuneen tai tarpeettoman.\n<\/p>\n<h3>\n  Teknisen velan syyt<br \/>\n<\/h3>\n<p><a href=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398b8ae14d.webp\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398b8ae14d.webp\" alt=\"\" \/><\/a><\/p>\n<p>\n  Joitakin teknisten velkojen syit\u00e4 on k\u00e4sitelty yll\u00e4, mutta poimin ne per\u00e4kk\u00e4in selvent\u00e4\u00e4kseni niit\u00e4.\n<\/p>\n<h5>\n  Kiire<br \/>\n<\/h5>\n<p>\n  Yleisin teknisten velkojen syy on kiire. Kehitt\u00e4jill\u00e4 on usein tiukat m\u00e4\u00e4r\u00e4ajat, joista osa sis\u00e4lt\u00e4\u00e4 m\u00e4\u00e4r\u00e4ajat tiettyjen ohjelmistojen k\u00e4ynnist\u00e4miselle. Usein on ymm\u00e4rrett\u00e4v\u00e4\u00e4 (ja odotettavissa) t\u00e4llaisissa tilanteissa, ett\u00e4 kehitt\u00e4j\u00e4lle saattaa synty\u00e4 teknisi\u00e4 velkoja matkan varrella. T\u00e4m\u00e4n tyyppinen tekninen velka on usein tahallinen ja voi johtaa ongelmiin, jotka voivat vaihdella koodin virheist\u00e4 tai spagettikoodeista.\n<\/p>\n<h5>\n  Huoli\/virhe<br \/>\n<\/h5>\n<p>\n  Joskus ohjelmoijat vain kirjoittavat huonoja koodeja, jotka lopulta johtavat teknisiin velkoihin. Riippumatta siit\u00e4, onko huono koodi olemassa kooderin virheen seurauksena vai ei, tosiasia on, ett\u00e4 virheet aiheuttavat teknisi\u00e4 velkoja, ja koska ne eiv\u00e4t ole skaalautuvia, ne on lopulta korjattava.\n<\/p>\n<h5>\n  Vaikutusten tietoisuuden puute<br \/>\n<\/h5>\n<p>\n  Joskus tekniset velat syntyv\u00e4t, koska koodaaja ei ymm\u00e4rr\u00e4 tai tunnusta, kuinka haitallisia tekniset velat ovat pitk\u00e4ll\u00e4 aikav\u00e4lill\u00e4. T\u00e4m\u00e4 voi johtua oikeutetusta tiet\u00e4m\u00e4tt\u00f6myydest\u00e4 ohjelmoinnin aikana k\u00e4ytett\u00e4vien pikan\u00e4pp\u00e4inten haitallisista vaikutuksista tai se voi olla seurausten tahallista huomiotta j\u00e4tt\u00e4mist\u00e4.\n<\/p>\n<h5>\n  Tarkoitus<br \/>\n<\/h5>\n<p>\n  Tekniset velat voivat synty\u00e4 tahallisesti koodaajan tai organisaation tahallisista toimista.\n<\/p>\n<h5>\n  Modulaarisuuden puute<br \/>\n<\/h5>\n<p>\n  T\u00e4m\u00e4 johtuu p\u00e4\u00e4asiassa siit\u00e4, ett\u00e4 yksi koodi voi palvella eri liiketoimintalogiikkaa samanaikaisesti. T\u00e4llainen tilanne tekee ohjelmistojen k\u00e4sittelyst\u00e4 paljon vaikeampaa. Jokaisella kehitt\u00e4j\u00e4n kirjoittamalla koodilla on todenn\u00e4k\u00f6isemp\u00e4\u00e4, ett\u00e4 h\u00e4n kohtaa haasteita modulaarisuuden kanssa.\n<\/p>\n<h3>\n  Teknisen velan arviointi<br \/>\n<\/h3>\n<p><a href=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398bb9dc83.webp\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398bb9dc83.webp\" alt=\"\" \/><\/a><\/p>\n<p>\n  Teknisi\u00e4 velkoja ei pid\u00e4 koskaan laskea k\u00e4sin, koska se olisi melko vaivalloista. Se tarkoittaisi, ett\u00e4 koodi on sy\u00f6tett\u00e4v\u00e4 manuaalisesti nykyisten ja mahdollisten tulevien ongelmien m\u00e4\u00e4ritt\u00e4miseksi. Sen lis\u00e4ksi, kuinka aikaaviev\u00e4 manuaalinen prosessi on, on mahdollista, ett\u00e4 koodit ovat muuttaneet muotoaan manuaalisen prosessin lopussa.\n<\/p>\n<p>\n  Yksi tapa suorittaa arviointi on suorittaa staattinen analyysi k\u00e4ytt\u00e4m\u00e4ll\u00e4 joitain sit\u00e4 tukevia ty\u00f6kaluja. Joitakin ty\u00f6kaluja, joita voidaan k\u00e4ytt\u00e4\u00e4, ovat Coverity, SonarQube, Check Style ja Closure Compiler.\n<\/p>\n<p>\n  Yleens\u00e4 on olemassa kaksi tapaa laskea tekniset velat. Ensimm\u00e4isess\u00e4 l\u00e4hestymistavassa se voitaisiin saada laskemalla teknisen velan suhde koodisuhteen j\u00e4lkeen. T\u00e4ss\u00e4 alkuper\u00e4ist\u00e4 arviota tai sovelluksen kehitt\u00e4miseen tarvittavaa kokonaisaikaa k\u00e4ytet\u00e4\u00e4n teknisen velan korjaamiseen tarvittavan ajan m\u00e4\u00e4ritt\u00e4miseen.\n<\/p>\n<p>\n  Toisessa l\u00e4hestymistavassa voit hy\u00f6dynt\u00e4\u00e4 suoraan eri ty\u00f6kalujen, kuten SonarQube, antamia arvioita. T\u00e4m\u00e4 yhdistet\u00e4\u00e4n teknisten velkojen luetteloihin sek\u00e4 niiden viitekoodeihin. Ty\u00f6kalujen avulla saat tarkan arvion sen korjaamiseen tarvittavasta ajasta.\n<\/p>\n<p>\n  Arvioimalla teknisen velan saat k\u00e4sityksen siit\u00e4, kuinka monta p\u00e4iv\u00e4\u00e4 teknisen velan korjaaminen kest\u00e4\u00e4. Mit\u00e4 enemm\u00e4n velkoja on, sit\u00e4 kauemmin sen korjaaminen kest\u00e4\u00e4.\n<\/p>\n<h3>\n  Teknisten velkojen ratkaiseminen<br \/>\n<\/h3>\n<p>\n  Ent\u00e4 jos sinulla on teknisi\u00e4 velkoja ja et tied\u00e4 mit\u00e4 tehd\u00e4? Voit suorittaa tiettyj\u00e4 toimenpiteit\u00e4 teknisten velkojen hoitamiseksi.\n<\/p>\n<p>\n  Ensinn\u00e4kin sinun tulee tunnustaa, ett\u00e4 tekniset velat ovat olemassa, ja ilmoittaa sama tiimillesi. Kommunikoinnissa sinun tulee tehd\u00e4 selv\u00e4ksi, mit\u00e4 on tapahtunut ja mit\u00e4 on teht\u00e4v\u00e4 sen korjaamiseksi. Sinun tulee varmistaa, ett\u00e4 kerrot selke\u00e4sti tarpeesta hoitaa tekninen velka mahdollisimman pian.\n<\/p>\n<p>\n  Kun olet ilmoittanut tiimillesi teknisist\u00e4 veloista, voit valita kolmella tavalla. Ensimm\u00e4isess\u00e4 l\u00e4hestymistavassa voit p\u00e4\u00e4tt\u00e4\u00e4 jatkaa j\u00e4rjestelm\u00e4\u00e4 sellaisena kuin se on. T\u00e4ss\u00e4 skenaariossa sovellusta k\u00e4ytet\u00e4\u00e4n sellaisenaan.\n<\/p>\n<p>\n  Vaihtoehtoisesti voit p\u00e4\u00e4tt\u00e4\u00e4 muuttaa sovelluksen. Refaktorointi tehd\u00e4\u00e4n sovelluksen monimutkaisuuden v\u00e4hent\u00e4miseksi sek\u00e4 sovelluksen rakenteen puhdistamiseksi. Refaktoroinnin my\u00f6t\u00e4 ohjelmiston k\u00e4ytt\u00e4ytyminen ei muutu; ainoa osa, joka vaikuttaa, on sis\u00e4inen rakenne.\n<\/p>\n<p>\n  Lopuksi, jos edell\u00e4 mainitut kaksi vaihtoehtoa eiv\u00e4t toimi, sinun on korvattava koodi kokonaan. Yksi ongelma t\u00e4ss\u00e4 on, ett\u00e4 se voi johtaa uusiin teknisiin velkoihin, mutta se voisi olla parempi kompromissi pitk\u00e4ll\u00e4 aikav\u00e4lill\u00e4.\n<\/p>\n<h3>\n  Teknisten velkojen v\u00e4ltt\u00e4minen tulevaisuudessa<br \/>\n<\/h3>\n<p><a href=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398be56829.webp\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398be56829.webp\" alt=\"\" \/><\/a><\/p>\n<p>\n  Tietenkin on turhaa, ett\u00e4 teknisten velkojen v\u00e4ltt\u00e4minen on ehdottomasti \u00e4lykk\u00e4\u00e4mp\u00e4\u00e4 kuin yritt\u00e4\u00e4 korjata niit\u00e4, kun niit\u00e4 syntyy. Sen lis\u00e4ksi, ett\u00e4 se s\u00e4\u00e4st\u00e4\u00e4 sek\u00e4 aikaa ett\u00e4 stressi\u00e4, se my\u00f6s varmistaa, ett\u00e4 teknisten velkojen alusta alkaen aiheutuvat j\u00e4ljelle j\u00e4\u00e4v\u00e4t seuraukset ovat poissa.\n<\/p>\n<p>\n  Voidaan v\u00e4itt\u00e4\u00e4, ett\u00e4 tekniset velat eiv\u00e4t sin\u00e4ns\u00e4 ole huonoja. Ne ovat yleens\u00e4 ongelmallisia, koska ne ovat velkoja, jotka on maksettava takaisin, eiv\u00e4tk\u00e4 ihmiset ole vastuullisin laji maan p\u00e4\u00e4ll\u00e4. Jatkuvasti heikomman vaihtoehdon valitseminen heikent\u00e4\u00e4 yleens\u00e4 ohjelmistosi vahvuutta ja vaikeuttaa toimintojen parantamista my\u00f6hemmin. Kaiken kaikkiaan teknisten velkojen v\u00e4ltt\u00e4minen on paras vaihtoehto kenelle tahansa.\n<\/p>\n<p>\n  Joten miten est\u00e4t teknisten velkojen syntymisen:\n<\/p>\n<p>\n  Luo projektien lopputulos\n<\/p>\n<p>\n  Ajatuksena t\u00e4ss\u00e4 on pit\u00e4\u00e4 kaikki ajan tasalla prosessista ja nostaa heid\u00e4t vauhtiin mink\u00e4 tahansa suoritettavan teht\u00e4v\u00e4n vaatimusten kanssa. Kun luot ruuhkan, kaikki n\u00e4kev\u00e4t tekem\u00e4tt\u00e4 j\u00e4\u00e4neet teht\u00e4v\u00e4t ja polut niiden saavuttamiseksi.\n<\/p>\n<p>\n  Aseta laatu etusijalle nopeuden sijaan\n<\/p>\n<p>\n  Jos olet itse ohjelmoija, sinun on opittava priorisoimaan laadukkaan ty\u00f6n tekeminen suuren ty\u00f6n sijaan. Varmista, ett\u00e4 koodisi ovat puhtaita ja ett\u00e4 sovelluksesi tai muut ohjelmistosi on kehitetty t\u00e4ydellisesti. Ymm\u00e4rr\u00e4, ett\u00e4 kiusaus k\u00e4ytt\u00e4\u00e4 pikakuvakkeita ei ole sen arvoista, koska lopulta joudut silti suorittamaan luopumasi teht\u00e4v\u00e4t.\n<\/p>\n<p>\n  Jos johdat tiimi\u00e4, sinun on viestitt\u00e4v\u00e4 n\u00e4m\u00e4 samat arvot tiimin j\u00e4senille. J\u00e4seni\u00e4 tulisi opettaa luomaan tuloshakuisia ratkaisuja ja v\u00e4ltt\u00e4m\u00e4\u00e4n pikakuvakkeita.\n<\/p>\n<p>\n  Luoda tietoisuutta\n<\/p>\n<p>\n  Yleens\u00e4 syv\u00e4llinen tiet\u00e4mys siit\u00e4, mit\u00e4 tekninen velka on ja miten se voidaan v\u00e4ltt\u00e4\u00e4, voi olla hy\u00f6dyllist\u00e4, jotta voidaan est\u00e4\u00e4 niiden syntyminen. Kun varustat kehitt\u00e4j\u00e4si tarvittavalla tiedolla, he v\u00e4ltt\u00e4v\u00e4t paremmin teknisten velkojen ansoja.\n<\/p>\n<p>\n  Esittele hyvi\u00e4 koodausk\u00e4yt\u00e4nt\u00f6j\u00e4\n<\/p>\n<p>\n  Jotkut koodausk\u00e4yt\u00e4nn\u00f6t tekev\u00e4t teknisest\u00e4 velasta todenn\u00e4k\u00f6isemmin joutumatta. N\u00e4in ollen olisi hienoa v\u00e4ltt\u00e4\u00e4 tiukkaa kytkent\u00e4\u00e4, k\u00e4ytt\u00e4\u00e4 abstraktiota ja refaktorointia.\n<\/p>\n<p>\n  Esittele p\u00e4ivitetty tekniikka\n<\/p>\n<p>\n  S\u00e4\u00e4nn\u00f6lliset tekniikan p\u00e4ivitykset voivat olla erinomainen keino ennaltaehk\u00e4ist\u00e4 teknisi\u00e4 velkoja. P\u00e4ivityksess\u00e4 on varmistettava, ett\u00e4 k\u00e4yt\u00f6ss\u00e4 on uusin kehys, tietokannat ja sovellusohjelmistot.\n<\/p>\n<h5>\n  Johtop\u00e4\u00e4t\u00f6s<br \/>\n<\/h5>\n<p>\n  Tekniset velat ovat useimmissa tapauksissa v\u00e4ist\u00e4m\u00e4tt\u00f6mi\u00e4, kunhan jatkat ohjelmien kehitt\u00e4mist\u00e4 ja koodien kirjoittamista. Niiden esiintymisen todenn\u00e4k\u00f6isyys voi kuitenkin pienenty\u00e4 huomattavasti, kun noudatetaan yll\u00e4 lueteltuja vaiheita. My\u00f6sk\u00e4\u00e4n teknisten velkojen sattuessa kaikki toivo ei ole menetetty. Pysy rauhallisena, ole varma, toimi sen mukaisesti.\n<\/p>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  : <a target=\"_blank\" rel=\"noopener nofollow\" data-pssr=\"\" href=\"http:\/\/www.instantshift.com\/2020\/05\/26\/technical-debts-tips\/\">instantshift.com<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Jos tekninen velka kuulostaa joltain rahoituksen k\u00e4sikirjasta nostetulta, se johtuu siit\u00e4, ett\u00e4 termi liittyy rahoitukseen. Tekninen velka liittyy kuitenkin todellisessa merkityksess\u00e4 ohjelmointiin. Se on ajatus siit\u00e4, ett\u00e4 ohjelmistoprojektin kehitt\u00e4misen aikana tietyt v\u00e4ltt\u00e4m\u00e4tt\u00f6m\u00e4t vaiheet j\u00e4tet\u00e4\u00e4n v\u00e4liin tai hyl\u00e4t\u00e4\u00e4n kokonaan, jotta saavutetaan m\u00e4\u00e4r\u00e4aika. T\u00e4ydellisen sovelluksen tai ohjelmiston kehitt\u00e4miseksi kehitt\u00e4jill\u00e4 on usein aikaa \u2013 aivan kuten kuka tahansa satunnainen henkil\u00f6, joka suorittaa mit\u00e4 tahansa mielivaltaista teht\u00e4v\u00e4\u00e4. Siksi yleens\u00e4 on j\u00e4rkev\u00e4\u00e4 olla jonkinlainen\u2026<\/p>\n","protected":false},"author":1,"featured_media":209172,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[209,261,92,53],"tags":[],"class_list":["post-249941","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-koodaus","category-psykologia","category-seo-ja-markkinointi","category-web-ja-wordpress-2"],"_links":{"self":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/249941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/comments?post=249941"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/249941\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media\/209172"}],"wp:attachment":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media?parent=249941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/categories?post=249941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/tags?post=249941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}