# Kehittäjän blogi
## Web-ohjelmointi, syksy 2020
### Tekijä: 306695, Joona Pakarinen
## Viikko 1 (1.9.- 6.9.2020)
### Mitä opin tällä viikolla
Tutustuin javascript kieleen, asentelin ohjelmistoa
### Mitä harjoituksia tein
#### Harjoitus 1
Tehtävässä piti luoda funktio, joka tarkistaa onko syötetty sana palindromi. Tutustuin materiaaliin ja googlailin javascript-kielestä ja en kohdannut mitään ongelmia.
#### Harjoitus 2
Tehtävässä luotiin puhelinluettelo, johon voi lisätä ja josta voi hakea elementtejä. Tämä on aika tuttua kauraa, eikä uusi ohjelmointikieli vaikeuttanut asioita.
***
## Viikko 2
### Mitä opin tällä viikolla
Tällä viikolla perehdyttiin javascriptin perusteisiin, etenkin periytymiseen. Ohjelmointitaustani takia nämä olivatkin jo kaikki tuttua kauraa, joten kaikki sujui ongelmitta.
### Mitä harjoituksia tein
#### Harjoitus 3
Harjoituksessa piti hyödyntää periytymistä. Siinä luotiin Urheilija objekti, joka periytyy Henkilo objektista. Koin harjoituksen hyvin helpoksi, eikä minulla ole siitä mitään sanottavaa.
***
## Viikko 3
### Mitä opin tällä viikolla
Työskentelemään json muodolla javascriptillä, käyttämään express ja REST rajapintoja, ja yhdistämään mySQL:n ja javascriptin.
### Mitä harjoituksia tein
#### Harjoitus 4
Tehtävässä piti tehdä käyttöliittymä express:in ja mysql:n avulla tietokannalle. Katsoin läpi luentomateriaalia ja alkututustumisen jälkeen tehtävä sujui ihan melko ongelmitta.
***
## Viikko 4
### Mitä opin tällä viikolla
Käyttämään, lukemaan ja tekemään html-materiaalia. Tekemään tyylimäärittelyjä, käyttämään jQueryä, kirjoittamaan koodia html-tiedoston sisään ja lukemaan JSON-tiedostoja täten html sivun kautta.
#### Harjoitus 5
Tehtävässä piti luoda visuaalinen html käyttöliittymä aiemmissa tehtävissä tehtyyn javascript backendiin. Tehtävässä piti vain saada lista näkymään html-taulukkoon. Vaikka en ollut ennen käyttänyt html:ää koin tehtävän hyvin helpoksi ja sain sen ongelmitta tehtyä pienen taustaopettelun jälkeen.
***
## Viikko 5
### Mitä opin tällä viikolla
Tekemään React app:in, opin miten react js ylipäänsä toimii, sain paljon harjoitusta front-ending tekemisestä, sekä sen liittämisesti back-endiin.
#### Harjoitus 6
Aloitin harjoituksen 6. Se oli tähän mennessä isoin harjoitus, siinä oli määränä luoda ensin back-end, ja sitten käyttöliittymä tietokannalle urheilijoista käyttäen Reactia. Aloitin tekemään tehtävää
***
## Viikko 6
## Mitä opin tällä viikolla
Jatkoin harjoituksen 6 tekemistä. Opin paremmin käyttämään Reactia.
#### Harjoitus 6, jatkoa
Päätin suorittaa tehtävän siten, että sivustoni on rakennettu yhden taulukon ympärille. Käyttäjä näkee taulukon kaikista urheilijoista, jokaisella rivillä on myös napit "Muokkaa" ja "Poista", sekä taulukon pohjalla on joukko kenttiä ja nappi jonka avulla voi lisätä tietokantaan uuden urheilijan. Joka kerta kun käyttäjä tekee muutoksia tietokantaan, koodi lataa tietokannan uudelleen lähteestä. Se ei ehkä ole tehokkain tapa suorittaa asiaa, mutta se kyllä toimii ihan hyvin tämän tasoiselle projektille.
Vaiheittain ongelmia koitui tiedon siirtämisestä tietokantaan, sillä se piti muuttaa JSON muotoon. Lopulta sain kuitenkin asiat selväksi kun lisäsin lisäys pyyntöön headereita ja varmistin että kaikki kentät ovat oikeassa muodossa.
Lisäsin oleelliset tiedostot gitlab pilveen:
https://gitlab.com/joonapak/web-ohjelmointi/-/tree/master/Urheilu2
***
## Viikko 7
## Mitä opin tällä viikolla
Valmiiden Bootstrap-templatejen tehokkuuden.
#### Portfolio
Tein kurssisuorituksistani portfolion, valmista "freelancer" templatea käyttäen.
(https://github.com/StartBootstrap/startbootstrap-freelancer)
Koin portfolion tekemisen melko kevyeksi ja mukavaksi.
Portfolio: https://gitlab.com/joonapak/web-ohjelmointi/-/tree/master/portfolio