Miesięczne archiwum: Styczeń 2011

Zaczynamy przygodę z JNI

Każdy, kto choć przez chwilę miał okazję obcować z Javą na pewno zna słowo kluczowe native. Wiadomo o nim tyle, że służy do oznaczania metod zaimplementowany w językach natywnych systemu operacyjnego. Niestety bardzo prawdopodobne jest, że dla większości programistów korzystających z Javy jest to już całość informacji na ten temat. Sam znajdowałem się w tej grupie aż do dzisiaj, kiedy to postanowiłem przełamać lody i bliżej zapoznać się z tą funkcjonalnością. Na wstępie zaznaczę, że nie chodzi tutaj o wielkie znaczenie JNI, czy jego nieprzeciętną użyteczność – prawda jest taka, że Java Native Interface używany jest stosunkowo rzadko. Moja decyzja wynikała bardziej z chęci poznania czegoś, co od długiego czasu było integralną częścią używanej przeze mnie technologii, a co od początku „odkładałem na później”.

Czytaj dalej

Certyfikaty

Z uwagi na popularność Javy i mnogość ofert pracy związanych z tym językiem programowania, programiści często decydują się na podnoszenie swoich kwalifikacji zawodowych poprzez zdobywanie certyfikatów. W poniższym wpisie postaram się przedstawić ścieżkę certyfikacyjną związaną z Javą, plusy wynikające z posiadania certyfikatów oraz zmiany w klasyfikacji i sposobie ich zdobywania, które niesie ze sobą przejęcie Sun’a przez firmę Oracle. Czytaj dalej

Idealny framework webowy

Nie istnieje :) Jednak wielu programistów szuka rozwiązania jak najbardziej dostosowanego do swoich potrzeb. Na odbywającej się w listopadzie ubiegłego roku konferencji Devoxx odbyła się wyjątkowo ciekawa prezentacja, na której Matt Raible porównywał oparte o maszynę wirtualną Javy frameworki webowe. Prelekcja może okazać się niezwykle przydatna dla osób szukających najlepszego rozwiązania technologicznego dla nowego projektu.  Czytaj dalej

AsyncHttpClient – asynchroniczne request’y w Javie

Wysyłanie żądań HTTP jest dość częstym zadaniem, które niejednokrotnie staje się nieodłącznym elementem tworzonych aplikacji. Nic więc dziwnego, że powstało wiele framework’ów mających na celu maksymalne uproszczenie tej czynności przy jednoczesnym udostępnianiu wielu bardziej wyrafinowanych funkcjonalności. Jedną z takich bibliotek jest AsyncHttpClient. Jak sama nazwa wskazuje, służy ona głównie do wysyłania żądań w sposób asynchroniczny (nieblokujący), choć umożliwia również zastosowanie wariantu synchronicznego (blokującego). Postaram się przybliżyć podstawy jej działania i sposób wykorzystania we własnej aplikacji tworząc krok po kroku niewielki przykładowy projekt.

Czytaj dalej

Spring Security – autoryzacja w aplikacji internetowej

W ostatnim wpisie traktującym o Spring Security poruszyłem temat uwierzytelniania, czyli weryfikacji tożsamości użytkownika na podstawie podanych przez niego informacji. Szczegółowo przedstawiłem proces implementacji tej funkcjonalności we własnej aplikacji, oraz poruszyłem parę kwestii dotyczących bezpieczeństwa przechowywanych w bazie danych haseł. To wszystko było jednak wstępem do tego, co na prawdę chcemy osiągnąć – kontroli dostępu do różnych obszarów aplikacji na podstawie przyznanych użytkownikowi w czasie uwierzytelniania uprawnień (granted authorities). Jest to proces tzw. autoryzacji użytkownika, i to jemu poświęcony jest ten artykuł.

Czytaj dalej

Play framework – proste tworzenie aplikacji webowych

Java często wykorzystywana jest do tworzenia aplikacji webowych. Niestety najczęściej proces ten jest skomplikowany i czasochłonny. Do niedawna brakowało rozwiązań za pomocą których można by stworzyć prostą, w pełni funkcjonalną aplikację w kilka minut. Osobiście oczekiwałem na odpowiednik Django, z którym miałem styczność i którego możliwości oraz architektura wywarły na mnie ogromne wrażenie. Oczywiście jest Grails, ale chciałem korzystać z czystej Javy i przekonać się, że można w niej stworzyć narzędzie, które przy tworzeniu aplikacji webowych nie wymaga pracy z gigantycznymi plikami XML. Jest duża szansa, że moje oczekiwanie dobiegło końca – poznałem Play Framework.

Czytaj dalej