>> [MUSIC ifa]
>> HOPARL脰R 1: B眉t眉n sa臒, bu CS50 edir, v蓹 bu h蓹ft蓹 d枚rd start edir
v蓹 Siz e艧itmi艧蓹m bil蓹r v蓹 ya oxumaq, d眉nya bit蓹n edilmi艧dir.
Internet 蓹traf谋nda b眉t眉n Going olmu艧dur bilik v蓹 maarifl蓹ndirm蓹
bir proqram, a bir s蓹hv Bash adl谋 proqramla艧d谋rma dili.
Bu g枚z蓹l markal谋 edilmi艧dir Shellshock ya Bash qap谋 kimi,
lakin bu kimi m蓹qal蓹l蓹r qeyri-adi deyil.
V蓹 蓹slind蓹, onlar谋n 莽ox g蓹tirm蓹k Heartbleed geri xatir蓹l蓹ri,
Siz qeyd ola bil蓹r 枚t蓹n yaz geri d眉ym蓹sini bas谋n olan
eyni kifay蓹t q蓹d蓹r dramatik idi.
陌ndi sizin burada bu g眉n nec蓹 bir 莽ox var
ba艧a d眉艧m眉r蓹m, h蓹tta n蓹 Bu Shellshock e艧itdim, haqq谋nda b眉t眉n var?
B眉t眉n sa臒, v蓹 siz nec蓹 莽ox h蓹ssas komp眉ter var?
OK, uzaq daha 蓹ll蓹ri olmal谋d谋r indi up s蓹b蓹bl蓹rd蓹n biz g枚r蓹c蓹ksiniz.
>> Nin n蓹 bir n蓹z蓹r salaq K陌V-d蓹 davam
v蓹 sonra bir az izah Burada bizim 眉莽眉n texniki.
>> HOPARL脰R 2: T蓹hl眉k蓹sizlik m眉t蓹x蓹ssisl蓹ri var x蓹b蓹rdarl谋臒谋n谋 ciddi bir q眉sur ola bil蓹r ki,
y眉zl蓹rl蓹 t蓹sir haqq谋nda D眉nyan谋n web istifad蓹莽il蓹r milyonlarla.
Bel蓹 ki, m蓹hz oldu ki, s蓹hv n蓹 Shellshock dublyaj, v蓹 o n蓹 edir?
Yax艧谋, Shellshock d蓹 kimi tan谋n谋r Bash bug, bu istismar proqram.
Hackers h蓹ssas scan virus istifad蓹 Linux v蓹 Unix 莽al谋艧an sisteml蓹ri
蓹m蓹liyyat sisteml蓹ri v蓹 onlara siray蓹t.
Bash bir command line shell edir.
Bu istifad蓹莽i m蓹s蓹l蓹 ba艧lamaq 眉莽眉n 蓹mr verir proqram 莽蓹r莽iv蓹sind蓹 proqramlar谋 v蓹 x眉susiyy蓹tl蓹ri
m蓹tn yazaraq.
Bu ad蓹t蓹n proqram莽谋lar t蓹r蓹find蓹n istifad蓹, v蓹 oldu d眉nyaya a莽谋q olmamal谋d谋r,
Shellshock d蓹yi艧ir baxmayaraq.
>> Yax艧谋, worringly, b蓹zi analitikl蓹r Bu b枚y眉k t蓹hl眉k蓹 ola bil蓹r x蓹b蓹rdarl谋q,
Shellshock tam imkan verir, 莽眉nki bir yoluxmu艧 ma艧谋n n蓹zar蓹t,
Heartbleed is蓹 yaln谋z icaz蓹 hakerl蓹r komp眉ter casus.
Bu, bel蓹 ki, ciddi 10 bir 10 qiym蓹tl蓹ndirilib edilmi艧dir
Milli t蓹r蓹find蓹n 艧idd蓹tli A莽谋臒谋 Database.
B眉t眉n web server 2/3 var B蓹zi Mac komp眉terl蓹r daxil olmaqla risk.
Yax艧谋, siz 蓹min olun 陌ndi sisteml蓹ri yama.
Bir web 莽al谋艧an hosting h蓹r k蓹s t蓹sirl蓹n蓹n 蓹m蓹liyyat sisteml蓹ri
q谋sa m眉dd蓹td蓹 t蓹dbirl蓹r g枚rm蓹lidir.
Bu baxmaq laz谋md谋r 枚d蓹y蓹 bil蓹r h蓹r k蓹s onlar谋n monitorinqi v蓹 web t蓹tbiqi
firewall h蓹r hans谋 h眉cumlar 眉莽眉n baxmaq.
HOPARL脰R 3: pis 艧ey ola bil蓹r ki,
Kims蓹 kodu yazmaq olard谋 ki, avtomatik getm蓹k v蓹 scan ki,
internet v蓹 t蓹sir Bu komp眉ter b眉t眉n.
V蓹 onlar, bunu bir d蓹f蓹, onlar n蓹 ed蓹 bil蓹r, 蓹n pis 艧ey
yaln谋z h蓹r 艧eyi silin, v蓹 ya a艧a臒谋 saytlar ba臒lamaq.
Bel蓹likl蓹, biz ziyan oldu bu n枚qteyi-dan,
biz pis niyy蓹tli insanlar var ki, burada olan yaln谋z havoc s蓹b蓹b q蓹rar
sisteml蓹ri a艧a臒谋 sal谋nmas谋nda v蓹 ya silinm蓹si il蓹 kimi fayllar谋, v蓹 h蓹r 艧eyi.
HOPARL脰R 2: B蓹zi bu dem蓹k 蓹n 莽蓹tin 枚l莽m蓹k 眉莽眉n
il bugs, v蓹 bu h蓹ft蓹 v蓹 ya h蓹tta bil蓹r
ay son t蓹sirini m眉蓹yy蓹n etm蓹k 眉莽眉n.
>> HOPARL脰R 1: Bel蓹 ki, b眉t眉n do臒rudur lakin funny 艧ey dem蓹k olar ki, b眉t眉n deyil
g枚r眉nt眉 yaln谋z g枚rd眉m, b蓹lk蓹 klaviatura istisna olmaqla,
il蓹 蓹laq蓹si yoxdur he莽 s蓹hv.
Serverl蓹r v蓹 teller v蓹 s, bu c眉r tangentially ba臒l谋 oldu,
lakin 蓹sas olduqca h蓹qiq蓹t蓹n tan谋艧 burada neler.
茝slind蓹, m蓹n蓹 ged蓹k bizim CS50 cihaz.
M蓹n蓹 ir蓹li getm蓹k v蓹 maksimize bildirin burada terminal p蓹nc蓹r蓹.
V蓹 u艧aqlar, bu istifad蓹 edilmi艧dir v蓹 ya, onun versiyas谋 蓹laq蓹dar
proqramlar谋 yazmaq 眉莽眉n gedit, s komutlar谋 yaz谋n v蓹,
v蓹 bu h蓹qiq蓹t蓹n var v蓹 h蓹ft蓹, Bash, B-A-S-H olmu艧dur.
Bu edir Bourne yenid蓹n, shell olan dey蓹r蓹k bir x眉lya yoludur,
bu bir var ki, bir proqram s蓹m蓹r蓹li, tez yan谋b-s枚n蓹n,
ki, g枚zl蓹yir oturur sizin 眉莽眉n giri艧 眉莽眉n.
V蓹 komanda var line interface olan vasit蓹sil蓹
Sizl蓹rin 蓹mrl蓹ri 莽al谋艧an edilmi艧dir v蓹 n蓹tic蓹d蓹 t蓹rtib v蓹 sonra 莽al谋艧an
proqramlar谋.
>> Amma Bash d蓹 proqramla艧d谋rma A艧a臒谋dak谋 m蓹nada dil.
Siz kimi 蓹mrl蓹ri oldu臒unu bilirik cd v蓹 ls v蓹 h蓹m莽inin cingilti v蓹 ba艧qalar谋,
lakin 枚z 蓹mrl蓹ri m眉蓹yy蓹n ed蓹 bil蓹rsiniz Bash onlar谋 h蓹yata.
陌ndi biz fikrind蓹 deyilik b枚y眉k 蓹trafl谋 daxil
kimi proqramla艧d谋rma dili c眉mb眉艧, lakin , m蓹s蓹l蓹n, bilirsiniz, an ki,
adl谋 komanda var "salam".
Bel蓹 ki, bil蓹r Bu paketl蓹ri biridir.
Bu, m蓹nim komp眉ter y眉kl眉 deyil.
Sizin administrator soru艧un.
Amma orada ist蓹yirsinizs蓹 bir proqram 眉莽眉n Bash ya m蓹nim s蓹tirin蓹 "salam" adl谋,
M蓹n, h蓹qiq蓹t蓹n, ki, sintaksis istifad蓹 ed蓹 bil蓹rsiniz olduqca C. kimi, kifay蓹t q蓹d蓹r eyni deyil
ancaq bir olduqca benzer funksiyas谋, b蓹zi t蓹f蓹rr眉atlar谋 itkin olsa.
He莽 bir 艧ey g枚r眉n眉r, lakin indi m蓹n "salam" yaz谋n 蓹g蓹r
Siz, h蓹qiq蓹t蓹n, bir yaza bil蓹rsiniz proqram deyil C deyil, Java,
ba艧qa proqramla艧d谋rma dil, lakin Bash 枚z眉.
>> 陌ndi burada 蓹sas m蓹n yazd谋 ki, Bu yeni bir 蓹mr verm蓹k ist蓹dim ad,
v蓹 parantez d蓹 Bu simvolik bir funksiyas谋 olan.
Bir k蓹nara kimi, siz d蓹 蓹yl蓹nc蓹 ed蓹 bil蓹rsiniz v蓹 蓹slind蓹, h蓹tta Mac OS 艧eyi,
Bu Terminal adl谋 bir proqramd谋r.
Bu h蓹r k蓹s daxil g蓹lir Bu otaqda bir Mac var ki, komp眉ter,
v蓹 Mac b蓹nz蓹r 艧eyl蓹r ed蓹 bil蓹rsiniz OS, lakin siz k蓹narda bil蓹rsiniz.
V蓹 bu, bir az te臒et lakin bu c眉r 蓹yl蓹nc蓹 var.
M蓹n bu s蓹h蓹r xat谋rlad谋ld谋, Bu vasit蓹sil蓹 d眉艧眉n眉r zaman,
bir az oyun M蓹n oynamaq 眉莽眉n istifad蓹 CS50 ke莽mi艧 TFS biri il蓹
ist蓹nil蓹n vaxt, o uzaq g蓹zm蓹k vasit蓹si onun ekranda il蓹 klaviatura oxunu艧,
M蓹n bir 蓹mri yerin蓹 olard谋 bu kimi "salam dem蓹k."
陌ndi h蓹r hans谋 bir zaman o geri g蓹ldi onun klaviatura M蓹n ekran r蓹smil蓹艧dirilm蓹yib sonra
v蓹 o, a艧a臒谋 oturmaq olard谋 b蓹zi i艧 etm蓹k 眉莽眉n c蓹hd,
onun qovlu臒u m蓹zmunu siyah谋s谋
>> [AUDIO playback]
>> -Alo.
Hello.
>> 茝dal蓹t Bel蓹 ki,: HOPARL脰R 1 Bu "salam". h蓹qiq蓹t蓹n deyil
Bu ad蓹t蓹n bir 艧ey idi that-- daha yax谋n
[AUDIO playback]
-Beep.
HOPARL脰R 1: I would-- --that bel蓹 ki, onun komp眉ter ki
O, h蓹qiq蓹t蓹n, ona he莽 bir zaman and onun klaviatura oturdu.
V蓹 莽ox tez o fiqurlu Onun ekran etmi艧l蓹r t蓹rk etm蓹k deyil.
Amma bu c眉r t蓹klif axmaq 蓹yl蓹nc蓹 ki,
Bash kimi bir 艧ey il蓹 ola bil蓹r.
Amma bir az daha 莽ox ciddi, daha 蓹min olmaq.
V蓹 蓹slind蓹, bu biridir 蓹n t蓹hl眉k蓹li v蓹 uzunm眉dd蓹tli bugs
h蓹qiq蓹t蓹n qlobal d眉nya isab蓹t etdi.
Bu s蓹hv 蓹traf谋nda olmu艧dur 20 ildir,
v蓹 yaln谋z bir d蓹 vurdu olacaq onun nisbi sad蓹liyi an.
>> Bel蓹 ki, bu n眉may蓹nd蓹sidir 蓹mr 蓹g蓹r
sanki indi, Mac 枚z Siz qapaq a莽谋q zaman,
ki yazaraq c蓹hd ed蓹 bil蓹rsiniz Terminal adl谋 program.
Terminal alt谋nda Proqramlar kommunal xidm蓹t
bir d蓹f蓹 眉莽眉n, Windows users yoxdur bu threat-- narahat
lakin Macs il蓹 sizin yaz谋n bir p蓹nc蓹r蓹 bu m蓹n burada ed蓹c蓹yik kimi,
v蓹 siz yaz谋n 蓹g蓹r Bu proqram ki,
M蓹n indi n蓹 olacaq kimi, Terminal adl谋, S枚z眉 g枚rm蓹k 蓹g蓹r "z蓹if"
Sizin komp眉ter istismar h蓹ssas.
>> 陌ndi h蓹qiq蓹t蓹n n蓹 dem蓹kdir?
V蓹 bu etiraf edir b蓹zi olduqca crazy sintaksis,
lakin 蓹n az谋 莽蓹km蓹k imkan maraql谋 aspektl蓹ri b蓹zi.
Bel蓹 g枚r眉n眉r ki, b蓹zi sintaksis var 蓹n az谋 C, tan谋艧 bir az
v蓹 daha 莽ox, 眉mumiyy蓹tl蓹 proqramla艧d谋rma.
M蓹n b蓹zi parantez g枚rm蓹k, semicolons, q谋vr谋m a艧谋rma v蓹 bu,
lakin bu 莽谋x谋r ki, sar谋 burada axmaq 艧ey
bir funksiyas谋 蓹sas蓹n ki, he莽 bir 艧ey yoxdur.
Kolon vasit蓹l蓹ri he莽 bir 艧ey, v蓹 n枚qt蓹li verg眉l he莽 bir 艧ey bunu dayand谋rmaq dem蓹kdir.
Bu daxili Bel蓹 ki, q谋vr谋m a艧谋rma, 蓹slind蓹
M蓹n b蓹rab蓹r var ki, sol, bu imza
mahiyy蓹tc蓹 yarad谋r bir komanda v蓹 ya bir d蓹yi艧蓹n,
x adlan谋r v蓹 onu t蓹yin orada kodu ki, sar谋 bit.
Ki, "echo kimi bir 艧ey ola bil蓹r salam "v蓹 ya" beep "v蓹 ya bir 艧ey
ki, yax谋n.
Ancaq g枚zl蓹ri 蓹g蓹r bildiri艧 do臒ru daha gezmek,
art谋q bu x蓹tt daha 莽ox var ki, n枚qt蓹li verg眉l yaln谋z son.
Sonra ", h蓹ssas Echo" v蓹 k蓹narda daha 莽ox var.
Dig蓹r n枚qt蓹li verg眉l, bash c :.
>> Bel蓹 ki, uzun hekay蓹 q谋sa, kodu bu x蓹tt
莽ekici 眉莽眉n kifay蓹t q蓹d蓹r ki, bir komp眉ter
bir 艧ey bunu h蓹ssas Siz etm蓹k ist蓹yir蓹m ki,
Bash vasit蓹si bir s蓹hv var, 莽眉nki Bash dayand谋rmaq idi baxmayaraq
command sa臒 oxu x蓹tl蓹ri orada sar谋 m蓹tn sonra,
20-plus ya艧l谋 s蓹hv, Bash h蓹qiq蓹t蓹n oxu olmu艧dur
ki, n枚qt蓹li verg眉l k蓹narda v蓹 olduqca q蓹d蓹r izah n蓹.
>> Bel蓹 ki, dolay谋s谋 n蓹 var ki, n蓹tic蓹d蓹?
M蓹n yaln谋z "salam echo" dedi v蓹 ya "z蓹if echo"
lakin n蓹 bir 艧ey idi 蓹g蓹r h蓹qiq蓹t蓹n z蓹r蓹rli, rm-rf * kimi,
siz ola bil蓹r 蓹vv蓹l he莽 yazd谋臒谋n谋z,
v蓹 s蓹mimi y蓹qin ki, 莽ox tezlikl蓹 olmal谋d谋r,
Bir ed蓹 bil蓹rsiniz, 莽眉nki bu z蓹r蓹r var.
Niy蓹?
rm 蓹lb蓹tt蓹 n蓹 yoxdur?
R蓹dd et.
* N蓹 dem蓹kdir?
B眉t眉n.
Bel蓹 ki, qondarma var v蓹h艧i kart, o dem蓹kdir ki,
h蓹r 艧eyi silm蓹k cari kataloq.
r recursive dem蓹k olur, Siz silm蓹 ne varsa dem蓹kdir
bir kataloq v蓹 orada daxili Dig蓹r fayllar谋 v蓹 dig蓹r rehberler edir
recursively var dive v蓹 b眉t眉n silin.
V蓹 f onlara b眉t眉n pis deyil.
H蓹r k蓹s f burada n蓹 dem蓹kdir bilirsinizmi?
Force.
Bel蓹 ki, h蓹tta, vasit蓹l蓹ri m蓹cbur Bu pis bir fikir varsa,
m蓹ni isteyen olmadan bunu daha t蓹sdiqi 眉莽眉n.
Bel蓹 ki, bilirsiniz, biz g眉lm蓹k Bu, lakin s蓹mimi, m蓹n y蓹qin ki,
bu ne莽蓹 d蓹f蓹 yaz谋n bir g眉n reall谋q 莽眉nki
bu s眉r蓹tli yoldur hey蓹ti b眉t眉n d蓹st蓹 silin.
Lakin h蓹tta m蓹n bir z蓹r蓹r g枚rm眉艧眉k.
>> Amma bir komp眉ter oyun olsayd谋 b蓹zi axmaq d蓹yi艧蓹n m眉蓹yy蓹n daxil
v蓹 ya funksiyas谋 x adl谋, lakin sonra icra daxil komp眉ter tricking
ki h眉dudlar谋ndan k蓹narda funksiyas谋 ki, n枚qt蓹li verg眉l k蓹narda,
Siz h蓹qiq蓹t蓹n bir komp眉ter bezemek bil蓹r rm kimi bir 艧ey h蓹yata daxil rf
v蓹 ya E-po莽t command v蓹 ya Copy command.
Anything s枚z眉n siz il蓹 ed蓹 bil蓹rsiniz komp眉ter, fayllar谋 silm蓹 olsun,
, fayllar谋 yaratmaq kims蓹 spam, uzaqdan bir server h眉cum,
Siz ifad蓹 ed蓹 bil蓹r, 蓹g蓹r bir komanda il蓹, siz
bunu bir komp眉ter bezemek bil蓹r.
>> 陌ndi bir n眉mun蓹 n蓹 bunu nec蓹 ed蓹 bil蓹r?
Yax艧谋, komp眉ter bir 莽ox var internet 莽al谋艧an Bash.
Us Mac istifad蓹莽il蓹r onlar谋n b眉t眉n var.
Linux server bir 莽ox var h蓹m莽inin onlara v蓹 Unix server.
Windows yenid蓹n al谋r nisb蓹t蓹n 莽蓹ng蓹l off
Siz qura艧d谋r谋lm谋艧 oldu臒unuz halda x眉susi proqram.
Server 陌ndi bir 莽ox 眉莽眉n M蓹s蓹l蓹n, run web server,
v蓹 蓹slind蓹 Linux b蓹lk蓹 edir 蓹n m蓹艧hur 蓹m蓹liyyat sistemi
internet komp眉ter yay谋nlanmas谋 ki, web pages xidm蓹t edir.
陌ndi biz sonra g枚r蓹c蓹ksiniz kimi semestr zaman
Siz bir sor臒u g枚nd蓹r蓹 Sizin browser Chrome,
Internet Explorer, whatever-- bir uzaq server,
O 莽谋x谋r ki, h蓹tta baxmayaraq Yaln谋z tipli www.example.com,
Sizin browser bir mesaj g枚nd蓹rir ki, bir az daha gizli, bu kimi.
>> Amma bir az q蓹rib蓹 bir 艧ey hiss.
陌lk iki x蓹tl蓹ri M蓹n 蓹vv蓹l g枚rm蓹mi艧蓹m
lakin onlar baxmaq deyil x眉susil蓹 t蓹hl眉k蓹li.
Amma o臒urlanm谋艧 etdik n蓹 g枚r眉rs眉n眉z Burada 眉莽眉nc眉 x蓹tti.
Pis o臒lan bir mesaj g枚nd蓹rm蓹k 眉莽眉n, 蓹g蓹r onun komp眉ter bu kimi
z蓹if Mac v蓹 ya a h蓹ssas Linux server,
l蓹tif蓹 ki, Bash edir ki, sad蓹 az 蓹mr s蓹tri,
h蓹r yerd蓹 v蓹 tez-tez mahiyy蓹tc蓹 icra istifad蓹
bir m蓹zmunu ald谋臒谋 mesaj谋.
V蓹 m蓹ntiq, siz Buna g枚r蓹 d蓹, bir web server bezemek,
kimi bir 艧ey g枚nd蓹rm蓹k User-Agent, ad蓹t蓹n
Bu ehtimal edilir Brauzerinizin ad谋.
User-Agent Chrome, User-Agent Internet Explorer, User-Agent Firefox, bu
yaln谋z brauzerinizin edir 枚z眉n眉 m眉蓹yy蓹n yoldur.
Amma 蓹g蓹r pis o臒lan 莽ox a臒谋lla mm-mm, m蓹n deyir
siz蓹 niyy蓹tind蓹 deyil n蓹 m蓹nim brauzerinizin,
M蓹n 蓹v蓹zin蓹 bu g枚nd蓹rm蓹k 眉莽眉n gedir蓹m bir rm-rf il蓹 艧ey sirli g枚r眉n眉艧l眉
* Bu, s枚z眉n bir bezemek bil蓹r internet h蓹ssas web server
m蓹hz icra daxil orada b眉t眉n fayllar谋 silmek 眉莽眉n.
V蓹 s蓹mimi, ki, deyil Bu h蓹tta 蓹n pis.
Siz bir 艧ey ed蓹 bil蓹rsiniz.
Siz ba艧lamaq bil蓹r paylanm谋艧 xidm蓹t h眉cum inkar
Siz bu mesaj谋 g枚nd蓹rilir web server b眉t眉n d蓹st蓹l蓹ri
v蓹 onlara b眉t眉n, enm蓹k idi M蓹s蓹l蓹n, Harvard.edu server,
v蓹 bang s谋ralayabilirsiniz onlar谋n h蓹yata heck
ki, bir 艧蓹b蓹k蓹 trafik ba艧qa, bu pis o臒lan t蓹r蓹find蓹n s蓹b蓹b.
>> Bel蓹 ki, uzun hekay蓹 q谋sa, dem蓹k olar ki, Mac sahibi olan bu otaqda h蓹r k蓹s
Bu h蓹ssasd谋r.
G眉m眉艧 astarl谋 siz de臒ilseniz ki Sizin laptop bir web server 莽al谋艧an,
v蓹 h蓹qiq蓹t蓹n konfiqurasiya oldu臒unuz halda Bu, onu SSH kimi bir 艧ey imkan
Siz, h蓹qiq蓹t蓹n, t蓹hl眉k蓹siz edirik.
Bu h蓹ssas, lakin he莽 bir var bir laptop almaq 眉莽眉n 莽al谋艧谋r谋q,
bel蓹 ki, sort arxay谋n ola bil蓹rsiniz.
Lakin, Apple tezlikl蓹 olacaq bu bir d眉zeltme yenil蓹nm蓹si olacaq.
Linux d眉nya art谋q azad etdi Fedora v蓹 Ubuntu 眉莽眉n giderir bir s谋ra
v蓹 dig蓹r Linux versiyas谋n谋, h蓹qiq蓹t蓹n, Siz cihaz yenil蓹m蓹 50 run 蓹g蓹r,
莽ox olacaq ki, h蓹tta yenil蓹nir v蓹 d眉z蓹ldilir.
Lakin 莽ox deyil h蓹qiq蓹t蓹n, h蓹ssas olmu艧dur
Siz var halda, 莽眉nki cihaz il蓹 tinkered
v蓹 a莽谋q diz眉st眉 etdi olmayan internet 蓹l莽atan
default, Siz var h蓹qiq蓹t蓹n, 莽眉nki g枚z蓹l olmu艧dur
firewalling v蓹 dig蓹r texnika.
>> Amma bir s蓹hv bir ifrat n眉mun蓹sidir var biz s枚z眉n 20 眉莽眉n ya艧am谋艧 etdik ki,
il, kims蓹 蓹g蓹r bilir b眉t眉n bu vaxt bu bar蓹d蓹 m蓹lum?
V蓹 蓹slind蓹, bu bir edir 蓹sas probleml蓹r
biz sonra g枚r蓹c蓹ksiniz ki, t蓹hl眉k蓹sizlik haqq谋nda semestr,
ki, yaln谋z real d眉nyada kimi yax艧谋 u艧aqlar 蓹lveri艧siz edir.
Pis u艧aqlar h蓹yata saxlamaq 眉莽眉n, biz var h蓹r qap谋 kilidli 蓹min olun ki,
h蓹r p蓹nc蓹r蓹 ki, t蓹hl眉k蓹siz ki, bir ev girdiyi h蓹r n枚qt蓹
pis u艧aqlar h蓹yata saxlamaq 眉莽眉n t蓹hl眉k蓹siz edir.
Amma n蓹 pis o臒lan var h蓹qiq蓹t蓹n, sizin ev g眉z蓹艧t蓹 etm蓹k
v蓹 siz o臒urlamaq?
O yaln谋z oxunu艧 bir tapmaq 眉莽眉n var qap谋, bir broken p蓹nc蓹r蓹 v蓹 ya bir 艧ey
o x蓹tl蓹r boyunca v蓹 bu var komp眉ter t蓹hl眉k蓹sizliyi eyni 艧ey.
Biz milyonlarla yaza bil蓹rsiniz proqramla艧d谋rma kodu x蓹tl蓹ri
v蓹 y眉zl蓹rl蓹 v蓹 ya minl蓹rl蓹 s蓹rf Do臒ru almaq 眉莽眉n 莽al谋艧谋r谋q saat,
lakin 蓹g蓹r siz yaln谋z bir etm蓹k d眉zg眉nl眉y眉n蓹 s蓹hv,
Siz b眉t眉n sistemi qoya bil蓹r v蓹 h蓹qiq蓹t蓹n, bu halda, b眉t眉n internet
v蓹 risk d眉nya.
>> Daha 莽ox 枚yr蓹nm蓹k ist蓹yirsinizs蓹 Bel蓹 ki, Bu bar蓹d蓹, burada bu URL getm蓹k.
F蓹aliyy蓹t 眉莽眉n he莽 bir ehtiyac yoxdur gec蓹 siz de臒ilseniz
o daha rahat aras谋nda 脰z web 莽al谋艧an edilmi艧dir
server, hans谋 olmal谋d谋r halda, 茝slind蓹, proqram yenil蓹m蓹.
>> V蓹 bu da ba艧l谋臒谋 莽谋x谋艧, v蓹 indi ka臒谋z,
biz ba臒l谋d谋r etdik ki, Bu g眉n 眉莽眉n kurs veb.
Bu bir yolda艧 idi adl谋 Ken Thompson, kim
bir 莽ox m蓹艧hur q蓹bul edilib komp眉ter m眉kafat,
v蓹 o, bir ne莽蓹 il bu 莽谋x谋艧 蓹vv蓹l, mahiyy蓹tc蓹 eyni m枚vzu haqq谋nda.
Sual mill蓹t xahi艧, Siz olmal谋d谋r h蓹qiq蓹t蓹n
inam, n蓹tic蓹d蓹, proqram verilmi艧dir etdik?
M蓹s蓹l蓹n, biz b眉t眉n var, proqramlar谋 yaz谋l谋 edilmi艧dir,
v蓹 biz t蓹rtib etdik cingilti il蓹 onlara.
V蓹 sizin bilik, siz yaz谋l谋 CS50 眉莽眉n h蓹r hans谋 bir proqram var oldu臒u
n枚v arxa qap谋, bir yol var pis o臒lan ki, sizin proqram 莽al谋艧an 蓹g蓹r,
Sizin komp眉ter 眉z蓹rind蓹 bil蓹r?
Y蓹qin ki, sa臒?
Mario, v蓹 Greedy, v蓹 kredit.
Bu b眉t眉n olduqca ki莽ik proqramlar谋 var.
Siz olduqca olmaq ist蓹diyiniz pis h蓹qiq蓹t蓹n 蓹g蓹r
b眉t眉n komp眉ter h蓹ssas edib kodu 10 v蓹 ya 20 x蓹tl蓹ri yaz谋l谋 sonra,
v蓹 ya 蓹n az谋 x蓹b蓹rsiz t蓹hl眉k蓹sizlik n蓹tic蓹l蓹ri.
陌ndi m蓹n ki, Facetiously dem蓹k lakin biz bu g眉n g枚rm蓹k olacaq
v蓹 bu h蓹ft蓹 h蓹qiq蓹t蓹n h蓹qiq蓹t蓹n, h蓹qiq蓹t蓹n, asan
pis v蓹 h蓹tta etm蓹k 眉莽眉n q谋sa proqramlar谋 h蓹ssas.
>> Amma indi, 蓹n az谋, h蓹yata sual burada xahi艧 olunur ki,
bir compiler cingilti haqq谋nda.
Niy蓹 biz cingilti etibar edilmi艧dir Son iki v蓹 ya 眉莽 h蓹ft蓹?
Kim kim cingilti yaz谋rd谋 ki, dem蓹k deyil orada bir "蓹g蓹r" 艧蓹rt yox idi
ki, mahiyy蓹tc蓹 bir adet s谋f谋r vurulub v蓹 h蓹r proqram olanlar谋 t蓹rtib
ki, imkan ver蓹rdi ona v蓹 ya onun giri艧 Sizin komp眉ter zaman yuxuda etdiyiniz
v蓹 laptop qapaq a莽谋q v蓹 komp眉ter 莽al谋艧an?
Right?
Biz 艧蓹r蓹f sistemi h眉ququnun bu c眉r var 陌ndi biz cingilti legit ki, etibar yerl蓹艧ir.
Siz cihaz legit ki, etibar.
Siz etibar sanki h蓹r proqram Mac v蓹 ya PC etibarl谋 deyil.
V蓹 bu sad蓹 s蓹hv t蓹klif kimi, bu z蓹r蓹rli deyil, h蓹tta,
ki, tamamil蓹 deyil Bu halda ola bil蓹r.
>> Bel蓹 ki, c蓹h蓹nn蓹m kimi qorxuram edilm蓹lidir.
A莽谋臒谋, he莽 bir sad蓹 var bu dig蓹r h蓹ll
ictimai maarifl蓹ndirm蓹 bir n枚v daha 莽ox artan m眉r蓹kk蓹bliyi
biz 眉st tikinti edirik ki, komp眉ter sisteml蓹ri,
v蓹 nec蓹 getdikc蓹 h蓹ssas biz 莽ox yax艧谋 ola bil蓹r.
>> 陌ndi Breakout qeyd etdi.
Bel蓹 ki, Breakout edir problem 眉莽 qurmaq, Breakout yesteryear bir oyun
Siz geri bil蓹r ki, lakin Bizim 眉莽眉n problem, 眉莽 m眉蓹yy蓹n
biz蓹 etm蓹k 眉莽眉n imkan verir 艧eyi bir pill蓹 geri
biz proqramlar谋 yaz谋l谋 zaman, bel蓹 ki, h蓹tta bu kimi bir Terminal p蓹nc蓹r蓹,
biz, h蓹qiq蓹t蓹n, n蓹tic蓹d蓹, 莽al谋艧t谋rabilirsiniz qrafik proqramlar
f蓹rqli olaraq biz idi Not 莽谋x谋艧.
Bel蓹 ki, bu hey蓹t nin Breakout h蓹yata ke莽irilm蓹si,
yaln谋z bu k蓹rpic-breaking edir oyun, geri sizin avar h蓹r蓹k蓹t ed蓹n
v蓹 ir蓹li, v蓹 siz top hit 眉st q蓹d蓹r o r蓹ngli k蓹rpic qar艧谋.
Bel蓹 ki, bu bizi c蓹lb edir sort geri harada
biz 莽ox tez ola idi Not, indi C,
枚z h蓹yata qrafik istifad蓹莽i interfeys.
>> Lakin daha 莽ox, bu problem set ilk t蓹qdim
biz 枚t眉r眉r Siz kodu bir d蓹st蓹.
V蓹 蓹slind蓹, m蓹n a莽谋q g蓹tirm蓹k Bu diqq蓹t, x眉susil蓹, 莽眉nki
o az rahat, bu problem, 蓹n az谋 ilk bax谋艧dan, m眉蓹yy蓹n
kimi hiss edir biz bir notch onu q蓹bul etdik.
, Biz siz蓹 t蓹qdim etdik, 莽眉nki axtar谋艧 b蓹zi
v蓹 pset probleml蓹ri 莽e艧idl蓹nm蓹si, biz yaz谋rd谋 ki kodu bir d蓹st蓹,
v蓹 艧蓹rh bir ne莽蓹 ki, "n蓹 眉莽眉n" dem蓹k
siz blanklara doldurmaq laz谋md谋r.
Bel蓹 ki, 莽ox qorxudan deyil, lakin Bu ilk d蓹f蓹
Biz siz蓹 kodu t蓹hvil etdiyiniz etm蓹k laz谋md谋r ki, ilk oxumaq anlamaq v蓹 蓹lav蓹
v蓹 ba艧a.
>> V蓹 sonra Breakout il蓹, biz eyni olacaq
bir ne莽蓹 onlarla daha 莽ox x蓹tl蓹ri verilm蓹si kodu, s蓹mimi, verir ki,
莽蓹r莽iv蓹sind蓹 bir 莽ox 眉莽眉n Bu oyun, lakin q谋sa dayand谋rmaq
k蓹rpic h蓹yata v蓹 top v蓹 avar,
lakin biz b蓹zi dig蓹r funksiyalar谋 h蓹yata yoxdur.
V蓹 h蓹tta ilk bax谋艧da ki, yen蓹, x眉susil蓹, az rahat 蓹g蓹r
x眉susil蓹 zor g枚r眉n蓹 bil蓹r v蓹 Siz bir 莽ox yeni funksiyalar var edir蓹m
茝g蓹r fikrinizi kesmek laz谋md谋r 蓹traf谋nda v蓹 ki, do臒rudur.
Amma bu, unutmay谋n olduqca Not kimi.
Oran siz b眉t眉n istifad蓹 etm蓹yib var Not puzzle 蓹d蓹d.
Oran siz kesmek 眉莽眉n qay臒谋 etm蓹yib var Onlar谋n b眉t眉n 蓹traf谋nda fikrinizi
Bu ald谋 b眉t眉n idi, 莽眉nki S枚yle, oh, anlamaq 眉莽眉n
M蓹n n蓹 ed蓹 var ki, puzzle par莽a il蓹.
V蓹 h蓹qiq蓹t蓹n, problemin m眉蓹yy蓹n 3 spec, biz qeyd ed蓹c蓹yik
s蓹n蓹dl蓹rin ed蓹c蓹k b蓹zi yeni funksiyalar谋 siz蓹 t蓹qdim,
v蓹 n蓹tic蓹d蓹 proqramla艧d谋rma istifad蓹 tikir.
, Loops Conditions, d蓹yi艧蓹nl蓹rin v蓹 funksiyalar谋
eyni olacaq n蓹 biz bel蓹 uzaq g枚rd眉m.
>> Bel蓹 ki, h蓹qiq蓹t蓹n, biz n蓹 ver蓹c蓹yik B蓹zi n眉mun蓹 kodu edir ki,
Bir p蓹nc蓹r蓹 yaratmaq imkan verir ki, bu f蓹rqli deyil g枚r眉n眉r
v蓹 n蓹tic蓹d蓹 莽evirm蓹k 莽ox bu kimi bir 艧ey.
Bel蓹 ki, CS50 istifad蓹 etm蓹k, , ofis saat v蓹 daha 莽ox m眉zakir蓹
v蓹 蓹slind蓹 rahatl谋q yazmaq 眉莽眉n kod m蓹bl蓹臒i
蓹slind蓹 b眉t眉n 莽ox deyil.
陌lk problem yaln谋z acclimate olunur 枚z眉n眉z眉 kod biz yazd谋q.
>> Pset3 haqq谋nda h蓹r hans谋 bir sual谋n谋z, Shellshock, v蓹 ya ba艧qa?
>> Auditoriya: Bu kimi g枚r眉n眉rd眉 Breakout il蓹 ke莽ir
kod dem蓹k olar ki, bir obyekt-y枚n眉ml眉 style,
amma C bir idi d眉艧眉nd眉m obyekt-y枚n眉ml眉 proqram.
HOPARL脰R 1: 蓹la sual.
Bel蓹 ki, vasit蓹sil蓹 axtar谋r distribution kodu, kodu
biz pset3 眉莽眉n yazd谋臒谋 tan谋艧 olanlar 眉莽眉n, onu
bir var kimi g枚r眉n眉r az obyekt-y枚n眉ml眉.
Q谋sa cavab deyil.
Bu sizin nec蓹 bir t蓹xmindir istifad蓹 ed蓹r蓹k, obyekt-y枚n眉ml眉 kodu ed蓹 bil蓹r
C kimi dil, lakin h蓹l蓹 n蓹tic蓹d蓹 prosessual.
Daxilind蓹 metodlar var d蓹yi艧蓹nl蓹rin, siz g枚r蓹c蓹ksiniz kimi.
Amma bu xat谋rlad谋r.
V蓹 biz daha x眉susiyy蓹t g枚r蓹c蓹ksiniz PHP v蓹 JavaScript almaq zaman
sonunda semestr do臒ru.
Amma indi, kimi hesab n蓹 bir ipucu g蓹lib.
Yax艧谋 suald谋r.
B眉t眉n h眉quqlar.
Bel蓹 ki, sort idi birl蓹艧m蓹 biz nec蓹 Sol 艧eyi son d蓹f蓹.
V蓹 sort s蓹rin idi birl蓹艧m蓹 m蓹nada bu q蓹d蓹r s眉r蓹tli idi ki,
蓹n az谋 枚t蓹ri testl蓹r 蓹sas谋nda Biz bubble, dem蓹k, 莽ox, 枚t蓹n h蓹ft蓹 idi
sort, se莽im sort, durub s谋rala.
V蓹 n蓹 莽ox s蓹liq蓹li idi yaln谋z nec蓹 m眉f蓹ss蓹l v蓹 cleanly
Siz ifad蓹 ed蓹 bil蓹r.
V蓹 biz bir 眉st n蓹 dem蓹k idi birl蓹艧m蓹 莽al谋艧an zaman bound
sort?
B蓹li?
>> Auditoriya: n log n?
>> HOPARL脰R 1: n sa臒, n daxil olun. n log n.
V蓹 biz n蓹 ki geri g蓹lm蓹k laz谋md谋r h蓹qiq蓹t蓹n dem蓹kdir v蓹 ya g蓹lir,
lakin bu yax艧谋 idi n蓹 莽al谋艧an zaman 莽ox
biz bubble 眉莽眉n g枚rd眉m ki, se莽ilm蓹si v蓹 durub sort?
Bel蓹 ki, n kvadrat. n kvadrat , bu daha b枚y眉kd眉r
v蓹 kifay蓹t q蓹d蓹r ayd谋n deyil, h蓹tta, ki, log n n daha ki莽ik oldu臒unu,
bel蓹 ki, n d蓹f蓹 蓹g蓹r n daha ki莽ik bir 艧ey,
kvadrat n daha az olacaq.
Orada intuisiya bir az var.
Amma bunun 眉莽眉n bir 枚d蓹di.
Bu s眉r蓹tli idi, lakin bir m枚vzu a莽谋lm谋艧 Ke莽蓹n h蓹ft蓹 ortaya bu tradeoff idi.
M蓹n daha yax艧谋 performans var vaxt m眉drik, lakin n蓹
M蓹n dig蓹r s蓹rf var idi 蓹l, 眉莽眉n nail olmaq 眉莽眉n?
>> Auditoriya: Yadda艧.
HOPARL脰R 1: Yen蓹 deyir蓹m?
Auditoriya: Yadda艧.
HOPARL脰R 1: Yadda艧, v蓹 ya space 眉mumiyy蓹tl蓹.
V蓹 bu super idi Bizim insanlar A艧kar,
lakin bizim k枚n眉ll眉 Xat谋rladaq ki, ir蓹li g眉cl蓹ndirm蓹kl蓹 v蓹 g眉cl蓹ndirm蓹kl蓹 edilmi艧dir
sanki geri array var sanki burada v蓹 var
Burada ikinci bir array onlar istifad蓹 ed蓹 bil蓹r 脟眉nki
laz谋m yerde o insanlar daxil etm蓹k 眉莽眉n.
Biz yaln谋z yerd蓹 onlar谋 d蓹yi艧dirm蓹k bilm蓹di.
Bel蓹 ki, sort leverage daxil daha 莽ox yer olan
biz laz谋m deyil dig蓹r alqoritml蓹r,
lakin ayaq 莽ox daha s眉r蓹tli edir.
V蓹 s蓹mimi, real d眉nya m蓹kan谋nda Bu days-- RAM, sabit disk space--
nisb蓹t蓹n ucuz, v蓹 bel蓹 ki m眉tl蓹q pis bir 艧ey.
>> Bel蓹 ki, bir s眉r蓹tli n蓹z蓹r bir az imkan daha ard谋c谋l, biz n蓹
v蓹 niy蓹 biz n log n bildirib.
Bel蓹 ki, burada s蓹kkiz 蓹d蓹d v蓹 s蓹kkiz k枚n眉ll眉 biz son d蓹f蓹 idi.
V蓹 Birle艧tirme ki, ilk 艧ey Sort etm蓹k biz蓹 n蓹 idi bildirib?
Auditoriya: iki b枚l眉n.
HOPARL脰R 1: Yen蓹 deyir蓹m?
Auditoriya: iki b枚l眉n.
HOPARL脰R 1: iki Divide, do臒ru.
Bu 莽ox xat谋rladan b枚lm蓹k telefon kitab,
v蓹 daha 莽ox, 眉mumiyy蓹tl蓹 f蓹th.
Bel蓹likl蓹, biz sol yar谋m baxd谋.
V蓹 biz sort, dedi, sonra bir d蓹f蓹 elementl蓹ri sol yar谋s谋,
Biz n枚vb蓹ti n蓹 dedi?
Sol sol yar谋m sort yar谋m olan, biz蓹 icaz蓹
iki ay谋r谋c谋 sonra, d枚rd v蓹 iki y枚n蓹ldir.
>> Nec蓹, indi bir siyah谋s谋n谋 sort yoxdur sar谋, Sortla艧d谋r Birle艧tirme istifad蓹 枚l莽眉s眉 iki, var?
Yax艧谋 yar谋 b枚lm蓹k, v蓹 sol yar谋m sort.
V蓹 bu 艧eyl蓹r idi bir az axmaq q谋sa var.
Siz ki, bir siyah谋s谋n谋 d眉zm蓹k nec蓹 size bir, burada bu say谋 d枚rd kimi?
Bu s谋ralan谋r.
Siz tamamlay谋n.
>> Amma sonra nec蓹 bir siyah谋s谋n谋 sort yoxdur 枚l莽眉s眉 say谋 iki zaman bir?
Yax艧谋, indi n蓹 eyni 艧ey idi 眉莽眉nc眉 v蓹 Merge Sort 蓹sas add谋m?
Siz sol birl蓹艧m蓹si idi yar谋s谋 v蓹 sa臒 yar谋m.
Ki, bir d蓹f蓹, biz baxd谋 d枚rd, biz iki baxd谋.
Biz b眉t眉n h眉ququ q蓹rar a莽谋q-ayd谋n iki birinci g蓹lir,
bel蓹 ki, biz iki qoydu onun d枚rd izl蓹di yer.
陌ndi siz c眉r geri var, v蓹 bu xarakterik sortudur
Birl蓹艧dirm蓹 kimi bir alqoritm Sort, yadda艧 geri.
Hekay蓹 n枚vb蓹ti line n蓹 idi?
M蓹n n枚vb蓹ti n蓹 diqq蓹t etm蓹k laz谋md谋r?
Sol sa臒 yar谋m alt谋 v蓹 s蓹kkiz hans谋 yar谋m.
>> M蓹n蓹 yaln谋z bu add谋m imkan 莽ox n枚qt蓹 belaboring olmadan.
Alt谋 v蓹 s蓹kkiz, sonra alt谋 s谋ralan谋r, s蓹kkiz 莽e艧idl蓹nir.
Ki, kimi onlar谋 birlikd蓹 daxil, v蓹 indi n枚vb蓹ti b枚y眉k add谋m
, 蓹lb蓹tt蓹, do臒ru yar谋m sort edir Bu alqoritm ilk add谋m.
Bel蓹likl蓹, biz bir, 眉莽, yeddi, be艧 y枚n蓹ldir.
Biz sonra sol yar谋s谋n谋n y枚n蓹ldir.
Ki, sol yar谋s谋, sa臒 yar谋m ki, v蓹 sonra bir v蓹 眉莽 birl蓹艧m蓹si.
Sonra sa臒 yar谋m, sonra yar谋m buraxd谋 bu, sonra sa臒 yar谋m.
Add谋m qal谋r n蓹 indi birl蓹艧m蓹si, v蓹?
B枚y眉k sol yar谋m v蓹 b枚y眉k Birle艧tirme sa臒 yar谋m, bel蓹 bir, orada gedir
sonra, sonra iki, 眉莽, d枚rd, be艧, alt谋, yeddi, sonra s蓹kkiz.
>> Bel蓹 ki, indi niy蓹 bu n蓹tic蓹d蓹 a艧kar olunur, x眉susil蓹 d蓹 蓹g蓹r n v蓹 logarithms daha
眉mumiyy蓹tl蓹 deyil, xilas 蓹n az谋 son yadda艧?
B蓹li, bu 艧ey boyu bildiri艧.
Biz s蓹kkiz elementl蓹ri var idi v蓹 biz iki, iki, iki b枚l眉n眉r.
Bel蓹 ki, baza daxil s蓹kkiz iki biz蓹 眉莽 verir.
V蓹 m蓹n蓹 etibar 蓹g蓹r ki, bir az dumanl谋.
Lakin, s蓹kkiz iki 眉莽 baza daxil bel蓹 ki, biz birl蓹艧m蓹si 眉莽 qat etdik.
V蓹 biz birl蓹艧di zaman elementl蓹ri, nec蓹 bir 莽ox elementl蓹ri
biz o sat谋r h蓹r baxmaq idi?
N 眉mumi, sa臒?
脺st s谋ra daxil 脟眉nki, biz t蓹dric蓹n bunu baxmayaraq,
biz n蓹tic蓹d蓹 bir d蓹f蓹 h蓹r say谋 toxundu.
V蓹 ikinci s谋rada, 眉莽眉n 枚l莽眉s眉 iki h蓹min siyah谋lar谋 birl蓹艧m蓹si,
biz bir d蓹f蓹 h蓹r element toxunmaq idi.
V蓹 sonra burada h蓹qiq蓹t蓹n ayd谋n son s谋rada,
biz o h蓹r toxunmaq idi bir d蓹f蓹, lakin yaln谋z bir d蓹f蓹 elementl蓹ri,
bel蓹 Buradak谋 n log n, sonra yat谋r.
>> V蓹 indi yaln谋z 艧eyi bir az etm蓹k yaln谋z bir an 眉莽眉n formal daha, 蓹g蓹r
陌ndi bu t蓹hlil etm蓹k idi y眉ks蓹k s蓹viyy蓹d蓹 bir n枚v at
v蓹 nec蓹 q蓹rar 眉莽眉n c蓹hd edin Siz ifad蓹 haqq谋nda getm蓹k bil蓹r
Bu alqoritm 莽al谋艧an zaman yaln谋z ona deyil baxaraq
bir g枚st蓹rdi M蓹s蓹l蓹n istifad蓹 ed蓹r蓹k,?
Yax艧谋, n蓹 q蓹d蓹r vaxt bir dey蓹rdim Sar谋 bu almaq kimi add谋m,
n <2 qaytar谋lmas谋 蓹g蓹r?
Ki, n蓹 b枚y眉k bir O var?
M蓹n, bir, bel蓹 bir add谋m g枚r蓹n deyil蓹m b蓹lk蓹 iki add谋mlar 蓹g蓹r 莽眉nki
v蓹 sonra geri, lakin bu daimi vaxt, sa臒?
Bel蓹likl蓹, biz O (1), oldu臒unu s枚yl蓹di M蓹n bu ifad蓹 ed蓹c蓹yik nec蓹.
T, yaln谋z vaxt 莽al谋艧an.
n, giri艧 枚l莽眉s眉 bel蓹 T (n), bir x眉lya yolu
莽al谋艧mas谋na dey蓹r蓹k 枚l莽眉s眉 n vaxt giri艧
qaydada olacaq daimi vaxt, O (1).
>> Lakin ba艧qa, bu bar蓹d蓹 n蓹?
Siz ifad蓹 nec蓹 bu sar谋 x蓹tt 莽al谋艧an zaman?
N蓹 T?
Siz c眉r burada istifad蓹 etm蓹k olar v蓹 cyclically m蓹nim sual cavab.
Bel蓹 ki, 莽al谋艧an zaman 蓹g蓹r biz yaln谋z dem蓹k general T (n) edir.
陌ndi siz c眉r burada punting edirik v蓹 , yax艧谋, yaln谋z sol yar谋m sort dey蓹r蓹k
v蓹 sonra sa臒 yar谋m sort.
Biz simvolik t蓹msil bil蓹r nec蓹 bu sar谋 x蓹tt 莽al谋艧an zaman?
N蓹 T?
Giri艧 枚l莽眉s眉 n蓹dir?
Iki n.
Niy蓹 yaln谋z dem蓹k deyil?
V蓹 sonra bu ba艧qa T (n / 2) v蓹 sonra yen蓹 iki s谋ralan谋r yar谋ya indirir daxil 蓹g蓹r,
nec蓹 bir 莽ox elementl蓹ri gedir蓹m m蓹lumat toxunmaq var?
n.
M蓹n bu ifad蓹 ed蓹 yaln谋z c眉r x眉lya olmaq
眉mumi 莽al谋艧an zaman kimi.
T (n), T (n / 2) yaln谋z 莽al谋艧an d蓹f蓹 plus T (n / 2), yar谋m v蓹 sa臒 yar谋m sol
plus y蓹qin ki, n add谋mlar olan O (n), lakin b蓹lk蓹, m蓹n iki barmaqlar谋n谋 istifad蓹 edir蓹m 蓹g蓹r,
bir 莽ox kimi iki d蓹f蓹 add谋mlar, lakin x蓹tti var.
Bu add谋mlar bir s谋ra var ki, n bir amil var
biz bu kimi ifad蓹 ed蓹 bil蓹r.
Bu, biz ayaqla z蓹rb蓹 laz谋md谋r indi geri orta m蓹kt蓹b riyaziyyat d蓹rsliyinin
biz n蓹tic蓹d蓹 t蓹krarlanma olursunuz ba艧a, bu b蓹rab蓹r, n d蓹f蓹 log n
siz h蓹qiq蓹t蓹n 蓹g蓹r riyaziyyat daha formal.
>> Bel蓹 ki, yaln谋z iki perspektivl蓹ri var.
Bir il蓹 bir sayca n眉may蓹nd蓹si n眉mun蓹 a臒谋r kodlu
s蓹kkiz n枚mr蓹l蓹ri, v蓹 daha 莽ox istifad蓹 biz orada alm谋艧d谋r nec蓹 眉mumi g枚r眉n眉艧眉.
Amma n蓹 h蓹qiq蓹t蓹n maraql谋 , yen蓹 velosiped bu anlay谋艧d谋r.
M蓹n loops 眉莽眉n istifad蓹 deyil蓹m.
I n枚v m眉蓹yy蓹n edir蓹m 枚z眉 bax谋m谋ndan bir 艧ey,
yaln谋z bu riyazi funksiyas谋,
h蓹m d蓹 bu yalan莽谋 kodu bax谋m谋ndan.
Bu yalan莽谋 kodu recursive edir onun x蓹tl蓹ri ki, iki
mahiyy蓹tc蓹 onu izah getm蓹k 眉莽眉n ki莽ik h蓹ll etm蓹k 眉莽眉n 枚z眉n眉 istifad蓹
ki莽ik 枚l莽眉s眉 problem, v蓹 sonra yenid蓹n v蓹 yenid蓹n
v蓹 yenid蓹n q蓹d蓹r yava艧-yava艧 onu bu qondarma baza halda a艧a臒谋.
>> Bel蓹 nin 蓹slind蓹 bir daha 莽ekici 莽蓹km蓹k imkan almaq-眉z bu a艧a臒谋dak谋 kimi.
M蓹n蓹 gedit getm蓹k v蓹 bir ed蓹k bug眉nk眉 m蓹nb蓹 kodu b蓹zi baxmaq,
Bu misal burada x眉susil蓹.
Y蓹qin ed蓹r Sigma 0, n枚mr蓹l蓹ri n biridir.
Bel蓹 ki, n蓹 tan谋艧 g枚r蓹k burada v蓹 tan谋mad谋臒谋.
Birinci biz bir ne莽蓹 var daxildir, bel蓹 ki, yeni bir 艧ey var.
Prototip.
M蓹n bir az dumanl谋 deyil蓹m Bu bir ne莽蓹 g眉n sonra,
lakin biz n蓹 dem蓹k idi bir funksiyas谋 prototip deyil?
Auditoriya: [i艧itilemez].
HOPARL脰R 1: N蓹 olub?
Auditoriya: Biz bunu elan edir.
HOPARL脰R 1: Biz bunu elan edir.
Bel蓹 ki, hey, cingilti t蓹dris h蓹qiq蓹t蓹n, h蓹l蓹 bu h蓹yata deyil,
lakin haradasa bu fayl谋 ehtimalla, bir funksiyas谋 n蓹 adland谋rmaq gedir?
Sigma.
V蓹 bu yaln谋z bir s枚z ki, bu kimi baxmaq olacaq.
Bu kimi bir tam almaq olacaq input-- v蓹 daha 莽ox a莽谋q ola bil蓹r
v蓹 int n Ve dem蓹k bir int geri gedir,
lakin n枚qt蓹li verg眉l vasit蓹l蓹ri, mm, m蓹n 蓹traf谋nda almaq laz谋md谋r bir az sonra bu h蓹yata.
Yen蓹 cingilti lal edir.
Bu, yaln谋z n蓹 bilm蓹k olacaq Siz alt 眉st dem蓹k
bel蓹 ki, biz 蓹n az谋 verm蓹k laz谋md谋r Bu n蓹 bir ipucu g蓹lib.
>> 陌ndi burada 蓹sas baxaq.
Burada a艧a臒谋 diyirl蓹yin bildirin v蓹 bunu 蓹sas n蓹 g枚rm蓹k.
Bu funksiya uzun deyil, v蓹 茝slind蓹 burada tikinti tan谋艧 edir.
M蓹n bir d蓹yi艧蓹n n elan v蓹 M蓹n t蓹krar istifad蓹莽i bezdirm蓹k
GetInt istifad蓹 bir m眉sb蓹t tam 眉莽眉n, v蓹 bu loop yaln谋z exit
bir istifad蓹莽i riay蓹t etmi艧dir.
Is蓹 bunu, biz istifad蓹 etdiyiniz yol istifad蓹莽i bezdirm蓹k.
陌ndi bu maraql谋 deyil.
M蓹n adl谋 int b蓹yan "cavab".
M蓹n bu qaytar谋lmas谋 d蓹y蓹ri t蓹yin adl谋 funksiyas谋 "sigma."
M蓹n h蓹l蓹 n蓹 bilirik, lakin deyil M蓹n bir an 蓹vv蓹l elan xat谋rlay谋ram.
V蓹 sonra m蓹n ke莽蓹n al谋ram d蓹y蓹ri istifad蓹莽i tipli, n ki
v蓹 sonra m蓹n cavab hesabat.
Yax艧谋 geri h蓹r蓹k蓹t ed蓹k yaln谋z bir an 眉莽眉n.
Bu kataloq davam ed蓹k, etm蓹k sigma 0, h蓹qiq蓹t蓹n, bu proqram 莽al谋艧t谋rmak
v蓹 n蓹 g枚rm蓹k.
M蓹n ir蓹li getm蓹k v蓹 run 蓹g蓹r Bel蓹 ki, Bu proqram, ./sigma-0,
v蓹 m蓹n bir m眉sb蓹t yaz谋n Iki kimi tam, Sigma,
Yunan simvolu n蓹z蓹rd蓹 tutur kimi, yaln谋z b眉t眉n n枚mr蓹l蓹ri q蓹d蓹r 蓹lav蓹 etm蓹k 眉莽眉n gedir
iki q蓹d蓹r s谋f谋r.
Bel蓹 ki, 0 plus 1 plus 2.
Bel蓹 ki, bu 眉mid m蓹n蓹 3 verm蓹lidir.
Y蓹ni bunu b眉t眉n var.
V蓹 eyni, 蓹g蓹r m蓹n yenid蓹n bu 莽al谋艧t谋rmak v蓹 m蓹n bu say谋 眉莽 verm蓹k
ki var, bel蓹 ki, 3 plus 2 var 5, 眉st蓹g蓹l 1 m蓹n蓹 6 verm蓹lidir.
M蓹n, h蓹qiq蓹t蓹n, crazy almaq sonra 蓹g蓹r b枚y眉k n枚mr蓹l蓹ri yazma臒a ba艧lay谋n,
m蓹n蓹 verm蓹lidir b枚y眉k v蓹 daha b枚y眉k m蓹bl蓹臒d蓹.
Bel蓹 ki, b眉t眉n var.
>> Bel蓹 ki, n蓹 sigma kimi g枚r眉n眉r?
B蓹li, bu olduqca sad蓹 var.
Biz h蓹yata ola bil蓹r nec蓹 h蓹ft蓹 ke莽mi艧 ne莽蓹 bu.
"Int" qaytar谋lmas谋 n枚v眉 olacaq.
Sigma ad谋, v蓹 edir 蓹v蓹zin蓹 n d蓹yi艧蓹n m.
M蓹n 眉st q蓹d蓹r d蓹yi艧dirm蓹k laz谋md谋r.
Sonra bu bir a臒l谋 ba艧谋nda olma 莽ek edir.
Biz bir anda n蓹 g枚r眉rs眉n眉z.
陌ndi m蓹n bir d蓹yi艧蓹n elan, m蓹bl蓹臒i, s谋f谋ra ba艧lamaq.
Sonra loop 眉莽眉n bu var y蓹qin ayd谋nl谋q 眉莽眉n, iterating,
i = 1-d蓹n bir = m, olan n蓹 Y谋臒d谋臒谋n谋z istifad蓹莽i, v蓹 sonra m蓹n
bu kimi m蓹bl蓹臒i artt谋rmay谋.
V蓹 sonra m蓹bl蓹臒i geri.
>> Bel蓹 ki, suallar bir ne莽蓹.
One, bu ki, m蓹nim comment iddia sonsuz loop riskini qar艧谋s谋n谋 al谋r.
Niy蓹 bir m蓹nfi say谋 ke莽蓹n olard谋 , potensial, sonsuz loop vadar?
>> Auditoriya: Siz m nail olmaq olmaz.
>> HOPARL脰R 1: m etm蓹yin.
Amma m ke莽mi艧dir, ed蓹k olunur sad蓹 bir misal hesab edir.
M t蓹r蓹find蓹n q蓹bul edilir, 蓹g蓹r m蓹nfi bir istifad蓹莽i.
As谋l谋 olmayaraq 蓹sas.
Main bizi qoruyur Bu da, m蓹n yaln谋z deyil蓹m
h蓹qiq蓹t蓹n anal olan sigma d蓹 蓹min
ki, giri艧 m蓹nfi ola bilm蓹z.
M m蓹nfi Bel蓹 ki, m蓹nfi bir 艧ey kimi.
N蓹 olacaq?
Yax艧谋, i gedir bir ba艧lat谋lm谋艧 almaq,
sonra i olacaq daha az v蓹 ya m b蓹rab蓹rdir?
>> Il蓹 se莽ilir.
Ki, verm蓹y蓹k 蓹mrind蓹 deyilirdi: Bu hekay蓹 nix bildirin.
脟眉nki, ki, sual etm蓹yib M蓹n alluding edir蓹m ki, risk
i, 莽眉nki ba艧 niyy蓹tind蓹 deyil h蓹mi艧蓹 b枚y眉k than-- OK ola gedir,
M蓹n sual d枚nm蓹k.
OK.
Burada yaln谋z bu hiss蓹si diqq蓹t ed蓹k.
Niy蓹 b蓹zi b蓹yan etm蓹yib loop k蓹narda?
Line etdik 49 Notice loop daxilind蓹 i elan,
lakin online 48 I var b蓹zi xaricind蓹 elan etdi.
B蓹li.
Auditoriya: [i艧itilemez].
HOPARL脰R 1: Sure.
Bel蓹 ki, ilk n枚vb蓹d蓹 m蓹n 蓹lb蓹tt蓹 deyil elan v蓹 m蓹bl蓹臒i ba艧lamaq ist蓹yir蓹m
Bu s谋f谋r daxilind蓹 h蓹r iteration loop,
Bu ayd谋n m蓹臒lub 莽眉nki n枚mr蓹l蓹ri c蓹ml蓹nm蓹si m蓹qs蓹di.
M蓹n d蓹yi艧蓹n saxlamaq olard谋 s谋f谋r geri d蓹y蓹ri.
V蓹 h蓹m莽inin hans谋 ba艧qa daha gizli deyil eyni dizayn q蓹rar 眉莽眉n s蓹b蓹b?
B蓹li.
>> Auditoriya: [i艧itilemez].
HOPARL脰R 1: Exactly.
M蓹n k蓹narda daxil olmaq 眉莽眉n ist蓹diyiniz 莽ox n蓹 line loop?
53 On.
V蓹 thumb bizim qayda 蓹sas谋nda m眉hazir蓹l蓹r bir ne莽蓹 蓹vv蓹l,
d蓹yi艧蓹nl蓹r 眉莽眉n, h蓹qiq蓹t蓹n, xaric olunur onlar谋 蓹hat蓹 ed蓹n q谋vr谋m a艧谋rma.
M蓹n daxili m蓹bl蓹臒 b蓹yan yoxsa bel蓹 Bu xarici q谋vr谋m a艧谋rma,
M蓹n line 53 istifad蓹 ed蓹 bilm蓹z.
M蓹n b蓹yan, ba艧qa bir yol qoymaq burada, h蓹tta daxilind蓹 m蓹bl蓹臒i
Loop, m蓹n 53 il蓹 ged蓹 bilm蓹di.
D蓹yi艧蓹n s蓹m蓹r蓹li ke莽mi艧dir olard谋.
Bel蓹 ki, s蓹b蓹bl蓹rd蓹n bir ne莽蓹.
Amma indi geri ged蓹k v蓹 n蓹 g枚rm蓹k.
Bel蓹 ki, sigma adl谋 olur.
Bu 1 plus 2 v蓹 ya 1 plus 2 up edir plus 3 v蓹 sonra d蓹y蓹r qaytar谋r
cavab ma臒azalar onu v蓹 burada printf M蓹n ekranda g枚r蓹n niy蓹 edir.
Bel蓹 ki, bu biz iterativ z蓹ng ed蓹c蓹yik n蓹 yana艧ma, harada iteration yaln谋z
bir loop istifad蓹 dem蓹kdir.
Loop, bir m眉dd蓹t loop, bir Baxmayaraq A loop, yaln谋z daha bir 艧ey bunu
v蓹 t蓹krar.
>> Amma sigma s蓹liq蓹li funksiyas谋 n枚v M蓹n f蓹rqli h蓹yata bil蓹r.
Bu bar蓹d蓹 n蓹 olan yaln谋z c眉r s蓹rin olmaq
M蓹n蓹 h蓹qiq蓹t蓹n xilas ed蓹k yay谋nd谋rma bir 莽ox
Bu funksiya 莽眉nki h蓹qiq蓹t蓹n, 莽ox sad蓹dir.
G蓹lin yava艧-yava艧 a艧a臒谋 yaln谋z onun d枚rd 蓹sas x蓹tl蓹ri
v蓹 xilas b眉t眉n 艦蓹rh v蓹 q谋vr谋m a艧谋rma.
Bu mind-蓹s蓹n c眉r alternativ h蓹yata ke莽irilm蓹si.
B眉t眉n sa臒, b蓹lk蓹 a臒la-蓹s蓹n deyil, lakin sexier, b眉t眉n sa臒 c眉r,
莽ox daha 莽ox m眉f蓹ss蓹l 艧蓹kild蓹 bu baxmaq.
Kod yaln谋z d枚rd x蓹tl蓹ri il蓹, M蓹n ilk bu a臒l谋 ba艧谋nda olma 莽ek var.
M daha az v蓹 ya b蓹rab蓹r olduqda, s谋f谋r, sigma he莽 bir 蓹h蓹miyy蓹t k蓹sb edir.
Bu yaln谋z ehtimal m眉sb蓹t n枚mr蓹l蓹ri 眉莽眉n bu halda,
m蓹n yaln谋z gedir蓹m 枚zba艧谋na s谋f谋r geri
蓹n az谋 biz var ki, b蓹zi 蓹sas i艧i qondarma.
>> Amma burada g枚z蓹llik var.
Bu 蓹lav蓹 bu ideyan谋n b眉t枚vl眉kd蓹, n 1 蓹d蓹d, v蓹 ya bu halda m,
dollar ke莽蓹n c眉r edil蓹 bil蓹r.
Yax艧谋, m 1 c蓹midir n蓹dir?
Yax艧谋, siz n蓹 bilirik?
Bu m m蓹bl蓹臒i kimi eyni plus m minus 1 1 c蓹midir.
Yax艧谋 n蓹 bilirik?
M minus 1 sigma n蓹dir?
Yax艧谋, 蓹g蓹r n枚v bu edin m蓹ntiqi, bu m minus 1 kimi eyni
plus m minus 2 sigma.
Siz c眉r yaln谋z var bil蓹rsiniz Yaln谋z 蓹g蓹r bu kimi
dost annoy 莽al谋艧谋r v蓹 onlar siz蓹 bir sual,
c眉r, bir sual il蓹 cavab c眉r buck ke莽蓹n saxlaya bil蓹rsiniz.
Amma n蓹 蓹sas var siz saxlamaq 蓹g蓹r ki, sual ki莽ik v蓹 daha ki莽ik edilm蓹si
v蓹 ki莽ik, etdiyiniz sigma n蓹 xahi艧
n, bir sigma n蓹 n, n sigma n蓹 var?
Siz n蓹 xahi艧 edirik n sigma, n蓹 sigma var
n minus 1, n minus 2 sigma n蓹 var?
N蓹hay蓹t, sizin sual n蓹 olmaq niyy蓹tind蓹dir?
Bir v蓹 ya sigma n蓹dir s谋f谋r, bir 莽ox ki莽ik d蓹y蓹ri,
v蓹 tezlikl蓹 sizin kimi ki, dost almaq
xahi艧 etm蓹k niyy蓹tind蓹 deyil yen蓹 eyni sual,
yaln谋z oh s谋f谋r, dem蓹k olacaq.
Biz bu c眉r oynayan tamamlay谋n axmaq cyclical oyun.
>> Bel蓹 ki, recursion proqramla艧d谋rma aktd谋r bir funksiyas谋 枚z眉 z蓹ng.
T蓹rtib v蓹 run zaman Bu proqram deyil, eyni 艧蓹kild蓹 davranmaq 眉莽眉n gedir,
lakin n蓹 蓹sas var daxili sigma adl谋 funksiyas谋,
kod orada bir x蓹tt var biz 枚z眉m眉z眉 z蓹ng etdiyiniz
olan normal pis olacaq.
M蓹s蓹l蓹n, n蓹 ilk, m蓹n 蓹g蓹r Bu t蓹rtib, bel蓹 sigma-- etm蓹k
sigma 1 ./sigma-1 etm蓹k.
M眉sb蓹t tam, xahi艧 edirik, 50 1275.
Bel蓹 ki, n蓹 funksiyas谋 g枚r眉n眉r do臒ru bir test 蓹sas谋nda ola bil蓹r.
Amma bir az t蓹hl眉k蓹li n蓹 almaq v蓹 qondarma baza halda silm蓹k,
v蓹 yaln谋z yax艧谋 m蓹n yaln谋z edilm蓹si al谋ram, dem蓹k bu art谋q bu daha m眉r蓹kk蓹b.
Nin yaln谋z sigma hesablamaq imkan m alaraq v蓹 sonra 蓹lav蓹
m minus bir sigma da?
Yax艧谋, n蓹 burada n蓹 olacaq?
Nin ki莽iltm蓹k ed蓹k.
Nin proqram derleyece臒iz ed蓹k, saxlamaq, proqram derleyece臒iz,
v蓹 sonra haz谋r ./sigma-1, yak谋nla艧t谋rma , 50 m眉sb蓹t tam edin daxil edin.
Nec蓹 bir 莽ox haz谋r谋q ki, g枚r蓹n q蓹d蓹r fess 眉莽眉n?
>> OK.
Bel蓹 ki, bu ba艧 ver蓹 bil蓹r bir s谋ra s蓹b蓹bl蓹ri,
v蓹 s蓹mimi bu h蓹ft蓹 biz ist蓹yirik onlara daha 莽ox verm蓹k haqq谋nda.
Amma bu halda, c蓹hd geri s蓹b蓹b
Burada n蓹 ba艧 ver蓹 bil蓹r?
Seqmentasiya g眉nah, biz ke莽蓹n etdi vaxt, yadda艧 seqmentin蓹 aiddir.
Pis bir 艧ey ba艧 verib.
Amma n蓹 oldu mexaniki 蓹yri getdi ki,
脟眉nki burada m蓹nim 莽谋xar谋lmas谋 ki, qondarma baza halda,
oldu臒u bir a臒谋r kodlu d蓹y蓹ri geri?
N蓹 yanl谋艧 getdi d眉艧眉n眉rs眉n眉z?
B蓹li.
>> Auditoriya: [i艧itilemez].
HOPARL脰R 1: Ah.
Yax艧谋 suald谋r.
Say谋 枚l莽眉s眉 bel蓹 M蓹n c蓹ml蓹nm蓹si ki,
Bu 枚t眉b ki, b枚y眉k var yadda艧 kosmik 枚l莽眉s眉.
Yax艧谋 fikir, lakin 蓹sasl谋 bir q蓹za s蓹b蓹b olacaq.
Ki, tam da艧q谋n s蓹b蓹b ola bil蓹r bit yaln谋z 莽evirmek
sonra biz h蓹qiq蓹t蓹n b枚y眉k s蓹hv bir m蓹nfi say谋 kimi, say谋,
lakin 枚z眉 bir q蓹za s蓹b蓹b deyil ki.
脟眉nki sonunda g眉n bir int h蓹l蓹 32 bit edir.
Siz fikrind蓹 deyilik t蓹sad眉f蓹n 33-c眉 az o臒urlamaq.
Amma yax艧谋 bir fikir.
B蓹li.
>> Auditoriya: [i艧itilemez].
HOPARL脰R 1: Metodu he莽 莽al谋艧an dayan谋r,
v蓹 h蓹qiq蓹t蓹n yen蓹 d蓹 枚z眉n眉 莽a臒谋r谋r v蓹 t蓹krar v蓹 yenid蓹n
yenid蓹n v蓹 he莽 He莽 bu funksiyalar谋
onlar谋n yegan蓹 x蓹tti, 莽眉nki ba艧a kodu t蓹krar themself 莽a臒谋r谋r
v蓹 yenid蓹n.
V蓹 n蓹 h蓹qiq蓹t蓹n var biz burada ba艧 v蓹 indi
c眉r pictorially bu c蓹lb ed蓹 bil蓹r.
M蓹n蓹 bir art谋q getm蓹k ed蓹k yaln谋z bir an 眉莽眉n 艧蓹kil.
Bu ki, bir 艧蓹kil n蓹tic蓹d蓹 蓹ti ed蓹c蓹k
daha 蓹trafl谋 haqq谋nda neler Sizin komp眉ter yadda艧 daxilind蓹.
V蓹 ki 莽谋x谋r Bu 艧蓹kil alt
y谋臒谋n谋 deyil蓹n bir 艧ey deyil.
Bu y谋臒谋n yadda艧, RAM bir y谋臒谋n,
yaln谋z h蓹r hans谋 bir zaman istifad蓹 bir funksiyas谋 adlan谋r.
Ist蓹nil蓹n vaxt, bir proqram莽谋, bir funksiyas谋 z蓹ng,
蓹m蓹liyyat sistemi kimi Mac OS, Windows v蓹 ya Linux,
Polip bayt bir d蓹st蓹, b蓹lk蓹 bir ne莽蓹 kilobayt, b蓹lk蓹 ne莽蓹 megabayt
yadda艧, onlar谋 蓹ll蓹ri Siz蓹 v蓹 sonra imkan verir
Siz istifad蓹 ed蓹r蓹k funksiyan谋 莽al谋艧t谋rmak n蓹 d蓹yi艧蓹nl蓹rin laz谋md谋r.
V蓹 sonra ba艧qa z蓹ng 蓹g蓹r funksiyas谋 v蓹 ba艧qa bir funksiyas谋,
Siz yadda艧 bir dilim almaq v蓹 yadda艧 bir dilim.
>> V蓹 h蓹qiq蓹t蓹n, bu ya艧谋l qablar 蓹g蓹r Annenberg d蓹n yadda艧 etdirir
Burada ilk olur zaman funksiyas谋 sigma z蓹ng.
Bu kimi bir tray qoyulmas谋 kimi ilkin bo艧 y谋臒谋n谋 n蓹.
Amma sonra ki, 蓹g蓹r tray bel蓹 ki, dan谋艧maq, 枚z眉 莽a臒谋r谋r,
ba艧qa instansiya z蓹ng sigma ki, var
蓹m蓹liyyat sistemi xahi艧 kimi, ooh, bir az daha 莽ox yadda艧 laz谋md谋r
m蓹n蓹 verir.
V蓹 sonra 眉st 眉st眉n蓹 olur.
Amma n蓹 蓹sas var ki, ilk tray, h蓹l蓹
O, bu ikinci tray istinad 莽眉nki.
陌ndi is蓹, sigma sigma z蓹ng, ki, daha 莽ox yadda艧 t蓹l蓹b kimi var.
Buraya piled olur.
sigma ba艧qa bir var, sigma z蓹ng burada piled olur ki, tray.
V蓹 bunu saxlamaq 蓹g蓹r, n蓹hay蓹t, n枚v bu vizual x蓹rit蓹si
ki, chart, n蓹 olacaq qablar v蓹 y谋臒谋n谋 il蓹 n蓹?
Bu m蓹bl蓹臒 art谋q gedir yadda艧 sizin komp眉ter var.
V蓹 tezlikl蓹 bu ya艧谋l tray kimi 眉f眉qi x蓹tt art谋q
y谋臒谋n谋 yuxar谋da v蓹 s枚z y谋臒谋n bax, biz g蓹l蓹c蓹kd蓹 geri g蓹lm蓹k laz谋md谋r,
ki, pis bir 艧ey deyil.
Y谋臒谋n f蓹rqli edir yadda艧 seqment,
v蓹 bu imkan qablar xovlu v蓹 xovlu 眉zr蓹
Siz art谋q olacaq yadda艧 枚z seqment,
v蓹 proqram h蓹qiq蓹t蓹n q蓹za gedir.
>> 陌ndi bir k蓹nara, bu ideya kimi recursion, buna g枚r蓹 d蓹,
ayd谋n, probleml蓹r蓹 g蓹tirib 莽谋xara bil蓹r, lakin m眉tl蓹q pis bir 艧ey deyil.
脟眉nki hesab, sonra b眉t眉n how-- v蓹 b蓹lk蓹
bu bir al谋艧ma edir T茝TB陌Q NASIL 眉莽眉n z蓹rif v蓹 ya nec蓹 sad蓹
sigma ki, h蓹yata idi.
V蓹 biz istifad蓹 etm蓹k fikrind蓹 deyilik CS50 b眉t眉n 莽ox recursion,
lakin CS51, v蓹 h蓹qiq蓹t蓹n h蓹r hans谋 bir sinif Siz data strukturlar谋 manipulyasiya
a臒ac, v蓹 ya ail蓹 a臒ac kimi, ki, bir iyerarxiya
Bu super faydal谋 super var.
陌ndi bir k蓹nara, bel蓹 ki, siz komp眉ter elm ist蓹y蓹n kimi
Google-nin b蓹zi il蓹 tan谋艧 Google getm蓹k 蓹g蓹r daxili zarafatlar,
v蓹 siz n蓹 q蓹d蓹r baxmaq , definition dem蓹k, recursion daxil edin.
Uh-huh.
Bir k蓹nara kimi, m蓹n bir ne莽蓹 q蓹d蓹r 莽谋xard谋.
Bu 10 d蓹qiq蓹 kimi idi s眉r眉nd眉rm蓹莽ilik bu s蓹h蓹r.
茝g蓹r Google "蓹yri" bildiri艧 ba艧谋n谋 蓹y蓹r蓹k slightly--
v蓹 sonra bu b蓹lk蓹 蓹n d蓹h艧蓹tli
kims蓹 kimi s蓹rf-ci ild蓹n Bu h蓹yata onlar谋n g眉n
bir ne莽蓹 il g蓹lib ago--.
Oh, wait-- ki, bir s蓹hv var.
>> Bel蓹 ki, bir 莽al谋艧an D眉nyan谋n 蓹n b枚y眉k saytlar谋
bu axmaq az Pasxa yumurta var.
Onlar y蓹qin ki, bir istehlak kodu x蓹tl蓹ri nontrivial say谋
yaln谋z biz ola bil蓹r ki, kimi ki莽ik fun 艧eyi.
Amma 蓹n az谋 indi almaq Bu daxili zarafatlar b蓹zi.
>> 陌ndi b蓹zi n蓹z蓹r salaq a臒, biz gec izah etdik yat谋r
v蓹 geri peel ba艧lamaq B蓹zi qat texniki
Siz, h蓹qiq蓹t蓹n, ba艧a d眉艧眉r蓹m ki, neler oldu
v蓹 ba艧a d眉艧m蓹k olar t蓹hdidl蓹r b蓹zi,
Shellshock kimi, 陌ndi olma臒a ba艧lad谋
h蓹r k蓹sin 枚n眉nd蓹 diqq蓹t, 蓹n az谋 media.
Bel蓹 ki, burada bir 莽ox sad蓹 funksiyas谋 Bo艧luq, he莽 bir 艧ey qaytar谋r.
Onun ad谋 d蓹yi艧dirm蓹k olur.
Bu iki d蓹yi艧蓹nl蓹rin edir v蓹 he莽 bir 艧ey qaytar谋r.
A v蓹 b edir.
Bel蓹 ki, tez n眉mayi艧.
Biz bu q蓹d蓹r g蓹tirdi.
Biz d蓹 bir az bil蓹r yaln谋z bir an 眉莽眉n burada q谋rmaq
v蓹 i莽m蓹k 眉莽眉n bir az bir 艧ey var.
Kims蓹 qo艧ulmas谋 a臒la deyil ki, 蓹g蓹r Burada yaln谋z bir an 眉莽眉n m蓹n蓹.
Nec蓹 maroon k枚yn蓹k haqq谋nda?
Q蓹d蓹r Hadi.
Yaln谋z bir g眉n.
Baxmayaraq ki, t蓹艧蓹kk眉r edir蓹m.
B眉t眉n h眉quqlar, biz olan burada g蓹lir?
Sizin ad谋n谋z n蓹dir?
>> HOPARL脰R 4: Laura.
>> HOPARL脰R 1: Laura.
Q蓹d蓹r Hadi.
Bel蓹 ki, Laura, 莽ox sad蓹 problem bu g眉n.
Yo cavab Nice.
B眉t眉n h眉quqlar.
Bel蓹likl蓹, biz burada b蓹zi s眉d v蓹 biz burada b蓹zi porta臒al suyu var
v蓹 b蓹zi fincan ki, biz Bu g眉n Annenberg d蓹n borc.
>> HOPARL脰R 4: Borc.
HOPARL脰R 1: V蓹 ir蓹li getm蓹k 眉莽眉n gedir v蓹 bu yar谋m 艧眉艧蓹 verir.
B眉t眉n h眉quqlar.
V蓹 biz yar谋m verm蓹k laz谋md谋r s眉d bir 艧眉艧蓹.
Oh, v蓹 yaln谋z, bel蓹 ki, bu kimi n蓹 xat谋rlay谋ram
M蓹n g蓹tirm蓹k yadda Bu v蓹 bu g眉n.
Okay.
Siz a臒la deyil ki, g枚r蓹k, biz 脰z eyn蓹k onlar谋 qoya bil蓹r
蓹g蓹r siz.
Bu Laura g枚z眉 d眉nya olacaq.
B眉t眉n h眉quqlar.
Bel蓹 ki, m蓹qs蓹d, iki fincan verilir Burada maye, s眉d v蓹 porta臒al 艧ir蓹si,
iki m蓹zmunu d蓹yi艧dirm蓹k, bel蓹 ki, porta臒al 艧ir蓹si s眉d fincan gider
v蓹 s眉d gider porta臒al 艧ir蓹si fincan.
>> HOPARL脰R 4: M蓹n ba艧qa bir fincan almaq m谋?
HOPARL脰R 1: M蓹n d蓹, xahi艧 el蓹 sevindim Bu daha yax艧谋 g枚r眉nt眉l蓹r olard谋
xahi艧 olmasayd谋.
Amma b蓹li, biz bir 眉莽眉nc眉 t蓹klif ed蓹 bil蓹r 蓹lb蓹tt蓹, bo艧 ki, fincan.
B眉t眉n h眉quqlar.
Bel蓹 ki, orada m蓹zmunu d蓹yi艧dirm蓹k.
脟ox g枚z蓹l.
脟ox yax艧谋.
Siz olduqca diqq蓹tl蓹 bunu edirik.
V蓹 眉莽 add谋m.
B眉t眉n h眉quqlar.
茝la.
Alq谋艧 b枚y眉k d蓹yirmi Laura 眉莽眉n yax艧谋 olard谋.
B眉t眉n h眉quqlar.
Biz bir az ayr谋l谋q h蓹diyy蓹 var sizin 眉莽眉n, lakin m蓹n蓹 bu g枚t眉r蓹k.
脟ox t蓹艧蓹kk眉r edirik.
Sad蓹 misal Bel蓹likl蓹, baxmayaraq ki, 茝g蓹r ki, n眉mayi艧 etdirm蓹k
m蓹zmunu d蓹yi艧dirm蓹k ist蓹yir蓹m iki qablar,
v蓹 ya d蓹yi艧蓹nl蓹rin onlara z蓹ng ed蓹k, B蓹zi m眉v蓹qq蓹ti saxlama laz谋md谋r
bel蓹 m蓹zmunu bir ke莽irm蓹y蓹 Siz, h蓹qiq蓹t蓹n m眉badil蓹 ed蓹 bil蓹r ki,.
Bel蓹 ki, h蓹qiq蓹t蓹n, burada bu m蓹nb蓹 kodu q蓹d蓹r C m蓹hz n眉may蓹nd蓹sidir.
Porta臒al 艧ir蓹si bir v蓹 s眉d idi , b idi v蓹 biz iki d蓹yi艧dirm蓹k ist蓹di
Siz yarad谋c谋 bir 艧ey c蓹hd ed蓹 bil蓹r dig蓹r daxil bir t枚k蓹r蓹k,
lakin y蓹qin ki, deyil ki x眉susil蓹 d蓹 son.
V蓹 bel蓹 ki, biz 眉莽眉nc眉 fincan, z蓹ng istifad蓹 Bu konvensiya t蓹r蓹find蓹n T-M-P tmp
v蓹 m蓹zmunu qoymaq OJ ki, sonra bir fincan d蓹yi艧dirm蓹k,
sonra daxil OJ qoymaq orijinal fincan, bununla
tam olaraq nail olmaq Laura, svop etdi.
>> Bel蓹 ki, m蓹hz bunu bildirin.
M蓹n蓹 ir蓹li getm蓹k v蓹 a莽maq ki, misal up
h蓹qiq蓹t蓹n, he莽 bir "adl谋 bu deyil, 莽眉nki ", d蓹yi艧dirm蓹k
Sizc蓹 bil蓹r kimi sad蓹c蓹 edilir.
Bel蓹 ki, bu proqram, fark M蓹n stdio.h, bizim k枚hn蓹 dostumuz istifad蓹 edir蓹m.
M蓹n prototip var , orada m眉badil蓹 眉莽眉n olan
onun h蓹yata ke莽irilm蓹si 眉zr蓹 dem蓹kdir y蓹qin ki, a艧a臒谋,
v蓹 g枚r蓹k 蓹sas n蓹 bu proqram m蓹nim 眉莽眉n n蓹 olacaq.
M蓹n ilk int x olur elan bir v蓹 y iki olur int.
Bel蓹 ki, OJ kimi o hesab m眉vafiq v蓹 s眉d.
V蓹 sonra m蓹n yaln谋z bir var printf x bu s枚yl蓹y蓹r蓹k
v蓹 y yaln谋z m蓹n bil蓹r, bu vizual neler oldu.
Sonra iddia printf var M蓹n iki d蓹yi艧dirm蓹 edir蓹m ki,
v蓹 sonra m蓹n bir 莽ap onlar d蓹yi艧dirildikd蓹 edirik ki, iddia,
v蓹 m蓹n yen蓹 x v蓹 y 莽ap.
Bel蓹 ki, a艧a臒谋 burada svop edir d蓹qiq Laura n蓹,
v蓹 biz g枚rd眉m d蓹qiq n蓹 bir an 蓹vv蓹l ekran.
>> Bel蓹 nin ir蓹li getm蓹k v蓹 sorely m蓹yus olacaq.
He莽 bir m眉badil蓹 etm蓹k, v蓹 he莽 bir m眉badil蓹 run, Burada 莽谋x谋艧 yak谋nla艧t谋rma.
Daxil edin x y d蓹yi艧dirildikd蓹 d蓹yi艧dirm蓹, 2, 1.
x h蓹l蓹 1 v蓹 y h蓹l蓹 2.
Bel蓹 ki, baxmayaraq, s蓹mimi, bu g枚r眉n眉r d蓹qiq daha 莽ox texniki olsa, kimi,
Laura n蓹, i艧 deyildi.
Bel蓹 ki, niy蓹 ki?
Yax艧谋, o zaman 莽谋x谋r ki, biz bu kimi bir proqram yazmaq
h蓹m 蓹sas, burada qeyd olunur v蓹 sonra ba艧qa bir funksiyas谋, svop kimi,
Burada qeyd olunan d眉nya 莽a臒谋r谋r
kimi bir az bir 艧ey g枚r眉n眉r bir an 蓹vv蓹l bu qablar.
Zaman 蓹sas adl谋 olur ilk, ki, 蓹m蓹liyyat sistemi t蓹l蓹b kimi
h蓹r hans谋 bir yerli 眉莽眉n yadda艧 bir az x v蓹 蓹sas var ki, y kimi d蓹yi艧蓹nl蓹rin,
v蓹 onlar orada son.
茝sas z蓹ngl蓹r d蓹yi艧dirm蓹k, v蓹 蓹sas, lakin 蓹g蓹r iki d蓹lill蓹ri, bir v蓹 b d蓹yi艧dirm蓹k ke莽ir,
porta臒al 艧ir蓹si v蓹 s眉d, bu kimi deyil porta臒al 艧ir蓹si v蓹 s眉d t蓹hvil
Laura.
Komp眉ter n蓹, onu edir porta臒al 艧ir蓹si sur蓹tl蓹rini ke莽ir
ki, Laura s眉d v蓹 sur蓹tl蓹ri, n蓹 bu tray daxilind蓹 n蓹tic蓹d蓹 var
d蓹y蓹ri bir v蓹 iki v蓹 ya OJ edir v蓹 s眉d, amma sur蓹t,
bel蓹 ki, bu m蓹qamda hekay蓹 var
Bu qablar h蓹r OJ v蓹 s眉d edir.
Bir v蓹 iki var Bu qablar h蓹r,
v蓹 svop funksiyas谋 h蓹qiq蓹t蓹n i艧l蓹yir.
Bu daxili onlara d蓹yi艧dirm蓹 oldu ikinci topmost tray,
lakin d蓹yi艧dirm蓹 he莽 bir t蓹sir var.
V蓹 yaln谋z b蓹zi 蓹saslan谋r biz 蓹sas prinsipi
蓹vv蓹l dan谋艧d谋q, v蓹 h蓹qiq蓹t蓹n yaln谋z bir ne莽蓹 d蓹qiq蓹 蓹vv蓹l, n蓹
d蓹yi艧蓹n izah ed蓹 bil蓹r svop daxilind蓹 v蓹 b
baxmayaraq ki, x v蓹 y he莽 bir t蓹siri yoxdur M蓹n m眉badil蓹 funksiyas谋 x v蓹 y ke莽di.
Burada 蓹sas s枚z n蓹dir simplistically izah ed蓹 bil蓹r?
M蓹n burada e艧itdim edir蓹m?
Auditoriya: qay谋t.
HOPARL脰R 1: qay谋t?
Qay谋tmaq deyil.
Dig蓹r biri il蓹 ged蓹k.
N蓹 olub?
>> Auditoriya: [i艧itilemez].
>> HOPARL脰R 1: OK, biz bil蓹r d枚nm蓹k bel蓹 hekay蓹 geri i艧,
lakin daha sad蓹 izah谋 var.
Auditoriya: Sayt.
HOPARL脰R 1: Sayt.
M蓹n v眉s蓹t almaq laz谋md谋r.
Bel蓹 ki, 蓹hat蓹 dair蓹si, harada yadda Bizim x v蓹 y elan etdi.
Onlar daxilind蓹 elan edirik 蓹sas sa臒 burada.
bir v蓹 b, eyni zamanda, s蓹m蓹r蓹li elan
svop daxilind蓹, kifay蓹t q蓹d蓹r da q谋vr谋m a艧谋rma, lakin h蓹l蓹
m眉badil蓹 眉mumi sah蓹si.
V蓹 h蓹qiq蓹t蓹n, bir v蓹 b yaln谋z bu tray daxilind蓹 m枚vcud
Annenberg, bu kod ikinci y谋臒谋n.
Bel蓹 ki, biz, h蓹qiq蓹t蓹n, sur蓹ti d蓹yi艧ir, lakin edirik ki, h蓹qiq蓹t蓹n b眉t眉n faydal谋 deyil.
>> Bel蓹 ki, bir n蓹z蓹r ed蓹k bu bir az a艧a臒谋 s蓹viyy蓹d蓹.
M蓹n geri getm蓹k 眉莽眉n gedir蓹m M蓹nb蓹 Directory,
v蓹 m蓹n ilk gedir蓹m burada zoom v蓹 yaln谋z
M蓹n bu oldu臒umu t蓹sdiq b枚y眉k terminal p蓹nc蓹r蓹,
proqram h蓹l蓹 ki, kimi davran谋r edir.
Indi bu d眉艧眉n蓹k q蓹sd蓹n deyil.
Ayd谋nd谋r I m眉badil蓹 ist蓹di i艧, bel蓹 ki, bir s蓹hv kimi hiss edir.
陌ndi m蓹n bir 蓹lav蓹 ba艧laya bil蓹r m蓹nim kodu printf nin 莽ox,
, burada y x 眉z蓹rind蓹 莽ap burada, burada, burada b a.
Amma s蓹mimi, ki, y蓹qin ki, n蓹 var Siz bir ne莽蓹 h蓹ft蓹 m蓹艧臒ul oldu臒unuz
陌ndi, ofis saat v蓹 evd蓹 i艧 zaman
B蓹zi hatalar谋 tapmaq 眉莽眉n 莽al谋艧谋r谋q psets.
茝g蓹r siz art谋q yoxdur, 蓹g蓹r Lakin, g枚r眉rs眉n眉z ki, problem 眉莽 siz蓹 t蓹qdim set
GDB adl谋 komanda, harada gdb, GNU ay谋klama,
枚z眉n眉 b眉t眉n d蓹st蓹 var x眉susiyy蓹tl蓹ri ki, h蓹qiq蓹t蓹n bil蓹rsiniz
us hallar anlamaq imkan bu kimi, lakin daha compellingly,
probleml蓹ri h蓹ll v蓹 hatalar谋 tapa bil蓹rsiniz.
M蓹n bunu gedir蓹m.
茝v蓹zind蓹 ./noswap, m蓹n 蓹v蓹zin蓹 deyil蓹m GDB ./noswap run olacaq.
Ba艧qa s枚zl蓹, m蓹n 莽al谋艧t谋rmak 眉莽眉n gedir蓹m m蓹nim proqram Bash, bizim yeni dost
bu g眉n.
M蓹n 莽al谋艧t谋rmak 眉莽眉n gedir蓹m m蓹nim daxili proqram noswap
adl谋 dig蓹r proqram Ay谋klama olan gdb olan
yard谋m 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur bir proqramd谋r tapmaq v蓹 hatalar谋 aradan qald谋r谋lmas谋, insanlar谋n.
M蓹n burada Run hit 蓹g蓹r Bel蓹 ki, var m蓹tn bir d蓹h艧蓹tli m蓹bl蓹臒i
Siz, h蓹qiq蓹t蓹n, oxumaq he莽 vaxt.
Bu 蓹h蓹miyy蓹tli bir yay谋nd谋rma var Tez, hans谋
I Control-L olmaq 眉莽眉n gedir蓹m orada 眉st almaq 眉莽眉n.
Bu gdb tez edir.
M蓹n indi bu proqram 莽al谋艧t谋rmak 眉莽眉n ist蓹yirsinizs蓹, Bu g眉n bu ki莽ik d蓹l蓹duz hesabat谋 kimi
slide Run ilk t蓹klif biz t蓹qdim etm蓹k n蓹z蓹rd蓹 蓹mrl蓹ri.
M蓹n yaln谋z yaz谋n gedir蓹m gdb daxilind蓹 burada run,
v蓹 h蓹qiq蓹t蓹n m蓹nim proqram qa莽d谋.
陌ndi b蓹zi 蓹lav蓹 var bu kimi ekran谋n 莽谋x谋艧,
lakin gdb yaln谋z olan anal var v蓹 neler biz蓹 izah.
Siz, h蓹qiq蓹t蓹n, narahat yoxdur 陌ndi bu m蓹lumat haqq谋nda.
Amma h蓹qiq蓹t蓹n cool n蓹 M蓹n 蓹g蓹r gdb, bu again--
Control-L getm蓹m蓹 screen-- t蓹mizl蓹yir ir蓹li v蓹 n枚v眉 "bununla, 蓹sas q谋rmaq",
M蓹n daxil edin hit zaman, n蓹 q蓹bulu fasil蓹 point noswap.c adl谋,
harada gdb olan line 16, h蓹qiq蓹t蓹n, m蓹nim proqram谋 h蓹yata fiqurlu
, m蓹nim funksiyas谋 蓹slind蓹.
Biz indi ignore laz谋md谋r Bu lakin bir 眉nvan var
x眉susi olaraq bu funksiya xatir蓹sin蓹.
Bel蓹 ki, indi m蓹n run yaz谋n zaman, Burada cool n蓹 g枚r眉rs眉n眉z.
M蓹nim proqram line I pozur duraklatabilirsiniz icra gdb bildirib.
M蓹n indi m蓹nim kodu d蓹yi艧dirm蓹k 眉莽眉n yoxdur, , b蓹zi printf nin 蓹lav蓹 derleyece臒iz, t蓹krar
Bu, d蓹yi艧dirm蓹k, printf nin 蓹lav蓹 saxlamaq, derleyece臒iz, ax谋r.
M蓹n yaln谋z m蓹nim proqram vasit蓹sil蓹 g蓹zm蓹k bil蓹r insan s眉r蓹tl蓹 add谋m-add谋m,
deyil s眉r蓹t Intel-daxili c眉r.
>> Bel蓹 ki, indi bu x蓹tt bildiri艧 M蓹n geri getm蓹k 蓹g蓹r burada g枚r眉n眉r, v蓹
gedit m蓹nim proqram, ki, h蓹qiq蓹t蓹n oldu臒unu qeyd
kodu ilk line.
Line 16 gedit var.
Var line 16 gdb 蓹rzind蓹, v蓹 h蓹tta bu qara v蓹 a臒 interface baxmayaraq
t蓹xmin蓹n istifad蓹莽i kimi dostu, bu dem蓹kdir
ki, line 16 icra olunmay谋b h蓹l蓹, lakin bu bar蓹d蓹 var.
Bel蓹 ki, h蓹qiq蓹t蓹n, M蓹n 莽ap yaz谋n 蓹g蓹r x deyil, printf, yaln谋z 莽ap x,
M蓹n s谋f谋r b蓹zi saxta d蓹y蓹r almaq x h蓹l蓹 ba艧lat谋lmad谋 deyil, 莽眉nki.
茝g蓹r M蓹n, n枚vb蓹ti yaz谋n gedir, ya al谋ram yaln谋z n枚vb蓹ti 眉莽眉n n, x眉lya olmaq ist蓹yir蓹m.
Amma hal-haz谋rda daxil yaz谋n zaman Bu x蓹tt 17 h蓹r蓹k蓹t bildiri艧.
Bel蓹 ki, m蓹ntiqi, edam etdik 蓹g蓹r line 16 v蓹 indi 莽ap x yaz谋n
M蓹n n蓹 g枚r眉rs眉n眉z?
Biri.
>> V蓹 indi bu etiraf qar谋艧谋qd谋r.
2, bir x眉lya yoludur 蓹g蓹r sonra ki, d蓹y蓹ri istinad etm蓹k ist蓹yir蓹m,
Siz "dollar iki imzalayacaq." dey蓹 bil蓹rsiniz
Bu geri istinad kimi.
Amma indi 眉莽眉n, yaln谋z ignore.
N蓹 maraql谋 n蓹 edir b蓹rab蓹r i艧ar蓹si sa臒.
V蓹 indi m蓹n daha sonrak谋 yaz谋n 蓹g蓹r v蓹 莽ap y, m蓹n 2 g枚rm蓹lisiniz.
M蓹n d蓹 indi 莽ap ed蓹 bil蓹rsiniz x yenid蓹n v蓹 s蓹mimi,
M蓹n bir az qar谋艧谋q al谋ram 蓹g蓹r M蓹n, m蓹n siyah谋s谋 眉莽眉n daxil ed蓹 bil蓹rsiniz
v蓹 yaln谋z 蓹traf谋nda b蓹zi kontekstind蓹 g枚rm蓹k point M蓹n, h蓹qiq蓹t蓹n deyil蓹m.
V蓹 indi yaz谋n bil蓹r n枚vb蓹ti v蓹 orada x 1.
陌ndi m蓹n n枚vb蓹ti yaz谋n.
Oh, y 2.
V蓹 yen蓹, o, confusing edir gdb nin 莽谋x谋艧 莽眉nki
枚z 莽谋x谋艧谋 il蓹 commingled olunur.
Amma siz, unutmay谋n 蓹g蓹r geri v蓹 ir蓹li sizin kodu baxma
v蓹 ya yan onu 莽蓹kili艧i b蓹lk蓹 t蓹r蓹find蓹n, will
M蓹n, h蓹qiq蓹t蓹n, yaln谋z deyil蓹m ki, yuxar谋da M蓹nim proqram vasit蓹sil蓹 g眉cl蓹ndirm蓹kl蓹.
>> Amma sanki, sonrak谋 n蓹 g枚r眉rs眉n眉z.
Burada line 22 var.
Bununla h蓹r蓹k蓹t, m蓹n蓹 art谋q getm蓹k ed蓹k 23, v蓹 m蓹n indi, h蓹l蓹 bir x 莽ap 蓹g蓹r.
V蓹 m蓹n bir d蓹, y 莽ap 蓹g蓹r.
Bel蓹 ki, bu faydal谋 h蓹yata deyil.
Bel蓹 ki, bu redo imkan verir.
M蓹n蓹 geri ged蓹k daha 眉st v蓹 n枚v眉 run.
V蓹 bu proqram dey蓹r蓹k ki debugged olunur
art谋q ba艧lay谋b, 蓹vv蓹ld蓹n ba艧lad谋.
B蓹li, yen蓹 bunu bildirin.
V蓹 bu zaman, n枚vb蓹ti ed蓹k n枚vb蓹ti, n枚vb蓹ti, n枚vb蓹ti, n枚vb蓹ti,
lakin indi 艧eyl蓹r maraql谋 almaq.
陌ndi m蓹n daxil add谋m ist蓹yirik svop, m蓹n n枚vb蓹ti yaz谋n yoxdur.
M蓹n bunu hiss indi add谋m yaz谋n, noswap.c line 33 m蓹n蓹 atlad谋.
M蓹n gedit geri getm蓹k 蓹g蓹r, line 33 n蓹 var?
Ki, faktiki ilk var svop daxilind蓹 kodu line.
脟眉nki indi m蓹n g枚z蓹l, c眉r 蓹traf谋nda soxmaq v蓹 maraql谋 almaq
kimi n蓹 var h蓹qiq蓹t蓹n olur.
M蓹n蓹 tmp 莽ap ed蓹k.
Whoa.
Niy蓹 tmp b蓹zi var crazy, saxta zibil d蓹y蓹ri?
Auditoriya: Bu ba艧lat谋lmad谋 deyil.
HOPARL脰R 1: Bu ba艧lat谋lmad谋 deyil.
V蓹 h蓹qiq蓹t蓹n, bir proqram 莽al谋艧t谋rd谋臒谋n谋zda, Siz yadda艧 b眉t枚v bir d蓹st蓹 sunulur
蓹m蓹liyyat sistemi, lakin siz he莽 bir d蓹y蓹rl蓹ri ba艧lat谋lm谋艧 deyil,
bel蓹 n蓹 bit edirik Bu, baxmayaraq ki, burada g枚r蓹n
Bu crazy b枚y眉k m蓹nfi say谋, yaln谋z dem蓹kdir
o ki, qal谋qlar谋 var ki, RAM b蓹zi 蓹vv蓹lki istifad蓹,
M蓹n baxmayaraq 枚z眉m h蓹l蓹 laz谋m.
Bel蓹 ki, indi m蓹n ir蓹li v蓹 n枚v眉 getm蓹k 眉莽眉n gedir蓹m n枚vb蓹ti v蓹 indi 莽ap tmp yaz谋n 蓹g蓹r,
M蓹n n蓹 g枚r眉rs眉n眉z?
N蓹 olursa olsun bir d蓹y蓹ri olub, yaln谋z ilk arqument
x kimi ilk idi 艧ey, q蓹bul edilir
bel蓹 bir v蓹 x eyni olmal谋d谋r, bel蓹 莽ap tmp m蓹n蓹 bir verm蓹lidir.
>> Bel蓹likl蓹, n蓹 siz problem set g枚r蓹c蓹ksiniz 眉莽, gdb on n枚v bir tutorial edir
lakin bu ba艧lan臒谋c谋 oldu臒unu d蓹rk bir al蓹t bir g枚z ki, h蓹qiq蓹t蓹n olacaq
茝g蓹r problem h蓹ll k枚m蓹k 莽ox daha 莽ox s蓹m蓹r蓹li.
Biz n蓹tic蓹d蓹 etdiyiniz n蓹 脟蓹r艧蓹nb蓹 g眉n眉 ed蓹c蓹yimiz
bir ne莽蓹 qat geri soymaq ba艧lamaq v蓹 b蓹zi t蓹lim t蓹k蓹rl蓹r aradan qald谋r谋lmas谋.
Ki, deyil蓹n 艧ey string ki Biz bir m眉dd蓹t 眉莽眉n istifad蓹 etdiyiniz
biz yava艧-yava艧 眉z olacaq v蓹 sizin s枚hb蓹t ba艧lamaq
bir 艧ey daha esoterically char * kimi tan谋nan,
lakin biz bu g枚z蓹l n蓹 olacaq v蓹 yum艧aq ilk bel蓹 g枚st蓹ricil蓹r baxmayaraq,
onlar deyilir etdiyiniz kimi, b蓹zi ed蓹 bil蓹rsiniz 蓹g蓹r sui-istifad蓹 莽ox pis 艧eyl蓹r,
bir az claymation baxaraq bizim dostumuz Stanford Nick Parlante
University, komp眉ter bir professor Bu 枚nizleme birlikd蓹 qoymaq ed蓹n elm
bu 莽蓹r艧蓹nb蓹 g蓹lm蓹k n蓹.
>> [Video playback]
-Hey, Binky.
Uyan.
Bu g枚st蓹rici 蓹yl蓹nc蓹 眉莽眉n vaxt var.
>> Ki, hans谋 var?
G枚st蓹ricil蓹r haqq谋nda m蓹lumat 蓹ld蓹 edin?
Oh, goody!
[END Video playback]
HOPARL脰R 1: Bu bar蓹d蓹 莽蓹r艧蓹nb蓹 g眉n眉 sizi g枚zl蓹yir.
Biz sonra g枚r蓹c蓹ksiniz.
[Video playback]
V蓹 indi, Deep Thoughts, Daven Farnham t蓹r蓹find蓹n.
>> Niy蓹 biz C 枚yr蓹nir?
Niy蓹 A +?
>> [G眉l眉艧]
>> [END Video playback]