Java
Dział Java to obszerne i szczegółowe kompendium wiedzy na temat jednego z najpopularniejszych obiektowych języków programowania. Książki zawarte w tej kategorii zawierają nieocenioną pomoc dotyczącą zasad i mechanizmów programowania w Javie oraz możliwości wykorzystania tego języka na dowolnych platformach sprzętowych i systemowych.
Dowiecie się jak zapewnić niezmienność obiektu lub jak stosować wyjątki przechwytywalne lub wyjątki czasu wykonania. Poznacie typy ogólne i wyliczeniowe, interfejsy czy zalety stosowania statycznych klas składowych oraz nauczycie się jak tworzyć i usuwać wybrane obiekty, a także dokumentować bezpieczeństwo dla wątków.
Mick Knutson, Robert Winch, Peter Mularien
Knowing that experienced hackers are itching to test your skills makes security one of the most difficult and high-pressured concerns of creating an application. The complexity of properly securing an application is compounded when you must also integrate this factor with existing code, new technologies, and other frameworks. Use this book to easily secure your Java application with the tried and trusted Spring Security framework, a powerful and highly customizable authentication and access-control framework.The book starts by integrating a variety of authentication mechanisms. It then demonstrates how to properly restrict access to your application. It also covers tips on integrating with some of the more popular web frameworks. An example of how Spring Security defends against session fixation, moves into concurrency control, and how you can utilize session management for administrative functions is also included.It concludes with advanced security scenarios for RESTful webservices and microservices, detailing the issues surrounding stateless authentication, and demonstrates a concise, step-by-step approach to solving those issues. And, by the end of the book, readers can rest assured that integrating version 4.2 of Spring Security will be a seamless endeavor from start to finish.
Rodrigo Santiago, Shalini Goyal
Software system design goes beyond just writing code—it requires a structured approach to translating real-world requirements into scalable, maintainable solutions. With Rodrigo Santiago’s hands-on mentoring style and Java Spring expertise, he makes system design accessible to developers at all levels.Spring System Design in Practice guides you through building robust software architectures with Spring. From breaking down complex business needs into actionable use cases to implementing services using Spring Boot, this book equips you with the tools and best practices needed for developing secure, high-performance applications. You'll explore inter-service communication, security, and aspect-oriented programming to streamline development. Covering microservices architecture, the book demonstrates how to create self-configuring, resilient, and event-driven services that integrate seamlessly into the cloud. Through hands-on experience, you'll apply best practices to enhance reliability and scalability while tackling complex challenges such as state management, resilience patterns, concurrency issues, and distributed transactions—including bottlenecks related to asynchronous and reactive programming.By the end of this book, you'll have the confidence to analyze system requirements and design well-structured, scalable architectures.
Craig Walls
Kompletne źródło informacji o Spring Framework! Spring Framework odmienił sposób konstruowania aplikacji w języku Java. Prawdopodobnie jest on najczęściej wybieranym narzędziem do tworzenia aplikacji, niezależnie od tego, czy są one internetowe, czy biurkowe. Czym zasłużył sobie na taką popularność? Niezwykle wygodna konfiguracja, ogromna ilość różnego rodzaju bibliotek, przemyślana architektura to tylko niektóre z jego atutów. Jeżeli do tego dodać ogromną społeczność, chętną do udzielania wszelkich porad, otrzymujemy wyjątkowe narzędzie do zadań specjalnych. Kolejne wydanie książki uwzględnia wszystkie zmiany wprowadzone w trzeciej wersji Spring Framework. A jest ich sporo. Dzięki nim praca z tym narzędziem stała się jeszcze prostsza. W trakcie lektury dowiesz się, jak zminimalizować użycie XML do konfiguracji, wstrzykiwać zależności oraz korzystać z potencjału programowania aspektowego. Ponadto znajdziesz tu komplet informacji na temat współpracy z bazami danych, a pojęcia takie, jak transakcje, JPA, JDBC przestaną być Ci obce. Twoją ciekawość powinien wzbudzić rozdział poświęcony bezpieczeństwu - dzięki Spring Security implementacja tego kluczowego elementu aplikacji staje się o niebo przyjaźniejsza. Książka ta jest skarbnicą informacji o Spring Framework, którą powinien zainteresować się każdy programista języka Java! Dzięki Spring Framework: zbudujesz lepszą architekturę Twojej aplikacji wykorzystasz potencjał aspektów i wstrzykiwania zależności zagwarantujesz bezpieczeństwo Twoim rozwiązaniom stworzysz zaawansowaną aplikację! Sprawdź, jak Spring Framework ułatwia życie!
Craig Walls
Kompendium wiedzy na temat Spring Framework! Spring jest odpowiedzią na problemy trapiące programistów tworzących oprogramowanie przy użyciu EJB 2.x. Dzień, w którym został udostępniony szerokiemu gronu użytkowników, był punktem zwrotnym w historii języka Java. Od tej pory życie deweloperów stało się prostsze, a tworzenie nawet skomplikowanych aplikacji — zdecydowanie przyjemniejsze. Od tamtego czasu Spring jest wciąż rozwijany i oferuje coraz lepsze narzędzia programistom na całym świecie. Kolejne wydanie tej książki, w całości poświęconej frameworkowi Spring (w wersji 4), zostało poprawione, zaktualizowane i uzupełnione o nowe informacje. W trakcie lektury przekonasz się, jakie nowości zostały wprowadzone w czwartej wersji Springa, oraz zaznajomisz się z zaawansowanymi metodami wiązania komponentów. Ponadto zdobędziesz doświadczenie w stosowaniu aspektów, zobaczysz, jak działają Spring MVC czy Spring WebFlow, oraz nauczysz się uzyskiwać dostęp do baz danych — zarówno SQL, jak i NoSQL. Osobny rozdział został poświęcony bezpieczeństwu aplikacji tworzonych z wykorzystaniem Springa. Spring Security to potężne narzędzie, które pozwoli Ci bezboleśnie wprowadzić zaawansowane mechanizmy bezpieczeństwa w Twoich programach. Na sam koniec poznasz techniki obsługi komunikatów oraz możliwości modułu Spring Boot. Książka ta jest doskonałą lekturą dla programistów chcących w pełni wykorzystać potencjał Springa! Dzięki tej książce: poznasz komponenty składające się na Spring Framework zabezpieczysz aplikację z pomocą Spring Security błyskawicznie uruchomisz projekt ze Spring Boot z łatwością skorzystasz z baz danych SQL i NoSQL wykorzystasz potencjał najnowszej wersji Springa Niemal 100 tysięcy programistów sięgnęło po tę książkę, by nauczyć się Springa! Jej lektura wymaga praktycznej znajomości języka Java. Poznaj potencjał Springa!
Craig Walls
Spring jest frameworkiem ułatwiającym tworzenie nowoczesnych aplikacji w Javie. To narzędzie, które dynamicznie się rozwija i z każdym nowym wydaniem zapewnia programistom kolejne, ekscytujące możliwości. Piąta wersja Springa okazała się krokiem milowym. Obecnie projektanci mogą tworzyć mikrousługi, korzystać z funkcji programowania reaktywnego i doskonalić budowanie aplikacji zgodnie z modelem MVC. Dzięki pełnej integracji Springa ze Spring Boot nawet najbardziej złożone projekty wymagają minimalnej ilości kodu konfiguracyjnego. W efekcie tworzone aplikacje internetowe są w większym stopniu skalowalne i efektywniejsze w wykorzystywaniu wątków. To kolejne, uzupełnione i zaktualizowane wydanie przewodnika po frameworku Spring. Książka jest napisana w zwięzłym, przejrzystym i jasnym stylu, dzięki czemu szybko zrozumiesz zasady pracy ze Springiem i zbudujesz nowoczesną aplikację internetową współpracującą z bazą danych. Pokazano tu techniki programowania reaktywnego, pisania mikrousług, wykrywania usług, wyjaśniono również pracę z API RESTful i zasady wdrażania aplikacji. Nauczysz się też stosować najlepsze praktyki programowania w Springu. Książka jest znakomitą pomocą dla programistów Javy, którzy dopiero zaczynają pracę z tym frameworkiem, a także dla tych, którzy chcą opanować nowe rozwiązania oferowane przez kolejne wersje ekosystemu Springa. W tej książce między innymi: solidne wprowadzenie do frameworków Spring i Spring Boot integracja aplikacji Springa z innymi aplikacjami programowanie reaktywne w tworzeniu aplikacji internetowych tworzenie mikrousług i praca ze Spring Cloud wdrażanie aplikacji w środowisku produkcyjnym i korzystanie ze Spring Boot Admin Nowoczesna aplikacja w Javie? Sprawdź Springa!
Willie Wheeler, Joshua White
Lektura obowiązkowa dla programistów Javy! Spring Framework zrewolucjonizował sposób wytwarzania aplikacji w języku Java. Rzeczy trudne do wykonania stały się łatwe, a te łatwe w zasadzie zaczęły robić się same. Od pierwszej wersji ten framework jest cały czas rozwijany, a obecna, trzecia wersja, jest prawdopodobnie najczęściej wybieranym narzędziem do tworzenia aplikacji. Co sprawiło, że Spring zyskał taką popularność? Ogrom możliwości, świetna architektura, duża społeczność oraz ciągły rozwój i wsparcie dla nowych technologii to jego główne atuty. W tej książce znajdziesz najlepsze techniki pracy ze Spring Framework w wersji 3. Przekonasz się, jak skutecznie wykorzystać potencjał Spring MVC. Dowiesz się, jak uwierzytelniać użytkowników, korzystać ze Spring Web Flow oraz budować usługi sieciowe. Ponadto przekonasz się, jak proste może być pisanie testów integracyjnych oraz korzystanie z narzędzi do mapowania obiektowo-relacyjnego. Książka ta jest doskonałą lekturą dla wszystkich programistów korzystających z języka Java. Z pewnością wzbogaci ona ich warsztat oraz umiejętności. Dzięki tej książce: poznasz szkielet Spring w wersji 3 wykorzystasz potencjał Spring MVC napiszesz skuteczne testy integracyjne stworzysz lepszą aplikację! Najlepsze techniki pracy ze Spring 3!
Spring. Wstęp do programowania aplikacji
Paweł Kamiński
Poznaj jeden z najpopularniejszych frameworków do projektowania aplikacji w Javie Spring należy do rodziny frameworków Javy. Jego pierwsza edycja ujrzała światło dzienne w 2002 roku i od razu spotkał się z pozytywnym odbiorem programistów. Spring Framework zyskał uznanie i popularność, ponieważ działa na zasadzie lekkiego szablonu, umożliwiającego dużą dowolność, jeśli chodzi o wybór modelu programowania. W efekcie za jego pomocą można tworzyć szerokie spektrum aplikacji - od niewielkich i prostych po potężne i bardzo skomplikowane. To książka skierowana do programistów - przede wszystkim tych, którzy tworzą aplikacje internetowe i chcieliby zacząć pracować ze Spring Frameworkiem. Teorię ograniczono w niej do niezbędnego minimum, a główny nacisk położono na aspekty praktyczne, by Czytelnik po lekturze mógł swobodnie sam stworzyć aplikację internetową. Z książki dowiesz się między innymi: Jak zbudowany jest Spring Framework Czym się różni klasyczny Spring od Spring Boota Które elementy frameworka trzeba poznać, by zacząć projektować aplikacje Jakiego rodzaju projekty można zrealizować przy użyciu Spring Frameworka
P. Taylor Goetz, Peter T Goetz, Brian...
Struktury danych i algorytmy w języku Java. Przewodnik dla początkujących
James Cutajar
Aby aplikacje mogły spełniać oczekiwania dotyczące wydajności i szybkości działania, programista musi orientować się w typowych problemach z wykonywaniem kodu i wiedzieć, które techniki sprawdzą się w danej sytuacji. W tym celu powinien biegle posługiwać się algorytmami i strukturami danych. Wiedza ta umożliwia rozpoznawanie typowych zagrożeń i wybór najlepszych rozwiązań. Warto pamiętać, że w przypadku większości codziennych problemów z kodem istnieją już wypróbowane rozwiązania. Znajomość tych zagadnień jest niezwykle ważna dla każdego inżyniera oprogramowania. To książka przeznaczona dla programistów, którzy chcą w praktyczny sposób posługiwać się popularnymi algorytmami i strukturami danych, zrozumieć ich działanie i skuteczniej poprawiać wydajność swojego kodu w Javie. Przedstawiono tu narzędzia przydatne w pracy z algorytmami i w tworzeniu efektywnych aplikacji. Opisano praktyczne aspekty złożoności algorytmów. Omówiono algorytmy sortowania oraz inne popularne wzorce programowania, a także takie struktury danych jak drzewa binarne, tablice z haszowaniem i grafy. Następnie zaprezentowano koncepcje bardziej zaawansowane, wśród nich paradygmaty projektowania algorytmów i teorię grafów. W tej książce między innymi: definiowanie algorytmu i złożoność algorytmiczna struktury danych i ich implementacje algorytmy sortowania i wyszukiwania wzorca w tekście paradygmaty projektowania algorytmów grafy i sposoby ich reprezentacji w programach komputerowych grafy jako moduły do budowy złożonych algorytmów Algorytm i struktura danych: tak działa optymalny kod!
Tablice informatyczne. Java. Wydanie III
Marcin Lis
Bez Javy ani rusz! Od czego zacząć budowanie aplikacji za pomocą Javy? Jakie instrukcje języka i operatory są najważniejsze dla działania aplikacji? Jak optymalnie wykorzystać klasy i obiekty? Java przydaje się do wszystkiego. Jej legendarna elastyczność zyskuje rzesze zwolenników, z których żaden nie może obyć się bez tablic informatycznych, zawierających wszystkie najważniejsze elementy i konstrukcje tego języka. Wśród nich wymienić można chociażby szczegółowo rozpisane typy danych, operatory i instrukcje, a także informacje dotyczące budowy i funkcji klas oraz obiektów czy tworzenia i wykorzystywania interfejsów. Ponadto znajdziesz tu wskazówki dotyczące obsługi wyjątków czy współpracy z systemem plików. Podręczny i poręczny zestaw oferuje Ci możliwość szybkiego przeglądania i odnalezienia konkretnych informacji bez wielogodzinnego ślęczenia nad opasłymi tomami książek. Budowa aplikacji i kompilacja kodu Typy danych i komentarze Zmienne i operatory Instrukcje języka Tablice i interfejsy Klasy i obiekty Typy uogólnione Pakiety i wyjątki Współpraca z systemem Tablice informatyczne - ściąga na każdą okazję!
Tajniki Java 9. Pisanie reaktywnego, modularnego, współbieżnego i bezpiecznego kodu
Edward Lavieri, Peter Verhas
Pisanie reaktywnego, modularnego, współbieżnego i bezpiecznego kodu Wersja Java 9 i jej nowe funkcje rozwijają bogactwo języka Java, jednego z najczęściej używanych języków programowania do budowania sprawnych aplikacji. Java 9 kładzie specjalny nacisk na modularność dzięki integracji z Jigsaw. Ta książka stanowi przewodnik pozwalający dokładnie opanować ten język. Zapewnia ogólny przegląd oraz szczegółowe wyjaśnienia nowych funkcji, wprowadzonych w wersji Java 9 oraz podkreśla znaczenie nowych interfejsów API i innych ulepszeń. Niektóre nowe funkcje Java 9 mają przełomowe znaczenie, a doświadczonemu programiście pomogą usprawnić tworzone aplikacje korporacyjne. Ten podręcznik zapewnia praktyczne wskazówki, pozwalające zastosować nowo zdobytą wiedzę, dotyczącą wersji Java 9, a także dodatkowe informacje, związane z przyszłym rozwojem platformy Java. Dzięki tej książce można poprawić swoją wydajność i przyspieszyć działanie swoich aplikacji. Poznając najlepsze praktyki związane z językiem Java, można stać się ekspertem od tego języka w swojej firmie. Przeczytanie tej książki pozwoli nie tylko poznać najważniejsze pojęcia języka Java 9, ale również zrozumieć niuanse związane z ważnymi aspektami programowania w tym świetnym języku. Dzięki tej książce można: Pisać modularne aplikacje w języku Java, korzystając z nowo wprowadzonego systemu modułów. Migrować istniejące aplikacje Java do wersji modularnych. Zrozumieć, jak korzystać z odśmiecania G1 w celu poprawienia wydajności swoich aplikacji. Odkryć możliwości zapewniane przez nowo wprowadzoną powłokę Java. Testować wydajność swoich aplikacji przy użyciu JVM. Poznać, jak Java 9 wspiera standard HTTP 2.0. Korzystać z nowego interfejsu API dla procesów. Odkryć dodatkowe usprawnienia i funkcje zapewniane przez Java 9.
Alexander Kolesnikov, Brian Fitzpatrick
TDD. Programowanie w Javie sterowane testami
Viktor Farcic, Alex Garcia
Programowanie sterowane testami (ang. test-driven development — TDD) nie jest nową metodyką. Jej praktyczne zastosowanie pozwala na rozwiązanie wielu problemów związanych z procesami rozwijania i wdrażania oprogramowania. Mimo ogromnych zalet, programowanie sterowane testami nie jest zbyt popularne wśród programistów. Wynika to z tego, że techniki TDD nie są łatwe do opanowania. Choć teoretyczne podstawy wydają się logiczne i zrozumiałe, nabranie wprawy w stosowaniu TDD wymaga długiej praktyki. Książka, którą trzymasz w ręce, została napisana przez programistów dla programistów. Jej celem jest przekazanie podstaw TDD i omówienie najważniejszych praktyk związanych z tą metodyką, a przede wszystkim — nauczenie praktycznego stosowania TDD w pracy. Autorzy nie ukrywają, że nabranie biegłości w takim programowaniu wymaga sporo wysiłku, jednak korzyści płynące z metodyki TDD są znaczne: skrócenie czasu wprowadzania produktów na rynek, łatwiejsza refaktoryzacja, a także wyższa jakość tworzonych projektów. Z tą książką dogłębnie zrozumiesz metodykę TDD i uzyskasz wystarczającą pewność siebie, by z powodzeniem stosować to podejście w trakcie programowania aplikacji w Javie. Dzięki tej książce: Nauczysz się podstaw metodyki TDD Poznasz potrzebne narzędzia, platformy i środowiska wraz ze szczegółami ich konfiguracji Wykonywasz praktyczne ćwiczenia i stopniowo wdrożysz się w TDD Poznasz proces „czerwone, zielone, refaktoryzacja” Dowiesz się, jak pisać testy jednostkowe wykonywane w izolacji od reszty kodu Dowiesz się, jak tworzyć prosty i łatwy w konserwacji kod, nauczysz się refaktoryzować już istniejący Nauczysz się pracować z atrapami, stosować programowanie sterowane zachowaniami, a także udostępniać połowicznie ukończone funkcje w środowisku produkcyjnym za pomocą przełączników funkcji Programowanie sterowane testami to metodyka dla prawdziwych profesjonalistów!
Alex Garcia, Viktor Farcic
Test-driven development (TDD) is a development approach that relies on a test-first procedure that emphasizes writing a test before writing the necessary code, and then refactoring the code to optimize it.The value of performing TDD with Java, one of the longest established programming languages, is to improve the productivity of programmers and the maintainability and performance of code, and develop a deeper understanding of the language and how to employ it effectively.Starting with the basics of TDD and understanding why its adoption is beneficial, this book will take you from the first steps of TDD with Java until you are confident enough to embrace the practice in your day-to-day routine.You'll be guided through setting up tools, frameworks, and the environment you need, and we will dive right into hands-on exercises with the goal of mastering one practice, tool, or framework at a time. You'll learn about the Red-Green-Refactor procedure, how to write unit tests, and how to use them as executable documentation.With this book, you'll also discover how to design simple and easily maintainable code, work with mocks, utilize behavior-driven development, refactor old legacy code, and release a half-finished feature to production with feature toggles.You will finish this book with a deep understanding of the test-driven development methodology and the confidence to apply it to application programming with Java.
Test-Driven Java Development. Invoke TDD principles for end-to-end application development with Java
Viktor Farcic, Alex Garcia
Testowanie aplikacji Java za pomocą JUnit
Radosław Sokół
Testuj swój kod profesjonalnie — pisz testy jednostkowe! Poznaj niezbędne narzędzia Twórz testy jednostkowe Korzystaj z technik TDD i TAD Jednym z największych wyzwań współczesnej inżynierii oprogramowania jest zapewnienie właściwej jakości tworzonych produktów, którą można osiągnąć w dużej mierze dzięki odpowiedniej weryfikacji kodu. Odpowiedzią na potrzeby branży są testy automatyczne, a wśród najważniejsze to z pewnością testy jednostkowe. Nie tylko umożliwiają one ciągłe, bezproblemowe i szybkie sprawdzanie poprawności pisanego kodu, lecz również pozwalają wyeliminować regresję i poprawić jakość architektury tworzonych rozwiązań, a także stanowią dla nich doskonałą dokumentację. Jeśli nie chcesz zostać w tyle, również Ty powinieneś zacząć pisać testy jednostkowe do swoich programów tworzonych w języku Java. Pomoże Ci w tym książka prezentująca koncepcję UT, bibliotekę JUnit, rozszerzenie AssertJ oraz biblioteki EqualsVerifier, Mockito i Google Guava. Poznasz dzięki niej sposoby pisania testów, refaktoryzowania kodu oraz imitowania działania funkcji i bazy danych. Dowiesz się też, jak w praktyce stosować metodyki TDD i TAD. A wszystkiego nauczysz się dzięki wziętym z życia przykładom oraz zadaniom do samodzielnego wykonania. Tworzenie testów jednostkowych za pomocą biblioteki JUnit Ścieżki kodu, pokrycie testami i refaktoryzacja kodu Unikanie zależności za pomocą imitacji i zastosowanie Mockito Płynne definiowanie testów za pomocą biblioteki AssertJ Programowanie ukierunkowane na testy i wspomagane testami Imitowanie baz danych przy użyciu rozwiązania Apache Derby Popraw jakość swoich programów, korzystając z testów jednostkowych!