Przedstawiam listę darmowych kursów i zasobów do nauki języka Ruby i frameworka Ruby On Rails. Ta lista może okazać się pomocna dla osób chcących zacząć swoją przygodę z językiem Ruby oraz tych, które chcą zwiększyć swoje umiejętności w tej technologii.

Logo Ruby On Rails

Źródło: Google Grafika

Wymagania

Pierwszym i jedynym wymaganiem jest znajomość języka angielskiego. Większość materiałów i zasobów dotyczących programowania jest w języku angielskim właśnie.

Na szczęście wystarczy podstawowa znajomość języka i trochę dodatkowego słownictwa związanego z tematyką programowania.

Pod koniec tego wpisu podaję alternatywę dla instalowania dodatkowych programów na swoim komputerze. Instalacja samego Ruby jest dość prosta, natomiast jeśli ktoś chce tylko spróbować swoich sił i nie chce poświęcać swojego czasu na konfigurowanie różnych rzeczy, może skorzystać z innych rozwiązań.

Kursy Ruby

W pierwszej części skupię się na kursach, które opierają się na standardowej formule, zakładającej podział materiału na krótsze rozdziały. Następnie przejdę do kursów zorientowanych na wykonanie określonego projektu krok po kroku. Wiem, że część osób preferuje to drugie podejście, dlatego zamieszczam obydwa rodzaje kursów.

Try Ruby

Zrzut ekranu portalu try ruby org

Jest to krótki dwudziestominutowy kurs absolutnych podstaw języka Ruby. Składa się z kilku prostych zadań i nie wymaga żadnego oprogramowania. Całość działa w przeglądarce i jest zupełnie darmowa.

Codecademy

Zrzut ekranu portalu codecademy

Platforma do nauki programowania, darmowa w swojej podstawowej wersji. Oferują dość dobrze przemyślaną ścieżkę dla podstaw języka Ruby. Tak jak poprzednia pozycja nie wymaga instalowania czegokolwiek na własnym komputerze. Jedyne wymaganie to założenie bezpłatnego konta w serwisie.

Learn Ruby The Hard Way

Zrzut ekranu portalu Learn Ruby The Hard Way

Kompletny kurs składający się z 52 ćwiczeń. Autor proponuje wiele samodzielnych ćwiczeń do wykonania. Każde z nich ma pomóc w zapoznaniu się z kolejnymi aspektami języka.

Learn To Program

Bardzo szczegółowy kurs skierowany do osób zaczynających dopiero swoją przygodę z programowaniem. Zawiera obszerne opisy podstawowych zagadnień.

Ruby Learning

Rozbudowany i dość szczegółowy kurs. Moim zdaniem odpowiedni dla osób obeznanych z podstawami języka, chcących pogłębić swoją wiedzę.

Tutorials Point Ruby

Kompletny przewodnik dla osób zaczynających swoją programistyczną drogę z Ruby. Zawiera opisy od podstaw do zaawansowanych tematów. Kurs podzielony jest na pojedyncze rozdziały.

Ruby-lang.com

Oficjalna dokumentacja języka Ruby. Przydatna dla osób znających podstawy tego języka. Zawiera kompletny spis klas i metod dostępnych dla programisty. Szczególnie przydatne jako materiał referencyjny w trakcie programowania.

Ruby Koans

Głównym założeniem jest uzupełnianie wcześniej napisanych testów. Testy są ułożone w kolejności, pozwalającej stopniowe poznawanie nowych zagadnień. Jest przydatny dla osób posiadających podstawową wiedzę, które chcą pogłębić swoją znajomość języka.

Nauka przez projekty

Stos sieciowy w Ruby

Kompletny opis implementacji protokołu UPD w języku Ruby. Przydatna będzie znajomość podstaw języka. Autor tłumaczy logikę działania samego protokołu, więc o to nie trzeba się martwić.

Kursy Ruby On Rails

Rails Guides

Oficjalna dokumentacja Ruby On Rails. Opisuje filozofię stojącą za technologią, sposób myślenie developerów stojących za tym projektem i główne jej założenia.

Prowadzi od podstaw do tematów zaawansowanych. Jest regularnie aktualizowana razem z publikacjami kolejnych wersji RoR.

Jeżeli chodzi o naukę Ruby On Rails te zasoby są w zupełności wystarczające do opanowania tej technologii w dobrym stopniu.

Nauka przez projekty

Rails Tutorial Book

Zrzut ekranu portalu Rails Tutorial Book

Darmowa książka prowadząca od podstaw i głównych założeń RoR, do kompletnego projektu w tej technologii. Końcowym rezultatem kursu jest działający portal podobny do Twittera, zawierający logikę rejestracji użytkowników, logowania, potwierdzania adresów e-mail itp.

Social network project

Kompletny przewodnik do stworzenia portalu społecznościowego. Od stworzenia nowego projektu do wdrożenia gotowego rozwiązania do chmury. Zalecane jest wcześniejsze zapoznanie się z podstawami RoR.

Klon Instagrama

Jeżeli nie podoba Ci się aktualny wygląd i działanie Instagrama, możesz napisać własnego! Autor zachęca do samodzielnego myślenia i rozwiązywania problemów w trakcie tworzenia aplikacji, co jest bardzo budujące i pozwala na zdobywanie doświadczenia.

Cloud IDE - czyli jak tworzyć w przeglądarce

Do przepracowania przedstawionych tutaj kursów w zupełności wystarczy tzw. “Cloud IDE”. A więc środowisko developerskie wraz z edytorem tekstu uruchamiane w przeglądarce. Dzięki takiemu rozwiązaniu zyskujemy kilka rzeczy:

Nie musimy instalować czegokolwiek na własnym komputerze Możemy uzyskać dostęp do swojego wirtualnego miejsca pracy z dowolnego komputera Możemy bez problemu udostępnić komuś nasz projekt do testów / sprawdzenia kodu.

W tym artykule przedstawiam dwie tego typu strony. Posiadają gotowe rozwiązania dla developerów Ruby On Rails i testowałem je w praktyce.

Codeanywhere

Zrzut ekranu portalu Codeanywhere

W darmowej wersji otrzymujemy dostęp do jednego środowiska, edytora z podświetlaniem składni. Wirtualna maszyna posiada 2GB miejsca na dysku i 256MB RAM, co powinno wystarczyć do podstawowych projektów w RoR.

Codenvy

Zrzut ekranu portalu Codenvy

Tak jak w przypadku konkurencji do dyspozycji mamy edytor. Dostajemy także 10GB miejsca na dysku i 3GB pamięci RAM.

Myślę, że te dwa rozwiązania mogą się okazać pomocne na początku przygody z programowaniem. Szerzej postaram się o nich napisać w osobnym artykule.

Jak się uczyć?

Nie jestem ekspertem w kwestiach dydaktycznych, ale z mojego doświadczenie wynikają dwie istotne rady. Myślę, że nie wielu innych programistów również się z nimi zgodzi.

Korzystaj z nowo zdobytej wiedzy w praktyce. Niestety czytanie książek o gotowaniu nie uczyniło jeszcze z nikogo kucharza, tak jak samo czytanie kursów i książek o programowaniu nie uczyni z nikogo programisty.

Jeżeli poznasz jakieś nowe pojęcie, sprawdź jak działa w praktyce. Spróbuj coś zepsuć, zobacz co się stanie.

Trafnym opisem tego procesu jest powtarzanie sobie w głowie pytania “a co by było gdyby?”.

Rób to systematycznie. Siedzenie po 10 godzin dziennie nad nauką programowania może i z dużym prawdopodobieństwem okaże się paskudnie męczące. Proponuję zacząć od małych kroków, 15 minut dziennie w zupełności wystarczą.

Zamiast limitu czasowego można sobie założyć wykonanie jednej lekcji / ćwiczenia na dzień, co również będzie dobrą rutyną.

Ważna umiejętność

I jeszcze jedna istotna sprawa. Skup się. Wyłącz niepotrzebne karty w przeglądarce, wycisz powiadomienia w telefonie, poinformuj swoich współlokatorów o tym, że pracujesz.

Jeżeli jest to niemożliwe w Twoim mieszkaniu, postaraj się pojechać do jakiegoś spokojnego miejsca jak kawiarnia czy przestrzeń co-workingowa. Niewłaściwy dobór otoczenie zdecydowania nie pomoże w mierzeniu się z kolejnymi wyzwaniami i rozwiązywaniem złożonych problemów.

Dobro wraca

I jeszcze na koniec jedna myśl dotycząca darmowych materiałów w sieci. Tak na prawdę w każdy z wymienionych tutaj kursów czy portali ktoś włożył swoją pracę.

Te osoby stawiają dawanie wartości ponad dobra materialn i dzielą się swoją wiedzą z innymi. Dzięki takim osobą miałem okazję nauczyć się programowania, dlatego przekazuje ich pracę dalej.

Jeżeli chcesz, żeby te zasoby dotarły do szerszego grona osób, udostępnij linki do kursów, w których bierzesz udział na swoich social media. W ten sposób również można pomóc ich autorom.

Będę również wdzięczny jeśli udostępnisz ten artykuł, lub podeślesz go znajomym.