Archiwum dla kategorii ‘Java’

W walce o jakość kodu

czwartek, Czerwiec 17, 2010

Wielu programistów, zwłaszcza początkujących, nie zwraca uwagi na jakość kodu, który tworzą. Czasami brak nam czasu lub wiedzy na wytworzenie kodu, który – poza tym że działa – jest czytelny, zrozumiały i wydajny. Jakość kodu to nie tylko sławne „do not repeat yourself” (swoją drogą często zapomniane…), ale także całe zestawy reguł dbające o prostotę utrzymania, łatwość zrozumienia, wydajność itd. Na szczęście nie musimy znać ich wszystkich, bo istnieją narzędzia które mogą nas wspierać w pisaniu kodu wysokiej jakości. Jedno z nich chciałbym przedstawić w tym artykule – jest to Sonar.

(więcej…)

VN:F [1.9.8_1114]
Ocena: +4 (liczba ocen: 4)

Autor: Adam Andrzejewski

JSR-303 – przepis na fasolkę. Bardzo dobrą poniekąd. Cz. 1

czwartek, Luty 11, 2010

Finalna wersja specyfikacji JSR-303: Bean Validation ukazała się światu pod koniec ubiegłego roku (2009). Jest to kolejny przysmak a’la carte z renomowanej kuchni Gavin’a King’a i spółki, który doczekał się formalnej specyfikacji. Zatem – delektujmy się przez chwilę…
(więcej…)

VN:F [1.9.8_1114]
Ocena: +3 (liczba ocen: 3)

Autor: Daniel Ramotowski

Hibernate i efektywne sekwencje

wtorek, Grudzień 15, 2009

Do napisania kilku słów na temat optymalizacji używania generatorów w Hibernate 3 natchnął mnie kolega z pracy Krzysiek – prawdziwy specjalista Oracle i tropiciel motocyklistów w białych pantoflach :) (użyłem określenia „tropiciel”, w celu podkreślenia swobodnego charakteru tej publikacji i zwiększenia percepcji treści merytorycznych wśród czytelników; ma to oczywiście związek z pewnym zabawnym wydarzeniem ale nie o tym będzie tutaj mowa).

(więcej…)

VN:F [1.9.8_1114]
Ocena: 0 (liczba ocen: 0)

Autor: Daniel Ramotowski

Java – elementarz serializacji

poniedziałek, Sierpień 17, 2009

Temat serializacji obiektów w języku Java jest z pozoru trywialny : wystarczy zaimplementować malutki interfejsik – i gotowe!  Czasem jednak to, co wydaje się tak oczywiste, przysparza inżynierom pracy na wiele dni…

Za większością publikacji, więc również i za tą, kryje się głębsza historia opowiadająca o pewnym systemie informatycznym zaimplementowanym w języku Java, który można opisać nośnymi przymiotnikami, takimi jak „skalowalny”, „rozproszony”, „wielowarstwowy” itd.

Jak powszechnie wiadomo (a jeżeli nie, to od tej chwili będzie), inżynierowie, którzy rozpraszają systemy :) , bardzo często stosują mechanizmy związane z replikacją danych.  Takim mechanizmem jest z całą pewnością rozproszony bufor (cache) obiektów Java i to na nim będziemy się teraz skupiać.

Stosując mechanizmy buforowania zawsze dbamy o to, aby obiekty były „serializowalne”, ponieważ zawartość bufora może być zapisywana również na dyski lub do baz danych.  W przypadku bufora rozproszonego (tzn. takiego,  który dba o to aby każdy z systemów miał taką samą zawartość bufora) obiekty są przesyłane przez sieć, co również wymusza serializację.

Tyle tytułem wstępu – teraz konkrety.

(więcej…)

VN:F [1.9.8_1114]
Ocena: +107 (liczba ocen: 107)

Autor: Daniel Ramotowski