[MÜZİK OYUN]
ROGER ZURAWICKI: Merhaba, benim isim, Roger Zurawicki olduğunu
ve ben kapsayan olacak CS50 Meteor seminer.
Meteor yeni çerçeve web yeni bir tür ayrılmış,
PHP isteklerini yapmıyor ileri ve geri tür
web biz PHPP sette gördüm ama daha dinamik JavaScript
ağ-yapının parçaları.
Şeyler Meteor yapabilirsiniz Canlı Güncelleniyor içerir
ve hemen iletişim Aynı web sitesinin kullanıcıları arasında.
>> Bu seminerde için, biz var kod benim GitHub de ev sahipliği yaptı.
Bu URL'ye gidin ve indirebilirsiniz.
Eğer Git nasıl kullanacağınızı biliyorsanız, Eğer depo klonlayabilirsiniz.
Eğer nasıl kullanılacağını bilmiyorsanız Kalk ya GitHub kullanılmış değil,
bu tamamen iyi.
Ben gerçekten hızlı bir şekilde size gösterecektir Biz GitHub gitmek nasıl,
ve bir seçenek var Orada bir zip indir.
Bu rehberi indir sonra, Bizim kodu ile oynamaya başlayabilirsiniz.
>> Meteor hakkında daha fazla bilgi meteor.com bulunabilir.
Seminer klasöründe, aslında kullanabileceğimiz bazı Meteor projelerimiz var.
Biz var klasörlerin biri bizim Seminer projesi todos app.
Yani ben onun içine giderseniz, Meteor yüklü.
Yani çalıştırmak için, ben sadece yazmanız gerekir Meteor ve Meteor kuracaktır.
Gördüğünüz gibi, biz var Biz Meteor yüklü emin olun.
Ben sadece gidiyorum Bir kez daha çalıştırın
yapmak emin Meteor düzgün yüklenir.
>> Ben Meteor varken yükleme, ben size gösterebilirim
Meteor bazı sitelerin canlı demolar internet üzerinden hemen canlı gidiyor.
Ben bizim app bir demo var.
Aşağıdaki URL adresinden erişebilirsiniz.
Bu uygulama yapmak olduğunu biz Bizim seminer dizinde var.
Bunun için URL rozu-rabbit.meteor.com.
Göreceksiniz ki Meteor aslında olacak ücretsiz Meteor projelere ev sahipliği.
Ve seminerin sonunda, siz de bunu yapmak mümkün olacak.
>> Bu liste uygulaması yapmak için bir olduğunu.
Ve oturum açabilirsiniz oluşturmak hesapları ve görevler ekleyebilir.
Sen şöyle bir hesap oluşturabilirsiniz.
Ve şimdi, bir zamanlar bir var Hesap, görevleri ekleyebilirsiniz.
Örneğin, görevlerinden biri ben benim çamaşır almak gitmek gerekebilir.
Ve sen bu iseniz Siteye çevrimiçi, sen olacak
Aslında bu görevi görmek Gerçek zamanlı olarak bilgisayar.
>> Ben size hızlı bir demo gösterebilir Açılış Rozu-tavşan bu
Aynı URL'ye sahip başka bir sekmede.
Ve biz aynı veri çıkageldi görüyoruz.
Biz de çalıştırabilirsiniz Farklı bir tarayıcı.
Ben Safari'de çalıştırın söyle.
Biz açmış değiliz Bu şekilde.
Bu yüzden aynı Meteor var app ve yükler kez,
Aynı veriyi görürsünüz ilk biri yaptı.
Gördüğünüz gibi, ben burada açmış değilim.
Ve ne zaman seyirci kontrolleri veri, tüm tarayıcılarda günceller
aynı zamanda.
Bu gerçekten biridir Meteor hakkında serin özellikleri.
Neredeyse hiç çalışma ile, canlı güncelleme uygulaması var
bütün bunlar üzerinde değişiklikler kerede cihazlar.
>> Ben burada onay kutusunu işaretlerseniz Benim yapmak listesinde, biz sahip olacak,
Benim diğer Chrome tarayıcısında, öğe off kontrol.
Ve bu anında olur.
Tamam.
Yani Meteor gibi görünüyor Kurulum artık hazırdır.
Şimdi en geri dönelim todos uygulaması bu yerel çalıştırın ve.
>> Bir Meteor projeniz varsa, yapabilirsiniz sadece komut Meteor ile çalıştırın.
Eğer bu, Meteor yaptıktan sonra Bazı hazırlık yapacak
tüm emin olmak için kod kontrol altında olduğunu.
Ve sonra o size anlatacağım Proje hizmet için hazırdır.
Sen izin gerekebilir senin güvenlik duvarı, bilgisayar blokları eğer.
>> Peki Meteor bana anlatıyor Şu anda bu web sitesinde yer almaktadır
benim bilgisayar yerel, ben görebiliyorum Bu Meteor projesi nedir.
Şu anda, benim app olduğunu unutmayın internet erişilebilir değil.
Biz Meteor getirmek için nasıl ele alacağız Biraz sonra canlı siteye uygulaması.
Yani sadece bu kopyalamak için gidiyorum URL şimdi ve Google Chrome gidin.
>> Ve bunu yapmak için Örneğin gelen listeler.
Onların hayata görebilirsiniz Burada bir kaç daha fazla özellik.
Biz, farklı sekmeler var Aynı hesap özelliklere sahip,
ve biz yeni listeleri ekleyebilirsiniz.
Şimdi, biri gerçekten Meteor hakkında serin özelliği
değil sadece can bu Web tarayıcınızda çalışmak,
ama aynı zamanda oluşturabilirsiniz yerel iPhone ve Android
PhoneGap adında bir araç ile uygulamalar.
>> Yani bazı projeler gelecek çalıştırmak için önceden yapılandırılmış
Bu todos uygulaması gibi iOS üzerinde.
Yani yapmam gereken tüm iOS onu çalıştırmak için sonra Meteor, koşmak, ve iOS yazın edilmektedir.
Ve ben Meteor, bunu yaparken Tekrar paketi hazırlayacaktır.
Hazır olduğunu bir kez ve sonra, bu olacak Benim komuta iOS simülatörü yükleyin.
Yalnızca iOS uygulamaları çalıştırmak Not eğer Mac bilgisayarınız varsa.
Üzerinde uygulamalarınızı çalıştırabilirsiniz Tüm platformlarda android.
>> Peki şimdi benim iPhone görebilirsiniz Simülatör benim ekranda geldi.
Ve sadece bir an, bu uygulaması ile yük olacak.
Biz sadece biraz yaparsanız küçük, ekrana sığmayacak
biz bizim iPhone uygulaması var bakın.
Ve sadece biz değil karışık, en yapalım
Aynı üzerinde olduğundan emin olun Web sitesi, yerel ana bilgisayar 3000.
>> Yani burada bir örnek Ben Meteor app,
hem çalışan todos uygulaması, Bir telefon ve bir web tarayıcısı üzerinde.
Ve ben bir şeyler değiştirmek zaman Web tarayıcısında,
hemen telefona gidiyor.
Ve ben telefonda bir şey silebilirsiniz, ve web tarayıcısında değiştirir.
>> Şimdi, normalde yerli oluşturmak için iOS veya Android telefon uygulaması,
Java veya birini bilmeniz gereken Amaç C. teknolojisi Meteor kullandığı
JavaScript gibi çalışmasına izin vermek için app PhoneGap denir.
Ne uygulaması esas bir web tarayıcısı.
Ve Meteor bütün kolları katılan zor parçalar
bu web tarayıcısı getirmek için iPhone veya Android cihazınız.
Bunu görebilirsiniz Kullanıcı arabirimi, pürüzsüz
ve görünüyor ve çok hissediyor çok doğal bir uygulama gibi.
Ben eve gitmek olduğunu fark ederseniz Ekran şimdi, ben de bir simge olsun.
Bu gibi bir web sitesi değildir Safari bulmak istiyorum.
Bu kendi app.
Sen yükleyebilirsiniz ve Eğer isterseniz silin.
>> Size ne kodu göstermek kısaca edebilirsiniz todos bu tür uygulama gibi görünüyor.
Eğer todos klasöründe bakarsanız, birçok klasör vardır göreceksiniz.
Ama tabii boyunca Seminerin, biz olacak
Her klasör için kullanılan anlamak.
Terminal içine gidelim bu yüzden biraz daha iyi dosyaları görebilirsiniz.
>> Ben Kontrolü basın gidiyorum C, sunucuyu durdurmak için
ve şimdi geri todos app değilim.
Ben gibi, burada farklı klasörler var istemci klasörü, sunucu klasörü.
Ve bu klasörleri sadece anlamına istemci klasöründe şeyi
Web tarayıcınızda idam alır.
Bir sunucu klasörüne herşey Bir sunucu üzerinde çalıştırılmaktadır.
>> Ben işaret etmek istiyorum neler dışarı biz ne vardı ki
bizim telefon çalışan vardı ve Bizim web tarayıcı, bu istemciler vardı.
Ama ne bir çalışan var Terminal, bu sunucu var.
Bizim gibi, diğer klasörleri kütüphane kodu lib,
senin gibi yardımcı fonksiyonları yapabilirsiniz
istemci hem de sunucu kullanmak.
Ve sonra bir kamu var Klasör ve kaynakları
almak için gerekli klasör Resimlerinizi ve diğer CSS yüklendi.
>> Eğer Meteor kurduysanız, biz olacak Meteor öğretici ile devam ediyor.
Sen, bu URL'ye gidebilir meteor.com/install,
Komut satırı almak için ben Meteor yükler olduğunu gösterdi.
Biz ilk yoluyla gidecek birkaç adım daha iyi olsun
Meteor yükleme hakkında hissediyorum.
>> Ama önce, ben o kadar önemli olduğunu düşünüyorum Biz JavaScript biraz gözden.
Size nasıl bazı örnekler göstermek için Bizim C bilgisi tercüme edilebilir
JavaScript, ben oldum Birkaç örnek oluşturdu.
Onlar js dizinde bulunmaktadır.
Seminerler sizi klasörü eğer Yani js adında bir klasör var, bak.
Ve burada, biz birkaç örnek var.
>> Ilk açalım örnek ve çok hızlı bir şekilde bakın.
Gördüğümüz standart olduğunu Dünya komutunu merhaba.
C fark olduğunu epeyce çizgileri var.
Ve CS50 öğrenciler bildiğiniz gibi, Biz ana işlevi gerekir,
ve biz standart içermek zorunda I / O printf aramak için kütüphane.
>> JavaScript karşılaştırır nasıl bakalım.
Ben ex1.js. açmak için gidiyorum
Dışarı yorumladı ne olduğunu Kod gibi görünecektir C,
ve aşağıdaki satırı hepsi Eğer düğüm çalıştırmak gerekir.
Sen, sen bir ana işlevi gerekmez herhangi bir dosya eklemek gerekmez,
ve iade gerekmez.
Sadece console.log diyoruz.
Bu printf eşdeğerdir.
>> Ve aynı alır argümanlar olur printf.
Ve onu çalıştırmak için, yerine EX1 yapmak çalışan,
Sadece Düğüm ex1.js. çağırır
Daha sonra Düğüm yazmak ve Dosya, ve koşmak olur.
Bu derlenmiş almaz.
JavaScript yorumlanmış bir dildir.
Yani olması gerekmez o çalıştırılır önce derlenmiş.
Ben ex1.c çalıştırmak istedim, Ben, önce onu yapmak zorunda
ve sonra yürütülebilir çalıştırabilirsiniz Aynı çıktıyı almak için.
>> Let en hızlı bazı kapak Diğer JavaScript kavramlar.
En örneğin iki bakalım.
Ex2.js ise, ex2.c olarak, biz bazı kod var olduğunu görüyoruz.
Beni hızla gidelim Daha iyi bir metin editörü
Bu, bu gösterecektir Yeni hatlar biraz daha iyi.
Tamam.
Burada örnek 2.c. var
Burada farklı türleri var biz yazdırarak ediyoruz.
Bildiğimiz gibi, printf alır Farklı yüzde argümanlar
farklı veri parçalarını erişmek için.
Biz yazdırmak istiyorsanız Bir dize, biz% s diyoruz.
Biz yüzer aramak istiyorsanız, nokta sayısı, biz% f çağırdı.
Ve bir çağrı için kolay bir yolu var Onun doğru veya yanlış değerine göre boolean.
% D kullanmak Ama eğer alabilirsiniz 0 ya da yanlış ve gerçek bir 1.
>> Javascript bizim için biraz daha güzel.
JavaScript, en az bakalım farklılıklar bu dosyada var.
Öncelikle, C biz var olduğunu fark bir tür her değişkeni başlatmak.
S karakter yıldızdır.
Bu bir dize, ve o başka bir türü olamaz.
N şamandıra olduğunu.
B Bool olduğunu.
>> Ama JavaScript, Dinamik türleri vardır.
Yani yok demektir JavaScript söylemek gerekir
senin değişkenleri ne olacağını türleri.
Sadece söylemek değişken için var, ismi değişken ve daha sonra değeri.
Yani var gerçekten bir şey olabilir.
Bu bir dize olabilir.
Bir kayan nokta sayı olabilir.
Bu bir karakter olabilir.
Bir Boolean olabilir.
Ve konsol günlüğü biraz farklı çalışır.
Eğer yazdırmak istiyorsanız Bir numara,% d diyoruz.
Ama en değerleri olabilir sadece iyi dizeleri olarak yazdırılır.
>> En Düğüm bu çalıştıralım ne olacağını görmek için.
Ben, Düğüm ex2.js arayabilirsiniz ve biz printf olsun
değerleri CS50, N ile birlikte kayan nokta sayısı,
ve daha sonra Boolean olarak B Gerçek bir dizeye dönüştürülür.
Ne örnek 2.c yaptıysanız hakkında?
Peki, biz hala bazı var printf daha can sıkma.
Dikkat kayan nokta olduğunu numara doğru biçimlendirilmiş olması gerekir,
ve Boolean sadece yapamam doğru veya yanlış olarak görüntülenir.
Tamam.
Şimdi örnek üç bakalım.
Örneğin, üç, biz gösteriyor Eğer döngü için bir kullanmak nasıl.
Aslında, çok basit.
Hakkında güzel şeylerden biri JavaScript C tabanlı olmasıdır.
Bu demektir ki bir sürü senin Kod çok benzer bakacağız
ve çok aynı hissediyorum.
Bir döngü için, tek şey gerçekten burada değişti
yerine int i, biz i var dosya.
Biz hala değer atayabilirsiniz Sıfır, bu beşten az olduğunu kontrol edin
ve tek bir artıracaktır ++ operatörü ile.
Biz i üzerinde console.log diyoruz, ve bu Bize her hattı ile bir numara basacaktır.
En hızlı gerçekten çalıştıralım bu çıkışları görmek için.
Her satırda yeni bir numara almak.
Başka bir şey seni istiyorum console.log ile fark etmek
Eğer yazmak yoktu olduğunu Yeni hat için ters eğik çizgi n.
Console.log basacaktır kendi satırında her şey.
Bu güzel bir özellik var JavaScript bize verdiği.
>> Şimdi örnek dört kadar açalım.
Örneğin, dört, birinci C, biz birkaç fonksiyonları çağırıyor.
Biz bildirmek zorunda olduğunu fark fonksiyonlar ana bunları kullanmadan önce.
Biz ise ana birinci ve Daha sonra ekleyin ve sonra yüksek, yapmak,
clang veya GCC olur Bize söyleyerek bir hata verir
yüksek ne bilmiyor.
Bu ne eklenti bilmiyor.
C Yani, konusunda seçici olmak zorunda Eğer işlevleri çağırmak sırası.
>> Nasıl yapabilirsiniz de Yapalım bakmak JavaScript bunu.
Biz farklı dosyaları var orada çünkü Bunu yapmak için birkaç farklı yolu vardır.
Tek yönlü oldukça fazla doğrudan bir çeviri.
C fonksiyonlar için dönüş türleri, ve JavaScript
Gerçekten bilmek ya da bakım değil Eğer geri tipi ne,
Eğer bir türü yazmıyorsun.
Bunun yerine, sadece ihtiyacınız işlevi yazmak,
ve her şey güzel daha önce aynı çok.
>> Eğer gibi bir değişken, varsa biz sadece x ve y yazmak gerek, ekleyin.
Biz x, int olduğunu söylemek gerekmez.
Biz y bir int olduğunu söylemek gerekmez.
Biz aynı sözdizimi ile dönmek.
Yüksek için, biz bunu beyan yerine void işlev.
Dikkat olsun ki o, geçersiz veya non-boşluk var
hala aynı işlevi var.
Ve biz sadece koymayın Parantez içinde bir şey
ve C kodu çok benziyor.
Ve aşağıda, biz aşağıya arayabilirsiniz.
Biz örnek 4b bakarsak >> biz fark ben bir kaç şey değişti ettik.
Ben değiştim tek şey Gerçekten olsa emirdir.
Aynı var fonksiyonlar, ama şimdi onlar konum
onlar kullanılan konum sonra ilan console.log ve hatlar 18, 19, yüksek.
C Bu yaptıysak, Bir hata atmak olun.
İşte, bu gayet güzel çalışıyor.
Ve ben size bu gösterebilirim 4b örnek üzerinde düğüm arıyor.
Biz işlevleri çağırabilirsiniz >> başka bir yolu değişkenler olarak işlevlerini kaydederek olduğunu.
Sanki bir değişken, dedi Her türlü olabilir.
Değişken türlerinden biri sahip bir fonksiyonudur.
Örneğin bakarsanız Yani Ben değiştim ne 4c,
Burada var yerine fonksiyon eklenti ekleyin.
Ve şimdi bir işlev eşittir ekleyin.
Burada bu fonksiyon anonimdir.
Bu adı yok, bu yüzden sadece var fonksiyonu ve daha sonra parantez.
Bundan sonra sözdizimi değiştirmek, ama sen değil
akılda tutmak zorunda olduğunu Eğer sen bir değişken var
add içine fonksiyonu saklamak ve yüksek içine depolamak değişken.
>> Çünkü eklemek ve yüksek şimdi değişkenler ve fonksiyonlar, bir şey değişir.
Bu benim görmek yaygın bir hata İnsanların JavaScript'ler bir sürü,
ve bir şey akılda tutmak.
Ben bu çalıştırdığınızda, en ne görelim.
Ben bir hata alıyorum.
Bu noktada tanımsız söylüyor.
Yani onu söylüyor olduğunu eklemek ne olduğunu bilmez.
>> Şimdi eklemek için bir değil fonksiyonu, eklediğiniz bir değişkendir.
Ve aslında vermediyseniz Eğer kullanıldığında henüz bir değer ekleyin.
Bu nerede olursa örnek 4d, bize getiriyor Eğer işlevleri gibi değişkenleri kullanmak istiyorsanız,
Sadece emin olmak gerekir onlar onlar alıştığınız önce değeri olsun.
>> En sonra, örneğin beş geçelim.
Burada, biz hakkında konuşmak C C'de yapılar, yapılar
Onlara bu sabit bir yapıya sahip Bunları bildirmek zorunda çünkü
Bunu kullanmadan önce, ve Eğer ben bir öğrenci var ki,
ve her öğrencinin tam sahiptir bir isim, bir yıl, bir cinsiyet.
Bu hepsi sahip olması.
Bu başka değerlere sahip olamaz, ve belirli türleri olmak zorunda.
>> Sonra başlatılamıyor Bu güzel sözdizimi yapı
bu düzeni bilir çünkü.
Yani Roger isim olduğunu bilir.
2016 bir olduğunu bilir yıl ve M cinsiyet olduğunu
biz bu söyledim çünkü Liste bir yapı öğrencisi.
Ve sonra yazdırabilirsiniz Bu, s.name erişmek.
Nasıl olur bakalım JavaScript bu dönüştürmek.
Şimdi bir olduğunu s edin Değişken ve hiçbir türü var.
Yine sadece bir var var.
O eğer önemli değil, çünkü Bu değişken türü, bir gösterici
Bir yapı ya da başka bir şey var.
Biz biraz farklı bir sözdizimi vardır.
Bu sözdizimi nesne sözdizimi.
>> Siz JSON bunu görmüş olabilir.
JSON aslında açılımı JavaScript Object Gösterimi.
Bu tanımlamak nasıl JavaScript nesneleri.
Biz hangi bir anahtar var adı gibi değer.
Ve biz üzerinde değerleri vermek kolonun diğer tarafı.
Ve akılda tutmak için bir şey sensin Bir isim ve bir yıl olması gerekmez
ve bir nesne için bir cinsiyet.
Bir nesne yok değerlere sahip olabilir.
Bu istediğiniz gibi birçok olabilir.
>> Biz sadece bu nesneleri kullanabilirsiniz Aynı şekilde biz, s.name bir yapı kullanmak istiyorum.
Biz hızla gerçekten çalıştırabilirsiniz Düğüm örneği 5.c. yaparak
Biz aslında düğüm bir C dosyasını çalıştırın olamaz.
Bu, C nedir bilmiyor.
Sadece JavaScript bilir.
Biz ex5.js çalıştırdığınızda, biz olsun Biz beklenen değer.
>> En örnek altı geçelim.
İşte ben biraz konuşmak istiyorum JavaScript diziler hakkında biraz daha
Onlar biraz çünkü sen ne daha farklı
C. Diziler notaya edilir olarak kullanılan, değil C gibi parantez ile,
kaşlı ayraçlar, ancak parantez ile.
Boş bir dizi olabilir, hat dört arr gibi.
Siz diziler olabilir Birden değerleri ile.
Ve onlara erişmek C sadece aynı şekilde
>> Kadar yedi hat, her şeyi Oldukça basit görünüyor.
Bir küçük fark hattında 10 de burada.
yolu bir uzunluğu olsun Dizi sadece .length arayarak olduğunu.
Bir dizi aslında olabilir Bir nesne gibi muamele,
ve bu nesne uzunluğu özelliğine sahip bunun uzunluğunu almak için çağrı söyledi.
Bu farklı olduğuna dikkat edin C, çünkü C Eğer
uzunluğunu bilmek zorunda vaktinden nesne.
Diziler hakkında >> Yani bir başka güzel bir şey Eğer farklı olabilir olmasıdır.
C bir dizi varsa, orada Belirli bir değer diziler,
Bir yapı işaretçi ya veya [duyulamaz] yüzer veya.
Burada, farklı değerlere sahip olabilir.
Ben ilk kayan nokta sayısı vardı, daha sonra bir Boolean, sonra başka bir tamsayı.
Ve aslında, onlar da türlerini değiştirebilirsiniz.
Hat 16 bak.
Dizi iki olmaktan değişiyor Bir dize bir sayı, bir tamsayı.
>> Diziler hakkında güzel bir şey burada hat 19, onlar sonsuz boyutu var.
Sadece ben yüzüncü istiyorum söyleyebilirim eleman okunaklı dize olmak.
Ve bu yapmak için görünmüyor anlamda nedeniyle dizisi yalnızca
üç unsur için yer vardır, böylece son iki olmalıdır.
Bunu yaparken Ama, diyelim Üç olur ne dizisi bakın.
Biz hızlı bu aday olacağını Düğüm örneği six.js. ile
Biz bu gerçekten uzun olsun Dizi, ve ne olur
İlk birkaç unsurları var olan boşlukları ve daha sonra bir demet
kadar bizim dize olsun.
JavaScript doldurur Dizi ihtiyaç duyulan gibi.
>> En nihayet son örnek gidelim.
Burada bir liste var Farklı öğrenciler.
Biraz konuşmak istiyorum bazı güzel yönleri hakkında biraz
ve JavaScript döngüler için.
C, döngüler için bir tür sınırlıdır.
Onlar, nereye sabit bir yapıya sahip Bir değişken, bir şartım var,
ve sonra bir şey yapmak döngünün sonunda.
Ve tabii ki bu, JavaScript çalışır Daha önceki örneklerde gördüğümüz gibi.
Ama biz de güzel yollar var ve JavaScript yapıyor.
Bu bir foreach döngüsü denir.
>> Üzgünüm, geri dönelim Burada örnek yedi.
Biz de bölüm liste olduğunu söyleyebiliriz.
Yani beni her i verebilir veya Bu listedeki her dizin.
Sonra öğrenci alabilirsiniz Sadece i bölümünü arayarak.
Yani ayar i tüm kodu sıfıra eşit ve emin i yapma
olan uzunluğundan daha az ve i bir her zaman ekleyerek, işte
yerine dikkat çekici güzel bu foreach döngüsü ile.
>> Sadece foreach döngüleri yapmak listeleri veya dizilerde çalışmak,
aynı zamanda nesne çalışır, hangi da güzel.
Sen adını alabilirsiniz Sadece alarak her özellik
Bir sözlük ya da bir nesne, öğrenci gibi, ve sonra bana her tuşu ver diyerek.
Bir anahtarı, bu olurdu özellikleri, isim veya ev.
Yani burada ne olacak ne olduğunu ilk adı ve sonra çıktı
Her öğrenci evi.
>> Ben Düğüm bu çalıştırabilirsiniz Gerçekten hızlı bir şekilde göstermek için.
Biz ilk döngü, C tarzı olsun her nesne dışarı yazdırılan olsun.
Ve sonra JavaScript var stil, burada sadece can
Her tuşa basmak ve ayrı ayrı değer.
>> Tamam.
Şimdi node.js kapalı ettik, sanırım Biz Meteor ile başlamak için hazırız.
Dediğim gibi, Meteor büyük bir iş yaptı Bazı hazır örnekler yazma
sizin için içinden keşfedebilirsiniz ki Bu öğretici veya seminer klasöründe.
Ama burada ben istiyorum sıfırdan daha başlangıç.
>> Başvurusunu yapmak için basit bir yaratalım.
Bu ne tabanının tür Ben ise daha önce gösterdiğim uygulama yapmak.
Bu eğitimde, sen var olduğunu göreceksiniz
Bir komut Meteor oluşturmak Yeni Meteor projesi oluşturun.
Siz sırayla bu aramak gerekir Meteor projeleri çünkü o çalıştırmak için
komutları çalışacak Meteor oluşturmak için
Projeniz için gerekli dosyaları.
>> Eğer terminale gitmek, biz adım bir adlandırılan klasör içine gidin.
Ve bir karşılık olacak adım öğretici ilk adım.
Uyarı klasörler, adım vardır bir, adım, iki, beş, tüm yol.
Ve her biri karşılık gelen bir Bu öğretici bir adım.
Bunu açmak için gidiyorum Burada benim metin editörü
bu yüzden yaratılmış ne biraz görebilirsiniz.
Biz fark orada dört ana parçalar vardır.
Bir Meteor dizin .meteor var.
Ve size genellikle dokunmak gerek yok.
Meteor ilgilenir Bu klasör, ve sadece
emin kılar senin Proje düzgün çalışacaktır.
>> Biz de, üç dosya, bir HTML dosyası var Bir JavaScript dosyası, ve bir CSS dosyası.
Ilk HTML dosyası ile başlayalım.
İlk bakışta, bu görünüyor Normal bir HTML belgesi gibi.
Ama fark bazı farklılıklar vardır.
Bir, bu değil aslında Tam bir HTML belgesi.
Biz HTML etiketleri kaçırıyorsun.
Bu normaldir.
Meteor olarak, beklenen değilsin Bu HTML etiketleri oluşturmak için.
Bu sizin için bitti.
Sen eğer begin-- istiyorum Bir web sitesi oluşturmak istiyorsanız,
Sadece başlamak gerekir Baş etiketiyle,
o tanımlamak ve Vücut etiketini tanımlamak.
>> Ama bu fark varsa HTML dosyası, yeni bir etiket var.
Biz şablon etiketine sahip.
Bu normal bir HTML değil.
Bu HTML özel bir versiyonu Meteor sizin için kullanılabilir yapar.
Bu uzay barlar denir.
Seni küçük gibi şablonları tanımlayabilirsiniz tür yardımcı fonksiyonları gibi modülleri,
senin C veya JavaScript kodu.
Bu şablon olur Görev adında bir isim var.
Ve on line burada görebilirsiniz 13 Bu şablonları çağırabilir.
Ve ne Meteor yapacak sadece bir sizin için bu görevleri doldurun.
>> Eğer fark edebilirsiniz başka bir şey değildir biraz farklı bu her fonksiyondur.
Her değişken alacak görevleri ve tür onu geçmesi
Bu foreach döngüsü biz de Örnek yedi gördüm.
Bu, her bir sözlük alabilir veya bir liste, bir nesne veya bir liste,
ve sadece tüm aracılığıyla gidersiniz Bir foreach döngüsü gibi değerler olur.
Bu yüzden görevleri bir sürü varsa, bu Her görev şablonu arayacak.
>> En Meteor projeyi çalıştıralım sadece bu durumda olduğunu görmek için.
Ben Meteor projeyi çalıştırmak Sadece Meteor veya Meteor çalıştırın.
Ve şimdi Meteor sadece ihtiyacınız olacak hızlı projeyi hazırlamak,
Gerekirse veritabanını başlatmak, ve daha sonra lokal uygulamayı sonrası.
Şimdi bizim web tarayıcısı gidebilirsiniz.
Ve biz bu biz görürsünüz çok basit bir uygulaması var.
Bu yüzden gösterdi gördüm aslında ne oldu adım bir adım bir dosya.
>> En iki çünkü adıma geçelim Ben aynı amaca hizmet olacağını düşünüyorum.
Ben sadece değiştirmek için gidiyorum adım, iki dizine
Gördüğümüz böylece tekrar Meteor çalıştırın Şablon biz sadece çalıştı.
Evet, bir soru?
>> İZLEYİCİ: Biz alıyorsanız izni inkar, onu ne ki- olduğunu
Bunun için çağırdı?
ROGER ZURAWICKI: Eğer Eğer, Meteor çalıştırmak koşuyoruz
ve izniniz var reddedildi, bazı dosyaların
Sağ izin kümesi olmayabilir.
Yani nerede kontrol etmek zorunda izinleri kapalı.
Onlar kapalı olabilir senin Meteor projesi,
ya da kapalı olabilir Meteor kendilerini dosyaları.
>> İZLEYİCİ: Ben şimdi bunu indirdiyseniz senin GitHub, o zaman ben ne yapmalıyım
[Duyulamaz]?
>> ROGER ZURAWICKI: Eğer isterseniz Bunu erişebilirsiniz emin olmak için,
çalıştırabileceğiniz bir komut var.
Hızla bana izin ver dışarı yazmak bu nedenle diğer insanlar görebilirsiniz.
Ben burada yeni bir sekme açmak için gidiyorum ve benim seminer klasörüne gidin.
Chmod komutu izinleri değiştirmek için,
bunu için ve r söyleyebiliriz yinelemeli her dosya için.
Ve izinleri, sen 0755 deneyebilirsiniz Eğer tam erişime sahip emin olmak için,
ve herkes okuyabilir.
Ve sadece çalıştırırsanız Bu komut, o yapacağız
Emin izinleri vardır Bütün dizine kontrol edin.
-L ls Koşu size gösterebilirim daha ayrıntılı izinleri.
Bu Tamam görünüyor.
>> Ne en önemli olmasıdır Eğer üçünü var
tüm dosyaları için rwx Seminer dizini.
Bu sorunu çözdü mü?
>> İZLEYİCİ: Bu eksik diyor edimsel [duyulamaz].
[Duyulamaz]
ROGER ZURAWICKI: Sen emin olmak gerekir
senin komutun sonunda bir nokta var.
HEDEF KİTLE: [duyulamaz].
ROGER ZURAWICKI: Pekala.
Bize hızlı geri dönelim Yerel ev sahibi, biz app.
Ve biz bir olduğunu göreceksiniz beklendiği gibi burada birkaç görevler.
Biz CSS bir grup, sahip olduğu hakkında endişelenmenize gerek yok.
Meteor öğretici sadece sizin için bu verir
Liste bakmak a yapmak için, sizin yapmak Düz HTML daha güzel biraz.
Ve biz JavaScript dosyasını, var olan Ben, biraz sonra daha detaya gidersiniz
ama sadece bu görevleri sağlar.
Bu görev biridir.
Bu görev iki.
Bu görev üçtür.
Yani bu Meteor en alıyorum veridir.
>> Serin şeylerden biri Meteor ilgili değişiklikler otomatik olabilir ki.
Ben değiştirmek istedim İlk görevin adı,
bu yüzden bu değil söyleyebilirim Görev biri, ve bunu kaydetmek,
Ben web gidin, sonra ne zaman Tarayıcı, bunu yenilemek olabilir,
ve otomatik diyor Bu bir görev değildir.
Aynı şeyi yapabilirsiniz Bu dosyalardan herhangi.
Bir değişiklik yapın, yerine yapılacak Liste, ben benim liste yapmak zorunda kalacaktır.
>> Ve bir şey, sadece fark, ben bile yenilemek için yoktu.
yenilenme fikri tür ve Meteor sizin için çözüldü.
Dosya değişiklikleri algılar zaman, Sizin için değişiklikleri yükleyecektir.
Bu ister, tüm dosyaları üzerinde çalışır HTML, CSS, JavaScript veya var.
Bu uygulama görüneceğini göstermek için gibi CSS olmadan, ben hepsini kaldırabilirsiniz.
O yeniden ne zaman Ve, şimdi var Bir değil güzel görünümlü liste yapmak.
Geri içeriğin koyalım.
Ve elbette ki, onu yeniler, ve bizim CSS geri döndü.
Büyük.
>> Şimdi öğretici ile hareket edebilirsiniz.
En adım, iki, şablonları hakkında konuşalım.
Bu sadece gördüm ne Farklı görevler ile.
Meteor size açıklayacağım ne şablonlar ve nasıl bu mantık çalışır.
Ama sadece kod bakalım biz onu dışarı mantıklı olmadığını görmek.
>> Çok basit uygulamalarda, Biz basit ne var gibi
adım bir adım, iki adım, yapmak üç, dört adım, adım, beş,
Biz herhangi bir klasör yok.
Biz sunucu yok Klasör bahsettiğim.
Biz müşteri yok sözü edilen klasör.
Yani Meteor tüm dosyaları çalışır.
Bu onu hem edeceğiz İstemci, sunucu üzerinde hem.
>> Ve sen JavaScript bölümlerini istiyorsanız kod, sadece istemci üzerinde çalıştırmak için
onlar emin olmak gerekir Bir açıklamada ise, tür ne gibi
Biz burada bizim JavaScript dosyasında var.
Böylece meteor, yalnızca O zaman, istemci var ben
Bir şablon tanımlamak istiyorum yardımcı denilen görevler.
Ne bu kod gerçekten Does orada diyor olduğunu
Bir nesne olarak adlandırılan şablon Bu meteor içerir.
Ve biz bir yardımcı eklemek için gidiyoruz.
Yardımcılar bu görevler, görevler gibi bu işler.
>> Siz görürsünüz biz geri gitmek eğer HTML dosyası, biz görevler her çağırdı.
Görevler HTML tanımlı değil.
Bu JavaScript tanımlanan oluyor.
Ve Meteor hangi görevleri olduğunu bilmesi gerekiyor Burada JavaScript gittiğinizde.
Görevler bu yardımcısıdır.
Yardımcı, aklınıza Bir şablon değişkeni olarak.
Ve görevleri ne yapar?
Peki, bu değerler listesini verir.
Bir liste Çünkü, biz her çağırabilirsiniz.
Biz görevler her diyoruz yüzden bu.
Ve şimdi görev var.
>> Görevi ne yapar?
Peki, bu ok vardır Burada kaşlı ayraçlar sonra.
Bu görev, bir şablon olduğu anlamına gelir.
Bu, bir yardımcı değil biz sadece ne gördüm gibi.
Biz tanımladığınız bir şablon var.
Ve nerede tanımladığım?
Biz burada altına tanımladığınız.
>> Tüm bu şablonu oluşturma does Bir liste öğesi, ve metin çağırır.
Şimdi, metin gibi görünüyor yardımcı, ama ben size göstereceğim
Bu aslında hala olduğu görevleri bir veri üyesi.
Her çağırdığınızda, gider veri yapısı biraz.
Foreach döngüsü gibi, artık sadece görünüyor Bizim nesnenin ilk elemana.
Biz o metin görmek Bizim nesne olarak tanımlanmıştır.
Yani Meteor olduğunu bilmek akıllı Biz bu metin hakkında konuşuyor
değil metin denir yardımcı.
Sadece bu değeri alır Burada metin ve HTML gibi görüntüler onu,
ve bu verilerin nasıl gidiyor bulunuyor HTML, JavaScript den.
>> Bu örnekte, ama üzerinde hareket biz zor bu değerleri kodlanmış.
Meteor gerçekten iki yapar Bizim için güzel şeyler.
Canlı refresh yanında biz gösterdi, o da bizim veritabanı yönetir.
PHP ile çalışmak olsaydı, Eğer phpMyAdmin'i yapılandırmak zorunda.
Emin yapmak zorunda senin tablolar, tüm çek vardı.
Sen yapmak için bir sürü iş yapmak zorunda , veri doğru biçimlendirilmiş emin
ve PHP onunla iletişim kuramadı.
>> Şimdi, Meteor yeni bir paradigma kullanır.
Bu, daha modern bir yoludur bir veritabanı taşıma.
Bu MongoDB adında bir teknoloji var.
Sadece JavaScript gibi, biz öyle gördüm veri vardı ne tür önemli değildi.
Her şey bir var oldu.
Bu charstar değildi.
Bu bir int değildi.
Bu yapı değildi.
O var, sadece bu var oldu.
>> MongoDB aynı şekilde bir tür çalışır.
Sen tablo tanımlamak zorunda değilsiniz.
Bir tablo söylemek zorunda değilsiniz Bir int olan bir isim vardır.
Bu, bilmiyorum, bir var ondalık olan dolar.
Bu, sadece bu JavaScript nesneleri var Tüm bu değişkenler, esas olarak.
Ve bu gerçekten güçlü app prototip yolu.
Ve bu yüzden Meteor Bu yararlanır.
>> Biz üç adım giderseniz, en nelerin değiştiğini görelim.
Biz todos HTML bakarsak, çok değil.
CSS hiç değişmedi.
Ancak küçük değişiklik, HTML görmek görevler tanımlanır nasıl değiştirdik olduğunu.
Görevler artık bir işlevdir.
Yani her demektir Biz görevleri almak istiyorum zaman,
Bu işlevi çalıştırmak için gidiyoruz.
Bu dönmez bir değer olarak işlev görür.
>> Meteor aslında çalıştırmak için akıllı Fonksiyon biz ne olsun görmek için.
Ve görevleri denilen bu şeyi verir.
Biz, birinci hatta görevleri tanımlanmış ettik ve bir Mongo koleksiyon.
Mongo için başvuran meteor kullanır veritabanı
ve bu yeni sadece en yapalım anlamına gelir yeni bir koleksiyon, o görevleri diyoruz.
MySQL, bu eşdeğer olacaktır tablo adı verilen görevler arıyor.
Mongo koleksiyonları, değil tablolar vardır.
Yani bu sadece görevleri arar.
Içinde >> Şimdi, şablon bizim şablon olarak bir yardımcı, her
Hepimizin almak için yapmanız gereken görevler Bu fonksiyon, buluyorum
ve bu boş ayraç.
Bu Mongo sözdizimi daha özel olduğunu.
Orada bol var nasıl online dokümantasyon
Eğer verimli yapabilir ve gerçekten yararlı Mongo sorgular.
Ama böyle bir şey iyidir Sadece tüm verileri bulmak için yeterli.
>> Şimdi, konulardan biri görebileceğiniz biz aslında veri eklemek asla olmasıdır.
Peki ne biz olur aslında adımı üç çalıştırın?
En hızlı içine gidelim üç adım ve Meteor çalıştırın.
Ben başka bir Meteor olduğunu fark Proje, başka bir yerde çalışan
böylece Meteor böyle değil.
Ben sadece hızlı yakın gidiyorum Kontrol C ile diğer Meteor,
Adım üç gidin, ve yeniden Meteor çalıştırın.
O başlıyor edin MongoDB için MongoDB
Her Meteor projesinin bir parçasıdır.
>> Yani benim uygulama hataları vardır diyor.
Bu Meteor olan güzel bir özellik.
Bu emin olur senin HTML de doğrulanır.
En hızlı bu olabilir neden bakalım.
Ben yanlışlıkla var gibi görünüyor Yanlış HTML kodunu kopyaladım.
Ben şimdi kaydederseniz, Meteor otomatik, sunucu yeniden
beklendiği gibi ve şimdi uygulama çalışıyor.
Bunu düzeltmek için dikkat, sadece çalıştırabilirsiniz Adım iki aynı HTML dosyası,
Adım üç içine kopyalayın.
>> Bizim yerel ana geri gidebilirsiniz.
Ve şimdi biz liste yapmak için sitemizi görüyoruz.
Büyük, ama boş.
Biz aslında hiç yok Bizim Mongo veritabanı görevleri.
Yani bir konuşalım birkaç yolu bunu yapabiliriz.
Biz terminale geri giderseniz, biz kapatın ve Meteor Mongo çalıştırabilirsiniz.
>> Eğer bilginiz varsa Meteor nasıl çalıştığını,
Bu aslında size erişim sağlar Meteor tam MongoDB için.
Çalıştırdığınız gerektiğini edin Bu işe ilk meteor.
Yani yeni bir sekmede bu çalıştırırsanız, ben Aynı dizine geri gidebilirsiniz.
Ve şimdi Meteor gayet güzel çalışıyor.
Bu istemi.
Bana biraz yapalım Gördüğümüz böylece büyük.
Bu biraz daha farklı görünüyor ne size kullanılmış olabilir
Gerçekten Mongo kullanmanız gerekmez.
Benim bütün mesele burada böylece JavaScript kullanabilirsiniz.
Ama merak ediyorsanız, Mongo API yok
SQL, Structured Query Language kullanın.
Kendi dilini kullanan JavaScript çok benziyor.
Çok hızlı, biz bulabilirsiniz db.tasks ile tablo.
Ve bu beni söylüyor Biz bulmak çalıştırırsanız çıkıyor,
biz ne vardı benzer tür Meteor, biz tüm unsurları yükleyebilirsiniz.
Sorun, biz yok Aslında tanımlanan herhangi bir görevleri var.
Bu yüzden onları alamıyorum.
>> Biz olsa, ekleyebilirsiniz.
Bu yüzden parçayı çalıştırabilirsiniz Komut ekleme ile.
Ve biz sadece vermek bir nesne, ve biz sadece
biçimi biz ne bekliyoruz emin olun.
Biz adım iki baktı ise, biz her görevi gördü
Bir metin bir nesne oldu tuşu ve ne olursa olsun gibi
Yapılacaklar öğesi, bir değişken olarak oldu.
Yani biz burada bir şeyler yapabiliriz.
>> Biz bir görev eklemek olabilir Ben Mongo gelen denir.
Ve biz Enter tuşuna basın, ve çalıştırır.
Biz yeniden bulmak çalıştırın, ve biz yapabilirsiniz bir nesne burada olduğunu görüyoruz.
Mongo ona bir kimlik, atar size hangi Gerçekten hakkında endişelenmenize gerek yok.
Ne sizin için önemli verilerdir Eğer koymak, dışarı almak veridir.
>> En sitemize geri dönelim ve hey, bizim görev yüklendi.
Ve bunu görebilirsiniz Meteor çok akıllı olduğu için
ve her zaman, senin için yeniler Sayfayı dokunmak yoktu.
Bu otomatik olarak yüklenir.
>> En bazı kod çalıştıralım JavaScript olsa bunu yapmak için.
Biz geri düğüm var gibi JavaScript dışarı yürütmek için sonuna,
biz de JavaScript çalıştırabilirsiniz doğrudan tarayıcılarda.
Bir özelliği ile bunu yapabilirsiniz Eleman kontrol edin denir.
Ben sağ tıklarsanız bulma bölümü,
bir seçenek var Eleman kontrol edin denir.
Eğer çalıştırıyorsanız bir Safari, sizin gibi tarayıcı
senin geliştirici etkinleştirmeniz gerekebilir senden önce araçlar bu özelliği olsun.
>> Ne umurumda konsoludur.
Yani biz sadece gidecek altındaki konsol.
Şimdi herhangi bir JavaScript çalıştırabilirsiniz Burada, JavaScript gibi
Bu dosyalar js örnekte göstermektedir.
Ama şimdi görevlerini bakalım.
Biz bizim komutunu çalıştırabilirsiniz.
Ve umarım yapmak mümkün olacak biraz daha büyük bu yüzden hepimiz görebiliriz.
>> Biz tasks.find çalıştırın ve olacak ise Bu aynı kod olduğunu görüyoruz
JavaScript dosyası kullanır ki üç adımda bu task.find.
Biz de aynı şeyi çalıştırın ve olabilir Şimdi bazı garip şeyler olsun.
Nasıl biz aslında veri alabilirim?
Peki, biz bu çalıştırmak zorunda denilen komut getir.
>> Bu hata ayıklama için çok yararlıdır.
Burada ne olsun Bir imleç, ve bu
Meteor olan güzel bir yol optimize getiriliyor verileri.
Bu imleç için tüm özelliklere sahiptir Canlı güncelleme ve sayfayı yenilemeyi
şey değişti zaman.
Ama bize veri almazsınız.
Biz getir yoluyla veri alabilirsiniz.
Ve biz bir nesne var görmek ve o, sadece biz Mongo ne vardı gibi
kimlik ve metin ile biz koymak.
>> Peki Meteor bir öğe eklemek musunuz?
Peki, biz sadece görevleri var.
Ve sonra çalıştırabilirsiniz Aynı ekleme komutu,
Bir sözlük ya da bir nesneyi vererek Aynı biçim, metin
ve sonra konsoldan geliyor.
Yukarıda bir göz atın zaman çünkü Bunu yapmak, bu web sitesinde gösterir
otomatik.
Eğer bir şey koyabilirsiniz >> Uyarı Bu öğeler istiyorum.
Bu gerek yok sabit bir yapıya sahiptir.
Ben bir eşit olabilir Üç numaralı ve yanlış eşit, b.
Ve tüm çalışır.
Ben bile seçebilirsiniz değil tüm bir metin içerir.
Bu sadece tavsiye edilmez ama sonra Meteor çünkü
görüntülemek için ne bilemezsiniz.
Ancak her durumda, biz Bir kimliği almak ve işte
Eğer kullanabileceğiniz nesnenin kimliği.
>> Biz devam ederken dört adıma ve beş adım,
öğretici yollarını gösterecektir kullanarak UI öğeleri oluşturabilirsiniz
Eğer bilmek HTML Farklı görevler oluşturabilirsiniz.
En gerçekten hızlı bir şekilde adım dört bakalım.
Biz ekledi görürsünüz olaylar hakkında bir bölüm.
Şablonlar olabilir Bize veri almak yardımcıları,.
Ama aynı zamanda olayları arayabilirsiniz.
Ve bu nerede şeyler olaylar nedeniyle yararlı olur
Eğer tıkladığınızda ne olur edilir Web sitenizde farklı şeyler.
>> Burada, bizim kod anlatıyor Bize bu olay eklemek için.
Gönderdiğiniz ne zaman ekle sınıf yeni görev ile bir şey.
Burada ne var CSS seçici olduğunu.
Yani bu sadece bir HTML arar sınıf yeni görevi vardır unsur.
Ve bu olay için, gibi göndermek görünüyor.
Diğer olaylar şunlardır hover, tıklama, çift tıklama,
normal HTML almak için benzer.
>> Ne buradan vermek artık bir işlevdir.
Ve sahip edebilirsiniz Bu işlev kodu.
Kalkarken biter ne bu işlevi Eğer bu yeni görevi teslim çağrılan.
Sadece bu yüzden HTML bakalım biz Bu yeni görevi ne olduğunu anlamak.
Biz burada bir form ekledim sınıf yeni görev ile.
Ve bu metin alır bir girişi vardır.
Ve bu nerede biz Bizim yeni görevler eklemek olacaktır.
>> Yılında edelim çalışma adımı dört Web sitesi neye benzediğini görmek için.
Biz ilk out çıkabilirsiniz MongoDB biz vardı
Bizim Önceki Kontrol C ile örnek
Ve en içine değiştirmesine izin adım dört dizin.
Biz yine Meteor edeceğiz sunucuyu başlatmak için.
Ve ne yazık ki, ben Meteor vardı Başka bir terminalde çalışan.
Ben sadece gidiyorum Bu kapalı emin olun.
Şimdi bu ve değişim çıkın edelim bölümü dört, dört adım.
TAMAM MI.
>> Şimdi Meteor kodu çalışıyor.
Ve sen olmadan, güncelleştirmek görebilirsiniz bize bile sayfayı yenilemek zorunda.
Burada değişti şimdi Biz herhangi bir görevleri yok,
ama biz burada, bu bir form var metin kutusu, yeni görevler eklemek için.
Ve biz burada bizim görev yazabilirsiniz.
HTML sayfası geliyor.
Ben Enter tuşuna bastığınızda, bu teslim var.
>> Biz ne görebilirsiniz JavaScript kodu ile tanımlanan.
Ne bu işlev yaptım oldu şeklinde metin almak,
ve sonra sadece, tasks.insert denilen gibi biz konsolda yaptım.
Onlar da bir createdAt tarih eklemek için seçti.
Bu nasıl olur ise Geçerli saati belirtin.
Bundan sonra, o yaparak formunu temizler Emin değer boş bir dizedir.
>> Ve o yanlış dönüş çağrıları Başka emin olun hiçbir şey olmuyor.
Eğer sahte döndüğünüzde yürütme durur form olay.
Bir form, bir eylem vardır Say Böyle bir PHP sayfası teslim.
Eğer geri olmasaydı yanlış, true dönecekti.
O istekte sona ereceğini.
Yanlış yakaladığını onu ve Doğru orada durur.
>> Yani biraz demo hakkında oldu Meteor çalışır ve biz ettik nasıl
Bir süre öğretici izliyor.
Ve çekinmeyin olabilir ücretsiz bu yapmaya devam etmek.
Kaynakların bol vardır, ve öğretici sadece aslında
açıklayan hakkında çok iyi ne oluyor.
Ben, şimdi size göstermek istiyorum Biz yapmamışlar birkaç dakika,
bazıları nelerdir Meteorunun soğutucu özellikleri,
ve bazıları nelerdir daha yararlı paketler.
Meteor hakkında büyük şeylerden biri Eğer bir paket sistemine sahip olmasıdır.
Kolayca kodu dahil edebilirsiniz geliştiricilerin bu binlerce
Dünya çapında yazdım senin Meteor projeye.
Bunun bir örneği ne olabilir olduğunu öğretici, adım dokuz yapmak
Eğer hesap eklemek için çalışıyoruz senin Meteor proje.
Biz CS50 PHP varsa Proje, biz olurdu
çerçeve güvenmek ya da kendi kodu yapmak
Biz güvenli idare edin şifreler ve kullanıcı adları
ve veritabanı depolama ve bütün.
>> Bu Meteor bazı vardır çıkıyor paketler, sizin için bunu
ve çok kolay bunu yapmak için.
Ne yapabilirim bir kaç paket ekleyin.
Yani bu hakkı yapalım Şimdi bizim konsolda.
Ben projeyi çıkmak için gidiyorum ve Şu anda basit todos gitmek.
Şimdi, basit-todos olduğunu Proje size
yapılan sonra olacaktır adım adım 11 veya 12 ile,
Bu yazının sonunda.
Ve görmek için de en hızlı bakalım Elimizdeki farklı özellikleri nelerdir.
Sadece o çalışıyor emin olalım.
Bazen bir süre alır yenilemek, ama burada o kadar.
>> Biz gizlemek için seçeneğiniz vardır bütün görevleri, ve biz oturum açabilirsiniz.
Ve bu ile yapıldı Meteor paketi.
Bu harika.
Şimdi kullanıcı adı var ve şifre işareti.
Biz eklemek istedim ama ne Oturum açma mekanizması başka türlü?
Diyelim ki günlük istedim diyelim Benim Meteor hesabı ile.
Ben meteor eklenti çalıştırmak için gidiyoruz ve bu kulüpler paketleri eklemek için sözdizimi.
Ben hesapları ve accounts.meteor söyleyebiliriz.
Şimdi bulmak için gidiyor paket ve yükleyin.
Sen ben değil görebilirsiniz Sağ paket adı bulundu.
>> Peki paketleri hakkında öğrenebilirim?
Peki yapılan büyük bir web sitesi, orada Meteor insanlar tarafından kullanılabilir,
atmospherejs.com denir.
Atmospherejs, bir kelime, nokta com, büyük bir depo
Meteorunun tüm bulmak için Depodaki paketler.
Sonra hesapları arama ve yapabilirsiniz ilgili tüm şeyler bana göstereceğim,
hesabın adı ile bütün paketler.
>> Yükler ki, biz deneyebilirsiniz iken diğer bazı paketleri ekleyerek.
Belki Meteor paketi çalışmıyor Şu anda, ama Facebook ekleyebilirsiniz.
Sonra hesap ekleyebilir ve Yine Meteor projeyi çalıştırın.
Bu başladığında, bakalım ne web sitesinde değişti.
Ben belki see-- olabilir burada yenilemek zorunda.
>> Ben bir düğme var Facebook login yapılandırın.
Ve burada, ben hepsine sahip talimatları Meteor
sizin için hazırladı bir Facebook uygulaması kurma.
Ve bunu kullanabilirsiniz bilgi kimlikleri eklemek için.
Bu işlem tamamlandıktan sonra, sana sahip olacağım App çalışan Facebook giriş.
>> Ben sadece almak için gidiyorum Bir uygulama kimliği ve bir sır,
Sadece bu işe nasıl size göstermek için.
Bir Facebook hesabına ihtiyacınız olacak Facebook geliştirici seçeneklerini kullanmak için.
Bana sadece hızlı bulsun Gerekli olan meteor anahtarlar.
Başka Meteor proje var Ben kullanmak için gidiyorum,
ve ben sadece almaya gidiyorum Bu dosyadan anahtarları.
>> Ve ben onu bulduktan sonra, ben sadece mümkün olacak Benim Facebook içine bu anahtarları kopyalamak için.
Yani burada bir anahtardır.
Ve bu sır.
Sen olmamalı insanlarla bu paylaşımı.
Ve sonra bunu app gizli verin.
Ve bu yüzden Facebook ise Eğer sen bilir.
Ve sen yapılandırmayı kaydedin.
>> Ben sürecin I düşünmek Benim Meteor uygulaması durduruldu.
Ben sadece yapmak istiyorum Emin hala var.
Tamam, en emin bizim Meteor sunucu yapalım böylece web sayfası çalışan çalışıyor.
Biz Meteor durdurmak edin Sunucu, sayfa hala orada.
Sadece artık güncelleme olmayacak.
Meteor sunucusu gerekli olan emin olmak için sayfa canlı olduğunu.
>> Tamam, ben onu teslim, ve şimdi ettik Ben Facebook ile oturum açabilirsiniz.
Şimdi sadece bir meselesi bir Facebook pop up sahip
ve hesabınızda koyarak bilgi ve günlük olarak.
Bunu yaptığınızda, Facebook olabilir Eğer biraz daha fazla güvenlik için dırdır.
Yani biz sadece orada durmak gerekir.
nokta İşiniz bittiğinde bu bununla, size Facebook giriş olacak.
>> Meteor bir grup var Diğer paketler de.
Google+ ile giriş yapabilirsiniz.
Siz GitHub ile giriş yapabilirsiniz.
Siz Twitter ile giriş yapabilirsiniz.
Eğer ararsanız Veya, olacak diğer şeyler bol bulabilirsiniz
Meetup, LinkedIn gibi, ve Meteor Geliştirici.
Yani Meteor Geliştirici oldu paket ben arıyordum.
Meteor hesapları-meteor-geliştirici ekleyin.
Bu arada, ben Ayrıca tavsiye etmek istiyorum
Projeleriniz için diğer bazı paketler.
Bu yararlı kanıtlamak olabilir jQuery paketi içerir.
Bu kullanmanızı sağlar Müşterileriniz jQuery.
Sadece tek bir hat ile bunu, ve olabilir Meteor emin güncel konum yapacak
jQuery üzerine.
Ben de houston tavsiye: admin.
>> Bu phpMyAdmin gibi bir tür olduğunu senin MongoDB için aracı bir tür.
Bu düzenlemenize olanak verir veri oldukça kolay
Mongo kabuk gitmek zorunda kalmadan, gibi daha önce seminerde yapmıştı.
Yani şimdi çalışıyor ki, en çalışmasına izin Tekrar Meteor ve biz neler yapabileceğini görmek.
>> Bazı paketler ekleyerek fark Onları bazı uyarılar sunmak olabilir.
Sen endişelenmenize gerek olmayacak houston ile bu konuda.
Yani biz şimdi seçeneği olabilir Meteor yönetici yapılandırmak için.
Ve onlar yön vermek Bunu ayarlamak istiyorsanız.
>> Biz de şimdi / admin gidebilirsiniz.
Bu sizin getirilir houston paketi.
Ve bu Meteor yönetici arayüzü.
Sen sadece bir oluşturmak yönetici hesabı, gibi pek.
Eğer sayfayı yenileyin Ve eğer olabilir Bazı koleksiyonlar gösteren var.
>> Bu çok yararlı bir araçtır, ve ben şiddetle tavsiye ederim.
Sen çünkü görebilirsiniz houston bazı hatalar veriyordu,
Biz herhangi bir koleksiyon yok Hemen gösteren.
Eğer houston kullanmak istiyorsunuz yolu Bu işlev alır emin
senin basit todos çağırdı.
Yani houston değil Benim görevleri ne olduğunu biliyorum.
>> Bir Mongo kurmak toplama adı verilen görevler.
Basit-todos ve sadece içine gidelim Bu JavaScript emin olun,
Bizim koleksiyonları görevleri ekledik.
Biz şimdi kaydettiğiniz, ve bina bulunuyor Uygulama, ferahlatıcı.
Ve bakalım.
Şimdi bazı görevleri var.
Ve bazı yeni görevler ekleyebilirsiniz.
Ama biz görevleri eklemek istiyorsanız, en app kendisi ile yapalım.
>> Şimdi bazı verileri ekleyebilirsiniz.
Merhaba, bu bir görevdir.
Bu tür garip görünüyor biz herhangi bir görevleri görmüyoruz.
Biz herhangi bir var eğer biz kontrol etmek isteyebilirsiniz Burada, ya da belki başka bir yerde hatalar.
Biz yönetici içine giderseniz, o garip görünüyor.
Eğer depo çekin Bu seminer sonrasında,
Ben emin olacaktır Basit-todos houston ile çalışır.
Ne yazık ki, görünmüyor Bu şu anda çalışıyor olması.
Başka soru >> var mı?
Houston, normal olarak bir çok iyi çalışıyor aracı.
Houston, özellikle biraz Diğer olanlardan daha buggier,
ama çalışır bunu tavsiye ederiz.
Evet.
>> İZLEYİCİ: Ne yapabilirim Facebook'tan paket
Bir kullanıcı oturum kez kendi Facebook ile giriş?
>> ROGER ZURAWICKI: kez bir kullanıcının, giriş
Eğer Facebook API arama yapabilirsiniz.
Bunun bir sürü daha yatıyor nasıl Facebook kendi API açar.
Meteor, emin olun bağlantısı var.
Ama bundan sonra her şeyin bir konudur Facebook API nasıl kullanılacağını öğrenmek.
HEDEF KİTLE: [duyulamaz].
ROGER ZURAWICKI: Pekala.
Için çok teşekkür ederiz Meteor bu CS50 seminer.
Herhangi bir sorunuz varsa, Eğer bana e-posta
Benim e-posta adresi Seminerin aşağıda listelenmiştir.
Ve ben mutlu olacağım sorularınıza cevap.
Ben de olacağım CS50 hackathon gerekir
Eğer Meteor projeleri ile yardıma ihtiyacım var.
Izlemek için teşekkür ederiz.