>> Regulă.
Bine ati venit la Computer Science 164.
Deci, înainte de a se arunca cu capul cu o privire de ansamblu
de ceea ce va fi cursul despre acest semestru și un pic
de material în prima zi, M-am gândit să vă dau un sens
de modul în care ne-am petrecut noaptea trecută.
Nu e atât de mult ca provocare server-side ne-am confruntat
dar un client-side.
Deci, s-au oricare dintre ai descoperit acest site special doar încă
sau panza care unele Harvard cursuri sunt acum trecerea la?
Deci iSites este pe cale să moară un proces lent moarte dacă ați ajuns atașat
pentru ea, este probabil să fi înlocuit cu Canvas.
Și așa ne-am gândit noi sari la bord și să fie parte
din acest test beta, folosind Canvas care este un instrument open source.
Este sponsorizat de către un companie numita Instructure.
Deci, există o corporativ suport în spatele ei.
Dar pentru cea mai mare parte ne-l utilizați în acest fel.
Dar noaptea trecută, când am fost încercat
pentru a obține site-ul de cursuri finalizat, am fugit într-o mulțime
de frustrări, deoarece aceasta este un sistem de management de învățare
ceea ce înseamnă că este un bucată de software
cu care puteți gestiona conținutul
folosind interfata web-based.
Nu trebuie să utilizați fișiere de configurare arcane.
Nu trebuie să știi nimic despre baze de date,
e destul de mult punct și faceți clic într-un fel site-urile Google
sau ceva de genul asta ar putea fi.
Ci ca un rezultat a fost al naibii de greu de a face ceva simplu cum ar fi -
hai du-te la site-ul de cursuri.
Acum, doar a pus opțiuni de meniu în acest din partea stanga.
Cazul de la punctul, nu e nimic există de fapt, chiar acum
deoarece modul software este proiectat este că, dacă doriți
pentru a instala lucruri în meniul din stânga,
trebuie să de fapt, instala aceste module
sau aplicații în software-ul.
Și nu vreau să fac asta.
Am vrut doar un link pentru ca programa.
Ne-am dorit un link către personalul.
Ne-am dorit un link către video și altele asemenea.
Deci, dacă s-au confruntat cu site-urile,
e de la site-ul terță parte
dar aveți nici un control pe codul sursă.
Nu aveți acces la de server, nu vă puteți conecta cu SSH,
puteți SFTP, tot ce se poate folosi este interfața web local
și doriți să începeți schimbarea
sau modificarea utilizatorul interfață prin intermediul altor mijloace.
Ceea ce ar putea prima ta instinct fi?
Ce întrebări s-ar putea să vă întreb de Instructure în acest caz,
Compania astfel încât puteți fel de locul de muncă
în jurul aceste limitări așa cum am făcut-o?
Vrem să adăugați opțiuni de meniu
dar nu putem schimba Codul lor de server.
Deci, ce soluție s-ar putea sugera că?
Da.
[Inaudibil Observație]
OK.
[Inaudibil Observație]
Da. Așa că am putut ia în considerare ceva
ca o extensie Chrome.
În cazul în care nu familiar, un Chrome prelungire este în esență o piesă
a software-ului din Chrome browser-ul, în general, scris
în JavaScript.
Și e doar un mod de injectare Cod de obicei, JavaScript poate
unele CSS într-o rețea pagina pe care o vizitați.
Prin extinderea Chrome este doar în mod constant de monitorizare ce
site-urile pe care le vizitați și încercarea de a detecta.
Oh, daca esti facebook.com face acest lucru.
Oh, dacă sunteți în isites.harvard.edu face acest lucru.
Deci, aceia dintre voi care s-ar putea au folosit 2x mufă CS50 lui
în care vă permite de a accelera up video este exact asta.
Deci, asta e interesant și este un fel de pe drumul cel bun.
Pentru că dacă nu aveți acces la server, vrei doar
pentru a schimba într-un fel DOM copac care utilizatorul este de a vedea,
aveți posibilitatea să destul de mult numai fă-client-side.
Acum, desigur, o captură evident
de a folosi un Chrome extensie este ceea ce?
Corect. Deci, nu toată lumea este cu ajutorul Crom și în cazul în care se simte un fel de lame
dacă aveți un fel de au să mandateze că toate
de utilizatori se poate folosiți numai site-ul web
și a vedea opțiunile de meniu dacă au Chrome.
Deci, ce altceva s-ar putea am putea vrem să cerem Instructure?
>> Deci, un lucru este cred probabil, puteți adăuga un text
pe site-ul, nu?
>> OK.
>> Aflați dacă poți pune de fapt HTML în text.
>> OK. Bun.
Deci, am putea întreba dacă am putea pune HTML în textul propriu-zis.
Deci, mai degrabă decât a posta un textual anunț, putem adăuga link-uri?
Putem adăuga imagini?
Putem adăuga gloanțe?
Orice lucru care ne-ar putea vrei sa faci punct de vedere estetic.
Și răspunsul scurt este da.
Există, într-adevăr o un fel de WYSIWG,
Ce vezi este ceea ce Ia editor care vine
cu acest special bucată de software
care vă permite să editați.
Lucruri, cum ar fi pagina de start cu numele meu și a lui Rob
și a lui Tim și așa mai departe.
Și care ne-a luat parte de drum.
Din păcate, faptul că nu să ne pună ceva aici
de exemplu.
Asta nu să ne pună ceva aici, pentru că suntem constrânși
de ce originalul Autorii a vrut ca noi să facem.
Deci, suntem cu un pas mai aproape.
Ce altceva am putea cere companiei?
Care sunt cealaltă soluții, poate?
Trebuie sa fie rezolvabil.
Ce altceva ar putea face?
Deci ai fost pe dreapta urmări cu această noțiune
de client-side JavaScript injecție.
Cum altfel am putea obține JavaScript în site-ul, probabil, corect?
Pentru că odată ce ai JavaScript,
puteți face ceva destul de mult chiar dacă experienta dvs.
cu JavaScript este limitată la 50 sau o altă experiență anterioară,
știi, că tu poate parcurge copac
că este o pagină web, DOM.
Probabil vă amintiți că ați poate adăuga noduri sau elimina noduri.
Vă puteți injecta lucruri într-o pagină web.
De fapt, asta este exact ceea ce 2x CS50 conectați face.
Se rupe afară iSites " video player și pune
într-un alt toate împreună.
Deci, ceea ce în cazul în care societatea Instructure ai permis
pentru a injecta JavaScript în site-ul dvs., desigur?
Cu alte cuvinte, ceea ce în cazul în care ai permis prin intermediul GUI lor,
interfata WYSIWG la inserați adresa URL a unui fișier JS
și poate chiar un fișier CSS. și apoi au avut grijă
procesului de al introduce la foarte de sus a fiecărei pagini.
Deci, destul de sigur, acest lucru a fost singura cale de am putut
pentru a realiza acest lucru.
Dacă aș vizualiza pagina sursă aici - și lasă-mă să zoom in și de căutare
pentru cs164.net care este o domeniu ne cursul proprii.
Observați că prin intermediul unor serii de pași, ea a luat un timp pentru a figura
cu documentația lor.
Noi suntem capabili să spunem, pe culmea fiecare pagina web ce rezultate Canvas
pentru acest curs, ieșire. fișier css.
Și dacă am face o altă comandă F și căuta un pic mai departe,
veți vedea că aici,
imbricate cu în unele JavaScript cod există, de asemenea, menționăm
din acest URL aici.
Deci, cu alte cuvinte, un fel de le-au păcălit
în injectarea indiferent de CSS,
indiferent de activarea JavaScript-ne doresc în site-ul web.
Astfel că atunci imploră întrebare, ce face?
Ei bine, să mergem mai departe și apuca doar această sursă,
inserați această aici.
Este interzis pentru că pentru a simula aceasta,
Eu i faci CHMOD [fonetic] totul.
Asa ca lasa-mi dai înapoi.
Citiți acces și acum reîncărcați.
Deci, ce am făcut?
Deci, veți obține mai bine la acest în special la mijlocul-semestru
atunci când ne petrecem o mulțime de timpul nostru pe JavaScript.
Dar ceea ce face acest lucru par să faci?
Deci, unul la foarte de sus a acestei Fișier JS care din nou este inclus
în fiecare pagină web care Desigur ruleaza acum pe site-ul web.
Am verificat pentru a vedea dacă tipul de de jQuery nu este nedefinit.
Deci, în termen de nespecialist Ce înseamnă asta?
Ce ar însemna dacă jQuery este nedefinit?
Ei bine, aveți JavaScript încărcat.
Nu ai jQuery încărcat.
Deci, suntem doar în speranța că Instructure,
Compania de fapt este folosind jQuery ei înșiși.
În caz contrar, ne-ar trebui să lipiți biblioteca jQuery pe partea de sus
din acest fișier, astfel încât pentru a avea acces la ea.
Și acest lucru nu este pentru că eu pur și simplu doresc să aibă acces la lucrurile
ca notația semnul dolar și alte funcțional
care vine cu jQuery.
Dacă vă amintiți acest lucru bibliotecă și dacă nefamiliare
sau dacă a trecut un timp, de odihnă sigur vom ajunge la această
cu un timp de câteva săptămâni.
Deci, ce sunt lucrurile facem noi aici?
Deci, pentru cei care s-ar putea aminti, Ce înseamnă acest sintaxă aici înseamnă?
Când doar sa treci un anonim Funcția sau funcția lambda?
În CS51 vorbi la Funcția jQuery ca aceasta.
Când este acest cod va fi executat?
Da.
[Inaudibil Observație]
Exact. Deci, acest cod de natură
acestei funcții apel implicit este doar de gând să se executat
când DOM astfel de vorbesc este complet încărcată.
Toate cele de mai sus HTML în jos, la stânga sau la dreapta a fost citit
în memorie și există unele structură arborescentă în interiorul de memorie.
Acum, acest lucru este bun, deoarece dacă vreau pentru a începe redarea
în jurul cu ea și schimbarea Opțiuni de meniu, eliminarea lucruri,
adăugarea de lucruri, mi-ar aștepta mai bine
până cel puțin implicit DOM este în loc.
Deci, aceasta este doar standard, jQuery sintaxă.
Este echivalent cu a spune când DOM este gata.
Și acum e într-adevăr doar o combinație
de jQuery sintaxa și unele HTML.
Deci, de exemplu, am decis că acest lucru a fost doar mă deranjează.
Nimeni de pe campus, spune, oh, iei Comp Sci 164,
sau Comp Sci orice, te spune CS164 sau CS orice.
Bătaie de cap puțin așa minor, vrem să schimbăm asta,
așa cum am putea face asta cu ceva de genul JavaScript?
Ei bine, o notificare, dacă am du-te la pagina de aici
și deasupra paginii, anterior a fost CS164.
Dacă am deschide Chrome, care este un browser util
pentru a face inspecții DOM și vă măriți aici.
Observați că în interiorul acestui HTML a fost un element care are o identitate
de pesmet și ID-ul de ce nu?
Este o identifică în mod unic acestor noduri din arbore
și de îndată ce am identificator unic pentru unele bucată
a HTML în DOM, acum Eu pot face orice vreau
cu aceasta pagina web.
Aș putea șterge fiecare nod DOM.
Fiecare tag-ul HTML de pe paginile și a pus tot ce vreau
dar nevoile suntem destul de umili.
Am vrut pur si simplu sa pentru fragmentul de cod aici.
Am vrut să găsească în primul rând antetul secțiunii file
care a fost unul dintre părinte Elementele de mai sus doar că.
Și am vrut să merg înainte și schimbare -
Am vrut mai degrabă schimbare conținutul
din care prin acest HMTL funcționeze la o legătură la CS164
și apoi am vrut să modifica CSS pe ea
pentru a avea o greutate de font bold.
Și nu vom intra în mare detalii cu privire la restul de aici.
Dar observați această linie aici.
Am înlocui un global peste tot.
În esență spunând, oriunde vedeți un interval de
care are o clasă numit ellipsible,
asta nu e un lucru standard de,
asta e doar ceea ce panza software-ul cere anumite clase.
Dacă aceasta conține cheia frază COMPSCI164 merge mai departe
și înlocuiți HTML în interiorul orice astfel de interval, cu doar CS164.
Și restul este destul de bine comentat.
Dar la rezultatul final, ceea ce am face este manual cu Chrome
sau orice browser imaginind ceea ce identificatorii unici sunt
diverse noduri DOM în copac și le-mutant
în modul în care mi-am dorit.
Și rezultatul final, acum că am CHMOD lucrurile în mod corect este
care acum pot pune un arbitrar bucată de HTML aici.
Eu pot rupe lucruri cum ar fi notele de subsol.
Eu pot rupe HTML pe aici și Ar trebui să val un disclaimer mare.
Acesta este un hack complet
pentru a implementa un site ca asta.
Dar un fel de vorbește pentru procesul de gândire
că ar trebui să Spre de mijloc de semestru,
mai ales atunci când ne petrecem timpul pe de activarea JavaScript-te gândești
despre modul în care puteți rezolva diverse probleme, sperăm, mai bine
decât în ​​acest fel.
Dar ingredientele pentru rezolvarea unei probleme
ca aceasta într-adevăr doar redus la unele elementele de bază.
Deschiderea la ceva ca Inspector Chrome
și înțelegere ce copac DOM este.
Știind ce Selectoare CSS sunt
pentru ID-uri unice sau pentru nume de clasa.
Știind unele sintaxă dacă este în JavaScript pur
sau în jQuery bibliotecă pentru a schimba de fapt, DOM.
Iar la sfârșitul zilei, suntem destul de mult în stare
să se aplece software-ul de voința noastră.
Dar există, probabil, o captură.
Care este pretul suntem, probabil, plata pentru acest hack complet?
Care este riscul?
Da.
[Inaudibil Observație]
Exact. Dacă Instructure redenumește una din clasele lor
sau redenumește unul dintre ID-urile lor sau rearanjează doar HTML lor
care este total prerogativa lor,
toate acestea ar putea rupe și atunci unul dintre noi va avea
a observat sau unul dintre voi baieti va trebui să raporteze
și vom avea să cred că peste asta din nou.
Deci, poate că nu o foarte mare face, dar încă o amenințare.
Ce altceva ar putea întâmpla?
Ce altceva este rău despre această abordare?
Este mai puțin frecvente în aceste zile.
Da. Este un pic mai lent în care -
mai degrabă decât obține doar sursa originală de pe server.
Esti acum face suplimentar schimbări client-side.
Și într-adevăr, dacă am avea un astfel conexiune la internet mult mai lent,
te-ar vedea de fapt cel mai probabil, câteva flash-uri
pe ecran ca DOM noduri se schimbă.
Doar se întâmplă să au o conexiune,
un calculator destul de repede și atât e destul de evaziv pentru utilizator.
Dar dacă ei au JavaScript dezactivat?
Acum, aceasta este o extremă caz colț aceste zile.
Cei mai mulți oameni sunt - majoritatea atunci când părăsesc JavaScript pe.
Dar dacă e pe ceea ce se întâmplă?
Noi nu vedem nici o de care orice.
Deci, pe scurt, bazându-se pe JavaScript pentru ceva
ca aceasta devine treaba
dar Takeaway este modul în care ne-am dus despre acest dong.
Și puteți vedea pentru tine doar prin vizualizarea sursei
și apoi poking jurul valorii de la orice din cele două URL-urile de pe cs164.net.
Cum am făcut de fapt acest lucru?
Dar ilustrativ său de modul puteți începe construirea mai mult
departamentele de peste mare interesante și chiar și în cazul
site-uri de condus dinamic ca aplicația Facebook,
sau Gchat sau altele asemenea, care sunt trăgând în mod constant în mai multe date,
cum puteți de fapt, schimba asta interfață.
Dar acum, să ne uităm la mod corect de a începe să faci lucruri.
Deci, în acest an, cursul, spre deosebire de acum doi ani
când voi în primul rând, în PHP pentru prima jumătate a anului
și JavaScript pentru ultimul jumătate în timp ce în urmă cu doi ani,
ne-am concentrat mai mult pe mobil cu un pic de PHP, în acest an,
ne-am decis să schimbe lucrurile să se concentreze mai mult
pe aplicații web-based.
Pus în aplicare nu în perechi de oameni
dar în mod special echipe echipe de patru
și motivațiile au fost mai multe.
Dar printre ei au fost că,
cu o echipa de patru există doar mult mai multe piese puteți musca
off ca un grup.
Făcând evoluțiile web tinde să se aterizeze la diferite aspecte
a proiectului pe care le puteți apoi delega între echipa ta.
De exemplu, vom probabil au una sau două dintre voi
într-o anumită echipă de lucru privind front-end, codul JavaScript,
CSS, estetica.
Pe care același proiect un alt unul sau doi dintre voi se va concentra
pe partea din spate, baza de date proiectare schemă, validarea
de date, scris API care oamenii front-end va funcționa.
Și așa tocmai am primit o mulțime mai mult gura de oportunități
pentru ca oamenii să colaboreze.
Și astfel vei găsi dacă ai făcut proiecte
cu doar un singur partener în trecut,
că cu patru va fi un pic mai dificil,
mai interesant, dar mult mai puternic pentru a avea toate
de voi colaborare împreună.
În ceea ce privește premisele, noi probabil va lipi cu aceste
pentru catalogul patru cursuri CS anterioare.
Și acest lucru se bazează pe experiență.
Un cuplu de ani în urmă ca a făcut aluzie la mai devreme,
am destul de mult permis oricine care a luat doar 50
sau, poate, unele de clasă în mare școală pentru a ține cursul
dar nu a fost doar o astfel de răspândire de abilități și niveluri de confort.
Ea a făcut-o greu pentru a avea anumite conversații și o mulțime
de studenți în clasa de luptat.
Deci, ne-am gândit în acest fel,
putem face un fel de toată lumea o favoare colectiv.
Astfel încât să păstreze în minte.
În ceea ce privește dimensiunea echipei, patru vor fi implicit
dacă aveți trei prieteni cu care te-ai
ca la partener, că e în regulă.
Nu vom mandat echipe speciale pentru tine.
Dacă nu ai prieteni sau parteneri în minte pentru clasa,
nu e mare lucru, vom continua care minte la fel de bine și să încerce
pentru a facilita celor tipuri de parteneriate.
În ceea ce privește structura clasă, acest lucru este foarte anormal.
Cursul nu va fi structurat pentru cea mai mare parte
în jurul valorii de prelegeri și Nu va fi structurat
în jurul valorii de voi sta acolo cu ochii în acest fel
și mi-a vorbit în acest fel.
Mai degrabă de cele mai multe sesiuni de clasă va fi
în forma unor reuniuni echipei.
Oricare dintre echipe va aduna aici sau în altă parte în campus
pentru câteva ore luni după-amiaza sau pentru un cuplu
de ore miercuri după-amiaza.
În săptămânile următoare, ne vom da seama ce zi
și de timp pe care fiecare oameni vor fi.
În cazul în care este nevoie să fie, putem optimiza ori, dar vom vedea pe bază de
pe un studiu care voi toate în cele din urmă să completați.
Ce se întâmplă în aceste întâlniri?
Deci, întâlnirile săptămânale este
unde voi în primul rând, prezenta progresele
pe diverse proiecte, mai pe cei care într-o clipă.
Deci, la aceste întâlniri de echipă, unul dintre cadrele didactice și
sau mă va fi prezent iar obiectivul va fi pentru fiecare
din cele patru persoane din Echipa de a raporta cu privire etape
pe care le au sau nu s-au atins.
În cazul în care piatră de hotar vor fi definite
ca cercetarea ceva, punerea în aplicare a ceva,
proiectarea ceva, gândindu- despre ceva sau altele asemenea,
apărarea decizii de design.
Așa e - am vrut această clasă
de deosebit de critic sau provocator.
Deci, ei nu doar de gând să se vorbi despre ziua ta
și cum de fapt au ales să să pună în aplicare acest lucru, dar eu și Rob
și Tim care va întâlni într-un pic va fi acolo pentru a vă provocare.
Așa că, dacă ai luat o decizie
și nu este în mod necesar cel mai bine că e bine.
Dacă aveți de fapt, un puternic opinie de ce ai făcut asta.
Și în răspuns al formă, ei bine, funcționează
dar eu nu sunt foarte sigur este nu ceea ce este într-adevăr așteaptă
la aceste reuniuni.
Deci, este într-adevăr menit să fie o conversație bidirecțională
în care să apere deciziilor și, de asemenea, convinge-ne
că calea care le-ați luată este în mod ideal cel mai bun
sau este o oportunitate pentru tine pentru a solicita feedback-ul de la noi
și chiar partenerii dvs.
ca la ceea ce s-ar putea se face în mod diferit.
Și apoi, în special acestea vor fi oportunități
pentru codul de revizuire.
Deci, voi va fi scris Cod JavaScript și PHP cod
și alte tehnice aspecte legate de fiecare proiect
iar obiectivul va fi în fata de un televizor cu ecran mare,
în jurul mesei ca aceasta pentru unul dintre voi să stea
până la un moment dat oricine are făcut cel mai lucrarea
privind unele aspecte ale cadrul proiectului s-au pus
și să prezinte codul.
Și să ne dea un tur verbal al cod și să ne dea o oportunitate
pentru a spune de ce ai șase bucle imbricate de punere în aplicare
ceva de genul asta?
Sau de ce nu au indici
în tabelul bazei de date diferite subiectele pe care le vom explora
pe parcursul semestrului.
Deci, din când în când vom avea discuții tehnice, fie
sub formă de acestea în întâlniri persoană stil
unde ne-am aduna toate împreună sau prin intermediul video
pentru a face lucrurile un puțin asincron
de dragul comoditate pe subiecte deosebit de tehnice
și instrumente pe care le vom folosi în timpul acestui semestru.
Unele populare JavaScript biblioteci
de exemplu, sunt Backbone.js și Bookshelf.js și Express.js.
Acestea sunt toate instrumente cu pe care le puteți face web-based
aplicațiile care folosesc JavaScript.
Nu pe partea de client, deși
dar pe partea de server folosind un cadru numit Node.js
care este o alternativă la folosind ceva de genul Apache
sau Microsoft IIS sau alte software-ul de server web.
Deci, vom scrie de fapt în codul JavaScript de clasă,
atât pe partea de client cât precum și pe partea de server.
Vom vorbi despre instrumente cu care unii
dintre voi sunt deja familiarizați.
Lucruri de genul Git.
Vom arunca cu capul în mai profundă a lucrurilor cum ar fi SQL și constrângerile
și tranzacții și o mulțime de detaliile care cu siguranță
într-o clasă cum ar fi de 50, am un fel de val mâinile în sus de dragul vremurilor
dar sunt tot mai importante
când de fapt punerea în aplicare a unui proiect care va fi utilizat
de reală și, sperăm, un număr mare de utilizatori
în cazul în care performanța se va începe să facă o diferență.
În lumea PHP, vom folosi un cadru numit Laravel.
Aceasta este o arhitectură MVC.
Dacă știți sau reamintească faptul că acronim.
Și e doar o adunatura de Cod PHP pentru a face o mulțime
de locuri de muncă mai ușor și pentru a face mai ușor
pentru a scrie mai complexe software special proiecte
care sunt puse în aplicare de mai multe persoane.
Pentru testare, vom folosi instrumente ca altfel, batjocorirea în unități PHP
și vom intra în obiceiul de a nu scrie doar cod și un fel
a trage pe ea și anecdotic încercarea de a încerca să dau seama,
funcționează așa cum ați intenționat.
Ci mai degrabă o face să treacă anumite teste.
Astfel că, în special în cazul în care un prieten de-al tău
în grup modificările un cod, puteți fi siguri
că aici ea nu are rupt nimic, pur și simplu
de a executa din nou testele
că ai deja scris pentru acest cod.
Astfel că nu au regresii la buggy stări de software.
În plus, proiectele este
unde ne vom petrece cele mai multe din timpul nostru.
Deci nu e nici examene.
Totul este condus de Proiectele din această clasă
și există într-adevăr să fie doar două echipe pe.
În esență, prima jumătate a anului semestrului se va concentra
pe un site-uri web bazate pe PHP
care va avea utilizator final din față interfețe atât pentru desktop
și opțional mobil.
Deci, acest lucru va fi o oportunitate, deși tangențial la clasa
de a face de fapt, ceva de genul o interfață mobile web-based
sau dacă sunteți cu adevărat determinat, Android
sau iOS ar fi foarte bine.
Doar dau seama că curbă de învățare acolo
dacă ar fi familiarizat să fie ceva mai mare.
Dar ar juca foarte frumos cu viziunea
de a avea, de asemenea, fiecare proiect de a avea un scop API înapoi.
Astfel încât să puteți avea o separare,
abstracție între ceea ce fac și ce Alice și Bob
și Charlie în ta grup sunt, de asemenea, la fel de bine.
Astfel încât fiecare dintre capete din fata
sau înapoi capete pot într-un fel comunica.
În ceea ce privește specificul, pentru a cadrului,
ne vom baza pe Laravel și Elocvent care este un ORM,
Mapper un obiect raport care este doar un strat de software
care se adresează M în MVC, modelul.
Ea face un pic mai ușor în special pentru proiecte mari
pentru a interoga date de la baze de date și de a scrie date
și pentru a reprezenta lumea reală entități fără a avea
a scrie cod SQL prime.
În lumea de JavaScript, vom folosi din nou Express
și Bookshelf care sunt analogi
în lume JavaScript.
Dar utilizând în loc de Apache folosind Node.js
care este din ce în ce mai populare și permite în special
pentru aplicații care implică interacțiuni în timp real,
camere grafic și altele asemenea.
Nodul este mult mai bine decât Apache atunci când se utilizează -
atunci când punerea în aplicare a proiecte, cum ar fi faptul că
deoarece puteți trimite mesaje folosind modele, cum ar fi pub și sub,
să publice și să subscrie, în cazul în care familiarizat cu aceste fraze.
Cu atât mai mult pe faptul că spre mijlocul semestrului.
În ceea ce privește așteptările, acestea sunt ele de curs.
Participa sau viziona aceste ocazional discuții, discuții tehnice.
Programul pentru care va pune în cele din urmă
pe site-ul de cursuri.
Participa la toate întâlnirilor.
Deci, participarea este necesară la fiecare din cauza întâlnirilor echipei "
după ce toate că este în cazul în care cel mai de instruire cursului
și feedback-ul și interacțiuni se va întâmpla.
Repere pe săptămână, vom folosi un instrument care voi face referire
a într-un moment în general, atribuiți la una sau două
a membrilor personalului la fiecare din cele patru persoane din grupul.
Lucruri de făcut și cele lucrurile vor veni sub forma
de ce nu te vet merge această opțiune.
De ce nu te duci veterinar aceasta opțiune și dau seama care
de cei doi de implementare Posibilitățile sunt mai bine
între acum și spune săptămâna viitoare.
De ce nu te duci să pună în aplicare acest lucru?
Sau să proiectați aceste tabelele bazei de date.
Și astfel în scurt programul în curs se va
să fie destul de organic în funcție de proiectele
care abordează fiecare echipă, în funcție în ceea ce constatările dumneavoastră sunt
când verificare unele implementare opțiune și în funcție de potențial
pe care utilizatorii finali în cele din urmă doresc ca proiectul să facă.
Și astfel spre acest scop, acolo există termene fixe pe cuvânt de spus.
Nu va fi destul de mult într-o misiune de rulare
de termenele la fiecare câteva zile, pe fiecare săptămână
în conversațiile pe care aveți cu unul sau doi
din membrii personalului la masa ta.
În cele din urmă, deși ceea ce este cauza este depunerea
dintre aceste două proiecte finale.
În ceea ce privește ceea ce proiecte vor fi,
Proiectele vor trebuie fie propuse
și selectate de către voi.
De fapt, pe formularul de loterie de exemplu, veți fi întrebat
pe ceea ce sunt unul sau mai multe proiecte în special care se referă într-un fel
la campus care credeți că ar fi să fie convingătoare pentru a pune în aplicare.
Deoarece una dintre speranțele pentru curs este
că orice proiecte vin
din acest curs supraviețui la sfârșitul semestrului.
Și așa mai ales dacă sunt teme campus,
dacă în cazul în care este un alt Catalog de curs, instrument de cumparaturi
sau evenimente din calendar sau serviciu de transfer sau orice număr
de proiecte finale populare.
Speranța după sfârșitul din acest semestru este
că orice astfel de proiect trăi pe.
Și într-adevăr față de acest scop,
ceea ce ne-am gândit ce facem este face un pic mai interesant.
Și, de asemenea, un fel de oportunități Insight
pentru dezbateri în care pentru cele mai multe orice proiect pe care ne-am
ca o clasă aborda acest semestru,
vor fi două echipe atribuit la același proiect.
Ideea de bază este că ei nu sunt într-adevăr ar trebui
pentru a vorbi despre lor diverse decizii de design,
mai degrabă menit sa să fie mai mult de un concurs ca să
care pot produce în cele din urmă cel mai bun design, implementare.
Așa că la sfârșitul semestru, vin mai, vom livra un
și nu atât de aceste soluții.
Și noi, ca un curs va lua grijă de hosting și așa mai departe
astfel încât viețile voastre vechi pe la sfârșitul primăverii.
Ce aceste aplicații face?
Poate fi orice, ceva pentru un departament,
ceva pentru un grup de studenți,
ceva pentru elevii mai multe în general, care va fi parte
de conversație în săptămâna următoare
până când capul se arunca cu capul în primul rând
după cules un pumn unor astfel de proiecte.
În ceea ce privește personalul, să mi să introducă Tim și Rob
care ar dori să-l salut.
Și e tipii astia care pentru unul dintre proiectele vor fi -
pentru ambele proiecte va fi consilier principal.
În esență, pentru unul dintre proiecte, Rob va fi colectarea de
cu tine pe săptămână pentru aceste chat-uri.
Pentru unul dintre proiectele, Tim se vor aduna cu tine
pentru aceste chat-uri și vom schimba aproximativ la mijlocul-semestru
ca am de tranziție de proiecte.
Dacă vă place doar să vorbească aproape de acest microfon.
>> Salut, eu sunt Rob.
Am absolvit anul trecut de la [inaudibil].
Sunt preceptor la CS aici acum.
Entuziasmata de curs.
>> Si eu sunt Tim si eu sunt de fapt complet nou pentru zona.
Sunt originar din Philadelphia așa că am început să
aici câteva săptămâni Acum și eu sunt într-adevăr
în software-ul open source.
Am ajuta cu menținerea Proiect Backbone.js cazul în care unele
de s-ar putea să fie familiarizat cu
și eu, de asemenea, creat Bookshelf.js proiect
că David a fost menționat.
Deci, eu sunt încântat să a se vedea proiectele.
>> Într-adevăr.
Pentru mai multe informații cu privire Tim, cel puțin dacă te duci
la pagina de pornire a cursului și faceți clic pe numele său o va conduce
la depozit sa GitHub dacă v-ar place să se uite la unele
de open source lui instrumente și proiecte.
Deci, în termeni de clase, doar Pentru că asta este un FAQ chiar
în cazul în care un fel de tangent la viziune mai mare a unei clase,
Cum vor clasele finale fi determinate?
Deci, ce vom în cele din urmă fi destul de subiectiv Bazat
pe interacțiunile ne te de-a lungul -
cu dumneavoastră de-a lungul semestrului pe baza
pe contribuțiile dumneavoastră atât la depozitele de cod
și de conversații pe care le avem.
Și într-o coajă de nuci, se va baza
pe contribuțiile dumneavoastră la proiecte.
Delta dintre prima săptămână și săptămâna trecută.
Deci, nu vă faceți griji dacă vă avea doar patru cursuri
sub centura dvs. în timp ce unii alți studenți
în clasa ar putea avea opt,
vom continua cu siguranță faptul că, în minte.
Domeniul de aplicare, corectitudinea, proiectarea și stilul de proiect,
astfel încât aceste axe familiare.
Gradul în care vă se pregătească pentru întâlnire.
Deci, aceasta este într-adevăr menirea de a fi o oportunitate pentru noi
pentru a aduna săptămânal și au inteligent și distracție și de sortare
dezbateri de ideal emoționale.
La ori în cazul în care voi face propune modul în care s-ar putea rezolva
ceva și apoi a apăra ceea ce s-ar putea face și rolul lui Tim
și rolul meu și rolul lui Rob va fie pentru a vă provocare sperăm.
Astfel încât să fie posibil fi convins să plece
într-o altă implementare direcție sau pot fi siguri
si sa se simta destul de bine cu privire la faptul că, da,
crezi că ai cel mai bun implementarea posibil
pentru aceasta.
Deosebit și măsura nu va mai fi un alt lucru în echipă
pe același proiect de la propriul unghi individuale.
În ceea ce privește instrumentele, astfel încât aceasta va fi, probabil, de toate orele suplimentare
și sunteți bineveniți să folosească ceea ce este de interes
Pentru a pentru propria echipa intern.
Dar pentru cele mai parte, vom face uz
de un instrument gratuit numit Asana pentru managementul de activitate.
Veți vedea mai mult pe aceasta prin e-mail în zilele următoare
și este, în esență, un instrument de prin care puteți lucra spații
și proiecte de echipă.
Deci, în cazul în care proiectul dumneavoastră este de a pună în aplicare pe deplin [fonetică].
Cele patru membri ai echipei vor fie în interiorul de acest proiect,
în acel folder ca să spunem așa.
Și tu și vom fi capabili să atribui repere și pentru a face lui
și date și comentarii.
Și e bine pentru că e integrate cu e-mail.
Astfel încât să puteți sau nu pot vizita site-ul este complet până la tine.
Și puteți obține, de asemenea, un sens agregat
de ce oameni sunt de lucru și de a lua un sens
de ceea ce se întâmplă dincolo de propriul balon special
în cazul în care capul se duce în jos după un timp concentrându-se
pe un anumit lucru.
Pentru GitHub de asemenea, în cazul în care necunoscut, GitHub este unul
dintre cele mai populare, dacă nu cel mai popular depozit
acolo pentru sursa cod aceste zile.
Vom folosi ca o centrală depozit pentru fiecare echipă de patru
astfel încât să patru și apoi avem trei au acces la
și pot comenta în forma
de clienți de cod utilizând Interfață GitHub lui.
Dar vă vom introduce la care
dacă necunoscut atunci când vine momentul.
Și asta e doar o rapid o bucatica de Asana.
Privire rapidă la GitHub și acum permiteți-mi să pauză pentru orice întrebări.
Da.
[Inaudibil Întrebare]
Bună întrebare ce credem de Python sau Ruby cadre?
Acestea ar putea atinge aceleași obiective, în special.
Se întâmplă să utilizați PHP la 164 pentru că o mulțime
de web înainte de oameni experiențe iese din 50
care foloseste PHP chiar acum.
Dar absolut, ar putea oricare dintre aceste proiecte se face în Ruby,
Python, chiar Java sau alte cadre, Node.js cu siguranță.
Dar se întâmplă să utilizați PHP și se întâmplă să folosească Node.js
și vrem să standardizeze cele pentru ambele proiecte
astfel că este mult mai ușor ca o clasă
să aibă foarte similare conversații
și nu avea prea multe mere și portocale din clasa.
Chiar dacă vor exista marjă de apreciere atunci când vine vorba
la anumite suplimente în biblioteci pe care le-ar putea folosi
pentru fiecare dintre cei medii.
Deci, nu pretind că o este deosebit de bine
decât celălalt.
Și PHP are un fel de urât istorie, dar ea a devenit mai mult,
mult mai bine în ultimii ani.
Deci, ce se află în fața?
Nici temele sau orice astfel de alte lucruri in seara asta
decât pentru a vizita acest URL dacă într-adevăr de interes.
Vom posta link-ul pe site-ul
dacă ați uitat unde este.
Termenul limită pentru acest lucru se întâmplă să fie 18 miercuri
astfel că Rob și Tim si eu pot sta jos în acea seară
și revizuirea observațiile și dau seama cum cel mai bine
pentru a optimiza grupuri și așa mai departe.
Ne vom anunța de joi dacă nu am avut
la loterie și dacă avem un loc
astfel că voi putea obține Carduri de studiu semnat la figura
ce vrei sa faci.
Și, în același timp, în cazul în care aveți întrebări,
du-te la site-ul cursului.
Personal de e-mail la cs164.net.
Când ne vom întoarce, miercuri, acesta va fi în continuare acest format.
Dar probabil pornire la mijlocul saptamana viitoare sau săptămâna
după care ne impartim în grupuri mult mai mici
cu doar patru din tine întâlnire la un moment dat cu mine
și sau Tim și sau Rob.
Vă mulțumim foarte mult pentru echipa în spate astăzi.
Vă vom vedea miercuri.