Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "Python"

Sort by: Order: Results:

  • Silvo, Jari (2023)
    Nykyajan sovelluskehityksessä on tarve julkaista uutta sovelluskoodia asiakkaiden nopeasti muuttuvien tarpeiden täyttämiseksi. Sovelluskoodia pyritään julkaisemaan tuotantoon nopeissa kehityssykleissä. Tämä asettaa haasteita ohjelmiston kehitykselle ja palvelutuotannolle. Moni- mutkaisten IT-infrastruktuurien siirtyminen pilvialustoille ja vaatimukset nopeille muutoksille aiheuttavat tarpeen ketterämmälle infrastruktuurin hallinnalle. Infrastruktuuri koodina -menetelmässä on pyrkimyksenä määrittää IT-infrastruktuuri koodi- na ja hyödyntää sovellusohjelmoinnin käytäntöjä infrastruktuurin hallinnassa. Infrastruktuuria pyritään ylläpitämään aiempaa johdonmukaisemmalla ja skaalautuvalla tavalla. Infrastruktuuri voidaan määrittää deklaratiivisilla tai yleiskäyttöisillä ohjelmointikielillä. Tut- kimuksessa on tarkoitus selvittää eroja deklaratiivisten määrittelytiedostojen ja yleisohjelmoin- tikielisten infrastruktuurisovellusten välillä infrastruktuurin hallinnassa. Työssä arvioidaan in- frastruktuurin hallintaan kehitettyä Pulumi-alustaa, joka tukee useita yleiskäyttöisiä ohjelmoin- tikieliä ja pilvipalveluita. Työssä etsitään ammattikirjallisuudesta ja tieteellisestä tutkimuksesta infrastruktuuri koodina -hallintaan liittyviä käytäntöjä. Tutkielman tapaustutkimus keskittyy Amazon Web Services - alustalle rakennettuun infrastruktuuriin käyttäen CloudFormation-työkalua. Tapaustutkimuk- sessa tarkastellaan nykyistä infrastruktuuri koodina -toteutusta sekä mahdollisuuksia tehostaa toimintaa käyttämällä Pulumia ja kirjallisuudesta löydettyjä käytäntöjä.
  • Hirvonen, Henrik (2022)
    Työn alussa perehdytään lukuteorian merkitykseen sekä sen paikkaan Suomen koulujärjestelmässä. Opetuspaketin motivointina toimivat artikkelit ja tutkimukset lukuteorian opiskelemisen merkityksestä matemaattiselle ajattelemiselle. Motivointia lisäävät myös lukuteorian, salausjärjestelmien ja ohjelmoinnin välillä havaitut laaja-alaiset ja toisiaan täydentävät yhteydet. RSA-salausjärjestelmässä esiintyvät monet lukuteorian käsitteet, joita voidaan käsitellä ohjelmallisesti. Näiden syiden takia tämän työn aiheena on RSA-salausjärjestelmän avulla lukuteoriaan syventävä opetuspaketti. Opetuspaketti on tarkoitettu lukion pitkän matematiikan opiskelijalle, joka on entuudestaan opiskellut vuoden 2019 lukion opetussuunnitelman moduulin MAA11 Algoritmit ja lukuteoria. Opetuspaketti kertaa ja syventää moduulissa MAA11 opittuja lukuteorian käsitteitä sekä esittelee uusina Eulerin φ-funktion (Eulerin phi-funktio), Eulerin teoreeman ja RSA-salausjärjestelmän. Opetuspakettiin kuuluvat teorian ja määritelmien lisäksi monet esimerkit, harjoitustehtävät, (Python-)ohjelmointitehtävät sekä esimerkkiratkaisut. Opetuspaketin tavoitteena on herättää opiskelijan mielenkiintoa lukuteoriaa ja ohjelmointia kohtaan RSA-salausjärjestelmän avulla. Lisäksi opetuspaketin tarkoituksena on laajentaa opiskelijoiden lukuteorian osaamista, syventää yleistä matemaattista ymmärtämistä sekä parantaa ohjelmoinnin taitoja.
  • Vehmanen, Eero (2017)
    Järjestelmän kykyä havainnoida ja käsitellä sen omia rakenteitaan ja mekanismejaan kutsutaan refleksiivisyydeksi. Vaikka ohjelmointikielet ovat sisältäneet refleksiivisyyttä tukevia piirteitä eli metapiirteitä jo vuosikymmeniä, refleksiivisyyden merkitys ohjelmistotuotannossa pysyi pitkään vaatimattomana. Paljon metapiirteitä sisältävien skriptikielten suosion kasvun myötä refleksiivisyyden merkitys on kasvanut auttaen ohjelmoijia luomaan joustavia, helposti ylläpidettäviä ja muokattavia ohjelmia. Tässä tutkielmassa tarkastellaan ja vertaillaan kolmen suositun skriptikielen - Pythonin, Rubyn ja JavaScriptin - metapiirteitä, tarkoituksena löytää niiden hyötyjä, ongelmia ja käyttötapoja. Vertailua on tehty ratkaisemalla kaikilla kolmella kielellä kirjoittajan laatimia ohjelmointitehtäviä, jotka edustavat kirjallisuudessa ja tässä tutkielmassa esille tulleita refleksiivisyyden hyötyjä. Lisäksi metapiirteiden eroja esitellään havainnollistavan taulukon avulla. Python ja Ruby sisältävät suuren määrän hyödyllisiä metapiirteitä. Yksinkertaisempi JavaScript tarjoaa vähemmän metapiirteitä, mutta uudessa ECMAScript 6 -spesifikaatiossa määritelty refleksiivinen arkkitehtuuri parantaa kielen refleksiivisyyttä valtavasti.