>> Wszystko w porządku.
Zapraszamy do Informatyki 164.
Więc zanim zagłębimy się z przeglądem
, co oczywiście będzie o tym semestrze i trochę
materiału w pierwszym dniu Myślałam, że daje poczucie
od tego, jak spędziliśmy ostatnią noc.
To nie jest tak dużo, jak po stronie serwera wyzwaniem stanęliśmy
ale jeden po stronie klienta.
Więc nie każdy z was odkrył ta konkretna strona jeszcze tylko
lub płótnie niektóre Harvard Kursy są teraz przeniósł się do?
Więc iSites ma umrzeć powoli śmierć, jeśli dotarłeś dołączone
do niego, jest prawdopodobne, aby być zastąpione płótnie.
I tak myśleliśmy skakać na pokładzie i być częścią
tego testu beta przy użyciu Canvas który jest narzędziem open source.
Jest sponsorowany przez Firma o nazwie Instructure.
Więc nie firmowe kopii za nim.
Jednak dla większości używamy go w ten sposób.
Ale ostatniej nocy, kiedy staraliśmy
uzyskać na stronie internetowej kursy sfinalizowane, wpadliśmy w wielu
frustracji, ponieważ jest uczenie system zarządzania
co oznacza, że ​​jest to oprogramowaniem
z których można zarządzanie treścią
za pomocą interfejsu internetowego.
Nie musisz używać Arcane pliki konfiguracyjne.
Nie musisz wiedzieć coś o bazach danych,
to dość dużo pkt i kliknij w sposób witryny Google
czy coś takiego może być.
Ale w rezultacie było cholernie ciężko zrobić coś prostego, jak -
chodźmy na stronie kursu.
Teraz wystarczy umieścić opcji menu w tym z lewej strony.
Sprawa w punkcie, nie ma nic tam faktycznie teraz
ponieważ sposób oprogramowanie przeznaczony jest to, że jeśli chcesz
zainstalować rzeczy Twoje menu po lewej stronie,
trzeba rzeczywiście zainstalować te moduły
lub aplikacji w oprogramowaniu.
I nie chcemy tego robić.
Chcieliśmy po prostu link do jak program nauczania.
Chcieliśmy link do pracowników.
Chcieliśmy link do filmy i tym podobne.
Więc jeśli stanęły ze stron internetowych,
to ze strony osób trzecich
ale nie masz kontroli nad kodem źródłowym.
Nie masz dostępu do serwer, nie można SSH
można SFTP, można używać wszystkich jest lokalny interfejs sieciowy
i chcesz zacząć zmieniać
lub zmiany użytkownik interfejs za pomocą innych środków.
Co może twój pierwszy Instynkt być?
Jakie pytania można zadać z Instructure w tym przypadku,
tak, że firma można rodzaj pracy
wokół tych ograniczeń tak jak my?
Chcemy dodać opcje menu
ale nie możemy zmienić ich kod serwera.
Więc jakie rozwiązanie może, że wskazówka, że?
Tak.
[Niesłyszalny Uwaga]
OK.
[Niesłyszalny Uwaga]
Tak. Więc mogliśmy rozważyć coś
jak rozszerzenie Chrome.
Jeśli nie znacie, Chrome Rozszerzenie jest w zasadzie kawałek
oprogramowania z Chrome Przeglądarka ogólnie napisane
w JavaScript.
I to jest właśnie sposób wtryskiwania Kod JavaScript może zazwyczaj
niektóre CSS w internecie Strona, którą odwiedzić.
Przy czym rozszerzenie Chrome tylko stale monitoruje, co
odwiedzanych stron internetowych i stara się wykryć.
Och, jeśli jesteś facebook.com to zrobić.
Och, jeśli jesteś w isites.harvard.edu to zrobić.
Tak więc ci z was, którzy mogli skorzystało 2x wtyk CS50 za
w, który pozwala na przyspieszenie up wideo jest dokładnie to.
Więc to jest ciekawe i jest to rodzaju na dobrej drodze.
Bo jeśli nie masz dostępu do serwera, po prostu chcesz
jakoś zmienić DOM Drzewo, które użytkownik widzi,
można dość dużo tylko zrobić to po stronie klienta.
Teraz oczywiście oczywisty haczyk
korzystania z Chrome Rozszerzenie to jest to, co?
Prawo. Więc nie każdy korzysta Chrom i jeśli czuje się trochę kulawy
jeśli rodzaj mają nakazywać że wszystkie
z użytkowników może używać tylko na stronie internetowej
Opcje menu i zobacz jeśli mają Chrome.
Więc co jeszcze może moglibyśmy chcemy zwrócić Instructure?
>> Więc jedno jest Chyba prawdopodobnie można dodać tekst
na stronie, prawda?
>> OK.
>> Dowiedz się, czy możesz faktycznie wprowadzone HTML w tekście.
>> OK. Dobry.
Więc mogliśmy ich zapytać, czy moglibyśmy umieścić HTML w tekście.
Więc zamiast pisać tekstowych Ogłoszenie, możemy dodawać linki?
Możemy dodawać zdjęcia?
Możemy dodać punktory?
Wszystko, co może chcesz zrobić estetycznie.
I krótka odpowiedź brzmi: tak.
Jest rzeczywiście rodzaj WYSIWG,
Co widzisz, to co Ty Pobierz edytor, który pochodzi
z tym właśnie oprogramowaniem
, które pozwala na edycję.
Rzeczy takie jak strony głównej z moim imieniem i Roba
i Tim, i tak dalej.
I to ma nam część w drodze tam.
Niestety nie ma Niech nam coś tutaj
na przykład.
Które nie pozwalają nam kłaść tu, bo mamy ograniczone
przez co przy Autorzy chcieli nam zrobić.
Więc jesteśmy o krok bliżej.
Co jeszcze możemy zwrócić się do firmy?
Jakie są inne obejścia może?
To musi być rozwiązywalne.
Co jeszcze można zrobić?
Więc byli na prawo utwór z tego pojęcia
z JavaScript po stronie klienta wtryskowego.
Jak inaczej możemy dostać JavaScript w miejscu być może, prawda?
Bo skoro masz JavaScript,
można bardzo dużo zrobić wszystko Nawet jeśli doświadczony
z JavaScript jest ograniczona do 50. lub inne wcześniejsze doświadczenia,
wiesz, że mogą przechodzić przez drzewa
to jest strona internetowa, DOM.
Pewnie przypomnieć, że ci Można dodać lub usunąć węzły węzły.
Można wstrzyknąć rzeczy na stronie internetowej.
W rzeczywistości to właśnie z 2x CS50 podłączyć robi.
To zgrywa się z iSites " Odtwarzacz wideo i umieszcza
w inny razem.
Więc co, jeśli firma Instructure wolno ci
wstrzykiwać javascript na swojej stronie przedmiotu?
Innymi słowy, to, co, jeśli wolno ci poprzez ich GUI,
Interfejs WYSIWG do ich wkleić adres URL pliku JS
a może nawet css. a następnie zadbali
procesu wstawiania go na samej górze każdej strony.
Tak, rzeczywiście, to był Tylko w ten sposób jesteśmy w stanie
aby to osiągnąć.
Gdybym zobaczyć źródło strony tutaj - i niech mnie powiększyć i sprawdzić
dla cs164.net która Domena my oczywiście właścicielem.
Zauważ, że z jakiejś serii kroki, zajęło to trochę czasu, aby dowiedzieć
z ich dokumentacją.
My jesteśmy w stanie powiedzieć, na szczycie każdego strona www, co na płótnie wyjścia
na ten kurs, wyjście. css.
A jeśli robimy inne polecenie f i szukać nieco dalej,
zobaczysz, że tutaj,
zagnieżdżać się w pewnym JavaScript Kod jest również wspomnieć,
z tego adresu tutaj.
Tak więc, innymi słowy, że jakby ich nie oszukał
do wstrzykiwania niezależnie CSS,
cokolwiek JavaScript my chcą się na stronie.
Tak że potem błaga pytanie, co to robi?
Cóż, idziemy do przodu i po prostu złapać tego źródła,
wklej to tutaj.
To jest zakazane, ponieważ do symulacji tego,
I chmoded [fonetyczną] wszystko.
Więc pozwól mi to z powrotem.
Dostęp do odczytu i teraz przeładować.
Więc co robimy?
Tak, dostaniesz w tym lepszy Semestr szczególnie w połowie
gdy spędzamy dużo nasz czas JavaScript.
Ale co to Wydaje się, że robisz?
Więc jeden na samym szczycie tego Js, który ponownie jest wliczone
na każdej stronie internetowej, że Oczywiście teraz działa na stronie internetowej.
Sprawdziliśmy, czy typ jQuery nie jest niezdefiniowana.
Tak więc w okresie laika co to oznacza?
Co to oznacza, jeśli będzie jQuery jest niezdefiniowana?
Cóż, masz JavaScript załadowane.
Nie masz jQuery ładowane.
Więc mamy tylko nadzieję, że Instructure,
Firma rzeczywiście jest jQuery siebie.
W przeciwnym razie musielibyśmy wklej biblioteki jQuery na szczycie
tego pliku, tak aby mieć do niej dostęp.
I to nie dlatego, że po prostu Aby mieć dostęp do rzeczy
jak znak dolara w notacji i dla innych funkcjonalności
że pochodzi z jQuery.
Jeśli pamiętacie to Biblioteka i jeśli zna
lub, jeśli to było podczas gdy reszta pewność, wrócimy do tego
się w ciągu kilku tygodni.
Więc jakie są rzeczy, tu robimy?
Więc dla tych, które mogą przypomnieć, co to składnia tutaj na myśli?
Po prostu przekazać anonimowo Funkcja lub funkcja lambda?
W CS51 rozmawiać Funkcja jQuery tak.
Kiedy jest ten kod zamiar zostanie wykonany?
Tak.
[Niesłyszalny Uwaga]
Dokładnie. Więc ten kod z natury
z wywołania funkcji domyślnej będzie wykonywany tylko, aby
kiedy tak DOM mówić jest w pełni załadowany.
Wszystkie góry HTML do dołu, w lewo lub w prawo, został przeczytany
do pamięci i jest trochę Struktura drzewa wewnątrz pamięci.
Teraz to jest dobre, bo jeśli chcę, aby rozpocząć odtwarzanie
się z nim i zmienia Opcje menu, usuwając wszystko,
dodając rzeczy, Lepiej poczekać
co najmniej do domyślnie DOM jest na miejscu.
Więc jest to tylko zwykła jQuery składni.
Jest to równoznaczne ze stwierdzeniem, gdy DOM jest gotowy.
A teraz to jest naprawdę tylko połączenie
jQuery składni i pewnym HTML.
Tak na przykład, postanowiłem, że to właśnie mnie niepokoi.
Nikt na uczelni mówi, oh, zabierasz Comp Sci 164,
lub Comp Sci cokolwiek, ty powiedzieć CS164 lub CS niezależnie.
Tak drobne trochę uciążliwe, Chcemy to zmienić,
tak, jak możemy zrobić to z coś w JavaScript?
Cóż, informacja, jeśli przejdź do strony tutaj
a na szczycie strony, wcześniej był CS164.
Jeśli otworzyć się Chrome, który jest użyteczny przeglądarki
do prowadzenia inspekcji DOM i powiększania tutaj.
Zauważ, że w środku tego HTML było elementem, który miał identyfikator
z bułką tartą i że ID co robi?
To jednoznacznie identyfikuje jeden z tych węzłów w drzewie
i jak tylko mam unikalny identyfikator dla jakiegoś fragmentu
HTML w modelu DOM, teraz Mogę zrobić co zechcę
z tej strony.
Mógłbym usunąć każdy węzeł DOM.
Każdy tag HTML na stronie i umieścić wszystko, co chcę
ale potrzeby jesteśmy dość skromny.
Chciałem po prostu na fragment kodu tutaj.
Chciałem najpierw znaleźć Nagłówek sekcji zakładki
której jeden z nadrzędnego Elementy tuż nad tym.
I chciałem iść do przodu i zmiany -
Chciałem raczej zmiany treść
z tym, że przez HMTL funkcjonować z linkiem do CS164
i chciałem zmieniać na nim CSS
ma masę czcionki pogrubione.
A my nie będziemy się świetnie szczegóły na resztę tego tutaj.
Nie zauważyć tej linii tutaj.
I nie zastąpi globalny wszędzie.
Zasadniczo mówiąc, wszędzie widać rozpiętość
że posiada klasę nazywa ellipsible,
to nie jest zwykła rzecz,
to jest tylko to, co na płótnie Oprogramowanie wymaga pewnych klas.
Jeśli zawiera klucz Zwrot COMPSCI164 śmiało
i zastąpić HTML wewnątrz każda taka rozpiętość tylko z CS164.
A reszta to dość dobrze skomentowany.
Ale na efekt końcowy, co mam robić to ręcznie z Chrome
lub dowolnej przeglądarki zastanawianie się jakie są unikalne identyfikatory
różne węzły DOM w drzewa i ich mutacji
w sposób, który chciałem.
I końcowy wynik, a teraz, że my chmoded rzeczy jest prawidłowo
że teraz mogę umieścić arbitralne fragment HTML tutaj.
Mogę wyrwać rzeczy jak w stopce.
Mogę zgrać się tutaj i HTML Mam wave ogromny odpowiedzialności.
To jest pełna Hack
do realizacji strona jak ta.
Ale jakby mówi dla procesu myślowego
że należy w kierunku środek semestru,
zwłaszcza, gdy spędzamy czas na JavaScript dostać myślisz
o tym, jak można rozwiązać różne Problemy z nadzieją lepszego
niż w ten sposób.
Jednak składniki do rozwiązywania problemów
tak naprawdę tylko zredukowana do pewnych podstaw.
Otwarcie się na coś Inspektor jak Chrome
i zrozumienie co drzewa DOM jest.
Wiedząc to, co Selektory CSS są
unikalnych identyfikatorów lub dla nazw klas.
Znając trochę składnię faktu, czy to w JavaScript czysta
lub w jQuery biblioteki faktycznie zmienić DOM.
I na koniec dnia Jesteśmy prawie w stanie
zginać oprogramowania naszej woli.
Ale jest chyba haczyk.
Jaka jest cena jesteśmy prawdopodobnie płacąc za to pełnego włamania?
Jakie jest ryzyko?
Tak.
[Niesłyszalny Uwaga]
Dokładnie. Jeśli Instructure zmienia nazwę jednego ze swoich klas
lub zmienia nazwę jednego z ich identyfikatorami lub po prostu przestawia ich HTML
który jest całkowicie ich przywilejem,
wszystko to może pęknąć i wtedy jeden z nas będzie musiał
zauważyć, czy ktoś z was Chłopaki będzie musiał zgłosić
i będziemy mieć przemyśleć to jeszcze raz.
Więc może nie jest to ogromny czynienia, ale nadal zagrożenie.
Co jeszcze może się zdarzyć?
Co jeszcze jest źle o takim podejściu?
To jest mniej powszechne.
Tak. To trochę wolniej, że -
zamiast po prostu pierwotne źródło z serwera.
Jesteś teraz co dodatkowe Zmiany po stronie klienta.
I rzeczywiście, gdybyśmy mieli tak bardzo powolny internet,
by zobaczyć, że rzeczywiście najprawdopodobniej niektóre miga
na ekranie jako DOM węzły zmieniają.
Po prostu stało się jest połączenie,
dość szybki komputer i tak jest to dość nieuchwytne dla użytkownika.
Ale co, jeśli ma Wyłączona obsługa JavaScript?
Teraz jest to skrajny Sprawa rogu te dni.
Większość ludzi - większość gdy opuszczają skryptów JavaScript.
Ale czy to od tego, co się dzieje?
Nie widać żadnych z tego w ogóle.
Tak w skrócie, opierając się na JavaScript czegoś
tak dostaje zadanie
ale to jak na wynos poszliśmy o dong tym.
I można zobaczyć na własne oczy po prostu przeglądając źródła
i grzebanie w dowolnym z dwóch adresów URL cs164.net.
Jak faktycznie to zrobił?
Jednak jego ilustrację sposobu można rozpocząć budowę więcej
ciekawe DOMs , a nawet w przypadku
dynamicznie napędzane stron internetowych jak aplikacji Facebook
lub GChat lub podobne, które są stale ciągnąc w większej ilości danych,
jak można rzeczywiście zmienić ten interfejs.
Ale teraz spójrzmy na dobry sposób, żeby zacząć robić rzeczy.
Tak więc w tym roku, oczywiście, w przeciwieństwie do dwóch lat
kiedy wy przede wszystkim w PHP za pierwsze półrocze
i JavaScript za ostatni połowa natomiast dwa lata temu,
skupiliśmy się bardziej na komórkę z odrobiną PHP, w tym roku,
zdecydowaliśmy się na zmianę rzeczy skupić się bardziej
na aplikacjach internetowych.
Realizowane nie w pary ludzi
ale w szczególności zespoły zespoły z czterech
i motywacje było kilka.
Ale wśród nich, że
z zespołem tam tylko cztery dużo więcej kawałków można gryzą
się w grupie.
Robi postępy internetowych ma tendencję do wyładowywania się do różnych aspektów
projektu, które można następnie delegować spośród swojego zespołu.
Na przykład, będziemy prawdopodobnie mają jeden lub dwa z tobą
w danym zespołu pracującego nad front-end, kod JavaScript,
CSS, estetyka.
W tym samym projekcie innego jeden lub dwóch z was będzie koncentrować
na tylnym końcu, baza danych projektowanie schematu, walidacja
danych, pisanie, że API przednim końcu ludzie będą pracować.
I tak po prostu ma dużo więcej powiew szans
dla osób do współpracy.
A więc, jeśli znajdziesz zrobiłeś projekty
z tylko jednym partnerem W przeszłości
który z czterech to będzie trochę trudniejsze,
bardziej interesujące, ale wiele bardziej wydajne, aby wszystkie
współpracując z wy razem.
W zakresie warunków wstępnych, my prawdopodobnie będzie trzymać się z nich
w katalogu cztery wcześniejsze kursy CS.
I jest w oparciu o doświadczenia.
Kilka lat temu, jak nawiązywał do Ciebie wcześniej,
wolno nam dość dużo każdy, kto wziął w odległości 50
czy może niektóre w wysokiej klasy szkoły do ​​podjęcia kursu
ale był tylko taki spread umiejętności i poziomu komfortu.
To sprawiło, że trudno mieć niektóre rozmowy i wiele
uczniów w Klasa walczył.
Więc myśleliśmy w ten sposób,
możemy zrobić każdy rodzaj przysługę zbiorowo.
Więc miej to na uwadze.
Pod względem wielkości zespołu, cztery będą domyślnie
jeśli masz trzy przyjaciół, z którymi bym
jak do partnera, to jest całkowicie w porządku.
Nie będzie mandatu poszczególne zespoły dla Ciebie.
Jeśli nie masz żadnych przyjaciół lub partnerzy w umyśle dla klasy,
nic wielkiego, będziemy trzymać że również umysł i spróbuj
aby ułatwić ci rodzaje partnerstwa.
Pod względem struktury Klasa ta jest bardzo nietypowe.
Oczywiście nie będzie skonstruowany dla większości
wokół wykładów i Nie będzie składał
wokół wy siedzi wpatrując się w ten sposób
i mnie mówić w ten sposób.
A większość klasy będą sesje
w formie spotkań zespołu.
Albo zespół zbierze tutaj lub w innym miejscu na terenie kampusu
na kilka godzin w poniedziałek popołudnia lub dla pary
godzin w środę popołudnia.
W najbliższych tygodniach, dowiemy się, który dzień
i czym każdy ludzie będą.
Jeśli trzeba będzie, możemy dostosować razy, ale zobaczymy Based
na badania, które wy wszystko ostatecznie wypełnić.
Co się dzieje w tych spotkaniach?
Więc to cotygodniowe spotkania
gdzie wy przede wszystkim przedstawić postępy
na różne projekty, więcej na te chwilę.
Więc na tych spotkaniach zespołu, jeden z nauczycieli i
lub będzie się znajdować i cel będzie dla każdego
z czterech osób w Zespół zgłosić na etapy
że masz lub nie został jeszcze osiągnięty.
Gdzie kamieniem milowym zostanie określony
jak badać coś, realizacji czegoś,
Projektując coś, myśląc o czymś lub podobne,
broniąc decyzji projektowych.
Więc it's - mamy na myśli tę klasę
szczególnie krytyczna lub wyzwanie.
Więc jej nie tylko będzie można mówić o swoim dniu
i jak faktycznie wybrał wdrożenia tego ale ja i Rob
i Tim, który spotkamy w kawałku będzie tam wyzwanie.
Tak, że jeśli podejmie decyzję
i nie jest koniecznie najlepiej to w porządku.
Jeśli rzeczywiście mają silny opinia, dlaczego to zrobiłeś.
A w odpowiedzi na forma, dobrze, że działa
ale nie jestem pewien, jest nie, co naprawdę oczekuje
na tych spotkaniach.
Więc to naprawdę znaczy być dwukierunkowa rozmowa
w której bronić decyzje, a także przekonać nas
że ścieżka masz wykonane jest idealnie najlepsze
czy to jest szansa dla Ciebie w celu uzyskania informacji zwrotnej od nas
a nawet partnerzy
co do tego, co może robić inaczej.
A następnie w szczególności Możliwości te będą
dla przeglądu kodu.
Więc chłopaki będą pisemnie Kod JavaScript i PHP kod
i innych technicznych aspektów każdego projektu
i celem będzie przed telewizorem dużym ekranie
dookoła stołu, jak to dla jednego z was stać
się w czasie, każdy, kto ma robi najwięcej pracy
w niektórych z aspektów Projekt położyli
i przedstawiają kod.
I dać nam słowny wycieczkę Kod i dać nam szansę
powiedzieć, dlaczego masz szóstkę zagnieżdżone pętle wykonawcze
coś w tym stylu?
Albo dlaczego nie mają indeksy
w tabeli bazy danych, różne tematy, które będziemy badać
w ciągu semestru.
Tak, od czasu do czasu będziemy mają rozmów technicznych albo
w postaci ich w Spotkania osoba stylu
gdzie wszyscy gromadzą razem lub poprzez wideo
Aby sprawę trochę asynchroniczny
ze względu na wygodę, w tematy szczególnie techniczne
i narzędzi, które będziemy używać w tym semestrze.
Niektóre popularne JavaScript biblioteki
na przykład są Backbone.js i Bookshelf.js i Express.js.
Są to narzędzia z które można zrobić internetowy
aplikacje wykorzystujące JavaScript.
Nie na stronie klienta, choć
lecz na stronie serwera z wykorzystaniem Ramy nazywa Node.js
która jest alternatywą przy użyciu coś jak Apache
lub Microsoft IIS lub inny Oprogramowanie serwera WWW.
Więc tak naprawdę pisać klasa kodu JavaScript,
zarówno po stronie klienta, jak oraz na stronie serwera.
Porozmawiamy o Narzędzia z których niektóre
z was już zna.
Rzeczy takie jak Git.
Będziemy nurkować głębiej do rzeczy jak SQL i ograniczeń
oraz transakcje i wiele szczegółów, które z pewnością
w klasie, jak 50, to rodzaj fala nasze ręce ze względu na czasy
ale są coraz bardziej istotne
kiedy faktycznie realizacji Projekt, który będzie używany
Rzeczywisty i mam nadzieję, że przez duża liczba użytkowników
gdzie wydajność będzie zaczynają mieć znaczenie.
W świecie PHP, użyjemy Ramy nazywa Laravel.
To jest architektura MVC.
Jeśli wiesz lub przypomnieć, że akronim.
I to tylko kilka Kod PHP, aby dużo
łatwiej i miejsc pracy aby ułatwić
pisać bardziej złożone oprogramowania w szczególności projekty
które są realizowane przez wielu ludzi.
Do testowania, użyjemy narzędzia jak kpina w jednostkach PHP
a my w zwyczaju nie tylko pisanie kodu i sortowania
z uderzając na niego i Anecdotally próbuje próbuje dowiedzieć się,
to działa jak to przeznaczony.
Ale robi to przejść pewne testy.
Tak, że zwłaszcza jeśli twój przyjaciel
w twoich zmian grupowych jakiś kod, możesz być pewien,
że tu nie ma nic po prostu zepsuty
przez ponowne uruchomienie testów
, które już mam napisane dla tego kodu.
Tak, że nie ma regresji do buggy stany oprogramowania.
Ponadto projekty jest
gdzie spędzimy większość naszego czasu.
Więc nie ma egzaminów.
To wszystko jest napędzane przez projekty w tej klasie
i naprawdę być tylko dwie drużyny na.
Zasadniczo pierwsza połowa semestru skupi
na jednej stron internetowych opartych na PHP
, która ma przednią użytkownikowi interfejsy zarówno dla pulpitu
i ewentualnie telefon.
Więc będzie okazja, aczkolwiek styczna do klasy
faktycznie zrobić coś jak internetowy interfejs mobilny
lub jeśli jesteś naprawdę zdeterminowany, Android
lub iOS byłoby perfekcyjnie.
Wystarczy uświadomić sobie, że krzywa uczenia się jest
jeśli zna by być nieco wyższa.
Ale to grać bardzo ładnie z wizją
z również posiadające każdy projekt mieć jakieś Back End API.
Tak, że można mieć separacji,
abstrakcja między co robią i co Alicja i Bob
i Charlie w telefonie Grupa jest także, jak również.
Tak, że każdy z przednich końcach
lub z tyłu końce mogą w jakiś sposób łączą się ze sobą.
W zakresie specyfiki, w ramach,
będziemy polegać na Laravel i Elokwentny, który jest ORM,
Mapper Object-relacja, która jest tylko warstwa oprogramowania
która dotyczy M w MVC model.
To sprawia, że ​​trochę łatwiej szczególnie w przypadku dużych projektów
dane z kwerendy baz danych i zapisu danych
i stanowią prawdziwy świat jednostki organizacyjne nie posiadające
napisać surowego kodu SQL.
W świecie JavaScript, my ponownie użyć Express,
i Schowek, który są analogami
w świecie JavaScript.
Ale stosując zamiast Apache za pomocą Node.js
który jest coraz bardziej popularny i pozwala na szczególnie
do zastosowań obejmujących interakcji w czasie rzeczywistym,
pokoje wykres i tym podobne.
Węzeł jest o wiele lepiej niż Apache przy użyciu -
przy realizacji że projekty takie jak
, ponieważ można wysyłać wiadomości przy użyciu modeli, takich jak pub i sub,
publikowania i subskrybowania, jeśli zaznajomieni z tych zwrotów.
Tak bardziej na tym kierunku środku semestru.
W odniesieniu do oczekiwań, są one na kurs.
Weź udział lub oglądać je okazyjnie Rozmowy, rozmowy techniczne.
Harmonogram, który ostatecznie umieścić
na stronie kursu.
Uczestniczyć we wszystkich spotkań.
Tak więc obecność jest wymagana w każdy spowodować spotkań zespołu '
przecież to gdzie najbardziej wykładowym kursu jest
i informacje zwrotne i interakcje stanie.
Tygodniowo kamienie milowe, użyjemy narzędzie, które będę wspominać
na chwilę do ogólnie przydzielić cię z jednego lub dwóch
z pracowników do każdego z cztery osoby w grupie.
Warte uwagi i te, rzeczy są w formie
dlaczego nie można weterynarz przejść tę opcję.
Dlaczego nie pójdziesz weterynarza to opcja i dowiedzieć się, które
z tych dwóch realizacji Możliwości są lepiej
między teraz i powiedzieć w przyszłym tygodniu.
Dlaczego nie pójdziesz zaimplementować to?
Lub zaprojektować je tabele bazy danych.
I tak w skrócie harmonogram w trakcie idzie
będzie dosyć organiczną w zależności od projektów
że każda drużyna tackles zależności na to, co twoje wyniki są
podczas lustracji trochę realizacji w zależności od opcji i potencjalnie
na to, co użytkownicy ostatecznie chcą projekt do zrobienia.
I tak, w kierunku tego końca nie ma stałych terminów na powiedzieć.
Nie będzie dość dużo się w przydziale krocząca
co kilka terminów dni, co tydzień w oparciu
na rozmowy, które mieć jeden lub dwa
z pracowników przy stole.
Ostatecznie jednak to, co jest spowodowane jest przedłożenie
z tych dwóch ostatnich projektów.
W zakresie tego, co będą projekty,
Projekty będą być albo zaproponowany
i wybrany przez was.
W rzeczywistości, w postaci loterii na przykład zostaniesz poproszony
na co są jeden lub więcej projektów Szczególnie, że w jakiś sposób odnoszą
do kampusu, że myślisz, że być przekonujące do wdrożenia.
Ponieważ jednym z nadziei Kurs jest dla
że wszystko, co nie pochodzi projekty
z tego kursu przetrwać koniec semestru.
I tak w szczególności w przypadku Tematy są campus,
czy jeśli to inna Katalog Oczywiście narzędzie zakupy
lub zdarzenia kalendarza lub Transfer lub dowolny numer
z popularnych projektów końcowych.
Nadzieja po zakończeniu tego semestru jest
że takie przedsięwzięcie żyć.
I rzeczywiście w stronę tego celu,
to, co myśleliśmy, że wystarczy sprawiają, że mało interesujące.
A także rodzaj możliwości wglądu
debat, według których w najbardziej, że każdy projekt
w klasie zajęcia w tym semestrze,
będą dwa zespoły przypisany do tego samego projektu.
Ogólna idea jest, że nie są one naprawdę ma
mówić o ich różne decyzje projektowe,
raczej jego przeznaczona do Więcej o konkursie w celu
który może ostatecznie produkować najlepszy projekt, realizacja.
Tak, że na końcu Semestr, pochodzą maja, wysyłamy jeden
i nie oba te rozwiązania.
A my jako oczywiście zajmie dbają o hosting itd.
tak, że wasze życie starszych on na końcu sprężyny.
Co te aplikacje zrobić?
Może być cokolwiek, coś dla działu,
coś dla grupy studenckiej,
coś dla studentów więcej ogólnie, że będzie częścią
rozmowy w nadchodzącym tygodniu
aż głowa nurkowanie pierwszy
po zebraniu garść takich projektów.
W odniesieniu do personelu pozwolić Przedstawiam Tim i Rob
kto chciałby się przywitać.
I to ci ludzie, którzy na jeden z projektów będzie -
dla obu projektów będzie twoim głównym doradcą.
Zasadniczo do jednego z Projekty, Rob będzie gromadzenie
z Tobą w tygodniu dla tych rozmów.
Dla jednego z projektów, Tim zbieranie będzie z tobą
dla tych rozmów i będziemy zamienić w przybliżeniu połowie semestr
jak przejście projektów.
Jeśli chcesz po prostu porozmawiać blisko tego mikrofonu.
>> Witam, jestem Rob.
Ukończyłam w maju z [niesłyszalne].
Jestem nauczycielem w CS tutaj.
Podekscytowany na kurs.
>> Jestem Tim i jestem naprawdę całkowicie nowy w okolicy.
Jestem pierwotnie z Filadelfia tak właśnie rozpoczął
tutaj kilka tygodni temu i jestem bardzo
do oprogramowania open source.
I pomóc w utrzymaniu Backbone.js projekt, gdzie niektóre
z możesz znać
i stworzyłem również Bookshelf.js projekt
Dawid był wspomnieć.
Tak, jestem podekscytowany, aby zobacz projekty.
>> Rzeczywistości.
Aby uzyskać więcej informacji na temat Tim przynajmniej jeśli go
do strony głównej kursu i kliknij jego imię będzie prowadzić
jego repozytorium GitHub czy chcesz spojrzeć na niektóre
jego open source narzędzia i projekty.
Tak więc w zakresie gatunków, tak Bo to FAQ, nawet
jeśli rodzaj styczna do większa wizja klasy,
jak będą oceny końcowe być określone?
Więc co będziemy ostatecznie być dość prywatną Based
na temat interakcji mamy Ci w ciągu -
z Twoja ciągu semestru w oparciu
na twoich składek zarówno do repozytoriów kodu
i do rozmów że mamy.
W pigułce, jest oparty
na twoich składek projektów.
Delta pomiędzy pierwszą tygodniu w zeszłym tygodniu.
Więc nie martw się, jeśli mają tylko cztery kursy
pod pasem, natomiast kilka innych studentów
w klasie może mieć osiem,
my na pewno zachować to na uwadze.
Zakres, poprawność, projektowanie i styl projektu,
więc te znane osie.
Stopień, w którym przygotować się do spotkania.
Więc to naprawdę jest przeznaczona do być dla nas szansą
zbierać co tydzień i mają inteligentny i zabawny i sortowania
Debaty idealnie emocjonalne.
Czasami Gdzie faceci zaproponować, jak można rozwiązać
coś, a potem bronić tego, co może to zrobić i rola Tima
i moja rola i rola Roba będzie być wyzwanie z nadzieją.
Tak, że albo można się przekonać o drużynie
W innej implementacji kierunek lub mogą być pewni,
i czuć się całkiem nieźle o tym, że tak,
myślisz, że masz najlepsze realizacja możliwa
do tego celu.
W szczególności i jak dotychczas że nie będzie innej pracy zespołowej
tego samego projektu z swój indywidualny kąt.
W zakresie narzędzi, więc być może wszystkich w godzinach nadliczbowych
i zapraszamy do korzystania co jest interesujące
aby dla własnego zespołu wewnętrznego.
Ale dla większości część, będziemy korzystać
z darmowego narzędzia o nazwie Asana do zarządzania zadaniami.
Zobaczysz więcej na ten temat za pośrednictwem e-mail w ciągu najbliższych dni
i to jest w istocie narzędziem , za pośrednictwem której można pracować spacji
i projekty zespołu.
Więc jeśli twój projekt jest wdrożenie pełnych [fonetyki].
Twoje czterech członków drużyna znajdować się wewnątrz tego projektu,
w tym folderze tak powiem.
I ty i jesteśmy w stanie przypisać etapy i nakazów
oraz daty i komentarze.
I to jest miłe, bo to zintegrowane z e-mailem.
Tak można lub nie można znaleźć strona jest całkowicie do Ciebie.
I można również uzyskać Łączna rozsądek
z tego, co ludzie są pracy i uzyskać poczucie
z tego, co się dzieje poza własny szczególności bąbelkowa
jeśli twoja głowa idzie w dół po skupiając
na jednej konkretnej rzeczy.
Na GitHub też, jeśli nieznane, GitHub jest jednym
z najpopularniejszych, jeśli nie najpopularniejszym repozytorium
tam do źródła kodować te dni.
Użyjemy go jako centralny repozytorium dla każdej drużyny z czterech
tak, że cztery, a następnie mamy dostęp do trzech
i mogę się wypowiedzieć w formie
Opinii kod za pomocą Interfejs GitHub za.
Ale dowiemy się co do tego,
jeśli zna kiedy przyjdzie czas.
A to tylko szybkie spojrzenie Asana.
Szybkie spojrzenie na GitHub i teraz pozwól mi zatrzymać na wszelkie pytania.
Tak.
[Niesłyszalny Pytanie]
Dobre pytanie co myślimy ram Python lub Ruby?
Mogli osiągnąć same cele w szczególności.
Zdarzy nam się użyć PHP w 164, ponieważ wiele
wśród ludzi uprzedniej internecie doświadczeń pochodzących z 50
który wykorzystuje PHP teraz.
Ale absolutnie, może każdy z projekty te są wykonywane w języku Ruby,
Python, Java lub innych, nawet ramy, Node.js pewno.
Ale tak się używać PHP i tak się używać Node.js
i chcemy ujednolicić ci dla obu projektów
tak, że jest to dużo łatwiejsze klasie
mają bardzo podobny rozmowy
i nie mają zbyt wiele jabłek i pomarańcze w klasie.
Mimo, że nie będzie uznania, jeśli chodzi
do poszczególnych dodatków w bibliotek, które można użyć
do jednej z tych środowisk.
Tak więc, nie twierdzą, że jeden jest szczególnie lepiej
od drugiego.
I PHP ma rodzaj brzydki historia, ale jest coraz wiele,
znacznie lepsze w ostatnich latach.
Więc co nas czeka?
Brak pracy domowej lub jakikolwiek dziś w nocy inne rzeczy
niż odwiedzić ten adres URL jeśli rzeczywiście interesujące.
Będziemy zamieszczać link na stronie
jeśli zapomnisz, gdzie to jest.
Termin ten będzie być godzina osiemnasta w środę
tak, że Rob i Tim i ja Można usiąść wieczorem
i przeglądu zgłoszeń i dowiedzieć się, jak najlepiej
zoptymalizować grupy i tak dalej.
Damy ci znać do czwartku czy nie mieliśmy
na loterii, a jeśli mamy miejsce
tak, że chłopaki mogą dostać Karty do rysunku studium podpisana
się, co chcesz zrobić.
I w tym czasie, jeżeli masz jakieś pytania,
przejdź na stronę kursu jest.
Pracownicy email na cs164.net.
Kiedy wrócimy w środę, to nadal będzie ten format.
Ale prawdopodobnie rozpoczynając w połowie następnego tygodnia lub tydzień
po gdzie divvy w dużo mniejszych grupach
z zaledwie czterech z was w czasie spotkania ze mną
i czy Tim i czy Rob.
Dziękuję bardzo do Zespół w plecy dzisiaj.
Przekonamy się w środę.