>> [MÜZİK OYUN]
>> STEPHEN TÜRBAN: Ben Stephen Türban değilim.
Burada yan üzerinde, belki dalış bazı insanlar alabilirsiniz.
Biz Gabriel ve Zack var.
Kısa bir yol haritası Peki Bu gibi bakmaya gidiyor
Ben bazı son derece yapıyor gidiyorum MVC ne de üst düzey bir bakış.
Gabe?
>> Gabriel GUIMARAES: Ben gidiyorum Ruby ve biraz bahsetmek
nasıl işler Raylar ve nasıl olabilir Eğer web uygulamaları oluşturmanıza yardımcı.
>> ZACK CHAUVIN: Ve ben gidiyorum size ne belirli bir örneğini göstermektedir
oluşturmak için Rails kullanmak için süper harika bir uygulama.
STEPHEN TÜRBAN: Başar.
Tatlı.
Tamam.
Öyleyse MVC hakkında konuşalım.
Yani bir sonraki slayta, gidelim hangi Ben bu düğmeye basarak yapacağız.
Ve en next-- gelişimine gidelim, Ben, CVS gidiyor düşünmek istiyorum
CVS bir mağaza olduğu için ve Ayrıca merkezi bir V sahiptir.
>> Ve bu yüzden bir mağazaya düşünelim.
Ve en bu mağaza yapalım Sadece bir şey satmak.
Yani biz bu zorunda gidiyoruz Sadece bu kırmızı bardak satmak saklayın.
Ve sen yürümek hayal, ve gitmek mağaza, kişi önünde.
Ve onun adını Vince.
>> Ve sana Vince dalgalar merhaba, merhaba diyor.
Ve Vince hakkında bir şey fark.
Bu yüzden Vince düşünmek zaman, biz yaklaşık iki temel sıfatları düşünmek zorunda.
Vince güzel, ama o aptal.
TAMAM MI.
Bildiğiniz Yani, kendi hiçbir hatam, ne yazık ki, o güzel.
O bizim görünümüdür.
Yani bizim ilk döküm üyesi var.
Aklınızda bulundurun.
>> Şimdi, hey Vince, gitmek, Vince isteyin.
Ben bir müşteri değilim.
O merhaba diyor.
Ben gerçekten kırmızı bardak tane istiyorum.
Ve Vince ne diyor?
Herkes herhangi var mı Vince ne diyor fikri?
Ben soğuk çağrı gidiyorum.
Vince diyor ne düşünüyorsunuz?
>> İZLEYİCİ: O sana gösterebilirim diyor Nerede, ama sana bir veremem.
>> STEPHEN TÜRBAN: O sana gösterebilirim diyor Nerede, ama sana bir veremem.
Daha da kötüsü.
Başkasının başka var Vince fikri diyebilirsiniz ne?
>> İZLEYİCİ: O çek gitmek zorunda Onlar herhangi bir kırmızı bardak varsa.
STEPHEN TÜRBAN: Vince değil Hatta o kontrol etmek olduğunu biliyorum.
Başka herhangi bir şey?
Dediğin Yani, vardır O kırmızı bardak varsa kontrol edin.
Devam et.
HEDEF KİTLE: Kırmızı fincan nedir?
STEPHEN TÜRBAN: kırmızı fincan nedir?
Kırmızı fincan nedir?
Vince karıştı.
Yani Vince konuşmak için gidiyor sonraki döküm üyesi, Carl.
Ve biz Carl düşünmek zaman, biz lazım yaklaşık iki büyük adjectives-- düşünüyorum
O kontrol, ama o aciz.
>> Peki Vince diye goes-- gider, kırmızı fincan nedir?
Ben bir kırmızı fincan ne olduğunu bilmiyorum.
O dönüyor, ve o Carl sorar.
O Carl, birisi diyor kırmızı fincan istedi.
Bunu yapabilir misin?
Ve Carl ne diyor?
En anlamaya edelim.
Herkes herhangi bir var mı Carl ne diyor fikri?
Ve ben sadece sana geri tekrar olacak.
Ben bir el hareketi gördüm.
>> İZLEYİCİ: Birini söyler Başka kırmızı bardak almak için.
>> STEPHEN TÜRBAN: O söyler başkasının kırmızı fincan almak için.
Kesinlikle.
Ve biz bir fikrin var mı kim o kişi olabilir?
Bu bir ipucu.
Bir M. Mob ile başlamak gidiyor?
>> İZLEYİCİ: Model.
>> STEPHEN TÜRBAN: modeli, evet.
Onun adı, ne yazık ki, Model değil Bu aptalca bir isim çünkü.
Bu Mitt sahiptir.
Ve biz Mitt-- düşünmek zaman hayır, bu Zack bir resim değil.
Biz iki düşünmek zorunda Mitt anahtar sıfatlar.
O yetenekli, ama itaatkâr olduğunu.
Yani Mitt yapması gereken ne biliyor, ama o gerçekten bir şey yapamaz.
Ya o gerçekten kendi başına karar veremez.
>> Bu yüzden Carl var.
Carl Mitt bağırır.
Ve o Mitt hey, biz kırmızı bardak ihtiyacımız diyor.
Ve Mitt onun kırmızı fincan emanetçi gider.
O bir fincan kapmak, ve o geri verir.
Herkes herhangi bir var mı Sonra ne olur biliyor musun?
Fincan verir.
Şimdiye kadar Mitt onun kırmızı gitti fincan deposu, dışarı alınır
, onu kontrol dedi, Ben bir kırmızı fincan aldı.
Ve o Carl onu veriyor.
Bir fikriniz var mı?
Carl yapar ne düşünüyorsunuz?
>> İZLEYİCİ: Carl Vince verir.
>> STEPHEN TÜRBAN: Carl Vince verir.
Vince.
>> İZLEYİCİ: Ve Vince [duyulamaz] bunu gösterir.
STEPHEN TÜRBAN: Kesinlikle.
Yani tam olarak bu.
Yani Vince fincan alır, Hatta ne olduğunu bilmiyor,
ama o kullanıcıya gösterir.
Yani yeniden deneyelim Bu gerçekten kısaca.
Ve biz gerekecek Üç sessiz gönüllüler,
Siz gitmiyor gibi konuşmak mümkün.
Yani üç kapmak olabilir?
TAMAM MI.
Ve kim olmak isterdiniz?
>> İZLEYİCİ: Ben Vince olacağım.
>> STEPHEN TÜRBAN: Vince, tamam.
Güzel ama aptal.
Büyük.
Başkasının?
Biz bir arıyoruz yetenekli ama itaatkâr.
Herkesten yeteneğine olmak istiyorum?
>> İZLEYİCİ: Carl olabilir.
STEPHEN TÜRBAN: Tatlı.
Biz Carl var.
>> İZLEYİCİ: Mitt.
>> STEPHEN TÜRBAN: Mitt, tamam.
Ve biz ihtiyacımız olacak bir- Müşteri olacağım.
Yani, yukarı gel yukarı gel.
Ve görünümünde herkes?
Yani ben Vince soracağım Sadece gülümseyerek, önünde durmak,
sadece mümkün olduğunca parlak gülümseyen.
Ve biz, Carl sormak için gidiyoruz Doğru, neden böyle, değil mi,
Sağ onun arkasında durmak?
Ve Mitt, neden yok Sadece arka çıkmak,
ve sonra sana bir grup vereceğim bardak takıl.
>> Yani bir müşteri değilim.
Ben gelmek.
Ve ben yapmak [duyulamaz] Ben Merhaba, ben bir fincan istiyorum, demek.
Mükemmel.
Yani Vince hiçbir fikri yok.
Peki Vince sonra ne yapar?
Vince-- Tamam, ben gidiyorum Şimdi anlatan olmak.
>> Vince Carl bağırır, fincan!
Carl ne yapar?
Carl Mitt bağırır.
Mitt bir fincan kapmak.
Mitt Carl verir.
Carl Vince döndürür.
Ve Vince kullanıcıya gösterir.
>> Ve yüksek bir yüksek, MVC yüksek, çok yüksek bir görünüm.
Biz bir görünüme sahip bölün, ne Kullanıcı, bir denetleyici görür, birisi
kim arka planda her şeyi yapar ama gerçekten hiçbir şey güncelleme olamaz
ya da herhangi bir önemi hiçbir şey yapamaz görünümü ve modelini arayarak hariç.
Ve sonra Mitt var, modeli, kim biz ne veri günceller.
Yani, bizim güzel için çok teşekkür ederim kontrol ve yetenekli gönüllüler.
Ve ben bu oldu bence.
>> [Alkış]
>> Ben Gabe şimdi konuşacağım düşünüyorum Bir umarım daha az yüksek seviyede.
>> Gabriel GUIMARAES: Tamam, beyler.
Şimdi hakkında biraz daha konuşalım kod ve Ruby kendisi Ruby hakkında,
ve ilgili nasıl Bu MVC hikayenin tüm.
Temelde, Ruby on bir çerçevedir.
Bir saniyede bu konuda daha fazla.
>> Ama sadece size vermek duygusu, onu kullanıyor
Bu büyük companies-- her gibi böylece GitHub, Groupon, Twitter--
hepsi Ruby on kullanıyorsanız Ana çerçeve olarak Raylar
kendi web sitesi uygulamak için.
Yani bir sürü insan eminim Burada bu web sitelerini kullandık.
Ve uygulamak için Rails tüm Ruby var modeli, görünüm ve denetleyici
Bu web siteleri ve daha birçok tümünde.
TAMAM MI?
>> Yani Ruby on dedi Raylar bir çerçevedir.
Ve ne tür bir çerçeve düşünebilirsiniz Bir ev inşa gibi anlamında.
Eğer inşa gidiyoruz Yani eğer Bir Evdeki ve her zaman yapabilirsiniz
sağ, sıfırdan başlamak?
Sen gelip deneyebilirsiniz ahşap gördüm bir şekilde,
ve yere odun getirmek, ve Sağ şeklinde taşları almak için,
ve bütün bunlar.
Ama bu almaya gidiyor yıl muhtemelen çok
Tüm malzemeyi elde edene kadar, ve her şeyi birlikte olsun,
ve aslında başlangıç Evinizi inşa etmek.
Eğer dışarı başlarsanız >> yüzden çıkıyor bu şey bir çerçeve
Zaten tür yerine Evin herhangi bir türü için
Eğer bir şey build-- etmek istiyorum Bu çok genel ama yapabilirsiniz ki
sonra kendi doğru modeli goals-- sonra kaldıraç
çerçeveler bu güç oluşturmak için Onları çok daha hızlı çok şey.
TAMAM MI.
Yani bu aynı fikir olduğunu Bir web uygulaması için çerçeve
ya da herhangi bir türü için bu konuda uygulama.
>> Aslında işe başlamak Yarım uygulamayla
zaten orada sizin için yer.
Ve bu, ben size bir sürü almak demek Zaten işlevlere sahip dosyalar,
kütüphaneler gibi, işlevsellik gibi, ve sırayla çalıştırabilirsiniz komutları
hayatınızı çok yapmak basit ve kolay.
TAMAM MI.
>> Peki bu durumda, biz gidiyoruz Ruby on Rails hakkında konuşmak için.
Farklı bir sürü vardır Orada çerçeveler.
Django Python için var.
Zend çerçeve var veya PHP için Laravel.
Farklı olanları bir sürü vardır.
Ruby on Rails oldukça güzel yeni biridir.
Bir sürü insan başlatılması bu kullanmak ve çevre bu tür.
Ve bu çok büyük bir kısmı Burada önce gösterdi şirketler
Ayrıca Ruby on Rails kullanıyor.
>> Yani sadece size vermek Ruby ne anlamda
gibi, siz daha fazla ikinci el olduğundan gibi, C ve PHP biraz, için
Şimdi, bu yüzden Ruby olacak Bu anlamda sizin PHP eşdeğer.
Bu Ruby değildir.
Bu C. Tamam mı?
Ama bu gibi DJBHash fonksiyonu ben
kullanılan birçok kişi biliyor PSET imla hataları için.
>> Ve Ruby, güzel çok PHP Eğer, gibi
Bu uygulamak kod sadece birkaç satır.
Bunun yerine endişe zorunda hash fonksiyonu hakkında,
kovalar hakkında endişelenmenize gerek kalmadan, ve bütün bunlar, sadece, söyleyebiliriz
Sözlük = Hash.net.
Ve sonra ne tür gibi kullanmak PHP vardı aynı fikir.
Ve böylece true var.
Ve sonra isterseniz kontrol, bu yüzden fonksiyonu kontrol
olacaktır sözlük "foo" ise Gerçek eşittir eşittir, doğru dönmek.
Ve o tamam, hepsi?
>> Yani bir kaç farklılıkları fark.
Hiçbir yarı-kolonlar vardır Burada, C. vardı gibi
Ancak genel bir fikir çok benzer.
TAMAM MI?
>> Ayrıca, Ruby, taşlar, var olan Ruby kütüphanelerinin türüdür.
Ve Raylar onları kolları Sizin için çok güzel bir yol.
Eğer koymak istiyorsanız Bazı kütüphanede ki
yaptığı e-postalar, ya da metin mesajlaşma, yok
veya ile entegrasyon yapar Facebook veya şeyin her türlü
app için böyle, çok, çok kolay.
Oran şeyler bulabilirsiniz vardır internette böyle.
Ve onlar sadece do koymak gibi bir şey olan
gem mücevher dosyasında kullanmak istiyorum.
Ve sonra Raylar her şeyi yükler.
Herhangi bir konuda endişelenmenize gerek yok Bunun, böylece gerçekten harika.
Ayrıca, bol, Online yardım bol.
Yani pek çok şey bulabilirsiniz.
Eğer bir hata varsa, Eğer sadece Google'dan olabilir,
ve olacak yardım almak çok kolay.
>> Ve fun-- bir sürü var tam olarak-- size çünkü
Düşük seviyede hakkında endişelenmenize gerek yok karma tabloları detayları, uygulama
ve hepsi ile gelmek zorunda HTTP başlıklarını ve çok şeyler,
ve hatta biraz daha yüksek seviyeli şeyler.
Sen endişelenmenize gerek yok Rails bu konuda.
Bu sizin için çok, çok güzel yapar.
Ve biz o göstermek için gidiyoruz daha somut, çok yakında.
TAMAM MI.
>> Peki Ruby hakkında biraz daha.
Dediğim gibi Yani, sadece C gibi.
Bunun yerine printf, biz demek Hangi ", koyar" "dizesini koyun."
Bu konsola bir dize koyar.
Ve bu durumda biz konum Sadece "Merhaba Dünya." baskı
Biz parantez gerek yok, ama hemen hemen benzer.
>> Ve sonra isterseniz Burada bir şeyler yapmak,
gibi "iç çamaşırları" bir demet yazdırmak ve Bir iken döngü içinde "bigs" bir demet,
bu tür C gibi, değil mi?
Sen params yok, ama hemen hemen aynı.
Burada girinti sayısı, bu nedenle X 1 eşittir.
Ve daha sonra x daha küçük iken 50-- bu bir Eğer bir, bu bir Else olduğunu.
Bu ne gördüm gibi oldukça fazla.
>> Ve sonra x + = 1 sadece artan edilir tür yapabilirsiniz ++ yapıyor gibi
C yapmak Ama oldukça bulunuyor Eğer C gördüm ne kadar
Bu çok karmaşık olmamalı.
Ama daha güçlüdür.
Yani bir kaç komutları burada var kesinlikle biraz daha yeni olduğunu.
>> Yani, örneğin, "koyar."
Bu hashtag gösterimde kullanabilirsiniz Burada sadece yazdırmak için şey--
hemen hemen eğer ne yapacağını gibi % D veya% C veya biraz böyle.
Ve aslında bir koyabilirsiniz Sağ açıklamasının ardından ise.
Yani sadece paha yapmak istiyorum X 3 daha büyük ise.
Peki neden olurdu bütününe bloğu ise yapmak?
Bilmiyorum.
Ben sadece bu sadece yazdırabilirsiniz x 3 daha büyük eşitse.
Yani bu bir tek satır yoludur Ruby bu yapıyor.
>> Ruby bir listesi Çok yönlü bir şey.
Yani gerçekten ihtiyacım yok Sadece bir tip var.
Daha sonra bir dize var ve olabilir Bazı sayılar, ve ne olursa olsun.
Ve sen eklemek istiyorsanız Bir listeye şey,
Sadece bu kullanabilirsiniz Burada gösterimde.
>> Ve yineleme yapmak istiyorsanız.
PHP hemen hemen 4each, burada, sen Bir liste var ve bunu "List.each yok."
Ve bu "elem," bu Her elemanın adı gibi
Ben listemde var gidiyorum.
Ve sonra ben sadece "ELEM koyar." Olabilir
Ve hemen hemen kolları "koyar" yazdırmadan, sizin için koyarak.
Bu eğer önemli değil bir dize ya da bir int var.
Bu sizin için işe gidiyor.
Doğru?
Serin.
>> Ve sadece PHP, Ruby ve HTML gibi Ayrıca çok güzel entegre.
Ve burada, orada bazı O Ruby HTML.
Bu yüzden HTML gibi bir vücut etiketine sahip.
Ve biz kontrol etmek istiyorsanız Bir kullanıcı bu, örneğin,
giriş, biz sadece başlangıcı, diyebilirim Ruby Ruby, eğer user.logged_in ?, sonu.
Bu tüm şey yazdır hangi Sadece bir o bazı Yakut, vardır
tür için bu sözdizimi gibi Bir değişken yazdırır PHP.
En user.name yazdırmak edelim.
>> Yani hoş geldiniz, Stephen, Bir HTML div içinde.
Ve sonunda, biz bir "son" ve Anlamına Ruby kodu, bu benim
Blok halinde.
TAMAM MI?
Yani bu sadece bir kesintisiz gibi Ruby ve HTML arasındaki entegrasyon.
Kaynakların sürü vardır.
Biz geçmeden önce, kimseyi yok Yakut, bir şey hakkında herhangi bir sorunuz var mı?
TAMAM MI.
>> Kaynakların çok çevrimiçi vardır Kod Academy tryruby.org için,
ruby-lang.org, bunu deneyebilirsiniz nerede tarayıcınızda dışarı önce aslında
oh, tamam, ben kullanmak için gidiyorum demek Benim son proje Ruby.
Ve bu yüzden kesinlikle bu bir deneyin vermek.
Bu slaytlar tümü online bulunabilirlik olacak,
böylece sadece onları indirebilirsiniz.
Ve evet?
>> İZLEYİCİ: [Duyulmaz] ne sadece gösterdi
HTML ve kod içine gömülü edildi Model View bu kavramına o
Denetleyici?
>> Gabriel GUIMARAES: Evet.
Biz bir saniyede yapacak bizim örnek gösterdiğinizde, tamam mı?
Soru için teşekkürler.
Biz eğer Yani soru temelde Ruby, bu entegrasyonu gösterebilir
Model içindeki HTML Denetleyici çerçeve görüntüleyin.
>> Yani Model fikri View Controller çerçeve
, bu temelde bir felsefe olduğunu Sadece Stephen burada gösterdiğim gibi.
Ve bir şey değil Eğer yapmak zorunda,
ama yapan şey var hayat çok daha basit.
Ve Ruby on inşa edilmiştir Bu kod felsefesi etrafında.
Yani biz göstermek için gidiyoruz çok yakında bir örnek.
>> Peki Raylar sevgidir.
Dediğim gibi bir sürü insan, bunu kullanıyorsunuz.
Ve gerçekten eğlenceli.
Siz gerekir Kesinlikle vermek oa denemek.
MVC her şeyi kolaylaştırır.
Model View Controller Yani, ayırma şeyler
ve başına bir kişi, koyarak, veya uygulama bir parçası
Farklı işler yapmak için her Bu size uygulamanın yapmak zorunda.
Ve daha az zaman harcanan düşük seviyeli sorunlarına.
Ve çok popüler şimdi.
Biz, Rayları 4.0 var hangi yeni versiyonu.
Ve serin şeyler bir sürü ile birlikte geliyor.
Başka bir soru.
>> İZLEYİCİ: Başka bir soru.
Ruby on Rails karşı Raylar Grails üzerine Yakut.
>> Gabriel GUIMARAES: Tamam.
Soru, Yakut oldu Ruby-- karşı Raylar üzerinde
HEDEF KİTLE: Grails.
Ruby?
>> Gabriel GUIMARAES: Evet.
Yani Ruby dili.
>> İZLEYİCİ: Hayır
Ben bir dili karşılaştırmak için soruyorum ve bir çerçeve, Ruby on Rails,
başka popüler bir dil ile framework-- Grails-- Ruby ile
Raylar üzerinde.
>> Gabriel GUIMARAES: Tamam.
Özür dilerim.
Soru, karşılaştırın edildi Ruby on Rails ve Ruby
Başka bir çerçeve ve another-- için
>> İZLEYİCİ: Ruby.
Tamam.
Bu konuda bilmiyorsanız, bu iyi.
>> Gabriel GUIMARAES: gibi, ne anlamak ki- olduğunu
>> İZLEYİCİ: Başka var çerçeve denilen Grails.
>> Gabriel GUIMARAES: Ah, Grails.
Ben hiç duymadım.
Özür dilerim.
Ben Ruby on Groovy duymadım.
Özür dilerim.
>> İZLEYİCİ: Çok daha iyi Java ile entegre.
>> Gabriel GUIMARAES: Anlıyorum.
>> İZLEYİCİ: Ben sadece merak ediyorum Biliyorum bazı insanlar hakkında da--
>> Gabriel GUIMARAES: Hayır, asla ne yazık ki, bu bir duydum.
Grails.
>> İZLEYİCİ: Ve bazı insanlar Açıkçası Ruby on Rails gibi.
>> Gabriel GUIMARAES: Ben ettik Ruby on ikinci el Ruby çok.
Bazı Django kullandım Python ile, gibi dedim.
Bazı Laravel kullandım.
Ama Ruby on Groovy kullanılmaz vardı.
Özür dilerim.
Ve çok popüler Şimdi Rails 4.0 ile.
Gibi, bazı şeyler Raylar ki Sizin için yapar, örneğin, bir
CSS dosyaları çok var ve JavaScript dosyaları çok.
Ve siz bunları tedavi edebilir Ayrı ve her şey.
>> Ama sonra ne zaman automatically-- Eğer üretim için kodu göndermek
otomatik derler tek bir dosya içine hepsini
herhangi olmadan minified var boşluk, böylece kaplar
uygulamanızda daha az yer, bu yüzden Eğer gerçekten bir çok şeyi ölçek olabilir.
Bu yüzden böyle büyük şirketler var Twitter ve GitHub gibi
tüm yapar, çünkü Rayları kullanıyorsanız gerçekten harika olan, senin için.
>> Çok olduğu bir şey, çok, çok zor
Benim de dahil olmak üzere insanlar için, kim çalışmak için çalışıyoruz
başında bir çerçeve ile, bir Eğer bir uygulama işe başlamak zaman,
Eğer dosyaların bir demet görmek için gidiyoruz.
Gibi, ne zaman oluşturmak Rayları Yeni, My Uygulama,
Eğer tüm bu görmek için gidiyoruz folders-- uygulaması, bin, yapılandırma, db, lib,
, kamu oturum açın.
Gibi, çok ve sürü.
>> Ve ilk kez ben , ben gibi olduğunu gördüm
Tamam, ben oluyor hiçbir fikrim yok.
Ben sadece bir oluşturmak istiyorum ile web sitesi "Merhaba, dünya,"
ve bu gibi, beni veriyor 100 milyar farklı sayfalar.
Ben neler olduğunu bilmiyorum.
Yani tarafından çok yılgın etmeyin lütfen.
>> Fikir aslında yarısı olmasıdır zaten sizin için orada bir evi.
Bu bütününe sahiptir zaten sizin için çerçeve.
Çok dosya var bu yüzden.
Ama güzel bir şey o olduğunu çok güzel hepsi birbirinden ayırır.
Oran endişelenmenize gerek yoktur vardır Bu klasörlerin çoğu hakkında.
>> En önemlisi, ben söyleyebilirim, uygulama klasör,
nerede uygulama aslında yaşıyor.
Yani yapılandırma, sen gidiyorsun bazı şeyler configurate var,
senin veritabanı ve şeyler gibi gibi Kullanmakta olduğunuz veritabanı tür.
Ama çoğu gibi, bunun dışında iş uygulaması yapılacak gidiyor.
Yani app, sen, varlıkları, denetleyicileri var yardımcıları, postaları, modeller, görünümler.
Yani burada, bunu görmeye başlayabilirsiniz kontrolörleri, modeller ve görünümler gel
oyuna.
>> Postaları sadece eğer vardır e-posta göndermek istiyorum.
Yardımcılar isterseniz Bazı işlevler oluşturmak
Eğer görünümünde bir çok kullandıkları.
Yani yardımcıları koyun.
Ve varlıklar temelde hepsi görüntüleri, CSS tüm,
senin JavaScript tüm, ve bu tür gibi
müşteriye gönderilen olsun şeyler.
Ve varlık öyle şey, Ben daha önce söyledi, minified alır.
Bu derlenmiş.
Ve gerçekten endişelenmenize gerek yok o üretim kodu gittiğinde.
Serin.
>> Şimdi Zack gelip gidiyor, ve o var Twitter50 bir örnek yapacağız.
>> İZLEYİCİ: Woo-hoo!
>> ZACK CHAUVIN: Başar.
Yani çalışmak için şansı vardı Ruby on Rails, bu yaz ile.
Bu inanılmaz bir çerçeve var.
Ben buna çok kısmi değilim.
Ve ben sadece size biraz göstereceğim o neye benzeyeceğini bir örnek.
Chrome'da üzerinden atlamak.
Bu nedenle bu çok basit bir örneğidir Ruby on Rails şey application--
Bu şey gibi Ruby gerçekten üstünlük olduğu
ki- sadece burada senin modelleri, çok iyi tanımlanmıştır.
>> Bu örnekte, görürsünüz İki farklı model, hangi
Biz kullanıcımız var ki vardır ve tweets sahiptir.
Yani bu Twitter50 olduğunu, Harvard'ın kendi Twitter.
Gördüğünüz gibi, ben gibizack giriş ediyorum.
Ve ben yeni tweets yapmak mümkün değilim.
Üzgünüm - Yani bence-- "Bu bir"?
HEDEF KİTLE: [duyulamaz].
ZACK CHAUVIN: Tamam, evet.
Sunucusunu durdurmak gerekiyor.
Mükemmel.
Yani burada biz.
Gördüğünüz gibi, biz bizim Burada Twitter uygulaması.
Ve bu sunucuyu başlatmak için süper kolay.
Biz "raylar sunucu." Tıpkı edeceğiz
Büyük.
TAMAM MI.
Bunun için teşekkürler.
Yani şimdi biz koşuyoruz.
>> Biz "Bu söyleyeceğim Ve harika bir seminer olduğunu. "
Ve en ne görelim.
Bu yüzden bu konuda tweet olacak.
Altındaki aşağı görebilirsiniz Şimdi üçten fazla tweets var.
Bu yüzden biraz var sayfa numarası oluyor.
Ve biz bu tweet var.
Ve ben de arama yapabilirsiniz benim Bu ve iki tweets-- arama
kelime olanlar "Bu" onlara göstermek.
Biz tarafından da tweets silebilirsiniz Biraz Sil düğmesine tıklayarak.
Ve tabii ki, ben sadece silebilirsiniz Bana ait yazı.
>> Zaten, biz neredeyse var Twitter işlevselliği.
Gibi, bu konuda düşünmek, Twitter Gerçekten bu kadar hepsi yapmaz.
O tweets vardır, kullanıcı var.
Biraz daha karmaşık işlevleri var.
Ama gerçekten aşağı olsun, oldukça basit bir Ruby on Rails app.
Bir bu gibi Ve bir şey, Ruby on iyi bir anlayış,
muhtemelen olabilir Bir veya iki saat yapmak.
>> Ve bu gerçekten geliyor geri Yakut mantra için,
Hangi yapılandırması üzerinde sözleşmedir.
Yani geri gün, insanlar, her zaman bu web sitesi yapmak istedim,
sıfırdan başlamak zorunda kalacak.
Tamam, ben bir web sitesi yapmak istiyorum.
Şimdi bu dosyayı yapalım ve Bu dosya ve bu dosyayı.
>> Ruby on Rails ile, hiçbiri var.
Ben yeni bir uygulama istiyorum, diyorum.
Ve Gabe bize gösterdi gibi, bu Bizim için tüm dosya yapısını oluşturur.
Ve biz sadece değiştirmek Küçük parçalar biz ihtiyacımız olduğunu.
Biz sadece ne özelleştirmek Bizim uygulaması hakkında benzersiz.
Serin.
Yani bizim tanıtımı için geri dönüyor ilginç preview--.
Nerede sunmak mı?
HEDEF KİTLE: Tam ekran.
Üst sağ.
>> ZACK CHAUVIN: Mükemmel.
Serin.
TAMAM MI.
Bu nedenle her birinci model.
Stephen harika yaptım MVC özetleyen işi.
Ve şimdi biz ilişkilendirmek için gidiyoruz Ruby on Rails o geri.
Modeli Yani tür can bir veritabanı olarak düşünüyorum.
Siz CS50 Bu görüyorum Maliye, nerede modeli mağazaları
hakkında bilgi Eğer varsa kaç hisse senetleri,
veya yaptığınız bütün işlemler.
Bu örneğidir Bir çizgi nasıl olur
Rails yeni bir model yapma hakkında gitmek.
Yani bir kullanıcı istiyorum.
Bir sahip olacak Bir dize e-posta,
ve bir şifre, hangi Ayrıca dizedir.
Yani ben her satır istiyorum those-- gibi Kullanıcıların benim tabloda böyle bakmak için.
>> Gerçekten harika bir parçası Raylar hakkında öyle olduğunu
için gereksiz kılar hemen hemen her SQL yazma.
Kaç çocuklar sevdi pset 7 SQL yazma?
Kesinlikle.
SQL derece kullanıcı dostu değildir.
Ve Raylar uzağa tüm özetleri Bu gerçekten çok kolay komutları ile.
Yani, örneğin, bir varsa Kullanıcı, bir kullanıcı birçok tweets vardır.
Ve bunların her biri tweetler bir kullanıcıya ait.
>> Burada, bu bakarsanız Yani Bizim tweet için bizim modeldir.
Ve biz söylemek zorunda olduğunu Bu tek line-- Ben bir tweet değilim
ve ben bir kullanıcıya aittir.
Ve bu tek hat ve a ile Veritabanı yapılandırma biraz,
Raylar Bu ilişkiyi kurar.
Herzaman, ben sadece söyleyebiliriz, zack.tweets, gibi, bana Zack tüm tweet'lerini verin.
Hiçbir SQL.
Süper kolay.
Yine, bu kongre bitti Yapılandırma oyun haline geliyor.
>> Sen biraz görebilirsiniz Burada Ruby bir örneğinin.
Dedi Bıraktım gibi, Ruby yazma çeşit İngilizce yazma gibi.
Bu, çok yüksek seviyeli dil var ve o gerçekten kolaylaştırır
Bize gibi şeyler söylemek için, ben istiyorum Bu tweet bir gövdeye sahip olduğundan emin olun.
Onun varlığı doğrudur.
Ve ben bu emin olmak istiyorum sadece normal Twitter gibi tweet,
140 ° C'lik bir maksimum uzunluğa sahiptir.
Bu süper sezgisel bir gerçekten harika bir dil.
>> Sonraki kadar biz görünümü var.
Yani bu HTML ve CSS içerir.
Ve burada bir görünüm bir örnek.
Ruby on Yani bir tür sorunsuz Ruby ve HTML hem de entegre
üretmek için Biz sayfada istediğimiz.
Yani bu bizim düzeni bir örnektir.
Yani bazı etiketleri görebilirsiniz sen Çocuklar HTML gibi, kullanılır, gövde,
bütün bu iyi şeyler.
>> Ve burada, olsa da, biz diyerek bazı Ruby dahil,
görüntülemek için bir mesaj varsa, daha sonra bir div mesajı görüntüler.
Yani bu çok fazla içine almazsınız.
Ancak bu, genellikle a, on-- render alır sayfası
ve ne olursa olsun sen ne sayfası üzerine, bu hale olur.
Yani bu her zaman dahil olur budur.
Serin.
>> Bir view-- diğer bir örneği, bu tüm tweet'leri seçti biri.
Ve bu bazı şeyler Oldukça tanıdık olabilir.
Yani, örneğin, burada, biz konum tweets her döngü,
ve biz onları baskı ediyoruz.
Biz olduğun yerde burada vücudu yazdırarak.
Ve Tweet'in user-- burada eğer bir Hiçbir SQL gerçek bir örnek ilgilenmektedir.
Ben sadece, soruyorum bu Tweet'in kullanıcı geçerli kullanıcı?
Sonra silmek için bir bağlantı gösteriyor.
Süper basit.
>> Kontrol ünitesi.
Yani bu, arayüz yine, model ve görünümü arasında.
Bu zor işi yapar biri bir interacting-- aracı olmak.
Bu bilgileri yükler Biz saniye içinde göreceksiniz ki, görüntülemek.
Ve sipariş etkileşim modeli ile, onu
olan modeli yöntemleri, dediği Siz fonksiyon olarak tanıdık.
>> Bu nedenle, örneğin, bu Bizim Tweet'in denetleyici.
Biraz görünebilir Şu anda yıldırıcı.
Ama aslında süper sezgisel Eğer dalış başladıktan sonra.
Yani, örneğin, bizim endekste, işte nerede tüm tweets göstermek istiyorum.
Ve böylece bu hat temelde sadece tüm tweets sorar.
Ve sonra ikimiz de başlatmak gibi pek yeni tweet--
onlar oluşturmak istiyorsanız bu sayfada yeni bir tweet.
>> Ve şimdiki kullanıcı ne olduğunu sorar.
Ve bu çok yakındır Eğer pset 7 gördüğünü işlemek,
o nerede sadece tür söylüyorum view-- bu gibi tür var,
sen değişkenleri geçen görünümüne görünümünde ihtiyacımız olacak.
Ve bir sürü var Farklı yöntemler
Bu Tweeti denetleyici işleyebilir.
>> Ama gerçekten, Raylar yapar tür büyük bir iş
Farklı ayırarak Denetleyiciniz yapabilecek eylemler.
Herhangi bir sorunuz hakkında vardır Raylar MVC parçaların herhangi?
Ile sadece bir esinti Tür.
Yani siz kontrol edebilirsiniz kendi dışarı.
Korku.
Biz devam edeceğiz.
>> Peki Rayları yükleme.
Raylar gibi, olabilir yükleme, daha yıldırıcı parçalarından biri
Bütün Rails süreç, ne yazık ki.
Ama tabii ki, tüm Bize yardım etmek çevresinde bulunmaktadır.
Ve orada bir zamanlar, Büyük kaynakların bir sürü,
Gabe belirtildiği gibi, için başlarken.
İşte bağlantılar olduğunu sırayla gerekir
Rayları indirmek için almak için makinenizde yüklü.
Açıkçası, mevcut bulunuyor Windows ve Mac hem
ve CS50 cihaz için.
Bir şey hakkında sorular biz söyledik?
>> İZLEYİCİ: Ben olurdu , actually-- ilgilenen
bu yüzden o indirilmesini biliyorum Yazılım büyük engeldir.
Varsa yeterli ilgi bir var Mini oturumu falan indirirken.
ZACK CHAUVIN: Mm-hm.
Evet.
Bu gerçekten yararlı olabilir.
Herkes gerçekten gung-ho ise onların proje için bu kullanarak
ya da gelecekte, o zaman biz kesinlikle olur Bu konuda sizinle konuşmak için mutlu.
Mm-hm.
>> İZLEYİCİ: Bir ilgili soru Ne kadar ben daha önce sordum.
Yapmış olanlarınız için hala diğer çerçeveler
Aynı yapmaya çalışıyor şey, daha kolay hale
Bir web sitesi veya inşa etmek işlevsellik, ben herhangi bir mantıklı düşünmek
biz Raylar üzerinde neden karşı Zend veya diğer çerçevelerin bazıları
ve diller.
>> ZACK CHAUVIN: Ben sadece edeceğiz Bu konuda benim 0,02 $ söylüyorlar.
Ruby on Rails seviyorum.
Ben çalışmak için şans oldu Ruby on PHP ve Ruby hem de.
Ben çok Ruby tercih Çünkü Ruby raylar.
Kesinlikle, bu onun büyük bir parçası.
Gibi, ne zaman sen senin çerçeve seçimi,
Ayrıca dilinizi seçin.
>> Yakut bence süper accessible-- olduğunu PHP çok daha iyi bir dil.
Ama bu kişisel bir tercih tür.
Yanı sıra, başka husustur çerçeve arkasında topluluk
Birlikte çalışıyoruz ki.
>> Şu anda Ruby on Rails gerçekten sıcak.
Bunun arkasında destek ton var.
Sen Stack şey sonrası Sen bir sorun hakkında Taşma
Ruby on Rails sahip, ve cevap oluyor.
Yine, açık kaynak anlamına gelir, var sürekli değişti ediliyor ki.
Insanların ton var gerçekten varız
Bu a yapma amacıyla gerçekten harika çerçeve.
Bu yüzden neden olur Ruby on Rails seçin.
Gabriel GUIMARAES: Evet.
Ben fikir olduğunu söyleyebilirim En çerçeveler arkasında sen
orada bulmak için gidiyor Çok, çok benzer, değil mi?
Model View Controller Yani, Aslında bizim denetleyicisi en emin
şey gibi bakmak için gidiyor fonksiyonların bu-- her gibi
senin sayfaların birinde gibi ve o sizi yönlendirir
ve değişkenleri başlatır.
Bunun için aynı şey olacak Eğer orada gördüğünüz her çerçeve.
Ve modeli olması oluyor.
"Aittir.", Gibi Ve şeyler yapabilirsiniz
Bunun yerine, SQL sürümünü yapıyor, Sadece, böyle yapmak, user.tweets,
ve her şeyi olsun.
Herkes bu vardır.
Ruby dışında, user.tweets yapmak, ve sonra PHP bazı çerçeveler,
Eğer user.getalltweets yapmak NEREDE benim PHP bir sorun değildir.
Gibi, bu büyük bir çizgi var.
Bu, aynı şey ama büyük bir çizgi var.
>> Yani ana nedenlerinden biri Ruby üzerinde benim tercihler.
Ben tam olarak yapmak sadece var Diğer çerçeveler aynı şey,
sadece iki kez beni alır kod olarak uzun satırları.
TAMAM MI?
>> Başka sorunuz var mı?
>> ZACK CHAUVIN: Bir şey Ben Gabe quickly-- söz edeceğiz
taşlar hakkında biraz konuştuk.
Ve bu gerçekten ben, bu demek great-- bir var Tüm çerçeveler tür ortak olan
Bir mücevher kavramının tür var ki, hangi benim küçük örnekte gibi,
Ben giriş var.
Gibi, dışarı oturum, oturum açabilirsiniz.
Gibi, bu aslında karmaşık bir sürecin tür.
Biraz ele alınmış pset 7 sizin için biraz.
Ama hala tam olarak bilmiyorum Sign-in, işaret-out uygulamak için.
Ve çünkü bu Ruby on ton
Senin için böyle şeyler yapmak taşlar.
>> Yine, yapılandırma üzerinde kongre.
Herkes yapıyor gidiyor Bu oturum açma, oturum dışarı adım.
Sadece bir paket yapmak değil neden bu kadar denir Bir mücevher Bu durumda, geliştirilmelidir.
Sadece bunu dahil.
Ve sonra bazı yardım var nasıl kullanılacağı ile çevrimiçi.
Ve endişelenmenize gerek yok Böyle bir şey hakkında.
>> Bu resim ekleme Bunun için bir mücevher seyleri.
Gibi, her zaman yapmak için çalışıyoruz Yeni bir şey, bunun için bir mücevher var.
Ve sen tür sadece Bu taşlar bir araya getirmek
ve gerçekten karmaşık inşa çok hızlı bir uygulama.
Serin.
Başka sorunuz var mı?
>> STEPHEN TÜRBAN: Woo-hoo.
Ben [duyulamaz] sanmıyorum.
>> Gabriel GUIMARAES: Tamam.
Çok teşekkürler, çocuklar.
>> STEPHEN TÜRBAN: Hoşça kal.
ZACK CHAUVIN: Hoşça kal.
>> STEPHEN TÜRBAN: Woo-hoo.
[Alkış]
>> Yay.