>> [MUSIC PLAYING]
DAVID Malan: B眉t眉n sa臒, bu CS50 edir.
Bu h蓹ft蓹 s蓹kkiz sonu.
Bu g眉n biz ba艧lamaq bir 蓹d蓹d doldurmaq 眉莽眉n
Bu binan谋n g蓹ldikd蓹 web 艧eyl蓹r.
Bel蓹 ki, bazar ert蓹si Xat谋rladaq ki biz daha 莽ox vaxt s蓹rf
PHP, hans谋 bu dinamik proqramla艧d谋rma dili ki
dig蓹r aras谋nda, biz蓹 莽谋x谋艧 imkan谋 verir 艧eyi, HTML v蓹 dig蓹r bu kimi content
g枚rm蓹k laz谋md谋r ki.
Amma biz, h蓹qiq蓹t蓹n, nec蓹 baxd谋 yoxdur biz h蓹r hans谋 bir m蓹lumat saxlamaq 眉莽眉n olacaq.
H蓹qiq蓹t蓹n, h蓹r hans谋 bir ki, super Bu g眉n ziyar蓹t maraql谋 saytlar谋
veril蓹nl蓹r bazas谋 bir n枚v geri sonunda, sa臒?
Facebook 蓹lb蓹tt蓹 m蓹lumatlar谋n 莽ox ma臒azalar b眉t眉n biz蓹 v蓹 Gmail ma臒azalar b眉t眉n
Sizin e-po莽t.
>> Bel蓹 ki, bir 莽ox dig蓹r saytlar yaln谋z var informasiya var statik content.
Bu bir 艧蓹kild蓹 h蓹qiq蓹t蓹n dinamik var.
Siz daxil, bu yenilikl蓹ri t蓹min dig蓹r insanlar 眉莽眉n pages.
Siz g枚nd蓹rm蓹k, mesaj almaq s mesajlar, v蓹.
Bel蓹 ki, bu g眉n biz yax谋n baxmaq layih蓹nin underpinnings
n枚vb蓹ti dal谋艧 laz谋md谋r ki, h蓹ft蓹, CS50 Maliyy蓹, hans谋
h蓹qiq蓹t蓹n qurmaq 眉莽眉n gedir Biz C, amma PHP bir 艧ey.
Bir g枚r眉n眉r ki, bir haqqinda bu kimi ki莽ik bir 艧ey
ki, almaq v蓹 satmaq 眉莽眉n imkan verir h蓹qiq蓹t蓹n ehtiyatlar谋
real zamanlar c蓹lb Yahoo Maliyy蓹 fond m蓹lumat.
V蓹 bel蓹 n蓹tic蓹d蓹, siz laz谋md谋r 脰z眉n眉z 眉莽眉n v蓹 istifad蓹莽il蓹r 眉莽眉n ill眉ziya
Siz, h蓹qiq蓹t蓹n, al谋nmas谋 v蓹 sat谋艧 edirik ki, ehtiyatlar谋 t蓹xmin蓹n real vaxt 蓹ld蓹
yenilikl蓹ri, idar蓹 portfel, olan b眉t眉n
olan t蓹l蓹b edir, n蓹tic蓹d蓹, istifad蓹莽il蓹r bir veril蓹nl蓹r bazas谋.
>> Bel蓹 ki, 枚z s枚zl蓹ri il蓹, Siz etdiyiniz x眉susil蓹
komp眉ter il蓹 super tan谋艧 elm v蓹 ya veril蓹nl蓹r bazas谋, n蓹
bir veril蓹nl蓹r bazas谋 bilirik olmaq 陌ndi, nontechnical bax谋m谋ndan?
Bu n蓹dir?
Siz onu t蓹svir nec蓹 Bir roommate v蓹 ya bir dost?
>> Auditoriya: [i艧itilemez] m蓹lumat [i艧itilemez]
>> DAVID Malan: Bel蓹 ki, informasiya siyah谋s谋 v蓹 ya m蓹lumat siyah谋s谋n谋 store--
Siz saxlamaq ist蓹yir蓹m bil蓹r ki, bir istifad蓹莽i kimi bir 艧ey haqq谋nda.
V蓹 istifad蓹莽il蓹r var n蓹 onlarla ba臒l谋?
Facebook v蓹 ya bir istifad蓹莽i de臒ilseniz Gmail, x眉susiyy蓹tl蓹ri hans谋lard谋r
ki, bizim b眉t眉n istifad蓹莽il蓹r var?
Kimi, n蓹 b蓹zi ola bil蓹r tablo s眉tun olan biz
son d蓹f蓹 alluded?
Daha, bil蓹rsiniz, 莽眉nki bir veril蓹nl蓹r bazas谋 hesab
h蓹qiq蓹t蓹n bir x眉lya Excel fayl谋 v蓹 ya Google kimi Tablo v蓹 ya Apple N枚mr蓹l蓹r fayl.
>> Bel蓹 ki, siz n蓹 d眉艧眉n眉rs眉n眉z Bir istifad蓹莽i hesab zaman?
Onlar n蓹 var?
Bu n蓹dir?
>> Auditoriya: A ad谋.
>> DAVID Malan: A ad谋.
Bel蓹 ki, 蓹g蓹r ad谋 kimi, David Malan B蓹zi istifad蓹莽i ad谋 olacaq.
Bir istifad蓹莽i ba艧qa n蓹 var?
>> Auditoriya: An ID.
>> DAVID Malan: An ID.
Bel蓹 ki, Harvard kimi bir 艧蓹xsiyy蓹t n枚mr蓹si kimi ID ya Yale Net ID v蓹 ya kimi.
Bir istifad蓹莽i ba艧qa n蓹 ola bil蓹r?
>> Auditoriya: Parol.
>> DAVID Malan: b蓹lk蓹 bir A parol, 眉nvan, b蓹lk蓹 bir telefon n枚mr蓹si, b蓹lk蓹
bir e-mail.
Bel蓹 ki, sah蓹l蓹ri v蓹 bu d蓹st蓹l蓹ri var sort n蓹zar蓹t spiral h蓹yata bil蓹r
tez tezlikl蓹 ba艧lamaq kimi oh, bu saxlamaq ed蓹k, h蓹yata
v蓹 bu v蓹 saxlamaq ed蓹k.
>> Amma biz h蓹qiq蓹t蓹n ki etm蓹liy蓹m?
Bel蓹 ki, yen蓹, ruhi model Bu g眉n 眉莽眉n kimi biz
faktiki SQL daxil dal谋艧, Yap谋land谋r谋lm谋艧 Query Language,
bu kimi g枚r眉n眉r ki, bir veril蓹nl蓹r bazas谋 var.
Bu, sad蓹c蓹 sat谋r ve s眉tun var.
V蓹 Google Spreadsheets t蓹s蓹vv眉r ed蓹 bil蓹rsiniz v蓹 ya dig蓹r proqramlar h蓹r hans谋 bir say谋.
Amma MySQL haqq谋nda 蓹sas n蓹 veril蓹nl蓹r bazas谋 proqram istifad蓹 etm蓹k olacaq,
s蓹rb蓹st a莽谋q Facebook istifad蓹 available--
Bu v蓹 dig蓹r websites-- h蓹r hans谋 bir say谋 Veril蓹nl蓹r bazas谋 relationally 艧eyi saklar.
V蓹 relational veril蓹nl蓹r bazas谋 ki, yaln谋z s枚z眉n bir dem蓹kdir
sat谋r ve s眉tun 枚z data saklar.
Bu kimi sad蓹 deyil.
>> Bel蓹 ki, Oracle kimi bel蓹 bir 艧ey ki, Siz, 眉mumiyy蓹tl蓹, e艧itmi艧蓹m bil蓹r
bir relational veril蓹nl蓹r bazas谋 var.
V蓹 ba艧l谋q alt谋nda, onu sat谋r ve s眉tun ma臒azalar data.
V蓹 Oracle siz蓹 bir al谋r pul 莽ox bunu,
MySQL ittihamlar is蓹 Eyni 眉莽眉n he莽 bir 艧ey.
Bel蓹 ki, SQL biz蓹 verm蓹k niyy蓹tind蓹dir 蓹n az谋 d枚rd 蓹m蓹liyyatlar谋.
oxumaq kimi, data se莽m蓹k imkan谋 data, insert, silm蓹k, v蓹 yenil蓹m蓹 data.
Ba艧qa s枚zl蓹, h蓹min H蓹qiq蓹t蓹n d枚rd 蓹sas 蓹m蓹liyyatlar
biz蓹 d蓹yi艧dirm蓹k imkan gedir o sat谋r ve s眉tun stuff.
>> x眉susil蓹 bu g眉n istifad蓹 ed蓹c蓹yik al蓹t SQL 枚yr蓹nm蓹k v蓹 onunla oynamaq 眉莽眉n
yenid蓹n PHP MyAdmin adlan谋r.
Bu web-based arac谋d谋r.
脺mumi t蓹sad眉f ki, Bu PHP yaz谋l谋.
Amma bu, biz蓹 bir qrafik verm蓹k olacaq istifad蓹莽i interfeysi biz, h蓹qiq蓹t蓹n bil蓹r ki,
bu sat谋r ve s眉tun yaratmaq v蓹 sonra kod vasit蓹sil蓹 onlara dan谋艧maq.
Bel蓹 ki, indi ba艧lamaq ed蓹k n蓹 m蓹n hesab edir蓹m ki, s蓹mimi deyil
蓹yl蓹nc蓹 prosesinin c眉r web geri sonuna bina,
istifad蓹莽i yoxdur hiss蓹l蓹ri g枚rm蓹k, lakin, 艧眉bh蓹siz ki, haqq谋nda qay臒谋,
ki, 莽眉nki data ged蓹c蓹k daha.
C v蓹 A, bel蓹 ki, ox艧ar az PHP kimi ki莽ik,
SQL, v蓹 ya d蓹st蓹kl蓹y蓹n bazas谋 SQL, 蓹n az谋 bu m蓹lumatlar n枚vl蓹ri var
v蓹 ba艧qalar谋 d蓹st蓹l蓹ri.
CHAR, VARCHAR, INT, Bigint, Decimal v蓹 Datetime.
V蓹 b眉t眉n var dig蓹r x眉susiyy蓹tl蓹ri d蓹st蓹,
lakin bunu bildirin faktiki M蓹s蓹l蓹n yolu.
>> M蓹n CS50 IDE getm蓹k 眉莽眉n gedir蓹m harada 蓹vv蓹lc蓹d蓹n, m蓹n daxil etdik
v蓹 m蓹n d蓹 bir URL ziyar蓹t etdik PHP MyAdmin adlanan bu arac谋.
V蓹 problem yeddi m眉蓹yy蓹n, biz dem蓹k laz谋md谋r Siz d蓹qiq nec蓹 bu interface almaq 眉莽眉n
h蓹m莽inin.
Sol 眉st k眉nc眉nd蓹, qeyd Bu m眉hazir蓹 deyir.
V蓹 yaln谋z o dem蓹kdir ki, 蓹vv蓹lc蓹d蓹n, m蓹n yarad谋lm谋艧
bo艧 bazas谋 adl谋 m眉hazir蓹 ki, h蓹l蓹 he莽 bir tablolar var.
He莽 bir sat谋r ve s眉tun var.
Ilk 脟眉nki odur ki, biz n蓹 olacaq
bir masa yaratmaq 眉莽眉n ba艧lay谋n ki, bizim istifad蓹莽il蓹r saxlamaq olacaq.
>> Bel蓹 ki, s枚z眉n 眉z蓹rind蓹 Burada sa臒, m蓹n
veril蓹nl蓹r bazas谋 dem蓹k gedir M蓹n bir masa 陌stifad蓹莽il蓹r adl谋 ist蓹yir蓹m.
Bel蓹 ki, bu fayl kimi ki, m蓹n m蓹nim m蓹lumatlar谋n b眉t眉n saxlamaq 眉莽眉n ist蓹yir蓹m.
V蓹 ne莽蓹 s眉tun?
Yax艧谋, indi 眉莽眉n sad蓹 saxlamaq imkan verir.
M蓹n yaln谋z bir kimi saxlamaq ist蓹yir蓹m istifad蓹莽i ad谋 v蓹 istifad蓹莽i 眉莽眉n bir ad.
Biz ki莽ik ba艧lamaq laz谋md谋r.
Bel蓹 ki, m蓹n iki s眉tun c蓹mi ist蓹yir蓹m.
M蓹n ir蓹li getm蓹k v蓹 Go bas谋n gedir蓹m.
V蓹 sonra, bu s眉tunlar, m蓹n n蓹 gedir蓹m
Bu internet 蓹g蓹r n蓹 etm蓹k b眉t眉n sa臒 cooperates--
bel蓹 ki, biz daha c蓹hd olacaq.
M蓹n adl谋 bir masa yaratmaq 眉莽眉n gedir蓹m Iki s眉tun, il蓹 indi OK, Go bas谋n.
陌ndi biz, h蓹qiq蓹t蓹n, s眉r蓹tli var.
脟ox yax艧谋, t蓹艧蓹kk眉r edir蓹m.
B眉t眉n h眉quqlar, bel蓹 ki, biz ist蓹yirik n蓹 Bu s眉tun adland谋rmaq 眉莽眉n nec蓹?
>> Bel蓹 ki, bir ad谋 adland谋rmaq olacaq.
Burada v蓹 interface ki, b眉t眉n g枚r眉r蓹m s蓹mimi, n蓹hay蓹t bir az 莽irkin olur
Siz bir d蓹f蓹 b眉t眉n bu m蓹lumatlar谋 yazma臒a ba艧lay谋n.
Amma n蓹 g枚z蓹l ki, sort deyil Paradoksal, m蓹n s眉tun yarad谋lmas谋 al谋ram,
lakin al蓹t gic-gic var sat谋r onlar谋 qoydu
ki, m蓹n bu s眉tunlar konfiqurasiya ed蓹 bil蓹rsiniz.
Bel蓹 ki, ad谋 alt谋nda iki blanklara var var.
Bu sah蓹l蓹rd蓹n biri I 陌stifad蓹莽i ad谋 deyil蓹n ist蓹yir蓹m,
v蓹 dig蓹r sah蓹 I ad谋 s蓹sl蓹nm蓹k ist蓹yir蓹m.
>> 陌ndi se莽m蓹k laz谋md谋r bu 艧eyl蓹r 眉莽眉n data n枚vl蓹ri.
Bel蓹 ki, Excel is蓹 v蓹 Google Spreadsheets,
Bir s眉tun ist蓹yirsinizs蓹, siz s枚z眉n yaln谋z Ad v蓹 ya istifad蓹莽i ad谋 yaz谋n, Enter d眉ym蓹sini bas谋n.
B蓹lk蓹 qal谋n 眉z etm蓹k yaln谋z ayd谋nl谋q 眉莽眉n, lakin bu.
Siz daxil deyil s眉tun n枚vl蓹ri.
陌ndi Google Spreadsheets v蓹 ya Excel siz蓹, m蓹lumat g枚st蓹rilir nec蓹 m眉蓹yy蓹n ed蓹 bil蓹r.
Siz Format menyusu, v蓹 bil蓹r ox艧ar dollar i艧ar蓹si g枚st蓹rir belirtebilirsiniz,
眉z蓹n point d蓹y蓹r kimi bu g枚st蓹rir.
>> Bel蓹 ki, ruhu ox艧ar Biz n蓹 ist蓹yirik n蓹,
lakin bu, h蓹qiq蓹t蓹n m蓹cbur gedir data m眉蓹yy蓹n bir n枚v眉 olmal谋d谋r.
陌ndi, h蓹tta bir an 蓹vv蓹l olsa yaln谋z bir ne莽蓹 data n枚vl蓹ri var bildirib
h蓹qiq蓹t蓹n var bir b眉t眉n 莽ox, v蓹 onlar
spesifikliyi d蓹r蓹c蓹 m眉xt蓹lif il蓹.
V蓹 bir k蓹nara kimi, h蓹tta x眉lya 艧eyi ed蓹 bil蓹rsiniz
storage geometrileri kimi bir veril蓹nl蓹r bazas谋 daxilind蓹.
Siz h蓹r 艧eyi saxlaya bil蓹rsiniz GPS koordinatlar谋 kimi
v蓹 h蓹qiq蓹t蓹n, riyazi tapmaq dig蓹r yax谋n xal.
Amma biz olacaq Bu super sad蓹 saxlamaq
v蓹 burada b眉t眉n q蓹d蓹r getm蓹k S枚zd蓹 simli n枚vl蓹ri.
>> Bel蓹 ki, burada bir bir siyah谋s谋 variantlar谋 b眉t眉n d蓹st蓹.
CHAR, VARCHAR, TINYTEXT, MEDIUMTEXT, LONGTEXT.
V蓹 bu b枚y眉k n枚v眉 var.
V蓹 t蓹蓹ss眉f ki, bir q蓹d蓹r Paradoksal C,
bir CHAR h蓹qiq蓹t蓹n CHAR deyil.
Bir bazas谋nda qeyd edin Sizin data type CHAR ki,
ki, b蓹li, bu, o dem蓹kdir ki CHAR, lakin bir v蓹 ya daha 莽ox chars var.
V蓹 m眉蓹yy蓹n etm蓹k ne莽蓹 chars ist蓹diyiniz.
Bel蓹 ki, n蓹 tipik var bir istifad蓹莽i ad谋 眉莽眉n uzunlu臒u?
Bir limit ad蓹t蓹n var?
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: 16 b蓹lk蓹?
Kimi bir 艧ey.
Siz geri, bilir蓹m g眉n, bu s蓹kkiz olmaq 眉莽眉n istifad蓹.
B蓹z蓹n 16, b蓹z蓹n var ki, daha 莽ox var.
Bel蓹 ki, bu deyil M蓹n蓹 bir char verm蓹k dem蓹kdir.
Bu m眉蓹yy蓹n etm蓹k dem蓹kdir sah蓹sind蓹 uzunlu臒u,
v蓹 indi 16 kimi bir 艧ey dey蓹 bil蓹r.
V蓹 burada off ticar蓹t var.
Bel蓹 ki, biz bir anda g枚r眉rs眉n眉z bu bir o dem蓹kdir ki,
h蓹r istifad蓹莽i ad谋 16 simvol olmal谋d谋r.
Amma bir d蓹qiq蓹, M-A-L-A-N g枚zl蓹yin. Ki, varsa M蓹nim istifad蓹莽i ad谋 v蓹 m蓹n yaln谋z be艧 istifad蓹 edir蓹m,
Veril蓹nl蓹r bazas谋 ki, n蓹 t蓹klif edir蓹m 11 simvol 眉莽眉n n蓹 etm蓹k ki,
M蓹n yer qorunur etdik?
Siz n蓹 ed蓹rdiniz?
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: B蓹li, yaln谋z Onlara b眉t眉n null edir.
Onlara bo艧luq olun.
Amma y蓹qin ki, null, bel蓹 bir backslash adet s谋f谋r 莽ox.
Bel蓹 ki, bir t蓹r蓹fd蓹n, biz 陌ndi m蓹nim istifad蓹莽i ad谋 蓹min etdi
16 simvol art谋q ola bil蓹r.
V蓹 flip t蓹r蓹find蓹 M蓹n h蓹qiq蓹t蓹n uzun ad olsayd谋
v蓹 ya h蓹qiq蓹t蓹n uzun ist蓹di b蓹zi kimi istifad蓹莽i ad谋
u艧aqlar ki, kollec ola bil蓹r v蓹 ya Yale.edu at, bir ola bilm蓹z.
V蓹 bel蓹 蓹slind蓹, var 蓹g蓹r He莽 bir haqqinda 眉莽眉n qeydiyyatdan
v蓹 dey蓹r蓹k yelled almaq 艦ifr蓹ni 莽ox uzun
v蓹 ya istifad蓹莽i ad谋 bu, 莽ox uzun sad蓹c蓹 bir proqram莽谋, 莽眉nki
onun bazas谋 konfiqurasiya, q蓹rar bu sah蓹d蓹 olacaq ki,
art谋q bu uzunlu臒u 莽ox ola.
>> B眉t眉n h眉quqlar, bel蓹 n蓹 varsa biz ad davam?
Nec蓹 uzun laz谋md谋r tipik insan ad谋?
Ne莽蓹 simvol, 16?
M蓹n biz bil蓹r t蓹xmin edir蓹m Bu otaqda kims蓹 tapmaq
ke莽蓹n onun ilk plus ad谋 16 simvol art谋q var.
Bel蓹 ki, 17 daha yax艧谋 n蓹 var?
18?
25?
B枚y眉k?
30?
>> Auditoriya: [i艧itilemez]
DAVID Malan: 5000, Allah谋m oh.
Bel蓹 ki, y蓹qin ki, bir layiqli var yuxar谋 bound edilir s枚yl蓹yirik.
V蓹 burada biz n枚v var bir q蓹rar z蓹ng etm蓹k 眉莽眉n.
Kimi, burada he莽 bir d眉zg眉n cavab yoxdur.
Infinite olduqca m眉mk眉n deyil biz n蓹hay蓹t ist蓹yirik, 莽眉nki
biz ist蓹yirik yax艧谋d谋r gedir yadda艧 t枚k眉lm蓹k gedir.
Bel蓹 ki, biz bir etm蓹k laz谋md谋r bir n枚qt蓹d蓹 q蓹rar z蓹ng.
>> Olacaq 脟ox 眉mumi, m蓹s蓹l蓹n, use-- v蓹 m蓹n蓹 burada K枚m眉rl蓹艧dirm蓹k m眉蓹yy蓹n imkan
kimi, 蓹vv蓹l 255 sanki Bu veril蓹nl蓹r bazas谋 proqram yuxar谋 h蓹ddi
ill蓹r 枚nc蓹.
V蓹 insanlar bel蓹, bir 莽ox yaln谋z g枚z蓹l, dem蓹k olard谋.
255 limit var.
Yaln谋z maksimum istifad蓹 ed蓹k.
Bu olduqca g眉lm蓹li deyil.
Kimi, kims蓹 yazaraq edirsinizs蓹 200 plus simvol 眉莽眉n ad,
bir az g眉lm蓹li ki.
>> Amma ASCII deyil ki, unutmay谋n Sand谋q谋 眉莽眉n yaln谋z sistem.
Bel蓹 ki, x眉susil蓹 bir Asiya qrupu 莽ox
simvol var biz bilm蓹z M蓹nim AB艦 kimi klaviatura ifad蓹
klaviatura, faktiki olaraq, b蓹zi simvollar 16 bit yerin蓹 s蓹kkiz bit almaq.
Bel蓹 ki, bu, h蓹qiq蓹t蓹n, b眉t眉n 蓹sass谋z deyil
daha 莽ox laz谋md谋r ki, space biz uy臒un ist蓹yirsinizs蓹
莽ox AB艦 daha b枚y眉k simvol merkezli olanlar谋 m眉zakir蓹 meyl etdik.
Bel蓹 ki, biz b蓹zi yuxar谋 bound laz谋md谋r.
M蓹n 蓹n yax艧谋 n蓹 bilmir蓹m lakin 255 眉mumiyy蓹tl蓹 眉mumi biridir.
25 a艧a臒谋 hiss edir.
16, 32 a艧a臒谋 hiss edir蓹m.
M蓹n t蓹r蓹find蓹 s蓹hv d眉艧m蓹k olard谋 y眉ks蓹k bir 艧ey.
Amma ticar蓹t h蓹mi艧蓹 oldu臒u kimi, off var.
, B蓹lk蓹 d蓹, ayd谋nd谋r n蓹 255 chars sifari艧 off ticar蓹t
M蓹nim bazas谋nda h蓹r k蓹sin ad谋?
>> Auditoriya: [i艧itilemez]
>> DAVID MALAN: N蓹 olub?
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: Bu var yadda艧 莽ox sa臒?
M-A-L-A-N. M蓹n yaln谋z 250 s蓹rf simvol yaln谋z m蓹nim ad saxlamaq 眉莽眉n
m眉dafi蓹, yaln谋z halda kims蓹 sinif bir h蓹qiq蓹t蓹n uzun ad谋 var.
Ki, bir h蓹dsiz tradeoff kimi g枚r眉n眉r.
>> Bel蓹 ki, ki, SQL 莽谋x谋r Bu veril蓹nl蓹r bazas谋 dili,
h蓹qiq蓹t蓹n, bir 艧ey d蓹st蓹kl蓹yir VARCHAR, v蓹 ya nisbi CHAR 莽a臒谋r谋b.
V蓹 bu ki, bu c眉r g枚z蓹l Bir sabit deyil m眉蓹yy蓹n etm蓹k 眉莽眉n imkan verir
eni, 蓹ksin蓹, d蓹yi艧蓹n eni.
V蓹 daha 莽ox x眉susi bir sah蓹sind蓹 maksimum eni.
Bel蓹 ki, bu bir ad bil蓹r o dem蓹kdir ki, art谋q 250 simvol ola,
lakin 蓹lb蓹tt蓹 ki, daha az ola bil蓹r.
V蓹 veril蓹nl蓹r bazas谋 smart olacaq.
M-A-L-A-N qoymaq deyils蓹, Bu, yaln谋z be艧 istifad蓹 olacaq
b蓹lk蓹 alt谋 bytes kimi bir arxada null xarakteri,
v蓹 蓹lav蓹 s蓹rf deyil Laz谋ms谋z 249 v蓹 ya 250 bytes.
>> Bel蓹 ki, bu m蓹n olmal谋d谋r kimi g枚r眉n眉r bu hekay蓹 il蓹 ba艧lam谋艧d谋r.
Amma h蓹mi艧蓹 bir tradeoff var.
Bel蓹 ki, bir t蓹r蓹fd蓹n, bir istifad蓹莽i ad谋 m蓹n var a臒谋r 16 kodlu etm蓹k 眉莽眉n m眉蓹yy蓹n,
v蓹 b蓹lk蓹 deyil sa臒 z蓹ng, b蓹lk蓹
var, amma niy蓹 istifad蓹 H蓹r 艧ey 眉莽眉n VARCHARs?
>> Bu s蓹b蓹bd蓹n m枚vcuddur.
Niy蓹 h蓹r sah蓹 眉莽眉n VARCHARs istifad蓹 Onun uzunlu臒u 蓹vv蓹lc蓹d蓹n bilmir蓹m
Sa臒, b枚y眉k bir 艧ey g枚r眉n眉r 蓹g蓹r?
Kimi yaln谋z 莽ox yer istifad蓹 edin bu limit q蓹d蓹r laz谋md谋r?
>> Auditoriya: yava艧.
DAVID Malan: Speller?
Auditoriya: yava艧 edir?
DAVID Malan: Oh, yava艧 var.
Yax艧谋, dem蓹k olar ki, h蓹mi艧蓹 var cavab s蓹mimi.
Kimi, tradeoff var?
Bu da daha 莽ox yer x蓹rcl蓹ri v蓹 ya daha 莽ox vaxt x蓹rcl蓹ri.
Bel蓹 ki, bu halda, bu yava艧 ola bil蓹r.
Niy蓹?
>> Auditoriya: [i艧itilemez] [I艧itilemez] m眉蓹yy蓹n.
>> DAVID Malan: Yax艧谋.
Bel蓹 ki, h蓹tta geri bil蓹r PSED5, sizin yana艧ma il蓹 oynayan
l眉臒蓹t, siz varsa dinamik yadda艧 ayr谋lmas谋 v蓹 ya saxlamaq
ki, bir bufer art谋r h蓹qiq蓹t蓹n yava艧 ola bil蓹r.
Siz malloc z蓹ng etm蓹k varsa, ba艧l谋q alt谋nda v蓹 b蓹lk蓹
ki MySQL, bel蓹 ki, n蓹 var H蓹qiq蓹t蓹n, bu halda ola bil蓹r.
V蓹 yol hesab edir蓹m, 蓹g蓹r geri h蓹tta PSet-- v蓹 ya
kimi h蓹ft蓹 iki etdik 艧eyi ikili axtar谋艧 v蓹 ya h蓹tta x蓹tti axtar谋艧,
h蓹r s枚z眉 haqq谋nda g枚z蓹l 艧eyl蓹r biri bir s眉tun bir veril蓹nl蓹r bazas谋 v蓹 ya h蓹r s枚z眉
h蓹tta eyni uzunlu臒u olan h蓹min simvol b眉t眉n d蓹st蓹
bo艧, siz istifad蓹 ed蓹 bil蓹rsiniz ki, Sizin data t蓹sad眉fi giri艧, sa臒?
>> H蓹r bilirsinizs蓹 s枚z, 16 simvol 眉z
Siz ki, pointer hesab istifad蓹 ed蓹 bil蓹rsiniz dan谋艧maq, biz蓹 getm蓹k 16, 32, 48, 64,
v蓹 yaln谋z atlayabilir d蓹rhal hesab istifad蓹 ed蓹r蓹k,
veril蓹nl蓹r bazas谋 s枚zl蓹ri h蓹r hans谋 bir.
Bu bir VARCHAR 蓹g蓹r halbuki, n蓹 蓹v蓹zin蓹 n蓹 etm蓹k laz谋md谋r?
>> [Telefon z蓹ng]
>> Bu bir VARCHAR varsa, siz t蓹sad眉fi giri艧 istifad蓹 ed蓹 bilm蓹z.
N蓹 眉莽眉n baxmaq v蓹 ya n蓹 etm蓹k laz谋md谋r?
Evet?
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: bax谋n whole-- iz vasit蓹sil蓹
b眉t眉n siyah谋s谋 莽ox g眉man ki, n蓹 axtar谋r?
X眉susi d蓹y蓹r n蓹 c眉r?
Auditoriya: [i艧itilemez]
DAVID Malan: Axtar谋ram null Terminators 眉莽眉n
ki, s枚zl蓹ri ayr谋lmas谋 ay谋rmaq.
Bel蓹 ki, yen蓹, bir tradeoff v蓹 he莽 bir d眉zg眉n cavab yoxdur.
Amma bu, x眉susil蓹, harada Sizin istifad蓹莽il蓹r bir 莽ox ola almaq zaman
Sizin server v蓹 y眉k, insanlar谋n say谋, y眉ks蓹k olur istifad蓹
Bu, h蓹qiq蓹t蓹n, nontrivial q蓹rarlard谋r.
Bel蓹 ki, biz bu bu t蓹rk, lakin bil蓹r h眉ququ 眉z蓹rind蓹 a艧a臒谋 diyirl蓹yin bildirin
burada.
陌ndi s眉tun bir ne莽蓹 var biz bir q蓹rar z蓹ng etm蓹k 眉莽眉n var.
Bir istifad蓹莽i imkan m蓹nada edirmi bir istifad蓹莽i istifad蓹莽i ad谋 v蓹 ya istifad蓹莽i ad谋,
, null ola ad谋?
Bu, yaln谋z bo艧.
Bir az c蓹f蓹ng hiss, m蓹n deyil蓹m bu qutular谋 yoxlamaq niyy蓹tind蓹 deyil.
Amma bir 莽谋x谋r veril蓹nl蓹r bazas谋, siz dey蓹 bil蓹rsiniz
Kims蓹 iste臒e bu d蓹y蓹r ola bil蓹r.
Bu s眉tun yoxdur h蓹qiq蓹t蓹n orada olmaq.
>> 陌ndi menyu a艧a臒谋 a莽谋lan bu var.
V蓹 m蓹n h蓹l蓹 d蓹 hiss orada ilk s谋rada,
m蓹n indi istifad蓹莽i ad谋 b蓹hs edir蓹m.
V蓹 bu, bir veril蓹nl蓹r bazas谋 莽谋x谋r ki sad蓹 sad蓹c蓹 elektron tablo f蓹rqli olaraq,
g枚st蓹ricil蓹ri adl谋 g眉cl眉 x眉susiyy蓹tl蓹ri vard谋r.
V蓹 bir index izah bir yoldur 茝vv蓹lc蓹d蓹n bazas谋 insan ki,
asan siz art谋q deyil蓹m.
>> M蓹n sor臒u n蓹 c眉r se莽in bilirik v蓹 ya daxil etm蓹zd蓹n v蓹 ya silm蓹k v蓹 ya yenil蓹m蓹
M蓹nim code ba艧a gedir ki, Bu bazas谋nda bunu.
M蓹n bir 莽ox veri oxumaq ist蓹yir蓹m.
M蓹n bir 莽ox veri daxil etm蓹k ist蓹yir蓹m.
M蓹n daim ist蓹yir蓹m bir 莽ox veri silin.
M蓹n olmaq gedir蓹m bilirik ki, 蓹g蓹r bir 莽ox 陌stifad蓹莽i ad谋 kimi bir sah蓹 daxil,
M蓹n preemptively dey蓹 bil蓹rsiniz veril蓹nl蓹r bazas谋, M蓹n siz蓹 daha 莽ox bilm蓹k
v蓹 m蓹n s蓹r蓹ncam谋 ist蓹yir蓹m ki, Siz index bu sah蓹 olmal谋d谋r.
Bir sah蓹 v蓹 ya bir s眉tun indeksasiyas谋 harada o dem蓹kdir ki, 蓹vv蓹lc蓹d蓹n bazas谋
kimi, b蓹zi ideyalar谋 borc olmal谋d谋r, h蓹ft蓹 d枚rd v蓹 be艧 v蓹 alt谋 CS50
v蓹 h蓹qiq蓹t蓹n qurmaq bir ikili axtar谋艧 kimi bir 艧ey
a臒ac v蓹 ya bir 艧ey 眉mumiyy蓹tl蓹 B a臒ac 莽a臒谋r谋b
茝g蓹r 枚yr蓹nm蓹k ki, bir sinif kimi CS124 da
Harvard, bir alqoritml蓹r sinif, v蓹 ya dig蓹r yerl蓹rd蓹 h蓹r hans谋 bir say谋.
>> veril蓹nl蓹r bazas谋 v蓹 a臒谋ll谋 onu h蓹yata insanlar
saxlamaq 眉莽眉n nec蓹 anlamaq ed蓹c蓹k m蓹lumatlar谋n masa
yadda艧 ki, axtar谋艧lar v蓹 dig蓹r 蓹m蓹liyyatlar super s眉r蓹tli.
Siz bunu yoxdur.
Siz h蓹yata yoxdur x蓹tti axtar谋艧 v蓹 ya ikili axtar谋艧
v蓹 ya sort v蓹 ya se莽im daxil sort ki, h蓹r hans谋 bir.
Siz dem蓹k 蓹g蓹r bazas谋 sizin 眉莽眉n bunu edir Bu preemptively index bu sah蓹d蓹.
>> V蓹 var, 莽ox g枚r蓹 bil蓹rsiniz B蓹zi dig蓹r x眉susiyy蓹tl蓹ri
biz bazas谋 t蓹tbiqi 眉莽眉n dey蓹 bil蓹rsiniz.
M蓹n unikal se莽erseniz Bu n蓹 dem蓹k bil蓹r Bu menyu, yaln谋z daxil蓹n?
Evet?
>> Auditoriya: [i艧itilemez]
DAVID Malan: B蓹li, istifad蓹莽i ad谋 unikal olmal谋d谋r.
Bu yax艧谋 bir 艧ey v蓹 ya pis bir 艧ey 眉莽眉n istifad蓹莽il蓹r il蓹 bir haqqinda 眉莽眉n bir veril蓹nl蓹r bazas谋?
Istifad蓹莽i ad谋 unikal olmal谋d谋r?
B蓹li, y蓹qin.
Ki, varsa n蓹 sah蓹sind蓹 biz daxil olmaq 眉莽眉n istifad蓹
Siz, h蓹qiq蓹t蓹n, insanlar olan ist蓹mir蓹m eyni hiss v蓹 ya eyni istifad蓹莽i ad谋.
Bel蓹 ki, biz ola bil蓹r veril蓹nl蓹r bazas谋 ki, h蓹yata
ki, indi m蓹nim PHP kodu v蓹 ya h蓹r hans谋 bir dild蓹, M蓹n, m蓹s蓹l蓹n, yoxlamaq yoxdur
m眉tl蓹q bu istifad蓹莽i ad谋 yoxdur M蓹n kims蓹 qeydiyyatdan imkan 蓹vv蓹l var?
Veril蓹nl蓹r bazas谋 adl谋 iki adam imkan ver蓹c蓹k David v蓹 ya Malans bu halda qeydiyyatdan ke莽m蓹lisiniz.
>> V蓹 bir k蓹nara kimi, h蓹tta bu olsa menyu yaln谋z birini se莽in imkan verir,
unikal index var biridir super s眉r蓹tli performans 眉莽眉n dizine,
lakin bu da unikall谋臒谋 t蓹tbiq.
V蓹 biz geri g蓹lm蓹k laz谋md谋r n蓹 yaln谋z bir anda dem蓹k iki.
Eyni zamanda, m蓹n getm蓹k 蓹g蓹r m蓹nim ikinci s谋ra olan
istifad蓹莽i ad谋, m蓹n m眉蓹yy蓹n etm蓹lidir Ad benzersiz olmal谋d谋r ki?
Xeyr, 蓹lb蓹tt蓹 ki, ola bil蓹r, 莽眉nki yax艧谋d谋r iki David var
Bu otaqda Malans, 莽ox g眉man ki,.
Amma biz ba艧qa bir ad se莽蓹 蓹g蓹r, biz, 艧眉bh蓹siz ki toqqu艧ma ola bil蓹r.
>> Masalar v蓹 kimi hash geri d眉艧眉n眉n.
Bel蓹 ki, biz, 艧眉bh蓹siz ki, ist蓹mirik ad谋 sah蓹sind蓹 unikal etm蓹k.
Bel蓹 ki, biz yaln谋z t蓹rk etm蓹k olacaq ki tire, tire, tire, he莽 bir 艧ey kimi.
M蓹n t蓹rk gedir蓹m t蓹k ba艧qa h蓹r 艧ey.
H蓹qiq蓹t蓹n, bu sah蓹l蓹rd蓹 蓹n biz qay臒谋 yoxdur.
V蓹 m蓹n bu saxlamaq 眉莽眉n haz谋r oldu臒umu, , internet 蓹m蓹kda艧l谋q 蓹g蓹r
M蓹n 莽ox, 莽ox, 莽ox Saxla bas谋n v蓹 yava艧-yava艧 bazas谋 xilas etmir.
V蓹 indi bu geri Ben interface olan etiraf,
ilk bax谋艧da b枚y眉k deyil.
Amma gedir蓹m b眉t眉n bas谋n sol 眉st s枚z istifad蓹莽i.
M蓹n burada getm蓹k 眉莽眉n gedir蓹m bas谋n 陌stifad蓹莽il蓹r v蓹 default, onu
b蓹zi SQL icra, lakin bir an ki, daha 莽ox.
Burada n蓹 bir x眉las蓹.
V蓹 g枚rm蓹k ki, narahat deyil burada Lat谋n v蓹 陌sve莽 qeyd.
Bu yaln谋z default var parametrl蓹ri, ilk MySQL, 莽眉nki,
v蓹 ya PHP MyAdmin, iki bir ba艧 B蓹zi 陌sve莽 insanlar t蓹r蓹find蓹n yazd谋rd谋.
Lakin burada bizim halda yersiz var.
>> B眉t眉n h眉quqlar, bel蓹 ki, niy蓹 var Bu b眉t眉n maraql谋?
Bu 莽谋x谋r, m蓹n data 蓹lav蓹 ed蓹 bil蓹rsiniz kodu yaz谋l谋 bir bazas谋nda.
M蓹n ir蓹li getm蓹k v蓹 al谋ram burada m蓹nim fayl, m蓹n
ir蓹li getm蓹k v蓹 kimi iddia gedir Bu veril蓹nl蓹r bazas谋, simli olan
bu anda deyil, lakin o, biz problem almaq yeddi m眉蓹yy蓹n zaman ola bil蓹r.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 , sor臒u adl谋 funksiyas谋 yerin蓹
Hans谋 problem ver蓹c蓹k ki, yeddi paylama kodu m眉蓹yy蓹n
蓹n az谋 bir m眉bahis蓹 edir, olan yaln谋z bir simli edir.
SQL kodu A string.
Bel蓹 ki, nec蓹 枚yr蓹nm蓹k 眉zeresiniz Yap谋land谋r谋lm谋艧 Sor臒u Dil yaz谋n.
>> M蓹n yeni bir s谋ra daxil etm蓹k ist蓹yirsinizs蓹 m蓹nim Veril蓹nl蓹r bazas谋 kims蓹 t蓹qdim edib, 莽眉nki
m蓹nim kodu bir formas谋, M蓹n s枚z眉n ki istifad蓹莽il蓹r daxil a艧a臒谋dak谋 yazmaq
sah蓹l蓹ri: istifad蓹莽i ad谋, verg眉l, ad谋, d蓹y蓹rl蓹r,
v蓹 indi daxil etm蓹k laz谋md谋r Malan, v蓹 quote kimi bir 艧ey,
d谋rna臒谋 ba臒lamaq "David Malan. V蓹 indi h蓹tta SQL il蓹 tan谋艧 olanlar 眉莽眉n,
niy蓹 vahid quotes istifad蓹 edir蓹m bu ya艧谋l simli daxilind蓹?
N蓹 s蓹b蓹b burada ola bil蓹r?
>> M蓹n AT茝T-qar谋艧araq iki dild蓹 deyil蓹m ed蓹k.
Query bir PHP funksiyas谋 lakin bir m眉bahis蓹 edir.
V蓹 d蓹lil 枚z眉 眉莽眉n var ola adl谋 bir dild蓹 yaz谋lm谋艧d谋r
SQL, Yap谋land谋r谋lm谋艧 Query Language.
Bel蓹 ki, h蓹r 艧ey ki, m蓹n yaln谋z burada qeyd edib
SQL adlanan bu dilidir.
Bel蓹 ki, bir quotes il蓹 n蓹, yaln谋z bir s眉r蓹tli a臒l谋 ba艧谋nda olma 莽ek kimi?
Davam et.
Onlar strings ist蓹yirik.
Bel蓹 ki, quote, d谋rna臒谋 ba臒lamaq Malan v蓹 quote, d谋rna臒谋 ba臒lamaq David Malan strings var.
V蓹 yaln谋z indi daxil蓹n d眉艧眉n眉r C v蓹 PHP haqq谋nda n蓹 bilm蓹d蓹n,
niy蓹 bunu, M蓹n ad蓹t蓹n etm蓹yib strings 眉莽眉n istifad蓹 ikiqat quotes?
Niy蓹 bunu ist蓹mir?
Evet?
>> Auditoriya: [i艧itilemez]
DAVID Malan: M蓹hz.
M蓹n art谋q istifad蓹 edir蓹m, 莽眉nki yolda ikiqat quotes
d蓹lil k蓹narda PHP funksiyas谋,
M蓹n yaln谋z t蓹rc眉m蓹莽i 莽a艧d谋rmaq bil蓹r.
Bu bilmir蓹m, bu birlikd蓹 getm蓹k yoxdur?
Bu birlikd蓹 getm蓹k edirsiniz?
Bel蓹 ki, m蓹n 蓹v蓹zin蓹 alternativ.
>> V蓹 ya bu kimi bir 艧ey ola bil蓹r backslash quote v蓹 ya backslash quote.
A莽谋臒谋, yaln谋z ba艧lay谋r 莽ox okunmaz v蓹 莽irkin almaq.
Amma ki, nail olmaq olard谋 h蓹m莽inin eyni n蓹tic蓹.
>> M蓹n 蓹g蓹r Bel蓹 ki, bu icra sor臒u 陌ndi n蓹 g枚rm蓹k ed蓹k.
陌ndi v蓹 daha ir蓹li getm蓹k 眉莽眉n gedir蓹m PHP kodu, icra 莽ox olan
siz oynamaq laz谋md谋r harada problemi, yeddi m眉蓹yy蓹n
M蓹n 蓹v蓹zin蓹 PHP MyAdmin getm蓹k 眉莽眉n gedir蓹m.
M蓹n 蓹l gedir蓹m SQL ni艧an谋 getm蓹k 眉莽眉n,
v蓹 m蓹n蓹 interface zoom imkan.
M蓹n yap谋艧d谋r谋b gedir蓹m M蓹n yaln谋z tipli 艧ey.
V蓹 r蓹ng kodla艧d谋rma var 陌ndi bir az d蓹yi艧ib
yaln谋z proqram format 莽眉nki h蓹r 艧eyi f蓹rqli bir az.
Amma m蓹n etdik ki, g枚r眉rs眉n眉z M蓹n indi daxil, bildirib etdik.
M蓹n verg眉l, sonra, belirledi臒iniz ayr谋lm谋艧 parenthesized siyah谋s谋 iki
M蓹n daxil etm蓹k ist蓹yir蓹m sah蓹l蓹ri v蓹 sonra m蓹n s枚z眉n bildirib etdik d蓹y蓹rl蓹r
ba艧qa paren izl蓹di v蓹 sonra iki d蓹y蓹rl蓹r
M蓹n plug-in ist蓹yir蓹m, v蓹 陌ndi yax艧谋 t蓹dbir 眉莽眉n,
M蓹n sonunda n枚qt蓹li verg眉l qoymaq laz谋md谋r.
Bel蓹 ki, bu PHP deyil C. deyil.
Bu art谋q SQL, v蓹 m蓹n onu sovu艧durmaq al谋ram ki, bu web-based interface daxil
yaln谋z m蓹n蓹 imkan gedir, tezlikl蓹 m蓹n Go bas谋n kimi,
bazas谋nda bu sor臒u icra CS50 IDE daxilind蓹 莽al谋艧谋r.
>> Bel蓹 ki, bu yax艧谋d谋r.
Dedi Notice bir s谋ra daxil, super s眉r蓹tli getdi
0,0054 saniy蓹 m蓹lumatlar daxil etm蓹k 眉莽眉n.
Bel蓹 ki, olduqca sa臒lam s蓹sl蓹nir.
Bu, m蓹nim sor臒u bi莽imlendirildikten yaln谋z g枚rm蓹k 眉莽眉n m蓹nim 眉莽眉n
r蓹ng kodlu versiyas谋 n枚v.
Amma indi bas谋n 陌nsanlar, h蓹tta, ki, qeyd
clutter bir 莽ox var, baxmayaraq ekran, m蓹nim masa iki sat谋r var.
>> Bel蓹 ki, m蓹n蓹 ir蓹li getm蓹k v蓹 bir n蓹 ed蓹k.
Bunun 蓹v蓹zind蓹, m蓹n蓹 imkan yenid蓹n SQL ni艧an谋 getm蓹k.
V蓹 bu zaman m蓹n kimi bir 艧ey daxil olacaq Rob v蓹 onun ad谋 Rob Bowden olacaq.
Bowden.
Nin Saxla bas谋n ed蓹k.
Ba臒谋艧lay谋n, daha gedin.
>> Daha Browse bas谋n v蓹 indi iki sat谋r var g枚r眉rs眉n眉z.
Bel蓹 ki, bu, yaln谋z bir yol daha m眉r蓹kk蓹bdir a莽谋lmas谋 Google Spreadsheets yolu
v蓹 yaln谋z bir s眉tun bir s谋ra yazaraq.
Lakin 蓹sas ki, n蓹 var biz indi sintaksis var
olan kod yazmaq 眉莽眉n ki, n蓹tic蓹d蓹, biz, h蓹qiq蓹t蓹n bil蓹r
bir v蓹 bunu.
Ki, PHP d蓹st蓹kl蓹yir Xat谋rladaq super qlobal d蓹yi艧蓹nl蓹r.
>> Dollar daxilind蓹 n蓹dir PHP GET underscore imzalamaq?
Biz bir n蓹z蓹r etdi v蓹 ya iki sad蓹 n眉mun蓹l蓹ri.
V蓹 PSet6, siz salam var geri Bu d蓹yi艧蓹n istifad蓹 dot PHP.
N蓹 var gedir?
Yoxsa bu n蓹dir?
Bir az louder.
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: Bu bir qar var serial谋n toxum olan
Bir dey蓹r蓹k bir x眉lya yoldur 蓹sas d蓹y蓹r c眉t var array.
V蓹 d眉ym蓹l蓹ri r蓹q蓹mli deyil.
Onlar s枚z v蓹 ya strings ist蓹yirik.
V蓹 x眉susi, n蓹 o 蓹sas d蓹y蓹r c眉t var?
Onlar haradan g蓹lirs蓹n?
Ba臒谋艧lay谋n?
>> Auditoriya: [i艧itilemez]
DAVID Malan: No?
Harada o 蓹sas yoxdur d蓹y蓹r c眉t g蓹lir?
Daha dem蓹k?
Yen蓹?
M蓹n yaln谋z bir e艧itm蓹 bir 艧ey Am?
>> [G眉l眉艧]
>> B蓹li, do臒ru?
>> Auditoriya: [i艧itilemez]
DAVID Malan: B蓹li, onlar sor臒u simli g蓹lir.
Bel蓹 ki, zaman geri 蓹g蓹r Google il蓹 ifa etdiyiniz zaman
v蓹 biz Google.com 莽izgi getdi etdik Axtar谋艧 sual i艧ar蓹si q, pi艧ik b蓹rab蓹rdir
M蓹n hit 蓹g蓹r daxil edin v蓹 蓹g蓹r Google, PHP h蓹yata ke莽irilmi艧dir
Google yaz谋rd谋 ki, PHP kodu dollar i艧ar蓹si etm蓹k imkan谋 var ki,
olan daxilind蓹 almaq vur臒ulamaq 蓹sas adl谋 Q v蓹 d蓹y蓹ri
sonra istifad蓹 ed蓹 bil蓹rsiniz ki adlanan cats il蓹 faktiki axtar谋艧 etm蓹k 眉莽眉n istifad蓹 olunur.
>> Bel蓹 ki, 蓹slind蓹, m蓹n n蓹 gedir蓹m 陌ndi m蓹nim PHP kodu geri yoxdur
Siz yen蓹 PSet7 da daha 莽ox laz谋md谋r ki,.
V蓹 蓹v蓹zin蓹 sayede a臒谋r kodlu d蓹y蓹rl蓹r olan
kimi g枚r眉nm眉r 莽ox dinamik haqqinda,
M蓹n siz蓹 bir iltifat verm蓹k gedir蓹m faktiki code n蓹 ed蓹c蓹yini.
Siz iki qoymaq olard谋 sual bu kimi olur.
M蓹n istifad蓹莽i ad谋 n蓹 bilmir蓹m.
M蓹n n蓹 bilmir蓹m ad谋, olacaq
amma m蓹n bilmir蓹m dinamik onlar谋 almaq.
>> Bel蓹 ki, biz indi yaz谋l谋 etdiyiniz code 蓹g蓹r Google servers 莽al谋艧an indeksi,
v蓹 ya bu salam dot 蓹g蓹r PSet6 il蓹 g蓹lir PHP,
M蓹n ke莽ir gedir蓹m sor臒u funksiyas谋
yaln谋z printf kimi, iki d蓹lill蓹ri.
Quote, GET, d谋rna臒谋 ba臒lamaq istifad蓹莽i ad谋, v蓹 quote, d谋rna臒谋 ba臒lamaq ad谋 almaq.
陌ndi n蓹 hiss 眉mumi qurulu艧u burada.
M蓹n sol var z蓹ng t蓹r蓹fd蓹n,
bu funksiya PHP sor臒u 莽a臒谋r谋b.
M蓹n h蓹l蓹 bir ilk var d蓹lil, m蓹tn yaln谋z bir string.
>> Lakin m蓹tnin ki, simli edir SQL adl谋 dilind蓹 yaz谋lm谋艧.
V蓹 s蓹mimi, bu b枚y眉k bir dil deyil.
Biz yaln谋z dan谋艧maq olacaq Bu r蓹smi bu g眉n h蓹qiq蓹t蓹n.
V蓹 sonra problem m眉蓹yy蓹n yeddi nisb蓹t蓹n var
biz ist蓹yirik ne莽蓹 x眉susiyy蓹tl蓹ri leverage gedir.
sual i艧ar蓹l蓹ri, baxmayaraq ki, plug dem蓹k ba艧qa d蓹y蓹rind蓹 burada d蓹y蓹ri v蓹 plug
burada.
V蓹 bildiri艧, m蓹n 莽谋xar谋lm谋艧d谋r n蓹 quote-- l蓹n蓹tl蓹m蓹k 蓹traf谋nda
Kotirovka 蓹traf谋nda pseudocode Bu d蓹f蓹 olur.
M蓹n kotirovka 莽谋xar谋lm谋艧d谋r sonra sual i艧ar蓹si 蓹traf谋nda i艧ar蓹l蓹ri
Ba臒谋艧lay谋n, bu d蓹f蓹 蓹traf谋nda.
>> Bel蓹 ki, n蓹 bu bar蓹d蓹 g枚z蓹l sual i艧ar蓹si x眉susiyy蓹t
PHP, Ruby d蓹st蓹k 莽al谋艧谋r v蓹 Python v蓹 dig蓹r dill蓹rd蓹,
bu yaln谋z b蓹zi plug dem蓹kdir burada qiym蓹tl蓹ndiririk v蓹 n蓹 bilirik?
Siz istifad蓹 edilm蓹si anlamaq bir quotes v蓹 ya c眉t quotes.
O m蓹ni narahat etm蓹yin intellektual maraqs谋z 蓹trafl谋.
Lakin, 蓹min do臒ru etm蓹k M蓹nim code n蓹tic蓹d蓹 ki,
蓹m蓹liyyat v蓹 t蓹hl眉k蓹siz olan uzun 蓹vv蓹l bir m蓹nas谋 var.
>> 陌ndi ne莽蓹 arqumentl蓹r yaln谋z, c蓹mi ayd谋n, sor臒u funksiyas谋 alaraq edir?
H蓹r k蓹s daha iki s蓹s ist蓹yirsiniz?
Three?
茝lb蓹tt蓹, niy蓹?
Niy蓹 眉莽?
>> Auditoriya: [i艧itilemez]
DAVID Malan: M蓹hz.
birinci hiss蓹si simli edir.
陌kinci arqument dollar 蓹lam蓹tidir GET istifad蓹莽i ad谋 bracket vur臒ulay谋r.
V蓹 眉莽眉nc眉 arqument Eyni 艧ey, ancaq ad谋.
陌ndi, ba艧qa s枚zl蓹, bel蓹 ki, M蓹n bir web formu olsa
ki, m蓹tn sah蓹l蓹ri idi istifad蓹莽i ad谋 眉莽眉n bir,
onun 眉莽眉n bir v蓹 ya onun ad谋, yaln谋z kimi bir veb g枚rm蓹k olard谋
Siz qeydiyyatdan zaman bir bax, bu q眉dr蓹ti
geri sonunda kodunu olmaq h蓹qiq蓹t蓹n durub indi yoxdur
bazas谋nda.
>> 陌ndi 蓹ksin蓹, s眉r蓹tli ir蓹li ed蓹k.
Bir istifad蓹莽i indi d眉艧眉n蓹k giri艧 v蓹 ist蓹diyiniz
olub-olmad谋臒谋n谋 yoxlay谋r PHP kodu yazmaq yaln谋z daxil olan 艧蓹xs
bir istifad蓹莽i h蓹qiq蓹t蓹n, siz bil蓹r olduqca sad蓹 sintaksis istifad蓹 edin.
Siz dey蓹k se莽in dem蓹k olar star h蓹r 艧ey dem蓹kdir harada, ulduz.
M蓹n n蓹 bilmir蓹m m蓹n ist蓹yir蓹m, bel蓹 ki, yaln谋z m蓹n蓹 verm蓹k
masa b眉t眉n s眉tunlar users harada adlan谋r v蓹 bu g枚z蓹l.
Select n蓹 d蓹st蓹kl蓹yir olan bir x蓹b蓹r adl谋
ist蓹diyiniz se莽m蓹 yolu kimi.
Harada istifad蓹莽i ad谋 b蓹rab蓹rdir quote, d谋rna臒谋 ba臒lamaq Malan.
Bel蓹 ki, burada da m蓹n 蓹laq蓹dar sonra d蓹lil daxili
bir PHP funksiyas谋, SQL kodu bir line.
V蓹 SQL kodu bu vaxt sanki gedir
quote 眉莽眉n axtar谋艧, Malan d谋rna臒谋 ba臒lamaq.
>> 陌ndi ki, b眉t眉n faydal谋 deyil m蓹n ki ke莽m蓹k gedir蓹m
v蓹 m蓹n 眉z qoymaq gedir蓹m Brady bu tip, v蓹 getm蓹k
v蓹 plug-in yerin蓹 Burada bir sual i艧ar蓹si.
Bel蓹 ki, yaln谋z ayd谋n olmaq 眉莽眉n n蓹 m蓹nim ikinci d蓹lil olmal谋d谋r
kims蓹 yaln谋z v蓹 I daxil edir 蓹g蓹r o, h蓹qiq蓹t蓹n, 蓹g蓹r check ist蓹diyiniz
Bir istifad蓹莽i?
Auditoriya: [i艧itilemez]
DAVID Malan: B蓹li.
M蓹n dollar i艧ar蓹si vur臒ulamaq e艧itm蓹k Quote, d谋rna臒谋 ba臒lamaq istifad蓹莽i ad谋 al谋n.
V蓹 m蓹n蓹 qay谋tmal谋d谋rlar M蓹nim bazas谋nda sat谋r h蓹r hans谋
ki Malan bir istifad蓹莽i ad谋 var.
陌ndi 眉mid edir蓹m ki, m蓹n geri almaq 眉莽眉n gedir蓹m s谋f谋r Malan burada he莽 蓹g蓹r,
v蓹 ya bir O varsa.
M蓹n geri almaq laz谋md谋r iki v蓹 ya 眉莽 v蓹 ya d枚rd.
Niy蓹?
>> Auditoriya: [i艧itilemez]
>> DAVID MALAN: M蓹n, unikal dedi?
Simple s蓹b蓹b.
M蓹n dedim, 莽眉nki bu var yaln谋z m蓹ntiqi, unikal,
Yaln谋z s谋f谋r v蓹 ya bir Malans ola bil蓹r bu veril蓹nl蓹r bazas谋 masa.
陌ndi g枚rd眉m k蓹nara, yaln谋z bel蓹 kimi Bu, m蓹n istifad蓹 saxlamaq, baxmayaraq ki GET
v蓹 PSet6 yaln谋z istifad蓹 olsa da , 茝lb蓹tt蓹 ki, POST ola bil蓹r GET.
V蓹 Post ba艧qa Xat谋rladaq ki, m蓹lumat t蓹qdim texnika
bir formada, lakin URL g枚rs蓹nmir.
Bu, 蓹lb蓹tt蓹 ki, bir az daha t蓹hl眉k蓹siz istifad蓹莽i ad谋 v蓹 parol kimi 艧eyl蓹r,
olan PSet7, 蓹slind蓹, i艧tirak ed蓹c蓹k.
>> Bel蓹 ki, PHP bunu ed蓹k MyAdmin v蓹 n蓹 g枚rm蓹k.
M蓹n MySQL ni艧an谋 getm蓹k 眉莽眉n gedir蓹m.
V蓹 ki, default d蓹y蓹ri, qeyd PHP MyAdmin, yaln谋z faydal谋 olmaq 眉莽眉n c蓹hd
harada istifad蓹莽il蓹r etibar蓹n ulduz se莽m蓹kdir.
Yax艧谋, bir, bel蓹 ki, h蓹mi艧蓹 do臒ru bu effektiv silly var
yaln谋z h蓹r 艧eyi se莽in.
Amma bir az gedir蓹m daha x谋rda莽谋 v蓹 蓹l
istifad蓹莽il蓹r SELECT ulduz yaz谋n.
>> 陌ndi texniki, siz masa ad谋n谋 sitat.
Bu laz谋md谋r ki, nadir, lakin bu deyil qeyd
AB艦 klaviatura sizin normal quotes.
Bu qondarma backtick, olan sol 眉st t蓹r蓹fd蓹n 眉mumiyy蓹tl蓹
klaviatura k眉nc.
Ancaq laz谋md谋r ki, nadir var h蓹qiq蓹t蓹n ki, narahat etm蓹k laz谋md谋r,
m蓹n yaln谋z h蓹r halda onlar谋 buraxmaq laz谋md谋r.
Bel蓹 ki, indi m蓹n蓹 ir蓹li getm蓹k v蓹 getm蓹k hit imkan.
Ne莽蓹-ne莽蓹 sat谋r I almaq laz谋md谋r geri M蓹n istifad蓹莽il蓹r ulduz se莽in?
>> Auditoriya: [i艧itilemez]
DAVID Malan: 蓹min sat谋r say谋.
Amma bu ne莽蓹 陌ndi konkret hekay蓹?
Iki, var idi, 莽眉nki M蓹n蓹 v蓹 Rob var idi.
M蓹n Go bas谋n Bel蓹 ki, m蓹n vizual ki, g枚r蓹c蓹ksiniz M蓹n, h蓹qiq蓹t蓹n, geri iki sat谋r kazan谋lm谋艧 etdik.
Clutter bir 莽ox var ekran, amma yaln谋z iki sat谋r oldu.
M蓹n bir daha bunu 蓹g蓹r 蓹ksin蓹, n蓹 Istifad蓹莽il蓹r, harada istifad蓹莽i ad谋 FROM SELECT star
quote, d谋rna臒谋 ba臒lamaq b蓹rab蓹rdir Malan, indi, Go bas谋n 蓹g蓹r
M蓹n yaln谋z geri bir s谋ra almaq 眉莽眉n gedir蓹m.
V蓹 n蓹hay蓹t, m蓹n 蓹g蓹r bu kimi bir 艧ey, g眉man
M蓹n qay臒谋 yoxdur ki, h蓹r 艧ey 蓹ld蓹,
indi c眉r m蓹nas谋z, yaln谋z iki s眉tun var, 莽眉nki.
M蓹n se莽ilm蓹si al谋ram kimi deyil m蓹lumatlar谋n b枚y眉k m蓹bl蓹臒i.
M蓹n ir蓹li getm蓹k v蓹 g眉man FROM ad谋 se莽in yoxdur
istifad蓹莽i ad谋 Malan b蓹rab蓹rdir istifad蓹莽il蓹r, n蓹 vicdanla SQL haqq谋nda g枚z蓹l,
Bu, h蓹qiq蓹t蓹n, yaln谋z deyil ki, Siz n蓹 dem蓹k.
Bu olduqca q谋sa, lakin siz s枚z眉n yaln谋z ist蓹diyiniz n蓹 dem蓹k.
Istifad蓹莽il蓹r harada se莽in ad谋 istifad蓹莽i ad谋 Malan b蓹rab蓹rdir.
V蓹 bu, h蓹qiq蓹t蓹n ki a莽谋q deyil.
Bel蓹 ki, indi m蓹n Go ne莽蓹 hit 蓹g蓹r sat谋r M蓹n geri almaq 眉莽眉n gedir蓹m?
One, yaln谋z 莽眉nki Malan, in艧allah.
V蓹 ya s谋f谋r o deyil, 蓹g蓹r var, lakin maksimum biridir.
>> M蓹n geri ne莽蓹 s眉tun olacaq?
Ne莽蓹 s眉tun?
Bu d蓹f蓹 m蓹n yaln谋z gedir蓹m M蓹n 莽眉nki bir almaq
h蓹r 艧ey olan ulduz se莽in.
陌ndi yaln谋z ad谋n谋 se莽ilm蓹si, m蓹n al谋ram yaln谋z bir s眉tun v蓹 bir s谋ra geri almaq.
V蓹 bu, m眉vafiq sort g枚r眉n眉r g眉l眉nc, yaln谋z axtar谋r super
bu kimi ki莽ik.
Bel蓹 ki, h蓹qiq蓹t蓹n n蓹l蓹r olur?
Bir SQL icra zaman sor臒u se莽in istifad蓹
n蓹 al谋r谋q geri bazas谋
M眉v蓹qq蓹ti masa kimi sat谋r v蓹 s眉tunlar il蓹, b蓹lk蓹,
lakin bir 艧ey buraxmaq ki, h蓹qiq蓹t蓹n, sizin t蓹r蓹find蓹n se莽ilmi艧 deyil.
Bel蓹 ki, kims蓹 b枚y眉k bir olsayd谋 kimi b眉t眉n t蓹l蓹b蓹l蓹r tablo
bir 眉莽眉n qeydiyyatdan t蓹l蓹b蓹 qrupu, dem蓹k,
M蓹n蓹 var birinci b眉t眉n verm蓹k Bizim t蓹l蓹b蓹 qrupu 眉莽眉n qeydiyyatdan n蓹
sizin h蓹mkar谋 t蓹l蓹b蓹 qrupu ed蓹 bil蓹r
onlar yaln谋z 蓹l ed蓹 bil蓹r ki, b眉t眉n tablo.
Bu se莽in ulduz dey蓹n kimi.
V蓹 蓹g蓹r bir az annoying var Yaln谋z birinci ist蓹di.
V蓹 bel蓹 ki, 蓹v蓹zin蓹, ifad蓹 ed蓹r蓹k, veril蓹nl蓹r bazas谋 masa se莽in star
burada il b蓹rab蓹rdir quote, d谋rna臒谋 ba臒lamaq birinci,
Bu sizin dost sanki var t蓹l蓹b蓹 qrup
s枚z眉n qeyd v蓹 kopyalanamaz yaln谋z birinci sat谋r,
yeni Google onlar谋 yap谋艧d谋r谋l谋r Tablo v蓹 ya Excel fayl谋
v蓹 geri t蓹hvil yaln谋z n蓹tic蓹l蓹n蓹n fayl.
Ki, gedir ki, b眉t眉n var konseptual burada.
>> Bel蓹 ki, sonunda, biz n蓹 ed蓹 bil蓹r b蓹zi olduqca fancy 艧eyi
istifad蓹莽i kimi 艧eyl蓹r saxlan谋lmas谋 il蓹 v蓹 parol v蓹 s.
Lakin, bu 莽谋x谋r, biz bunu etm蓹liyik f蓹rqli bu bir az.
Bu, yaln谋z ki, smart deyil bir istifad蓹莽i ad谋 v蓹 parol saxlamay谋n.
茝vv蓹ll蓹r kims蓹, m蓹n hesab edir蓹m burada, bir ID ir蓹li s眉rd眉.
陌ndi ID kimi ola bil蓹r Harvard ID v蓹 ya Yale nin Net ID,
lakin h蓹tta sad蓹 ola bil蓹r Bizim veril蓹nl蓹r bazas谋 halda.
艦眉bh蓹siz ki, 眉mumi halda ba艧qa s眉tun var.
M蓹n getm蓹k 眉莽眉n gedir蓹m ir蓹li v蓹 masa redakt蓹.
V蓹 il蓹 蓹traf谋nda oynamaq 蓹g蓹r PSet7 bu interface,
Siz kontrol ed蓹 bil蓹rsiniz ki, g枚r眉rs眉n眉z Burada bu d眉ym蓹sini bas谋n v蓹 蓹lav蓹
masa ba艧谋nda sah蓹sind蓹.
M蓹n Go bas谋n indi 蓹g蓹r, gedir M蓹n蓹 o formalar谋ndan biri verm蓹k
茝vv蓹ll蓹r.
M蓹n ID adl谋 sah蓹sind蓹 蓹lav蓹 etm蓹k 眉莽眉n gedir蓹m.
V蓹 m蓹n say谋sal type etm蓹k 眉莽眉n gedir蓹m.
>> M蓹n b眉t眉n d蓹st蓹 var bir Numerics 眉莽眉n qiym蓹tl蓹ndirir.
M蓹n yaln谋z bir int se莽m蓹k gedir蓹m v蓹 disparate 枚l莽眉l蓹ri bar蓹d蓹 narahat olmay谋n.
M蓹n m眉蓹yy蓹n etm蓹k yoxdur bir uzunlu臒u v蓹 ya d蓹y蓹ri,
bu olacaq, 莽眉nki 32 bit n蓹 olursa olsun.
Features, biz 蓹vv蓹l g枚rm蓹dim.
Bu h蓹r hans谋 bir h蓹r hans谋 bir maraq menyu variantlar谋 bu d蓹f蓹?
Bir INT 眉莽眉n?
N蓹 t蓹klif etdi?
Yox?
Bu h蓹r hans谋 bir m蓹nada ed蓹 bil蓹r蓹m?
B蓹li.
Sa臒, imzas谋z, evet?
>> Gedirik, 蓹g蓹r 脺mumiyy蓹tl蓹 verm蓹k h蓹r k蓹s bir unikal n枚mr蓹sini olan
Bu hekay蓹 harada gedir, M蓹n, h蓹qiq蓹t蓹n, yaln谋z ist蓹yir蓹m
Bir 艧蓹xs s谋f谋r kimi say谋 眉莽眉n v蓹 bir v蓹 iki, 眉莽 v蓹 d枚rd.
M蓹n m蓹艧臒ul ehtiyac yoxdur m蓹nfi n枚mr蓹l蓹ri il蓹.
Bu, sad蓹c蓹 h蓹dsiz m眉r蓹kk蓹b kimi g枚r眉n眉r.
M蓹n d枚rd milyard m眉mk眉n d蓹y蓹rl蓹r ist蓹yir蓹m, K枚rp眉 milyard m眉mk眉n d蓹y蓹rl蓹r,
m蓹n yaln谋z iki d蓹f蓹 M蓹nim INT g眉c眉.
Bir k蓹nara, siz aid ist蓹yirsinizs蓹 As Facebook kimi bu 艧ey,
geri m蓹nim g眉n zaman n枚v Facebook ilk 莽谋xd谋
M蓹n onlar n蓹 iman onlar谋n MySQL veril蓹nl蓹r bazas谋 istifad蓹
bir istifad蓹莽i saxlamaq 眉莽眉n identifikator, yaln谋z bir INT idi.
Amma 蓹lb蓹tt蓹, bir 莽ox var D眉nyada real insanlar谋n.
Saxta Facebook bir 莽ox var d眉nyada d眉艧眉r.
V蓹 bel蓹 n蓹hay蓹t, Facebook da艧d谋 bir INT 枚l莽眉s眉, d枚rd milyard
d蓹y蓹ri.
Siz niy蓹 baxsaq olan 蓹traf谋nda v蓹 web var
ki, siz dey蓹 bil蓹r n蓹 Sizin unikal ID edir.
V蓹 siz istifad蓹莽i ad谋 se莽di he莽 蓹g蓹r Facebook, sizin unikal ID g枚r蓹c蓹ksiniz.
M蓹n profile dot PHP hesab sual i艧ar蓹si ID bir 艧ey b蓹rab蓹rdir.
Ki, indi b枚y眉k bir kimi bir 艧eydir INT, v蓹 ya uzun uzun siz bir,
64-bit d蓹y蓹ri olan v蓹 ya m眉qayis蓹 bir 艧ey.
>> Bel蓹 ki, h蓹tta real d眉nyada bu n蓹 m蓹s蓹l蓹l蓹r n蓹tic蓹d蓹 b蓹z蓹n 蓹h蓹miyy蓹tli.
M蓹n 蓹g蓹r o, burada 莽谋x谋r m蓹nim istifad蓹莽il蓹r unikal ID h蓹r verilm蓹si
M蓹n super a莽谋q olmaq ist蓹yir蓹m v蓹 minimal bu sah蓹d蓹 unikal.
Bir var h蓹yata Amma bu 莽谋x谋r nomenklaturas谋 g眉n par莽a 莽ox
ki, ilkin 蓹sas var.
Bir veril蓹nl蓹r bazas谋 dizayn edirsinizs蓹 masa v蓹 蓹vv蓹lc蓹d蓹n bilm蓹k
ki, masa s眉tun biri ki, v蓹 unikal sat谋r m眉蓹yy蓹n ed蓹c蓹k laz谋md谋r
c蓹dv蓹ld蓹, ist蓹diyiniz Onu m眉蓹yy蓹n v蓹 veril蓹nl蓹r bazas谋 dem蓹k,
Bu m蓹nim 蓹sas a莽ard谋r.
Dublikatlar谋 ola bil蓹r dig蓹r sah蓹l蓹rd蓹,
amma bu ki, veril蓹nl蓹r bazas谋 deyir蓹m m蓹nim 蓹sas deyil, 蓹n m眉h眉m sah蓹,
ki, unikal olmaq 眉莽眉n t蓹min edir.
>> 陌ndi bu laz谋ms谋z g枚r眉n眉r.
陌ndi ki, biz t蓹klif edir蓹m burada Saxla t谋klayarak 蓹lav蓹,
sah蓹sind蓹 脟a臒谋r谋艧 v蓹 m蓹n gedir蓹m ir蓹li getm蓹k v蓹 AI bas谋n,
biz geri g蓹lm蓹k laz谋md谋r bir anda edin ki.
陌ndi ki, t蓹klif edir蓹m m蓹nim masa bu kimi g枚r眉n眉r.
M蓹n ID adl谋 INT sah蓹sind蓹 var 陌stifad蓹莽i ad谋 adl谋 CHAR sah蓹sind蓹,
bir VARCHAR ad谋n谋 sah蓹, lakin ID, Bu 蓹sas v蓹 buna g枚r蓹 d蓹 unikal varsa,
niy蓹 yaln谋z s蓹rf etdi vaxt n蓹 t蓹qdim
s蓹m蓹r蓹li unikal bir ikinci sah蓹sind蓹 bir INT ID adlan谋r?
>> Istifad蓹莽i ad谋, geri idi art谋q unikal dedik.
Bel蓹 ki, yaln谋z m蓹ntiqi, ehtiyac yoxdur s蓹b蓹bd蓹n h蓹r hans谋 bir m蓹lumat bazas谋 t蓹cr眉b蓹
, niy蓹 bu yolu M蓹n t蓹qdim ola bil蓹r
el蓹c蓹 d蓹 m蓹nim unikal identifikator kimi INT?
艦eyl蓹rdir daha n蓹 dem蓹k var?
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: Random giri艧 asand谋r, niy蓹?
>> Auditoriya: [i艧itilemez]
DAVID Malan: B蓹li, bu yaln谋z n枚mr蓹l蓹ri daxil.
Bel蓹 ki, 蓹g蓹r siz h蓹qiq蓹t蓹n bu hesab bir masa, bir s谋ra kimi,
indi unikal tan谋mlay谋c谋lar谋 var M蓹n 蓹traf谋nda jump bil蓹r.
V蓹 daha yax艧谋 h蓹l蓹 ki, n蓹 q蓹d蓹r b枚y眉k bir INT yenid蓹n olacaq?
32 bit v蓹 ya d枚rd bytes.
>> Nec蓹 b枚y眉k m蓹nim istifad蓹莽i ad谋 olacaq?
Maksimum?
16 bytes.
>> Bel蓹 ki, h蓹qiq蓹t蓹n, haqq谋nda qay臒谋 蓹g蓹r Sizin kodu performans,
Siz ist蓹rdiniz geri pset5 d眉艧眉nm蓹k d枚rd byte d蓹y蓹ri v蓹 ya 16 axtarmaq 眉莽眉n
byte d蓹y蓹ri, sa臒?
Bu, h蓹qiq蓹t蓹n kimi sad蓹 deyil.
Siz 莽ox i艧 kimi d枚rd d蓹f蓹 etm蓹k laz谋md谋r o, 莽眉nki istifad蓹莽i 眉莽眉n axtar谋艧
16 bytes var.
Bel蓹 ki, s枚z眉n var olmaq 眉莽眉n b眉t眉n 16 bayt m眉qayis蓹
b蓹li 蓹min, m蓹n ist蓹yir蓹m istifad蓹莽i ad谋 var.
Bir INT 眉莽眉n, siz is蓹 yaln谋z d枚rd bayt il蓹 bunu.
>> V蓹 bir k蓹nara ed蓹nl蓹r 眉莽眉n kimi komp眉ter hardware maraql谋,
bu kimi bir 艧ey uy臒un 莽谋x谋r bir INT v蓹 ya bir 艧ey bir 32-bit d蓹y蓹ri
bir komp眉ter bir register adl谋 Bu super dem蓹kdir CPU,
h蓹tta a艧a臒谋, super s眉r蓹tli komp眉ter hardware s蓹viyy蓹si.
Bel蓹 ki, b眉t眉n 蓹traf谋nda yaln谋z 眉st眉nl眉kl蓹ri var.
Bel蓹 ki, bu n蓹 dem蓹kdir?
茝slind蓹, zaman dizayn etdiyiniz bir zaman, dem蓹k olar ki, b眉t眉n veril蓹nl蓹r bazas谋 masa
Siz gedir yaln谋z siz qay臒谋s谋na m蓹lumatlar
kimi, h蓹m d蓹 bir 艧ey unikal identifikator
Bu, 莽眉nki gedir Bizi dig蓹r 艧eyl蓹r ed蓹k.
V蓹 burada bir problem 眉z蓹rind蓹 s蓹f蓹r ed蓹k.
>> Istifad蓹莽il蓹r var ki, d眉艧眉n蓹k yaln谋z istifad蓹莽i ad谋 v蓹 adlar谋,
lakin onlar da 艧蓹h蓹rl蓹ri kimi 艧eyl蓹r var v蓹 d枚vl蓹tl蓹r v蓹 po莽t kodlar谋, 蓹n az谋
AB艦-da burada.
Bel蓹 ki, m蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 yaln谋z tez dem蓹k,
M蓹n蓹 daha 眉莽 s眉tun verm蓹k C蓹dv蓹lin sonunda.
Bu, City olacaq Bu, State olacaq
bu Zip olacaq.
>> 陌ndi City, n蓹 m蓹lumat n枚vl蓹ri Bu, b蓹lk蓹 d蓹, olmal谋d谋r?
VARCHAR?
M蓹n n蓹 bilmir蓹m uzun ad谋 艧蓹h蓹rdir.
Somewhere Amerikada var y蓹qin ki, bir ridiculously uzun s枚z,
bel蓹 q蓹d蓹r, yaln谋z 255 il蓹 ged蓹k tarix蓹n v蓹 ya 枚zba艧谋na.
D枚vl蓹t, n蓹 etm蓹k ist蓹yirsiniz?
Qiyam蓹t z蓹ng, sa臒?
N蓹 蓹n s蓹m蓹r蓹li b蓹lk蓹 var?
Ne莽蓹 simvol?
B蓹lk蓹 yaln谋z iki, 蓹g蓹r biz yaln谋z bunu 眉z almaq,
kimi, MA Massa莽usets 眉莽眉n v蓹 s.
Bel蓹 ki, m蓹n iki CHAR d蓹y蓹ri getm蓹k 眉莽眉n gedir蓹m.
>> Po莽t indeksi maraql谋 biri.
Biz ki, 02138-da buraday谋q Biz n蓹 istifad蓹 etm蓹lidir t蓹klif?
Bu do臒ru, bir int var?
INT, INT, q谋sa?
Qisa i艧 olard谋.
Yox?
CHAR v蓹 ya be艧, lakin m蓹n bir int ist蓹yir蓹m.
N蓹 眉莽眉n INT geri it蓹l蓹m蓹k?
Bu m蓹ni inand谋rmaq.
Hans谋 bir INT, m蓹nim fikir haqq谋nda axmaq var?
B蓹li.
>> Auditoriya: Daha 莽ox yadda艧 tutur.
>> DAVID Malan: daha 莽ox yadda艧 up edin.
D枚rd bytes, ancaq ist蓹yirik Bir po莽t kodu t蓹klif
v蓹 ya be艧 bayt kimi kims蓹, bir char kimi idi ki, h蓹qiq蓹t蓹n deyil, eh kimi hiss ed蓹n
halda.
>> Yax艧谋, fun hekay蓹.
陌ll蓹r 蓹vv蓹l, istifad蓹 眉莽眉n istifad蓹 zaman M蓹nim e-po莽t 眉莽眉n Microsoft Outlook,
M蓹n n蓹hay蓹t Gmail ke莽m蓹k ist蓹di.
Bel蓹likl蓹, m蓹n b眉t眉n ixrac m蓹nim bir CSV fayl谋 olaraq Outlook 蓹laq蓹l蓹r.
Virg眉lle ayr谋lm谋艧 d蓹y蓹rl蓹r, olan yaln谋z m蓹n dem蓹k
b眉t眉n dostlar谋m adlar谋 var idi v蓹 son adlar谋 v蓹 telefon n枚mr蓹l蓹ri v蓹 po莽t kodlar谋
v蓹 ki, b眉t眉n.
V蓹 sonra m蓹n etdi onu a莽谋l谋艧 s蓹hv
Excel olan bir var elektron tablo proqram谋
biz g枚rd眉k kimi CSV fayllar谋 anlay谋r.
Amma sonra, m蓹n kimi, hit olmal谋d谋r Bir n枚qt蓹d蓹 Command v蓹 ya Control S.
V蓹 Excel y蓹qin zamanda H蓹r hans谋 bir zamanda qovu艧durma臒谋m谋z bir x眉susiyy蓹t idi ki,
faydal谋 olma臒a 莽al谋艧d谋q, bir s谋ra g枚rd眉m.
V蓹 say谋 il蓹 ba艧lad谋 蓹g蓹r adet s谋f谋r, yaln谋z onlar谋 qurtarmaq olard谋.
Niy蓹 apar谋c谋 laz谋md谋r edirsiniz integers haqq谋nda adet s谋f谋r?
Onlar riyazi, m蓹nas谋z ist蓹yirik.
Onlar m蓹nas谋z deyilik AB艦 saxlay谋n sistemind蓹.
Bel蓹 ki, m蓹n il ya艧ad谋m, bu g眉n, m蓹n h蓹l蓹 d蓹
ki, dostlar谋 var zaman M蓹n kims蓹 laz谋md谋r nadir hal
bu g眉n m眉raci蓹t, M蓹n h蓹l蓹 ki, m蓹n g枚r眉rs眉n眉z
, Cambridge bir dost var Massachusetts, 2138.
Siz de臒ilseniz bu annoying var program d眉zm蓹k 眉莽眉n 莽al谋艧谋r
z蓹rfl蓹rin yaratmaq v蓹 ya yaln谋z a艧a臒谋 jot.
V蓹, bu s蓹b蓹bd蓹n var M蓹n yanl谋艧 data type se莽di.
Bel蓹 ki, m蓹n sizin fikir sevir蓹m.
Bir CHAR sah蓹sind蓹 istifad蓹 ed蓹k.
Be艧 simvol, istisna olmaqla, bir k眉nc halda var.
Siz h蓹l蓹 mail g枚nd蓹rin varsa, b蓹z蓹n bu g眉n kodlar谋 zip,
Onlar kimi, ist蓹yirik, 眉st蓹g蓹l d枚rd.
Bel蓹 ki, biz sonra bir tire v蓹 laz谋md谋r biz daha d枚rd 蓹d蓹d laz谋md谋r.
Bel蓹 ki, vicdanl谋 olmaq, bu ola bil蓹r bir 莽ox m眉xt蓹lif yollarla getm蓹k.
>> 陌ndi, m蓹n saxlamaq 眉莽眉n gedir蓹m Bu sad蓹 v蓹 m蓹n yaln谋z deyil蓹m
bir ki, dem蓹k olacaq Be艧 CHAR d蓹y蓹ri v蓹 biz ist蓹yirik
b眉t眉n dash plus d枚rd ke莽m蓹k gedir.
Lakin bu 蓹v蓹zetm蓹l蓹r n枚v var.
V蓹 siz hesab ed蓹 bil蓹r yaranan eyni probleml蓹r
telefon n枚mr蓹l蓹ri v蓹 ya dig蓹r sah蓹l蓹ri il蓹.
>> V蓹 indi bu 蓹slind蓹 a臒谋ls谋z yol a艧a臒谋 getm蓹k 眉莽眉n.
Rob v蓹 m蓹n v蓹 Hannah h蓹m d眉艧眉n蓹k v蓹 Maria v蓹 [? Davon?] V蓹 Andy
v蓹 hey蓹ti ba艧qalar谋 ya艧ay谋r Kembric, Massa莽usets, 02138-ci ild蓹.
Bu, h蓹qiq蓹t蓹n, M蓹n ki, axmaq hiss M蓹nim users masa 蓹lav蓹, 艧蓹h蓹r, d枚vl蓹t,
v蓹 zip.
Niy蓹?
>> Auditoriya: [i艧itilemez]
>> DAVID Malan: daha dem蓹k?
Auditoriya: [i艧itilemez]
>> DAVID Malan: Onlar h蓹mi艧蓹 ist蓹yirik sa臒, birlikd蓹 getm蓹k 眉莽眉n gedir?
Bu 莽谋x谋r zaman, biz d眉艧眉nm蓹k 眉莽眉n istifad蓹 Bu exhaustively biz q蓹d蓹r oldu臒u
b眉t眉n AB艦 axtar谋艧 v蓹 orada 莽谋x谋r
b蓹zi uy臒unsuzluqlar var burada 莽ox 艧蓹h蓹rl蓹r var
q蓹rib蓹 eyni zip,.
Amma indi 02138 bunun 眉莽眉n m眉蓹yy蓹n 蓹g蓹r h蓹mi艧蓹 Cambridge, Massachusetts
niy蓹 d眉nyada saxlamaq olard谋 veril蓹nl蓹r bazas谋 Cambridge v蓹 MA v蓹 02138
m蓹nim 眉莽眉n v蓹 Hannah v蓹 Rob v蓹 [眉莽眉n? Davon?] V蓹 ya艧amaq ba艧qalar谋 眉莽眉n
burada Cambridge, bu m眉k蓹mm蓹l laz谋ms谋z.
>> Biz 眉z almaq laz谋md谋r yaln谋z n蓹 saxlan谋lmas谋 il蓹?
Just saxlay谋n kodu.
Amma sonra, biz yaln谋z saxlamaq 蓹g蓹r po莽t indeksi, m蓹n y蓹qin ki, ist蓹yir蓹m
02138 harada m蓹nim haqqinda 眉莽眉n bilm蓹k.
Bel蓹 ki, m蓹n bir masa laz谋md谋r.
V蓹 OK.
V蓹 蓹slind蓹, bu biri dizayn masa dizayn prosesl蓹ri
Siz h蓹m莽inin vasit蓹si PSet7 ed蓹c蓹yik ki, Siz 眉mumi m蓹lumatlar谋n amil ist蓹yir蓹m.
Just biz faktoring oldu臒unuz kimi 眉mumi code v蓹 faktorinq 眉mumi
Burada CSS 眉slub 脟ox bazas谋nda,
M蓹n yaln谋z benzersiz 眉莽眉n 02138 laz谋md谋r, 蓹g蓹r , kimins蓹 m蓹ml蓹k蓹ti m眉蓹yy蓹n
Cambridge, k眉tl蓹vi saxlamay谋n Sizin c蓹dv蓹ld蓹 h蓹r bir darn istifad蓹莽i.
>> 茝ksin蓹, adl谋 ayr谋-ayr谋 masa var Zips var ki, n蓹 s眉tunlar?
Y蓹qin ki, bir ID sah蓹, yaln谋z, 莽眉nki prinsipl蓹ri biz indi s枚hb蓹t edirik.
02138 眉莽眉n y蓹qin ki, bir zip sah蓹sind蓹.
V蓹 sonra y蓹qin ki, n蓹 dig蓹r s眉tunlar?
艦蓹h蓹r v蓹 d枚vl蓹t, lakin yaln谋z bir var s谋ra 02138 眉莽眉n 02139 眉莽眉n bir s谋ra,
90210 眉莽眉n bir s谋ra.
V蓹 s枚z眉n M蓹n bilir蓹m, b眉t眉n po莽t kodlar谋.
>> Bel蓹 ki, indi siz n蓹 ed蓹 bil蓹r?
Bu, 莽眉nki, problemli indi is蓹 iki masalar var.
Bel蓹 ki, m蓹nim users 蓹sas蓹n burada var, lakin onlar谋n 艧蓹h蓹r d枚vl蓹t informasiya
burada.
Bel蓹 ki, var, SQL il蓹 莽谋x谋r 蓹slind蓹 bir yol, informasiya qo艧ulmaq
v蓹 pset bu g枚r蓹c蓹ksiniz.
>> Amma bu siz 莽谋x谋r bu kimi bir 艧ey.
Istifad蓹莽il蓹r SELECT star, ON zips OL users po莽t zips zip n枚qt蓹 b蓹rab蓹rdir n枚qt蓹.
Hans谋 bir az wordy edir, admittedly, lakin bu yaln谋z
se莽in h蓹r 艧ey dem蓹kdir M蓹nim istifad蓹莽i masa alaraq prosesi
v蓹 zips masa.
Bir onlara qo艧ul sah蓹sind蓹 Onlar s眉tun var.
Bel蓹 ki, sanki bir 艧ey bunu bu kimi v蓹 m蓹ni geri verm蓹k
yeni m眉v蓹qq蓹ti masa ki, ki, b枚y眉k var, geni艧 var
ki, b眉t眉n var Onlar谋n h蓹m d蓹 s眉tun.
V蓹, sad蓹c蓹, ola bil蓹r bu kimi bir 艧ey etm蓹k 眉莽眉n syntax.
>> Bel蓹 ki, ir蓹lid蓹 bu var lakin olacaq
dig蓹r dizayn q蓹rarlar谋 olmaq 眉莽眉n laz谋md谋r yaln谋z g枚st蓹ricil蓹ri il蓹 etm蓹k laz谋md谋r
h蓹m d蓹 probleml蓹r daxil 莽al谋艧an.
茝slind蓹, bir problem var h蓹r hans谋 bir m蓹lumat bazas谋 dizayn
qovu艧durma臒谋m谋z b蓹z蓹n iki n蓹f蓹r ist蓹yir蓹m veril蓹nl蓹r bazas谋 eyni sat谋r daxil olmaq 眉莽眉n
masa.
Bel蓹 ki, bu bir 艧ey ki, biz laz谋md谋r deyil h蓹m莽inin PSet7 qar艧谋la艧a.
>> Amma m蓹n bir baxmaq ist蓹diyiniz fikir SQL m眉mk眉nd眉r h眉cum.
Hans谋lard谋r yarana bil蓹r probleml蓹r?
Bel蓹 ki, PSet7 bu qar艧谋la艧a bil蓹rsiniz.
V蓹 biz a莽谋q n蓹 dem蓹k Bu problem 眉莽眉n kodla艧d谋rma h蓹ll edir.
Amma y眉ks蓹k s蓹viyy蓹d蓹 sinif almaq 蓹g蓹r, x眉susil蓹 蓹m蓹liyyat sistemi,
kar艧谋la艧aca臒谋n谋z olacaq atomicity bir m蓹s蓹l蓹,
etm蓹y蓹 莽al谋艧谋r谋q problemi 脟ox 艧eyi b眉t眉n bir d蓹f蓹
fasil蓹siz.
>> V蓹 m蓹n bu t蓹qdim ist蓹diyiniz fikir bir m蓹caz il蓹 PSet7 眉莽眉n fikir
M蓹n Margo 枚z眉m眉 oldu臒u 枚yr蓹nil蓹n Seltzer nin CS164 蓹m蓹liyyat sisteml蓹ri
bundan sinif il.
Bu yurt biri Tutaq ki, Sizin yurt otaq v蓹 ya ev soyuducu,
v蓹 s眉d 眉莽眉n real meyil var.
Bel蓹 ki, siz sinifl蓹r ev g蓹lm蓹k bir g眉n, siz soyuducu a莽maq.
Oh, l蓹n蓹t olsun.
Soyuducuda he莽 bir s眉d var.
Bel蓹 ki, soyuducu yax谋n, , qap谋n谋 ba臒lamaq yurt kilidi,
k枚艧edeki g蓹zm蓹k CVS 眉莽眉n, x蓹tti almaq,
v蓹 b蓹zi s眉d 眉莽眉n h蓹yata yoxlan谋lmas谋 ba艧lay谋r.
V蓹 bu, bir m眉dd蓹t olacaq o l蓹n蓹tl蓹m蓹k 枚z眉n眉 checkout 莽眉nki
counters h蓹r halda istifad蓹 眉莽眉n 蓹b蓹di edir.
Bel蓹 ki, eyni zamanda, sizin roommate ev g蓹lir.
O, h蓹qiq蓹t蓹n, h蓹m莽inin s眉d b蓹y蓹nir.
Onlar yurt ota臒a g蓹lib, soyuducu a莽maq, oh, bu darn.
He莽 bir daha 莽ox s眉d var.
>> Bel蓹 ki, o da k枚艧edeki gedir.
Amma indi bu yana iki kimi var v蓹 ya 眉莽 v蓹 ya d枚rd CVSes yax谋n,
Onlar biri getm蓹k 眉莽眉n n蓹 Meydanda f蓹rqli olanlar.
V蓹 indi, bir ne莽蓹 d蓹qiq蓹 Siz sonra, h蓹m d蓹
ev g蓹lm蓹k v蓹 he莽 uf, 蓹n pis problem.
陌ndi siz d蓹 莽ox s眉d var Bu tur艧 getm蓹k olacaq, 莽眉nki.
V蓹 s眉d ist蓹yir蓹m, amma siz h蓹qiq蓹t蓹n s眉d kimi deyil.
>> Bel蓹 ki, indi bu bahal谋 idi s蓹hv Siz d蓹, 莽眉nki
蓹sas谋nda q蓹rar q蓹bul edib b蓹zi d蓹yi艧蓹n d枚vl蓹t ki,
prosesind蓹 idi sizin d蓹yi艧dirilir,
s眉d almaq 眉莽眉n gedir t蓹艧蓹bb眉skar谋.
Bel蓹 ki, n蓹 b蓹lk蓹 insan ki, problemin h蓹lli?
Auditoriya: [i艧itilemez]
DAVID Malan: sa臒, qeyd yaz?
Siz 蓹g蓹r h蓹mi艧蓹 bir qeyd t蓹rk ki, 艧ou il蓹 tan谋艧.
B蓹li, biz蓹 iki var.
Bel蓹 ki, h蓹mi艧蓹 qeyd t蓹rk, v蓹 ya s枚z眉n soyuducu kilidi
asma kilit bir n枚v v蓹 ya kimi 眉st眉nd蓹n bir 艧ey.
Amma bu h蓹qiq蓹t蓹n olacaq veril蓹nl蓹r bazas谋 dizayn il蓹 蓹sas problem,
Siz ola bil蓹r, x眉susil蓹 d蓹 zaman 脟ox brauzerl蓹rd蓹, 莽ox noutbuk,
bird蓹n 莽ox istifad蓹莽i b眉t眉n 莽al谋艧谋r bir d蓹f蓹 m蓹lumat yenil蓹m蓹.
X眉susil蓹 h蓹ssas m蓹lumat maliyy蓹 informasiya kimi,
qovu艧durma臒谋m谋z bir fond ticar蓹t Sizin kimi web bina olacaq,
Siz n蓹 q蓹d蓹r pul yoxlamaq ist蓹yirsinizs蓹 n蓹 siz v蓹 sonra kifay蓹t q蓹d蓹r varsa,
bir fond almaq?
>> Amma n蓹 ba艧qas谋 Sizinl蓹 birg蓹 hesab谋 var
eyni zamanda 莽al谋艧谋r bir fond almaq 眉莽眉n nec蓹?
Bel蓹 ki, o yoxlan谋lmas谋 deyil Siz d蓹 hesab balans谋,
Eyni geri almaq cavab yoxdur s眉d var.
V蓹 ya h蓹r iki cavab geri almaq Siz haqq-hesab $ 100 var.
Siz d蓹 q蓹rar q蓹bul etm蓹k 眉莽眉n c蓹hd edin b蓹zi 艧irk蓹t fond bir pay almaq.
>> 陌ndi n蓹 olar?
Siz iki s蓹hml蓹rin var?
Siz he莽 bir s蓹hml蓹rin var?
Kimi probleml蓹r yarana bil蓹r.
Bel蓹 ki, biz ki qar艧谋la艧a bil蓹rsiniz.
SQL injection h眉cumlar谋n, t蓹艧蓹kk眉rl蓹, biz siz蓹 yard谋m ed蓹c蓹yik bir 艧ey var,
lakin bu x眉susi amans谋zl谋qla var h蓹l蓹 d蓹 眉mumi bu g眉n.
Bel蓹 ki, bu, yaln谋z bir n眉mun蓹sidir.
M蓹n he莽 bir iddia etm蓹k ki, Harvard PIN sistemi
bu h眉cum h蓹ssas.
Biz c蓹hd etdik.
Amma bilirsiniz ki, biz bu kimi bir sah蓹 var.
V蓹 Yale nin Net ID b蓹nz蓹r var bu g眉n ekran axtar谋r.
V蓹 bu, 莽谋x谋r ki, b蓹lk蓹 PIN sistemi PHP h蓹yata ke莽irilir.
>> Bu were-- 蓹g蓹r onlar deyilik var bu kimi g枚r眉n眉r kod ola bil蓹r.
Onlar iki d蓹yi艧蓹nl蓹r var.
M蓹n蓹 ad谋n谋z谋 v蓹 艧ifr蓹nizi verin post super qlobal d蓹yi艧蓹n
biz 蓹vv蓹ll蓹r haqq谋nda s枚hb蓹t edir.
B蓹lk蓹 Harvard bir sor臒u var istifad蓹莽il蓹r SELECT ulduz kimi
harada istifad蓹莽i ad谋 ki, b蓹rab蓹rdir v蓹 parol ki, b蓹rab蓹rdir.
M蓹n yaln谋z deyil蓹m ki, qeyd istifad蓹 ed蓹r蓹k onu sayede
dig蓹r buruq brace notation Yaln谋z bir d蓹y蓹r plug dem蓹kdir g眉n
burada.
M蓹n istifad蓹 edir蓹m sual i艧ar蓹si texnika.
M蓹n he莽 bir ikinci yoxdur v蓹 ya 眉莽眉nc眉 d蓹lill蓹ri.
M蓹n yaln谋z s枚z眉n deyil蓹m simli 枚z眉m眉 in艧a.
>> problem olsa da, ki, Kims蓹 bir scroob kimi, 蓹g蓹r,
olan film istinad edir, bu kimi bir 艧ey il蓹 logs,
M蓹n n枚qt蓹l蓹r xaric etdik ad蓹t蓹n 蓹hat蓹 ki,
O n蓹 varsa parol, x眉susil蓹 z蓹r蓹rli
v蓹 onun parol b蓹lk蓹, 12345 edir adl谋 film ba艧谋na "Spaceballs"
lakin o, t蓹nqidi n枚v be艧 sonra bir quote,
sonra s枚z眉n s枚z v蓹 ya m蓹kan谋nda, sonra quote,
d谋rna臒谋 ba臒lamaq bir quote bir b蓹rab蓹rdir lakin o, n蓹 莽谋xar谋lm谋艧d谋r bildiri艧?
O, sa臒 quote 莽谋xar谋lm谋艧d谋r ki, O, sol quote 莽谋xar谋lm谋艧d谋r oldu.
>> 脟眉nki 蓹g蓹r bu t蓹cav眉zkar scroob nin prezumpsiyas谋
insanlar yazd谋 ki, Bu PHP kodu, bel蓹 parlaq deyil
b蓹lk蓹 onlar yaln谋z bir t蓹k var interpolation 蓹traf谋nda quotes
q谋vr谋m a艧谋rma d蓹yi艧蓹n?
V蓹 bel蓹 ki, b蓹lk蓹, o c眉r ola bil蓹r onlar谋n fikir ba艧a
onlar 眉莽眉n, lakin bir 艧蓹kild蓹 gedir Ona PIN sistemi h眉cumu imkan.
Ba艧qa s枚zl蓹, g眉man Bu kodu edir ki,
v蓹 biz tipli scroob n蓹 yerl蓹艧dirin.
Bu pis, 莽眉nki bu, q谋rm谋z谋.
>> V蓹 蓹sas m蓹tn , o tipli n蓹
scroob Harvard server bezemek bil蓹r bir SQL sor臒u tikintisi daxil
bu kimi g枚r眉n眉r string.
艦ifr蓹 12345 ya bir bir b蓹rab蓹rdir.
N蓹tic蓹d蓹 olan m蓹ntiqi, Bu scroob daxil olacaq ki,
onun parol 蓹g蓹r 12345 ya bir b蓹rab蓹r
h蓹mi艧蓹 蓹lb蓹tt蓹 do臒rudur biri, olan scroob h蓹mi艧蓹 olur dem蓹kdir.
>> Bel蓹 ki, yol d眉zeltmek 眉莽眉n Bu hallarda bir 莽ox kimi,
daha m眉dafi蓹 yazmaq olard谋.
Kimi bir 艧ey istifad蓹 etm蓹k 眉莽眉n bizim Faktiki sor臒u funksiyas谋 olan
biz plug PSet7, g枚r蓹c蓹ksiniz sual kimi bir 艧ey burada qeyd olunur.
V蓹 g枚z蓹llik sor臒u funksiyas谋 ki, biz
Siz bu qar艧谋 m眉dafi蓹 verm蓹k S枚zd蓹 SQL injection h眉cumlar谋n,
Kims蓹 sizin kodu tricking olunur 枚z SQL kodu inyeksiya.
N蓹 sor臒u funksiyas谋 脟眉nki Biz, h蓹qiq蓹t蓹n, ed蓹c蓹yik verm蓹k,
Siz sual i艧ar蓹si sintaksis istifad蓹 蓹g蓹r v蓹 ikinci v蓹 眉莽眉nc眉 d蓹lil,
Bu 蓹lav蓹 n蓹 var istifad蓹莽i t蓹min giri艧?
H蓹min backslash quotes.
>> Bel蓹 ki, h蓹r hans谋 bir potensial escape t蓹hl眉k蓹li simvol.
Bu, art谋q q蓹rib蓹 g枚r眉n眉r lakin bu h蓹ssas deyil
bu deyil, 莽眉nki Art谋q m蓹ntiq d蓹yi艧蓹
ki, b眉t眉n parol, 莽眉nki 陌ndi deyil bir quote,
蓹slind蓹, scroob parol.
Bel蓹 ki, b蓹zi zarafatlar olub il 蓹rzind蓹 bu bar蓹d蓹.
Bel蓹 ki, bu bir foto艧蓹kili 莽蓹kdirdi bir park b蓹zi turk
vasit蓹si Siz ki, b蓹zi 艧蓹h蓹rl蓹ri bil蓹r v蓹 d枚vl蓹tl蓹r lisenziya scan 眉莽眉n c蓹hd
n枚mr蓹li Siz v蓹 ya bilet qanun layih蓹si Siz Siz kimi, olmadan vasit蓹sil蓹 getm蓹k 蓹g蓹r,
E-Z Pass 艧ey.
Bel蓹 ki, bu 艧蓹xs b蓹lk蓹 ehtimal E-Z Pass sistemi yaz谋l谋 n蓹f蓹r
bel蓹 parlaq deyil, v蓹 b蓹lk蓹 onlar yaln谋z bir simli birlikd蓹 Z蓹ncirl蓹m蓹,
ki, o pis bilm蓹di yaln谋z onlar谋n fikir tam deyil,
ancaq bir pis 蓹mri yerin蓹, olan biz h蓹l蓹 qeyd etdik
lakin y蓹qin ki, tahmin ed蓹 bil蓹rsiniz.
Bundan 蓹lav蓹 ki, silm蓹k v蓹 daxil edin v蓹 yenil蓹m蓹 v蓹 se莽in,
drop adl谋 s枚z d蓹 var, olan s枚z眉n h蓹r 艧eyi silir
veril蓹nl蓹r bazas谋, olan x眉susil蓹 pis.
>> Biz bu 蓹g蓹r zoom ed蓹 bil蓹rsiniz g枚rm蓹k 眉莽眉n bir az 莽蓹tin deyil.
Bu, indi m蓹艧hur karikatura deyil ki, indi g枚z蓹l a臒谋ll谋 deyil
v蓹 ayd谋n.
>> [G眉l眉艧]
>> S蓹rin, B蓹li.
Kind h蓹yata geeking.
Bu, sonra, var SQL injection h眉cumlar.
Onlar istifad蓹 ed蓹r蓹k qar艧谋s谋n谋 almaq 眉莽眉n bel蓹 asan ist蓹yirik sa臒 code ya sa臒 kitabxana.
V蓹 siz ki PSet7 g枚r蓹c蓹ksiniz niy蓹 biz siz蓹 sor臒u funksiyas谋 verir.
Bel蓹 ki, oyunlar谋n谋z bir ne莽蓹 Biz ist蓹diyiniz d眉艧眉nd眉m ki,
burada verm蓹k bizim birlikd蓹 qalan d蓹qiq蓹l蓹rind蓹.
Bel蓹 ki, kimi h蓹ft蓹 s谋f谋r xat谋rlay谋ram, biz Bu iki y眉ng眉l amp眉ller t蓹qdim ed蓹n
olan g枚z蓹l deyil yaln谋z, 莽眉nki Onlar olduqca etdiyiniz v蓹 r蓹ngar蓹ng,
lakin onlar bir 艧ey d蓹st蓹k 莽眉nki 茝riz蓹, bir API adl谋
Proqram 陌nterfeysi V蓹 CS50 g眉n蓹 q蓹d蓹r, biz
蓹sas蓹n al谋n diqq蓹t v蓹 POST, lakin bu 莽谋x谋r
PUT kimi dig蓹r HTTP fe'll蓹r var.
>> V蓹 蓹slind蓹, bu idi H蓹ft蓹 s谋f谋r bir slayd
vasit蓹si 茝g蓹r siz kodu yazmaq 蓹g蓹r g枚nd蓹rir a la PSet6 bir HTTP request ki
Bu m蓹tn y谋臒谋n il蓹 bu kimi g枚r眉n眉r JSON adlan谋r alt谋ndak谋,
v蓹 ya JavaScript Obyekt Notation ki, biz g蓹l蓹n h蓹ft蓹 haqq谋nda dan谋艧maq laz谋md谋r,
Siz yand谋rmaq v蓹 ya s枚nd眉rm蓹k v蓹 ya d蓹yi艧dirm蓹k olar bu kimi i艧谋qlar r蓹ng.
CS50 b蓹zi 蓹lav蓹 var, bel蓹 ki, New Haven burada h蓹min y眉ng眉l amp眉ller
Siz borc ist蓹yirsinizs蓹 Onlara final layih蓹l蓹r 眉莽眉n,
b蓹zi Microsoft Kimi Bands,
Siz bil蓹k 蓹traf谋nda geyinm蓹k ki, Zin蓹t 蓹艧yalar谋 v蓹 saatlar eyni ki, bir API var ki,
onlar 眉莽眉n 枚z proqram yaza bil蓹rsiniz.
>> Biz bir haqq-hesab il蓹 var Apple iOS code bel蓹
ki, Apple Watch v蓹 ya varsa iPhone v蓹 ya iPad v蓹 ya iPod,
茝g蓹r siz kodu yazmaq olar ki, h蓹qiq蓹t蓹n o 莽al谋艧谋r.
Biz b眉t眉n d蓹st蓹 var vard谋r Arduinos,
ki莽ik ki莽ik komp眉ter hallarda olmadan, mahiyy蓹tc蓹,
Siz USB vasit蓹sil蓹 qo艧ula bil蓹r ki, ad蓹t蓹n 枚z Mac v蓹 ya PC,
bu fiziki 莽al谋艧谋r kodu yazmaq tez-tez onlara sensorlar var cihazlar
bel蓹 ki, real d眉nya il蓹 qar艧谋l谋ql谋 bil蓹r.
Biz b眉t眉n d蓹st蓹 var Leap Motion cihazlar,
Mac 眉莽眉n USB cihazlar谋 olan v蓹 Burada yen蓹 New Haven PC.
V蓹 sizin Mac qo艧ulmaq 蓹g蓹r, Siz, h蓹qiq蓹t蓹n, komp眉ter n蓹zar蓹t ed蓹 bil蓹rsiniz
proqram yazmaqla ki, infraq谋rm谋z谋 艧眉alar谋 vasit蓹sil蓹,
insan 蓹ll蓹ri oldu臒u tutulur, h蓹tta klaviatura toxunmadan.
Biz tez b枚l眉艧m蓹k ist蓹diyiniz fikir M蓹s蓹l蓹n, bu fikir.
>> [MUSIC PLAYING]
Bel蓹 ki, biz bir b眉t眉n var bunlar d蓹st蓹,
da Myo qol lentl蓹r adl谋 siz sizin 枚n kol 眉z蓹rind蓹 qoymaq
v蓹 sonra real n蓹zar蓹t ed蓹 bil蓹rsiniz d眉nya v蓹 ya bu kimi virtual d眉nya.
>> [MUSIC PLAYING]
Yoxsa, biz d蓹 b蓹zi Google var Kimi, s枚z眉n karton,
Siz qoymaq ki, bir karton qutu sizin onu telefonunuzda 眉z, lakin slide
ki, 艧眉艧蓹 qoymaq G枚zl蓹riniz蓹 h蓹qiq蓹t蓹n yax谋n telefon.
V蓹 Google Cardboard deyil $ 10 v蓹 ya $ 20 olduqca ucuz.
V蓹 bu ki莽ik linzalar var ki, bir az n枚vb蓹d蓹 off
Sizin insan 眉莽眉n ekranda image g枚zl蓹ri d蓹rinliyi hissi verm蓹k
bel蓹 ki, h蓹qiq蓹t蓹n bir 3D var ki, Siz qar艧谋s谋nda m眉hit.
Biz d蓹 b蓹zi Samsung Gear, olan Bu daha bahal谋 versiyas谋
lakin eyni bir slide bil蓹r Android telefon v蓹 ill眉ziya verm蓹k
of-- v蓹 ya t蓹cr眉b蓹 verm蓹k virtual reall谋q.
Bizim son iki d蓹qiq蓹, biz bu etm蓹k 眉莽眉n c蓹hd ist蓹diyiniz d眉艧眉nd眉m.
M蓹n Colton n蓹 layih蓹 ed蓹 bil蓹r, 蓹g蓹r Burada yaln谋z i艧taha itil蓹m蓹k 眉莽眉n,
M蓹n蓹 davam v蓹 atmaq imkan Burada b枚y眉k ekranda up.
M蓹n蓹 i艧谋qlar 枚ld眉rm蓹k ed蓹k.
Colton, siz ir蓹lid蓹 getm蓹k ist蓹yir蓹m v蓹 bir an 眉莽眉n h眉ceyr蓹 qoymaq
v蓹 眉z蓹rind蓹 g蓹lib m蓹rh蓹l蓹nin orta?
V蓹 project-- ist蓹yirsiniz bu Colton g枚r眉r n蓹.
>> 陌ndi burada Wi-Fi var Bu cihaz 眉莽眉n bel蓹 g眉cl眉 deyil
Bu super 莽ekici ki, lakin Colton s枚z眉n
bu sehirli Futuristik yerd蓹.
O, yaln谋z bir 艧蓹kil g枚r眉r.
Siz onun sol v蓹 sa臒 g枚z眉n眉 g枚r眉r眉k onun beyin birlikd蓹 stitching ki,
眉莽 枚l莽眉l眉 olan onun 眉z m眉hit.
O, yaln谋z burada menyu se莽imi var.
V蓹 yen蓹 d蓹, o, bu qulaql谋q qal谋c谋 bu bir Samsung telefonu il蓹 ki
kabelsiz bizim yer眉st眉 眉莽眉n layih蓹l蓹ndirilm蓹si.
陌ndi Mars, m蓹n hesab edir蓹m ki mi?
COLTON: M蓹n bel蓹 d眉艧眉n眉r蓹m.
I [i艧itilemez] 蓹min deyil蓹m.
[G眉l眉艧]
>> DAVID Malan: 莽谋x谋r Mars bu menyular var.
>> COLTON: [i艧itilemez] b蓹zi s蓹rin yerl蓹rd蓹 biz to-- getm蓹k ist蓹yirsinizs蓹
>> DAVID Malan: Harada biz getm蓹k ist蓹yirsiniz?
>> COLTON: [i艧itilemez]
DAVID Malan: V蓹 nin g枚r蓹k burada Colton indi biz蓹 alaraq.
COLTON: [i艧itilemez]
>> DAVID Malan: Bel蓹 ki, bir 莽ox var m眉xt蓹lif yerl蓹rd蓹 枚z眉n眉z ed蓹 bil蓹rsiniz.
FAPIs var hans谋 vasit蓹sil蓹 ed蓹 bil蓹rsiniz oyunlar v蓹 ya qar艧谋l谋ql谋 yazmaq
telefon, n蓹tic蓹d蓹, ax谋r.
Bel蓹 ki, h蓹qiq蓹t蓹n, yaln谋z mobil telefon app yaz谋l谋.
Lakin proqram say蓹sind蓹 v蓹 qrafik imkanlar谋,
陌ndi Colton bu deyil ki莽ik ki莽ik kottec.
V蓹 riski 枚z眉m眉z眉 b枚y眉k,
Colton v蓹 m蓹n 蓹traf谋nda qalmaq laz谋md谋r is蓹 burada sinif sonunda bu g眉n
Siz g蓹lib v蓹 oynamaq ist蓹yirsinizs蓹.
V蓹 biz onlar谋 g蓹tirm蓹k laz谋md谋r geri g蓹l蓹n h蓹ft蓹 h蓹m莽inin.
Daha olmadan, ado bu g眉n 眉莽眉n var.
Biz g蓹l蓹n h蓹ft蓹 g枚r蓹c蓹ksiniz.
>> [MUSIC - Ragga TWINS "BAD MAN"]