Lista artykułów autora: Michał Łaguna


Java NIO.2

Java NIO, czyli New Input/Output lub Non-blocking Input/Output jest dostępne od Javy 1.4 (JSR-51). Wraz z wydaniem Javy w wersji 7 API zostało znacząco rozbudowane – światło dzienne ujrzała implementacja NIO.2 (JSR-203). Dwie najistotniejsze zmiany wydane wraz z NIO.2 to asynchroniczne (nieblokujące) I/O oraz API dostępu do systemu plików (klasy z pakietów java.nio.file i java.nio.file.attribute). Poza tym dopracowano funkcjonalność już wcześniej dostępną w NIO (m.in. bufory, sockety).


Wprowadzenie do JEE6

Specyfikacja JEE6 została opublikowana pod koniec 2009 roku. Obecnie jest wspierana przez wszystkie liczące się serwery aplikacyjne. Specyfikacja nie jest rewolucją w JEE tak jak miało to miejsce w przypadku wydania specyfikacji JEE5 – jest raczej bardzo przemyślaną ewolucją i kontynuacją zmian mających na celu uproszczenie wytwarzania aplikacji. W specyfikacji pojawiły się między innymi JSF 2.0, Servlets 3.0, JPA 2.0, EJB 3.1, Bean Validation oraz CDI (Context and Dependency Injection).


Wstęp do rozproszonej kontroli wersji na przykładzie Git’a

W standardowych (centralnych) systemach wersjonowania mamy zazwyczaj jedno główne repozytorium kodu, z którego korzysta cały zespół. Praca w projekcie wiąże się z ciągłym pobieraniem i wgrywaniem zmian i w związku z tym wymaga stałego połączenia z jednym centralnym serwerem. Cała historia zmian trzymana jest w centralnym repozytorium, członkowie zespołu lokalnie posiadają jedynie kopię źródeł. Rozproszona kontrola wersji jest zorganizowana w zupełnie inny sposób. Repozytoriów jest tyle ilu członków zespołu. Każdy z nich lokalnie posiada pełne źródła projektu wraz z historią zmian. Wszystkie repozytoria są równe – żadne z nich nie jest w żaden sposób wyróżnione. To, z którego repozytorium na […]


Wprowadzenie do Maven’a

Wielką zaletą języka Java jest jego elastyczność. Oznacza to między innymi, że nikt nie mówi nam gdzie mają być nasze źródła, do jakiego katalogu mają trafić binarki ani gdzie mamy mieć umieszczone pliki propertiesów czy biblioteki zewnętrzne. Poza drobnymi ograniczeniami specyficznymi dla pewnych rodzajów rozwiązań możemy zazwyczaj sami zdefiniować praktycznie całą strukturę projektu według własnych potrzeb i upodobań. Do tego mamy jeszcze dowolność w wyborze sposobu budowania aplikacji – możemy zbudować projekt z poziomu IDE, z linii poleceń lub użyć dedykowanych narzędzi do budowania.