Päivitin äsken pääteohjaus 6:ssa olevaa ohjeistusta Googlen pilvessä
olevan Postgresql-tietokannan (Cloud SQL) käyttämisestä.
Halutessanne voitte tätä käyttää viimeisessä viikkotehtävässä, mutta aivan
yhtä hyvin voi käyttää datastorea tai firestorea tai pythonanywheressa
sqlite3:sta tai mysql-tietokantaa. Saatte valita mieleisenne.
Jos kokeilette pääteohjauksessa Cloud SQL -tietokannan luomista, mutta
ette sitten kuitenkaan käytä tätä tietokantaa mihinkään, muistakaa poistaa
tai vähintään sammuttaa kyseinen tietokanta Googlen pilvestä. Cloud SQL
kuluttaa päällä ollessaan krediittejä koko ajan 24/7 eikä kurssin
yhteisellä billing accountilla ole varaa mihinkään ylimääräiseen.
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhazor.iki… >
To use violence is to already be defeated. -- Chinese proverb
Viimeinen viikkotehtävä on nyt työn alla. Tälle tehtävälle on aiempia
enemmän tekoaikaa. Tämä ei tarkoita, että tehtävä olisi erityisen vaikea,
mutta tehtävässä käytettyihin ulkoisiin tietolähteisiin perehtymisessä
menee varmasti aikaa.
Mikroluokkaohjauksia on normaalisti vielä tämän ja ensi viikon ajan.
Viikolla 15 on tarjolla vain etäohjausta.
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhazor.iki… >
Setting a goal is not the main thing. It is deciding how you will go about achieving it and staying with that plan. - Tom Landry
Viikkotehtävä 4 on nyt arvioitu.
Käykää poistamassa Googlen pilvestä ne projektit joita ette enää tarvi eli
esim. ohjaus 4:een liittyvä projekti tai viikkotehtävä 4:n projekti.
Projektin voi sammuttaa ja samalla poistaa projektin asetusten kautta
jonne pääsee dashboardista:
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconsole.c…
projektin sammuttamisen jälkeen google poistaa projektin vasta 30 päivän
kuluttua. Toinen vaihtoehto on siirtää projekti toisen billing accountin
alle, mutta tämä tarkoittaisi, että teidän pitää luoda oma billing
account.
Säästetään tällä yhteisiä krediittejä viimeistä viikkotehtävää varten.
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhazor.iki… >
Happiness is having a scratch for every itch. -- Ogden Nash
Viikkotehtävä 5:n kolmostasolla on vaatimuksissa kohta:
"Joukkuelistaus pyydetään omalta Flask-sovellukselta, jonka on
palautettava joukkuelistaus XHTML-muodossa eli suoraan
www-sivulle sopivassa muodossa. Et siis voi pyytää joukkuelistausta
suoraan javascriptilla Firestore-tietokannasta vaan sinun on käytettävä
Fetch-pyyntöä omalle sovellukselle."
Reactissa tämä menee hankalaksi jos ei saa käyttää Reactin
dangerouslySetInnerHTML-metodia (käytännössä sama kuin innerHTML:n
asettaminen) eli se on tässä tilanteessa sallittua. Toinen vaihtoehto on
käyttää selaimen tarjoamaa parser.parseFromString-metodia, joka on myös
sallittua, vaikka on tavallaan yhtä vaarallinen kuin suora innerHTML:n
asettaminen. Datan tullessa omalta sovellukselta suoraan palvelimelta
uskallamme luottaa siihen, että dataan ei ole kukaan päässyt väliin eikä
ujuttanut sekaan mitään vaarallista kuten ylim. script-elementtejä ja
epäluotettavaa javascript-koodia.
--
Tommi Lahtonen, tommi.j.lahtonen(a)jyu.fi, < https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhazor.iki… >
There is so much to say, but your eyes keep interrupting me.