Ruby i Rails
od podstaw

Krzysztof Kempiński
@k_kempinski
Historia Ruby i Rails
Rozdział 1
1
HISTORIA RUBY I RAILS
Historia Ruby
HISTORIA RUBY

- powstaje w 1995 roku
- Yukihiro "Matz" Matsumoto
- MINASWAN (ang. Matz is nice and so we are nice)
- inspirowany przez Perl, Smalltalk, Eiffel, Ada i Lisp
- dynamiczny
- wieloparadygmatowy
- wieloplatformowy
- wielorakie zastosowania
HISTORIA RUBY

- od 2003 roku zyskuje na popularności dzięki Rails
- wiele implementacji (Matz’s Ruby Interpreter)
- aktualnie wersja 2.6.0
- 18. miejsce w Tiobe Index
- przyszłość to Ruby 3x3
2
HISTORIA RUBY I RAILS
Historia Rails
HISTORIA RAILS
- Ruby on Rails to framework aplikacji webowych działających po stronie serwera
- skrótowo Rails
- David Heinemeier Hansson
- grudzień 2005 roku
- na bazie kodu Basecamp
HISTORIA RAILS
- sierpień 2006 r. Apple ogłasza, że będzie dostarczany wraz z Mac OS X 10.5
- wersja 2.3 wydana w 2009 roku przynosi istotne elementy: templates, Rack, engines
- Rails 3.0 - połączenie z Merb (2008)
- sierpień 2011 - wersja 3.1 (assets pipeline i CoffeeScript, Saas i jQuery)
- 2013 - wersja 4.0 (ulepszenie w cachowaniu i turbolinks)
HISTORIA RAILS
- 2016 - wersja 5.0, Action Cable i API mode
- kwiecień 2018 - wersja 5.2 - ActiveStorage
- najnowsza wersja to 5.2.2
- wersja 6.0 planowana na kwiecień 2019
- rozwój kontrolowany przez DHH
3
HISTORIA RUBY I RAILS
Nauka Ruby i Rails
NAUKA RUBY I RAILS
PRAKTYKA
POSZERZANIE WIEDZY
PROJEKTY OPEN SOURCE
PYTAJ
Instalacja
Rozdział 2
1
INSTALACJA
Instalacja Ruby
Instalacja RUBY z plików źródłowych
https://www.ruby-lang.org/pl/downloads/
$ ./configure
$ make
$ sudo make installInstalacja RUBY poprzez systemy zarządzania pakietami
apt (Debian lub Ubuntu)
$ sudo apt-get install rubyHomebrew (macOS)
$ brew install rubyInstalacja RUBY poprzez narzędzia wspomagające
RVM (Ruby Version Manager, Linux i macOS)
$ curl -sSL https://get.rvm.io | bash -s stableRubyInstaller (Windows)
https://rubyinstaller.org/downloads/rvm.io
2
INSTALACJA
Instalacja Rails
Instalacja RAILS
macOS i Linux
$ gem install rails --no-ri --no-rdoc$ rails --version
Rails 5.2.2Instalacja RAILS
Windows i macOS
http://railsinstaller.org/enInstalacja RAILS - dodatkowe pakiety
- NodeJS
- baza danych - MySQL lub PostgreSQL
Ekosystem
Rozdział 3
1
EKOSYSTEM
Konsola Ruby
2
EKOSYSTEM
Gems i bundler
3
EKOSYSTEM
Testowanie kodu
EKOSYSTEM - TESTOWANIE
Zapewnienie jakości
Testy manualne
Testy automatyczne
Testy akceptacyjne
(ang. acceptance test)
Testy jednostkowe
(ang. unit test)
rspec
cucumber
Typy danych
Rozdział 4
1
TYPY DANYCH
Liczby, stringi, symbole, stałe
2
TYPY DANYCH
Tablice i hashe
3
TYPY DANYCH
Obiekty, zmienne i wyrażenia
OBIEKTY, ZMIENNE, WYRAŻENIA
- klasa to wzorzec, stempel
- obiekt to odbitka, konkretny egzemplarz
- w Ruby wszystko jest obiektem
-
Object > Kernel > BasicObject
- #is_a?
4
TYPY DANYCH
Przedziały, wyrażenia regularne
PRZEDZIAŁY
- reprezentują ciąg wartości
- tworzone z wykorzystaniem X..Y lub X...Y
- jako sekwencje
- w konstrukcjach warunkowych
- jako interwały
WYRAŻENIA REGULARNE
- mini język do opisywania wzorca tekstu
- służą wyszukiwaniu lub dopasowywaniu
-
/WZORZEC/modyfikatory
Sterowanie przebiegiem
Rozdział 5
1
EKOSYSTEM
Instrukcja "if"
INSTRUKCJA "IF"
if conditional_1
code...
[elsif conditional_2
code...]...
[else
code...]
endINSTRUKCJA "UNLESS"
unless conditional
code
[else
code ]
endINSTRUKCJA "IF"
code if condition code unless conditional
4
STEROWANIE PRZEBIEGIEM
Wyjątki
WYJĄTKI
- ang. exceptions
- coś poszło nie tak
- ale gdzie i która linia kodu to spowodowała?
WYJĄTKI
- własna klasa wyjątku
- gdzie i jak stosować?
Copy of Kurs Ruby i Rails od podstaw
By eduweb
Copy of Kurs Ruby i Rails od podstaw
- 335