>> JASON Hirschhorn: Witamy, wszyscy, do 10 tygodnia.
To ekscytujący tydzień, ponieważ jutro jest Quiz 1, które będziemy mieli
w sekundę.
Dziś w sekcji, będziemy iść na niektóre środki do quizu, a
wtedy odpowiem wszelkich pytania macie.
A my w końcu skończyć z niektóre problemy praktyczne.
>> Możemy spędzić cały rozdział odpowiedzi na pytania.
Możemy spędzić cały rozdział dzieje się problemów praktycznych.
Będziemy po prostu rozwinąć, aby wypełnić przestrzeń i czas mamy.
>> Włożyłem więc tę listę się co tydzień, ale jest to szczególnie ważne w tym tygodniu.
Na studia, jeśli nie ma rozpoczęła już, oh boy.
Ale mam nadzieję, że już rozpoczął już.
I idziesz przez materiały i tutaj wymienione środki.
Gorąco polecam Wiele z nich.
>> W szczególności, notatki do wykładów są niezwykle ważne i pomocne.
Study.cs50.net zapewnia świetny podkład na wiele
tematy omówiliśmy.
Ma też kilka świetnych praktyce problemów.
A następnie, Google jest wielki, zbyt.
Nie wiem, co chcesz używać go do.
Ale korzystać z Google, jak również.
>> Dotrzeć do mnie, jeśli masz jakiekolwiek pytania, uwagi lub wątpliwości.
Spójrz na sesji przeglądarki slajdy z zeszłej nocy.
Albo, jeśli masz trochę czasu, obejrzeć film.
Zapewniają one dużo pomocna materiały i informacje.
I pokrycie spróbować, jeśli nie wszystkie, z wielu tematy omówiliśmy i że
może zobaczyć na quiz.
>> Mówiąc o quizie, że będzie jutro.
Jest to 75 minut.
Wielu z was biorą go na 1 godzina, a niektórzy z was są
biorąc go o 5:30.
Po raz bierzesz go i lokalizacja bierzesz go, upewnij się,
można sprawdzić dokument na stronie głównej CS50.net.
>> Pamiętaj, że możesz dostać jeden 8 1/2 o 11 arkusza ze sobą zabrać.
Często ludzie nie korzystają z tego Karta w ogóle podczas quizu.
Ale tak naprawdę, to jest bardzo pomocne narzędzie pracy.
Tak więc łącząc że karta jest co Spędziłem prawdopodobnie trzy lub cztery godziny
robi, gdy studiowałem na CS50 i to było łatwo najbardziej pomocny
sposób mogę studiować na quiz.
Więc nawet jeśli masz kilka innych osób Badanie prowadzi się na nie i
używać jako odniesienia, bardzo polecam tworzyć własne przewodnik badania, stawiając
te rzeczy razem.
To naprawdę pomaga uczyć się cały materiał.
>> Ostatni, ale nie najmniej w tym rozdziale, po jutrze quizu jest jedna
więcej wykład -
w następny poniedziałek.
Jest jeszcze jeden punkt, a nie obok Wtorek przed Świętem Dziękczynienia, ale
Wtorek po tym.
Będziemy razem na spotkanie końcowa widzenia partii i robi jakieś fajne również
rzeczy, aby chłopaki podekscytowany dalsze badania w dziedzinie informatyki.
>> Jest jeszcze jeden projekt, jeden sprawiedliwe, jeden hackathon.
Zbliżamy się do końca CS50, które jest ekscytujące -
ale także, jeśli jesteś jak mi, trochę smutny.
Zanim przejdę dalej, czy ktoś ma wszelkie pytania na temat tego, co
omówiliśmy do tej pory?
>> OK, dobrze idziemy na kilka pytań że masz do quizu i tematów
możemy pokryć.
Więc to jest lista, która ułożyła.
To bynajmniej nie jest wyczerpująca, ale miejmy nadzieję, jog pamięci, jeśli ci
kilka pytań na temat któregokolwiek z tych tematy, lub jeśli masz pytania na temat
Problemy praktyczne z quizami w minionych latach.
>> Miałem kilka pytań, które były e-maila do mnie, ale chcę, aby powstrzymać
na tych, na chwilę.
Czy ktoś ma jakieś pytania, Problemy nie rozumieli,
odpowiedzi, że nie rozumieją aby nam się zaczęło?
Avi.
>> PUBLICZNOŚCI: możesz po prostu przejść nad DOM i Ajax naprawdę szybkie?
Podoba Ci się to, co musimy wiedzieć, czy powinien rozumiem o nich?
>> JASON Hirschhorn: Zamierzam odpowiedzieć ogólnie to pytanie, co mogę
chcesz wiedzieć o danym temacie x?
Bo mam wrażenie, wielu z was będą mnie prosić, albo są
ciekawy temat.
Tak, do tego stopnia, że ​​temat był pokryte w wykładzie, lub punkt, lub na
study.cs50.net, problemem ustawiona, powinien zapoznać się z nią.
>> Więc nie musisz się znać każdy rodzaj tag, który jest dostępny w formacie HTML lub
każdy typ atrybutu lub własności możesz dać coś w CSS.
Ale czy widziałeś go w np. wykład, czy widziałeś go w błąd
zestaw, powinieneś znać z nim, w szczególności rzeczy obejrzałeś
w wykładzie.
Więc rozmawialiśmy dokument Object Model trochę w
punkt, bardziej w wykładzie.
Należy zapoznać się z tym wiele.
>> I należy zapoznać się z Ajax w tym samym stopniu.
Nigdy nie widzieliśmy bardzo zaawansowanym lub skomplikowane przykłady Ajax, więc
nie zamierzasz zostać poproszony zrobić coś bardzo skomplikowane.
Ale może zostać poproszony, jak mogę wykonać połączenie Ajax przy użyciu jQuery?
Która jest coś, czego nie widziałem wiele czasów przed, zarówno
przeglądu sesji oraz w wykładzie i to tylko dwa-owski linii kodu.
>> Tak, że jest coś, co powinno znać.
Ale znowu, dla wszystkich tych tematów, jeśli widziałem go
przed, to jest uczciwa gra.
I możemy cię prosić - oczywiście, że jesteśmy zapytam ciebie rzeczy
nie widział.
Kodowanie coś, czego nie mają widział.
Co nie znaczy, że nie mają widać narzędzia do rozwiązywania
że problem, przed.
Widziałeś tych narzędzi.
>> Na przykład, w Quiz 1, jeżeli trzeba zakodować strlen.
Nie kodowane strlen wcześniej.
Ale wiesz, jak korzystać z pętli, wiesz, jak korzystać, jeśli warunki.
Wiesz jak napisać zmienne w C To będzie to samo tutaj.
Nie zamierzamy zostać wezwany do coś, czego nie widziałem wcześniej, ale
może zostać poproszony o, jak, umieścić coś razem w nowatorski sposób, lub
inny typ rozwiązania problemu.
>> Przykro nam, że nie było specyficzne dla pytanie, ale nie mogę odpowiedzieć na temat
każdy temat, co zrobić lub nie muszą wiedzieć.
Ale także, przepraszam, ostatnią rzeczą, na które.
Spędziliśmy znacznie więcej czasu na listach łączy niż mamy na Ajax.
Nie używać Ajax w zestawie problemów.
Jedną z głównych cech, które Problem set to był list linków.
I spędziliśmy dużo czasu w wykładzie i sekcja użyciem.
>> Tak, kursy są lista Link pojawi się więcej często na quizie niż Ajax woli.
Lub pytania, mając do czynienia z linkiem lista będzie warte więcej punktów.
Więc z pewnością można skupienie i wąskie się na rzeczy, które są bardziej
może wymyślić, ponieważ mamy spędził więcej czasu na nich.
>> OK, jakieś pytania?
Tak.
>> PUBLICZNOŚCI: Czy możemy przejść nad wykorzystaniem funkcje anonimowe w javascript?
Jestem to trochę mylić o tym.
>> JASON Hirschhorn: Więc w JavaScript -
Staram się myśleć, jak ja może napisać to na -
więc niech faktycznie otworzyć ten kod.
Więc to jest kod, który zrobiliśmy w zeszłym tygodniu.
I widziałem to wcześniej, jeśli tu w sekcji zeszłym tygodniu.
Lub widziałeś coś podobny do tego wcześniej.
>> Ale można spojrzeć na pierwszej linii.
W ten sposób można rozpocząć -
wszyscy to widziałem.
Jeśli chcesz umieścić jakiś kod JavaScript, można umieścić go wewnątrz tego, zakładając
używasz jQuery.
Ten mówi, nic nie rób aż do załadowania dokumentu.
>> A potem, Curt, widzisz tutaj robimy coś takiego -
Funkcja open nawias zamknięty nawias.
Więc to nie daje funkcjonować nazwę.
Nie zamierzamy zdefiniować tę funkcję ma działać, a następnie
Nazywamy to kilka razy.
Po prostu mówiąc, ten dokument już trwa funkcja.
Kilka rzeczy wartych uwagi.
>> A my nie chcemy spędzić czas nadając jej nazwę lub zapisz ją na
wieczność.
Chcemy tylko, aby uruchomić pewne rzeczy.
Tak anonimowa funkcja sortowania z pełni tego celu.
Jeśli nie zamierzasz korzystać z czegoś w kółko, więc nie trzeba
aby nadać mu nazwę - po prostu chcesz go używać raz -
byłoby po prostu powiedzieć, funkcji, dla Na przykład, w tym przypadku, i jesteś po prostu
określenie czegoś, co można nadać nazwę.
>> Jak, możemy wyciągnąć z tej funkcji i nadać mu nazwę, a następnie zadzwonić, że
działają tutaj.
Ale nie trzeba, bo nie chcesz tracić czasu nadając jej nazwę lub
tracić coś w naszym imieniu przestrzeni.
A zobaczysz, że wiele.
Na przykład, widzimy, że wiele w tym kod, ale nie widziałem tego wcześniej, gdy
Kliknięcie coś -
uruchomić ten rodzaj kodu.
>> Możemy zdefiniować kod, który chcemy uruchomić po kliknięciu, w tym przypadku,
ten identyfikator, w oddzieleniu a następnie uruchomić tę funkcję.
Ale w tym przypadku, jesteśmy po prostu pomijanie że krok i przeniesienie go do tu i
wszystko tylko do definiowania że chcemy się stało i
nie dając mu nazwę.
Że wciąż może nie mieć odpowiedział na to pytanie.
>> PUBLICZNOŚCI: Nie, nie.
To znaczy, myślę, że tak naprawdę nie rozumiem, dlaczego byłoby to
działać w ogóle, choć.
Bo to naprawdę nie jest nazywany.
Tak naprawdę nie ma nazwy.
>> JASON Hirschhorn: To funkcja w Poczucie, że jest to seria kroków,
jak można umieścić w funkcji.
I wtedy właśnie dlatego nazywamy jest anonimowa funkcja.
Nie zamierzamy dać mu nazwę.
Nie będziemy tracić próbuje to nazwać, ale można.
>> Funkcje anonimowe, ty zawsze można nadać nazwę.
Tak na przykład, ten kod tutaj, moglibyśmy umieścić ten kod w środku
Funkcja, a następnie wywołać funkcja ta tutaj.
Zamiast tego, możemy powiedzieć, że nie będziemy męczyć się z tym.
Jesteśmy po prostu zamiar napisać to wszystko tutaj.
>> To jak czasami, gdy piszesz czterech pętli w C - wy
widziałem to wcześniej - może jesteś iteracja w forloop
się i jest równe 0.
I jest mniejsza niż strlen.
Albo idziesz przez niektóre tablicy można zapisać tablicę
Indeks I w pewnym zmiennej.
I używasz tej zmiennej.
Więc nie musisz przepisać tablicę Uchwyt i kółko i koniec.
>> I to jest coś w rodzaju manekin zmienna.
To nie obsługujących wiele celów innych niż aby kod nieco czystsze
i łatwiejsze do odczytania.
Podobną funkcję tutaj.
Właśnie sprawia, że ​​jest nieco łatwiejsze, ale funkcjonalnie nie ma różnicy.
Czy to wyjaśniło Twoje pytanie?
>> PUBLICZNOŚCI: Tak.
>> JASON Hirschhorn: OK ..
Mario?
>> PUBLICZNOŚCI: Wczoraj często umieścić Funkcja nawiasach zdarzenie.
Czy to coś znaczy?
Czy jest to na takie rzeczy jak że zrobią
document.ready zdarzenie funkcji.
>> JASON Hirschhorn: Widzieliśmy to i ponownie, to są małe rzeczy, które
chyba że nie chcesz spędzają zbyt wiele czasu na.
Bo czasami nie chcę ludzi się przerażony, że nie mają one
słyszałem o tych rzeczach, które dużo.
Ale rozmawialiśmy trochę o obsługi zdarzeń.
Więc coś się dzieje, a następnie funkcja ta jest wykonywana.
I wtedy też chcę wiedzieć kilka szczegółów na temat tego, co
stało się w tym przypadku.
>> Więc wracam do problemu ustaw 4.
To chyba najlepszy sposób, aby Rozumiemy, że w przerwie na zewnątrz.
Było trochę kod -
jak impreza by się stało, ale Zdarzenie może oznaczać wiele rzeczy.
Jeśli może oznaczać kliknięciu myszą, to może oznaczać trafisz klawisz strzałki, i
cetera, et cetera.
>> Ale to wszystko jest zapisane w ten rodzajowy coś, co nazywa wydarzenia.
I wtedy można powiedzieć, jest wydarzenie to jest?
Czy jest to zdarzenie to jest?
Albo, co to się stało z tego wydarzenia?
Więc dlatego tworzenia tej zmiennej tam zapisać tej dodatkowej informacji
o tym, co dokładnie się stało, że będziesz chciał
wykorzystać w funkcji.
Ale znowu, to jest to chyba jeden z mniej ważnych rzeczy, być super
zna.
>> OK, co ludzie mają inne pytania miał, albo potknięcia oni
napotkanych podczas przeglądu?
Będziemy z powrotem do tej listy.
Co podczas praktyki quizy, jeśli osoby podjęły te już?
Jakie były pewne problemy, które potknął chłopaki się?
Wiem na pewno, że w zeszłym roku Quiz było naprawdę ciężko.
>> PUBLICZNOŚCI: Czy możesz wyjaśnić, co Atak SQL injection jest?
>> JASON Hirschhorn: OK, świetnie.
Więc rozmawialiśmy o tym trochę.
Tam wykład na temat bezpieczeństwa.
I znowu, jak już wspomniałem, jest to na bok.
Ale będziesz sfrustrowany na quizie kiedy czytasz jakieś małe dwa punkt
pytanie i jesteś jak, kiedy ja nigdy nie dowiedzieć się, że?
>> Wszystkie te rzeczy w tych wykładach , że nie sądziłem, że trzeba było
wiem, czy można tuszować, bo że nie mają do czynienia z
zestaw problemem, te będą prawdopodobnie pojawią się ponownie w quizie.
Tak, fajne, śmieszne rzeczy, które po prostu pomyślał Dawid mówił do was
cieszyć się, że mówi do ciebie, aby cię cieszyć się i aby po prostu być super
podekscytowany nauki wszystko jest, aby dowiedzieć się
o informatyce.
Te rzeczy również pochodzić na quizy.
Tak więc, nawet te małe rzeczy, które nie bezpośrednio odnoszą się do problemu
ustawić, jak chłopaki znają z Quiz 0, prawdopodobnie będą pochodzić.
I to jest dobry przykład czegoś.
>> Więc ataki SQL injection, gdy jest uzyskać pewne informacje od użytkownika i
chcesz wstawić je do tabeli za pomocą Wkładka instrukcji SQL, ale
nie zdezynfekować wejście z wyprzedzeniem.
Tak, oczywiście widzieliśmy SQL.
Ja po prostu otworzyć -
chodźmy -
pójdziemy do recenzji -
Myślę, który go obejmuje?
Myślę Samala zrobił.
Więc możemy dostać -
>> PUBLICZNOŚCI: Gdzie to znalazłeś?
>> JASON Hirschhorn: Więc jeśli pójdziesz do CS50.net, quizy, a następnie można
Przewiń i inne preparaty z sesji przeglądarki.
Ale widać, że jest to dobry przykład na atak SQL injection.
Bierzemy trochę informacji od użytkownika i dają nam napis, a potem
chcesz wstawić ten ciąg w bazie danych.
Generalnie chcemy zdezynfekować, że wejściowego, co oznacza, że ​​są pewne
znaków, które są niebezpieczne.
>> Na przykład, w ciągi SQL te cytaty -
pojedyncze cudzysłowy lub podwójne cudzysłowy -
coś znaczyć.
Oznacza, że ​​zakończy ten ciąg tutaj.
I tak, jeśli użytkownik daje wolny lub podwójny cudzysłów, mogą być
próby wyzwolenia się zapytanie SQL i wstawić jakieś złe rzeczy do niego.
A jeśli to robią, mogą zyskać kontrola bazy danych, czy niektóre
rzeczy, które nie chcą im zrobić.
>> To dlatego, gdy weźmiemy SQL pytania, my zdezynfekować przed wejście
wprowadzenie go do bazy danych, co Oznacza to ucieczki te znaki.
Porozmawiamy o tym za chwilę.
Ale krótko mówiąc, SQL injection Atak jest, jeśli nie to zrobić -
jeśli nie dbać o wejście dali ci przed włożeniem
bazy danych, mogą one, jak widać w dół tutaj, uruchomić zapytanie, które w rzeczywistości -
umieścili w kodzie tutaj i ta linia wyboru tutaj wybierze
wszystko ze stołu bez względu czego hasło jest podane.
Bo masz lub 1 wynosi 1.
>> Tak, to w zasadzie, krótko mówiąc, sposób przejąć bazę danych.
Pytanie więc, dla was, jest gdzie w zestawach P 7 ty zdezynfekować wszystkie
wejścia do zapytań SQL?
Skąd to krok stało?
Gdzie można zapobiec SQL injection ataki dzieje w p set 7?
Tak.
>> PUBLICZNOŚCI: Krypta?
>> JASON Hirschhorn: Więc to nie była krypta.
Nie sprawi, że to dla tego ustawić konkretny problem, ale to się zdarza
w funkcji zapytania.
My rzeczywiście napisał to dla ciebie, i zadbaliśmy o
odkażania wejść dla Ciebie.
Ale w poprzednich latach, uczniowie mieli wejść na własną rękę do pisania.
W p zestaw 7, wielu z was -
pozwól mi otworzyć jeden inny plik.
>> Tak więc można zauważyć tu dużo ludzi w błąd zestaw 7, nie zadzwonił
Ta funkcja na strunach.
Funkcja ta, htmlspecialchars, ponownie -
Ciąg ten może mieć pewne rzeczy że w HTML oznaczać coś innego.
Jak klamry, kwadratu lub kąta Uchwyt na myśli coś w HTML.
>> I tak w przypadku drukowania, które się do ekran lub jeśli po prostu wziąć to i
wydrukować, że się do kodu HTML, które mogą zrobić coś, czego nie oczekiwać.
Więc htmlspecialchars przechodzi wszystkie te znaków, które mają specjalne
spotkania i ucieka im.
Tak robi wydrukowane jako tekst chcesz zobaczyć, a nie
przekręcane kod HTML.
Nazwaliśmy tę funkcję w nagłówku.
I wiele osób zapomniał wywołać tę funkcję w
Kod pisałeś.
>> Tak więc, na przykład, jeśli nazwa Zdjęcie miał kątownik w nim i nie pamiętasz
aby wywołać tę funkcję, że kąt wspornik mógł wyrzucony, co
Twój HTML wyglądało.
Ale wywołanie tej funkcji będzie uciec że tak jest w rzeczywistości, jak drukuje
kątownik i nie rzucać od kodu HTML.
>> Z tego samego powodu widzieliśmy, czasami, ukośniki przed cudzysłowy w
Linia printf bo nie chcemy cudzysłowy dół ciąg.
Chcemy je wydrukować się na ekranie.
Więc to wszystko jest sam pomysł.
Czy to wyjaśniło Twoje pytanie?
>> PUBLICZNOŚCI: Rodzaju.
>> JASON Hirschhorn: Czy ci mieć kontynuację?
>> PUBLICZNOŚCI: Myślę, że SQL injection Atak ma z tym zrobić?
Nie rozumiem, w jaki sposób dwa są związane.
Dlaczego chcesz zrobić specialchars?
>> JASON Hirschhorn: OK, więc SQL Atak wtrysk jest podczas wstrzykiwania
Niektóre szkodliwe łańcuchów na Ktoś Program, a oni po prostu wziąć go i uruchom
zapytanie SQL z ciągu znaków daliście im.
Jak widać tutaj, że może być problematyczne.
Więc sposób można zapobiec przed, że jest wziąć swój ciąg dają
ty - więc ciąg tutaj -
i zdezynfekować go.
Ucieczka wszystkie rzeczy, które są potencjalnie problematyczne.
Więc nie interpretować je jako coś że coś znaczy.
>> I przykładem, że z HTML jest ta funkcja.
Więc to jest ten sam pomysł tutaj.
A ja po prostu pokazując inne przykłady, kiedy masz
widziałem ten pomysł wcześniej.
Ucieczki przed drukowaniem danych wprowadzonych przez użytkownika to się na ekranie lub wprowadzenie go
wewnątrz SQL.
>> PUBLICZNOŚCI: Więc w tym przypadku, użytkownik jest aprowizacji z programatorem.
>> JASON Hirschhorn: Tak.
Z wszystkich tych atakami, że zawsze ogólnie obsługi, albo
ktoś, stara się bałagan z tobą, programista.
I są to sposoby, mogą Państwo chronić przed nimi.
>> PUBLICZNOŚCI: Więc mam pytanie o funkcji skrótu.
W Quiz 1 z 2011 r., są dwa pytania o jednostronnych skrótów.
I byłem po prostu zastanawiasz co to znaczy.
>> JASON Hirschhorn: OK, co quiz?
2011?
>> PUBLICZNOŚCI: Tak.
>> PUBLICZNOŚCI: Quiz 1?
>> PUBLICZNOŚCI: [niesłyszalne].
To jak mieszania hasła.
To nie jest oddanie rzeczy -
>> JASON Hirschhorn: Co strona to było?
>> PUBLICZNOŚCI: Myślę, że to było 9 albo 10, lub jedno i drugie.
>> JASON Hirschhorn: Dobra, śmiało, Curt.
Można odpowiedzieć, gdy patrzymy.
>> PUBLICZNOŚCI: Myślę, że to mówi o mieszania hasła.
Jak, gdy ktoś wpisze hasło, włączeniu go do zaszyfrowanego rzeczy.
To hash hasła, które jest różni się od funkcji mieszającej, która
wrzuca coś do tabeli mieszania.
>> JASON Hirschhorn: Zobaczymy.
Pozwól mi wyciągnąć to, co dać jako odpowiedź.
A następnie będziemy przechodzić przez niego.
>> Więc Curt dał doskonały przykład z jednokierunkowej hash.
Kiedy widzieliśmy tego wcześniej, wziąć hasło i włączyć -
Pamiętam, w p zestaw 7, ktoś może mieć hasło, które jest tylko hasło,
ale potem robi szyfrowane w niektóre bardzo długo rzeczą.
Możliwości rozszyfrowania oznacza, że ​​jest bardzo łatwy przejść z jednego na inny sposób, ale
jest to bardzo trudne do przejścia z inny sposób z powrotem.
>> I tak wiesz, kiedy sprawdzali Hasła ludzi w błąd
zestaw 7, możesz wziąć swoje -
tak, na przykład, że chcieli zmiany hasła, można je zwrócić
do ich starego hasła.
Wziąłeś swoje stare hasło.
Ci szyfrowane go.
, A następnie w porównaniu dwóch encryptions zamiast unencrypting oryginał
jeden, bo to jest naprawdę trudno go w ten sposób.
Tak.
>> PUBLICZNOŚCI: Jak w głębi Czy nasza zrozumienie Telnet musi być?
>> JASON Hirschhorn: Jeśli zostało wymienione krótko w wykładzie, tylko krótkie
zrozumienie.
Ponownie, z powrotem do odpowiedzi na pytanie AVI za -
więcej rzeczy wymyślić, bardziej prawdopodobne jest to trzeba być super
z nimi zapoznać.
Jeśli oni pochodzić tylko w wykładzie to jest tylko jedno miejsce.
Ale jeśli pojawią się w wykładzie, sekcja, i problemu ustawić, a następnie
prawdopodobnie mają być super z nimi zapoznać.
>> Miałem więc pytanie od wcześniej o -
Czy była jesień 2010 -
Quiz 1, niech podciągnąć -
to pytanie na stosach i kolejkach, co zrobiliśmy spędzić w porządku trochę czasu
mówi w wykładzie, nawet choć tak naprawdę nie
kiedykolwiek uderzył go w sekcji.
Więc to pytanie daje ci serię poleceń i pytając, co
zostanie wydrukowany w tym przypadku.
Więc to jest zupełnie uzasadnione pytanie , które mogą być od ciebie
Chłopaki, a następnie wy powinien być w stanie na nie odpowiedzieć.
>> Więc dlaczego nie można patrzeć na nią 30 sekund, a następnie, jeśli ktoś chce
zaproponować odpowiedź na mnie, a wtedy będziemy chodzić po nim.
Dobra, kto ma odpowiedź na pytanie 27?
Tak.
>> PUBLICZNOŚCI: Czy to jest 1, 2, 3, 3?
>> JASON Hirschhorn: Zgadza się.
27 oznacza 1, 2, 3, 3.
Warto więc przyjrzeć się, jak mamy to.
>> Po pierwsze, mówimy, jeśli s jest Kolejka, co zostanie wydrukowane?
Więc q jest pierwsze weszło, pierwsze wyszło.
Widzieliśmy, że przed.
Widzieliśmy zdjęcia ludzi czekając na Apple
Sklepu kupić jakiś produkt.
Pierwsi ludzie w to pierwsi ludzie obecnie.
Pierwsze rzeczy w kolejce są pierwsze rzeczy.
>> Jeśli więc wcisnąć coś w kolejce, naciśnięciu 1, potem pop 1.
Pop prostu oznacza wyjąć.
W tym przypadku, po prostu wziąć coś.
Bierzemy się pierwszy rzeczą, że to 1.
Więc stawiamy rzeczy, drukowania w dół tutaj.
To już nie jest w naszej kolejce.
>> Następnie naciśnij na 2 i 3, oraz możemy zasnąć pierwszą rzeczą.
Ponownie, ponieważ jest kolejka.
Tak więc otrzymujemy 2, a następnie kładziemy na inny 3 i ponownie wywołać pop.
Nasz 3 jest pierwszy.
>> A potem mieliśmy całą masę inne rzeczy i nazywają pop.
Ale znowu, ponieważ to jest kolejka, pierwsze weszło, pierwsze wyszło.
Bierzemy się pierwszą rzeczą, że kiedykolwiek został wprowadzony w.
To nasz 3.
I, w tym przypadku, to nie martw się o tych wszystkich innych rzeczy.
Więc to, czy to jest kolejka.
Wszelkie pytania o kolejce?
>> Stos jest inny.
Co to jest skrót mamy dla zrozumienia stos?
>> PUBLICZNOŚCI: ostatnie weszło, pierwsze wyszło.
>> JASON Hirschhorn: LIFO, myślę.
Trwać, pierwsze wyszło.
Więc widzieliśmy przykład stosu zgrzewek w jadalni.
Niezależnie od zasobnika znajduje się na wierzchu pobiera zabierani.
A jeśli przyjdzie nowe tace się, że się na górze.
A następnie, co jest na Najwięcej pobiera zabierani.
Tak więc ci, tace na dolnej potęgi tam na chwilę.
>> W tym przypadku, ponownie, będziemy zwrócić na to uwagę.
Pchamy na jeden, więc jeden jest pierwszy w kolejce.
A my pop coś wyłączyć.
I jest tylko jedna rzecz, tam, więc ruszamy 1 tutaj.
Następnie kładziemy na 2 i 3 oraz my pop coś wyłączyć.
>> Ale znowu, ponieważ jest kolejka -
czy to jest stos, a -
bierzemy, co było w zeszłym.
Co jest w ostatnim wychodzi pierwszy.
I 3 jest w końcu.
Więc stawiamy 3 na dole, a następnie stawiamy na kolejne 3, a my
ponownie pop coś.
Ostatecznie, stawiamy na 4, 5, 6 i 7, a tu pojawiają.
A ponieważ jest to stos, bierzemy co zostało wprowadzone w zeszłym i pisać
że tutaj.
Tak więc kończy się z 1, 3, 3, 7.
Czy ktoś ma jakieś pytania dotyczące stosów lub kolejek, lub ten przykład?
>> OK.
Wróćmy do listy tematów.
Nie w ten sposób, w ten sposób.
Jakie inne pytania ludzie mają?
>> PUBLICZNOŚCI: Nie wiem, jak ważne to jest, ale byłem zdezorientowany
Różnica między różnymi typami języki, takie jak znaczniki, zestawiać,
interpretować.
>> JASON Hirschhorn: To dobre pytanie.
Myślę, że jest dość ważna, więc idziemy nad nim szybko.
Wielkie języki, które widzieliśmy do tej pory C, PHP i JavaScript, w zakresie
z języków programowania.
HTML, jak wspomniano, nie jest język programowania.
Jest to język znaczników.
A potem mamy CSS, który jest również nie język programowania.
>> Widzieliśmy też SQL, który nie jest język programowania, albo.
Więc SQL pozwala pisać Zapytania do bazy danych.
HTML jest językiem znaczników.
Określa, jak rzeczy są zbudowane.
I CSS pozwala projektować rzeczy.
To chyba stopniu na to, co chcesz wiedzieć o tych trzech.
Ale to jest bardziej interesujące figury z różnic między C, PHP,
i JavaScript.
>> Tak więc jedna z największych różnic, jak wspomniano, jest to, jak oni
kompilowane, czy cokolwiek równoważny jest.
Tak więc C jest kompilowany.
My zawsze uruchomić kompilatora.
A następnie, gdzie są twoje błędy po uruchomieniu kompilatora C?
Gdzie to pokazać błędy w kodzie?
Skąd wiesz, że tam jest błąd w kodzie w C?
>> PUBLICZNOŚCI: To pokazuje, w terminalu.
>> JASON Hirschhorn: To pokazuje, w Terminal jesteś kompilacji.
I czy są błędy, to nie faktycznie go skompilować.
Więc wiesz, że są błędy w prawo z dala, z wyprzedzeniem, przed tobą
nawet uruchomić kod.
>> Oczywiście, można uruchomić kod i uzyskać winy segmentacji, ale to było
prawdopodobnie dlatego, że nie niektóre głupie rzeczy logika.
Ale kod z technicznie poprawne i może uruchomić.
Więc zostaje skompilowany kod C przed czasem.
Co z kodu PHP?
Gdzie były błędy w kodzie PHP?
Skąd wiesz, że miał błędy w kodzie PHP?
>> PUBLICZNOŚCI: Uruchom czas?
>> JASON Hirschhorn: Tak, kiedy by go uruchomić, należy uruchomić
Kod PHP w plecy.
I wtedy można wyświetlić ekran.
Można zobaczyć pewne rzeczy na wierzchu, ale wtedy będzie widać, jak niektórzy
pomarańczowy, brzydki stół.
I to daje liczbę linii i powiedzmy, bla, bla, bla, te rzeczy
nie działa.
>> Więc PHP jest interpretowany linia po linii i wykonywane na serwerze.
A następnie rezultacie wysłany do ciebie.
Świetnie.
Wykonane w linii serwerów przez linię , a następnie wysłany do ciebie.
I jeśli jest błąd, to będzie wysyłać Ci błąd, ale może mieć
zdobyć pewne rzeczy z wyprzedzeniem.
Więc niektóre z nich mogą nie pracował, ale później, niektóre rzeczy nie mogą mieć
nie pracował.
>> Co z JavaScript?
Gdzie widzisz błędy JavaScript?
W p set 8, gdy masz błąd, skąd wiesz?
Gdzie by to pokazać?
>> PUBLICZNOŚCI: W konsoli na dole.
>> JASON Hirschhorn: W konsola, na dole.
To również daje Numer linii, i że będzie
pojawiają się na dole.
I JavaScript nie został wykonany serwera.
JavaScript został wysłany do komputera, a potem, kiedy nadszedł czas, aby uruchomić
JavaScript, JavaScript było uruchomić wiersz po wierszu na
Klient, po twojej stronie.
Nie serwera, po stronie klienta.
>> Podobnie było uruchomić wiersz po wierszu.
A potem, kiedy to pojawi się błąd, to pojawi się na dole ekranu.
Podobnie jak w PHP, część z nich może wykonania, a następnie można uzyskać
błędu w przyszłości.
>> Ponadto, w przeciwieństwie do PHP niewiele, jeśli masz błąd JavaScript -
powiedzieć, że nie zrobić prawo Kod na oknie alertu -
można zachować uruchomić program.
Alert box nie będzie działać, ale Twój program będzie dobrze.
Tylko może, że funkcja zawiedzie.
>> Więc jest największa część Różnica w odniesieniu do sposobu ich
języki, lub jak kod programowania piszesz właściwie ocenione.
Istnieją również inne różnice Warunki - największej różnicy
widzieliśmy w zakresie zmiennych w różnych językach.
Więc może ktoś dać mi różnicę między zmiennymi
w trzech językach?
Tak.
>> PUBLICZNOŚCI: W C, są one ściśle wpisane.
W dwóch pozostałych, że są luźno wpisane.
>> JASON Hirschhorn: A co to oznacza?
>> PUBLICZNOŚCI: To w C, trzeba zadeklarować Typ zmiennej podczas
zadeklarować zmienną, jak interbool lub char.
>> JASON Hirschhorn: Doskonały.
W C, zawsze mieliśmy umieścić typ zmiennej.
I nie mogliśmy naprawdę różnych typów.
Nie można zrobić liczbę całkowitą oraz łańcuch.
Ale jak widzieliśmy w innych języki, to rzeczywiście może mieszać różnych rodzajów,
i nigdy naprawdę trzeba dać coś typu, nigdy.
>> Więc skąd mamy wiedzieć rzeczy są zmienne w PHP i JavaScript?
>> PUBLICZNOŚCI: W PHP, zaczynają ze znakiem dolara.
W JavaScript, kiedy zadeklarować je, trzeba mieć pasek.
>> JASON Hirschhorn: Prawo.
Więc w PHP, zaczynają ze znakiem dolara.
W JavaScript, muszą mieć bar, choć czasem nie faktycznie
mieć poprzeczkę.
Ale to prawda.
>> Więc to jest duża różnica między zmiennymi.
Myślę, że są to prawdopodobnie, poza mojej głowie, dwa największe
Różnice między tymi trzy języki.
Ale, tak.
>> PUBLICZNOŚCI: I zakres zmiennych C jest ograniczona do nawiasy,
gdzie inne te, to jest jak, umiera, czy to tylko w funkcji,
ale poza tym, it's -
>> JASON Hirschhorn: Prawo.
Tak więc zakres jest nieco inny w C. W Pamiętasz, nawiasy klamrowe określają
Zakres zmiennych.
Więc jeśli został zdefiniowany w środku, jeśli Stan, który jest wewnątrz pętli for,
zmienna istnieje tylko tam.
>> W JavaScript, jeśli zmienna jest zdefiniowana wewnątrz jeśli warunek -
wewnątrz pętli - będzie to istnieją danej funkcji, ale nie istnieją
poza tą funkcją.
Tak więc zakres jest nieco bardziej elastyczne w JavaScript i PHP.
Że odpowiedź na pytanie?
OK, jakieś inne pytania?
Możemy zrobić jeszcze cztery minuty pytań, a następnie
będziemy skakać do kodowania.
>> PUBLICZNOŚCI: Czy możemy przejść do Ajaksu i porozmawiać o tym, co to jest?
>> JASON Hirschhorn: Zapytaj Avi po.
Poprosił to pytanie wcześniej.
>> PUBLICZNOŚCI: Moje złe.
>> JASON Hirschhorn: Nie martw się.
>> PUBLICZNOŚCI: Co to jest JSON?
>> JASON Hirschhorn: Co to jest JSON?
Jakie jest twoje pytanie?
>> PUBLICZNOŚCI: Tak naprawdę szybko, Różnica pomiędzy
wydruku i echo w PHP.
>> JASON Hirschhorn: Dlaczego nie google różnica między drukiem i echo?
Niewielka różnica.
Nie, że duże z transakcji.
Ale powinno się to google, i że da ci dobrą odpowiedź.
>> JSON, prawdopodobnie większe od transakcji.
Stoiska JavaScript Object Notation.
A kiedy widzieliśmy JSON jest wykorzystywany?
Kiedy widziałeś -
dlaczego ty w ogóle wiesz słowo JSON?
Kiedy widziałeś go?
>> PUBLICZNOŚCI: Gdy byliśmy coraz notowania giełdowe za finanse.
>> JASON Hirschhorn: Więc obejrzałeś to kiedy były coraz
notowania giełdowe za finanse.
I dlaczego go zobaczyć?
>> PUBLICZNOŚCI: Kiedy byliśmy pobierania Wszystkie dane, które
przyszedł w tym formacie.
>> JASON Hirschhorn: Więc co można uzyskać -
tak.
Śmiało.
>> PUBLICZNOŚCI: [niesłyszalne] informacje z obiektu?
>> JASON Hirschhorn: Obie te ułożyła jest odpowiedź
szukamy.
Chcesz informacji z ta druga strona.
I może mieć nadzieję, że kiedy jesteś się, że informacje, byłoby
przedstawione do ciebie w jakiś rodzaj w standardowym formacie.
>> Wszyscy chyba znają z wartości oddzielonych przecinkami.
Możesz wyeksportować arkusz kalkulacyjny Excel lub każdy rodzaj arkusza kalkulacyjnego jako listę
Wartości oddzielone przecinkami.
I dzielić wszystkie przecinki Poszczególne sekcje.
JavaScript Object Notation -
JSON -
inny typ znormalizowanych układ rzeczy.
I to często, jak odzyskać Informacje od naszych zapytań Ajax.
>> Więc w tym przypadku, mamy to z witryny Yahoo.
Wracają atrakcje nam w obiekcie JSON.
I to wiemy, bo to standardowe, jak to jest
będzie wyglądać.
Więc możemy iteracji tablicy , który jest zwracany do nas, tablicy
Przedmioty, które są zwracane do nas.
>> Prawdopodobnie trzeba znać klucze, ale ogólnie daje
Dokumentacja na stronie internetowej, gdy jesteś ściągam trochę JSON
zapis do nich.
Podobnie można JSON zakodować obiektu.
Więc jest funkcja JSON podkreślenia kodowanie.
I tak można zrobić obiekt, który utworzeniu, JSON zakodować, a
przekazać ją do czegoś indziej, jeśli chcesz.
I dekodowania JSON istnieje również Podobny cel, lub
przeciwny cel.
>> PUBLICZNOŚCI: Czy musimy wiedzieć kodowania stoły z cebulą i stara?
A może po prostu trzeba zrozumieć, w jaki sposób są one wykorzystywane, koncepcyjnie?
>> JASON Hirschhorn: Więc, podnieś rękę jeśli nie tabeli mieszania dla p zestaw 4
w odnośnikach.
Lub p zestaw 5.
Tak aby była większość ludzi.
P zestaw 5, 6, kto wie.
Dawno, dawno temu.
>> Tak więc większość z was zrobił hash tabele z listy linków.
I dlatego, że chyba więcej Wspólne podejście, a ponieważ spędziliśmy
Dużo czasu robi list link i mieszania stoły, powinieneś być
dość znane, jak kod Tabela mieszania i lista linków.
>> A jeśli uważasz, że powrót do tego problemu ustawiony, to nie było
tak mocno, jak oczekiwano.
I było dużo mniej Kod niż oczekiwano.
Powiedziałbym, że powinieneś wiedzieć, w jaki sposób kod tabeli mieszania lub listy linków.
Nie, że chcesz zostać poproszony, że Niekoniecznie, ale zalecana
z pewnością wiesz, że.
>> Ponadto, jeśli spojrzeć przez ostatnich quizy, nie było dużo
pytania dotyczące funkcji w piśmie Listy link lub podwójnie związane listy.
Który wydaje się pochodzić każdego roku.
Prawo wstawić na listę linków, prawo usunąć z listy linków, prawo wstawić
o podwójnie połączonej listy, i tak dalej.
Tak, czuję się dość wygodne mówiąc, powinieneś wiedzieć, że.
>> Na próbie, to powiedziałbym, zalecana z pewnością wiesz, jak to działa, a może
dają pewne Pseudokod na jak zakodować go i ustawić go.
Ale to nie byłoby najgorsze, co w świat, jeśli nie wiesz, jak
zakodować go w C. To byłoby świetne, jeśli wiedział, jak kod w C, ale myślę,
Prawdopodobnie pseudokod na próbę by najbardziej będzie trzeba
wiedzieć na próbę.
>> PUBLICZNOŚCI: Dodatkowy kredyt?
>> JASON Hirschhorn: A samo, jeśli przejdź do drzewa wyszukiwań binarnych, to polubisz
trzeba - i widziałem w przeszłości, zrobiliśmy wiele - wiesz, jak
binary search tree działa.
Powinieneś być w stanie ustawić jeden w pseudo kod.
Jednakże, ponieważ większość ludzi nie zrobić na problemie
zestaw, to powiedziałbym, że to prawdopodobnie mniej ważne, aby wiedzieć, jak kod
i utworzenie drzewa takiego.
>> Wszelkie inne pytania?
Ponadto, możemy poprosić ich przez jak przejść przez pewne problemy.
OK, mamy zamiar przejść.
Pomiń ten slajd na teraz.
>> Mówiąc drzew, to pierwszy Mam pytanie do was.
Ponieważ jest to problemem.
Chciałbym powiedzieć, że jest wysoce prawdopodobne, będziesz dostać się problem jak to na quiz
z prośbą o kod jakiś rodzaj wkładki, usuwanie, wyszukiwanie, dla jednego typu
struktury danych widzieliśmy.
>> , Która pojawia się co roku i spędziliśmy Dużo czasu drugiej połowie tego
Semestr będzie nad tymi typami danych.
Więc teraz, mam zdefiniowany węzeł w wyszukiwania binarnego drzewa.
I co chciałbym Ci zrobić, to biorąc pod uwagę Drzewo binarne wyszukiwania, które rozpoczyna
w tym gwiazdy węzła głównego, należy wykonać Wdrożenie funkcji poniżej,
który okazuje się być funkcja find.
I zrobić to i bez rekursji.
>> Więc chcę Ci napisać dwie funkcje.
Jeden robi to z rekurencji, jednego robi to bez rekursji.
I nie zakładać, że korzeń będzie niezerowe.
Więc szukamy do liczby całkowitej i w drzewa począwszy od korzenia, a my musimy
napisać to rekurencyjnie i iteracyjne.
Tak.
>> PUBLICZNOŚCI: Więc chcesz nam prawdziwy powrót jeśli okaże się, że i false jeśli
nie go znaleźć.
>> JASON Hirschhorn: Skąd wiesz?
Skąd wiesz, że?
>> PUBLICZNOŚCI: Pytałem pierwszy, ale był zakładając, ponieważ mówi bool w
początek funkcja.
>> JASON Hirschhorn: Prawo.
Mówi, bool, więc nawet nie trzeba powiedzieć, co się spodziewać, aby powrócić
ponieważ mówi tam.
Ale to prawda.
Wrócić, prawda lub fałsz.
>> Jesteś tak przed rozpoczęciem, polecam, jeśli nie jesteś zaznajomiony z
drzewa wyszukiwań binarnych, szybko rysunek obraz z niego, aby dostać swoje
zrozumienie, prawda.
Które pomogą Ci podczas pisania Twój kod i sprawdzić ją.
Ponownie, również nie mają zbyt wiele Czas na quiz zrobić wszystkie rzeczy,
że cię o to prosić.
Więc pisanie kodu pseudo jest bardzo pomocny.
>> I na ogół dają o -
jeśli pseudokod jest idealnie poprawne, to
ogólnie 50% na pytanie.
Więc nie jest to twardy i szybki przepis, ale jeśli po prostu napisać Pseudokod i to
poprawne, to zazwyczaj 50%.
Więc ja zawsze polecam -
jeśli masz mało czasu, a nawet jeśli jesteś po prostu stara się zrozumieć to -
wychodząc z Pseudokod.
I wreszcie, jeśli można napisać to wszystko w C, to byłoby fantastycznie.
>> Więc weźmy trzy minuty do pracy w tym programie.
A potem będziemy pisać pseudokod na niej tylko raz, a następnie
będziemy kodować go rekurencyjnie a następnie iteracyjnie.
>> Jeśli masz jakiekolwiek pytania, prosimy wolne podnieść rękę.
Chętnie chodzić i odpowiedzieć zanim zaczniemy jako grupa.
>> Pozwól nam powrócić i będziemy pseudokod wersji rekurencyjnej
ta, a potem będzie go zakodować.
Tak Funkcja rekurencyjna potrzebuje dwóch rzeczy.
To może być znak, że możesz zostać poproszony.
Potrzebuje dwóch rzeczy.
Kto może podnieść rękę i powiedzieć, co dwie rzeczy rekurencyjne
Funkcja potrzebuje?
Według definicji ma dwie rzeczy.
Co to są te dwie rzeczy?
Nowe ręce.
Tak, Alden.
>> PUBLICZNOŚCI: Więc nie jestem do końca pewien, czy jest terminologią, ale -
>> JASON Hirschhorn: Cieszę się, jesteś podnosząc rękę.
>> PUBLICZNOŚCI: Trzeba sprawę podstawową, i potrzebuje rekurencyjną krok.
>> JASON Hirschhorn: Perfect.
Potrzebuje przypadku bazowego i rekurencyjne krok.
Więc co jest w naszym przypadku podstawa tutaj?
>> PUBLICZNOŚCI: F korzeń równa równa NULL.
Niestety, tylko w Pseudokod, jeśli jest zerowa.
Jeśli korzeń jest null.
>> JASON Hirschhorn: Jeżeli korzeń jest null.
To doskonała.
To nasza sprawa podstawa.
To, co mamy zamiar sprawdzić za każdym razem.
I podstawa jest przypadek Pierwszą rzeczą, jaką możesz zrobić.
Jeśli trafisz do przypadku bazowego, skończysz.
>> Teraz musimy nasze wywołanie rekurencyjne, a ja być gotów się założyć, że potrzebujemy kilku
rekurencyjne zwraca tutaj.
Ponieważ jest to drzewo, a my może pójść na wiele sposobów.
Więc jeśli korzeń jest null, jesteśmy dobrzy.
>> Co proponujesz?
A teraz mam zamiar zacząć wołać na was, bo wiem, że chłopaki
wszyscy o tym wiedzą.
Ale Annie, co powinno następna linia będzie?
Co zrobić, jeśli okazało się, że?
Co robimy?
>> PUBLICZNOŚCI: Jeśli okazało się, że?
>> JASON Hirschhorn: Albo co powinno być to, że -
daj mi Pseudokod dla linia, gdzie go znaleźliśmy.
>> PUBLICZNOŚCI: Jeśli i jest równe pierwiastek i?
>> JASON Hirschhorn: A to co robimy?
>> PUBLICZNOŚCI: Zwraca true.
>> JASON Hirschhorn: Świetnie.
Więc jeśli mogę to ja -
Och, oni zarówno o nazwie i.
Że dostaje mylące.
Ale gdybym to ja z powrotem prawdziwe.
To pewnie następna co powinniśmy zrobić.
Ma sens.
>> OK, teraz nie zrobiliśmy naszą Cykliczne zadzwoń jeszcze, chociaż, ponieważ rekurencyjne
połączenie będzie ponownie wywołać tę funkcję.
Więc co należy obok linia Pseudokod być?
Anna.
>> PUBLICZNOŚCI: po lewej stronie.
>> JASON Hirschhorn: Bądź konkretny, choć.
To jest drzewo binarne wyszukiwania, więc to, co jest sprawdzenie, z lewej strony pociąga za sobą?
>> PUBLICZNOŚCI: Tak węzeł -
Przepraszam, korzeń.
A następnie strzałki w lewo.
Węzeł, węzeł, przepraszam.
Nie czytam go prawidłowo.
To się nazywa węzeł, prawda?
>> JASON Hirschhorn: Będzie zwany korzeń w tej funkcji, ale tak czy inaczej.
Po lewej stronie - tak?
>> PUBLICZNOŚCI: Jeśli nie równa I wtedy będziemy nazywać
ponownie funkcja?
>> JASON Hirschhorn: Zgadza się.
Jeśli nie równy i, idziemy ponownie wywołać funkcję.
Ale co z boku drzewa jedziemy ponownie wywołać funkcję?
>> PUBLICZNOŚCI: Po lewej stronie.
>> JASON Hirschhorn: Nie zawsze jesteśmy będzie nazwać to lewica, czy to
nie równa się.
>> PUBLICZNOŚCI: Och, przepraszam.
Zadzwoń po prawej stronie.
>> JASON Hirschhorn: Chcemy wiedzieć specjalnie, chociaż - pamiętaj, że w
Wyszukiwanie binarne drzewo, wszystko do lewa ręka jest mniejsza.
Wszystko w prawo hand side jest większa.
Więc to nie jest tylko - tak, proszę bardzo.
>> PUBLICZNOŚCI: Jeżeli jest to mniej niż ja, a następnie -
czy to po lewej -
>> JASON Hirschhorn: Więc jeśli ri jest mniejszy niż -
więc jeśli nasza liczba jest mniejsza niż ja, po której stronie chcemy, aby przejść do?
>> PUBLICZNOŚCI: Chcemy iść po prawej stronie.
>> JASON Hirschhorn: Chcemy iść -
narysuję szybki drzewo.
Jeśli jest to 5, będzie to 3.
Tak więc, jeśli ri jest mniejsza niż pięć, co boku chcemy, aby przejść do?
>> PUBLICZNOŚCI: Przepraszam, co?
>> JASON Hirschhorn: Nasz numer jest mniejsza niż liczba jesteśmy
patrząc na teraz.
>> PUBLICZNOŚCI: Och, to chcemy , aby przejść do lewej strony.
Tak.
Przepraszam.
>> JASON Hirschhorn: Dokładnie.
Nie martw się.
Wyszukiwanie w drzewie binarnym, wszystko niższy jest w lewo,
większa jest przesunięty w prawo.
Jeśli więc nasza liczba jest mniejsza niż i sprawdzamy -
bo widzisz w Węzeł, posiada I -
potem chcesz iść w lewo.
>> I to jest łatwe.
Co to jest druga linia Pseudokod trzeba napisać?
Carlos?
>> PUBLICZNOŚCI: To samo, wystarczy przełączyć jej większa niż znak
i idź w prawo.
>> JASON Hirschhorn: można Powiedz to jeszcze raz?
>> PUBLICZNOŚCI: Jeśli nasza liczba jest większa niż ja, idź w prawo.
>> JASON Hirschhorn: Doskonały praca na Pseudokod.
Zróbmy to w prawdziwym kodzie.
I znowu, to pseudokod będzie prawdopodobnie cię, bo to
prawidłowe, 50% na to pytanie.
Ale to pseudokod przekłada się również jeden jeden, zasadniczo w kodzie.
>> Więc zróbmy to w C, który może dać ja pierwsza linia kodu?
Faktycznie, po pierwsze, zanim to zrobię że, daj mi zjechać na pobocze -
>> PUBLICZNOŚCI: Mam pytanie.
Dlaczego wcięcie Linia ci dałem?
>> JASON Hirschhorn: Bo Nie mogłem pisać.
Nie wiem.
Masz rację.
Że linia powinna być tam.
>> OK, tutaj jest nasza funkcja.
I pozwól mi zjechać na pobocze, także, nasza definicja węzła.
Co się stanie, jeśli nie Napisać typedef?
Czy ktoś wie?
>> PUBLICZNOŚCI: To nie skompilować.
>> JASON Hirschhorn: Byłoby kompilacji, tak.
>> PUBLICZNOŚCI: Czy to po prostu zadeklarować jeden przykład zamiast robić to nowy
wpisać można zadeklarować wielokrotność przypadki?
>> JASON Hirschhorn: żeby nie wiem - to nie byłoby
po prostu zadeklarować jeden typ.
Nadal może zrobić dużo węzłów.
>> PUBLICZNOŚCI: Ale nie mamy do Napisać węzeł struktury za każdym razem?
>> JASON Hirschhorn: Zgadza się.
Trzeba by napisać węzeł struct za każdym razem, a nie tylko węzła.
Ale z typedef, można po prostu Napisać węzeł każdym razem.
OK, który nie dał - tak, Avica.
>> PUBLICZNOŚCI: Jeśli główny wynosi równych null, zwraca wartość false.
>> JASON Hirschhorn: Wielka i to nasz scenariusz bazowy.
Następna linia kodu.
Ktoś, kto nie dał ja jeszcze linijka kodu?
Tak.
>> PUBLICZNOŚCI: strzałka i korzeniowe jest równy równy i.
Następnie zwraca true.
>> JASON Hirschhorn: Świetnie.
Następna linia?
Tak.
Ktoś jeszcze?
A następnie można przejść obok.
>> PUBLICZNOŚCI: korzeń strzałki if i jest mniejsze niż wrócę
Funkcja o nazwie głównej Znajdź -
>> JASON Hirschhorn: Przepraszam.
>> PUBLICZNOŚCI: Powrót znaleźć korzeń wskazuje na lewo przecinek i.
>> JASON Hirschhorn: Więc jeśli ri jest większa niż z samego drzewa, chcemy
idź w lewo?
>> PUBLICZNOŚCI: Nie, nie miałem, że włączony.
>> JASON Hirschhorn: Który?
>> PUBLICZNOŚCI: No, tak.
Mam mniej niż tam podpisać.
>> JASON Hirschhorn: Dobrze, jeśli ri jest mniej niż to, co znajduje się w katalogu głównym -
nasz obecny główny - wtedy chcę iść w lewo.
I co jest ostatnia linia, prawda?
>> PUBLICZNOŚCI: w zasadzie to samo, poza przełącznik większa niż lub
równa lub mniejsza niż w lewo i w prawo.
>> JASON Hirschhorn: Doskonały.
Czy ktoś ma jakieś pytania o tym?
Więc kilka innych rzeczy, które były prawidłowe jest to, że
może być-ltiff.
Zgadnij, technicznie, żaden z nich naprawdę muszą być również-ltiff.
>> Ponadto, jest tam chyba tylko jeden przypadek tutaj.
Tak, to jest to chyba ostatnia sprawa.
Nawet nie trzeba, że-ltiff.
Ale chyba dobrze pisać to, aby być jasne.
Tak.
>> PUBLICZNOŚCI: Więc uważasz, że nie quiz - jeśli popełniają błędy, na przykład,
w składni -
- małe błędy składniowe
jak to ma się wziąć w quizie?
>> JASON Hirschhorn: Generalnie w quizie, małe błędy składniowe lub małe
błędy w stylu nie stracić punktów.
Więc jeśli zapomniałeś średnik tutaj, byłoby OK.
Jeśli zapomniałeś zamknąć ten nawias, byłoby OK.
>> Ogromne błędy składniowe, które zmieniają funkcjonalne znaczenie kodu
dramatycznie, można uzyskać zdjęty punktów za.
Lub ogólnie, tylko ci klasyfikacji od tego, czy twój
Kod działa, nawet -
nie jego projekt tak bardzo, a nie jego styl.
>> Niech teraz zakodować iteracyjny wersja znaleziska.
Więc to będzie bardzo podobne, ale Są z pewnością będzie
kilka kluczowych różnic.
Jednak nasz pseudokod Prawdopodobnie można go -
możemy jeszcze podjąć jedną linię pseudokod i dowiedzieć się, co
Linia jest w tym przypadku.
>> Tak w wersji iteracyjnego, co myślisz, Julia, powinny
być w pierwszej linii?
>> PUBLICZNOŚCI: Znowu w iteracyjny wartość logiczną, trzeba skonfigurować dla pętli, prawda?
>> JASON Hirschhorn: OK.
>> PUBLICZNOŚCI: Więc jak, do k, dla x wynosi 0, x jest mniejsze niż i.
Albo nie, x jest mniejsza niż wielkość drzewa.
>> JASON Hirschhorn: drzewo.
Więc nie wiem, o wielkości drzewo, a my nie wiemy o
ile razy można przejść, więc to, co jest Inny rodzaj pętli, która może być
lepiej w tym przypadku?
>> PUBLICZNOŚCI: Jeśli jeszcze?
>> JASON Hirschhorn: Jeśli jeszcze nie może być pętla.
Więc co jest rodzajem pętli możemy tylko iść aż jakiś przypadek spotkał?
Co jest tylko inny rodzaj pętli w C oprócz pętli for?
>> PUBLICZNOŚCI: Podczas.
>> JASON Hirschhorn: Mimo, dokładnie.
W pętli while, nie trzeba wiedzieć, jak -
Pętla while i pętli for może zrobić dokładnie to samo, ale miła rzecz
o Pętla while jest nie potrzebujemy wiedzieć, jak duża jest nasza drzewo.
Więc będziemy iść aż co?
>> PUBLICZNOŚCI: Dopóki nie jest równa Wielkość -
>> JASON Hirschhorn: Cóż, to bardzo podobny do naszego rekurencyjnego przypadku.
Tak -
>> PUBLICZNOŚCI: Chociaż korzeń I nie równa i.
>> JASON Hirschhorn: To jest naprawdę blisko.
Podczas gdy główny i -
spróbujmy.
Nie sądzę, że [niesłyszalne]
gdzie root i nie równa i.
Może trzeba zmienić go w trochę nieco, ale to brzmi jak to jest całkiem
dobra, na razie.
Więc zrobimy to.
>> Należy również pamiętać, że nie można zakładać, na pytanie.
Nie należy zakładać, że korzeń będzie niezerowe.
Więc co myślisz bardzo Pierwszą rzeczą, jaką powinniśmy zrobić, jest?
>> PUBLICZNOŚCI: Po prostu zrób to samo rzeczy, jak wcześniej.
Jeśli korzeń jest równa równych null, zwraca wartość false.
>> JASON Hirschhorn: Świetnie.
Więc to może być null.
Dlatego chcemy, aby pozbyć o tym od razu.
A następnie jedziemy do kontroli czy korzeń i nie równe i.
Tak, że jesteśmy w tym drzewie przeszukiwania na 3, korzeń i nie równa i teraz
my w naszej pętli while.
Co chcemy zrobić?
I znowu, to będzie dość podobna do naszej rekurencyjnej wersji.
Tak.
>> PUBLICZNOŚCI: Tak, że chcesz do iteracji, lub nie poddawać się w dół drzewa tak długo, jak
korzeń nie jest równa null.
>> JASON Hirschhorn: Tak długo, jak korzeń nie jest równa null?
>> PUBLICZNOŚCI: korzeń i myślnik nie jest równa null.
Tylko korzeń, tak.
Tak długo, jak korzeń nie równa null.
>> JASON Hirschhorn: Więc chcesz to zmienić do korzeni
nie równa się wartości null?
>> PUBLICZNOŚCI: Tak.
>> PUBLICZNOŚCI: Możemy połączyć nich, prawda?
Nie potrzebujemy się, jeśli początkowo.
>> JASON Hirschhorn: OK, więc jeśli nie -
jeśli je połączyć, więc będziemy robić podczas gdy główny nie równa null, i
jeśli korzeń dzieje się na wartości null począwszy, co robimy tutaj?
>> PUBLICZNOŚCI: return false.
>> JASON Hirschhorn: Świetnie.
Prawdopodobnie tak obie strony będzie pracował.
To jest inny sposób, i to łączy go.
Ale znowu, jeśli nie tak czy inaczej, jesteśmy nie zajmie się projekt
wskazuje na quiz.
Ale to dobrze wygląda.
>> Tak więc, nie równa korzeń null, co jest pierwszym
co chcemy sprawdzić?
Ktoś jeszcze?
Null, co jest pierwszą rzeczą?
>> PUBLICZNOŚCI: Jeśli ri jest mniejsza niż -
Och, myślę, że jeśli już Znaleziono go w katalogu głównym.
Więc jeśli korzeń strzałki i jest równe i -
>> JASON Hirschhorn: Przepraszam?
>> PUBLICZNOŚCI: Jeśli strzałka korzeń i równa jest równa I -
>> JASON Hirschhorn: Co robimy?
>> PUBLICZNOŚCI: Zwraca true.
>> JASON Hirschhorn: Świetnie.
I co dalej?
Jeff, co jest obok linii kodu?
>> PUBLICZNOŚCI: Jeżeli i jest mniejsze niż głównego strzałkę i, następnie korzeń korzeń strzałki w lewo jest równe.
>> JASON Hirschhorn: root równi korzeń strzałka w lewo.
Tak, to jest to chyba największy Różnica tutaj w ten iteracyjny
wersja w przeciwieństwie do wersja rekurencyjna.
Wersja rekurencyjna, my ponownie wywołać funkcję.
Będziemy aktualizacji roota nazywamy nową funkcję.
Tu nie dzwonisz nową funkcję.
Jesteśmy po prostu tylko aktualizację korzeń w tej funkcji.
To doskonała.
I to, co jest w ostatniej linii kodu?
Tak, Mario?
>> PUBLICZNOŚCI: Else równi korzeniowe korzeń strzałka w prawo.
>> JASON Hirschhorn: Przepraszam?
>> Równi okopowe: PUBLICZNOŚCI korzeń strzałka w prawo.
>> JASON Hirschhorn: Możesz także Napisać coś takiego?
>> PUBLICZNOŚCI: Nie mam pojęcia.
>> JASON Hirschhorn: Nie możesz.
Nie można zrobić plus równych.
OK, więc to wygląda dobrze.
Dlaczego nie możemy po prostu zrobić go oczyścić.
To wygląda świetnie, i to będzie działać.
I chcemy wyrwać.
>> Jeśli lewy korzeń korzeń był zerowy lub prawo był pusty, to byśmy się tutaj.
Korzeń będzie równa null.
Chcemy wyjść z naszej pętli, a my return false.
Kiedy więc wyrwać się z pętla, my return false.
>> I znowu, gdy był doskonały pętla tutaj, bo nie wiem jak
duże drzewo jest nasza.
Staramy się, aby dodać do pętli, ale sobie sprawę, że masz dowiedzieć się, jak
duże jest z wyprzedzeniem.
Tak.
>> PUBLICZNOŚCI: Jeśli to nie były binarny szukaj drzewa, byłoby prawdziwe matematyka-y
pisać je iteracyjnie, prawda?
Jak, czy to drzewo, ale nie musi -
więc nie było mniejsze po lewej stronie, i wszystkie większe prawej.
To byłoby bardzo trudne iteracyjne nad nim, prawda?
Musielibyśmy zapisać to, co było wcześniej na w drzewie i wrócić,
i takie tam.
>> JASON Hirschhorn: Gdyby nie binarny szukaj drzewa, jeśli to był tylko
drzewa i rzeczy nie były sortowane tak -
i zdaliśmy sobie sprawę wcześniej, kiedy Anna pomagał nam, co czyni go
sortowane nam pomaga -
musielibyśmy tak, zawsze zapisać gdzie byliśmy wcześniej.
Ale nie może być dużo gdzie byliśmy previouslys.
Nie może być wiele węzłów nadrzędnych.
>> Prawdopodobnie najlepszym sposobem na to, że być przeć na niektóre rzeczy
rodzaj stosu lub kolejki.
Nigdy nie trzeba kodować ten ponieważ jest to trudny problem.
Ale na niektóre rzeczy naciskać na stos lub w kolejce, a następnie pop je, a
następnie ocenić je.
>> I wtedy, gdy jakieś inne rzeczy jesteś rzeczywiście wprowadzenie węzłów i
Następnie utworzenia tego, a następnie przeglądać, że.
To może być najlepszy sposób to zrobić.
OK, żadnych pytań na temat tego problemu?
>> PUBLICZNOŚCI: To jest w odpowiedniej notatki.
Będziemy musieli porównać czasów pracy dla tabel mieszania, binarny
Drzewa wyszukiwania, et cetera?
>> JASON Hirschhorn: Prawdopodobnie.
Więc zróbmy to naprawdę szybko.
Czas pracy dla tabeli mieszania -
jakie są inne?
Drzewo binarne?
>> PUBLICZNOŚCI: listy linków.
>> JASON Hirschhorn: OK, zróbmy wkładkę.
Co to jest duże O z wkładką w tabeli mieszania?
Jakie są założenia robisz?
>> PUBLICZNOŚCI: Jesteś wkładając w początku listy linków.
>> JASON Hirschhorn: Prawdopodobnie pierwszy Założenie to jest nie ma kolizji.
Jeśli nie ma kolizji, a następnie czas wstawiania jest jeden.
Jeśli istnieją kolizje, a ty jesteś robi oddzielny tworzenie łańcuchów i wstawianie
na początku listy łącza, następnie wstawiania jest również stała.
>> Jeśli robisz tabeli hash ale mają inny sposób radzenia sobie
z kolizji, co jest inna metoda?
Co jest inna metoda radzenia sobie z
Kolizja w tabeli mieszania?
>> PUBLICZNOŚCI: Programowanie liniowe.
>> JASON Hirschhorn: Programowanie liniowe.
Więc będziemy dalej szukać w następnym wolnym miejscu.
To nie jest stały czas wstawiania.
Można przejść przez cały stół tak, że
O może być duży n.
Tak.
>> PUBLICZNOŚCI: W przeciwnym razie po prostu zakuwania?
>> JASON Hirschhorn: Zrobiliśmy oddzielne łańcuchowym.
To był pierwszy.
To lista linków.
Nazwa marketingowa jest oddzielna łańcuchowym.
Może to być dowolny typ konstrukcji lista zdarzy nam się zrobić w liście linków.
>> Więc znowu, wstawiania w tabeli hash może być stała czasowa.
Co na temat wkładania w kolejce: Wózek?
>> PUBLICZNOŚCI: Czy to nie jest stała?
>> JASON Hirschhorn: To jest stała czasowa.
Jesteś po prostu przesuwając ją na.
OK.
Wstawiania, jakie były inne te?
Na próbie?
Co to jest duże O wstawienia na próbie?
>> PUBLICZNOŚCI: Długość jest stała.
Długość najdłuższy -
Długość słowa jesteś wkładania.
>> JASON Hirschhorn: Przepraszam?
Czekać, więc co ja słyszę?
Pan powiedział - Co powiedziałeś?
Jaka była odpowiedź, Marcus?
>> PUBLICZNOŚCI: długość słowa jesteś wstawianie znaków,
przy założeniu, że jest to próba charakteru.
>> JASON Hirschhorn: OK, więc Długość słowa.
Zrobimy założenie, że jest to ciąg znaków.
Mówiłeś, że coś innego, choć.
Powiedziałeś, długość najdłuższego słowa.
>> PUBLICZNOŚCI: To jest po prostu stała, prawda?
>> JASON Hirschhorn: Dlaczego być stałe?
>> PUBLICZNOŚCI: Podobnie jak w przypadku korzystania z Big O notacja, to nie zależy
od liczby rzeczy, które są już w próbie.
>> JASON Hirschhorn: Więc my by powiedzieć, że jest stała czasowa.
To jest stała wstawiania i to dlatego, że ten pomysł -
że mamy słowo, które jest 45, lub słowo, które jest w 60, że
ma stałą wartość.
I byłoby po prostu włożona w stałym czasie.
>> W praktyce jednak, nie byłoby Oczywiście, zdarzają się w jednej milisekundy,
na przykład.
Ale mówimy duże O jest Stała na próbę.
I to jest jeden z jego Największe zalety.
>> Co o umieszczeniu w wykazie łącza?
Tylko ogólne, sortowanie listy Link?
Tak.
>> PUBLICZNOŚCI: Miałem pytanie.
Na badania, by kiedykolwiek się nam zwrócić czas wstawiania to cztery kroki,
czy co?
Czy jest to tylko -
kiedy mówisz czas wstawiania jest jeden, że po prostu oznacza, stały czas?
>> JASON Hirschhorn: Tak, to oni zawsze zapytać, czy to duże O n?
Big O log n?
N do kwadratu stała.
To są naprawdę tylko te, które trzeba znać.
Co na temat wkładania sortowanie listę linków?
>> PUBLICZNOŚCI: Miałem pytanie -
pytanie -
>> JASON Hirschhorn: Jaka jest odpowiedź na to pytanie, choć?
>> PUBLICZNOŚCI: Zaraz, co pan pyta?
>> JASON Hirschhorn: Co to jest duże O z wstawiania do listy posortowane łącza?
>> PUBLICZNOŚCI: Jeden?
Nie czekaj, nie czekaj, n.
>> JASON Hirschhorn: N. Poza tym lista linków.
A jakie było twoje pytanie?
>> PUBLICZNOŚCI: Więc piszesz o k lub o 1 dla -
>> JASON Hirschhorn: Och.
Chciałbym napisać o 1, pewnie.
Jest jeszcze jedna struktura danych która byłaby dobra.
Drzewo, drzewo binarne wyszukiwanie.
Co jest wprowadzenie na Drzewo binarne wyszukiwania?
>> PUBLICZNOŚCI: Zaloguj się.
>> JASON Hirschhorn: Tak, to jest najgorsze miejsce w przypadku wyszukiwania binarnego drzewa?
Jeśli więc zdarzy się rozpocząć na 5, a każdy liczba jest większa niż 5, a następnie
mamy 5, 7, 9, 11, i tak dalej.
W tym przypadku, to w zasadzie tylko link lista, i musimy włożyć wszystko
sposób na końcu.
Więc jest to duże O n.
>> To może być nasz najgorszy na wyszukiwanie binarne drzewo.
Oczywiście, nigdy nie zbudować wyszukiwanie binarne drzewo z 5 gwiazdek
średnim, wiedząc, 5 będzie jest najniższy numer.
Ale to może być, jeśli jesteś zaczyna od zera.
Wszelkie pytania na ten temat, zanim przenieść się do innego pytania?
To było dobre pytanie.
Chciałbym wiedzieć, Big O o -
>> PUBLICZNOŚCI: Co o poszukiwaniu dla tych czterech?
>> JASON Hirschhorn: Zdecydowanie mamy było wyszukiwanie i sortowanie danych.
Zrobiliśmy wszystkie te algorytmy, prawda.
Zaraz, to było dla Quiz 1?
Było to, że pokryte -
nie masz już, że Pytanie na Quiz 1?
Big O czas wyszukiwania binarnego, wstawiania sortowania, sortowanie bąbelkowe?
>> PUBLICZNOŚCI: Tak.
>> JASON Hirschhorn: Gdybyś miał, że Pytanie na Quiz 0, kursy są nie zrobisz
uzyskać dokładnie taki sam pytanie na Quiz 1.
Może być nadal dobrze wiedzieć, te.
Mam nadzieję, że wiesz, powinieneś już GH.
>> Ale inne czasy pracy logarytmiczne Prawdopodobnie dobrze wiedzieć.
Rzeczy, które nie były objęte na Quiz 0.
Jak wszystkie te podmioty na te abstrakcyjne typy danych.
>> OK, przejdźmy dalej.
Ten powinien być dość szybkie.
I to jest nowy język nie mamy właściwie zakodowany w przed.
To wywoławcza pytanie do kodowania w PHP.
Więc rozważyć poniżej tablicy PHP.
Napisz PHP i / lub HTML tak, że kody wysyła tabelę dwukolumnowy z TF
Nazwy i domy.
>> Nigdy wcześniej tego nie robiłem, ten problem występuje.
Ale to powinno być bardzo dobrze znane co zrobiłeś w błąd ustawić 7.
Więc byłbym się założyć, będziesz poproszony o kod w PHP, że coś
jest bardzo podobny do tego, co nie w błąd ustawić 7.
>> Po pierwsze, nie jest to, że tablica specyficzne.
Jaki typ tablicy to jest?
>> PUBLICZNOŚCI: asocjacyjne.
>> JASON Hirschhorn: To asocjacyjna.
I jaka jest różnica między asocjacyjna oraz obiekt?
>> PUBLICZNOŚCI: tablica obiekt ma indeks liczb całkowitych i tablicy asocjacyjnej
jest indeks łańcucha, lub coś w tym stylu.
>> JASON Hirschhorn: Więc tablica obiekty miałyby wskaźników
całkowitymi, a obiekt ma pola.
Ma te nazwy pól, takie jak Nazwa, dom, studenta.
Czy masz jakiś pomysł?
>> PUBLICZNOŚCI: Cóż, asocjacyjne Tablica jest w PHP, tak?
I obiekt jest w JavaScript?
>> JASON Hirschhorn: Szczerze mówiąc, to nie ma Prawdziwa różnica między nimi.
Obie mają ciągi jako klucze, a może w zasadzie wszystko, co ma wartość.
Różne języki zadzwonić pod jeden rzeczą asocjacyjna,
jedna rzecz, przedmiot.
Tak szczerze mówiąc, nie ma prawdziwego różnica, ale jest na pewno niektóre
Różnice składniowe między nimi.
Tak.
>> PUBLICZNOŚCI: Tak jest również pod obiekt zakodowany kaptur w tabeli mieszania, a następnie?
>> JASON Hirschhorn: Co robisz, oznacza, kodowane pod maską?
>> PUBLICZNOŚCI: Powiedziano nam, że asocjacyjne Tablica była technicznie
hash tabeli.
Tak jest również technicznie obiekt Tabela mieszania?
>> JASON Hirschhorn: Nie zamierzam aby odpowiedzieć na to pytanie.
Odezwę się do Ciebie w tej sprawie.
Ale nie myślę o albo z tych, tak.
Ale w żaden sposób, asocjacyjna i obiekt, na ogół, ludzie używają tych
terminy zamiennie.
W tym przypadku, fajne częścią to można użyć klawiszy.
Struny jak klucze, a nie tylko proste numery.
>> Tak mi mówisz to na chwilę.
Mam nadzieję, że niektórzy ludzie mają dostał rozpoczęła w tej sprawie.
Mamy zamiar napisać w PHP i HTML kod, na przykład, że mamy dwu-kolumny
tabela z nazwami TFS i domów.
>> OK, ja też chciałbym nagłówek wiersz w tej tabeli.
Więc mam zamiar od razu do tego.
Jedziemy do pliku, nowy, i mamy zamiar -
>> OK.
Jak uruchomić stół?
Co znajduje się znacznik, Michael, rozpocząć tabeli?
>> PUBLICZNOŚCI: Tabela.
>> JASON Hirschhorn: Tabela.
A jeśli mogę otworzyć znacznik, co jeszcze potrzebuję?
>> PUBLICZNOŚCI: głowa?
Lub, jak sądzę, klasa.
>> JASON Hirschhorn: Tak, przepraszam.
Załóżmy, że mamy już napisane doctab, HTML, wszystkie rzeczy.
Ale jeśli mogę otworzyć ten znacznik tabeli, co jeszcze muszę napisać?
do sprawdzania poprawności kodu HTML?
>> PUBLICZNOŚCI: Zamknąć go.
>> JASON Hirschhorn: Zamknij tag.
W jaki sposób mogę dodać tag blisko-ponga?
>> PUBLICZNOŚCI: Dot slash tabeli.
>> JASON Hirschhorn: Slash stół, wielki.
Prawdopodobnie ma sens pisać zarówno osób razem, ponieważ
masz to zrobić.
OK, jeśli chcę wiersz nagłówka, jak zrobić Piszę wiersz nagłówka z tytułami?
>> PUBLICZNOŚCI: Czy to jest mniej niż 10 godz blisko -
TR, tak.
>> JASON Hirschhorn: TR?
>> PUBLICZNOŚCI: Potem to samo, ukośnik, tak.
>> JASON Hirschhorn: OK, a daj mi dwie kolumny.
>> PUBLICZNOŚCI: T D?
>> JASON Hirschhorn: OK.
Chcę dwie kolumny.
Czy to daje mi dwie kolumny?
Ile kolumn to jest?
Jeden.
Więc skopiować i wkleić.
>> Tak naprawdę, w quizie, wszystko to kod które zostały napisane do tej pory było
rzeczywiście wam.
Ale powinieneś chyba jeszcze wiem jak to napisać.
Tak.
>> PUBLICZNOŚCI: Twój dom znajduje się pomiędzy nimi.
>> JASON Hirschhorn: Boom.
Warto udać się tam, prawda?
Dobre połączenie.
Więc jeszcze raz, wszystko jest właściwie ten kod wam na rzeczywistej quizu.
Ale to jest zabawa, aby ją napisać, a ty powinien wiedzieć, jak to napisać.
Tak to jest, gdy trzeba aby uruchomić kod.
Czego potrzebujemy, aby pisać tutaj?
>> Niestety, trzeba zmienić Nazwa tego pliku.
Więc zapisany w pliku HTML., nie w pliku PHP..
Te rzeczy, które nic nie znaczą w pliku php..
Więc jesteśmy w pliku HTML..
Co jest pierwszą rzeczą, Muszę napisać?
Chcę umieścić kilka PHP Kod w formacie HTML.
>> PUBLICZNOŚCI: PHP, podobnie jak innym marchwi PHP i znak zapytania, tak?
>> JASON Hirschhorn: Świetnie.
I jak mam zakończyć to?
>> PUBLICZNOŚCI: ze znakiem zapytania.
>> JASON Hirschhorn: To świetnie.
To jest pierwsza rzecz, którą potrzebujesz, jeśli chcesz umieścić kod PHP, tutaj.
>> PUBLICZNOŚCI:. Myślałem PHP Plik może podjąć HTML.
>> JASON Hirschhorn: Tak.
Plik PHP. Może zająć kilka HTML i wyświetlane.
To był mój błąd.
Ja tylko próbuje naśladować co to było na quiz.
>> OK, przepraszam mylić.
Tak, practice.HTML.
Teraz mamy zamiar umieścić jakiś kod PHP w.
Co to jest pierwsza linia Kod PHP mam napisać?
Zamierzam przejść tej tablicy i uczynić go do tabeli.
Tak.
>> PUBLICZNOŚCI: Możesz użyć do pętli H lub do pętli.
>> JASON Hirschhorn: OK, co chcesz używać?
>> PUBLICZNOŚCI: chciałbym użyć pętli.
Na, a następnie zrobić znak dolara i jest równe 0 średnik dolara
podpisać i mniej niż 2.
A następnie średnik i dolara zaloguj ja plus plus.
>> JASON Hirschhorn: Jak zrobić wiesz użyć 2?
>> PUBLICZNOŚCI: Ponieważ były dwa Tablice asocjacyjne w odległości większej
asocjacyjna.
>> JASON Hirschhorn: Tak wielką rzeczą jest nie kojarzy tablicy.
Wielka rzecz tylko zwykła tablica.
Ale masz rację, istnieje dwie tablice asocjacyjne
wewnątrz naszego większego układu.
Dlatego można używać dwóch.
Czuję się nieswojo przy założeniu, że są 2, więc to, co jest sposobem zapisu
to nie zakładając, że są 2?
>> PUBLICZNOŚCI: [niesłyszalne]?
>> JASON Hirschhorn: OK, jak piszesz, że?
>> PUBLICZNOŚCI: Znak dolara foreach TFS lub jak znak dolara TF.
>> JASON Hirschhorn: OK, więc dla każdego TFS jak TFS, chcę, teraz
ponownie, mam tabelę.
Więc kto może mi dać następna linia kodu?
>> PUBLICZNOŚCI: Drukuj, a następnie w cytaty, koniec wspornika tr
Uchwyt, koniec cytatu.
Nawiasów końcowych, średnik.
>> JASON Hirschhorn: OK, a Co to zrobić?
>> PUBLICZNOŚCI: To będzie powiedzieć, nowy wiersz.
To będzie umieścić znacznik do nowego wiersza.
>> JASON Hirschhorn: Racja, to w PHP, jak rozmawialiśmy o tym wcześniej - to
PHP ma być oceniana, a następnie to będzie drukować na tym złożyć
Tabela holowania, a następnie, że HTML będą oceniane.
My tylko kopiowanie tego HTML mieliśmy tutaj.
Tak.
>> PUBLICZNOŚCI: [niesłyszalne]?
>> JASON Hirschhorn: Przepraszam?
Jest tutaj.
Jesień 2012.
Nie patrzeć na odpowiedzi, niech go rozwiązać razem.
Więc drukować wiersz tabeli.
Tak, jesteś prawdopodobnie w huśtawka rzeczy.
Jaki jest następny wiersz Kod trzeba napisać?
Assam, daj mi następnego wiersza kodu.
>> PUBLICZNOŚCI: Musisz nazwę TF jest.
TF otwarte wsporniki cudzysłów wymienić uchwyty zamknięte.
>> JASON Hirschhorn: Daj mi swoje nazwisko.
>> PUBLICZNOŚCI: Musisz wydrukować to.
>> [GŁOSY wstawienie]
>> JASON Hirschhorn: OK, jak mogę je wydrukować?
>> [GŁOSY wstawienie]
>> JASON Hirschhorn: Brakuje mi coś teraz.
Czego mi brakuje?
>> PUBLICZNOŚCI: Musisz znak dolara.
>> JASON Hirschhorn: Co jeszcze mi brakuje?
Wszystko mamy pory drukowany jest tr.
>> PUBLICZNOŚCI: Zamknij tr po nim.
>> JASON Hirschhorn: Więc musimy aby po zamknięciu tr.
Który widzi to, czego brakuje na linii 16?
Tak, Anna.
>> PUBLICZNOŚCI: Musisz otworzyć td i nawiasy klamrowe.
>> JASON Hirschhorn: A gdzie możemy umieścić nawiasy klamrowe?
>> PUBLICZNOŚCI: Wokół nazwy TF.
>> JASON Hirschhorn: Podoba Ci się?
>> PUBLICZNOŚCI: Tak.
A następnie zamknij td.
>> JASON Hirschhorn: Jak to?
>> PUBLICZNOŚCI: Czy potrzebujesz podwójnego notowania Oceny obok klamrach?
>> JASON Hirschhorn: Tutaj?
Nie, nie.
Tak, to jest dokładnie prawo.
Tak.
>> PUBLICZNOŚCI: Więc różnica między tym, i encatenating kropek jest, jeżeli
używać kropki, trzeba mieć podwójne cudzysłowy, następnie kropka,
następnie kropka -
>> JASON Hirschhorn: Zgadza się.
Więc mówisz, że jest ostatecznym sposób pisania to tak.
Co operator konkatenacji w JavaScript?
>> PUBLICZNOŚCI: Znak plus.
Zapomniałeś umieścić nawias klamrowy z powrotem.
>> JASON Hirschhorn: Świetnie.
I jest jeszcze jedna linia kodu brakuje.
Kto może mi dać ostatnią linię kodu jesteśmy brakuje?
>> PUBLICZNOŚCI: Tak dokładnie to samo, tylko z domu, zamiast nazwy.
Wielki
>> JASON Hirschhorn: Świetnie.
I składnia jest dokładnie prawo do Getting Things w jednostce stowarzyszonej tablicy.
Więc w rzeczywistym quizu, jesteś kładziony aż tutaj.
Tak ten kod był podawany.
Wszystko, co miał napisać były te cztery linie i pamiętaj, aby
zamknąć znacznik tabeli.
Wy faktycznie to wszystko i więcej.
Tak.
>> PUBLICZNOŚCI: Więc to będzie funkcjonalnie sam, jeśli tylko miał, że wszystko w
jedno wielkie połączenie druku, prawda?
A potem po prostu łączone to dalej, i tak dalej?
>> JASON Hirschhorn: Jak to?
>> PUBLICZNOŚCI: Tak.
To po prostu nie wygląda dobrze, jeśli były patrząc na to, kiedy jesteś kontroli
elementu na swojej stronie, prawda?
>> JASON Hirschhorn: Zgadzam się.
Jeśli załadowany tę stronę, byłbym w stanie zobaczyć tego kodu PHP, kiedykolwiek?
>> PUBLICZNOŚCI: Nie.
>> JASON Hirschhorn: Nie.
I rzeczywiście, ja nie.
>> PUBLICZNOŚCI: HTML nie jest, prawda?
Więc może być w stanie -
>> JASON Hirschhorn: Więc to by PHP ocenia po stronie serwera.
PHP jest zawsze oceniana stronie serwera tak nigdy nie jesteś w stanie zobaczyć kod PHP.
>> PUBLICZNOŚCI: Ale byłbyś w stanie zobacz wyniki wydruków.
>> JASON Hirschhorn: Prawo.
I szczerze mówiąc, nie może umieścić to wszystko na linii.
To może go sformatować ładnie dla ciebie, lub może umieścić go w jednej linii.
Niejasne.
Ale tak, dobry punkt.
>> PUBLICZNOŚCI: Jak to nie ma Podświetlanie tekstu dla nie
jakichkolwiek poleceń PHP?
Bo pamiętam, widząc, że.
>> JASON Hirschhorn: Bo to jest . Pliku HTML tu na górze.
Proszę bardzo.
>> PUBLICZNOŚCI: Jeśli zrobiliśmy wstępną metodę z pętli, w prawo, jeśli
chciał uzyskać dostęp do TFS, mielibyśmy zrobić wspornik TFS 0 wspornik, a następnie
[Niesłyszalne]?
>> JASON Hirschhorn: Chciałabyś -
Więc mówisz, że dla pętli, to zrobi w znak dolara wspornika 1 TFS
albo ja, prawda.
Lub znak dolara i zamknąć uchwyt a następnie nawias kwadratowy
cudzysłowy, tak.
>> OK, doskonałe.
Mamy jeszcze jeden szybki jeden.
Siedem minut, więc chcę , aby przejść nad tym.
Jest to kolejny przykład.
Jesteśmy teraz zupełnie inny język.
>> Mamy pewne kod HTML.
To trochę małe na ekranie, ale Chcę, żebyś przez to naprawdę wygląda
szybko, a może ktoś mi powiedzieć, gdybym załadować stronę internetową,
co ja widzę?
Opisać wszystko o ta strona.
Noah?
Co chciałbym zobaczyć?
>> WIDOWNIA: Kod na przednim końcu Google z wyczuciem tekstu i
przycisk submit.
>> JASON Hirschhorn: I co będzie przycisk powiedzieć?
>> PUBLICZNOŚCI: Prześlij.
Och, wyszukiwanie.
Przykro mi.
>> JASON Hirschhorn: To znaczy wyszukiwanie.
Pamiętaj, nazwę.
Czego używamy nazwa?
Ten atrybut nazwa, co jest że stosuje?
>> [GŁOSY wstawienie]
>> PUBLICZNOŚCI: To jest jego nazwa do kiedy jest kliknięty?
>> JASON Hirschhorn: To może być.
Ale co my zwykle zobaczyć - dlaczego my podając tę ​​nazwę kolejki?
Dlaczego widzimy, że?
Tak.
>> PUBLICZNOŚCI: Nie, że się wskaźnik zmiennej Super globalnej?
>> JASON Hirschhorn: Tak, na ogół, gdy ta forma będzie złożyć, a następnie, w których
byłoby to przedstawić?
Co strona?
Noe, co strona będzie to przedstawić?
>> PUBLICZNOŚCI: Nie jestem pewien.
>> JASON Hirschhorn: Gdzie może możemy go znaleźć?
Gdzie można znaleźć to, co Strona skarżąca podnosi się?
Co linii kodu?
>> PUBLICZNOŚCI: akcja Forma.
>> JASON Hirschhorn: Dokładnie.
Działania.
Tak twierdzi, to do strony wyszukiwania.
Backslash wyszukiwania.
Tak, to jest dokładnie prawo.
Jaka metoda?
>> PUBLICZNOŚCI: Pobierz.
>> JASON Hirschhorn: Pobierz.
Dokładnie.
Więc przeczytać.
To ma być forma.
Masz całkowitą rację.
Dwie rzeczy na temat postaci, tytuł Strona i góry będzie Google.
>> Więc są dwa pytania powinieneś być w stanie odpowiedzieć na temat tej strony.
Jeśli to HTML mieszka na tej stronie internetowej oraz Użytkownik wprowadza błąd w tekście
Pole tutaj, co URL będzie Użytkownik znaleźć się na
wysłaniu formularza?
>> Więc mamy to tutaj.
Mam zamiar wrócić do ta strona, choć.
Napiszę tę pierwszą część.
Czy każdy może zobaczyć tutaj?
OK, Mario, myślisz, że wiesz?
Co strona?
>> PUBLICZNOŚCI: szukaj Backslash.
>> JASON Hirschhorn: Jadę przenieść tutaj.
OK, odwrotny ukośnik wyszukiwanie pytanie Znak Q równa błąd.
Ktoś ma inny pomysł?
Tak.
>> Więc jak to ma?
Cóż, nie widziałem tego wcześniej.
I wyszedł z tego wcześniej.
Miałeś rację, Noe, że działanie mówi nam, co
Strona zamierzamy.
>> Wiemy też, jaka metoda.
Robimy dostać.
A różnica między GET i POST wyświetla się, że dostać się w adresie URL
i po nie.
Więc jeśli napisałem posta tam w sposób, co byłoby inaczej?
>> PUBLICZNOŚCI: To po prostu być wyszukiwanie ukośnik.
>> JASON Hirschhorn: Byłoby po prostu być slash wyszukiwania.
Nic się tu nie stanie.
Ale ponieważ jest to dostać, URL jest wyświetlane w następujący sposób.
Najpierw widzimy znak zapytania i widzimy nazwę i wartość.
Powiedzieć, że był jeszcze jeden tekst i pola Dałem mu nazwę ri i wejście A
wartość, gąsienica.
Co by to teraz wygląda?
Mam jeszcze jedno pole tekstowe, daję nazwa r oraz wartości gąsienica.
>> PUBLICZNOŚCI: Po pasku musiałbyś gąsienica Ampersand.
>> JASON Hirschhorn: To nie Ampersand.
>> PUBLICZNOŚCI: Albo po prostu cokolwiek i symbolem.
>> JASON Hirschhorn: Tak, nie.
Miałeś rację, myliłem się.
To jest jak g..
>> PUBLICZNOŚCI: Caterpillar.
r równa się gąsienica, przepraszam.
>> JASON Hirschhorn: Czy jest nr R tam?
>> PUBLICZNOŚCI: Nie, nie jest.
>> JASON Hirschhorn: Porozmawiamy uwagę, że po klasie.
To się dokładnie zgadza.
Tak i jest poprawny.
I wtedy można mieć wiele z nich, i wszyscy oni być łączone
wraz z tym i.
Tak, to jest dokładnie prawo.
>> Jest jeszcze jedna kwestia.
Naszkicować ten HTML na DOM, począwszy z dokumentu.
Możemy to zrobić w ciągu dwóch minut.
Zrobimy to tutaj.
Wrócę do tej strony.
OK, zaczynamy z dokumentu.
>> Co dalej?
Więc kiedy czytasz przez -
>> PUBLICZNOŚCI: HTML.
>> JASON Hirschhorn: HTML jest obok.
Zamierzamy iść tag według tagów.
Co po HTML?
>> PUBLICZNOŚCI: Kierownik.
>> JASON Hirschhorn: Kierownik.
Co znajduje się po głowie?
>> PUBLICZNOŚCI: Tytuł.
>> JASON Hirschhorn: Tytuł.
I tytuł ma wartość Google ale ja nie zamierzam
Napisać, że do teraz.
OK, gdzie jest ciało iść?
>> PUBLICZNOŚCI: nadchodzi także wyłączyć z HTML.
>> JASON Hirschhorn: Dokładnie.
Ciało wypada tutaj.
Czy wszyscy, dlaczego tak jest?
Powinieneś być w stanie zrozumieć na to, zbyt, nawet jeśli nie mają
to ładne wcięcie.
>> Wcięcie rodzaj daje ją, ale widać, że głowa ma tagu
zamknięty, co oznacza, że ​​prawdopodobnie Nie można iść na dół.
Musimy wrócić do tego, co się był tuż przed głową
tag, lub pod tym.
Jesteśmy nawet z tagu głowy.
>> I na ciele idzie forma.
Zgodnie z postaci, istnieją dwa wejścia.
OK.
To wszystko, co mam.
Quiz 1 jest jutro.
Jestem tak podekscytowany, dla was.
To będzie super.
>> Jeśli masz -
>> PUBLICZNOŚCI: [aplauz]
>> JASON Hirschhorn: Och stop, stop.
Ale nie, żartuję.
Jeśli masz jakieś pytania, prawda po części, będę na zewnątrz.
Jeśli masz jakiekolwiek pytania dziś, zapraszamy do rozmowy, e-mail, gchat,
Przewoźnik gołąb mnie.
Powodzenia jutro.
Mają wspaniały przerwę Dziękczynienia, jeśli nie widzę ciebie wcześniej.
A ja ciebie po Święcie Dziękczynienia wtorek, w ostatni
Sekcja partia kiedykolwiek.
>> PUBLICZNOŚCI: [niesłyszalne].
>> JASON Hirschhorn: Świetnie.
OK, do zobaczenia chłopaki następna tygodnia lub dwóch tygodni.
Powodzenia jutro.