[Musikwiedergabe] STEPHEN TURBAN: Also ich bin Stephen Turban. Drüben auf der Seite hier, vielleicht sind wir können einige Leute zu tauchen zu bekommen. Wir haben Gabriel und Zack. Also für eine kurze Roadmap, was das wird so aussehen, Ich werde einige extrem tun High-Level-Blick auf, was MVC ist. Gabe? GABRIEL GUIMARAES: Ich bin zu gehen sprechen über Ruby und ein wenig wie Schienen funktioniert und wie es kann Ihnen helfen, Web-Anwendungen zu erstellen. ZACK CHAUVIN: Und ich bin zu gehen zeigen Sie ein konkretes Beispiel dafür, wie Rails nutzen, um zu bauen eine super genial App. STEPHEN TURBAN: Awesome. Süße. In Ordnung. Lassen Sie uns also über MVC sprechen. Lassen Sie uns also zur nächsten Folie, gehen die Ich werde mit dieser Taste zu tun. Und lassen Sie uns auf die next-- Entwicklung zu gehen, Ich mag, um zu gehen, um CVS zu denken, weil CVS ist ein Geschäft, und hat auch einen V in der Mitte. Und so stellen wir uns zu einem Geschäft. Und lassen Sie uns diesen Speicher verkaufen nur das eine. So werden wir dieses haben speichern nur verkaufen diese rote Tassen. Und stellen Sie gehen in, und Sie gehen auf den vorderen Teil des Ladens und Person. Und sein Name ist Vince. Und Vince Wellen hallo an Sie, hallo sagt. Und Sie bemerken, eine Sache, über Vince. Also, wenn wir über Vince denke, wir Gedanken über zwei Schlüssel Adjektive denken. Vince ist schön, aber er ist dumm. OK. Damit Sie wissen, kein eigenes Verschulden, leider, er ist schön. Er ist aus unserer Sicht. Unser erster Darsteller ist da. Denken Sie daran. Nun fragen Sie Vince, Sie gehen, hey Vince. Ich bin ein Kunde. Er sagt hallo. Ich möchte wirklich eine Ihrer roten Becher. Und was sagt Vince sagen? Hat jemand irgendwelche haben Ahnung, was Vince sagt? Ich werde kalt nennen. Was denken Sie Vince sagt? ZIELGRUPPE: Er sagt, ich kann Ihnen zeigen, wo es ist, aber ich kann Ihnen nicht ein. STEPHEN TURBAN: Er sagt, ich kann Ihnen zeigen, wo es ist, aber ich kann Ihnen nicht ein. Noch schlimmer. Noch jemand eine andere Ahnung, was Vince sagen könnte? ZIELGRUPPE: Er muss Prüfung gehen ob sie irgendwelche roten Becher. STEPHEN TURBAN: Vince nicht einmal, dass er hat, um zu überprüfen. Noch etwas? Also Sie sagten, muss zu überprüfen, ob er rote Tassen. Gehen Sie geradeaus. ZIELGRUPPE: Was ist eine rote Tasse? STEPHEN TURBAN: Was ist eine rote Tasse? Was ist eine rote Tasse? Vince ist verwirrt. So Vince wird zu sprechen unsere nächste Darsteller, Carl. Und wenn wir über Carl denke, wir Gotta denke über zwei große adjectives-- er ist Controlling, aber er ist nicht in der Lage. So Vince goes-- er geht, was ist eine rote Tasse? Ich weiß nicht, was ein rotes Cup ist. Er dreht sich um, und er fragt Carl. Er sagt, Carl, jemand bat um eine rote Tasse. Können Sie das tun? Und was sagt Carl sagen? Lassen Sie uns herausfinden. Hat jemand irgendwelche haben Ahnung, was Carl sagt? Und ich werde nur wiederholen sie zurück zu Ihnen. Ich sah eine Handbewegung. ZIELGRUPPE: Er sagt jemand anderes, die roten Becher bekommen. STEPHEN TURBAN: Er erzählt jemand anderes, um die rote Tasse zu bekommen. Genau. Und wir haben eine Idee, wer diese Person sein könnte? Es ist ein Hinweis. Es wird mit einem M. Mob zu beginnen? ZIELGRUPPE: Modell. STEPHEN TURBAN: Das Modell, ja. Sein Name wird nicht Modellieren leider denn das ist ein dummer Name. Wir haben Mitt. Und wenn wir über Mitt-- denken nein, das ist nicht ein Bild von Zack. Wir müssen von zwei denken Schlüssel Adjektive mit Mitt. Er ist in der Lage, aber er ist unterwürfig. So Mitt weiß, was er zu tun hat, aber er kann nicht wirklich etwas zu tun. Oder er kann wirklich nicht, selbst zu entscheiden. So haben wir Carl. Carl schreit Mitt. Und er sagt, hey Mitt, müssen wir rote Tassen. Und Mitt geht zu seinem roten Tasse Depot. Er schnappt sich eine Tasse, und er gibt sie zurück. Hat jemand irgendwelche haben Ahnung, was passiert dann? Gibt die Tasse. Bisher Mitt hat, seine roten gegangen Tasse Repository übernommen it out, überprüft es ab, sagte: Ich nahm eine rote Tasse. Und er hat die Carl ihm. Haben Sie eine Idee? Was denken Sie Carl tut? ZIELGRUPPE: Carl gibt ihn Vince. STEPHEN TURBAN: Carl gibt ihn Vince. Vince. ZIELGRUPPE: Und Vince zeigt es [unverständlich]. STEPHEN TURBAN: Genau. Also das ist genau das. So Vince nimmt den Becher, nicht einmal weiß, was es ist, aber er zeigt sie dem Benutzer. Also lassen Sie uns versuchen, neu zu erstellen das ist wirklich kurz. Und wir werden müssen drei stille Freiwilligen, wie ihr Jungs sind nicht zu in der Lage zu sprechen. So konnte ich drei greifen? OK. Wer möchten Sie sein? ZIELGRUPPE: Ich werde Vince sein. STEPHEN TURBAN: Vince, OK. Schöne, aber dumm. Großartig. Sonst noch jemand? Wir suchen nach einem suchen in der Lage, aber unterwürfig. Jeder andere wollen in der Lage sein? ZIELGRUPPE: Ich konnte Carl sein. STEPHEN TURBAN: Süße. Wir haben Carl bekam. ZIELGRUPPE: Mitt. STEPHEN TURBAN: Mitt, OK. Und wir gehen zu müssen, a-- Ich werde der Kunde. Also komm up, kommen Sie auf. Und jeder ist in Sicht? Also werde ich Vince zu fragen stehen in der Front, nur lächelnd, nur lächeln so hell wie möglich. Und wir werden Carl fragen, recht, warum gehst du nicht, wie, stehen direkt hinter ihr? Und Mitt, warum gehst du nicht gehen Sie einfach weg in den Rücken, und dann werde ich Sie eine Gruppe geben, von Bechern zu hängen mit. Also ich bin ein Kunde. Ich komme. Und ich [unverständlich] I sagen, hallo, ich möchte eine Tasse. Perfect. So Vince hat keine Ahnung. Was bedeutet Vince als nächstes tun? Vince-- OK, also werde ich zu sein, jetzt erzählen. Vince schreit Carl, Becher! Was Carl tun? Carl schreit Mitt. Mitt greift eine Tasse. Mitt gibt ihn Carl. Carl gibt sie an Vince. Und Vince zeigt sie dem Benutzer. Und dass eine hohe, hohe, hoch, so hoch, Blick auf MVC. Wir teilen sie durch einen Blick, was der Benutzer sieht, einen Controller, jemand die alles im Hintergrund tut aber wirklich nichts zu aktualisieren oder kann nichts von Bedeutung zu tun außer den Aufruf der Ansicht und das Modell. Und dann haben wir Mitt, das Modell, die aktualisiert alle Daten, die wir haben. Ich danke Ihnen so sehr für unsere schöne, Controlling und in der Lage Freiwilligen. Und ich glaube, das war es. [Applaus] Ich denke, dass Gabe wird sich jetzt sprechen auf einem hoffentlich weniger hohen Niveau. GABRIEL GUIMARAES: OK, Jungs. Nun wollen wir uns ein wenig mehr über Code und über Ruby on Rails selbst, und darüber, wie sie sich , alle diese MVC Geschichte. Grundsätzlich Ruby on Rails ist ein Framework. Mehr dazu in einer Sekunde. Aber nur, um Ihnen eine geben Sinn für wer Sie es, wie, alle diese großen companies-- so GitHub, Groupon, Twitter-- sie sind alle mit Ruby on Rails als Hauptrahmen auf ihrer Website zu implementieren. Also ich bin sicher, viele Leute haben diese Webseiten hier verwendet. Und es ist alles Ruby on Rails zu implementieren das Modell, die Aussicht und die Steuerung Auf alle diese Websites und vieles mehr. OK? Also wie gesagt, Ruby on Rails ist ein Framework. Und Sie können Art zu denken eines Rahmen im Sinne der wie ein Haus bauen. Also, wenn Sie erzeugen wollen a house-- und Sie können immer von vorne anfangen, oder? Sie können versuchen, zu kommen mit einem Weg, um das Holz zu sahen, und das Holz an den Ort zu bringen, und um die Steine ​​in die richtige Form zu bringen, und dann alles. Aber das wird dauern wahrscheinlich viele Jahre bis Sie das gesamte Material zu erhalten, und Sie haben alles zusammen zu bekommen, und Sie tatsächlich beginnen um Ihr Haus zu bauen. So stellt sich heraus, wenn Sie beginnen mit ein Rahmen mit etwas, das ist bereits Art von an Ort und Stelle für jede Art von Haus dass Sie etwas build-- wollen das ist sehr allgemein, aber dass man dann zu Ihrem eigenen Modell goals-- dann nutzen können, diese Macht der Gerüste zu bauen ihnen etwas viel, viel schneller. OK. Das ist also die gleiche Idee in ein Rahmen für eine Web-Anwendung oder für jede Art von Anwendung für diese Angelegenheit. Sie tatsächlich beginnen mit einer halben Anwendung bereits dort an Ort und Stelle für Sie. Und damit meine ich, dass wir viel Dateien, die bereits über Funktionen, wie Bibliotheken, wie Funktionalität, und Befehle, die Sie können, um laufen um Ihr Leben viel machen einfacher und leichter. OK. Also in diesem Fall, wir gehen über Ruby on Rails zu sprechen. Es gibt viele verschiedene Frameworks da draußen. Es gibt Django für Python. Es gibt Zend Framework oder Laravel für PHP. Es gibt viele verschiedene. Ruby on Rails ist ein nettes neues. Viele Leute verwenden, dass in Start-ups und diese Art von Umgebung. Und einige dieser sehr groß Unternehmen, die ich zeigte hier vor sind auch mit Ruby on Rails. Also nur, um Ihnen einen geben Sinn dessen, was Ruby ist wie, denn ihr seid mehr verwendet um, wie, C und ein bisschen PHP Jetzt, so Rubin wird sich das zu sein Äquivalent Ihre PHP in diesem Sinne. Dies ist nicht Ruby. Dies ist C. OK? Aber das ist, wie die DJBHash Funktion, die ich wissen viele Menschen verwendet für PSET Rechtschreibfehler. Und in Ruby, ziemlich ähnlich wie in PHP, die Sie könnte dies mit umsetzen nur wenige Zeilen Code. Statt sich Sorgen zu machen über die Hash-Funktion, zu müssen, um den Eimer zu kümmern, und all das kann man nur sagen, Wörterbuch = Hash.net. Und dann so etwas wie verwenden Sie die gleiche Idee, die PHP hatte. Und so ist es wahr. Und dann, wenn Sie wollen zu überprüfen, so überprüfen Sie Funktion wenn wäre Wörterbuch "foo" ist gleich ist gleich wahr, true zurückgeben. Und das ist alles, ja? So können Sie ein paar Unterschiede. Es sind keine Semikolons Hier wird, wie es in C. Aber die allgemeine Idee ist sehr ähnlich. OK? Auch in Ruby gibt es Edelsteine, die sind Art der Ruby-Bibliotheken. Und Rails mit ihnen im eine sehr schöne Art und Weise für Sie. Also, wenn Sie setzen wollen in irgendeiner Bibliothek, macht E-Mails, oder dass tut SMS, oder das macht die Integration mit Facebook, und jede Art der Sache wie die für Ihre Anwendung, es ist sehr, sehr einfach. Die Chancen stehen, können Sie etwas finden, wie das auf dem Internet. Und sie gerade tun so etwas wie die Put- Edelstein, die Sie in den Edelstein-Datei verwendet werden soll. Und dann installiert Rails alles. Sie müssen sich keine Gedanken über irgendwelche Sorgen davon, so dass ist wirklich cool. Auch, es gibt viel, viel Hilfe online. So können Sie viele Dinge finden. Wenn Sie eine Fehlermeldung, können Sie nur Google es, und es wird sein, sehr einfach zu Hilfe zu holen. Und es gibt eine Menge von fun-- exactly-- weil Sie nicht haben, um über die Low-Level-Sorgen Details, die Umsetzung der Hash-Tabellen und mit zu kommen mit allen die HTTP-Header, und viele Dinge, und sogar einige mehr Höherem Niveau. Sie haben keine Sorgen zu machen etwa, dass in Rails. Er tut es sehr, sehr schön für Sie. Und wir werden, um zu zeigen Konkreter sehr bald. OK. So etwas über Ruby erneut. So ist es nur wie C, wie ich schon sagte. Anstelle von printf, sagen wir, "Steckt", was ist "feste Zeichenketten." Es setzt eine Zeichenfolge an die Konsole. Und in diesem Fall sind wir nur Druck "Hallo Welt." Wir brauchen nicht die Klammern, aber es ist ziemlich ähnlich. Und dann, wenn Sie wollen um hier etwas zu tun, wie Drucken einer Reihe von "Smalls" und ein Haufen von "Bigs" in einer While-Schleife, es ist eine Art, wie in C, oder? Sie verfügen nicht über die params, aber es ist so ziemlich das gleiche. Die Vertiefung hier zählt, so ist x gleich 1 ist. Und dann Während x kleiner als 50-- dies ein Wenn, ist dies eine Else. Es ist ziemlich genau wie das, was du gesehen hast. Und dann x + = 1 wird nur inkrementiert, eine Art, wie dabei die ++, die Sie können tun in C. Aber es ist ziemlich viel, was man in C. sah Es sollte nicht zu kompliziert sein. Aber es ist leistungsfähiger. So gibt es ein paar Befehle hier die auf jeden Fall ein bisschen höher. So zum Beispiel, "setzt." Sie können diesen Hashtag Notation hier nur drucken something-- ziemlich genau wie das, was Sie tun, wenn würde die% D oder% C oder etwas Ähnliches. Und man kann tatsächlich legte ein Wenn direkt nach der Anweisung. Also ich will nur this-- tun Wenn x größer als 3 ist. Also warum sollte ich machen ein ganzes Wenn Block? Ich weiß nicht. Ich kann einfach nur ausdrucken wenn x gleich größer als 3 ist. Das ist also ein Weg, eine Zeile dies zu tun, in Ruby. Eine Liste in Ruby etwas sehr vielseitig. So können Sie nicht wirklich brauchen, um nur ein Typ haben. Sie können eine Zeichenfolge, und dann einige Zahlen, und was auch immer. Und wenn Sie angehängt werden soll was zu einer Liste, können Sie einfach dieses Notation finden Sie hier. Und wenn Sie durchlaufen werden soll. So ziemlich das 4each in PHP, hier können Sie eine Liste und Sie tun "List.each zu tun." Und dieses "Elem", das ist wie der Name jedes Elements daß ich werde in meiner Liste haben. Und dann kann ich einfach "legt Elem." Und "legt" ziemlich Griffe legt es für Sie, ihn zu drucken. Es spielt keine Rolle, wenn es ist ein String oder ein int. Es wird die Arbeit für Sie. Richtig? Kühle. Und genau wie PHP, Ruby und HTML Integration auch sehr, sehr schön. Und hier gibt es einige HTML mit Rubin in ihm. Wir haben also ein Body-Tag wie in HTML. Und wenn wir überprüfen möchten dass ein Benutzer, beispielsweise Sie angemeldet sind, können wir nur sagen, Anfang Ruby, wenn user.logged_in ?, Ende Ruby. Drucken Sie diese ganze Sache, die hat einige Rubin darin, das nur eine Art, wie dieser Syntax PHP, die eine variable ausdruckt. Lassen Sie ausdrucken user.name. Daher begrüßen, Stephen, innerhalb einer HTML-div. Und am Ende haben wir ein "Ende" und Ruby-Code, was bedeutet, das ist mein Wenn der Block. OK? So ist es nur wie eine nahtlose Integration zwischen Ruby und HTML. Es gibt auch viele Ressourcen. Aber bevor wir weiterziehen, hat jemand Fragen zu Ruby, was? OK. Es gibt viele Online-Ressourcen, um tryruby.org, Kodex Academy, ruby-lang.org, in dem Sie es zu versuchen auf Ihrem Browser, bevor Sie tatsächlich sagen, oh, OK, ich werde verwenden Rubin für mein Abschlussprojekt. Und so auf jeden Fall geben die einen Versuch. Alle diese Folien sind Sie online zur Verfügung stehen, so können Sie einfach herunterladen. Und ja? ZIELGRUPPE: [unverständlich] was Sie gerade zeigte, HTML wurde und der Code in Embedded- es zu dieser Idee der Model-View- Controller? GABRIEL GUIMARAES: Ja. Wir werden, dass in einem zweiten zu tun wenn wir zeigen, unserem Beispiel OK? Danke für die Frage. So war die Frage im Grunde, wenn wir Mit dieser Integration von Ruby zeigen in HTML im Modell View-Controller-Framework. So die Idee der Modell View-Controller-Framework ist es im Grunde eine Philosophie, wie Stephen zeigte hier. Und es ist nicht etwas, dass Sie zu tun haben, aber es ist etwas, das macht Ihr Leben so viel einfacher. Und Ruby on Rails gebaut um diese Philosophie der Code. So werden wir zeigen, ein Beispiel sehr bald. So Rails ist die Liebe. Viele Leute benutzen es, wie ich schon sagte. Und es macht wirklich Spaß. Ihr solltet auf jeden Fall probieren Sie es aus. MVC macht alles einfacher. Also das Model View Controller, die Trenn Dinge und setzen eine Person an sich, oder ein Teil der Anwendung zu jeder der verschiedenen Aufgaben zu erledigen dass Sie Anwendung zu tun hat. Und weniger Zeitaufwand auf Low-Level-Probleme. Und sehr beliebt im Moment. Wir haben Rails 4.0, Das ist eine neue Version. Und es kommt mit einer Menge cooler Sachen. Eine andere Frage. ZIELGRUPPE: Eine andere Frage. Ruby on Rails gegen Ruby on Rails Grails. GABRIEL GUIMARAES: OK. Die Frage war, Ruby on Rails gegen Ruby-- ZIELGRUPPE: Grails. Ruby? GABRIEL GUIMARAES: Ja. So Rubin ist die Sprache. ZIELGRUPPE: Nein Ich bitte Sie, um eine Sprache zu vergleichen und einen Rahmen, Ruby on Rails, mit einer anderen Volkssprache framework-- Grails-- mit Rubin on Rails. GABRIEL GUIMARAES: OK. Entschuldigung. Die Frage war, zu vergleichen Ruby und Ruby on Rails zu einem anderen Rahmen und another-- ZIELGRUPPE: Ruby. Es ist in Ordnung. Wenn Sie es nicht wissen, ist das in Ordnung. GABRIEL GUIMARAES: Wie, was ich verstehe ist dass-- ZIELGRUPPE: Es gibt eine andere Grails Framework aufgerufen. GABRIEL GUIMARAES: Oh, Grails. Ich habe nie davon gehört. Entschuldigung. Ich habe nie von Groovy on Rails gehört. Entschuldigung. ZIELGRUPPE: Es ist viel besser mit Java integriert. GABRIEL GUIMARAES: Ich verstehe. ZIELGRUPPE: Ich bin nur neugierig über einige Leute die ich kenne like-- GABRIEL GUIMARAES: Nein, ich habe nie gehört dieses einen, leider. Grails. ZIELGRUPPE: Und einige Leute offensichtlich wie Ruby on Rails. GABRIEL GUIMARAES: Ich habe gebrauchte Ruby on Rails viel. Ich habe einige Django verwendet mit Python, wie ich schon sagte. Ich habe einige Laravel verwendet. Aber ich hatte nicht Groovy on Rails verwendet. Entschuldigung. Und es ist sehr beliebt Jetzt mit Rails 4.0. Wie, einige der Sachen, die Schienen für Sie tut, zum Beispiel, ist Sie haben viele CSS-Dateien und viele JavaScript-Dateien. Und Sie können sie als zu behandeln getrennte und alles. Aber dann, wenn automatically-- Sie Ihren Code zu senden, die Produktion, automatisch erstellt sie alle in einer einzigen Datei das ist ohne minimierte Räume, so daß es sich weniger Platz in Ihrer Anwendung, so dass man wirklich die Dinge zu skalieren viel. Das ist, warum so große Unternehmen wie Twitter und GitHub werden mit Rails, weil sie alle tut das für Sie, was wirklich cool ist. Eine Sache, die sehr ist, sehr, sehr entmutigend für Menschen, mich eingeschlossen, die versuchen, arbeiten werden einen Rahmen zu Beginn ist dass, wenn Sie sich eine Anwendung zu starten, wirst du eine Reihe von Dateien zu sehen. Wie, wenn Sie zu erstellen Rails Neue, meine Anwendung, wirst du all dies zu sehen folders-- app, bin, Config, db, lib, log, öffentliche. Wie, viel, viel Zeug. Und das erste Mal, dass ich das sah, dachte ich, OK, ich habe keine Ahnung, was los ist. Ich möchte nur eine erstellen Website mit "Hallo Welt" und das wird mir geben, wie, 100 Milliarden verschiedene Seiten. Ich weiß nicht, was los ist. Also bitte nicht zu eingeschüchtert durch das sein. Die Idee ist, dass er tatsächlich über die Hälfte eines Hauses für Sie bereits. Es hat eine ganze Rahmen für Sie bereits. Das ist, warum gibt es so viele Dateien. Aber das Schöne daran ist, dass es trennt sie alle sehr schön. Die Chancen stehen, müssen Sie nicht Sorgen zu machen über die meisten dieser Ordner. Der wichtigste, I sagen würde, ist die App-Ordner, wo Ihre Anwendung tatsächlich lebt. So ist die Konfiguration, du bist zu gehen haben ein paar Sachen zu konfigurieren, wie Sie Ihre Datenbank und Dinge wie welche Art von Datenbank, die Sie verwenden. Aber anders als das, wie die meisten Ihre Arbeit wird sich in App erfolgen. So in App, müssen Sie Vermögenswerte, Controller, Helfer, Mailings, Modelle, Blick. Hier also, zu sehen, dass Sie beginnen Controller, Modelle und Ansichten kommen ins Spiel. Versandtaschen sind nur, wenn Sie wollen Emails zu versenden. Helfer, wenn Sie wollen Einige Funktionen erstellen dass Sie eine Menge in der Ansicht zu verwenden. So können Sie sie setzen in Helfer. Und Vermögenswerte ist im Grunde alle Ihre Bilder, alle Ihre CSS, alle Ihre JavaScript und wie diese Arten Dinge, die an den Client gesendet zu werden. Und alles, was in den Aktiva ist, dass ich schon sagte, wird minimierte. Es ist zusammengestellt. Und Sie haben nicht wirklich zu kümmern dass, wenn es geht um Produktionscode. Kühle. Jetzt Zack los zu kommen, und er ist werde ein Beispiel Twitter50 tun. ZIELGRUPPE: Woo-hoo! ZACK CHAUVIN: Awesome. So hatte ich die Chance, zu arbeiten mit Ruby on Rails in diesem Sommer. Es ist eine erstaunliche Rahmen. Ich bin sehr teilweise zu. Und ich werde nur zeigen Ihnen ein wenig ein Beispiel dafür, was es aussehen könnte. Springen Sie über den Chrome. So ist dies ein Beispiel für eine sehr einfache Ruby on Rails application-- etwas wie das ist etwas, dass Ruby wirklich glänzt dass-- genau dort, wo Sie Ihren Modelle sind sehr gut definiert. In diesem Beispiel werden Sie sehen, zwei verschiedene Modelle, die sind, dass wir Nutzer und wir haben Tweets. Das ist also Twitter50, Harvard eigenen Twitter. Wie Sie sehen, ich bin in sozack angemeldet. Und ich bin in der Lage, neue Tweets zu machen. So think-- ich: "Das ist ein" - sorry? ZIELGRUPPE: [unverständlich]. ZACK CHAUVIN: Oh, OK. Brauchen Sie, um den Server zu stoppen. Ausgezeichnet. So, hier sind wir. Wie Sie sehen können, haben wir unsere Twitter-Anwendung finden Sie hier. Und es ist super einfach, um den Server zu starten. Wir werden einfach zu tun "Schienen-Server." Großartig. OK. Vielen Dank dafür. So, jetzt sind wir laufen. Und wir werden sagen: "Das ist eine wunderbare Seminar. " Und lassen Sie uns sehen, was passiert. Also werden wir darüber zu twittern. Unten an der Unterseite, können Sie sehen, jetzt gibt es mehr als drei Tweets. So haben wir ein wenig der Seitenumbruch geht. Und wir haben diesen Tweet. Und ich kann auch durch meine Suche tweets-- Suche für diese und die zwei diejenigen, die das Wort haben "This" in sie auftauchen. Wir können auch Tweets löschen, indem Klick auf die kleine Schaltfläche Löschen. Und natürlich kann ich nur löschen die Post, die zu mir gehörte. Schon fast haben wir die Funktionalität von Twitter. Wie, wenn man darüber nachdenkt, Twitter wirklich nicht allzu viel zu tun. Es hat Benutzer, es tweets hat. Es gibt einige komplexere Funktionen. Aber wenn Sie wirklich unten, um es, es ist eine ganz einfache Ruby on Rails app. Und so etwas wie dieses, mit einem gutes Verständnis für Ruby on Rails, Sie könnten wahrscheinlich machen in ein oder zwei Stunden. Und das kommt wirklich zurück zum Ruby-Mantra, was Konvention über Konfiguration. Also zurück in den Tag, die Menschen, zu jeder Zeit sie wollten, diese Website zu machen, müssten bei Null anfangen. OK, ich möchte eine Website zu machen. Lassen Sie uns diese Datei zu machen und Diese Datei und diese Datei. Mit Ruby on Rails, gibt es nichts dergleichen. Sie sagen, ich will eine neue App. Und genau wie Gabe zeigte uns, es schafft die gesamte Dateistruktur für uns. Und wir ändern Sie einfach die kleine Teile, die wir brauchen, um. Wir passen genau das, was ist das Besondere an unserer App. Kühle. So geht zurück auf unsere Präsentation preview-- interessant. Wo muss ich präsentieren? ZIELGRUPPE: Vollbild. Oben rechts. ZACK CHAUVIN: Ausgezeichnet. Kühle. OK. Also zunächst einmal, das Modell. Stephen hat einen tollen Aufgabe skizziert MVC. Und jetzt werden wir beziehen dass wieder auf Ruby on Rails. So können Sie das Modell Art denken an, wie die Datenbank. Sie habe da diese in CS50 Finanzen, wo die Modellgeschäfte die Informationen über wie viele Aktien, die Sie haben, oder alle Transaktionen, die Sie vorgenommen. Dies ist ein Beispiel von eine Reihe von, wie Sie es gehen darum, ein neues Modell in Rails. Deshalb möchte ich einen Benutzer. Es wird eine haben E-Mail, die ein String ist, und ein Passwort, welches ist auch der String. So ist es wie those-- Ich möchte jede Zeile in meinem Tisch der Nutzer so aussehen. Ein wirklich genial Teil über Rails ist, dass es macht es unnötig, schreiben Sie einen beliebigen SQL ziemlich. Wie viele von euch geliebt Schreiben von SQL in PSET 7? Genau. SQL ist nicht sehr benutzerfreundlich. Und Rails abstrahiert alles weg mit diesen einfach Befehle. So zum Beispiel, wenn wir ein Nutzer hat ein Benutzer viele Tweets. Und für jeden von denen tweets zu einem Benutzer. Also, wenn Sie hier, folgt aussehen ist unser Modell für unsere tweet. Und alles, was wir zu sagen haben ist Dieses Einzel line-- Ich bin ein tweet und ich gehöre zu einem Benutzer. Und mit dieser einzelnen Zeile und einer wenig Datenbankkonfiguration Rails stellt diese Beziehung. Jederzeit kann ich nur sagen, zack.tweets, wie, geben Sie mir alle Zack Tweets. Kein SQL. Super einfach. Auch hier ist das Übereinkommen über Konfiguration ins Spiel kommen. Sie können ein wenig zu sehen eines Beispiels Rubin hier. Wie Gave sagte, das Schreiben Ruby ist Art wie das Schreiben von Englisch. Es ist ein sehr Hochsprache, und es macht es einfach für uns Dinge wie zu sagen, ich will stellen Sie sicher, dass diese tweet hat einen Körper. Seine Anwesenheit ist wahr. Und ich will, um sicherzustellen, dass diese tweet, wie normale Twitter, hat eine maximale Länge von 140. Es ist super-intuitive, ein wirklich toll Sprache. Weiter oben haben wir die Aussicht. Also das geht HTML und CSS. Und hier ist ein Beispiel für eine Ansicht. So Ruby on Rails Art nahtlos integriert sowohl Ruby und HTML Zur Erzeugung was wir wollen, auf der Seite. Also das ist ein Beispiel für unser Layout. So können Sie einige Tags sehen, dass Sie Jungs wie HTML verwendet, Körper, alles, gute Sachen. Und genau hier, aber wir beinhalten einige Rubin mit den Worten: wenn es eine Nachricht angezeigt, zeigt dann die Nachricht in einem div. Also werde ich nicht zu viel in das zu bekommen. Aber dies ist im allgemeinen ein Seite, die an-- gerendert wird und egal, welche Seite Sie auf, wird dieses wiedergegeben. Also das ist, was wird immer inklusive. Kühle. Ein weiteres Beispiel eines --neueste dies die, wo es entschieden alle Tweets. Und etwas über dieses Thema könnte ziemlich bekannt vorkommen. So zum Beispiel, hier sind wir Schleife durch jede der Tweets, und wir drucken sie aus. So, hier ist, wo wir sind Ausdruck des Körpers. Und wenn der tweet die user-- hier eine reales Beispiel ohne SQL beteiligt ist. Ich frage nur, das ist tweet die Benutzer der aktuelle Benutzer? Dann zeigen Sie einen Link, um es zu löschen. Es ist super einfach. Der Controller. So ist dies wiederum die Schnittstelle zwischen dem Modell und der Ansicht. Es ist das eine, die die harte Arbeit von interacting-- dass der Mittelsmann. Er lädt Informationen für die sehen, was wir in einer Sekunde sehen. Und damit zu interagieren mit dem Modell, das ruft Modell Methoden, die sind, was ihr seid als Funktionen vertraut. So zum Beispiel ist dies Steuerung unseres Tweet. Es könnte ein wenig aussehen jetzt entmutigend. Aber es ist tatsächlich Super intuitive sobald Sie anfangen Tauchen in. So zum Beispiel in unserem Index, das ist wo wir wollen, alle Tweets zu zeigen. Und so diese Linie im Grunde nur fragt für alle Tweets. Und dann haben wir beide zu initialisieren die neuen tweet-- so wie wenn sie eine erstellen möchten neue tweet auf dieser Seite. Und es fragt, was der aktuelle Benutzer. Und dies ist sehr ähnlich dem machen, dass Sie in PSET 7 gesehen haben, wo es nur irgendwie sagen die --neueste es ist eine Art, wie, vorbei an den Variablen, die Sie werde in der Ansicht auf die Ansicht benötigen. Und es gibt eine ganze Reihe unterschiedlicher Methoden dass Controller diesen Tweet zu verarbeiten kann. Aber wirklich, tut Rails einen tollen Job der Art der Einteilung in die verschiedenen Aktionen, die der Controller tun könnte. Gibt es irgendwelche Fragen zu eine der MVC Teile Rails? Art nur eine Brise durch. So euch kann überprüfen es auf eigene Faust. Ehrfürchtig. Wir werden weitermachen. So installieren Rails. Installation von Rails könnte sein, wie, einer der gewaltige Teile der gesamte Rails Verfahren, leider. Aber offensichtlich allen wir sind um zu helfen. Und wenn es dort, viele große Ressourcen, als Gabe erwähnt, für die ersten Schritte. Hier sind die Links, Sie benötigen, um Rails herunterladen um es zu bekommen auf Ihrem Rechner installiert. Offensichtlich ist es verfügbar für Windows und Mac und für den CS50-Appliance. Fragen über alles haben wir gesagt? ZIELGRUPPE: Ich wäre interessiert, actually-- damit ich weiß, dass das Herunterladen Software ist das größte Hindernis. Wenn es genug Interesse, um eine haben Herunterladen von Mini-Sitzung oder so etwas. ZACK CHAUVIN: Mm-hm. Ja. Das könnte sehr hilfreich sein. Wenn jemand wirklich übereifrig zu mit dieser für ihr Projekt oder in der Zukunft, dann auf jeden Fall würden wir gerne, um Sie darüber zu sprechen. Mm-hm. ZIELGRUPPE: Eine verwandte Frage zu dem, was fragte ich vor. Für diejenigen unter Ihnen, die getan haben, andere Frameworks, die noch versuchen, dasselbe zu tun Sache, erleichtern um eine Website oder ein zu bauen Funktionalität, denke ich keinen Sinn der Grund, warum wir würden on Rails ist gegenüber Zend oder einige der anderen Frameworks und Sprachen. ZACK CHAUVIN: Ich werde einfach sagen, dass meine $ 0,02 darüber. Ich liebe Ruby on Rails. Ich habe die Chance, zu arbeiten sowohl in PHP und Ruby on Rails. Ich bevorzuge Ruby on Schienen wegen der Ruby. Auf jeden Fall, das ist ein großer Teil davon. Wie, wenn Sie unterwegs sind Auswahl Ihres Rahmens, Sie auch Ihre Sprache zu wählen. Rubin ist super accessible-- Ich denke, eine viel bessere Sprache als PHP. Aber das ist eine Art des persönlichen Geschmacks. Wie gut, ist eine andere Überlegung die Gemeinde hinter dem Rahmen dass mit dem Sie arbeiten. Gerade jetzt Ruby on Rails ist wirklich heiß. Es gibt Tonnen von Unterstützung dahinter. Sie buchen etwas auf Stapel Überlauf über ein Problem bist du mit in Ruby on Rails, und es ist beantwortet. Wieder ist es Open Source, was bedeutet, dass es ständig verändert. Es gibt Tonnen von Menschen die wirklich gewidmet sind um so diese ein wirklich genial Rahmen. Also das ist, warum ich würde wählen Ruby on Rails. GABRIEL GUIMARAES: Ja. Ich würde sagen, dass die Idee, hinter den meisten Frameworks Sie herausfinden, gibt es sehr, sehr ähnlich, nicht wahr? Also das Model View Controller, die Tatsache, dass unsere Controllers werde wie etwas aussehen wie this-- jede der Funktionen ist wie eine Ihrer Seiten, und leitet Sie, und initialisiert die Variablen. Das wird das Gleiche für sein jeden Rahmen, der euch da draußen zu sehen. Und es geht um das Modell. Und du Sachen machen können wie: "gehört." Also anstatt die SQL-Version, Sie gerade, wie, zu tun, user.tweets, und Sie bekommen alles, was. Jeder hat das. Außer in Ruby, user.tweets tun Sie, und dann einige Frameworks in PHP, Sie user.getalltweets tun Wo meine PHP ist kein Problem. Wie, ist es eine große Linie. Es ist die gleiche Sache, aber es ist eine große Linie. Also das ist einer der Hauptgründe, meine Präferenzen über Ruby. Es ist nur, dass ich genau das tun, dasselbe in einem anderen Rahmen, es nimmt mich nur zweimal so lange Zeilen Code. OK? Noch Fragen? ZACK CHAUVIN: Etwas Ich werde erwähnen quickly-- Gabe sprach ein wenig über Edelsteine. Und das ist ein wirklich great-- Ich meine, diese ist eine Art, die für alle Rahmenbedingungen, , dass es eine Art Edelstein-Konzept, Das ist wie in meiner kleinen Beispiel Ich habe einloggen. Wie können Sie sich angemeldet haben, melden Sie sich ab. Wie, das ist tatsächlich Art eines komplexen Prozesses. Es war ein wenig bearbeitet Bit für Sie in PSET 7. Aber ich habe noch nicht in vollem Umfang, wie zu implementieren Anmelde, Zeichen-out. Und das ist, weil Ruby on Rails hat Tonnen der Edelsteine, die Sachen wie, dass für Sie tun. Auch Konvention über Konfiguration. Jeder wird zu tun Dieses Anmelde, Abmelde Schritt. Also warum nicht einfach ein Paket zu machen, die so genannte Entwickeln Sie in diesem Fall, der ein Juwel ist. Sie sind es einfach. Und dann ist da etwas Hilfe online wie man es benutzt. Und Sie müssen sich keine Sorgen machen über so etwas. Anbringen Bilder zu dieser things-- einen Edelstein dafür. Wie, wenn Sie versuchen zu tun etwas Neues, es ist ein Juwel für die. Und Sie sich irgendwie einfach Stück zusammen diese Edelsteine und bauen eine wirklich komplexe Anwendung sehr schnell. Kühle. Noch Fragen? STEPHEN TURBAN: Woo-hoo. Ich glaube nicht, dass [unverständlich]. GABRIEL GUIMARAES: OK. Vielen Dank, Jungs. STEPHEN TURBAN: Buh-bye. ZACK CHAUVIN: Buh-bye. STEPHEN TURBAN: Woo-hoo. [Applaus] Yay.