Uutiset:

Ilmoitustaulu mahdollisten ongelmien varalta (wikimedia.org / Etherpad)

Sähköpostia ylläpidolle: kantapaikanherra (at) gmail.com

Main Menu

Ohjelmointi

Aloittaja Juha, helmikuu 03, 2019, 10:01:17

« edellinen - seuraava »

0 Jäsenet ja 2 Vieraat katselee tätä aihetta.

-:)lauri

#60
Lainaus käyttäjältä: a4 - maaliskuu 06, 2020, 17:58:40
Häiriköin vielä ummikkona sen verran tätä ketjua että kysyn, perustuen elokuvasta omaksumaani faktaan jossa sodan aikaisessa kuunteluasemassa opittiin tunnistamaan vihollisen morsettajat heidän "käsialastaan" eli tavastaan morsettaa, jotta kehittyykö koodareille yksilöllinen koodaustyyli, oma tunnistettava "käsiala"?

En tietysti tiedä mutta uskoakseni kyllä. Itse koodi on kaikilla koodareilla identtistä. Tai oikeammin, kielestä riippuen on vain yksi tai ehkä vain muutama tapa kirjoittaa jokin komento. Siinä uskoakseni kuitenkin jo tulee "persoona" näkyviin, millaisilla komentojen "ryppäillä" tietyn tyyppiset keskenään samankaltaiset ongelmat yleensä ratkaisee eri projekteissa. Ongelmat voi ratkoa joko yksittäisellä komennolla tai sitten useamman komennon "ryppäillä" ja noita komentojen "ryppäitä", joilla voidaan ratkoa käytännössä mikä tahansa matemaattisesti ratkaistava ongelma, voi olla yhtä monta kuin on koodareitakin.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

-:)lauri

#61
^tietysti ohjelmoinnissa pyritään usein noudattamaan erilaisia hyväksi havaittuja yleisiä käytäntöjä kuten olio-ohjelmointia ja siinäkin design patterneja, jotka minimoivat turhan persoonallisuuden. Mutta koska yleiset käytännöt eivät aina ratkaise spesifejä ongelmia, koodareiden koodit eivät voi aina olla kuin korkeintaan yleisellä tasolla keskenään identtisiä.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

Hippi

Lainaus käyttäjältä: a4 - maaliskuu 06, 2020, 17:58:40
Häiriköin vielä ummikkona sen verran tätä ketjua että kysyn, perustuen elokuvasta omaksumaani faktaan jossa sodan aikaisessa kuunteluasemassa opittiin tunnistamaan vihollisen morsettajat heidän "käsialastaan" eli tavastaan morsettaa, jotta kehittyykö koodareille yksilöllinen koodaustyyli, oma tunnistettava "käsiala"?

Wanhaan Hywään Aikaan esimerkiksi meillä käytetty Cobol mahdollisti hyvinkin erilaisen käsalan. Omasta porukastani, jota vuosien mittaaon oli melkoisen paljonkin, tunnistin hyvin monen tekijän käsialan.

Pahimmissa tapauksissa ns. tippaleipäaivoinen koodari oli tehnyt ohjelman, joka muistutti risukasaa. Logiikkaa ja jästentelyä siitä ei tahtonut löytää, mutta jotenkin se vain toimi. Jos siinä oli virhe, joka olisi pitänyt löytää ja korjata, ja korjata vielä niin, että mikään muu ei mennyt rikki, oli tosiaan haasteellista, kuten nykyään sanotaan :D

Tunnistettavia juttuja oli mm. tapa jäsennellä ohjema,  kommentointi ja sen laatu, muuttujien nimeäminen ja sen järkevyys ja sekin, miten käytti isoja tai pieniä kirjaimia koodissa. Cobolissa ne on samanarvoisia.

Kun meiltä sitten ulkoistettiin tekninen toteutus, niin palvelufirma sitten yhdenmukaisti tuota käsialaa melkoisesti eikä aina kovin hyvään suuntaan mielestäni.

Näistä moderneimmista kielistä minulla ei ole kokemusta, joten niistä en osaa kyllä sanoa mitään.
If you see your glass as half empty, pour it in a smaller glass and stop complaining. ❤️

-:)lauri

Lainaus käyttäjältä: Eläimen kokoinen möhkäle - maaliskuu 06, 2020, 18:10:28
Lainaus käyttäjältä: Lenny - maaliskuu 06, 2020, 17:29:59
Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 04, 2020, 20:59:29
Mietin, että oisko Kantista teoriassa mahdollista toteuttaa "yhden sivun sovelluksina" niin että BBCoden tulkkaus tapautuisi selaimessa? Mikä sen estäisi? En ole pro. Jonkun tyhmän kurssin käynyt muutama vuosi sitten.

Oma kysymyksensä on myös että miten tällainen foorumi voisi toimia yhden sivun sovelluksena. Vähän kuten Facebook vai?

Tuon tyyppisestä konversiosta olisi varmaankin kyse? Ja tämän järjestelmän php-alusta ei kaiketi suoraan tue tuollaista vaihtoehtoa? Vai tarjoaako Simple Machinesin backend esim. json-rajapinnan?

Erona siis se, että siinä missä nykyisellään serveri palauttaa jokaisen kutsun yhteydessä jokaisen sivun kaiketi valmiina html-koodeina, yhden sivun aplikaatiossa serveri palauttaisi ensiksi yhden valmiin mutta geneerisen html-sivun ja sen jälkeen geneerisen sivun javascript tilaa serveriltä päivittämättä sivua esim. json-muotoisen paketin dataa, jonka perusteella geneerisen sivun html muokataan javascriptillä sen näköiseksi, kuin pitää.

Paitsi, että kaiketi javascriptillä voisi tilata tämän valmiin html-sivunkin serveriltä ja korvata sivun olemassaoleva html sillä, jolloin kyseessä olisi tavallaan myös yhden sivun applikaatio. Vaikea tosian sanoa, mitä sillä tässä tapauksessa voitettaisiin.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

Vaaraton Norsu

Lainaus käyttäjältä: Eläimen kokoinen möhkäle - maaliskuu 06, 2020, 18:10:28
Lainaus käyttäjältä: Lenny - maaliskuu 06, 2020, 17:29:59
Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 04, 2020, 20:59:29
Mietin, että oisko Kantista teoriassa mahdollista toteuttaa "yhden sivun sovelluksina" niin että BBCoden tulkkaus tapautuisi selaimessa? Mikä sen estäisi? En ole pro. Jonkun tyhmän kurssin käynyt muutama vuosi sitten.

Oma kysymyksensä on myös että miten tällainen foorumi voisi toimia yhden sivun sovelluksena. Vähän kuten Facebook vai?

Tuon tyyppisestä konversiosta olisi varmaankin kyse? Ja tämän järjestelmän php-alusta ei kaiketi suoraan tue tuollaista vaihtoehtoa? Vai tarjoaako Simple Machinesin backend esim. json-rajapinnan?

Erona siis se, että siinä missä nykyisellään serveri palauttaa jokaisen kutsun yhteydessä jokaisen sivun kaiketi valmiina html-koodeina, yhden sivun aplikaatiossa serveri palauttaisi ensiksi yhden valmiin mutta geneerisen html-sivun ja sen jälkeen geneerisen sivun javascript tilaa serveriltä päivittämättä sivua esim. json-muotoisen paketin dataa, jonka perusteella geneerisen sivun html muokataan javascriptillä sen näköiseksi, kuin pitää.

Joo, jotain tällaista. html -sivu joltain http -palvelimelta ja sit json'eita rest -apilta. Mä en oikein käytä enää Facbeookia, niin en osaa siihen ottaa kantaa. Ei siinä tarvis olla mitään tapahtumavirtaa. Se vois mahdollisesti olla jopa aika lailla saman näköinen kuin nykyinen Kantis. Vissiin vois olla vaan yks elementti, jonka sisältöä päivitettäis aina klikkausten perusteella. Tai sit osa elementeistä piilossa tai jotain, en tiedä.

Jonkun ihmeen kautta löysin jonkun vanhan selainohjelmoinnin nettikurssin. Sielläkin näköjään tehtiin chatteja, niin kuin tää tai tää. Keskustelupalstalla json'iin pitäis kai sit pakata BBCodea. Ja lisäksi pitäisi pitäisi selaimessa pyöriä kääntäjän, joka aina pyydettäessä kääntäisi BBCodet html:ksi. En osais ite tehdä tällaista. Kuvat esim. yksi ratkaisematon ongelma, että tulisko jotain cross-site -ongelmaa, jos sivulle ladattaisi kuvia eri lähteestä kuin mistä sivu itse on tullut. En tiedä, kun ei oo käytännön kokemusta.  :(

-:)lauri

#65
Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 06, 2020, 21:24:47
Lainaus käyttäjältä: Eläimen kokoinen möhkäle - maaliskuu 06, 2020, 18:10:28
Lainaus käyttäjältä: Lenny - maaliskuu 06, 2020, 17:29:59
Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 04, 2020, 20:59:29
Mietin, että oisko Kantista teoriassa mahdollista toteuttaa "yhden sivun sovelluksina" niin että BBCoden tulkkaus tapautuisi selaimessa? Mikä sen estäisi? En ole pro. Jonkun tyhmän kurssin käynyt muutama vuosi sitten.

Oma kysymyksensä on myös että miten tällainen foorumi voisi toimia yhden sivun sovelluksena. Vähän kuten Facebook vai?

Tuon tyyppisestä konversiosta olisi varmaankin kyse? Ja tämän järjestelmän php-alusta ei kaiketi suoraan tue tuollaista vaihtoehtoa? Vai tarjoaako Simple Machinesin backend esim. json-rajapinnan?

Erona siis se, että siinä missä nykyisellään serveri palauttaa jokaisen kutsun yhteydessä jokaisen sivun kaiketi valmiina html-koodeina, yhden sivun aplikaatiossa serveri palauttaisi ensiksi yhden valmiin mutta geneerisen html-sivun ja sen jälkeen geneerisen sivun javascript tilaa serveriltä päivittämättä sivua esim. json-muotoisen paketin dataa, jonka perusteella geneerisen sivun html muokataan javascriptillä sen näköiseksi, kuin pitää.

Joo, jotain tällaista. html -sivu joltain http -palvelimelta ja sit json'eita rest -apilta. Mä en oikein käytä enää Facbeookia, niin en osaa siihen ottaa kantaa. Ei siinä tarvis olla mitään tapahtumavirtaa. Se vois mahdollisesti olla jopa aika lailla saman näköinen kuin nykyinen Kantis. Vissiin vois olla vaan yks elementti, jonka sisältöä päivitettäis aina klikkausten perusteella. Tai sit osa elementeistä piilossa tai jotain, en tiedä.

Jonkun ihmeen kautta löysin jonkun vanhan selainohjelmoinnin nettikurssin. Sielläkin näköjään tehtiin chatteja, niin kuin tää tai tää. Keskustelupalstalla json'iin pitäis kai sit pakata BBCodea. Ja lisäksi pitäisi pitäisi selaimessa pyöriä kääntäjän, joka aina pyydettäessä kääntäisi BBCodet html:ksi. En osais ite tehdä tällaista. Kuvat esim. yksi ratkaisematon ongelma, että tulisko jotain cross-site -ongelmaa, jos sivulle ladattaisi kuvia eri lähteestä kuin mistä sivu itse on tullut. En tiedä, kun ei oo käytännön kokemusta.  :(

Juu, ei tuo yhden sivun applikaation formaatti tosiaan edellytä mitään reaaliaikaista feediä serveriltä selaimeen, vaan kaikki voisi toimia käyttäjäkokemuksena kuten nytkin, sitä lukuunottamatta, että sivut eivät vain joka napin painalluksena latautuisi uudestaan, vaan vain sen sisältö. Samalla luulisin, että BBC-koodin voisi varmasti lähettää backendille, joka sen kääntää ja joka palauttaa sen html-koodina olettaen, että php-kääntäjä on riittävä. Tai miksei BBC-koodia voisi kääntää myös selaimessa. Noita javascript-kirjastoja tuohon tarkoitukseen kun joka tapauksessa löytyy interwebistä. Nopealla haulla löysin ainakin yhden (joskaan en tiedä kuinka kattava tuo on).

Javascriptissä on valmis funktio (muistaakseni JSON.stringify('xxx')) joka muuttaa kaiken tekstin BBC-koodilla taikka ilman tekstiksi, jonka voi lähettää serverille ja jonka palauttaman json-tekstin voi palauttaa takaisin esim. BBC-koodiksi jos se sitä palauttaa tai missä muodossa tahansa se tekstin palauttaakin käyttäen JSON.parse('yyy') -funktiota. Tai no yleensä tuo teksti, jota tuo funktiopari ymmärtää pitää olla objektissa tai listassa. Mutta joka tapauksessa tuo tekstin tai koodin lähettely selaimen ja serverin välillä on varsin simppeliä.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

Vaaraton Norsu

Lainaus käyttäjältä: Eläimen kokoinen möhkäle - maaliskuu 06, 2020, 21:50:42
Juu, ei tuo yhden sivun applikaation formaatti tosiaan edellytä mitään reaaliaikaista feediä serveriltä selaimeen, vaan kaikki voisi toimia käyttäjäkokemuksena kuten nytkin, sitä lukuunottamatta, että sivut eivät vain joka napin painalluksena latautuisi uudestaan, vaan vain sen sisältö. Samalla luulisin, että BBC-koodin voisi varmasti lähettää backendille, joka sen kääntää ja joka palauttaa sen html-koodina olettaen, että php-kääntäjä on riittävä. Tai miksei BBC-koodia voisi kääntää myös selaimessa. Noita javascript-kirjastoja tuohon tarkoitukseen kun joka tapauksessa löytyy interwebistä. Nopealla haulla löysin ainakin yhden (joskaan en tiedä kuinka kattava tuo on).

Javascriptissä on valmis funktio (muistaakseni JSON.stringify('xxx')) joka muuttaa kaiken tekstin BBC-koodilla taikka ilman tekstiksi, jonka voi lähettää serverille ja jonka palauttaman json-tekstin voi palauttaa takaisin esim. BBC-koodiksi jos se sitä palauttaa tai missä muodossa tahansa se tekstin palauttaakin käyttäen JSON.parse('yyy') -funktiota. Tai no yleensä tuo teksti, jota tuo funktiopari ymmärtää pitää olla objektissa tai listassa. Mutta joka tapauksessa tuo tekstin tai koodin lähettely selaimen ja serverin välillä on varsin simppeliä.

Juu, noi yksityiskohdat vaikuttais selkeiltä. Tuosta linkkaamasta node.js -kirjastosta semmoinen huomio, että sen tukema BBCode ei kyllä ole ihan sama kuin tämän palstan koodi. Joitan esimerkkejä (jotka ei toimi täällä):

[b class="fancy"]text[/b]
[b class=fancy]text[/b] 
[h1]text[/h1]

Tai tässä itse asiassa kaikki kirjaston tukemat BBCodet ja niitten html -käännökset:

BBCode                                               | HTML
---------------------------------------------------- | -------------------------------------------------------------
[br]                                                 | <br>
[b]text[/b]                                          | <strong>text</strong>
[b class="fancy"]text[/b]                            | <strong class="fancy">text</strong>
[b data-value="10"]text[/b]                          | <strong data-value="10">text</strong>
[i]text[/i]                                          | <em>text</em>
[i class="fancy"]text[/i]                            | <em class="fancy">text</em>
[i data-value="10"]text[/i]                          | <em data-value="10">text</em>
[u]text[/u]                                          | <u>text</u>
[u class="fancy"]text[/u]                            | <u class="fancy">text</u>
[u data-value="10"]text[/u]                          | <u data-value="10">text</u>
[h1]text[/h1]                                        | <h1>text</h1>
[h1 class="fancy"]text[/h1]                          | <h1 class="fancy">text</h1>
[h1 data-value="10"]text[/h1]                        | <h1 data-value="10">text</h1>
[h2]text[/h2]                                        | <h2>text</h2>
[h2 class="fancy"]text[/h2]                          | <h2 class="fancy">text</h2>
[h2 data-value="10"]text[/h2]                        | <h2 data-value="10">text</h2>
[h3]text[/h3]                                        | <h3>text</h3>
[h3 class="fancy"]text[/h3]                          | <h3 class="fancy">text</h3>
[h3 data-value="10"]text[/h3]                        | <h3 data-value="10">text</h3>
[h4]text[/h4]                                        | <h4>text</h4>
[h4 class="fancy"]text[/h4]                          | <h4 class="fancy">text</h4>
[h4 data-value="10"]text[/h4]                        | <h4 data-value="10">text</h4>
[h5]text[/h5]                                        | <h5>text</h5>
[h5 class="fancy"]text[/h5]                          | <h5 class="fancy">text</h5>
[h5 data-value="10"]text[/h5]                        | <h5 data-value="10">text</h5>
[h6]text[/h6]                                        | <h6>text</h6>
[h6 class="fancy"]text[/h6]                          | <h6 class="fancy">text</h6>
[h6 data-value="10"]text[/h6]                        | <h6 data-value="10">text</h6>
[p]text[/p]                                          | <p>text</p>
[p class="fancy"]text[/p]                            | <p class="fancy">text</p>
[p data-value="10"]text[/p]                          | <p data-value="10">text</p>
[color=#FF0000]text[/color]                          | <span style="color:#FF0000">text</span>
[size=9]text[/size]                                  | <span style="font-size:9px">text</span>
[img]https://www.example.com/image.jpg[/img]         | <img src="https://www.example.com/image.jpg">
[img=https://www.example.com/image.jpg]              | <img src="https://www.example.com/image.jpg">
[email]info@example.com[/email]                      | <a href="mailto:info@example.com">info@example.com</a>
[email=info@example.com]text[/email]                 | <a href="mailto:info@example.com">text</a>
[url]https://www.example.com[/url]                   | <a href="https://www.example.com">https://www.example.com</a>
[url=alert('hello world')|onclick]text[/url]         | <a onclick="alert('hello world')">text</a>
[url=https://www.example.com target=_base]text[/url] | <a href="https://www.example.com" target="_base">text</a>
[url=https://www.example.com]text[/url]              | <a href="https://www.example.com">text</a>
[a=anker]text[/a]                                    | <a href="#anker" name="anker">text</a>
[list]text[/list]                                    | <ul>text</ul>
[*]text[/*]                                          | <li>text</li>

https://www.npmjs.com/package/js-bbcode-parser

Tai siis vielä kerran "tai", että on tossa paljon tuttujakin, mutta ainakin "quote" taitaa puuttua, joka on aika tärkeä.

-:)lauri

#67
Joo tuo on kyllä hyvä huomio. Lainaus on kieltämättä yksi keskeisimmistä toiminnoista, jonka pitäisi minimissään onnistua, enkä suoraan sanottuna tiedä kuinka se on tässä simple machinesissa tehty. Tuossa javascript-kirjatossa oli kuitenkin ohjeet kuinka kirjoittaa noita koodi-konversioita itse. Ehkä simple machines toteuttaa lainauksen parseroinnin myös regexillä kuten tämä javascript kirjastokin, joten sen voisi kaiketi copypeistata sieltä tuohon javascript-kirjaston koodiin. Ja se tuskin on suuri haitta, jos softa tukisi sellaisiakin bbc-ish -koodeja, joita simple machines ei tue?

Eli tuolla oli tällainen malli kuinka bbc- "rivin vaihto" -koodi muutetaan html- "rivin vaihto" -koodiksi:
import bbCodeParser from 'js-bbcode-parser';

const parser = bbCodeParser.create({
    '\\[br\\]': '<br>'
});
console.log(parser.parse('This is a text[br]with HTML Break.'));
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

Lenny

#68
Lainaus käyttäjältä: Eläimen kokoinen möhkäle - maaliskuu 06, 2020, 18:10:28
Lainaus käyttäjältä: Lenny - maaliskuu 06, 2020, 17:29:59
Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 04, 2020, 20:59:29
Mietin, että oisko Kantista teoriassa mahdollista toteuttaa "yhden sivun sovelluksina" niin että BBCoden tulkkaus tapautuisi selaimessa? Mikä sen estäisi? En ole pro. Jonkun tyhmän kurssin käynyt muutama vuosi sitten.

Oma kysymyksensä on myös että miten tällainen foorumi voisi toimia yhden sivun sovelluksena. Vähän kuten Facebook vai?

Tuon tyyppisestä konversiosta olisi varmaankin kyse? Ja tämän järjestelmän php-alusta ei kaiketi suoraan tue tuollaista vaihtoehtoa? Vai tarjoaako Simple Machinesin backend esim. json-rajapinnan?

Erona siis se, että siinä missä nykyisellään serveri palauttaa jokaisen kutsun yhteydessä jokaisen sivun kaiketi valmiina html-koodeina, yhden sivun aplikaatiossa serveri palauttaisi ensiksi yhden valmiin mutta geneerisen html-sivun ja sen jälkeen geneerisen sivun javascript tilaa serveriltä päivittämättä sivua esim. json-muotoisen paketin dataa, jonka perusteella geneerisen sivun html muokataan javascriptillä sen näköiseksi, kuin pitää.

Totta kai php:lla voi tehdä sellaisen sivun, mutta SMF ei toimi sillä tavalla. SMF on niin vanha softa, että ei ensimmäisten versioiden aikana koko konseptia edes ollut olemassa.

Kävin vain miettimään, että minkälainen foorumi olisi toiminnallisesti "yhden sivun palveluna". Siis käyttäjän näkökulmasta. En oikein keksi mitä etua sellaisesta olisi toiminnallisesti.

Tällainen keskustelufoorumi on käytännössä yhtä kuin tietokanta, jota kysellään kevyen web-käyttöliittymän avulla. Viestilistaus haetaan kannasta. Viesti haetaan kannasta. Viesti kirjoitetaan ja lisätään kantaan, ja niin edelleen. Kaikki hyvin staattisia toimintoja, joihin ei tarvita mitään reaaliaikaisesti päivittyvää taustasivua.

Tietoturvaan vakavasti suhtautuvalle tällainen staattinen sivu on myös kiva, koska voi vaikka ottaa javascriptin kokonaan pois päältä. Tämä foorumi toimii oikein hyvin ilmankin.

On tästä SMF:n staattisuudesta myös haittapuolia. Esimerkiksi vaikka plugarit kuten tuo etusivun chat toimisi paljon järkevämmin "yhden sivun sovelluksena".

Lainsäädäntö ennen luontoa (Immanuel Kant)

Vaaraton Norsu

#69
Lainaus käyttäjältä: Eläimen kokoinen möhkäle - maaliskuu 06, 2020, 23:35:02
Joo tuo on kyllä hyvä huomio. Lainaus on kieltämättä yksi keskeisimmistä toiminnoista, jonka pitäisi minimissään onnistua, enkä suoraan sanottuna tiedä kuinka se on tässä simple machinesissa tehty. Tuossa javascript-kirjatossa oli kuitenkin ohjeet kuinka kirjoittaa noita koodi-konversioita itse. Ehkä simple machines toteuttaa lainauksen parseroinnin myös regexillä kuten tämä javascript kirjastokin, joten sen voisi kaiketi copypeistata sieltä tuohon javascript-kirjaston koodiin. Ja se tuskin on suuri haitta, jos softa tukisi sellaisiakin bbc-ish -koodeja, joita simple machines ei tue?

Eli tuolla oli tällainen malli kuinka bbc- "rivin vaihto" -koodi muutetaan html- "rivin vaihto" -koodiksi:
import bbCodeParser from 'js-bbcode-parser';

const parser = bbCodeParser.create({
    '\\[br\\]': '<br>'
});
console.log(parser.parse('This is a text[br]with HTML Break.'));


Jep. kun oon puhunut BBCode -kääntäjästä, en oo vissiin miettinyt, miten yksinkertainen "markup langeuage" tms. BBCode on. Kääntäjät ja tulkit ohjelmointikielille on legendaarisen vaikeita kirjoittaa. Ite oon semmoisen kirjoittamisessa opiskelukontekstissa kerran aika surkeasti epäonnistunut (vaikka kurssista sentään läpi pääsinkin). BBCodessa tägit voi tosiaan kääntää yksitellen, ihan vaan säännöllisillä lausekkella, ja jos esim. tägipareja puuttuu, tulee vaan oudon näköistä html:ää, jollaista sisltävät viestit Edward sit poistaa.  ::)

EDIT. Tai ei hän niitä quote tägejä nyt voi ihan yksitellen sentään kääntää html:ksi. Tai riippuu varmaan vaikka mistä, että voiko. Mitä selain tekee, jos sille tulee vastaan avattu tägi, jota ei koskaan suljeta? Vähänkö sekoilen tässä ketjussa, huh!

Vaaraton Norsu

^^ Niin joo, vois kuvitella tilanteen, jossa käyttäjäkunta kasvaisi hirveesti ja palvelin rupeaisi BBCodea kääntäessään nikottelemaan. Ilmeisesti varsin epätodennäköinen skenaario. Sit yhden sivun keskustelupalsta skaalautus edullisemmin. Seuraava kasvun raja ois kenties LAMPin M, eli MySQL. Pystyiskö johonkin ei-relationaaliseen tietokantaan sit tallentamaan paremmin json'eita kuin sitä, mitä SMF MySQL -tietokantaansa nykyisin tallentaa? Nyt on tunne, että oon vähän ylikierroksilla.

Lenny

Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 07, 2020, 08:27:00
^^ Niin joo, vois kuvitella tilanteen, jossa käyttäjäkunta kasvaisi hirveesti ja palvelin rupeaisi BBCodea kääntäessään nikottelemaan. Ilmeisesti varsin epätodennäköinen skenaario. Sit yhden sivun keskustelupalsta skaalautus edullisemmin. Seuraava kasvun raja ois kenties LAMPin M, eli MySQL. Pystyiskö johonkin ei-relationaaliseen tietokantaan sit tallentamaan paremmin json'eita kuin sitä, mitä SMF MySQL -tietokantaansa nykyisin tallentaa? Nyt on tunne, että oon vähän ylikierroksilla.

Tuo on totta, että joku Facebookin kaltainen palvelu on käytännössä pakko toteuttaa asiakavetoisesti, eli iso osa prosessoinnista tapahtuu selaimessa. Pääasiallinen motivaatio tällaisella "yhden sivun palvelulla" ei kuitenkaan ole minun nähdäkseni tekninen, vaan käyttöliittymä. Nämä palveluthan ovat luonteeltaan tällaisia "striimejä", jossa sivulle tipahtelee dataa reaaliaikaisesti. Ne ovat siis ikään kuin videoita, siinä missä tällainen staattinen foorumi on kuva. Täysin erilainen paradigma, johon tarvitaan myös toisenlaiset työkalut. Edelleen en näe miksi staattinen foorumi tarvitsee tällaista dynaamista striimausta.

Maailmalla on kyllä aika massiivisia SMF-saitteja, joissa ei ole mitään skaalautumisongelmia.
Lainsäädäntö ennen luontoa (Immanuel Kant)

Juha

Lainaus käyttäjältä: Vaaraton Norsu - maaliskuu 04, 2020, 20:59:29Ehkä tää sopis tänne. Oon vaan tätä miettinyt, kun kirjoittaessani tälle palstalle aika usein klikkaan "Esikatselu." Sivun javascript -koodeissa (ks. mm. otteet alla) ei taida olla BBCode -tulkkia, joka esikatselun generoisi? Sen sijaan BBCoden kääntänee html:ksi Kantiksen palvelimen PHP -koodi. Mikä tuntuu vähän haaskaukselta palvelimen resurssien kannalta. (Ja mikä on joskus hidastakin, vaikkei siitä haittaa olekaan.)

Samaa mieltä. Näissä on ideoinnin paikkaa. Toisaalta ...

Palvelinpuolella toimii tavanomaisempi koodauskieli. Mitä javascript oikeastaan on, tuohon nähden? Onko koodaus, ja sen rakentamismahdollisuutta oikeasti harkittu harkittu selainympäristöön?

Itse niin vähän käyttänyt javascriptiä, ja sitäkin aikoja sitten, että en osaa sanoa mitään.

Vaaraton Norsu

#73
Mielenkiintoinen ohjelmointilinkki, joka antaa vastauksena json -tiedoston. Joka klikkauksella erilaisen. Takana kai jonkinlainen REST api.

http://api.icndb.com/jokes/random?firstName=Vaaraton&lastName=Norsu

Sopisi hyvin yhden sivun sovelluksen yhdeksi elementiksi.

EDIT. Linkki: http://www.icndb.com/

Vaaraton Norsu

Tänne voi lähettää jsonin, ja saada vaihdossa muokatun version siitä:

https://www.yodaspeak.co.uk/

Siihen vaan tarvitsee luoda käyttäjätili.

Esimerkki: Haetaan edellisen viestin linkistä vitsi...

Vaaraton Norsu does not follow fashion trends, they follow him. But then he turns around and kicks their ass. Nobody follows Vaaraton Norsu.

Sitten syötetään tän ketjun linkkiin ja saadaan...

Vaaraton norsu follows not fashion trends, him, they follow him. But he turns around and kicks their ass then.  Nobody follows vaaraton norsu.

Äh joo, tein tämmöisen yrityksenä huvittaa veljenpoikaa, ja siinä oli jotain vaikeuksia cross-site scripting -rajoitusten kanssa.

Japanese rendition of vaaraton norsu's first visit to tokyo, godzilla is.