PDA

Pogčedajte punu verziju : Ruby On Rails - uncovered


STELLANOVA
25. 01. 2006., 12:04
Edit: Ovo je presečena tema koja je otišla offtopic


Ne znam koliko je taj nacin u skladu sa trendovima ali sam misljenja da je bolji nacin pretrage u spomoc ruby-a.

Hint: www.metak.com
www.rubyonrails.org

nixa
25. 01. 2006., 15:46
a molim te hoćeš da mi obajasniš i obrazložiš zašto je bolje preko RoR nego preko php-a ?

ivanhoe
25. 01. 2006., 17:16
a molim te hoćeš da mi obajasniš i obrazložiš zašto je bolje preko RoR nego preko php-a ?


ma ljudi izgleda misle da je AJAX nesto sto moze samo sa RoR da se uradi :confused:

STELLANOVA
25. 01. 2006., 17:24
U trendu je i nov je, to je i jedan od nacina da se sajt razlikuje od drugih.
Razlike izmedju php-a i ruby-a su male ali:

1)
-One important difference between PHP and Ruby is the culture. Google “Chunky Bacon” to learn more.
2)
-Steps for installing Ruby

1. ./configure
2. make
3. make install

Steps for installing PHP

1. ./configure –help
2. Write down necessary configuration options and run something like…
3. ./configure –host=i386-redhat-linux –build=i386-redhat-linux –target=i386-redhat-linux-gnu –prefix=/usr –exec-prefix=/usr –bindir=/usr/bin –sbindir=/usr/sbin –sysconfdir=/etc –datadir=/usr/share –includedir=/usr/include –libdir=/usr/lib –libexecdir=/usr/libexec –localstatedir=/var –sharedstatedir=/usr/com –mandir=/usr/share/man –infodir=/usr/share/info –cache-file=../config.cache –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –enable-force-cgi-redirect –disable-debug –enable-pic –disable-rpath –enable-inline-optimization –with-bz2 –with-db4=/usr –with-curl –with-dom=/usr –with-exec-dir=/usr/bin –with-freetype-dir=/usr –with-png-dir=/usr –with-gd –enable-gd-native-ttf –with-ttf –with-gettext –with-ncurses –with-gmp –with-iconv –with-jpeg-dir=/usr –with-openssl –with-png –with-pspell –with-regex=system –with-xml –with-expat-dir=/usr –with-zlib –with-layout=GNU –enable-bcmath –enable-exif –enable-ftp –enable-magic-quotes –enable-safe-mode –enable-sockets –enable-sysvsem –enable-sysvshm –enable-discard-path –enable-track-vars –enable-trans-sid –enable-yp –enable-wddx –enable-mbstring –enable-mbstr-enc-trans –enable-mbregex –with-pear=/usr/share/pear –with-imap=shared –with-imap-ssl –with-kerberos=/usr/kerberos –with-ldap=shared –with-mysql=shared,/usr –with-pgsql=shared –enable-memory-limit –enable-bcmath –enable-shmop –enable-calendar –enable-dbx –enable-dio –enable-mcal –with-apxs2filter=/usr/sbin/apxs –with-xmlrpc –with-pdo-mysql –with-gettext –with-xmlreader –enable-sockets –with-zlib –with-readline –enable-pcntl –with-xml
4. wait a long time
5. if errors:
1. decipher errors
2. install dependencies
3. verify filesystem paths to libraries
4. GoTo 3
6. make
7. make install

etc....

Nekada je potrebno biti inovativan predstaviti nesto sveze i novo pogotovo na nasem prostoru gde toga ima malo.

STELLANOVA
25. 01. 2006., 19:53
Nixa, miran. Cemu takva nervoza i zelja za provokacijom i svadjom? Ponasaj se u skladu sa godinama. Mislim, sta si hteo da postignes onom porukom? Ja sam samo c/p podatke sa tog bloga jer mislim tako a uzeo sam ih otadle pa bi pokazao da nisam jedini koji to misli.

Ako ce ti biti lakse mogu i na srpskom ako je jezicka barijera problem da shvatis ono sto sam napisao.

U zivotu nikada nisam jurio za trenutnom modom, a nemam nameru da takav pristup sada menjam. To sto je nesto IN mene nimalo ne dotice. Dotice me samo nesto sto funkcionise, prakticno je i sluzi svrsi.

Problem je sto je Ruby i stvar koja funkcionise, praktican je i sluzi svrsi.
To sto je in ce samo dodati nesto dobro sajtu i poboljsati njegovu promociju.

Ilija Studen
25. 01. 2006., 22:08
U konkretnom primeru (Vokabular) RoR ne bi mnogo pomogao.

Kao što Peđa reče Volabular je više okrenut ka pretraživanju i tu je glavni problem koji treba rešiti. RoR je najbolji u slučajevima kada je baza složenija sa mnogo relacija među tabelama, kada je potreban razvoj korak po korak (klijent ni sam nije načisto šta želi pa se aplikacija razvija postepeno uz konstantne konsultacije sa njim), kada je potreban ekstremno brz razvoj (RoR ima generatore, plugine i engine tako da je potpuno automatizovan i modularan), kada je potrebno sa malo koda i za malo vremena postići mnogo, kada ste test freak itd. Ovom profilu odgovara veliki broj projekata, ali ne i svi.

Vokabular se jednostavno ne uklapa jer na osnovni problem koji je pred njim RoR ne pruža rešenje koje opravdava uloženo vreme u učenje i prebacivanje na njega.

PS: Za "JS magiju" u RoR su zaduženi Prototype (http://prototype.conio.net/) i Script.aculo.us (http://script.aculo.us/) - otvorene JS biblioteke koje je izuzetno lako ubaciti u svaki projekat. RoR samo pruža par zgodnih helper funkcija koje omogućavaju jednostavno generisanje JS koda.

PPS: Morao sam, ali se nadam da je bilo od koristi ;)

bluesman
25. 01. 2006., 23:44
Bilo je od koristi, lepo si objasnio, tako nešto sam čekao, samo bih ja više voleo da čujem zašto je u tim slučajevima gde tvrdiš da je ruby najbolji, on bolji od recimo php ili asp ili nečega sličnog? Ti si rekao kada ali nisi rekao zašto.

Offtopic (malo :) ): Ilija, kad god nešto napišeš saznam za neku novi "biblioteku" koju koristiš, prosto ne mogu da ne upitam da li imaš uopšte nešto svoje koje koristiš ili samo tuđe? Video sam da znaš da programiraš, bar ono što sam video, pa me samim tim čudi da se toliko oslanjaš na tuđe.

nixa
26. 01. 2006., 02:55
@STELLANOVA : moje godine nemaju veze sa tim sto ja ne volim kad neko ne stoji sa argumentima iza onoga sto govori/piše ,tako da smo se tu razumeli

@Ilija :) u'r my nigga .. .ovo je bilo lepo ...a sad ono čemu sve to ? :P

no u suštini ... nemoj da trolujemo temu ... može opet da ide merge ako nastavimo ...

ivanhoe
26. 01. 2006., 05:26
@bluesman: ja sam inace prilicno konzervativan oko gotovih biblioteka, ali ti stvarno preporucujem da pogledas prototype...jeste da je napisan beskonacno komplikovanim javascriptom, ali sadrzi dosta jako zgodnih svakodnevnih funkcija za svasta oko DOM-a, izmedju ostalih i za gore pomenuti ajax...a sad se konacno pojavila i neka dokumentacija, pa je lakse krenuti sa koriscenjem...

@stellanova: izvini, ali ovo sto si ti napisao je obicanbull****... odnosno ne ti, nego taj neko ko je to napisao, a ti prepisao od njega.,,ne samo da je skroz netacno, nego je namerno izvadjeno iz kontexta, drugim recima laz...

ono prvo sto si naveo za ruby je klasicna procedura instalacije bilo chega na linuxu, a ono drugo su parametri direktno gcc-u sto apsolutno niko, cak ni najzaguljeniji slackware-ovac nece ukucava rucno, jer postoje make fajlovi i za php,bas kao taj za ruby, pa isto tako kucas configure, make, make install..

to jest to radis ako si bas dokon ili ti trebaju posebne compile opcije, obicno samo kazes rpm -i php-xxxx.rpm i to je cela pamet... ili apt-get, kako vec ide na debianu....naravno i za ruby mozes to isto tako da uradis... a uostalom koliko ljudi ima server na kome mu je potrebno da instalira php? Ja recimo radim sa 5-6 dedicated servera i svi su imali apache, php i mysql kad smo ih uzeli... ni jedan nije imao ruby, doduse, ali kao sto vec rekoh to je 1 komanda posla da se stavi...tako da je cela ta argumentacija oko bzine instaliranja i podesavanja obicna glupost..

I ja zaista nema nista protiv rubija, rado bih ga naucio (kao i python) samo ako skupim vremena, ali ova tvoja tvrdnja da je za recnik, odnosno lexicon neophodan neki odredjeni jezik je naprosto nebulozna... treba programirati na jeziku koji najbolje znas, tako ce kod da ti bude najoptimialniji, sa najmanje gresaka i najbrze ces ga odraditi... ako programiras na jeziku koji si naucio pre mesec, dva ne moze ni najbolji frejmvork na svetu da ti pomogne.. pisaces mozda brze, ali losiji kod, to je naprosto tako...

bluesman
26. 01. 2006., 10:05
Sto se JavaScripta tice, NIKADA nisam korisito neke biblioteke, koristim samo ono sto mi je neophodno i obicno tu funkciju napisem sam. Ucitavati recimo 50-70KB javascript file na svakoj strani da bi iskoristio neku jednostavnu stvar, po meni je kontra produktivno.

Sa ostatkom posta se potpuno slazem.

bluesman
26. 01. 2006., 13:41
Samo da dodam da upravo pokušavam da skinem Ruby i lighttp (ruby server je izgleda down pa ne radi download - da li je preveliki demand ? :)))

Pa dok vi "zakuvate" priču, ja ću malo da proučim pa ću se javiti, da ne bih pričap napamet. Eto, čim prebacim sve na novi server možda na novom serveru i instaliram ruby. Kažem "možda" :)

Ilija Studen
26. 01. 2006., 16:16
Ako vam je do igranja, a nećete da se smarata sa instalacijom: Instant Rails (http://instantrails.rubyforge.org/wiki/wiki.pl). Nisam ga koristio, ali kažu da je dobar ;) Takođe, za Mac ljubitelje tu je Locomotive (http://locomotive.sourceforge.net/).

Za programiranje koristim JEdit (http://jedit.org/) + Ruby plugin (http://jedit.org/ruby/). Uz par tweakovanja JEdita (podešavanje prečica i slično) radi jako fino. Plus radi na svim platformama...

PS: Ništa bez ove knjige (http://www.pragmaticprogrammer.com/titles/rails/index.html)...

----

Odgovor na pitanje Zašto Rails a ne nešto drugo? je malo dugačak. Kad budem imao više vremena napisaću nešto smisleno, sa sve primerima. Ne mogu da obećam tačno kad, ali to planiram već da uradim već par dana, ali nikako da sednem i odradim.

bluesman
26. 01. 2006., 16:28
Ok, super je ovo za početak, kada bih mogao, stavio bih ga kao prvi postm uštedeo si mi vreme na google.

Ja idem jedno po jedno pa se javljam za par dana, a ti ako te ne mrzi, baš bih voleo da čujem tu dugačku priču (nije nikakva ironija) ali da čujem tvoju priču a ne kao što smo do sada čuli priče sa nekih blogova i copy-paste. Nije ni to loše, ali ja ipak volim više da čujem iskustvo iz prve ruke nego transkripciju nekog bloga.

bluesman
26. 01. 2006., 16:31
Napomena: ovaj Instant Rails ima u sebi Ruby, Rails, Apache, and MySQL pa je ogroman. Ruby download server je i dalje down ne mogu da skinem... da li postoji neki mirror ili nešto?

Knjiga je $22,5 (PDF), mislim da ću je preskočiti za sada.

zextra
26. 01. 2006., 20:40
treba ebook? pm.

knjiga je 6.5 mb, 554 strane.

bluesman
26. 01. 2006., 21:34
Da li neko uopste ima instalaciju ruby?

Ja pokusavam ceo dan, cak sam probao i sa wget direktno sa ovog servera i nije uspelo. Jel' ima neko windows instalaciju?

Ilija Studen
26. 01. 2006., 21:46
Imam one click installer (http://rubyforge.org/projects/rubyinstaller/) za Win, ali sam dialupu :( tako da nema puno vajde od toga.

ivanhoe
27. 01. 2006., 00:17
"RubyForge is down for maintenance... should be back up in a few hours." kazu oni...

bluesman
27. 01. 2006., 01:37
Evo skinuo sam ja na svoj server, pa ako neko hoce download neka kaže pa ću postaviti neki link.

nixa
27. 01. 2006., 02:45
hit me ... da se i ja pozabavim time kad imam vremena ...

STELLANOVA
31. 01. 2006., 03:59
ali ova tvoja tvrdnja da je za recnik, odnosno lexicon neophodan neki odredjeni jezik je naprosto nebulozna...

Khm...jako je losa navika izvaciti necije reci iz konteksta i dodavati nesto sto nije receno da bi nekoga na taj nacin diskreditovao u diskusiji i predstavio ga kao budalu, jer samo budala moze da kaze nesto sto si ti stavio meni u usta a to je citirano iznad.

Ja sam rekao da bi koriscenje Ruby-a bilo dobro za sajt zbog njegove promocije i zbog propagande medju stucnom publikom. Sve sto je novo privlaci paznju javnosti koja koristi internet tj. u ovom slusaju taj recnik. Nove tehnologije u internet razvoju su uvek predstavljale odredjeni nacin da se projekti koji su radjeni pomocu njih ispromovisu ne samo samim sadrzajem projekta nego i nacinom na koji je on doveden do upotrebne vrednosti kroz primenu tih tehnologija.

nixa
31. 01. 2006., 04:26
Ja sam rekao da bi koriscenje Ruby-a bilo dobro za sajt zbog njegove promocije i zbog propagande medju stucnom publikom. Sve sto je novo privlaci paznju javnosti koja koristi internet tj. u ovom slusaju taj recnik. Nove tehnologije u internet razvoju su uvek predstavljale odredjeni nacin da se projekti koji su radjeni pomocu njih ispromovisu ne samo samim sadrzajem projekta nego i nacinom na koji je on doveden do upotrebne vrednosti kroz primenu tih tehnologija.

Ajde nadji mi u zemlji Srbiji jos 200 ljudi koji nisu na ovom forumu koji znaju sta je RoR i vodim te na rucak ... ,ma vodim sve njih na rucak ...

bluesman
31. 01. 2006., 04:40
Stellanova, generalno nije losa ideja to sto kazes, mada, narocito u ovom slucaju, ovo nije namenjeno nikakvoj strucnoj publici, a i kome god da je namenjen recnik mislim da je ciljnu grupu bas briga koja je tehnologija koriscena.

Ja stvarno ne vidim vezu izmedju ta dva, osim ako ces da ides na neki IT meeting pa da pricas o svom fensi backend-u. Ostale ne samo da ne interesuje nego bi ih smorio, a verovatno i zbunio. :)

<offtopic>A ti, castelamareze, mogao bi stvarno jednom da se isprsis za jednu turu pica sada kada si ugostitelj :)</offtopic>

nixa
31. 01. 2006., 05:53
pa mogao bi da se isprisis za jednu tvoju vizitu ( da ne gresim dusu bio si vec jednom ) pa da se i otvorim :)

ovo nema veze sa temom :) samo sam morao da odgovorim

p.s. : mora da uvedemo ove offtopic tagove :)

ivanhoe
31. 01. 2006., 19:50
Ja sam rekao da bi koriscenje Ruby-a bilo dobro za sajt zbog njegove promocije i zbog propagande medju stucnom publikom. Sve sto je novo privlaci paznju javnosti koja koristi internet tj. u ovom slusaju taj recnik.


Ok, ovo ima nekog smisla, moze da se diskutuje o tome da li bi to donelo dovoljno pozitivnog feedbacka da se isplati menjati platformu, ali ok ima smisla...

ali sorry, ja nisam tako shvatio ono sto si napisao, pogotovo zbog onog citata oko poredjenja instalacije ruby-ja vs. instalacije php-a, koji me iznervirao samo tako jer je totalno neobjektivan...

Dejan Bizinger
23. 03. 2006., 14:53
Citao sam diskusiju ali ipak bih hteo mi neko ukratko objasni koje su zapravo prednosti Ruby on Rails u odnosu na npr. PHP? Gde je Ruby on Rails bolji a gde PHP? Prlicno sam zainteresovan da naucim nesto vise o Ruby on Rails. Takodje, da li ima nekih dobrih besplatnih e-knjiga u vezi Ruby on Rails?

Ilija Studen
23. 03. 2006., 15:09
Knjige koje su manje više standard:

- Agile Web Development with Rails (http://www.pragmaticprogrammer.com/titles/rails/index.html)
- Programming Ruby: The Pragmatic Programmer's Guide, Second Edition (http://www.pragmaticprogrammer.com/titles/ruby/index.html)

Nisu besplatne, ali se mogu naći na P2P mrežama.

Prednosti Railsa i Rubyja:

- Ruby je visoko dinamičan OO programski jezik
- Rails je lepo sklopljen i osmišljen framework koji ti omogućava agilan razvoj (brz start, brzo implementiranje mogućnosti i peglanje kroz refaktorisanje, testiranje...)
- Rails je jednostavan i "čitaj". Za ovo treba videti kod :)

Mane:

- Nedovoljno rasprostranjen
- Nema prevelike potražnje za ovim vidom posla
- Sporiji u odnosu na PHP
- Iako ti Rails omogućava da jako brzo počneš i da stvari u uvodnim tuorijalima izgledaju jednostavno ne smeš zaboraviti da je Ruby ozbiljan OO jezik i da ni jedan framework ne može zamaskirati nedostatak stvarnog programerskog iskustva.

Za sve detalje pogledaj knjigu Agile Web Development with Rails (http://www.pragmaticprogrammer.com/titles/rails/index.html) i Davidovo izlaganje na Snakes and Rubies (http://www.djangoproject.com/snakesandrubies/) skupu.

PS: PHP ima odgovor na skoro sve što Rials može da ponudi, samo što je za tako nešto potrebno nešto više truda. Plus se Ruby i PHP "kulture" razlikuju (Ruby koristi relativno mali broj stručnih programera, dok PHP koristi svako tako da ima koda koji ne liči ni na šta, loše radi, bušan je...) Stvari se menjaju u PHP zajedinici pojavom par kvalitetnih okruženja.

PPS: Pošto mi se jako svidelo kako je Rails napavljen, a ne mogu da ga guram u svim svojim projektima nešto slično sam napravio u PHPu da uživam u Rails produktivnosti u PHPu :D Hteo sam da to pustim kao open source projekat, ali sam od toga odustao jer ne znam na kakav bi to odziv naišlo pošto su se svi okrenuli Zend Frameworku (što je logično).

ivanhoe
23. 03. 2006., 16:19
Evo ja uzeo da ucim Ruby (za sada me rails ne zanima, nego samo ruby kao jezik), pa par utisaka iz prve ruke, nakon nedelju-dve igranja sa rubijem:

Prvo oko knjiga: Pragmatic guide se meni uospte nije dopao kako je napisan, skacu sa teme na temu, daju primere, a da prethodno nisu objasnili osnovnu sintaxu, ima mnogo teksta koji treba procitati da bi se doslo do podataka. Ja vec znam dosta slicnih jezika i vise mi odgovara pristup u obliku reference, i knjiga koja mi se bas dopala je Sams-The Ruby Way iz 2001. Ima na pocetku poglavlje koje te lepo i brzo upozna sa osnovom sintaxe i nekim specificnim cakama, i tek onda krece prica o detaljima i finesama...Takodje ima da se nadje na netu par kratkih tutorijala koji nisu losi da se stekne neka ideja oko jezika(recimo text "Ruby Vs Perl And Python" sa paralelnim primerima sintaxe)

Sto se samog jezika tiche: Ruby mene u mnogim stvarima jako podseca na perl, sta vise dobar deo sintaxe je skroz isti, meni stoga skroz logican i zato mi se dopalo sta sve moze da se uradi. Takodje (sto mu je glavna prednost nad perlom) jezik je skroz OOP orijentisan, i ima vrlo cisto i simpaticno resene mnoge stvari oko OO rada.

Negativni utisci, bar ovako na pocetku ucenja jezika, su da sem modernijeg OOP-a sintaxa rubija meni nije toliko znacajno jednostavnija od perla, koliko rubi programeri vole da tvrde. Postoji dosta stvari koje zahtevaju navikavanje za nekog ko je navikao na standardnu C-like sintaxu (recimo a+b i a +b nisu ista stvar ), dosta nekih konvencija oko kodiranja (koje promenjive se pisu malim, koje velikim, koje imaju $ na pocetku, sta znaci ako metod ima ! na kraju, a sta ako ima ? ili =), i to definitvno zahteva period navikavanja. Python sintaxu sam recimo mnogo brze i lakse savladao. Takodje nisam siguran da je neophodno da bas sve zivo bude objekat (tipa broj 2 je u rubiju objekat, a ne integer, i zato zauzme nesto tipa 16 bajta umesto 4), i neka sintaxna resenja mi se ne cine bas tako uber bolja nego slicna u perlu ili php-u... cak bih rekao da su neke konstrukcije cista perverzija koja samo usloznjava sintaxu...

takodje mali problem je kako cela stvar radi na netu, jer koliko sam razumeo (valjda?) Rails ne radi pod rubijem kao apache modulom, vec zahteva upotrebu FastCGI za pokretanje. Ja licno nisam veliki ljubitelj FastCGI resenja, radje bih da imam apache modul za to...

zextra
23. 03. 2006., 16:25
Verovatno ce biti modul kad nekom dosadi FastCGI, kako je bilo i sa mod_perl uostalom... :)

Ilija Studen
23. 03. 2006., 16:32
Postoji mod_ruby, ali to je manje više sve što znam. Postoji, nestabilan je na windowsu i za Rails preporučuju FastCGI.

Sa tim tipom sintakse sam se sreo prvi put sa Rubyjem (do sad sam radio samo sa Colikim jezicima + Pascal i Object Pascal) tako da mi je The Pragmatic Programmer's Guide koji dolazi kao CHM u Win instalaciju Rubyja bio skoz OK.

Ono što mi je žao je što nemam vremena ni potrebe (kad kažem potrebe mislim posla) da se više posvetim tom jeziku :( a bez rada ozbiljnog rada u nekom programskom jeziku nema ni ozbiljnog napretka.

ivanhoe
23. 03. 2006., 16:34
Verovatno ce biti modul kad nekom dosadi FastCGI, kako je bilo i sa mod_perl uostalom... :)


mislim da mod_ruby postoji, ali Rails ne radi lepo pod njim zbog problema sa globalnim promenjivim (slicno kao mod_perl izgleda i mod_ruby cuva globalne varijable izmedju poziva). Ovo sam samo procitao objasnjenje negde, nisam ni probao da pokrenem jos Rails-e, pa ne znam detalje, mozda nisam u pravu...