Kirjoittaja Aihe: Ohjelmointi  (Luettu 20759 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #210 : Toukokuu 03, 2022, 15:11:54 »
^
Löysin React Router -videoita, joiden perusteella näyttäisi siltä, että RR:n tarjoama Link-komponentti olisi sellainen jollaista tässä tarvitsen. En tosin tiedä, mitä tapahtuu jos vain osoitteen query-parametrit muuttuvat, eli että kutsuuko RR silloinkin asiaankuuluvaa komponenttia vai pitääkö tehdä vielä jotain muutakin. Mutta tällä hetkellä vaikuttaa lupaavalta, että RR hoitaa sittenkin pulman.
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #211 : Toukokuu 06, 2022, 14:32:29 »
^
Mun ei muuten tartte frontendissä määritellä erikseen linkkien sisältöä. Kun kukin nappi tekee vain yhden asian kerrallaan jo olemassa olevalle url-osoitteelle tai query-parametreille, voin rakentaa osoitteet valmiiksi backendissä. Jos siis oikein tajusin. Pitää tosiaan olla tekemättä mitään tälle projektille niin tulee näitä oivalluksia, jotka kertyessään säästävät minut turhalta työltä.
« Viimeksi muokattu: Toukokuu 06, 2022, 17:18:51 kirjoittanut Viihde- ja hömppäpöhinä »
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa a4

  • Kantapeikko
  • ****
  • Viestejä: 5760
Vs: Ohjelmointi
« Vastaus #212 : Toukokuu 29, 2022, 17:24:53 »
Hesarissa tuli vastaan arvio että tietotekniikan osuus maailman energiankulutuksesta on vuonna 2030 21%.
Sekä termi green coding.

Perl-ojhelmointikieli vie jopa 80 kertaa enemmän energiaa kuin vanha C-kieli. Javascriptin sähkönkulutus on nelinkertainen C-kieleen verrattuna.

https://www.hs.fi/visio/art-2000008830814.html (maksumuuri)
Podcast: https://www.hs.fi/visio/art-2000008839656.html
« Viimeksi muokattu: Toukokuu 29, 2022, 17:46:27 kirjoittanut a4 »

Poissa ROOSTER

  • Kantapeikko
  • ****
  • Viestejä: 8003
  • Hän jolla on eniten pixeleitä!
Vs: Ohjelmointi
« Vastaus #213 : Kesäkuu 04, 2022, 10:31:17 »
Kun esimerkiksi valtionpäämies haluaa poistaa vaimonsa nakukuvan verkosta, se yleensä onnistuu. Tavalliselle kansalaiselle ei.

Miten tuo suodattaminen teknisesti tapahtuu? Annetaanko hakukoneille lista kielletyistä kuvista? Tai teksteistä. Itse kuvahan aina joissain osoitteissa säilyy, mutta se ei näy hakukoneen kautta etsijöille.
Yleinen mielipide on aina väärässä.

Testatusti eliittiä.

a4: Minulla on sellainen kokemus että kaikki vähänkin älykkäät laitteet jumiutuvat itsekseen, ennemmin tai myöhemmin ja jotkut useammin.
Omakin pää.

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #214 : Kesäkuu 04, 2022, 10:46:50 »
^
Ehkäpä siellä on lista kuvan www-osoitteista. Aina kun löytyy uusi osoite kuvalle, lisätään se listaan. Sitten poistetaan listan osoitteet hakutuloksesta. En kyllä yhtään tiedä onko tämä ainut keino.
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa Lenny

  • Kantapeikko
  • ****
  • Viestejä: 1115
  • Ylläpitäjä
Vs: Ohjelmointi
« Vastaus #215 : Kesäkuu 04, 2022, 10:47:31 »
Perl-ojhelmointikieli vie jopa 80 kertaa enemmän energiaa kuin vanha C-kieli. Javascriptin sähkönkulutus on nelinkertainen C-kieleen verrattuna.

Erittäin mielenkiintoinen ja ajankohtainen huomio, kiitos! Tietotekniikassahan trendi näyttää olevan jatkuvasti kohti monimutkaisempaa, kohti korkeampia abstraktiotasoja, kohti suurempaa tuottavuutta. Toisaalta taas pelkästään sen lopputuotteena olevan koodin tehokkuuden tarkastelu on liian yksinkertaista, koska pitäisi ottaa huomioon myös ohjelman kirjoittamiseen käytetyt resurssit. Ehkä artikkelissa näin tehtiin, en lukenut.

Lisäys: mietin asiaa minuutin ja eihän niillä kehittämisresursseilla ole mitään merkitystä siihen verrattuna että jotakin koodinpätkää ajetaan miljoonilla koneilla. Loppujen lopuksi tietotekniikan tuottavuuden kasvu hyödyttää vain ohjelmistoteollisuutta, ja loppukäyttäjä maksaa ympäristörasituksen. Toki myös ohjelmistokehittäjät joutuvat miettimään kysymystä omien järjestelmiensä osalta, esim. pilvipalvelut.
« Viimeksi muokattu: Kesäkuu 04, 2022, 11:01:53 kirjoittanut Lenny »
(Humans) are large, expensive to maintain, difficult to manage, and they pollute the environment. It is astonishing that these devices continue to be manufactured and deployed.
-- Kaufmann, Perlman, Spenciner

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #216 : Syyskuu 01, 2022, 15:05:32 »
Tein dataplotterin omalle koneelle. Liitteenä muodostettu kuva, jossa vaaka-akselilla tuoreimman Human Development Index (Dashboard 1: Quality of human development) -raportin sijoitus ja pystyakselilla tuoreimman Economic Freedom Index 2022 -raportin sijoitus.

Länsimaat oikealla ylhäällä ja kehitysmaat vasemmalla alhaalla. Eli ainakin tämän vertailun osalta kehittyneimmät maat ovat kehittyneimpiä niin ihmisten elinolosuhteiden osalta kuin taloudellisessa vapaudessa. Ei mikään ylläri. Noissa raporteissa on yhteensä niin monta featurea, että niistä saa vaaka- ja pystyriveille heitettynä muodostettua vähän vajaa 2000 kpl eri kuvaa. Mulla oli joskus vuosia sitten vastaava, mutta meni vanhan koneen kovalevyn kanssa kierrätykseen. Siinä vanhassa oli vähemmän tilastodataa, mutta mahdollisuuksia vaikuttaa minkä maiden dataa näytetään.
« Viimeksi muokattu: Syyskuu 01, 2022, 15:30:29 kirjoittanut -:)lauri »
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #217 : Syyskuu 07, 2022, 08:27:18 »
^
Nyt näyttäisi siltä, että sain myös tuon virtual DOMin koodin toimimaan tässä mun koneella. Tämä avannee uusia mahdollisuuksia. Pitää vaan keksiä käyttökohteita. Varmasti pienemmissä sovelluksissa toimiva ratkaisu, jos kohta tuo mun alkuperäinen toimii vielä pienemmissä sovelluksissa. Kuitenkin vaan sitten rohkeasti Reactia, mikäli tarvitsee isompaa systeemiä.

Nyt löysin käyttökohteen virtual domilleni. Localhost-kansioni selainpohjaisesta "explorerista". Aiemmassa versiossa ollut tapa rakentaa apista tuleva data ensiksi tekstitksi, jonka selain muuttaa html-koodiksi ei toimi tässä uudessa systeemissä, kun teksti vie enemmän muistia, kuin selain pystyy käsittelemään (voi olla että, johtui bugista, että apin datasta tekstiksi -konversiossa ei ole enkoodatu tietyjä tekstejä ja syntyi tavallaan ikuinen looppi joka täytti selaimen muistin). Niinpä pitää tekstin sijaan muuttaa data suoraan html-muotoon ilman tekstivaihetta. Tein jo toimivan version, jossa data muuttuu suoraan html-elementeiksi. Mutta siinä kaikki työvaiheet ovat yhdessä "isossa" javascript-tiedostossa onnellisesti sekaisin. Haluan kuitenkin erotella eri työvaiheet toisistaan ts. pilkkoa koodi osiin sen ylläpidettävyyden ja uudestaan käytettävyyden kanalta järkevästi. Voin siis luontevasti katsoa nyt myös tuon virtual dom -korttinikin. Olen jo aloitellut toteutusta. Siihen kuuluu ainakin seuraavat työvaiheet.

  • palautan datan yksiulotteisena listana serveriltä selaimeen
  • mukana tulee listan kunkin tietueen suhde toisiinsa id ja parent id -kombolla
  • määrittelen selaimessa tapahtumat, kuten mitä tapahtuu nappia painettaessa jne.
  • laitan tapahtumat mukaan tuohon yksiulotteiseen listaan
  • muunnan jokaisen listan tietueen muotoon, jota virtual dom ymmärtää
  • ajan yksiulotteisen listan id ja parent id arvoilla moniulotteiseksi puuhierarkiaksi, jota virtual dom ymmärtää
  • ajan puun virtual domin läpi ja listan tietueiden pitäisi olla näin näytöllä

Olen nyt suorittanut tyovaiheen 6. Tietenkään en tiedä vielä ymmärtääkö virtual dom -ratkaisuni puu-ratkaisuani, mutta pikaisella silmäilyllä vaikutti siltä, että puu muodostuu kuten pitää.

Tämä on tietenkin vasta virtual dom -idean opettelua. Duunissa voi tulla vastaan tilanteita, joissa voi olla tarvetta isommille datan käsittelyille selainpuolella, johon tuo tekstipohjainen konversio ei sovi, eikä Reactia tai muuta vastaavaa frontend-frameworkkia voi käyttää. Näitä silmällä pitäen on hyvä saattaa tää oma kevyt-versio virtual domista siihen pisteeseen, että näen ja ymmärrän kuinka sen kanssa toimitaan.

Yllä olevia työvaiheita edeltää työvaihe, jossa tilataan tiedot serveriltä (api) selaimeen. Yritän tehdä siitäkin geneeristä ja kokonan omaa koodiblokkia, jotta voin jatkossa copypeistata myös sen muihin rojekteihin. Idea on siis automatisoida mahdollisimman pitkälle se miten selain tilaa apista tiedot.
« Viimeksi muokattu: Syyskuu 07, 2022, 08:34:13 kirjoittanut -:)lauri »
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #218 : Syyskuu 07, 2022, 08:49:55 »
^
Tuli just mieleen, että olen käyttänyt teksipohjaista ratkaisuani duunissa ja yhdessä tapauksessa on tilanne se, etten kontrolloi kaikea tietoa, mitä sen läpi kulkee, tarkoittaen, että ennemmin tai myöhemin syntyy ikuisia looppeja. Epätodennäköistä kylläkin, mutta koska ei ole mahdotonta erittäin epäotodennäköisessä tilanteessa voi ongelmia ilmetä. Siinä on kuitenkin käytössä ikuisen loopin katkaisu, mutta jos onnistuu kirjoittaa satoja rivejä tesktiä ja lyö sen "ikuiseen" looppiin, voi selaimen muisi täyttyä ennen loopin katkaisua. Tosin kyse on selaimen ylälaidassa näkyvästä muistilapusta, joten kovinkaan todennäköistä ei ole, että sille kirjoitettaisiin muutamaa sanaa tai lausetta pitempiä elämäkertoja.
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #219 : Syyskuu 07, 2022, 13:18:42 »
^^
^
Pääsin työvaiheeseen 7. Worked like a charm! Nyt on koodi sen verran hyvin ilman ylimääräisiä osia, että pitää säilyttää tämä projekti tällaisena ja palata sitten tästä kopioimaan tarpeen niin vaatiessa ja räätälöidä se paremmin juuri siihen rojektiin, missä tästä olisi apua.
« Viimeksi muokattu: Syyskuu 07, 2022, 14:11:02 kirjoittanut -:)lauri »
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa -:)lauri

  • Kantapeikko
  • ****
  • Viestejä: 9084
Vs: Ohjelmointi
« Vastaus #220 : Syyskuu 22, 2022, 19:34:04 »
^
Ollu kyllä melkoista ton uuden systeemin opettelu. Tuossa oli sellainen bugi, että se ei aina osannutkaan poistaa näytöltä oikeita elementtejä. Alkuperäinen indeksiin perustuva pienimmästä suurimpaan -systeemi ei monimutkaisemmassa ympäristössä toiminut. Piti kerätä poistettavat indeksit yhteen ja sitten ajaa indeksit käänteisessä järjestyksessä. Tämän lisäksi se ei tunnistanut aina elementtiä, jonka sisältä piti käänteisen indeksin mukaan poistaa, joten piti laittaa jokaiselle tuollaiselle parent-elementille yksilöllinen id-arvo ja ottaa myös se talteen. Lopuksi sitten ottaa kyseisellä id-arvolla elementti ja poistaa sen sisältö viimeisimmästä ensimmäiseen. Nyt vaikuttaa toimivan ainakin eteen tulleissa tilanteissa. Pitää kuitenkin jatkaa applikaation kehittelyä, jotta tulee kaikki tällaiset lastentaudit esille. Samalla opettelen moduuleihin perustuvan ohjelmointitavan, jotta saa paremman vastaavuuden reaction ja vuen kanssa ts. systeemi olisi tarvittaessa muunnettavissa vain pienellä vaivalla jommallekummalle alustalle.

Tämän siitä saa kun koko frontend-ura on perustunut JQueryn käyttöön ja kun nyt sitten "ekaa kertaa" rakentaa systeemin ihan vain vanilla javascriptilla niin maailma on kyllä huomattavan erilainen. Paljon on tullut ihan uusia mielenkiintoisia juttuja eteen.
"Jokaiseen mutkikkaaseen ongelmaan on ratkaisu, joka on yksinkertainen, suora, ymmärrettävä ja väärä." - H.L. Mencken

Poissa Hayabusa

  • Kantapeikko
  • ****
  • Viestejä: 5312
  • dreamer, shaper, singer, maker
Vs: Ohjelmointi
« Vastaus #221 : Syyskuu 23, 2022, 09:25:39 »
Pääkaupunkiseudun lippujärjestelmä on koodattu mielenkiintoisella tavalla.

HSL:n it-järjestelmä taipuu kankeasti – varoittaa uhkaavasta miljoonalaskusta
Lainaus
HSL:n mukaan alv:n väliaikainen poistaminen vaatisi järjestelmämuutoksia, joiden arvioidaan kustantavan miljoona euroa. Lisäksi muutos viivästyttää käynnissä olevaa lippujärjestelmän uudistamishanketta, mikä aiheuttaisi viiden miljoonan euron lisäkustannukset.

Kenellekään ei suunnitteluvaiheessa ilmeisesti tullut mieleen, että arvonlisäverokanta saattaisi muuttua ja mahdollisesti mennä nollaan.  :(
An nescis, mi fili, quantilla prudentia mundus regatur

Poissa Hippi

  • Kantapeikko
  • ****
  • Viestejä: 8075
  • crazy cat lady
Vs: Ohjelmointi
« Vastaus #222 : Syyskuu 23, 2022, 10:41:09 »
^
Onpa aika uskomaton juttu :O

Ihan pienellä miettimisellä en keksinyt, miten yksi palikka voidaan saada tehtyä niin, että sen muuttaminen tai poistaminen käytöstä maksaisin hyvän kokoisen projektin verran.

Tosin konsulttityö on kallista ja hidasta. Muistanpa noin 10 vuoden takaa omassa duunissani tapauksen, jossa yhdessä tietokannan päivityssovelluksessa (cobol eräajo) oli virhe. Olin aikaisemmin kyseistä ohjelmaa ylläpitänyt, joten tunsin sen hyvin. Olin jo koodista etsinyt virheen paikankin valmiiksi ja korjauksena oli erään luvun poisto arvolistasta. Kun saimme meidän toteutustyön tekevästä firmasta hintalapun korjaukselle, niin kolmen merkin poistaminen, kääntäminen, linkkaaminen, testaus ja tuotantoon siirto yhteensä maksoivat 5100 euroa. Jos homma olisi edelleen ollut meillä, niin kyseessä olisi ollut parin tunnin homma päästä päähän.

Tuosta jäi kyllä niin kitkerä muisto, että varmaan hautaan asti sen muistan.
If you see your glass as half empty, pour it in a smaller glass and stop complaining. ❤️

Poissa Hiha

  • Konkari
  • ***
  • Viestejä: 772
Vs: Ohjelmointi
« Vastaus #223 : Syyskuu 23, 2022, 13:48:35 »
Pääkaupunkiseudun lippujärjestelmä on koodattu mielenkiintoisella tavalla.

HSL:n it-järjestelmä taipuu kankeasti – varoittaa uhkaavasta miljoonalaskusta
Lainaus
HSL:n mukaan alv:n väliaikainen poistaminen vaatisi järjestelmämuutoksia, joiden arvioidaan kustantavan miljoona euroa. Lisäksi muutos viivästyttää käynnissä olevaa lippujärjestelmän uudistamishanketta, mikä aiheuttaisi viiden miljoonan euron lisäkustannukset.

Kenellekään ei suunnitteluvaiheessa ilmeisesti tullut mieleen, että arvonlisäverokanta saattaisi muuttua ja mahdollisesti mennä nollaan.  :(

Todellakin kuulostaa käsittämättömältä. Siksi sen täytyy olla totta.

Ehkä tuollainen monumentaalinen epäpätevyys on kuitenkin parempi kuin toinen mahdollinen selitys. Siinä HSL valehtelee kylmästi sosialisoidakseen itselleen rahan, jolla ilmeisesti haluttaisiin tukea joukkoliikennettä yleisesti sekä pienituloisia.

”Jos matkakuluja halutaan alentaa, se on syytä tehdä suoralla valtiontuella HSL:lle.” (Pekka Sauri, HSL)

Poissa Melodious Oaf

  • Kantapeikko
  • ****
  • Viestejä: 2380
Vs: Ohjelmointi
« Vastaus #224 : Syyskuu 23, 2022, 15:36:27 »
Ilmeisesti tossa ongelma ei ole ihan se, että on joku yksi muuttuja siellä, joka on niin huonosti toteutettu että sen arvoa ei vaan saada millään muutettua a) ollenkaan tai b) niin että alv voi olla nollassa ja kaikki toimii.

Vaan siis ongelma on sen tyyppinen, että HSL:llä on tosi paljon kumppaneita, käytännössä erillisiä yhtiöitä, joilla kaikilla on omat erilliset myyntijärjestelmänsä ja niille erilaisia kanavia ja niin pois päin.

HSL:n järjestelmän taas pitää toimia niiden kaikkien erillisten järjestelmien kanssa yhteen, ja siitä tulee se ongelma, että jos alv:sta luovutaan, jonkun pitää katsoa ne ihan kaikki läpi ja varmistaa että kokonaisuus edelleen toimii.

Siis tyhmää joo, mutta ei nyt ihan niin tyhmää, että nimenomaan HSL:n järjestelmään itsessään ois koodattu alv niin typerällä tavalla että sitä ei pysty muuttamaan muuta kuin miljoonabudjetilla.