• Strona główna
  • Nauka
  • O autorze
  • To czytam
Niebieski Pomarańczowy Zielony Różowy Purpurowy

Archiwa z marzec, 2007

Możesz użyć poniższej wyszukiwarki:

marca 23

Projekt w Ruby

Zafascynowany możliwościami Ruby on Rails, w tej właśnie technologii stworzyłem prosty serwis. Mini CMS+mini galeria. Rzeczywiście, pisało się to dość przyjemnie (zwłaszcza, że jest taki fajny edytor), jednak wydaje mi się, że RoR pokazuje w pełni swoje możliwości przy czymś większym.

Może by tak YAAP-a przenieść?

marca 09

“Przerwa na reklamę”: expen.pl

Wczoraj swoją komercyjną działalność rozpoczął serwis expen.pl, który wykonałem na warszawskiej firmy Infostolica. Działalność serwisu polega na pośredniczeniu w konsultacjach telefonicznych między Klientami a Ekspertami. Przykładowo, ktoś może posiadać dużą wiedzę z zakresu prawa administracyjnego. Osoba taka rejestruje się w serwisie jako Ekspert, ściąga sobie program do obsługi telefonii internetowej (dowolny klient SIP) i czeka na telefony od żądnych wiedzy klientów. Klienci widząc, że Ekspert jest dostępny, mogą do niego zadzwonić używając telefonii internetowej. Mogą również nawiązać połączenie korzystając ze zwykłego telefonu (dokładniej wygląda to tak, że to expen.pl dzwoni wtedy i do Klienta i do Eksperta). Oczywiście wszystko to nie jest jedynie czynem społecznym - Klienci płacą za połączenie zgodnie ze stawką wybraną przez Eksperta, zaś expen.pl i Ekspert dzielą się zyskami z każdej rozmowy.

Oczywiście istnieje możliwość złożenia “reklamacji”, jeśli dana konsultacja nie spełni oczekiwań Klienta. Każda konsultacja może być oceniona przez Klienta. Każdy też może zapoznać się ze średnią oceną danego Eksperta jak i z ilością jego punktów (punkty te zależą nie tylko od oceny, ale również np. od szybkości odebrania telefonu).

marca 04

Uczę się japońskiego języka

Wbrew pozorom, szyk wyrazów w tytule jest poprawny. Ale zacznijmy od początku.

Od pewnego czasu w różnych miejscach sieci migała mi nazwa rewolucyjnego - jakoby - frameworka o nazwie Ruby on Rails. Framework jest pewnym szkieletem, o który można oprzeć swoją aplikację - dzięki czemu nie trzeba się martwić np. o przejrzysty układ katalogów, o procedury obsługi bazy danych, etc. Do tej pory programowałem głównie w PHP i uważałem, że język ten jest całkiem przyjemny i dobrze nadaje się do zastosowań, do których go używam. Stosowanie frameworków PHP uważałem raczej za stratę czasu i ograniczenie elastyczności (chyba, że mój własny prosty schemat, wg. którego budowałem większość aplikacji, można nazwać frameworkiem).

Jednakże, jak już powiedziałem, buszując w Internecie zacząłem dość często natrafiać na strony poświęcone Ruby on Rails. Trafiłem tak na blog Jarosława Zabiełły, na polską stronę Railsów, wreszcie na stronę główną i na 15-minutowy filmik (screencast). Filmik ten przedstawiał ni mniej ni więcej, a tworzenie (od zera) systemu obsługi bloga. Zainteresowało mnie to - blog w 15 minut?

Poszperałem dalej. Zwykle z nieufnością podchodzę do sformułowań w stylu: “programowanie aplikacji internetowych nigdy nie było tak proste!”, jednak pewne argumenty (np. niesamowita szybkość i oszczędność kodu) powtarzały się we wszystkich miejscach poświęconych RoR.

Czym więc właściwie są te Railsy?

Jak już napisałem powyżej, Ruby on Rails to framework, znakomicie ułatwiający tworzenie aplikacji internetowych w języku Ruby. Język Ruby jest językiem stworzonym 12 lat temu w Japonii. Jest on w pełni obiektowy i pozwala dowolnie się modyfikować (można np. sposób, w jaki język obsługuje liczby całkowite). Railsy zostały stworzone kilka lat temu przez Duńczyka - Davida Heinemeiera Hanssona. Stanowią one kompletny i jednolity system, pozwalający tworzyć aplikacje w oparciu o architekturę (jak to strasznie brzmi!) Model-Widok-Kontroler (MVC).

Po zapoznaniu się z informacjami nt. RoR, pomyślałem, że jeśli wszystko co do tej pory przeczytałem jest prawdą, to jest to system nadający się idealnie dla mnie. Wizja systemu, który sam wykona za mnie najczarniejszą robotę (komunikacja z bazą danych na przykład) bardzo mi się spodobała. Tak bardzo, że postanowiłem zakupić książkę i po prostu się Railsów nauczyć. Niestety, w ofercie polskiego wydawcy nie znalazłem nic, co by mnie szczególnie zainteresowało. Znalazłem natomiast (już na innych stronach) opis książki Agile Web Development with Rails. Książka ta miała pochlebne recenzje. Jak jednak sprowadzić sobie tę książkę z zagranicznego wydawnictwa? Z pomocą przyszedł Empik.

Zamówiłem więc w niedzielę wieczorem. We wtorek rano dostałem informacje, że mogę odebrać książkę w wybranym punkcie. Tekst z tyłu okładki wyglądał zachęcająco: Twoim zadaniem jest napisać wysokiej jakości, pięknie wyglądającą aplikację internetową. Ma być gotowa na jutro, ale będziesz się nią opiekował przez lata. Chcesz użyć sztuczek takich jak AJAX by uczynić swoje aplikacje prostsze w obsłudze i lepiej odpowiadające potrzebom klientów. Chcesz również użyć technik takich jak REST, by Twoje aplikacje mogły łatwo współdziałać z innymi aplikacjami. Ruby on Rails może być tym, czego szukasz.

No i zacząłem czytać. Dawno nie miałem takiej frajdy. Pomyślałem, że jeśli chcę dobrze nauczyć się tego języka i tego frameworka, to będę sumiennie wykonywał krok po kroku wszystko tak, jak jest to zapisane w książce. Jest to strasznie fajne. W dzieciństwie lubiłem układać budowle z klocków LEGO, zgodnie z zamieszczonymi instrukcjami (by później rzecz jasna utworzyć coś własnego). Nauka RoR przypomina z Agile Web Development przypomina mi tamte zabawy. Czemu tak mi się te Railsy podobają? Otóż:

  • Pozwalają zachować porządek. Każdy element aplikacji ma tu swoje miejsce, nazwę i zakres działań - wszystko ustalone z góry. Nie muszę się martwić o wymyślenie struktury tego wszystkiego - Rails robi to za mnie.
  • Są jednolite i konsekwentne. Bardzo lubię, gdy coś jest konsekwentne. Tutaj wszystkie stosowane konwencje (np. nazwy obiektów) są ustalone i przestrzegane. W PHP panuje pod tym względem pełna samowola (do niektórych funkcji można się dostać jedynie tworząc odpowiedni obiekt, nazwy niektórych funkcji sanierozdzielone, inne są_rozdzielone_podkreśleniami).
  • Posiadają ActiveController. Od długiego czasu szukałem do PHP jakiegoś systemu, który odczytałby stworzoną przez mnie bazę danych i na jej podstawie stworzył odpowiednie klasy, ze wszystkimi zależnościami, z możliwością rozszerzenia, itd. ActiveController robi to wszystko przy minimalnym udziale użytkownika (dyrektywy w stylu belongs_to lub has_many). Żadnej dodatkowej konfiguracji!
  • Bajecznie prosta obsługa AJAX-a. Możliwe jest uzyskanie nieprzeładowujących się stron dzięki zamianie jedynie kilku linii.

Myślę, że takich takich pozytywnych cech jest więcej - zapewne coś jeszcze o RoR pojawi się na blogu. Polecam.

Blog Newtona

Nazywam się Newton. Teraz będę kłamał.

  • Blip
  • Pepsi
    Aktualny zapas Pepsi:
  • Archiwa
    • styczeń 2009
    • grudzień 2008
    • listopad 2008
    • październik 2008
    • wrzesień 2008
    • sierpień 2008
    • lipiec 2008
    • czerwiec 2008
    • maj 2008
    • kwiecień 2008
    • marzec 2008
    • luty 2008
    • styczeń 2008
    • grudzień 2007
    • listopad 2007
    • październik 2007
    • wrzesień 2007
    • sierpień 2007
    • maj 2007
    • kwiecień 2007
    • marzec 2007
    • luty 2007
  • Wyszukiwanie






  • Strona główna
  • Nauka
  • O autorze
  • To czytam

© Copyright Blog Newtona. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Do góry!