[მუსიკალური სათამაშო] დინამიკები 1: ყველა უფლება, ყველას. კეთილი იყოს თქვენი ბოლო მონაკვეთზე ჩემთან ერთად. ეს იყო საკმაოდ სემესტრში. მე არ მჯერა, რომ ეს არის, ისევე, კვირაში 12 ან 11, რაღაც რომ. არამედ იმიტომ, რომ ეს არის ჩვენი ბოლო განყოფილებიანი, ჩვენ გვაქვს უამრავი candy. და მე ვაპირებ ცდილობენ და მოსამზადებელი, ისევე, როგორც მე შეგიძლიათ თქვენი ვიქტორინა ოთხშაბათს. ასე რომ ალბათ არ არის საუკეთესო გზა, როგორიცაა, ბოლოს მონაკვეთის Quiz მიმოხილვა. მაგრამ ჩვენ შევეცდებით და გართობა. და იქ ყოველთვის candy. ასე რომ, იმედია, რომ ამას უკეთესი. თქვენი ვიქტორინა იქნება საკმაოდ ბევრად იგივე როგორც Quiz Zero. ეს იქნება იმავე ფორმატში, იმავე სიგრძის. თქვენ გექნებათ ოთახი მიმოფანტული მთელ კამპუსში, იმიტომ, რომ იქ ახლოს ვართ 900, და ჩვენ არ შეგვიძლია ყველა გამართავს თქვენ ოთახი მოსწონს ეს. ასე რომ დარწმუნებული უნდა შევხედოთ ყველა Quiz One დოკუმენტაცია ონლაინ cs50.harvard.edu დღეს ან ხვალ. დარწმუნდით, რომ თქვენ იცით, სადაც თქვენ აპირებს, რაც თქვენ უნდა მოიტანოს. მართლაც, თქვენ უბრალოდ უნდა მოუტანოს თავის და ფანქარი, და თქვენ უნდა იყოს ჯარიმა. კითხვები იქნება ძალიან იგივე. ალბათ იქნება რამდენიმე მრავალჯერადი არჩევანი, რამდენიმე მოკლე პასუხი, კოდირებას, შესაძლოა, რამდენიმე ნამდვილი / ყალბი, შესატყვისი სახის ნივთები. ასე რომ თქვენ არ უნდა იყოს ძალიან გაკვირვებული ფორმატში. რა შეიძლება იყოს გასაკვირი არის სიგრძე, რომელიც, როგორც წინა წლებში, უკვე ბევრად უფრო. ჩემი წელი, მე არ მაქვს ერთი მეგობარი მახსოვს, დასრულების გამოცდა. იქ, როგორიცაა გაფანტული გვერდები დარჩა ცარიელი. ასე სიგრძე შეიძლება იყოს სახის disorienting მხოლოდ იმიტომ, რომ რამდენიმე წლის, მას აქვს უკვე ბევრად აღემატება Quiz ერთი. მე არ ვიცი რა ეს როგორი იქნება წელს, მაგრამ რაღაც უნდა იცოდეს. გარდა ამისა, difficulty-- ადამიანი, როგორც წესი, მოძიების Quiz ერთი ბევრად უფრო რთული, ვიდრე Quiz Zero. ერთხელ, თქვენ იცით, თუ თქვენ სახის ფეხით შეგრძნება ცოტა მძიმე, რადგან თქვენ არ ისევე, როგორც თქვენ ეგონა, თქვენ, რომ ან თქვენ თავს თქვენ არ , ისევე, როგორც თქვენ გააკეთეთ Quiz ერთი, გვახსოვდეს, რომ არსებობს, ალბათ, ბევრი სხვა ადამიანი შეგრძნება, რომ გზა. მე ნამდვილად ერთი იმ ხალხს. Quiz ერთი, ისევე, ესროლა ჩემთვის loop. და ჩემი მეგობრები ამ დიდი სურათი მათგანი JP Licks სახის ამ უზარმაზარი sundaes, რომ ისევე, როგორც, Quiz ერთი, და ეძებს, როგორც ისინი ცრემლები. ასე რომ, ეს მისადმი. ეს მკაცრი გამოცდა, ეს რთული ვიქტორინა. ცხადია, თუ თქვენ გამოვიდეს და თქვენ გრძნობს, როგორც თქვენ დაატყდა მას, დიდი თქვენთვის. მაგრამ ვიცი, რომ თქვენ ალბათ not-- თქვენ თითქმის ყველაზე ნამდვილად არ მარტო თუ თქვენ ფეხით out შეგრძნება მოსწონს, eh, ალბათ შეეძლო მიღებული უკეთესი. ეს მკაცრი. მმ-hm. აუდიტორია: როგორ ღირს დაკავშირებით [INAUDIBLE]? დინამიკები 1: ეს ღირს იგივე. Yeah. მაგრამ კიდევ ერთხელ, ეს ასევე იქნება დაზარალებული თუ როგორ დანარჩენი კლასი ასეა, როგორ თქვენი მონაკვეთზე აკეთებს, როგორ თქვენ გაუმჯობესდა, დროთა განმავლობაში. შეფასების არის ცოტა შავი ყუთი. ასე რომ, რა ფაქტობრივი რაოდენობის ან პროცენტული თქვენ მიიღებთ არ არის აუცილებელი, მინდა პირდაპირ კორელაციაშია grade თქვენ აპირებთ მისაღებად. არსებობს უამრავი ფაქტორები, რომლებიც წასვლას იგი. ასე რომ, ჩვენ ვაპირებთ გაიაროს გარკვეული ინტელექტუალური მიმოხილვა. მე უბრალოდ აპირებს ამ როგორიცაა ბოლო დროს თქვენ ბიჭები. მაქვს ყველა პასუხი ვიქტორინა ერთი შარშან. ასე რომ, თუ თქვენ ბიჭები მინდა გაიყვანოს რომ up საკუთარ კომპიუტერები, თუ თქვენ მიღებული ამ გამოცდის ადრე და თქვენ გაქვთ შეკითხვები, მე ვფიქრობ, ჩვენ შეგვიძლია უბრალოდ გავლა ზოგიერთი უფრო რთული, რომ. ასე რომ, ჩვენ შეიძლება ვისაუბროთ, იქნებ ცოტა უფრო რისთვისაც შევიდა ინტუიცია უკან ზოგიერთი ამ კითხვებზე, თუ როგორ უნდა მივუდგეთ მათ. ისევე, როგორც ბოლო დროს, მაქვს 100-slide deck რომ აქვს ძირითადად ყველა სლაიდები, რომ მე მზად წინა განყოფილებები თქვენი ბოლო ვიქტორინა I აქვს ამ deck. ასე რომ, ჩვენ შეიძლება გავლა საკმაოდ ბევრი რამე რომ ჩვენ ვისაუბრეთ წინასწარ რომ იქნებ მინდა ცოტა მეტი განმარტება,. ჩვენ შეგვიძლია გავაკეთოთ, რომ პირველი. მაგრამ სხვაგვარად, მე სუპერ ბედნიერი მხოლოდ სახის მუშაობა მეშვეობით ამ პრობლემების თქვენთან ერთად. და მე ნამდვილად აქ ფოკუსირება, თუ რა ბიჭები ვფიქრობ, ეს იქნება ყველაზე მნიშვნელოვანი ფოკუსირება. როგორიცაა, რა თქმა უნდა, ყველა ამ პერსონალის არის მნიშვნელოვანი. განსაკუთრებით როგორც ჩვენ გაიაროს Quiz ერთი, მე აუცილებლად აღვნიშნო, რამ, როგორიცაა, oh, ეს შეიძლება იყოს რაღაც თქვენ ნამდვილად გსურთ ვიცი თუ გსურთ, რომ თქვენი cheat ფურცელი. მე გეუბნები რამ როგორც ჩვენ სახის გავლა. ასე რომ შენიშვნა, არსებობს რაიმე რამ რომ თქვენ ბიჭები მინდა წასვლა ზე? გარდა ამისა, თუ მე არ მაქვს ეს ჩემი deck, ჩვენ შეგვიძლია დახევის up რაღაც ინტერნეტში, ან ჩვენ შეგვიძლია ცდილობენ და მიიღოს up მაგალითად on the fly. მაგრამ ნებისმიერი ცნებები, რომ თქვენ ბიჭები არიან პატარა საეჭვო შესახებ. [? Brian,?] ხომ არ ფლობის აუდიტორია: Oh, არის კუმულაციური? როგორიცაა, არის პერსონალის Quiz ნულოვანი იქნება აქ? დინამიკები 1: ეს არის კუმულაციური, მაგრამ ეს ბევრად უფრო აქცენტი რამ თქვენი ბოლო ვიქტორინა. ამიტომ ცხადია, რომ თქვენ ბიჭებს აქვთ შეიტყო ცვლადები და მარყუჟების, და პირობით. და ეს არ მომწონს, უბრალოდ მიდიან, იმიტომ, რომ ისინი ცხადია, თანდაყოლილი ყველაფერი სხვა რომ ჩვენ ვისწავლეთ არის. შეიძლება იყოს კითხვა on სახის, ან არსებობს შეიძლება კითხვა სხვადასხვა ძიება. ან შეიძლება იყოს წყვილი კითხვები იქნებ რაღაც მქონე გავაკეთოთ შედგენა ან სხვადასხვა შეცდომები. მაგრამ თუ თქვენ შევხედე Quiz One გასულ წელს, თქვენ შეამჩნევთ, რომ ეს არის ძალიან ორიენტირებულია რამ რომ არ მოხდა თქვენი ბოლო ვიქტორინა. რატომ არის, რომ კარი ყოველთვის ჩაკეტილი? ეს ნამდვილად აწუხებს. იმიტომ, რომ მე ყოველთვის ვცდილობ გავლა. ასე რომ საკმაოდ ბევრი როგორ ვიქტორინა იქნება. ასე რომ, არსებობს რაიმე ცნებები, ბიჭები სურს წასვლა მეტი? ან ჩვენ შეგვიძლია ხტომა მარჯვენა უბრალოდ ეძებს Quiz One გასულ წელს და სახის აპირებს პრაქტიკაში კითხვები არსებობს. ჩვენ ასევე შეგიძლიათ გადახვიდეთ წინ და უკან. ეს არ არის ერთჯერადი რამ. ნებისმიერი კითხვები? დიახ. აუდიტორია: იქნებ მე ვთხოვ კითხვაზე, თუ რა another-- დინამიკები 1: კიდევ ერთი? აუდიტორია: ეს არის კიდევ ერთი წელი. დინამიკები 1: ჰო. ასევე შეგვიძლია გავაკეთოთ ერთი წლით. აუდიტორია: OK. ასე 2011 წლის. დინამიკები 1: 2011. Ooh, რომ იყო ერთი წლის წინ ჩემთვის. ნება მომეცით დახევის up. აუდიტორია: ვფიქრობ. დინამიკები 1: ეს ასპექტი თანაფარდობა სროლა ჩემთვის off. აუდიტორია: 11 და 12. დინამიკები 1: 11 და 12. OK. ისე, აქ, რატომ არ უნდა გავაკეთოთ ეს? თქვენ ბიჭები ყველას უბრალოდ მიიღოს რამდენიმე წუთი გაეცნონ ტესტებში. და ჩვენ შეადგინონ სია. და მაშინ ჩვენ გავლა მათ. ყველა უფლება? მიუხედავად იმისა, რომ მე bunch ამ პერსონალის შეიქმნა. OK. მე უბრალოდ აპირებს დაწერა რამ ქვემოთ ქაღალდზე. 2011, 11 და 12? მე უბრალოდ აპირებს შეცვალოს ეს ჩვენება. OK. რომ უკეთესია. ამ დასრულდა. ყველა უფლება. ვინმეს აქვს რაიმე, რომ მათ მინდა დავიწყოთ? ასევე, დაავიწყდა იმის თქმა, თუ გსურთ მეტი რამოდენიმე ადამიანი საუბარი თქვენ და მხოლოდ გაძლევთ crack რა თქმა უნდა, ბოლო ექვსი კვირის განმავლობაში, ჩვენ გაშვებული მიმოხილვა სესია 7:00 8:30 დღეს Northwest B103, რომელიც ასევე მოხდა ბოლო დროს, სადაც ის აპირებს ჩემთვის, Hannah, Daven, ერთად Gabe და რობ სახის ეხმარება საწყისი პარალელურად, უბრალოდ სახის სროლა ყველა ინფორმაცია, რომ თქვენ შეიძლება გსურთ, რომ თქვენი cheat ფურცელი, ხაზი, ვიცი, ზოგადად არსებობს. აუდიტორია: ეს ასევე ონლაინ, არა? დინამიკები 1: ეს არის ასევე ონლაინ რეჟიმში. ასე რომ თქვენ შეგიძლიათ ასევე დარჩება ამ icky ამინდი, მიმართეთ თქვენი dorm, და ცოცხალი ნაკადი მას, თუ გსურთ. დარწმუნებული ვარ, ბევრი people-- ვიცი მე აკეთებს, რომ თუ თქვენი ფეხსაცმელი. OK. ასე რომ, რატომ არ უნდა დაიწყოს with-- ხოლო თქვენ ბიჭები იმედია, ვეძებთ მეშვეობით. თუ არა, მე შეიძლება მხოლოდ დაიწყოს მუშაობა სხვადასხვა რამ Quiz One გასულ წელს თუ თქვენ კონკრეტული კითხვები. ჩვენ დავიწყებთ ამ კითხვა აქ stacks. ასე რომ, ჯერ ყველას გვახსოვდეს, სახის რა სტეკი არის? როგორ ჩვენ, როგორც წესი, რომელთა მიზანია შეიძლება ვინმეს უბრალოდ მისცეს me ზოგადი აღწერა დასტის? A ტიპის მონაცემების სტრუქტურას. OK. ასე რომ, ეს არის ერთ-ერთი მონაცემთა სტრუქტურები, რომ ჩვენ ველით თქვენ ნაცნობი ერთად, როგორიცაა stacks, მასივები, რიგები, სხვ. დიახ. აუდიტორია: Like პირველი წელს, ბოლო, რაღაც. დინამიკები 1: ეს არის პირველი, ბოლო Out. ზუსტად. ამიტომ დასტის არის ზუსტად ის, რაც ჩვენ, როგორც წესი, ვფიქრობ, როდესაც ჩვენ ვფიქრობთ, დასტის რამ. ამიტომ დასტის ფირფიტები. პირველი დისკო ჩასახშობად იქნება ბოლოში, და ეს იქნება ბოლო ერთი, რომ თქვენ ამოიღონ დასასრულს. იმიტომ, რომ ისინი დააწყობს. და შენ ერთი, ბოლოში, როგორც წესი, რამ ავარიული და შესვენება. ასე stacks შეგიძლიათ წარმოიდგინოთ, უბრალოდ მინდა დასტის ფირფიტები. ან, მაგალითად, ჩვენ ყოველთვის სურს გამოიყენოს არის D დარბაზები, თქვენ გაქვთ ქაღალდის, ისინი ყველა stacked up, და შენ ზემოდან. ასე რომ, ბოლო ერთი პირველია out. OK. ასე, რომ აქ, ჩვენ ვხედავთ ჩვენ ფლობის მაინტერესებს თუ შეიძლება რეალურად მიუახლოვდით ცოტა. ამიტომ ამ struct აქ. არა? ასე რომ თქვენ უნდა გარკვეული struct, რომელსაც აქვს ზოგიერთი int ნომრები მოცულობა. ასე რომ, რას ვფიქრობთ, რომ წარმოადგენს? ეს არის მასივი ზომა შესაძლებლობების. ასე რომ, ეს ნამდვილად წარმოადგენს ჩვენი დასტის ზოგადად. ჩვენი დასტის მართლაც მხოლოდ მასივი რამდენიმე კომპლექტი ნომერი ეს არის მისი max, რომ არის, მისი მოცულობა. და მაშინ ჩვენ გვაქვს int ზომა, რომელიც აკონტროლოთ ზომა ჩვენი დასტის მთელი კურსი როდესაც ჩვენ არ ვიყენებთ მას. OK? ამ შემთხვევაში სწორედ აქ, ჩვენ ვამბობთ, რომ ჩვენი დასტის ზომა უკვე ინიციალიზაცია 0. ამიტომ ჩვენ გვაქვს ცარიელი დასტის ახლავე. და მაშინ ჩვენ გვინდა, რომ შეავსოთ განხორციელების pop ისეთი, რომ ის დააბრუნებს int ზედა. და მაშინ, თუ ის ცარიელია, ის დააბრუნებს -1. OK? ასე რომ, მინდა ბიჭებს უბრალოდ, ვფიქრობ, იმაზე, თუ რა შეიძლება გავაკეთოთ, არსებობს. რა შეიძლება იყოს ერთ-ერთი პირველი რამ ჩვენ მინდა შეამოწმოს? არსებობს დიდი რამ აქ. როდესაც იგი says-- თუ არსებობს ოდესმე ზოგიერთი თუ განაცხადი, როგორიცაა "თუ დასტის არის ცარიელი," ან "თუ ამ ბრუნდება null", ან "თუ ეს არის, რაც" - უკაცრავად. აუდიტორია: დაწერეთ, თუ განცხადებაში. დინამიკები 1: Right. შეგიძლიათ დაწეროთ, თუ განცხადებაში. და ეს, ალბათ, ერთ-ერთი პირველი რამ თქვენ გსურთ შეამოწმოთ. OK. როდესაც ისინი მოგცემთ სახის მოსწონს კუთხეში შემთხვევაში როგორც ეს, რომ, როგორც წესი, ერთ-ერთი პირველი რამ, თქვენ აპირებს, რათა შეამოწმოს თქვენი კოდი. ასევე, რაღაც აღიარებს ვიქტორინა არის, თუ თქვენ გაქვთ არაეფექტური გზა რომ რამე, დაწერა მას. იმიტომ, რომ ჩვენ არ შეფასების თქვენ დიზაინი, ჩვენ შეფასების თქვენ სისწორის ვიქტორინების. ისე კი, თუ თქვენ იცით, რომ ეს სუპერ ცუდი რამე, მაგრამ ეს მუშაობს, დაწერეთ მას, OK? ფაქტიურად, მე ვნახე ბავშვები ბოლო year-- თუ გადავხედავთ გასულ წელს ერთი, ისინი მოსწონს, ნუ Mario პირამიდის. და ისინი ფაქტიურად უბრალოდ გააკეთა "ბეჭდვა, hash, ბეჭდვითი, hash, hash, ბეჭდვითი, hash, hash, hash. " მაგრამ ეს სწორი. ეს იმას, რასაც ჩვენ განუცხადა, ასე რომ თქვენ არ შეუძლია მიიღოს რაოდენობა off. თუ თქვენ ქვემოთ მავთული, ცხადია, თქვენ გვინდა უფრო დახვეწილი გადაწყვეტა და უფრო ელეგანტური გამოსავალი ალბათ იყოს ნაკლებად კოდი, რაც იმას ნიშნავს, რომ თქვენ ალბათ აქვს უმაღლესი შანსი ყოფნის უფლება. მაგრამ თუ თქვენ, ისევე, თქვენ იცით, რა, არ, მე არ მაქვს დრო, მე ვიცი, რომ ეს არის გამოსავალი, ეს არ არის საუკეთესო, დაწერა. და თქვენ კი დაწერა მხარეს, მე ვიცი, რომ ეს არის საშინელი, მაგრამ მე ვიცი, რომ ეს მუშაობს. ასე რომ მხოლოდ ხელმძღვანელები. OK. ამიტომ ცხადია, რომ, პირველ რიგში, ეს არის, თუ განცხადებაში. ასე რომ რას ვფიქრობ, რომ ეს თუ განაცხადი იქნება? და რეალურად, ნება მომეცით გახსნა ჩემი დიდი Sublime რედაქტორი. მე ვაპირებ კოდექსს და შემდეგ გაჩვენებ ბიჭებს, როდესაც ეს კეთდება. ასე int პოპ. OK. ასე რომ, თუ ჩვენ გვაქვს ეს int პოპ void-- ასე აშკარად, ეს არის გარკვეული ფუნქცია, რომელიც იღებს არაფერი და ანაზღაურება რიცხვი, არა? ამიტომ უბრალოდ აპირებს საუბრობენ ამ დასტის, რომ ჩვენ შევქმენით. ასე რომ მხოლოდ თარგმნიან ამ ბოლო წინადადება, "თუ დასტის არის ცარიელი, pop უნდა დაბრუნდნენ უარყოფითი 1, "როგორ შეიძლება ამის გაკეთება? ასე რომ, თუ რა? ვიცით, რომ დასტის არის ცარიელი? ეს უბრალოდ ზომა უდრის 0. Stack.size უდრის 0. გარდა ამისა, მე სახის წერილობით ბრმა აქ. ასე რომ, თუ მე რაიმე typos-- oh, ასევე დაავიწყდა აღვნიშნო ეს. გასულ კვირას, მე მთლიანად figured out რა არის ჩვენი პრობლემა ის იყო, JavaScript. არ ესარგებლა I და დ თქვენ უნდა მხოლოდ ესარგებლა I და მიიღეთ ელემენტს Id. და ეს იყო მთელი შეცდომა. ასე რომ, თუ თქვენ ბიჭები დაბრუნდეს და რეალურად გამოიყურება მეშვეობით ჩემი კოდი, თუ მხოლოდ ყველაფერი ამას დ "დაგავიწყდეთ ელემენტს Id" ის იმუშავებს. ასე რომ, როგორც დაგპირდით, მე ძალიან ახლოს იყო. უბრალოდ, კაპიტალიზაცია რაღაც მე არ უნდა, რომელიც დარწმუნებული ვარ, რომ თქვენ ბიჭები თქვენი ბოლო PSET. ასე რომ, თუ ჩვენი ზომა უდრის 0, რა ჩვენ უნდა გავაკეთოთ? აუდიტორია: დაბრუნება -1. დინამიკები 1: დაბრუნება -1. მაგარი. ასე რომ, ახლა რა ვქნათ? ჩვენ გვინდა, რომ პოპ რაღაც off. ახლა ეს საქმე სადაც ჩვენ გვაქვს რაღაც. ჩვენი ზომა მეტია 1 ან მეტია 0, არა? ჩვენ რეალურად რაღაც არსებობს. მერე რა გვინდა გავაკეთოთ არის ჩვენ მინდა დაბრუნდეს უფლება აქ. ჩვენ ვაპირებთ, რომ ვთქვათ, ჩვენ გვინდა დაბრუნებას ზედა Stack. OK? ასე როგორ შეიძლება ამის გაკეთება? როგორ შეგვიძლია დაბრუნდეს ზედა დასტის? გვახსოვდეს, რომ ჩვენი დასტის არის მხოლოდ მასივი, არა? მას აქვს გარკვეული მოცულობა რომ ჩვენ მოცემული იგი. როგორც ჩვენ დააყენა რამ on-- ან რეალურად, ჩვენ ვაპირებთ დავწეროთ "ბიძგი" შემდეგ. თუ რამ იქ იქნებ სურათი დაეხმარება. Hm, მე მინდა დიდი ცარცი უკეთესი. ასე if-- და შეგიძლიათ მხოლოდ ვფიქრობ ეს ჩვენი Stack. ასე რომ, ეს არის 0, 1, 2. მე არ ვიცი, რატომ ჩემი ყუთები იღებენ პატარა. მაგრამ არსებობს. OK. ასე რომ, ეს არის გარკვეული დასტის ერთად ტევადობა 5. და ვთქვათ რომ ჩვენ გვაქვს რაღაც აქ და ჩვენ გვაქვს რაღაც აქ. ასე რომ, ამ ეტაპზე, ჩვენი ზომა უდრის? 2. და თუ ჩვენ გვინდა, რომ პოპ რაღაც გამორთვა, ეს ნიშნავს, რომ ჩვენ გვინდა მოშორება ეს უფლება აქ. OK? ისე როგორ იქნებოდა დაბრუნდება ამ მნიშვნელობა? აუდიტორია: ზომა მინუს 1. დინამიკები 1: Right. ასე რომ ზომით მინუს 1, ან თქვენ შეიძლება გავაკეთოთ ზომა მინუს მინუს. მაგრამ ჩვენ არ შეგვიძლია უბრალოდ ზომა. ეს შიგნით struct, არა? ასე stack.struct. ან stack.size. ეს არის ჩვენი ინდექსი უფლება არსებობს. OK? და თუ გადავხედავთ უკან ჩვენი struct აქ, შევნიშნავთ, რომ რეალურად წვდომის მასივი, ჩვენ უნდა გავაკეთოთ stack.numbers რეალურად შედიხართ, რომ მასივი. ასე რომ ბრუნდება ზედა Stack. მაგრამ რაღაც that-- თუ ბიჭები გამოიყურება at პასუხი გასაღები, ეს ყველაფერი მათ მოგაწვდით. ასე რომ, ეს არის ის. მაგრამ მე შეიძლება ამტკიცებენ, რომ ისინი miss-- ooh, არ არის რაც მინდოდა. მე შეიძლება ამტკიცებენ, რომ ისინი გავიგე რამე, იმიტომ, რომ, დიახ. აუდიტორია: შემცირება ზომა. დინამიკები 1: Right. ჩვენ უნდა შევამციროთ ჩვენი ზომა არის. ასე რომ, რა სახიფათო შესახებ ეს არის კიდევ თქვენ დაბრუნებას რაღაც, თქვენი ფუნქციის აპირებს გასვლა, უფლება? ასე რომ, რა შეიძლება გავაკეთოთ, არის რეალურად შემცირდება ჩვენი ზომა პირველი. და მაშინ ჩვენ შეგვიძლია უბრალოდ stack.size. ჩვენ უბრალოდ გამოიყენოთ stack.size როგორც ჩვენი ინდექსი, ვერ ჩვენ? იმიტომ, რომ თუ stack.size არის 2, ჩვენ decrement იგი. ასე რომ, ეს 1, რომელიც ჩვენი ფაქტობრივი indice. ერთხელ ჩვენ დავაღწიოთ ამ, ჩვენ რეალურად მხოლოდ ერთი რამ ჩვენს მასივი. ასე რომ ჯერ ორივე. აუდიტორია: [INAUDIBLE]? დინამიკები 1: ისე, ამ შემთხვევაში, ჩვენ მხოლოდ დაბრუნდა ელემენტს ზედა, რომ ჩვენს ზომა, რომ ზედა. მაგრამ ჩვენ არ კეთდება არაფერი ზომა შემდეგ ჩვენ ამოღებულ, რომ ელემენტს. ეს არ შეცვლილა ჩვენი ზომა არ არის. ეს იმას რეალურად არსებითად შეცვალოს ჩვენი ზომა. მაგრამ იმისათვის, რომ ეს პატარა ნათელი, თქვენ შეიძლება არ stack.size მინუს მინუს. ჩემთვის, ეს ხდის, მე არ ვიცი, უფრო ნათელი that-- ah, რომ თქვენ რეალურად შეცვლის ზომა და ბრუნდება. სხვა გზა არ იყო, რადგანაც თქვენ იცვლება და დაბრუნების ამავე დროს. მაგრამ ეს არის კიდევ ერთი გზა დაწერა ის, რომ მინდოდა გაჩვენოთ ბიჭები. ამჯამად რომ აზრი? Stacks, ჩემი აზრით, ბევრად უფრო ადვილია, ვიდრე რიგები. [იცინის] OK. თუ რაიმე კონკრეტული კითხვები დაახლოებით 11 და 12, ან just-- აუდიტორია: ვფიქრობ, ეს იყო Stack. დინამიკები 1: დასტის ზომა? აუდიტორია: Yeah. დინამიკები 1: გოჩა. OK. ჰო, თქვენ ამას ერთ-ერთი ამ ორი გზა. OK. ახლა ჩვენ გვაქვს მეორე. ეს არის მართლაც უცნაური, როგორიცაა არ გააჩნიათ, ამ ჩემს ეკრანზე. ასე რომ, თუ გადავხედავთ აქ, ჩვენ ახლა მინდა შეავსოთ განხორციელების ბიძგი, რომელიც რეალურად აყენებს რაღაც, მიდის და ჩანართები რაღაც ჩვენს მდგომ, ან შევიდა ჩვენი Stack. OK? ასე რომ, თუ ჩვენ შეამჩნევთ, ჩვენ აქვს რამდენიმე რამ. ჩვენ გვაქვს ჩვენი great-- თუ ყველა სხვა, როდესაც ჩვენ გვაქვს ერთი ასეთი, თქვენ ბიჭები მაინც უნდა მიიღოთ ნახევარი წერტილი, იმიტომ, რომ ყველა თქვენ უნდა გააკეთოთ არის გარდაქმნას ამ შევიდა C. და მათ გაძლევთ ნახევარს. ასე რომ, "თუ დასტის სავსეა ან ეს უარყოფითი, მაშინ დააყენებს უნდა დაუბრუნდეს ყალბი. " OK? ამიტომ ჩვენ მხოლოდ გვინდა დადებითი რიცხვებით უნდა იყოს ჩვენი Stack. ყველა უფლება? და ეს ხდება ან დაბრუნდეს ჭეშმარიტი ან მცდარი. ასე რომ, ჩვენ უნდა [INAUDIBLE] bool. OK. ასე თარგმნიან. აუდიტორია: [INAUDIBLE]. დინამიკები 1: Oh, მადლობა. Yeah. ამიტომ, მე თქვენ ბიჭები. Int n. სრულყოფილი. იმიტომ, რომ ჩვენ აყენებს რაღაც ჩვენი Stack. ჩვენ რეალურად უნდა გარკვეული რაოდენობის. OK. ასე რომ მხოლოდ აღების, რომ ბოლო ხაზი, რომელიც ისინი მოგვცა, ჩვენი სახის კუთხეში შემთხვევაში, რას ფიქრობთ გვაქვს აქ? ცხადია, ჩვენ ვაპირებთ, რომ გარკვეული თუ. OK. ჩვენ ვთქვით, თუ ჩვენი დასტის არის სრული ან თუ n უარყოფითია. ისე, ალბათ, იოლი უნდა დაიწყოს ერთად, ასე რომ, თუ n ნაკლებია, ვიდრე 0 or-- მახსოვს თქვენი ლამაზი და ან ოპერატორები არსებობს. როგორ ჩვენ შეამოწმოს to თუ ჩვენი დასტის სავსეა? რა ხდება? აუდიტორია: ზომა თანაბარი შესაძლებლობების. დინამიკები 1: ზუსტად. სრულყოფილი. OK. და რა გვინდა, რომ არ არსებობს? აუდიტორია: დაბრუნება ყალბი. დინამიკები 1: დაბრუნება ყალბი. სრულყოფილი. ასე შუა ნაწილამდე იყვნენ იქ, არა? სულ ცოტა, თქვენ ბიჭები ექნება ნახევარი ამ. მოდით ვიფიქროთ ამაზე. ასე რომ, ეს არის დასტის, ჩვენ დავიწყებთ. ჩვენ ვცდილობთ, რომ ბოლო ზოგიერთი ელემენტი აქ. ჩვენ გვყავს ზომა, რომელიც არის უდრის 2 ახლავე. ჩვენ გვაქვს შესაძლებლობა, რომელიც უდრის 5. და ვთქვათ, რომ ჩვენ გვაქვს ზოგიერთი n ეს უდრის 3. ასე რომ, ჩვენ უნდა შეყვანის 3 ამ სივრცეში. და ჩვენ უნდა შეყვანის ის ინდექსი 2. არა? ასე როგორ შეიძლება ამის გაკეთება? ცდილობს მივანიჭოთ ჩვენ გინდათ ჩვენს მასივი. ასე stack.numbers. მაგრამ რა indice გვინდა ჩვენ გვინდა, რომ ეს იყოს? აუდიტორია: [INAUDIBLE]. დინამიკები 1: ჰო. Stack.size. და ჩვენ გვინდა, რომ თანაბარი ო, არა? აუდიტორია: [INAUDIBLE]. დინამიკები 1: მე რეალურად მხოლოდ შევხედავთ, რომ. მე ვფიქრობ, რომ ეს არასწორია. აუდიტორია: არ გსურთ ფართი წარსულში მიმდინარე ზომა? დინამიკები 1: ისე, თუ გადავხედავთ აქ, ჩვენი ზომა ამ ეტაპზე არის 2. ჩვენ გვინდა, რომ წასვლას ინდექსი 2, იმიტომ, რომ ეს არის ყველაზე ჩვენი Stack. ასე რომ, მე ვიტყოდი, რომ ეს უნდა იყოს stack.size, და მაშინ გაიზრდება stack.size. ყველას ეთანხმებით? მე ვფიქრობ, რომ მე ვეთანხმები, რომ. შენ შეიძლება ამტკიცებენ, ჩემთან თუ გსურთ. ან არ ამტკიცებენ, მაგრამ შეგვიძლია განვიხილოთ ამ. აუდიტორია: [INAUDIBLE]. დინამიკები 1: Mm-hm, სადაც ეს გახსნა გამო ნულოვანი ინდექსირებას. ასე რომ, ხოლო პირველი ნაწილი, მეგონა, რომ ისინი ცდებოდნენ, და ისინი რეალურად უფლება, ამ ნაწილი, მე რეალურად ვფიქრობ, რომ ისინი ცდებოდნენ. მე ვიტყოდი, თქვენ უნდა აუცილებლად შეტანის აქ. მე ვფიქრობ, ჩვენ ვთანხმდებით ჩვენ გვაქვს ზომა 2. ეს არის ზუსტად ის, სადაც ჩვენ გვინდა, რომ ჩვენი ახალი ნომერი უნდა წავიდეს. ასე stack.numbers at stack.size გაუტოლდება n. და მაშინ ჩვენ გვინდა ნამატი stack.size. ++. და მერე რა ჩვენ უნდა გავაკეთოთ? არსებობს ერთი რამ ბოლო ჩვენ უნდა თუ ჩვენ წარმატებით ჩასმული ეს? TRUE. და ახლა თქვენ გაკეთდეს. ისე ვგრძნობ, როგორც ეს იყო მთელი minus მინუს stack.size და stack.size ++, რომ messed რამ მდე. Ugh. მე keep-- მე ამ მუხლის რეფლექსის ტენდენცია ყოველთვის მოხვდა კონტროლი, S, იმიტომ, რომ მე არასოდეს გსურთ დაკარგოთ ნებისმიერი ჩემი მუშაობა. მაგრამ მე არ უნდა გავაკეთოთ, რომ ახლა. OK. ასე რომ იყო Stack. მაგარი. არის რამე? თუ ბიჭები იპოვოთ ნებისმიერი სხვა კითხვები, რომ თქვენ მინდა მინდა წასვლა მეტი წინა ტესტებში? თუ არა, ჩვენ შეგვიძლია სახის დაიწყოს საუბარი მეშვეობით Quiz One გასულ წელს. დიახ. აუდიტორია: პირველი ნაწილი, მე ნამდვილად არ მესმის, თუ როგორ წაიშალა ნომერი. არის თუ არა ეს ჯერ კიდევ არსებობს? დინამიკები 1: ნომერი ჯერ კიდევ არსებობს. მაგრამ რა მოხდება, იმიტომ, რომ თქვენ უთხრა, რომ ყველაზე თქვენი დასტის აქ არის, როდესაც თქვენ წავიდეთ დაამატოთ რამე გადატანა დასტის, ეს უბრალოდ შეცვლის მას. აუდიტორია: Oh, OK. დინამიკები 1: ჰო. ასე რომ, ეს იგივეა, მას დაავიწყდა და ეს იქ ტიპის რამ მიუხედავად იმისა, რომ ეს არ არსებობს. აუდიტორია: [INAUDIBLE] ან არაფერი? დინამიკები 1: No. რადგან ჩვენ მასივი, თქვენ არ გაქვთ ინერვიულოთ ამაზე თქვენ უბრალოდ override, როდესაც დაგჭირდებათ. ყველა უფლება. ნებისმიერი სხვა კითხვები? თუ არა, ჩვენ უბრალოდ აპირებს დაიწყოს მუშაობა მეშვეობით. Yeah. აუდიტორია: Well, ეს ერთი არის 2013 წლის, მაგრამ გადის SQL პერსონალი. დინამიკები 1: SQL? OK. ასე რომ ეს არის 26-დან 29. აუდიტორია: Yeah. დინამიკები 1: OK. ლამაზი. მოდით გაიყვანოს იმ up. Oh, სახეს. თუ ბიჭები სარგებლობენ Steve Ballmer გაიგო, სხვათა შორის? ეს იყო საკმაოდ იუმორისტული, ჩემი აზრით. მე მიყვარს, რომ ყოველ ჯერზე მე ზრდიან CS50 მიერ ნახვა განმავლობაში განყოფილებიანი, ის მსგავსად, oh, უყუროთ განყოფილებაში. და მე მსგავსად, mm. აუდიტორია: შეგვიძლია ამის გაკეთება? დინამიკები 1: ჩვენ გავაკეთებთ ბოლოს. როგორ არის, რომ? იმიტომ, რომ მე ვიცი, თქვენ ბიჭები ყოველთვის მინდოდა. ასე რომ, ჩვენ ამას ბოლოს. ერთ კითხვას. აუდიტორია: [INAUDIBLE]. დინამიკები 1: ეს იქნება მეტა მონაკვეთზე. აუდიტორია: ეს იგივეა, 5 წამი. აუდიტორია: მართლა? აუდიტორია: ეს იგივეა 20 წამი. [INTERPOSING ხმები] [სიცილი] დინამიკები 1: მე მინდა, რომ თქვენ უკვე გაკეთდა ის, რაც მაიძულებს ბედნიერი. OK. 26. OK. რეალურად, ჩვენ უბრალოდ აპირებს სარკისებური ეს ახლა, იმიტომ, რომ მე არ შემიძლია. ეს არის შემაშფოთებელი. OK. ახლა მე ვხედავ ყველაფერს. ლამაზი. OK. ამიტომ ცხადია, რომ ეს უნდა მოიტანს უკან დიდი მოგონებები [? CSG?] ფინანსები. ნახევარი თქვენ შესახებ არ თქვენი ფასდება ახლა. მეორე ნახევარში მე მიიღებს ძალიან, ძალიან მალე, მე გპირდებით. ასე რომ, ჩვენ გვაქვს SQL მაგიდა რომ არის ანგარიშები აქ. ალბათ მსგავსი თქვენი ბიჭები "შესახებ მაგიდები. და ჩვენ გვაქვს გარკვეული რაოდენობის რომ იყო PRIMARY გასაღები და წარმოადგენს 12 ციფრი ანგარიშის ნომერი. და ბალანსი, რამდენად ბევრი ფული აქვთ. და რა ღირებულება არის 100. და მათ, რათა მათ 100 $ ნებისმიერ დროს ისინი გახსნათ ანგარიში. მე მინდა ჩემი საბანკო გააკეთა, რომ. OK. ასე რომ, ჩვენ გვინდა, რომ შეავსოთ სქემის მიერ დაზუსტების შემდეგ ნომერზე ბალანსი შესაბამისი SQL ტიპის. ასე რომ, რას ბიჭები ვფიქრობ იქნება სახის, როგორიცაა თქვენი მუხლზე jerk რეაქცია სახეების ამ ორი? აუდიტორია: Int. დინამიკები 1: int. OK. და მაშინ ბალანსი? ათობითი. OK. ასე ათობითი უფლება. Int ახლოს არის. სახის დიდი რამ არის ამ ხაზი გაუსვა 12 ციფრი ანგარიშის ნომერი. როცა კი გვაქვს რაღაც რომ აღემატება რვა ციფრები, მათ სურთ, რომ გამოიყენოთ დიდი int, რომელიც მე ვფიქრობ, is-- აუდიტორია: არის, რომ მხოლოდ SQL? დინამიკები 1: ეს მხოლოდ დროის მე მოვისმინე ეს არის SQL--, როგორიცაა გამოყენებით დიდი int. ეს მხოლოდ გადმოგცეთ ცოტა უფრო მეტი სიზუსტით, მიღების დარწმუნებული ვარ, რომ თქვენ არ ადიდებული ტიპის რამ. ყველა პატიოსნება, მე ვფიქრობ, რომ ეს ნამდვილად ერთ ერთი პირობა სადაც ის მსგავსად, oh, ეს იმას ნიშნავდა, ადამიანი ვისაც აქვს ცოტა მეტი ცოდნა SQL. ჩვენ არასოდეს ისაუბრა დიდი ints თქვენს PSET. ასე რომ, ეს სახის მოსწონს მე დარწმუნებული ვარ, თუ თქვენ დააყენა int, ეს იყო ნახევარი საკრედიტო. და, როგორც ვთქვი, არსებობს აპირებს უნდა იყოს გარკვეული კითხვები, რომ მხოლოდ იგულისხმება, რომ მოგზაურობისას თქვენ მდე, ასე რომ ყველას არ იღებს 100. იმიტომ, რომ, რა თქმა უნდა, არსებობს ზოგიერთი ადამიანი CS50 ვინც არ აკეთებს ეს მოსწონს რვა წლის განმავლობაში, და თქვენ, როგორიცაა, რას აკეთებ? მაგრამ yeah. ათობითი ბალანსი იყო აშკარა იყო. და შემდეგ დიდი int რაოდენობის მხოლოდ იმიტომ, რომ, ისევე, ხაზი გაუსვა 12 ციფრი. ყოველთვის, როცა არაფერი არ არის თამამი და ეს ხაზი გაესვა, როგორიცაა, იბერტყავს. ჩვენ არ ვაკეთებთ, რომ მხოლოდ იმიტომ. OK. ასე რომ, "ვარაუდობენ, რომ ბანკის აკისრებს $ 20 ყოველთვიური გადასახადი ყველა ანგარიშებზე. ის, რასაც შეკითხვის შეეძლო ბანკში დაწესებული $ 20 თითოეული ანგარიში მაშინაც კი, თუ ის შედეგად მოჰყვა ზოგიერთი უარყოფითი ნაშთები? " მოდით დავიწყოთ მარტივია. ჩვენ გვყავს ოთხი ძირითადი ბრძანებები for SQL, რომლებიც? მიგაჩნიათ თუ არა ბიჭები გახსოვთ ოთხი დიდი პირობა, რომ გითხარით? UPDATE, DELETE, SELECT, და ჩადეთ. სრულყოფილი. მიიღო იგი. ასე რომ რას ფიქრობთ შეიძლება იქნება ყველაზე სასარგებლოა ამ ერთი? ჩვენ are-- UPDATE. ზუსტად. ასე რომ განაახლოს, რადგან ჩვენ ვეძებთ at ანგარიშები, რომ უკვე არსებობს. ასე მახსოვს, ჩვენი საერთო რამ არის განახლება. და მერე რა უძღოდა UPDATE? ჩვენ გვაქვს რამდენიმე მაგიდა რომ ჩვენ მითითება. ასე რომ, თუ მე დახევის up Sublime ერთხელ განახლება. ასე რომ, ეს არის ზოგადად ფორმატში. ამიტომ ჩვენ უნდა განახლების მაგიდა. და მერე რა არის შემდეგი რამ გვაქვს? თქვენ შეგიძლიათ ამის WHERE. და მაშინ ჩვენ გვაქვს შესარჩევ აქ. და მერე რა ჩვენ გვაქვს შემდეგი? ჩვენ გვაქვს რამდენიმე კომპლექტი რაღაც უდრის რაღაც. Blah ტოლია blah. განახლებულია blah. არა? ასე რომ ასეთი ზოგადი იდეა გარკვეული განახლება. OK? მოდით დავიწყოთ შევსების ამ იმას, რაც უნდა იყოს. ასე რომ, რა მაგიდა ვსაუბრობთ? ანგარიშები. და შემდეგ ამ შემთხვევაში, რა არის მართლაც მაგარი არის საუბარი, კონკრეტული ასაკი ჩვენს ანგარიშზე, ან ჩვენ ვსაუბრობთ ყველა წევრებს? ჩვენ ვსაუბრობთ ყველა მომხმარებლებს. ასე რომ, ამ შემთხვევაში, ჩვენ შეგვიძლია მხოლოდ წაშლა WHERE შესარჩევი. სად არის მხოლოდ მაშინ, როდესაც გსურთ ზღუდავს თუ რას შეცვლის. თუ თქვენ გსურთ შეცვალოთ მთელი მაგიდა, შეგიძლიათ უბრალოდ ჩამოაგდეს, რომ. OK. ახლა ჩვენ ჩვენი SET ნაწილი. რა გვინდა, რომ შეიცვალოს? აუდიტორია: ბალანსი. დინამიკები 1: ბალანსი. და ჩვენ ვაპირებთ, რომელთა მიზანია: როგორ ხარ ჩვენ ვაპირებთ, რომ შეცვალოს ბალანსი? ჩვენ გვყავს $ 20 საფასური, არა? მინუს 20. და განაცხადა, რომ ეს OK, თუ ჩვენ გვაქვს უარყოფითი ნაშთები. ასე რომ, ამ შემთხვევაში, თქვენ არ უნდა უნდა გავაკეთოთ ნებისმიერი შემდგომი შეცდომა შემოწმება. OK? ეს არის ფაქტიურად ყველა თქვენ უნდა გააკეთოთ. მაგარი? OK. ასე რომ, მოდით გავლა შემდეგ. "რა SQL query შეეძლო საბანკო ვიღებ ანგარიშის ნომერი მისი მდიდარი მომხმარებელს ნაშთების მეტი $ 1,000? " თუ თქვენი საბანკო და თქვენი უმდიდრესი მომხმარებელს მხოლოდ პირობა მეტი $ 1,000 მე ვგრძნობ, რომ თქვენ აკეთებს რაღაც. როგორიცაა, თუ როგორ ამჯამად საბანკო გადარჩება, რომ? მინდა, რომ ინტერესი, არ არის საკმარისი. OK. ამ სახის რამ, რა როგორ ფიქრობთ, ჩვენი ოთხი ფუნქციები, როგორ ფიქრობთ, ჩვენ ვაპირებთ გამოვიყენოთ? SELECT. სრულყოფილი. SELECT. OK. ასე რომ, ჩვენ შერჩევის ზოგიერთი იდენტიფიკატორი FROM table. და მაშინ, სადაც მდგომარეობაში. ასე რომ, როგორც ჩვენ გაიაროს ეს, მე უბრალოდ აპირებს მოგცემთ ბიჭებს ზოგადი გასაახლებლად ზოგადი ფორმატის ყველა ამ. ასე რომ, ჩვენ შერჩევა გარკვეული of [? რამ. ?] ამ შემთხვევაში, ეს იქნება როგორც წესი, ზოგიერთი სვეტი. ასე, რომ ჩვენს შემთხვევაში, ჩვენ გვაქვს ნომერი, ბალანსი. თქვენი ბიჭები "შემთხვევაში, შესაძლოა, ეს იყო ID, სახელი, პაროლი. ნებისმიერი იმ სვეტების, რომ როგორც წესი, ის, რაც ჩვენ შერჩევით. ასე რომ, ამ შემთხვევაში აქ, რომელიც სახის სვეტი, რა იდენტიფიკატორი ვართ ჩვენ უბიძგებენ ჩვენი მაგიდა? რას ნიშნავს ეს გვთხოვენ? ის გვთხოვს ჩვენი ნომრები, არა? ანგარიშის ნომერი. ასე მახსოვს, მხოლოდ ნომერი ამ შემთხვევაში. თუ ბიჭები ოდესმე შეცდომა, რომ ნათელი ნარინჯისფერი ყუთი ამუშავება. და ეს იყო, მოულოდნელი ზედიზედ, როგორიცაა, რასაც. ეს იმიტომ, რომ თქვენ მოუწოდა თქვენს მაგიდასთან არასწორი, არა? ასე რომ დარწმუნებული, რომ თქვენ ხართ მოუწოდებდა სვეტი სწორად. ასე რომ, მაგიდა, ჩვენს მაგიდასთან ეწოდება ანგარიშები. ერთხელ, დარწმუნდით, რომ თქვენ მითითება თქვენს მაგიდასთან სწორად. და მერე რა არის ჩვენი მდგომარეობა აქ? რასაც ჩვენ ვეძებთ? ჩვენ გვინდა, რომ ჩვენი მდიდარი ადამიანი. დიახ. ამიტომ დაბალანსება უფრო მეტი, ვიდრე 1000. იქ წასვლა. ეს თქვენი შეკითხვა. არ არის ძალიან ცუდი, არა? OK. ასე რომ, ახლა ჩვენი ბოლო ერთი. რომ, ჩვენ breezing მეშვეობით. OK. ასე რომ, ახლა "რა შეკითხვაზე შეეძლო ბანკის ახლოს, ანუ, წაშლა "- არ მიყვარს, თუ როგორ უბრალოდ მისცა თქვენ DELETE-- "ყველა ანგარიში, რომელსაც აქვს ბალანსის 0?" მე ვფიქრობ, რომ ჩვენ შეგვიძლია ყველა შევთანხმდეთ ჩვენ ალბათ იქნება გამოყენებით წაშლა. მე მივესალმები, რომ მიიღოს ნებისმიერი დისკუსია გარშემო რომ. მაგრამ მე ვფიქრობ, რომ ეს არის საკმაოდ უსაფრთხო ამბობენ, რომ ჩვენ შეგვიძლია გამოვიყენოთ წაშლა. ამიტომ ჩვენ ვაპირებთ წაშლა მომხმარებლებს მაგიდასთან, სადაც მდგომარეობაში. ასე იგივე სახის რამ, როგორც SELECT. ასე რომ, ამ შემთხვევაში ოჰ, უკაცრავად. მე უნდა წაშალოთ. რადგან წაშლა წაშლა მთელი რიგი. ამიტომ ჩვენ არ უნდა ვისაუბროთ, რომელიც კონკრეტული რამ მომხმარებლის ჩვენ წაშლა. თუ ჩვენ წაშლა შესახებ, ჩვენ წაშლის ყველაფერი მათ შესახებ. ასე რომ, ამ შემთხვევაში, ჩვენ უბრალოდ უნდა შეავსოთ ჩვენი WHERE და ჩვენი მდგომარეობა. ასე რომ, ჩვენი მაგიდა მხოლოდ ჩვენი ანგარიშები მაგიდა, როგორც ჩვენ უკვე აკეთებს. და მერე რა არის ჩვენი მდგომარეობა აქ? აუდიტორია: ბალანსი. დინამიკები 1: ბალანსი = 0. სწორი. ყველა კარგი. დიახ. აუდიტორია: [INAUDIBLE]. დინამიკები 1: ასე წაშლა არსებითად წაშლის ყველაფერს. ასე ხოლო SELECT, SELECT იღებს გარკვეული სვეტები, რომ გსურთ დაბრუნდა. თუ უნდოდა, ყველაფერი პროფაილი დაბრუნდა, თქვენ იყენებთ ვარსკვლავი. ვარსკვლავი ამბობს, დამიბრუნდება ყველაფერი ამ მომხმარებელს. ან თუ დააყენა WHERE ვარსკვლავი, რომ ნიშნავს უბრალოდ მომეცი ყველაფერი. მაგრამ წაშლა არსებითად აქვს, რომ. ასე რომ, თუ თქვენ ამბობთ, წაშლა ანგარიშები, სადაც ბალანსი უდრის 0, ის აპირებს გავლა. და ყველგან, რომ ბალანსი 0-ის ტოლი, ეს არსებითად აკეთებს. ეს კიდე წაშლა ყველაფერი. ვარსკვლავი უფრო for-- ერთად SELECT ან განახლება, ეს საუბარი უფრო მეტი ინდივიდუალური სფეროში შესაბამისი შესახებ. ასე რომ, როდესაც თქვენ არ SELECT ვარსკვლავი მაგიდასთან, სადაც ID უდრის 1, რომელიც დააბრუნებს თქვენ ყველაფერი მომხმარებელი ID 1. თუ თქვენ უნდა გავაკეთოთ SELECT ნომერი ან SELECT ID მძიმით სახელი მომხმარებლებს WHERE ID უდრის 1, რომ მხოლოდ დააბრუნებს მათი ნომერი ან მათი ID და მათი სახელი. OK? ასე რომ ჩვენ ვიყენებთ ვარსკვლავი, რომ საქმე მოგვცეს ყველაფერი შესახებ. წაშლა და არსებითად აკეთებს. ეს არ ვშლით ID, ან უბრალოდ სახელი, ან რასაც. ჰო, არ. ეს მხოლოდ შლის მთელი შესახებ. ამიტომ ჩვენ არ უნდა ფიქრი შესახებ ვარსკვლავი არსებობს. თუ თქვენ სურდა წაშლა ყველაფერი, თქვენ შეიძლება ამის გაკეთება, და ეს უბრალოდ ვარდნა ყველაფერი. მაგრამ, როგორც წესი, თქვენ არ მინდა ამის გაკეთება. მაგრამ თუ ოდესმე გვინდა წაშლა ყველაფერი, თქვენ შეიძლება ამის გაკეთება. OK. თქვენ ბიჭები გამოჩენას ნებისმიერი სხვა კითხვები? დიახ. აუდიტორია: იქნებ გავაკეთოთ 26? დინამიკები 1: 26 ჩვენ გავაკეთეთ. აუდიტორია: Oh, 25, ბოდიში. დინამიკები 1: 25. OK. 25. Oh. ისინი აკეთებენ JavaScript. ოჰ, მე არ მჯერა. მე ვაპირებ mess us up ერთხელ, ბიჭები. OK. ჩვენ მივიღეთ ეს. ჩვენ ვაპირებთ, რომ ეს მუშაობა. Ah, jQuery. გართობა. OK. ამიტომ, ჩვენ ვაპირებთ, რათა დასრულდეს განხორციელების ვებ გვერდზე ისე, რომ თუ ისინი მოინახულებენ, შეყვანის მათი სახელი და წარმოადგინონ ფორმა, მათ აქვთ დიდი alert window, რომ აპირებს გამოჩნდება. ისე არაფერი შეტყობინებებს, ჩვენ ვიცით, რომ ჩვენ ვაპირებთ, რომ უნდა გამოიყენოთ JavaScript. Yay, JavaScript. და თუ ისინი ვერ შეყვანის ასახელებს წარდგენამდე ფორმა, არ მზადყოფნაში უნდა გამოჩნდება. ასე რომ თქვენ შეგიძლიათ გამოიყენოთ jQuery, მაგრამ თქვენ არ უნდა. ამიტომ, მე ვაპირებ მოგცემთ ბიჭები მუშაობა ამ მხოლოდ რამდენიმე წუთის განმავლობაში. დაფიქრდით ამაზე. და მაშინ ჩვენ კოდი იგი. Slash მე ვაპირებ ცდილობენ და ვფიქრობ საუკეთესო გზა იმის ასახსნელად ეს პასუხი თქვენთვის. ყველა უფლება. ჩვენ მას შეიქმნა. OK. ასე რომ, ჩვენ უბრალოდ აპირებს ფეხით მეშვეობით, რადგან ვიცი, jQuery ცოტა გაუგებარია. JavaScript. ეს ცოტა არსებობს. ასე რომ, ჩვენ ვაპირებთ, რომ არის [INAUDIBLE] რეალურად მოგვარდება ამ პრობლემის jQuery. ასე რომ, თუ გახსოვთ, jQuery უბრალოდ ბიბლიოთეკა ეს მხოლოდ აგებული ყველაზე JavaScript. ეს კი იმას ნიშნავდა, რომ თქვენი ცხოვრებაში ცოტა ადვილი. მე აუცილებლად, თუ თქვენ გაქვთ დრო, გამოიყურებოდეს მეტი ცოტა დოკუმენტაცია jQuery. მაგრამ ეს ძალიან ჰგავს JavaScript. ის მივიღე მსგავსი პარადიგმების, სადაც თქვენ გამოიყენოს ეს dot ოპერატორი მოვუწოდებთ ფუნქციები ობიექტების, რომ თქვენ გაქვთ. რა გვაქვს აქ არის jQuery, თქვენ ყოველთვის უნდა ჰქონდეს ამ სახის of გადატანა, რომელიც $ (დოკუმენტი) მზად (ფუნქცია) ფუნქცია ფრჩხილებში აქ. OK. ასე რომ, ეს შეიძლება იყოს რაღაც გსურთ თქვენი cheat ფურცელი. იმის გამო, რომ სულ ცოტა, თქვენ შეგიძლიათ უნდა გადატანა თქვენი jQuery. და ეს კიდე მინიმუმ მისაღებად ნაწილი გზები არსებობს. ასე რომ, იგივე გზა, რომ ჩვენ ბევრი ვისაუბრე JavaScript, და ჩვენ დაიწყება ეძებს რა ჩვენ ვცდილობთ რედაქტირება ან რასაც ჩვენ ვცდილობთ, რომ შეიცვალოს. და რომ, როგორც წესი, პირველი, რაც ჩვენ გვინდა დააყენა. ასე რომ, ამ შემთხვევაში, თუ ჩვენ დავუბრუნდეთ ამ აქ და შევხედავთ ჩვენი ფორმა აქ, ჩვენ გვაქვს ამ საშუალებებით, უფლება, ამ id საშუალებებით. და ჩვენ ვიცით, რომ ბაზაზე ჩვენს კითხვაზე, ჩვენ ან აპირებს იმისათვის, შეცდომა, თუ ეს არის ცარიელი, ან ჩვენ ვაპირებთ დააყენა ამ შევიდა მზადყოფნაში, არა? ისე, ალბათ, შეიძლება ითქვას, რომ ჩვენ იქნება საქმე საშუალებებით აქ. jQuery ძალიან ჰგავს, რომ თუ ჩვენ ვფიქრობ, უკან CSS, არაფერი ID ჩვენ შევხედოთ hash. არაფერი კლასის ჩვენ შევხედე dot, არა? ასე რომ, იგივე გზა აქ, რა ჩვენ ვსაუბრობთ საშუალებებით. ჩვენ ვნახეთ, რომ საშუალებებით ID ჩვენს ფორმით. ასე რომ, ჩვენ ვაპირებთ, რომ ეხება, როგორც ასეთი. საშუალებებით. OK? ასე რომ, როდესაც ეჭვი, მაშინაც კი, თუ თქვენ გაქვთ არსად, თუ თქვენ ნამდვილად იცით, თუ როგორ უნდა მივუდგეთ ამ, A, აქვს ამ გადატანა. ასე იწყება იქ გადატანა jQuery. B, დარწმუნდით, რომ თქვენ იცით, რას შეცვლის. და როდესაც ეჭვი, დააყენა, რომ რაღაც, და ნუ dot, რასაც თქვენ ფიქრობთ თქვენ უნდა აკეთებს იგი. აუდიტორია: რა არის გადატანა? დინამიკები 1: გადატანა ეს არის პირველი ხაზი. ასე რომ, ეს ამბობს, დაველოდოთ ჩემი დოკუმენტი მზად არის. ამის შემდეგ დაიწყება ძვირფასი რამ. OK? ასე რომ, ჩვენ ვიცით, ჩვენ ძვირფასი საშუალებებით. ასე რომ, ჩვენ, როგორც, OK, საშუალებებით არის ჩვენი ფორმით. ეს არის ჩვენი ID. ისე, რომ ის, რაც ჩვენ იქნება ეძებს. და ჩვენ გვინდა ვნახოთ, რა მოხდება როდესაც ამ ფორმით არის წარმოდგენილი, არა? ისე, შეიძლება ვიფიქროთ, ჩვენ გვაქვს გარკვეული წარუდგინოს, ახერხებდნენ. ასე წარუდგინოს, ახერხებდნენ უბრალოდ ამბობს, OK, ეს ფორმა რომ ჩვენ დაკავშირებულია hash საშუალებებით, როდესაც ის წარმოდგენილი, შეასრულოს რაღაც. ამიტომ, ჩვენ ვაპირებთ, რომ გარკვეული ფუნქცია. შეამჩნია გვაქვს ანონიმური ფუნქციები აქ. ჩვენ გვაქვს ანონიმური ფუნქცია აქ. დიახ. აუდიტორია: იქნება ეს ყოველთვის იქნება წარუდგინოს, ახერხებდნენ, ან უბრალოდ იმიტომ, რომ HTML, ჩვენ მივიღეთ ღილაკს ტიპის შეტანა? დინამიკები 1: ეს უნდა წარუდგინოს, ახერხებდნენ, რადგან ეს გარკვეული ფორმით, რომ შეგვაქვს. იმიტომ, რომ ეს წარუდგინოს, ახერხებდნენ სულაც არ შეესაბამება რა ღილაკს ჰგავს მოვუწოდებთ. მაგრამ ფაქტია, რომ ეს ფორმა, რომ ჩვენ წარდგენის. OK. ასე რომ შეამჩნია ანონიმური ფუნქცია აქ, რომ says-- აუდიტორია: მე ნამდვილად არ მესმის ანონიმური ფუნქციები. დინამიკები 1: ასე ანონიმური ფუნქციები, ისინი მხოლოდ ფუნქციები რომ არ აქვს სახელი. ასე რომ, ნაცვლად იმისა, რომ გარკვეული ძირითადი ფუნქცია რომ calls-- შეიძლება ითქვას, თუ დოკუმენტი მზად, მაშინ ჩვენ მოვუწოდებთ საშუალებებით. და მაშინ, როდესაც წარმოდგენილი, ზარის როგორიცაა, თუ ასე და ასე წარმოდგენილი, ჩვენ გვინდა მოვუწოდებთ ზოგიერთი სხვა ფუნქცია. ანონიმური ფუნქცია უბრალოდ არ აქვს სახელი, და ეს უბრალოდ შეასრულოს ფარგლებში ამ სახის რამ. ასე რომ, ამ შემთხვევაში, რა ეს ამბობს არის, როდესაც ჩვენი დოკუმენტი მზად არის, შეასრულოს ეს ფუნქცია. ეს ფუნქცია შედგება ყველაფერს, რაც აქ. ხოლო შემდეგ მომდევნო ფენა არის, OK, როდესაც საშუალებებით არის წარმოდგენილი, შეასრულოს ეს. ეს უბრალოდ გზა აღმნიშვნელი რა უნდა იყოს შესრულებული, როდესაც. ეს ფაქტიურად მხოლოდ ფუნქცია, რომელიც არ აქვს სახელი, ამიტომ ისინი, როგორც წესი, შეიძლება წყობილი ერთმანეთს, იმიტომ, რომ თქვენ ვერ ვუწოდებ მათ სახელი. OK? ფაქტიურად, ანონიმური ფუნქცია მხოლოდ ფუნქცია, სახელის გარეშე. ეს არის ის. უბრალოდ გზა encapsulate სხვადასხვა რამ რომ ჩვენ გვინდა შესრულებული კონკრეტული ჯერ. აუდიტორია: [INAUDIBLE]. დინამიკები 1: vent? სად? აუდიტორია: In ფრჩხილებში შემდეგ ფუნქცია? დინამიკები 1: მას შემდეგ, რაც ფუნქციები. რომელი? აუდიტორია: ორივე. თუ თქვენ დააყენა, როგორიცაა, მოვლენა, ან, თუ დააყენა არგუმენტი არსებობს, არის არასწორი? დინამიკები 1: ამ შემთხვევაში, ვფიქრობ, თქვენ ვერ დააყენა არგუმენტი არსებობს. არამედ იმიტომ, რომ ჩვენ არ გვჭირდება არგუმენტი, არ უნდა იყოს. როგორიცაა, ეს მთელი, როგორიცაა, თქვენ უნდა მხოლოდ აქვს ნივთები, რომლებიც საჭირო რამ. იმ გზით, რომ თუ ჩვენ რაიმე ფუნქცია, რომელიც აქვს int main void--, როგორიცაა, ერთად int მთავარი ბათილად, თქვენ შეიძლება ამის გაკეთება int Arg ვ, რასაც. მაგრამ თუ არ უნდა იმ, თქვენ არ უნდა მათ იქ. იგივე. Emma, ​​არ გაქვთ შეკითხვა? OK. მაგარი. OK. რა გვაქვს ჯერჯერობით, როდესაც ჩვენი დოკუმენტის მზადაა, შეასრულოს ეს. ახლა ჩვენ შევხედავთ როდესაც ის წარმოდგენილი. ასე რომ, ახლა ჩვენ რეალურად სახის ხორცი ჩვენი რამ. ასე რომ, ჩვენ უნდა მიიღოს ღირებულება, რომელიც მომხმარებლის წარმოდგენილი, თუ არა, რომ შეიძლება იყოს სახელი ან ცარიელია. და მაშინ ჩვენ უნდა ან დაბრუნების ამ მზადყოფნაში ან ჩააგდოს შეცდომა. არც გზა. ასე როგორ უნდა განაცხადოს ცვლადი JavaScript? Var. ასე ვთქვათ, var სახელი შეადგენს და რეალურად, ჩვენ უნდა ამის გაკეთება, რადგანაც მიმაჩნია, რომ ეს სახელი. OK. ასე რომ, ჩვენ გვაქვს გარკვეული მნიშვნელობა, რომ ჩვენ აქ გსურთ გაიყვანოს ჩვენი საშუალებებით ფორმა. ასე რომ, იგივე გზა, რომ ჩვენ სახის გააკეთა საშუალებებით, შეიძლება ვინმეს მითხრათ რა ჩვენ შეიძლება მოუწოდებს ფარგლებში აქ თუ გვინდოდა სახელი ფორმით? და თუ ჩვენ ვიხსენებთ ჩვენი ფორმა აქ, შევნიშნავთ, რომ ჩვენ გვაქვს ID სახელწოდება. აუდიტორია: [INAUDIBLE]. დინამიკები 1: თქვენ არ გაქვთ ვფიქრობ, რომ ეს როგორც მასივი. თქვენ არ უნდა ფიქრი, რომ. ასე რომ, ჩვენ მხოლოდ გარკვეული სახელი. და მერე იმიტომ, რომ JavaScript და რამ უცნაური, ჩვენ არ შეგვიძლია უბრალოდ "სახელი". ჩვენ რეალურად უნდა დაუკავშირდეთ ზოგიერთი ფუნქცია გვაძლევს, როგორიცაა, ღირებულება რომ იდენტიფიკატორი. OK? ასე რომ, ეს მხოლოდ .val. აუდიტორია: [INAUDIBLE]. დინამიკები 1: OK. ასე JavaScript, ამ სახის რამ აქ უბრალოდ გადის. და თქვენ შეიძლება ვიფიქროთ, რომ ეს as-- ეს ისევე როგორც თითქმის getElementById, სადაც getElementById გვინდა რეალურად დაბრუნდება სრული რამ თქვენ. $ ("# სახელი"), ისევე, როგორც, OK, მაქვს, მაგრამ მე შეუძლიათ, მაგრამ თუ თქვენ ნამდვილად გსურთ იგი დაბრუნებას ღირებულება თქვენგანი აუდიტორია: იგი, როგორც მაჩვენებელი? დინამიკები 1: ეს არის სახის მოსწონს მაჩვენებელი. თქვენ შეიძლება ვიფიქროთ, რომ ეს სახის მოსწონს მაჩვენებელი. როგორიცაა, ის ამბობს, OK, მე იცით, თუ როგორ უნდა იქ, მაგრამ რეალურად მიიღონ, ღირებულება გარეთ ის, რომ თქვენ უნდა პირდაპირ ითხოვს. და სამწუხაროდ, რა თქმა უნდა, ჩვენ არ ძალიან ბევრი JavaScript და jQuery. ასე რომ, ის აპირებს ჩამოდი, თუ რამდენად თქვენ ბიჭები რა მოხდება ვიცი, რა მოხდება, რომ არ ჩანს, და რა თქვენ შეგიძლიათ სახის ლოგიკურად ვხვდები. იმის გამო, რომ ზოგიერთი რამ, თქვენ შეიძლება ალბათ კიდევ შუა ნაწილამდე იყვნენ იქ. მაგრამ მას სრულიად უფლება, მე ვფიქრობ, რომ ეს პრობლემა ალბათ ერთ-ერთი ყველაზე დაბალი ქულები. აუდიტორია: Like, მაგალითად, for [INAUDIBLE] საშუალებებით, რატომ არ უნდა დააყენოს val არსებობს? დინამიკები 1: ამ ერთი? აუდიტორია: Yeah. დინამიკები 1: ჰო. რადგან ეს არის ერთგვარი მოსწონს, როგორც ვთქვით, ზოგიერთი მაჩვენებელი, და ეს არის ჩემთვის მითითება და რეალურად მიღების us მნიშვნელობა. აუდიტორია: მაშინ, როდესაც [INAUDIBLE]? დინამიკები 1: For საშუალებებით, საშუალებებით არის მხოლოდ რამდენიმე ეს იგივეა, რომ ჩვენ უბრალოდ ეძებს ის, როგორც მთელი, და ეს წარუდგინოს, ახერხებდნენ ეუბნება რაც ჩვენ უნდა ვიცოდეთ. jQuery და JavaScript არის უცნაური. მე ვიცი. მე ვიცი, ბიჭები. მე ვიცი. არ არსებობს მიზეზი, მე არ გავაკეთოთ ვებ პროგრამირების. მხოლოდ kidding. მე არ მქონდა საკმარისი ოპერირებას იგი. აუდიტორია: [INAUDIBLE] CSS. [სიცილი] დინამიკები 1: OK, რომ CSS. CSS არის უბრალოდ, მოსწონს, რათა რამ საკმაოდ, ეს იმას არ ნიშნავს, მოდით გაუმკლავდეთ მონაცემები. არსებობს განსხვავება არსებობს. OK. ასე რომ, ახლა იმედია, ეს part-- ასევე, პრობლემა მოსწონს, სადაც თქვენ შეიძლება არ ვიცი, სინტაქსი, თქვენ შეიძლება იყოს, როგორიცაა, OK, თქვენ შეიძლება გარკვეული var მნიშვნელობა და იყოს, ვივარაუდოთ მე მივიღეთ ღირებულება სწორად. და მაშინ შეიძლება ალბათ წერენ ამ შემდეგი ნაწილი. ამ შემდეგი ნაწილი იქნება ალბათ როგორც ჩანს ბევრად უფრო ადვილია, ან იქნებოდა ლოგიკური გრძნობა, რომ თქვენ ბიჭები. ხოლო ის, რაც ჩვენ წერილობით ჯერჯერობით, მე ვიცი, რომ იყოს, umm, yeah, მე არ ვიცი, რომ ვიქტორინა. თქვენ შეგიძლიათ მთლიანად დაწერა psuedocode და შემდეგ შესვენება შევიდა რეალური კოდი როდესაც თქვენგანი ეს სახის, როგორიცაა მათემატიკის. თუ თქვენ ოდესმე გვქონდა მრავალ ნაწილი პრობლემა, სადაც თუ თქვენ არ იცით, თუ როგორ უნდა რომ გასული პირველი ნაბიჯი, მაგრამ ყველაფერი ეყრდნობა, რომ პირველი ნაბიჯი, თქვენ უბრალოდ ამბობენ, ისევე, ვივარაუდოთ, x უდრის 4. და მაშინ აწარმოებს მას, არა? შეგიძლიათ გააკეთოთ იგივე კოდი. ასე რომ, შეიძლება ითქვას, ვივარაუდოთ, მე მივიღე ღირებულება უფლება. მაშინ ამის გაკეთება მომდევნო ნაწილი აქ. რადგან ეს ნაწილი რეალურად უნდა იყოს საკმაოდ ლოგიკური. ასე რომ, ჩვენ უნდა შეამოწმოთ თუ ჩვენი ღირებულება არის ცარიელი. თუ ეს რამდენიმე სახელი, რეალურად მისცეს მზადყოფნაში. რა შეიძლება ჩვენ გვინდა შევამოწმოთ? ჩვენ გვინდა, რომ აქვს გარკვეული, თუ. თქვენ რას ფიქრობთ ჩვენი თუ იქნება? ჩვენ უნდა შეამოწმოს თუ ღირებულება is-- თუ ეს არ არის ცარიელი. სრულყოფილი. ზუსტად. OK. ასე რომ, თუ ეს საქმე, რა გვინდა გავაკეთოთ? ჩვენ გვინდა, რომ იმისათვის, რომ ზოგიერთი alert, არა? ასე რომ, ეს უბრალოდ alert. და შემდეგ, რაც ჩვენ გვინდა შიგნით. ასე რომ, რა ჩვენ უნდა უნდა ვისწავლოთ ჩვენი alert? აუდიტორია: "Hello". დინამიკები 1: მძიმით. და მაშინ ბიჭები მახსოვს, როგორ concatenate? აუდიტორია: Plus. დინამიკები 1: Plus. ასე რომ, ჩვენ გვინდა, რომ აქვს დამატებული. და მაშინ ჩვენ გვჭირდება კიდევ ერთი პლუს ჩვენი ძახილის წერტილი. მაგარი. OK. წინააღმდეგ შემთხვევაში, რა შეიძლება ჩვენ გვინდა გავაკეთოთ? ჩვენ არ გვინდა არაფერი, არა? ასე რომ, ჩვენ დააბრუნებს false. მე არ მინდა ამის გაკეთება. OK. და მაშინ ეს, რა course--, რაც მთავარია, უნდა გვახსოვდეს, დახუროს თქვენი ანონიმური ფუნქციები. ასე რომ, თუ თქვენ შეამჩნევთ, რომ ჩვენ გვაქვს გარკვეული ფუნქცია აქ, რომ დამთავრდა აქ. ასე რომ, ჩვენ უნდა დახუროს ეს პირველი და დაამატოთ მძიმით. და შემდეგ ამ ერთი აქ უნდა გავაკეთოთ ეს ანონიმური ფუნქცია, ასე რომ, ჩვენ ვხურავთ მას იქ. რომ მუხლებამდე jerk რეაქცია გადარჩენის. დიახ. აუდიტორია: არის მიზეზი that-- უბრალოდ ყველა მაგალითები, JavaScript რომ მე მინახავს, ​​ჩვენ გვაქვს პირველი curly აფრთხილებს იმავე ხაზის ფუნქციას? დინამიკები 1: ეს არის სტილისტური. Yeah. და რეალურად, თუ თქვენ მიიღოს 61, ჩვენ ყველა ჩვენი Curly braces რომ გზა. არა? აუდიტორია: თუ ჩვენ გავაკეთებთ, რომ pset, ის არის, რომ ცუდი სტილი? დინამიკები 1: No. ჩვენ მკაფიოდ უთხრა ბიჭებს უნდა გააკეთოს ეს. მაგრამ რეალურად, ეს არის ერთგვარი დომინირებადი კონვენცია ბევრი C კლასი და JavaScript და jQuery. ასე რომ, ცხადია, მე sure-- და რეალურად, თუ მე იყო, რომ ეს პრობლემა მთლიანად ბრმა გარეშე შევხედე მას, არსებობს, ალბათ, ძალიან ცოტა გზა მე არ მიღებული ეს. მე შეიძლება არ ყოფილიყო, OK, იქნებ მე უნდა დაიბრუნოს რაღაც რომ შეყვანის. და მე ვფიქრობ, რომელსაც ცოდნა, როგორიცაა, OK, თუ მინდა, რომ კიდევ რაღაც საწყისი ფორმა, რომელიც აქვს პირადობის მოწმობა, მე ეხება მას ამ გზით, მე ალბათ მიიღოს, რომ. მე შეიძლება მიიღოს ამ. მაგრამ რეალურად, ერთადერთი, რაც მე ვფიქრობ, მე ნამდვილად მივიღო ეს უფლება აქ. ასე რომ, ეს სახის მნიშვნელოვანია ვიცი, როგორც ნებისმიერი რთული გამოცდა, თქვენ სახის თქვენი ბრძოლები, არა? თუ თქვენ იცით, რომ თქვენ არ აპირებს მიიღოს რომ პირველი ნაწილი, jQuery, როგორც ვთქვი, ვივარაუდოთ, რომ თქვენ გაქვთ ეს ღირებულება და რა შეგიძლიათ იგი. და თუ დრო გაქვთ, დაბრუნდეს და ცდილობენ და შეავსონ ცალი. მაგრამ არ დაუშვა კითხვაზე, როგორიცაა ეს მართლაც ბანკის თქვენ ქვემოთ. იმის გამო, თუ რა? ეს იყო ერთი საკითხი jQuery გარეთ მთელი გამოცდა. ასე რომ დიახ, ის მინდა კარგი იქნება, თუ თქვენ მიიღო იგი. აუდიტორია: [INAUDIBLE] თქვენ შეგიძლიათ გამოიყენოთ jQuery. დინამიკები 1: თქვენ ხართ მივესალმებით გამოიყენოს jQuery. აუდიტორია: OK. [INAUDIBLE]. დინამიკები 1: როგორ არ გამოვიყენოთ? მე უნდა გამოიყურებოდეს ყველა ჩემი JavaScript. ეს რეალურად ბევრად უფრო ადვილია, მე ვფიქრობ, რომ გამოიყენოთ jQuery, იმიტომ, jQuery რეალურად ამცირებს თანხის JavaScript წერთ ალბათ მიერ, ისევე, ნახევარი. ასე რომ, ჩვენი კოდი, ალბათ, ორჯერ ხანგრძლივი გარეშე, რომ. ასე რომ, თუ თქვენ recognize-- ყველაზე დიდი რამ მიიღოს დაშორებით ეს პრობლემა თარგების. თუ თქვენ წვდომის რაიმე ფორმით, თქვენ აპირებთ გამოიყენოთ შეთავაზებები, hash, რასაც თქვენ ცდილობთ ხელმისაწვდომობა. თუ ის, რომ წარმოდგენილი, გსურთ გამოიყენოთ რაღაც წარუდგინოს, ახერხებდნენ. თქვენ ალბათ აპირებს გამოიყენოს ანონიმური ფუნქცია არსებობს. თუ თქვენ ნამდვილად გჭირდებათ ღირებულება რაღაც, თქვენ ვაპირებთ გავაკეთოთ quotes, hash, რასაც ველი, .val. და იმის გათვალისწინებით, თარგების მოსწონს, რომ აპირებს ბევრად უფრო სასარგებლოა, ვიდრე ნამდვილად იცის nitty gritty. დიახ. აუდიტორია: ასე რომ, თუ პროფაილი წარუდგენს თავისი სახელი და ეს გადის, რომ განაცხადი, იქნება მას დაცემას და დაბრუნების ცრუ შემდეგ? დინამიკები 1: არა, რადგან მზადყოფნაში, შეგიძლიათ წარმოიდგინოთ, რომ მას მოსწონს დაბრუნების. Yeah. ასე რომ თქვენ გასასვლელად. Yeah. აუდიტორია: იქნებ [? განათავსეთ?] ფრჩხილებში წარუდგინოს, ფრჩხილებში, რაღაც? დინამიკები 1: მე, მე მჯერა. ეს ერთი დახურული უფლება აქ. და შემდეგ ამ ერთი იღებს დაიხურა აქ. აუდიტორია: Oh, არსებობს. ყველა უფლება. დინამიკები 1: ცხადია, პატარა, ცოტა სინტაქსური რამ მოსწონს, რომ ჩვენ, ალბათ უბრალოდ შემოხაზავს მას და იყოს, არ დაგავიწყდეთ თქვენი ფრჩხილებში. მაგრამ yeah. OK. გვაქვს კიდევ ერთი რომ ჩვენ გვინდა გავაკეთოთ? იცით თუ ბიჭები კიდევ ორობითი ხე ერთი? გვინდა წასვლა გამო, რომ ერთ-ერთი? ვგრძნობ, როგორიცაა ბინარული ხეები და DOMs უნდა იყოს რაოდენობა რომ თქვენ ბიჭები კიდევ საკმაოდ ადვილად. მე არ მინდა, რომ თქვენ დაკარგოს ქულები რომ. OK. მოდით ეს DOM აქ. მე მინდა მე ჩემი Surface ასე რომ მე შეიძლება მხოლოდ მიაპყროს ეკრანზე. ეს არის ის, რაც მე უნდა გააკეთოს გასულ წელს. OK. ასე რომ, როგორც უკვე აღვნიშნე, ჩვენ ვისაუბრეთ შესახებ DOM, დოკუმენტის ობიექტური მოდელი. ისინი ალბათ აპირებს მოგცემთ ზოგიერთი ცოტა snippet მოსწონს ეს და გთხოვოთ, რომ შეიქმნას ხე იგი. და ეს უბრალოდ ყველაფერი უნდა გააკეთოს ერთად გადის tags. მოდით ცდილობენ და ამის გაკეთება. ასევე, როგორც პოსტი ჩვეულებრივი, თუ ბიჭები გავაკეთოთ ეს ტესტები, უაღრესად გირჩევთ, რომ თქვენ, როგორც პრაქტიკა, რომელიმე მათგანი, რომ თქვენ, როგორიცაა, მე ნამდვილად არ რა არის ხდება აქ, უბრალოდ, რა თქმა უნდა, გამომიგზავნე ელფოსტა კითხვით, და მე აგიხსნით, როგორც საუკეთესო შემიძლია. OK. ჩვენ გვაქვს რამდენიმე დოკუმენტი, და ჩვენ გვაქვს HTML. OK. ასეა, მაშინ ჩვენ უბრალოდ ანალიზის tags აქ, არა? ასე რომ, რა ჩვენ ვხედავთ comes-- რა ორი ქვესათაურები ქვეშ HTML? განსაკუთრებით იმიტომ, ისინი indented სწორად? ხელმძღვანელი და სხეულის. Ah. ხელმძღვანელი და სხეულის. ლამაზი. ასეა, მაშინ მოდით დავიწყოთ აქ უფროსი. რა ქვეშ ხელმძღვანელი? რა არის ჩვენი მომავალი აქვს? სათაური. და შემდეგ შიგნით სათაური, ვიქტორინა. OK. ასე რომ, ფაქტიურად, ეს მხოლოდ გავლით tags, OK? ასე რომ თუ გვაქვს ნაწილები, როგორც ჩვენ გაიაროს, სხეულის აქვს სამი რამ მასში, არა? ის მივიღე სამი divs. ყველა div იღებს თავისი პატარა ყუთი. და რა არის პირველი div? [INAUDIBLE] და შემდეგ მომდევნო ერთი შუა, რომელიც მე უბრალოდ აპირებს abbreviate. და შემდეგ ბოლო ერთი ბოლოში. ასე რომ, რეალურად, ის უბრალოდ გავლით. და რადგან ჩვენ ვაპირებთ, რათა თქვენ HTML, რომელიც სათანადოდ indented, თქვენ შეგიძლიათ სიტყვასიტყვით უბრალოდ აწარმოებს მეშვეობით და იყოს, OK, აქ არის HTML. ასე რომ, ეს არის outermost კუთხეში, ან უკიდურეს მარცხენა, ასე რომ, უნდა იყოს საკუთარი რამ. ეს არის იგივე აბზაცი. ჩვენ ვიცით, რომ ხელმძღვანელი სჭირდება იყოს იმავე დონეზე, როგორც სხეულის, მაგრამ ქვეშ HTML. ეს არის ის, რაც ჩვენ გვაქვს აქ. ხელმძღვანელი და სხეულის არიან ძმა, მაგრამ ისინი ქვეშ HTML. და მაშინ ჩვენ უბრალოდ შევიდა თითოეული მათგანი. ასე ხელმძღვანელი ჰყავს სათაური, რომელიც აქვს ვიქტორინა, როგორც ვხედავთ აქ. და მაშინ ამ შემთხვევაში, ჩვენ გვაქვს ორგანოს, რომელიც აქვს ამ სამი ხაზები. ეს არის ყველა ძმა ქვეშ ორგანო. OK? ასე რომ, იმედია, როდესაც თქვენ ხედავთ მსგავსი რამ, თქვენ, როგორიცაა, დიახ, მე უბრალოდ მიაპყროს ხე. ეს კარგად იქნება დიდი. OK. ასე სურდა დარწმუნდით თქვენ ბიჭები იცოდა, რომ. რატომ არ ჩვენ წასვლა 32 ჩვენი ორობითი ხე? იმიტომ, რომ ერთხელ გესმით ორობითი ძებნა ხე, ეს ნამდვილად არ არის, რომ ცუდი. ასე Everett, შემიძლია erase-- I ნიშნავს, რომ ეს არის ყველა შემოსული, ძალიან. ასე რომ, თუ თქვენ გაქვთ რაიმე შეკითხვები. დაკარგული პატარა სივრცეში არსებობს, მაგრამ ეს OK. ასე ორობითი ძებნა ხე უბრალოდ გზა ორგანიზება მონაცემები არ მასივი, სადაც ძირი ყოველთვის უფრო ვიდრე მარცხენა და ბავშვის root არის ყოველთვის ნაკლები მარჯვნივ შვილი. OK. ასე რომ, ჩვენ ამ დიდი ძებნა ხე აქ. ჩვენ გვაქვს ამ ნომრებზე, 34, 59, 20, 106, 36, 52. და ჩვენ უნდა ორგანიზება მათ ისე, ისეთი, რომ root არის უფრო დიდი, ვიდრე ყველაფერი მარცხენა მხარეს და ნაკლები ყველაფერი მარჯვენა მხარეს. და, როგორც წესი, რას გსურთ გააკეთოთ ცდილობენ და იპოვოს რაღაც შესახებ შუა. ორობითი ძებნა ხეები, ალბათ ითამაშოს გარშემო ცოტა იგი. მაგრამ ამ შემთხვევაში, მოდით უბრალოდ ვივარაუდოთ, რომ ჩვენ ვიცით, რომ ეს პირველი. ასე 36 არის ჩვენი პირველი აქ. როგორც წესი, მე შეეცდება და ამოირჩიოთ შესახებ, შუა საიტზე ალბათ გამოიღო საუკეთესო შედეგებს. ახლა ჩვენ ვიცით, რომ ყველაფერი ამ მხრივ უნდა იყოს ნაკლები 36. არამედ, რაც თქვენ ვერ ვხედავ არის რომ ჩვენ გვაქვს ორი წერტილში აქ. ასე რომ, თუ ჩვენ ვიცით, რომ ჩვენ გვჭირდება ორი ციფრები, რომ ნაკლები root, მაშინ შეიძლება მხოლოდ შეუკვეთოთ ამ და მესამე ნომერი. OK. რატომ არ უნდა დაიწყოს ამ მხრივ? ასე რომ, თუ ჩვენ ვიცით, რომ ყველაფერი ამ მხრივ უნდა იყოს ნაკლები 36 მაგრამ თუ დავაკვირდებით ამ ერთი, ჩვენ ვიცით, რომ ეს რიცხვი ნაკლები უნდა იყოს, ვიდრე ეს რიცხვი, არა? იმიტომ, რომ ეს რიცხვი აქ არის მარჯვენა მხარეს. და მახსოვს, ისევე, როგორც ჩვენი დიდი ხე, ყველაფერი მარჯვენა უნდა იყოს უფრო დიდი, ვიდრე root. ამ გზით ჩვენ ვიცით, რომ რაც ამ საჭიროებების უფრო დიდი, ვიდრე ის რაც არის აქ. OK? ასე რომ, ჩვენ გვაქვს ორი არჩევანი ამ ორი bubbles. ჩვენ გვაქვს 32 და 34-- ან ბოდიში. 20 და 34. ასე რომ, როგორ ფიქრობთ, ჩვენ შეიძლება დააყენა ამ? თუ ეს ერთი უნდა იყოს მეტია, ვიდრე ეს ერთი, ეს ნიშნავს, რომ ჩვენ გვინდა 20 აქ და 34 აქ. OK. ასე რომ, იგივე გზა, გადავხედავთ ამ სახის sub ხე. და ვამბობთ, OK, ჩვენ არ გვაქვს 36. ჩვენ გვყავს 106, 52 და 59. არა? ამ შემთხვევაში აქ, ჩვენ ვიცი, რომ ეს არავის სჭირდება აქვს ერთი რამ, რომ უფრო მეტია, ვიდრე და ერთი რამ, რომ ნაკლები. არა? ასე რომ, თუ ჩვენ ამ მიზნით, უბრალოდ მოძიებაში, რომ ახლო ღირებულება ერთხელ. ასე რომ, ჩვენი საშუალო ღირებულება არის 59. ასე რომ, ჩვენ იტყვით, რა არის ნაკლები 59? ისე, რომ 52. და რა არის უფრო მეტი, ვიდრე 59? ისე, რომ 106. OK? ასე რომ, ეს უბრალოდ ცოტა მოსწონს თავსატეხი. ეს, როგორც წესი, ეხმარება, განსაკუთრებით პატარა ხეები, როგორც ეს, თუ თქვენ შეუკვეთოთ ის, თუ იცით, რამდენი არიან მარცხენა და რამდენი არიან უფლება, რომ შეგიძლიათ მხოლოდ საშუალებას გაძლევთ აირჩიოთ რა უნდა იყოს თქვენი root. და შემდეგ შეგიძლიათ სახის მუშაობა იქიდან. მმ-hm. 33? დარწმუნებული ვარ. OK. ასე რომ ჩვენ გვინდა შევქმნათ კვანძში ან ორობითი ძებნა ხე. და მოდით შევხედოთ, თუ რა შეიძლება იყოს ეს. და მე ვფიქრობ, ეს იქნება რეალურად იყოს ჩვენი ბოლო პრობლემა. Ah. OK. OK. ეს არის, როგორც ის, რაც ჩვენ ვფიქრობ, როგორც კვანძი, არა? ჩვენ გვაქვს გარკვეული ღირებულება, და ჩვენ ვიცი, რომ ის ან აქვს მარცხნივ და მარჯვნივ შვილი. ორობითი ძებნა ხე, რომ საშუალება რომ მას აქვს ყველაზე, ორი შვილი. OK? მოდით ვიფიქროთ გზა ჩვენ განსაზღვრული უკავშირდება სიაში, უფლება? ჩვენ გვქონდა int, რომ წარმოდგენილი მნიშვნელობა. ჩვენ გვქონდა მაჩვენებელი, რომელიც წარმოდგენილია რას აპირებს მომდევნო. ორობითი ძებნა ხე ძალიან ჰგავს. ჩვენ ჯერ კიდევ აქვს გარკვეული მნიშვნელობა, n, რომ ჩვენ მისთვის, არა? და მაშინ მე დავხატე ეს ძალიან მკაფიოდ ისრებით, იმიტომ, რომ ისინი ეფექტურად პოინტერები. OK? ასე რომ, ო, როგორც წესი, რა? ეს გარკვეული მნიშვნელობა. რა ჩვენ, როგორც წესი, დანიშნოს ის, რაც? Int. ასე რომ, ჩვენ გვაქვს int n, ან int ღირებულება, ან რასაც თქვენ მინდა მოვუწოდო მას. და მაშინ ჩვენ გვაქვს მარცხენა ბავშვი და მარჯვნივ შვილი. არა? და ჩვენ ვიცით, რომ ის, რაც ისინი წერტილი რას მიუთითებს? ისინი მიუთითებს სხვა კვანძების, არა? ისე როგორ იქნებოდა განაცხადოს კვანძის მაჩვენებელი? აუდიტორია: [INAUDIBLE]. დინამიკები 1: Mm-hm. და ჩვენ ვაპირებთ აქვს ორი იმ, არა? და მაშინ ჩვენ შეგვიძლია ფაქტიურად არ დაუტოვებიათ მარცხენა ბავშვი და უფლება უფლება შვილი. რეალურად ბოდიში. იმიტომ, რომ ჩვენ უნდა struct. ასე struct იმიტომ, რომ ჩვენ არ გვაქვს დასრულდა გამოცხადების კვანძის ამჟამად. ასე კვანძის ფარგლებში აქ. ეს ერთგვარი მოსწონს რეკურსიული განმარტება, არა? ასე რომ, როდესაც ჩვენ ვართ ფარგლებში ეს განმარტება, ჩვენ არ დასრულდა გამოცხადების კვანძის, როგორც სტრუქტურის, ასე რომ, ჩვენ უნდა გავაკეთოთ struct კვანძის უბრალოდ ვთქვა, დიახ, ჩვენ, ფაქტობრივად გულისხმობდა უკან ourself ტიპის რამ. რომ ისევე, როგორც კიდევ ეს იქმნება, ეს იქნება ჯარიმა. ასე რომ რამდენად დიდი ბიჭები ვფიქრობ, რომ ეს? რა არის ზომა ამ სტრუქტურაში? 12. რატომ? ზუსტად. და რეალურად, ერთ-ერთი პირველი კითხვა, ერთი Quiz One დაახლოებით ზომის, რის გამოც მე ვკითხე. ყველა უფლება. ჩვენ ვაპირებთ, რომ ბოლომდე, რადგან DCE დაწეროთ at me თუ არა. მაგრამ, თუ თქვენ ბიჭები გაქვთ რაიმე შეკითხვები, რა თქმა უნდა, მომაწოდეთ, ნება მომეცით ვიცი. თქვენ ბიჭები ვაპირებთ როკ იგი. მე სუპერ აღფრთოვანებული. თქვენ ბიჭები უნდა გაკეთდეს ოთხშაბათს, და შემდეგ თქვენ მიიღებთ მუშაობა თქვენი საბოლოო პროექტები და ის იქნება რა. მე ვიქნები აქ შემდეგი კვირას დილის 4:00 to 4:30 თუ ბიჭები მინდა მოსვლა შეარჩიო თქვენი ტესტებში. თუ თქვენ გსურთ იპოვოთ me სხვა დროს ან უბრალოდ კოორდინაცია სხვადასხვა დროს, მოგერიდებათ ნება მომეცით ვიცი. წინააღმდეგ შემთხვევაში, ეს ჩვენი ბოლო მონაკვეთზე. ასე რომ, ეს იყო დიდი სანახავად თქვენ ბიჭები. გთხოვთ მიიღოს მეტი candy. და წარმატებას გისურვებთ თქვენს ვიქტორინა.