ROB BOWDEN: Sa a se nan pi alèz seksyon, men sa pa vle di ke si ou santi tankou ou pa plis konfòtab ou pa pral aprann bagay sa yo isit la. Se konsa, kite a jwenn te kòmanse. ou gen glisad ale dwat nan bagay sa yo. Èske mwen sou yo jis pran li kounye a? Oblije chanje laptops. ALLISON: Ou pa vle prezante tèt ou, Rob? ROB BOWDEN: Oh, mwen se Rob. Sa a se senkyèm ane CS50 TF-ING mwen. GABRIEL: Mwen Gabriel. Mwen se tèt TF nan CS50. Mwen te TF ane pase a ak ane sa a. ALLISON: Epi mwen Alison, ak sa a se dezyèm ane CS50 TF-ING mwen. ROB BOWDEN: Tout dwa, se konsa bagay sa a sou bò gòch, èspere ke ou te wè l 'devan. Si ou pa paske ou telechaje li pou tèt ou, ou ta dwe gen pou wè li nan konferans. Se konsa, sa a se aparèy la CS50, epi li te fè yon ti jan nan yon deskripsyon nan li nan konferans. Men, fondamantalman li nan jis ou se kouri yon operasyon sistèm opere ou nan lespas sistèm pou nou ka ba ou pwogram san yo pa bezwen enkyete, o se sa a pwal travay sou tou de fenèt ak Mac, oswa si kèk nan nou yo deja lè l sèvi avèk Linux, Linux. Li nan jis sipoze gen yon jwe komen jaden se konsa tout moun gen nan menm anviwònman egzak. Se konsa, si ou pa gen telechaje sa a deja, ou ta dwe telechaje li, paske ou se ale nan bezwen li pou mete nan pwoblèm. Epi li se yon jigokte de download, se konsa li ta ka pran yon ti moman. Sou Harvard la li pral ale vit. Se konsa, CS50 aparèy. Koulye a, nan konmansman an, nou ap ale nan pale sou jis yon pakèt moun sou liy lòd bagay, e konsa pa sa, mwen vle di k ap travay nan sa a anviwònman ti kras plis pase isit la. Ak Avi tout bagay Mwen di dwa isit la kounye a yo ale nan travay si w ap andedan nan yon tèminal andedan nan aparèy la, oswa si ou se andedan nan fenèt la tèminal jdi andedan nan aparèy la. Se konsa, moun anviwònman yo ki idantik. Men, mwen pral ale yon wout twazyèm. Ak Avi sa a desann isit la ti kras adrès IP dwa isit la. Se konsa, ou pa bezwen fè sa, men sa a IP address-- kounye a si I-- eksepte li nan ki te bloke pa bagay sa a. OK, se konsa ke adrès IP sou nan yon tèminal isit la ki se tèminal sa a sou isit la se yon tèminal nan Mac mwen. Se konsa, sa a se nan okenn fason kounye a ki asosye ak aparèy la nan tout. Epi si w ap sou Windows, Lè sa a, w ap ale nan bezwen download yon bagay espesyalman pou sa a, an patikilye moun ki gen tandans sèvi ak mastik, P-U-T-T-Y. Se konsa, sa m ap pral fè se kalite SSH ak Lè sa a ki adrès IP. Oke, jharvard nan ki adrès IP. Se konsa, 192.168.24.220. Mesaj pè sa a, inyore li. Jis tape repons lan se wi. Sa a se CS50 nan yon bwat. Li mande pou modpas ou. Se konsa, nan yon anpil nan kontèks sa yo kote li mande pou modpas la, [fèbl]. Nou te gen yon anpil nan kesyon ki kote li di li nan pa aktyèlman tape. Li pa montre w karaktè yo nan modpas la kòm ou tape, si anyen, pou yon karakteristik sekirite, paske si yon moun se kap sou zepòl ou epi yo wè zetwal zetwal etwal etwal, lè sa a yo konnen ke modpas ou se kat karaktè. Se konsa, lide a se li pral mande ou pou modpas ou, kalite. Li pa nan pral montre ou karaktè yo, men li la aktyèlman aksepte yo. Nan ka sa a, nenpòt ki lè ou janm wè yon èd memwa modpas fè fas ak aparèy la, nan modpas a pwal wouj. Se konsa, twal lenn tou. Epi, koulye a isit la andedan nan sa a fenèt ki nan Mac mwen an, Mwen fondamantalman gen menm gade nan egzak kòm andedan nan yon tèminal nan aparèy la. Se konsa, ou pa bezwen fè sa. Ou ka fè tout bagay ou vle andedan nan aparèy la. Mwen prèske pa janm aktyèlman fè anyen nan aparèy la. Mwen prèske toujou misyon pou minimize ki e kounye a, Mwen ap travay sch nan aparèy la. Si anyen, si ou gen yon òdinatè pi dousman, ou ta ka avi yon diferans. Mwen fè sa paske mwen ta pito fenèt tèminal sa a. Li te gen kèk karakteristik tankou Mwen ka fann fennèt la, e kounye a, mwen kapab sch nan a aparèy la. Mwen te resevwa de sch k ap pase sou nan yon fwa. Si òdinatè w lan se patikilyèman ralanti ak w ap k ap travay nan aparèy la, epi ou reyalize sa a se reyèlman laggy, kèlkeswa sa. Gen tandans ka anpil pi vit si w ap sch-ed nan. Men, otreman ou ka travay swa fason. ODYANS: Ki sa ki sch vle di? ROB BOWDEN: kokiy Tache, yon bagay tankou sa? Ki sa ki sch vle di? GABRIEL: Tache koki. ALLISON: Se jis an sekirite koki. ROB BOWDEN: Tache koki. Li se yon pwotokòl ki you-- li nan yon pwotokòl sekirite, se konsa chiffres. Moun pa kapab Snoop rezo a ak wè sa ki w ap di nan anyen w ap sch-ed. Ak an reyalite, nan vyeu la jou ki vini apre CS50, se konsa an 2009 lè m 'te yon elèv nevyèm ane, fason ke ou te travay sou CS50 aparèy televisyon HD pwoblèm, te ou SSH-ed nan kèk sèvè ke nou te bay ou gen aksè nan, epi ou te travay sou la. Se konsa, ou pa t 'gen sa a grafik aparèy. Ou pa t 'gen jdi. Ou pa t 'gen tout bagay sa yo ki ou ta ka vizyèlman pwen, epi klike. Ou te gen nan travay nan sa a koòdone. Mwen ta pito travay nan sa a koòdone. Se konsa, yon pati nan ki sa nou ap ale yo dwe ale plis pase kounye a yo se yon pakèt moun sou la kòmande ke ou ta dwe kòmanse jwenn abitye ak jan ou ale ansanm nan kou a. E franchman, yon fwa ou jwenn itilize yo, li se konsa anpil pi vit travay nan anviwonman sa a pase sa li se yo travay avèk Chèche, trenen ak klike bagay sa yo. Se konsa, isit la nou yo. Koulye a, mwen jis SSH-ed nan, epi konsa default la location-- ou wè kèk nan kòmandman sa yo nan klas la, men nou pral ale sou tout nan yo ankò. Kote a default nou ap nan se anyè a lakay ou. Ak anyè, jis yon lòt mo pou katab. Se konsa, nou ap nan anyè a lakay ou. Tape ls, lis dosye yo nan anyè sa a. Sanble mwen kreye yon blah.c pi bonè. Se konsa, nou gen yon anyè Desktop. Ou remake makè yo sentaks? Makè nan limyè ble endike yon anyè ak blan a dwat endike jis yon dosye plenn. Se konsa, gen yo pral yo dwe kèk koulè lòt ou wè. Yon dosye ègzèkutabl se pwobableman pral yo dwe vèt, oubyen yon bagay tankou sa. OK, se konsa nou se nan anyè a lakay ou. Koulye a, si mwen vle ale nan yon diferan anyè, CD se yo lòd, ki mwen vle. Se konsa, chanje anyè, ak Lè sa a ou pase non an nan anyè a ke ou vle ale nan. Se konsa, isit la nou gen kat opsyon. Mwen ka ale nan downloads, epi kounye a nou wè isit la li te mete ajou sa a parantèz yo di mwen se nan ~ / downloads. Se konsa, sa a se tild? Li se yon steno pou anyè lakay ou. Se konsa, prèske tout bagay ou fè ki pral gen ki gen rapò ak anyè lakay ou, ak PWD se jis yon lòd Mwen sèvi ak yon fwa nan yon ane ki jis simagri anyè aktyèl la. Se konsa, ou wè isit la ke ~ / Downloads reyèlman rezoud / Home / jharvard / downloads. Se konsa, / Home / jharvard se anyè lakay mwen. Se konsa, nou ka CD dot dot. Koulye a, dot dot se yon anyè espesyal ki toujou refere a yon sèl anyè a leve. Se konsa, si mwen se nan ~ / downloads, lè sa a CD dot dot ki pral pote m 'nan tild. Ki sa nou panse CD dot dot ki pral pote m 'nan kounye a? Li pral pote m 'nan / Home. Se konsa, tild pa ekri ak lèt ​​detache anyè k ap travay, Mwen nan kounye a / Home / jharvard. yon sèl anyè moute soti nan sa, kounye a li di isit la / kay la. Koulye a, CD dot dot. Koulye a, mwen nan anyè a rasin, epi ou pa ka fè l 'ankò. Ou ap jis rete nan a anyè rasin pou tout tan. Anyè a rasin gen yon pakèt antye nan bagay sa yo ke, si ou vle gade nan, ou kapab. Pou egzanp, si mwen ale nan bin, ki gen tout binèr sa yo, tankou ls, ak CD, ak tout nan bagay sa yo. Se konsa, kòmandman sa yo bezwen egziste yon kote nan sistèm nan, ak li nan nan anyè a / bin. Men, prèske tout bagay ou fè se pral fè nan anyè lakay ou. Epi CD san okenn agiman tou sa, ou ta ka di CD ~, pa bezwen. cd ki pral pote ou tounen nan anyè lakay ou. Youn nan dènye yon sèl. cd - ki pral fè ou tounen nan dènye anyè a ke ou te nan. Se konsa, mwen jis cd'd de fwa nan yon ranje, se konsa mwen anyè pase a te anyè a lakay ou. Si m 'ale nan koupe bin, epi kounye a kite yo ale leve, li antre nan itilizatè. Itilizatè pataje. Ann ale nan itilizatè pataje. Koulye a, mwen kounye a nan itilizatè pataje. cd -, li tounen nan bin. Se konsa, sa a vin patikilyèman itil lè ou have-- epi li pral aktive. Se konsa, itilizatè pataje, tounen bin, pataje bin. Se konsa, sa a vin itil. Ou kapab jwenn tèt ou gen anpil moun, anpil, anpil repèrtwar enbrike. Epi ou vle fè yon bagay reyèl rapid nan yon anyè anwo kay la. Ou ale nan ke anyè, fè chanjman ak lòt bagay tankou sa yo, e kounye a, ou vle ale tounen nan kote ou te. cd -. Mwen toujou fristre lè m 'rive yo ale ak sa yo ki anyè mwen te vle fè travay nan. Mwen toujou jwenn fristre lè m 'te fè li nan de etap olye pou yo yon sèl etap, paske sa vle di ke CD - ki pral yo pote nan ki kote entèmedyè olye pou yo kote mwen vle ale. Se konsa, nou wè tout lis dosye yo. Nou konnen ki jan jwenn alantou byen lwen tèlman. Se konsa, kounye a kite a pale sou koreksyon dosye. Se konsa, nan kou sa a, w ap prèske toujou espere yo sèvi ak jdi. Si ou vle, ou ka pran pwochen etap la epi yo kòmanse aprann yon tèks liy lòd editè. Se konsa, opsyon divès kalite egziste. Ak sa yo ki yo se pwobableman pral fè ki enpòtan ba ou, nou gen Nano, vim, ak anak. Se konsa, Nano se débutan yo liy lòd editè tèks. Se konsa, kite a Nano ale sou blah.c mwen te kreye pi bonè. Se jis sa a ranpli estanda C. Epi ou wè yon pakèt antye nan bagay ale sou nan pati anba a nan ekran an, ak aparamman blah.c gen sa a kòd C. Se konsa, nan editè sa a an patikilye, ki sa li la di nan bottom-- la kounye a sa a senbòl Lambda, nou wè sa a ^ G, ^ X, ^ O. Se konsa, ki nan prèske tout kontèks sa ou wè, ou ta ka wè ke senbòl Lambda nan lòt kote sou entènèt, sou Stack Depatman, yon bagay tankou sa. Li prèske toujou refere a kontwole. Se konsa, yo sòti mwen vle fè Kontwòl X. Kontwòl X, sòti. Apre sa, mwen ka itilize flèch mwen kle pou avanse pou pi alantou. Avi mwen pa ka montre Et Sur fasilman. Ou bezwen sèvi ak flèch ou kle pou avanse pou pi alantou. Gen ta kapab yon anviwònman nan pwen, epi klike. Men, kite a fè kèk chanjman. Koulye a, kontwòl X yo ale sòti. Li nan ale nan di sove modifye tanpon. Koulye a, èd memwa, y la pou repons lan se wi, n pou pa gen okenn. Kontwòl C pou anile. Mwen pral jis di wi. File Non ekri. Default la se dosye a ke li deja se. Frape Mete. OK. Koulye a, mwen te jis edited ki ranpli, sove li, epi li se chanje. Se konsa, Nano se pi fasil a editè tèks jwenn itilize. Altènativ yo se vim ak anak. Moun sa yo se pi wo nivo editè tèks ki gen yon trè forte koub apprentissage. Se konsa, preferans pèsonèl mwen an se vim. Epi li gen yon gran varyete opsyon. E yon fwa ou jwenn itilize nan li, ou pral pa janm vle ale nan nenpòt lòt editè tèks paske ou jis gen bagay sa yo anpil disponib nan ou nan sa yo, men sa pran yon vrèman long tan yo aprann. Se konsa, petèt ou jis vle fòse tèt ou kounye a jwenn itilize li, men mwen ta ka di li la vo li. Men, li se difisil. Lè sa a, anak. Mwen toujou ap lite nan anak paske Mwen konnen ki jan fè absoliman anyen. Aparamman anak se pa pa default enstale sou aparèy la. Nou pral pwobableman ajoute ke kòm yon enstalasyon default. Yon fwa ou aprann youn nan Vim oswa anak, gen nan okenn rezon konvenkan tout tan tout tan aprann lòt la, men li la yon style konplètman diferan. OK pou ki nan koreksyon dosye tèks. ODYANS: Si yo te kole ou nan vim kounye a, ki jan we-- ROB BOWDEN: Gen miltip mòd nan vim, e gen tout antye tutoryèl sou aprantisaj vim. Se konsa, si ou rive yo dwe nan insert mòd yo nan lòd tape tèks, ki ou kapab antre nan ke nan divès fason, men mwen se ki jan ou jwenn yo nan insert mòd. Nan oswa pou w jwenn soti nan nenpòt ki espesyal mòd ki w ap nan, jis chape. Epi ou jis frape Kouri al nan jwenn soti nan nenpòt ki mòd enbrike nan ou. Jis OK, kounye a mwen se tounen nan mòd nòmal. Se konsa, nan mòd nòmal, yon kolon. Ou wè li parèt nan pati anba a. Lè sa a, q. Se konsa, q pral kite fimen, si ou te fè chanjman, ki I-- gen mwen te fè chanjman? Mwen te fè chanjman aparamman. Se konsa, si ou te fè chanjman, li pral di ou ka mete yon mak esklamasyon. Mwen pral rele li yon Bang. Se konsa, ou ka mete yon entèdiksyon nan jis kite san yo pa fè anyen, oswa kolon wk ap sove ak kite fimen. Se konsa, w an jeneral se ekri. Se konsa, ekri dosye a. Mwen ka ekri ak kite fimen. Oswa ou ta ka gen jis QX slam, q Bang jis yo ka resevwa soti nan la kèlkeswa nan nenpòt ki chanjman ke ou te fè fè yo. Tout dwa, se konsa kounye a kite a go-- nou ka kreye dosye. Ann kòmanse retire dosye. Apre sa, mwen pral jis jete nan yon sèl rapid nouvo lòd, manyen. Se konsa, manyen foo. Touch ba. Manyen Baz. Si m 'ls, kounye a nou wè ki sa yo dosye egziste. Yo ap konplètman vid. Se konsa, manyen se jis yon fasil fason pou yon sèl, [fèbl]. De, teknikman jis nan eta li, li mete ajou timèstanp yo. Se konsa, nenpòt ki dosye ke ou kreye gen yon timestamp asosye ak li. Se konsa, te kreye Baz sou Sèptanm 14 nan 16:21. Li nan kounye a 16:22, kidonk si Mwen manyen Baz ankò, nou wè ke Baz te pi dènyèman modifye nan 16:22. Men, otreman mwen prèske pa janm gade nan timèstanp yo sou dosye. Se konsa, touche, isit la mwen jis lè l sèvi avèk li yo kreye kèk dosye rapid. Tout dwa, se konsa kounye a RM se la lòd ke nou pran swen sou isit la. Epi nou ka RM boo. Di retire regilye dosye boo vid. Apre sa, nou ka tape y, e kounye a, li nan supprime. RM Baz. Retire dosye regilye vid Baz ak kalite n pou pa gen okenn. Koulye a, li pa nan retire li. Se konsa, bar ak Baz toujou egziste. Man se ale. GABRIEL: Kenbe pale. ROB BOWDEN: Great. Se konsa, mesaj la anmèdan isit la, retire empty-- regilye ki sa ou ap fè desann la? Retire dosye regilye vid. Se konsa, si nou pa vle yo dwe anmande pa ke mesaj, nou ka jete nan -f sa a drapo, ak pou sa a, se fòs. Epi, koulye a si mwen RM -f, li nan pa ale nan di ou vle retire sa a dosye. Li pral jis fè li. Epi ls, mwen pa wè ba gen ankò. Koulye a, ki se yon potansyèlman danjere lòd. Sa gen tandans pa twò move. Nou pral tounen vin nan yon dezyèm fwa ki jan li ka jwenn reyèlman danjere. Li kite yo kreye kèk anyè temp. mkdir, yon lòt lòd. Se konsa, mkdir se yon lòd ki fè yon anyè. Epi, koulye a pa ls nou wè limyè sa a bèl ble make anyè temp. Mwen kapab CD nan temp. Apre sa, mwen ka mkdir foo. cd an foo. mkdir ba. cd an ba. Se konsa, nou wè nou ka fasilman jwenn nan kèk nidifikasyon trè gwo twou san fon. Koulye a, ki jan mwen retire yon anyè? rmdir. Se konsa, si mwen jis tou dwat eseye RM, tankou nou te fè ak yon dosye regilye, RM ba ki pral di pa kapab retire ba. Li se yon anyè. Genyen yon lòd espesyal pou retire repèrtwar, kalite. Se konsa, rmdir ba. Koulye a, se ba ale. OK, se konsa rmdir Mwen bèl anpil pa janm sèvi ak. Rezon ki fè la being-- kounye a kite a fè yon bar dosye regilye nan isit la. Se konsa, rmdir boo. rmdir. Echwe pou pou retire foo. Anyè pa vid. Se konsa, ou pa ka sèvi ak retire dir sou yon anyè ki gen bagay sa yo nan li. Se konsa, ou gen kèk opsyon. Ou ka ale nan ke anyè, retire tout bagay manyèlman, ak Lè sa a soti ak rmdir anyè a. Sa evidamman son anmèdan. E si gen dè milye nan dosye nan la? Oke, ou ta ka RM *. Nou pral pale sou * nan yon dezyèm fwa. Li fondamantalman vle di tout bagay sa yo. Men, pi bon toujou, se konsa RM -r. Se konsa, RM -r-- nan yon anpil nan kontèks, -r vle di repetitif, ki nou pral pale sou sa vle di repetitif nan plizyè semèn. Men, li fondamantalman vle di Traverse antye a nan anyè sa a epi retire tout bagay. Se konsa, RM foo -r ki pral di desann anba nan anyè foo? Wi. Retire regilye vid dosye foo / bar? Wi. Retire anyè foo? Wi. Se konsa, kounye foo ak tout bagay ki nan li te retire li. Koulye a, ki ka jwenn patikilyèman anmèdan when-- kite nan manyen 1, manyen 2, manyen 3. Te kapab gen yon pakèt antye nan dosye. Si mwen te vle, mwen te kapab kreye dè milye de dosye nan isit la. Epi RM foo -r ki pral yo dwe trè anmèdan. Wi, repons lan se wi, se wi, repons lan se wi, se wi, wi. Avèk yon anpil plis dosye ou byen vit wè konbyen fwa Mwen ta gen tape repons lan se wi. Oke, nou jis te wè anvan ki jan nou kapab debarase m de bezwen yo tape repons lan se wi, -f. Se konsa, mkdir foo CD foo manyen 1 2 3. OK, se konsa RM foo -rf ki pral je fèmen retire foo nèt. Pa gen èd memwa. Pa gen anyen. Man se ale. Se konsa, mwen gen tandans sèvi ak sa a mande tout tan tout tan an. Sa te di, li se yon lòd trè danjere, paske si mwen fè yon bagay tankou sa a, li pa pral fè w. Li pral ale. Epi bagay sa yo rive trè souvan, e menm nan pi wo nivo kou CS. Pafwa nou pral wè yon bagay kote yon moun di mwen aksidantèlman nou an RM RF-ed lakay mwen se anyè ak tout nan P seri m 'ale. Lè li nan devastatè, men gen nan pa gen fatra kapab. Gen nan pa gen okenn pa gen anyen pou ou pou w rekipere. Li nan jis ale. Menm pi mal ta dwe yon bagay tankou RM -rf /. Se konsa, nou jis diskite ke anyè rasin. Lwa sa a bay tout nan la dosye sou sistèm ou an. Bagay sa yo gen tandans jwenn bèl sal lè ou retire bagay sa yo tankou ls, ak CD, ak tout moun sa yo. ODYANS: Ki sa ki nan diferans ki genyen ant RM, RF, ak RM * ROB BOWDEN: Se konsa, RM * - ALLISON: Kesyon te sa ki nan la diferans ki genyen ant RM, RF, ak RM *. ROB BOWDEN: Se konsa, RM *. Star an jeneral vle di tout nan sa ki nan anyè sa a. Ap eseye panse a lòt fason pou montre zetwal. Oke, zetwal aktyèlman jeneralman vle di matche ak nenpòt modèl. Se konsa, si mwen gen yon dosye rele dog1, manyen dog2, manyen cat1, manyen cat2. Se konsa, ls * 1 ki pral enprime cat1 ak dog1, paske ka ki dwe ranpli zetwal nan with-- youn a bezwen yo dwe la, men zetwal sa yo kapab swa chat oswa chen. Li se yon kat nan bwa. Sa a pawòl Bondye a M 'ap chache. Sovaj kat. Oswa mwen te kapab LS chen *, ak Mwen te rive nan wè dog1, dog2. Se konsa, moun yo lis dosye yo ki koresponn ak ki modèl an patikilye. Ou kapab sèvi ak ls nan fason sa. Ls * zetwal alimèt anyen. Se konsa, li pral enprime tout nan sa ki nan anyè sa a depi tout nan yo matche. Li pa nan ale nan enprime anyen nan repèrtwar nivo anwo kay la. Si mwen gen yon anyè sub, foo, ak manyen 1 2 3-- se konsa kounye a si zetwal RM *, retire cat1, cat2, dog1, dog2. Pa kapab retire foo. Li se yon anyè. Se konsa, zetwal ogmante nan tout dosye nan anyè a. Se konsa, teknikman RM * se tankou li di RM cat1, cat2, dog1, dog2, foo. Lè nou konsidere ke RM -rf, teknikman zetwal ta akonpli sa nou vle, men RM -rf-- si mwen ale soti nan sa a anyè, RM temp -rf, ki nan ale nan ale nan temp ak recursive retire tout bagay. Se konsa, zetwal se separe nan ki ki se konprann by-- konsa bagay sa a ke mwen kouri nan, bagay sa a ki se sa ki pouse m 'pou kòmandman ak Lè sa a egzekite ak ap fè yo, mwen rele sa a koki mwen. Se konsa, sa a se koki tèt li yon pwogram. Men, si mwen te vle, mwen te kapab kouri nan / bin / frape. Se koki a te rele frape. Epi, koulye a nou remake yon bagay te yon ti kras chanje, e ke sa a paske anviwònman mwen an pou koki a se yon ti jan diferan. Men koulye a, mwen teknikman kouri yon kokiy ki nan koki mwen orijinal, e mwen ka sòti ki koki, e kounye a, Mwen se back to top koki nivo mwen. Rezon ki fè li di ki is-- etwal la. Se konsa, zetwal la se yon bagay konprann pa frape. Se konsa, RM -rf, -rf drapo se konprann pa jis RM. Li konnen ke lè ou pase yon -rf ke ou vle li nan recursive retire tout dosye san yo pa enspirasyon. Etwal la se yon bagay konprann pa frape ke lè ou di RM *, frape pa pral di hey RM *, retire zetwal. Bach ki pral di RM * retire cat1, cat2, dog1, dog2. Li nan otomatikman ale nan elaji tout dosye yo nan anyè a. Epi Menm jan an tou se yon lòt tild senbòl ki frape konprann. Lè ou di CD ~, frape ogmante ki nan anyè lakay ou. Lòt kesyon byen lwen tèlman? OK konsa nou ap ale nan kòmanse ale rapid. Contenu fini. Jis voye jete byen yo deyò. Yon anpil moun pa fè sa reyalize sa a egziste. Se konsa, si mwen tape cd Dow, mwen ta vle ale nan downloads. Mwen pa bezwen tape nloads. Mwen ka jis frape Tab. Se konsa, li rekonèt ke Dow a se yon prefiks ki pa matche ak anyen lòt moun nan anyè sa a, se konsa li pral konplete ki pou ou. Koulye a, mwen ka antre nan. Mwen menm mwen te fè sa recursive. Se konsa, mkdir foo. Ann al nan foo. mkdir ba. Se konsa, pral tounen nan kay mwen an anyè, mwen ka wè downloads. Koulye a, frape tab ankò, otomatikman ale nan ranpli nan foo. Li nan anyè a sèlman. Frape tab ankò, otomatikman ale nan ranpli nan ba. Se konsa, koulye a, mwen se nan (~ Downloads / foo / bar). Se konsa, sa fini tab, chak fwa mwen te rive nan lè biwo louvri, ak mwen kanpe sou zepòl yon moun, epi yo ap ale RM D-O-W-N-L-O-A-D-S, mwen mouri. Jis tab, tab, tab, tab. Se konsa, definitivman itilize tab. Epi Menm jan an tou leve, li desann, yon anpil moun ki jis sa ki te rive pa janm te frape leve, li desann. Li pral ale nan anvan an kòmandman, se konsa si ou jis kouri yon bagay, epi ou vle kouri l 'ankò, jis kenbe moute jouk ou jwenn nan li. OK. Se konsa, rapid, gen kèk lòt bagay. Ann al tounen nan temp. Se pou yo kreye kèk dosye. Se konsa, nan isit la, mwen se jis ale nan lis kèk mo yo. chen, chat, Meow. Se pou yo fè chen, pwason. Se konsa, kounye rep se yon trè kòmandman itil ke ou itilize fè rechèch nan tout dosye pou yon tèks patikilye, ak teknikman ou kapab fè reyèlman ekspresyon konplèks pou li matche ak. Se konsa, isit la, si mwen grèp, e ki sa Mwen vle pou fè rechèch pou? Se pou nou di mwen pou chèche chat, ak Mwen vle fè rechèch tout nan dosye sa yo. Se konsa, kouman mwen fè tout nan dosye sa yo? Star. Se konsa, nan dosye yon sèl, mwen gen chat. Mwen pwobableman te kapab gen rele li yon bagay pi byen, paske ki sanble ak nimewo liy oswa yon bagay. Men, nan dosye yon sèl mwen gen yon liy ak chat. Nan dosye de mwen gen yon liy ak chat. Se konsa, koulye a, mwen ka gade andedan dosye yon sèl ak wè oh yeah, ki dosye te gen chat. Avi dosye twa pa te matche paske chat se pa nan la. Mwen ka grèp pou Meow. Se sèlman ranpli de gen Meow. Se konsa, sa ou ka konbine, ankò, ak -r, ki jan mwen te di anvan souvan vle di repetitif. Se konsa, mwen ka vini isit la, grèp -r pou nenpòt ki egzanp of-- kite nan edite yon sèl sa a jis voye jete yon chat nan la. Se konsa, grèp -r pou nenpòt ki egzanp nan chat nan tout anyè sa a. Epi li pral recursive rechèch nenpòt ki subdirectories. Se konsa, nan Baz, gen nan chat. Nan temp / 2, gen nan chat. Ak nan temp / 1 gen nan chat. Se konsa, sa a, se chache ki nan dosye. Koulye a, ou ka tou itilize yon jwenn. Se konsa, jwenn se espesifikman sou kap chèche dosye ak yon non bay yo. Se konsa, kite a fè kèk plis. Ann al nan downloads. Manyen dog1. Manyen cat2. Manyen cat_dog. Manyen catcat. Se konsa, mwen vle jwenn tout dosye ak chen nan non an. Se konsa, jwenn, ak pou pi long la tan mwen pa janm chonje ki jan jwenn te travay, jouk tan mwen finalman li yon bagay ki te fè li se konsa klè. Se konsa, jwenn, otomatikman repetitif. Ou pa bezwen pase yon -r. Se konsa, jwenn dot. Nou pa t 'te pale osijè de dot ankò. Lè nou konsidere ke dot dot toujou vle di yon sèl anyè yo. Dot toujou vle di anyè aktyèl la. Se konsa, mwen te kapab RM -r dot nan la menm jan mwen kapab RM -rf *. Alafen yo akonpli menm bagay la. RM -rf dot ki pral retire tout anyè aktyèl la. OK, ki mwen pa vle fè a. Men, jwenn dot. Se konsa, recursive rechèch aktyèl la anyè, e kounye a, tout bagay apre sa a yo se yon pakèt moun sou drapo ke ou itilize yo eskli bagay ki soti nan retounen nan. Se konsa, jwenn dot retounen tout bagay ke li ka jwenn nan anyè aktyèl la. Moun sa yo se tout dosye yo recursive chèche. Nou pral wè kèk nan moun ki nan yon dezyèm fwa. Men, nan ka w ap mande ki jan mwen fè ki, se konsa Kòmandman K, omwen nan anpil nan tèminal m 'ki nan Mac a efase li. Kontwòl L jeneralman efase li pou nenpòt ki sòt de tèminal. Ou kapab tou tape klè. Men, si ou janm jwenn nan yon scenario-- etranj li nan rive m 'yon koup time-- ki kote koulè yo nan envit ou yo tout messed moute, oswa ou yo pa kapab wè anyen ke yo te tape lè w ap tape, paske pafwa tankou se koulè background mete menm bagay la tou kòm koulè a ​​premye plan e kounye a, ou pa ka wè polis yo. Reyajiste se yon bagay ki jis retabli ou default background nan nwa, devan blan, oswa kèlkeswa sa ou mete yo nan. Se konsa, kote nou te? Jwenn dot. Se konsa, kounye a tout bagay sot pase sa a pwen mete restriksyon sou rezilta yo nan yon bagay ki matche ak chwa modèl la bay yo. Se konsa, isit la mwen vle fè rechèch tout bagay ak chat la non. Mwen te resevwa pa gen anyen. Poukisa se ke ka a? Oke, mwen jis pou chèche yon bagay ki gen egzakteman chat la non. Si m 'vle rechèch yon bagay ki gen kèk modèl, ak cat-- quotes yo teknikman yo se pa nesesè, men mwen m 'voye yo nan la. Se konsa, kounye a li jwenn catcat paske sa a, se bagay la sèlman ki gen kèk abitrè modèl ki te swiv pa chat. Mwen ka mete chat *, epi kounye a jwenn catcat, cat_dog, cat2, paske moun yo se tout bagay sa yo ak chat nan kòmansman an ki te swiv pa anyen. Ou ka konbine sa a. Si ou vle pou fè rechèch pou tout dosye C ke ou gen, ou ta ka fè * c. Nou te blah.c isit la. Se konsa, sa a, se yon jwenn travay. Ou kapab fè rechèch. Li te gen yon pakèt antye nan drapo pou restriksyon pi lwen. Ak youn sou yo, se pou yo di -D. Se konsa, Obsoleted. Oh, sa a, se pa sa m 'vle. Pa -D. Kalite d. Se konsa, jwenn dot - kalite d. Se konsa, sa ki jis te fè se mwen chèche pou tout dosye nan anyè aktyèl la ak a-- d kanpe pou anyè anyè kalite. Sa a retounen tout repèrtwar nan anyè aktyèl la. Ak kalite F se tout regilye dosye yo, tout repèrtwar ki pa. Se konsa, sa se sèlman yon egzanp sou lòt fason ou ka mete restriksyon sou rechèch la lòt pase jis non an nan dosye a. Li te 30 minit. Toujou prale. ALLISON: Mwen pral briz nan. Li pral amann. ROB BOWDEN: Se konsa, kèk lòt bagay. Koulye a, Bang, esklamasyon make. Se konsa, ki jeneralman means-- byen, kite a wè yon egzanp. Se konsa,! F, ki sa ki ki pral fè? Oke li sanble gen repete jwenn dot -Type f. Ki sa ki sou! G? Sa jis grèp -r chat *. Se konsa, Bang ou ka itilize yo repete yon lòd dènyèman fè. Se konsa, si mwen tape! GRE, li pral re-kouri kòmandman yo ki te kòmanse ak gre pi dènyèman. Epi ou ka wè tout bagay sa yo kòmande ak istwa. Se konsa, istwa. Sa yo se tout la kòmandman mwen te kouri jodi a. Ak byen, li pa literalman restriksyon nan jodi a, men mwen te sèlman itilize sa a aparèy tankou jodi a. Li nan antye ou nan la istwa nan koki frape ou, eksepte li koupe nan kèk pwen. ODYANS: Kisa k ap pase si ou fè istwa [fèbl] lòd ak yon erè nan rezilta a ap toujou enprime the-- ROB BOWDEN: Yeah, si gen yon erè nan youn nan sa yo commands-- kidonk kite a di, ki se yon erè lòd pa jwenn. Toujou parèt nan istwa a. Tout dwa. Lòt kesyon sou anyen? Se konsa, sa a, se Bang. Koulye a, bay lòd reyèlman itil, nonm. Se konsa, ki ba ou a manyèl pou yon lòd pou yo bay. Se konsa nou di nonm ls, se konsa sa a se ki montre m 'ls. Li bay lis sa anyè. Lè sa a se kote mwen wè ke gen yo se sa yo drapo divès kalite ki egziste. Se konsa, nou wè ke ls-l egziste si nou te li ke. ls-l ki ban m 'sa a lis konplè nan la Anyè ak moun ki posede dosye a, gwosè a nan dosye a, nan timestamp la modifye. Se konsa, ls -yon se yon lòt youn ki ou ta ka aktyèlman sèvi ak yon ti jan souvan. -AL se drapo ki pi komen m 'sa a ls sot pase yo. Se konsa, -yon, remake gen nan yon anpil plis dosye pase jis ls. ls -yon. Ki sa ki nan an komen ak tout dosye sa yo? Yo kòmanse avèk yon dot. Se konsa, sa a se yon konvansyon nan Linux ki dosye ki kòmanse ak yon dot yo kache. Se konsa, li jis vle di ke lè nou jis ls dwat, oswa nou ap chèche anyè sa a lè l sèvi avèk ekivalan a Chèche, oswa Windows la Ekivalan Explorer, ke nou pa vle wè dosye dot sa yo. Yo jis polye gade nan nan bagay sa yo. Se konsa, yo yo kache sof si ou espesyalman mande yo ak yon bagay tankou -yon. Se konsa, mwen kapab CD an .local, epi mwen wè ki se sa ki tèt li yon anyè ki gen yon anyè pataje, ak aplikasyon pou, ak bla bla bla. Se konsa, dot, dosye yo jis ap kache. OK, se konsa lòt moun enpòtan. Mwen gen yon koup mwen ka sote. Se pou nou jis reyèl pale rapid sou dosye Jefò bagay sa yo. Se konsa, gen nan yon antye seri konplèks de bagay sa yo ou kapab fè avèk sa yo, men jis yo wè yo, se pou yo di, eko. Yon lòt lòd. Vrèman bèbè lòd. Tout li fè se ekri ak lèt ​​detache sa m 'di l' bay. Se konsa, eko hello. Li jis répéta alo nan ekran an. Alo nan lemonn. Eko alo nan lemonn. Se konsa, yon sèl lòd oswa yon sèl senbòl ki frape konprann se sa a pi gran pase senbòl, ak ki se pwodiksyon an nan yon senbòl dosye. Se konsa, si mwen pwodiksyon sa a yo foo, gen nan kounye a yon dosye rele foo, andedan nan ki se alo nan lemonn. Se konsa, remake ke lè m ap repete alo tiyo mond nan foo, li pa t 'repete alo nan lemonn. Olye de sa li te mete nan dosye foo. Ak yon lòt lòd jis voye jete li nan ou, chat. Sa a yon fason fasil jis konplètman lis sa ki nan dosye a pou m 'pa gen yo louvri yon editè tèks yo wè li. Se konsa, sa ki nan la dosye foo se mond hello. Apre sa, mwen te kapab blah.c chat, sa ki yo se sa a. Yon fwa ankò, sa yo, se kòmandman sa a, pa fè sa espere ou gen yo tout memorize. Lide a se ou te wè yo. Petèt w ap travay sou yon bagay, epi w ap tankou mwen malad nan ouvèti sa a dosye. Mwen swete mwen te kapab jis gade nan sa ki reyèl rapid. Ou te kapab fè sa, Lè sa a, tounen gade dèyè ak di oh mwen sonje yon bagay tankou ki egziste, epi li chat. Se konsa, ki se ale nan yon dosye. Koulye a, gen se pa reyèlman nenpòt ki bon egzanp sou lekti ki sòti nan yon dosye ankò. Ki sa ki nan yon bagay ki pran yon bagay nan men estanda nan? Nenpòt ki senp Linux lòd? Lè nou jwenn nan li, nan yon koup semèn yo tout piece-- byen, semèn sa a ou gen yon moso ki kote ou kòmanse pran enfòmasyon nan men gwoup itilizatè a. Se konsa, anjeneral ou tape ki D 'nan klavye la. Olye pou yo sezisman ki D 'nan klavye a, ou kapab olye pou tiyo nan soti nan yon dosye se konsa ke lè ou fè Mario, ./mario, tiyo nan soti nan nenpòt ki dosye yo bay yo, ak ki nan ale nan kouri pwogram nan mario. Pa tann opinyon nan klavye a, olye pou li a jis ale nan li a liy nan dosye a foo. Se konsa, ki pi konsekan pase foo mete l 'nan dosye a foo, ak mwens pase foo pran bagay nan dosye a foo ak sèvi ak sa kòm opinyon nan pwogram sa a. Epi jis yo wè li, nou ta ka tou eko foo bar Baz, ak Lè sa olye pou yo yon sèl pi gran pase, se pou yo fè de an foo. Ki sa sa fè? Li jis jwen nan dosye a. Se konsa, olye remake si mwen repete bla nan foo ak Lè sa a chat foo, li nan jis bla. Se konsa, lè ou pwodiksyon nan yon dosye li, konplètman ranplas ki dosye. Si ou jis vle nan kole, doub [? elèv klas. ?] Epi pase a se tiyo. Tiyo Gets pi plis konplike, kote li pran pwodiksyon an nan yon sèl lòd ak manje l 'nan lòd kap vini an. Se konsa, kèk bagay ki komen yo, istwa. Se konsa, pwa, mwen pa vle fè yon gade nan sa a. Moutre m 'tout kòmandman nan istwa m' kote mwen grèp-ed pou yon bagay. Non, sa a, se konfizyon. Moutre m 'tout kòmandman kote mwen jwenn. Tout jwenn kòmandman mwen janm kouri. Se konsa, istwa. Koulye a, sorti istwa a ekran lis sa a nan kòmandman, men mwen pa vle pwodiksyon li nan ekran an. Olye de sa, mwen pral tiyo l 'nan grèp. Se konsa, kite a grèp pou tout sikonstans nan jwenn. Se konsa, kounye olye pou yo pran grèp D 'a, olye pou of-- grèp se kapab okipe kòm input-- nou ap lè l sèvi avèk yon ti kras diferan grèp isit la. Se konsa, olye pou yo sezisman lis la nan bagay sa yo nou te vle pou fè rechèch pou li di grèp ap pran kòm opinyon. Se konsa, si mwen jis grèp jwenn, li tann pou mwen pou m tape bagay sa yo. Se konsa, chat alo jwenn. Bonjou. Jwenn. Avi chak fwa mwen tape jwenn li rekonèt ke mwen tape jwenn. Se konsa, olye pou yo sa a, pral dosye rechèch pou jwenn. Se konsa, istwa se kounye a ale nan pwodiksyon yon lis tout kòmandman. Nou ap mete ke pwodiksyon, epi nou ap manje l 'bay grèp, ak se konsa li a voye krache deyò tout sikonstans nan jwenn. Rezon ki fè mwen te di li ta dwe konfizyon se si I-- li la toujou konfizyon. Si m 'grèp pou grèp. Avi li nan bèl anpil toujou ki montre yo lòd, ki mwen jis kouri paske sa lòd kont li genyen grèp andedan nan li. OK, se konsa nenpòt kesyon sou anyen? Apre sa, m'a transfere li sou nan pwen sa. Èspere ke sa a se yon bèl BECA de tout kòmandman ke ou pa bezwen gen memorize, men sa yo fè moute yon solid 95% nan sa mwen fè nan liy lan lòd. Epitou kenbe nan tèt ou ke liy lan bay lòd tèt li, frape se yon lang programmation, ak se konsa lè ou jwenn desann nan li, ou ta ka vle fè bagay sa yo reyèlman konplèks. Se konsa, li gen bagay sa yo tankou pasan, ak ifs, ak tout moun sa yo ki w ap ale nan jwenn itilize ak lang programmation ou yo. Men, ki ale pi lwen nan sijè ki abòde nan seksyon sa a. OK, se konsa pa gen okenn kesyon? ALLISON: Okenn? GABRIEL: Eske ou pral to-- ALLISON: Mwen ka fè l ' sou mwen si ou vle. Nou ka wè sa ki rive. ROB BOWDEN: Off Allison. ALLISON: Woo. Ou se yon zak difisil yo swiv, Rob. ou vle m 'chanje avèk ou? Oswa ou te resevwa, OK. Mwen pral eseye ak pa byen dwe kòm long la. Ann wè si volonte sa a travay fason an mwen vle li nan. Petèt? Haha! Wi. Se konsa, mwen jis ale nan trè vit ale a varyab, pasan, kondisyonal, ak yon ti jan ti kras sou du a. Si w gen kesyon an nenpòt ki lè, tanpri sispann m '. Nèg sa yo ap raple m 'nan repete kesyon ou a nan ka mwen bliye, men se pa ta dwe twò move. Se konsa, varyab, yeah. Nou pa gen okenn youn nan ou Moso reyur isit la. Mwen si ke pi fò nan nou, si ou te gen kèk sòt de jwèt ke ou kreye ak grafouyen, ou te gen nan kenbe tras nan yon bagay tankou nòt, oswa tan, oswa yon bagay tankou sa. Se konsa, moun zoranj klere moso ke nou wè gen yo se jis fòm lan grafouyen nan varyab, epi ou pral definitivman gen lè l sèvi avèk varyab nan tout pwogram ou an. Si ou pa ap, mwen pa reyèlman asire ki sa w ap fè. Men, de tout fason, gwo bagay, defini varyab. Avèk C chak varyab gen gen yon kalite te deklare, Se konsa, mwen te ban nou yon trè yon sèl jeneral nan tèt la. Se konsa, ou pral gen ou tape ak Lè sa a tou sa ou deside rele varyab ou yo. Se konsa, nan ka sa a, ki kalite nan lis varyab ou yo. Nou gen twa egzanp. Char nan kèk klas, nan yon A, ki se ki sa Mwen si ou tout vle jwenn nan klas sa a. Ou ka defini miltip varyab sou yon sèl liy osi lontan ke yo ap tout kalite la menm, ki se dezyèm egzanp nou an gen ki kote ou gen twa varyab, x, y, ak z. Yo ap tout cha. Lè sa a, ou ka tou, nan sa a dènye egzanp ak nòt Int ak nimewo nan ekip, ou ka inisyalize yo dwa gen. Se konsa, nan egzanp lan mitan kote nou jis gen flote nan x, y, ak z, moun yo pa inisyalizèd ankò. Yo pa gen okenn valè. Oswa yo gen valè fatra. Men, si ou eseye epi sèvi ak yo, du a pral rele nan ou. Ou gen nan tou de deklare ak inisyalize varyab ou. Se konsa, nan yon sèl sa a sot pase yo, n ap fè tou de. Nou ap deklare varyab nan nòt ak kantite ekip, epi n ap inisyalizin yo, bay yo valè inisyal yo nan 7 ak 4 respektivman. Fre. Tout moun sa ki bon? Awesome. OK, se konsa kèk konvansyon. Si ou nèg te li a style 50, sa yo yo se jis bagay sa yo ke nou ta renmen pou ou aplike nan style ou. Non Se konsa, ki gen sans. Si w kòmanse rele bagay sa yo jis x, y, ak z, espesyalman jan ou jwenn nan long pwogram, w ap pwobableman ale nan konfonn tèt ou yo epi yo dwe tankou ki sa ki sa a varyab refere li a. Mwen pa gen okenn lide ki sa sa a vle di. Se konsa, si li nan te vle di yo kenbe yon nòt, rele li nòt. Si li la vle di ke yo kenbe kèk repons oswa lakòz, bay li yon non tankou sa. Pou pasan, ki nou pral jwenn nan nan pwochen glise la, varyab lèt yon sèl yo se amann. ROB BOWDEN: Mwen, j, ak k yo jis konvansyon pou pou pasan ke tout moun espere yo yo dwe rele mwen, j, ak k. Ou ka rele them-- mwen wè ranje kolòn oswa rele ranje pafwa pou de pasan enbrike, ak sa a, se tou kalite estanda. Men, mwen ak j se konplètman konprann. ALLISON: Yeah, mwen ak j w ap totalman amann. Pou poutèt a klè tankou nan kèk nan P kouche ou, li ta ka fè sans yo gen plis bagay deskriptif nan la jis nan kenbe tras nan li. Men mwen panse ke mwen, j, ak k mwen panse ke a vas majorite de nou tout sèvi ak yo. ROB BOWDEN: Avèk sa yo konvansyon, se konsa style se enpòtan. Li nan youn nan kat aks yo ki te sou ou ap resevwa nòt, epi li se tèlman fasil yo jis ale sou P ou yo mete nan fen a, epi fè sèten ke pa gen erè stylistic. Se konsa, asire w ke ou ap tabulation kòrèkteman. Asire w ke varyab ou yo rele. Kite kèk kòmantè. Li se trè fasil jwenn pwen sa yo. Ou pa bezwen panse osijè de anyen yo nan lòd yo jwenn pwen sa yo. Ou pa gen figi anyen deyò. Li nan jis fè li gade bèl. ALLISON: An reyalite, nou gen style 50, ki ap fè w konnen kote w ap pitye moute si w ap pitye moute sou style epi yo pral di ou egzakteman sa ou bezwen ranje ak ki jan ou bezwen fikse li. Li la tou jis bon mansyone ke li nan politik kou ke si w ap nan biwo èd tan ak kòd ou a se yon dezòd, nou ka refize ede ou jiskaske li sanble joli. Se konsa, kòmanse soti dwat, kenbe ki konsistan style, w ap tou jis ale nan fè lavi ou anpil antye pi fasil lè w ap eseye ale nan dbug. Si w ap ap eseye figi konnen kote ou ap manke yon atèl Curly epi yo ap sou tout plas la, w ap jis fè pwòp vi ou pi rèd. Se konsa, dwe konsistan avèk style. Mwen te pwomèt li pral fè lavi ou pi fasil. Li pral fè lavi nou pi fasil. Tout moun yo pral pi pi kontan. Epi sa a, sa ou vle. GABRIEL: klas ou yo pral pi wo. ALLISON: Wi, ak klas ou yo. Si tf ou a tankou ou, gen tandans ka favorab. Tout dwa, ak Lè sa a jis pwen nan dezyèm isit la. Inisyalizasyon ki konsistan. Se konsa, kòm nou te wè, ou ka deklare ak inisyalize bagay sa yo. Miltip varyab sou liy la menm. Youn nan bagay nou ta renmen ou pa fè se deklare kèk varyab epi yo pa inisyalize yo sou menm bagay la tou liy ke ou ap inisyalizin lòt moun. Se konsa, nan ka sa a te fè okenn sans tou sa, nou gen egzanp lan isit la kote nou ap deklare antye nan varyab nan trimès dis kòb ak peni, men trimès ak peni pa gen okenn valè inisyal. Nou pa t 'inisyalizèd yo, men dwa nan mitan an gen nou deja inisyalizèd dis kòb nan 0. Se konsa, swa fè trimès, dis kòb, peni. Oubyen èske trimès egal 0. Dimes egal 0. Peni egal 0, oswa kèlkeswa sa moun inisyal valè ye. Gwo bagay ak style, ou dwe konsistan. Lè w gen dout, ou dwe konsistan. Men, swiv gid style nou an tou. Fre. Tout moun bon a? ODYANS: Ki kote nan gid-la style? ALLISON: Gid sa a style se on-- sa ki nan sit entènèt la? GABRIEL: Mwen panse ke li nan manual.cs50.net/-- ALLISON: style? GABRIEL: Style. Oui. ALLISON: Wi. Se konsa, kesyon, kote se style 50. manual.cs50.net/style. Wi? ODYANS: Si nou ap defini varyab, se li OK si nou mete tankou [fèbl] tankou nòt Int ak Lè sa a int objektif. Se konsa, ou ta ka di ke kounye a nou te te rive nan defini yo ansanm? ALLISON: Se konsa, kesyon, yo ta dwe ou gen redondants Kòd lè w ap defini varyab tankou nòt int ak sou pwochen liy jwèt la int? ROB BOWDEN: Gen definitivman ka kote redondants Kòd se move. Mwen pa ta konsidere ke kòd redondants. Mwen prèske pa janm deklare miltip varyab sou liy lan menm tout tan. Men, si anyen, li nan paske anjeneral mwen kite kèk sòt de kòmantè esplike ou kisa ki varyab la se pou. Se konsa, mwen pral di Int nòt koupe koupe. Kenbe yon dosye sou kèlkeswa sa. Nan total koupe koupe. Se konsa, li la pi gwosye nan fason sa a yo mete yo tout sou liy la menm. Mwen jis pa janm mete yo sou liy lan menm. ALLISON: Mwen santi mwen renmen li nan preferans pèsonèl nan pwen sa. ODYANS: ki ale pou pou pasan ak lòt bagay tou? ROB BOWDEN: Tankou andedan? Tankou int mwen egal 0 vigil longè egal yon bagay? Ke ou pa gen yon chwa. Avèk pou pasan inisyalizasyon a part-- konsa ou ta ka yo te sèlman wè int mwen egal 0 virgules mwen mwens pase tou sa virgules mwen plis plis. Ke mwen int egal 0, teknikman ou ka tou fè sa nou te wè anvan ak sentaks la vigil. int mwen egal 0 vigil j egal 3 vigil k egal 5. Ou pa gen yon chwa a fann ki moute nan liy miltip, e ke sa a estanda. Wè li gen se amann. ALLISON: Awesome. Oke, bon seg nan pasan. Se konsa, yeah, isit la nou gen kèk egzanp nan pasan ke ou nèg te wè nan grafonyen moun. Ak nan kou tout moun sa yo ka jis dwe rkre nan C. Apre sa, yo fondamantalman pèmèt ou yo repete kèk seksyon nan Kòd jiskaske yon kondisyon sèten sa te rankontre, ki nou pral jwenn nan dwa apre pale sou pasan ak kondisyonal. Se konsa, nou gen twa kalite prensipal la. Pou, pandan y ap, epi fè pandan y ap, ki nou tout ap ale nan kounye a. Se konsa, premye a se yon sèl pou pasan. Se konsa, pou kèk kondisyon, egzekite sa a blòk nan kòd. Nou gen ti kras fre sa a dyagram isit la nan pati anba nan. Men, fondamantalman ou gen nan pou ou, ke premye liy, w ap ale nan inisyalize varyab ou. Se konsa, kòm nou te pale de, mwen se egal a 0 oswa mwen ki egal a 10. Kèlkeswa sa ou bezwen ke varyab yo dwe li nan ale nan dwe inisyalizèd a, deklare ak inisyalizèd nan kèk valè. Se konsa, Lè sa a, nou gen kèk kondisyon ki k ap pase yo dwe tcheke nou an varyab kont yon bagay. Se konsa, nan ka a ka a tipik kote petèt ou vle seksyon sa a nan Kòd al touye senk fwa. Se konsa, nou ta gen int mwen egal 0, epi nou vle li nan dwe lè mwen se mwens pase 5. Se konsa, ki kondisyon se jis ale nan tcheke ke chak fwa. Si ke kondisyon evalye vre, li nan ale nan kouri kòd la, ki se egzakteman sa dyagram sa a ti kras se ki montre. Se konsa, li ègzekutra li. Li dènye nouvèl yon varyab, ki se sa ki nou wè nan pati nan sot pase yo nan pou nou an bouk inisyalizasyon a. Se konsa, li pral jis kontinye ap fè sa jouk ke kondisyon se pa sa te rankontre, ak Lè sa a li pral sòti bouk la yo e yo kontinye deplase sou ak rès la nan pwogram ou an. Tout moun bon a? Fre. Se konsa, isit la nan yon egzanp, sanble anpil nan yon bagay mwen jis te pale osijè de. Se konsa, nou jis vle enprime sa a se CS50 10 fwa. Se konsa, ou wè isit la nou gen pou nou an, epi lè sa a nou inisyalize varyab la mwen yo dwe egal a 0. Kondisyon nou an ap tcheke ke li nan mwens pase 10. Se konsa, evalye vre lè nou premye kòmanse, ak Lè sa a dènye nouvèl varyab nou an chak fwa ke li aktyèlman ègzekutra ak simagri soti sa se CS50. Epi yo pral mete fen nan apre 10 fwa. Fre. Se konsa, pandan y ap pasan yo moute kap vini an. Ak jan ou wè la a, nou jis gen kèk kesyon sa a pandan y ap condition--? ODYANS: Kouman mwen ka sote aktyèlman jis pa gen yon sèl nimewo, men de nonb [fèbl] mwen plis plis plis? ALLISON: Se konsa, kesyon an te ki jan ou ka aktyalizasyon varyab ou a pi plis pase yon sèl nan yon tan. Se konsa, mwen plis plis ap aktyalizasyon pa youn chak fwa. Si ou te vle mete li pa de, ou ta ka fè mwen plis egal 2. ROB BOWDEN: Èske ou te wè plis egal nan konferans ankò? ODYANS: [fèbl]. ALLISON: Se efektivman an menm bagay kòm mwen egal mwen plis 2. Se konsa, li nan pral pran li epi li mete li pa de chak fwa. Plus egal se jis yon bagay nou rele Massachusetts Institute of Technology sik. ROB BOWDEN: Yeah, sa yo ki egziste pou bèl anpil tout operatè aritmetik. Fwa Se konsa, mwen egal a ta double nimewo a. j divize egal 3 se menm bagay la tou kòm j j egal divize pa 3. ALLISON: Oswa mwens egal 2 ta dekrwasans mwen pa de chak fwa. ROB BOWDEN: Menm egal mod. Ou pa gen pou wè lojik operatè, men Lambda egal ak comercial egal, tout moun sa yo egziste. ALLISON: Se konsa, yon anpil nan fwa, espesyalman ak koup premye ou nan P kouche, ou pral pwobableman pa incrementing yon sèl, se konsa mwen plis plis, j plis plis yo se tout bagay sa yo w ap ale tipikman gen lè l sèvi avèk. Men, ke kondisyon aktyalizasyon se konplètman ki nan kontwòl ou. Ou ka mete li pa tou sa ogmantasyon oswa nan nenpòt ki bò ou deside. Petèt ou menm vle li nan dwe yon nimewo o aza pafwa. Men, repons lan se wi, gen anpil bagay nan bagay ou ka fè ak sa. Ou pa ap restriksyon nan mwen plis plis. ROB BOWDEN: Jis pou w konnen li egziste, li tou egziste nan yon lòt fòm, plis plis mwen. Se konsa, si w ap janm fouye sou entènèt ak rive wè plis plis mwen, bèl anpil vle di menm bagay la. ALLISON: Cool. Bon? Awesome. Se konsa, pandan y ap pasan. Trè sanblab. Ou gen kèk kondisyon. Bagay la prensipal yo remake isit la se olye pou yo gen twa pati diferan yo mete kanpe, nou gen yon sèl. Nou jis gen kèk kondisyon ki k ap w tcheke yo. Ak nan menm fason an, osi lontan ke ke kondisyon evalye vre, Kòd ou a pral nan kouri. Men, si li la fo, li ap mete fen, deplase sou pati nan pwochen nan pwogram ou an. Se konsa, sa a se kalite sa ki nan like-- yon bon ekzanp de tcheke pou kèk kondisyon nòmal? GABRIEL: Pandan ke vre. ALLISON: Ou ta ka fè pandan y ap vre. Oke, 1 ki egal a 1. ROB BOWDEN: Ou ka fè while-- jis olye pou yo lè l sèvi avèk yon pou riban, ou ka toujou Kòd yon pou bouk nan yon riban pandan y ap, Se konsa, mwen pi gran pase 0 oswa pandan y ap mwen mwens pase 10. ALLISON: Awesome. Lè sa a, nou te fè pandan y ap pasan, ki se gwo pou itilizatè validation, kote ou vle jwenn yon bagay soti nan itilizatè ou, wè si li nan ki valab, ak Lè sa a kontinye soti nan la. Se konsa, youn nan bagay ki yo konnen se ak yon fè pandan y ap se ke li k ap pase yo egzekite, ak Lè sa a li pral re-egzekite si se kondisyon sa a te rankontre. Se konsa, pwobableman fason ki pi byen fè sa a se jis yo wè yon egzanp isit la. Se konsa, kòm mwen jis mansyone, itilizatè validation se reyèlman useful-- oswa fè whiles yo se reyèlman itil ak itilizatè validation. Se konsa, sa se jis ale re-èd memwa kèk itilizatè jiskaske yo antre nan yon chif pozitif, ki ta ka itil pou P seri ou semèn sa a. Se konsa, nan ka sa a, lè nou okòmansman kouri pwogram sa a, li pral ekri ak lèt ​​detache antre nan yon chif pozitif. Li nan ale nan jwenn kèk D 'soti nan itilizatè a, ak Lè sa a li a pral tcheke ki D 'kont kondisyon an ke ou te fikse pou li. Se konsa, nan ka sa a li k ap pase yo tcheke. Li nan ale nan di, OK, se opinyon nou an negatif, oswa se li 0 oswa negatif, ki ta dwe valab. Se konsa, Lè sa a, li ta re-èd memwa. Kesyon? ODYANS: Èske sa se menm bagay la tou Lè sa a, kòm yon pandan y ap riban si ou jis kopye ke kòd li mete l '[fèbl] pandan y ap riban? ALLISON: Se konsa, kesyon te ta sa a pral menm bagay la kòm jis yon ti tan bouk si nou te jis kopi riban an pandan y ap pi wo a. Se konsa, nan ka sa a, riban pandan y ap ou a se ale nan tcheke kondisyon an premye. Se konsa, nan ka sa a, si nou te eseye yo ekri kòm jis yon riban pandan y ap, li ta di pandan y ap D 'se mwens pase yon sèl. Men, nou pa gen yon D 'pou li. ODYANS: Si ou [fèbl] pandan y ap riban ki gen ladan sa a kòd, men Lè sa a ou coped kòd la pi wo a riban a pandan y ap tou. Ou jis te gen sa a kòd [Fèbl] pandan y ap riban. ALLISON: Li ta menm bagay la, repons lan se wi. Se konsa, ou ta ka jis write-- olye pou yo gen yon repons lan se wi do--. GABRIEL: Men, sa a plis elegant. ALLISON: Yeah, sa a, se plis elegant. Ou ka jwenn nan konsepsyon ak etajèr, men repons lan se wi, ou ka totalman fè sa. Nenpòt lòt kesyon? OK, fre. Se konsa, nou te pale yon anpil sou kondisyon ak tout sa yo pasan ke nou gen, se konsa nou ap aktyèlman ap resevwa nan kondisyon nan ekspresyon Boolean. Ankò, ou sèvi ak sa yo nan C, Se konsa, jis kalite tranzisyon soti nan plis koòdone grafik yo aktyèlman kodaj. Cool, tèlman gwo yon sèl, si. Fondamantalman jis pèmèt nou prezante kèk lojik nan pwogram nou yo ak chèk kondisyon SYS. Se konsa, nan ka sa a, OK, se n pi gran pase 0? Wi li se, kidonk, ou ka egzekite sa a. Li nan jis tcheke kèk kondisyon ki ou te mete, ki mwen panse ke nou ap tout konfòtab ak tcheke kondisyon. Fre. Se konsa, si lòt bagay se lòt yon sèl ou, ou ka di OK, si sa a se vre, fè sa nan premye bagay. Sinon mwen vle nou default ak fè yon lòt bagay. Menm jan ak nan ka sa a, ou swa chwazi yon Nimewo pozitif oswa yon chif negatif. Ou gen sèlman de chwa. Ou bezwen li al touye kèlkeswa nan sa ki entrain itilizatè ou an. Se konsa, ou ka di byen, se li pi gran pase 0? Fre. Enprime yon chif pozitif. Si li pa, enprime yon negatif. Tout moun sa ki bon? Lè sa a, yon sèl bagay yo rekonèt se ke si yo si kondisyon an te rankontre, lòt la pa janm pral tou egzekite. Se sèlman youn nan sa yo pral egzekite nan yon tan. Se konsa, li yon komès la. Ou pa jwenn yo gen tou de. Ou swa gen kondisyon an premye. Ou swa gen la si oswa lòt moun, pa tou de la. Ki Lè sa a, ka fè bagay sa yo menm plis konplike, paske ou ka fè si, lòt moun li, ak Lè sa lòt bagay. Se konsa, nan ka sa a, nou gen twa kondisyon. Epi ankò, se sèlman youn nan sa yo se ale nan fini ke yo te egzekite. Se konsa, ou ka mande byen, sa ki si ou gen yon bagay ki ka rankontre de nan sa yo. Petèt tou sa w ap Anthrax satisfè tou de kondisyon an pou si ak lòt bagay la si. Se sèlman bagay ki k ap pase nan kouri ALLISON: Le pli vit ke li jwenn yon bagay ke li satisfè kondisyon an pou sa evalye vre, se sa ki li a pral kouri e pa gen anyen lòt bagay. Se konsa, si ou te gen se nimewo sa a ant 0 ak 5 pou yon premye ou a, oswa se nimewo sa a ant 3 ak 5 pou lòt moun nan si pati, epi ou D 'number-- la M 'te di 0 ak 5 and-- 4. Li nan ale nan frape youn la an premye. Li nan ale nan di OK, sa a Nimewo a se ant 0 ak 5. Egzekite epi kite. Li pa janm pral frape ke dezyèm opsyon. Cool? Awesome. OK nou gen tou switch deklarasyon si ou vle jwenn menm more-- oswa regrèt sa, switch se kap vini an. Mwen ap resevwa devan yo nan tèt mwen isit la. Yon fwa ankò, plizyè si blòk kote kòm mwen jis te di se le pli vit ke ou jwenn yon kondisyon ki nan te rankontre ak yon si lòt moun si lòt moun, li kite. Si ou bezwen yo tcheke miltip bagay sa yo, w ap ale nan vle sèvi ak paske sa a li pral tcheke pou wè chak fwa isit la. Se konsa, sa a pral kouri nan epi si li nan pi gran pase oswa egal a 90, li pral ekri ak lèt ​​detache sa. Epi li pral kouri nan ak tcheke chak yon sèl nan sa yo. ODYANS: Se konsa sa a ta dwe plis buggy pase [fèbl]. Ta dwe tankou sa a [fèbl]? ALLISON: Kesyon an se ta sa a gen buggy oswa sa a fè sa ou vle. Li reyèlman depann de sa ki ou vle soti nan pwogram ou an. ODYANS: Mwen vle di tankou si ou mete 90 an. ALLISON: Si ou mete 90-- ODYANS: [fèbl]. GABRIEL: W ap ale nan jwenn de bagay sa yo. ALLISON: W ap ale nan jwenn de bagay sa yo. Wi, de. ROB BOWDEN: De? ALLISON: No ROB BOWDEN: Kat. Si ou mete 90, li nan ale nan di ou te resevwa yon A, ou te resevwa yon B, ou te resevwa yon C, ou te resevwa yon D. ODYANS: [fèbl]. ALLISON: Dwa. Se konsa, mwen depann de sa ki ou vle soti nan pwogram ou. Pafwa ou bezwen tcheke miltip bagay sa yo. Ou ap jwenn anpil pi fon nan sa ki bon konsepsyon se jan ou ale pi devan. Sa ki enpòtan reyalize se ke sa a pral tcheke pou wè tout kat kondisyon isit la. Lè nou konsidere ke si sa a te yon si lòt moun si lòt moun si lòt moun, li ta frape ke ka premye, li ta enprime ou te resevwa yon A ak dwe fè. ROB BOWDEN: Menm si nou deside chanje sa a yo si ak pi gran pase oswa egal a 90, si ak pi gran pase oswa egal a 80, ak mwens pase oswa egal a 89, si n pi gran pase oswa egal a 70, ak n mwens pase oswa egal a 79, se konsa ke yo pral kòrèk. Ki pral fè sa nou vle, men li toujou chèk chak yon sèl li. Se konsa, Lè nou konsidere ke nan senaryo a an premye, si nou antre nan 90 ak jis si lòt moun si lòt moun si, epi nou antre nan 90, Lè sa a, li a pral korije. Li pral tcheke pou wè premye a yon sèl, ekri ak lèt ​​detache ou te resevwa yon A, sote tout bagay, paske li deja jwenn youn ki travay. Tout ka yo se mityèlman eksklizif ki baze sou ki si lòt moun si lòt moun si. Se konsa, li pral egzekite nan premye si, lè sa a li fè. Li pral ale nan fen an. Lè nou konsidere ke si nou chanje sa a yo dwe ki sa mwen te li di ki gen mwens pase oswa egal a 89. Li nan ale nan tcheke youn la an premye. Li pral enprime. Li pral tcheke youn, dezyèm lan. Li pa nan ale nan enprime. Tcheke youn nan twazyèm. Pa ale nan ekri ak lèt ​​detache. Tcheke youn nan katriyèm. Koulye a, pral enprime. Se konsa, nan ka sa a, lòt moun nan si vèsyon, depi ka sa yo yo se mityèlman eksklizif, li nan pi bon itilize si lòt moun si lòt moun si, paske sa ki pral gen mwens chèk nan kondisyon sa yo pase vèsyon sa a. ALLISON: Awesome. Se konsa, yon lòt bagay nou kapab fè se deklarasyon switch. Fondamantalman yon deklarasyon switch pran nan kèk varyab, nan ka sa a li nan n, ak detèmine ka sa a al touye. Se konsa, sa a se tou yon sèl kote ka ou yo ta dwe kalite mityèlman eksklizif. Se konsa, nan ka sa a, si nou nou jwenn yon yon sèl, li nan ale nan matche ak tou sa ki variable-- tou sa valè a nan n se nan youn nan ka sa yo, se konsa 1, 2, oswa 3, ak enprime soti liy ki koresponn lan. Lè sa a, si w remake isit la, nou gen tou yon default, ki ou ka nan panse a kòm lòt moun ou yo. Se konsa, si ou chwazi nenpòt lòt nimewo san konte 1, 2, ak 3 nan ka sa a li jis ale nan enprime valab. N ap deside lè yo sèvi ak ifs kont si elses kont switch ki pral yo dwe yon bagay ke ou nèg pral wè konsepsyon ki gen bon konprann jan ou kòmanse ekri pwogram pi konplike, ak gen nan pa gen règ fò e rapid nan lè yo sèvi ak yo. Li reyèlman depann de kontèks ou yo. ROB BOWDEN: Ak jis voye jete byen yo deyò depi li se pi alèz seksyon. Switch, yo gen tandans be-- se konsa w ap limite nan kantite fason ou ka sèvi ak yo, paske ifs, kondisyon an ka trè pi anyen ou vle. Avèk switch ka yo gen yo dwe nimewo, oswa teknikman yo ka charaktèr, men charaktèr, menm jan nou pral wè, yo se chif jis. Se konsa, yo gen yo dwe nimewo, men switch yo se reyèlman pi efikas pase si lòt moun si lòt moun si, paske menm pran egzanp lan fè anvan byen, egzanp lan klas sanble bon. Oke kite a di isit la, nou olye fè sa a kòm yon si lòt moun si lòt moun si senaryo. Se konsa, si n egal egal 1, ekri ak lèt ​​detache ou te chwazi yon nimewo ki ba. Si lòt moun si n egal egal 2, ou te chwazi yon nimewo medyòm. Lòt Bagay si egal egal 3, segondè. Lòt Bagay valab. Se konsa nou di sa ki te senaryo nou an. Se konsa nou di nou antre 4, se konsa nou espere valab. Fason ki ke si lòt moun si lòt moun si apwòch ki pral travay se chèk kondisyon an premye. Li pa nan satisfè. Se konsa, nou tcheke kondisyon an dezyèm fwa. Li pa nan satisfè. Tcheke kondisyon an twazyèm. Pa satisfè. Se konsa, nou ale nan lòt la epi enprime valab. Fason ki travay yo switch se li compiles desann nan sa nou ap ale yo rele yon tab sote. Ke yo te nan ide prensipal ki lè ou antre nan 4, li ka imedyatman ale nan default la. Li pa bezwen tcheke am ka mwen 1? Nope sa a, se pa li. Ka 2? Non. Ka 3? Non. Default. OK, sa a dwe kote mwen vle, ak Lè sa a, egzekite sa. Non, li imedyatman sote nan default la. Oswa li mwen antre 2, li la imedyatman ale nan ale nan 2 a san yo pa bezwen yo ale nan ka 1. Se konsa, nan fason sa a, pli reyèlman sèjousi sa a, se pa sa ki anpil nan yon benefis efikasite. Anjeneral òdinatè yo trè vit, ak sa a, se pa sa ki gwo. Men, li se ka a ke switch yo pi vit. Si w ap reyèlman ap yo optimize, sèvi ak yon switch. ALLISON: Cool. Lè sa a, nou gen tèrsyèr operatè. Se konsa, mwen konnen mwen mansyone pi bonè pawòl Bondye a Massachusetts Institute of Technology sik. Se konsa, li nan jis bagay ki fè kòd ou a pi plis brèf. Se konsa, sa a se youn nan ka sa yo. Se konsa, tèrsyèr operatè se kesyon mak kolon jan nou wè nan fisèl la liy a egal n pi gran pase 100 kesyon mak segondè kolon ki ba. Se konsa, fondamantalman ki jan sa a ap travay se li nan n nan pi gwo pase 100 se yon kondisyon. Se konsa, mwen panse ke li ka fè sans. Se tankou mande yon kesyon. Li nan di oh, se n pi gran pase 100. Ki moun ki konnen? Men, si li evalye vre, li nan ale nan ba ou bagay la premye sa a, se ki nan lis la, ki se segondè. Sinon li a pral ba ou ki ba. Se konsa, sa a se jis yon vrèman senp epi fason efikas fè tankou yon si lòt bagay. Sa a tout sa a se. Men, si nou te ekri sa a kòm yon lòt bagay si kondisyonèl, li ta si n pi gran pase 100, retounen segondè. Lòt Bagay, retounen ba. Sa a se jis yon pi plis kout fason pou ekri li. ROB BOWDEN: Se konsa, sa a egzanp patikilye se nenpòt lè ou ap fè yon bagay tankou sa a, sa a se modèl la kote mwen sèvi ak tèrsyèr trè souvan. Se konsa, nou pa t 'te pale osijè de sijè ki abòde ankò, men mwen rayi wè virgules fisèl la. Si n pi gran pase 100, s egal segondè. Lòt Bagay, s egal ba. Se konsa, ki modèl, sa yo ki senk liy nan kòd literalman 100% nan tan an kapab transfere nan sa ki te moute la ansanm ak yon tèrsyèr. Se konsa, tèrsyèr la, yon sèl liy nan kòd. Si nan lòt moun, senk. Sa a yon egzanp mwen pwen soti chak fwa sèl. Sa a ta gwo plas pou yon operatè tèrsyèr. Li nan tèlman pwòp. Men, moun yo gen tandans pa janm sèvi ak li. ALLISON: Pran l 'ale Gabe. GABRIEL: Se konsa, kounye a ou nèg tout aprann nan konferans semèn sa a ke tout bagay nan yon òdinatè se binè, dwa? Jis tankou ti lanp yo isit la. Ou kapab swa vire sou yo ak sou. Ak pa tout bagay, mwen vle di literalman tout bagay. Gen kèk chif, ak charaktèr, ak strings, e menm kòd la ke ou ekri lè li vin konpile nan machin Kòd ak lòt bagay tankou sa yo, se konsa li tout klou desann nan 0 a ak 1 '. Se konsa, lè nou ap fè fas ak nonm antye relatif, ki se yon bagay sa a, se teknikman trè senp, nou ta dwe kapab fè bagay tankou ajoute yo, ki se pwobableman youn nan bagay ki pi senp ou ka fè nan de nonm antye yo, dwa? Se konsa, adisyon ak soustraksyon travay jis tankou li ap travay nan notasyon desimal, eksepte isit la li nan binè, dwa? Se konsa, li nan baz de. Se konsa, ajoute 1 plis 1. Ki bay 0, ak 1 pote sou. Ak jis kontinye ap fè sa, Se konsa, kounye vini kesyon an plis enteresan. Nou konnen ki jan yo reprezante tout nonm antye relatif pozitif nan òdinatè a, men kite a fè sa-a yon fè egzèsis. Pran pòz ou nèg, yo tout nan lane 1960 oswa yon bagay ap eseye kreye yon òdinatè, epi ou gen vini nan yon fason pou estoke mwens 1, pou egzanp, oswa mwens nenpòt nonb antye relatif pou ki matyè. Kouman ou ta fè sa? Nenpòt lide? Jis voye jete anyen nan m '. Wi? ODYANS: [fèbl] deziyen yon espesyal si ou [fèbl]. GABRIEL: Ou ka deziyen yon ti jan espesyal, ki pral 0 oswa 1. Se pou nou di yon sèl si li nan pozitif ak 0 si li nan negatif. Lè sa a, rès la nan ti jan a se jis nan magazen nimewo a. Fre. Se konsa, sa a, se yon trè bon lide. Nou gen, Mwen pa konnen, 200. Men, si ti jan nan premye se vire sou, Lè sa a, li nan plis 200. Si li la etenn, li se mwens 200. Fre. Gen yon sèl ti pwoblèm ak sa a, ki se si nou eseye sòm bagay yo. Se konsa, imajine nou gen 11111 isit la, ak nou ap adisyon sa a ak 00100 kèlkeswa sa. Si moun ki de yo se pozitif, sa a, se amann. Men, Lè sa si youn nan yo se negatif, tankou kite a di ke sa a ti jan isit la se youn nan sa a, se responsab for-- mwen pral fè yon separate-- se konsa yon sèl sa a vle di ke nimewo sa a isit la se pozitif. Sa a yon sèl vle di ke sa a Nimewo isit la se negatif, dwa? Men, Lè sa lè w ap ale nan sòm yo, ou bezwen yon si deklarasyon li di oh si sa a se 0, Lè sa a, sòm mwen yo ki pral yon bagay diferan, dwa? Se konsa, gen nan yon yon ti kras plis entelijan fason yo fè ki, ki te rele konpleman de la. Se konsa, fondamantalman sa nou fè se nou defini mwens 1 yo dwe bagay la ke si nou ajoute jiska 1 ban nou 0. Kite m 'repete sa. Se konsa nou di ke sa a isit la se 1. Ki sa ki se bagay la ki natirèlman nan nonm antye relatif pozitif ajoute nan ki ba nou 0? E si nou eseye ajoute li nan nonb sa a? Nou pral have-- OK, se konsa kite a ajoute. Nou pral gen 1 plis 1 se 0, ak Lè sa a li pote sou. Lè sa a, nou ap ale nan jwenn 0 ankò. Mwen ap resevwa konfonn. Epi ou ap ale nan jwenn 0 ak 0 ak 0 ak 0 ak 0 ak 0. Lots of 0 a. Nan yon sèl nan anpil pase a, nou ap pa ale nan pral kapab pote li sou, paske se pou yo di nou ap sèlman fè fas ak yon sèl multiple, se konsa sèlman 8 Bits. Se konsa, sa òdinatè a fè sa ki pa default se jis bliye sou sa [fèbl], OK? Se konsa, sa a se sa yo rele konpleman de la. Nou tou senpleman defini mwens 1 yo dwe nan bagay isit la ke si ou ajoute ke nan 1 ta ba ou 0. Epi sa a, trè fre paske nou pa fè sa vrèman bezwen an reta aplike yon kalite diferan nan sòm total depann sou si ke sa a yon negatif oswa yon chif pozitif. ki fè sans? Se konsa, yon sèl bagay ke nou fè isit la yo nan lòd yo konvèti ant yon pozitif ak yon negatif nonb antye relatif se lè sa a nou baskile tout bagay, ak Lè sa a nou ajoute 1 a nimewo sa a. Si ou eseye fè li tèt ou sou yon moso papye, w ap ale nan wè ke fè sans. Men, si mwen pran nimewo sa a isit la, sa a se senk. Se konsa, si mwen baskile tout bagay isit la, se konsa 1, 1, 1, 1, 1. Flip, baskile, baskile. Lè sa a, mwen ajoute 1 nan li. Mwen pral gen egzakteman mwens 5. OK? Sa a jan de fè sans paske si ou eseye sòm sa a ak nimewo a ke nou te gen anvan, ki was-- kite nan baskile sa a ankò. Li te 101 ak anpil 0 a. Si ou eseye ajoute sa de nonb ansanm, w ap ale nan gen egzakteman 0. OK. Nenpòt kesyon? ODYANS: [fèbl] GABRIEL: Ki sa ou vle di? ODYANS: Negatif pozitif [fèbl]. GABRIEL: Non, ou baskile epi ou ajoute 1 toujou. Yeah. OK, se konsa karaktè tou kode binèr. Nou gen tab ASCII, menm jan ou te wè tou nan konferans, dwa? Se konsa, li fondamantalman yon kat de bagay sa yo. Ak isit la mwen pa ka mete aksan sou ase ke pou yon òdinatè, yon ak 65 yo literalman menm bagay la. Se konsa, si mwen ekri yon bagay tankou Char c egal yon, mwen te kapab nan menm tan an jis ekri isit la 65, epi li ta dwe ekzakteman menm bagay la, OK? Gen nan pa gen diferans tou. Nou anjeneral gen tandans yo mete karaktè nan varyab nan kalite. Char, pa paske yo ap esansyèlman fè pou sa, men paske nan konvansyon imen. Men, ou ka jis fè fas ak nonm antye relatif olye pou yo varyab nan kalite Char, epi ou pral amann. Sèl diferans ki genyen vrè ant yon Char c ak yon m Int se ke yon int gen kat bytes nan pifò sistèm, pandan y ap yon Char gen youn multiple. Yo ap esansyèlman a menm bagay an tèm de done. Se konsa, sa pral enprime isit la? Isit la nou ap enprime yon chif lè l sèvi avèk printf ak yon plis 1, ak jis tankou nonm antye yo, charaktèr ka adisyone, se konsa karaktè kapab tou gen pou adisyone. Se konsa, sa a se egzakteman 65. Se konsa, gen nan pral fè 66, ak isit la nou gen 65 plis ti kras yon mwens gwo A, ki pral, mwen pa vrèman konnen. Men, li pral egzakteman espas sa a ant lèt yo kapital ak ak lèt ​​yo ki pi piti, se konsa nou ap ale nan jwenn ti yon, dwa? Yeah. Se konsa, sa a se pral enprime yon karaktè ki se egzakteman sa a youn. Bon? Nenpòt kesyon? Isit la nou gen yon pakèt moun sou diferan kalite pou varyab nimerik. Nou deja pale sou int. Flote se jis yon fason to-- sa a se reyèlman komik, paske lè m 'premye te aprann nan pwogram li tounen nan jou a ak Piton, pwogram nan premye fwa mwen tout tan tout tan te eseye ekri, mwen te wè ke te gen yon kalite rele nan ak yon kalite rele flote. Epi flote nan te pou tout nimewo reyèl. Se konsa, Lè sa a, mwen te mande poukisa yo ta dwe Mwen janm itilize yon int lè sa a? Paske si mwen ka sèvi ak tout chif reyèl ak yon flote, Mwen ta jis sispann lè l sèvi avèk antye, dwa? Paske nonm reyèl yo anpil tankou plis jenerik. Li sanble ke sa a se pa ka a nan òdinatè paske yo ap esansyèlman bagay diferan. Se konsa, nonm antye relatif ak cha, nan operasyon ke ou fè yo yo se esansyèlman diferan paske nan wout la yo ke yo yo estoke, OK? Nou pral pale yon ti kras ti jan pi plis sou sa nan yon dezyèm fwa. Se konsa, doub se jis yon flote pi gran. Anjeneral nan pifò sistèm, yon flote se kat bytes, jis tankou yon int. Epi yon doub se uit bytes. Yon lontan lontan se aktyèlman jis yon senbòl ke ou kole nan yon kalite tankou int. Ou di long long Int tankou sa a. Long lontan Int x fè li dire pi lontan. Se konsa, nan pi sistèm, ki pral ba uit bytes olye pou yo kat a dabitid. Epi ou ka aktyèlman lage nan nan, se konsa li ka jis di lontan lontan, ak ki travay tou, OK? Ou kapab tou fè lòt bagay tankou siye Int, oswa ankò jis siye ta travay tou. Epi ki ta fè x gen yon varyab tankou tout bagay a pozitif, se konsa ou pa ka vrèman gen negatif nimewo nan fason ke nou te wè moute isit la. Se konsa, sa yo bèl bagay pwen k ap flote ak presizyon. Sa a youn nan rezon ki poukisa ou vle sèvi ak antye olye pou yo flote, paske antye se 100% egzak, dwa? Li nan egzakteman nimewo sa a. Pou pwen k ap flote, si ou di repons egal 1 sou 10-- Mwen rive gen sa a egzak pwogram isit la, float.c. Sa simagri a 20 kote desimal. 1 divize pa 10, e ke Jeneralman sa yo se 0.1, dwa? Men, isit la si nou fè flote ak Lè sa a nou kouri li, nou wè ke li nan pa egzakteman 0.1. Li nan 0,149 yon bagay. Epi poukisa se sa? Paske ou pa ka vrèman reprezante chak sèl nimewo posib reyèl nan memwa paske gen uncountably anpil nan yo. Se konsa, nou ap teknikman sèlman kapab reprezante yon kantite lajan fini nan yo ak yon kantite lajan fini nan done. Men, li la reyèlman enteresan. Koulye a, sa a amèn kesyon de ki jan ou ta ale sou reprezante sa a ak Bits, dwa? Se konsa, kouman yo estoke flote? Avèk nonm antye li te fasil. Men, avèk cha ou vle yo maksimize ranje a, epi ou vle pou kapab reprezante nimewo gwo ak nimewo trè ti tankou 0.000001 nan menm tan an. Se konsa, ankò, se li menm jwèt. nenpòt moun ki gen nenpòt lide ki jan nou te kapab ale sou reprezante flote nan memwa? Jis voye jete anyen. Wi, tanpri. ODYANS: [fèbl] kòm si li te de antye ak yon sèl ke yo te [fèbl a] ak yon sèl ke yo te tout bagay apre pwen desimal la. GABRIEL: OK, fre. Se konsa, de nonm antye relatif diferan. Ou ka gen 12.45, se konsa sa a, se 12 ak 45. Nice. Ki sa ki sispann sèvi zidōl ou pral di? Menm bagay la ki? Yeah? ODYANS: [fèbl] notasyon kote ou separe baz la. GABRIEL: notasyon syantifik, yeah sa a, se anjeneral sa ki rive. Se konsa, sa a se sa yo rele mantis la. Sa a ki sa se aktyèlman la nimewo, ak Lè sa a ekspozan an se jis ki kote vigil la se, dwa? Se konsa, sa a se pral yo dwe yon bagay nan fòm nan 1, 2, 3, 4, 5 fwa 10 nan mwens 4 la. Mwen jis reyalize that-- yeah, egzakteman. Lè sa a, sa a 10 a 4 an mwens se pral defini ki kote vigil la se, OK? Nan Brezil nou itilize vigil. Isit la ou nèg sèvi ak yon dot. Se konsa, yon dot. Lè sa a se fre, paske lè sa a ou kapab konsantre anpil nan Bits ou sou sa a Guy isit la, sou mantis a, ak Lè sa a, sa a, se pral fè presizyon aktyèl ou yo. Epi ou ka fè sa swa nan desimal oswa nan sistèm nan ki baze binè. Gen diferan fason yo aplike sa a. Kesyon? Wi? ODYANS: Ki jan anpil kote apre desimal a [fèbl]? GABRIEL: Sa a yon kesyon konplike, paske li nan pa janm reyèlman 100% egzak, paske kòm ou wè la a, pou kèk nimewo li se 100% presi. Mwen kwè si nou mete 0.5 isit la, li nan pral fè 100% presi. Li nan pral fè 0,500000. Se konsa, nan ka sa a, li la pafè. Men, nan lòt ka yo, li nan anpil mwens pafè. Nan eksperyans mwen, tankou jiska kat, senk kote desimal se trè presi. Si ou itilize yon doub, li pral gen fason plis egzak pase sa, OK? ROB BOWDEN: Se konsa, jis voye jete kèk kontèks plis nan flote, Mwen pa janm sonje 100% la ki jan espèk ki te gen cha aktyèlman ap travay, men mwen fè ou toujou sonje ki flote kòmanse resevwa sal. Se konsa, lide a se ke lè ou jwenn reyèlman, reyèlman nimewo gwo oswa reyèlman, reyèlman nimewo ti, nou kòmanse vin pi mal ak pi mal nan différencier ant de cha fèmen. Se konsa, kouman mwen renmen yo reflechi sou se ak k ap flote enpresizyon pwen, ki te gen de cha ki si mwen eseye presize yo nan C, malgre lefèt ke yo ap nimewo diferan, yo pwal santi yo gen entèprete kòm nimewo a menm, paske nou pa kapab sere yo yon lòt jan. Nou bezwen sèvi ak Bits yo menm. Se konsa, lè nou jwenn nan reyèlman, reyèlman nimewo gwo, pale tankou 10 a 300 la oswa yon bagay, li nan nan pwen sa a ke 10 a 300 oswa nan 5 fwa 10 a 300 la pa ka différenciés soti nan 7 fwa 10 a 300 nan. Se konsa, sa a, se yon bèl gwo diferans ant de chif yo. Men, Lè sa lè ou jwenn desann nan seri nòmal bagay sa yo, ou gen tandans yo dwe trè bon nan différencier. Lè sa a, lè ou jwenn desann reyèlman piti, w ap tou ap resevwa trè move ankò. Se konsa, tankou yon pakèt antye nan 0,0000, li vin trè move. GABRIEL: Yeah, se konsa yon nòt rapid. Pa janm fè sa. Pa janm eseye konpare flote lè l sèvi avèk egal egal, paske menm si yo ap prèske la menm, prèske menm bagay la se pa menm bagay la. Se konsa, sa anjeneral ou fè se ou fè soustraksyon yo, pran valè a absoli nan sa, ak wè si sa a, se pi piti pase 0.0001 oswa yon bagay tankou sa yo, OK? Ak fre. Mwen konnen yon anpil nan moun ki gen kèk background nan Java, espesyalman sa yo ki moun ki fè Syans òdinatè AP, dwa? Ak Java se yon lang ki sitou ki baze sou C, li gen yon koup diferans trè gwo. Men, pou pasan, ak ifs, ak lòt bagay tankou ki, yo ap tout menm bagay sentaks la. Mwen gen yon pwogram kèk isit la yo montre sa a. Se konsa, pou egzanp, yon mond alo senp. Sa a se alo mond nan C, kote ou mesye yo definitivman abitye avèk, ak sa a ak sa a se yon sèl nan Java. Se konsa, nan Java nou gen sa a klas piblik, alo mond, epi revoke estatik piblik prensipal yo, ak fisèl arg. Arg yo fisèl yo ale a parèt nan C trè yon ti tan. Men, kite a pa ale la ankò. Kounye a, nou gen anile isit la, ki vle di ke prensipal se pa sa pran nenpòt agiman. Lè sa a, nou gen System.out.println, nan la e ke kalite ekivalan a pou printf. Isit la nou pa reyèlman bezwen antislach a n paske ekri ak lèt ​​detache ln fè sa pou ou. Li jwen antislach a n nan fen liy. Men, si ou ale nan yon bagay tankou yon pou, ou ka wè ke yo ap bèl anpil menm bagay la. Se konsa, inisyalizasyon, ak nan kondisyon, ak aktyalizasyon a is-- mwen rate yon espas isit lan-- yo ap bèl anpil menm bagay la, eksepte Java te gen kòm yon tijan plis bagay wo nivo. Isit la nou kapab fè plis Mwen menm ak Java pral otomatikman fè sa-a mwen isit la, ki se yon nonb antye relatif, nan yon fisèl, ak Lè sa a kole nan de strings yo ansanm. Isit la nan C nou bezwen fè & d% an. Liy lan nan isit la, pou sanble egzakteman menm bagay la. Men, si nou gade nan si, ifs yo tou gade egzakteman menm bagay la tou, dwa? Se konsa, diferans ki genyen reyèl gwo yo nan bagay sa yo ke ou wè isit la. Piblik estatik, anile, ak Lè sa a, klas piblik si. Se konsa, Java gen sa ki rele yon machin vityèl. Epi li se trè lou ki baze sou sa yo rele pwogram objè oryante, ki se yon trè, trè komen paradigm pou pwogram sèjousi. Epi bagay klas sa a se sa ou wè, yon bagay nan men Oryantasyon objè, se ou kreye yon klas ak lè sa a ou ka dériver objè soti nan ki klas la. Nou pa ap ale nan pale twò anpil sou ke nan CS50, men sa a definitivman yon bagay vrèman fre, espesyalman si w vle ale nan devlopman web pi plis sofistike nan fen kou a, tankou soumèt pwojè final ou a ak kèk bèl cadres ak lòt bagay. Se konsa, fondamantalman lide a se ke ou pa vle re-aplike yon bagay, se konsa ou kreye yon bagay sa a, se trè jenerik, tankou fòm nan, ak Lè sa a ou kreye fòm diferan soti nan li, ak Lè sa a soti nan chak nan fòm sa yo, ou kreye kèk fòm plis espesifik nan twa dimansyon oswa yon bagay tankou sa. Apre sa, yo gen sa a yerachi yo eritye nan men yo menm ki lòt, se konsa tout fonksyon ak tout varyab ki fòm nan gwo isit la gen, tout moun sa yo yo ale nan gen, ak tout sa yo se ale nan gen, ak sou sa ak pou fè. Se konsa, sa a, se lide a de baz yo. C pa gen sa, men C ++ gen ki kalite karakteristik. Ak Java se lou enfliyanse pa Oryantasyon objè, se konsa Se poutèt sa ou wè klas isit la tout tan tout tan an. Epi bagay la lòt se sa a Java machin vityèl. Se konsa, sa, mwen panse, se yon lide trè entelijan. Se konsa, sa jan yo ki envante java te fè se yo pa t 'vle konpile kòd yo de fwa si yo te gen nan kouri li nan yon Windows, oswa yon Mac, oswa Linux, se konsa sa yo fè se yo literalman kouri yon bagay tankou aparèy la, men ou pa reyèlman wè li pase. Se konsa, yo kouri nan yon machin vityèl andedan nan òdinatè w lan, ki se fondamantalman tankou yon mini sistèm opere. Epi sa opere objektif sistèm lan nan lavi se jis nan kouri sa yo rele Kòd multiple. Se konsa, olye pou yo nan C, wout la nou ta konpile sa a se fè si, ak Lè sa a kouri ./if. Mwen bliye antislach a nan. Nan Java, ou ta fè premye Java C rive nan konpile li, if.c. Li pa C. Li nan dot java. Lè sa a, ou gen kouri pa ./. Ou jwenn dosye nouvo sa a if.class, men ou pa ka vrèman kouri if.class kounye a jis tankou nou te fè anvan. Sa a se pa yon ègzèkutabl. Ou gen nan kouri. Ou gen manje l 'nan yon pwogram ki rele Java, e ke pwogram se machin nan vityèl, ak Lè sa a ou fè if.class, oswa si. Wi. Lè sa a, li travay. OK kidonk sa a se kalite a machin vityèl ap pase. C pa gen sa, Se konsa, si m 'te mete pwogram sa a nan yon machin Windows, li pa ta travay nan C. Nan Java li fè sa. Kesyon? Fre. Sa a si pou super seksyon pou jodi a.