>> [Muzika]
>> DAVID Malan: Kjo Ă«shtĂ« CS50.
Ky Ă«shtĂ« fillimi i javĂ«s sĂ« nĂ«ntĂ«.
Dhe kjo Ă«shtĂ« ajo qĂ« do tĂ« ketĂ« ishte ditĂ«lindja e 200 Z. Boole.
Pra, kjo Ă«shtĂ« miqtĂ« pĂ«r tĂ« cilin ne kemi aludoi
mjaft disa herĂ« nĂ« lidhje me pĂ«rdorimin Variablat Boolean vĂ«rtetĂ« dhe tĂ« rremĂ«,
1 dhe 0 dhe tĂ« tilla.
Dhe kjo ishte Google haraĂ§ tĂ« tij sot.
Ai do tĂ« kishte kthyer 200.
Pra, nĂ«se ju dĂ«shironi tĂ« bashkohen me ne pĂ«r drekĂ« CS50,
hidhini njĂ« sy nĂ« linkun nĂ« faqen e internetit tĂ« kursit.
Dhe fytyra tĂ« tilla dhe miqtĂ«, si kĂ«to ju presin kĂ«tu nĂ« Kembrixh.
Fytyrat si kĂ«to qĂ« ju presin nĂ« New Haven.
Dhe, nĂ« fakt, Ken nĂ« New Haven bĂ«rĂ« mirĂ«si
atĂ« qĂ« quhet njĂ« GIF animuar i Elit kĂ«tu nĂ« njĂ« tĂ« kohĂ«ve tĂ« fundit lunch-- njĂ« GIF Ă«shtĂ« ende
tjetĂ«r file format grafik, me tĂ« cilĂ«n ju jeni familiar-- se
duket njĂ« diĂ§ka tĂ« vogĂ«l si kjo.
Pra, vetĂ«m njĂ« sekuencĂ« of-- OK.
Askush kĂ«tu nĂ« Kembrixh Ă«shtĂ« qeshur.
Por nĂ« New Haven, kjo Ă«shtĂ« me tĂ« vĂ«rtetĂ« qesharake, apo jo?
NĂ« rregull.
>> Pra, do tĂ« bashkohen me ne atje.
KĂ«tu nĂ« Harvard, nĂ« mĂ«nyrĂ« specifike, kĂ«tĂ« tĂ« mĂ«rkurĂ«,
nĂ« qoftĂ« se ju jeni njĂ« i paedukuar mjaft apo fillestar even-- apo edhe tĂ« menduarit junior-- e marrjes
njĂ« kaloni nĂ« kompjuterin shkencĂ«, e di se nuk do tĂ«
tĂ« njĂ« CS kĂ«shilluar drejtĂ« kjo E mĂ«rkurĂ«, menjĂ«herĂ« pas klasĂ«s
nĂ« 4:00 pm nĂ« kompjuter NdĂ«rtesa shkencĂ« Maxwell Dworkin.
Ne do tĂ« vĂ«nĂ« kĂ«tĂ« nĂ« Sigurisht e website nga nesĂ«r, po ashtu.
Donuts, unĂ« jam i tha, do tĂ« shĂ«rbehet.
>> NĂ« rregull.
Story-- so funny unĂ« u poking rreth nĂ« internet,
dhe kam gjetur disa arkivat vjetra i ish web faqen time.
Dhe kjo rezulton out-- rreth kĂ«saj kohĂ«, ajo duket shumĂ« kohĂ«
pasi qĂ« unĂ« mbledh se zgjedhjet UC jeni gati veshje deri pĂ«rsĂ«ri.
KĂ«shtu qĂ« unĂ« u zhvillua pĂ«r UC, tĂ« humbur pa fat.
Dhe ndoshta kjo ishte pjesĂ«risht pse.
Pra, kjo ishte faqen time nĂ« atĂ« kohĂ«.
PĂ«r disa arsye, mendoj se ishte njĂ« ide e mirĂ«, para se tĂ« thĂ«nĂ« njerĂ«zve
Ă§farĂ« platformĂ« ime ishte dhe pse ata duhet tĂ« votojnĂ« pĂ«r mua, se ata kanĂ«
tĂ« klikoni pĂ«r tĂ« hyrĂ« pĂ«r tĂ« gjetur se informacion, i cili nĂ« retrospektivĂ« Ă«shtĂ«
lloj i mĂ«rzitur.
UnĂ« vĂ«rtetĂ« nuk e di se Ă§ka ishte.
>> Por kjo sigurisht nuk e bĂ«ri ndihmojnĂ« fushatĂ«n time.
UnĂ« gjithashtu gjeti se nga lartĂ« year-- UnĂ« kisha kĂ«tĂ« kalendar Muppet.
Muppets ishin lloj i nĂ« modĂ« atĂ«herĂ«.
Apo ndoshta ata nuk ishin.
UnĂ« kisha njĂ« kalendar Muppet prapa pastaj.
Dhe unĂ« mendova se do tĂ« jetĂ« e ftohtĂ« pĂ«r emrin kompjuteri im nĂ« rrjetin e Harvardit
frogman.student.harvard.edu.
NĂ« atĂ« kohĂ«, ne tĂ« gjithĂ« e kishin unike Emrat e identifikueshme host.
Dhe ju mund tĂ« zgjidhni disa kotĂ«si emrin nĂ« vend tĂ« emrit tuaj.
Dhe unĂ« shkova me zhytĂ«s pĂ«r disa arsye.
>> Dhe atĂ«herĂ« unĂ« started-- kam kaluar shumĂ« e kohĂ«s klikuar pĂ«rmes kĂ«tyre lidhjeve
kete mengjes.
Dhe kjo ishte faqja ime nĂ« lidhje me, e cila tani lloj i duket adorable.
Por ajo gjithashtu dĂ«shmon pĂ«r vetĂ«m sa larg teknologjisĂ« ka ardhur.
UnĂ« do tĂ« thotĂ«, mbrapa nĂ« ditĂ«, njĂ« 486 ishte diĂ§ka.
KĂ«to ditĂ«, Ă«shtĂ« super, super, super i ngadalshĂ«m dhe mĂ« pak tĂ« mirĂ«
se ju mund tĂ« keni nĂ« tuaj Xhepat e vet kĂ«to ditĂ«.
Ka mĂ« shumĂ« atje se ishte edhe mĂ« e turpshme.
KĂ«shtu qĂ« unĂ« do tĂ« lĂ«nĂ« atĂ« nĂ« se.
Por kjo ishte ime e parĂ« bastisje nĂ« web-- oh, jo.
Kjo nuk ishte.
PĂ«rpjekjet e ime e parĂ« e vĂ«rtetĂ« nĂ« programimin e web ishte kjo faqe, qĂ« unĂ« sapo harruar.
NĂ« njĂ« moment, kam mĂ«suar se si tĂ« tĂ« bĂ«jĂ« imazhe tĂ« pĂ«rsĂ«ritura sfond.
Dhe kĂ«shtu qĂ« kam gjetur kĂ«tĂ« tjegulla nĂ« fuqi, si lojtar hokej, futboll, dhe e golfit
top, ose Ă§farĂ«do qĂ« Ă«shtĂ« pĂ«r faqen e internetit Frosh IMS.
Dhe kjo ishte nĂ« tĂ« vĂ«rtetĂ«, tĂ« vĂ«rtetĂ« Projekti i parĂ« web-based mora on--
UnĂ« mendoj se ndoshta i paedukuar mjaft vit, year-- vogĂ«l
pas marrjes CS50 dhe CS51, njĂ« e zakonshme klasat vijuese nĂ«.
Kam vĂ«nĂ« re nĂ« kĂ«rkim nĂ«pĂ«r arkivat
se njĂ« nga pasardhĂ«sit e mi dhe miq, Lee, lloj i ndryshuar
tĂ« drejtĂ«n e autorit pĂ«r veten e tij.
Por kjo ishte me tĂ« vĂ«rtetĂ« diĂ§ka qĂ« UnĂ« duhet tĂ« zotĂ«rojnĂ« ndrojtjen pĂ«r tĂ«.
Por nĂ« atĂ« kohĂ«, kjo ishte nĂ« faqen e internetit e parĂ«,
siĂ§ kam thĂ«nĂ« disa javĂ« mĂ« parĂ«, me tĂ« cilĂ«n mund fillestar
regjistrohen pĂ«r sportet i brendshĂ«m kĂ«tu.
Dhe kĂ«shtu kjo rezulton qĂ« imazhe sfond
sikur qĂ« nuk janĂ« tĂ« tilla njĂ« ide e mirĂ«.
Por web ishte e re, dhe ne ishim tĂ« gjithĂ« eksperimente.
Dhe kjo Ă«shtĂ« ajo qĂ« unĂ« me sa duket e bĂ«ri nĂ« atĂ« kohĂ«.
NĂ« rregull.
Pra, pa zhurmĂ« mĂ« tej, ne tĂ« kaloni ingranazhet sot pĂ«r t'ju dhĂ«nĂ«, me tĂ« vĂ«rtetĂ«,
pjesa e fundit qĂ« ju mund tĂ« gjeni veĂ§anĂ«risht e dobishme pĂ«r projekte finale
por edhe qĂ« do tĂ« fillojĂ« tĂ« bĂ«rĂ« gjithĂ« botĂ«n e gjerĂ« web
tĂ« ndjehen pak mĂ« tĂ« kuptueshme.
NĂ« tĂ« vĂ«rtetĂ«, ne jemi duke shkuar pĂ«r tĂ« futur njĂ« mĂ« shumĂ« gjuhĂ« programimi
quajtur JavaScript qĂ« Ă«shtĂ« i ngjashĂ«m dhe tĂ« ndryshme nĂ« mĂ«nyra tĂ« ndryshme
nga gjuhĂ«t e kemi shikuar deri tani.
>> Pra C, kujtojnĂ«, Ă«shtĂ« kjo gjuhĂ« hartuar.
Ju keni marrĂ« pĂ«r tĂ« drejtuar atĂ« nĂ«pĂ«rmjet njĂ« pĂ«rpilues.
Ju merrni kodin burimor tĂ« kundĂ«rshtojĂ« Kodi, ose zero dhe ato.
Dhe ata janĂ« zero dhe ato qĂ« CPU juaj, Central Processing Unit,
nĂ« fakt e kuptojnĂ«.
PHP, nga ana tjetĂ«r, nuk Ă«shtĂ« e njĂ« gjuhĂ« hartuar.
Kjo Ă«shtĂ« njĂ« Ă§farĂ«?
Ă‹shtĂ« njĂ« gjuhĂ« interpretuar.
Pra, ka disa program quajtur njĂ« pĂ«rkthyes qĂ«
ka pĂ«r tĂ« lexuar lartĂ« it-- tĂ« poshtĂ«, majtas nĂ« right--
dhe tĂ« kuptoj se Ă§farĂ« tĂ« gjithĂ« Sintaksa juaj ka dhe do tĂ« thotĂ«,
nĂ«se kjo Ă«shtĂ« njĂ« lak ose njĂ« kusht ose ndonjĂ« numĂ«r tjetĂ«r i programimit
ndĂ«rton.
Pra, kjo Ă«shtĂ« njĂ« gjuhĂ« interpretuar.
>> AtĂ«herĂ« ne kemi prezantuar HTML.
Dhe HTML nuk Ă«shtĂ« edhe njĂ« gjuhĂ« programimi.
Ne do tĂ« thĂ«rrasĂ« atĂ« Ă§farĂ«?
NjĂ« gjuhĂ« markup, e cila Ă«shtĂ« vetĂ«m njĂ« lloj i mĂ«nyrĂ«s sĂ« sofistikuar pĂ«r tĂ« thĂ«nĂ« atĂ«
nuk ka konstruktet programimi si ne pamĂ« edhe mbrapa nĂ« ditĂ«n e Scratch.
Nuk ka sythe.
Nuk ka kushte.
Me tĂ« vĂ«rtetĂ« Ă«shtĂ« njĂ« gjuhĂ« rreth shĂ«nuar deri tĂ« dhĂ«nat tuaja
dhe formatimin atĂ« ose strukturimin atĂ« nĂ« njĂ« farĂ« mĂ«nyre.
>> CSS, ndĂ«rkohĂ«, nĂ« mĂ«nyrĂ« tĂ« ngjashme jo njĂ« gjuhĂ« programimi.
Ă‹shtĂ« edhe mĂ« e orientuar mĂ« aesthetically.
Dhe kjo ju lejon tĂ« lloj nga gjobĂ«-mendje gjĂ«ra tĂ« tilla si madhĂ«si font dhe ngjyra
dhe vendosja dhe tĂ« gjithĂ« se.
AtĂ«herĂ« kemi pasur
>> SQL.
Pra SQL Ă«shtĂ« me tĂ« vĂ«rtetĂ« njĂ« programimi gjuha nĂ« njĂ« kuptim,
megjithĂ«se pĂ«rshtatura nĂ« mĂ«nyrĂ« specifike pĂ«r tĂ« bazave tĂ« tĂ« dhĂ«nave.
Por edhe pse ne vetĂ«m ju prezantoj me zgjidhni dhe tĂ« futur dhe fshini dhe pĂ«rditĂ«simin
dhe disa tĂ« tjerĂ«, rezulton nga ju mund tĂ« vĂ«rtetĂ«
shkruaj funksione ose procedurat, pasi ata janĂ«
quajtur, nĂ« SQL qĂ« duken dhe tĂ« veprojĂ« mjaft si PHP dhe C funksione.
Pra, e di se ata ekzistojnĂ«.
Por ne nuk do tĂ« shqetĂ«sojĂ« edhe me ta ndĂ«rsa ne vetĂ«m zeroja sipĂ«rfaqe kĂ«tu.
Dhe pastaj JavaScript, e fundit e GjuhĂ«t tona prezantuar zyrtarisht.
Pra JavaScript, gjithashtu, Ă«shtĂ« njĂ« gjuhĂ« interpretuar.
Dhe ata tĂ« njohur, tĂ« bĂ«jĂ« ju doni pĂ«r tĂ« dalluar atĂ«
me disa karakteristike nga tĂ« dy C dhe PHP?
Ă‡farĂ« e bĂ«n atĂ« tĂ« ndryshme?
>> Audienca: Kjo nuk Ă«shtĂ« hartuar.
>> DAVID Malan: Thuaj pĂ«rsĂ«ri?
>> Audienca: Kjo nuk Ă«shtĂ« hartuar.
>> DAVID Malan: Kjo nuk Ă«shtĂ« hartuar.
KĂ«shtu qĂ«, gjithashtu, Ă«shtĂ« interpretuar.
Pra, kjo nuk Ă«shtĂ« hartuar.
Por qĂ« e bĂ«n atĂ« njĂ« pak si PHP.
Por Ă«shtĂ« ende e ndryshme nga PHP nĂ« njĂ« farĂ« mĂ«nyre tĂ« mrekullueshĂ«m,
tĂ« paktĂ«n nĂ« mĂ«nyrĂ«n se si ne do tĂ« pĂ«rdorin atĂ«.
Po?
>> Audienca: Ajo shkon klient-side.
>> DAVID Malan: Ajo shkon klient-side, zakonisht.
Kjo Ă«shtĂ« me tĂ« vĂ«rtetĂ« dalluese karakteristike pĂ«r ne tani.
C ishte server-side nĂ« kuptimin qĂ« ne e bĂ«mĂ« Ă§do gjĂ« nĂ« CS50 IDE.
PHP deri mĂ« tani ka qenĂ« e server-side pĂ«rderisa
si ajo, gjithashtu, merr interpreted-- jo hartuar, por interpreted--
brenda CS50 IDE, e cila natyrisht Ă«shtĂ« vetĂ«m njĂ« server apo servers nĂ« re.
>> Por JavaScript, edhe pse ju jeni duke shkuar
pĂ«r tĂ« filloni tĂ« shkruani atĂ« pĂ«r, tĂ« themi, pset tetĂ« dhe ndoshta i fundit projects-- ju jeni
do ta djathtĂ« atĂ« nĂ« CS50 IDE dhe pĂ«r tĂ« shpĂ«tuar atĂ«
nĂ« fotografi brenda IDE CS50, CS50 IDE dhe, nga ana tjetĂ«r, serverat cloud
nĂ« tĂ« cilĂ«n Ă«shtĂ« e priti, nuk janĂ« duke shkuar pĂ«r tĂ« interpretuar apo tĂ« ekzekutuar kodin tuaj.
PĂ«rkundrazi, ajo do tĂ« dĂ«rgohet nĂ« Formulari i pandryshuar deri nĂ« shfletuesin.
Dhe ajo pastaj do tĂ« jetĂ« i IE ose Chrome ose Firefox ose Safari
apo Ă§farĂ«do qĂ« nĂ« fakt e interpreton ajo, tĂ« lartĂ« e deri nĂ« fund, majta nĂ« tĂ« djathtĂ«.
Pra dalluese kyĂ§e karakteristike pĂ«r sot
Ă«shtĂ« se JavaScript Ă«shtĂ« klient-side dhe PHP, pĂ«r shembull,
ka qenĂ« server-side.
Tani, kjo ka implikime interesante pĂ«r, si, pronĂ«n intelektuale
dhe qĂ« nĂ« fakt mund tĂ« shihni kodin tuaj.
Dhe me tĂ« vĂ«rtetĂ«, ju mund tĂ« shkoni nĂ« internet dhe tĂ« shohim mĂ«
Ă§do kodin qĂ« dikush ka shkruar nĂ« JavaScript.
NdonjĂ«herĂ« Ă«shtĂ« i lexueshĂ«m, nganjĂ«herĂ« Ă«shtĂ« e turbullohet.
Por mĂ« shumĂ« se nĂ« kohĂ«n e duhur.
>> Pra JavaScript, bukur tĂ« mjaftueshme, Ă«shtĂ« super ngjashme, sintaksore, nĂ« C.
Dhe ashtu si PHP, nuk ka asnjĂ« funksion kryesor.
NĂ«se ju doni tĂ« filloni tĂ« shkruani Kodi JavaScript, si ju do tĂ« shihni sot,
ju vetĂ«m tĂ« filloni tĂ« shkruani atĂ«.
Por ajo Ă«shtĂ«, ju do tĂ« shihni, veĂ§anĂ«risht dobishĂ«m nĂ« kontekstin e shfletuesit web.
MegjithatĂ«, pak e mia disclaimer-- zakonisht earlier--
ishte pĂ«r tĂ« thĂ«nĂ« se ju mund tĂ« gjithnjĂ« PĂ«rdorimi sot JavaScript server-side
duke pĂ«rdorur njĂ« kornizĂ« dashuroj quajtur Node.js se disa nga aplikacionet e CS50-sĂ«
janĂ« tĂ« shkruara nĂ«.
Kontrolloni 50 nĂ« fakt pĂ«rdor Node.js.
Por ne do tĂ« pĂ«rqĂ«ndrohet nĂ« JavaScript klient-side kĂ«tu nĂ« jashtĂ«.
>> KĂ«shtu qĂ« kĂ«tu Ă«shtĂ« njĂ« grup i kushteve nĂ« PHP.
Na vjen keq, in-- fakt, qĂ« Deklarata, gjithashtu Ă«shtĂ« e saktĂ«.
KĂ«tu Ă«shtĂ« edhe njĂ« grup i kushtet nĂ« JavaScript.
Sintaksore, ajo Ă«shtĂ« identike me C dhe PHP.
Shprehjet zotit Boole janĂ«, nĂ« mĂ«nyrĂ« tĂ« ngjashme, sintaksore
identike me dy C dhe PHP.
Ne gjithashtu kemi Ă§elsin nĂ« JavaScript qĂ« duken identike.
Ne kemi pĂ«r sythe qĂ« janĂ« strukturuar njĂ«lloj,
ndĂ«rsa unazore, tĂ« bĂ«ni ndĂ«rsa sythe.
>> Kjo Ă«shtĂ« pak mĂ« ndryshe.
PHP kishte pĂ«r Ă§do konstrukt qĂ« ju mund tĂ« jetĂ« duke pĂ«rdorur
ose do tĂ« pĂ«rdorĂ« nĂ« pset shtatĂ«, ndoshta.
Java e ka kĂ«tĂ« version tĂ« veĂ§antĂ« tĂ« pĂ«r ku ju fjalĂ« pĂ«r fjalĂ« thoni diĂ§ka
si pĂ«r Ă§elĂ«s ndryshueshme nĂ« objekt, i cili Ă«shtĂ« njĂ« mĂ«nyrĂ« shumĂ« e ngjeshur e duke thĂ«nĂ«:
nĂ« qoftĂ« se unĂ« kam marrĂ« njĂ« object-- dhe ne do flasim pĂ«r kĂ«to pĂ«rsĂ«ri nĂ« njĂ« moment--
dhe unĂ« dua tĂ« iterate mbi tĂ« gjitha nga Ă§ifte tĂ« vlerave kyĂ§e brenda,
UnĂ« nuk duhet tĂ« kuptoj se si pĂ«r tĂ« Indeksi i numerikisht ato me zero, njĂ«,
dy, tre.
>> UnĂ« mund tĂ« them fjalĂ« pĂ«r fjalĂ« kĂ«tĂ«.
Dhe nĂ« Ă§do pĂ«rsĂ«ritje, JavaScript pĂ«r mua do update Ă§elĂ«sin ndryshueshme
tĂ« jetĂ« Ă§elĂ«si i parĂ«, atĂ«herĂ« Ă§elĂ«si tjetĂ«r, atĂ«herĂ« Ă§elĂ«si tjetĂ«r, atĂ«herĂ« Ă§elĂ«si tjetĂ«r,
dhe kĂ«shtu me radhĂ«.
Dhe unĂ« mund tĂ« merrni me vlerĂ«n e tij duke e trajtuar njĂ« objekt nĂ« JavaScript, si ne do tĂ« shohim,
sikur kjo Ă«shtĂ« njĂ« array associative nĂ« PHP.
NĂ« tĂ« vĂ«rtetĂ«, nĂ« qoftĂ« se ju mĂ« nĂ« fund pĂ«rfundoi tuaj mendjen rreth asaj qĂ« njĂ« grup asociativ Ă«shtĂ«
nĂ« PHP, ju mund tĂ« mendoni pĂ«r atĂ« tani pĂ«r tani si identike me njĂ« objekt nĂ« JavaScript.
Por kjo Ă«shtĂ« pak e njĂ« oversimplification.
>> Vargjeve duken, bukur tĂ« mjaftueshme, identik pĂ«r tĂ« PHP me pĂ«rjashtim tĂ« njĂ« karakter.
Ka njĂ« gjĂ« qĂ« mungon kĂ«tu qĂ« ne e bĂ«mĂ« tĂ« shohim javĂ«n e kaluar me PHP.
Ă‡farĂ« Ă«shtĂ« lĂ«nĂ« jashtĂ«?
Po?
AsnjĂ« dollar shenjĂ«.
Pra, ne jemi kthyer nĂ« njĂ« mĂ« shumĂ« botĂ« normale ku
Variablat nuk kanĂ« shenja tĂ« dollarit.
Por ju bĂ«ni prefiksit ato me var, nĂ« mĂ«nyrĂ« tipike.
Dhe var do tĂ« thotĂ« ndryshore.
Dhe shumĂ« si PHP Ă«shtĂ« lirshĂ«m typed-- ku ka lloje,
ka numra dhe vargjet dhe gjithandej dhe kĂ«shtu forth--
JavaScript nĂ« mĂ«nyrĂ« tĂ« ngjashme ka lloje.
Por Ă«shtĂ« e shtypur lirshĂ«m nĂ« se NE programuesit nuk duhet tĂ« specifikojĂ« ato.
Ne vetĂ«m duhet tĂ« jenĂ« tĂ« vetĂ«dijshĂ«m se llojet e ndryshme ekzistojnĂ«.
>> Variablat, meanwhile-- kĂ«tu Ă«shtĂ« se si ne mund tĂ« deklarojĂ« "hello, bota"
si njĂ« varg.
Vini re se Ă«shtĂ« identike me PHP por asnjĂ« shenjĂ« dollar.
Dhe kjo Ă«shtĂ« diĂ§ka qĂ« ne do tĂ« filloni duke parĂ« mĂ« sot,
ku ju keni njĂ« objekt me Ă§elĂ«sat dhe vlerat.
Dhe nĂ« qoftĂ« se ju doni tĂ« provoni tĂ« konkludoj nga week-- fundit
sintaksa Ă«shtĂ« pak mĂ« ndryshe.
Por njĂ« mendje e shĂ«ndoshĂ« pak check-- sa Ă‡elĂ«sat e bĂ«n kĂ«tĂ« objekt duket tĂ« ketĂ«?
KĂ«shtu qĂ« unĂ« shoh katĂ«r.
UnĂ« shoh dy.
>> Pra, Ă«shtĂ« e vĂ«rtetĂ« dy.
Pra, kjo Ă«shtĂ« njĂ« koleksion e dy palĂ« kyĂ§ vlerĂ«.
Ă‡elĂ«si Ă«shtĂ« simbol vlera e tĂ« cilit Ă«shtĂ« e FB.
Ă‡Ă«shtja kryesore Ă«shtĂ« Ă§mimi vlera e tĂ« cilit Ă«shtĂ« 101.53.
Pra, kĂ«to janĂ« dy palĂ« tĂ« rĂ«ndĂ«sishme tĂ« vlerĂ«s sĂ«.
Dhe mbani mend, PHP-- dhe kjo Ă«shtĂ« pĂ«rsĂ«ri vetĂ«m lloj i dallimit sintaksore.
Kjo nuk Ă«shtĂ« e gjitha qĂ« intelektualisht interesant.
PHP mund tĂ« ketĂ« shkruar kĂ«tĂ« njĂ«jtĂ« gjĂ« si kuotĂ« follows--, Ă«shtĂ« e barabartĂ«.
Dhe unĂ« tĂ« ndryshojĂ« kĂ«to pĂ«r kllapa katrore.
Dhe atĂ«herĂ« unĂ« tĂ« ndryshojĂ« kjo nĂ« njĂ« fjalĂ« cituar, "Ă§mim".
Dhe atĂ«herĂ« unĂ« nuk e pĂ«rdorin njĂ« zorrĂ« e trashĂ«.
Ă‡farĂ« kam pĂ«rdorur javĂ«n e kaluar?
Po, shenja tĂ« barabartĂ« shigjetĂ« simbol i shokuar.
>> Dhe pastaj kam bĂ«rĂ« tĂ« njĂ«jtĂ«n gjĂ« kĂ«tu.
E njĂ«jta gjĂ« kĂ«tu.
Dhe kjo Ă«shtĂ« e gjitha.
Pra, kjo Ă«shtĂ« nĂ« rregull nĂ« qoftĂ« se kjo nuk ka zhytur me tĂ« vĂ«rtetĂ« nĂ« nĂ« kujtesĂ«n e vetĂ«m
por pĂ«r shkak se Ă«shtĂ« e vĂ«rtetĂ« intelektualisht jointeresant.
Ă‹shtĂ« dallimet vetĂ«m sintaktik.
Por idetĂ« janĂ« tĂ« njĂ«jtĂ«.
Brenda kĂ«saj variable tĂ« japin kuotĂ«n e nĂ« JavaScript
Ă«shtĂ« njĂ« koleksion i Ă§ifte kyĂ§ vlerĂ«, njĂ« nga tĂ« cilat Ă«shtĂ« simbol, njĂ«ri prej tĂ« cilĂ«ve
Ă«shtĂ« Ă§mimi.
Dhe unĂ« mund tĂ« merrni nĂ« ato vlera me sintaksĂ« e mĂ«poshtme.
Ashtu si nĂ« PHP, unĂ« mund tĂ« bĂ«ni diĂ§ka like-- le
mĂ« bĂ«j kjo kuti e madhe pak.
Ashtu si nĂ« PHP, unĂ« mund tĂ« bĂ«jnĂ« this-- oh, dammit.
Eja.
>> Ashtu si nĂ« PHP-- OK, ne do tĂ« vetĂ«m pĂ«rdorni shĂ«nimet prezantues.
Ashtu si nĂ« PHP, unĂ« mund tĂ« tĂ« bĂ«jĂ« $ $ quote quote ["simbol"],
dhe kjo do tĂ« merrni mua vlera e "simbol".
NĂ« JavaScript, ajo do tĂ« jetĂ« identike, ku unĂ« mund ta bĂ«jĂ« kĂ«tĂ« vetĂ«m.
E vetmja gjĂ« qĂ« Ă«shtĂ« mungon Ă«shtĂ« shenja e dollarit.
>> Pra bukur tĂ« mjaftueshme, atĂ«herĂ«, nuk ka jo tĂ« gjithĂ« se shumĂ« sintaksĂ« e re.
Pra, ajo qĂ« sot ne tĂ« pĂ«rqĂ«ndrohet nĂ«, me tĂ« vĂ«rtetĂ«, Ă«shtĂ« disa nga idetĂ« dhe aplikimet.
Dhe i pari i tillĂ« kĂ«rkesĂ« qĂ« ju mund tĂ«
kanĂ« parĂ« nĂ«se ju fetar nĂ« pset shtatĂ« tashmĂ« Ă«shtĂ« kjo sintaksĂ«.
Pra, nĂ« pset shtatĂ«, nĂ« qoftĂ« se ju keni shihet apo nuk shihet atĂ« ende,
e di se ka njĂ« skedĂ« qĂ« ne japim ju quajti config.json-- JavaScript
Object simbol.
PĂ«rse?
Ne kemi kĂ«rkuar qĂ« tĂ« jetĂ« nĂ« gjendje pĂ«r tĂ« siguruar me njĂ« template me disa Ă§ifte kyĂ§ vlerĂ«.
Ne kemi kĂ«rkuar qĂ« tĂ« jetĂ« nĂ« gjendje tĂ« ju japin njĂ« listĂ« e ushtrisĂ«, emri i serverit.
Ne kemi kĂ«rkuar pĂ«r tĂ« ju jap njĂ« placeholder pĂ«r emrin tuaj tĂ« pĂ«rdoruesit
dhe njĂ« placeholder pĂ«r fjalĂ«kalimin tuaj.
NĂ«se ju nuk jeni duke parĂ« kjo ende, jo pĂ«r t'u shqetĂ«suar.
MĂ« shumĂ« pĂ«r kĂ«tĂ« nĂ« pset shtatĂ« [? spekulim. ?] Dhe pastaj,
Natyrisht, ne duam t'ju pĂ«r tĂ« mbushur nĂ« pĂ«r-dos
sepse kur ju hyni nĂ« CS50 IDE, secili prej jush
kanĂ« emrin tuaj dhe fjalĂ«kalimin.
>> Pra, ne mund tĂ« kemi pĂ«rdorur njĂ« gjysmĂ« duzinĂ« ose mĂ« shumĂ« formate tĂ« ndryshme.
Ne mund tĂ« ketĂ« pĂ«rdorur njĂ« file .txt.
Ne mund tĂ« pĂ«rdorur njĂ« skedar CSV.
Ne mund tĂ« kemi pĂ«rdorur njĂ« INI file, njĂ« file XML,
njĂ« bandĂ« e tĂ«rĂ« mĂ« akronimet qĂ« ju nuk mund tĂ« keni dĂ«gjuar ndonjĂ«herĂ«.
Kjo Ă«shtĂ« lloj i arbitrar nĂ« fund tĂ« ditĂ«.
Por super popullor kĂ«to ditĂ« Ă«shtĂ« njĂ« tekst format i quajtur JSON-- JavaScript Object
Notation-- qĂ« duket si kjo.
Kjo Ă«shtĂ« pak i fshehtĂ«, por vini re modelet.
Ju filloni me njĂ« kaĂ§urrel tĂ« hapur BraĂ§e, dhe ju tĂ« pĂ«rfundojnĂ« me tĂ« njĂ«jtĂ«n.
Brenda e kjo Ă«shtĂ« diĂ§ka.
Kjo Ă«shtĂ« njĂ« palĂ« kyĂ§ vlerĂ«.
Pra, kjo Ă«shtĂ« njĂ« objekt qĂ« unĂ« jam duke kĂ«rkuar nĂ« nĂ« ekran kĂ«tu
qĂ« ka njĂ« Ă§elĂ«s, e cila ka njĂ« vlerĂ«.
Dhe vetĂ«m inferring bazuar nĂ« model i mĂ«parshĂ«m, Ă§farĂ« Ă«shtĂ« Ă§elĂ«si kĂ«tu?
Baza e tĂ« dhĂ«nave, gjĂ« qĂ« e majta e zorrĂ«s sĂ« trashĂ«.
>> Tani, vlera ndodh tĂ« jetĂ« rreshta tĂ« shumta nĂ« kĂ«tĂ« kohĂ«.
Por vlera e fillon me njĂ« kaĂ§urrel shtrĂ«ngoj dhe pĂ«rfundon me njĂ« mbajtĂ«se kaĂ§urrel.
Pra, Ă§farĂ« do tĂ« ju propozojmĂ« Ă«shtĂ« llojin e vlerĂ«s sĂ« bazĂ«n e tĂ« dhĂ«nave?
NjĂ« fjalor apo, thjesht mĂ« shumĂ« shkurtimisht, njĂ« objekt.
E drejtĂ«?
Kjo Ă«shtĂ« lloj i njĂ« strukture tĂ« dhĂ«nave qĂ« mund tĂ« pĂ«rdorin struktura tĂ« tjera brenda vetes.
Pra, nĂ«se kjo gjĂ« gjithĂ« ne jemi duke e quajtur njĂ« object-- dhe njĂ« objekt
Ă«shtĂ« vetĂ«m njĂ« bandĂ« e kyĂ§ vlerĂ«s pairs-- Vlera e vetĂ« bazĂ«n e tĂ« dhĂ«nave Ă«shtĂ« njĂ« objekt.
Vlera e bazĂ«n e tĂ« dhĂ«nave ka njĂ« bandĂ« e tĂ«rĂ« e Ă§ifte kryesore me vlerĂ«, e para e cila
Ă«shtĂ« mikpritĂ«s, atĂ«herĂ« emri, atĂ«herĂ« emrin, pastaj fjalĂ«kalim,
secili prej vlera e tĂ« cilit, ndĂ«rkohĂ«, Ă«shtĂ« vetĂ«m njĂ« varg i mĂ«rzitshĂ«m nĂ« thonjĂ«za dyshe.
>> Pra, edhe nĂ« qoftĂ« se nuk Ă«shtĂ« super qartĂ« vetĂ«m ende,
e di se kjo Ă«shtĂ« vetĂ«m njĂ« standarde, mĂ«nyrĂ« mjaft tĂ« mĂ«rzitshĂ«m
e magazinimin e tĂ« dhĂ«nave nĂ« njĂ« format standard.
Por gabimet e zakonshme qĂ« ju mund tĂ« bĂ«jĂ«, madje edhe nĂ« pset shtatĂ«,
janĂ« pak gjĂ«ra tĂ« trashĂ«, si nĂ« qoftĂ« se ju aksidentalisht heq presje atje.
Kjo do tĂ« rezultojĂ« nĂ« dosjen jo domosdoshmĂ«risht qenĂ« i lexueshĂ«m.
NĂ«se ju aksidentalisht heq gjĂ«ra tĂ« tilla si citate, kjo nuk do tĂ« jetĂ« i lexueshĂ«m.
Pra, kjo Ă«shtĂ« njĂ« format mjaft nitpicky file, por Ă«shtĂ« njĂ« qĂ« Ă«shtĂ« super i zakonshĂ«m.
Dhe ne tĂ« ndodhĂ« tĂ« pĂ«rdorin atĂ«, edhe pse ju nuk e pĂ«rdorni ndonjĂ« javascript ndryshe,
nĂ« pset shtatĂ«.
>> NĂ« rregull.
Pra, mbani mend kĂ«tĂ« foto.
Kemi biseduar rreth, nĂ« HTML, qĂ« kodi mund tĂ« duket si kjo.
Kjo Ă«shtĂ« HyperText Markup Language [PadĂ«gjueshme] vetĂ«m pĂ«r "Hello, bota."
Por pastaj kemi propozuar njĂ« ndĂ«rsa mbrapa se nĂ«se ajo ndihmon,
ju mund tĂ« dĂ«shironi tĂ« filloni tĂ« menduarit nĂ« lidhje me kĂ«tĂ« tashmĂ« si njĂ« pemĂ«.
NĂ« fakt, gjurmĂ« qĂ« ne pĂ«rdorni vetĂ«m pĂ«r hir tĂ« lehtĂ«si leximi tĂ«
ose pĂ«r hir stilin e mbi e majta mund tĂ« lloj
tĂ« jenĂ« tĂ« pĂ«rkthyera nĂ« kĂ«tĂ« pemĂ«, ku ju kanĂ« disa nyje tĂ« veĂ§antĂ« rrĂ«njĂ« qĂ« ne do tĂ«
quajtur generically dokument, nĂ«n tĂ« cilĂ«n Ă«shtĂ« elementi HTML rrĂ«njĂ« ose tag, HTML,
e cila mĂ« pas ka dy fĂ«mijĂ«, kokĂ« dhe trup.
>> Dhe pastaj nga ana tjetĂ«r, kreu ka njĂ« titull.
Dhe titulli ka njĂ« vlerĂ« tekst.
Dhe trupi nĂ« mĂ«nyrĂ« tĂ« ngjashme ka njĂ« vlerĂ« tekst.
Pra, nĂ«se ju jeni tĂ« kĂ«naqur duke thĂ«nĂ« se po, ju mund tĂ« marrĂ« kĂ«tĂ« HTML
dhe tĂ« nxjerrĂ« njĂ« foto si kjo, nĂ« anĂ«n e djathtĂ«
Ă«shtĂ« njĂ« model i mirĂ« mendor, sepse tani se ne kemi JavaScript, njĂ« programimi
gjuhĂ« qĂ« shfletues mund tĂ« ekzekutuar dhe interpretuar pĂ«r ju,
rezulton se Ă§farĂ« ne jemi gati pĂ«r tĂ« bĂ«rĂ« nĂ« kodin
Ă«shtĂ« tĂ« fillojĂ« pĂ«r tĂ« manipuluar kĂ«tĂ« Struktura pemĂ« nĂ« kujtim.
Ne nuk kemi pĂ«r tĂ« ndĂ«rtuar pema nĂ« kujtesĂ«.
Ne nuk kemi tĂ« bĂ«jmĂ« lloj Struktura e tĂ« dhĂ«nave pset-pesĂ«-style
kompleksiteti.
Shfletuesi, bukur tĂ« mjaftueshme, mbi interpretimit HTML lartĂ« deri nĂ« fund,
majtas ose djathtas, Ă«shtĂ« fjalĂ« pĂ«r fjalĂ« do tĂ« ne dorĂ« ekuivalentin e njĂ« akrep
pĂ«r kĂ«tĂ« tĂ« gjithĂ« pemĂ« pĂ«r tĂ« lira.
Ai e bĂ«n tĂ« gjithĂ« punĂ«n e vĂ«shtirĂ«.
Kjo Ă«shtĂ« ajo qĂ« Mozilla dhe Apple dhe tĂ« tjerĂ«t kanĂ« bĂ«rĂ« pĂ«r ne.
>> Dhe me JavaScript jemi duke shkuar pĂ«r tĂ« tĂ« jetĂ« nĂ« gjendje pĂ«r tĂ« kontrolluar dhe pĂ«r tĂ« ndryshuar dhe tĂ« bĂ«jĂ«
gjĂ«ra interesante pĂ«r tĂ« kjo pemĂ«, pĂ«rndryshe i njohur
si DOM ose Object Model Document.
Cilat llojet e gjĂ«rave?
E pra, ajo rezulton se nĂ« JavaScript, ka
kjo listĂ« lavanderi tĂ« ngjarje qĂ« mund tĂ« bĂ«het.
Dhe ne nuk e kemi pĂ«rdorur me tĂ« vĂ«rtetĂ« se fjala qĂ« javĂ«n zero dhe pset
zero kur kemi biseduar pĂ«r para.
Shumica prej jush ndoshta nuk e ka pĂ«rdorur njĂ« ngjarje nĂ« projektin tuaj Scratch.
Por ju mund tĂ« kujtojnĂ« tĂ« thjeshtĂ« Marco Polo
shembull, ku kemi pasur dy sprites, njĂ«ri prej tĂ« cilĂ«ve tha: Marco.
Tjetri prej tĂ« cilĂ«ve mĂ« pas, me tĂ« dĂ«gjuarit dhe dĂ«gjuar atĂ« ngjarje, tha: Polo.
NĂ«se jo, tĂ« ndjehen tĂ« lirĂ« pĂ«r tĂ« shikojmĂ« prapa se larg prapa.
>> Por kjo Ă«shtĂ« vetĂ«m pĂ«r tĂ« thonĂ«, dhe ju mund tĂ« lloj
konkludoj nga emrat e kĂ«tyre gjĂ«ra, JavaScript, ajo rezulton,
do tĂ« na japĂ« njĂ« mĂ«nyrĂ« pĂ«r tĂ« dĂ«gjuar pĂ«r miun shkuar poshtĂ« ose miut duke shkuar deri
ose kyĂ§ duke shkuar poshtĂ« ose kyĂ§ duke shkuar lart ose onselect onsubmit
ose onresizing diĂ§ka.
Me fjalĂ« tĂ« tjera, Ă§do veprim fizik qĂ« njĂ« njeri mund tĂ« marrĂ« me njĂ« shfletues
qĂ« ju bĂ«ni Ă§do ditĂ«, ju mund tĂ« shkruani Kodi pĂ«r qĂ« dĂ«gjon pĂ«r ato ngjarje
dhe pastaj bĂ«n diĂ§ka tĂ« pĂ«rshtatshme.
>> PĂ«r shembull, nĂ« qoftĂ« se ju pĂ«rdorni Google Maps, Ă§farĂ« ndodh nĂ« qoftĂ« se ju klikoni dhe veprim
miu, zakonisht?
NĂ«se ju klikoni dhe terhiq?
Po?
PikĂ«risht.
Harta fillon tĂ« lĂ«vizĂ«.
KĂ«shtu qĂ« ju mund tĂ« lloj tĂ« shihni se Ă§farĂ« Ă«shtĂ« gjatĂ« kĂ«tu, Ă§farĂ« Ă«shtĂ« atje.
Dhe si Google zbatojnĂ« atĂ«?
E pra, me sa duket, ata janĂ« duke pĂ«rdorur njĂ« Ă§ift tĂ« kĂ«tyre ngjarjes
dĂ«gjuesit, njĂ« qĂ« thotĂ«, dĂ«gjoj pĂ«r nĂ« miun
down-- kĂ«shtu kur pĂ«rdoruesi fizikisht shtyn trackpad e tij ose tĂ« tij apo miut saj
poshtĂ«.
Dhe pastaj ne jemi duke kĂ«rkuar pĂ«r diĂ§ka si lĂ«vizje
apo ndonjĂ« ngjarje tjetĂ«r qĂ« na lejon tĂ« kapur terhiq.
Dhe nĂ« fakt, terhiq Ă«shtĂ« nĂ« mĂ«nyrĂ« tĂ« ngjashme nĂ« kĂ«tĂ« Dot Dot dot listĂ«n e opcioneve tĂ« mundshme.
>> Pra, kjo do tĂ« jetĂ« njĂ« i fuqishĂ«m mĂ«nyrĂ« pĂ«r tĂ« filluar duke iu pĂ«rgjigjur pĂ«rdoruesit
madje edhe para se ai ose ajo nĂ« tĂ« vĂ«rtetĂ« klikimeve diĂ§ka e qartĂ« si dorĂ«zojĂ«.
Por, ne jemi duke shkuar pĂ«r tĂ« futur disa tema Ă§ift pĂ«r tĂ« arritur atje.
Tranzicioni Por sĂ« pari, le tĂ« nĂ« njĂ« farĂ« kodin aktual.
KĂ«shtu qĂ« unĂ« jam duke shkuar pĂ«r tĂ« shkuar pĂ«rpara dhe tĂ« hapur dom-0,
i cili Ă«shtĂ« njĂ« shembull shumĂ« i thjeshtĂ« kĂ«tu se nĂ« qoftĂ« se kam zmadhuar thjesht
ka kĂ«tĂ« input kĂ«tu pĂ«r mua.
Dhe unĂ« jam duke shkuar pĂ«r tĂ« shkuar pĂ«rpara dhe shkruani "Davidi" nĂ« emrin tim dhe kliko Submit.
>> Dhe pastaj, megjithĂ«se lloj Ă§mim tĂ« ulĂ«t, unĂ« kanĂ« kĂ«tĂ« prompt qĂ« pops up qĂ« thotĂ« se,
"hello, David!"
Pra, kjo Ă«shtĂ« lloj i si tonĂ« "hello, bota"
qĂ« ne e bĂ«mĂ« copĂ« herĂ« prapa nĂ« C dhe edhe nĂ« PHP, sepse unĂ« kam dinamike
outputted emrin tim.
UnĂ« mund tĂ« bĂ«j emrin e dikujt tjetĂ«r kĂ«tu.
UnĂ« thjesht mund tĂ« ndryshojĂ« kĂ«tĂ«, si Ana, klikoni Submit.
Dhe me tĂ« vĂ«rtetĂ«, e vogla pop-up ndryshime.
>> Tani, pop-ups janĂ« njĂ« nga shumica e tiparet e dhunuara tĂ« web.
Dhe nĂ« fakt, prapa nĂ« e ditĂ« pop-up blockers
erdhi nĂ« modĂ«, sepse ju do tĂ« shkojĂ« nĂ« njĂ« farĂ« website--
ndoshta njĂ« place-- diskutueshme Kjo do pastaj papritmas
filloni peppering ekranin tuaj me njĂ« bandĂ« e tĂ«rĂ« e pop-ups.
Dhe kĂ«shtu kjo aftĂ«si pĂ«r tĂ« pop up dritaret nĂ« frontin e pĂ«rdoruesit
nuk ka qenĂ« veĂ§anĂ«risht mirĂ«-pranuar nga njerĂ«zimi.
Pra, kjo Ă«shtĂ« arsyeja pse ju shikoni kjo parandaluar gjĂ«,
qĂ« vetĂ«m e bĂ«n kĂ«tĂ« gjĂ« tĂ« gjithĂ« e shĂ«mtuar.
Pra, ne jemi duke shkuar pĂ«r nevojĂ« pĂ«r njĂ« mĂ«nyrĂ« mĂ« tĂ« mirĂ« pĂ«r tĂ« menjĂ«hershĂ«m tĂ« pĂ«rdoruesit.
Por tani pĂ«r tani, qĂ« duket pĂ«r tĂ« punuar.
Pra, vetĂ«m intuitive, Ă§farĂ« duket se po ndodh kĂ«tu?
UnĂ« shkoj pĂ«rpara dhe kliko Submit, dhe atĂ«herĂ« diĂ§ka po ndodh, nĂ« mĂ«nyrĂ« tĂ« qartĂ«.
Por ajo qĂ« nuk po ndodh kjo ka ndodhur javĂ«n e kaluar Ă§do herĂ« qĂ« unĂ« klikuar Submit?
Ă‡farĂ« nuk ka ndodhur nĂ« ekran?
Na vjen keq?
Ringarkoni.
URL nuk ka ndryshuar fare.
UnĂ« i thashĂ« se kjo ishte dom-0, dhe unĂ« jam ende nĂ« DOM-0.
Normalisht, ne do tĂ« merrni ndryshuar nĂ« disa tĂ« tjera URL, si register.php apo si.
>> Por edhe kur unĂ« tĂ« shkarkojĂ« kjo gjĂ« duke klikuar OK,
vini re se URL qĂ«ndron vĂ«nĂ« plotĂ«sisht.
Dhe, nĂ« fakt, nĂ« qoftĂ« se unĂ« jam pak skeptik, mĂ« lejoni tĂ« hapur Chrome.
MĂ« lejoni tĂ« hapĂ« skedĂ«n e rrjetit.
Dhe vini re kjo Ă«shtĂ« bosh nĂ« kĂ«tĂ« moment.
MĂ« lejoni tĂ« shkoj pĂ«rpara dhe tĂ« rikthejĂ« Maria.
Nuk ka asnjĂ« tĂ« trafikut tĂ« rrjetit whatsoever.
KĂ«shtu qĂ« nuk ka HTTP.
>> Pra nĂ« tĂ« vĂ«rtetĂ«, nĂ« qoftĂ« se unĂ« shoh nĂ« kodin burimor pĂ«r this-- lejoni tĂ« mbyllur kĂ«tĂ« dritare
dhe shkoni tek View Source.
Interesante.
Ajo duket sikur ka disa tags reja, nĂ« mesin e tyre script.
Pra, le tĂ« marrin njĂ« vĂ«shtrim brenda CS50 IDE pikĂ«risht ajo qĂ« kam dĂ«rguar pĂ«r pĂ«rdoruesit.
>> KĂ«shtu qĂ« kĂ«tu is-- le tĂ« pĂ«rqĂ«ndrohet nĂ« vetĂ«m HTML.
KĂ«tu Ă«shtĂ« pjesa e poshtme e DOM-0.html.
Dhe vini re se atĂ« e mori njĂ« titull, njĂ« tag kokĂ«, njĂ« tag trup, njĂ« tag formĂ«.
Por ajo qĂ« hedhje jashtĂ« pĂ«r ju si tĂ« ndryshme, veĂ§anĂ«risht nĂ« qoftĂ« se ju kurrĂ« nuk kam
shkruar ndonjĂ« JavaScript veten.
MĂ« lejoni tĂ« lĂ«vizni pak tĂ« drejtĂ« kĂ«tu.
UnĂ« kam marrĂ« njĂ« kontribut, tjetĂ«r input pĂ«r tĂ« paraqesĂ«.
UnĂ« kam marrĂ« njĂ« ID, qĂ« Ă«shtĂ« lloj i ri.
Por ne nuk e shohim kĂ«tĂ« me CSS.
Ă‡farĂ« tjetĂ«r Ă«shtĂ« padyshim e re?
Po?
Bukur.
>> NĂ« rregull.
Pra, ku ai thotĂ« onsubmit: vini re Ă§farĂ« duket pĂ«r t'u ndjekur.
Ky Ă«shtĂ« njĂ« atribut nĂ« nomenklaturĂ« HTML.
Vlera e saj Ă«shtĂ« kjo string cituar kĂ«tu.
Dhe kjo duket pak pazakontĂ« nĂ« shikim tĂ« parĂ«.
Kjo nuk Ă«shtĂ« HTML.
Kjo nuk Ă«shtĂ« CSS.
Kjo Ă«shtĂ«, si ju mund tĂ« me mend, JavaScript.
Pra, duket se i ndĂ«rtuar nĂ« kĂ«tĂ« web faqja Ă«shtĂ« njĂ« funksion i quajtur fala.
Dhe unĂ« jam inferring se vetĂ«m sepse kjo Ă«shtĂ« njĂ« fjalĂ«, pĂ«rshĂ«ndes.
Ajo ka njĂ« paren hapur, paren ngushtĂ«, pikĂ«presje.
Duket si njĂ« funksion C, duket si njĂ« funksion PHP.
>> Dhe me tĂ« vĂ«rtetĂ«, ajo do tĂ« tĂ« jetĂ« njĂ« funksion JavaScript.
AtĂ«herĂ« unĂ« jam kthyer rreme.
Ne do tĂ« kthehen nĂ« qĂ« nĂ« njĂ« moment tĂ« vetĂ«m.
Por, ku Ă«shtĂ« ky funksion pĂ«rkufizohet?
E pra mĂ« lejoni tĂ« lĂ«vizni lart nĂ« majĂ« tĂ« lĂ«ndĂ«s.
Dhe, edhe pse kjo Ă«shtĂ« njĂ« linjĂ« tĂ« gjatĂ«, Ă«shtĂ« relativisht e lehtĂ«.
MĂ« lejoni tĂ« zoom jashtĂ« kĂ«tu dhe tĂ« pĂ«rqĂ«ndrohet nĂ« kĂ«to katĂ«r rreshta.
>> Pra nĂ« JavaScript, vetĂ«m si PHP, ju vetĂ«m
tĂ« themi, fjalĂ« pĂ«r fjalĂ«, fjala "funksioni" emri i funksionit,
dhe pastaj kllapa me ndonjĂ« argumente tĂ« nuk ka argumente nĂ« kĂ«tĂ« rast.
Dhe nuk ka asnjĂ« lloj kthim nĂ« JavaScript, ashtu si PHP.
Pra, kjo Ă«shtĂ« pak lirshĂ«m se C. MbajtĂ«se hapur kaĂ§urrel, mbajtĂ«se afĂ«r kaĂ§urrel.
NdĂ«rtuar nĂ« JavaScript Ă«shtĂ« njĂ« function-- jo njĂ« function-- rekomanduara
por njĂ« funksion tĂ« quajtur alarm qĂ«llimi i tĂ« cilit i vetĂ«m nĂ« jetĂ«
Ă«shtĂ« pĂ«r tĂ« tĂ«rhequr deri atĂ« goxha e shĂ«mtuar shpejtĂ« qĂ« ne pamĂ« njĂ« moment mĂ« parĂ«.
>> Tani kjo Ă«shtĂ« lloj i njĂ« kafshatĂ«.
Cfare po ndodh ketu?
Pra, le tĂ« fillojĂ« tĂ« nxjerrĂ« nĂ« pah Ă§do gjĂ« kĂ«tu.
Ky Ă«shtĂ« i njĂ«jti argument pĂ«r tĂ« njoftuar.
Dhe Ă§farĂ« po ndodh?
Kjo vetĂ«m duket si njĂ« varg.
Dhe kjo rezulton, ndryshe nga PHP dhe ndryshe nga C, kjo nuk ka rĂ«ndĂ«si nĂ« JavaScript
nĂ« qoftĂ« se ju Kuotat e vetme apo tĂ« dyfishtĂ« kuotat.
Ata do tĂ« jetĂ« e barabartĂ«.
Dhe sinqerisht, kjo Ă«shtĂ« vetĂ«m popullarizuar kĂ«to ditĂ«
pĂ«r programuesit JavaScript qĂ« gjithmonĂ« pĂ«rdorni kuotat e vetme pĂ«r disa arsye.
Ă‹shtĂ« vetĂ«m gjĂ« pĂ«r tĂ« bĂ«rĂ«.
Por ne mund tĂ« pĂ«rdorni kuotat e dyfishtĂ«, si edhe.
>> Pra, plus Ă«shtĂ« njĂ« karakter tĂ« ri.
Por ata prej jush qĂ« keni bĂ«rĂ« kĂ«tĂ« mĂ« parĂ«, Ă§ka do tĂ« thotĂ« plus?
Po.
Lidh.
Pra, ne pamĂ« kĂ«tĂ« nĂ« PHP.
Nuk Ă«shtĂ« vetĂ«m dot operator nĂ« PHP qĂ«
do tĂ« lidh dy vargje sĂ« bashku.
C ishte njĂ« dhimbje nĂ« qafĂ« pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ«.
Recall nga pset gjashtĂ«, i cili ishte njĂ« dhimbje veĂ§antĂ« nĂ« qafĂ«,
ju do tĂ« duhet tĂ« pĂ«rdorni diĂ§ka si strcat
pas ndarjes sĂ« kujtesĂ«s nĂ« rafte apo tog.
Ju kishte pĂ«r tĂ« kĂ«rcejnĂ« pĂ«rmes hoops vetĂ«m pĂ«r tĂ« lidh dy vargjet.
NĂ« JavaScript, Ă«shtĂ« e thjeshtĂ« super.
VetĂ«m tĂ« pĂ«rdorni operatorin plus mes tyre.
>> Pra, kompleks-looking gjĂ« duket tĂ« jetĂ« kjo
sepse nĂ« fund e tĂ«rĂ« kjo string, unĂ« vetĂ«m
lidh nĂ« njĂ« pikĂ« thirrje.
Pra, nĂ« qoftĂ« se ajo Ă«shtĂ« popping up u "hello, Davidi" "hello, Ana,"
"hello, Maria," dhe kĂ«shtu me radhĂ«, nĂ« mĂ«nyrĂ« tĂ« qartĂ« se gjĂ«ja e mesme nĂ« mes tĂ« dy
pluses duhet tĂ« mĂ« jep akses nĂ« Ă§farĂ«?
Ă‡farĂ« Ă«shtĂ« atje pĂ«r tĂ« sigurt?
Po.
KĂ«shtu qĂ« unĂ« do tĂ« pretenduar kĂ«tu pĂ«rgjigjet emrin e tyre, apo jo?
Pra, emri i tyre popped deri nĂ« finale rezultat. Pra, Ă§farĂ« do tĂ« thotĂ« kjo?
E pra, unĂ« propozuar mĂ« herĂ«t nĂ« atĂ« foto se e ashtuquajtura DOM
ka kĂ«tĂ« element tĂ« veĂ§antĂ« rrĂ«njĂ« rrugĂ«n deri quajtur lartĂ« dokument.
Dhe tani, ajo rezulton, se po ndodh tĂ« jetĂ« njĂ« variabĂ«l tĂ« veĂ§antĂ« globale
nĂ« JavaScript, ndĂ«rtuar nĂ« tĂ« cilĂ«n Ă«shtĂ« tĂ«rĂ« bandĂ« e funksionalitetit tĂ« dobishme.
NdĂ«r funksionalitetin e dobishme Ă«shtĂ« aftĂ«sia pĂ«r tĂ« marrĂ« nĂ« Ă§do nyje pasardhĂ«s.
KĂ«to sheshe apo rectangles ose ellipses janĂ« vetĂ«m nyjet nĂ« njĂ« pemĂ«, kĂ«shtu qĂ« tĂ« flasin.
>> Pra, rezulton se ndĂ«rtuar nĂ« Dokumenti objekt javascript-sĂ«
Ă«shtĂ« njĂ« funksion, i njohur ndryshe si njĂ« metodĂ«, qĂ« quhet getElementById.
Sintaksa pĂ«r thirrje njĂ« funksion nĂ« JavaScript
ajo Ă«shtĂ« brenda njĂ« objekti ose njĂ« variabĂ«l Ă«shtĂ« vetĂ«m me dot simbol.
Dhe ne pamĂ« kĂ«tĂ« nĂ« C Ă§farĂ« sintaksa struct.
Ju shikoni kĂ«tĂ« nĂ« pset shtatĂ«, lloj, lloj, kur ju shikoni CS50 :: pyetje.
ZorrĂ« e trashĂ« zorrĂ«s sĂ« trashĂ« nĂ« PHP Ă«shtĂ« njĂ« tjetĂ«r MĂ«nyra e quajtur njĂ« funksion qĂ« Ă«shtĂ«
brenda ndonjĂ« objekt.
>> Por tani pĂ«r tani nĂ« JavaScript, kjo Ă«shtĂ« vetĂ«m njĂ« pikĂ«.
Dhe kĂ«shtu ky funksion, bukur tĂ« mjaftueshme, lloj i
thotĂ« atĂ« qĂ« does-- merrni element me ID.
NjĂ« element Ă«shtĂ« vetĂ«m njĂ« tjetĂ«r emĂ«r pĂ«r njĂ« tag ose nyje nĂ« DOM.
Dhe kĂ«shtu qĂ« tĂ« merrni element me ID "emrin" do tĂ« thotĂ« this-- kĂ«tu Ă«shtĂ« HTML ime.
Dhe nĂ« bazĂ« tĂ« kĂ«saj HTML, Ă§farĂ« nyjĂ« apo Ă§farĂ« HTML tag jam unĂ«
do tĂ« jetĂ« i programuar duar duke e quajtur document.getElementById?
>> Po, pikĂ«risht.
UnĂ« jam duke shkuar pĂ«r tĂ« marrĂ« tĂ« dhĂ«na Elementi ekziston ID cilit Ă«shtĂ« "emĂ«r".
Pra konkretisht, ju mund tĂ« tĂ« mendojnĂ« pĂ«r kĂ«tĂ« funksion,
getElementById, si njĂ« mĂ«nyrĂ« pĂ«r tĂ« dhĂ«nĂ« mbĂ«shtetur njĂ« tregues pĂ«r atĂ« nyje tĂ« veĂ§antĂ«
nĂ« pemĂ«.
Ne nuk e kemi tĂ«rhequr kĂ«tĂ« pemĂ«, por kjo Ă«shtĂ« njĂ« mĂ«nyrĂ«
pĂ«r tĂ« marrĂ« qasje nĂ« se drejtkĂ«ndĂ«sh ose qĂ« drejtkĂ«ndĂ«sh
duke unike identifikuar atĂ« nĂ«pĂ«rmjet ID saj.
>> Tani, pse Ă«shtĂ« kjo e dobishme?
E pra, ajo rezulton se njĂ« herĂ« ju keni marrĂ«
kjo nyje, qĂ« drejtkĂ«ndĂ«sh nga foto, kjo nyje nĂ« brendĂ«si tĂ« saj,
nga ana tjetĂ«r, ka njĂ« bandĂ« e tĂ«rĂ« e properties-- Ă§ifte kyĂ§ vlerĂ«
ose dhĂ«nat, njĂ« nga tĂ« cilat Ă«shtĂ« e quajtura vlerĂ«.
Pra fjalĂ« pĂ«r fjalĂ«, kjo Ă«shtĂ« lloj i njĂ« kafshatĂ« pĂ«r tĂ« shpjeguar tĂ« gjithĂ« gjĂ«.
Por nĂ« fund tĂ« ditĂ«s, e gjithĂ« kjo nuk Ă«shtĂ« tĂ« ju jap
njĂ« varg qĂ« pĂ«rdoruesi shtypur nĂ« nĂ« kĂ«tĂ« mĂ«nyrĂ« hierarkike.
Por unĂ« nuk e pĂ«lqen njĂ« disa nga kĂ«to gjĂ«ra.
Ose mĂ« mirĂ«, ka disa kuriozitet ende.
E gjithĂ« kjo dukej pĂ«r tĂ« punuar.
Pse mendoni se unĂ« u kthye rreme pas thirrje pĂ«rshĂ«ndes?
Kjo duket pak e shĂ«mtuar, qĂ« UnĂ« kam dy deklarata atje
ndarĂ« nga dy pika.
Merrni njĂ« guess.
NĂ« qoftĂ« se kam hequr kthimit tĂ« rreme, Ă§farĂ« mund tĂ« ndodhĂ«, vetĂ«m instinktivisht?
Na vjen keq, them pĂ«rsĂ«ri?
>> Hap njĂ« bandĂ« e Windows-it.
Pra, potencialisht ndoshta diĂ§ka si kjo do tĂ« ndodhte.
Ă‡farĂ« tjetĂ«r?
Mund tĂ« paraqesĂ« njĂ« kĂ«rkesĂ« ku?
NĂ« tĂ« njĂ«jtĂ«n faqe.
Pra, nĂ« fakt, kjo Ă«shtĂ« ajo sa mĂ« afĂ«r tĂ« pĂ«rgjigjem kĂ«tu,
edhe pse, ndryshe nga nĂ« tĂ« kaluarĂ«n, unĂ« nuk kam
specifikuar atributi veprimit, tĂ« cilat normalisht ne duhet tĂ« bĂ«jmĂ«.
Rezulton se ka njĂ« default. NĂ«se ju nuk specifikoni veprim,
kjo Ă«shtĂ« si duke thĂ«nĂ« kuotĂ«n, mbyll thonjĂ«zat ose emrin e file vetĂ«,
e cila nĂ« kĂ«tĂ« rast do tĂ« tĂ« jetĂ« si DOM-0.html.
Ă‹shtĂ« vetĂ«m lloj i nxirret, ose mĂ« mirĂ« tĂ« nĂ«nkuptuar.
>> Dhe kĂ«shtu qĂ« nĂ« qoftĂ« se unĂ« nuk e bĂ«jmĂ« kĂ«tĂ«, le tĂ« vini re.
MĂ« lejoni tĂ« shpĂ«tuar kĂ«tĂ«.
Dhe unĂ« kam hequr kthimit tĂ« rreme.
MĂ« lejoni tĂ« kthehemi nĂ« kĂ«tĂ« shembull dhe forcĂ« ringarkoni atĂ«.
Dhe ju mund tĂ« keni parĂ« mua sugjeroj kjo nĂ« CS50 Diskutoni njĂ« bandĂ« e herĂ«.
NĂ«se ndonjĂ« gjĂ« e ndonjĂ«herĂ« duke vepruar shokuar dhe shfletuesi nuk Ă«shtĂ« sillet si ju presin,
shpesh ju do tĂ« dĂ«shironi tĂ« mbajĂ« Shift dhe pastaj kliko Rifresko.
Kjo do tĂ« detyrojĂ« Ă§do fotografi pĂ«r tĂ« rifreskoni dhe nuk e pĂ«rdorin cache lokale tĂ« shfletuesit tuaj
ose kopje kĂ«shtu qĂ« tani, mĂ« lejoni tĂ« shkoj pĂ«rpara dhe hapur deri Inspektori time, tab rrjetit.
UnĂ« jam duke shkuar pĂ«r tĂ« klikoni Ruajtur KyĂ§u sepse unĂ«
nuk duan qĂ« ajo tĂ« fshini rreshtat njĂ« herĂ« kam marrĂ« tĂ« whisked larg diku tjetĂ«r.
>> MĂ« lejoni tĂ« shkoj pĂ«rpara dhe kĂ«tu lloji nĂ« Andi, klikoni Submit.
NĂ« rregull.
Kjo duket ashtu siĂ§ pritet.
Ai thotĂ« se "hello, Andi."
MĂ« lejoni tĂ« klikoni OK.
Interesante.
Vini re se kjo faqe ka ndryshuar, megjithĂ«se tek faqja origjinale.
Njoftim lloj URL e ndryshuar.
Ajo ka shtuar njĂ« pikĂ«pyetje, e cila Ă«shtĂ« zakonisht njĂ« tregues
qĂ« ne u pĂ«rpoq tĂ« paraqesĂ« diĂ§ka.
Dhe pastaj nĂ« fund, edhe mĂ« shumĂ« nĂ« mĂ«nyrĂ« tĂ« qartĂ«,
kĂ«tu Ă«shtĂ« HTTP kĂ«rkesa aktuale, e cila mori njĂ« pĂ«rgjigje prej 200 qĂ«
mĂ« ktheu kĂ«tu.
>> Pra, kjo nuk Ă«shtĂ« Ă§farĂ« ne duam tĂ« bĂ«jmĂ«, e drejtĂ«?
Sepse unĂ« nuk dua tĂ« ringarkoni tĂ«rĂ« faqen.
UnĂ« nĂ« vend tĂ« kĂ«rkuar pĂ«r tĂ« kthyer rreme nĂ« mĂ«nyrĂ« qĂ« tĂ« qark tĂ« shkurtĂ«r
Sjellja e shfletuesit parazgjedhur, e cila ishte, sigurisht, tĂ« paraqesĂ« faqe.
>> Pra, le tĂ« marrin njĂ« vĂ«shtrim nĂ« njĂ« shembull pak mĂ« mirĂ«.
Ky Ă«shtĂ« version dom njĂ«.
Dhe vini re nĂ« vijim.
Ă‹shtĂ« nĂ« rregull nĂ«se ju nuk grok tĂ« gjithĂ« nga linjat e kodit.
Por ajo qĂ« Ă«shtĂ« krejtĂ«sisht e ndryshme nĂ« lidhje me kĂ«tĂ« zbatim?
UnĂ« do tĂ« pĂ«rcaktojnĂ« se sillet nĂ« njĂ«jtĂ«, bĂ«n tĂ« njĂ«jtĂ«n gjĂ«.
Ă‡farĂ« kam padyshim bĂ«rĂ« ndryshe?
Po?
>> Audienca: [padĂ«gjueshme].
DAVID Malan: Po.
Pra, funksioni Ă«shtĂ« pĂ«rcaktuar differently-- me fjalĂ« tĂ« tjera, qĂ« mungojnĂ« nga forma,
atje lart nĂ« linjĂ« 7-- ose nĂ« vend, linja 8-- nuk
a kam atributin onsubmit.
NĂ« shembullin e mĂ«parshĂ«m, kam pasur kĂ«tĂ«.
Dhe atĂ«herĂ« unĂ« fjalĂ« pĂ«r fjalĂ« shkruar kodin tim kĂ«tu.
Dhe atĂ«herĂ« thashĂ« kthimit tĂ« rreme.
Dhe nĂ« qoftĂ« se ajo nuk fshij ju rrugĂ«n e gabuar akoma,
ajo duhet tĂ« fillojĂ« tĂ« aq si, ashtu si nĂ« HTML,
kur kemi filluar tĂ« bashkĂ«-shoqĂ«rohem it me CSS nĂ« atributet stil,
ajo sapo ka filluar pĂ«r tĂ« marrĂ« njĂ« pak Ă§rregullt ose tĂ« ndjehen njĂ« gabim tĂ« vogĂ«l.
>> NĂ« mĂ«nyrĂ« tĂ« ngjashme kĂ«tu, nĂ« qoftĂ« se ju filloni duke marrĂ« HTML,
dhe pastaj ju automatikisht pllum disa kodin e Java skriptet
nĂ« mes tĂ« njĂ« varg tĂ« cituar, Ă«shtĂ« nuk do tĂ« jetĂ« shumĂ« maintainable.
E drejtĂ«?
Kjo nuk Ă«shtĂ« edhe e qartĂ« nĂ« fillim vendin ku kodi JavaScript Ă«shtĂ«.
Pra, kjo do tĂ« jetĂ« me tĂ« vĂ«rtetĂ« e bukur si njĂ« parim i dizajnit tĂ« mirĂ«,
le tĂ« mbajĂ« HTML tonĂ« plotĂ«sisht ndarĂ« nga tonĂ« JavaScript.
>> Pra, pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ«, ajo qĂ« ne kemi bĂ«rĂ« kĂ«tu Ă«shtĂ« following--
ne thjesht pĂ«rdor HTML vetĂ«m pĂ«r markup.
Dhe kĂ«shtu nĂ« versionin e njĂ« prej kĂ«saj, tĂ« gjithĂ« UnĂ« kam Ă«shtĂ« njĂ« formĂ« me njĂ« ID unike.
Dhe pastaj poshtĂ« kĂ«tu, unĂ« jam duke pĂ«rfituar i njĂ« tipar tĂ« veĂ§antĂ« tĂ« JavaScript
ku unĂ« mund tĂ« ketĂ« atĂ« qĂ« e quajtur njĂ« funksion anonim.
Pra, rezulton se nĂ« qoftĂ« se unĂ« e quaj document.getElementById e 'demo'
kjo Ă«shtĂ« si duke i dhĂ«nĂ« mua njĂ« tregues pĂ«r kjo nyje nĂ« pemĂ« tim, elementi forma,
mĂ«nyrĂ« qĂ« tĂ« flasin.
>> Tani, unĂ« vetĂ«m e di nga duke e ditur njĂ« grimĂ« e HTML
tani ne jemi duke lexuar disa internet reference, qĂ« njĂ« element formĂ« mbĂ«shtet
njĂ« bandĂ« e tĂ«rĂ« e listeners-- ngjarje nĂ« fjalĂ« tĂ« tjera, listĂ« lavanderi tĂ« ngjarjes
dĂ«gjuesit qĂ« kemi parĂ« njĂ« moment mĂ« parĂ«.
UnĂ« e di nga leximi i dokumentacionit se onsubmit Ă«shtĂ« njĂ« ngjarje e vlefshme
dĂ«gjues pĂ«r njĂ« element formĂ«.
>> Pra, njĂ« herĂ« unĂ« e di se, Ă«shtĂ« e sigurt pĂ«r mua pĂ«r tĂ« bĂ«rĂ«
following-- marrĂ« atĂ« nyje nga pema, elementi forma,
dhe qasjen e saj tĂ« ashtuquajtur Prona onsubmit.
Pra dot vetĂ«m do tĂ« thotĂ« kjo Ă«shtĂ« njĂ« pronĂ«,
si njĂ« vlerĂ« tĂ« veĂ§antĂ« nĂ« brendĂ«si tĂ« saj.
Dhe Ă§farĂ« lloji tĂ« dhĂ«na jam unĂ« caktimin, me sa duket,
te onsubmit, i cili Ă«shtĂ« nĂ« mĂ«nyrĂ« efektive njĂ« variabĂ«l brenda
e kĂ«saj nyje nĂ« pemĂ«?
Kjo Ă«shtĂ« njĂ« fushĂ« brenda kĂ«saj struct.
Ă‡farĂ« Ă«shtĂ« lloji i tĂ« dhĂ«nave?
>> NjĂ« funksion, po.
Pra, rezulton se PHP ka kjo.
Dhe, edhe pse ne nuk ju them pĂ«r kĂ«tĂ«,
C gjithashtu ka funksion, pointers AftĂ«sia pĂ«r tĂ« kaluar dhe tĂ« caktojĂ« funksione
si vlera tĂ« variablave 'vetĂ«.
Dhe ne nuk jemi duke shkuar pĂ«r regres prapa nĂ« C.
Por tani pĂ«r tani, rezulton se nĂ« anĂ«n e djathtĂ« kĂ«tu,
edhe pse kjo duket pak shokuar, kjo do tĂ« thotĂ«, hej shfletues,
mĂ« jepni njĂ« funksion.
UnĂ« nuk jam duke shkuar pĂ«r tĂ« shqetĂ«sojĂ« edhe duke i dhĂ«nĂ« atĂ« njĂ« emĂ«r pĂ«r shkak se unĂ« jam fjalĂ« pĂ«r fjalĂ«
do tĂ« caktojĂ« le ta quajmĂ« adresa e kĂ«tij funksioni
menjĂ«herĂ« pĂ«r onsubmit.
Me fjalĂ« tĂ« tjera, shfletues, ju nuk keni nevojĂ« tĂ« dini se Ă§farĂ« ky funksion quhet.
Ju vetĂ«m duhet tĂ« dini ku ajo eshte ne memories.
Dhe kĂ«shtu kjo mjafton vetĂ«m pĂ«r tĂ« kanĂ« njĂ« shenjĂ« tĂ« barabartĂ« atje
dhe mos tĂ« shqetĂ«sojĂ« emĂ«rtimin kĂ«tĂ«, si foo ose pĂ«rshĂ«ndes ose ndonjĂ« fjalĂ« tjetĂ«r.
Dhe tani kjo Ă«shtĂ« vetĂ«m njĂ« gjĂ« e stilistik.
UnĂ« mund tĂ« lĂ«vizĂ« kĂ«tĂ« mbajtĂ«se kaĂ§urrel mbi the-- sorry-- linjĂ« tjetĂ«r
si ne zakonisht e bĂ«jmĂ« CS50.
Por nĂ« JavaScript, Ă«shtĂ« nĂ« fakt stilistikisht tĂ« pĂ«rbashkĂ«t
pĂ«r tĂ« mbajtur vetĂ«m mbajtĂ«se kaĂ§urrel, The pari, nĂ« atĂ« rreshtin e parĂ«.
>> Por kĂ«tej e tutje, ka asgje interesante.
QĂ« mbajtĂ«se hapur kaĂ§urrel vetĂ«m NĂ« kufirin fillimin e funksionit tim.
Funksioni Ă«shtĂ« tani identike, pĂ«rveĂ§ unĂ« kam
pĂ«rfshirĂ« false kthimit brenda kĂ«tij funksioni.
Sepse ajo kthehet out-- dhe ju do tĂ« vetĂ«m
e di kĂ«tĂ« nga leximi documentation--
se nĂ«se funksionin qĂ« ju tĂ« caktojĂ« pĂ«r mbajtĂ«s onsubmit kthimit tĂ« rreme,
shfletuesi vetĂ«m e di dhe pranon mos tĂ« dorĂ«zojĂ« formularin nĂ« njĂ« server.
NĂ«se ajo kthehet e vĂ«rtetĂ«, ajo do tĂ« paraqesĂ« ajo nĂ« njĂ« server pĂ«r arsye ne do tĂ« shohim
janĂ« tĂ« dobishme nĂ« njĂ« moment tĂ« vetĂ«m.
>> Dhe pastaj pikĂ«presje pas mbajtĂ«se kaĂ§urrel atje vetĂ«m
do tĂ« thotĂ« qĂ« unĂ« jam bĂ«rĂ« pĂ«rcaktimin e funksionit.
Ti e di se Ă§farĂ« pĂ«r tĂ« thirrur sa mĂ« shpejt si ju dĂ«gjoni njĂ« parashtresĂ«.
NĂ« rregull.
Kjo Ă«shtĂ« ende ndoshta lloji i shĂ«mtuar.
Pra, Ă§farĂ« mĂ« shumĂ« mund tĂ« bĂ«jmĂ«?
>> E pra, ajo rezulton pastaj nĂ« version dy, qĂ« Ă«shtĂ« last--
dhe ne do tĂ« vetĂ«m shikim nĂ« kĂ«tĂ«.
NĂ« rrezik pĂ«r tĂ« bĂ«rĂ« ajo shĂ«mtuar, rezulton
se ka njĂ« bibliotekĂ« nĂ« bota quajtur jQuery.
Dhe jQuery Ă«shtĂ« njĂ« super popullor bibliotekĂ« JavaScript
kjo Ă«shtĂ« kaq popullore qĂ« mĂ« ndonjĂ« JavaScript-- kjo nuk Ă«shtĂ«
e pazakontĂ« pĂ«r njerĂ«zit pĂ«r tĂ« ngatĂ«rruar jQuery me JavaScript.
PĂ«rse?
VetĂ« JavaScript ka shumĂ« mĂ«nyra fjalĂ«shumĂ« e tĂ« bĂ«rit things--
document.getElementById, dadadadadada.
Ju deri nĂ« fund tĂ« paturit shumĂ« Linjat e gjata tĂ« kodit.
>> Pra, njĂ« shok me emrin John Reshid, qĂ« nĂ« fakt punon pĂ«r njĂ« fillimin
deri kĂ«to ditĂ«, doli me kĂ«tĂ« bibliotekĂ« vjet
mĂ« parĂ« se shumĂ« njerĂ«z kanĂ« kontribuar tĂ« quajtur jQuery qĂ« ndryshon
Sintaksa nĂ« mĂ«nyrĂ«n e mĂ«poshtme.
Dhe vetĂ«m kĂ«shtu qĂ« ju keni parĂ« kĂ«tĂ«, sepse ju do pa ndryshim
shohin kĂ«tĂ« nĂ«se duke bĂ«rĂ« njĂ« Projekti final web-based,
kjo do tĂ« ishte mĂ«nyra ekuivalent i zbatimin e kĂ«tij funksioni tĂ« njĂ«jtĂ«n pĂ«rdorur
kjo bibliotekĂ« tĂ« veĂ§antĂ«.
>> Tani, nĂ« vend se vĂ« nĂ« lojĂ« ajo pĂ«rveĂ§ nĂ« tĂ«rĂ«sinĂ« e tij,
le tĂ« vetĂ«m shikoni nĂ« disa modele.
Kjo Sintaksa duket tĂ« ketĂ« Sa funksionon anonim
ose funksionet Nameless ose funksione AKA lambda?
Dy, e drejtĂ«?
Dhe ju e dini se, edhe nĂ« qoftĂ« se ju nuk jeni super i qetĂ« me kĂ«tĂ«,
vetĂ«m nga fakti se ajo thotĂ« se funksioni () dy herĂ«.
>> Dhe kjo rezulton se Ă§farĂ« ky kod Ă«shtĂ« doing--
dhe ne do tĂ« referohemi referenca nĂ« internet, nĂ« fund tĂ« fundit, pĂ«r disa ndihmĂ« me kĂ«tĂ«.
Kjo thjesht do tĂ« thotĂ« se kur dokumenti Ă«shtĂ« gati,
tĂ« shkojnĂ« pĂ«rpara dhe tĂ« regjistroheni funksioni vijim
si paraqesin mbajtĂ«s pĂ«r HTML Elementi ide unike e tĂ« cilit Ă«shtĂ« demo.
Dhe pastaj, kur kjo ndodh, quajmĂ« kĂ«to dy rreshta tĂ« kodit.
Dhe kjo Ă«shtĂ«, tragjikisht, njĂ« mĂ« shumĂ« MĂ«nyra fjalĂ«shumĂ« tĂ« thĂ«nĂ« kthimit tĂ« rreme.
Dhe ne pĂ«rmendur kjo vetĂ«m pĂ«r shkak ju do tĂ« shihni kodin si ky online.
Dhe kjo Ă«shtĂ« asgjĂ« pĂ«r t'u tmerruar nga.
Por mĂ« tepĂ«r, mbani nĂ« mend se Ă§farĂ« Ă«shtĂ« do tĂ« jenĂ« tĂ« zakonshme nĂ« JavaScript
Ă«shtĂ« kjo paradigmĂ«.
Dhe kĂ«shtu kjo Ă«shtĂ« arsyeja pse ne tregojmĂ« atĂ« pĂ«r tani.
NĂ« rregull.
Pra, pa banesĂ« shumĂ« shumĂ« nĂ« atĂ« sintaksĂ«,
po ka ndonjĂ« pyetje nĂ« KĂ«ta shembuj ose ide deri tani?
NĂ« rregull.
Pra, le tĂ« pĂ«rdorim kĂ«tĂ« pĂ«r diĂ§ka tĂ« dobishme.
Marrja e njĂ« faqe web qĂ« vetĂ«m thotĂ« pĂ«rshĂ«ndetje, kĂ«shtu dhe kĂ«shtu nuk Ă«shtĂ« e gjitha qĂ« interesante,
mos underwhelm.
Kjo nuk do tĂ« jenĂ« tĂ« bukur, por ajo do tĂ« bĂ«jĂ« diĂ§ka tĂ« dobishme.
MĂ« lejoni tĂ« kthehem nĂ« directory time kĂ«tu dhe tĂ« hapur, tĂ« themi, forma-0.html.
>> Pra mendoj kjo Ă«shtĂ« studente faqe sportive i brendshĂ«m e regjistrimit
pa ndonjĂ« CSS apo ndonjĂ« kuptim tĂ« dizajnit.
Dhe unĂ« dua tĂ« shkoj pĂ«rpara dhe regjistruar kĂ«tu me njĂ« fjalĂ«kalim.
Dhe unĂ« jam duke shkuar pĂ«r tĂ« rĂ«nĂ« dakord me kushtet dhe kushtet dhe klikoni Regjistrohu.
Dhe tani faqen e internetit tĂ« thotĂ«: "Ti je regjistruar! (Pra, jo tĂ« vĂ«rtetĂ«.) "
Kjo duket si ajo ka punuar, por mĂ« lejoni tĂ« shkoj pĂ«rpara dhe tĂ« detyrojĂ« reload.
>> Dhe mĂ« lejoni tĂ« them, jo, ju nuk e bĂ«ni nevojĂ« adresĂ«n aktuale time email.
Apo ndoshta ne do tĂ« themi vetĂ«m postĂ«n nĂ« atje.
FjalĂ«kalimi do tĂ« jetĂ«, si, 12345.
Dhe pastaj, vetĂ«m pĂ«r shkak se unĂ« jam i njĂ« idiot, tani Ă«shtĂ« 123456789.
Dhe unĂ« nuk jam duke shkuar pĂ«r tĂ« kontrolluar kutinĂ« tuaj.
>> Hmm.
NĂ« rregull.
Pra, ka disa mundĂ«si pĂ«r pĂ«rmirĂ«sim kĂ«tu.
Dhe ju e dini, ose do tĂ« shohim nĂ« pset shtatĂ«, qĂ« ju mund tĂ« shkruani code--
dhe ju do tĂ« keni pĂ«r tĂ« shkruar kod nĂ« PHP-- pĂ«r tĂ« mbrojtur
kundĂ«r kĂ«tyre llojeve tĂ« pĂ«rdoruesit gabime sepse pĂ«rdoruesi nĂ« mĂ«nyrĂ« tĂ« qartĂ«
nuk ka bashkĂ«punuar.
Dhe ai ose ajo nuk ju ka dhĂ«nĂ« tĂ« gjitha vlerat qĂ« ju tĂ« kĂ«rkuar apo edhe nĂ« formatin
qĂ« keni kĂ«rkuar ato.
Pra, ju do tĂ« shihni nĂ« pset shtatĂ« qĂ« ne me siguri mund tĂ« kemi disa
nĂ«se kushtet qĂ« thonĂ« nĂ« qoftĂ« se e-mail adresĂ«n
nuk Ă«shtĂ« njĂ« username@something.edu, ne mund vetĂ«m
them keq dhe kĂ«rkoj falje pĂ«r pĂ«rdoruesit shumĂ«, si ju mund tĂ« jetĂ« nĂ« pset shtatĂ«.
Ose nĂ« qoftĂ« se ata nuk e kanĂ« kontrolluar atĂ« kuti, rezulton nĂ« PHP, ju mund tĂ« zbulojĂ« se,
shumĂ«.
Dhe sigurisht nĂ«se fjalĂ«kalimet nuk pĂ«rputhen si nĂ« register.php
pĂ«r pset shtatĂ«, ju mund tĂ« zbulojĂ« atĂ«.
Por kjo Ă«shtĂ« njĂ« dhimbje nĂ« qafĂ« nĂ« se tani ata kĂ«rkojnĂ«
ne qĂ« tĂ« shkojnĂ« tĂ« gjithĂ« rrugĂ«n nĂ« server.
Ky pĂ«rdorues Ă«shtĂ« nĂ« dijeni tĂ« gabimit.
Dhe tĂ« paktĂ«n nĂ«se ju pĂ«rdorni disa teknika njohĂ«s,
tani ata duhet tĂ« klikoni mbrapa shigjetĂ«n.
Nuk do tĂ« jetĂ« e bukur, si njĂ« shumĂ« e faqeve sot,
nĂ« qoftĂ« se keni pasur mĂ« tĂ« menjĂ«hershĂ«m reagime, Ă§ast?
>> Me fjalĂ« tĂ« tjera, mĂ« lejoni tĂ« shkoj nĂ« versionin njĂ«, e cila do tĂ« jetĂ« jo prettier.
Por ajo ka kĂ«tĂ« funksion.
Malan, 12345, 123456789, nuk do tĂ« kontrolloni kutinĂ«, Regjistrin.
FjalĂ«kalimet nuk pĂ«rputhen.
Pra, edhe pse kjo pop-up Ă«shtĂ« ugly-- ne mund tĂ« zĂ«vendĂ«sojĂ« kĂ«tĂ« pĂ«rfundimisht
me diĂ§ka si bootstrap, qĂ« ju do tĂ« shihni nĂ« pset shtatĂ«
Ă«shtĂ« njĂ« library-- shumĂ« popullor kam bĂ«rĂ« zbuluar se fjalĂ«kalimet nuk pĂ«rputhen.
NĂ« rregull.
E pra, mĂ« lejoni tĂ« rregullojmĂ« se si pĂ«rdoruesit.
MĂ« lejoni tĂ« shkoj pĂ«rpara dhe tĂ« thonĂ« 12345, 12345.
Ende nuk e kontrolluar marrĂ«veshjen.
Ju duhet tĂ« bien dakord tĂ« Termat dhe Kushtet.
Pra, pse?
>> NĂ« qoftĂ« se ne kemi shtruar tashmĂ« se ka njĂ« mĂ«nyrĂ«,
dhe ne kemi kĂ«rkuar qĂ« ju nĂ« pset shtatĂ« pĂ«r tĂ« zbuluar gabimin
kushtet si kjo server-side, pse duhet unĂ«
mĂ«rzit gjithashtu duke bĂ«rĂ« kĂ«tĂ« nĂ« JavaScript?
Ă‡farĂ« Ă«shtĂ« njĂ« argument nĂ« favor tĂ« shtuar Ă§farĂ«
ju jeni gati pĂ«r tĂ« parĂ« si some-- ka kompleksitet shtesĂ«.
>> Ndoshta nuk ka kokĂ«.
Ă‡farĂ« mund tĂ« jetĂ«?
Audienca: [padĂ«gjueshme].
DAVID Malan: Oh, interesante.
ShfrytĂ«zon tĂ« mundshme.
Aq i sigurt, nĂ« qoftĂ« se ju nuk jeni trajtimin tĂ« dhĂ«na tĂ« gabuara pĂ«rdorues se madhe,
Ndoshta kjo Ă«shtĂ« e gjitha mĂ« mirĂ« nĂ« qoftĂ« se ai as nuk arrijnĂ« serverin tuaj.
UnĂ« do tĂ« shtyjĂ« pĂ«rsĂ«ri atje dhe tĂ« themi, ju ndoshta duhet tĂ«
fix dy kĂ«to probleme.
Por kjo Ă«shtĂ« e drejtĂ«.
Ă‡farĂ« tjetĂ«r?
>> Audienca: [padĂ«gjueshme].
>> DAVID Malan: Po.
Ky kod, siĂ§ kemi thĂ«nĂ« mĂ« parĂ«, Ă«shtĂ« interpretuar nĂ« anĂ«n e klientit.
Ajo nuk e mĂ«rzit server, qĂ« do tĂ« thotĂ« se nuk ka
ndikojnĂ« ngarkesĂ«n e serverit apo kapacitet.
Dhe tani, pĂ«r pak mĂ« tĂ« vjetĂ«r, kjo nuk ka efekt kuptimplotĂ«
sepse unĂ« kam njĂ« pĂ«rdorues tĂ« drejtĂ« tani.
>> Por nĂ«se ju jeni ndonjĂ« Faqja e internetit e madhĂ«sisĂ« tĂ« mirĂ«,
sidomos mĂ« i madh, si Facebook, mĂ« shumĂ« ju mund tĂ« mbani njerĂ«zit jashtĂ«
i serverit tuaj mĂ« tĂ« mirĂ« sepse njĂ« server, natyrisht,
ka vetĂ«m njĂ« sasi e fundme e RAM, njĂ« numĂ«r i caktuar i gigahertz,
njĂ« numĂ«r i caktuar i gjĂ«rave ajo mund tĂ« bĂ«jĂ« pĂ«r njĂ«si tĂ« kohĂ«s.
Pra, nĂ«se ka mĂ« shumĂ« njerĂ«z nĂ« bota goditur serverin tuaj,
aksidentalisht prerjet gabimisht, ashtu si edhe nĂ« qoftĂ« se ju
mund tĂ« mbani atĂ« peshĂ« off serverin tuaj.
Plus, sidomos nĂ« njĂ« celular device-- nĂ« qoftĂ« se ju keni ndonjĂ«herĂ«
hyni nĂ« my.harvard ose Netid Yale ose tĂ« ngjashme,
ka kjo latente me njĂ« shumĂ« tĂ« faqet e internetit si ajo ku ajo merr,
si, njĂ« mallkim i dytĂ« ose dy herĂ«.
Dhe pastaj, PerĂ«ndia im, nĂ« qoftĂ« se ju mistype, atĂ«herĂ« ju keni pĂ«r tĂ« goditur prapa dhe bĂ«j sĂ«rish atĂ«.
Pra, ka latente, veĂ§anĂ«risht nĂ« lidhjet e ngadalshme e rrjetit.
Por JavaScript, sepse ajo shkon nĂ« klientin
dhe nuk ka nevojĂ« pĂ«r tĂ« shkuar mbrapa dhe me radhĂ« nĂ«pĂ«r njĂ« internet potencialisht tĂ« ngadaltĂ«
lidhje, ju mund tĂ« merrni reagime gati i menjĂ«hershĂ«m.
>> Pra, le tĂ« shohim nĂ« kĂ«tĂ«.
MĂ« lejoni tĂ« hapĂ« forma-0 dhe shikoni nĂ« HTML kĂ«tu.
Dhe le tĂ« vetĂ«m tĂ« shohim se Ă§farĂ« po ndodh.
Kjo Ă«shtĂ« njĂ« formĂ« e tĂ« cilit veprimi Ă«shtĂ« register.php.
UnĂ« jam vetĂ«m duke pĂ«rdorur tĂ« merrni aq qĂ« unĂ« mund tĂ« shoh URL.
Por pĂ«r fjalĂ«kalime, ne do tĂ« me siguri duam pĂ«r tĂ« ndryshuar kĂ«tĂ« pĂ«r tĂ« postuar nĂ« realitet.
KĂ«tu Ă«shtĂ« njĂ« fushĂ« input e tekstit tipit.
Ja njĂ« tjetĂ«r input Fusha e tipit fjalĂ«kalim.
KĂ«tu Ă«shtĂ«, nĂ« qoftĂ« se ju kurrĂ« nuk kam parĂ«, njĂ« input i tipit checkbox.
>> Por nuk ka asnjĂ« JavaScript kĂ«tu whatsoever.
Kjo Ă«shtĂ« vetĂ«m HTML qĂ« shkon nĂ« register.php.
Por nĂ« versionin e parĂ«, ku unĂ« filluar tĂ« marrĂ« ato pop-ups,
le tĂ« shohim se Ă§farĂ« nĂ« tĂ« vĂ«rtetĂ« ndodh kĂ«tu.
NĂ« versionin e parĂ«, Ă§farĂ« UnĂ« jam duke shkuar pĂ«r see-- I
mendova se mund tĂ« ngecĂ« mjaft me fjalĂ« tĂ« mjaftueshme, por unĂ« vrapoi jashtĂ«.
>> NĂ« versionin one-- atje ne do tĂ« shkojmĂ«.
NĂ« versionin e parĂ«, vini re following-- dhe nuk Ă«shtĂ« implementimi mirĂ«,
por kjo Ă«shtĂ« e ime e parĂ«.
Vini re se nĂ«n nivelin e formĂ«, unĂ« kam njĂ« tag script.
Dhe njĂ« tag script do tĂ« thotĂ«, hej, shfletues, kĂ«tu
vjen njĂ« kod nĂ«, nĂ« mĂ«nyrĂ« tipike, JavaScript.
Dhe tani, vini re atĂ« qĂ« unĂ« jam duke bĂ«rĂ«.
NĂ« line-- unĂ« mund mezi lexuar it-- rreshti 32, ai thotĂ«:
var form-- kĂ«shtu jepni njĂ« ndryshore tĂ« quajtur formĂ«.
Dhe pastaj merrni document.getElementId e "regjistrimit".
Ă‡farĂ« Ă«shtĂ« kjo?
E pra, mĂ« lejoni tĂ« Rewind kĂ«tu.
Dhe vini re, ah, unĂ« i dha elementin formĂ« njĂ« ide arbitrare, por pĂ«rshkrues
e regjistrimit.
Pra, kjo mĂ« jep njĂ« variabĂ«l qĂ« lejon mua pĂ«r tĂ« rrĂ«mbyer atĂ« nyje,
qĂ« drejtkĂ«ndĂ«sh nĂ« pemĂ« tĂ« quajtur formĂ«.
Mjetet form.onsubmit, hej shfletues, regjistruar njĂ« dĂ«gjues ngjarje
nĂ« kĂ«tĂ« formĂ«.
Me fjalĂ« tĂ« tjera, kur kjo formĂ« Ă«shtĂ« paraqitur, tĂ« ekzekutuar kodin e mĂ«poshtĂ«m.
Ajo nuk ka nevojĂ« pĂ«r njĂ« emĂ«r, sepse pse ju duhet tĂ« dini emrin?
Ju vetĂ«m duhet tĂ« dini Ă‡farĂ« duhet pĂ«r tĂ« ekzekutuar, ergo
Ă«shtĂ« njĂ« funksion anonim ose lambda.
Dhe kjo Ă«shtĂ« funksioni tĂ« gjitha kĂ«to linja kĂ«tu.
Dhe tani, tĂ« jem i sinqertĂ«, edhe pse ju nuk mund tĂ« ketĂ« shkruar ndonjĂ«herĂ« JavaScript
para, kjo Ă«shtĂ« vetĂ«m C dhe PHP logjikĂ«.
Pra, nĂ«se form.email.value == "" - kĂ«shtu qĂ« nĂ«se fusha mail-i Ă«shtĂ« bosh,
Ă§irrem nĂ« pĂ«rdorues me "Ju duhet sigurojĂ« adresĂ«n tuaj tĂ« postĂ«s elektronike. "
TjetĂ«r nĂ« qoftĂ« se form.password.value Ă«shtĂ« Yell bosh nĂ« pĂ«rdoruesit,
"Ju duhet tĂ« japĂ« fjalĂ«kalimin tuaj."
>> MĂ« interesant logjikisht, nĂ«se form.password.value nuk ka
form.confirmation.value-- barabartĂ« ku ka konfirmimi erdhi nga?
MĂ« lejoni tĂ« Rewind.
E pra, unĂ« e quajti kĂ«tĂ« input fushĂ« kĂ«tu fjalĂ«kalim.
Dhe unĂ« e quajti kĂ«tĂ« njĂ« tĂ« tillĂ« kĂ«tu konfirmim.
UnĂ« mund tĂ« ketĂ« e quajti atĂ« FjalĂ«kalimi dy apo ndonjĂ« gjĂ« tjetĂ«r.
UnĂ« jam vetĂ«m duke kontrolluar logjikisht qĂ« kĂ«to dy janĂ« tĂ« njĂ«jta.
Else-- rezulton kjo Ă«shtĂ« z Boole again-- njĂ« vlerĂ« Boolean, kutin.
Pra, nĂ«se unĂ« them, thirrje point-- nĂ«se nuk form.agreement.checked,
Ă§irrem nĂ« tĂ« pĂ«rdoruesit, si dhe.
>> Pra, kjo sintaksĂ« ju do tĂ« shihni Ă«shtĂ« shumĂ« e zakonshme nĂ« JavaScript,
ku ju e keni kĂ«tĂ« shĂ«nim me pika.
Ju filloni me njĂ« objekt kĂ«tu.
Ju pikiatĂ« nĂ« tĂ« thellĂ« pĂ«r njĂ« pĂ«r njĂ« pronĂ« si password.
Dhe pastaj ju merrni nĂ« vlerĂ«n e saj aktuale.
Dhe pĂ«rsĂ«ri, kĂ«tu Ă«shtĂ« input.
KĂ«tu Ă«shtĂ« emri fjalĂ«kalimin.
Dhe vlera e saj Ă«shtĂ« Ă§farĂ«do e njeriut nĂ« fakt ka shtypur nĂ«.
>> Pra, nĂ« tĂ« gjitha kĂ«to raste, u ktheva rreme.
Por nĂ« qoftĂ« se jo, unĂ« tĂ« kthehet e vĂ«rtetĂ«.
Dhe kĂ«shtu qĂ« tani ne shohim njĂ« PĂ«rdorimi bindĂ«se e kur
ju do tĂ« kthehet rreme nĂ« ndaluar atĂ« qĂ« pĂ«rdoruesi tĂ« bĂ«rĂ«
dhe tĂ« bĂ«jĂ« atĂ« ose tĂ« saj tĂ« zgjedhin sĂ«rish ose shkruani pĂ«rsĂ«ri.
PĂ«rndryshe, ne kthim i vĂ«rtetĂ«.
>> Dhe mĂ« lejoni tĂ« prezantoj njĂ« variant tjetĂ«r i kĂ«saj vetĂ«m
pĂ«r pasardhĂ«sit disa tĂ« kuptuarit e tyre.
E pra, nĂ« versionin 2 tĂ« kĂ«saj, formĂ«-2-- UnĂ« do tĂ« bĂ«jĂ« atĂ« me njĂ« valĂ« e njĂ« dore.
Kjo Ă«shtĂ«, pĂ«r ata kurioz, versioni jQuery,
ata prej jush qĂ« mund tĂ« duan tĂ« ujit nĂ« kĂ«tĂ« bibliotekĂ« tĂ« veĂ§antĂ«.
Por le tĂ« start-- dhe ndonjĂ« pyetje?
MĂ« lejoni tĂ« bĂ«j njĂ« pauzĂ« pĂ«r momentin sepse qĂ« ishte e shpejtĂ« dhe shumĂ«.
>> Por gjĂ«ja e mirĂ« kĂ«tu Ă«shtĂ« se tĂ« gjithĂ« i kodit Ă«shtĂ« shumĂ« e shumĂ« tĂ« njĂ«jtĂ«n gjĂ«.
Stuff e re Ă«shtĂ« ajo qĂ« Ă«shtĂ« dom?
Cilat janĂ« kĂ«to rectangles?
Cilat janĂ« kĂ«to nyje?
Ă‡farĂ« Ă«shtĂ« njĂ« funksion anonim?
Ă‡farĂ« Ă«shtĂ« njĂ« mbajtĂ«s ngjarje?
Por fatmirĂ«sisht, shumica e kjo Ă«shtĂ« vetĂ«m rreth tĂ« plotĂ« nga, tĂ« themi, javĂ«n zero.
NĂ« rregull.
Pra, diĂ§ka pak mĂ« interesante?
E pra, para sĂ« gjithash, mĂ« lejoni tĂ« shkoj pĂ«rpara dhe tĂ« hapur Google Maps.
Dhe ju do tĂ« vĂ«reni se pĂ«r njĂ« moment, pĂ«r tĂ« ndarĂ« tĂ« dytĂ«,
vini re se Ă§farĂ« ndodh kur UnĂ« klikoni shpejtĂ« tĂ« mjaftueshme.
Dhe kjo lidhje nĂ« Harvard Ă«shtĂ« aq shpejt qĂ« ju tĂ« vĂ«rtetĂ« nuk e vĂ«rejnĂ« atĂ«.
Por Ă§farĂ« do tĂ« lloj lloj i shoh nĂ« qoftĂ« se unĂ« klikoni dhe terhiq tĂ« vĂ«rtetĂ« tĂ« shpejtĂ«?
Ata prej jush shikuar nĂ« internet, nĂ« qoftĂ« se ju ngadalshĂ«m kjo pĂ«r tĂ« shpejtuar 0.5x,
ju mund tĂ« shihni kĂ«tĂ« mĂ« mirĂ«.
>> Ă‡farĂ« po ndodhte vetĂ«m para se tĂ« klikuar dhe zvarritur?
MĂ« lejoni tĂ« provoni here-- mĂ« lejoni tĂ« bĂ«j diĂ§ka tjetĂ«r, si 90.210.
Le tĂ« shkojnĂ« larg.
Kjo ishte me tĂ« vĂ«rtetĂ« i shpejtĂ«, too.
Si pĂ«r Disney World?
Atje shkojmĂ«.
NE RREGULL.
Ă‡farĂ« keni parĂ« pĂ«r njĂ« ndarje tĂ« dytĂ«?
Ashtu, si, sheshet, e drejtĂ«?
Placeholders pĂ«r pllaka?
>> E pra, Ă§farĂ« po ndodh kĂ«tu?
Google Maps Ă«shtĂ« njĂ« shembull i mirĂ« i kjo teknologji qĂ« quhet AJAX.
Dhe kjo Ă«shtĂ« ajo ku ne do tĂ« fillojmĂ« tĂ« pĂ«rdorin JavaScript nĂ« njĂ« veĂ§anĂ«risht
mĂ«nyrĂ« tĂ«rheqĂ«s.
Mbrapa nĂ« ditĂ«, nuk ka pasur Kjo faqe e internetit quajtur MapQuest.
Dhe unĂ« duhet tĂ« ketĂ« marrĂ« njĂ« screenshot e kjo nga vitet 1990,
ku nĂ« qoftĂ« se ju tĂ« kĂ«rkuar pĂ«r tĂ« kĂ«rkoni kĂ«tu nĂ« hartĂ«,
ju fjalĂ« pĂ«r fjalĂ« do tĂ« klikoni njĂ« shigjetĂ« deri nĂ« krye qĂ« ju tregoi
njĂ« shesh tĂ« ndryshme tĂ« hartĂ«s.
NĂ« qoftĂ« se ju tĂ« kĂ«rkuar pĂ«r tĂ« lĂ«vizur majtas, ju klikuar njĂ« shigjetĂ« qĂ« ju tregoi
njĂ« shesh tĂ« ndryshme tĂ« hartĂ«s.
Dhe disa faqet e internetit ende bĂ«jnĂ« kĂ«tĂ« sot.
Por edhe MapQuest ka marrĂ« mĂ« mirĂ«, si Google Maps.
>> NĂ« vend tĂ« kĂ«saj, ajo Ă«shtĂ« mĂ« mirĂ« kĂ«to ditĂ« Ă«shtĂ« faqet e internetit qĂ« pĂ«rdorin AJAX.
AJAX-- njohur ndryshe si Asinkron JavaScript dhe XML,
e cila Ă«shtĂ« vetĂ«m njĂ« mĂ«nyrĂ« e sofistikuar pĂ«r tĂ« thĂ«nĂ« njĂ« teknologji apo teknikĂ« qĂ«
lejon njĂ« shfletues duke pĂ«rdorur JavaScript pĂ«r tĂ« bĂ«rĂ« shtesĂ« HTTP kĂ«rkesa
pas faqe Ă«shtĂ« ngarkuar.
Pra, Ă§farĂ« do tĂ« thotĂ« kjo?
E pra, kjo do tĂ« jetĂ« lloj i bezdisshĂ«m nĂ« Gmail
nĂ« qoftĂ« se Ă§do herĂ« do tĂ« donit pĂ«r tĂ« kontrolluar postĂ«n tuaj,
ju kishte goditur fjalĂ« pĂ«r fjalĂ« Control-R ose Command-R ose kliko butonin Reload
dhe e tĂ«rĂ« faqja mallkuar do tĂ« reload.
E drejtĂ«?
Ajo do flash bardhĂ« ndoshta pĂ«r sekondĂ«.
Ju do tĂ« shihni shiritin budalla progresit.
Dhe vetĂ«m pĂ«r tĂ« parĂ« nĂ«se keni tĂ« ri postĂ«, e tĂ«rĂ« faqja web dhe URL
ju jeni nĂ« do tĂ« duhet tĂ« ringarkoni.
>> Por kjo nuk Ă«shtĂ« ajo qĂ« ndodh nĂ« Gmail.
E drejtĂ«?
Kur ju merrni njĂ« email tĂ« ri nĂ« Gmail, Ă§farĂ« ndodh nĂ« ekran?
Ajo thjesht tregon lart, e drejtĂ«?
Ajo vetĂ«m magjike shfaqet si njĂ« rresht tĂ« ri nĂ« tryezĂ«.
QĂ« nĂ« fakt pĂ«rfshin njĂ« sasi tĂ« mirĂ« e kompleksitetit.
NĂ« fakt, nĂ« qoftĂ« se ju mendoni rreth kĂ«saj peme, e cila edhe pse Ă«shtĂ« e thjeshtĂ« kĂ«tu,
Gmail-- dhe unĂ« do tĂ« duhet tĂ« shikoni nĂ« kodin tĂ« jetĂ« sure--
ndoshta ka njĂ« tryezĂ« HTML apo ndoshta njĂ« listĂ« tĂ« renditura se ajo bĂ«n
secili prej inboxes tuaj email si.
>> Dhe kĂ«shtu qĂ« nĂ«se ju imagjinoni kĂ«tĂ« ka Ă«shtĂ« njĂ« pemĂ« nĂ« kujtim kur ju jeni
duke pĂ«rdorur Gmail qĂ« duket lloj lloj si kjo, kur Google e kupton, ooh,
ju keni njĂ« email tĂ« ri, ajo nuk ka duan pĂ«r tĂ« rindĂ«rtuar tĂ«rĂ« pemĂ«.
PĂ«rkundrazi, ai dĂ«shiron pĂ«r tĂ« gjetur nyjen nĂ« pemĂ« qĂ« pĂ«rfaqĂ«son kutinĂ« tuaj
dhe vetĂ«m futur njĂ« nyje tĂ« re.
>> Pra, shumĂ« e ngjashme me pset pesĂ«, ku ju kishte pĂ«r tĂ« futur nyjet nĂ« njĂ« tabelĂ« hash,
nĂ« mĂ«nyrĂ« tĂ« ngjashme e bĂ«n Google, nĂ«pĂ«rmjet Kodi JavaScript qĂ« ajo ka shkruar:
Traverse kĂ«saj peme, tĂ« kuptoj se ku Ă«shtĂ« se njĂ« pjesĂ« inbox e dritares,
dhe pastaj futur njĂ« rresht tĂ« ri.
Dhe njĂ« rresht i ri thjesht do tĂ« thotĂ« njĂ« ose mĂ« shumĂ« nyje tĂ« reja nĂ« njĂ« pemĂ«.
>> Dhe kĂ«shtu AJAX Ă«shtĂ« kjo teknikĂ« qĂ« lejon pĂ«r pikĂ«risht kĂ«tĂ«.
Pasi tĂ« keni vizituar njĂ« URL, megjithatĂ« Ă§mendur kohĂ« Ă«shtĂ«,
dhe pasi faqja ka qenĂ« i ngarkuar, ju prapĂ« mund tĂ«
kap mĂ« shumĂ« dhĂ«nat nga internet-- nĂ«se kjo Ă«shtĂ«
njĂ« email ose njĂ« tjegull e dalin nga harta rrĂ«mbej atĂ« prapa skenave
dhe pastaj futur atĂ« nĂ« faqen e nĂ« mĂ«nyrĂ« qĂ« human nuk ka vĂ«rtetĂ«
duhet tĂ« prisni pĂ«r tĂ«.
>> Facebook Messenger punon nĂ« tĂ« njĂ«jtĂ«n mĂ«nyrĂ«.
Ă‡do numĂ«r i websites-- tjera oh, nĂ« tĂ« vĂ«rtetĂ«, edhe kjo.
UnĂ« do tĂ« thotĂ«, kjo Ă«shtĂ«, sinqerisht, lloj i njĂ« funksion i bezdisshĂ«m kĂ«to ditĂ«.
NĂ«se unĂ« tĂ« fillojnĂ« kĂ«rkimin pĂ«r cats-- kĂ«tĂ« Ă«shtĂ« lloj i njĂ« user experience tmerrshme.
Ajo thjesht fillon nĂ« kĂ«rkim pĂ«r mua.
E pra Ă§farĂ« Ă«shtĂ« ajo duke bĂ«rĂ«?
URL nuk ka ndryshuar me tĂ« vĂ«rtetĂ« qĂ« kur kam filluar typing.
Por, Ă§farĂ« po ndodh PĂ«rtej wire-- OK, hmm interesante.
Ă‡farĂ« po ndodh PĂ«rtej tela kĂ«tu vetĂ«m merr weirder.
>> NE RREGULL.
Pra mĂ« lejoni tĂ« shkoj pĂ«rpara dhe tĂ« inspektojĂ« element dhe tĂ« shkojnĂ« nĂ« tab Rrjeti
dhe tĂ« pĂ«rpiqet tĂ« bĂ«jĂ« kĂ«tĂ« teknik dhe mĂ« pak pĂ«r macet.
Si unĂ« lloji, fjalĂ« pĂ«r fjalĂ«, macet and-- Ă§farĂ« po ndodh
per-- UnĂ« nuk jam duke shkuar pĂ«r tĂ« klikoni atĂ«.
NĂ« rregull.
KĂ«shtu qĂ« kĂ«tu poshtĂ«, Ă§farĂ« po ndodh Ă§do herĂ« unĂ« lloji njĂ« karakter, me sa duket?
Si, niveli i ulĂ«t?
Ă‡farĂ« po ndodh me secilin nga ata karaktere UnĂ« jam i shtypur nĂ« tastierĂ«n e mia?
Po?
Audienca: [padĂ«gjueshme].
>> DAVID Malan: PikĂ«risht.
Secila prej kĂ«tyre personazheve Ă«shtĂ« duke shkuar pĂ«r tĂ« Google, njĂ« nĂ« njĂ« kohĂ«.
Ata po ndĂ«rtojnĂ« njĂ« varg nĂ« serverin e tyre qĂ« pĂ«rfaqĂ«son
Ă§do gjĂ« qĂ« unĂ« kam shtypur nĂ« deri mĂ« tani.
Dhe Ă§do herĂ« qĂ« unĂ« lloji tjetĂ«r karakter, ata
pĂ«rdorin salcĂ« e tyre e fshehtĂ« e njĂ« kĂ«rko algorithm dhe tĂ« kuptoj se,
nĂ«nkupton ai kĂ«tĂ« faqe cat ose kjo faqe mace apo si?
Pra, nĂ« njĂ« kuptim, ajo siguron mua me njĂ« pĂ«rvojĂ« mĂ« tĂ« mirĂ« nĂ« atĂ« qĂ« unĂ« nuk e bĂ«j edhe
duhet pĂ«r tĂ« pĂ«rfunduar mendimin tim.
Dhe me tĂ« vĂ«rtetĂ«, kjo Ă«shtĂ« njĂ« e dobishme gjĂ«, autocomplete nĂ« pĂ«rgjithĂ«si.
NĂ«se algoritme e tyre janĂ« mjaft tĂ« mira dhe nĂ«se kĂ«rkimet e mia janĂ« mjaft tĂ« dukshme,
UnĂ« nuk duhet tĂ« shkruani tĂ« gjithĂ« fjalĂ«n.
Ata do tĂ« mĂ« thoni se Ă§farĂ« ajo po unĂ« nĂ« fakt jam nĂ« kĂ«rkim pĂ«r.
Pra, Ă§farĂ« Google quan Ă§astit KĂ«rkimi Ă«shtĂ« vetĂ«m duke pĂ«rdorur AJAX,
duke pĂ«rdorur kodin qĂ« u lejon atyre pĂ«r tĂ« kĂ«rkuar PĂ«rmbajtja shtesĂ« nĂ«pĂ«rmjet njĂ« shfletues web
nĂ« prapaskenĂ« duke pĂ«rdorur kĂ«tĂ« gjuhĂ« e re, JavaScript.
Pra, ne kemi disa minuta majtĂ«.
Dhe mĂ« lejoni tĂ« thĂ«rras buddy tim Colton deri nĂ« skenĂ«,
pasi ajo dukej veĂ§anĂ«risht fun hera e fundit
pĂ«r tĂ« futur njĂ« teknologji se disa prej jush
kanĂ« shprehur interes nĂ« pĂ«r projekte finale.
Ne menduam se do tĂ« jetĂ« kĂ«naqĂ«si pĂ«r tĂ« sjellĂ« deri vullnetar, edhe pse, sot
pĂ«r tĂ« treguar ju njĂ« shtesĂ« nĂ« kjo qĂ« lejon ju, duke filluar vĂ«rtet,
UnĂ« pashĂ« kĂ«tĂ« dorĂ« tĂ« parĂ«.
Eja up.
BĂ«rĂ« shumĂ« mirĂ«.
PunĂ« e mirĂ«.
UnĂ« jam duke shkuar pĂ«r tĂ« projektuar kĂ«tĂ« nĂ« ekran nĂ« njĂ« moment tĂ« vetĂ«m.
Si e keni emrin pĂ«r tĂ« gjithĂ«?
>> EFA: UnĂ« jam Efa.
>> DAVID Malan: Etha?
>> EFA: Efa.
>> DAVID Malan: Efa?
>> EFA: Po.
>> DAVID Malan: NisĂ« pĂ«r tĂ« parĂ« ju.
NĂ« rregull.
MĂ« lejoni tĂ« merrni kĂ«tĂ« tĂ« gatshme.
Ejani nĂ« mĂ« shumĂ« tĂ« mesme me Colton kĂ«tu.
Ă‡farĂ« Colton ka nĂ« duart e tij sot Ă«shtĂ« njĂ« telekomandĂ«.
Pra, nĂ« vend se vetĂ«m tĂ« qĂ«ndrojĂ« aty nĂ« njĂ« tre-dimensionale botĂ«n sy rreth e rrotull
siĂ§ bĂ«ri Colton, tani mund Efa nĂ« fakt ecin pĂ«rreth duke shkuar lart,
poshtĂ«, majtas, dhe tĂ« djathtĂ« si njĂ« Nintendo ose Xbox kontrollues.
EFA: UnĂ« do tĂ« bie nĂ« skenĂ«.
DAVID Malan: UnĂ« do tĂ« qĂ«ndrojnĂ« afĂ«rsisht mbi kĂ«tu.
Por kjo Ă«shtĂ« njĂ« rrezik.
NE RREGULL.
Pra shkoni pĂ«rpara dhe tĂ« vĂ«nĂ« ato nĂ«.
MĂ« lejoni tĂ« shkoj pĂ«rpara dhe kaloni nĂ« ekran kĂ«tu.
MĂ« lejoni tĂ« zbehtĂ« dritat.
Dhe Colton, mĂ« lejoni vijnĂ« tĂ« qĂ«ndrojnĂ« pranĂ« teje.
>> A doni pĂ«r tĂ« shpjeguar kĂ«tu me mic Ă§farĂ« jemi duke bĂ«rĂ«?
KĂ«tu ju shkoni.
>> COLTON: Sigurisht.
Deri tani ne jemi ngarkimit deri Oculus,
I guess operating-- nuk veprojnĂ« sistem, por programi kryesor, ku
ju mund tĂ« hyni tĂ« gjitha lojrat dhe Apps qĂ« janĂ« nĂ« bibliotekĂ«n tuaj.
Deri tani, ajo duhet tĂ« them trokitje e lehtĂ« touchpad pĂ«r tĂ« filluar.
Touchpad do tĂ« jetĂ« mbi anĂ«n e djathtĂ« tĂ« kufje.
Pra shkoni pĂ«rpara dhe tap--
EFA: Oh, njeri.
DAVID Malan: Yeah, ju shkoni atje.
CilĂ«sia Efa Ă«shtĂ« duke parĂ« Ă«shtĂ« e cilĂ«sisĂ« shumĂ« mĂ« e lartĂ«.
Ky Ă«shtĂ« vetĂ«m Wi-Fi kĂ«tu.
COLTON: Pra, Ă§farĂ« ju jeni do tĂ« dĂ«shironi tĂ« bĂ«ni
po shikoni drejt krye e djathtĂ« tĂ« ekranit.
Po, kjo lojĂ« nĂ« tĂ« djathtĂ« shumĂ« tĂ« lartĂ«.
Dhe pastaj kur ju jeni zgjedhur ajo, prekni touchpad pĂ«rsĂ«ri.
UnĂ« mendoj Dreadhalls saj.
Dhe pastaj kĂ«tu Ă«shtĂ« a-- kĂ«tu, le tĂ« MĂ« tĂ« mbajtur syzet pĂ«r ju.
>> KĂ«shtu qĂ« unĂ« sapo i dha atij njĂ« kontrollues.
KĂ«shtu qĂ« tani ai mund tĂ« kontrollit tĂ« lojĂ«s.
Ai mund tĂ« lĂ«vizĂ« dhe stuff like that.
Pra shkoni pĂ«rpara dhe tĂ« kĂ«rkoni deri nĂ« krye.
Ju duhet tĂ« shikoni New lojĂ«.
Pra shkoni pĂ«rpara dhe ju mund ta bĂ«ni atĂ«.
Tani, ju duhet tĂ« jetĂ« nĂ« gjendje pĂ«r tĂ« kontrolluar veten me kontrollues,
si dhe, sa mĂ« shpejt loja ngarkesa deri kĂ«tu.
Kjo mund tĂ« jetĂ« pak e frikshme.
>> EFA: Tani mĂ« thoni.
NE RREGULL.
>> COLTON: NĂ« rregull.
Pra konfirmoj qĂ« ju mund tĂ« lĂ«vizĂ«.
NE RREGULL.
Ju mund tĂ« lĂ«vizĂ«.
PĂ«rsosur.
Pra, nĂ«se ju shikoni poshtĂ«, ju keni njĂ« hartĂ«.
Map ju tregon se ku je.
Ju mund tĂ« shikoni nĂ«pĂ«r dhomĂ«.
Ju mund plotĂ«sisht tĂ« kthehet rreth.
Po, pikĂ«risht.
Kthehet rreth.
>> KĂ«shtu qĂ« shikoni nĂ« tĂ« majtĂ« tuaj.
UnĂ« mendoj se ka diĂ§ka qĂ« ju mund tĂ« marr nĂ« njĂ« fuĂ§i nĂ« dhomĂ«.
>> EFA: Si mund tĂ« merrni hartĂ« nga rruga?
COLTON: Shiko lart.
VetĂ«m shikoni lart.
NĂ« rregull.
Nuk ju shkoni.
Tani shkoni pĂ«rpara dhe vetĂ«m tĂ« kthehet rreth.
KĂ«shtu qĂ« shikoni mĂ« larg nĂ« tĂ« majtĂ« tuaj.
Mbani lĂ«viz majtas.
Mbani nĂ« kĂ«rkim largua.
Do tĂ« mbajĂ«.
Po.
>> EFA: Oh, nĂ« kĂ«tĂ« mĂ«nyrĂ«.
>> COLTON: Po.
Ecni nĂ« drejtim tĂ« tij me kontrollues.
Nuk ju shkoni.
Tani ajo duhet tĂ« them tĂ« vini ta merrni.
Nuk ju shkoni.
Marr atĂ«.
NĂ« rregull.
Tani, le tĂ« dal nga kjo dhomĂ«.
Shkoni pĂ«rpara dhe tĂ« ecin nĂ« atĂ« derĂ«.
Pra, ju jeni do tĂ« hold-- ajo thotĂ« se mbajtur butonin pĂ«r tĂ« detyruar atĂ« tĂ« hapur.
Pra shkoni pĂ«rpara dhe tĂ« mbajĂ« butonin.
Po, duke e detyruar atĂ« tĂ« hapur.
NĂ« rregull.
PunĂ« e mirĂ«.
Tani ne jemi duke ecur nga dhoma.
KĂ«shtu qĂ« unĂ« jam duke shkuar pĂ«r tĂ« lĂ«nĂ« pjesĂ«n tjetĂ«r deri pĂ«r ju dhe tĂ« shohim se Ă§farĂ« ju gjeni.
EFA: UnĂ« nuk jam duke shkuar nĂ« dhomĂ« tĂ« errĂ«t.
Oh prit.
Tani unĂ« kam pĂ«r tĂ« shkuar poshtĂ« sallĂ« tĂ« errĂ«t?
OK, unĂ« jam duke shkuar prapa [e padĂ«gjueshme].
COLTON: NĂ« rregull.
Disa artikuj mĂ« shumĂ« pĂ«r tĂ« marr.
Duket sikur disa monedha.
Kjo Ă«shtĂ« njĂ« lock vini.
Pra, nĂ«se ju gjeni njĂ« tĂ« mbyllur derĂ«, ju mund tĂ« pĂ«rdorni atĂ«.
A jeni i frikĂ«suar?
>> EFA: Ende.
COLTON: OK.
>> Pretend-- vĂ«rtet.
VetĂ«m tĂ« pretendojĂ« se ju jeni nĂ« fakt duke qĂ«ndruar atje.
Dhe nĂ« qoftĂ« se ju kthehet around-- ju keni marrĂ« pĂ«r tĂ« mĂ«sohen me tĂ«.
Por kjo ka kuptim.
DAVID Malan: Dhe ndĂ«rsa Efa vazhdon tĂ« luajnĂ«, pasi ne mund tĂ« bĂ«jmĂ« kĂ«tĂ« gjatĂ« gjithĂ« ditĂ«s,
ne tĂ« gjithĂ« mund tip-shputĂ« kĂ«tu.
Por ne nuk kemi dy palĂ« tĂ« tjera, nĂ« qoftĂ« se ju dĂ«shironi tĂ« dalĂ« dhe tĂ« luajnĂ«.
PĂ«rndryshe, ne do tĂ« shohim ju e ardhshĂ«m tĂ« mĂ«rkurĂ«n.
Faleminderit pĂ«r vullnetarĂ«t tonĂ« sot.
[Duartrokitje]
>> [MUSIC - "Seinfeld TEMA"]
SPEAKER 1: E pra, unĂ« jam vĂ«nĂ« njĂ« PL ri mali nĂ«.
UnĂ« vetĂ«m ndryshuar OLPF--
>> SPEAKER 2: Pra, Ă§farĂ« saktĂ«sisht jeni duke bĂ«rĂ«?
>> SPEAKER 1: E pra, secili prej these-- kĂ«tu, unĂ« do t'ju tregoj njĂ« nĂ« kĂ«tĂ« kĂ«tu.
Ju mund tĂ« shihni atĂ« tĂ« drejtĂ« kĂ«tu.
>> SPEAKER 3: UnĂ« mendoj se unĂ« jam i mirĂ« me kĂ«to.
Ju doni disa mĂ« shumĂ«?
>> SPEAKER 4: Jo, unĂ« jam i mirĂ«. [PadĂ«gjueshme].
>> SPEAKER 3: Jo, [e padĂ«gjueshme].
KanĂ« disa.
SPEAKER 1: ngjyra tĂ« ndryshme.
SPEAKER 2: OK.
SPEAKER 1: Pra, nĂ« fund tĂ« fundit Ă§farĂ« ajo nuk Ă«shtĂ« ajo rregullon ngjyrĂ«n of--