>> [MUSIC PLAYING]
DAVID J. MALAN: B眉t眉n sa臒.
Geri g蓹lmisiniz.
Bu CS50 edir.
Bu h蓹ft蓹 8 sonu.
Bildiyiniz kimi, biz olduqca var bir ne莽蓹 m眉nt蓹z蓹m ofis saat
yem蓹k m蓹艧臒ul, Annenberg o c眉ml蓹d蓹n.
V蓹 komandan谋n b蓹zi xahi艧 son vaxtlar b蓹zi photos etdi.
V蓹 艧蓹r蓹fin蓹 Halloween, biz ist蓹diyiniz d眉艧眉nd眉m
daha biz蓹 tutdu ki, bir pay s眉rpriz burada Annenberg Salonunda yaln谋z
dig蓹r gec蓹.
Sizin sinif yolda艧谋 Yaqub 莽蓹kdirdi Bu 艧蓹kil, lakin daha 蓹yl蓹nc蓹li idi
Facebook idi, g蓹l蓹n sonra n蓹 ba艧 verdi ki, s枚hb蓹t.
>> Cavab Onun ilk post Onun foto bu idi.
Bir ne莽蓹 d蓹qiq蓹 sonra, o q蓹rar Bu 枚z眉 q蓹d蓹r bir.
Bu, bu getm蓹k sonra getdi v蓹 sonra, daha g眉lm蓹li
Onun anas谋 chimed zaman.
V蓹 sonra n蓹hay蓹t, bu yaln谋z idi g枚r眉n眉r
bir g枚z蓹l hiyl蓹 olur ki oynay谋r.
>> Bel蓹 ki, siz ist蓹yirsinizs蓹 Yaqub v蓹 ba艧qalar谋 g枚rm蓹k,
Onlar谋n aras谋nda Cynthia Meng, kim CS50 zona hey蓹ti p蓹rd蓹 arxas谋nda,
bu URL burada bu oyun giderim.
Bel蓹 ki, daha ADO olmadan, biz bu g眉n , web proqramla艧d谋rma bu g枚z davam
v蓹 proqramlar谋 faktiki yarad谋lmas谋 ki, command line 莽al谋艧谋r deyil
lakin 蓹v蓹zin蓹 bir browser daxilind蓹 ax谋r.
>> Ehtimal indi v蓹 ya 莽ox q谋sa, siz olacaq
h蓹yata ortas谋nda olmaq 脰z web server olan
web proqramla艧d谋rma f蓹rqlidir.
Pset6 web server b眉t眉n haqq谋nda bilir ki, proqram yaz谋l谋 etm蓹k
Bir brauzer HTTP istekleri, v蓹 ya h蓹tta siz, bir insan,
bir proqram il蓹 Telnet adlan谋r v蓹 sonra da h蓹min m眉raci蓹tl蓹r蓹 cavab
HTML fayl谋 h蓹yata spitting, v蓹 ya bir jpeg, v蓹 ya gif, v蓹 ya h蓹tta bir Php fayl.
>> Lakin bir web server il蓹, bu deyil Yaln谋z bir PHP fayl a莽maq 眉莽眉n ehtimal,
php bit蓹n bir 艧ey, v蓹 sonra m蓹zmunu t眉p眉rm蓹k.
Bunu ehtimal n蓹 ilk fayl?
Bel蓹 dan谋艧maq.
T蓹rtib deyil, biz bazar ert蓹si bildirib lakin rather-- Bel蓹 ki, 艧蓹rh.
>> PHP bir 艧蓹rh dil var, v蓹 Sizin web 蓹sas x眉susiyy蓹tl蓹rind蓹n biridir
server, h蓹yata ke莽irdiyimiz olsa, web server 眉莽眉n bu qabiliyy蓹ti
oh, qeyd etm蓹k.
Bu php bit蓹n bir fayl.
M蓹n蓹 yaln谋z g枚nd蓹rm蓹k ed蓹k bu kimi istifad蓹莽i, statik content var
蓹ksin蓹 m蓹n蓹 onu line oxumaq line, sa臒, v蓹 艧蓹rh.
>> V蓹 bunu, siz ki, u艧aqlar mahiyy蓹tc蓹 ed蓹c蓹k
cihaz bir proqram ayaqla z蓹rb蓹, v蓹 komp眉ter sisteml蓹ri bir 莽ox,
yaln谋z PHP 莽a臒谋r谋b.
PHP n谋n ad谋 dil 枚z t蓹rc眉m蓹莽i.
Bel蓹 ki, par莽a biz h蓹yata Siz v蓹 n蓹 眉莽眉n t蓹rk edir
n蓹tic蓹d蓹, bir s谋ra 蓹d蓹d, aras谋nda
d蓹st蓹k h蓹yata ke莽irir statik m蓹zmun 眉莽眉n.
>> Amma indi, v蓹 problem ist蓹yirik, yeddi m眉蓹yy蓹n
ke莽id ba艧lamaq niyy蓹tind蓹dir h蓹qiq蓹t蓹n PHP kodu yazmaq
ki, 艧蓹rh olur geri sonuna s枚hb蓹t
m蓹lumat saklar veril蓹nl蓹r bazas谋.
Bel蓹 ki, ilk daha yax艧谋 anlamaq ed蓹k Bu superglobals bir ne莽蓹
v蓹 yaln谋z n蓹 q蓹d蓹r g眉c Pulsuz 眉莽眉n qutusu 莽谋xmaq
PHP kimi bir dil il蓹.
Siz yoxdur Things 枚z眉n眉z眉 h蓹yata ke莽irilm蓹si.
>> Bel蓹 ki, biz, Bazar ert蓹si $ _GET g枚rd眉m bir superglobal,
PHP qlobal hans谋 dan谋艧maq yaln谋z edir ist蓹diyiniz yerd蓹 daxil ola bil蓹rsiniz d蓹yi艧蓹n.
V蓹 _GET dollar daxilind蓹 n蓹 var?
Bu daxilind蓹 nedir g枚r眉r眉k ki superglobal?
艦眉bh蓹siz ki, statistik at 蓹n az谋 bir 艧蓹xs bilir.
N蓹 _GET dollar daxilind蓹 var?
B蓹li?
>> Auditoriya: Bu d蓹yi艧蓹nl蓹r var Siz sor臒u simli qoydu.
>> DAVID J. MALAN: Perfect.
Bu d蓹yi艧蓹nl蓹rin var sor臒u simli qoydu.
Bel蓹 ki, bizim ya艧l谋 n眉mun蓹 biz zaman Google reimplementing
bir URL, sonra sual i艧ar蓹si, olan HTTP start ay谋r谋r
parametrl蓹ri, sonra biz b蓹rab蓹r q idi bir 艧ey, q pi艧ik b蓹rab蓹rdir kimi,
avtomatik daxilind蓹 n蓹 getm蓹k olard谋 Sizin 眉莽眉n super qlobal ki, $ _GET ki,
PHP, 莽眉nki Q bir 蓹sas v蓹 pi艧ik onlar谋n d蓹y蓹rinin.
>> Ba艧qa s枚zl蓹, $ _GET v蓹 b眉t眉n bunlar assosiativ seriallarda,
n枚v hash masalar ki, ma臒aza d眉ym蓹l蓹ri v蓹 d蓹y蓹rl蓹r.
陌ndi geri pset5, bu hash masa h蓹yata ola bil蓹r,
v蓹 ya siz ola bil蓹r c蓹hd H蓹qiq蓹t蓹n, h蓹yata
s蓹m蓹r蓹li assosiativ idi array data qurulu艧u
qovu艧durma臒谋m谋z 艧蓹rik bil蓹r d蓹y蓹rl蓹ri il蓹 d眉ym蓹l蓹ri.
>> Amma pset5, d蓹y蓹rl蓹rimizin m蓹nas谋z idi.
D蓹y蓹ri mahiyy蓹tc蓹 do臒ru v蓹 ya yalan idi.
L眉臒蓹t蓹 s枚z?
Bel蓹 ki, zaman alma kimi bir s枚z hashed alma l眉臒蓹t g枚rmek 眉莽眉n,
Sizin 莽ek funksiyas谋 ehtimalla do臒ru v蓹 ya yalan d枚nd眉.
Bel蓹 ki, s蓹m蓹r蓹li deyil d蓹y蓹ri biz geri al谋r谋q.
>> Amma biz bazar ert蓹si g枚rd眉m q谋sa, 蓹lb蓹tt蓹 bil蓹rsiniz
daha maraql谋 艧蓹rik yaln谋z do臒ru v蓹 ya yalan 莽ox d蓹y蓹rl蓹ri
alma kimi d眉ym蓹l蓹ri il蓹.
Siz, h蓹qiq蓹t蓹n, bir qay谋tmaq bil蓹r ixtiyari simli, h蓹qiq蓹t蓹n,
n蓹 $ _GET v蓹 bu var dig蓹r d蓹yi艧蓹nl蓹rin n蓹 bildirin.
>> Bel蓹 ki $ _POST, ruhu ox艧ar ancaq po莽t vasit蓹sil蓹 formada t蓹qdim 蓹g蓹r,
ki, f蓹rqli bir HTTP metodu kredit kartlar谋 kimi 艧eyl蓹r 眉莽眉n istifad蓹,
v蓹 枚z蓹l informasiya, v蓹 h蓹tta photos kimi binar informasiya,
o 艧eyi $ _POST daxilind蓹 son.
V蓹 h蓹qiq蓹t蓹n fayllar 眉莽眉n jpegs v蓹 etajer kimi,
bel蓹 ki, ba艧qa var burada h蓹m莽inin $ _FILES 莽a臒谋r谋b.
>> Bel蓹 ki, server biz d蓹 dayanmaq deyil 莽ox, lakin bu imkan谋 verir
haqq谋nda a艧a臒谋 s蓹viyy蓹li m蓹lumat v蓹 d眉zm蓹k 眉莽眉n istifad蓹 etdiyiniz server 枚z眉.
Cookie v蓹 sessiya olsa da, biz s蓹m蓹r蓹li indi g枚r眉rs眉n眉z.
Son biz h蓹yata ke莽irm蓹k 眉莽眉n istifad蓹 n蓹 bir al谋艧-veri艧 sepeti anlay谋艧谋.
A super sad蓹 bir, lakin geri ki, burada bu n眉mun蓹 idi
Ne莽蓹 d蓹f蓹 hesablanmas谋 蓹vv蓹l bu s蓹hif蓹ni ziyar蓹t etmi艧di.
>> Amma bu g眉n deyil, yaln谋z baxmaq 莽ox Bu t蓹siri q蓹d蓹r a莽maq
Chrome inspektor, siz ad蓹t蓹n bil蓹rsiniz
sa臒 t谋klayarak v蓹 ya n蓹zar蓹t ed蓹 h蓹r hans谋 bir web page t谋klayarak,
v蓹 sonra element yoxlamaq download.
Yoxsa menyular il蓹 getm蓹k olar biz pset6 nin Spec t蓹svir edir.
M蓹n Network ni艧an谋 gedir蓹m burada, v蓹 bir an izl蓹m蓹k imkan
ki, HTTP trafik geri v蓹 ir蓹li gedir.
>> M蓹n蓹 ilk davam ed蓹k v蓹 ayd谋n Chrome cache.
Bel蓹 ki, b蓹zi tan谋艧 ola bil蓹r art谋q bu texnika il蓹,
v蓹 biz bunu istifad蓹 etm蓹k olacaq burada ay谋klama m蓹qs蓹dl蓹ri 眉莽眉n.
陌ndi biz komp眉ter elm ba艧lamaq 眉莽眉n gedir
ay谋klama 眉莽眉n bunu m蓹qs蓹dl蓹ri, vasit蓹si
biz cache ayd谋n olacaq, ad蓹t蓹n, bel蓹 ki, biz
cookies adlanan 艧eyi xilas ed蓹 bil蓹rsiniz.
Bel蓹likl蓹, siz y蓹qin ki, 眉mumiyy蓹tl蓹 tan谋艧 edirik n蓹 il蓹 cookies 蓹n az谋, v蓹 ya
ki, onlar var, lakin n蓹 Onlar谋n sizin anla艧ma,
yaln谋z bir istifad蓹莽i kimi komp眉ter, bir cookie n蓹dir?
B蓹li.
>> Auditoriya: Bu, kontormerinin T蓹f蓹rr眉atlar d蓹 bir az deyil komp眉ter m眉dd蓹tin蓹 bit.
Bu data par莽a var ki, bir veb 眉莽眉n siz蓹 g枚nd蓹rir
siz蓹 statistika yazmaq etm蓹k.
DAVID J. MALAN: OK, yax艧谋.
Bel蓹 ki, m蓹lumatlar谋n bir par莽a var ki, bir server, komp眉ter 眉z蓹rind蓹 qoyur
v蓹 bunu h蓹tta 眉mumil蓹艧dirm蓹k ed蓹k daha 莽ox, 蓹sas d蓹y蓹r yax艧谋 var,
daha d蓹qiq 蓹ld蓹 edir.
Bu bir par莽a m蓹lumat m蓹lumatlar谋n bir par莽a,
bir server ed蓹 bil蓹r ki, Bilgisayar谋n谋zda qoymaq 眉莽眉n
v蓹 莽ox tez-tez server yoxdur bu kim yadda kimi.
M蓹s蓹l蓹n, bahis Bel蓹 ki, Siz y蓹qin edirik var
Facebook kimi saytlar daxil, v蓹 ya Gmail, v蓹 ya dig蓹r 蓹vv蓹l
v蓹 il蓹 daxil olun istifad蓹莽i ad谋 v蓹 parol,
v蓹 sonra, bir s谋ra 眉莽眉n d蓹qiq蓹 v蓹 ya saat v蓹 ya h蓹tta g眉n,
server ki, xat谋rlay谋r Siz, 蓹slind蓹, daxil.
陌ndi, nec蓹 h蓹qiq蓹t蓹n ba艧 ki?
Siz 蓹lb蓹tt蓹 ki, retyping deyilik, 莽眉nki istifad蓹莽i ad谋 v蓹 parol h蓹r zaman
Bir gedin Facebook m眉xt蓹lif s蓹hif蓹.
Bel蓹 莽谋x谋r cookies cavab verir.
>> Kimi hesab ed蓹 bil蓹r bir cookie, sort, bir digital 蓹l ist蓹yir蓹m
Bir 蓹yl蓹nc蓹 almaq bil蓹r ki, m枚h眉r眉 park v蓹 ya bir klub oldu臒unu mahiyy蓹tc蓹
Burada olmu艧dur g枚st蓹rir 蓹vv蓹l, v蓹 siz art谋q var
眉莽眉n, martaval 眉莽眉n ID g枚st蓹rilir instansiya ki, klub v蓹 ya park
陌ndi ki, siz g枚t眉rm蓹lidir art谋q t蓹sdiq edilmi艧dir.
Siz art谋q t蓹r蓹find蓹n m眉蓹yy蓹n edilmi艧dir.
>> N蓹z蓹r蓹 Bel蓹 ki, burada counter a莽maq bildirin.
M蓹n yaln谋z, m蓹n蓹 ir蓹li ged蓹k, v蓹 cookies b眉t眉n sil.
陌ndi m蓹n n蓹 gedir蓹m yaln谋z yax艧谋 t蓹dbir 眉莽眉n, Shift ke莽irilm蓹si,
v蓹 zorla s蓹hif蓹 yeniden.
Yaln谋z 蓹min Shift he莽 bir 艧ey cached olur.
V蓹 burada t蓹l蓹bi var geri v蓹 ir蓹li getdi.
Bel蓹 ki, burada biz bir sor臒u var, qoy M蓹n蓹 burada a艧a臒谋 zoom, v蓹 bu bir 莽ox
眉莽眉n sort maraqs谋z 蓹trafl谋 edir brauzer avtomatik indi ki,
g枚nd蓹rdik, amma View bas谋n ed蓹k M蓹nb蓹 xammal ba艧l谋qlar谋n谋 g枚r眉r眉k.
>> V蓹 art谋q pset6 dald谋q olsan谋z, Siz 蓹lb蓹tt蓹 ki, h蓹r 艧eyi tan谋maq laz谋md谋r
bu kimi v蓹 b蓹lk蓹 b蓹zi Burada dig蓹r x蓹tl蓹rin,
lakin n蓹 bu g眉n 眉莽眉n daha maraql谋d谋r M蓹n deyil, t蓹l蓹bi a艧a臒谋 diyirl蓹yin 蓹g蓹r
lakin s枚zd蓹 cavab, Bu x蓹tt y蓹qin ki, tan谋艧 g枚r眉n眉r.
Yax艧谋 bir 艧ey var Siz 200 OK g枚r蓹nd蓹.
Y蓹qin bu deyil server tarixi v蓹 vaxt谋
v蓹 stuff bir d蓹st蓹 var.
Oh, bu maraql谋 deyil.
>> Siz istifad蓹 zaman 莽谋x谋r 茝n az谋 bu server PHP,
server spits n蓹 PHP versiyas谋 istifad蓹 edirik.
T蓹hl眉k蓹sizlik h蓹qiq蓹t蓹n olan, m蓹qs蓹dl蓹ri, yax艧谋 bir 艧ey deyil.
Amma, biz geri g蓹lm蓹k laz谋md谋r b蓹lk蓹 ba艧qa vaxt.
Amma indi bu, 艧ir蓹li line g眉n v蓹 biz q谋sa bu b蓹zi g枚rd眉m
Biz poked zaman Facebook il蓹 d眉艧眉nm蓹k o zaman inspektor 蓹traf谋nda,
set cookie 蓹kin n蓹 m蓹lumat ki, ki莽ik bir par莽a
bilgisayar谋n谋za.
>> Bu HTTP header edir ki, s蓹m蓹r蓹li deyil
Brauzerinizin izah, Chrome, IE, n蓹 olursa olsun,
istifad蓹莽i haqq谋nda hey browser ma臒azas谋 sabit, v蓹 ya istifad蓹莽i RAM,
bir olan PHPSESSID adl谋 蓹sas, sessiya ID stenoqrafiya notation,
v蓹 bu d蓹y蓹r verm蓹k 0vlk8t, n枚qt蓹, n枚qt蓹, n枚qt蓹.
A h蓹qiq蓹t蓹n uzun yalan莽谋 t蓹sad眉fi alfasay谋sal string.
Bu, yaln谋z bir h蓹qiq蓹t蓹n b枚y眉k say谋, lakin Bu m蓹ktublar v蓹 n枚mr蓹l蓹r il蓹 kodlanm谋艧 edir
bel蓹 ki, 枚l莽眉s眉 ola bil蓹r ki, t蓹k ba艧谋na daha b枚y眉k.
V蓹 sonra, yolu il蓹, Path = / ki, bu cookie olmal谋d谋r o dem蓹kdir ki,
il蓹 ba臒l谋 sayt谋n b眉t枚vl眉kd蓹,
yaln谋z x眉susi deyil s蓹hif蓹 b眉t眉n 艧ey.
Bel蓹 ki, bu virtual 蓹l m枚h眉r眉 edir.
Bu, server, Facebook sanki var v蓹 ya bizim halda cihaz da,
s枚z眉n yaz谋l谋 0vlk8t var v蓹 s, sizin t蓹r蓹fd蓹n.
N蓹 serverin ed蓹k bunu deyil deyil deyil
蓹lb蓹tt蓹, m蓹nim istifad蓹莽i ad谋 saxlan谋lmas谋 艦ifr蓹ni saxlan谋lmas谋 deyil.
>> Bunun 蓹v蓹zin蓹, o g枚r眉n眉r yalan莽谋 t蓹sad眉fi saxlan谋lmas谋 m蓹lumat
he莽 bir tahmin ed蓹 bil蓹r ki, M蓹nim 蓹l m枚h眉r眉 n蓹.
Server t蓹r蓹find蓹, eyni zamanda, server
y蓹qin ki, unutmay谋n gedir bir veril蓹nl蓹r bazas谋 v蓹 ya bir 艧ey,
istifad蓹莽i, g蓹l蓹c蓹kd蓹 ed蓹n 0vlk8t bir 蓹l m枚h眉r眉 t蓹qdim, dot
dot, bu il蓹 ba臒l谋 olmal谋d谋r dot X眉susil蓹 al谋艧-veri艧 araba, bel蓹 dan谋艧maq.
Ba艧qa s枚zl蓹, m蓹n indi getm蓹k 蓹g蓹r burada geri v蓹 bu s蓹hif蓹ni yenid蓹n,
server bilir nec蓹 M蓹n bir d蓹f蓹 ziyar蓹t?
>> M蓹n bir daha bunu 蓹g蓹r v蓹 ya, nec蓹 server yoxdur M蓹n iki d蓹f蓹 ziyar蓹t etdik ki, bilirik?
Yax艧谋 m蓹n bu a艧a臒谋 getm蓹k 蓹g蓹r 茝n son ist蓹yi olan
M蓹n g枚nd蓹rdik ki, indi 眉莽眉nc眉 c蓹mi, indi m蓹nim t蓹l蓹bi bil蓹rsiniz.
H蓹l蓹 bu var Burada, eyni up t蓹l蓹b
蓹vv蓹l, h蓹l蓹 bir d蓹st蓹 var biz 蓹vv蓹lki kimi r蓹dd etdik ki, m蓹hsullar谋,
lakin son header, bu vaxt, M蓹n 蓹vv蓹l burada oldu臒unuz 莽眉nki,
bir t蓹qdimat Bu virtual 蓹l m枚h眉r眉.
>> Vasit蓹si bu x蓹tt burada, m眉蓹yy蓹n cookie lakin cookie colon PHPSESSI = 0vlk8t,
ki, yaln谋z m蓹nim browser avtomatik var bel蓹 ki, bu 蓹l m枚h眉r眉 t蓹qdimat谋
陌ndi server, bu, h蓹yata kimi tezlikl蓹, ooh bu istifad蓹莽i 0vlk8t n枚qt蓹, n枚qt蓹, n枚qt蓹,
陌ndi o olan xat谋rlay谋ram bil蓹r ki, istifad蓹莽i il蓹 reassociate n蓹
m蓹lumat ist蓹yir蓹m, v蓹 b眉t眉n informasiya, siz saxlan谋la bil蓹r
$ _SESSION proqram莽谋.
>> M蓹n real tez a莽maq 蓹g蓹r Bel蓹 ki, ayd谋n olmaq gedit ki, faktiki fayl, counter.php,
Yerli host ictimai kataloq 蓹vv蓹lki kimi, h蓹qiq蓹t蓹n, fark,
M蓹n sonda saxlan谋lmas谋 al谋ram $ _SESSION Quote d谋rna臒谋 ba臒lamaq "蓹ks"
蓹vv蓹lki counter d蓹y蓹ri olan M蓹n burada ki, biz bu x蓹tl蓹ri almaq
son d蓹f蓹 plus bir baxd谋.
Ba艧l谋q alt谋nda, bel蓹 ki, b眉t眉n cookies var.
Bu digital yaln谋z sort var 蓹l m枚h眉r眉 geri v蓹 ir蓹li ged蓹n
v蓹 s蓹mimi Chrome Agentliyi a莽maq 蓹g蓹r H蓹r hans谋 bir web Inspector
Siz, bu g眉n ziyar蓹t super ehtimal谋 y眉ks蓹k,
Siz b蓹lk蓹 bir g枚rm蓹k olacaq b蓹lk蓹 yar谋m bir 莽ox cookies
sizin xat谋rlan谋r.
>> V蓹 pis h蓹l蓹, 蓹g蓹r o veb etdiyiniz
b眉t眉n reklam, olan , 蓹lb蓹tt蓹, bu g眉n olduqca 眉mumi
v蓹 h蓹min reklam g蓹lir 蓹g蓹r b蓹zi m蓹rk蓹zi partiya, kims蓹
Google v蓹 ya AdWords kimi onlar onlar谋n m蓹hsullar谋n谋n bir z蓹ng
v蓹 ya dig蓹r sat谋c谋lar ki, reklam satmaq, maraql谋 n蓹,
v蓹 bir az n蓹 s蓹mimi worrisome, HTTP i艧l蓹ri nec蓹 haqq谋nda,
Siz 蓹g蓹r bir reklam 蓹laq蓹dar ki, Facebook.com, v蓹 Google.com in,
v蓹 Harvard.edu, h蓹r hans谋 bir say谋 web, bel蓹 ki, var
xidm蓹t ed蓹n bir orta insan var ki, bu web b眉t眉n 眉莽 reklam up,
ki 莽谋x谋r cookies alan谋 ba艧谋na var.
>> Siz 蓹g蓹r bel蓹 bir reklam g蓹l蓹n m眉xt蓹lif saytlarda eyni 艧irk蓹t,
ki, 艧irk蓹t s蓹m蓹r蓹li kim takip ed蓹 bil蓹rsiniz bu web b眉t眉n aras谋nda var.
Harvard bilmir蓹m bil蓹r Facebook ziyar蓹t edirik.
Facebook bilmir蓹m bil蓹r v蓹 Siz Harvard ziyar蓹t edirik.
Amma n蓹 olursa olsun ad xidm蓹t ki, domen, 蓹g蓹r onlar istifad蓹 etdiyiniz
h蓹m Harvard.edu web m枚vcuddur pages v蓹 Facebook.com web pages,
Bu orta insan 艧眉bh蓹siz ki, kim bilir Bu cookies payla艧谋lan alaraq
aras谋nda, daha do臒rusu, 眉莽眉n ki komisyoncu s枚zd蓹.
>> Bel蓹likl蓹, biz bu qay谋da bil蓹rsiniz onlar谋n t蓹hl眉k蓹sizlik n蓹tic蓹l蓹ri,
lakin m蓹lumat bir 莽ox var he莽 bir zaman haqq谋nda saxlan谋l谋r siz
蓹n h蓹r hans谋 bir web s蓹hif蓹sini ziyar蓹t internet v蓹 h蓹qiq蓹t蓹n
Bu 莽ox sad蓹 mexanizm azald谋r.
N蓹 蓹g蓹r, sonra, olur Siz super paranoid etdiyiniz
v蓹 Chrome v蓹 ya IE daxil q蓹rar v蓹 ya h蓹r hans谋 v蓹 cookies s枚nd眉rm蓹k?
N蓹 olur?
B蓹li?
Siz bu h眉ququ etdik, h蓹qiq蓹t蓹n?
OK.
Xeyr, ir蓹li getm蓹k.
>> Auditoriya: B蓹zi saytlarda yoxdur bu bir funksiyas谋 Facebook kimi.
DAVID J. MALAN: B蓹li!
Bel蓹 ki, m眉蓹yy蓹n saytlar谋 yaln谋z i艧 dayanacaq.
V蓹 蓹n web bu g眉n 蓹sasl谋, cookies etibar
onlar daxil var, x眉susil蓹 d蓹 蓹g蓹r , onlar yaln谋z q谋rmaq olacaq.
N蓹z蓹rd蓹n 脟眉nki alternativ, 蓹g蓹r veb
, kim xat谋rlayaraq he莽 bir yol var v蓹 buna g枚r蓹 d蓹 sizin web browser deyil
h蓹r HTTP il蓹 t蓹msil Bu 蓹l Markan谋n t蓹l蓹bi,
s蓹m蓹r蓹li web Facebook ged蓹n kimi
t蓹klif etm蓹k h蓹r darn d蓹f蓹 daxil
Siz pages d蓹yi艧dirm蓹k, v蓹 ya bir link bas谋n olan x眉susil蓹 yax艧谋 user m眉tl蓹q deyil
t蓹cr眉b蓹.
>> Orada da bel蓹 ticar蓹t off aras谋nda.
Daha ADO olmadan Bel蓹 ki, g枚t眉r蓹k web proqramla艧d谋rma il蓹 veril蓹n,
PHP kimi dill蓹rd蓹, siz yadda bil蓹r problem kimi m蓹lumat set
脰z h蓹yata zaman yeddi Almaq 眉莽眉n olan E * Trade kimi website
v蓹 s蓹hml蓹rinin satmaq, siz d蓹qiq xat谋rlamaq laz谋md谋r Hans谋 istifad蓹莽i al谋n谋b sat谋lan
v蓹 o olan Bu sessiya yolu il蓹.
Amma biz laz谋m olacaq e-po莽t daha merakl谋s谋 yol
蓹traf谋nda informasiya saxlan谋lmas谋 ba艧lamaq 眉莽眉n.
Right?
>> Bazar ert蓹si, biz Frosh Ani dan谋艧d谋q v蓹 nec蓹 web versiyas谋n谋 bir,
il 蓹vv蓹l, biz b眉t眉n idi olan var Proctor e-po莽t
Bu intramural idman m蓹sul proqram谋 ad谋 v蓹 gender,
v蓹 onlar kapitan olsan谋z v蓹 ya, v蓹 kims蓹 yurt kim
bir intramural idman 眉莽眉n qeydiyyatdan.
Bel蓹 ki, pis deyil, lakin o, sonra o e-po莽t vasit蓹sil蓹 c眉ce idi,
Bir elektron tablo v蓹 ya bir 艧ey kimi etm蓹k ki, h蓹r 艧eyi t蓹艧kil saxlamaq 眉莽眉n.
Bel蓹 ki, 艧眉bh蓹siz ki, biz proqram莽谋lar kimi ki, Proctor 眉莽眉n bunu ed蓹 bil蓹rsiniz.
V蓹 SQL daxil, Yap谋land谋r谋lm谋艧 Query Language,
olduqca baxmaq niyy蓹tind蓹 olan C v蓹 PHP h蓹m d蓹 m眉xt蓹lif,
v蓹 daha 莽ox 蓹ll蓹ri dal谋艧 laz谋md谋r PHP v蓹 problem d蓹 yeddi lakin SQL m眉蓹yy蓹n
v蓹 ya SQL, bu dil ki, bir veril蓹nl蓹r bazas谋 dan谋艧maq 眉莽眉n istifad蓹 edin.
>> Amma bir veril蓹nl蓹r bazas谋 var?
Yax艧谋 bir hesab veril蓹nl蓹r bazas谋, 蓹n az谋 indi 眉莽眉n,
yaln谋z bir Excel fayl kimi olan, v蓹 ya Mac istifad蓹莽i bir 蓹d蓹d fayl 蓹g蓹r,
v蓹 ya Google Apps 蓹g蓹r istifad蓹莽i Google tablo,
s蓹m蓹r蓹li bir veril蓹nl蓹r bazas谋 var, v蓹 ya, h蓹qiq蓹t蓹n, x眉susi bir relational veril蓹nl蓹r bazas谋.
A relational veril蓹nl蓹r bazas谋 yaln谋z sat谋r v蓹 s眉tun var ki, bir 艧ey,
v蓹 siz h蓹r c眉r saxlaya bil蓹rsiniz Bu sat谋r v蓹 ya s眉tun m蓹lumat.
>> Lakin, SQL haqq谋nda g枚z蓹l n蓹 var v蓹 faktiki bazalar谋, yaln谋z
tablolar v蓹 ya Google tablolar, Bir dil istifad蓹 ed蓹 bil蓹rsiniz ki,
h蓹qiq蓹t蓹n sor臒u icra data, data aradan qald谋r谋lmas谋 眉莽眉n daxil,
h蓹tta data axtarmaq 眉莽眉n 蓹n 蓹sas谋, v蓹
kifay蓹t q蓹d蓹r 枚z眉n眉z istifad蓹 etm蓹k yoxdur, Siz ad蓹t蓹n Google g眉c kimi
bu kimi elektron tablo.
>> SQL Bel蓹 ki, bir d蓹st蓹 var fundamental hesabatlar谋 v蓹 ya 蓹d蓹d
funksionall谋q in艧a.
Bu daha 莽ox var, ancaq bir b枚y眉k m蓹saf蓹 getm蓹k bil蓹r
yaln谋z bilerek adlanan bu dil
SQL az谋 d枚rd var Siz leverage bil蓹r hesabatlar谋.
>> Data aradan qald谋r谋lmas谋 眉莽眉n, Sil, Sat谋r 蓹lav蓹 etm蓹k 眉莽眉n, daxil edin,
Update, d蓹yi艧dirilm蓹si 眉莽眉n sat谋r, v蓹 se莽ilm蓹si,
sat谋r geri almaq 眉莽眉n v蓹 h蓹qiq蓹t蓹n SQL n蓹 var.
Bu bel蓹 sat谋rlar tamamil蓹 f蓹aliyy蓹t Siz daxil, v蓹 ya aradan qald谋r谋lmas谋 zaman,
v蓹 ya yenil蓹m蓹, v蓹 ya etdiyiniz n蓹 se莽in qondarma n蓹tic蓹 d蓹sti geri almaq,
sat谋r bir s谋ra kimi.
Bir masa sat谋r bir d蓹st蓹.
>> Bel蓹 ki, g眉n geri, v蓹 h蓹tta bu g眉n,
Siz il蓹 qar艧谋l谋ql谋 bil蓹r bir command line istifad蓹 ed蓹r蓹k veril蓹nl蓹r bazas谋,
lakin istifad蓹 etm蓹k x眉susil蓹 蓹yl蓹nc蓹 deyil bu qara v蓹 a臒 stil p蓹nc蓹r蓹
v蓹 h蓹qiq蓹t蓹n 蓹mrl蓹ri yerin蓹 v蓹 veril蓹nl蓹r bazas谋 蓹traf谋nda soxmaq.
A qrafik istifad蓹莽i interfeys, v蓹 ya GUI, , arguably daha 莽ox 眉st眉nl眉k
v蓹 biz g蓹lir al蓹t v蓹 cihaz sizin 眉莽眉n 蓹vv蓹lc蓹d蓹n qurulan
phpMyAdmin adlan谋r.
Bu ki, bir 眉mumi t蓹sad眉f deyil Bu 艧ey ad谋, bu PHP var
yaln谋z insanlar o dem蓹kdir ki, 枚zl蓹rini bu proqram yaz谋b
PHP bunu yazd谋.
>> Amma bu idar蓹 haqq谋nda n蓹tic蓹d蓹 var bir MySQL server kimi bir veril蓹nl蓹r bazas谋 server,
Siz ola bil蓹r ki, siz kimi CS50 cihaz, yoxdur.
Bel蓹 ki, daha 蓹trafl谋 莽ox var burada Biz bu g眉n qay臒谋 laz谋md谋r
lakin n蓹 蓹sas var sol ki, t蓹r蓹fd蓹n bazalar谋 siyah谋s谋
sizin komp眉ter var ki, Sizin CS50 cihaz,
v蓹 ya final layih蓹l蓹r g蓹lib ki, g眉c 眉莽眉nc眉, bir 艧irk蓹tin var
haqqinda v蓹 ya web server ki, Siz yer 眉莽眉n 枚d蓹nilm蓹si bil蓹r.
Bel蓹 ki, sol deyil veril蓹nl蓹r bazas谋, biri
M蓹n n枚vb蓹ti borc olan pset7 edir 眉st, sonra h蓹ft蓹 pset, v蓹
bir var orada qeyd Ni艧anlar d蓹st蓹 olan bir
veril蓹nl蓹r bazas谋, SQL, status edir s istifad蓹莽il蓹r ixrac v蓹.
Bel蓹 ki, uzun bil蓹rsiniz yolu yaln谋z h蓹yata ke莽irilm蓹si
ki, istifad蓹莽i interfeysi 蓹n Sol 眉st s眉tun
v蓹 sa臒 orada 眉st眉nde.
Bel蓹 ki, biz, h蓹qiq蓹t蓹n, bu il蓹 n蓹 ed蓹 bil蓹r?
Yax艧谋, bir yaratmaq ba艧lamaq ed蓹k m蓹lumat bit a艧a臒谋dak谋.
>> A艧a臒谋dak谋 bel蓹dir d眉艧眉n蓹k, Yaln谋z bir ne莽蓹 g眉n olacaq,
Bir h蓹yata ist蓹yir蓹m CS50 Maliyy蓹 deyil蓹n haqqinda,
v蓹 bu veb siz almaq imkan verir d谋rna臒谋 ba臒lamaq sitat v蓹 s蓹hml蓹rinin satmaq.
V蓹 anlamaq 眉莽眉n olacaq h蓹min s蓹hml蓹r qiym蓹ti,
n蓹tic蓹d蓹 g枚r蓹c蓹ksiniz kimi, Yahoo Maliyy蓹 s枚hb蓹t.
Hans谋, g枚z蓹l, bir pulsuz xidm蓹t var Bir fond ticker ke莽蓹 bil蓹r qovu艧durma臒谋m谋z
Google GOOG, v蓹 bu kimi olacaq Google cari fond geri verm蓹k
Ke莽mi艧d蓹 蓹rzind蓹 qiym蓹t ne莽蓹 d蓹qiq蓹 蓹n az谋.
>> Bel蓹 ki, son n蓹tic蓹d蓹 ki, istifad蓹 ed蓹c蓹yik, istifad蓹莽i 眉莽眉n iddia
almaq v蓹 faktiki satmaq virtual pul istifad蓹 ehtiyatlar谋,
lakin 莽ox ilk 艧ey istifad蓹莽i g枚rm蓹k olacaq
onlara soru艧ur bu giri艧 ekran 枚z istifad蓹莽i ad谋 v蓹 艧ifr蓹 眉莽眉n.
V蓹 bel蓹 ki, bir ilk pset7 sizin 眉莽眉n probleml蓹r
geri sonuna h蓹yata olacaq veril蓹nl蓹r bazas谋, tablo siz 蓹g蓹r,
ki, saxlamaq olacaq istifad蓹莽il蓹r adlar谋 v蓹 parol
v蓹 n蓹tic蓹d蓹 onlar 枚z n蓹 s蓹hml蓹r, v蓹 ne莽蓹, v蓹 n蓹 q蓹d蓹r pul onlar var,
dig蓹r 艧eyi bir d蓹st蓹 dig蓹r masalar, v蓹 ya elektron tablolar.
>> Bel蓹 ki, nec蓹 bu n蓹z蓹r ed蓹k ilk bax谋艧da g枚r眉n眉r bil蓹r.
M蓹n geri getm蓹k 眉莽眉n gedir蓹m M蓹n v蓹 cihaz
burada bu URL getm蓹k niyy蓹tind蓹 phpMyAdmin localhost / phpmyadmin
v蓹 bunu ki, g枚r眉rs眉n眉z bir interface m蓹n蓹 edir
tam biz g枚rd眉m kimi ekran shot, v蓹 burada m蓹n
蓹lav蓹 bazas谋 var Bu g眉n 莽a臒谋r谋艧谋 m眉hazir蓹
v蓹 m蓹n蓹 ir蓹li ged蓹k ilk v蓹 pset7 bas谋n.
>> M蓹n variantlar谋 bir ne莽蓹 var g枚r眉n眉r, yeni bir yeni masa yaratmaq 眉莽眉n,
istifad蓹莽il蓹r v蓹 bir link olan M蓹n art谋q yarad谋lm谋艧 bir masa.
Bel蓹 ki, bir masa var?
Excel istifad蓹 蓹g蓹r Bel蓹 ki, 蓹vv蓹l v蓹 siz var 蓹g蓹r
istifad蓹 n枚mr蓹l蓹ri v蓹 ya Google Spreadsheets, bir p蓹nc蓹r蓹 a莽maq
v蓹 b眉t眉n d蓹st蓹 almaq sat谋r v蓹 s眉tun,
lakin sonra ad蓹t蓹n i艧 var alt, ya ayr谋-ayr谋 Ni艧anlar boyunca.
Siz h蓹r hesab ed蓹 bil蓹r bir masa kimi i艧
bel蓹 ki, veril蓹nl蓹r bazas谋, n蓹tic蓹d蓹, bir bir v蓹 ya daha 莽ox masalar birl蓹艧m蓹si, bir
v蓹 ya daha 莽ox worksheets da bir normal tablo d眉nya.
M蓹n蓹 ir蓹li getm蓹k v蓹 Bu i艧 bas谋n
M蓹n premade ki, deyil蓹n istifad蓹莽il蓹r, a.k.a.
Database masa.
M蓹n burada a艧a臒谋 diyirl蓹yin 蓹g蓹r, M蓹n蓹 bir az zoom imkan,
Bu phpMyAdmin izah n蓹 Biz蓹 indi bu masa daxilind蓹.
Bu ilk bir az confusing var n蓹z蓹r UI deyil
D眉nyan谋n 蓹n prettiest 艧ey, lakin n蓹 maraql谋 burada bu hiss蓹sidir.
ID, istifad蓹莽i ad谋 v蓹 hash.
>> 茝vv蓹lc蓹d蓹n, v蓹 siz 蓹lli olacaq Bu problem, yeddi m眉蓹yy蓹n
biz bir super olan bir fayl verm蓹k ki莽ik bir veril蓹nl蓹r bazas谋 masa, h蓹qiq蓹t蓹n borc
hacker n蓹艧r problemi iki set
olan daxili alt谋 sat谋r var.
B眉t眉n Belinda 眉莽眉n One yol a艧a臒谋 Zamyla 眉莽眉n bir,
v蓹 o sol bildiri艧 istifad蓹莽i ad谋, bir kimi unikal kimlikleri var
iki, 眉莽, d枚rd, be艧, alt谋, integers, v蓹 sonra sa臒 hashes var.
>> V蓹 odds, 蓹g蓹r, siz etm蓹di hacker n蓹艧r problem, iki set
lakin hash 艧ifreli kimi yaln谋z bir ne莽蓹 caveats il蓹 parol.
Bel蓹 ki, siz burada n蓹 g枚rm蓹k b眉t眉n alt谋 艧ifreli versiyas谋
problem bizim parol iki nin hacker n蓹艧r se莽in.
陌ndi sol yaln谋z bir GUI stuff deyil, Bu s谋ra redakt蓹 bu s谋raya 莽谋xarmaq,
Bu s谋ra silm蓹.
>> Amma n蓹 maraql谋 陌ndi bel蓹dir.
M蓹n, h蓹qiq蓹t蓹n, ba艧laya bil蓹rsiniz Bu c蓹dv蓹l蓹 il蓹 eksperiment.
M蓹n getm蓹k v蓹 SQL bas谋n 蓹g蓹r ni艧an谋, m蓹n bu b枚y眉k m蓹tn qutusuna almaq.
Bu biz olacaq nec蓹 deyil h蓹qiq蓹t蓹n kodu yaz谋l谋 zaman bunu.
Ayd谋n olmaq 眉莽眉n, phpMyAdmin ki, bir vasit蓹dir
Biz蓹 bazas谋 蓹traf谋nda soxmaq imkan gedir v蓹 biz蓹 sor臒u il蓹 s谋na臒a imkan verir.
>> Bel蓹 ki, m蓹s蓹l蓹n, g眉man M蓹n m蓹hz bu icra.
O biri olan se莽in, a莽ar s枚zl蓹r, m蓹n 蓹vv蓹ll蓹r, ulduz qeyd
b眉t眉n t蓹msil bir masa s眉tunlar谋.
N蓹 masa From?
Yax艧谋, users.
V蓹 bildiri艧 bu var SQL q蓹rib蓹 konqres
burada h蓹qiq蓹t蓹n istifad蓹 geri, ad蓹t蓹n, ticks
t蓹k quotes v蓹 ikiqat quotes Siz masalar adlar谋 haqq谋nda dan谋艧maq zaman,
bel蓹 ki, geri quote haqq谋nda 艧ey klaviatura 眉st sol 蓹n
ehtimal.
>> Bel蓹 ki, m蓹n蓹 indi davam ed蓹k v蓹 yaln谋z t蓹k t蓹rk
v蓹 ya a艧a臒谋 diyirl蓹yin v蓹 bas谋n Go, v蓹 biz 蓹slind蓹 eyni 艧ey g枚rm蓹k olacaq.
Biz yaln谋z bir SQL sor臒u icra se莽in h蓹r 艧ey ulduz dey蓹r蓹k
olan masa istifad蓹莽il蓹r adlan谋r v蓹 n蓹 geri almaq bu.
N蓹tic蓹d蓹, biz ed蓹 bil蓹rsiniz kod ki, eyni 艧ey,
lakin indi b眉t眉n I ist蓹di m蓹nim brauzerinizin g枚rm蓹k idi yoxdur.
Yax艧谋 bir 艧ey ed蓹k bir az f蓹rqli.
, M蓹n蓹 SQL ni艧an谋 geri ged蓹k v蓹 yaln谋z n蓹 dey蓹k?
Zamyla onun b眉t眉n itirdi pul, v蓹 buna g枚r蓹 d蓹 bu
bizim 眉莽眉n vaxt bir istifad蓹莽i kimi silm蓹k 眉莽眉n.
O, art谋q giri艧 var.
>> M蓹n from-- silm蓹k dem蓹k gedir蓹m yax艧谋, kapitalla艧ma saxlamaq
ard谋c谋ll谋q 眉莽眉n, silin harada istifad蓹莽il蓹r.
V蓹 bel蓹 ki, biz bu ola bil蓹r predicates, v蓹 ya bu
M蓹nim 艧蓹rhd蓹 sonunda se莽m蓹l蓹ri, harada v蓹 nec蓹 Zamyla silm蓹k bil蓹r?
Onun ad谋 Zamyla t蓹r蓹find蓹n, bel蓹 s眉tun, s眉tun biri
adl谋, bel蓹 ki, burada name = "Zamyla" idi.
V蓹 burada m蓹n ikiqat istifad蓹 quotes v蓹 ya bir quotes,
yaln谋z zaman geri g蓹n蓹 istifad蓹 M蓹s蓹l蓹n, adlar谋 haqq谋nda s枚hb蓹t,
masalar v蓹 ya sah蓹l蓹rind蓹.
V蓹 m蓹n蓹 burada getm蓹k bas谋n bildirin.
V蓹 indi, web s蓹hif蓹 bir az sinirli olan.
>> V蓹 ya, h蓹qiq蓹t蓹n, silm蓹k icra etm蓹k ist蓹yir蓹m name Zamyla b蓹rab蓹rdir istifad蓹莽il蓹r?
B蓹li.
Bel蓹 ki, indi m蓹nim masa geri getm蓹k 蓹g蓹r t谋klayarak istifad蓹莽il蓹r t蓹r蓹find蓹n, HM ki, g枚r眉rs眉n眉z.
M蓹n goofed.
V蓹 蓹slind蓹, m蓹n n枚v bel蓹 s眉r蓹tli 眉z t谋klayan
Siz h蓹tta g枚rm蓹dim b蓹lk蓹 q谋rm谋z谋 s蓹hv mesaj谋.
M蓹n yanl谋艧 n蓹 idi?
Auditoriya: Siz laz谋m deyil onun ad谋 kapitalla艧d谋rmaq.
DAVID J. MALAN: B蓹li m蓹n , onun ad谋 kapitalla艧d谋r谋lm谋艧
lakin onun M蓹n, h蓹qiq蓹t蓹n, username-- sa臒, bir ne莽蓹 s蓹hvl蓹r etdi?
One, onun istifad蓹莽i ad谋 ZAMYLA, ki莽ik Z,
v蓹 s眉tun ad谋 ad谋n谋z, deyil ad谋, bel蓹 ki, yen蓹 bunu bildirin.
M蓹n蓹 davam ed蓹k v蓹 istifad蓹莽il蓹r yerd蓹n silm蓹k
istifad蓹莽i ad谋 quote d谋rna臒谋 ba臒lamaq "Zamyla" b蓹rab蓹rdir.
B眉t眉n h眉quqlar?
Bel蓹 ki, bu bir az daha yax艧谋 g枚r眉n眉r, qoy M蓹n蓹 a艧a臒谋 diyirl蓹yin getm蓹k v蓹 Go bas谋n.
Bu h蓹l蓹 olacaq 蓹min olmaq 眉莽眉n m蓹n蓹 f蓹臒an.
M蓹n B蓹li bas谋n v蓹 indi biz g枚r眉r眉k s蓹mimi bu, h蓹qiq蓹t蓹n, ba艧
s眉r蓹tli, az bir 陌kinci 蓹lb蓹tt蓹 ki, bu
tam icra oldu ki, sor臒u edir.
T蓹sdiq etm蓹k 眉莽眉n, m蓹n蓹 istifad蓹莽il蓹r bas谋n izl蓹 v蓹 h蓹qiq蓹t蓹n indi Zamyla getdi.
陌ndi qar艧谋 n蓹 ed蓹k.
Gabe ist蓹yir ki, d眉艧眉n蓹k haqqinda 眉莽眉n qeydiyyatdan ke莽in.
SQL sor臒u n蓹, n蓹 var M蓹n Gabe 蓹lav蓹 etm蓹k yaz谋n bil蓹r command?
Yax艧谋 olduqca sad蓹 var.
Istifad蓹莽il蓹r daxil, v蓹 indi bir az sirli olur.
M蓹n server, m眉蓹yy蓹n etm蓹k laz谋md谋r n蓹 m蓹n t蓹yin etm蓹k ist蓹yir蓹m sah蓹l蓹ri.
M蓹n, h蓹qiq蓹t蓹n, qay臒谋 yoxdur n蓹 Gabe ID say谋, bel蓹 ki, ke莽m蓹k gedir蓹m.
M蓹n 蓹v蓹zin蓹 dem蓹k gedir蓹m istifad蓹莽i ad谋, hash, v蓹 sonra
d蓹y蓹rl蓹ri I qoymaq ist蓹yir蓹m Gabe var gedir.
V蓹 sonra onun hash, m蓹n bilmir蓹m.
Bel蓹likl蓹, m蓹n gedir蓹m etm蓹k 眉莽眉n bir b枚y眉k kimi t蓹rk.
Biz geri g蓹lm蓹k laz谋md谋r Problem set ki,
Siz, h蓹qiq蓹t蓹n, bunu nec蓹 spec.
>> Bel蓹 ki, yen蓹 sintaksis, g枚r眉rs眉n眉z.
Masa ad谋 daxil, sonra daxil edin sah蓹l蓹rind蓹 parenthesized siyah谋s谋
s眉tun 蓹lav蓹 etm蓹k ist蓹diyiniz d蓹y蓹rl蓹ri, v蓹 sonra yaln谋z
eyni d蓹qiq sifari艧 眉莽眉n sol 茝lav蓹 etm蓹k ist蓹diyiniz d蓹y蓹rl蓹rin sa臒,
v蓹 yaln谋z 莽眉nki wrapping edir M蓹tn bir az uzun.
Bel蓹 ki, indi m蓹n蓹 Go bas谋n bildirin.
Bir s谋ra daxil.
V蓹 indi geri getm蓹k 蓹g蓹r istifad蓹莽il蓹r n蓹 maraql谋
yaln谋z Gabe d蓹 art谋q deyil ki, veril蓹nl蓹r bazas谋, onun ID y蓹qin n蓹dir?
>> Yax艧谋 yeddi var.
Niy蓹 m蓹n bunu 蓹lav蓹 etm蓹yib yeddi zaman?
Bu bel蓹 d蓹 biridir x眉susiyy蓹tl蓹ri bazas谋 almaq.
Bir 莽ox funksionall谋臒谋 in艧a.
Bu zaman 莽谋x谋r ki, Bu masa yarad谋b,
M蓹n avtomatik olaraq var 枚nceden bel蓹 bir 艧蓹kild蓹 ID t蓹yin
Bu 蓹lav蓹l蓹r.
Bel蓹likl蓹, siz he莽 蓹traf谋nda poked olsan谋z v蓹 n蓹 Facebook ID baxd谋
say谋, h蓹qiq蓹t蓹n deyil bu g眉n bir 艧ey, bir API, lakin Facebook etm蓹k
Application Programming Interface, qovu艧durma臒谋m谋z geri ala bil蓹rsiniz
m蓹lumatlar谋n b眉t眉n d蓹st蓹 haqq谋nda 脰z眉n眉z, dostlar谋n谋z haqq谋nda,
v蓹 蓹laq蓹l蓹ri.
V蓹 n蓹 istifad蓹 c眉r s蓹rin, geri g眉n,
axtarmaq 眉莽眉n n蓹 sizin Facebook ID say谋.
Mark Zuckerberg-in, M蓹s蓹l蓹n, 眉莽
O sayt谋n m眉蓹llifi idi.
Hekay蓹 gedir kimi, onun yaratd谋臒谋 iki test hesablar谋, istifad蓹莽il蓹r bir v蓹 iki,
o sonra silindi.
V蓹 bel蓹 ki, Zuck, onun istifad蓹莽i ad谋 Facebook, ID say谋 眉莽d眉r
v蓹 ham谋m谋z 莽ox n枚mr蓹l蓹ri var daha b枚y眉k 眉莽 bu g眉n.
茝slind蓹, bir n枚qt蓹d蓹 Facebook 眉z k枚莽眉r眉l眉b
h蓹tta bir int istifad蓹 hans谋 32-bit d蓹y蓹r istifad蓹 edir
N枚vb蓹ti add谋m, mahiyy蓹tc蓹 uzun uzun bel蓹
Onlar yerl蓹艧dirm蓹k bil蓹r ki, Qeydiyyatdan daha users.
Bel蓹 ki, bir fun az tarixi fakt.
>> Bel蓹 ki, yaln谋z 蓹sas sintaksis olan
biz bir ne莽蓹 icra bil蓹r queries, lakin biz h蓹qiq蓹t蓹n bil蓹rsiniz
SQL il蓹 bir d蓹st蓹 daha 莽ox 艧ey蓹.
V蓹 n蓹hay蓹t, g枚r蓹c蓹ksiniz problemi yeddi m眉蓹yy蓹n
Bir etm蓹k laz谋md谋r ki, dizayn q蓹rarlar谋 say谋,
Onlar谋n aras谋nda olacaq n蓹 m蓹lumat n枚vl蓹ri istifad蓹 etm蓹k.
Bel蓹 ki, yaln谋z C kimi, data var bir veril蓹nl蓹r bazas谋 n枚vl蓹ri, MySQL kimi,
v蓹 m蓹lumat n枚vl蓹ri se莽m蓹k laz谋md谋r burada bu sah蓹l蓹ri daxildir.
Char, VARCHAR, Int, big int, decimal v蓹 tarixi zaman, v蓹 bir 莽ox ba艧qalar谋.
Bel蓹 nin 蓹slind蓹 bunu ed蓹k.
Biz deyil ki, iddia ed蓹k 蓹l bu istifad蓹莽i masa
v蓹 m蓹nim 眉莽眉n, ir蓹li getm蓹k v蓹 yaratmaq imkan 枚z眉m m眉hazir蓹l蓹r bazas谋nda
h蓹qiq蓹t蓹n m蓹n蓹 ir蓹li getm蓹k v蓹 silm蓹k imkan M蓹n art谋q burada var masa
bel蓹 ki, biz, h蓹qiq蓹t蓹n, bu yarada bil蓹rsiniz.
Whoops.
M蓹n bu d眉艧m蓹k gedir蓹m masa, v蓹 indi m蓹n
Bu yenid蓹n getm蓹k olacaq burada bazas谋 m眉hazir蓹,
M蓹n bir masa yaratmaq 眉莽眉n gedir蓹m adl谋 istifad蓹莽il蓹ri v蓹 ed蓹k
Yaln谋z 眉莽 s眉tun etm蓹k ilkin v蓹 Go bas谋n.
>> 陌ndi, 莽ox hiss蓹si 眉莽眉n, yenid蓹n, bu yaln谋z
adlanan bu qrafik arac谋 istifad蓹 ed蓹r蓹k phpMyAdmin v蓹 biz indi n蓹 edirik
bir masa yarad谋r.
Bel蓹 ki, bu Fayl ged蓹n kimi, New, v蓹 yeni Excel fayl yaratmaq.
Bel蓹 ki, m蓹n蓹 bir ne莽蓹 xahi艧 suallar, olan, sol sa臒
ilk s眉tun ad谋 n蓹 var, v蓹 sonra ikinci s眉tun ad谋,
v蓹 眉莽眉nc眉 ad谋.
Bel蓹 ki, bu yeniden bildirin.
ID, sonra istifad蓹莽i ad谋, biri idi v蓹 sonra hash ba艧qa idi.
Bel蓹 ki, n蓹 data n枚v眉 olmal谋d谋r ID kimi bir sah蓹d蓹 art谋q ola bil蓹rmi?
>> Burada data n枚vl蓹ri b眉t眉n siyah谋s谋 Bir veril蓹nl蓹r bazas谋 sizin 眉莽眉n,
v蓹 indi yaln谋z int il蓹 ged蓹k.
32-bit d蓹y蓹ri, m蓹n deyil M蓹n real d眉艧眉nm蓹k
daha 4 milyard gedir M蓹nim hesab谋na istifad蓹莽il蓹r, m蓹nim xidm蓹t,
M蓹n h蓹r蓹k蓹t saxlamaq 眉莽眉n gedir蓹m n枚vb蓹ti sual 眉莽眉n.
M蓹n m眉蓹yy蓹n etm蓹k fikrind蓹 deyil蓹m bir uzunlu臒u v蓹 ya d蓹y蓹rl蓹r,
Bu t蓹tbiq deyil burada int, 枚zl眉y眉nd蓹.
V蓹 indi, belirtebilirsiniz y蓹qin, bir-u m蓹nim
M蓹n m眉蓹yy蓹n etm蓹k fikrind蓹 deyil蓹m olan d蓹y蓹r.
A 眉zl蓹艧dirilm蓹si, m蓹n n蓹 bilmir蓹m.
Bir atributu.
陌ndi biz, h蓹qiq蓹t蓹n, bir dizayn q蓹rar var.
Bel蓹 ki, b眉t眉n burada bir ne莽蓹 sah蓹l蓹ri var olan t蓹tbiq, lakin imzas谋z var
yaln谋z n蓹 dem蓹kdir?
Bu int olmal谋d谋r?
Yaln谋z qeyri-m蓹nfi.
Bel蓹 ki, up 0 olmal谋d谋r.
Xeyr, 莽眉nki yoxlamaq fikrind蓹 deyil蓹m M蓹n h蓹r bir istifad蓹莽i ID etm蓹k ist蓹yirsinizs蓹,
Bu null ola bilm蓹z.
V蓹 sonra, biz bir daha almaq bu kimi maraql谋 dizayn q蓹rarlar谋.
Biz, bir anda bu qay谋da bil蓹rsiniz veril蓹nl蓹r bazas谋, lakin n蓹 bir x眉susiyy蓹t
, siz dey蓹 bil蓹rsiniz ki, veril蓹nl蓹r bazas谋 server davam
v蓹 枚z眉n眉z眉 optimize, sizin RAM v蓹 sabit disk space,
ki se莽ir, v蓹 ed蓹r v蓹 bel蓹 silir v蓹 yenilikl蓹ri h蓹qiq蓹t蓹n s眉r蓹tli.
Pset5 bu f蓹rqli.
>> 茝g蓹r bir 艧ey axtarmaq ist蓹yirdi 蓹g蓹r Sizin hash masa, olan
Bir bazas谋 kimi hesab b眉t眉n etm蓹k olan
Sizin hash table s眉r蓹tli edilm蓹si 眉莽眉n 莽al谋艧谋r谋q.
Bu, a莽谋q-ayd谋n, kimi var.
Right?
Siz b眉t眉n vaxt c蓹rim蓹 qoymaq idi bir hash funksiyas谋 蓹ld蓹 艧eyi tuning
sa臒, h蓹yata nec蓹 figuring 莽ox buketler var.
>> Amma, yen蓹 d蓹, g枚z蓹l n蓹 var haqq谋nda m蓹lumat bazas谋d谋r
Yaln谋z b眉t眉n ayaqla z蓹rb蓹 dig蓹r insanlar谋n bu
bu fikir n蓹 眉莽眉n vasit蓹sil蓹 v蓹
M蓹n bura dem蓹k gedir蓹m index m蓹nim ID sah蓹d蓹 ki
蓹sas yol olacaq Bu bazas谋nda istifad蓹莽il蓹r m眉蓹yy蓹n.
M蓹n hesab edir蓹m fikrind蓹 deyil蓹m Zamyla kimi Zamyla ki,
M蓹n hesab edir蓹m gedir蓹m onun say谋 6.
>> Niy蓹, b蓹lk蓹 d蓹, daha yax艧谋 edir daxil蓹n v蓹 model hesab
istifad蓹 ed蓹r蓹k, f蓹rdi sat谋r 蓹v蓹zin蓹 bir 艧ey bir s谋ra
Bu Zamyla kimi bir string kimi Gabe v蓹 ya h蓹l蓹 uzun string v蓹 ya?
B蓹li?
>> Auditoriya: bir ID nadir?
DAVID J. MALAN: yen蓹 De?
Auditoriya: bir ID nadir?
DAVID J. MALAN: An ID unikal, lakin suppose--
脺mumi halda istifad蓹莽i ad谋 il蓹, g眉man
M蓹n d蓹 yaln谋z ola bil蓹r bir D眉nyada Zamyla, v蓹 yaln谋z bir Gabe.
M蓹n unikall谋臒谋 t蓹tbiq ed蓹 bil蓹r M蓹n ist蓹yirdim, 莽ox strings s谋x谋nt谋.
Bel蓹 ki, bir pis fikir.
>> Auditoriya: Daha t蓹hl眉k蓹siz.
>> DAVID J. MALAN: Daha t蓹hl眉k蓹siz, niy蓹?
Auditoriya: Siz dey蓹 bilm蓹z istifad蓹莽i kimi olan.
DAVID J. MALAN: OK, siz istifad蓹莽i dey蓹 bilm蓹z
bel蓹 bir var olan bu gizlilik aspekt,
x眉susil蓹 d蓹 蓹g蓹r kimlikleri b蓹lk蓹 URL g枚r眉nen.
Bel蓹 ki, 蓹min ki, i艧 c眉r ola bil蓹r 莽ox.
Dig蓹r fikir?
B蓹li?
>> Auditoriya: Bu asan bir int 蓹m蓹liyyatlar谋 yerin蓹 yetirm蓹k.
DAVID J. MALAN: Bu real soncuqlayan var.
Bu, yaln谋z daha s蓹m蓹r蓹li v蓹 ya komp眉ter 眉莽眉n asan,
tam 蓹m蓹liyyatlar谋 yerin蓹 yetirm蓹k 眉莽眉n.
Right?
Bir int t蓹min olunur 32-bit ola Zamyla is蓹
, Gabriel bir ne莽蓹 simvol uzun , bir ne莽蓹 simvol uzun
Davenport h蓹qiq蓹t蓹n uzun, v蓹 bel蓹 ki, istifad蓹 etm蓹k, x眉susil蓹 s蓹m蓹r蓹li deyil
strings d蓹y蓹rl蓹ri m眉qayis蓹 v蓹 baxmaq sah蓹l蓹ri, v蓹 yenil蓹m蓹 sah蓹l蓹ri 眉莽眉n,
茝g蓹r 眉z 蓹ld蓹 ed蓹 bil蓹rsiniz yaln谋z bir tam olan.
Just 32 bit.
Istifad蓹莽i Bel蓹 ki, 莽ox, bu yolla, unikal yoxdur,
Onlar y蓹qin ki, olmal谋d谋r, baxmayaraq ki, v蓹 h蓹tta bu 艧蓹kild蓹 莽ox
istifad蓹莽i icaz蓹 bil蓹r onun ad谋 d蓹yi艧ir.
>> Bel蓹 ki, indi kimi bu t蓹rk ed蓹k istifad蓹莽i m眉蓹yy蓹n 蓹sas vasit蓹dir.
Bu veril蓹nl蓹r bazas谋 dan谋艧anlardan ir蓹li getm蓹k v蓹 枚z眉n眉z眉 optimize
bel蓹 ID ki look up super s眉r蓹tli.
AI, horribly yaln谋z ad谋na Auto art谋m dem蓹kdir,
v蓹 bu 莽ek edir biz yoxlamaq laz谋md谋r qutusu
眉莽眉n ID sah蓹sind蓹 ki, m眉蓹yy蓹n etm蓹k avtomatik m蓹nim 眉莽眉n sat谋c谋 t蓹r蓹find蓹n ayd谋nl谋q olmal谋d谋r,
v蓹 sonra m蓹n gedir蓹m burada sa臒a diyirl蓹yin
v蓹 s蓹mimi M蓹n, h蓹qiq蓹t蓹n maraql谋 deyil蓹m Bu sah蓹l蓹rd蓹 h蓹r hans谋 bir daha.
茝lb蓹tt蓹 bu g眉n.
>> M蓹n burada geri getm蓹k 眉莽眉n gedir蓹m, ilk s眉tun, harada
M蓹n istifad蓹莽i ad谋 daxil laz谋md谋r v蓹 hash, v蓹 ed蓹k
眉zr蓹 蓹n m蓹rk蓹zind蓹 陌ndi ikinci.
Int y蓹qin ki, do臒ru z蓹ng deyil, bel蓹 ki, n蓹, b蓹lk蓹 daha 莽ox 蓹h蓹miyy蓹t k蓹sb edir?
>> Auditoriya: Text.
DAVID J. MALAN: yen蓹 De?
Auditoriya: Text.
DAVID J. MALAN: Text?
OK, M蓹n m蓹tn e艧itdim.
N蓹?
Biz n枚v se莽im bir d蓹st蓹 var t蓹bi蓹t m蓹tn var.
Bel蓹 ki, v蓹 n蓹, n蓹 Bu b蓹zi istifad蓹?
Char Yax艧谋, 蓹ksin蓹 n蓹 bil蓹r hesab edir蓹m ki, bir xarakter deyil.
Bu simvol bir x眉susi say谋 var.
Biz bilirik ki, b眉t眉n istifad蓹莽i ad谋 ki s蓹kkiz simvol kimi olmal谋d谋r,
older 眉mumi olmaq 眉莽眉n istifad蓹 kimi komp眉ter sisteml蓹ri, m蓹n char dem蓹k bil蓹r
v蓹 sonra m蓹n burada 8 dey蓹 bil蓹r.
脺莽眉nc眉 s眉tun olur zaman var t蓹tbiq bir masa yaratmaq zaman.
>> Amma ki, annoying c眉r b蓹zi insanlar ola bil蓹r, 莽眉nki
uzun ad谋 var ist蓹yir蓹m s蓹kkiz simvol 莽ox,
b蓹zi insanlar ist蓹yir蓹m bil蓹r q谋sa ad谋 var,
niy蓹 枚z眉m眉 t枚r蓹tm蓹k m眉蓹yy蓹n bir s谋ra?
Niy蓹 bir d蓹yi艧蓹n var chars say谋 v蓹 yaln谋z
dem蓹k ki, bir ad谋 maksimum uzunlu臒u , m蓹n 64 simvol kimi, bilmir蓹m.
M蓹n he莽 bir dostlar谋 hesab ed蓹 bilm蓹y蓹n 64 simvol 莽ox adlar谋 art谋q var,
莽ox q谋sa bel蓹 v蓹 siz 蓹lb蓹tt蓹 枚zba艧谋na onu qabar.
>> Bel蓹 ki, VARCHAR d蓹yi艧蓹n deyil chars say谋.
M蓹tn pis instinkt deyil, v蓹 s蓹mimi ki, sort deyir n蓹,
lakin m蓹tn sah蓹sind蓹 ola bil蓹r 蓹n az谋 65,000 bytes kimi.
Ki, bir y蓹qin overkill sah蓹sind蓹 v蓹 蓹slind蓹, yup, 65.535.
Ki, bir y蓹qin overkill ad谋, bel蓹 ki, biz ad蓹t蓹n, qalmaq laz谋md谋r,
M蓹tn varchars il蓹 莽ox sah蓹 v蓹 hash.
Hash, bu 莽谋x谋r, biz n蓹 ed蓹 bil蓹r VARCHAR h蓹m莽inin ya kimi bir 艧ey,
lakin biz bu g眉n diqq蓹t deyil orada kriptoqrafiya v蓹 n枚mr蓹l蓹r
biz, h蓹qiq蓹t蓹n bil蓹r ki, uzunlu臒u 眉莽眉n istifad蓹 etm蓹k ist蓹yirik.
>> Amma m蓹n蓹 sa臒 眉莽眉n a艧a臒谋 diyirl蓹yin bildirin.
Siz yaln谋z bir ola bil蓹r bir masa 眉莽眉n 蓹sas indeksi,
amma bu h蓹r hans谋 m眉raci蓹t etm蓹k ist蓹yir蓹m, 陌ndi, istifad蓹莽i ad谋, siz dey蓹c蓹ksiniz?
N蓹 istifad蓹莽i ad谋 laz谋md谋r anla艧谋lmaz 蓹sas谋nda Bu d枚rd variantlar谋 verir?
M蓹hz onlar谋n adlar谋?
>> Auditoriya: Unique.
>> DAVID J. MALAN: Bel蓹 unikal, sa臒?
Bel蓹 ki, yaln谋z bil蓹r 莽谋x谋r ki, Siz 蓹vv蓹lc蓹d蓹n, bir veril蓹nl蓹r bazas谋 dem蓹k
Bu 蓹sas yoldur sah蓹l蓹ri m眉蓹yy蓹n.
Siz h蓹m莽inin bu dem蓹k olar unikal sah蓹 olacaq.
Bu olmaq niyy蓹tind蓹 deyil M蓹n etibar 艧ey,
amma bazas谋 ist蓹yir蓹m mahiyy蓹tc蓹 ki, 蓹g蓹r v蓹ziyy蓹t bel蓹 var
M蓹n he莽 qeydiyyatdan c蓹hd 蓹g蓹r Eyni ad谋 il蓹 iki users,
Veril蓹nl蓹r bazas谋 d眉z M蓹n蓹 imkan niyy蓹tind蓹 deyil.
M蓹n b蓹zi 蓹lav蓹 kodu ola bil蓹r q蓹d蓹r qar艧谋s谋n谋 PHP,
lakin veril蓹nl蓹r bazas谋, 莽ox, t蓹min ed蓹 bil蓹r he莽 vaxt ba艧 ver蓹c蓹k ki.
>> 陌ndi bir k蓹nara, x眉susil蓹 kimi Siz final layih蓹l蓹r haqq谋nda d眉艧眉nm蓹k,
mind indeksi v蓹 tam saxlamaq m蓹tn 蓹slind蓹 olduqca faydal谋d谋r.
Bir b枚y眉k veril蓹nl蓹r bazas谋, deyil varsa, onlarla, lakin y眉zl蓹rl蓹 v蓹 ya minl蓹rl蓹
sah蓹l蓹rind蓹 v蓹 ya h蓹tta milyonlarla Siz d蓹 蓹vv蓹lc蓹d蓹n m蓹lumat bazas谋 dem蓹k
m蓹n gedir蓹m bir sah蓹dir bir 莽ox axtar谋艧 眉莽眉n.
B蓹lk蓹 onun ad谋, de臒ilseniz b蓹lk蓹 bio var
Facebook kimi veb edilm蓹si istifad蓹莽i icaz蓹 b蓹ndl蓹r蓹 var
茝g蓹r ist蓹yirsinizs蓹 saxlamaq, v蓹 蓹vv蓹lc蓹d蓹n m蓹lumat bazas谋 dem蓹k
M蓹n bu sah蓹d蓹 axtar谋艧 gedir蓹m bir 莽ox, lakin bu, m眉tl蓹q unikal deyil
M蓹n蓹 bir index yaratmaq belirtebilirsiniz.
V蓹 ya, siz d蓹 dem蓹k m蓹n蓹 imkan bil蓹r Komandirliyi kimi ixtiyari axtar谋艧 sort
v蓹 ya Control F, sizin kimi bir Word Processor bil蓹r,
bel蓹 ki, ixtiyari strings baxmaq bil蓹r Bu sah蓹d蓹 v蓹 ya substrings.
Ba艧qa s枚zl蓹, biz 蓹ld蓹 edirik d枚vr bax谋m谋ndan
siz narahat yoxdur nec蓹 s蓹m蓹r蓹li 艧eyi h蓹yata ke莽irm蓹k.
Siz yaln谋z haqq谋nda bilm蓹k laz谋md谋r n蓹 dizayn q蓹rarlar谋 bel蓹 edirik ki etm蓹k
Bu 眉莽眉n do臒ru ara莽lar谋 istifad蓹 x眉susiyy蓹tl蓹ri leverage 眉莽眉n ticar蓹t
dig蓹r insanlar 眉莽眉n tikilib.
Bel蓹 ki recap, 蓹sas yaln谋z olmal谋d谋r bir var, yaln谋z, bir ola bil蓹r
v蓹 bu t枚r蓹tm蓹kd蓹 etdiyiniz 艧ey benzersiz sah蓹l蓹ri m眉蓹yy蓹n etm蓹k 眉莽眉n istifad蓹.
Unikal, ruhu yaln谋z ox艧ar, lakin Siz yaln谋z b蓹z蓹n istifad蓹 ed蓹 bil蓹r,
ancaq bazas谋 onu t蓹tbiq etm蓹k ist蓹yir蓹m.
Index yaln谋z preemptively dem蓹kdir G蓹l蓹c蓹kd蓹 艧eyi s眉r蓹tl蓹ndirm蓹k
M蓹n 眉莽眉n axtar谋艧 ed蓹 bil蓹rsiniz, bel蓹 ki, Bu sah蓹d蓹 艧eyl蓹r.
V蓹 sonra tam m蓹tn 眉莽眉n ad蓹t蓹n ci madd蓹l蓹rd蓹 v蓹 ya o莽erkl蓹r, v蓹 ya b枚y眉k orqanlar谋
harada m蓹tn h蓹m莽inin isteyebilirsiniz
ulduz ekvivalent kimi v蓹h艧i kartlar谋.
Right.
>> Bel蓹 ki c眉r idi bir d蓹f蓹 b眉t眉n bir 莽ox.
Biz 莽蓹km蓹k m眉mk眉n olmad谋qda nin g枚r蓹k Bu x眉susiyy蓹tl蓹ri bir ne莽蓹
v蓹 sonra bir 艧ey qurmaq kifay蓹t q蓹d蓹r sad蓹, lakin g眉cl眉.
Dig蓹r aras谋nda bel蓹 dizayn q蓹rarlar谋 sen
n蓹tic蓹d蓹 boyunca var gedir storage motorlar谋 x蓹tl蓹ri.
V蓹 m蓹n蓹 yaln谋z bu qeyd ed蓹k son layih蓹l蓹r 蓹r蓹f蓹sind蓹,
v蓹 g枚zl蓹yi艧 ed蓹k dem蓹k he莽 bunu ed蓹k.
Bu ki莽ik in艧a ed蓹k ilk proqram.
M蓹n terminal getm蓹k 眉莽眉n gedir蓹m p蓹nc蓹r蓹 v蓹 burada deyil
yaln谋z counter.php, indi biz olacaq olan kimi art谋q ilgili qurtarmaq 眉莽眉n,
lakin biz b眉t眉n d蓹st蓹 var rehberler v蓹 bu
ruhunda 莽ox ox艧ard谋r olacaq 茝g蓹r problem g枚rm蓹k laz谋md谋r n蓹 眉莽眉n yeddi se莽in.
>> Bel蓹likl蓹, biz 眉莽 rehberler var ictimai v蓹 艧ablonlar谋 daxildir
d蓹qiq biz off sol Bizim b眉t眉n MVC paradiqma il蓹 Bazar ert蓹si.
V蓹 recap, ictimai getm蓹k gedir M蓹n istifad蓹莽il蓹r ist蓹yir蓹m ki, h蓹r hans谋 bir fayl, h蓹qiq蓹t蓹n
v ziyar蓹t ed蓹 bil蓹c蓹kl蓹r URL vasit蓹sil蓹 browser.
艦ablon.
Biz 艧ablonlar谋 n蓹 qoymaq idi?
Stuff hans谋?
Yox idi 莽ox, lakin bir ne莽蓹 bazar ert蓹si az谋 fayllar谋.
B蓹li.
>> Auditoriya: Header v蓹 Footer?
>> DAVID J. MALAN: Header v蓹 Footer.
Bel蓹likl蓹, biz bu g眉n d蓹 ox艧ar bir 艧ey var.
Biz bir ne莽蓹 fayllar谋 var, lakin Footer M蓹n g枚r眉r蓹m M枚vzu g枚rm蓹k
v蓹 sonra dig蓹r fayllar谋 bir d蓹st蓹.
Bel蓹 ki, bu b蓹rab蓹rdir olan V MVC bax谋m谋ndan, bu,
yen蓹 olacaq bir az daha problem ayd谋n, yeddi m眉蓹yy蓹n
lakin bu m蓹n yaln谋z bir qovluq M蓹nim estetik bir 莽ox qoyaraq.
M蓹nim HTML, m蓹nim formalar谋 bir 莽ox var.
Eyni zamanda, daxildir, ba艧qa Bu 眉莽 fayllar谋 var ki, kataloq
v蓹-nin bu bir s眉r蓹tli n蓹z蓹r salaq.
>> M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 config.php a莽maq.
Bu, 莽ox 莽谋x谋r kimi m眉dd蓹ti 蓹vv蓹lki kimi,
Siz k蓹skin daxil Pset7 il蓹 CS50 dot h.
Bug眉nk眉 M蓹s蓹l蓹n, siz olacaq ki, b蓹rab蓹r etm蓹k
bir t蓹l蓹b b蓹yanat ki, s蓹m蓹r蓹li
Bu bir ne莽蓹 x蓹tl蓹ri daxildir.
Bel蓹 ki, ayd谋n olmaq, bu bir fayl config.php 莽a臒谋r谋b.
V蓹 bunu n蓹 g枚r眉rs眉n眉z.
Bu y蓹qin bir 艧ey edir sirli, d枚n眉艧 s蓹hv messages
Siz browser onlara g枚r蓹 bil蓹rsiniz ki.
Bu y蓹qin, sonra var dig蓹r iki fayllar谋 t蓹l蓹b
bu, C # daxil kimi v蓹 sonra biz g枚rd眉n眉z bu,
v蓹 biz istinad etdiyiniz bu 莽evrilir funksionall谋臒谋 kimi ki, al谋艧-veri艧 sepeti.
>> Bu cookie dem蓹kdir geri v蓹 ir蓹li g枚nd蓹rilir.
Bel蓹 ki, niy蓹 bu maraql谋 deyil?
B蓹li, biz bu geri getm蓹k 蓹g蓹r kataloq v蓹 m蓹s蓹l蓹n, a莽maq,
constance.php.
Qeyd ed蓹k PHP d蓹st蓹k sabitl蓹ri ki, kifay蓹t q蓹d蓹r C. # m眉蓹yy蓹n kimi deyil
茝ksin蓹, siz s枚z眉n m眉蓹yy蓹n deyir蓹m, v蓹 bildiri艧
M蓹n 蓹vv蓹lc蓹d蓹n saxlan谋l谋r etdik ki, Bu fayl d枚rd sabitl蓹ri.
Bug眉nk眉 veril蓹nl蓹r bazas谋 眉莽眉n bir 眉莽眉n M蓹nim parol, m蓹nim istifad蓹莽i ad谋 眉莽眉n,
v蓹 server ad谋.
Bel蓹 ki, bu 蓹slind蓹 olacaq problem olduqca ox艧ar yeddi se莽in.
V蓹 n蓹hay蓹t, bu m蓹n harada b蓹zi g枚z蓹l funksionall谋臒谋 almaq 眉莽眉n gedir
hey蓹ti, functions.php biz yazd谋q kodu bir d蓹st蓹 edir
M蓹n bu b蓹zi 莽ald谋 problem yeddi m眉蓹yy蓹n olan
Bu g眉n 眉莽眉n, ki, h蓹r 艧eyi bir d蓹st蓹 edir v蓹 yaln谋z onlardan biri baxaq
x眉susil蓹.
Burada bu funksiya, sor臒u, olacaq
biz deyirik PHP funksiyas谋 SQL icra etm蓹k 眉莽眉n.
Bir an 蓹vv蓹l istifad蓹 edirdil蓹r phpMyAdmin, lakin ki, yaln谋z var
t蓹dris m蓹qs蓹dl蓹ri n枚v 眉莽眉n v蓹 diaqnostik m蓹qs蓹dl蓹r
v蓹 veril蓹nl蓹r bazas谋 set unutma.
Zaman h蓹qiq蓹t蓹n istifad蓹 edin veril蓹nl蓹r bazas谋, siz insan,
a莽谋q-ayd谋n niyy蓹tind蓹 deyil Bir web 莽蓹k蓹r蓹k olunacaq
s蓹hif蓹 h蓹r d蓹f蓹 kims蓹 qeyd蓹.
Siz kod yazmaq olacaq ki, ed蓹r v蓹 t蓹l蓹b istifad蓹莽il蓹r silir,
v蓹 biz bunu olacaq sor臒u funksiyas谋 yolu il蓹.
陌ndi a艧a臒谋 diyirl蓹yin 蓹g蓹r var bir ne莽蓹 x眉susiyy蓹tl蓹ri olacaq.
Y枚nl蓹ndirm蓹 gedir biz yazd谋臒谋 bir funksiyas谋 olacaq
sizin 眉莽眉n imkan verir Ba艧qa URL istifad蓹莽i g枚nd蓹rm蓹k,
v蓹 g枚st蓹rm蓹k olduqca kimi, bir funksiyas谋 biz, h蓹qiq蓹t蓹n g枚st蓹rir ki, bazar ert蓹si g枚rd眉m
艧ablon, lakin daha bu bar蓹d蓹 vasit蓹sil蓹 pset7 枚z g蓹zm蓹k formas谋.
Indi 眉莽眉n, ir蓹li getm蓹k v蓹 bunu bildirin.
>> M蓹nim m眉hazir蓹l蓹r masa daxil ed蓹k v蓹 Hal-haz谋rda he莽 bir 艧ey yoxdur ki, g枚r蓹c蓹ksiniz
burada yaln谋z h蓹l蓹, v蓹 m蓹n蓹 d蓹 ged蓹k M蓹nim ictimai kataloq, harada
Yaln谋z bir fayl index.php var.
Bu fayl super sad蓹 g枚r眉n眉r haz谋rda, yaln谋z bu kimi g枚r眉n眉r.
脟ox nec蓹 kimi biz bazar ert蓹si off sol.
M蓹n bu fayl t蓹l蓹b edir蓹m olan config.php,
bir kataloq daxildir dot dot, m蓹nim valideynl蓹r,
v蓹 sonra yaln谋z bu fayl g枚st蓹rilm蓹si oldu.
Bel蓹 ki, bu fayl n蓹dir?
>> M蓹nim 艧ablonlar谋 a莽maq ed蓹k form.php, v蓹 biz bu g枚r蓹c蓹ksiniz.
Super sad蓹, y蓹qin bu formas谋 Bir $ _GET v蓹 ya $ _POST t蓹r蓹find蓹n t蓹qdim gedir.
Tez a臒l谋 ba艧谋nda olma 莽ek.
Sanki vizual fayl axtar谋艧.
Metod post b蓹rab蓹rdir.
Bel蓹 ki, kimi, URL istifad蓹 etm蓹k niyy蓹tind蓹 deyil Google saxla sort olacaq, yoxdur
arxas谋nda m蓹lumat p蓹rd蓹 v蓹 bu
bir t蓹qdim etm蓹k niyy蓹tind蓹dir register.php adl谋 fayl,
ki, fayl biz h蓹l蓹 yaz谋l谋 deyil
lakin n蓹 bu gedir bu kimi baxmaq.
>> M蓹n ayr谋ca s蓹hif蓹 getm蓹k 茝g蓹r bu n蓹 localhost / index.php kimi g枚r眉n眉r.
V蓹 yen蓹, serverin yaln谋z index.php f蓹rz.
Daxil edin.
Biz oldu臒unuz Bel蓹 ki, at, v蓹 m蓹n n蓹 ist蓹yir蓹m
艧eyi yaz谋n ed蓹 olunur Davud kimi, v蓹 sonra
M蓹nim telefon n枚mr蓹si, buyuracaqd谋r 陌ndi 617-555-1212, qeydiyyatdan
v蓹 indi register.php tap谋lmad谋.
M蓹n bu h蓹yata laz谋md谋r.
Bel蓹 ki, tez q谋z谋艧d谋rmaq bildirin Bu up kimi bir 艧ey.
M蓹nim ictimai kataloq daxil ed蓹k v蓹 register.php v蓹 gedit etm蓹k,
v蓹 indi ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 Biz bazar ert蓹si oldu臒u kimi, PHP rejimi ba艧lamaq,
v蓹 yax谋n PHP tag, v蓹 nin 艧eyi bir ne莽蓹 n蓹 ed蓹k.
>> Bel蓹 ki, bir, m蓹n bilir蓹m, formada yaz谋l谋,
M蓹n a艧a臒谋dak谋 kontrol etm蓹k ist蓹yir蓹m ki.
Bu bo艧, n蓹 istifad蓹莽i sonra ad谋 sah蓹sind蓹 tipli
M蓹n bir 艧ey dem蓹k gedir蓹m kimi ad itkin 眉zr.
Eyni zamanda, bu, 眉zr deyil PHP 艧ey in艧a,
biz yaz谋rd谋 bir funksiyas谋 var pset7 眉莽眉n functions.php
ki, bunu etm蓹k imkan谋 var.
Dig蓹r sah蓹 蓹g蓹r Else bo艧, say谋, sonra m蓹n
Bu 眉zr gedir istifad蓹莽i v蓹 itkin say谋 deyirl蓹r.
Bu fayl saxla.
>> 陌ndi m蓹nim brauzerinizin geri ged蓹k, daha c蓹hd geri forum getm蓹k.
Qeydiyyat.
OK.
He莽 yax艧谋 olan oldu.
M蓹n bir s蓹hv mesaj谋 almaq etm蓹yib.
Ancaq 蓹v蓹zin蓹, 蓹g蓹r bu yenid蓹n bildirin s蓹hif蓹 v蓹 bir 艧ey t蓹min.
Bu Lanet olsun.
Bunu.
Qeydiyyat.
M蓹n yanl谋艧 n蓹 idi?
Bo艧 varsa, $ _POST ad谋.
Daha dem蓹k?
>> Oh, 蓹lb蓹tt蓹.
M蓹n 蓹n m眉h眉m hiss蓹si, unuttum olan ("../ / config.php daxildir.") t蓹l蓹b edir.
M蓹n daxil olmaq laz谋md谋r , funksiyas谋 眉zr dil蓹yir蓹m
he莽 bir 艧ey ba艧 n蓹.
Funksiyas谋 faktiki olaraq m枚vcud deyil.
Bel蓹 ki, yen蓹 bu c蓹hd ed蓹k.
Nin s蓹hif蓹ni ed蓹k, Qeydiyyat bas谋n.
OK.
Orada deyil.
Bel蓹 ki, 莽谋x谋艧 deyilik burada g枚r蓹n n蓹tic蓹
bir 眉zr bir z蓹ng funksiyas谋, super sad蓹,
v蓹 yaln谋z 莽ap h蓹r hans谋 M蓹n bir arqument kimi verir.
>> B眉t眉n h眉quqlar, bel蓹 ki, 蓹m蓹kda艧l谋q ed蓹k.
M蓹nim ad t蓹min ed蓹k Davud kimi, qeydiyyatdan,
say谋 OK ed蓹k itkin d蓹 ki, t蓹min edir.
617-555-1212.
Qeydiyyat.
OK.
Bel蓹 ki, b眉t眉n, indi d蓹 yaln谋z bir 艧ey deyil maraql谋 olur.
Bel蓹 ki, indi daha 莽ox 艧ey ed蓹k maraql谋 bu kimi ba艧 verir.
M蓹n蓹 phpMyAdmin daxil ed蓹k v蓹 ed蓹k h蓹qiq蓹t蓹n, istifad蓹莽il蓹r adl谋 bir masa yaratmaq
M蓹n 眉莽 verm蓹k gedir蓹m s眉tun, v蓹 m蓹n tez laz谋md谋r
sonra ID yaratmaq v蓹 ad谋, v蓹 sonra say谋,
v蓹 艧蓹xsiyy蓹t sah蓹 Ben bir int kimi t蓹rk etm蓹k niyy蓹tind蓹dir.
M蓹n gedir蓹m ad谋 sah蓹 bir varchar kimi t蓹rk etm蓹k,
v蓹 biz bir q蓹d蓹r 枚zba艧谋na, 64 dem蓹k laz谋md谋r.
M蓹n gedir蓹m say谋 etm蓹k 眉莽眉n, siz n蓹 bilirik?
Biz daxil olacaq burada AB艦 n枚mr蓹l蓹ri d蓹st蓹k,
m蓹n bir 艧ey gedir蓹m char kimi v蓹 sonra 10 simvol
bir sah蓹 kodunu max sonra yeddi r蓹q蓹m.
V蓹 sonra burada, m蓹n gedir蓹m avtomatik art谋m bu sah蓹d蓹 m眉蓹yy蓹n
Bu ilkin 蓹sas, v蓹 M蓹n ir蓹li v蓹 getm蓹k 眉莽眉n gedir蓹m
dig蓹r qutular谋 h蓹r hans谋 bir kontrol.
>> M蓹n indi n蓹hay蓹t Saxla bas谋n zaman, v蓹 m蓹n istifad蓹莽il蓹r masa geri
Bu 蓹g蓹r kimi g枚r眉n眉r n蓹 m蓹n 陌ndi Yeni Tab strukturu bas谋n.
Bel蓹 ki, bu, ayd谋n olmaq yaln谋z phpMyAdmin yoludur
veril蓹nl蓹r bazas谋 masa dey蓹r蓹k ID, ad谋, v蓹 bir s谋ra
x眉susil蓹 konfiqurasiyalar谋 il蓹 v蓹 biz sah蓹l蓹rind蓹 qalan ignore bil蓹rsiniz
orada indi.
>> Bel蓹 ki, indi m蓹n n蓹 ist蓹yir蓹m?
M蓹n daxil indi getm蓹k 蓹g蓹r Bel蓹 ki, m蓹nim m蓹nb蓹 kodu, b眉t眉n yax艧谋, 蓹g蓹r
M蓹n a艧a臒谋dak谋 sor臒u icra etm蓹k ist蓹yirik.
Daxil, v蓹 m蓹n yaln谋z bil蓹rsiniz Istifad蓹莽il蓹r ciddi deyil dem蓹k
bu h蓹min geri ticks laz谋md谋r istifad蓹莽il蓹r kimi bir t蓹hl眉k蓹li s枚z.
M蓹n ad谋n谋 dem蓹k gedir蓹m, say谋, v蓹 sonra burada Ben
a臒谋r kodu niyy蓹tind蓹 deyil h蓹l蓹 d蓹y蓹rl蓹rin r蓹q蓹mli.
M蓹n iki sual i艧ar蓹l蓹ri qoymaq 眉莽眉n gedir蓹m.
V蓹 bu konvensiya 莽ox dill蓹rd蓹
qovu艧durma臒谋m谋z etm蓹k ist蓹yirsinizs蓹 bir string 眉莽眉n tutucu
Siz sual istifad蓹 etm蓹k olacaq ni艧anlar谋, s蓹b蓹bl蓹r蓹 g枚r蓹 biz will
haqq谋nda s枚hb蓹t geri g蓹lm蓹k t蓹hl眉k蓹sizlik v蓹 burada
M蓹n o ke莽m蓹k gedir蓹m iki sah蓹l蓹ri ad谋 g枚nd蓹rm蓹k,
v蓹 sonra, s谋ra g枚nd蓹rm蓹k v蓹 indi fayl谋 qeyd edin.
>> V蓹 indi m蓹n gedir蓹m super burada enm蓹k
sad蓹c蓹 rendersuccess.php, dem蓹k olan ba艧qa bir 艧ablon olacaq.
M蓹n, h蓹qiq蓹t蓹n, s眉r蓹tli yaratmaq 眉莽眉n gedir蓹m.
Geditsuccess.php v蓹 m蓹n yaln谋z gedir蓹m ki, fayl H1 m眉v蓹ff蓹qiyy蓹ti dem蓹k.
B眉t眉n h眉quqlar.
Bel蓹 ki, indi d蓹 geri ged蓹k M蓹n 蓹vv蓹l ziyar蓹t etdi browser.
Nin ir蓹li getm蓹k v蓹 m蓹n yaz谋b t蓹sdiq Davud, m蓹n, bir telefon n枚mr蓹si yazd谋
qeydiyyatdan ke莽m蓹lisiniz.
Bu Lanet olsun.
M蓹n yanl谋艧 n蓹 idi?
M蓹n, burada bir s蓹hv g枚r蓹n deyil蓹m Sizin SQL syntax bir s蓹hv var.
M蓹n蓹 geri gedit jump ed蓹k, qoy M蓹n蓹 register.php geri
v蓹 m蓹n ki, n蓹 buraxmaq idi m眉h眉m son d蓹f蓹 idi?
M蓹n bu laz谋md谋r.
Siz 莽ox dig蓹r bilm蓹k ist蓹yir蓹m olan 蓹vv蓹l qeyd, amma bu laz谋md谋r.
>> Bel蓹 ki, indi geri ged蓹k, v蓹 bu brauzerinizin g枚rm蓹k 眉莽眉n faydal谋 oldu
v蓹 niy蓹 config.php var biz s蓹hvl蓹r t眉p眉rm蓹k.
Nin ir蓹li getm蓹k v蓹 yenid蓹n bildirin Davam u臒ur bas谋n.
Bel蓹 ki, indi m蓹n蓹 眉z蓹rind蓹 ged蓹k m蓹nim burada bazas谋 v蓹 istifad蓹莽i bas谋n
v蓹 g枚z v蓹 indi m蓹n qeyd burada m蓹nim bazas谋nda David var.
陌ndi texniki bu haqqinda h蓹l蓹 ictimai internet,
m蓹n ba艧qa ola bilm蓹z burada qoyaraq insanlar,
amma indi 眉莽眉n, ist蓹yirdi instansiya, 枚z眉m眉 m蓹tn mesaj谋 g枚nd蓹r.
Burada bir 蓹za 眉z蓹rind蓹 getm蓹k ed蓹k Bu h蓹qiq蓹t蓹n i艧l蓹yir g枚rmek.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 bu s谋ra silm蓹k
v蓹 biz bu blur laz谋md谋r video h蓹yata sonra
bel蓹 ki, biz yoxdur B眉t眉n internet m蓹ni texting
v蓹 indi q蓹d蓹r davam ed蓹c蓹k browser v蓹 biz m眉hazir蓹 art谋q getm蓹k laz谋md谋r
v蓹 biz m眉xt蓹lif yaz谋n laz谋md谋r say谋, burada, u臒ur qeydiyyatdan ke莽in.
>> Bel蓹 ki, indi, 枚z n枚mr蓹si ehtimalla var veril蓹nl蓹r bazas谋, v蓹 indi 蓹yl蓹nc蓹 hiss蓹si.
Nin h蓹qiq蓹t蓹n n蓹 PHP istifad蓹 ed蓹k bir 艧ey program,
ya komanda line v蓹 ya ba艧qa bir yerd蓹,
v蓹 indi m蓹n yaln谋z deyil蓹m sad蓹 saxlamaq niyy蓹tind蓹dir
v蓹 m蓹n getm蓹k 眉莽眉n gedir蓹m m蓹nim burada kataloq v蓹 a艧a臒谋dak谋.
Gedit script biz will, dey蓹k , m蓹tn, #! / user / bin / env PHP z蓹ng
kimi biz sonuncu d蓹f蓹 g枚rd眉m.
PHP.
>> 陌ndi t蓹l蓹b yoxdur gedir蓹m config.php daxildir,
h蓹tta bu g眉c眉 olsa y眉ng眉l s蓹hv bi艧irm蓹k.
V蓹 indi m蓹n ir蓹li getm蓹k v蓹 dem蓹k gedir蓹m istifad蓹莽il蓹r sat谋r, sor臒u, se莽in star,
v蓹 indi burada bir texnika gedir蓹m s谋ra kimi h蓹r sat谋r 眉莽眉n son d蓹f蓹.
M蓹n sad蓹 bir 艧ey 眉莽眉n gedir蓹m.
Ad谋 bu dey蓹k printf, v蓹 say谋 bu backslash n.
陌ndi ke莽m蓹k gedir蓹m s谋ra, d谋rna臒谋 ba臒lamaq ad谋 sitat
v蓹 s谋ra quote d谋rna臒谋 ba臒lamaq say谋, v蓹 indi-nin ir蓹li ged蓹k
v蓹 m蓹nim terminal p蓹nc蓹r蓹 chmod bu + x etm蓹k
M蓹tn y眉r眉t眉lebilir adlanan bu script.
陌ndi m蓹tn run bildirin.
>> OK, bel蓹 ki, t蓹r蓹qqi.
M蓹n indi yazd谋q command line script,
ki, PHP adl谋 dilind蓹, ona g枚r蓹 ki, x蓹tti t蓹l蓹b
b眉t眉n konfiqurasiya 莽谋x谋艧谋 var M蓹n ifad蓹 sabitl蓹ri.
Veril蓹nl蓹r bazas谋 v蓹 s ad谋.
茝slind蓹, yaln谋z ayd谋n olmaq bu bir fluke deyil ki,
M蓹n蓹 davam v蓹 qeydiyyatdan imkan Rob kimi ba艧qa h蓹qiq蓹t蓹n s眉r蓹tli, kims蓹
v蓹 ona 555-1212 say谋 ver蓹c蓹k.
>> 陌ndi, m蓹n script run 蓹g蓹r yen蓹 g眉c hiss
biz bazas谋 il蓹 i艧le.
陌ndi d蓹rhal g枚rd眉m n蓹 Dig蓹r iki sat谋r m蓹nim bazas谋 var.
Bel蓹 ki, indi bir 艧ey ed蓹k daxilind蓹 daha merakl谋s谋,
bu biz hiss蓹sidir 蓹vv蓹lc蓹d蓹n test deyil,
bel蓹 ki, son d蓹f蓹 bunu 艧eyl蓹r, horribly 蓹yri getdi
ki, t蓹siri video var.
>> 茝slind蓹, yeah, funny k蓹nara.
Sonuncu d蓹f蓹 bel蓹 bir iki il 蓹vv蓹l kimi m眉hazir蓹,
olmaq, m蓹n q蓹rar, q蓹rar b眉t眉n bu b枚y眉k bir fikir olard谋
dinamik e-po莽t yaratmaq 眉莽眉n sinif, b眉t眉n veril蓹nl蓹r bazas谋 CS50 istifad蓹
Biz蓹 onlar谋n verdiyi t蓹l蓹b蓹l蓹r, v蓹 onlar谋n telefon da艧谋y谋c谋lar谋 olan siz蓹
pset0 xat谋rlay谋ram bil蓹r, bu 莽谋x谋r, s蓹b蓹b nec蓹
M蓹n proqram ki莽ik bir s蓹hv var idi v蓹 2012-ci ild蓹 bir ne莽蓹 s蓹hvl蓹r etdi, m蓹n hesab edir蓹m.
>> Vasit蓹si, m蓹n loop 眉莽眉n ki, 艧ey m蓹hz bu c眉r etdi
veril蓹nl蓹r bazas谋 眉z蓹rind蓹 iterating, bazas谋nda bir ad almaq,
h蓹r sonra veril蓹nl蓹r bazas谋 ad谋, v蓹 ki, loop iteration bir e-po莽t g枚nd蓹rdik.
Amma 蓹v蓹zin蓹 bir e-po莽t g枚nd蓹rm蓹k, I bir e-po莽t ilk iteration g枚nd蓹rdi,
iki e-po莽t ikinci iteration g枚nd蓹rdi 眉莽 e-po莽t ikinci iteration olan
Siz geri bil蓹r bizim asimptotik notation m眉zakir蓹
n kimi pis bu b枚y眉k O, kvadrat M蓹n g枚nd蓹rdi nec蓹 莽ox mesaj var
lakin h蓹tta e-po莽t deyil Bu m蓹tn mesajlar谋 idi.
>> Bildiyiniz kimi, olmay谋b deyil sonunda semestr do臒ru super y眉ks蓹k
v蓹 m蓹n bu cute olaca臒谋n谋 d眉艧眉nd眉m zaman "Niy蓹 siz sinif deyil?" dem蓹k
M蓹tn mesaj谋 I b眉t眉n sinif g枚nd蓹ril蓹n,
v蓹 50% kimi g眉lm蓹li idi sinif, lakin dig蓹r 50%, onlardan b蓹zil蓹ri
莽谋ld谋rd谋, i inan谋lmaz g枚nd蓹rdi 眉zr 艧irin notlar
hey蓹ti 眉莽眉n 眉zr 眉莽眉n m眉hazir蓹 burax谋lm谋艧 ed蓹r蓹k yaln谋z
bu d蓹f蓹, sa臒?
>> Bel蓹 ki, horribly 蓹yri edirik.
Ki, ruhunda Bel蓹 ki, bu c蓹hd ed蓹k yen蓹 lakin yaln谋z m蓹nim s谋ra.
脰nc蓹 functions.php, M蓹n burada bu funksiyan谋 yazd谋q.
Bu m蓹tn adlan谋r v蓹 bu oldu 眉莽 d蓹lill蓹ri edir.
Bir s谋ra da艧谋y谋c谋, v蓹 bir mesaj.
>> M蓹n bir ke莽id 艧蓹rh kullan谋yorum hans谋 g枚z蓹l PHP, yaln谋z strings almaq
integers, v蓹 m蓹n h蓹yata etm蓹yib h蓹l蓹 bu 眉莽眉n b眉t眉n d蓹st蓹yi,
M蓹n yaln谋z AT & T v蓹 Verizon etdik.
Bu 莽谋x谋r, 莽眉nki Bu da艧谋y谋c谋lar谋 il蓹
onlar SMS 艧l眉zl蓹r e-po莽t qovu艧durma臒谋m谋z h蓹qiq蓹t蓹n bil蓹rsiniz
bir 眉nvana e-po莽t g枚nd蓹rm蓹k vtext.com da telefon n枚mr蓹si kimi
v蓹 istifad蓹莽i blok 蓹g蓹r mesajlar谋, onun vasit蓹sil蓹 getm蓹k laz谋md谋r
m蓹tn mesaj谋.
>> 陌ndi bunu, m蓹n 蓹lav蓹 etm蓹k 眉莽眉n gedir蓹m M蓹nim bazas谋nda h蓹qiq蓹t蓹n s眉r蓹tli bir sah蓹.
M蓹n getm蓹k 眉莽眉n gedir蓹m M蓹nim strukturu v蓹 m蓹n
ir蓹li getm蓹k v蓹 bir 蓹lav蓹 etm蓹k 眉莽眉n gedir C蓹dv蓹lin sonunda sah蓹sind蓹.
Nin Go bas谋n ed蓹k v蓹 m蓹n bu da艧谋y谋c谋s谋 z蓹ng gedir
v蓹 indi m蓹n gedir蓹m Bir bar m蓹tn kimi bu t蓹rk,
lakin biz g蓹l蓹c蓹kd蓹 merakl谋s谋 ola bil蓹r.
M蓹n tez getm蓹k 眉莽眉n gedir蓹m m蓹nim stol眉st眉, v蓹 m蓹n
Rob qurtarmaq 眉莽眉n gedir, ki, bir saxta 莽眉nki,
M蓹n burada redakt蓹 getm蓹k 眉莽眉n gedir蓹m v蓹 m蓹n 蓹l m蓹nim da艧谋y谋c谋s谋 d蓹yi艧dirm蓹k 眉莽眉n gedir
Verizon, olmaq 眉莽眉n onu v蓹 indi burada bitdi.
>> Tez a臒l谋 ba艧谋nda olma 莽ek ed蓹k.
Bizim m蓹tn script, a莽maq imkan olan bu kimi g枚r眉n眉r, da艧谋y谋c谋% s.
Biz daha 莽ox s蓹hv edirik M蓹n 2012-ci ild蓹 da艧谋y谋c谋s谋 daha yoxlan谋lmas谋.
V蓹 indi m蓹n getm蓹k 眉莽眉n gedir蓹m ir蓹li v蓹 script yenid蓹n ax谋r.
OK.
Carrier dem蓹kdir Verizon edir 陌ndi 眉mid edir蓹m ki, yaln谋z bu ed蓹 bil蓹rsiniz.
D眉zg眉n bu il, 眉mid edir蓹m ki, burada biz gedin.
>> Bel蓹 ki, loop 眉莽眉n bu daxilind蓹, m蓹n bu printf 眉莽眉n yaln谋z gedir,
M蓹n d蓹 m蓹tn z蓹ng etm蓹k 眉莽眉n gedir蓹m v蓹 bu funksiya geri istifad蓹
idi bir, bir s谋ra edir da艧谋y谋c谋, v蓹 bir mesaj.
Bel蓹 ki, g枚r蓹k, say谋 gedir s谋ra quote d谋rna臒谋 ba臒lamaq olacaq "say谋"
s谋ra quote d谋rna臒谋 ba臒lamaq "g蓹misi" v蓹 son bir mesaj idi.
Bu il n枚qt蓹li verg眉l q谋ymaq etm蓹yin.
>> OK.
Fingers ke莽di.
Bu i艧l蓹ri nin g枚r蓹k.
B眉t眉n h眉quqlar, bel蓹.
Burada biz gedin.
Nin Telefonun kilidini a莽maq ed蓹k, Sizin barmaqlar谋n谋 ke莽m蓹y蓹, Lanet olsun.
Undefined d蓹yi艧蓹n may-- oh real s眉r蓹tli, g枚zl蓹yin, g枚zl蓹yin.
Real s眉r蓹tli, real s眉r蓹tli.
Bu, tamamil蓹 bu d蓹y蓹r.
M蓹n蓹 uh-oh, i艧臒al莽谋 qoy, m蓹ni qapmaq ed蓹k.
M蓹tnl蓹r var, t蓹艧蓹kk眉r edir蓹m ba艧qas谋 ba艧lad谋.
M蓹n蓹 ir蓹li getm蓹k v蓹 real a莽maq ed蓹k Burada s眉r蓹tli, dropbox.php / mail.
Adi.
Tamamil蓹 bu d蓹y蓹r.
Downloads.
OK, m蓹nb蓹 src8m.
OK.
>> Burada daha bir x蓹tt laz谋md谋r.
Oh orada bu Frosh var ki, Ani, bu 眉莽 reyestrin蓹 var.
Salam Oh, Margo, 莽ox t蓹艧蓹kk眉r edir蓹m.
OK, m蓹n burada bu x蓹tt itkin edilmi艧dir.
M蓹n蓹 tez i艧臒al莽谋 izl蓹 kodu bu x蓹tt,
olan po莽t v蓹 ya kitabxana daxildir M蓹n, h蓹qiq蓹t蓹n, istifad蓹 etm蓹k ist蓹yir蓹m ki,
M蓹n tez gedir蓹m funksiyalar谋 geri getm蓹k,
Bu 眉st getm蓹k 眉莽眉n gedir蓹m fayl v蓹 h蓹m莽inin bu fayl谋 t蓹l蓹b,
v蓹 indi m蓹n, h蓹qiq蓹t蓹n ke莽m蓹y蓹 gedir蓹m m蓹nim M蓹n komanda geri getm蓹k zaman barmaqlar谋
daxilind蓹 olan line script, Bu g眉n yerli host directory.
Run m蓹tn.
Daxil edin.
Mail.
Adi.
Mail.
OK, Oh.
Burada biz gedin.
>> Mail yeni PHP bir po莽t al谋r.
M蓹n bu h眉ququ mi?
Bu Lanet olsun.
G枚zl蓹yin, g枚zl蓹yin, g枚zl蓹yin, oh To--.
T蓹r蓹find蓹n se莽ilir.
M蓹n bu s枚z bel蓹 d蓹y蓹r olacaq.
脺nvan.
M蓹n etm蓹k niy蓹 bu Sa臒 sinif 蓹vv蓹l n眉mun蓹l蓹ri.
Uf.
A艧a臒谋dak谋 alanlar bilm蓹di.
Son bir 艧ey c蓹hd ed蓹k.
脺nvan谋 蓹lav蓹 set SMTP, 脺nvan h蓹qiq蓹t蓹n edir.
脺nvan谋 bu son hiss蓹sini c蓹hd ed蓹k.
Aw, m蓹n indi h蓹qiq蓹t蓹n k蓹d蓹rli deyil蓹m.
T蓹艧蓹kk眉r edir蓹m.
Amma h蓹qiq蓹t蓹n b眉t眉n t蓹艧蓹kk眉r m蓹tnl蓹r g枚nd蓹rilm蓹si etdik.
Bu David var.
Siz 蓹s蓹n edirik.
Orada onu t蓹rk ed蓹k v蓹 Biz bazar ert蓹si d眉zeltmek ed蓹c蓹k.
Sonra bax谋n.
>> Daven FARNHAM: 陌ndi Deep Daven Farnham t蓹r蓹find蓹n d眉艧眉nc蓹l蓹r.
Ikili a臒ac me艧蓹 d眉艧眉r varsa v蓹 he莽 bir C it-- [chuckling] 蓹traf谋nda.