Start dla "kompletnie" zielonego :)

Witam, jestem całkowicie nowy na forum. Mam przeczucie, że mogę dostać ostrą reprymendę za ten post, ale po przeczytaniu kilku postów o podobnej tematyce, nadal nie do końca znam odpowiedź. Może ciut o mnie: Studiuję informatykę na PWr, zaocznie i niestety przez problemy zdrowotne jestem rok w plecy. Na studiach poznałem podstawy programowania w Javie, mieliśmy też trochę C# i F#. Od zawszę chciałem pójść w stronę programowania webowego, sam z siebie zacząłem od HTML/CSS/JS potem chciałem zacząć PHP, ale kumpel polecił mi zainteresowanie się językiem Ruby i Railsami i chciałbym uderzyć w tym kierunku. I tutaj moja prośba do społeczności Ruby/RoR o pomoc w początkach mojej drogi i nauki Ruby/RoR.

Nie zacząłem jeszcze nic w tym kierunku, poczytałem trochę na forum i po doświadczeniach z JS i Java chciałbym dobrze zacząć ( tam nabrałem złych praktyk i ciężko potem było mi to naprawić). Ogólnie j. angielski to nie problem, fajnie by było jakby jakieś podstawy podstaw poznać w j. polskim, aby przez błąd rozumieniu nie mieć braków w wiedzy podstawowej… Fajnie gdyby komuś zechciało się wypunktować co kolejno przerabiać. I może ciut dziwne pytanie, ale znajduje się gdzieś instrukcja step by step instalacji Rubiego/RoR i localhosta? Obecnie mam Fedorę, ale nie problem przejść na inny jeśli będzie łatwiej :wink:

Dużo czytałem o Ruby i Railsach i wręcz jestem zafascynowany tym językiem chciałbym się w nim rozwijąć i może kiedyś uderzyć gdzieś na stanowisko junior’a… póki co jestem zbyt dużym laikiem… Z góry serdecznie dziękuję za pomoc jak i za krytykę bo ona też uczy :slight_smile: oraz przepraszam, że znowu poruszam podobny temat na forum.

Serdecznie pozdrawiam,
Mateusz

Ja ze swojej strony jako wstęp do RoR polecam Rails Tutorial by Michael Hartl


(nie musisz kupować, możesz czytać online za darmo)

Co do instalacji na fedorze powinno być łatwo, jeśli mówisz, że angielski to nie problem to prosty algorytm dla ciebie

Problem -> google -> implement i tak w kółko

Nie wiesz jak zainstalować rails? Szukaj w google. (Ze swojej strony polecę żebyś wygooglował rvm, ułatwi ci później życie)

No i z tego co pamiętam w tym tutorialu co linkowałem też jest omawiane instalowanie RoR.

Powodzenia!

Dzięki wielkie za szybką odpowiedź :wink: Uważasz, że najlepiej od razu zaczynać od Railsów tak? Nie zajmować sobie czasu jakimiś zwykłymi kursami/tut/ksiązkami z Ruby?

Ta książka ma jeden rozdział poświęcony Ruby, żebyś miał pojęcie co się dzieje i według mnie to co tam jest wyjaśniane wystarcza na początek.

Dzięki :wink: Zabieram się do czytania :wink: Liczę również na komentarze innych użytkowników forum :slight_smile:

Zacznij z PHP tak jak planowałeś. Dzięki temu poznasz sporo podstaw i fundamentów programowania webowego (składniki HTTP), które Railsy wygodnie przed tobą chowają… do momentu kiedy trzeba się do nich dobrać i wtedy przydaje się znajomość owych fundamentów.

Równocześnie możesz uczyć się Ruby, może z jakimś prostym frameworkiem webowym (Sinatra). Po prostu zostaw Railsy na czas kiedy już będziesz wiedział w czym i jak (i dlaczego) cię wyręczają.

Również dziękuję za odpowiedź, mógłbyś podać jakieś kursy/książki/tut do nauki PHP/Ruby? Z góry dzięki :wink:

Nie wprowadzaj początkujących developerów od razu w błąd przytaczając w jednym zdaniu PHP i Railsy. Przytoczenie w jednym zdaniu języka i frameworka z innego języka może być mylące.

Fakt rozpoczęcia nauki od Rubiego nie oznacza, że ktoś odrazu wejdzie w Rails, chociaż w większości wypadków tak to wygląda i nie drąży się tematu głębiej.

Mogę w jednym zdaniu przytoczyć język, framework, grupę danego języka programowania czy bazę danych. Błędem byłoby porównywanie tych rzeczy między sobą. A tutaj forumowicz @kamlot wyraźnie pyta o naukę początkową, dlatego odradzam rozbudowany framework i polecam na początek język pozwalający na webdev bez żadnego frameworka.

Chodzi mi o to, że napisałeś “Railsy wygodnie przed tobą chowają” i dlatego przekonujesz żeby @kamlot zaczął od PHP. Jak zacznie od Rubiego to nadal będzie to miał pochowane, no raczej nie, a przynajmniej nie w tak dużym stopniu.

@Tomasz, ale php to bym wrogowi nie polecił, a już na pewno nie do nauki. Już dawno takiej głupoty nie czytałem. Czyli wychodzi na to, że nowa osoba nie ma co siadać do railsów bo za dużo ukrywają przed programistą :D. Zaraz zaraz… Assembler ukrywał kod maszynowy, C ukrywał assembler, Ruby ukrywa alokacje i zwalnianie pamięci, RoR ukrywa http… W takim razie kolega musi zacząć od assemblera albo kodu maszynowego bo ukryto przed nim tak dużo fantastycznych rzeczy…

1 Like

@radarek chyba @Tomash bardziej chodziło o naukę HTML, zrozumienia jak działają strony internetowe na podstawowym poziomie, z zapytaniami HTTP.

PHP nie jest takie beznadziejne, jeśli się w nim dobrze pisze programy. Ma taką renomę, bo najwięcej osób o niskich kwalifikacjach programuje w PHP i piszą beznadziejny kod, dlatego nie radziłbym nikomu próbować zarabiać w PHP, ale nauczyć się podstaw nie zaszkodzi na pewno.

No to prawdę mówiąc już sam nie wiem od czego zacząć :smiley: Piszecie, że Railsy ukrywają sporo przed programistą a w PHP uczę się wszystkiego… A gdyby zaczął od samego Ruby? Bez zajmowania się Railsami, tylko czysta nauka Ruby domyślam się ze Ruby to nie tylko Railsy?

Oraz ponawiam pytanie… bo kursów i książek o PHP bardzo dużo, polecacie któreś szczególnie dobre? Przy okazji możecie podać coś z materiałów do samego Ruby bez Rails?

@kamlot

Czy trzeba tu coś dodawać? Nie pytaj się co wybrać bo każdy i tak Ci powie co innego. Masz energię i chęć do nauki Rubiego to nie zastanawiaj się tylko ucz się tego języka.

4 Likes

Railsy na sam początek to moim zdaniem średni pomysł bo nie wiesz co jest Rubim, a co Railsami.

Polecam:

  1. Ruby na Codeacademy
  2. Ruby + Sinatra - spróbuj z aplikacją która na przykład pobierze adres z Google Maps na podstawie współrzędnych w URLu i go wyświetlą i zapiszą w logu/bazie danych - dzięki temu zrozumiesz jak działa internet - HTTP, GET/POST, nagłówki, JSON itp. | wyślij sobie maila przez Mandrilla - przy pomocy gema jest łatwo
  3. Getting Started with Rails

Po drodze możesz zahaczyć o Ruby Koans (chociaż dla mnie nudne), a jednocześnie w wolnym czasie obowiązkowe książki:
Practical Object-Oriented Design in Ruby
Eloquent Ruby

Bardzo fajne jest też exercism.io do nauki Rubiego, polecam

1 Like

Radarek, kaman, jest rok 2015, redukcja do absurdu jest już nie tylko bucerska ale i niemodna.

To była zwykła hiperbola obrazująca niedorzeczność Twojej rady. Kolega chce się nauczyć programować aplikacje webowe. Jak przyjdzie taki dzień, że będzie musiał pogrzebać na poziomie http to doczyta i tyle. A w php to na dzień dobry rozwiązywałby nie te problemy co powinien. Twoja rada wynika albo z kompletnego nieprzemyślenia, albo ogromnej naiwności.

Na początkowym etapie nie. Później, w miarę wzrostu złożoności aplikacji – jasne. Wtedy trzeba PHP porzucić jak kapcie przy wyjściu z domu.

Grzebanie na poziomie http przyjdzie prędzej niż później w roku 2015, kiedy budujemy api i zajmujemy się żonglowaniem requestami z javascriptu. Dlatego lepiej wiedzieć na co można natrafić w nagłówku zanim się napisze pierwszy serializer do JSONa.

Nie jestem ekspertem od aplikacji webowyach, ale właśnie zielonym człowiekiem, który dołączył do Was rok temu i dokładnie z tej perspektywy chcę przedstawić problem.

Nigdy wcześniej nie pisałem aplikacji WWW. Nie miałem pojęcia o GET, POST, PATCH, JSON, AJAX, ani kompletnie o “tym” świecie. Gniłem sobie przez wiele lat w SQL-u i dopiero zderzenie z ogromem “nowości” uświadamia zielonemu człowiekowi, ilu rzeczy nie wie. Sądzę, że rozumiem autora tematu dosyć dobrze :smile:

Railsy na start?
Hmm…
Są świetne, gdyż pozwalają napisać “świeżakowi” naprawdę sporą i rozbudowaną funkcjonalnie aplikację, ale … ale taki zielony człowiek czuje się niepewnie.
Stworzył coś, co funkcjonuje ale nie zawsze wie, jak się to dzieje. :wink:

Więcej!
Czyta dokumentację i jej nie rozumie!

Najprostszym przykładem niech będzie meta-język do komunikacji z bazą danych.
Czy doprawdy ktoś, kto nie zna SQL, zrozumie konsekwencje wpisu::

@coverages = FamilyCoverage.joins({family_rotation: [:family]}).includes(:insured, :payer).by_insured(options[:only_for_insured_id]).references(:family_rotation, :insured, :payer).all

?
Zrozumie, gdzie ma złączenie INNER JOIN, a gdzie ma LEFT OUTER?
Jaki to będzie miało wpływ na listę wybranych pozycji? Które będzie widział, a które nie?
I po co takie zawiłości pisze?

Dlatego uważam, że Railsy są świetne, gdyż ukrywają przed nami wiele rzeczy i pozwalają nam zbudować cokolwiek funkcjonującego!
To zachęca. To pobudza. To mobilizuje!
…Ale wymaga pracy “równoległej” nad wieloma innymi tematami, by pisać aplikacje wydajniejsze, bezpieczniejsze i zwyczajnie lepsze.

Nie wiem, czy do końca szczęśliwe to będzie porównanie, ale z RoR jest trochę podobnie jak z montowaniem modelu samochodu sterowanego radiem z tzw zestawu z paczki.
Kupujesz kartonik i montujesz silnik w kadłubie, łączysz z modułem radia, wkładasz bateryjki do urządzenia sterującego i …jeździ!
… OK! OK, ale jeżeli nie chcemy naszego życia programisty ograniczyć tylko do montowania zestawów z paczek, to musimy zacząć się uczyć trochę i o budowie tego silnika i o sterowaniu coś liznąć.

A czy na start brać PHP, czy Railsy, to moim zdaniem sprawa drugorzędna.
Ważne, by chcieć się zagłębić w to, jak to się dzieje, że “ten samochodzik” jeździ ;-), a RoR daje szanse, by Twój “samochodzik” dosyć szybko ruszył w ogóle.

Pozdrawiam

1 Like

A jak byś określił swój poziom po roku bytu z technologia RoR? napisz proszę jak wyglądałą twoja nauka i czego można się spodziewać po późniejszym zetknięciu z rzeczywistością. Ja obecnie stoję na rozdrożu i zastanawiam się, w którym kierunku iść, jedna z tych dróg to RoR :), ale zastanawia mnie ile zielony człowiek potrzeubje czasu, aby jego umiejętności były użyteczne na rynku pracy,
pozdrawiam