sobota, 9 lutego 2008

Rubiny na torach

Dusia zobaczyła jak Michał siedział ze smętna miną.
--- Co Ci dolega?
--- Bezradność jak szybko dezaktualizuje się wiedza.
--- Nie przejmuj się Michałku
--- Odpalam prosty przykład aplikacji i nie działa
--- A co to?
--- Rubiny moja umiłowana -- odpowiedział --- pełno ich na torach
--- Ale programiści mają wyobraźnię -- westchnęła
--- Wyobrażam Cię w biżuterii pełnej rubinów, jak hinduska diwa pozująca się na torach. --- odpowiedział z nutką sarkazmu w głosie -- a tak na poważnie coraz większą popularność zyskuje narzędzie o nazwie Ruby on Rails dla programistów tworzących serwisy internetowe. No właśnie zastanawiałem sie co mogło się zmienić w zastosowaniu tego narzędzia gdybym chciał to połączyć z ulubioną technologią Adobe Flex 3.
--- Ja sobie wyobrażam jak hinduski radża kocha się ze mną na tych torach --- strzeliła ripostę --- a tym radżą jesteś ty Michałku.
--- No... może kiedyś się to spełni -- odrzekł ze smutkiem -- ale nie chciałbym być na miejscu Stanisława Wokulskiego. Wracając do rzeczy zainstalowałem Ruby on Rails 2.0.2. Pobrałem zestaw przykładów bazujących na tym narzędziu o nazwie Flex Ruby on Rails RIA SDK dla programistów Flex. Ale najprostszy przykład o nazwie flex_ror_sdk_send_data nie chciał mi się uruchomić. Stawiam różne hipotezy dlaczego mi się nie udało uruchomić. Jedna jest taka że każda zmiana w kodzie aplikacji RoR wymusza restart serwera. Często widzę komunikat "Routing erorr" co właśnie powodowało że chciałem wywołać działanie aplikacji RoR bez restartu serwera Mongrell. Jak ponownie uruchomiłem serwer to pojawił się komunikat że nie mam biblioteki sqlite3.dll. Rozwiązaniem okazało się pobranie tej biblioteki i wypakowanie tego tam gdzie mam pliki interpretora Ruby czyli w naszym przypadku F:\ruby\bin. Kolejnym problemem okazał się kod, który zakładał, że użytkownik domyślnie użyje kontrolera application i akcji data_to_file. Rozwiązałem to że zrobiłem własny kontroler o nazwie WitajSwiecie poleceniem

F:\rails\flex_send_data\ruby script\generate controller WitajSwiecie

Gdy poprawiłem kod pliku flex_send_data.mxml na

var appUrl:URLRequest = new URLRequest();
appUrl.url = "http://127.0.0.1:3000/witaj_swiecie/data_to_file/";
appUrl.method = URLRequestMethod.POST;

I wtedy kod zadziałał. Ale pytanie pozostało dlaczego http://127.0.0.1:3000/application/data_to_file/ nie działa

--- Michałku jestem pod wrażeniem jak szybko rozwiązujesz problemy i nie zrażasz się, że coś nie działa.
--- Owszem, ale moja cierpliwość jest skończona, czasami mam dość tych komunikatów że coś nie działa. Kolejny przykład to rails_file_transfer i musiałem pozmieniać kod w ActionScript przy odwołaniach URLRequest, aby działało to przy moim kontrolerze witaj_swiecie a kod akcji wstawiłem w F:\rails\flex_send_data\app\controllers\application.rb a plik flex_file_transfer.mxml wstawiłem do F:\rails\flex_send_data\public a tam go skompilowałem w FlashDevelop. Gdy uruchomiłem to zauważyłem, że aplikacja Flex nie wyświetla po ponownym otwarciu zawartości folderu F:\rails\send_data\public\myUploads. Wygląda na to, ze musiałbym dopisać kod akcji viewfolder i skrypt ActionScript do obsługi tej akcji.
--- Nie rozumiem, ale po co to wszystko?
--- Żebyś miała wiele rubinów i była pożądaną kobietą przez radżę, który dzięki twoim intrygom stanie się maharadżą na kolei -- zażartował sobie Michał z Dusi --- a tak poważnie zostawimy pisanie tego kodu czytelnikom. Została mi jeszcze na dzisiaj słynna biblioteka WebOrb for Ruby. Myślę, że z perspektywy czasu warto śledzić kariery kobiet w branży programistycznej. Na dzisiaj możesz poczytać wpisy Kathleen Erickson.
--- A poderwałbyś ją? --- spytała się prowokacyjnie
--- A skądże! -- zdziwiony pytaniem -- Mieszka zbyt daleko ode mnie, a ty Dusiu jesteś dla mnie najważniejszą osobą.
Dusia siadła na kolanach Michała i polizała językiem jego policzki, a Michał delikatnie muskał językiem po jej szyi....

5 komentarzy:

Lax pisze...

Czy "AJAX for dummies" to fajna książka?

Michał Małaj pisze...

@lax - fajna to zależy dla kogo, ja wolałbym już używać Flash Remoting zamiast Ajaxa. Dla mnie fajna książka to Professinal Haxe czy co będzie Adobe AIR: Create - Modify - Reuse

admin pisze...

Czy w kolejnych notkach moglbys poruszyc tematyke haXe, Neko i AIR? Przynajmniej jakies omowienie, ocene technologii...?

Lax pisze...

O i jeśli można również prosić... Moja koleżanka oddana czytelniczka tego bloga zafascynowana jest Erlangiem :)

Zenon L. pisze...

panowie, spokojnie! nie za dużo tej technologii, bo zabraknie miejsca na opisy spraw najważniejszych, czyli lizanie po policzkach i romantyczne kolacje przy flakach i odsmażanym na smalcu schabowym!