Atak na zabezpieczenia protected/private Javy/Scali i PHP5

Opublikowane przez Jarosław Zabiełło Sun, 21 Jun 2009 03:45:00 GMT

Być może jednym z argumentów, dla których Ruby znajduje więcej zainteresowania ze strony programistów Javy niż Python, jest podobny mechanizm zabezpieczenia dostępu do atrybutów klasy za pomocą słów kluczowych private i protected. W języku PHP 5 wprowadzono podobny mechanizm. Ci jednak, którzy myślą, że te kwalifikatory zakresu dostępu stanowią jakiekolwiek poważne zabezpieczenie, są w głębokim błędzie. W banalny sposób można to obejść zarówno w w PHP 5, jak i w Javie. Przy czym o ile, w Javie wynika to raczej z celowego projektu w mechanizmie refleksji, w PHP 5 wygląda to na dziurę bezpieczeństwa…

Czytaj dalej...

Tagi , , , , , , ,  | 19 comments

Scala i Lift on GAE

Opublikowane przez Jarosław Zabiełło Mon, 13 Apr 2009 04:32:00 GMT

Google opublikowało listę języków i javowych frameworków dostępnych dla swojego GAE (Google App Engine). Na liście jest m.in. JRuby, Jython, Groovy i Scala. Z powodu ograniczeń dostępności do wątków i JDBC napisano, że Lift nie jest wspierany. Jak jednak można wyczytać z jednym ostatnich wątków na liście dyskusyjnej Scali, trochę pośpieszono się z tą informacją. Lift daje się odpalić na GAE (to jest fork do kodu źródłowego). Scala posiada dwa rodzaje Aktorów – opartych na natywnych wątkach OS oraz opartych na asynchronicznej pętli, bez użycia wątków. Lift nie potrzebuje więc obsługi wątków do swej pracy. Co do JDBC, to sprawa jest trochę mętna, bo udało się uruchomić Lifta na pamięciowej bazie H2. Być może ograniczenie Google’a dotyczy tylko baz relacyjnych?

Updated: Frameworks and libraries supported by Google App Engine Java : List

Tagi , , , , , , , , , ,  | 3 comments

Projekt Eulera 17 - Ruby, Python, Scala

Opublikowane przez Jarosław Zabiełło Sun, 05 Apr 2009 21:24:00 GMT

Na polskim forum RoR pojawiła się informacja o projekcie Eulera składającym się z różnych łamigłówek programistycznych. Na forum RoR przedstawiane są rozwiązania w języku Ruby. Istnieją też rozwiązania w języku Clojure. Takie projekty są dobrym pretekstem do poćwiczenia swoich umiejętności programowania.

Czytaj dalej...

Tagi , , , , , ,  | 6 comments

Scala - język przyszłości

Opublikowane przez Jarosław Zabiełło Sat, 28 Mar 2009 06:17:00 GMT

Kiedy zapytano Jamesa Goslinga (twórcę Javy) o to, który z języków programowania współpracujących z JVM (wirtualną maszyną Javy) by użył teraz, pomijając samą Javę, odpowiedź była zaskakująco szybka i bardzo jasna – Scala.

Nazwa “Scala” pochodzi od “Scalable language” (język skalowalny). Język ten nadaje się równie dobrze do krótkich, zwartych skryptów jak i do tworzenia wydajnych, ogromnych, bezpiecznych systemów sieciowych. W swych założeniach Scala nawiązuje do minimalizmu składni Lispa i Smalltalka (większość rzeczy oparta jest na bibliotekach a nie na składni) dzięki czemu język ten praktycznie nie ma ograniczeń rozwoju i doskonale się skaluje (w miarę potrzeb można tworzyć nowe typy i całe nowe struktury wyglądające jak nowa składnia języka).

Scala jest językiem kompilowanym do bytecodu JVM dzięki czemu potrafi się integrować w sposób praktycznie przezroczysty, z całą platformą Javy (istnieje co prawda implementacja Scali dla platformy .NET ale jest jeszcze niedojrzała). W Scali mamy też wygodną konsolę do interaktywnego testowania kodu (tak jak to jest w Pythonie i Ruby). W Scali każda wartość jest obiektem, każda funkcja zwraca wartość. Zatem każda funkcja też jest obiektem (first class object). Funkcje są też obiektami wyższego rzędu (higher order kinds), można je zagnieżdżać, przekazywać w parametrach, a nawet stosować mechanizm dziedziczenia.

Czytaj dalej...

Tagi , , , , , , , , , , ,  | 101 comments

Maglev - w tym roku?

Opublikowane przez Jarosław Zabiełło Tue, 17 Mar 2009 03:09:00 GMT

Po początkowym szumie wokół Magleva, sprawa na jakiś czas przycichła i wiele osób powątpiewało czy jego twórcom uda się spełnić to co zapowiadali. Gdyby im się udało, Ruby uzyskałby fantastyczną platformę. Dojrzałą i szybką (rozwijana od ponad 20 lat i sprawdzoną w zastosowaniach komercyjnych) wirtualną maszynę Smalltalka z wbudowanym mechanizmem wydajnej, przezroczystej, transakcyjnej persistent memory (nie wiem jak to oddać po polsku, a każdym razie rozwiązanie wygodniejsze nawet od obiektowej bazy danych, coś w stylu javowej Terracoty). Aktualnie kod Maglev’a jest cały czas w fazie alpha, ale na drugi kwartał roku 2009 zapowiada jest już wersja beta. To, co cieszy to rosnąca, coraz większa zgodność Maglev’a z Ruby Specs.

Tagi ,  | 5 comments

Rails 2.3

Opublikowane przez Jarosław Zabiełło Tue, 17 Mar 2009 02:48:00 GMT

W końcu się doczekaliśmy finalnej wersji Rails 2.3 (oznaczona jest jako wersja 2.3.2 użytkownicy Passengera muszą sobie zrobić aktualizację do wersji 2.1.2). Cieszy może wsparcie do Rack’a i liczne usprawnienia frameworka, ale tak naprawdę to czekam raczej na następną wersję, jaką ma być Rails 3.0 (aka Merb 2.0). Ponoć na najbliższej konferencji Railsconf 2009 ma być jakaś wersja beta kodu źródłowego (w każdym razie 6 maja przewidziane są jakieś prezentacje na temat Rails 3). Mam nadzieję że stabilna wersja Rails 3 pojawi się szybko i nie będzie rozczarowaniem dla tych, co wcześniej cenili sobie prostotę i elastyczność Merba.

Tagi , ,  | brak comments

Dlaczego iWork'09?

Opublikowane przez Jarosław Zabiełło Thu, 26 Feb 2009 01:42:00 GMT

Jakiś czas temu próbowałem skontaktować się z twórcami Django co do możliwości udostępnienia softu umożliwiającego wstawienie do sieci książki z mechanizmem zbierania komentarzy od internautów. W ten sposób dostępna jest Django Book. Niestety nigdy nie doczekałem się jakiejkolwiek odpowiedzi. Może to i dobrze, bo jest lepsze rozwiązanie…

Czytaj dalej...

Tagi , , ,  | 3 comments

Debugowanie Merba w Netbeans

Opublikowane przez Jarosław Zabiełło Thu, 22 Jan 2009 03:30:00 GMT

Po paru godzinach walki z Netbeans, przeglądaniem źródeł, przekopywaniem list dyskusyjnych i zgłoszonym tickecie, w końcu udało mi się zmusić Merba do pracy z Netbeans. Mam też dobrą wiadomość, że Netbeans 7 (wersja trunk) w przyszłym tygodniu ma mieć dodane wsparcie do Merba (tworzenie projektów, debugowanie itp). Dla tych, co chcieliby już teraz móc debugować swoje projekty Merba w graficznym, ślicznym debugerze Netbeans, podaję instrukcję obsługi. :)

Czytaj dalej...

Tagi , ,  | 4 comments

Aplikacje dla Mac OS-X

Opublikowane przez Jarosław Zabiełło Mon, 19 Jan 2009 02:06:00 GMT

Nowi użytkownicy systemu Mac OS-X często się pytają o programy, lub odpowiedniki programów z innych systemów. Zamieszczona w dalszej części tekstu lista zawiera różne aplikacje jakie sam używam, lub uważam że są warte uwagi. Część z nich jest darmowa, część nie. Niektóre są tylko na OSX, inne (z racji Javy) działa na wielu platformach, jeszcze inne są tylko na Windozę, ale są związana tematycznie z OSX (np. MacDrive). Reszta to te aplikacje które uważam po prostu za warte uwagi. Lista będzie rozszerzana i modyfikowana w miarę upływu czasu.

Czytaj dalej...

Tagi , ,  | 10 comments

W kierunku Rails 3

Opublikowane przez Jarosław Zabiełło Sun, 18 Jan 2009 23:24:00 GMT

W dosyć regularnie publikowanych postach Yehudy Katza można obserwować jak postępuje refactoring Rails. Okazało się też, że DHH jest rozsądnym człowiekiem i posiada sensowne pomysły co do przyszłego, wspólnego API Rails 3. Połączenie Merba z Rails wprowadziło jednakże trochę zamieszania wśród autorów piszących książki o Merbie. Myślę, że mówienie o zupełnej deaktualizacji tych wszystkich książek jest zdecydowanie przedwczesne, bo zanim wyjdzie oficjalna wersja Rails 3, upłynie jeszcze sporo czasu.

Czytaj dalej...

Tagi , ,  | 5 comments

Merb łączy się z Rails

Opublikowane przez Jarosław Zabiełło Wed, 24 Dec 2008 14:01:00 GMT

Ogłoszone wczoraj połączenie się frameworków Merb i Rails wywołało z miejsca burzę na kanale IRC #merb. Informacja pojawiła się już na blogu RoR, Ezry, Yehudy czy Matta Aimonetti jak i samego DHH (wpis z dzisiaj). Na oficjalnej stronie Rails stworzono specjalną podstronę rubyonrails.org/merb mającą upamiętnić ten dzień. Co z tej, trochę sensacyjnej, fuzji wynika, a co nie?

Czytaj dalej...

Tagi , ,  | 15 comments

Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych.

Opublikowane przez Jarosław Zabiełło Sat, 20 Dec 2008 03:28:00 GMT

Wydana niedawno przez Helion książka "Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych.". w zamierzeniu autora, nie jest tylko kolejnym, kompleksowym wprowadzeniem do frameworka Ruby on Rails dla początkujących programistów (Takim wprowadzeniem jest – mająca wyjść wiosną 2009 r – referencyjna Agile Web Development with Rails. 3rd ed.) Zamiast więc powtarzać w kółko te same informacje dostępne w innych książkach, autor skupił się tu na innych kwestiach.

Czytaj dalej...

Tagi , , ,  | 10 comments

Merb - źródła informacji

Opublikowane przez Jarosław Zabiełło Fri, 12 Dec 2008 15:55:00 GMT

Od czasu wyjścia Merb 1.0 przybywa coraz więcej dobrych materiałów n/t tego frameworka (koledzy od Pylons, ktorzy od wieków tkwią w tej swojej wersji 0.9.x mogliby to sobie wziąć do serca). Przede pojawia się coraz więcej zapowiedzi książek…

Czytaj dalej...

Tagi , , , , , ,  | 13 comments

Merb - tworzenie nowego projektu

Opublikowane przez Jarosław Zabiełło Wed, 19 Nov 2008 01:13:00 GMT

Rozpoczęcie pracy z Merb’em, podobnie jak w Rails, zaczyna się od stworzenia projektu. Domyślnie Merb proponuje predefiniowany zestaw dobranych modułów, nie jest to jednak jedyna opcja i dobrze wiedzieć o tym szczególnie dla tych co chcieliby użyć Merb w JRuby (jeden z domyślnych modułów, DataMapper, jeszcze nie jest przygotowany do pracy z JRuby).

Czytaj dalej...

Tagi , , , ,  | 33 comments

Merb 1.0, JRuby docelową platformą?

Opublikowane przez Jarosław Zabiełło Mon, 10 Nov 2008 01:13:00 GMT

Ezra Zygmuntowicz oficjalnie w swoim blogu obwieścił wydanie wersji 1.0 dla frameworka Merb. Mimo, że formalnie Merb nie ma zamiaru walczyć z Rails, na pewno taka konfrontacja nastąpi. Tym bardziej ciekawa, że wkrótce ma wyjść Rails 2.2, który wprowadził trochę znaczących zmian w stosunku do wersji poprzednich, m.in. wielowątkowość oraz wsparcie dla wersji międzynarodowych.

Czytaj dalej...

Tagi , , , , , ,  | 32 comments

Merb 1.0 RC5 ostatnia wersja RC

Opublikowane przez Jarosław Zabiełło Tue, 04 Nov 2008 01:26:00 GMT

Ci co robili sobie update gemów mogli zauważyć, że gemy do Merba mają już numer 0.9.13. To oznacza, że zainstalowały się gemy Merba 1.0 RC5. To jest ostatnia wersja RC przed finalną wersją 1.0 jaka ma być już prezentowana podczas najbliższej konferencji RubyConf.

Tagi ,  | brak comments

Merb 1.0 RC4 i filmy z MerbCamp

Opublikowane przez Jarosław Zabiełło Fri, 31 Oct 2008 01:59:00 GMT

Wyszła kolejna wersja Merba 1.0 RC4 (gemy noszą numer 0.9.12). Z ciekawszych rzeczy dodano integrację frameworka testującego z webratem oraz poprawiono merb-auth i współpracę z JRuby i Windowsem. Finalna wersja 1.0 ma pojawić do konferencji RubyConf (6-8 listopad 2008). Dostępne też są już filmy z konferencji MerbCamp!

Tagi , ,  | 4 comments

Szybsze uruchamianie JRuby

Opublikowane przez Jarosław Zabiełło Wed, 15 Oct 2008 01:14:00 GMT

Osoby często uruchamiające w konsoli JRuby’ego pewnie się trochę denerwują opoźnieniami związanymi z koniecznością załadowania za każdym razem JVM (wirtualnej maszyny Javy). Dzięki serwerowi Nailgun, JVM jest trzymana w pamięci i JRuby jest uruchamiany natychmiast, bez opóźnień. Instalacja jest prosta i opisana na Wiki.

Tagi , ,  | 7 comments

Nanite - klaster procesów Ruby'ego na serwerze Erlanga

Opublikowane przez Jarosław Zabiełło Wed, 15 Oct 2008 01:04:00 GMT

Na zakończonej niedawno MerbCamp, Ezra Zygmuntowicz przedstawił ciekawy projekt – Nanite będący klasterem dla asynchronicznych procesów Ruby’ego wykorzystujących RabbitMQ, bardzo szybki, open-source’owy serwer napisany w Erlangu. Źródła Nanite dostępne są na GitHubie. Projekt jest świeży ale zapowiada się bardzo ciekawie jako kolejna alternatywa dla Mongrel’a, Thin’a, Ebb, czy Phusion Passengera.

Tagi , ,  | brak comments

Merb 1.0RC

Opublikowane przez Jarosław Zabiełło Tue, 14 Oct 2008 23:21:00 GMT

Z lekkim opóźnieniem, ale już jest dostępny Merb 1.0RC (gemy wyświetlają wersję 0.9.9). Zostało także zmienione Wiki. Ruby szybko się rozwija. Aktualnie nie tylko Merb ale też i Rails bez problemu biją wydajnością pehapowe frameworki takie jak CakePHP, Symfony czy Code Igniter.

Czytaj dalej...

Tagi , , ,  | 5 comments

Starsze wpisy: 1 2 3 ... 12