Prosze o pomoc poczatkujacemu

Witam wszystkich, jestem nowy i fajnie ze jest takie forum. Pozdrawiam wszystkich.

Od 2 dni ucze sie jezyka ruby. Juz prawie go umiem.
Nie wiem jednak jak czytac dane z przegladarki (POST metody i GET).

Czy ktos moglby mi podac link do strony z przykladami jak czytac z formularza dane?
Jak obslugiwac zadanie HTTP? Cos z przykladzikami. W dziale dokumentacja przeczytalem juz
duza czesc kursow ale nie moge znalezc tego co mnie interesuje.
Choc sama dokumentacja bardzo prosto pisana i mi sie podoba.
Bede robil projekt i chce wykorzystac ten jezyk.

I przyklad z baza danych mysql - jak sie laczyc i proste select, insert itp. jak mozna.

PS.
Warto pisac w 1.9 czy 1.8? Providerzy z USA beda mie chyba stare wersje poinstalowane?

Zajrzyj do tego wątku
http://www.rubyonrails.pl/forum/t862-%22Zobaczy%E6%22-Ruby-w-przegl%B1darce

Zajebiście! Zdradzisz nam swój sekret? Bo ja im więcej się uczę, tym więcej wiem, że nie umiem.

95% pań z Gdańska nie widzi różnicy.

Hej, sharnik, co Twoja wypowiedź miała na celu? Bo jeśli próba żartu to słaba…

Zajebiście! Zdradzisz nam swój sekret? Bo ja im więcej się uczę, tym więcej wiem, że nie umiem.[/quote]
Autor być może trochę przesadził, ale Twoja wypowiedź jest z deka bez sensu. Być może w trakcie uczenia widzisz co raz lepiej jak dużo jeszcze masz przed sobą, ale na pewno umiesz co raz więcej :).

Witamy i cieszymy się z kolejnego amatora Rubiego :).

[quote=rubikon]Od 2 dni ucze sie jezyka ruby. Juz prawie go umiem.
Nie wiem jednak jak czytac dane z przegladarki (POST metody i GET).

Czy ktos moglby mi podac link do strony z przykladami jak czytac z formularza dane?
Jak obslugiwac zadanie HTTP? Cos z przykladzikami. W dziale dokumentacja przeczytalem juz
duza czesc kursow ale nie moge znalezc tego co mnie interesuje.
Choc sama dokumentacja bardzo prosto pisana i mi sie podoba.
Bede robil projekt i chce wykorzystac ten jezyk.[/quote]
Proponuję zaopatrzyć się w książkę Pickaxe (polski tytuł to “Programowanie w języku Ruby”). Tam jest rozdział o CGI, który dają Ci dostęp do danych o których piszesz. Jednakże od razu Ci powiem, że w praktyce tego się nie wykorzystuje. Raczej celuj w coś o wyższym poziomie abstrakcji. Ruby on Rails, Merb, Waves, Capming, Ramaze.

Tu podobnie jak wcześniej. Oczywiście można się łączyć z mysql. Jeśli jednak zależy Ci na łatwym operowaniu danymi oraz modelowaniu klas mapowanych jako tabelki to proponuję ActiveRecord bądź Sequel.

Przykład “surowego” połączenie się do mysql masz np tutaj: http://www.tmtm.org/en/mysql/ruby/. Możesz także użyć modułu DBI. Poszukaj po frazach “ruby mysql”.

[quote=rubikon]PS.
Warto pisac w 1.9 czy 1.8? Providerzy z USA beda mie chyba stare wersje poinstalowane?[/quote]
Zdecydowanie 1.8.x. 1.9 póki co jest wersją rozwojową, ma jeszcze trochę bugów.

A czy ktos moglby mi pomoc to ustrojstwo skonfigurowac? Wszedzie w necie tylko widac Ruby on Rails. A ja nie chce zadnych frameworkow. Zadnych! Chce miec zwykly serwer http + ruby jako interpreter. Cos na wzor dawnego apachea i perla.
I nie moge w ogole znalezc tych opsiow w sieci.

Sciagnalem ten ruski serwer NGINX - a tam dokumentacja po rusku a po angielsku jak kot naplakal.
Do Apachea nie ma nigdzie jak wkomponowac rubyego. Nawet juz nie chodzi mi o FAST CGI - moze isc na zwyklym, starym CGI. Do testow styknie a na serwerze platnym to sobie wtedy zmienie jak zainstaluje.

Porazka ://

Skoro chcesz tylko serwer http + Ruby jako interpreter to na pewno słyszałeś o serwerze Mongrel.

Tutaj znajdziesz dokumentację, przykład użycia zaczyna się od sekcji Usage.

Szukaj informacji o Custom Mongrel Handlers

Przykład wykorzystania - Prosty feed aggregator

Przykład wykorzystania - Prosty feed aggregator

Przykład wykorzystania - Rozbudowany feed aggregator

Dzieki za linki - a ktore pakiety mam zainstalowac z tego?
http://rubyforge.org/projects/mongrel/

gem install mongrel

No tak, wszystko zrobilem - problem byl taki ze nie wiedzialem co to sa te gem. Juz mam tego instalatora, sciagnalem poprzez ‘gem install montgrel’ - dodatkowo sobie sciagnalem railsy na przyszlosc.

Tylko ze ja nie mam pojecia i ogolnej koncepcji jak dziala w ogole ten Mongrel!

Jak sie go uruchamia bez railsow???

Jedyna komenda dostepna jaka mam w tym serwerze to jest mongrel_rails |stop, start |

Ten link co mi podales:
http://mongrel.rubyforge.org/web/mongrel/files/README.html

pokazuje tylko to jak korzystac z ruby’ego (fragment po usage)

Problem w tym ze ja nie wiem jak uruchomic ten serwer i gdzie umieszczac skypty napisane w ruby.

mongrel_rails start

wyrzuca bledy ze to mu sciezka do pliku PID nie pasuje a to mu do LOG nie pasuje.
Potem jak podaje jakies katalogi i metoda prob i bledow idzie - to wyrzuca mase bledow i sie serwer nie uruchamia.

Taka komende wydaje: mongrel_rails start -P . -l . -r .

bedac w katalogu gdzie sie mongrel zainstalowal, tzn: w /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4

Czy naprawde tu nie ma niczego prostego jak apache+ PHP? Juz mnie powoli zaczyna wkurzac ten caly ruby.
Od 2 dni probuje zainstalowac srodowisko do pracy i nie idzie.

Serwer uruchamia się poleceniem:

ruby simpletest.rb

(To ten plik z fragmentu Usage jeśli go tak nazwałeś).

Jeśli próbujesz od kilku dni i nie wychodzi to może zostań przy PHP. Póki co tak będzie lepiej dla Ciebie.

hej,
Widze ze hosiawak mnie ubiegl, ale i tak Ci napisze - przetestuj:
cd examples
ruby simpletest.rb localhost 4004 ~

Nie wyzywaj mi rubiego ! :wink: Smiga, az milo patrzec - w dodatku - jak prosto.
Jeszcze 2 dni i bedziesz umial Railsy… :wink:

Uffi, dziala. Jakis łoś pisał te dokumentacje. Gdzie tam było napisane zdanie typu: "you can run mongrel http server using: ruby <file.rb> ??? Jest sekcja quickstart i o czyms takim nie pisza w ogole.

Brak slow!

Dzieki i pozdrawiam

rubikon, bez obrazy, ale nie rzucaj tak łatwo takimi hasłami. Po pierwsze pietia odniósł się do pliku simpletest.rb który znajduje się w podkatalogu examples/ katalogu gema z mongrelem. Przypatrz się jemu uważnie. Przykład ze strony głównej dokumentacji mongrela (podanej w tym topicu) mówi, żeby utworzyć plik:

[code=ruby] require ‘mongrel’

class SimpleHandler < Mongrel::HttpHandler
def process(request, response)
response.start(200) do |head,out|
head[“Content-Type”] = “text/plain”
out.write(“hello!\n”)
end
end
end

h = Mongrel::HttpServer.new(“0.0.0.0”, “3000”)
h.register("/test", SimpleHandler.new)
h.register("/files", Mongrel::DirHandler.new("."))
h.run.join[/code]
a następnie:

Podane do tego pliku parametrów z portem i docrootem nic nie da, sprawdź (dlaczego to chyba powinieneś wiedziec).

Brak słów to można mieć do Twojego podejścia i aktualnej wiedzy. Nie to żebym Cię obrażał, ale pamiętaj że dopiero zaczynasz z Rubym (inaczej nie prosiłbyś nas o pomoc), a autor mongrela ma trochę większe doświadczenie :wink: (w prowadzeniu i dokumentowaniu projektów OS też).

Zazwyczaj olewam tego typu posty, ale zdenerwowala mnie nie trywialnosc zagadnienia (to nic zlego czegos nie wiedziec), tylko niejako roszczeniowy sposob formulowania zapytan.

“No dobrze zainteresowalem sie ruby - wielkie brawa dla mnie. A teraz, koledzy, powiedzcie mi jak to i owo zrobic bo inaczej wroce do php i bedziecie mieli fige z makiem.”

Coz to by byla za strata dla spolecznosci. Wielki lament jak po IV RP.

  1. Zly dzial. to jest ‘Dyskusje’. Istnieje rowniez ‘Potrzebna pomoc’, kt. imho jest bardziej odpowiednim miejscem na tego typu wystapienia.

  2. Temat nic nie wskazuje - Co by bylo gdyby wszystkie watki mialy tytul typu ‘Prosze o pomoc dot. ruby’?

  3. Jezel ktos po 2 dniach zna ruby to:
    a) jest geniuszem i/lub ma x lat doswiadczenia w innych jezykach jak Smalltalk/Lisp/Perl/itd.
    b) nie mam wiecej pytan

Nawet pascal nie polegal tylko na znajomosci while, repeat…until, for i if.

Promocja ruby na sile nie ma sensu bo okaze sie wkrotce, ze wszyscy doskonale znaja ruby. To nic nowego, przeciez Polska to kraj ekspertow masci wszelakiej :slight_smile:

[quote=radarek]rubikon, bez obrazy, ale nie rzucaj tak łatwo takimi hasłami. Po pierwsze pietia odniósł się do pliku simpletest.rb który znajduje się w podkatalogu examples/ katalogu gema z mongrelem. Przypatrz się jemu uważnie. Przykład ze strony głównej dokumentacji mongrela (podanej w tym topicu) mówi, żeby utworzyć plik:

[code=ruby] require ‘mongrel’

class SimpleHandler < Mongrel::HttpHandler
def process(request, response)
response.start(200) do |head,out|
head[“Content-Type”] = “text/plain”
out.write(“hello!\n”)
end
end
end

h = Mongrel::HttpServer.new(“0.0.0.0”, “3000”)
h.register("/test", SimpleHandler.new)
h.register("/files", Mongrel::DirHandler.new("."))
h.run.join[/code]
a następnie:

Podane do tego pliku parametrów z portem i docrootem nic nie da, sprawdź (dlaczego to chyba powinieneś wiedziec).[/quote]
Nie rozumiesz nadal w czym problem. Starasz sie pokazac roznice miedzy plikiem *.rb zamieszczonym w linku dokumentacji a tym ktory mi gem zainstalowal. Owszem - sa roznice. Ja to wiem. ALE NIE O TYM PISALEM. Czy ja gdzies pytalem sie o to? Tam jest wyraznie wskazany port 3000 w przykladzie. Wiec jak widze w przykladzie 3000 to odpalam z portem 3000 a nie kombinuje z innym i potem sie dziwie ze nie dziala. Problem byl jak w ogole odpalic serwer http!

Mozna - cale szczescie ze uzyles tego slowa. Mozna takze sobie podlubac w nosie. Ale z tego nic nie wynika. Tak jak z twojego zdania. Co masz konkretnie do mojego podejscia? A jak mam podchodzic jak szlak mnie trafia? Czytam dokumentacje z serwera i chyba mam prawo oczekiwac ze wyczytam to o co mi chodzi! Mam racje?

To po co stosujesz (w jakim celu) takie konstrukcje zdaniowe w stosunku do innego uzytkownika forum?

Oczywiscie - to sie rozumie samo przez sie. Inaczej by mnie tu nie bylo. I zreszta WAM (tobie i Pieti) - dziekuje za pomoc. A na tego ciolka co pisal dokumentacje jestem zly :confused:

W prowadzeniu projektow ma (w sensie technicznym programistycznym) ale w sensie tworzenia logicznej dokumentacji: dalej podtrzymuje stwierdzenie ze to zwykly łoś, albo ciołek (takie okreslenie obrazliwe ma na celu pokazanie poprzez 1 wyraz frustracji autora tekstu - uzasadnionionej - bo przez takich gosci jak on powstaje tylko syf informatyczny i dezinformacja. Nie tylko ruby i mongrel jest na swiecie. Sa tysiace problemow informatycznych w sferze administracji, zarzdzania systemami itp. I co to by bylo jakby tak kazdy tak pisal dokumentacje, zeby omijala istote zagadnienia ktorego sie tyczy ( w tym przypadku odpalenia serwera http)
Skoro publikuje cos publicznie - niech to opisze dokladnie. To zwykle niechlujstwo. Dziwne ze czytajac skypty na temat jezyka ruby nie mialem problemu. Z waszej strony. Bo sa sensownie napisane. Dobre przyklady sa podawane a na przykladach czlowiek sie uczy w 90%

Wracam do tematu: pytam sie raz jeszcze - GDZIE NA TEJ STRONIE, STRONIE PRZEWODNIEJ READ.ME , KTORA MA NA SZYBKIEGO POKAZAC JAK SIE ODPALA SERWER HTTP, GDZIE JEST INFORMACJA DOTYCZACA WLASNIE URUCHOMIENIA SERWERA HTTP???

Przeczytalem jeszcze raz i NIE MA TAM ZADNEJ INFORAMCJI.

W sekcji: Quick Start w ogole nie ma mowy jak odpalic serwer bez uzycia railsow. OK - to moge zrozumiec. Tak sobie autor zaplanowal. Jednak dalej jest USAGE, ktore wlasnie to ma na celu, zeby wyjasnic jak odpalic bez RAILSOW.

No i co tam mamy? Ano nic - nie ma w ogole slowa jak dziala i jak jest skonstrulowany Mongrel w ogolnym zarysie. OK - w tym miejscu nie wymagam tego, gdyz jest to plik readme. Gosciu postanowil wyjasnic na przykladzie jak nalezy umiescic plik na serwerze ale nie pisze W DOKUMENTACJI SERWERA JAK URUCHOMIC SERWER!!! I to jest chore!

Czy teraz rozumiesz o co mi chodzi?

Od momentu gdy wskazales ten link - zaczela sie cala wrzawa. Niestety - nie podniesiona przeze mnie ale ty zaczales zwracac krytyczne uwagi pod moim adresem a jeszcze nieproszony dolaczyl sie uzytkownik po tobie ktorego post w ogole nic merytorycznego nie wniosl do tematu. I jeszcze sie denerwuje ze ktos cos napisal - to niech nie czyta jak sie denerwuje! I jego postu nie bede komentowal bo szkoda czasu na takich co wrzucaja 2 gr stosujac trolling.

Zobacz co pod przykladem USAGE jest napisane (cytuje autora rzekomej dokumentacje na temat uruchomienia serwera Mongrel)

Czy z tego wiem jak uruchmoic serwer? Dokladne tlumaczenie: jesli uruchomisz to (czyli ten podany przyklad) uzywajac w przegladarce portu 3000…

Jesli uruchomisz… Ale pytanie jest: jak to uruchomic? Po to sie czyta dokumentacje serwera http zeby go uruchomic.
Czyli: musze najpierw uruchmic zeby… i dalsze rozwazania na temat pracy serwera.
To tak jakbys czytal instrukcje do magnetowidu - sekcje nagrywanie - i chcial wiedziec jak sie wlacza nagrywanie a w instrukcji producent by ci wyjechal ze stwierdzeniem: jak nagrywasz kasete, na pulpicie magnetowidu bedzie czerwony znak nagrywania - bez uoprzedniego wskazania jak uruchmomic funkcje nagrywania.

Zeby w tym linku stalo wyraznie: You can run Montgrel https server using:

[quote]cd example/
ruby simplest.rb (ten z przykladu)[/quote]
Nie byloby zadnego problemu. Nie uzylbym zadnego epitetu typu łoś. A tak to dla mnie zwykly ciolek, ktory taka dokumentacje tworzy. Jak on moze zakladac, ze kazdy wie ZE SERWER HTTP uruchamia sie za pomoca ruby!!!
To jest w ogole niestandardowe uruchamianie serwera.

Apache, Tomcata sie uruchamia komenda ktora znajduje sie w katalogu bin i uzywa sie pliku wykonywalnego/skrytpu ale skrytpu z katalogu serwera. A tutaj ruby wywoluje serwer http??!! To tak jakby sie serwer apache wywolywalo komenda PHP. Nonsens. Wiec nie pisz mi ze gosciu wie jak pisac dokumentacje bo puscil zwyklego babola. I nie dziw sie mojej reakcji. Ile ja juz w zyciu czasu zmarnowalem przez takie lipne dokumentacje i takich losiow. Tylko dzieki temu ze sa fora i takie zyczliwe osoby jak ty co bezinteresownie chca pomoc - jakos da sie przezyc. Problem ktory sie sprowadza do jednej linijki a ktorego rozwiazania w dokumentacji w ogole znalezc nie mozna.

PS.
Co do fachowosci pisania dokumentacji. Poza tym ten przyklad co podaje nie zadziala chyba ze z pliku co gem zainstalowal examples/simpletest.rb skopiuje sie to ‘PATH’. Tak to on fachowo ta dokumentacje prowadzi.

Ja napisze tylko tyle:
Aby pojac cala potege jezyka ruby trzeba dorosnac

No coz musimy mu wybaczyc to ze PHP nauczylo go ciagniecia za raczke we wszystkim co robi i teraz jest bezradny gdy przeszedl do innego srodowiska. Smutne jest tylko to ze zamiast dobrze poszukac w google stracil czas na czcze gadanie i dowodzenie swoich racji. Proponuje na przyszlosc mniej agresji wobec autorow oprogramowania ktorego nie rozumiesz, nie zaplaciles nic tym autorom wiec nie masz obowiazku czegokolwiek wymagac z ich strony. Jesli dostrzegasz jakies braki to zamiast urzywac epitetow lepiej cos z tym zrob, napisz tutorial, post na blogu, wikipedi albo po prstu zrob late do mongrela.

[quote=rubikon]Sciagnalem ten ruski serwer NGINX - a tam dokumentacja po rusku a po angielsku jak kot naplakal.
Porazka ://[/quote]
No bez przesady !
http://wiki.codemongers.com/NginxGettingStarted
http://wiki.codemongers.com/NginxConfiguration
http://wiki.codemongers.com/NginxModules

W niektorych miejscach mozna sie przyczepic ze dokumentacja nginxa jest slaba ale to raczej jak zaczynasz wyciskac z niego 115% normy. Uruchomienie i konfiguracja jest akurat bardzo dobrze opisane.\

A Co do apache to przeciez zeby odpalic jako zwykle CGI skrypt rubiego wystarczy go wepchnac (przy defaultowej konfiguracji) do katalogu /cgi-bin i zmienic uprawnienia na 0755. Trzeba jeszcze tylko pamietac zeby na gorze skryptu dodac interpreter. Pod *nixami cos w stylu

[code=ruby]#!/usr/local/bin/ruby

puts “Content-Type: text/html”
puts “”
puts “

Hello world

”[/code]

.

Ostatnio musialem napisac dosc specyficzne proxy HTTP. Wlasnie wtedy wpadly mi w oko custom handlery mongrela - poprostu poezja :slight_smile: Jezeli ktos potrzebuje wystawic cos niestandardowego po HTTP (np.: jakies api) to mongrel i jego handlery doskonale sie nadaja. No i wydajnosc jest bardzo dobra :slight_smile:

Jak juz czytasz to czytaj ze zrozumieniem. Tak naprawde masz pretensje do calego swiata ze nie przeczytales dokladnie dokumentacji.

alez ona go nie omija ! Tylko Ty nie potrafiles odczytac i zinterpertowac odpowiedzi.

To ze jej nie znalazles bo oczekiwales czegos zupelnie innego to nie znaczy ze tej informacji tam nie ma.

Widzisz i tu jest Twoj kolejny problem - oczekiwales konkretnego zachowania sie aplikacji do ktorego jestes przyzwyczajony.

Nie - to tak jabys w php zrobic

system("/usr/local/bin/apache2ctl start")

Ale to juz prawdopodobnie Twoja wina, jak za kazdym razem jak malpa probowales powtarzac utarty schemat :slight_smile: