Skip to content

Latest commit

 

History

History
99 lines (52 loc) · 6.59 KB

wadror.md

File metadata and controls

99 lines (52 loc) · 6.59 KB

Web-palvelinohjelmointi Ruby on Rails, syksy 2022

Web-palvelinohjelmointi Ruby on Rails palaa toiveuusintana opetusohjelmaan vielä kerran!

Ruby on Rails on reilut 15 vuotta sitten suureen suosioon noussut MVC-websovelluskehys, hipsterien ykköskieli vuonna 2006. Monet isot ja tunnetut sovellukset kuten Twitter, Heroku, AirBnB ja GitHub olivat aluksi Railsilla ohjelmoituja, osa näistä luottaa Railsiin edelleen. JavaScriptiin pohjautuvat teknologiat söivät Railsin suosion pikkuhiljaa vuoden 2015 jälkeen, työmarkkinoilla on kuitenkin edelleen olemassa jatkuva tarve Rails-kehittäjille, Raisia hallitsevia kehittäjiä on kuitenkin tarjolla kovin vähän.

Kokeile miltä tuntuu ohjelmoida kielellä, jonka vallitseva suunnitteluparadigma on sovelluskehittäjän tyytyväisyys, ja sovelluskehyksellä joka on ratkaissut triviaalit, mutta hankalasti päätettävissä olevat asiat (mm. tiedostojen nimentä ja hakemistorakenteet) puolestasi! Huomaat myös, että toisin kuin uuden liiton sovelluksehittäjät ajattelevat, ei kakkien sovelluksien tarvitse olla SPA- eli yhden sivun sovelluksia...

Kurssilla keskitytään palvelinpuolen toiminnallisuuden toteuttamiseen, kurssilla tuotettavat käyttöliittymät tulevat olemaan alkeellisia. Kurssi ei ole johdatuskurssi selainohjelmointiin ja käyttöliittymäsuunnitteluun, HTML:n, CSS:n ja JavaSacriptin rooli kurssilla on hyvin vähäinen.

Kurssin laajuus on 5 opintopistettä.

Vaikka kurssi on sisällöllisesti hyvin samankaltainen kuin Web-palvelinohjelmointi Java, molempien kurssien suorittaminen on mahdollista.

Esitietovaatimukset

Ohjelmistotekniikan menetelmät/Ohjelmoinnin harjoitustyö ja Tietokantojen perusteet. HTML on hyvä tuntea siinä laajudessa kuin asiaa käsitellään kurssilla Tietokone työvälineenä

Kurssille osallistuminen edellyttää hyvää ohjelmointirutiinia sekä valmiutta omatoimiseen opiskeluun.

Suoritusmuoto

Kurssin rakenne poikkeaa jossain määrin osaston kurssistandardista. Kurssilla tehdään ainoastaan yksi sovellus (joka tulee kurssin lopussa näyttämään suunilleen tällaiselta), samaa sovellusta tehdään sekä teoriamateriaalissa että teorian sekaan upotetuissa laskareissa. Kurssin teoriamateriaalia ei pystykään pelkästään lukemaan; Materiaalia seuratessa tulee itse rakentaa matkan varrella täydentyvää sovellusta, sillä muuten tehtävien tekeminen on mahdotonta. Toisin sanoen kurssia on seurattava tasaisesti koko seitsemän viikon ajan.

Kurssi jakautuu seitsemään "viikkoon", eli osaan jotka tehtiin kurssin aiemmissa versiossa yhden viikon aikana. Tällä kurssilla on kuitenkin ainoastaan yksi deadline, 31.12.2022 klo 23.59.

Jokainen "viikko" palateaan erikseen kurssin palautussovellukseen. Palautettuasi yhden viikon tehtävät, pääset näkemään viikon esimerkkivastauksen. Seuraavalla viikolla on mahdollista jatkaa joko oman sovelluksen rakentamista tai ottaa pohjaksi edellisen viikon esimerkkivastaus.

Osa viikon tehtävistä on käytännössä pakollisia, muuten eteneminen pysähtyy viikon osalta. Osa tehtävistä taas on vapaaehtoisia, ei-kriittisten ominaisuuksien toteutuksia.

Yksi kurssin tärkeimmistä oppimistavoitteista on itsenäiseen tiedonhakuun kannustaminen. Tämän takia kurssimateriaali ei ole kaikilta osin yksinään riittävä tehtävien ratkaisemiseen. Kurssilla ei esim. varsinaisesti opeteta Rubyä ollenkaan, jokaisen osallistujan on hankittava kurssin aikana omatoimisesti riittävät valmiudet Rubyn käyttöön, ks. Ruby-ohjeita

Arvosteluperusteet

Kurssin arvosana perustuu palautettujen tehtävien määrään. Arvosanaan 1 vaaditaan 50% tehtävistä ja arvosanaan 5 noin 90% tehtävistä. Kurssilla ei ole koetta.

Kurssin tehtävien deadline on 31.12.2022 klo 23.59.

Opetus

Discord

  • kurssin telegram-kanava https://t.me/rorwepa
    • Huom: kaikki epäasialliset, halventavat ja jotain ihmisryhmää syrjivät kommentit kanavalla ovat kiellettyjä ja tälläisten kommenttien esittäjät poistetaan kanavalta
  • Rubyn harjoitteluun tarkoitetun materiaalin ensimmäinen osa ja toinen osa

Paja

????

Materiaali ja tehtävät

Linkkejä

Railsin asentaminen

git- ja GitHubohjeita

Ruby-ohjeita

tehtäväkirjanpito

Kurssin Tietokone työvälineenä HTML:ää koskeva osuus

Editori/IDE

Rails-tuki löytyy useimmista kehitysympäristöistä. Koska Ruby on dynaamisesti tyypitetty, tulkattava kieli, kehitysympäristöjen tuki (esim. automaattinen koodintäydennys) ei ole läheskään samaa luokkaa kuin esim. Javalla ohjelmoitaessa.

Tämän hetken "paras" Rails-kehitysympäristö on Jetbrainsin kehittämä RubyMine http://www.jetbrains.com/ruby/ Ohjelma on maksullinen, mutta kaikki @helsinki-emailosoitteen omaavat saavat opiskelijalisenssin ilmaiseksi JetBrainsin sivuilta

Myös useat tekstieditorit esim. Visual Studio Code tarjoavat kohtuullisen Rails-tuen.

Hyödyllisiä Rails-linkkejä

http://guides.rubyonrails.org/

http://api.rubyonrails.org/

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

http://www.ruby-lang.org/en/documentation/

http://railscasts.com/