Robi bo musi, czy Ruby bo lubi?

Slides:



Advertisements
Podobne prezentacje
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Advertisements

Mgr inż.Marcin Borkowski Podstawy Java Część II
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Implementacja ekstensji klasy
Nguyen Hung Son Uniwersytet Warszawski
Marcin Pamuła Mateusz Stefek
Model – View - Controler
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Tablice jednowymiarowe 1
Koordynatorzy: Krzysztof BIKONIS Marek MOSZYŃSKI
Języki programowania obiektowego
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
.NET Remoting Łukasz Zawadzki.
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.
Java – programowanie obiektowe
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Test Doubles Adam Gabryś , v1.1,
Podstawy C# Grupa .NET PO.
Zastosowanie frameworka Kendo UI w aplikacjach ASP.NET MVC
Integracja aplikacji Wykład 2
P ISZ MNIEJ, RÓB WIĘCEJ - ZASTOSOWANIE J Q UERY Kamil Szumański s4126.
O Rubym słów kilka… Simple Pinger O mnie: Maciej Mensfeld ruby
Adrian Bareja, I EMiI II st.. Ruby Rails MVC (Model-View-Controller) Model Widoki Kontrolery.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
Refaktoryzacja Robert Pająk.
Programowanie Windows na przykładzie C# część 1
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Seminarium problemowe
JAVA.
XML – eXtensible Markup Language
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
Systemy zarządzania treścią Wykład 5
Programowanie sieciowe w Javie
OCPJP Inner classes.
Projektowanie stron WWW
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
World Down Syndrome Day 2014
Entity Framework worth it or not?
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
OOP, Desing Patterns … and more Michał Dubel
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
do programowania obiektowego w języku Groovy
Visual Basic przygotował Michał Miłek Visual Basic – język programowania wysokiego poziomu i narzędzie programistyczne firmy Microsoft. Składnia jest oparta.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
W pełni obiektowyInterpretowany i kompilowany Kompilowany do JVM Bytecode Umożliwia korzystanie z bibliotek Java Skonstruowany z myślą o wysokiej produktywności.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
Sieci Komputerowe Prezentacja na temat języka programowania Ruby Piotr Klejment Krzysztof Kornaszewski.
Programowanie Obiektowe – Wykład 6
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
(według:
Realizacja aplikacji internetowych
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Programowanie Obiektowe – Wykład 2
AOP – Aspect Oriented Programming
Programowanie obiektowe – zastosowanie języka Java SE
NEMERLE Michał Maliszewski.
BYDGOSKI FESTIWAL NAUKI
Polish L3 Learning Pack Saying your name
PGO Dziedziczenie Michail Mokkas.
Programowanie w Javie 1 Dr Robert Kowalczyk
Object vs. class (rozdzial 13 The NEURON book)
Zapis prezentacji:

Robi bo musi, czy Ruby bo lubi? O Rubym słów kilka… Robi bo musi, czy Ruby bo lubi? O mnie: Maciej Mensfeld ruby developer@wordwatch.com maciej@mensfeld.pl dev.mensfeld.pl github.com/mensfeld Maciej Mensfeld

Robi bo musi, czy Ruby bo lubi? O Rubym słów kilka… Robi bo musi, czy Ruby bo lubi? Powiedz mi… …jeśli mówię za szybko; …mam coś powtórzyć; …mam coś wyjaśnić bardziej; …jeśli masz jakieś pytania Maciej Mensfeld

O Rubym słów kilka… Ruby WT*? Ruby -> obrazki Maciej Mensfeld

(a do tego można w nim programować Lego ^^) O Rubym słów kilka… Czym jest Ruby? Ruby jest jak Iron Man: Błyszczy; Jest czerwony; Bywa ciężki; Wygodny w użyciu; Działa na prąd; (a do tego można w nim programować Lego ^^) Maciej Mensfeld

O Rubym słów kilka… Czym jest Ruby? W pełni obiektowy (liczby, booleany i wszystko inne to obiekty) Stworzony przez Yukihiro Matsumoto w1993; Darmowy i open-source; Wygodna, łatwa do zrozumienia składnia; Wiele zastosowań (aczk. głównie webowe); Może być rozszerzany innym kodem w Rubym i C; Duża pomocna społeczność; Maciej Mensfeld

Społeczność i propaganda! O Rubym słów kilka… Społeczność i propaganda! Maciej Mensfeld

O Rubym słów kilka… Co lubi Ruby? Ruby lubi rozmawiać! Maciej Mensfeld

O Rubym słów kilka… Kto używa Rubiego? Maciej Mensfeld

Czym Ruby nie jest? Uniwersalnym rozwiązaniem na marnych programistów; O Rubym słów kilka… Czym Ruby nie jest? Uniwersalnym rozwiązaniem na marnych programistów; Językiem do wszystkiego (i niczego); Iron Manem ;) Językiem do naprawdę małych aplikacji; Pythonem; Lepszym PHPem; Czymś co działa na Windowsie; Maciej Mensfeld

Czytelność ponad czytalność O Rubym słów kilka… Czytelność ponad czytalność Maciej Mensfeld

Czytelność ponad czytalność O Rubym słów kilka… Czytelność ponad czytalność Java: public class HelloWorld{ public static void main(String args){ System.out.println(„Hello World”); } Ruby: puts „Hello World” Maciej Mensfeld

Wygodna składnia && obiekty, obiekty, obiekty… O Rubym słów kilka… Wygodna składnia && obiekty, obiekty, obiekty… 3.times { puts „Ruby is cool”} [„Maciek”, „John”, „Anna”].first #=> „Maciek” [„Maciek”, „John”, „Anna”].last #=> „Anna” attr_accessor :name „Anna”.class #=> String nil.class #=> NilClass 1.class #=> Integer {}.class #=> Hash [].class #=> Array self.class #=> Object (0..9).class #=> Range Maciej Mensfeld 6/23

Ruby syntax – klasy, metody, obiekty O Rubym słów kilka… Ruby syntax – klasy, metody, obiekty Try it out! # Comments starts with „#” class Messenger def initialize(name) # instance variables starts with „@” @name = name end public def hello puts „Hello #{@name }!” Hello YourName! as an object msg = Message.new(„Maciek”) msg.hello #=> „Hello Maciek!” Maciej Mensfeld

Nie ma w Rubym standardowej pętli„for”! O Rubym słów kilka… Ruby syntax – pętle Ruby: friends.each{|friend| puts friend } C: for(i=0; i<number_of_elements;i++) { print element[i] } 10.times {|i| puts i } 10.downto(1){|i| puts i } Nie ma w Rubym standardowej pętli„for”! Maciej Mensfeld

Ruby craziness - symbole O Rubym słów kilka… Ruby craziness - symbole Zapytaj programistę Rubiego czym są symbole ;) Często usłyszysz odpowiedź, że one po prostu są! Symbole to instancje obiektów klasy Symbol. Symbole tworzy się dając dwukropek przed ich nazwą: :name, :id, :user OMG symbols are so weird… Symbole wykorzystywane są często do tworzenia hashy (słowników): h = {:name => "Jayson", :email => „test@gmail.com"} Zaletą symboli jest to, że przechowywane są w pamięci jako integery. Żaden symbol nigdy nie będzie większy niż integer. Symbole służą lepszemu wykorzystaniu pamięci. Maciej Mensfeld

Ruby craziness - symbole O Rubym słów kilka… Ruby craziness - symbole Kiedy wykorzystujemy stringi, za każdym razem tworzona jest ich nowa instancja. W przypadku symboli, wykorzystywane są te załadowane do pamięci (można je trochę traktować jak singletony) puts "name".object_id puts :name.object_id Vs: puts "name".object_id == "name".object_id puts :name.object_id == :name.object_id Maciej Mensfeld

O Rubym słów kilka… Ruby on Rails Maciej Mensfeld

Czym są Railsy? Frameworkiem do aplikacji webowych O Rubym słów kilka… Czym są Railsy? Frameworkiem do aplikacji webowych Railsy zostały napisane w Rubym Rosnąca społeczność Open source Celem nadrzędnym jest produktywność i poprawa jakości wytwarzanego oprogramowania Maciej Mensfeld

O Rubym słów kilka… Ruby on Rails Na rynku istnieje masa frameworków które mniej lub bardziej nadają się do użytku, jednak… Maciej Mensfeld

3-4 szybciej niż dev w Zendzie O Rubym słów kilka… Ruby on Rails Ruby on Rails daje deweloperom możliwość wytwarzania oprogramowania wysokiej jakości, w stosunkowo krótkim czasie; Konwencja ponad konfigurację KISS – Keep it simple stupid 3-4 szybciej niż dev w Zendzie Maciej Mensfeld

Ruby on Rails – dlaczemu? O Rubym słów kilka… Ruby on Rails – dlaczemu? Zaprojektowane aby developerka, deploy oraz utrzymanie były możliwie proste MVC DRY koncept Don’t Repeat Yourself (DRY) Every piece of knowledge should be expressed in just one place Maciej Mensfeld

O Railsach słów kilka… MVC Maciej Mensfeld

O Railsach słów kilka… Rails MVC Maciej Mensfeld

O Railsach słów kilka… Model…e ;) Maciej Mensfeld

O Railsach słów kilka… ActiveRecord Maciej Mensfeld

O Railsach słów kilka… ActionController Maciej Mensfeld

ActionController – REST O Railsach słów kilka… ActionController – REST Maciej Mensfeld

O Railsach słów kilka… ActionView Maciej Mensfeld

O Railsach słów kilka… ActionView templates ERB – templates with HTM and Ruby code – used to display dinamic stuff from prepared by controllers Maciej Mensfeld

Testy. Testy? Testy! Rspec Selenium Rcov Cucumber MiniTest Itd O Rubym słów kilka… Testy. Testy? Testy! Rspec Selenium Rcov Cucumber MiniTest Itd Maciej Mensfeld

O Rubym słów kilka… Testy Maciej Mensfeld

Ruby on Rails – kto z tego korzysta? O Rubym słów kilka… Ruby on Rails – kto z tego korzysta? Maciej Mensfeld

Maciej Mensfeld Live long and prosper! Presented by: O Rubym słów kilka… Live long and prosper! Presented by: Maciej Mensfeld maciej@mensfeld.pl dev.mensfeld.pl github.com/mensfeld Maciej Mensfeld 30/30