Rapid Ruby -noutopöydän sisältö
Rapid Ruby -noutopöytä koostuu viidestä päivästä.
| maanantai | Johdatus Rubyyn |
| tiistai | Railsin perusteet |
| keskiviikko | Rubyn tehokäyttö |
| torstai | Testilähtöinen kehitys Railsillä |
| perjantai | Ajax-kehitys Railsillä |
Päivistä kaksi ensimmäistä sopivat parhaiten niille, jotka eivät ole vielä ehtineet suuremmin perehtyä Rubyyn tai Railsiin. Kolme seuraavaa päivää sopivat parhaiten hieman edistyneemmille; sellaisille, joilla on jo yksi tai kaksi sovellusta tehtynä Rubylla, mutta jotka haluavat parantaa taitojaan ja oppia kehittämään entistä tehokkaampaa, virheettömämpää ja ylläpidettävämpää koodia.
Koulutuksemme keskeisenä ideana on, että tekemällä oppii. Siksi koulutuspäivämme ovat erittäin käytännönläheisiä, ja suurin osa ajasta käytetään todelliseen kehitykseen opetettujen asioiden pohjalta. Jos sinua alkaa nukuttaa kurssilla, se johtuu todennäköisesti siitä, että olet käyttänyt yön edellispäivän oppien soveltamiseen oikeissa projekteissa.
1. päivä: Johdatus Rubyyn
Ruby on dynaaminen ohjelmointikieli joka soveltuu erityisesti ketterään ohjelmistokehitykseen. Rubyn yhdistelmä kompaktiutta ja luettavuutta vapauttaa ohjelmoijat aiempaa suurempaan tehokkuuteen.
Tämän päivän aikana opitaan Rubyn käytön perusteet. Listalla ovat seuraavat asiat:
- Ruby-kielen peruselementit
- Ruby-ohjelman rakenne
- Luokat ja oliot
- I/O Rubyssä
- Rubyn tietorakenteet
- Poikkeustenhallinta
- Säännölliset lausekkeet
2. päivä: Railsin perusteet
Ruby on Rails mullisti web-kehityksen. Rails tekee ohjelmoijista onnellisia ja tuottavia automatisoimalla toistuvat työvaiheet ja tekemällä mielenkiinnottomat päätökset ohjelmoijan puolesta.
Rails pyrkii yhdistämään eri kehitysvälineiden ja menetelmien parhaat käytännöt. Siksi Railsin tuntemisesta voi ammentaa oppia web-kehitykseen myös muissa ympäristöissä.
Koulutuspäivän aikana opitaan Ruby on Rails -kehityksen perusteet:
- Johdanto Rails-sovelluksen arkkitehtuuriin: MVC ja REST
- Reitit
- MVC:n osat
- Kontrollerit
- Näkymät
- Mallit
- Web servicet
3. päivä: Rubyn tehokäyttö
Suurimman hyödyn Ruby-ohjelmointikielestä saa käyttämällä sen ominaisuuksia ilmaisuvoimaisen koodin kirjoittamiseen. Metaohjelmoinnin avulla koodista voi tehdä kompaktia mutta selkeää. Ohjelman muokattavuus ja ylläpidettävyys helpottuu, kun koodiin tarvitsee kirjoittaa vain olennainen.
Tämän päivän aikana opitaan seuraavat asiat:
- Rubyn moduulit
- Johdanto metaohjelmoinnin tavoitteisiin
- Rubyn metaluokat
- Luokkien dynaaminen muuttaminen
- Kehityksen tehostaminen metaohjelmoinnilla
- Sovellusaluekielten (DSL) kehittäminen Rubylla
4. päivä: Testilähtöinen kehitys Railsillä
Testilähtöinen kehitys (TDD) on yksi ketterän kehityksen perusmenetelmistä. Kirjoittamalla ohjelmiston osien vaatimukset testeiksi ennen osien varsinaista toteutusta saadaan vaatimusten toteutuminen varmistettua. Samalla koodin rajapinnoista tulee selkeämpiä, koodin muokkaaminen helpottuu ja kehitystiimin kommunikaatio paranee.
Ruby ja Ruby on Rails tukevat TDD-kehitystä erinomaisesti. RSpec-testaustyökalulla testit voidaan kirjoittaa niin selkeästi, ettei ohjelmiston luokkien vaatimuksia tarvitse dokumentoida muualle.
Tämän päivän aikana opitaan seuraavat asiat:
- Testilähtöisen suunnittelun perusteet
- RSpec-testaustyökalun käyttö
- Integrointitestit
- Behaviour-Driven Development
- Rajapintojen suunnittelu testilähtöisesti
- MVC:n eri kerrosten testaaminen
- Reittien testaaminen
- Testauksen automatisointi ja jatkuva integrointi
5. päivä: Ajax-kehitys Railsillä
Ajax ja dynaaminen HTML (DHTML) ovat avain interaktiivisten web-sovellusten kuten Google Maps tuottamiseen. Niiden käyttö tuo kuitenkin mukanaan aivan uusia haasteita web-sovelluskehitykseen, saavutettavuuteen ja käytettävyyteen.
Tämän päivän aikana opit muun muassa seuraavat asiat:
- Ajaxin perusteet
- Railsin JavaScript- ja Ajax-apufunktiot, niiden käytön helppous ja ongelmat
- Sekä perinteisten että Ajax-pyyntöjen tukeminen samalla koodilla Railsin
respond_to-metodia käyttäen - Johdatus Prototype-kirjastoon
- Johdatus saavutettavien palveluiden tuottamiseen progressiivisesti, erottaen www-sivun rakenne, esitysmuoto ja käyttäytyminen toisistaan
- Johdatus Low Pro -kirjastoon
- Suorituskyvyn parantaminen DOM-tapahtumien delegoinnin (Event delegation) avulla
Esitietovaatimukset
Osallistuminen koulutukseen edellyttää olio-ohjelmoinnin perusteiden osaamista.
Toisen, kolmannen ja neljännen päivän esitietovaatimuksina on edeltävien päivien koulutus tai niitä vastaavat tiedot.
Viidennen päivän koulutukseen osallistuminen ei edellytä Ruby tai Ruby on Rails-osaamista.
