{"id":6401,"date":"2021-12-14T17:38:19","date_gmt":"2021-12-14T15:38:19","guid":{"rendered":"https:\/\/blogit.lab.fi\/labfocus\/?p=6401"},"modified":"2021-12-14T17:38:20","modified_gmt":"2021-12-14T15:38:20","slug":"pariohjelmointia-tekoalyn-kanssa","status":"publish","type":"post","link":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/","title":{"rendered":"Pariohjelmointia teko\u00e4lyn kanssa"},"content":{"rendered":"\n<p>Pariohjelmointi on ketter\u00e4n sovelluskehityksen tekniikka, jossa kaksi ohjelmoijaa tekee ty\u00f6t\u00e4 yhdess\u00e4 samalla tietokoneella. Toinen toimii kuskina eli kirjoittaa koodia ja toinen toimii apukuskina katselmoiden koodia ja yritt\u00e4en keksi\u00e4 kehitysehdotuksia ja ratkaisuja. Ajatuksena t\u00e4ss\u00e4 on vapauttaa kuski vain tekem\u00e4\u00e4n vaadittu ty\u00f6 eli ajamaan toteutusta eteenp\u00e4in. (Williams 2001.)<\/p>\n\n\n\n<p>Teko\u00e4lyn kehittyess\u00e4 useat kehitysty\u00f6kalut ovat saaneet apuv\u00e4lineit\u00e4, kuten esimerkiksi Visual Studio Code -ty\u00f6kalun lis\u00e4osa Visual Studio IntelliCode. Lis\u00e4osa toi teko\u00e4lyyn pohjautuvan ehdotusmoottorin, joka tarjosi kehitt\u00e4j\u00e4lle aakkostetun listan sijaan sopivia funktioita ja metodeja k\u00e4ytett\u00e4v\u00e4ksi riippuen siit\u00e4, mink\u00e4 tyyppist\u00e4 koodia oltiin kirjoittamassa. Data t\u00e4lle \u00e4lylle tuli GitHubin laadukkaista avoimen l\u00e4hdekoodin projekteista. (Visual Studio IntelliCode 2018.)<\/p>\n\n\n\n<p>GitHub on tuonut nyt rajoitettuun testik\u00e4ytt\u00f6\u00f6n teko\u00e4lyratkaisun, jonka tarkoitus on toimia pariohjelmoinnin apukuskina. GitHub Copilot (eli apukuski) k\u00e4ytt\u00e4\u00e4 datana my\u00f6s GitHubissa olevia laadukkaita avoimen l\u00e4hdekoodin projekteja, mutta ehdotusmoottori tuokin funktioiden nimien sijasta kokonaisia koodilohkoja ehdotuksena kyseiseen ongelmaan. Kuskina toimiva koodaaja k\u00e4yt\u00e4nn\u00f6ss\u00e4 m\u00e4\u00e4rittelee kommenteilla ja funktioiden nimill\u00e4 ratkaistavan asian ja apukuski yritt\u00e4\u00e4 l\u00f6yt\u00e4\u00e4 siihen sopivan ratkaisun. GitHub Copilot hy\u00f6dynt\u00e4\u00e4 OpenAI yrityksen luomaa yleisk\u00e4ytt\u00f6ist\u00e4 Codex-mallia, joka osaa muuntaa luonnollisen kielen koodipohjaiseksi (Zaremba &amp; Brockman 2021).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa-1024x512.png\" alt=\"kuvakaappaus v\u00e4rikk\u00e4\u00e4st\u00e4 koodip\u00e4tk\u00e4st\u00e4 mustalla taustalla\" class=\"wp-image-6402\" srcset=\"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa-1024x512.png 1024w, https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa-300x150.png 300w, https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa-768x384.png 768w, https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Kuva 1. Copilotin ehdottama kutsu NLP-rajapintaan (GitHub Copilot 2021)<\/figcaption><\/figure>\n\n\n\n<p>Ohjelmistokehitt\u00e4jien hy\u00f6dynt\u00e4m\u00e4t sovelluskehykset ovat siirtyneet vuosien mittaan matalan tason ohjelmointikielist\u00e4 korkeiden abstraktioiden puolelle, jolloin valittu ajoalusta hoitaa ison roolin sovelluksien rutiininomaisesta toiminnasta. Hyvin\u00e4 esimerkkein\u00e4 t\u00e4ss\u00e4 ovat roskienkeruu eli muistinhallinta ja siivous sek\u00e4 saman koodin toimivuus sovelluskehyksen avulla useissa eri ajoalustoissa kuten Linux, Windows tai erilaiset mobiilialustat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ratkaisu koodaripulaan?<\/h2>\n\n\n\n<p>T\u00e4m\u00e4 luo mielenkiintoisia n\u00e4kymi\u00e4 tulevaisuuteen ja automaatioon. T\u00e4ll\u00e4 hetkell\u00e4 automatisoidaan ohjelmistorobotiikan avulla pois s\u00e4\u00e4nt\u00f6pohjaisia ja suurivolyymisi\u00e4 rutiinit\u00f6it\u00e4 (Pursiainen 2020), kuten laskujen tili\u00f6inti\u00e4, matkalaskujen hyv\u00e4ksymist\u00e4 tai jopa tarjouspohjien muodostamista. Tulevaisuuden sovelluskehitt\u00e4j\u00e4t eiv\u00e4t siis v\u00e4ltt\u00e4m\u00e4tt\u00e4 ole koodareita, jotka kirjoittavat integraatioita tai optimoivat algoritmeja saavuttaakseen halutun lopputuloksen, vaan paljon laajempi kirjo eri osa-alueiden erikoisosaajia, jotka kirjoittavatkin m\u00e4\u00e4rittelyj\u00e4 ja muita yl\u00e4tason kuvauksia sovelluksen toiminnasta (Gottschlich ym. 2018). Teko\u00e4ly hoitaa loput tietoturvallisesti, tehokkaasti ja aina noudattaen parhaita k\u00e4yt\u00e4nt\u00f6j\u00e4.<\/p>\n\n\n\n<p>Samoin kuin ohjelmistorobotiikassa parhaillaan, ihmisilt\u00e4 yritet\u00e4\u00e4n ottaa pois tyls\u00e4hk\u00f6t rutiinity\u00f6t, jotka eiv\u00e4t skaalaudu helposti. T\u00e4m\u00e4 on selke\u00e4 askel kohti tulevaisuutta, jossa ihminen vain m\u00e4\u00e4rittelee sovelluksen, jonka teko\u00e4ly toteuttaa. (Gottschlich ym. 2018.)<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#b3edfb\">Kirjoittajat  <br><br><strong>Jyrki Heinonen<\/strong> on LAB-ammattikorkeakoulun opiskelija digitaaliset ratkaisut YAMK-koulutuksessa. H\u00e4nell\u00e4 on useiden vuosien ty\u00f6kokemus ohjelmistokehityksest\u00e4 ja pilvipalveluista. Heinonen on kirjoittanut opinn\u00e4ytety\u00f6ns\u00e4 <a href=\"https:\/\/urn.fi\/URN:NBN:fi:amk-2021120924639\">\u201dAIOps: Pilvipalveluiden monitorointi teko\u00e4lyn avulla\u201d<\/a> pilvipalveluiden teko\u00e4lyoperoinnista ja sovelluskehityksen automatisointi on t\u00e4rke\u00e4 osa sit\u00e4.  <br><br><strong>Minna Asplund<\/strong>, TkL, toimii LAB-ammattikorkeakoulussa lehtorina sek\u00e4 koordinaattorina insin\u00f6\u00f6ri (ylempi AMK) digitaaliset ratkaisut ja IoT:st\u00e4 teko\u00e4lyyn -koulutuksissa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L\u00e4hteet<\/h3>\n\n\n\n<p>Gottschlich, J., Solar-Lezama, A., Tatbul, N., Carbin, M., Rinard, M., Barzilay, R., Amarasinghe, S., Tenenbaum, J. &amp; Mattson, T. 2018.\u00a0\u00a0The Three Pillars of Machine Programming. Teoksessa:\u00a0Gottschlich, J &amp; Cheung, A. (eds.) MAPL 2018: Proceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages. PLDI &#8217;18: ACM SIGPLAN Conference on Programming Language Design and Implementation. Philadelphia PA USA, June 18 2018.\u00a069\u201380. New York, United States: Association for Computing Machinery. [Viitattu 9.12.2021]. Saatavissa: <a href=\"https:\/\/doi.org\/10.1145\/3211346.3211355\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/doi.org\/10.1145\/3211346.3211355<\/a><\/p>\n\n\n\n<p>Pursiainen, T. 2020. Hyperautomaation lyhyt historia. [Viitattu 9.12.2021]. Saatavissa: <a href=\"https:\/\/www.cgi.com\/fi\/fi\/blogi\/hyperautomaation-lyhyt-historia\">https:\/\/www.cgi.com\/fi\/fi\/blogi\/hyperautomaation-lyhyt-historia<\/a><\/p>\n\n\n\n<p>Visual Studio IntelliCode. 2018. Visual Studio Marketplace. [Viitattu 9.12.2021]. Saatavissa: <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=VisualStudioExptTeam.vscodeintellicode\">https:\/\/marketplace.visualstudio.com\/items?itemName=VisualStudioExptTeam.vscodeintellicode<\/a><\/p>\n\n\n\n<p>Williams, L. 2001. Integrating pair programming into a software development process. Teoksessa: Ramsey, D., Bourque, P. &amp; Dupuis, R. (eds.) Proceedings 14th Conference on Software Engineering Education and Training. &#8217;In search of a software engineering profession&#8217; (Cat. No.PR01059). Conference on Software Engineering Education &amp; Training (CSEE&amp;T). February 19\u201321 2001 Charlotte, North Carolina. 27\u201336. [Viitattu 9.12.2021]. Saatavissa: <a href=\"https:\/\/doi.org\/10.1109\/CSEE.2001.913816\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/doi.org\/10.1109\/CSEE.2001.913816<\/a><\/p>\n\n\n\n<p>Zaremba, W., Brockman, G. 2021. OpenAI Codex. [Viitattu 9.12.2021]. Saatavissa:<a href=\"https:\/\/openai.com\/blog\/openai-codex\/\" target=\"_blank\" rel=\"noreferrer noopener\"> https:\/\/openai.com\/blog\/openai-codex\/<\/a> <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Linkit<\/h3>\n\n\n\n<p>Linkki 1. Heinonen, J. 2021. AIOps: Pilvipalveluiden monitorointi teko\u00e4lyn avulla. YAMK-opinn\u00e4ytety\u00f6. LAB-ammattikorkeakoulu. Lahti. [Viitattu 9.12.2021]. Saatavissa: <a href=\"https:\/\/urn.fi\/URN:NBN:fi:amk-2021120924639\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/urn.fi\/URN:NBN:fi:amk-2021120924639<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuvat<\/h3>\n\n\n\n<p>Kuva 1. GitHub Copilot. 2021. Copilotin ehdottama kutsu NLP-rajapintaan. GitHub. [Viitattu 9.12.2021] Saatavissa: <a href=\"https:\/\/copilot.github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/copilot.github.com\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pariohjelmointi on ketter\u00e4n sovelluskehityksen tekniikka, jossa kaksi ohjelmoijaa tekee ty\u00f6t\u00e4 yhdess\u00e4 samalla tietokoneella. Toinen toimii kuskina eli kirjoittaa koodia ja toinen toimii apukuskina katselmoiden koodia ja yritt\u00e4en keksi\u00e4 kehitysehdotuksia ja ratkaisuja. Ajatuksena t\u00e4ss\u00e4 on vapauttaa kuski vain tekem\u00e4\u00e4n vaadittu ty\u00f6 eli ajamaan toteutusta eteenp\u00e4in. (Williams 2001.) Teko\u00e4lyn kehittyess\u00e4 useat kehitysty\u00f6kalut ovat saaneet apuv\u00e4lineit\u00e4, kuten esimerkiksi [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":6402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[29,1563,111,668],"class_list":{"0":"post-6401","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-yleinen-fi","8":"tag-artikkeli-e1","9":"tag-ohjelmointi","10":"tag-tekoaly","11":"tag-tieto-ja-viestintatekniikka","12":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pariohjelmointia teko\u00e4lyn kanssa - LAB Focus<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pariohjelmointia teko\u00e4lyn kanssa - LAB Focus\" \/>\n<meta property=\"og:description\" content=\"Pariohjelmointi on ketter\u00e4n sovelluskehityksen tekniikka, jossa kaksi ohjelmoijaa tekee ty\u00f6t\u00e4 yhdess\u00e4 samalla tietokoneella. Toinen toimii kuskina eli kirjoittaa koodia ja toinen toimii apukuskina katselmoiden koodia ja yritt\u00e4en keksi\u00e4 kehitysehdotuksia ja ratkaisuja. Ajatuksena t\u00e4ss\u00e4 on vapauttaa kuski vain tekem\u00e4\u00e4n vaadittu ty\u00f6 eli ajamaan toteutusta eteenp\u00e4in. (Williams 2001.) Teko\u00e4lyn kehittyess\u00e4 useat kehitysty\u00f6kalut ovat saaneet apuv\u00e4lineit\u00e4, kuten esimerkiksi [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/\" \/>\n<meta property=\"og:site_name\" content=\"LAB Focus\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-14T15:38:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-14T15:38:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"riagynther\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@LABfinland\" \/>\n<meta name=\"twitter:site\" content=\"@LABfinland\" \/>\n<meta name=\"twitter:label1\" content=\"Kirjoittanut\" \/>\n\t<meta name=\"twitter:data1\" content=\"riagynther\" \/>\n\t<meta name=\"twitter:label2\" content=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/\"},\"author\":{\"name\":\"riagynther\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#\\\/schema\\\/person\\\/9c880332f36e75c138451ec4aa8eadc7\"},\"headline\":\"Pariohjelmointia teko\u00e4lyn kanssa\",\"datePublished\":\"2021-12-14T15:38:19+00:00\",\"dateModified\":\"2021-12-14T15:38:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/\"},\"wordCount\":674,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/12\\\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png\",\"keywords\":[\"Artikkeli E1\",\"ohjelmointi\",\"teko\u00e4ly\",\"Tieto- ja viestint\u00e4tekniikka\"],\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/\",\"url\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/\",\"name\":\"Pariohjelmointia teko\u00e4lyn kanssa - LAB Focus\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/12\\\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png\",\"datePublished\":\"2021-12-14T15:38:19+00:00\",\"dateModified\":\"2021-12-14T15:38:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/12\\\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png\",\"contentUrl\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2021\\\/12\\\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png\",\"width\":1280,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/pariohjelmointia-tekoalyn-kanssa\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pariohjelmointia teko\u00e4lyn kanssa\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#website\",\"url\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/\",\"name\":\"LAB Focus\",\"description\":\"Focus Area blog | LAB University of Applied Sciences\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#organization\",\"name\":\"LAB Focus\",\"url\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2020\\\/04\\\/cropped-cropped-tunnus_blogi-01.png\",\"contentUrl\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2020\\\/04\\\/cropped-cropped-tunnus_blogi-01.png\",\"width\":1342,\"height\":288,\"caption\":\"LAB Focus\"},\"image\":{\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/LABfinland\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/#\\\/schema\\\/person\\\/9c880332f36e75c138451ec4aa8eadc7\",\"name\":\"riagynther\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d283ba3da6ba0aac171b562afc5d3cb03a5583044210fb0b0fd5ab8d66f31fa?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d283ba3da6ba0aac171b562afc5d3cb03a5583044210fb0b0fd5ab8d66f31fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d283ba3da6ba0aac171b562afc5d3cb03a5583044210fb0b0fd5ab8d66f31fa?s=96&d=mm&r=g\",\"caption\":\"riagynther\"},\"url\":\"https:\\\/\\\/blogit.lab.fi\\\/labfocus\\\/author\\\/riagynther\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pariohjelmointia teko\u00e4lyn kanssa - LAB Focus","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/","og_locale":"fi_FI","og_type":"article","og_title":"Pariohjelmointia teko\u00e4lyn kanssa - LAB Focus","og_description":"Pariohjelmointi on ketter\u00e4n sovelluskehityksen tekniikka, jossa kaksi ohjelmoijaa tekee ty\u00f6t\u00e4 yhdess\u00e4 samalla tietokoneella. Toinen toimii kuskina eli kirjoittaa koodia ja toinen toimii apukuskina katselmoiden koodia ja yritt\u00e4en keksi\u00e4 kehitysehdotuksia ja ratkaisuja. Ajatuksena t\u00e4ss\u00e4 on vapauttaa kuski vain tekem\u00e4\u00e4n vaadittu ty\u00f6 eli ajamaan toteutusta eteenp\u00e4in. (Williams 2001.) Teko\u00e4lyn kehittyess\u00e4 useat kehitysty\u00f6kalut ovat saaneet apuv\u00e4lineit\u00e4, kuten esimerkiksi [&hellip;]","og_url":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/","og_site_name":"LAB Focus","article_published_time":"2021-12-14T15:38:19+00:00","article_modified_time":"2021-12-14T15:38:20+00:00","og_image":[{"width":1280,"height":640,"url":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png","type":"image\/png"}],"author":"riagynther","twitter_card":"summary_large_image","twitter_creator":"@LABfinland","twitter_site":"@LABfinland","twitter_misc":{"Kirjoittanut":"riagynther","Arvioitu lukuaika":"4 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#article","isPartOf":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/"},"author":{"name":"riagynther","@id":"https:\/\/blogit.lab.fi\/labfocus\/#\/schema\/person\/9c880332f36e75c138451ec4aa8eadc7"},"headline":"Pariohjelmointia teko\u00e4lyn kanssa","datePublished":"2021-12-14T15:38:19+00:00","dateModified":"2021-12-14T15:38:20+00:00","mainEntityOfPage":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/"},"wordCount":674,"commentCount":0,"publisher":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/#organization"},"image":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#primaryimage"},"thumbnailUrl":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png","keywords":["Artikkeli E1","ohjelmointi","teko\u00e4ly","Tieto- ja viestint\u00e4tekniikka"],"inLanguage":"fi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/","url":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/","name":"Pariohjelmointia teko\u00e4lyn kanssa - LAB Focus","isPartOf":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#primaryimage"},"image":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#primaryimage"},"thumbnailUrl":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png","datePublished":"2021-12-14T15:38:19+00:00","dateModified":"2021-12-14T15:38:20+00:00","breadcrumb":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#primaryimage","url":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png","contentUrl":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2021\/12\/681_2021-Pariohjelmointia-tekoalyn-kanssa.png","width":1280,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/blogit.lab.fi\/labfocus\/pariohjelmointia-tekoalyn-kanssa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogit.lab.fi\/labfocus\/"},{"@type":"ListItem","position":2,"name":"Pariohjelmointia teko\u00e4lyn kanssa"}]},{"@type":"WebSite","@id":"https:\/\/blogit.lab.fi\/labfocus\/#website","url":"https:\/\/blogit.lab.fi\/labfocus\/","name":"LAB Focus","description":"Focus Area blog | LAB University of Applied Sciences","publisher":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogit.lab.fi\/labfocus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/blogit.lab.fi\/labfocus\/#organization","name":"LAB Focus","url":"https:\/\/blogit.lab.fi\/labfocus\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/blogit.lab.fi\/labfocus\/#\/schema\/logo\/image\/","url":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2020\/04\/cropped-cropped-tunnus_blogi-01.png","contentUrl":"https:\/\/blogit.lab.fi\/labfocus\/wp-content\/uploads\/sites\/8\/2020\/04\/cropped-cropped-tunnus_blogi-01.png","width":1342,"height":288,"caption":"LAB Focus"},"image":{"@id":"https:\/\/blogit.lab.fi\/labfocus\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/LABfinland"]},{"@type":"Person","@id":"https:\/\/blogit.lab.fi\/labfocus\/#\/schema\/person\/9c880332f36e75c138451ec4aa8eadc7","name":"riagynther","image":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/secure.gravatar.com\/avatar\/2d283ba3da6ba0aac171b562afc5d3cb03a5583044210fb0b0fd5ab8d66f31fa?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2d283ba3da6ba0aac171b562afc5d3cb03a5583044210fb0b0fd5ab8d66f31fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2d283ba3da6ba0aac171b562afc5d3cb03a5583044210fb0b0fd5ab8d66f31fa?s=96&d=mm&r=g","caption":"riagynther"},"url":"https:\/\/blogit.lab.fi\/labfocus\/author\/riagynther\/"}]}},"_links":{"self":[{"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/posts\/6401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/comments?post=6401"}],"version-history":[{"count":1,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/posts\/6401\/revisions"}],"predecessor-version":[{"id":6403,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/posts\/6401\/revisions\/6403"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/media\/6402"}],"wp:attachment":[{"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/media?parent=6401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/categories?post=6401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogit.lab.fi\/labfocus\/wp-json\/wp\/v2\/tags?post=6401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}