Jason HIRSCHHORN: Maligayang Pagdating ang lahat na mag linggo walong. Mayroon kaming isang kapana-panabik na linggo nang mas maaga sa amin. Ikaw guys na kalapati sa nakalipas na ilang ng mga aralin sa PHP, SQL, HTML, CSS, kaya apat na bagong wika na pupunta upang tumagal ng hanggang sa nalalabing ang kursong ito. Makikita rin namin matuto ng ilang mga iba pang wika bago ng pagtatapos kurso ni. Ngunit pa rin, hindi na kailangang sabihin, ito ay isang napaka kapana-panabik na oras sa CS50, ngayon mo na pinagkadalubhasaan C, para baga, at mga gumagalaw sa sa programming para sa mga website. Kaya sa linggong ito, kami makapupunta sa pumunta sa isang ipoipo tour sa pamamagitan ng apat wika ko lang nabanggit, HTML, CSS, PHP, at SQL. At sana, ay namin na nakalabas ang maraming oras sa dulo ng seksyon na makipag-usap tungkol sa hanay P sa linggong ito at sagot anumang mga tanong na mayroon ka ng lahat. Tuwing linggo, ang parehong listahan ng mga mapagkukunan para sa iyo, na tulungan ka sa mga linggong ito itakda ang problema at pagpunta sa ibabaw ng materyal - ngunit sa linggong ito sa partikular, para sa mga mga hanay ng problema na web-based, may host ng iba pang mga mapagkukunan out doon na habilin mo malamang hindi mapaniniwalaan o kapani-paniwala kapaki-pakinabang na mahanap. Mayroon akong mga ito up dito. Magpapadala ako sa iyo ng email na ito pagkatapos ng seksyon, at ding maging online ito. Ngunit sa partikular, maraming ng mahusay na mga mapagkukunan out doon. May ilang hindi kaya mahusay din mga bago, kaya maging maingat sa mga. Ngunit sa slide na ito, mayroon akong apat na mahusay mga mapagkukunan, isa para sa bawat isa sa mga mga wika na ikaw ay nagtatrabaho may ito linggo - isa reference sheet para sa HTML, isang reference sheet para sa CSS. Ang karapatang ito'y dito ay manu-manong ang PHP. Kaya sa halip na i-type ang tao at pagkatapos ay isang PHP utos, ito ay kung saan gagawin mo pumunta sa tumingin hanggang ang function ng prototype at mga halimbawa at ilang mga tip din at trick para sa paggamit ng mga function na PHP. Gagamitin mo ang site na ito madalas, kaya hinihikayat kitang maging pamilyar sa mga ito. Maaari itong maging isang maliit na teknikal, ngunit ito Nagbibigay din ang isang tonelada ng mga mapagkukunan at mga halimbawa para sa lahat ng mga pag-andar at kahit isa, tulad ng kung paano gamitin ang array o iba't ibang uri ng variable. Ang site na ito ay kapaki-pakinabang para sa PHP. At pagkatapos ay, para sa SQL, kung kalapati mo papunta ito hanay problema linggong ito, malalaman mo kung na ginagamit namin ng isang database. At ma-access namin na database sa pamamagitan ng isang relatibong maganda user interface. O kaya iyan ay isang paraan upang pag-access na database. Ang user interface ay tinatawag phpMyAdmin. Mayroong isang tab SQL, na kung saan kami ay tumingin sa ibang pagkakataon sa ngayon. At maaari mong i-type sa kanilang sample SQL mga query, upang gawin ang mga bagay sa iyong database at pagkatapos ay magpatakbo ng mga query na iyon. At kung hindi tama ang mga ito, ipapakita ito sabihin, tama na ito. Kung hindi nila ito tama, idedetalye ito sabihin nating, ito ay hindi tama. Iyon ay isang magandang lugar upang magsagawa ng iyong SQL query bago magsulat ang mga ito sa ang iyong code, upang matiyak na may tama ang format. Panghuli, isa sa iba pang mga website sa dito. Ito ang website kung saan maaari kang pumunta at suriin upang tiyakin na ang iyong HTML code ay may-bisa. Kaya bago i-ang iyong mga problema sa set sa linggong ito, tiyakin na ang lahat ng iyong HTML ay may-bisa. Noong nakaraang linggo, ikaw ay tumakbo valgrind, upang tiyakin na mayroon kang walang memorya paglabas. Sa linggong ito, kailangan mong tiyakin na ang lahat ng iyong code ay wastong HTML5. Kung ito ay hindi wasto HTML5, handa ka pagpunta upang makakuha tumuturo off. Kaya tiyaking - dahil lang gumagana ito ay hindi ibig sabihin ito ay ganap na wasto. Patakbuhin ang iyong code sa pamamagitan ng website na ito bago i ito in Muli, narito ang website. Kung mayroon kang anumang feedback para sa akin, mayroon kami isang pares ng mga higit pang mga seksyon sa kaliwa, at gusto ko laging gawin kung ano ang maaari kong i- magbigay ka ng lahat ng pinakamainam na seksyon makaranas ng panahon. Kaya ipaalam sa akin kung may anumang bagay ko ang maaaring magawa upang mapabuti o kung may mga mga bagay na nakikita mo na ma gagawin ko mas mahusay. Salamat sa iyo, Avi. Ilagay ninyo sa website. Ito ang bike ko nagkaroon kapag ako ay, sabihin nating, apat sa bahay. Ito ay isang malabata Mutant Ninja Turtle biking, kung sakaling hindi mo masasabi, dahil ito ay medyo malabo. Maaari mo itong makuha ngayon sa ToysRUs para sa, sa palagay ko, tungkol sa $ 100. Ngunit ang tampok na ito ng bike na gusto ko mong bayaran ng pansin sa mga ito karapatan dito. Ito ang mga gulong pagsasanay. Up hanggang ngayon, kung ikaw ay handheld sa pamamagitan ng C. At kinuha namin ng isang mahabang oras, dalawang buwan plus, upang pumunta sa pamamagitan ng C. Para sa mga susunod na ilang mga wika, Hindi namin pagpunta sa gumastos na karaming oras. Ang mga gulong ng pagsasanay ay darating off. At kami ay pagpunta sa sumisid sa mga mabilis na mga wika at ilipat sa pamamagitan ng ang mga ito nang mabilis, na kung saan ay hindi upang sabihin na lang kami ng pagpunta sa iniwan mong swimming Nariyan na walang paraan upang suportahan ang iyong sarili o malaman kung paano ang mga wika gumana. Nagpakita lamang ako sa iyo ng isang listahan ng mga mga mapagkukunan upang makatulong sa iyo. Ngunit tandaan na ang PHP ay hindi mapaniniwalaan o kapani-paniwala katulad ng C. Susubukan naming pumunta sa ibabaw ito ngayon at ang ilan sa mga pagkakaiba. Ngunit para sa pinaka-bahagi, doon ay para sa mga loop. Mayroong kung kundisyon. Kapag nais mong malutas ang isang problema, ka pagpunta sa gumamit ng isang kumbinasyon ng mga iyon. Ito ay halos katulad na. Logic ay dapat na halos kapareho sa kung ano ang nagawa mo na sa nakaraan. Ano ba talagang bagong linggong ito ay ang syntax at kung paano ipahayag ang iyong sarili. At gusto mong magsulat ng isang para sa loop, ngunit ito maaaring tumingin Medyo naiiba. O gusto mong lumikha ng isang array, ngunit ito maaaring tumingin Medyo naiiba. Kaya tandaan na, sumusulong, ang logic ay napaka pareho sa kung ano ang nagawa mo na sa nakaraan. Ngunit ngayon ka pagpunta sa ma-Nakakaranas ng maraming bagong syntax. At kami ay hindi pagpunta sa ituturo sa iyo lahat ng mga elemento ng syntax. Kaya ito ay talagang up sa iyo upang malaman kung, online o sa pamamagitan ng pakikipag-ugnayan sa Talakayin o pag-email sa akin o sa pakikipag-usap sa isa't isa, kung paano sumulat ng mga bagay sa PHP at kung paano sumulat ng mga query sa SQL at kung paano gamitin ang HTML at CSS. Ngunit kaya lang alam mo, hindi na sinusubukan naming dumura sa iyo doon muli upang lumangoy ang shark. Ito ay kung ano ang malamang gawin sa ang iyong huling proyekto, kung pinili mo ang isang iba't ibang wika, tulad ng iOS at Layunin C, o kung magpasya kang magsimula programming sa hinaharap at sumisid sa iba pang mga wika, tulad ng Python o Ruby. Malimit, ang logic ay katulad na katulad sa lahat ng mga wikang ito, at ang syntax ay kung ano ang naiiba. At ito ang magiging up sa iyo, pati na ang programmer, upang pumunta gamitin ang web mga mapagkukunan na magagamit sa iyo at figure kung paano ipahayag kung ano ang alam mo kung paano upang ipahayag sa C, sa isang iba't ibang mga wika. Kaya ito ay mahusay na kasanayan, parehong para sa iyong huling proyekto, at muli, para sa kung ano ang malamang gawin matapos mong iwanan ang CS50. Bago ilipat namin sa, ang kahit sino mayroon kayong mga katanungan tungkol sa kung ano Gumawa ako sa ngayon? Mahusay. Ng ilipat sa Hayaan. Una, kami ay pagpunta sa makipag-usap sa madaling sabi tungkol sa mga utos chmod. Ito, gagawin namin sa simula ng iyong mga problema sa set. Isa sa mga pinakaunang tagubilin para sa iyo, pagkatapos mong i-download ang code pamamahagi, ay upang baguhin ang mga pahintulot ng mga file at ang mga direktoryo na natanggap mo. Maaari kahit sino Venture isang hula o alam bakit ito mahalaga upang baguhin ang mga pahintulot ng mga tiyak na mga file at direktoryo sa iyong computer? Avi - Madla: Pagkatapos walang sinuman maliban sa maaari mong makita kung ano ang iyong ginagawa? Jason HIRSCHHORN: OK. Kaya kung gusto naming ilagay ang isang bagay sa web at mga pahintulot na iyong na-set na ikaw lang ang makakakita ng isang bagay, pagkatapos ay walang saysay na tao pa ang maaari makita kung ano ang iyong ginawa. Ano pa? Oo. Madla: Pigilan ang sinuman pa man na sa iyo ayaw na makita ng isang bagay, mula sa nakakakita ng isang bagay. Jason HIRSCHHORN: Iyan ay totoo rin. May marahil ilang mga code na ka magsulat, na hindi mo gusto nais makita ng mga tao. Ikaw ay marahil ang OK sa mga tao na makita ang iyong HTML at ang iyong JavaScript. Ngunit ang iyong PHP, isang pabalik dulo code, ng maraming ang logic sa iyong code, siguro ang bagay na mag-imbak ng ang ilan sa iyong mga password para sa iyong database, hindi mo gusto nais makita ng mga tao na uri ng impormasyon. Kaya mahalaga na, ang bawat file at direktoryo naming lilikhain ang may mga pahintulot naaangkop sa kung o hindi nais naming mga tao upang makita ang mga uri ng mga file at mga direktoryo at ma-access ang mga ito at potensyal na kahit na baguhin ang mga ito. Kaya mayroong tatlong mga uri ng ng mga pahintulot. Mayroong isang pahintulot nabasa, na paraan maaari mong basahin ang isang file o isang listahan ng mga nilalaman ng direktoryo. Mayroong mga pahintulot sa pagsulat, na nangangahulugang maaari mong baguhin ang isang file o pagbabago ang isang direktoryo at pagkatapos ay isakatuparan ang pahintulot, na nangangahulugan na maaari mong execute ng isang file o sa halip, mo Maaari ilipat sa isang direktoryo. Kaya CD isang bagay, kung mayroon kang mga pahintulot upang maisagawa ito, maaari mong ilipat ang sa directory na iyon. Ito ay isang maikling halimbawa. Muli, mo na nawala na sa paglipas ng ito sa ang problema set. Ngunit makakalikha ng isang direktoryo gamit ang command mkdir. Babaguhin ang mga pahintulot. Ang dalawang mga linya talagang gawin ang eksaktong parehong bagay. Ito ay upang ilarawan na ang syntax para sa pagbabago ng mga pahintulot, kung gagawin mo ang isang + x o 711, ang mga ay pareho. Hamakin namin sa magaling talahanayan na ito. Nakita namin na mayroong mga gumagamit mga pahintulot muna. Iyon ay sa iyo, ang mga indibidwal, at iyong server, potensyal na. At pagkatapos ay mayroong group at iba pa. Ang mga pagkakaiba sa pagitan ng mga dalawa ay medyo walang kuwenta. Kaya sa pangkalahatan, ipapakita namin bukol mga magkakasama. Ngunit mahalagang, kung kami ay may isang file tinatawag Kasama na gusto naming maging magagawang i-edit ang ating mga sarili at na gusto naming sa iba na ma-execute, ito ang pahintulot 711. At nakita namin na pababa dito sa table na ito. Mayroon kaming isang read, sumulat, at isakatuparan. Para sa bawat isa sa atin, gusto naming magawa iyon. Grupo at iba pa, gusto naming lamang ang mga ito upang ma-execute. Ang paraan namin i-translate na sa isang bilang ng mga pahintulot ay sa pamamagitan ng binary. Kaya kung kami ay may tatlong mga bago, na ang isang 1 sa hanay ng mga bago, isang 1 sa twos hanay, isang haligi 1 ang fours. Iyon 7 doon. At pahintulot na ito ay 1. Ang pahintulot na ito ay 1. Kaya 711 kapag ay katulad ng pagbibigay ang ating mga sarili basahin, magsulat, at nagsagawa, at lahat ng iba pa execute ng mga pribilehiyo. Ang line dito mismo, namin sa pangkalahatan ay nabasa at isulat kung kailan namin lumikha ng isang direktoryo. Kaya lamang ay nagdadagdag ng linyang ito dito isakatuparan mga pribilehiyo sa lahat. Kaya na magiging kauri sa, sa Bukod pa sa kung ano ang mayroon kami, pagdaragdag ng 1, 1, 1 sa lahat ng tao. Sapagkat ito, ito ay hindi kinakailangang upang idagdag magbasa at magsulat. Ngunit kung ikaw ay pagpunta sa gamitin ang numero, hindi ka maaaring magdagdag lamang ng isang bagay. Ikaw patungan ang anumang pahintulot ay doon at ipatupad ang mga ito gamit ang bagong bilang magbibigay sa iyo. Iyon ay medyo mabilis. Kahit sinong mayroon ba kayong mga katanungan tungkol sa pagbabago ng mga pahintulot? OK. Kung mayroon akong isang file na PHP, ano ang mga pahintulot nais ko ito upang magkaroon? Ito ay sa hanay problema spec. Kaya maaari kang tumingin sa mga spec at pagkatapos ay basahin sa akin ang sagot. Madla: Gusto mong ang gumagamit sa may pahintulot na read-write. At gusto mo lahat ng tao tao sa ay wala. Jason HIRSCHHORN: At kung ano mga numero ay na? Madla: 600. Jason HIRSCHHORN: 600. Kaya chmod 600 - tuwing i-print mo isang file na PHP, chmod ito sa 600. OK. Mayroon akong isang direktoryo. Isang tao bukod sa Jeff, Mayroon akong isang folder ng file. Ano ang mga pahintulot nais ko upang bigyan sa folder na iyon - din sa problema itakda ang spec, karapatan sa ibaba sa sagot na ito o ang nakaraang sagot? Potensyal sa slide Gayundin - Marcus. Madla: Para sa folder, ito ay 711. Jason HIRSCHHORN: 711 - kaya isang folder, ibig mong ibigay ang 711. Gusto mong magagawang basahin ang folder na iyon, palitan direktoryo, ilipat sa na folder. At gusto mo lahat ng iba pa upang magawang upang mag-navigate sa loob ng folder na iyon, ngunit hindi kinakailangang baguhin ang mga nilalaman nito. Paano ang tungkol sa isang file non-PHP, sabihin, isang JavaScript na file? Ano ang mga pahintulot nais namin upang bigyan na uri ng file? Madla: 644. Jason HIRSCHHORN: 644 - bakit gusto naming bigyan ito ng 644? Madla: Upang ipaalam sa ibang tao basahin ito. At mong basahin o isulat ito. Jason HIRSCHHORN: Kaya kanan, lahat ng tao pa ang maaari basahin na JavaScript file na. At maaari mong baguhin iyon, bukod pa sa pagiging magagawang basahin. Kaya isa sa mga pinaka-karaniwang mga bug mga tao mayroon na may ganitong problema set at ang kanilang mga huling proyekto, kung ito ay isang web-based panghuling proyekto ay, sila ay hindi na-set ang tamang mga pahintulot. At sila ay hindi magagawang upang makita ang kanilang website. O isang partikular na bahagi ng kanilang mga website. Kaya siguraduhing naitakda mo ang mga pahintulot ng tama. Huwag lamang ipagpalagay na ang habilin ito awtomatiko itong gawin para sa iyo. OK. Iyon ay isang maliit na bagay na ginugol namin isang mahusay na halaga ng oras sa, kaya maaari kaming Kuko ito. Ng lumipat sa HTML Hayaan. At muli, para sa mga susunod na apat na mga paksa, kami ay pagpunta sa pumunta sa pamamagitan ng mga ito medyo mabilis. Kaya mangyaring huwag mag-atubiling upang ihinto sa akin sa anumang oras, kung mayroon kang anumang mga katanungan, kung ang mga ito ay kaugnay sa kung ano ang masakop ko o isang bagay mula sa panayam o kahit na mula sa set ang problema. Ihinto sa akin sa tuwing kailangan mo. Kapag makuha namin sa dulo, kami ay lamang magsimula ng pagpunta sa ibabaw ng hanay problema. Kaya nakatayo sa HTML para sa Hypertext Markup Language. Ito ay hindi isang programming language. Ang lahat ng ginagawa nito ay ang istraktura ng iyong nilalaman at nagbibigay din ng ilang mga metadata. Kaya halimbawa, siguro, marami sa na ginamit mo sa Facebook bago. At maaari kang magsama ng mga link sa, o mo Maaari maglagay ng link bilang iyong status. At pagkatapos, mapapansin mo na link laging may gandang larawan dito at ilang teksto. Sa pangkalahatan, ito ay ilan metadata para sa isang web page. At ito ay Facebook na tukoy metadata. At pagkatapos ay, kapag Facebook ay pagbabasa na page at pagpasok sa link na iyon, ito mukhang para sa mga tiyak na metadata, kaya ito nakakaalam kung ano ang larawan na ipapakita, kung ano pamagat upang ipakita, at kung ano abstract teksto na ipapakita. Kaya maaari naming isama ang metadata sa ang aming web page gamit ang HTML. At ito rin ay tumutulong sa amin istraktura ang nilalaman, sa pangkalahatan, kung ano gusto naming pumunta kung saan. Lahat sa HTML ay isang elemento. At elemento dito mismo - ito CS50, teksto ay ang elemento. At mayroon itong ilang mga tag. Mayroon itong mga ito ng tag. At napansin namin mayroong isang isang sa simula at pagkatapos ay isang slash a, kaya isara ang isang tag sa dulo. Minsan, mayroong hindi isang bukas na tag at isang malapit na tag. Mayroong bagay lang. Susubukan naming makakita ng halimbawa ng na sa susunod na slide. Kaya hindi mo kailangang isang bukas na at isang malapit na tag. Ngunit para sa mga ito, encasing kami ito Elemento CS50 sa isang anchor tag. At mahalagang, mga tag na ito sabihin ang browser kung anong gagawin sa ang partikular na elemento. Kaya muli, CS50 ay ang teksto kami ay pagpunta upang makita. At ito ay magiging isang uri ng anchor. Ang anchor ay lubos na ginamit para sa mga link sa isang bagay. Sa partikular, hangga't makakaya mo na sabihin, ito ay isang link sa CS50 homepage. Ang susunod na bahagi ng tag - o sa pangkalahatan, isang bahagi ng mga tag ay mga katangian. At nakikita natin dito mismo, na ang isang tag ay may isa ipatungkol, ito href na katangian. At sila ay baguhin ang isang partikular na tag. Sa katunayan, kung pumunta ka sa isa sa mga mga website o sa mga sanggunian Nagbigay ako sa iyo bago o maghanap ng mga isang tag online, mapapansin mo mayroong isang tonelada ng potensyal na mga katangian. Marahil ito ay isa mga pinaka-karaniwang. Ito ay nagsasabi sa akin upang lumikha ng isang -link sa mga tukoy na website. At mga katangian sa pangkalahatan ay binibigyan, kung hindi eksklusibo ibinigay, sa mga pares ng key-value. Kaya narito ang key, href. At ang halaga ay karapatang ito dito. At iyon ay darating sa madaling-magamit sa paglaon, kapag nagsimula namin ang paggamit ng ilang mga aklatan upang makakatulong sa amin na code sa JavaScript o magsulat ng nilalaman na HTML. Kami ay madalas na pagpunta sa maging - tulad lang kami gagawin array bracket ng 0 at na Maaaring magbigay sa amin ng ilang halaga. Sa hinaharap, makikita ginagawa namin ng maraming mga bagay tulad ng isang bagay bracket href. At makikita na magbigay sa amin ng ang halaga ng href, o kung gusto naming i-update ang href key at pagkatapos ay bigyan ito isang partikular na halaga. Kaya lang tulad ng sa array na kung saan namin ay may 0 key o key 1 o key 2 o kahit na sa isang hash talahanayan, na rin, kasama ng iyong mga talahanayan ng hash pati na rin, malamang na nagkaroon - ito ay isang array, kaya key 0, key 1, key 2. Iyon index doon, kaya namin isipin na bilang isang susi. At ang halaga ay kahit anong ay nakaimbak doon. Ang lahat ng mga katangian mga pares ng key-value. At iyon ay magiging mahalaga para sa pagbabago ang mga ito o ina-update ang mga ito o pagpapasok sa kanila sa susunod. Sa wakas, nakita mo na kaayusan na ito dati, ngunit ito ay ang pinakapangunahing istraktura ng HTML na pahina. Sa tuktok, sabihin namin sa iyo na ito ay sa katunayan HTML. At pagkatapos ay mayroon kaming isang bukas na HTML tag at isang malapit na tag na HTML. Kaya ang lahat ng bagay sa loob ng ito ang HTML. Nakakakita kami ng mga ulo at katawan. Ang head ng iyong dokumento sa pangkalahatan ay may kasamang ano? Anumang guesses para sa kung ano ang iyong maglagay sa ulo? Madla: mong ilagay ang pamagat at estilo. Jason HIRSCHHORN: Ang pamagat. Iyon ay isang mahusay na hula. Maaari ko pa tipped-off mo ang sa. Ano ang ilang mga iba pang mga bagay? Binanggit namin ang isa sa mga ito na Baka pumunta sa head. Madla: Sinabi niya, mga estilo. Jason HIRSCHHORN: Mga Estilo - kaya kung gusto mong i-link sa isang JavaScript o kahit na isang CSS, na kung saan mo pinag-uusapan tungkol sa kung kailan ka ng pakikipag-usap tungkol sa mga estilo. Ang isa pang file, gusto mong i-link sa isang sa labas ng file, na ay marahil pagpunta sa head. Ano pa? Binanggit namin ng ilang mga slide nakalipas ng isa sa mga bagay na Ang magagawa HTML para sa iyo. Maaari itong magbigay - nagsisimula sa isang M - Madla: Metadata. Jason HIRSCHHORN: Metadata - kaya marami ng metadata ay pupunta sa head, dahil na ay hindi nangangahulugang kailangan upang maging bahagi ng katawan ng iyong code. Iyon ay sa pangkalahatan - sa katawan ay ang nilalaman, kung ano ang nakikita ng isang tao. At kaya lang ako nagbigay ang layo ng sagot sa aking susunod na tanong. Ngunit sa katawan ay pangkalahatan ang nilalaman na pupuntahan ipapakita sa web pahina. Bilang ay namin makita, komplikadong mga website ay may posibilidad na makihalubilo o baguhin up ano sila ang ilalagay sa ulo at sa katawan. Ngunit karaniwan, ang ulo ay naglalaman ng mga bagay na ang gumagamit ay hindi papunta sa makita sa screen. Ito nagli-link sa iba pang mga file at nagbibigay ng metadata. Sapagkat, ang katawan ay naglalaman ng lahat ng bagay ang user ay pagpunta sa makita. Anumang mga ideya kung ano ang ibig sabihin nito p tag na ito? Madla: Talata? Madla: I-print. Madla: Hindi ba ang ibig sabihin ng pag-print. Madla: ba ang ibig sabihin ng talata? Jason HIRSCHHORN: Talata - kaya ito ay isang talata. At ito p tag, ako ay maaaring nai-type lamang ito sa screen at pagkatapos ay Kasama ang isang line break sa dulo ng ito. Sinuman ay alam kung paano isama isang line break? Madla: PR - Jason HIRSCHHORN: PR - Madla: slash PR? Jason HIRSCHHORN: PR slash Nakatayo para sa mga line break. Ngunit talata may mga partikular na pag-format. At susuriin namin ang pag-format sa isang pangalawa, kapag makipag-usap namin tungkol sa CSS. Ngunit ang lahat ng bagay sa loob ng mga p tag Magkakaroon ng ilang mga default na pag-format kaugnay nito, marahil ilang espasyo sa pagitan ng iba't ibang talata. At magkakaroon ito ay isang paraan upang makilala ang pagkakaiba mga bloke ng code. Anumang iba pang mga tag - ano ang iba pang mga tag na nakita mo? Jason HIRSCHHORN: h1 sa pamamagitan ng h6. h1 sa pamamagitan ng h6, at kung ano ang na? Madla: Ito ay magpakilala kung paano malaki at naka-bold ang mga titik ay. Jason HIRSCHHORN: Kanan, ito ay nakatayo para sa header. At kaya header1 ay isang malaking header. Ito marahil, sa pamamagitan ng default, magiging bold, isang malaki laki ng font, marahil nakasentro sa screen, ang lahat ng mga paraan pababa sa h6, na kung saan ay isang mas maliit na sukat ng font, mas mababa bigyang-diin. Siyempre, maaari mo, sa iyo Ikinalulungkot CSS file o sa isang lugar sa iyong code - na, muli, susuriin namin na sa isang pangalawang - baguhin kung ano ang default na pag-uugali ng isang h1 tag ay. Ngunit tandaan na ang Chrome, Safari, Firefox, Internet Explorer lahat mayroon default na maghahanap ng maraming mga standard na mga tag. Maaari mong, ulit, palaging baguhin ano ang itsura ng mga ito tulad ng. Anumang iba pang mga tag na lahat ng tao ay nakita? Oo - Madla: Isang div site. Jason HIRSCHHORN: Isang div tag - div tag Walang anumang mga built-in na format, per se, na ginagamit upang i-block off iba't ibang uri ng code. Anumang iba pang mga tag? Oo. Madla: li - Jason HIRSCHHORN: li - ano ang li para sa? Madla: List. Madla: Listahan Jason HIRSCHHORN: li ay para sa mga elemento listahan. Mayroong dalawang mga uri ng mga listahan. Ano ang dalawang uri? Madla: Na-order at unordered. Jason HIRSCHHORN: Na-order at unordered - kaya ul nakatayo para unordered listahan. Iyon ay kung nais mo ang isang bala ituro, ng isang listahan ng mga bullet. Ang isang iniutos listahan ay isang listahan numbered. At kaya kakailanganin mong gawin ang isang bukas na ul tag at pagkatapos ay tonelada ng mga elemento listahan at pagkatapos ay isara ang ul tag. at kalooban na lumikha ng isang unordered listahan. Kami ay pagpunta upang makita ang ilang mga halimbawa ng HTML sa isang bit. Ngunit bago pagkatapos, gusto kong makapunta sa CSS. At nakatayo CSS para sa Cascading Estilo Sheet. At ito ay tunay na malapit na kaugnay sa HTML ngunit bahagyang naiiba. Ito ay tumutulong sa iyong i-format ang lahat ng mga nilalaman na mga istraktura ng HTML. Kaya sa CSS, namin sa pangkalahatan ay ayaw na Estilo bawat solong header o sa tuwing nag-iisang larawan o sa tuwing solong talata. Gusto naming estilo ng ilang mga elemento o marahil isang tukoy na elemento. At ang paraan ng Estilo namin ang isang tiyak na elemento ay upang bigyan ito ng isang ID. Kaya ito ay isang katangian. Ito ay may key at isang halaga. ID ay ang susi. Logo ay ang halaga. Kinuha ko logo random. At kung bibigyan ka ng isang bagay ng isang ID, Sa pangkalahatan, na dapat lamang ay bibigyan sa isang elemento. At pagkatapos, sa iyong style sheet, maaari mong style na partikular na elemento, gayunpaman gusto mo ito sa hitsura. Kung nais mong estilo ng isang bilang ng mga mga elemento, marahil ito ay isang tiyak na klase ng mga header, tanging ang ilan sa iyong mga header. Siguro ito ay isang header at isang imahe at isang talata mo ang lahat ng gustong mai-nakasentro. Pagkatapos ay maaari mong bigyan ang mga pangkat na iyon ng mga elemento lahat ng klase. At maaari mong bigyan ang klase tiyak na mga estilo. Kaya ng isang ID at isang klase dalawang paraan upang magbuwag ang iyong code, kaya maaari kang makatulong na maging mas tiyak sa kung ano ang iyong estilo. May tatlong mga paraan upang estilo. Ang unang isa ay, na may ito estilo katangian. Kaya nakikita mo, ang estilo ng key ay estilo. Ang halaga ng estilo ay ang tunay isa pang key listahan halaga. Sa kasong ito, kinuha ko isa key,-Ihanay sa teksto. At sinabi ko, center. Maaaring humihiling sa iyong sarili sa na ito point, paano alam ko tungkol sa text-Ihanay. Ano ang ibig kahit na gawin? Iyon ay isang mahusay na tanong na magtanong, at kami ay pagpunta sa makarating doon sa isang segundo. Kaya iyon ang isang paraan upang estilo ng isang bagay, bigyan lamang nito ang estilo ng katangian. Ang isa pang paraan upang estilo ng isang bagay ay - ito ay Akshar mas maaga nabanggit. Maaari mong gamitin ang estilo tag at ilagay na sa head ng iyong HTML na dokumento. Kaya ka talaga sinasabi mo, ang nilalaman sa loob dito ay ang ilang nilalaman ng estilo. At ang mga format para sa iyon ang bagay sa iyo nais na estilo at pagkatapos, sa loob ng kulot tirante, ang susi halaga pares ng mga katangian na gusto mong bigyan upang na partikular na uri ng elemento. Sa wakas, at ito ay ang pinaka-karaniwang paraan. At ito ang paraan ng aming gawin ito sa p hanay 7. Ito ay isang external style sheet. Kaya ikaw ay may. Css file. At sa loob nito, makikita mo ng maraming mga bagay na ganito ang hitsura, ang pangalan ng ilang mga uri ng elemento o ng isang ID o isang klase at pagkatapos, sa loob ng kulot tirante, ng isang listahan ng mga pangunahing mga pares ng halaga. Siyempre, kung lumikha ka ng isang panlabas na file, ikaw ay pagpunta sa kailangang isama ito - matalim isama, na gagawin maging ang C pagkakatulad - sa iyong HTML file. Kaya ikaw ay may upang isama ito code sa iyong HTML file. Ang pagiging ang pangalan ng file at sa pag-aakala ito ay nasa parehong directory. OK. Iyon ay isang pulutong. At ngayon kami ay pagpunta sa huminga at tumingin sa ilang mga real, live na website at galugarin ang higit pa. Ngunit bago namin magawa iyon, ang kahit sino mayroon kayong mga katanungan? Kaya kung nais mong gawin ito kasama ang sa akin, maaari naming pumunta sa appliance. At pinili ko ang home page CS50. Maaari mong gawin ito sa anumang website. Ngunit bakit hindi simulan namin gamit ang ang homepage ng CS50? Ni-refresh Hayaan. Ako talagang lubos na inirerekomenda iyong ginagawa ito kasama ang sa akin, dahil kung ano ang aming ay pagpunta sa gawin ngayon ay magiging hindi mapaniniwalaan o kapani-paniwala madaling-magamit para sa iyo, hindi lamang sa P-Set 7, ngunit sa P-Set 8 pati na rin. Oo. Madla: Mayroon bang paraan upang gawin mga komento sa HTML, nang hindi gumagamit ng PHP? Jason HIRSCHHORN: Oo, maaari mong gumawa ng mga komento sa HTML. Madla: Ano ang syntax? Madla: ang tandang pananong gitling gitling. Madla: ang OK. Jason HIRSCHHORN: Oo. Iyon ang syntax. Maaari kang gumawa ng mga komento sa HTML. Maaari kang gumawa ng mga komento sa PHP. Tulad ng makikita mo, magkomento sa HTML habilin magpapakita pa rin, kapag tinitingnan namin ang mga HTML source code ng isang partikular na site. Kaya ito cs50.net. Kung karapatan kang mag-click sa karamihan sa mga modernong mga browser sa karamihan ng anumang pahina, tingnan mo ang pinagmulang pahina. Kaya sabihin gawin iyon sa CS50. At lo at Narito, kami makita ang isang higanteng bagay. CS50 aktwal na hitsura ng medyo maganda. Ang isang pulutong ng mga website ay hindi Inaasahan ito maganda. Kung pupunta ka sa homepage ng Google at buksan up ito. Hindi ito ang magiging hitsura ito maganda. Ngunit napansin mo na, sa tuktok - ito ay uri ng maliit. Ni gumawa ito mas malaki Hayaan. OK. Sa tuktok, DOCTYPE HTML, na pamilyar. Pagkatapos makita namin ang mga bukas na HTML tag at ang ulo, dito mismo, ang lahat ng ng mga meta tag. At maaari mong makita ito og, hindi pagpunta sa pumunta sa na ngayon. Ngunit Ako halos positibo sa na mga magiging Facebook. Iyon ay aktwal na ang Facebook. Sa tingin ko na ang ibig sabihin ay bukas graph. Kaya tandaan, ako ay pagbanggit mayroong Metadata Faceboook-tiyak na maaari mong ibigay sa isang pahina. Iyon ay kung ano ang dito mismo. Kaya kapag-link mo ang pahinang ito sa Facebook, ang imahe na ito ay pagpunta upang ipakita ay ang larawang ito dito mismo. At tunay na makita na ito Facebook, dahil ito ay ang Facebook imahe. Ngunit pa rin, kami ay nakakakuha sa isang tabi. Kaya mayroon kaming ilang mga tag metadata dito. Nakakakita kami ng mga pamagat CS50. At muli, ang pamagat ay kung ano ang napupunta hanggang dito sa tab na browser. Nakakakita kami na ito ay nagli-link sa, dito mismo, isang panlabas na JavaScript file. Hindi pa kami usapan tungkol sa JavaScript magkano, ngunit sa susunod na linggo - at tiyak kung gumawa ka ng isang web-based na hanay problema, ikaw ay gumagamit ng JavaScript. Ito ay kung paano i-link mo sa mga panlabas JavaScript na file. Nakakakita kami dito mismo, sa wakas, ang CSS style sheet, na mga dokumento ang mga Mga istilo ng code na ito. Hinahayaan ng aktwal na buksan na pataas at tingnan talagang mabilis. Mukhang ito mabaliw. Walang paraan Gusto ko maging mabasa sa pamamagitan ng. Kaya maaari mong aktwal na bagaman, kung gagawin mo isang hitsura, maaari mong uri ng makita na may mga - Mayroon bang pumunta namin. Na kamukha ng isang bagay na nasaksihan namin bago, kulay ng background, ang pagtatakda ito katumbas ng ilang red-berdeng-asul na halaga. Bagay-bagay na ito uri ng hindi dapat mukhang na banyaga, kahit na, kapag ipinakita tulad nito, maaari itong maging isang bit napakalaki. Hindi namin pagpunta sa tumingin sa ito CSS file o gastusin karaming oras sa ito, dahil ito ay, muli, medyo mahirap basahin. Sabihin bumalik sa ito HTML na pahina para sa CS50. At ni-scroll pababa sa katawan ipaalam. At sa loob makita namin ito div tag. Nakakakita kami ng isang header dito mismo. Nakakakita kami ng mga anchor tag. At ang sangkap ng listahan ay bibigyan ng isang tiyak na klase. At nakita namin paulit-ulit na klase na nang paulit-ulit. May ka Curtis. May mga komento sa HTML5. At bilang napansin mo, maaari naming pa rin makita ito, ngunit ito ay hindi nagpapakita up. Ito ay talagang talagang kawili-wiling. Mukhang ito ang listahan ng mga marka ng elemento ay nagkomento out. Kung pumunta kami sa pahinang ito, muli, ito pa rin lumilitaw doon, kaya kawili-wiling. Oh, na ang dahilan kung bakit, dahil ng susunod na linya. Ano pa ang nakikita namin ng interes? Ang natitira sa ito ay mas nakalilito, sa pagharap sa mga karapatang ito sa kalahati ng mga website, na isang maliit bit mas kumplikadong. Kaya ito ay kung ano ang ilang mga HTML ay pagpunta sa hitsura. Para sa akin bagaman, ito ay isang maliit na napakalaki, at hindi ito gumagana makakatulong sa akin na magkano. Gayunpaman, mayroong isang bagay na ay, sa katunayan, makakatulong sa akin ng maraming. At iyon ay kung ano ang ginagamit ko sa tuwing ako ay sinusubukan upang malaman kung paano ang isang bagay Tinitingnan ang paraan na ginagawa nito, o kung paano maaari Gumawa ako nang mga pagbabago sa aking website. At iyon ay isang tool ng nag-develop na ay binuo sa Chrome. Kaya kung pumunta ka sa tatlong bar karapatan dito at pumunta pababa sa tool mag-click sa Mga Tool ng Nag-develop, isang maliit na window habilin pop up sa ibaba ng pahina. At sa partikular, Chrome, dahil ito ay kahanga-hanga, ay i-format ang window na ito at kunin ang HTML at gawin itong tumingin marami nicer para sa iyo. Kaya ngayon ito ay aktwal na ang ilang mga collapsible HTML na maaari mong galugarin upang siyasatin ang mga elemento ng pahina. Kung gusto naming upang tumingin sa katawan, ito aktwal na nagha-highlight. Kapag kang mag-scroll sa isang bahagi ng HTML, pababa sa window na ito, ay ito i-highlight ang bahagi ito ng pakikipag-usap tungkol sa malaking bintana. Kaya hayaan mo akong subukan muli at pumutok ito up ng isang bit. OK. Kaya buksan ng katawan ipaalam. At ako ng pag-scroll sa ibabaw na ito kaliwa div. At napansin mo na ito ay ang pag-highlight ito kaliwa kalahati ng screen. Kaya sabihin mag-click sa na at palawakin iyon. Sa loob nito, mukhang mayroong dalawang divs. Mayroong ito unang div. Hindi ako nakakakita ng na-highlight. Hindi ko alam, pero mukhang ganito ikalawa, ang natitira panloob, ay ang nilalaman sa kaliwang bahagi ng screen. Pagkatapos ay mayroong bagay na ito na tinatawag na header. Mukhang na-highlight ang CS50 bahagi. Kung buksan namin na up, nakita namin na ito ay walang anuman higit sa header 1. Ito ay ibinigay ng isang ID, at ito ay na nabigyan ng teksto cs50. Kaya muli, ng pagtingin sa ito sa pamamagitan ng console o gamit ang mga tool ng nag-develop pane sa ibaba ng mga gumagawa ng screen paggalugad sa website na ito, sana, isang marami mas mababa intimidating at Marami pang naa-access. Ito ay nagpapahintulot din sa amin na maunawaan na ang website na ito, bagaman mukha itong napaka medyo at maganda, ay hindi lahat na magkano higit sa kung ano ang iyong magiging paggawa sa Problema Set 7. At ito ay ganap na sa loob ang iyong kakayahan upang lumikha ng. Kung gusto naming - ang iba pang mga cool na bagay tungkol sa paggamit ng mga mga tool ay, kung ang kanan mong mag-click sa pamagat, maaari mong i-edit ang HTML. Kaya hayaan tawagan ni Jason ito. At ngayon mapapansin mo nagbago ako ang HTML sa pahinang ito. Siyempre, hindi ko pa nabago ito permanente. Kung i-refresh ko ang aking browser, pagkatapos ay ginagawa ito bumalik sa orihinal na HTML. Ngunit minsan gusto kong i-debug ang aking code, at hindi ko nais upang tumingin mayroon na lamang ang aking gedit window at subukan at maunawaan ano ang nangyayari sa. Gusto kong makita kung ano ang mangyayari live. Kaya makikita-edit ko code na tulad nito at makakuha ng ito ang paraan ko ito gusto upang tumingin. At pagkatapos ay kukunin ko na gawin ang mga mga pagbabago sa aking code. At mahanap ko na ito ay mas madaling kapag maaari mong gawin ang mga bagay ay agad na, tulad na. Sabihin nating, muli, nais naming gumawa ng isa pang pagkakataon, dahil kami ay paggalugad sa HTML at CSS ngayon. Maaari ko bang i-edit ang HTML sa ngayon. At pupuntahan ko isasama ang isang link. Kaya ako pupunta upang baguhin bahay CS50 ni pahina, kaya ito ay mag-link sa - sabihin nating - ang aking home page. Ano ang pangalan, kung sinuman naalala, o ano ang katangian na gusto kong bigyan sa isang tab anchor kapag ako ay nais ito na mag-link sa ibang lugar? Madla: href? Jason HIRSCHHORN: href - Kaya ngayon, makikita mo na doon ay isang Underline sa ilalim Jason. Iyon ay dahil sa Chrome, sa pamamagitan ng default, ay nagbibigay sa mga anchor ng isang Underline. Marahil nakita mo na ang bago kapag mo na nawala na sa isang web page. Mga bagay na mga link ang nakasalungguhit at sa asul. Ang default na estilo para sa isang link ay ang pangkalahatang guhitan sa ilalim at ilagay ito sa asul. Kung hindi ko gusto na, Maaari ko bang baguhin iyon. At muli naming baguhin ito sa isang segundo. Ngunit ngayon, mapapansin din na, kung ang mag-hover ko sa ibabaw na ito, sa ilalim kaliwa ng screen, i-right sa itaas ng mga elemento ng salita ay ang link na binigay ko ito. Kaya kung ginawa ko mag-click sa ito - at kaya namin right click sa ito, magbukas ng bagong tab. Ito ay hindi tunay na aking homepage. Ito'y aking pangalan lamang. May pumunta ka. Ngayon na i-namin ito sa isang link. Galugarin ang ilang mga CSS pati na rin Hayaan. Ang magandang bagay - at pupuntahan ko gawin ito nang kaunti mas maliit - tungkol sa console na ito ay, na mabaliw CSS sheet Nakita natin dati, na noon ay talagang mahirap i-parse, ngayon ay maganda inilatag out para sa amin sa kaliwa na bahagi ng pane na ito. Kaya maaari naming tumingin. At kung palawakin namin ito estilo tab, namin maaaring makita ang lahat ng mga iba't ibang estilo na nauugnay sa, sa kasong ito, ang partikular na elemento, ito elemento ng link. Kung gagawin namin ang tab na tambalang estilo, na Ipinapakita lamang sa amin, hindi kung saan lahat ng bagay ay mula sa, ngunit mahalagang lahat ng mga mga istilo na ay tumatakbo sa ang partikular na elemento ngayon. At sabihin nating, nais naming baguhin ito ng kaunti. Kaya ito ay ang lahat ng mga estilo na tumatakbo sa partikular na elemento. Sabihin nating gusto naming baguhin ito, dahil namin nais na makita kung ano ang hitsura ng isang bagay. At lang kami sa paglalaro sa paligid ngayon. O kaya gusto naming subukan ang isang bagay out, bago sumusulat ito sa code at pagtulak ito at ginagawa itong mabuhay. Maaari naming pumunta sa tab ng estilo. At sa unang kahon ito sabi, element.style. At in dito, maaari mong ipasok, maaari kang magdagdag ng isang bagay. Kaya gusto kong - sabihin pumunta sa aking mga link at ang itakda ang kulay ng background. At talagang autofills ito para sa iyo, ang lahat ng posibleng mga pag-aari. Kulay ng background, at gusto ko upang gumawa ng asul na. Blus ay hindi isang salita. Blue ay isang salita. Nakita ko ito makabuo? Oh, ay na dahil ito ay sa href? OK. Kaya hindi ko makita ang anumang mga pagbabago dito. At iyon ay dahil, kung i-highlight namin ang link, mapapansin mo na ang link ay hindi tunay na pagkontrol sa mga katangian ng ito partikular na elemento. Ito ay talagang, kung bubuksan namin ang link, header ng karapatang ito dito na pagkontrol sa kung ano ang mukhang. Kaya kapag gusto kong gumawa ng background asul, ako aktwal na kailangang baguhin Kulay ng background sa elemento ng header. At ngayon nakita namin na ang background ay asul. Kaya muli, ito mabilis na maaaring pagpunta sa pamamagitan ng materyal na ito medyo mabilis. Ngunit ito ay totoo kung ano ka pagpunta sa ginagawa. Ito ay hindi ang problema Set 7, ngunit tiyak na kapag ikaw ay coding sa web. OK. Gusto kong mag-asul na background. Kahit na, sa kasong ito, mukhang medyo mainit ang ulo asul. Maaari ba akong pumunta sa dito, maglaro sa paligid. Nakikita ko na ang pagbabago nito sa asul na ay hindi gumagana sa isang. Mayroon akong upang aktwal na baguhin ang mga header elemento upang isama ang mga asul na background. At pagkatapos ay, kung pagkatapos ay pumunta ako pabalik sa aking CSS file, paano ko talaga itakda ito background na kulay asul at gawin ang pagbabagong ito stick? Dahil kung napansin namin kung i-refresh ko ang pahina, ang lahat ng mga pagbabago na ginawa ko ay nawala. Kaya ako na maisasakatuparan, OK, aking background ay asul. Kailangan kong pumunta sa na elemento header1 at palitan ang kulay ng background sa asul. Paano ko talagang gawin ang pagbabagong iyon? Well, isipin na, kung pumunta kami sa loob ng dito, header ito, ang May ID pamagat. At iyon ang pamagat. At kaya sa aming mga CSS file, maaari naming sabihin, OK, tumagal ng kahit ano gamit ang ID ng pamagat at bigyan ito ng dagdag na ito ari-arian. Paano isangguni kami ng isang bagay na may ID ng pamagat, ang anumang mga ideya, o kahit sino kung paano namin isangguni Mga ID sa aming CSS file? Ang isang hash, na akmang-akma. At Nakakuha ka ng isang pahiwatig ng na dito mismo. Kaya sa isang lugar sa ito ng CSS file, mayroong ito linya ng code - # Iniwan # kaliwang panloob # header # pamagat. At ito ay nagbibigay sa ito sa margin ibaba, pagtukoy sa margin ibaba ng ito partikular na elemento. Well, kung nais kong baguhin iyon, Gusto ko pumunta sa ito CSS file. At kaya kong alinman mahanap ito bahagi ng CSS file. O maaari kong isulat ang aking sariling. Maaari kong gawin hash pamagat kulot suhay at pagkatapos ng background kulay asul tutuldok tuldok-kuwit at malapit na kulot suhay. At na ang magbabago sa background Kulay ng elementong ito sa asul. Ang dahilan bigyan sila sa iyo kaya marami dito ay na ito, kinakailangan sa kasong ito, dahil pamagat ay isang natatanging ID. Ngunit ano ang maaari mong gawin ay pugad ng mga bagay. Kaya ito ay nagsasabi, OK, pumunta sa kaliwa. Iyon ay napakaliit. Humihingi ako ng paumanhin para sa na. Ngunit pumunta sa bagay na may ID kaliwa. Sa Loob ng iyon, hanapin ang bagay na may ID na natitira panloob. Sa loob ng na hitsura, hanapin ang bagay na may header ID. Sa Loob ng iyon, hanapin ang bagay Pamagat ID at palitan ang pamagat ID. Kaya ito ay isa lamang paraan ng nesting bagay. Ang ilang mga tao tulad ng pugad ito, dahil ito ay ginagawang isang bit mas malinaw. Makikita mo ang down na dito din, i-right dito, walang hash. Lamang Ito ay H1. Iyon ay dahil sa h1 ay ibinibigay ang pangalanan ng isang generic na tag. At mayroong ilang mga katangian ng CSS na nauugnay sa bawat solong h1. Kaya kung nakita akong isa pang h1 sa pahinang ito, Gusto ko ring makita na ito estilo noon ay inilapat din sa mga ito. Kung Nais kong ilapat ang isang estilo sa isang klase, paano ko isangguni ko isang klase o makipag-usap tungkol sa isang klase sa isang CSS file? Madla: Dot. Jason HIRSCHHORN: Ito ay may isang tuldok. Kaya sabihin bumalik sa pahinang ito bago. Kung gagawin ko hash ID. Na ang pagbabago ay ang estilo ng mga bagay na may ID. O paumanhin, kung gagawin ko hash logo, na paghahanap ng mga bagay na may ID ng logo at pagbibigay ito ng isang partikular na estilo ng CSS. Kung gagawin ko ang isang bagay. Tuktok, na paghanap ang lahat ng bagay na may klase ng mga nangungunang at pagbabago ng estilo nito. Kung lamang ko H1, na hinahanap ng bawat solong h1 at nagbibigay ito ng kahit anupamang Gusto kong bigyan ito ng estilo. Kung gagawin ko h1 espasyo at pagkatapos. Tuktok. Iyon ay pupunta mahanap ang lahat ng h1s at pagkatapos ay lahat ng mga may klase ng tuktok at pagkatapos ay baguhin lamang ang mga estilo sa kahit anong gusto kong bigyan ito. At muli, kami ay maaaring nakasulat ilan sa mga ito sa aming sariling. Ngunit hindi namin na makakakuha ito na malayo. Karamihan mas mahusay, tila upang aktwal na pumunta sa isang real live na website at makita kung paano gawin nila ito at tumingin sa lahat ng mga kamangha-manghang mga bagay na makakuha ng mong gawin. Tingnan natin ang isa pang website Hayaan bago ilipat namin sa. At ito ay isa na ikaw ay marahil maging pamilyar sa. Ito ay CS50 Finance. Kaya muli, maaari mong talagang pumunta sa at obserbahan ito CSS file sa iyong computer, dahil na-download mo ito CSS file, kung na-download mo ang itakda ang problema. Maaari naming pumunta sa Tools at Mga Tool ng Nag-develop. At nakita namin ang isang mas simple layout HTML. Mayroon kaming tuktok, gitna, at ibaba. At muli, isang bagay na dapat mong maging pamilyar sa, dahil ikaw Tiningnan sa pamamagitan ng code sa pamamahagi para itakda ang problemang ito linggong ito. Sa tuktok ay, ayon sa mga code, isang nag-iisang larawan na tinatawag. At iyon ay ang pinagmulan ng imahe. Sabihing tapos ko na ang lahat ng kung ano Nais kong para Problema Set 7. At ito ay gumagana nang maayos, ngunit Gusto kong baguhin ang hitsura nito. At Gusto kong baguhin ang background ng tuktok ng pahina upang, halimbawa, asul. Kung ito ay sa akin, Gusto ko dumating sa dito at malaman, OK ano nais kong baguhin. Ni makita, div tuktok ID, Hayaan na hitsura tulad ng sa tuktok ng pahina. Kaya sabihin pumunta doon. Subukan nating pagbabago Hayaan ang kulay ng background. Sabihin pumunta gawin Alice bughaw, dahil na ang isang nicer isa. At mapapansin mo na - marahil ay hindi maaaring makita na. Subalit mayroong isang mapusyaw na asul, sa tabi ng CS50 logo. Baguhin ni ito sa halip na pula Hayaan. At mapapansin mo na ngayon lamang ay nagbago ako ang kulay ng background sa pula. Kaya ngayon Gusto kong pumunta sa aking CSS file at type # top kulot paren dito mismo. Maaari mong makita ang code sa kanan dito, kulot suhay. At pagkatapos, nais kong magdagdag ng background kulay, pula. At pagkatapos, may gagawin maging isang kulot suhay. Kaya na ay kung paano ko na nais tuklasin at eksperimento sa pag-format sa CS50 Pananalapi site. Maaari kong gawin ito dito at pagsubok ito out sa aking browser. At pagkatapos, kaya kong pumunta sa aking aktwal na code at gawin ang mga pagbabago na habilin talagang live at na ang mga tao talaga makita, kung sila ay na dumating sa ang aking mga tiyak na site. OK. Iyon ay isang pulutong. Humihingi ako ng paumanhin para sa pagpunta sa pamamagitan ng ito kaya mabilis. Kahit sinong mayroon ba kayong mga katanungan sa lahat ng tungkol sa HTML o CSS? Madla: Puwede ba ka lang sa kung paano mo naka-link sa kung ano ang naging Jason, muli? Jason HIRSCHHORN: Ano ang ang ibig mong sabihin naka-link? Madla: Ibinigay mo ang isang link sa ibang website, gamit ang anchor. Jason HIRSCHHORN: Kaya ninyo tinatanong, generically lang, paano mo gawing link? Madla: Oo. Jason HIRSCHHORN: OK. Ang code para sa paggawa ng isang link - Madla: Hindi, tulad ng sa HTML. Jason HIRSCHHORN: Down dito, ibig mong sabihin? Kaya kapag gusto kong isama ang isang link sa isang lugar, sabihin nating, ito ang HTML sa aking pahina dito mismo. Ito ang HTML. Siguro ito ay bukas sa isang file, index.html. Pumunta ako in Magkaroon ng ito sa copyright John Hayaan Harvard link sa isang bagay. Kaya makikita-edit namin ang lahat ng ito bilang HTML. Lahat ng gagawin mo ay isama ang isang, upang bracket isang malapit na bracket sa simula, at pagkatapos ay i-bracket slash isang malapit na bracket sa dulo. Kaya ngayon Isinama ko ang isang anchor tag. At talagang, kung nag-click ka out sa ito, ito nasain ngayon i-format ito i-edit bilang HTML. At sinasabi, nais naming i-link ito. Nais naming sa iyo ang href na katangian. At sabihin namin - At ngayon, bilang napansin mo, copyright John Harvard ay asul. At kapag mag-scroll ko sa ibabaw ito, ito ay isang link na ngayon. Kaya maaari mong isulat ang code na iyon. Maaari mong palibutan halos anumang bagay gusto mo sa isang anchor tag at i-on ito isang link. Madla: ang OK. Nakuha namin. Jason HIRSCHHORN: At kung hindi ko gusto ito - siyempre, paminsan-minsan ang mga tao ay may posibilidad mag-isip ang mga bagay na lamang tumingin asul generically at salungguhit ay hindi ang prettiest paraan upang gawing isang link. Kaya kung dumating ako sa paglipas dito, nakikita mo na, sa isang lugar sa isang CSS file, mayroong isinulat ito ng isang at pagkatapos ay dalawang kulot tirante. Kaya sabihin nating na, para sa mga link, gagawin ko hindi gusto sa kanila upang maging kulay bughaw, sa halip ko gusto ang kulay ng isang link sa maging ito maganda magenta. Magbigay ng ito ang kulay Hayaan. Pumili ng kulay-pula Hayaan. Ngayon, ang lahat ng mga link sa pahina ng aking mayroon maging ito maganda ang kulay ng kulay-pula. Ang ilang mga tao ang hindi nagkagusto mga kulay sa lahat. Ang ilang mga tao ang hindi nagkagusto underlines. Makakuha sa iyo upang pumili. Gamit ang mga link, maaari mong style kung paano sila Umaasa sa oras na iyong binisita ang mga ito. Bilang mapapansin mo sa maraming mga pahina, mga link i lilang sa bisitahin mo ang mga ito. Maaari mong baguhin ang kulay na rin. Oo. Madla: Kaya mong baguhin ito para sa bawat solong link. Ngunit kung nais mo lamang na gawin ang link na iyon mismo, gagawin mo pa lang sa ID ibaba o isang bagay? Jason HIRSCHHORN: Kaya mahusay na tanong. Tulad ng napansin mo dito, binago ko ang ilan bahagi ng CSS na naaangkop sa lahat ng bagay na ang isang A. Kung Nais kong gawin lamang ang link na iyon sa ibaba, ako Gusto pumunta sa aking mga CSS file at marahil gawin tulad ng sinabi mo, hash ilalim puwang ng. At na gusto ninyo ako lahat Tulad ng sa ibaba. O kaya ko, Bilang kahalili, bigyan ito ng isang natatanging ID at pagkatapos ay gawin lamang hash link. At iyon ay magpapahintulot sa akin upang baguhin ito out. Gayunpaman, lamang doling out ID sa ayaw at sa gusto ay pangkalahatan ang isang masamang pagsasagawa, dahil sa mga Dapat ay natatangi. At ang higit mayroon kang mga, ito Maaari makakuha ng isang maliit na nakalilito. Oo. Madla: Maaari ba ninyo ang parehong ID sa maraming mga may-ari? Jason HIRSCHHORN: technically, yes. Walang pupuntahan itigil mo, ngunit ikaw hindi dapat mo dapat bigyan ito ng isang klase. OK, ang anumang iba pang mga tanong tungkol sa HTML o CSS? OK. Ipaalam sa amin lumipat sa PHP. Oh, yes. Madla: Ano ito tungkol sa mga ito mga website na nangangahulugan na maaari naming i-edit ang mga ito bago namin i-refresh. Ngunit sa sandaling i-refresh namin ito reverts i-back sa paunang HTML? Jason HIRSCHHORN: Mahusay tanong - kaya kapag load namin ito web pahina, ito ay HTML. At ito ay JavaScript. Ang PHP ay isinasagawa upang bigyan kami ng kahit ano uri ng website makita namin. At ito ay nilikha ng ilang mga HTML, ang ilang mga JavaScript, at ang ilang mga CSS. At na ngayon ay naa-access sa pamamagitan ng aming mga computer. At ang isang kopya ng mga file na iyon ay naka-save nang lokal sa aming mga computer, samantala. Kaya maaari naming i-edit na lokal na kopya. Ngunit siyempre, hindi namin ine-edit ang kopya ng server. At kapag i-refresh namin ang pahina, makakakuha tayo ng isa pang kopya ng server. At kaya nakikita natin bagay pabalik bilang sila ay. Kung namin nagawang, mula dito, i-edit ang opisyal na website, nais naming magkaroon ng maraming ng mga problema. Madla: Oo, upang maaari naming basahin at isulat ang kopya na. Jason HIRSCHHORN: Mag-right. Naka lamang Nagsasagawa kami ng mga lokal na pagbabago dito, ngunit muli, napaka-kapaki-pakinabang para tuklasin, malimit. Kapag ako ang pagsusulat ng aking huling proyekto, para sa Halimbawa, gusto kong makita kung paano ang ilang mga website na ginawa ng isang bagay na hitsura ang paraan ng ginawa nila. Ako ay pumunta sa at gamitin ang pane na ito pababa dito, upang tumingin sa kung ano ang CSS sila ay nagbigay sa ito o kung ano kulay nila nakuha o kung paano sila nakuha ko nang sa gayon, kapag hovered mo sa ibabaw ng isang bagay, ang listahan bumaba sa gandang cascading fashion. Ito ay isang mahusay na paraan upang siyasatin kung ano ang iba pang mga mga website gawin at humiram mula sa kanila. Ng lumipat sa PHP Hayaan. PHP ang ibig sabihin ay, sa isang recursive kahulugan, PHP Hypertext Processor. At PHP, ano ang pagpunta sa gawin ay nagsasagawa ng code ng server side. Kaya kami ay hindi kailanman pagpunta upang makita ang code na PHP. Gayunpaman, ito ay i-play ng mabuti sa HTML at madalas ay bumubuo ng napakaraming HTML code. Ngunit dahil kakailanganin mo maging pamilyar sa Problema Itakda 7, ang iyong code na PHP ay nagsagawa, ng ilang mga HTML, at iyon ang Magtatapos up user ang nakakakita. PHP ay hindi mapaniniwalaan o kapani-paniwala na katulad C. Subalit, may mga ilang mga pagkakaiba, at ang mga pagkakaibang mahalaga na tandaan. Isang pagkakaiba ay na ang mga variable sa PHP ay maluwag na-type. Mayroon ba kahit sino isang katuturan ng ano ang ibig sabihin na? Madla: Hindi mo na kailangang cast ito sa iyong sarili. Tulad ng hindi na kailangang isulat sa teksto. Jason HIRSCHHORN: hindi ko magamit ang salita cast, ngunit oo, hindi na kailangang idedeklara isang uri para sa isang tiyak na variable. Paano halip idineklara kami ng isang variable? Madla: Gumamit ng dollar sign. Jason HIRSCHHORN: Gumamit ng dollar sign. Kaya $ x ay isang variable. $ 1 ay isang variable. $ String ay isang variable. Yaong mga variable, $ x ng dati maging isang integer. Pagkatapos, maaaring ito ay isang string. Pagkatapos, maaari itong isang character. Ito ay hindi talagang mahalaga. Gayundin, ang mga cool na bagay tungkol sa PHP ay, sabihin nating, $ x ay ang isang string. At $ y ay ang karakter ng isa. Maaari kang magdagdag ng $ x at $ y, at idedetalye ito bigyan ka ng 2, ano ang gusto mong asahan. Kaya may mga pagpapatakbo sa PHP. Dahil maluwag ito ay nai-type na variable, ilang implicit paghahagis ay tapos na para sa iyo at ilang mga operasyon. Maaari mong gawin mga pagpapatakbo sa mga bagay ng iba't-ibang uri. Sapagkat bago, madalas kang makakakuha ng isang error sa C nagsasabi, hindi ito ang uri na dapat pumunta dito. Tanging ang mga bagay na may ganitong uri ay maaaring pumunta dito. Hindi ka pagpunta upang makakuha ng uri na ng error na ito, sa pangkalahatan, sa PHP. Kaya iyon ang isa malaking pagkakaiba - paano namin haharapin ang mga variable. Ang ikalawang malaking pagkakaiba ay na Code na PHP ay kahulugan. Wheres, C code ay pinagsama-sama. Ano ang ibig sabihin na? Well, para sa C code na iyong pinatakbo ito sa pamamagitan ng isang tagatala. Bumuo ka ng isang binary file. At pinatakbo mo na ang binary file. Kinunan mo pag-aalaga ng lahat ng mga error bago mo nabuo ang binary file. Siyempre, mayroong maaaring naging segmentation faults, kapag pinatakbo mo ang binary file. Ngunit hindi ito magustuhan mo nakalimutan na isama ang kahulugan ng printf, o hindi ka gumamit ng variable at lamang lumikha ng isang mapag-aksaya variable. O kaya hindi mo tukuyin ang isang function ng prototype. Lahat na nangyari bago mo inipon. Ibinigay nito sa iyo ang lahat ng mga error o masamang mga bagay na naisip ito maaaring mangyari. At pagkatapos, nagkaroon ka ng iyong 0 at 1 file na iyong pinatakbo. Code na PHP ay hindi gumana tulad na. Ikaw ay pagpunta sa isulat ang iyong code na PHP. Pagkatapos, ikaw ay pagpunta sa i-save ito, siguro. At hindi bababa sa P-Set 7, ikaw ay pagpunta upang i-refresh ang iyong web browser, at ka pagpunta upang makita kung ano ang nangyari. Ikaw ay pagpunta makita ang output ng na code na PHP. Maaari mo ring makita, sa tuktok ng iyong pahina, isang error. Dahil nagkaroon ka ng ilang error sa iyong PHP. Maaari pa ring makita mo ang mga natitirang ang web page ay naghahanap ng fine. Ngunit isa bahagi ay mali, at mayroong isang error sa lugar na iyon. At iyon ay dahil sa bahaging iyon ng ang iyong code na PHP ay hindi gumagana. Sa katunayan, kapag execute mo, kapag nag- pumunta sa isang bagay tulad ng by.php. Ito ay pagpunta sa pumunta sa pamamagitan ng iyong PHP maghain linya sa pamamagitan ng linya at isakatuparan ito pagkatapos at lamang pagkatapos. Hindi ito ng pagpunta sa sumulat ng libro ito nang mas maaga sa oras o mag-compile ng isang kopya at pagkatapos ay bigyan na pinagsama-sama kopya sa lahat ng tao. Sa bawat oras, ito ay pagpunta sa pumunta sa pamamagitan ng linya sa pamamagitan ng linya at isakatuparan ito. Kaya maaaring gumana ang ilang mga linya at output ng isang bagay na tama. At iba pang mga linya ay maaaring pinaghiwa at output ng error sa halip. Kaya kapag ang pag-debug na may PHP, binigyan ka namin ng sa iyo ng ilang mga kapaki-pakinabang na bagay upang makatulong sa iyo sa pag-debug, tulad ng ang dump function. Ngunit sa pangkalahatan, ikaw ay pagpunta upang makita ang mga error na ito. At na kung paano ka ng pagpunta sa alam mo ginawang isang bagay na mali. Ngunit lamang ka ng pagpunta upang makita ang mga error sa sandaling ikaw talaga tumakbo ang code. Ang isa pang mahalagang aspeto ng PHP at web development ay ang ideya ng get kumpara sa post na ito. Puwede ipaliwanag sinuman kung ano ang pagkakaiba sa pagitan ng makakuha at makapag-post ang mga? Walang sinuman - Oo. Madla: Hindi ba isa sa mga ito hayaan ang gumagamit makita ang data, at isa sa mga ito ang hindi? Jason HIRSCHHORN: Mahusay. Oo, ang mayroon kang isang bagay upang idagdag? Madla: ako manipis post ay isang super-global variable. Jason HIRSCHHORN: Kaya pareho sa mga mga variable ay ibinigay sa iyo. Ang mga ito ay lamang na variable. At alam mo ang mga ito ay mga variable, dahil dito mismo ako gamitin ang dollar sign. Ito ang mga variable na ibinigay sa iyo sa pamamagitan ng PHP. At kapag nilipat mo sa pagitan ng mga web page, gusto mong i-save ang ilang impormasyon. Gusto mong marahil upang i-save kung ang user ay naka-log in Na hindi naka-save sa GET at POST. Iyon-save ito sa ibang bagay, ng ibang variable. Kahit sino malaman kung ano ang variable na na-save in, o kung ano ang variable na ginamit mo sa mga P-set 7, upang matiyak na ang ang user ay naka-log in? $ _session, Na akmang-akma, marahil mahalaga na maging pamilyar sa ang mga pangalan ng mga bagay na ito na madalas mong ginagamit. Kaya mong gamitin ang variable na session upang i-save impormasyon mula sa pahina sa pahina. Iyan ay isang napakabilis na variable. Ito ay umiiral sa bawat pahina, marahil tulad ng isang global variable, kung gusto mong mag-isip tungkol dito tulad na. Mayroong isang pares ng mga iba pang mga variable na nagbibigay-daan sa iyo upang maglipat ng impormasyon mula sa pahina sa pahina. Sa partikular, ang mga taong magpapadala kami tumuon sa ang mga GET at POST ang mga variable. Sa PHP tumingin sila tulad ng $ _GET At $ _POST. At ang pagkakaiba, itinuturo bilang Marcus out, sa pagitan ng dalawa sa kanila ay na, impormasyon sa $ _GET ay ipinapakita sa URL. Kaya't kung tiningnan namin pababa dito, may nakita kaming link sa YouTube. Makita namin ang tandang pananong. Nakakakita kami ng v = at pagkatapos ay ang ilang mga halaga. Bumalik sa ideyang ito ng halaga key pares, ang v ay ang susi. At sa paglipas dito ay ang halaga. Kaya kung kami ay upang pumunta sa pahinang ito o coding sa pahinang ito, gusto naming magkaroon ng isang variable na tinatawag na $ _GET. Kung nagpunta kami sa $ _GET bukas bracket "v" malapit bracket, na halos kapareho sa array pagtatanda, ito ay isang associate array dahil hindi namin ginagamit mga indeks. Ay gumagamit ng mga string bilang susi. Pero halos katulad na ideya. Kung nagpunta kami namin, nais makuha ang halaga. Sa pahinang ito, nais naming magagawang upang gamitin ang halagang ito. Kung talagang tayo, sabihin pumunta sa isang pahina ng YouTube. Ano ang video na dapat naming panoorin? Isa na ito, ay mga tao Hobbit tagahanga? Madla: Oo. Jason HIRSCHHORN: Kaya ako ng pagkopya ang kanilang mga bahagi ng URL at pag-paste ito sa isang bagong window. At ngayon, kung tiningnan mo dito, makakakuha ka ng mapansin na, sa sandaling muli - Pupunta ako sa kopyahin at idikit ito sa gedit, upang maaari naming makita ito mas malaki. Mapapansin mo na mayroon itong ito tandang pananong. Designates Ang tandang pananong na lahat pagkatapos ito ay magiging naka-save sa get variable. Ito pagkatapos ay ang v, iyon ang unang key at ito unang halaga. Ampersand ay espesyal. Ampersand ay nagsasabi, OK, namin tapos na ang unang halaga. Ay gumagalaw kami ngayon sa sa isa pang key halaga ng pareho. Dito, ang key ay tinatawag na tampok, at ang halaga ay youtu.be. Kaya kung ako ay isang coding ang pahinang ito at isang tao napunta sa mga URL na ito at ako ay nagkaroon ng siguro watch.php. At ako ay coding na ito. At maaari ko bang gamitin ang $ _GET variable. At Gusto ko magkaroon ng isang v, at Gusto ko magkaroon ng tampok na ito. At kung gagamitin ko ang v key, ako Gusto makuha ang halaga na ito. At kung ginawa ko $ _GET bracket "na tampok" malapit bracket, nais kong makuha ang value na ito. Muli, hindi kinakailangang nalalapat sa - malinaw naman, ang mga pindutan at halaga YouTube at makakuha ng impormasyon ay hindi akma sa ang aming Problema Itakda 7. Subalit may ilang mga bagay na namin pumasa sa pamamagitan ng GET sa aming Problema Set 7. At tiyak, kapag kang pumunta sa isang pahina ng web o ay coding ng iyong sariling mga pahina, ang $ _GET Ay darating sa madaling-gamiting kapag ang iyong mga coding. Ano ang isang kadahilanan upang gamitin ang $ _GET pagkatapos, kung ito affords walang privacy? Ang makikita mo ang lahat ng impormasyon na ito na nililipat. Lahat ng ito ay ipinapakita sa user. Ngunit kung ano ang isang kadahilanan na maaari mong gustong i-save ang isang bagay sa $ _GET, bilang kabaligtaran sa $ _POST? Bakit maaaring gusto mong gawin iyon? Ayos lang. Tinanong ko sa iyo sa Pagsusulit 1. Ano ang pro ng $ _GET? Ano ang isang pro? Oo - Madla: Mas madali na magbahagi ng impormasyon. Jason HIRSCHHORN: Sa tingin ko mabuti iyan. Mas madali upang ibahagi ang impormasyon. Mas madali na i-bookmark. Maaari mong i-bookmark ngayon, YouTube.com / panoorin? V = isang bagay at pumunta sa na partikular na video. Kung palaging ginawa ng YouTube POST mga kahilingan upang iba't ibang mga pahina, ang bawat URL ng YouTube magiging YouTube.com. Hindi mo ma-bookmark ng isang video. Dahil kung sabihin mo ibinahagi ang link na iyon may ibang tao, gawin nila hindi awtomatikong makuha ang iyong mga variable na post. Lang nila nakukuha ang link na ito, at ang link ay pareho para sa lahat ng tao. Kaya na ay isa pro. Pinapayagan ka upang i-bookmark ito impormasyon o ibahagi ang impormasyon o gawin itong kaunti mas user-friendly. Siyempre, walang privacy, kaya mayroon kaming ang post na ito variable. At impormasyon post ay hindi ipinapakita sa URL. Ito ay hindi ganap na pribado. Ngunit ito ay marginally higit pribado. At kaya makikita mo ang URL na ito down na dito, cs50.net. Mo man o hindi naka-log in sa website, ito ay pagpunta sa may pare-parehong URL, cs50.net. Malinaw, ang isang bagay ay naiiba, kung naka-log in ka sa website. Mayroon kang, isa, marahil input ang inyong PIN. At ito ay nakumpirma na sa server. At marahil ito ay nagse-save ilang iba pang mga impormasyon. Ngunit ang URL ay hindi nagbabago sa lahat. At kaya iyon ang kaso, kapag isang bagay ay ipinapadala sa pamamagitan ng POST. Ang URL ay hindi nagbabago. Ito POST impormasyon ay hindi ipinapakita sa URL. Ngunit ang ilang mga estado ay nagbago, at siguro mayroong ilang impormasyon nai-save sa POST variable. Sorry. bago ako pumunta sa SQL, anumang mga katanungan tungkol sa PHP, sa partikular, mga tanong sa mga bagay na hindi namin ginawa pumunta sa ibabaw na iyong natagpuan o anumang syntax o logic katanungan tungkol sa PHP? OK. Ang huling wika ikaw ang magiging nakikipag-ugnayan sa linggong ito ay ang Naka-istrakturang Wika Query, SQL, binibigkas sumunod na pangyayari madalas. Na nagbibigay-daan sa iyo upang makipag-ugnayan sa database sa isang formalized paraan. At ito ay gumaganap ng mabuti napaka sa PHP. Tulad ng makikita mo sa Problema Set 7, hindi namin nagbigay sa iyo ng isang function na tinatawag na query. At ito ay tumatagal ng isang SQL string at executes na query sa database. Sa taon na nakalipas, ikaw ay hindi ibinigay na ito function. Nagkaroon ka upang magamit ang mga function na PHP upang gawing ang query sa database at tseke para sa mga error at pagkatapos ay kunin ang mga resulta. At talagang, ito ay hindi na mahirap, dahil muli, nagpe-play ito napaka ng mabuti sa PHP. At nagbibigay sa iyo ng PHP ng maraming mga pag-andar makipag-ugnay sa isang database SQL. Kaya madalas, ang dalawa sa mga pumunta sama-sama. Siyempre, maaari kang makipag-ugnayan sa ang database ng SQL sa anumang bilang ng iba pang mga wika. Ngunit PHP ay isang magandang isa upang pumili. Ang isang database - ipagpapatuloy namin sa paglipas ng ito nang mabilis, dahil ito ay isang salita ng buzz kami ng pagpunta sa simulan ang madalas gumagamit ng - ay isang koleksyon ng mga talahanayan. Kaya maaari naming isipin na ito bilang isang Excel file. Ay may maramihang mga tab isang Excel file sa ibaba ng screen. Ang bawat tab ay magpapakita kami ngayon tumawag sa isang table, kung saan isang talahanayan ay isang koleksyon ng mga hilera. At kung ano ay isang hilera? Well, isang hilera ay ang parehong bagay sa Excel file. Iyon lang May mga partikular na halaga para sa bawat ibinigay na patlang o sa bawat ibinigay na hanay. Ito ay tulad ng isang entry sa table. Ito ay isang mag-aaral, kung sino ang may isang ID, isang tiyak ID, at isang tiyak na pangalan at isang tiyak bahay. Kaya isang database ay isang koleksyon ng mga talahanayan. At mga talahanayan ng kanilang mga sarili ay isang bilang ng mga hilera o mga talaan. Mayroong din, sa bawat talahanayan, ang ilang mga patlang. At na tumutukoy kung ano ang bawat tala ay pagpunta sa mayroon, mga patlang minsan ay tinatawag mga hanay ngunit sa pangkalahatan ay tinatawag na mga patlang. Sa ganitong napaka-simpleng talahanayan, mayroon akong tatlong larangan, isang patlang na ID, isang username na patlang, at isang patlang ng hash. At Mayroon akong tatlong mga hilera. Sa ngayon, ang mga ito ay walang laman. Sila ay marahil hindi magiging walang laman kung ito ay ang aking totoong database. Kaya kung ginamit mo Excel, katulad ideya sa kung ano ang ginagawa mo sa Excel, kahit na, malinaw naman, ngayon kami ay pagpunta sa magagawang gawin magkano ang mas malakas na mga bagay sa impormasyon na nakaimbak sa aming database. Ikaw ay ang paglikha ng iyong sarili ng isa database para Problema Set 7. Ngunit ka lilikha ng maramihang mga talahanayan sa loob ng database. Ikaw ay ang paglikha ng isang database o isang talahanayan para sa mga gumagamit. Ikaw ay paglikha rin ng lamesa para sa marahil stock transaksyon, upang mapanatili ang track ng mga ito, dahil kailangan mo upang ipatupad ang tampok na kasaysayan. Ang parehong mga talahanayan ay magkakaroon iba't ibang larangan. Halimbawa, sa isang patlang na gumagamit, ikaw malamang na gusto ang kanilang mga user name at isang ID at ng hash ng kanilang mga password. Sa talahanayan Stocks na sinusubaybayan ng kasaysayan o ng talahanayan ng History, mo marahil hindi na kailangan ang user name at ang hash at ang ID. Marahil Kailangan mo lamang ng isa sa mga mga halaga na natatangi, upang iugnay ito na may ibinigay na user. Ngunit pagkatapos, nais mong iimbak ang iba pang mga mga bagay tulad ng, kung anong oras ay transaksyon ginawa. Ano stock ay binili o ibinebenta? Gaano karaming mga share ng stock ay binili o ibinebenta? Ano ang presyo kung saan ang stock ay binili o ibinebenta? Kaya muli, ikaw ay pagpunta sa ay nakikipag-ugnay may isang database na pagpunta sa magkaroon ng maraming mga talahanayan. Ang bawat talahanayan ay pagpunta sa may sarili nitong hanay ng mga patlang. Subalit, may ay malamang na maging isang katulad patlang sa bawat talahanayan, na nauugnay ang mga ito sa isa't isa. Karaniwan, ito ay isang patlang na ID. Dahil kung ang bawat gumagamit ay may isang natatanging ID at nag-ugnay ka ng ID na may araw- transaksyon na gumagawa ng gumagamit o lahat ng kasaysayan ng user na iyon. At mayroon kang ID ng user. Maaari kang makakuha ng impormasyon mula sa alinman sa table. Maaari mong makuha ang kanilang username, at mo Maaari makakuha ng lahat ng kanilang mga transaksyon. Ang anumang mga katanungan tungkol sa mga database, o partikular na mga tanong? Talaga, ni hawak na ipaalam. Babalik kami doon sa dalawang gilid. Kaya may mga apat na mga operasyon sa mga database na ikaw ay gumagamit ng sa Problema Itakda 7 at malamang kailanman ginagamit. Ang unang bagay na gusto mong gawin ay insert may bagong record sa isang table o isang bagong hilera sa isang table. Ito ang generic na function, ang generic na form, ng na SQL query. INSERT SA talahanayan, ang kahit anong mga hanay Gusto mo upang ipasok at pagkatapos ay ang mga halaga na kayo ay pagpunta sa nais na ilagay sa mga haligi o mga patlang. Kung mayroon kang maramihang mga talahanayan sa isang database o maramihang mga database, mo Maaari ring kailangan upang tukuyin ang database at ang talahanayan na gusto mo upang ilagay ang mga bagay sa. Ngunit napaka-simple, kung gusto mong isingit sa isang bagay, sabihin mo, narito ang mga mga field na gusto ko upang ipasok sa. At narito ang ilan sa mga halaga. Sa ilang mga talahanayan, ring, at ng user na ito talahanayan ay isang magandang halimbawa. Malamang sa table na ito user at marahil sa table na iyong gumagamit sa P-Set 7, mayroong hindi lamang ng isang halaga username. Mayroong hindi lamang isang cash halaga, o field, sa halip. Mayroon ding isang field ng ID. Hindi ako pupunta sa magpasok ng field na ID. Iyon pupuntahan dapat ibigay sa Awtomatiko akong, kapag ang isang bagong record ay naipasok. Kaya mayroong ilang mga patlang na iyon sa iyo maaaring itakda upang maging awtomatikong. Siguro gusto mong bigyan ang bawat gumagamit $ 10,000 ng cash-off ang bat. Kaya hindi ko na kailangan upang ipasok isang bilang ng mga cash dito. Ang kailangan ko upang ipasok ang user name. At pagkatapos, ang patlang na cash ay magiging pre-populated, at ang patlang ID ay ma-pre-populated na. Kaya malimit, hindi kami pagpasok isang bagay sa bawat field, dahil mga iba pang mga patlang ay pre-may naninirahan. Dahil na kung paano namin set up ang talahanayan na. Ang ikalawang bagay na iyong pagpunta sa gusto lang gawin ay tanggalin ang isang tala. Ang pagtanggal ng isang bagay ay napaka-simple. Bigyan ka ng talahanayan kung saan mo nais tanggalin ang isang bagay mula sa. At sabihin mo, OK, gusto kong tanggalin ang record na may username ng Milo. O kaya gusto kong tanggalin ang lahat ng mga tala na magkaroon ng isang username ng Milo o na ay isang transaksyon mula sa gumagamit ID number 2. Ang anumang mga katanungan sa mga dalawang uri ng mga query? Madla: [hindi marinig]. Jason HIRSCHHORN: Oo. Kaya pupuntahan ko gamitin hilera at record salitan at ang ilan may haligi at field. Ngunit isang hilera ay isa talaan. Isang hanay ay isa na patlang, pagpunta i-back sa talahanayan na ito. OK. Ang susunod na bagay ikaw ay marahil pagpunta sa gawin ay makakuha ng ilang impormasyon mula sa talahanayan. Iyon ay isang Pumili ng query. At muli, kung ano ang talahanayan ako ng pagpili mula sa? At kung ano haligi nais kong piliin, o kung ano ang halaga na gusto kong piliin at mula kung saan hilera? Kaya ang mga piling ay isang maliit na tiyak. Sinasabi ko, OK, gusto kong talahanayan na ito. At pagkatapos ay gusto ko ang username haligi, at Ko ito gusto mula sa hilera na may ID 2. Iyon ay isang paraan upang gawin ang isang Pumili ng. O maaari kong sabihin, ibigay sa akin ang bawat solong username. O maaari kong sabihin, bigyan ako ng buong Ang hilera mula sa table na ito, kung saan ang username ay 1. Kaya may mga ilang iba't ibang mga paraan upang gawin Pumili ng mga query, depende sa kung gaano maraming impormasyon na gusto mo, Maaari mong palaging piliin lamang ang lahat ng bagay mula sa na partikular na talahanayan at pagkatapos ay i-loop sa pamamagitan nito, pagkuha out ang mga bagay na gusto mo. Ngunit tandaan, kung gumagamit ka ng pagpili ng maraming mga bagay mula sa isang table at mo magkaroon ng isang talagang malaking mesa, na tatagal ilang panahon, pinakamahusay na kaya upang piliin lamang mga bagay na kayo ay pagpunta upang tapusin up gamit. Gayundin, na may Pumili at sa lahat ng mga iba pang mga SQL command pati na rin, ako nagbibigay sa iyo ng bersyon hubad-buto. Ngunit sinasabi, ako ng pagpili ko mga user at gusto ko upang i-print ang mga ito out sa alpabeto, Kaya kong piliin ang lahat ng mga user at pagkatapos ay pag-uuri ang mga ito ayon sa alpabeto sa aking code. O kaya doon ay isang paraan upang isulat ang piliin query, na pinipili ang mga bagay sa isang alpabetikong fashion, batay off ng isang tiyak na hanay, alinman pataas o pababang. Kaya tandaan na, ng maraming kung ano ang iyong nais na gawin ay maaaring marahil gawin sa ang query sa pamamagitan ng isang karagdagang ipatungkol. Kaya huwag maghanap ng mga query na ito sa online o ang iba pang mga bagay na maaari mong gawin sa mga mga query upang palawakin ang mga ito. Sa wakas, ang huling bagay na nais mong gawin Hindi magpasok ng isang bagay o tanggalin isang bagay, ngunit sa halip i-update ang isang bagay. At iyon ay tapos na sa pag-update query, at muli, ano ang talahanayan. At kung ano ang pagbabagong nais kong gumawa? At kung saan hilera o record gawin Gusto kong gawin ang pagbabagong iyon? Ang anumang mga katanungan sa SQL? OK. Kaya mayroon kami tungkol sa 15 minuto. At ito ay ang huling slide Mayroon akong. At sana, ito ang huling slide ay isang magandang segue ang problema set, dahil sa pag-unawa kung saan namin nais na magpasok ng mga tala, tanggalin ang mga ito, piliin ang ang mga ito, at i-update ang mga ito ay makakatulong sa amin maunawaan ang mas malaking logic at pag-agos ng Problema Set 7. Kaya alam ko ang lahat ng mga sagot sa mga tanong na ito. Hindi ako pagpunta sa sabihin sa iyo lahat ng mga sagot. Ngunit kung ang ibang tao ay nais na ipakita ng mga tanong sa pangkat o isang sagutin sa isa sa mga tanong, kaya namin gamitin iyon bilang isang tumatalon-off point upang makipag-usap tungkol sa mga hanay problema. O kung ang isang tao ay may mas generic tanong-off ang hanay ng problema, huwag mag- -atubiling magtanong din iyon. At maaari naming simulan doon. Isaisip na ikaw pagiging tahimik ay nakakasama lahat ng tao. Oo. Madla: Kaya ay ang tanging paraan upang pumasa mga variable sa at mula sa ibang web mga pahina, o ang pinaka-maginhawa paraan, gamit ang POST o GET? Jason HIRSCHHORN: Kaya oo, iyon ay ang pinaka-maginhawang paraan upang sabihin - kapag isang tao punan ang isang form - kumuha ng impormasyon sa isa pang web pahina, gamit GET o POST. Dahil sa balangkas ng aming ginagamit sa set na ito problema, mapapansin mo na, ng maraming beses, kami render isa pang pahina. O kaya kami kami render ng isa pang file, hindi kinakailangang isa pang pahina. Kaya pumasa kami sa isang variable. At pagkatapos, ay nag-render ito ng HTML na pahina, gamit ang impormasyon mula variable na iyon. Iyon ay hindi technically pagpasa impormasyon sa pagitan ng iba't ibang mga web page. Iyon ay ang pagpasa impormasyon sa pagitan ng iba't ibang mga file. At upang maaari naming gamitin ang anumang variable upang gawin iyon. Ngunit oo, kung gusto naming pumasa impormasyon mula sa isang partikular na pahina sa isa pang pahina, GET at POST gagawin maging ang paraan upang gawin iyon. Anumang iba pang mga tanong tungkol sa itakda ang problema? OK. Sabihin pumunta sa pamamagitan, pagkatapos, ang isang tiyak na bahagi ng problema set. Ikaw ay pagpunta sa kailangan upang, sa isang punto, ipakita ang portfolio isang tao sa screen. Ano ang ibig sabihin ko kapag sinabi ko portfolio, sa konteksto ng problema sa set? Madla: Ito ay tulad ng mga stock na sila mayroon kung paano, marami pagbabahagi aari nila, ang presyo, at kung magkano pera nila na natitira. Jason HIRSCHHORN: iyan mahusay. Kaya gusto kong ipakita ang lahat ng mga stock pag-aari nila para sa bawat kumpanya ng stock pagbabahagi at marahil kung magkano na nagkakahalaga ng, at pagkatapos ng isang hiwalay na variable, kung magkano ang pera pag-aari nila. Kaya natin na nais ko upang ilarawan iyon. Ni magsimula ng pakikipag-usap tungkol sa kung paano Hayaan ng dati ko pumunta tungkol sa paggawa na, kung ano ang mga talahanayan ako pagpunta sa kailangan upang magkaroon ng upang magagawa upang gawin iyon. Oo - Madla: Well mga gumagamit, at pagkatapos, hulaan ko maaari kang gumawa ng isang talahanayan na tinatawag na Pagbabahagi o isang bagay tulad na, na magiging gaano karaming mga ito ay nai binili. Jason HIRSCHHORN: OK. Kaya pupuntahan ko kailangan ng isang talahanayan na tinatawag na Ang mga gumagamit, na sinusubaybayan ng mga username, siguro, marahil ilang mga ID, marahil password ng isang indibidwal. Ano ang ibang bagay na sa iyo Sinabi lamang na kaugnay? Isang tao bukod sa Michael, ano ang ibang bagay na kaugnay sa bawat gumagamit, natatangi sa mga ito? Madla: ID. Jason HIRSCHHORN: ID - kung ano ang isa sa iba pang mga bagay na hindi namin marahil pagpunta sa nais na ipakita sa pahinang ito? Madla: Ang kanilang mga pangalan. Jason HIRSCHHORN: Ang kanilang mga pangalan - kung ano ang isa pang bagay na kaugnay nito itakda ang partikular na problema? Madla: Ano ang mga stock-aari nila - Jason HIRSCHHORN: Mayroon ay pagpunta sa maging ng maraming kung ano ang mga stock-aari nila. Ano ang isa sa mga partikular na halaga bagaman, na sila ay pagpunta sa may nauugnay sa mga ito? Paano sila pagpunta sa bumili at ibenta ang kanilang mga stock? Madla: Cash. Jason HIRSCHHORN: Ang mga ito ay pagpunta sa may cash. Kaya ang bawat gumagamit ay pagpunta sa may isang halaga para sa cash. At na pupuntahan maging natatangi sa bawat gumagamit. Kaya sa talahanayan ng gumagamit, ito ay ginagawang kahulugan ang ilalagay sa cash. Maaari mong, siyempre, lumikha ng isa pang mesa na may mga ID ng gumagamit at ang kanilang mga halaga ng cash. Ngunit ito ay hindi magkaroon ng kahulugan. Ito ang akma upang ilagay lamang lahat ng na sa isang table. Kaya kami ay pagpunta sa magkaroon ng isang talahanayan may impormasyon na iyon. At pagkatapos ay, kung ano ang iba pang mga talahanayan kami ay pagpunta sa may? Sinabi mo, isang Stocks talahanayan. Ano ang paglalagay sa kami ang talahanayan Stocks? Sinuman, mga ideya - Madla: ang kumpanya. Jason HIRSCHHORN: Kami ay pagpunta ang ilalagay sa pangalan ng kumpanya, kaya AAPL para sa Apple. Oo. Madla: Gaano karaming mga share at kung magkano ang mga ito nagkakahalaga. Jason HIRSCHHORN: Gaano karaming mga share, kung magkano ang mga ito nagkakahalaga - kung ano ang iba pa namin kailangan sa table na iyon? Madla: Ang isang user ID na i-index ito. Jason HIRSCHHORN: Isang User ID. Kaya sa talahanayan na, kami ay marahil ay may - sabihin nating, kung ito ay isang tao na nagmamay-ari tatlong stock, tatlong mga hilera, bawat isa ay may na user ID o gumagamit na indibidwal ID, ngunit isang iba't ibang mga pangalan ng kumpanya, isang iba't ibang mga numero ng pagbabahagi siguro, at ng ibang halaga ng presyo para sa bawat ng mga stock. Muli, kung ano ako sinasabi ngayon ay hindi kinakailangan ang pagpapatupad, dahil natanto mayroong ilang higit pa mahusay na paraan upang ipatupad ito. Ngunit ito ay isang magandang lugar upang magsimula. OK. Kaya mga ay ang dalawang mga talahanayan mayroon kami. Ngayon gusto naming ipakita ang pahinang ito. Ano ang unang uri ng query Gusto naming kailangang gawin. Sa bawat pahina, ipinapalagay na ang isang user ay log in, mayroon kaming ang kanilang mga user ID. Kaya kung ano ay ang unang uri ng Query kailangan namin upang gawing? Oo. Madla: Ang kanilang mga user ID. Jason HIRSCHHORN: Mayroon kaming kanilang mga user ID, kapag kami ay nagsisimula sa code na ito sa simula ng aming pahina. Kaya ano ang unang uri ng namin query kailangang gawin, ibinigay na ID ng gumagamit? Nagpunta kami ng mahigit sa apat na uri. Mayroong apat lamang mga posibleng sagot. Madla: Ito ay pumili ng isang talaan. Jason HIRSCHHORN: Isang Pumili - gusto naming pumili mula sa mga gumagamit talahanayan upang makakuha ng, sabihin nating, ang kanilang mga halaga ng cash. At maaari naming i-print ang halaga ng cash sa tuktok ng screen. OK. Ano ang susunod na uri ng Query gusto naming gawin? Mayroon kaming ilang mga iba pang mga bagay kailangan namin na ipapakita. Yaong ay naka-save sa isa pang table. Kaya paano kami makapupunta upang makakuha ng mga iyon? Madla: Piliin mo para sa kanila. Jason HIRSCHHORN: Isang Piliin - muli, mayroong mga pagpipilian sa apat lamang. Piliin marahil tunog tulad ang tama. Kaya kailangan naming gawin ang isa pang piliin ang query, muli gamit na user ID. At ngayon, nais naming ibalik hindi isa lang hilera, bu lahat ng mga hilera na tumutugma sa aming pamantayan, na kung saan ay katumbas ng user ID 1. At pagkatapos ay maaari naming pumunta at hayaan ang isang loop lamang i-print ang lahat ng mga out sa screen, siguro i-print ang kumpanya mula sa bawat isa sa ang mga nasa screen. Mahusay, na tunog tulad ng na pagpapakita ng isang portfolio, hindi marami pang iba kumplikado kaysa sa na. OK, pagkatapos ay nagpasiya ang gumagamit na sila na maraming pera natira. At gusto nilang bumili ng ilang mga higit pang pagbabahagi ng isang stock. Sabihin natin, na pagmamay-ari nila stock masyadong kumpanya na ito. Kaya't pumunta sila sa iyong pahina ng pagbili. Input pangalan ng kumpanya nila. Ano ang query, pagkatapos ng pag-input ang pangalan ng kumpanya, na kailangan mong isakatuparan susunod? Oo. Madla: Update. Jason HIRSCHHORN: I-update - at kung ano ang talahanayan ang gusto mong i-update? Madla: Ang kanilang mga talahanayan, batay sa kanilang mga numero ng ID? Jason HIRSCHHORN: Kaya i-update Hindi talahanayan ng gumagamit - kaya i-update ang talahanayan Stocks, kung saan ang Tumutugma hindi lamang user ID, ngunit ang pangalan stock tumutugma rin. Makakakuha ka ng ilang mga halaga. At pagkatapos, makikita mo nais na kunin ang halaga na at magdagdag ng mga gayunpaman maraming mga stock nila nais na bumili ng ito. Kaya mo ayaw na nang walang taros patungan ang halaga. Ngunit maaari mong, sa katunayan, tumagal na paunang Pinahahalagahan at i-update lamang ito. Maaari mong gawin tulad ng plus katumbas, sa halip na isang katumbas lamang. Ano ang isang bagay kahit na - kung hindi kami nag-iisip tungkol sa ito at gusto naming maging bilang malakas na hangga't maaari - dapat naming gawin bago namin mapatakbo sa query na iyon pag-update? Gusto nilang bumili ng limang taon ng Apple. Ang bawat bahagi ng Apple ay $ 200. Madla: Dapat nating unang suriin pera. Jason HIRSCHHORN: dapat namin suriin muna ang pera. Dapat nating tiyakin na sila walang sapat na pera. Anong uri ng mga query maaari naming execute sa siguraduhin na mayroon silang sapat na pera? Madla: Isa pang Piliin. Jason HIRSCHHORN: Isang Pumili - piliin namin batay sa kanilang mga user ID, upang makuha ang kanilang mga halaga ng cash. Gawin ang ilang mabilis na matematika. At kung pass na talaan ng mga tinipong tao, mayroon silang sapat na cash. Pagkatapos ay maaari naming patakbuhin ang aming mga update. O siguro, kung hindi, pagkatapos ay ipasa namin. Bigyan namin sila ng babala. OK. Sabihin nating wala silang isang kumpanya. Ang mga ito ay bumibili ng isang bagong kumpanya. Ang mga ito ay pagbili ng Microsoft. Anong uri ng mga query nais naming gawin, kung nais nilang bumili ng Microsoft? At hindi nila pag-aari ng anumang Microsoft. Hindi Manu, kahit sinong tao, kahit sino bukod sa Marcus? Carlos - Madla: Isang Pumili ng, upang matiyak mayroon silang sapat na pera. Jason HIRSCHHORN: Magaling. Madla: At pagkatapos mong ipasok ang sa [hindi marinig]. Jason HIRSCHHORN: Eksaktong, kami ay pagpunta sa nais upang ipasok sa talahanayan Stocks. At kami ay pagpunta sa nais upang ipasok. Maaari naming isingit ang kanilang mga ID ng gumagamit, ang pangalan ng kumpanya, at kung gaano karaming mga share nais nilang bumili. Ano ang ilang mga iba pang mga pagpapaandar na mga pahina o mga pag-andar ikaw ay pagpunta sa mayroon na ipapatupad sa P-Set 7, na dapat naming pumunta sa ibabaw? Madla: talaga, uri ng ko mayroon isang tanong tungkol sa isang ito. Bago ka ipakita ang portfolio, dapat ka website ng Yahoo upang sumusuri siguraduhin na ang mga presyo ng stock Hindi nagbago? Jason HIRSCHHORN: Iyon tunog tulad ng isang magandang ideya. Kaya kung ano ang sinasabi Marcus sabihin, OK, stock mga presyo ay patuloy na nagbabago. Sa stock na pagmamay-ari nila talahanayan, ang aming talahanayan na tinatawag na Stocks, ma-save namin ang presyo ng stock binili nila ito sa. Ngunit iyon ay hindi mukhang na matatag, dahil ang presyo ng stock ay Patuloy pagpunta upang baguhin. Kaya sa katunayan, marahil ay hindi na kailangan upang i-save ang presyo ng stock. Ngunit sa bawat oras na ipakita ang kanilang mga portfolio, mo i-refresh o i-update ang presyo ng stock. At kung mayroon kang - at mayroon ka na. Alam ko ang lahat sa iyo Tiningnan sa Nagtatakda pabalik na problema. Ikaw ay natanto na na naisulat namin ilang code para sa iyo na magpapahintulot sa iyo upang makuha ang presyo ng isang stock, ibinigay na pangalan ng kumpanya. Kaya oo, na marahil tunog medyo mas matatag. Ngunit talahanayan na ay hindi kinakailangang kailangan upang i-save ang presyo ng stock. OK. Ano ang ilang mga iba pang mga pag-andar sa iyo kailangan ipatupad ang linggo na maaari naming makipag-usap tungkol sa? Gusto kong makipag-usap tungkol sa mga ito. Ano ang gusto mong pag-uusapan? Ito ay marahil sa spec na ito. Gusto ko mag-scroll pababa lamang hanggang sa ibaba ng spec at hilingin sa akin ang unang salita mong makita na hindi magkaroon ng kahulugan. Ang isa sa iba pang mga pag-andar - usapan natin ang tungkol sa isa ipaalam. Sisimulan naming doon. Madla: Pagre-record ng mga kasaysayan. Jason HIRSCHHORN: Recording ang kasaysayan, mahusay na isa. Kaya ka pagpunta sa may upang masubaybayan ng isang kasaysayan ng transaksyon. Kaya gusto ninyong subaybayan ng bawat na beses silang bumili o magbenta ng isang stock. Binili ko ang aking stock. Sinabi lang namin, marahil ito ang may katuturan magsama ng isang Pumili, upang makuha ang kanilang halaga ng cash at bumalik muli. Ito ay malamang na ang smart pagkatapos magsama ng isang isingit o isang update, depende sa man o hindi ang pag-aari nila na stock. Kung gusto rin naming subaybayan ang mga isang kasaysayan, kung paano namin maaaring gawin iyon? Ba na pumunta sa table Stocks? Madla: Hindi. Jason HIRSCHHORN: Walang marahil ito napupunta sa ibang table. Dahil sabihin bumili ka 10 pagbabahagi ng Apple. Pagkatapos bumili ka ng isa pang 10 pagbabahagi. Gusto mong hilahin ng lubid hiwalay na mga talaan. Yaong ay dalawang magkahiwalay na mga transaksyon. Kaya mayroon kaming isa pang table, isang Kasaysayan ng talahanayan. Kaya muli, bumili namin. Kami magsagawa ng isang Pumili ng, pagkatapos ay i- isang Insert o isang Update. Ano ang gagawin namin susunod? Ano ang susunod na query sa execute namin kapag kami ay pagbili ng isang bagay? Gusto naming subaybayan ang kasaysayan. Oo. Madla: gusto mong subaybayan ng Nabigo masyadong transaksyon. Jason HIRSCHHORN: Well, bago namin sabihin kung anong uri ng transaksyon, ano ang gusto naming - Anong uri ng query, Carlos, gagawin daan sa amin upang subaybayan ang ng mga bagay na sa pangkalahatan? Mayroon kang apat na guesses. Aling isa ang tingin mo? Madla: Ina-update. Jason HIRSCHHORN: Di-update. Ano ang inyong pangalawang hula? Madla: Ang pagpili. Jason HIRSCHHORN: Kung gusto mong itabi track ng isang bagay, marahil ay gusto mo upang isulat ito sa isang lugar o i-save ito para sa ibang pagkakataon. Kaya kung hindi i-update, pagkatapos - Madla: Magpasok ito. Jason HIRSCHHORN: Insert, doon pumunta kami. Oo, kaya piliin mo ang halaga ng cash mayroon sila, tunog mahusay. Wala silang sapat na cash. Transaksyon na hindi pagpunta sa gumana. Hindi, hindi mo na kailangang subaybayan ang isang transaksyon kung ito ay hindi gumagana. O maaari mong, kung nais mong bigyan sila ng isang hard oras. Ngunit hindi mo na kailangang. Pagkatapos, mong ipasok o i-update sa kanilang mga talahanayan Stocks. At ngayon, mayroon kang ang iyong iba pang mga talahanayan. Mayroon kang iyong talahanayan ng kasaysayan o kahit anong gusto mong tawagan ito. At sa table na iyon, ikaw ay pagpunta upang ipasok ang bagong hilera. Iyon ay marahil pagpunta sa may ID ng user. Marahil ito ay pagpunta sa may ang pangalan ng stock. Marahil ito ay pagpunta sa may isang oras na ginawa nila ito. At sa kasong ito, ll marahil nais upang ipasok ang presyo. Dahil para sa isang kasaysayan, hindi mo gusto pakialam kung ano ang kasalukuyang presyo ay. Na mahalaga sa iyo kung ano ay ang presyo kapag sila binili o ibinebenta ng isang bagay. Kaya ito tunog tulad ng, upang ipatupad ang pagbili ganap na nagsasangkot ng isang bilang ng iba't ibang Mga query sa SQL, Ngunit totoo lang, hindi na magkano ang code sa pangkalahatan. OK. At na tumatagal ng pag-aalaga ng kasaysayan. Sabihin nating, nais naming ipakita ang aming kasaysayan. Usapan natin ang tungkol sa pagpapakita ang aming portfolio. Paano mo ire naming ipakita ang aming kasaysayan? Madla: siguro chronologically. Jason HIRSCHHORN: siguro chronologically - kung ano ang query sa tingin mo na gusto naming gamitin? Madla: Ang isang piliin ang. Jason HIRSCHHORN: Isang piliin - piliin siguro lahat ng mga hilera mula sa talahanayan na na tumutugma sa user ID at pagkatapos ay ipakita ang mga ito chronologically, Maganda iyan. Huwag kailangan namin upang isulat ang code upang pagbukud-bukurin sa pamamagitan ng listahan na iyon? Madla: Hindi, dahil ikaw sinabi sa amin doon ay isang pataas na at pababang bagay. Jason HIRSCHHORN: bagay? Madla: Oo. Jason HIRSCHHORN: Oo. OK, huwag i-sa code sa akin, na manu-manong mga klase sa pamamagitan ng iyong query, upang pagbukud-bukurin ang mga ito. Code na na ibinigay. Maaari kang magsulat ng isang Pumili ng query na uri ng bagay. Pagsunud-sunurin ayon sa kanila sa simula pa at pagkatapos ay i-print ang mga ito out. Ito ay ginagawang kaya magkano ang higit pa pakiramdam na gawin ito na paraan, kaysa sa iba pang paraan. Oo. Madla: Huwag kailangan naming i- -uri-uriin ang mga ito sa simula pa? Ba na ibig mong sabihin-uri ang mga ito sa database? Jason HIRSCHHORN: Ang Pumili ng query Ibinabalik ng mga ito sa iyo pinagsunod-sunod. Kaya gawin iyon, sa halip na mayroon ang mga ito lamang bumalik sa iyo sa isang random na pagkakasunod-sunod at pagkatapos ay i-uri-uriin ang mga ito sa iyong sarili. Oo. Madla: Mayroon bang paraan upang panatilihin itong pinagsunod-sunod sa mismong database, upang hindi mo kailangang i-uri-uriin ito sa bawat oras na - Madla: Maaari mong ipasok ito pinagsunod-sunod? Jason HIRSCHHORN: Tanong - ay ito mahalaga na bagay ang pinagsunod-sunod sa database? Madla: Hindi. Jason HIRSCHHORN: Well, ang mga ito ay pinagsunod-sunod. Ang mga ito ay pinagsunod-sunod chronologically. Ngunit ni ipagpalagay na ang mga bagay ay pinagsunod-sunod hayaan chronologically, mula sa itaas hanggang sa ibaba. Mayroon kaming isang Google form. Sa tuwing ang isang tao ay tumugon sa aming Google bumuo, lang maipo ilalagay sa ibaba ng talahanayan na. Mahalaga ba ito na bagay ang pinagsunod-sunod hindi chronologically? Madla: Kung ito ay hindi magkakasunod, huwag mayroon kang upang ayusin ito sa bawat oras mong kumuha ng impormasyon. Ngunit kung na-pinagsunod-sunod, hindi magagawa mo Hindi mo na kailangang gawin iyon karagdagang pag-andar ng tawag? Jason HIRSCHHORN: Kaya na talagang isang magandang punto. Para sa amin bilang mga programmer, maaaring ito mahalaga. At maaari naming nais upang makahanap ng isang database na hindi pagbukud-bukurin bagay chronologically. O kaya i-set up ang aming database, kaya ito ay nagpapanatili bagay na pinagsunod-sunod sa pamamagitan ng user ID. Kaya na paraan, sabihin nating, mayroon kami 1,000 mga ID ng gumagamit. O Facebook, mayroon kaming milyun-milyong ng mga ID ng gumagamit. Hindi namin gusto ang aming talahanayan upang maging lamang random o sa aming database upang maging random. Mas maganda kung ang lahat ng mga mga ID ng gumagamit ay pinagsunod-sunod. Kaya pagkatapos naming patakbuhin ang binary paghahanap sa aming mga talahanayan at pagkatapos lamang mahanap ang tiyak na tipak. Kaya oo, depende sa - kung naka-scale up namin, maaari naming nais upang makahanap ng isang database na pinananatiling bagay na pinagsunod-sunod sa isang iba't ibang mga paraan, sa gayon ang mga query na ito Gusto tumagal ng mas kaunting oras. At hindi namin ginawa magkaroon upang pumunta sa pamamagitan ng aming buong database sa bawat solong hilera sa isang naibigay na table. Ngunit ang antas nagsusumikap kami sa, namin Hindi kailangang mag-alala tungkol sa pagpapanatiling bagay na pinagsunod-sunod. Maaari naming ipagpalagay na ang oras na aabutin sa query na iyon upang mapatakbo ay magiging bale-wala, na ibinigay kung ano kami ay pagharap sa. Ngunit oo, mahusay na ideya - bilang masukat up namin, maaari itong magkaroon ng kahulugan upang mag-disenyo ang aming database sa isang bit ng isang iba't ibang mga paraan. Isang huling database disenyo bagay na gusto ko banggitin pati na rin, dahil habilin mo ay namarkahan, o nakapuntos sa halip, sa ang disenyo ng iyong database. Usapan natin ang tungkol dito. Cash ay natatangi sa bawat gumagamit. Kaya mayroon ka ng isang talahanayan na tinatawag na cash na May kanilang mga ID ng gumagamit at ang kanilang mga halaga ng cash at pagkatapos ay isang talahanayan na tinatawag na mga user na may kanilang mga gumagamit ID at ang kanilang username. Yaong mga talahanayan ng map sa bawat isa iba pang mga isa-sa-isa. Ito marahil ang akma para sa ang mga ito upang maging isang table. Kaya sabihin ipagpalagay na mayroon kang isang user mesa na sinusubaybayan ng ang mga user name at cash. Mayroon ka na ngayong isang talahanayan na may mga stock sa isang indibidwal na nagmamay-ari. At maaaring nagmamay-ari ng isang indibidwal higit sa isang stock. Kaya ang mga hindi-map papunta sa bawat iba pang mga isa-sa-isa. Hindi ito magkaroon ng kahulugan upang magkaroon ng isa higanteng mesa na may 30 mga talaan na lahat ulitin ng username, na ang lahat ulitin ang isang password, na ang lahat ulitin ang isang bilang ng mga cash. Ngunit ang bawat isa ay marahil isang iba't ibang mga stock pangalan o isang magkaibang presyo ng stock. Hindi ito magkaroon ng kahulugan na magkaroon na maraming mga malaki mga tala. Maging matalino tungkol sa kapag lumikha ka ng mga mga database, sa gayon ay hindi ang iyong ginagawa isang bagay walang isip tulad na, paulit-ulit na ng maraming mga hindi kailangang impormasyon. OK. Mayroon kaming dalawang minuto ang natitira. Mga tao sa labas ay nasasabik na sumali amin o marahil, siguro, simulan ang kanilang sariling mga klase. Kahit sinong mayroon ba kayong mga katanungan bago namin matapos ang pag-up? OK, ito ay sa katunayan isang ipoipo sa pamamagitan ng lahat ng bagay. Humihingi ako na ito ay nagkaroon na maging kaya mabilis at na hindi namin maging kasing hands-on sa linggong ito bilang Gusto ko nai Nagustuhan upang naging. Ngunit kung mayroon kang anumang mga katanungan tungkol sa kahit ano kami nagpunta sa ibabaw o anumang bagay sa itakda ang problemang ito - mapangahas basahin mo ito at ilagay sa isang pagsisikap magandang-loob - huwag mag-atubiling mag-email sa akin o makipag-ugnay sa akin. Nagagalak akong higit pa sa masaya upang gumana sa pamamagitan ng ang iyong code sa iyo o sagutin ang anumang mga tanong na mayroon ka. Isaisip na, ngayong linggo, ng maraming ang iyong oras ay ginugol sa pag-aaral ang bagong syntax at sinusubukang i-maunawaan kung paano magsulat ng SQL query o PHP mga pag-andar o deal na may isang MVC framework. Ang isang pulutong ng iyong oras ngayong linggo marahil ay hindi sinusubukan upang malaman kung ang mabaliw logic na hindi namin humihiling sa iyo na gawin. Ang isang pulutong ng mga ito nagpunta kami sa ibabaw lamang ay medyo prangka. Kaya na ay hindi nangangahulugan na maghintay hanggang sa huling minuto. Pero ang ibig sabihin isaayos kung paano gawin mo ang iyong gumana nang naaayon, upang matiyak ka sa pag-unawa at pag-aaral ang syntax. Kaya ikaw ay hindi, ang lahat ng isang biglaang, pag-alam kung ano mismo ang gusto mong gawin, ngunit na walang mga ideya kung paano eksakto isulat ito. OK, kukunin ko na nakikita mo sa susunod na linggo.