Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointiputka: Koodivinkit

Sivun loppuun

Paratiisin poika [29.11.2010 18:30:54]

#

Lähetin erään koodivinkin. Alan miettiä, että miksei sitä julkaista. Onko se tarpeeton tai toimimaton tai jotain? Epävarmuus pelottaa. Jos kodi hhylätään, tuleeko siitä jokin ilmoitus jonnekin? Kertokaa minulle. En kestä tietämättömyyttä tästä enään.

Ehkä vähän liioittelin mutta kuitenkin...

ankzilla [29.11.2010 18:41:21]

#

Jos koodivinkki vilisee kirjoitusvirheitä tai sitä ei katsota hyödylliseksi, se ei pääse läpi.

Koodivinkkeihin pääsee suhteessa yhtä moni vinkki läpi kuin valitukset KKO:een.

Metabolix [29.11.2010 18:47:04]

#

Paratiisin poika kirjoitti:

Onko se tarpeeton tai toimimaton tai jotain?

On. En keksi tähän hätään vinkistäsi mitään hyvää sanottavaa: koodi on rumaa, HTML-puoli on aivan hakusessa, muutenkin toteutus on surkea, ja kaiken kukkuraksi vinkistä puuttuu täysin selostus siitä, miten koodi toimii ja mitä siitä olisi tarkoitus oppia.

Hyvän vinkin kirjoittamiseksi pitäisi sekä osata asia aika perusteellisesti että osata vielä kirjoittaakin hyvin. Kannattaa siis ihan oikeasti olla lähettämättä yhtäkään vinkkiä sellaisista aiheista, joista joutuu yhä kyselemään foorumilla apua.

Paratiisin poika kirjoitti:

Jos kodi hhylätään, tuleeko siitä jokin ilmoitus jonnekin?

Ei. Hylättyjä koodeja ei muutenkaan merkitä; on vain julkaistut ja julkaisemattomat.

Tänä vuonna on lähetetty alle 40 vinkkiä, ja niistä useimmat ovat olleet tasoltaan kehnoja. Keksiikö joku hyviä ehdotuksia koodivinkkien määrän ja etenkin laadun parantamiseen?

Paratiisin poika [29.11.2010 19:04:57]

#

Laadun vaatumustaso voisi laskeutua. Määrän nousta. :D Korjaan koodini nyt.

Edit: Koodihan oli jo valmiiksi minun toimestani rivitetty ja muuta. Lisäsin selitteet ja hieman rivitin lisää. Sitäpaitsi html koodi oli niin hienoa kuin vain minä voin tehdä ulkomuistista. Mielestäni täydellinen kunnes toisin todistetaan. :(

Edit: Saisiko tuonne muuten mahdollisuuden siihen, että koodien väritys olisi käytössä?

Macro [29.11.2010 20:13:51]

#

Metabolix kirjoitti:

Keksiikö joku hyviä ehdotuksia koodivinkkien määrän ja etenkin laadun parantamiseen?

Palkkio julkaistuista koodivinkeistä. Huonolaatuisista miinuspisteitä. Kiristys tepsii aina.

Paratiisin poika: Ei se rivitys tee koodista mitenkään toimivampaa tai laadukkaampaa, sitä vaan on helpompi lukea jos se on oikein rivitetty. Lisäksi tekovaiheessa on helpompi huomata puuttuvat merkit, kuten aaltosulkeet.
Sille asialle ei me muut voida taas tehdä mitään, jos sinun muistisi ei muista miten tehdään toimivaan koodia.

Paratiisin poika [29.11.2010 20:57:54]

#

hmm.. koodi kyllä toimii. Testasin sitä. Mikä ihme siinä on vielä vikana?

Jokotai [29.11.2010 21:51:41]

#

Macro> Mikä olisisi sopiva palkkio?
Paratiisin poika> Koodivinkkien on tarkoitus olla vinkkejä, esimerkillisiä kappaleita koodia, ei läjä koodia, jos joku joskus puuhastelis saman tyyppistä.

Metabolix [29.11.2010 22:55:59]

#

Jokotai osui suunnilleen oikeaan. Koodivinkkien on tarkoitus olla joko laadukkaita, käyttövalmiita ja varmatoimisia pikku komponentteja tai pieniä mutta hyviä oppaita jostain lyhyestä aiheesta.

Leikitäänpä, että on tarkoitus kirjoittaa vinkki PHP:n if-lauseesta ja käyttää esimerkkikoodissa yhtä GET-parametria. Tässä on hieman karrikoitu esimerkki siitä, miten hyvä ja huono vinkki eroavat toisistaan.

Hyvä vinkki kirjoitti:

Usein on hyödyllistä, että PHP-skripti tekee eri asioita sen mukaan, millaisia arvoja muuttujilla on. Tätä varten PHP:ssä on if-lause. Seuraava esimerkkilause tarkistaa, onko käyttäjä syöttänyt sivulle GET-parametrin n eli onko osoite esimerkiksi index.php?n=1. Jos näin on, skripti tulostaa "Heippa!"; muuten skripti ei tulosta mitään.

<?php
// if-lauseessa on ensin if, sitten suluissa ehto ja lopuksi
// aaltosuluissa koodi, joka suoritetaan, jos ehto on tosi.
if (isset($_GET["n"])) {
  echo "Heippa!";
}

Huono vinkki kirjoitti:

koodasuin t'äm,möesn jutun l0l :D

<?
/*
täs o if lause */
  if  ( $n=="1"){
echo "moi"; // tulosta (echota) moi
}

ainii, pitää laittaa registergloblas päälle että toimii

Oma vinkkisi muistuttaa näistä enemmän jälkimmäistä.

Paratiisin poika kirjoitti:

Mikä ihme siinä on vielä vikana?

Se on edelleenkin huonosti kirjoitettu. Siinä on mm. seuraavia käytännön ongelmia:

Lisäksi ongelmana on, että et kerro AJAXin käytöstä mitään, ja vinkistä näkee, ettet itsekään ymmärrä asiaa kovin hyvin. Toinen ongelma on, että koko koodin rakenne on lyhytnäköisesti ja purkkamaisesti suunniteltu. Mitä järkeä on esimerkiksi lähettää lomake paluupostina uudestaan käyttäjälle?

Kaikki nämä virheet pystyin toteamaan pikaisella vilkaisulla edes kokeilematta koodia. Mitähän sieltä vielä löytyisi, jos tarkemmin katsoisi?

Paratiisin poika kirjoitti:

Saisiko tuonne muuten mahdollisuuden siihen, että koodien väritys olisi käytössä?

Voit tyhjentää listaukset ja kirjoittaa koodit kuvauksen sekaan tavallisilla kooditageilla. (Erilliset listauslaatikot onkin jossain vaiheessa tarkoitus poistaa.)

Paratiisin poika [30.11.2010 06:48:25]

#

ööööööööööööööööö... yhyy. Korjaan sen. Ja tuota editoimaolla saisi vaikka mitä jännää juttua tehtyö.

edit: https://www.ohjelmointiputka.net/koodivinkit/23426-php-lukujärjestys-generaattori Onko tässä selitteitä? ei edes <?php tageja vaan <? tagit vaan. Ei toimi kaikilla palvelimilla... >:(

Koodivinkki ei edes toimi. Ihan tyhmää. Tarvii ne jotku global paskat laittaa. (anteeksi kirjoilu. herätyskello soi enkä voi laittaa kiinni ku ei oo mun bvkdjf)

jalski [30.11.2010 07:59:54]

#

Ihan vaan mielenkiinnosta, mikä muuten tässä lähettämässäni koodivinkissäni on ollut vikana?

Blaze [30.11.2010 08:45:50]

#

Paratiisin poika kirjoitti:

Onko tässä selitteitä? ei edes <?php tageja vaan <? tagit vaan. Ei toimi kaikilla palvelimilla... >:(

Kantsii myös huomata, että se on kaheksan vuotta vanha ja 33. koskaan tänne lähetetty vinkki. Tuolloin rima oli pikkusen eri korkeudella. Se, että moiset pitäis siivota pois kannasta, on toki kelvollinen mielipide, kunhan tarjoan näkökulmaa, miksi se on alunperin julkaistu. Vuonna 2002.

tuutti [30.11.2010 13:42:10]

#

jalski kirjoitti:

Ihan vaan mielenkiinnosta, mikä muuten tässä lähettämässäni koodivinkissäni on ollut vikana?

Voisin veikata, että koodiVINKKI ilman yhtään kommenttia voi olla aika tyhjä arpa.

Paratiisin poika [30.11.2010 14:17:57]

#

Toimivat koodit joista saa selvää ja joissa on kommentteja ja joista voi olla hyötyä niin pitäisi julkaista mielestäni. Sitäpaitsi js koodeja on varsin vähän :(

jalski [30.11.2010 14:54:32]

#

tuutti kirjoitti:

Voisin veikata, että koodiVINKKI ilman yhtään kommenttia voi olla aika tyhjä arpa.

Kyllä tuossa koodivinkissäni kommentteja on aivan riittävästi, jotta siitä selvän saa.

Koko koodivinkin pelihän koostuu vain neljästä osasta:

-kenttäparseri: kenttien lataaminen tekstitedostosta globaaliin levels tauluun

-kenttäluokka: InitLevel() luo tämän lennosta haluttua kenttää varten. Tämä on käytännössä vain metodeilla varustettu taulu.

-näppäin tapahtumien käsittely

-pelin käyttöliittymän yläpalkin nappula tapahtumien käsittely

Metabolix [30.11.2010 15:29:04]

#

jalski kirjoitti:

Kyllä tuossa koodivinkissäni kommentteja on aivan riittävästi, jotta siitä selvän saa.

Olisiko sinusta esimerkiksi C++-matopeliopas ollut yhtä hyvä julkaista ilman opastekstiä pelkkänä valmiina koodina (tietenkin ilman kommentteja)? Yhtä helppo sitäkin olisi ymmärtää.

Jos ei etukäteen ymmärrä (tai osaa itse päätellä) pelinteon periaatteita, ei varmaan ymmärrä niitä vinkistäsikään. Jos taas tuosta saa selvän, osaa varmasti tehdä itsekin samanlaisen. Tällöin koodin anti voitaisiin tiivistää paljon selvemmin parillekymmenelle riville eli Hollywoodin keskeisten komentojen esittelyksi.

Macro [30.11.2010 15:38:13]

#

Metabolix kirjoitti:

Olisiko sinusta esimerkiksi C++-matopeliopas ollut yhtä hyvä julkaista ilman opastekstiä pelkkänä valmiina koodina (tietenkin ilman kommentteja)? Yhtä helppo sitäkin olisi ymmärtää.

Riippuu tietenkin lukijasta. Sinä, ja moni muukin varmasti ymmärtäisi idean ilman mitään pahempia selityksiäkään. Kommentointi ja asioiden selitys kyllä tietenkin auttaa aloittelijaa ymmärtämään asian paremmin. Joitan asioita ei välttämättä tarvitse selittää, jos esimerkiksi funktion nimi kertoo jo mitä se tekee.

jalski [30.11.2010 16:06:22]

#

Metabolix kirjoitti:

Olisiko sinusta esimerkiksi C++-matopeliopas ollut yhtä hyvä julkaista ilman opastekstiä pelkkänä valmiina koodina (tietenkin ilman kommentteja)? Yhtä helppo sitäkin olisi ymmärtää.

Tuohan ei kuitenkaan ole varsinaisesti opas, vaan koodivinkki. Toisekseen tuossa koodivinkissäni on kyllä jokunen kommentti, joissa kerrotaan mitä toteutetaan tai tehdään.

Luulenkin, että ainoa asia mikä tuossa koodivinkissä voi aloittelijaa hämätä tai askarruttaa on taulujen (table) toiminta Hollywoodissa. Näiden toiminta on siis aivan Lua:n taulujen toimintaa vastaava.

Hollywoodin keskeisiä komentoja ja syntaksia taas on mielestäni aika turha esitellä, koska mukana on kattava eri osa-alueisiin jaoteltu dokumentaatio.

Ja kyllä, mielestäni pelkkä koodikin voi olla opettavainen ja hyödyllinen oppimisen kannalta.

ville-v [30.11.2010 18:43:34]

#

Paratiisin poika kirjoitti:

Toimivat koodit joista saa selvää ja joissa on kommentteja ja joista voi olla hyötyä niin pitäisi julkaista mielestäni. Sitäpaitsi js koodeja on varsin vähän :(

Mielestäni koodivinkkisi ei ole js-koodi vaan php-koodi. Se on käytännössä sama kuin http://daniel.lorch.cc/docs/ajax_simple/ (esimerkki 2) ja sen lisäksi siihen kuuluu jonkin verran PHP:tä. Vastaavia PHP-toteutuksia löytyy jo koodivinkeistä, joten koodivinkistäsi ei ole mitään hyötyä.

Paratiisin poika [30.11.2010 18:46:33]

#

Se on AJAX koodivinkki. Sen voisi laittaa js kategoriaan. Pliis julkaiskaa se. Mistä edes löytyy nuo koodivinkit joita ei olla julkaistu?

Merri [30.11.2010 20:37:01]

#

Yksi tapa lähteä kehittämään koodivinkkejä olisi vaikkapa ottaa jokin kuukausittainen aihealue, pienempi tai laajempi, johon pyydetään koodivinkkejä. Vaikkei mitään varsinaista palkkiota olekaan, niin joku aina saattaa saada inspiraation kirjoittaa vinkin sopivan aiheen osuessa kohdalleen.

Sen sijaan että meininki olisi tätä: "lähetä koodivinkki ihan mistä vaan ja me julkaistaan se jos se on hyvä!" -> "öööö... hmm..."

Niin siitä tulisi edes tämmöistä: "lähetä PHP:n muuttujien tietoturvallista käsittelyä koskeva koodivinkki!" -> "hmm, okei" (tai) "höh, en osaa PHP:ta, mutta voin varmaan lähettää Perl-/ASP-/JSP-vinkin..."

Tai jotain sinne päin.

Latska [30.11.2010 20:47:22]

#

Määrä vastaan laatu, halutaanko, että vinkkejä on paljon vai että niistä on paljon hyötyä? Yksi todella hyvä vinkki vastaa monta pienempää vinkkiä, koska melko usein niissä pääasian lisäksi käsitellään myös muita vähän pienempiä asioita.

Ja tuon varhaisen vinkin suhtauttaminen nykytasoon on siltäkin kantilta vaikeaa, että 2002 täällä kaiketi oli vuositavoite: yksi vinkki jokaiselle vuoden päivälle.

Macro [30.11.2010 20:56:20]

#

Paratiisin poika: Miksi korvaan ääkköset entiteeteillä? Ne toimivat ihan oikein kun kirjoitat ne vain normaalina merkkeinä, jos sivun merkistökoodaukset vastaavat toisiaan (millä merkistöllä editori on sen tallentanut = mitä headereissa lukee).

Merri [30.11.2010 21:16:36]

#

Latska: tällä hetkellä tilanne on vaan se, että tavoite näyttää olevan yksi vinkki per vuosi :D

Monikaan ei halua laittaa mitään, jos vaaditaan jokseenkin ilmassa leijuvaa laatua. Julkaisematta jätetyistä vinkeistä ei taideta edes laittaa minkäänlaista syytä takaisin vinkin kirjoittajan suuntaan? Käytännössä siis jää sellainen "ei minulta kuitenkaan mitään haluta" -fiilis parin kerran jälkeen, kun ei saa tietää miksi vinkki on jäänyt julkaisematta.

Nykyään koodivinkeillä ei ole edes minkäänlaista näkyvyyttä, eli systeemiä ei ole edes yritetty saada enää toimimaan.

Yksi sivuidea vielä tähän lopuksi: jo julkaistuista vinkeistä voisi joka kuukausi napata jonkin vinkin esille, esim. erityisen hyvin toteutettu koodivinkki. Ylläpidon toimestahan tämä tarkoittaisi ehkä noin kerran vuodessa nähtävää vaivaa, eli käydään lävitse koodivinkkejä ja napataan sieltä 12, kirjoitetaan lyhyt perustelu ja annetaan julkaisusysteemin hoitaa loput. Toki systeemi pitäisi kirjoittaa, mutta se nyt onnistuisi jo ihan tekstitiedostosta ja parilla rivillä koodia.

Laitinen [01.12.2010 03:33:34]

#

En ymmärrä miksi kukaan haluaisi lukea koodivinkkiä, jonka koodi on huolimattomasti kasaan hutiloitua, eikä tätä hutilointia ole edes kompensoitu hyvällä kommentoinnilla siitä, mitä oikeastaan ollaan tekemässä. Mielestäni koodivinkkailun ei ole tarkoitus olla vain huvittelua koodivinkin tekijälle, vaan koodivinkin pitäisi oikeasti olla koodia, josta voi katsoa, miten tietty asia pitäisi tehdä.

Paratiisin poika [01.12.2010 07:20:17]

#

asdf korjaaan äåö merkit.

Jokotai [01.12.2010 21:34:25]

#

Et tainnut ymmärtää. Vika ei ole vain koodin asettelussa, vaan koodissa jo itsessään. Moni koodi päältä kaunis...

Grez [01.12.2010 22:21:55]

#

Mun mielestä tossa Paratiisin pojan Ajax-vinkissä on ihan liikaa turhia ja outoja kommentteja. Siis mitä järkeä on esimerkiksi tämän rivin kommentissa:

var tunnus = document.form.username.value; //mitä tunnus inputissa lukee?

Kommenttien määrä ei mielestäni ole itseisarvo. Tuon kommentin asian saa aivan riittävän hyvin tuotua esille järkevällä muuttujien nimeämisellä (kuten tuossa onkin).


Myöskin pitkät kommentit joissa selitetään jotain asiaa ristiriitaisesti ovat aika outoja:

lainaus:

Ne eivät kuitenkaan näy osoiterivissä tai muuallakaan. Tosin jossain tapauksessa (kunnon käytössä) saattaa näyttää osoiterivillä tunnuksen ja salasanan.

Osaisiko joku kertoa mitä tuossa oikeastaan sanottiin?


Lisäksi tämä näyttää minun silmään jokseenkin koomiselta:

<form name="form"> <!-- Tähän ei tarvitse määrittää minne tieto lähtee, koska se haetaan scriptissä. -->

action on kuitenkin tietääkseni pakollinen parametri form-tagille.

Paratiisin poika [02.12.2010 08:41:00]

#

öööööööh. Noniin. Tuo on hieman kuin opas koodivinkkinä. Tuo selite form juttuunmeinaa sitä, että se kommentti selittää jkoodin lukijalle että miksi siihen ei tarvitse laittaa että minne koodi menee yms. Helppoqa kun osaa. Ja tuo koodihan toimii?

Grez [02.12.2010 09:22:38]

#

Se että joku toimii, ei tarkoita että se olisi oikein. Siis lähinnä meinasin tuota, että jos/kun tuo ylipäätään toimii, niin se johtuu siitä että selain määrittää lähetyksen kohteeksi sen saman sivun. Eli käytännössä korjaa sivun tekijän virheen lisäämällä action="" tms. Eli tuo ei ole validia HTML:ää, vaikka useat selaimet sen kuitenkin ymmärtävät.

Eli lähinnä tarkoitin, että huvittavaa kun on tehty epävalidia html:ää ja sitten ikään kuin kommentissa annettu tekosyy moiseen järjettömyyteen.

Paratiisin poika [02.12.2010 15:14:54]

#

yhyy. Luovutan. I Give up. Yhyy

Grez [02.12.2010 16:02:38]

#

No eipä tuossa kannata nyyhkiä noin pienestä asiasta.

Jos taas tarkoitit muutakin kuin sitä action-parametria, niin ihan väärä lähestymistapa. Palautteesta kannattaa ennemmin ottaa opiksi tai jos tuntuu että se on perusteetonta niin keskustella asiasta.

Paratiisin poika [02.12.2010 16:54:41]

#

En tajua. Mikä siinä action parametrissä on niin tärkeää? Lisään sen nyt tuonne kuiteskin

Macro [02.12.2010 20:49:01]

#

Paratiisin poika kirjoitti:

En tajua. Mikä siinä action parametrissä on niin tärkeää? Lisään sen nyt tuonne kuiteskin

Mitä tapahtuu kirjeelle, jollet laita siihen osoitetta?

Triton [02.12.2010 20:56:29]

#

Muistaakseni myös jossain sanottiin, ettei action-parametriä saa jättää tyhjäksi, joten jos lomakkeen tietoja ei tarvitse lähettää minnekkään muulle sivulle, niin silloin sen arvoksi voi pistää #-merkin.

Grez [02.12.2010 21:15:20]

#

Macro kirjoitti:

Mitä tapahtuu kirjeelle, jollet laita siihen osoitetta?

Sikäli huono vertaus, että tässä tapauksessa kirjettä ei ole tarkoitus lähettää minnekään, vaan sen sisältö otetaan itse pois sieltä. Siltä kannalta tuo Paratiisin pojan lähestymistapa on ihan järkevä.

Ainoa syy miksi se on huono lähestymistapa on se, että action on määritelty pakolliseksi. Vähän niin kuin vaikka avaisi jonkin tagin ja jättäisi sen sulkematta. Kyllähän useimmat selaimet osaavat sen näyttää, mutta se ei ole hyvää eikä validia html:ää.

Triton kirjoitti:

Muistaakseni myös jossain sanottiin, ettei action-parametriä saa jättää tyhjäksi

Html-speksi ei mielestäni ota tähän kantaa. Itsekin muistelen että jokin selain olisi bugittanut lähetyksessä, jos se on ihan tyhjä, mutta tässä tapauksessa sillä ei ole merkitystä, koska osoitetta ei käytetä mihinkään.

Toisaalta voisihan tuossa olla järkevä osoitekin ja buttonin tilalle submit jossa onclickissä palautettaisiin false jos pyyntö pystytään tekemään Ajaxilla. Tällöin kirjautuminen toimisi samalla vaivalla ajaxia tukemattomissakin selaimissa tai jos javascript on jostain syystä pois päältä.

Blaze [02.12.2010 22:40:51]

#

Grez kirjoitti:

Triton kirjoitti:

Muistaakseni myös jossain sanottiin, ettei action-parametriä saa jättää tyhjäksi

Html-speksi ei mielestäni ota tähän kantaa.

"User agent behavior for a value other than an HTTP URI is undefined." Eli selainta ei voi syyttää, jos jotain tapahtuu/ei tapahdu.

Grez kirjoitti:

Toisaalta voisihan tuossa olla järkevä osoitekin ja buttonin tilalle submit jossa onclickissä palautettaisiin false jos pyyntö pystytään tekemään Ajaxilla. Tällöin kirjautuminen toimisi samalla vaivalla ajaxia tukemattomissakin selaimissa tai jos javascript on jostain syystä pois päältä.

Näinhän se juurikin pitäisi tehdä, yksi naula lisää vinkin arkkuun.

Grez [02.12.2010 23:01:06]

#

Blaze kirjoitti:

"User agent behavior for a value other than an HTTP URI is undefined." Eli selainta ei voi syyttää, jos jotain tapahtuu/ei tapahdu.

Miten "" on vähemmän HTTP URI kuin "#"? Eihän # edes varsinaisesti ole osa URIa. Kumpikin on nähdäkseni sama suhteellinen URI ja toisessa on lisäksi fragment osio (#) ja toisessa ei.

Paratiisin poika [02.12.2010 23:01:19]

#

https://www.ohjelmointiputka.net/koodivinkit/24741-javascript-yksinkertainen-ajax-sisäänkirjautumissysteemi

Grez [02.12.2010 23:03:03]

#

action="get" ?

No ei kai siinä mitään. Jotenkin vaan tulee fiilis, että on mennyt sekaisin method ja action.

temu92 [03.12.2010 00:09:28]

#

Jos kerta sivua ei ole tarkoitus lähettää edes mihkään/JS:llä hoidetaan syötteet, miksi siinä pitää edes olla form?

Merri [03.12.2010 09:00:58]

#

JavaScript-tuen ollessa pois käytöstä on hyvä olla jokin sitä vaatimaton mekanismi. Eli lomakkeella tulisi voida kirjautua silloinkin kun JS puuttuu.

The Alchemist [03.12.2010 11:05:32]

#

Paratiisin poika kirjoitti:

Sitäpaitsi html koodi oli niin hienoa kuin vain minä voin tehdä ulkomuistista.

Vika on juuri siinä, ettei aloittelija voi parempaa tehdä. Tuo esimerkki on aivan samanlaista sotkua (sori) kuin minun omat yritelmänikin - ja varmasti monien, monien muidenkin - joitain vuosia sitten. Koodaus ei ole muistinvaraista työtä. Toki funktiot/HTML-tagit ja niihin liittyvät kommervenkit pitää muistaa. Sinun tasollasi puuttuu täysin teoreettinen ymmärrys asioista.

Aluksi ohjelmoinnin/HTML-merkkauksen opettelu on juuri sitä, että opetellaan jokin rakenne ulkoa ja toistetaan sitä. Sen jälkeen tulisi palata sinne teorian pariin ja opetella uusia tapoja. Valitettavasti aloittaessa yleensä jumiudutaan tuohon toistoon, eikä ymmärretä ettei kyse ole välttämättä oikeasta tai hyvästä tavasta, koska muita ei tunneta.

Koodistasi paistaa copy-paste joka rivillä. En tarkoita, että olisit rivi kerrallaan kopioinut kaiken jostain muualta, vaan että tuo tieto on sinun päässäsi juuri tuossa muodossa, etkä syvemmän ymmärryksen puutteessa pysty tekemään sitä toisin.

Paratiisin poika kirjoitti:

Toimivat koodit joista saa selvää ja joissa on kommentteja ja joista voi olla hyötyä niin pitäisi julkaista mielestäni

Unohdat nyt erään tärkeän pointin: koodisi/merkkauksesi ei ole korrektia. Esimerkiksi JavaScript-osuuden olet tökerösti läntännyt keskelle sisältöä. Toki se saa olla siellä HTML-speksin mukaan, mutta käytännössä kyse on toteutusvirheestä.

Skriptitagit pitäisi laittaa aina head-osioon. Itse skriptiä ei edes pitäisi oikeastaan kirjoittaa samaan dokumenttiin HTML:n kanssa, mutta noin lyhyen skriptin kanssa tuo menettely on oikeastaan parempi.

Toinen toteutuksellinen kämmi on taulukkotaitto: ei, ei, ei. Formien teko taulukkoon on aivan turhaa bloattausta. Tällainen on minun formini. Elementtien sijoittelun ja tyylittelyn voi ja tulee hoitaa täysin CSS:llä.

Ainoa synktaktinen virhe tuossa koodivinkissä on doctypen puute. Ilman sitä kyse ei ole HTML:stä vaan jostain sattumanvaraisesta sekamelskasta, joka vain sattuu muistuttamaan HTML-merkkausta.

Paratiisin poika kirjoitti:

Se on AJAX koodivinkki. Sen voisi laittaa js kategoriaan. Pliis julkaiskaa se. Mistä edes löytyy nuo koodivinkit joita ei olla julkaistu?

Otahan nyt silmä käteen. Tuolla on JavaScriptiä/ajaxia vain yksi triviaali sisältöpyyntö, jonka löytää googlettamalla n:stä eri lähteestä.

Sinun esimerkissäsi on enemmänkin kyse HTML:n, JavaScriptin ja PHP:n kokonaisuudesta. Hyvin toteutettuna se voisi olla pätevä esimerkki dynaamisesta sisällön lataamisesta. Mutta tämä kyseinen esimerkki ei voi olla sitä, sillä se vaatisi täydellisen uudelleenkirjoittamisen.

Muutenkin nämä asiat ovat vähän turhan monimutkaisia, jotta niitä kannattaisi alkaa väsäillä ilman lisäkirjastoja. Olisi paljon hyödyllisempää ja yksinkertaisempaa käyttää esimerkiksi jQueryä.

Blaze [03.12.2010 13:02:49]

#

Grez kirjoitti:

Miten "" on vähemmän HTTP URI kuin "#"?

Tosiaan, mää kuvittelin, ettei tyhjä stringi oo kelvollinen URI. Nyt kun tarkistin, niin onhan se.

Paratiisin poika [03.12.2010 15:05:26]

#

En ole koskaan tajunnut mikä jQuery on. Enkä tajua sitäkään että miksei sitä ole rivitetty ja sisennetty mitenkään. Ihan tyhmä koko jQuery.

Kirjoitan muita vinkkejä ja toivon että edes joku niistä toimii.

Ps. Suurimman osan olen itse kirjoittanut koodiin. Muistan nyt jo hyvin ulkoa kaikkea tarpeellista. En kaikkea mutta aika paljon.

Ps. Taulukon käyttö login formissa on ihan hyvä juttu. :D

Merri [03.12.2010 17:31:38]

#

jQuery on valmiiksi pakattu eikä siihen kosketa. Itseasiassa se olisi parhainta tarjota mahdollisimman pakattuna (eli vielä gzippaus lisäksi). jQuery tarjoaa JavaScriptiin laajennuksia, jotka tekevät monista arkiaskareista helpompia tehdä.

$(function(){ $('input.oho').click = function() { alert('Oho!'); } });

Noin lyhyellä pätkällä saa jokaisen input-elementin, jonka luokka on oho sellaisen klikkaustapahtuman, joka heittää Oho! päin näköä. Lisäksi tämä tapahtuu sivun HTML:n täydellisen latautumisen jälkeen, ei odottele kuvien latautumista ja script-elementin voi rauhassa sijoittaa head-elementtiin, jonne se kuuluu.

Yksi jQueryn parhaista puolista on myös selainten yhteensopivuuden varmistaminen, sinun ei tarvitse pähkäillä selainten eroja vaan jQueryn tarjoamat rutiinit toimivat kaikissa selaimissa. Tämä on myös yksi syy siihen, ettei jQueryn koodiin kajota.

Ps. tämä keskustelu lienisi asiallista pätkiä kun eihän tässä puhuta enää koodivinkeistä, niiden hyväksymiskäytännöistä tai kehittämisestä ollenkaan :/

Paratiisin poika [05.12.2010 11:26:40]

#

Hmm.... Okei... Jännää. Vioelä ku olis tajunnu... :D

Lumpio- [06.12.2010 17:04:14]

#

Paratiisin poika kirjoitti:

En ole koskaan tajunnut mikä jQuery on. Enkä tajua sitäkään että miksei sitä ole rivitetty ja sisennetty mitenkään. Ihan tyhmä koko jQuery.

Kirjoitan muita vinkkejä ja toivon että edes joku niistä toimii.

Ps. Suurimman osan olen itse kirjoittanut koodiin. Muistan nyt jo hyvin ulkoa kaikkea tarpeellista. En kaikkea mutta aika paljon.

Ps. Taulukon käyttö login formissa on ihan hyvä juttu. :D

Mitäpä jos menisit vaikka pelaamaan jalkapalloa tietokoneen edessä istumisen sijaan?

Jokotai [06.12.2010 20:24:42]

#

Paratiisin poika kirjoitti:

toivon että edes joku niistä toimii

Takaisin oppaiden ääreen siitä.

Paratiisin poika [07.12.2010 18:02:19]

#

En pidä jalkapallosta. Pelaan mielummin pingistä. Sitä pelaankin koulussa. kiitos kuitenkin vinkeistä...

Triton [07.12.2010 18:16:41]

#

Lumpio- kirjoitti:

Mitäpä jos menisit vaikka pelaamaan jalkapalloa tietokoneen edessä istumisen sijaan?

Toinen hyvä vaihtoehto on omien aivojen käyttäminen sekä lukemisen opettelu... Niillä ainakin välttyy jalkapallon pelaamiselta.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta