Valinnaiset tehtävät
Tämän sivun tehtävät eivät ole kurssin suorittamisen kannalta välttämättömiä eikä niitä tarvitse erikseen palauttaa. Saat myös valinnaisiin tehtäviin tukea kurssin keskustelukanavilla.
Valinnaisia tehtäviä löydät erillisistä GitHub-repositorioista, codewars.com-palvelusta ja typescript-exercises.github.io-palvelusta.
GitHub-tehtävärepositoriot
Seuraavat GitHub-tehtävärepositoriot sisältävät Node.js-ympäristössä ratkaistavia tehtäviä. Voit kloonata tehtävärepositorion suoraan itsellesi Git-työkalulla. Jos olet jo valmiiksi GitHubin käyttäjä, voit myös luoda tehtävärepositorioista kopiot "forkkaamalla" niistä kopiot oman GitHub-tunnuksesi alaisuuteen.
TypeScript & postinumerot
Tämän koodaustehtävän tavoitteena on luoda tarvittavat pohjatiedot seuraaville tehtäville, joissa käsittelemme dataa ja testaamme ohjelmistoja TypeScript-kielellä. Kaikkien kielen ominaisuuksien opetteleminen etukäteen ei ole kurssin kannalta tarkoituksenmukaista, joten tässä tehtävässä tutustutaan tarvittaviin työkaluihin sekä perusrakenteisiin.
Tehtävässä voi olla hyötyä esim. omista funktioista ja omien tietotyyppien määrittelemisestä, mutta ne eivät ole välttämättömiä.
Tehtävä löytyy osoitteesta https://github.com/harjoitukset/typescript-postalcodes.
TypeScriptin tyypit: Users & Posts
Tässä tehtävässä harjoitellaan TypeScriptin tyyppien määrittelyä ja tyyppien hyödyntämistä osana ohjelmalogiikkaa Node.js-ympäristössä. Tehtävänä on lukea kahdesta erillisestä JSON-tiedostosta käyttäjiä ja postauksia ja yhdistellä käyttäjät niitä vastaaviin postauksiin.
Tehtävärepositorio sisältää valmiit automaattiset testi ja se löytyy osoitteesta https://github.com/harjoitukset/typescript-users-and-posts.
Yksikkötestaus Jest-työkalulla
Tässä tehtävässä harjoitellaan yksikkötestausta Jest-työkalulla Node.js-ympäristössä. Tehtävänäsi on kirjoittaa yksikkötestit valmiiksi annetulle finnishDateString-funktiolle, joka muotoilee sille annetun Date-olion suomenkieliseksi merkkijonoksi.
Tehtävärepositorio löytyy osoitteesta https://github.com/harjoitukset/typescript-jest.
Users & Posts v2: Filter, Map & Sort
Tässä tehtävässä jatketaan TypeScriptin parissa ja perehdytään taulukkofunktioihin sekä lajittelualgoritmeihin. Tehtävä on jatkoa Users & Posts -tehtävälle.
Tehtävärepositorio sisältää valmiit automaattiset testit ja se löytyy osoitteesta https://github.com/harjoitukset/typescript-users-and-posts-v2.
Codewars.com
"Codewars is a collective effort by its users. They are creators—authoring kata to teach various techniques, solving kata with solutions that enlighten others, and commenting with constructive feedback."
codewars.com-palvelu sisältää kohtuullisen pieniä koodausharjoituksia lukuisille eri kielille. Myös TypeScript on hyvin edustettuna. Palvelussa kullakin harjoituksella on tietty vaikeustaso, ja tehtäviä ratkomalla pääset etenemään aina seuraavan tason tehtäviin. Pääset myös näkemään muiden tekemiä ratkaisuja samoihin tehtäviin, mikä auttaa erinomaisesti hahmottamaan uusia yksinkertaisempia tai tehokkaampia tapoja ratkaista kohtaamiasi haasteita. Palvelu toimii suoraan selaimessa, joskin tehtävien ratkaiseminen esimerkiksi VS Code -ympäristössä on erityisesti haastavampien tehtävien osalta suositeltavaa.
typescript-exercises.github.io
Sivustolle https://typescript-exercises.github.io/ on koottu kattava paketti suoraan selaimessa ratkaistavia TypeScript-harjoituksia. Harjoitukset vaikeutuvat loppua kohti melkoisesti, mutta erityisesti alkupään harjoitukset ovat vahvasti suositeltuja.