[00:00:02] [Jwe mizik] HANNAH: Hi, tout moun. Mèsi mesye anpil pou vini soti nan move tan an degoutan pou egzamen youn revize sesyon. Kòm ou nèg konnen, egzamen se yon sèl sa a Mèkredi. Se konsa, nou ap ale nan ale nan yon pakèt moun sou sijè. Davin: Hey, mwen ka di yon bagay reyèl rapid? HANNAH: Yeah, Davin a pral di yon bagay reyèl rapid. Davin: Padon. Jis reyèl rapid, si w gen kesyon sou egzamen an, ou ka ale sou entènèt. Ale nan 2014 egzamen yon sèl, sou egzamen an. Li nan te resevwa lojistik sou ki kote yo ale, lè yo ale. Si w ap ansanm enskri, nou ap pral gen yon egzamen makiyaj nan 5:30. Oswa si ou voye m 'yon pwoblèm, ou gen kèk lòt pwoblèm. Men, 5:30 se fè-up la tan nan Mèkredi. Men, si ou gen kesyon, kesyon jeneral, sou entènèt gen tout lojistik yo. Se konsa, tcheke gen premye. [00:00:47] HANNAH: Awesome. Se konsa, isit la nan lis la gwo nan sijè ke nou ap pral yo ale nan jodi a. Mwen pral kouvri tout C a bagay, ki se ke premye kolòn. Se konsa, bagay la C ke nou kouvri apre egzamen zewo. Kòmanse avèk yon lis lye, ki gen ladan endikasyon. [00:01:05] Tout dwa, se konsa nou te wè sa a nan sesyon-an revizyon pase a, se konsa mwen pral yo ale nan sa a se yon ti jan pi vit. Jis leve men ou si ou vle m ' ralanti oswa adrese yon bagay pi lwen. Men, nou itilize lye lis paske nou te kòmanse nan C ak ranje. Ak ranje yo se gwo, men nan pwoblèm se yo gen yon gwosè fiks yo. Lye lis pèmèt nou kreye dynamique gwosè done estrikti. [00:01:28] Epi nou gen operasyon debaz nou an, Insert, efase, ak rechèch. Apre sa, nou ka fè insert nan pi move ka tan konstan si nou jis mete l 'nan konmansman an anpil. Netwaye ak rechèch, pi move ka gwo oh nan tan n. Se konsa, ankò, jis baskile nan foto sa yo, Mwen konnen nou te wè sa yo dènye fwa, men nou vle kenbe tras nan lis lye nou an pa kenbe tras nan la tèt nan lis lye nou an. Paske nou konnen ke chak youn nan nœuds nou an se jis ale nan lonje dwèt sou la ne pwochen nan lis lye nou an. [00:01:58] Se konsa, sa a, se ki jan nou kenbe tras. Menm si sa yo se pa moso kontinyèl nan memwa, nou ka jwenn yo pa jis yo flèch yo diferan. Isit la se estrikti nou an pou yon lis lye ne. Nou te wè sa a dènye fwa. Nou gen ne struct nou an. Epi li te gen de pwopriyete. Nimewo yon sèl, aktyèl la valè nou vle nan magazen. Nan ka sa a, li nan yon nonb antye relatif. Li ta ka yon fisèl, li te kapab gen yon Char, kèlkeswa sa ou vle. Lè sa a,, nou gen nan kenbe tras nan ne nan pwochen nan lis lye nou an. Se konsa, ki k ap pase yo dwe yon konsèy ne nan pwochen an. Si ou te jis ap fè rechèch, tankou mwen te di anvan, ou ta gen yo swiv flèch ou desann. Ensèsyon, ou ta kenbe tras nan kote rès la nan lis ou a se. Epi ou vle redireksyon tèt la nan pwen nan nouvo eleman nou an, ki nan ka sa a se youn, ak Lè sa a yon sèl pral pwen rès la nan lis la lye. Se konsa, ankò, mwen konnen sa a se yon ti kras ti jan nan yon repete soti nan egzamen zewo. Se konsa, nou gen yo dwe pran anpil prekosyon sou lòd la nan ki nou fè pointings sa yo pou nou pa fè sa pèdi tras nan do a nan lis la. OK, nenpòt kesyon ak jis separeman lye lis? Awesome, OK, fre. [00:03:06] Se konsa, kounye a, nou ap ale nan ale sou yon bagay jis yon ti kras pi konplike, doubl lye lis. Se konsa, nan adisyon a kenbe tras nan ne nan pwochen, nou menm tou nou vle kenbe tras nan ne an anvan yo. Lè sa a pèmèt nou, si nou ap nan kèk pwen nan lis lye nou an, pa sèlman ale anvwa, men tou repekte bak. Paske kòm nou te wè nan yon lis separeman lye, si nou te nan kèk ne, ak tout nan yon toudenkou, nou te deside, aktyèlman, mwen vle pou yo ale nan dwat a ne devan mwen, ou ta gen yo ale tout wout la tounen nan tèt la ak repekte nan jiskaske ou jwenn ne a ou te kap chèche. [00:03:35] Se konsa, sa fè bagay sa yo yon ti kras pi fasil kòm nou ap ap eseye repekte nan lis lye nou an. Men, li mande pou nou kenbe tras nan yon sèl plis konsèy, se konsa yon sèl plis zetwal ne. Tout dwa, se konsa isit la vini pati a plezi. Nou pral pratike mete ann aplikasyon retire pou lis doubl lye. Se konsa, sa a se yon bagay ki totalman jis jwèt pou egzamen an. Li te montre moute sou ti tès sot pase yo. Se konsa, definitivman dwe prepare nan kòd yon ti kras nan C. pa bliye ke ak tout sa a PHP plezi ak JavaScript, nou toujou gen sonje fè C. Se konsa, brose moute sou ki si w ap santi wouye. [00:04:12] Tout dwa, kite a wè si nou ka fè sa. OK, fre. Se konsa, nou ap ale nan eseye edite dwat nan isit la, ak èspere ke sa a ale jan li te planifye. Tout dwa, nenpòt moun ki vle ban m ' yon sijesyon sou fason mwen ta dwe kòmanse? Sipozisyon an sèlman mwen se fè se ke mwen deja gen yon estrikti defini, nan yon sèl mwen te montre nan dènye paj la, sou dènye glise la. Apre sa, mwen estoke tèt la nan lye mwen lis nan kèk konsèy rele lis. nenpòt moun ki vle jwenn m 'te kòmanse? [00:04:42] ODYANS: Èske ou ka kreye yon nouvo ne yo rele nan lis la? [00:04:45] HANNAH: Awesome, se konsa nou ap ale nan kreye yon ne nouvo rale nan lis la. Mwen renmen sa. Mwen pral jis rele li konsèy si sa a OK. Ak ki kote yo ta dwe li orijinal kòmanse? [00:04:57] ODYANS: Pwobableman nan tèt la nan lis la. HANNAH: Bèl. Nou vle kòmanse nan tèt la, ki Mwen te di ki pral dwe estoke nan lis. Awesome. Se konsa, lwen, se konsa bon. Epi, koulye a, objektif nou se repekte nan lis la jiskaske nou jwenn ne a ak valè n ke nou vle efase. OK? [00:05:13] Se konsa, kounye a se yon pati a ki nou vle repekte nan. Èske nenpòt moun kapab sijere yon fason yo repekte nan? [00:05:19] ODYANS: Yon riban. [00:05:20] HANNAH: Yon riban. Mwen renmen li. Espesyalman, nou ka eseye yon riban pandan y ap. OK, e nou konnen ke nou te rive jwenn nan fen lis nou an lè sa? ODYANS: Lè konsèy se nil. HANNAH: Lè konsèy se nil. Bèl, Mwen renmen li. OK, fre. Se konsa, regrèt si atèl espasyal mwen an se kalite tonbe nan écran a. Nou pote l 'tounen. OK, fre. Ki sa ki nan pwochen? [00:05:48] Se konsa, nou konnen nou vle efase ne a ki gen valè n. Se konsa, kite a jwenn ka a kote nou aktyèlman jwenn ne nou an. Se konsa, kouman ta mwen tcheke sa? Mwen ta jis di si konsèy, ak Lè sa a, si mwen vle jwenn valè a soti nan konsèy, Mwen jis flèch n, egal n, paramèt nan ke nou te bay fonksyon sa a, nan ne ke nou vle aktyèlman efase. Nenpòt kesyon jiska isit la? Tout dwa. OK, se konsa kounye a kite a desine yon foto rapid sou tablo a yo nan lòd yo visualized sa a. [00:06:24] Se konsa nou di gen nan bèl ne nou an. Epi li gen yon valè, mwen pral jis di kat. Epi li lonje dwèt nan pwochen an ne nan lis lye nou an. Apre sa, nan pa gen anyen anvan li. Se konsa, nou gen anvan nou montre nan pa gen anyen. Nan ka sa a, nou pwen bak. OK, jis mete kanpe m ' lye lis sou isit la. Epi nou gen yon lis ki pwen nan estrikti sa a yo kòmanse avèk yo. Mwen pral trase yon sèl plis pou dedomajman pou la konplè. OK. Mwen pral pwen pou pi devan sa a. Apre sa, m'a pwen ke youn tounen. Wouch, regrèt. Yeah, te resevwa sa a fè bak. Èske l 'ankò. OK, gen nou ale. Tout dwa, te resevwa li. OK, isit la nan foto nou yo. [00:07:21] OK, se konsa nou vle konsidere de ka. Ka an premye se si la ne nou vle efase se nan kòmansman la anpil nan lis nou an. Lè sa a,, ka, dezyèm lan ke nou vle yo konsidere se si li nan nenpòt lòt kote. Mwen konprann ke sa a yon totalman sal desen ak tout efasman m 'yo, men èspere ke nou pral eseye fè sa-a klè ak kèk kòd. [00:07:40] OK, se konsa kite a kouvri ka a kote nou jwenn ne nou an, ak li a nan anpil nan kòmanse nan lis lye nou an. Nenpòt moun ki ban m 'yon sijesyon isit la tankou sa ki Mwen ta dwe fè a aktyèlman retire ne nou an? Li se yon ti kras difisil. OK? [00:07:56] ODYANS: Ou gen yo pran nan ne ki ta ka anvan li , epi fè li lonje dwèt sou la youn ki ta ka apre li fin, epi pran ne nan ki ta dwe apre li, epi fè li lonje dwèt sou ne a anvan li. HANNAH: Egzakteman. OK, se konsa sa a se ka a where-- nou gen de ka. Nou gen ka a nan kote ne ke nou ap chèche pou se devan an nan lis la. OK, ak Lè sa a ka a ke ou dekri se otreman, dwa? Li nan yon lòt kote nan lis la. Se konsa, ou te di, nou bezwen gade nan ne an anvan, epi fè ne a anvan lonje dwèt sou ne nan pwochen an. Se konsa nou di nou ap ap eseye pran soti senk nan desen trè sal mwen an sou isit la. Nou vle asire w ke kat kounye a lonje dwèt nan sis. Kat nan pwen pwochen nan sis. Ak sis nan pwen anvan yo nan kat. Sa a objektif nou isit la, dwa? Sa a se sa mwen panse ke ou jis di sou la. [00:08:56] OK, se konsa kite a jwenn ki moso an premye. Se pou yo fè gen nan la konsèy anvan anvan yo. Se konsa, kat nan pwochen yo ta dwe lonje dwèt sou ki sa? Egzakteman, nan ka sa a, sis. Se konsa, nou ta dwe di konsèy, kap vini an. OK? Tout dwa. Se konsa nou debarase m de sa a foto lèd epi eseye trase yon yon sèl yon ti kras joli. Nou gen lis tèt nou isit la. Epi sa lonje dwèt nan ne an premye nan lis lye nou an, ki nou te di se kat. Isit la nan dezyèm ne nou an, senk. Ak ne twazyèm nou an, sis. Jis ap eseye trase menm bagay la tou egzak foto, jis yon ti kras pi plis propr. OK, se konsa kat la pwochen orijinal pwen nan senk. Senk nan pwen pwochen nan sis. Sis nan pwen anvan yo nan senk. Ak senk nan pwen anvan yo nan kat. Se konsa, anpil joli! OK, fre. [00:10:04] Se konsa, kounye a, sa nou te fè jis isit la, liy sa a nan kòd, ki di konsèy anvan pwochen, se konsa sa sa vle di? Sa vle di si nou ap chèche a senk, ale nan ne an anvan, ak li nan pwochen ta dwe kounye a pwen nan senk nan pwochen an. Se konsa, esansyèlman, ki sa sa a, se fè se ki nan efase sa a flèch ak fè li sote dwat sou senk. Eske se sa ke klè? Mwen konnen ke ka yon ti jan ti kras mouri. Mwen wè kèk nods tèt. Sa a bon. OK, fre. Koulye a, sa ki nan pwochen etap la? [00:10:39] Mwen te Reyajiste pwochen an. Koulye a, ki lòt flèch mwen bezwen chanje? Sa a yon sèl isit la menm. Sis nan anvan yo. Nou pa vle sis a anvan nan pwen nan senk ankò. Nou vle li nan lonje dwèt sou kat. foto ki fè sans? Se konsa, kounye a nou ka aktyèlman pran senk soti. Se konsa, kite a jwenn ki moso. Kisa mwen dwe fè anvan m ' Reyajiste sis a anvan yo nan kat? Nenpòt lide a? [00:11:14] ODYANS: Gratis ne nan ant yo pa mete li nan nil? HANNAH: Cool. Definitivman, objektif fen nou an, se pral fè yo gratis ne la. Se konsa, nou ka fè sa dwa isit la. Gratis konsèy. Absoliman. Men, menm anvan sa, kite a just-- dwat objektif nou isit la se yo mete konsèy pwochen anvan egal nan konsèy anvan yo. Mwen konnen sa a se ap resevwa kouvri moute. OK, se pou yo take-- fre. Èske tout moun wè liy anba sa a? Oubyen èske se super ti? [00:11:50] Se konsa, anvan nou egzekite liy sa a isit la, nou vle a asire w ke konsèy pwochen se pa nil. Paske si konsèy pwochen se nil, ki kalite erè pral mwen jwenn lè mwen eseye referans yon konsèy nil? ODYANS: fòt segman. HANNAH: Yon fay segman, bèl. OK, Se konsa, si sa a pa nil, lè sa a nou ka Reyajiste. Epi nou gen sis pwen ankò nan kat. Kesyon jiska pwen sa a? Wi? [00:12:17] ODYANS: Nan premye ou si deklarasyon, te fè ou vle di yo gen flèch la pwochen, oswa [fèbl]? HANNAH: Mwen vle di konsèy flèch n. Se konsa, fondamantalman, ki sa mwen ap eseye fè se di, ne aktyèl la ke mwen se iteration sou, ne aktyèl la ki M ap gade, mwen estoke nan konsèy. Apre sa, mwen vle konnen konsèy la valè, ki nan ka sa a se n. Apre sa, mwen vle wè, se ne a M 'ap chache pou ne nan mwen vise yo efase? Se konsa, Se poutèt sa nou gen isit la fè konsèy n. [00:12:47] ODYANS: Se konsa flèch la pral n, ou mete valè a ak magazen li nan yon ne rele n? [00:12:55] HANNAH: Se konsa, li la tankou si mwen ale atravè tout lis sa a lye epi montre nan senk. Si m 'vle jwenn ki valè, si Mwen vle jwenn nimewo sa a, 5, Mwen gen fè konsèy flèch n. Cool? Yeah. [00:13:07] ODYANS: Èske n non an nan varyab la? HANNAH: Wi. Se konsa, si nou baskile tounen yon sèl glise, n se non an nan valè a andedan nan la ne nan lis lye nou an. Apre sa, mwen konnen li ka jwenn yon ti kras ti jan konfizyon paske nou menm tou nou ap rele bagay la ke nou vle efase n. Se konsa, sa a, se kote ki yon sèl liy soti nan. Yeah? [00:13:27] ODYANS: Ki sa ou gen [Fèbl] ki jan yo travay? Yon konsèy [fèbl]? [00:13:35] HANNAH: Asire w. Èske ou pale about-- ki liy? ODYANS: liy nan dènye [fèbl]. [00:13:44] HANNAH: Asire w, OK. Se konsa, kite pou yo gade nan foto a nan lòd pou yo eseye esplike sa a. Mwen regrèt sa, pou la kamera, kesyon an te ka nou eksplike konsèy flèch pwochen konsèy anvan yo. OK, se konsa kite a di nou ap nan senk ak objektif nou se efase senk. Se konsa, konsèy pwochen, ki nan sa yo twa nœuds ki ban nou? Sa pote nou nan ne an sizyèm, dwa? [00:14:10] OK, se konsa kounye a nou ap mande pou anvan yo sis a. OK? Epi nou ap re sa a yo dwe egal a kat, ki te rive yo dwe senk a anvan yo. Mwen konnen, li nan super difisil yo kenbe tras nan. Mwen vrèman rekòmande pou ou fè desen si ou jwenn yon kesyon tankou sa a. Wi? [00:14:30] ODYANS: Èske rezon ki fè nou pa gen yon [fèbl]? [00:14:37] HANNAH: Egzakteman. Se konsa, kesyon an te, poukisa nou pa bezwen yo tcheke isit la? Poukisa nou pa nou bezwen yo tcheke ki konsèy anvan an se pa egal a nil? Lè li nan paske nou te deja separe soti ka a si konsèy la a nan konmansman an anpil. Trè bon kesyon. Nenpòt lòt bagay sou sa a? OK, fre. Se konsa, kite a fini li. Nou prèske la. [00:14:59] Se konsa, sa si li se nan plas tèt la? E si olye pou yo ap eseye efase senk, nou aktyèlman te vle efase kat? Ki sa ki ta mwen gen fè? Oke, mwen vle Reyajiste tèt mwen ki sa? Rele li soti? ODYANS: yon sèl la apre li. HANNAH: Bèl. OK, se konsa nou vle lis yo dwe montre nan tou sa konsèy nou an pwochen ne se. Bon. Epi jis pou konplè a poutèt, nou ta vle tcheke ke osi lontan ke lis nou an se pa nil, osi lontan ke lis nou an se pa vid, Lè sa a, nou vle mete egal anvan nou yo nil. Kesyon byen lwen tèlman? Yon sèl etap lwen from--? [00:15:53] ODYANS: Li ta dwe si lis se pa egal a nil? [00:15:55] HANNAH: Wi, w ap totalman dwa. Mwen se konsa regrèt. Èske lis se pa egal a nil. Awesome. Ap eseye pote sa a tout sou ekran an. Li nan kalite tonbe la. Padon, guys. Ak dènye men pa piti, tout nou dwe fè se retounen. OK. Sa ki te yon anpil anpile nan vrèman byen vit. Pran yon dezyèm yo gade sou sa a. Manyè di m 'si ou gen nenpòt kesyon. Yeah? [00:16:20] ODYANS: Si se nan lis la tèt, then-- rete tann, Nevermind. [00:16:26] HANNAH: OK, bon. Se konsa, sa a se si lis se nan tèt la, nou retire li nan tou sa nou eleman. Yeah? [00:16:31] ODYANS: Èske ou ka eksplike premye a si deklarasyon ankò? Si konsèy la n se egal a n? HANNAH: Asire w. Se konsa, objektif nou an nan fonksyon sa a antye se efase ne a ki gen valè n. Se konsa, si nou jwenn, kòm nou ap iteration nan lis nou an, ne a ak valè n, sa a, se yon sèl la nou vle efase. Se konsa, tout nan efase la k ap pase andedan nan ki gwo si deklarasyon. Èske sa fè sans? Cool. Yeah? [00:16:59] ODYANS: Petèt ou jis pa ka wè li, men se pa ou ap bezwen tou yon liy pou defile nan lis la? HANNAH: Awesome. Se pou yo pote sa a moute yon ti jan ti kras, ak nou pral voye jete ki dwat nan pati anba nan. Petèt tablo a ta te te yon ti kras pi bon lide. Se konsa, kouman mwen ta deplase konsèy pou pi devan? [00:17:17] ODYANS: Pointer egal konsèy plis yon. [00:17:20] HANNAH: Bèl. Se konsa, ki pèmèt nou kontinye iteration nan. OK. ODYANS: Pa t 'vle gen yon lòt bagay? HANNAH: Youn plis tan? ODYANS: Pa t 'vle gen yon lòt bagay apre fin vye granmoun nan gwo si deklarasyon [fèbl]? HANNAH: Ki pati? Mwen regrèt. [00:17:38] ODYANS: parcourt la, pa ta dwe gen yon lòt bagay? HANNAH: Ou absoliman te kapab gen yon lòt bagay. Paske mwen gen dwa retounen la, ou pa bezwen yon lòt bagay. Men, yeah, bon kesyon. OK, repons lan se wi? ODYANS: Èske nou ka panse a konsèy ki ap deplase nan lis la kòm pran sou valè a nan chak ne nan lis la? Osinon èske nou dwe panse a li kòm sòt de ekstèn nan lis la? [00:18:00] HANNAH: Swa yon sèl se amann, mwen panse ke. Fason ki mwen imajine li se Mwen di, OK, mwen konsèy. Lè sa a se m '. Sa a se men m '. Mwen pral lonje dwèt sou diferan nan bagay sa yo ke mwen vle repekte nan. Premyèman, mwen pral pwen nan tèt la nan lis la. Epi sa di m 'mwen se ale nan pwen a kat. Se konsa, m ', yo te ekstèn nan lis la, Mwen kapab lonje dwèt sou chak nan eleman sa yo. Se konsa, mwen panse a tèt mwen tankou konsèy. ODYANS: Se konsa, lè ou efase youn nan eleman sa yo, ou efase tèt ou, se konsa pale. HANNAH: Egzakteman. Se konsa, ou efase bagay la w ap lonje dwèt yo. Se konsa, nan egzanp lan ki nou te wè ki kote nou ap ap eseye efase senk, lè m ap lonje dwèt nan senk, Mwen vle efase nan bagay mwen lonje dwèt yo. Egzakteman dwat. Wi? ODYANS: Èske nou pran swen nan nan ka kote n se pa nan lis la? HANNAH: Si n se pa nan lis la? Tout sa ki nan pral rive se ou se ale nan repekte nan ak repekte a, ak Lè sa a, w ap ale yo ka resevwa nan konsèy yo te nil, ak Lè sa a, w ap ale yo dwe fè. [00:18:48] ODYANS: Se konsa, fè nou gen retounen anyen? HANNAH: Nou kapab. Fason la ki si sa a defini fonksyon, Mwen jis di ke li retounen anile kèlkeswa. Men, ou te kapab gen yon bagay tankou retounen yon nonb antye relatif, epi yo gen li retounen negatif 1 si li echwe. Yon bagay tankou sa. Kesyon with-- wi? ODYANS: [fèbl]? HANNAH: Padon? ODYANS: [fèbl]? HANNAH: Asire w. Se konsa, sa a, se actual-- la yon fwa nou te fè tout travay sa a nan k ap deplase tout sa yo flèch alantou li, antye nou an objektif te yo debarase m de ne la ke nou ap chèche pou. Se konsa, nan ka sa a, libere konsèy, si mwen montre nan senk, li a tankou efase sa a ne presegondè. Sa a pati nan konsèy gratis. Ki fè sans? [00:19:29] ODYANS: Se konsa, menm te panse ou pa t '[fèbl]? [00:19:31] HANNAH: Se konsa, nou sipoze nan kòmansman an nou te gen kèk lis ki te deja- yo te mete sa a ansanm. Se konsa, yo nan lòd yo konstwi sa a lis, yo must've [fèbl]. Cool. Nenpòt lòt bagay ak sa a? Wi? [00:19:46] ODYANS: E si lis la pa egal liy lan nil? [Fèbl]? HANNAH: Dwa isit la? ODYANS: Yeah. HANNAH: OK, tout m ap fè se mwen jis fè si ke anvan Mwen eseye nan lis dèreferans, anvan m 'eseye jwenn aksè nan anvan an, Mwen vle asire w ke li pa nil Se konsa, mwen pa jwenn yon fay segman. Cool. [00:20:08] OK, Mwen konnen sa a te byen yon anpil jwenn nan. Se konsa, sa a pral glise te fè disponib nan ou. Se konsa, ou ka ale nan li nan plis detay. Wi? [00:20:17] ODYANS: Poukisa lis la [fèbl]? HANNAH: Asire w. Se konsa, lis reyèlman pwen nan sa a eleman dwa isit la, eleman nan premye nan lis la. Se konsa, li pa ka gen yon anvan yo. Wi? [00:20:31] ODYANS: Èske pwen an konsèy nan menm adrès la nan memwa? li lonje dwèt sou menm bagay la tou adrès nan memwa kòm ne nan ke li nan montre nan? [00:20:40] HANNAH: Wi, li lonje dwèt ne sa a nan memwa. [00:20:43] ODYANS: Dwa, se konsa lè ou [fèbl]? [00:20:47] HANNAH: Nan yon sans, wi. OK. Tout dwa, kite yo deplase ansanm ak sa a. Men, si ou gen plis kesyon, bwa alantou nan fen a, epi nou ka ale nan l 'ankò. OK, fre. Koulye a, nou jwenn yo deplase sou Hash tab, ap eseye, ak pye bwa, ki ou te resevwa super abitye ak nan p-mete senk, ortograf. [00:21:04] Se konsa, tab regle se jis yon etalaj ak lis separeman lye oswa doubl lye lis vini sou nan li. Se konsa, nou gen kèk sòt nan etalaj asosyatif. Ak ki jan nou konnen ki nan sa yo ranje bokit jwenn nan, nou itilize yon fonksyon regle. Se konsa, nan ka sa a, nenpòt moun ki kapab devine kisa fonksyon an hash ta dwe jis ki baze sou kèk nan opinyon an ak pwodiksyon? [00:21:31] ODYANS: Nimewo Lèt nan alfabè a. HANNAH: Egzakteman. Li jis mete yo nan lòd alfabetik. Tout sa kòmanse ak yon Yon se mete nan bokit la an premye. Tout ak yon B se mete nan la dezyèm bokit, sou sa, ak pou fè. Awesome, OK. Ak yon fonksyon regle se nenpòt fonksyon ki pran nan yon mo epi yo pral di w ki sa bokit li fè pati a. Se konsa, ki antre nan nou an etalaj li fè pati a. [00:21:55] Se konsa, chak fwa mwen bay mwen regle fonksyone yon mo, li ta dwe di m 'menm bagay la tou mete chak fwa sèl. Se konsa, si nou itilize fonksyon an hash soti nan glise nan anvan yo kote n ap triyay pa la premye lèt nan alfabè a, chak fwa mwen bay mwen fonksyon regle "pòm," li ta dwe toujou bay m 'tounen 0. Se konsa, si mwen gen yon pòm yo mete nan tab regle m 'yo, si mwen bay "pòm" nan fonksyon regle m 'yo, li ta dwe di, ale mete l 'nan bokit 0. Si M 'ap chache yon pòm nan tab regle mwen epi mwen di, kote fòs pòm ap viv, ou mande fonksyon regle ou. Epi li di, ale nan bokit 0. Tout dwa? Kesyon ak fonksyon regle? Awesome. [00:22:34] Isit la se yon ti kras plis detaye eksplikasyon nan sa ki yon fonksyon regle ta ka sanble. Tout dwa. Koulye a, pwoblèm nan ak regle fonksyon se nan yon mond ideyal, nou ta sèlman gen yon sèl bagay nan chak bokit. Men, an reyalite, gen nan pa sèlman yon mo ki kòmanse ak A. Genyen pa sèlman yon sèl mo ki kòmanse ak B. Se konsa, nan ka sa a, si nou toudenkou jwenn "Berry," e nou vle mete l ' nan tab regle nou an, epi nou wè, o, pa gen okenn, bannann se deja la, kisa nou pral fè? [00:23:03] Oke, nou gen de opsyon. Opsyon an premye se lineyè sonde, ki jis vle di ale jwenn pwochen bokit la vid. Ale jwenn pwochen antre nan etalaj vid. Epi jis mete "Berry" la. Se konsa, mwen konnen li nan sipoze ale ak bannann nan bokit yon sèl. Men, jis mete l 'nan bokit twa, paske bokit twa a vid. Yon lòt opsyon se pwobableman ki sa ou aplike nan ou p-seri, ki kote ou te gen Anchènman ki apa a. Se konsa, chak nan bokit ou, chak nan eleman etalaj ou a, pa sèlman kenbe yon sèl mo, men aktyèlman kenbe yon konsèy nan yon lis nan mo yo. Se konsa, ki si ou te gen bannann nan tab regle ou epi ou toudenkou te vle ajoute Berry, pa gen okenn pwoblèm. Jis ajoute Berry sou nan fen a, oswa yo kòmansman an, nan lis lye ou yo. OK, pè. Kesyon ak regle tab anvan nou ale sou? [00:23:58] Tout dwa. Pye bwa ak ap eseye. OK, se konsa sa a te yon lòt opsyon pou mete ann aplikasyon diksyonè. Ou te kapab te fè yon eseye. Se konsa, li nan yon kalite espesyal nan pye bwa ki konpòte li tankou yon milti-nivo tab regle. Se konsa, ou pral wè foto a ki kote ou gen yon etalaj ki pwen nan yon pakèt moun sou ranje ki pwen nan yon pakèt moun sou ranje ki pwen nan yon pakèt moun sou ranje. Epitou, n ap wè ekzakteman ki sa ki ta sanble sou yon glise nan lavni. Ak plis ankò jeneralman, yon pye bwa se jis nenpòt estrikti done nan ki done a se òganize nan kèk yerachi. Se konsa, kote nou te wè nou gen kèk sòt de konpreyansyon nan yon nivo tèt, yon nivo pwochen, yon nivo pwochen, yon nivo pwochen. Se konsa, sa a se pwobableman pi klè ak kèk egzanp espesifik. Se konsa, isit la nan pye bwa nou yo. Ou ka wè ke li gen nivo patikilye ke nou kòmanse ak ki ne rasin, yon sèl. Apre sa, nou ka ale desann nan pyebwa nou yo. [00:24:50] Yon pye bwa binè se yon kalite patikilye nan pye bwa. Epi spesifikasyon a sèlman pou yon pye bwa binè se ke chak ne gen nan pifò de fèy bwa. Se konsa, ou pa ap ale nan wè nenpòt ki nan nœuds sa yo gen twa oswa kat oswa kèk lòt nimewo nan fèy bwa. Lè sa a, menm plis espesifik se yon pye bwa rechèch binè kote chak ne nan kite nan a ne ki pral gen yon valè ki pi piti. Ak chak valè nan a dwat a pwal pi gran. Se konsa, si ou wè 44 se nan rasin nou an, sou bò goch la, 11, 22, ak 33 yo tout mwens pase rasin nou an. Ak sou bò dwat la, yo tout nimewo bigger-- 66, 55, ak 77. Ak pwopriyete sa a kenbe verite nan chak nivo nan pyebwa sa a. [00:25:37] Se konsa, lè nou ale desann nan 22, 11, ak 33, toujou 11 se pi piti pase 22 ak 33 se pi gwo pase 22. Lè sa a fè li pi fasil nan rechèch paske si nou ap chèche pou yon nimewo, nou konnen egzakteman ki branch yo swiv desann. Se konsa, sa a ta dwe fè ou sonje yon ti kras nan rechèch binè. Yeah? [00:25:56] ODYANS: Se konsa, lè w ap dekri binè, ou te di li gen nan pifò de fèy? HANNAH: Milimèt-HM. ODYANS: Ta ka li gen mwens? HANNAH: Yeah. Se konsa, kite la di, pou egzanp, ou pa t 'gen yon nimewo menm de bagay sa yo epi ou pa t 'kapab ranpli moute tout ou fèy, li la amann si yon sèl gen yon sèl. OK? Awesome. Nenpòt lòt kesyon sou pyebwa? OK. [00:26:16] Retounen nan ap eseye nou an kòm mwen te pale sou yon ti kras pi bonè, ki jan nou gen sa yo ranje milti-nivo. Se konsa, nan ka sa a, nou kòmanse nan tèt la. Epi nou kapab swiv nenpòt ki mo yo bay desann. Se konsa nou di nou te vle gade pou Turing. Nou kòmanse nan T, swiv li desann nan yon etalaj ki gen U, epi swiv li desann jiskaske nou rive nan delta sa a ti kras ki di nou, wi, ou te jwenn yon mo. Klè sou ap eseye? Nenpòt bagay ale sou la? Wi? ODYANS: Èske senbòl la nan delta gen okipe espas ki nan eseye a? HANNAH: Yeah, se konsa li pa fè sa nesesèman menm bezwen gen yon delta. Men, nou bezwen kèk fason yo di nou an regrèt computer--, se konsa ke nou konnen ke TUR se pa yon mo. Paske kite a di nou pa t 'gen konsèp sa a nan yon delta, konsèp sa a nan Felisitasyon, ou te jwenn yon mo, li ta ale nan ak repekte T-U-R, ak Lè sa a di, pè, mwen jwenn li! Li dwe yon mo. Men, li la vrèman pa. Nou vle tout Turing yo dwe yon mo. Se konsa, nou dwe gen yon bagay nan la fen ki di, Felisitasyon, ou te jwenn yon mo lejitim. ODYANS: Se konsa, si ou te gen tankou 26 lèt nan alfabè a, ou ta gen aktyèlman 27 kle nan eseye ou a? [00:27:24] HANNAH: Awesome, yeah. Se konsa, aktyèlman, mwen panse ke yo pral sou pwochen glise la. Ta-da! Ki kote si ou gen yon ne nan eseye ou, w ap pral gen 27 timoun olye pou yo 26. Nenpòt kesyon ak sa? Yeah? ODYANS: Poukisa ap eseye pran konsa anpil espas [fèbl] jan ou ale? Poukisa li te konsidere kòm [fèbl]? HANNAH: Asire w. Se pou yo tounen. Kesyon an se, poukisa yo ap eseye pou pi gwo anpil pase yon bagay tankou yon tab regle. Se konsa, pou chak nan nivo sa yo, menm si yo pa ap trase isit la, ou gen gen tout karaktè 26. Ak rezon an ki ou pa kapab di, o, men tankou pou Turing, Mwen pa bezwen gen nenpòt nan moun sa bagay menm sou nivo nan Etazini Oke, si toudenkou ou te vle ajoute yon bagay ki te tankou T-H, ou ta bezwen gen nan kapasite nan ajoute mo sa a. Se konsa, pou chak lèt ​​yon sèl, w ap ale nan gen yo gen yon pakèt moun sou ranje vini sou nan li. Se konsa, ou ka wè ki jan li ta jwenn reyèlman gwo, reyèlman vit. Nenpòt lòt kesyon? Tout dwa. Yeah? [00:28:29] ODYANS: Lè yo ap eseye pi vit pase tab regle? [00:28:33] HANNAH: Lè yo ap eseye pi vit pase tab regle? Se konsa, si ou te gen yon reyèlman move fonksyon regle. Se konsa, kite a di mwen te tankou, isit la nan fonksyon regle ou. Pa gen pwoblèm sa ki pawòl Bondye ou ban m ', mwen se toujou ale nan mete l 'nan antre etalaj 0. Se konsa, nou fini ak jis mete tout bagay nan yon sèl gwo lis long lye. Se konsa, yon tan Passage ta pran nan pi move n si li nan nan fen la anpil nan lis nou an. Avèk eseye a, nou jis gen nan repekte nan lèt yo nan mo a. Se konsa, menm si nou te ajoute yon pakèt moun plis mo eseye nou an, li pa ta pran nou nenpòt ki pi long jwenn yon mo an patikilye. [00:29:09] Tout sa nou dwe fè se, pou egzanp, nan ka sa a, kite a di nou ap chèche pou rale, nou ta jis gen nan repekte sou Z-O-O-M, kat lèt. Se konsa, sa se sèlman nan longè nan pawòl Bondye rale la. Li pa enpòtan konbyen plis mo nou mete nan eseye sa a. Nou ka toujou jwenn li nan kat etap sa yo. Awesome. Wi? [00:29:32] ODYANS: Se konsa [fèbl] se yon etalaj, dwa? [00:29:34] HANNAH: Milimèt-HM. ODYANS: Si ou se kap chèche [fèbl], ou ta gen yo ale nan etalaj ou a jwenn [fèbl]? HANNAH: Asire w. ODYANS: pa sa ki pran plis tan? HANNAH: Si mwen pral di ke etalaj mwen se toujou pral fè A, B, C, D, E, F, G, bla bla bla, Se konsa, si mwen toujou konnen li nan nan menm lòd la egzak, si mwen toujou konnen li nan nan lòd alfabetik, Mwen ka jis di O se nimewo sa ak pou nan alfabè an. Jis Ale nan kote sa a. Paske sonje, ak ranje, nou ka gen aksè nenpòt eleman nan ki etalaj nan konstan tan si nou konnen ki kote nou ap chèche. Yeah? [00:30:09] ODYANS: Nan anvan an glise [fèbl] 27, men 26 pou youn a an premye. [00:30:14] HANNAH: Padon? [00:30:15] ODYANS: Se pa premye a youn 0, Se konsa, pa li ta kapab pran 26? [00:30:18] HANNAH: Asire w, Se konsa, lè nou di 27, sa a, se pral bay nou endis 0 a 26. Men, si ou aktyèlman konte moun soti, li nan pral fè 27. Bon kesyon. Nenpòt lòt bagay? Yeah? [00:30:31] ODYANS: Se konsa yo ap eseye pi dousman pase tab regle? [00:30:34] HANNAH: Ap eseye yo pral yo dwe, nan teyori, pi vit pase tab regle men pran plis memwa. Yeah? ODYANS: [fèbl]? [00:30:45] HANNAH: Mwen regrèt sa, mwen pa t 'tande ou. ODYANS: [fèbl]. 0 a 25 ba ou 26. [00:30:54] HANNAH: 0 a 25 ta ba ou 26, dwat. [00:30:56] ODYANS: Lè sa a, [fèbl]. HANNAH: Dwa. Se konsa, nimewo a nou ap espesifye se nimewo a nan bagay sa yo nan etalaj nou an. Se konsa, si nou gen 27, li nan pral bay nou 0 a 26, ki pral ba nou plas pou, nan ka sa a, Mwen pa ki gen ladan yon apostwòf. Se konsa, nou ap vin 0 a 25 yo 26 premye lèt nan alfabè a, oswa tout 26 lèt nan alfabè a. Lè sa a, ke dènye bagay, nan antre 26, se pral fè chèk la make, oswa delta la. Nenpòt lòt bagay? Awesome. Objè espas m 'yo. OK, fre. [00:31:31] Se konsa, nou deja manyen sou sa a. Men, komès an gwo nan ant ap eseye ak tablo yo regle se ke ap eseye bay, nan teyori, konstan gade moute fwa men sèvi ak yon anpil tout nan memwa. Tout dwa, kounye a nou gen yon ti kras estrikti mwens konplike, epi n ap fè ak C, epi n ap deplase dwa ansanm. [00:31:49] Se konsa, pil, nou te wè sa a nan konferans kote ou gen yon bagay tankou yon pil nan plato kote bagay la pase ou mete sou chemine a ki pral yo dwe premye bagay la ou pran an. Se konsa, sa a, se sa ki vrèman defini yon chemine se ke bagay la pase ou mete yo sou ki pral yo dwe premye a bagay ou pran an. Epi tèminoloji a ke nou itilize si nou ap ale nan mete yon bagay, si nou ap pral ajoute yon bagay yo chemine nou an, nou rele ki pouse. Men, si nou pran yon bagay koupe, nou rele li eklate. Men, si nou ap ale nan aplike yon pil, nou bezwen yo dwe asire w ke ou kenbe tras nan tou de gwosè a ak kapasite la. Se konsa, kantite total nan eleman sa nou kapab kenbe ak nimewo aktyèl la nan eleman ke nou ap kenbe. [00:32:27] Ak anpil Menm jan an tou, nou gen ke moun kap kriye. Ak diferans la sèlman se olye pou yo ak pil, nou te di bagay la pase nou mete yo sou se premye bagay la nou pran an. Se konsa, avèk ke moun kap kriye, nan Premye bagay nou mete nan a pwal nan Premye bagay nou pran deyò. Se konsa, sa a se tankou si w ap aktyèlman doubli nan yon magazen epi ou se ke yo te te ede, Lè sa a, premye moun ki nan liy yo ta dwe premye moun ki yo dwe te ede. Se konsa, ki ta ka yon keu. [00:32:52] Se konsa, nou bezwen kenbe tras nan la gwosè, kapasite, ak tèt depi nou ap pral pran tout moun nan devan an nan lis la olye pou yo tounen an. Kesyon sou sa? Nenpòt kesyon C ke yo trakase w? Estrikti Done, nenpòt nan sa ki bagay plezi? Tout dwa, fre. Se konsa, mwen pral lage l 'sou nan Alison vole nan kèk pwogram plis. [00:33:14] ALISON: Oh, nou pral wè. Nou pral wè ki jan byen mwen fè isit la. OK, Mwen pral eseye ak vole nan bagay sa a, guys. Hannah te ale trè nan pwofondè sou tout bagay sa yo li. Mwen pral eseye ba ou yon BECA rapid eksplozyon pou nou ka jwenn yo Davin ak tout plezi JavaScript ak sekirite bagay sa yo ke petèt ou aktyèlman vle tande plis sou. [00:33:33] OK, kòm Hannah te di, si w gen nenpòt kesyon, Mwen pral twò vit, tanpri, kite m 'konnen. Mwen pral reponn kesyon sa nesesè. Se konsa, yo kòmanse, nou ap ale nan kòmanse ak pwobableman youn nan bagay ki trè premye ou te aprann ak entènèt pwogramasyon, autorisations. Se konsa, chmod, ou nèg ta dwe te mèt nan sa a ak tout entènèt la pwogram ke ou te te fè dènyèman. Li nan fondamantalman jis yon lòd ki chanje autorisations yo oswa autorisations yo aksè nan sistèm dosye nou an objè yo. Natirèlman, yo aktyèlman wè sa yo, si ou se gen okenn pwoblèm ak sa yo pandan kouche pwoblèm ou an, ou ka te itilize ls-l, ki se long, yo ka resevwa kalite a gade nan tankou sa a, kote ou aktyèlman wè tout autorisations yo pou yon dosye. [00:34:16] E reyèlman, nou ap jis pral ale a trè byen vit jis bèl anpil ki sa chak nan sa yo vle di. Se konsa, nou te ta dwa isit la, ki jis kanpe pou anyè a. Li evidan dwa isit la, nou wè rwo, ki se lizib, vrayabl, ak ègzèkutabl. Sa yo ta ka tou reprezante kòm Bits, ki nou pral jwenn nan nan pwochen paj la. Se konsa, chak triyad ke nou te wè isit la, se konsa li a twa Aux. Nou te rwo, r pa gen anyen x ak r pa gen anyen x pou premye dosye sa a. Li nan estrikti jeneral sa a. [00:34:49] Se konsa, nou gen kèk anyè. Nou gen kèk gwoup itilizatè avèk otorizasyon sa yo. Gen kèk gwoup ki gen autorisations sa yo, ak yon mond ki gen yon pèmisyon. Ou ka panse a sa yo kòm yon triyad. Ou ka panse a sa yo kòm twa miyèt moso. Se konsa, yo ka kenbe valè nenpòt kote nan 0 moute nan 7, ki se poukisa pafwa nou te gen ou fè chmod 600 olye pou yo chmod RW kèlkeswa sa. Nou pral jwenn nan yon egzanp a. Men, fondamantalman, ou ka panse nan sa yo kòm swa jis rwo, oswa ou ka panse a yo tankou kèk Nimewo ki kote yon sèl sa a premye isit la reprezante yon nimewo ant 0 ak 7, yon sèl sa a dezyèm reprezante yon nimewo ant 0 ak 7, ak yon sèl nan twazyèm reprezante yon nimewo ant 0 ak 7, OK? [00:35:38] r gen yon valè de 4. w gen yon valè de 2, ak x te gen yon valè nan 1, ki se poukisa sa a pèmisyon isit la ta dwe chmod 700. Paske nan ka sa a isit la, li di nou te ti jan an premye gen ranvèrse sou. Se konsa, nou gen 4 pou lecture. Se ti jan nan dezyèm ranvèrse sou pou w, ki se 2, se konsa kounye a nou gen 6. Epi se ti jan nan twazyèm ranvèrse sou pou x, ki se 1, se konsa nou jwenn sèt. Ak nan kou, gwoup nou an ak mond nou yo chak 0. Se konsa, sa a se tou nan ekivalan nan chmod 700. Apre sa, mwen ta definitivman eseye konprann kat ki genyen ant sa yo. Mwen pa si si li gen vini sou yon egzamen anvan, men li ta dwe yon kesyon ke mwen ta ka mande. [00:36:18] Jis yon ti kras ale menm pi plis nan chmod isit la, isit la se jeneral la anpil estrikti nan yon apèl chmod. Se konsa, nan kou, nou te chmod isit la. Referans, ki sa sa a refere a se Ki moun ki nou bay autorisations sa yo oswa Ki moun ki nou pran sa autorisations lwen. Se konsa, nou gen yon isit la nan autorisations yo, tankou nou te ba ou chmod yon plis x, jan nou pral wè byento. yon jis vle di bay sa yo espesifik otorizasyon nan tout moun. Ba yo nan tout. Se konsa, ou te kapab trè byen gen u plis x oswa g plis x oswa o plis x oswa miltip ladan l '. Se konsa, ki premye pati se toujou pral fè referans. Ki moun ki, nou pap bay otorizasyon sa yo, oswa Ki moun ki nou pran yo lwen? [00:37:03] Yon sèl nan dezyèm se operatè a. Se konsa, ou nèg te sitou te fè fas ak plis. Sa a bay otorizasyon nan moun ki va w ap bay yo, Lè nou konsidere ke mwens, lojikman, retire yo. Se konsa, pa gen anyen twò terib la. Lè sa a, mòd se ki sa nou te pale osijè de ak lekti, ekriti, oswa egzekite. Se konsa, yon plis x vle di bay ègzèkutabl otorizasyon nan tout moun. Lè sa a,, nan kou, ki te sou dosye oswa anyè espesifik. OK? Tout moun bon ak chmod? Pa twò move? [00:37:37] OK, se konsa HTML, nenpòt nan ou se fin vye granmoun ase to-- MySpace laj? M 'te voye sa a nan seksyon m' yo, ak literalman mwatye moun yo gade m 'tankou mwen te fou. Apre sa, mwen te tankou, mesye, nou pa ki fin vye granmoun. Vini non sou. Se konsa, ipèrtèkst markeup lang, li nan onètman jis yon fason pou ou yo montre sèten bagay sou entènèt la. Se konsa, li nan yon lang baliz. Li pa yon lang scripting. Gen nan pa gen lojik nan li. Li se tou senpleman chanje a se yon fason yon bagay parèt. OK, se konsa sa a, se yon enpòtan distenksyon fè. Li nan konsidere kòm yon lang baliz, pa yon lang scripting. [00:38:12] Se konsa, isit la nou gen HTML Tags nou an. Nan sa a glise yo se pwobableman pi fò nan la yo menm ke ou ta dwe abitye avèk yo epi yo dwe reyèlman konfòtab ak. Se konsa, evidamman, nou gen tag HTML nou an, ki delege ke tout bagay nan ant sa yo de yo pral HTML. Nou gen kèk lyen, ki evidamman ap ba ou yon lyen nan yon paj entènèt ekstèn. Gen kèk tit, ki nan tèt nou isit la. Epi nou gen kò nou ak H1, ki se yon header, se konsa li pral fè l 'bèl ak fonse ak pi gran. Lè sa a,, nou gen kèk p, ki se yon paragraf. Ou ta dwe pwobableman konnen yo epi yo dwe abitye avèk bagay sa yo tankou ki jan ou insert yon imaj, se gen nenpòt lòt klas header? Mwen ta dwe definitivman konfòtab ak div. Se konsa, sa yo gen majorite nan Tags ke ou ta dwe abitye avèk yo. Men, nan kou, menm jan ak tout bagay nan CS 50, lis la se pa konplè. Se konsa, asire w ke ou brose moute sou sa. [00:39:08] CSS, se konsa CSS, si nenpòt nan ou gade seminè m 'soti nan de semèn de sa, se reyèlman jis yon fason style paj wèb ou a? OK, se konsa nou gen kèk lang markeup. HTML, ki pran swen pou yo jis tèks la ak ki kote li ta kapab sou paj la. Men, CSS se reyèlman sa ki fè li bèl. Ou te kapab gen sa yo nan HTML ou dosye, men kòm nou pral pale sou pita, Mwen se trè asire w li ta ka dwe pwochen glise a, li se pratik komen, ak aktyèlman pratik ki nou reyèlman ankouraje, pou ou pou w kenbe yo separe lè nou pale sou mv e ke paradigm tout antye. Sa ki nan vrèman ki sa sa a manje nan. [00:39:42] Se konsa, CSS se jis yon fason yo fè bagay sa yo gade bèl. Bagay sa yo isit la, tankou kò ak # tit ak .info, sa yo yo rele yo seleksyon ak sa yo fè se yo chwazi bagay sa yo espesifik nan dosye HTML ou epi aplike kèlkeswa sa style, tou sa sòt de bagay sa yo ke ou vle, ak sa yo ki eleman espesifik nan entènèt ou paj. Se konsa, isit la, nou gen yon koulè background ak yon koulè ak yon fanmi font ki nan ke yo te aplike nan tou sa se nan kò a. Se konsa, si nou gade tounen isit la, li pa ta aplike nan tit la. Li ta sèlman aplike nan sa ki nan sa yo seleksyon kò, OK? [00:40:22] Avèk tit isit la, sa a se pral fè menm bagay la, koulè a ​​nan tèks la yo te ble se sèlman pral a afekte ki sa ki nan tit seleksyon yo. Kòm byen ke info isit la, tèks la pral woz, tou sa a enfòmasyon, ki se dwa isit la. Se konsa, bagay la sèlman ki ta dwe woz sou paj sa a se dat, Lendi, Novanm 17, 2014. OK, se konsa CSS se jis yon fason yo gen plis kontwòl over-- wi? [00:40:48] ODYANS: Poukisa ou gen yo sèvi ak regle la ak tit? [00:40:51] HANNAH: Next glise, pwomèt! Nou pral jwenn la. Se konsa, sa a se poutèt sa nou gen yo sèvi ak regle. Se konsa, pran sou seleksyon twa prensipal fòm ke nou pale ak ou nèg sou yo. Mwen fyou vle aprann plis, gen nan anpil yo deyò. Genyen gwo dokiman CSS. Genyen yon non tag, ki te gen yo dwe fè ak jis Tags nòmal ou nan HTML. Se konsa, H1, p, div, H2, kalite sa yo ki nan bagay sa yo. Apre sa, nou ka jis non sa yo kòm se. Se konsa, jan nou wè isit la ak kò, li nan yon tag nòmal. Se konsa, nou ka jis mete kò lè nou ap pale nan dosye CSS nou an. [00:41:26] Avèk tit, rezon ki fè an antye nou gen hash sa a se nou gen sa ki nan konsidere kòm yon ID. Se konsa, yon ID ta dwe toujou inik nan paj HTML ou se konsa ke lè ou se refere li a li, ou konnen ke w ap sèlman refere li nan yon sèl bagay espesifik. Se konsa, nan ka sa a isit la, ak nou H1 isit la, CS 50 sesyon revizyon, nou gen yon id nan tit. Se konsa, yo nan lòd yo jis, al gade nan ki moso nan HTML nou an, nou fè yon tit regle. Jis pa konvansyon, idantite yo deziyen ak yon hash la devan yo. Nan menm fason an, nou wè info isit la se yon klas la. Se konsa, klas ak CSS se deziyen kòm yon klas dot oswa dot kèlkeswa sa ki klas se. Se konsa, nan ka sa a isit la, li nan enfòmasyon. [00:42:10] Se konsa, mwen pran l 'tounen. Tou de sa yo ta dwe woz pou CSS nou yo isit la paske yo tou de gen yon klas nan enfòmasyon. Ak nan dosye CSS nou an, nou te deziyen ki anyen ak yon klas nan info va woz. ki fè sans? Wi? [00:42:27] ODYANS: Si ou te fè tout bagay nan kò blan an, ak Lè sa a ou eseye fè yon bagay andedan li ble, ta ki lakòz pwoblèm? [00:42:34] HANNAH: Se konsa, CSS se dra style kaskad. Se konsa, tou sa se nan direksyon an anba pral pran priyorite. Se konsa, si ou fè yon bagay ak kò, epi ou fè tout bagay blan, ak Lè sa a pita sou ou chanje tit la oswa ou chanje tèks la nan kò, li ranplas sa. Se konsa, anyen nan direksyon an anba pral pran priyorite. Wi? [00:42:56] ODYANS: Lè idantite yo se inik, men kou ka gen plis? HANNAH: Dwa. Se konsa, idantite yo ta dwe inik, ak klas kapab al gade nan kòm anpil bagay ke ou ta renmen. Nenpòt lòt kesyon? Wi. [00:43:09] ODYANS: [fèbl]. Mwen mande si wi ou non ki fè yon diferans. HANNAH: Mwen regrèt sa, sa ki te kesyon an? ODYANS: Genyen ti "F" ak kapital "F." HANNAH: Se konsa, diferans lan ant ti "f" ak kapital "F" pa ta dwe fè yon diferans. Se konsa, "f" yo pral 15 swa fason. Cool, nenpòt lòt bagay? Tout moun bon, CSS? Wi? [00:43:30] ODYANS: Padon. Èske ou ka gen yon klas ak yon ID? [00:43:35] HANNAH: Wi, ou kapab. Bagay sa yo ka gen tou de yon klas ak yon ID. Apre sa, mwen trè rekòmande pou tès sa yo sou pwòp ou yo. CSS ou pral aprann pi bon jis pa fè yon bagay, paj entènèt trè senp, desen moute kèk CSS, ak jis wè ki jan yo kominike. Men, ou pral jwenn yon trè bon, sans entwisyon pou kijan li fonksyone. [00:43:56] OK, tout moun bon ak CSS? W ap tout pral fè sit bèl ak CSS kounye a. OK, pi bon pratik, jis bagay sa yo kenbe nan tèt ou, bagay sa yo that-- sa a se poukisa nou waf ou pou designer ak etajèr. Se konsa, fèmen tout tags HTML ou yo. Se konsa, si ou gen yon kò louvri, ta dwe gen yon kò fèmen. Si ou gen yon paragraf louvri, ta dwe gen yon paragraf fèmen. Tcheke yo wè paj ou validation. Ou nèg ta dwe pran anpil abitye ak sa a soti nan p-mete sèt ak CS 50 finans ak Validator a W3. Ak jan mwen te di anvan, youn nan paradigmes gwo nou an se separe style ou ak CSS soti nan markeup ou, ki se HTML. Lè sa a,, nan kou, nou gen gwo XKCD sa a desann isit la. Yay, sekou komik! [00:44:38] OK, tchp / IP. Ant sa yo ak HTTP, fondamantalman yo ap tou de pwotokòl. Se konsa, ou ta ka jis panse nan yo tankou yon seri règ ki gouvène ki jan bagay deplase atravè entènèt la. Se konsa, kontwòl transmisyon pwotokòl, oswa pwotokòl entènèt, se jis yon fason asire w ke ke done vin kote li k ap pase e ke nou konnen si nou ap janm manke done. Se konsa, si ou nèg panse tounen nan konferans yon semèn koup Anons sa pibliye depi ak David kote nou te gen kat anvlòp, yo tout te konte tankou yonn nan kat, de nan kat, twa nan kat, kat nan kat, sa a se jis yon seri règ. Nou te di, OK, nenpòt lè nou ap voye plis pase yon pake, nou pral konte l 'ak ki nimewo li se ak ki jan anpil manm ki itilizatè a ta dwe jwenn. [00:45:19] Lè sa a se jis di moun ki va ap resevwa done yo si yo gen vinn tout bagay oswa si yon bagay te resevwa pèdi sou wout la. Apre sa, yo bezwen pou mande pou l 'ankò. Sa a se vrèman jis yon seri règ. Sa a ki jan ou ka panse a li, OK? Epi tou, li presize pò a, ki ou nèg can-- mwen konnen pandan konferans, yo te gen yon lis tout nan pò. Men, nou pa fè yo isit la kounye a. [00:45:41] Pwotokòl transfè Se konsa, ipèrtèks se, ankò, li nan yon lòt pwotokòl. Se konsa, li nan yon lòt seri règ ki gouvène, nan ka sa a, ki jan ipèrtèks se transfere. Se konsa, li jis pèmèt navigatè pou pale ak serveurs entènèt. E kòm nou te di isit la, li nan tankou andchèykin imen. Se jis yon fason yo gouvène ki jan sèvè wèb la se ale nan kominike avèk navigatè ou a. Epi nou gen jis yon koup nan egzanp. Nou gen kèk demann isit la kote JWENN se metòd la. Nou gen HTTP 1.1, ki se vèsyon pwotokòl pou nou. Lè sa a,, lame a, ki se ki sa nou ap aktyèlman ap eseye jwenn aksè nan. Lè sa a,, menm jan ou wè la a, nou jwenn kèk repons ak sa a 200 OK kòm Kòd repons HTTP nou an. Nou gen yon gwo lis mwen pral rale moute nan yon sèl dezyèm ke ou nèg ta dwe abitye avèk yo. Epi nou gen sa a ki kalite kontni tèks / html, ki jis di ki kalite done yo nou resevwa soti nan sèvè a, OK? Lame sa a ak sa a ki kalite kontni se yon pati nan tèt yo HTTP. Ou ka gen kòm kèk oswa tankou ti kòm nesesè pou yon kontèks la nan ki sa w ap fè fas ak. Pafwa ou pral gen yon anpil nan enfòmasyon ki sòti nan sèvè ou. Petèt yo ap mande yon anpil nan enfòmasyon ki soti nan itilizatè a. Li varye depandan sou kontèks la. Si ou gade nan CS 50 Etid, gen nan yon anpil plis sou sa. Men, nou gen yon anpil yo ka resevwa a, se konsa mwen pral ou te mèt ale si sa a, se OK ak ou nèg? Cool. Kenbe sou. Mwen definitivman gen ki lis tout of-- huh! Mwen pa konnen poukisa sa a se tout wout la sou isit la. Mwen te panse mwen literalman deplase li pandan y ap Mwen te séance [00:47:15] Davin: ou vle anseye li? Oswa ou vle m 'anseye li? [00:47:17] ODYANS: Mwen te panse nou te kapab jis montre yo kòmanse avèk yo. Mwen vle di, ou ka ale nan yo pi lwen, men mwen te panse li te fè plis sans depi mwen te jis ap pale de statuts HTTP. Se konsa, isit la nan lis la tout antye. Mwen devine sa ki pral rive se Davin ki pral ale nan yo pita. Men, gen nan yon lis tout, yon preview nan gou nan ap vini yo. OK, nou ap ale nan blow-- sa a ki pral yo dwe yon kou aksidan PHP tankou pa gen lòt. [00:47:41] Se konsa, PHP, ipèrtèks preproseseur, li nan yon backronym repetitif, ki vle di li te rele yon lòt bagay. Lè sa a, yo te tankou, sa a pa reyèlman fè sans. Se konsa, yo jis yo te rele l-- epi li te yon akwonim, Se konsa, yo jis te fè li PHP ipèrtèks preproseseur, ki jis pa fè okenn sans. Fun istwa. Li se yon lang programmation. Se konsa, kòm anpil jan mwen ensiste ke HTML se pa yon lang programmation, li nan yon lang baliz, PHP se yon lang programmation. Ki jan ou fè konnen sa a se paske se la se lojik. Gen kondisyonal. Nou gen varyab, Lè nou konsidere ke nou gen Pa gen yonn nan bagay sa yo nan HTML. [00:48:12] Tout dwa, Lè sa a, nou gen sa a ti kras ti jan isit la sa a, se tankou yon gou nan PHP. Se konsa, Basics, non varyab kòmanse ak yon siy dola. Anpil moun renmen li. Raple nan nou lajan. Li nan tout gwo. Nou tout vle PHP. Se konsa, nou pa presize yon kalite varyab la ankò. Li se detèmine nan kouri tan. Entèprèt la pral tankou, oh, nou pral jis kouri nan, ak selon kontèks la, nou pral wè ki kalite kalite sa yo varyab bezwen gen. Gen nan pa gen fonksyon prensipal. Bagay sa yo pral jis kouri. Ou nèg ak enpòte ou nan ou p-mete sot pase yo, ou pral avi sa a. Pa t 'gen vrèman yon fonksyon prensipal la. Ou jis te ekri sa ou te vle rive. Epi li jis kalite te pase. Se konsa, sa a, se PHP pou ou. [00:48:56] Matris yo se trè sanblab. Nou toujou gen bracket sa a. Isit la, nou gen kèk varyab rele ArR, epi li egal to-- nou gen nòmal nou an bracket notasyon. Epi nou gen kèk valè kle. Ak diferans nan gwo ant C ak PHP ranje se ke nou ka gen associate-- sa a nou ka asosye valè kle. Se konsa, olye pou yo jis gen yon etalaj ki Catalogue pa kantite a oswa pozisyon nan nan ki eleman nan etalaj la, nou ka aktyèlman asosye li ak yon kle. Ki kote nou ka di, OK, mwen vle tou sa Se valè ki asosye ak fwi. E petèt nou gen fwi te ale nan bannann. Se konsa, li ta retounen bannann yo ban nou. [00:49:41] Men, fondamantalman, pi plis nan pwisan bagay sou sa a se ke si ou nèg sonje nan Demo nan konferans kote nou fondamantalman reekri ortograf nan PHP, epi li was-- Passage te vrèman jis renmen, kle sa a egziste? Sa ki nan vrèman kalite pouvwa a nan li. Ou pa bezwen repekte nan etalaj ou a. Ou pa bezwen konnen sa espas li a nan. Li ta ka nan fen a oswa nan konmansman an. Osi lontan ke ou konnen kle a ki nan ki asosye ak valè a, PHP ka jis krache ke valè dwa tounen soti nan ou, OK? [00:50:09] Lè sa a,, nou menm tou jis gen jis paske nou ka gen valè kle pè pa vle di ou gen. Ou kapab tou jis kreye yon etalaj nòmal tankou isit la, nan pati anba a, kote li a sèlman yon sèl, de, twa, kat. Moun sa yo se valè nou yo. Ak an reyalite, kle yo se endis yo. Se konsa, kle a pou yon ta dwe zewo. Kle a pou de ta dwe youn. Se konsa, sou ak pou fè, sof si ou klèman bay yon kle, ou ta ka asime ke valè se jis endèks yo. ki fè sans a tout moun? Pa gen kesyon? Awesome. [00:50:38] OK, fortch se yon fason yo repekte nan ranje ou. Se konsa, nou gen yon bagay isit la, jis estrikti la an jeneral. Se konsa, fortch, non an nan etalaj nou an, kòm tou sa ou vle rele chak eleman nan etalaj ou a, epi nou ka fè yon bagay ak ki eleman oswa avèk ki valè. Se konsa, nou gen yon egzanp isit la. Nou gen yon asosyatif etalaj ak de antre sa yo ak bar yo te asosye ak foo ak qux te asosye ak Baz. Se konsa, kle yo foo ak Baz. Valè yo se bar ak qux. Se konsa, fortch, nou gen etalaj nou an isit la, kòm valè kle pè a. Sa pèmèt nou aksè tou de kle a ak valè. Petèt ou jis vle nan valè, nan ka sa a ou ta ka jis fè tankou ArR ke $ valè, ak lè sa a ou yo se jis aksè valè a jan ou repekte nan. Men, petèt, pou kèk rezon ki fè, ou vle kle a, ki se poukisa mwen te chwazi egzanp sa a olye. Se konsa, ou ka aktyèlman manipile kle ak valè nan ka sa a. OK? Kesyon? [00:51:41] ODYANS: Si ou te vle jis manipile kle a, ta sa ou dwe fè foreach-- [00:51:45] ALISON: Dwa. Se konsa, si ou te vle manipile jis kle a, ou ta toujou bezwen sa a sentaks paske si ou jis gen ArR kòm yon bagay, kòm yon sèl bagay, li nan pral asime ou vle valè a, pa kle a. Se konsa, si ou te janm jis gen jis tankou ArR kòm, petèt sa a se tankou $ eleman, li a pral asime ke ou ap mande pou jis valè a nan chak pwen. Si ou klèman vle fè yon bagay ak kle a, menm si ou pa ap ale nan fè anyen ak valè a, ou bezwen estrikti sa a ke nou gen isit la kote w ap klèman mande pou tou de kle a ak valè a. Great kesyon. Nenpòt lòt bagay? Cool. [00:52:27] Tout dwa, PHP ak HTML. Oh, nou ap tounen nan p-mete sèt ankò. Se konsa, sa a ta dwe gade yon ti kras yo konnen yo. Se konsa, sa a se kèk fòm HTML senp ki gen kèk non D 'nan hello. Lè nou wè nou gen metòd nou an JWENN. Men, si nou sonje nan nou an p-seri, lè se soumèt fòm sa a, li voye yon etalaj rele $ _GET ki gen tout nan entrain sa yo oswa varyab soti nan fòm nan ki ta dwe manipile nan PHP nou an. Se konsa, nan ka sa a, itilizatè a ta mete nan non yo. Yo soumèt li. Apre sa, nou wè ke nou jwenn kèk etalaj isit la. Nou gen etalaj JWENN nou an. Epi n ap gen aksè nan non an. [00:53:11] Se konsa, ki di, OK, ban m 'la valè ki nan ki asosye ak non, non yo te kle a isit la. Epi sa kat dirèkteman nan sa nou te di non opinyon nou an, se. Se konsa, sa a te ban nou kle nan sa a pwal nan etalaj ou isit la. ki fè sans a tout moun? Wi? [00:53:32] ODYANS: non an nan Jwenn al gade nan liy lan koulè wouj violèt nan [fèbl]? [00:53:36] ALISON: Li refere a sa a isit la. Se konsa, jaden sa a dwa isit la, li refere a sa a non isit la. Se konsa, sa a te kapab yo te rele tankou nimewo telefòn, oswa kèlkeswa sa. Non sa a aktyèlman di, ki sa ki yo ou rele jaden sa a? Ki jan ou menm ki pral al gade nan jaden sa a? Epi se non sa a aktyèlman renmen, nou ap di jaden sa a se rele. Sa a ki jan nou pral gen aksè a li. [00:53:59] ODYANS: Se konsa, se li renmen, Non opinyon egal Bob, and-- [00:54:02] ALISON: Dwa, lè sa a ou ta jwenn Bob anba isit la. Egzakteman. Tout moun fre? Tout dwa, Se konsa, jwenn kont POST, sa yo, se de fason prensipal yo ke nou pase done nan yon demann HTTP. Ou nèg ta dwe gen pou wè tou de nan sa yo èspere ke. Se konsa, avèk JWENN, enfòmasyon ki pase atravè URL la. Se konsa, si ou te janm fè Google rechèch, YouTube, ou pral pwobableman remake kèk mak kesyon. Lè sa a,, tout mo sa yo ke ou jis mete nan la. Ak pòs pase done yo nan kò a mesaj HTTP. Se konsa, kontrèman ak jwenn, ou kalite konsidere ke done a se kache soti nan itilizatè a. Men, sa ki nan vrèman enpòtan yo konprann se ke sa a se toujou menm jan anksyeu kòm JWENN. Analoji a mwen renmen itilize se si ou gen nimewo kont labank ou epi ou ekri li sou deyò a nan yon anvlòp, ki a trè danjere. Si ou te ekri li sou yon moso papye ak mete l 'anndan anvlòp la, li la toujou reyèlman danjere paske tout sa ou dwe fè se louvri moute ki ak gade nan sa ki aktyèl nan mesaj la yo wè sa. Se konsa, sa a se "kache", epi moun tankou panse ke li nan sekirite, men li la reyèlman pa. E mwen panse ke Davin pral jwenn nan ki plis, petèt. Men, li la yon enpòtan distenksyon fè ak yon bagay reyèlman bon yo konprann. [00:55:15] OK, SQL, estriktire rekèt Lang. Tout bagay la ki nou te wè konsa dènyèman! Se konsa, li fondamantalman jis fèt, evidamman, pou jere done. Ou nèg te gen yon anpil eksperyans nan ak sa a nan tab ou a ak PHP MyAdmin. E gen kat demann komen ke nou vle ou nèg yo konnen. Se konsa, gen nan aktyalizasyon, insert, chwazi, ak efase. Se konsa, asire w ke ou konnen sa vrèman byen. Nou ap ale nan ale nan yo reyèlman vit. [00:55:40] Se konsa, mete ajou, reyèlman, kòm sa ou ta ka panse li fè sa, li jis dènye nouvèl done nan baz done ou. Se konsa, nou gen kèk egzanp isit la. Sa a se jeneral la estrikti nan yon sijè rechèch aktyalizasyon. Se konsa, nou mete tab la ke nou ap pale de. Epi nou vle yo mete sèten valè, sèten kolòn egal nan valè espesifik. Se konsa, sa a jis dènye nouvèl tab la, chanje, valè nan tout ranje nan ka sa a. Se konsa, nan yon sèl sa a desann isit la, yon vrè egzanp, nou gen insert regrèt. Sa glise avanse san yo pa m 'ka akonpli li. [00:56:17] Se konsa, sa tab dènye mete col1 egal val1 kote kay egal "Currier." Ki sa ki yon sèl sa a fè, se li sèlman chanje, li sèlman Mizajou sa yo valè nan kote espesifik. Se konsa, nan yon sèl sa a an premye, li chanje sa valè pou tout bagay nan tab ou, OK? Li nan ale nan chanje sa a kolòn pou chak antre sèl, pou chak yon sèl ranje. Men, kote sa a, ou te kapab panse a li kòm yon kalifye. Se konsa, li sèlman pral chanje li nan kote trè espesifik. Se konsa, nan p-mete sèt, lè ou petèt mete ajou kantite lajan an nan lajan kach ki itilizatè ou te gen, pwobableman ou te gen kèk kote ID egal ID sesyon, dwa? [00:56:53] Paske nou pa t 'vle chanje kantite lajan an nan lajan kach pou chak moun ki te lè l sèvi avèk sit entènèt ou. Ou te vle chanje li pou yon sèl moun espesifik, moun sa a ke yo te moun ki va te lè l sèvi avèk li nan moman sa. Dwa? OK, se konsa Insert, insert sèten valè nan tab. Sa a se tankou lè w ap kreye yon mak nouvo itilizatè. Estrikti an jeneral isit la se insert nan tou sa tab nou ap pale de. Valè, yo te valè yo ke nou aktyèlman vle insert. OK, se konsa menm jan nou wè isit la, nou te insert nan tab. Sa a se kolòn espesifik ak valè responded yo. Se konsa, sa a di, insert yon nouvo ranje ki gen valè val1 ak val2 anba sa yo kolòn espesifik. [00:57:33] Se konsa, petèt ou sèlman vle ranpli soti mwatye bagay sa yo nan ranje sa a. Sa a ki sa pati sa a isit la pèmèt ou fè. Li pèmèt ou aktyèlman detèmine ki pati. Wi? [00:57:44] ODYANS: Èske ou ka sèlman [fèbl] selil ki nan ranje a [fèbl]? [00:57:52] ALISON: Si ou sèlman ranpli nan yon seri pati nan ranje ou, rès la nan selil sa yo se jis vid. Osi lontan ke ou pèmèt yo rete vid, li pa yon pwoblèm. Si ou eseye jwenn aksè nan yo, li nan pral retounen kèk eleman vid. Men, li enpòtan yo konnen ke nan sèten tab, yo te ki ka pèmèt yo gen nil. Ou ka gen kouri antre nan yon pwoblèm pandan ou p-seri paske nou pa t 'kite nenpòt nan valè ou pral nil. Men, ou ka presize yon si ou vle valè nan tab ou. [00:58:26] OK, chwazi, se konsa sa a se jis yon fason pou trape done espesifik yo, nan yon tab nan kèk idantifyan ke ou vle. Se konsa, chwazi zetwal soti nan tab kote col egal yon bagay jis vle di, ban m 'tout done ki asosye kote kolòn espesifik sa a se vre. Se konsa, zetwal la nan ka sa a pral retounen tout ranje a nou la a, OK? [00:58:49] Lè sa a,, nan ka sa a, chwazi zetwal soti nan tab jis ba ou tab la tout antye. Lè sa a,, efase evidamman, li jis supresyon ranje a nan tablo a. Se konsa, efase soti nan tab, kèlkeswa sa tab nou ap indican, kote kèk espesifik idantifyan oswa kèk kondisyon se verite. Wi? [00:59:07] ODYANS: Kesyon. Pouki sa w ap lè l sèvi avèk doub quotes, ak si wi ou non ou fè quotes doub oswa yon sèl quotes, li fè yon diferans? [00:59:13] ALISON: quotes doub oswa quotes sèl pa fè yon diferans nan SQL. Mwen te panse mwen te wè yon lòt kesyon. Wi? [00:59:20] ODYANS: pa li afekte sa vin chape soti nan rechèch la? [00:59:25] ALISON: Rob? [00:59:27] ROB: Ki sa ou vle di pa chape soti nan rechèch la? [00:59:31] ODYANS: Si yon moun gen yon sèl sijè rechèch nan fòm lan of-- [00:59:36] ROB: Si yon moun te mete yon quote yon sèl nan, Lè sa a, osi lontan ke w ap asenisman D 'ou, Lè sa a, li pa gen pwoblèm. Men, si w ap sèvi ak yon sèl quote epi ou yo mal chape entrain ou, Lè sa a, repons lan se wi, yo bezwen yo mete yon quote yon sèl nan lòd yo kraze kòd ou a. si ou itilize quotes doub, yo bezwen mete yon doub site kraze kòd ou a. Men, osi lontan ke ou sove bagay kòrèkteman, li pa gen pwoblèm. Li nan jis pral yo dwe tradui senbòl ki kòrèk la de tout fason. [00:59:59] ODYANS: Ki sa ki chape vle di? ALISON: Bon, tankou asenisman ak chape. Egzamen an ke nou gen, gwo XKCD la komik yo ke yo rale moute kote ou gen, oh-- ROB: Se dènye glise la. ALISON: Se dènye glise nan, vrèman? Oh Bondye mwen. Gen nou ale, pafè. OK, se konsa fondamantalman, ou ka enjekte yon bagay nan sa a rechèch SQL kote li kraze ou Kòd, oswa tankou David te montre nan klas, si nou gen kèk sèl quote 1 egal 1 ak si nan kòd nou an, nou jis dirèkteman kopi ke nan, ak nou gen yon fini quote sèl, sa k ap pase se nou jwenn kèk ekspresyon ki evalye vre ki pral kite yon moun antre nan baz done nou an epi pou yo jwenn done ki nou pa vle yo jwenn. Se konsa, asenisman entrain yo jis vle di fè si ke nou ap chape sa yo karaktè ak deziyen yo kòm charaktèr epi yo pa bagay sa yo ki ta dwe gen dwa li dwe te pran literalman kòm deklarasyon SQL nou an. [01:01:04] Se konsa, bagay la gwo ke nou di ke ou nèg ta dwe lè l sèvi avèk te HTML charaktèr espesyal, ki se yon bagay ke ou ta ka vle pran yon gade nan. OK, efase. Kalite done, sa a pral tout ap sou entènèt. Depi nou te 15 minit kite, mwen jis ale nan ale dwat nan sa a. PHP ak SQL, fondamantalman sa a se jis nou te gen yon fonksyon rechèch ki te ede pwoteje tèt ou kont atak move sa yo. Se konsa, chak fwa ou sèvi ak rechèch, nou te fè asire w ke ki bagay sa yo te sanitanize ak etajèr. [01:01:36] Mv se jis yon paradigm konsepsyon, se konsa modèl, vi, kontwolè. Se jis yon fason yo kenbe bagay sa yo bèl ak fann moute nan menm fason an ke nou yo gen tandans faktè Kòd deyò nan fonksyon. Sa a se jis yon fondasyon konsepsyon sit entènèt ki pèmèt ou fè menm bagay la. Mwen pral sote sa a. [01:01:54] Sa a se yon bagay ke mwen ta dwe super confortable ak. Li se yon gwo ti kras tab la. Li ba ou fonksyon an egzanp sou modèl la. Mwen jis ale atravè tout sa a paske mwen reyèlman vle Davin pou kapab pale. Si w gen nenpòt kesyon, tanpri santi yo lib. Mwen pral dwe isit la apre. Jis vini pale ak m '. Avèk sa, nou gen statuts HTTP. Epi Davin a pral eksploze nan sa a nan 15 minit. Sa a se pral yo dwe gwo. [01:02:17] Davin: OK. Uh, MIC ou a? Yeah. Padon. ALISON: Way yo dwe prepare. Davin: Non, mwen pare. Mwen pare. Se pou nou fè sa. Li nan pare. OK. Padon. Mwen koule atè kafe sou tèt mwen. Mwen pa konnen si mwen se plis fache ke mwen gade komik, oswa ke mwen pa gen kafe ankò. De tout fason, jis yon anons rapid sou fèy la ou nèg gen. Se konsa, sa a fèy ou nèg gen se pa ofisyèl la sa ki nan sou egzamen an. Sa a se ofisyèl la sa ki nan sou egzamen an. Epitou, sou sit entènèt la, nou di ou, OK, sa a pral sou egzamen an. Se konsa, nan fèy la twonpe ti kras ou gen, pa gen. E gen erè sou li. Se konsa, pi bon yo pa jis je fèmen sèvi ak li. Se konsa, yeah, sa a, se sa. Se konsa, kite a jwenn nan sa a rapid reyèl. [01:03:05] Se konsa, HTTP statuts. Se konsa, sa ki pase lè a sit entènèt, tout bagay se tout dwa. OK Tout la. Tout vini tounen nan ou wout la ou vle l 'bay. Ou jwenn yon OK 200. 301, kote yo te nou wè ke 301 anvan an? Rete tann, sa ki nan moute? Padon. Nou te wè m konferans fèblan pandan sekirite. Se konsa, pandan sekirite, Se konsa, si David tape nan http ak Lè sa a eseye pou yo ale nan cs50.net, w ap ale nan wè 301 brannen l '. Poukisa? Paske li pral redireksyon ou otomatikman t nou yo. [01:03:35] Se konsa, 301 te deplase, jis li a fondamantalman yon Reoryantasyon. Epi ou ka panse sou li tankou sa a. Nenpòt nan statuts yo ki kòmanse ak 2 a, sa yo se tankou, OK, OK tout bagay la. Nenpòt nan statuts yo ki kòmanse ak 3, sa yo se Reoryantasyon. Statuts ki kòmanse ak 4, sa vle di gen nan kèk kalite erè kliyan. Statuts ki kòmanse ak 5, sa a, se kèk kalite erè sèvè. Se konsa, ou kalite kraze moute statuts yo tankou sa. Se konsa, 304 pa pa modifye, se konsa nan ou server.c p-kouche, se konsa kite a di ou chaje cat.html. Tout vini tounen, ou jwenn 200s, OK, gwo. [01:04:03] Se pou nou di ou rafrechi li. Oke, andedan ke cat.html, ou gen yon JPEG. Oke, ki JPEG se pa pwal jwenn rechargé. Ou pa ap ale nan pòs lòt JWENN demann nan sèvè a, ak Lè sa a jwenn tout enfòmasyon ki tounen. Li nan ale nan jis be-- ki imaj se yo pral kach sou machin ou. Se konsa, ke imaj pral yon 304. Se konsa, li pa nan te modifye. Si ou Lè sa a, fèmen soti, klè bonbon, ak Lè sa a rafrechi epi eseye chaje paj ki ankò, w ap ale nan wè 200s. Ou pa ap ale nan wè ke 304. [01:04:28] 400, move demann, reyèl rapid, tankou si ou te ale nan voye yon JSON objè nan sèvè a ak objè JSON ou te kòrèk, ou pral wè yon bagay tankou sa. 403, entèdi. Lè ou ta renmen wè yon entèdi? Pwobableman Pwobableman? ODYANS: chmod. Davin: Chmod, yeah. Se konsa, ou pa t 'mete autorisations kòrèkteman. 404, pa te jwenn. Se jis pa la. Se konsa, si ou tape nan URL a mal. 500, entèn erè sèvè, sèvè a pwobableman pa te configuré kòrèkteman. Yon bagay pa sou fen ou, men yon bagay sou bò sèvè. Ak 503? Yon anpil moun te wè 503s nan dènye p-mete nan. Lè ta ki rive? Mwen tande murmura. [01:05:05] ODYANS: Lè Google deside ou se yon robo. Davin: Yeah, lè Google deside ou se yon robo, ou jwenn 503s. Se konsa, sa a, se yon Surcharge. Si ou te mande soti nan sèvè a twòp, li la anjeneral yon ti tan. Ak pi fò nan ou remake li. Se konsa, ou te wè 503. Ou ta ka yo te pran yon ti kras repo, Lè sa a, 503s yo al fè wout yo, ak tout bagay te tout dwa. [01:05:20] GABE: Imobilye rapid, lè ou nèg jwenn 500 nan pwobableman pwoblèm sa a pase a mete? Wi? [01:05:27] ODYANS: Anjeneral si la sèvè gen yon dosye deplace oswa [fèbl] yo machin [fèbl]. [01:05:34] GABE: Se konsa, li ta kapab yon konfigirasyon pwoblèm nan PHP ou sou sèvè ou. Men, li ta kapab jis yon bagay tankou yon virgules ki ou bliye. Si w ap tape PHP, kèk sentaks kòrèk ta ka fè ou jwenn yon bagay tankou sa. OK? [01:05:46] Davin: Cool. Èske ou vle m 'fè jis moute jouk Ajax? [01:05:51] GABE: [fèbl]. Davin: OK. Se konsa, sa ki nan Dom a? Ki sa ki Dom kanpe pou? [01:05:55] ODYANS: Dokiman modèl objè. Davin: Nice. E poukisa nou renmen li? Awesome. Dwa, se konsa li jis pèmèt nou aksè HTML a, aksè nan paj nou an trè vit. Poukisa? Paske nou ap trete nou an paj, trete HTML Tags nou an, trete tout bagay kòm si yo ap objè yo. Si nou ap trete yo tankou yo ap objè, Lè sa a, ki sa nou ka fè? Oke, nou ka rele fonksyon sou yo. Lè sa a se enpòtan poukisa? Oke, paske nou ap ale nan sèvi ak JavaScript mete ajou HTML nou an, aktyalizasyon bagay sa yo. Se konsa, si nou trete yo tankou objè, Lè sa a, nou ka rele fonksyon sou yo. Mwen pral jwenn nan sa a yon ti kras plis lè mwen ale nan JavaScript, men ou te wè tout tankou document.getElementByID. Se konsa, dokiman se ou eleman, jwenn eleman pa ID, se konsa w ap ale nan gade pou kèk ID nan yon tag HTML. Lè sa a,, ou ka fè yon lòt bagay nan sa. Pou egzanp, tankou document.body, Lè sa a, ou ka kole timoun. Se konsa, w ap ale nan jwenn dokiman an. Ou gen dokiman an. W ap ale nan jwenn kò a. Ou te jwenn kò a. Lè sa a,, w ap ale nan rele kèk fonksyon sou li. Se konsa, kole timoun, epi ou ka kole kèk HTML sou fen a andedan kò ou. Se konsa, fondamantalman, ou se jis trete li tankou yon objè. Ou ap trete HTML Tags tankou yon objè. Epi li fè li trè fasil ak rapid yo ale nan yo. Men, li te tou pèmèt ou yo rele fonksyon sou yo konsa ou ka manipile ak chanje eleman yo. [01:07:04] GABE: Bay sa a, poukisa se JavaScript sa yo yon lang bèl yo kominike avèk HTML? Chans yo se, lè moun yo te chwazi lang nan pou navigatè a, pou bò kliyan, JavaScript se reyèlman bon, li vrèman bon nan manyen objè yo. Ak objè yo yo kalite renmen objè yo ki parèt nan HTML a, se konsa li a trè fasil pou JavaScript fè sa kalite manyen. Davin: Nice. Se konsa, isit la jis yon egzanp. Se konsa, mwen panse ke sou egzamen ane pase a, oswa petèt de zan de sa, nou mande w yo kreye yon pye bwa. Se konsa, sa a se ekzakteman ki sa ou ta fè. Se konsa, ou kòmanse soti ak dokiman. Lè sa a, ou fondamantalman jis gade nan etikèt yo. Se konsa, si ou gade, nou kòmanse ak yon tag HTML. Lè sa a,, ou jwenn endikasyon sou jan yo ka fè sa ki baze sou dekoupaj an. Se konsa, tèt kalite branch la. Anndan tèt, nou gen yon lòt tag pou tit. Se konsa, lè sa a, nou gen yon tag tit. Ak andedan sa, nou gen kèk kòd. Se konsa, nou reprezante yon kòd nan yon sèk. Apre sa, tout tags yo se nan kare. [01:07:54] Men, si ou gade, si nou panse a sa a kòm yon pye bwa, e kite yo di ke HTML se yon paran, lè sa a tèt ansanm ak tout kò yo pral yo dwe frè ak sè. Yo ap tou de pral fè timoun nan ki paran yo. Se konsa, paske yo ap tou de frè ak sè, yo ap pral fè kalite akote youn ak lòt nan modèl pyebwa nou yo. Lè sa a,, ou fondamantalman fè menm bagay la egzak. Se konsa, pa difisil, men nou te mande kesyon tankou sa a anvan sou egzamen an. GABE: Èske okenn moun gen kesyon byen lwen tèlman? Èske li bon? Davin: Cool. JavaScript, OK, bagay la bon. Se konsa, JavaScript, ki sa ki JavaScript? Oke, JavaScript is-- li a konplike, men sa yo yo se kèk nan En yo ke ou ta dwe kenbe nan tèt ou. Premyèman, li nan blesi tape. Ki sa sa vle di? Se konsa, PHP was-- yeah, sa ki nan moute? [01:08:35] ODYANS: Ou pa bezwen klèman eta ki kalite varyab li ye. Davin: pafè. Se konsa, li te di ou pa bezwen klèman deklare kalite a nan varyab. Se egzakteman dwat. Se konsa, nan C, si mwen te gen int mwen egal 50, Lè sa a, nan PHP, li nan jis tankou sa a, $ mwen, egal 50. Lè sa a, nan JavaScript, sa ki ta rele nan ta dwe ye? Var, dwa? Li ta dwe tankou var mwen egal 50. Men, ou pa gen yo dwe tankou, OK, sa a se yon int. OK, sa a se yon fisèl. Pa bezwen fè sa. Se yon lang entèprete. Se konsa, sa sa vle di? [01:09:04] ODYANS: Se pa konpile. [01:09:06] Davin: Ki sa ki pa konpile vle di? Yeah? [01:09:11] ODYANS: Ou pa gen yo restriktire kòd la jwenn li pare pou òdinatè a nan kouri li. Li nan jis pran nan moman sa a nan ekzekisyon ak òdinatè a [fèbl]. Davin: Yeah, se konsa li te ale nan pase nan yon entèprèt. Men, w ap egzakteman dwat. Se konsa, ou pa janm ap ale konpile li, dwa? Lè ou te fè ou PHP ak JavaScript kòd, ou pa janm rele konpile. Ou pa janm rele yon bagay tankou fè oswa yon bagay tankou sa. Sa a se paske li nan entèprete. Se konsa, chak fwa li ale nan navigatè, li ale nan yon entèprèt. Epi sa k ap pase yo esplike l ' jis nan tan reyèl touswit pou ou. Se konsa, sa yo se kèk positifs ak negatif gen yon lang entèprete epi ki gen yon lang konpile? Se konsa, compiling-- yeah, sa ki nan moute? [01:09:50] ODYANS: Entèprete se pi dousman. Davin: Nan ki sans? [01:09:57] ODYANS: Apre ou konpile, ou pa gen fè nenpòt ki etap siplemantè nan egzekite li, Lè nou konsidere ke sa a [fèbl]. [01:10:04] Davin: Dwa, pafè. Se konsa, sa ou te di se fondamantalman ki konpile, lè ou konpile, ou gen yon anpil nan depans inicio, dwa? W ap ale nan konpile li. Men apre, lè ou konpile li, nan du a pral optimize li. Li nan pral fè vit. Li nan ale nan fondamantalman gen osi vit ke li kapab. Avèk entèprete, ou pa janm gen ke pri inicio. Olye de sa, li pral yon ti kras pi dousman chak fwa yon sèl ou esplike l '. Epi w ap ale nan gen yo esplike l 'chak fwa sèl. Se konsa, olye pou yo gen sa a youn pri tan, kounye a ou se pral fè yo esplike l ' chak fwa paj la rann. [01:10:29] Se konsa, entèprèt yo se bon paske ou pa bezwen konpile li, men yo ap move nan ke chak tan charj yo paj, li nan pral fè yo entèprete sa a JavaScript. Epi li pral yon ti kras nan kouri pi dousman pase si ou te konpile li. Pèmèt ou communicate-- oh, rete tann. Itilize yo manipile nan kontni ak aparans. Nou jis te pale osijè de sa. Li itilize Dom la. Ajax, nou pral jwenn nan Ajax nan yon ti kras. Lè sa a,, li nan bò kliyan. Se konsa, PHP se bò sèvè. JavaScript se bò kliyan. Ki sa ki pozitif nan sa? Li di li. Li nan pi vit, dwa? Paske ou pa gen to-- li a pi vit. Ou pa gen yo kominike ak kèk aparèy lòt. Si w ap jis sou ou kliyan, ou ap pa janm pral gen yo ale ak wè sa ki nan sou sèvè a ak Lè sa a rapòte tounen oswa yon bagay tankou sa. Se konsa, bò kliyan gen tandans gen yon ti jan pi vit. [01:11:15] GABE: Yeah, men sa a pa vle di PHP se pi vit pase JavaScript oswa nenpòt bagay nan renmen an. Yo kouri kalite nan menm bagay la tou vitès paske yo ap tou de entèprete lang. Bagay la ki nan ralanti isit la se demann lan. Se konsa, ou ap aktyèlman pral tout wout la sou nan Brezil jwenn kèk enfòmasyon ki ap viv la. Men, PHP ak JavaScript, yo kalite kouri nan vitès la menm. Li pa ke se yon sèl pi vit pase lòt la. Sa a, tou, jwe fent kesyon isit la. Se konsa, JavaScript pa janm vin kòd machin, vre oubyen fo? [01:11:47] ODYANS: Fo. GABE: Fo. Li te gen yo vin machin Kòd paske kòd machin se bagay la sèlman machin nan konprann. Menm si li pa nan konpile, li toujou vin kòd machin paske entèprèt la se jis yon pwogram ki ale liy pa liy ak transfòme ki liy nan yon bagay òdinatè a konprann. OK? Cool. [01:12:08] Davin: Isit la se jis yon anpil debaz alo pwogram JavaScript nan lemonn. Se konsa, mwen pa konnen if-- ou te wè sa a. Men, ou jis gen HTML isit la. Ak olye pou yo aktyèlman mete JavaScript a nan etikèt yo script, se konsa ou ta nòmalman mete l 'nan tèt. Ou gen script Tags. Ou lage li a. Tout sa nou te fè isit la se nou te lye in-- se konsa nou te lye nan yon dosye JavaScript tankou sa a. Men, ou te tout fè sa a, dwa? Se konsa, lè ou te lè l sèvi avèk jQuery ak Underscore.js nan dènye p-seri a, ou pa gen tòn Kòd moute nan Tags script ou a, moute nan tèt ou. Ou te kapab fè sa, men olye w ap sèlman ki lye ak li nan. Epi w ap ki lye ak li nan jis tankou ou fè ak CSS. Se konsa, li jis fè li pi fasil li konsa kòd ou a se pa tankou 1,000 liy long ak tòn fonksyon ki ou pa ta ka lè l sèvi avèk. [01:12:52] Olye de sa, ou jis konekte li nan. Li compartmentalizes li. Se tankou ekri kèk dosye header, ak Lè sa a, ki gen ladan ki dosye header nan C. Panse a li jis tankou sa a. Se konsa, sa sa a fè? Oke, sa a se pral nan kouri. Li nan ale nan alèt yo. Se konsa, w ap ale nan jwenn yon ti kras pòp moute rele mond hello. Quick kesyon, jis chèk saniti, konsa ou wè isit la nan kò a, di kò, HTML isit la. Ki sa ki vini an premye? Èske mwen wè kò, HTML isit la, oswa mwen wè alèt la an premye? [01:13:19] ODYANS: Avètisman. [01:13:20] Davin: Dwa. Li di alèt yo. Poukisa? [01:13:22] ODYANS: Paske ou ale depi anwo jouk anba. [01:13:24] Davin: Wi. Pafè. Se konsa, li te di, ou ale soti nan tèt anba, ki se absoliman kòrèk. W ap ale nan ale depi anwo jouk anba. Ak nan JavaScript, jQuery, ou gen yon fonksyon sa a, se tankou onlod, oswa pare, ak ki di, OK, rete tann jiskaske tout HTML sa a te chaje. Lè sa a,, rele JavaScript la. Paske nou pa gen ke isit la a, trè premye bagay ki ki pral rive se li k ap pase ale depi anwo jouk anba. Li nan ale nan frape ki JS rele, li nan ale nan alèt yo. Apre sa, ou klike sou OK, ki alèt ale lwen. Lè sa a, li pral montre ou kò HTML a isit la. Nice. [01:13:54] OK, Se konsa, jis reyèl rapid, ekri nan JavaScript se super rapid. Yo nan lòd yo deklare yon varyab, var non. Se konsa, nan C, ou gen int mwen, ou gen deklare ki kalite kalite li ye. PHP, $. JavaScript, var. Nou te pale de sa a. Tout dwa, kite a ale. [01:14:11] Pasan, menm bagay. Menm bagay. Deklarasyon Fonksyon, se konsa jis tankou ou te wè nan C. Bagay la sèlman diferan se konsa lè ou jwenn yo lòt lang programmation, tankou lè ou pran 51 pwochen semès ak w ap fè ak okanl, ou ka fè fas ak fonksyon anonim. Se konsa, sa a, se egzakteman sa ou gen isit la. Se konsa, ou vle mete nan sòm, kèk kalite valè sòm. Men, ou ta ka sèlman ki ka fè l 'yon sèl fwa. Se konsa, ou pa vle rele li fonksyon sòm, bay li yon deklarasyon fonksyon. Olye de sa, ou jis sèvi ak li kòm yon fonksyon anonim. Epi ou te wè sa a yon anpil. Ou pral wè yon egzanp sou sa a nan yon glisad koup. Yeah, nou pral wè. GABE: Bon kesyon. Lè ou ta ka vle itilize yon fonksyon anonim isit la? Fondamantalman, lè ou vle yon bagay, tankou yon evènman, rive. Se konsa, lè sourit la se klike, pou egzanp, ou vle kèk fonksyon dwe rele. Se konsa, ou pase nan evènman an kap okipe, ou pase nan evènman an, kalite, fonksyon an ki ou vle yo dwe rele. Ak sa ki w ap pase se tankou, nan fen nan jounen an, jis yon konsèy nan ki enstriksyon, nan fonksyon an. Se konsa, li pa nan renmen w ap pase Kòd la an antye, menm jan yon konsèy nan fonksyon an. Lè sa a,, lè yon moun klik la sourit, lè sa a vin ki fonksyon rele. [01:15:17] Davin: Matris, kidonk, ou gen yon deklarasyon etalaj. Lè sa a, yon etalaj yo mete bagay sa yo nan. Imobilye rapid, sa ki pral sa a enprime soti? Ki sa ki pral eleman nan twazyèm ta dwe ye? [01:15:31] ODYANS: "JS". [01:15:32] Davin: Dwa, li ta "JS." Rete tann, ale tounen. Ki longè a? [01:15:37] ODYANS: Twa. Davin: Twa, dwa? Egzakteman ki sa ou panse. OK, kounye a ale. Matris, ou ka ajoute bagay sa yo nan yo. Se konsa, ou ka ale pi lwen pase premye limit yo. Jis yon bagay kenbe nan tèt ou. PHP, JavaScript, yo ap yon ti kras ti jan pi plis padonnen nan tèm de bagay sa yo tankou sa. Objè, anpil tankou strukt nan C, anpil tankou ranje asosyatif nan PHP. Ou te tout te gen eksperyans avèk sa a. Se konsa, JSON, lè w ap pase JSON retounen ak lide nan p-mete uit, sa a, se objè ou yo. [01:16:03] Se konsa, yeah, egzanp, reyèl egzanp rapid. Isit la se yon objè. Fason a ou referans sa a objè, se konsa jis reyèl rapid, kite a di mwen te vle jwenn soti, OK, ki sa ki kou a? Se konsa, non an objè isit la se CS50. Lè sa a, si mwen te gen yon asosyatif etalaj, ki jan mwen ta fè sa? Mwen pral lè l sèvi avèk yon kle, dwa? Se konsa, mwen gen non an nan etalaj la. Mwen gen bracket, quotes, kle, fen quotes, fen bracket, ak ki pral referans ki eleman andedan etalaj asosyatif mwen. Kouman pou mwen referans kou andedan objè mwen an? Okenn moun konnen? [01:16:39] ODYANS: [fèbl]. [01:16:40] Davin: Ki sa ki nan moute? ODYANS: CS50.course. Davin: Dwa, yeah. Se konsa, CS50.course. Se konsa, wout la ou referans bagay andedan yon objè JSON se ak yon dot. [01:16:48] ODYANS: Ou kapab tou itilize etalaj sentaks. [01:16:53] Davin: OK, amann. [01:16:54] GABE: Ou kapab tou itilize CS50 bracket, fisèl, tankou giymè. ODYANS: Mwen panse ke li nan ki idantik ak PHP. GABE: Se menm bagay la. Davin: Fine! Men, ou pral wè sa a lòt kote. Yeah, se konsa kenbe prale. Sa a se sa mwen jis te di. Se konsa, nan yon egzanp JavaScript jQuery. Se konsa, sa a se Dom m 'yo, dwa? Imobilye rapid, Se konsa, mwen gen yon tèt, alo mond, kò. Mwen gen yon bouton. Li di "pouse m '," Se konsa, mwen vle pouse li. Apre sa, mwen vle fè yon bagay lè li nan klike. Dwa, kap vini an. [01:17:31] Dwa, se konsa sa a se JavaScript mwen. Se konsa, jQuery se jis yon pi fasil fason yo ekri JavaScript. Se konsa, sa a, ak sa m ap pral montre ou kap vini an, a pwal jQuery, yo ki idantik. Se konsa, yo pral fè menm bagay yo. Jis jQuery gen tandans ka yon ti kras pi fasil. Moun yo gen tandans renmen li plis. Li te gen yon anpil nan fonctionnalités. Se konsa, moun yo gen tandans sèvi ak jQuery. Ou tout itilize jQuery nan dènye p-mete nan. Se konsa, sa sa a pral fè? Ki sa ki pral sa a JavaScript pou sa a se jis plenn JavaScript. Ki sa ki sa a ap fè? Ki sa ki pral li fè? [01:18:03] Se konsa, premye, ou wè onlod fenèt. Dwa? Se konsa, nou pa t 'wè sa anvan. Se konsa, sa a se pral yo rete tann jouk charj yo fenèt antye. Se konsa, li k ap pase yo rete tann jiskaske chay la HTML, tout imaj yo anvan li fè sa anyen. Se konsa, kite a di te Dom nou an chaje. Tout nan la. Lè sa a, ki sa ki pral rive? Yeah? [01:18:19] ODYANS: Button parèt. [01:18:22] Davin: bouton an deja la. Yeah, se konsa bouton an deja la. Men, sa a se pral di, OK, si mwen klike sou bouton an, se konsa bouton an nan deja a, tankou sa tag HTML. Rete tann, ale tounen reyèl rapid. Tag sa a dwat isit la se pral gen yon bouton deja. Genyen deja yon bouton. Men, lè sa a, JavaScript nan tag, dwa isit la, li di, OK, mwen vle jwenn eleman pa ID, se konsa bouton rechèch jis di, OK, mwen vle nan kat jeyografik sa a varyab ak sa yo ki bouton. Se konsa, ki varyab se jis yon pi fasil fason jwenn aksè nan ki bouton. Apre sa, mwen di, OK, si mwen klike sou ki bouton, se konsa, si mwen klike sou ki eleman, ak eleman sa a refere a bouton an, si mwen klike sou li, Lè sa a, mwen vle rele yon fonksyon. Isit la se youn nan moun ki anonim fonksyon nou te ap pale de. [01:19:03] Jis rele kèk fonksyon. Anndan ki fonksyon, fondamantalman yon bagay nou te wè yon anpil, alèt yo. Ou klike sou bouton rechèch la. Li nan ale nan fondamantalman gen yon bouton. Ou klike sou li. Ou jwenn ki alèt yo. X soti. Sa a li. Yeah? [01:19:16] ODYANS: Se konsa, si ou mete script la [Fèbl], tag script nan HTML ou a? [01:19:21] Davin: Ou ka mete script la tag tou dwat nan tèt la paske ou gen onlod sa a. Li la tou ke ou gen yon klike sou. Se konsa, li k ap pase yo rete tann jiskaske ou klike sou pou yon bagay. Men, onlod se jis yo dwe san danje, fè charj tout bagay w ke nan HTML ou davans. Yeah? Ou vle di yon bagay? [01:19:40] GABE: [fèbl]. Davin: Yeah. [01:19:42] ODYANS: Se konsa, Li evite onlod defini bouton an rechèch varyab pa jis di document.getElementByID rechèch bouton dot [fèbl]. [01:19:49] Davin: Definitivman, men Lè sa a, fisèl ou jis vin gwo. Egzakteman, se konsa sa a se jis fè li pi fasil pou ou, yeah. Wi? [01:19:56] ODYANS: Ki kote nou te fè kreye window.onload? Oswa document.ready? [01:19:58] Davin: Wi, gen. Wi, gen se, mwen w tcheke yo. [01:20:02] GABE: Pa pou yo pou pran swen sou. [01:20:03] Davin: OK, se konsa mwen pral di ou de tout fason. Se konsa, fondamantalman, jis an jeneral, se konsa window.onload tann jouk Dom ou, tout HTML ou, charj. Li tann jiskaske chaj imaj ou. Li tann jouk charj tout bagay. document.ready, li jis tann jiskaske charj Dom ou. Yon fwa HTML a se tout gen, yon fwa Dom ou ki gen la, kòmanse kouri. Sa a diferans la sèlman. [01:20:23] GABE: Quick saniti tcheke isit la. Se konsa, sa a ka wè kalite tankou yon liy nan kòd, dwa? Paske li nan window.onload egal yon pakèt moun sou lòt bagay. Lè JavaScript li sa a, vre oubyen fo, vin fonksyon an egzekite. Fo. OK? Kisa k ap pase isit la, ou ap jis pase fonksyon sa a kòm yon fonksyon anonim window.onload. Lè sa a, lè se li pral yo aktyèlman jwenn egzekite? Lè charj yo fenèt. Sa a yon evènman. Se konsa, sa a, se jus t bagay nou ap ap pale de pi bonè, dwa? Se konsa, lè evènman an rive, fonksyon an k ap pase. Menm bagay ak onclick la. [01:20:59] Davin: OK, se konsa yon moun te pran lwen document.ready la. Men, sa a yo pral same-- an egzak ODYANS: Siyen an dola, ki se yon document.ready. Sa se yon chemen kout. [01:21:07] Davin: Oh, se sa ki? OK, se konsa sa a vle di document.ready, chemen kout. Men, sa a se menm bagay la kòm window.onload eksepte pou ke ti kras diferans Mwen te di nou sou yo. Lè sa a se jQuery. Se konsa, sa a se menm bagay la tou egzak thing-- sa a se JavaScript. Sa a se just-- gen kèk moun ki panse a li kòm yon pwa plis limyè, dous vèsyon ki gen anpil fonctionnalités ke ou pral pwobableman ap lè l sèvi avèk. Se konsa, sa fè menm bagay la egzak. [01:21:34] Se konsa, bagay sa yo kalite pwen soti. Se konsa, nan lòt egzanp lan, nou te gen document.getElementByID, se konsa nou te gen sa a depi lontan fisèl ki k ap pase yo ka resevwa eleman nan tou sa pa ID li gen. Sa a ranplase pa rele sa a dwa isit la. Se konsa, ou wè siy la dola, Lè sa a, ou wè quote, hashtag. Hashtag se toujou yon seleksyon. Li di, OK, sa a te fè avèk yon ID. Ki sa ki nan seleksyon an pou yon klas? [01:21:56] ODYANS: Dot. [01:21:57] Davin: Dot, dwa. Si w ap jis ale nan chwazi yon tag, ki sa ki li? Se jis nan tag a, egzakteman. Epi ou ta ka itilize ke isit la, kòm byen. [01:22:05] GABE: Lè pa tag, nou vle di tankou div, pou egzanp, oswa tèt. [01:22:08] Davin: Oswa kò oswa p oswa yon bagay tankou sa, yeah. Se konsa, isit la, OK, olye pou yo di document.getElementByID, sa a se jis menm bagay la egzak. Jis nan jQuery, li nan ki pi kout. Se konsa, li ki pi senp. Se konsa, lè sa a, pa plis onclick, jis klike. jQuery fonksyon, rele fonksyon sa a. Avètisman se menm bagay la egzak. Se konsa, li yon ti kras ki pi piti, oswa ti kras pi kout, yon ti kras moun ki bit-- panse li nan yon ti kras pi fasil yo ekri soti, yon ti jan ti kras pi fasil yo konprann. Men, sa a se jQuery. Yon anpil moun jwenn yon ti kras ti jan konfonn ak enkyete epi yo panse, OK, jQuery se diferan pase JavaScript. Mwen gen sonje sa yo de bagay diferan. Li pa. Mwen vle di, li nan diferan sentaks. Men, jQuery se JavaScript. Se jis nan yon w pèdi pi bon vèsyon ki ta ka pi fasil yo konprann ke gen moun ki sèvi ak yo. GABE: Yeah, yo dwe onèt, ki siy dola ke ou wè nan jQuery, sa se sèlman nan non nan yon fonksyon ki defini jQuery. Li pa gen anyen espesyal. Èske Se jis non an nan yon fonksyon, jis tankou ou ta ka defini siy dola. [01:23:03] Davin: Yeah, se konsa pale sou sa a. Men kèk bagay itil. Mwen te gade dèyè nan ti tès yo fin vye granmoun. Nan ti tès yo koup sot pase yo, yo te te sèvi ak bagay sa yo tankou sa a. Se konsa, document.ready, se konsa asire w tout bagay nan chaje anvan ou kòmanse fè bagay. Chwazi yon ID, oswa chwazi yon klas, li ta jis gen quote dot kèk klas, fen quote. Soumèt, se konsa si ou se soumèt yon fòm ak apèl sa a fonksyon apre fòm nan soumèt. Valè, se konsa kite a di mwen te gen yon fòm soumèt, tankou yon non itilizatè, yon imèl, kèlkeswa sa. Mwen te gen yon bwat tèks. Se konsa, mwen tape nan ki bwat tèks. Oke, si ou vle jwenn valè a soti nan ki bwat tèks, ou sèvi ak dot Val. Lè sa a,, desann isit la, dot HTML se menm bagay la tou se tankou dokiman dot getElementByID dot InnerHTML. Se konsa, ki nan ale nan retounen ou HTML la soti nan ki ID. Isit la, ou jis sèvi ak kèk ID oswa kèlkeswa sa dot HTML. Sa pral jwenn HTML a soti nan ki eleman. Si ou te vle Lè sa a, chanje sa HTML, ou ka pase l yon bagay. Se konsa, ou ta dwe tankou dot HTML, ak Lè sa a, andedan, quotes, nouvo HTML oswa yon bagay. [01:24:05] GABE: OK, se konsa Ajax. Mwen vrèman renmen yo konprann Ajax vrèman byen. Se konsa, mwen vle ou nèg konprann Ajax vrèman byen. Paske si ou fè sa, w ap bèl anpil ale yo konprann tout bagay ki te fè ak HTTP, PHP, JavaScript paske li tout vini ansanm nan Ajax. Ajax se pa yon lang. Ajax se yon teknik. Epi li sèvi ak anpil nan zouti diferan. Ajax kanpe pou asenkron JavaScript XML. Se konsa, metòd la, lang nan, done yo. [01:24:36] Se konsa, lang prensipal la ke nou itilize nan Ajax yo deklanche tout bagay ak okipe tout bagay pita sou se JavaScript. Se poutèt sa li gen rapò trè pre JavaScript. Lè sa a, asenkron se paske nou pa fè l ' tout nan yon fwa lè nou ap chaje paj la. Sa a se bagay la ke nou kapab fè bagay sa yo kalite nan paralèl. Lide prensipal dèyè Ajax se ke ou vle li jwenn kèk enfòmasyon espesifik. Pou egzanp, lè w ap tape nouvo non itilizatè lè w ap enskri yon non itilizatè, non itilizatè mwen an se ABC123. Lè sa a,, nan fen a fòm, ou gen klike sou soumèt. Epi li te gen pou yo ale nan sèvè a, ak Lè sa a tcheke si nan baz done a, ABC123 se deja la. Men, si li la deja la, li di, non itilizatè deja nan baz done a. Apre sa, yo, ou oblije ranpli soti fòm a tout antye ankò. Epi li te reyèlman, reyèlman move. [01:25:23] Lè sa a, moun ki di, OK, poukisa yo pa kapab nou jis fè yon demann HTTP ti jis tcheke yo wè si itilizatè sa a se nan baz done a anvan itilizatè a te soumèt fòm nan tout antye? Se konsa, pou egzanp, lè a itilizatè fini sezisman ABC123, kite yo jis ale nan sèvè a yon ti kras ti jan ak jis jwenn yon vre oubyen fo soti nan sèvè a yo wè si sa a, se yon non itilizatè ki valab oswa ou pa. OK, se konsa sa a, se youn nan prensipal la sèvi ak nan Ajax sèjousi toujou. [01:25:49] Davin: Se konsa, reyèl rapid, nan yon apèl Ajax nan jQuery, ou te kapab siyifi ke ou vle li nan dwe synchronous. Ou pa ta dwe fè sa. Men, ou ka fè sa. Men, si ou fè sa, sa ki ta rive? Oke, pou egzanp, lè w ap ap resevwa nouvèl oswa kèlkeswa sa, navigatè ou a se jis ale nan rete tann jouk ke tout apèl se konplè olye pou yo kite ou fè lòt bagay sa yo dwa apre ou fin klike sou li. [01:26:14] GABE: Li pa nan pase ankò. Oh Bondye mwen. Padon! Wi. "Nan tan lontan an, nan kliyan bezwen demann kontni an tout antye de yon sit entènèt. " Sa a ki sa mwen te di. Li pèmèt nou voye adisyonèl JWENN oswa POST demann san yo pa gen Reload navigatè nou an. Se konsa, nan fen jounen an, nou ap aktyèlman fè yon HTTP demann isit la lè l sèvi avèk JavaScript. Paske anvan, nou sèlman itilize JavaScript chanje HTML a ki deja te vini an. Epi, koulye a, nou ka sèvi ak li nan koòdone ak serveurs yo entènèt kòm byen. Fason ki sa rive se nou gen kliyan an. Davin se yon kliyan. Apre sa, li te gen tout JavaScript nan kouri paske HTML se bèbè. JavaScript se entelijan. Se konsa, Davin Davin gen entelijan li pati ak pati bèbè l 'yo. Li te ale nan sèvi ak yon pati entelijan l 'kounye a. Li te ale nan sèvi ak JavaScript nan demann, pou egzanp, si wi ou non ABC123 se nan baz done a oswa ou pa. [01:27:04] Se konsa, Davin, tanpri, ou jis voye m 'yon demann HTTP. Mèsi poutèt ou. Se konsa, li jis voye yon demann HTTP. Ou wè sa? Epi sa a, jis menm jan an ki se nenpòt demann HTTP te voye yo. Navigatè a, Google Chrome oswa yon bagay, se ale nan wè ke Davin a ap eseye voye yon demann HTTP, pral ede HM yon ti kras. Epi sa a, ale nan ale tout wout la nan sèvè a. Koulye a, sèvè a ap ale nan gen PHP isit la, oswa nenpòt lòt lang. Jis tankou nan yon demann HTTP nòmal. Li nan bèl anpil yon demann HTTP nòmal. [01:27:31] Lè sa a,, sèvè a ki pral di, OK, Davin vle m 'tcheke si ABC123 sa a se nan baz done a. Ale pale ak modèl la. Modèl la di li pa. ABC123 se yon non itilizatè bon. Lè sa a,, sèvè wèb la ki pral itilize PHP rann kèk fòm dosye. Li ta ka literalman jis yon dosye ki gen "wi" nan li, oswa "pa gen okenn, oswa yon bagay tankou sa. Li ta ka nenpòt ki dosye. [01:27:54] Li ta ka tankou mwen pral voye Davin yon foto nan yon kanna si li nan nan baz done a ak voye yon foto nan yon amstè si li pa nan baz done a. Ki ta ka kalite bèbè, men li ap travay. OK, se konsa m'ap voye yon kanna Davin. Davin te resevwa yon kanna. Epi, koulye a, ki moun ki pral okipe kanna a? Entelijan pati Davin a ankò, se konsa JavaScript, dwa? JavaScript voye nan demann, ak JavaScript ki pral resevwa demann lan ak entèprete li nan kèk fòm. [01:28:22] Ak nan sans sa a, li la pral di, OK, si lè sa a mwen se kanna bon. Si amstè, Lè sa a, mwen pral vle di, pa gen okenn, non itilizatè deja egziste nan baz done a. Men, anjeneral, ou pa ap pral voye yon kanna. W ap ale nan voye yon bagay yon ti kras pi entelijan. Ak sa ki nou itilize se XML. Ak plis ankò dènyèman, nou itilize JSON. JSON se jis JavaScript Notasyon objè, ki se fondamantalman ou jwenn yon tout JavaScript objè. Epi ou mete l 'nan yon dosye, jis tankou ki objè CS50 ke ou nèg te wè. Ou mete l 'nan yon dosye, ak ou voye l 'sou nan Davin. [01:28:53] Se konsa, nan ka sa a, mwen ta fè yon objè JavaScript ak jis di, itilizatè ki egziste, wi. Oswa itilizatè egziste, pa gen okenn. Epi voye li tounen vin jwenn li. Epi poukisa JSON? Paske moun nan ki moun ki nan k ap resevwa sa a se pral sèvi ak JavaScript okipe repons lan. Ak JavaScript ap travay pou byen paske sa yo rele JavaScript Notasyon objè. Dwa? Se konsa, li ka jis rele yon fonksyon epi pou yo jwenn sa a objè bèl soti nan repons lan. Lè sa a,, li te ale nan konnen si ki itilizatè a se nan baz done a oswa ou pa. [01:29:22] Se konsa, ou wè, tout nan li vini ansanm nan sèvè wèb la, ak Lè sa a gen nan yon sèl HTTP demann ak yon repons HTTP ak tout bagay. Se konsa, asire w ke ou nèg konprann sa a rele Ajax paske li te ede ou konprann tout nan konsèp yo nou ap pale de. [01:29:37] Se konsa, isit la nan yon egzanp nan Ajax ak jQuery. Ak isit la, nou fè ak jwenn JSON. Se konsa, nou pa ap eseye jwenn yon imaj nan yon chat isit la, oswa yon kanna. Nou ap eseye jwenn yon dosye JSON. Lè sa a, nou rete tann jiskaske li fè, dot fè. Sa vle di Mwen ap tann pou repons lan. Li ta ka pran yon ti tan. Lè sa a, ou wè yon ti kras loading. Si ou vle fè sa nan sit entènèt ou. Se konsa, dot fè, ak Lè sa a sa ki k ap pase lè li fè? Ou pase nan yon anonim fonksyon, jis tankou nou te wè anvan. Paske fè se yon evènman, jis tankou klike yon sourit oswa kèlkeswa sa, pou jQuery. Se konsa, ou pase nan sa a fonksyon ak done, tèks, estati, ak jqXHR. Ak fondamantalman, sa a, se jis kèk varyab ke ou ka itilize pita sou yo gen estati a nan demann lan HTTP, done a ke li k ap pase voye tounen ba ou. Se konsa, Lè sa a, ou ka esplike l 'pita sou ak fè yon bagay ki gen sans ak li. Men, si li echwe, lè li te ka fail? Oke, lè demann lan HTTP bay ou yon 500 oswa yon bagay tankou sa. Lè sa a, li pral di la ou estati, ki kalite echèk ki te, ak tout kalite bagay sa yo. Ou gen a asire w okipe de ka, otreman pwogram lan ale fou. [01:30:42] Davin: Se konsa, yeah, sa a se egzakteman sa ou te wè sou dènye ou p-seri. Aktyèl Ajax apèl la se nan JSON nan jwenn. Sa se apèl la. Lè sa a,, dot fè se tankou li tcheke si li nan siksè. Si li se siksè, ou vle fè yon bagay ak done yo. Ou jwenn tounen soti nan ki JSON demann done. Sa se ki sa ou jwenn tounen. Se konsa, si ou sonje soti nan ou p-seri, yon anpil nan ou te tankou done bracket mwen oswa kèlkeswa sa, lyen dot oswa tit. Kèlkeswa nan vini tounen soti nan ki JSON, kèlkeswa sa jaden yo ki nan ki objè JSON, se sa ki w ap vin tounen. Done se sa ki w ap vin tounen. Sitiyasyon Tèks, jis yon bagay ki pèmèt ou konnen sa ki te pase. Lè sa a,, jqXHR a, sa se sèlman jQuery XML HTTP demann lan. Se jis tankou yon objè. Lè sa a, fail, jis tankou Gabe te di. GABE: Nan ti kras egzanp nou an nan ABC123 jis yo tcheke si sa a, se nan baz done a oswa ou pa, done yo ta dwe yon bagay ou ta fè, si done dot non itilizatè ki egziste, ki se ki sa PHP ou pwodwi pou ou, si non done dot itilizatè ki egziste, Lè sa a, Mwen pral alèt, itilizatè Non deja egziste. Lòt Bagay, mwen jis ale nan kite a itilizatè kontinye ranpli fòm nan. OK, sekirite, fre. [01:31:50] Davin: Vle m 'nan? [01:31:52] GABE: Mwen renmen yon sèl sa a. Se konsa, yon bagay ki sanble yo konnen yo. Nou ap prèske fè. Se konsa, sa a se jis egzanp lan ou nèg te wè nan klas la. Ou te lè l sèvi avèk argv1 isit la. Sa a tankou yon agiman liy lòd. Epi nou ap mem kopye ki nan yon zòn de defans nan gwosè 12. Ki sa ki nan pwoblèm nan isit la? Buffer debòde! Paske nou gen yon zòn de defans nan gwosè 12. argv1 ta ka gen yon gwosè nan de milya dola. Nou pa fè nenpòt ki kont kouran fwontyè. Se konsa, nou ta ka kopi yon anpil nan memwa. Epitou, n ap dwe patikilyèman move sou sa a. Ki sa nou ta ka fè sa a, se trè, trè vle di nan ka sa a? Wi? ODYANS: Pati nan de milya dola bagay sa yo gen ègzèkutabl Kòd ki retounen [Fèbl]. GABE: Egzakteman. Se konsa, sa a, se ki kalite bagay ki moun ki sèvi ak jaybrèk yon ifon, pou egzanp. Se konsa, ki jan de bagay konsa. Paske ou ka jis fè aparèy la egzekite nenpòt kòd ke ou renmen. Ranje a, se konsa ranje a se fasil. Jis tcheke pou limit yo. Ou tcheke pou nil paske nou toujou tcheke pou nil lè nou ap fè fas ak strings. Lè sa a,, ou pran nan longè fil anvan. Men, si fisèl la longè se yon fisèl ki valab longè, ki se nan 0 ak 12, Lè sa a, nou ap bon. [01:33:03] Davin: Si ou pa tcheke pou nil, reyèl rapid, sa ki pral rive? Li pral fòt segman. Poukisa li pral fòt segman? Paske w ap rele strlèn sou nil. GABE: Yeah. Vre oubyen fo, lè l sèvi avèk yon sèl modpas se yon bon lide. [01:33:19] ODYANS: Fo. [01:33:20] GABE: Fo. Sèvi ak modpas anpil, ak gwo, yo menm long. Ikon Kadna asire sekirite. [01:33:26] ODYANS: Fo. [01:33:27] GABE: Fo. Li pa vle di anyen. Se jis nan yon icon. SSL pwoteje kont yon nonm nan atak la presegondè. ODYANS: Fo. GABE: Fo. OK, se konsa tout moun sa yo yo se fo. Nice. [Fèbl] Vle pale sou sa a? Vire ou. Davin: Kalite atak, nonm nan mitan yo. Ki sa ki nan yon nonm nan atak la lekòl presegondè? ODYANS: [fèbl]. Davin: Si ou voye yon HTTP demann, yo te kapab fè sa, dwa? Men, si w ap voye t, yo pwobableman pa yo pral kapab fè sa. Genyen anpil bagay nan pwen ansanm koneksyon ou. Ou gen routeurs. Ou gen serveurs dns. Si yon moun se kapab fizikman wè sa ki w ap voye, se konsa yon moun se kapab aktyèlman jwenn ant ou menm, kliyan an, ak sèvè a, epi ki se kapab wè sa ki w ap voye, sa a se yon nonm nan atak la presegondè. Se konsa, yo wè sa ki w ap eseye jwenn soti nan sèvè a, oswa se kapab see-- vin pi mal, ou ta ka kapab wè bonbon oswa yon bagay tankou sa. [01:34:16] Se konsa, pou egzanp, si ou pa ap lè l sèvi avèk SSL, li ka kapab wè bonbon ID sesyon ou yo. Lè sa a yo rele eskanmòte sesyon paske li wè bonbon ID ou, ak Lè sa a li se kapab pou yo ale nan ki sou sit wèb ak pretann yo dwe ou. Paske jis tankou nan PHP, sonje lè nou louvri sesyon an, ki sa nou fè? Nou mete ID sesyon egal a ID. Se konsa, ki idantifye ou. Se poutèt sa ou kapab wè dosye ou ak dosye pa tout moun lòt moun nan. [01:34:38] Oke, si mwen kapab jwenn ki bonbon, Lè sa a, mwen kapab ale sou paj sa. Lè sa a,, mwen ka jis wè bagay ou epi yo kòmanse achte ak vann bagay. Se konsa, sa a, se eskanmòte sesyon. Men, ou pa ta dwe to-- kapab se konsa ou ka itilize nonm sa a nan atak la presegondè menm si yo ap itilize SSL. Men, ou pa ta dwe kapab. Si yo ap itilize SSL, ou pa kapab detounen sesyon. Poukisa? Paske li nan tout chiffres, dwa? si li nan chiffres, ak mwen se toujou yon nonm nan la mwayen, mwen toujou jwenn done ou. Sa a amann. Men, li la chiffres. Se konsa, mwen pa ka vrèman sèvi ak li. Se konsa, sa a, se de. [01:35:09] Imobilye rapid, kwa sit demann falsifikatè. Se jis si gen nan yon lyen e ke lyen fè yon bagay ke ou pa panse ke li ta dwe fè. Se konsa, pou egzanp, si lyen an te ale nan achte aksyon oswa vann aksyon, epi ou pa t 'konnen. Ou klike sou lyen an, voye yon demann, ki te achte oswa vann yon bagay ki ou pa t 'vle di yo fè. Sa a sa. [01:35:25] Sit Lakwa scripting, se konsa isit la, w ap pase nan via varyab q, olye pou yo pase nan kèk kalite ki gen valè, petèt q se tankou yon non. Se konsa, olye pou yo pase egal q Davin oswa yon bagay tankou sa yo, si w pa itilize HTML charaktèr espesyal, si ou pa chape sa a asire w ke li nan OK, Lè sa a, mwen te kapab pase nan olye de sa, kite a di nan isit la m ap di ekri ak lèt ​​detache oswa yon bagay tankou sa yo, Lè sa a, mwen te kapab pase nan isit la yon apèl script. [01:35:51] Se konsa, lè sa a, olye pou yo jis ap resevwa yon varyab, Mwen ta Lè sa a, egzekite sa a rele script. Se konsa, andedan ki script rele, ki sa li fè? Dokiman kote dot, ki nan ale nan chanje kote a nan dokiman an. Se konsa, mwen pral redireksyon yon lòt kote. Yo rele li move nèg nan egzanp sa a, trè bon. Pa t 'kapab panse a mo a. Lè sa a,, sa ki nan menm vin pi mal se ke mwen pral Lè sa a, mete bonbon, ki se kèk plase mwen gen nan sit entènèt sa a. Mwen pral mete l 'egal bonbon la dokiman dot. Se poutèt sa, mwen pral yo nan vole bonbon ou. Men, mwen pral redireksyon kèk enfòmasyon nan yon sit entènèt ke ou pa ta dwe gen aksè nan. Lè sa a tout k ap pase paske ou se pa chape ki sa ou te wè. Yeah? [01:36:29] ODYANS: Se konsa, jis fè ki klè, li nan vulnerable.com ki se vilnerab a sa a. Se konsa, ki ka parèt lyen sou nenpòt ki paj bay yo. Yon moun klik sou li, ale nan vulnerable.com. Ou gen yon bonbon vulnerable.com. Se pou nou di Facebook se vilnerab, se konsa facebook.com. Ou gen bonbon Facebook ou. Ki sa ki sa a ap fè, w ap ale nan facebook.com, li nan imedyatman Redireksyon ou badguy.com, men ki gen ladan enfòmasyon bonbon ou. Se konsa, li nan yon redireksyon rapid, men bonbon Facebook ou se enkli ak sa redireksyon, e ke sa a ki jan yo [fèbl]. GABE: Yeah, gen nan kèk bagay trè vle di ke gen moun ki ka fè si gen nan sa a. Pou egzanp, si Facebook pèmèt tout moun chanje non itilizatè ou an, epi yo pa t 'fè nenpòt ki chèk saniti, kidonk, ou te kapab insert yon bagay JavaScript ki chanje imaj ou a nan yon amstè. Epi sa foure menm JavaScript nan nan tout moun ki opinyon paj ou yo. Se konsa, tout moun ki opinyon paj ou gen menm bagay la nan non an itilizatè. Epi paske li nan yon viris, li pwopaje exponentielle. Davin: Nou pral sote dènye a yon sèl, ak Lè sa a, nou ap fè. Se konsa, sa a se jis yon lòt egzanp. Se konsa, sa a se yo ap pa chape tab SQL yo. Se konsa, ou ka lage l '. Se konsa, ou vle chape anba bagay sa yo. Sa ki te egzanp lan anvan ak kwa sit scripting la. Padon nou kouri yon ti jan anreta. Denmen, regrèt! Denmen, nou gen lè biwo. Se konsa, lè biwo nan Cabbot 8:00 11:00. Èdtan yo biwo yo sèlman pou kesyon egzamen.