Urma Raoul-Gabriel
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(2)
Forma i typ
Książki
(2)
Publikacje fachowe
(2)
Publikacje dydaktyczne
(1)
Dostępność
dostępne
(1)
tylko na miejscu
(1)
Placówka
Wypożyczalnia
(1)
Biblioteka WEAiI
(1)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Urma Raoul-Gabriel
(-)
Sadlik Ryszard
(142)
Blum Maciej
(140)
Michalski Dariusz
(134)
Majewski Jerzy S
(132)
Lewandowski Maciej
(131)
Etzold Hans-Rüdiger
(120)
Leśniewski Mariusz
(116)
Gewert Marian
(108)
Maruchin Wojciech
(107)
Guryn Halina
(105)
Traczyk Wojciech
(101)
Chalastra Michał
(99)
Kardyś Marta
(97)
Nazwisko Imię
(96)
Marx Karl (1818-1883)
(94)
Berkieta Mateusz
(93)
Tomczak Małgorzata
(93)
Polkowski Sławomir
(92)
Engels Friedrich (1820-1895)
(91)
Jakubiec Izabela
(90)
Kotapski Roman
(90)
Rybicki Piotr
(90)
Krysicki Włodzimierz (1905-2001)
(88)
Teleguj Kazimierz
(88)
Kapołka Maciej
(86)
Mikołajewska Emilia
(84)
Zaborowska Joanna
(81)
Starosolski Włodzimierz (1933- )
(80)
Meryk Radosław
(79)
Piątek Grzegorz
(79)
Rudnicki Bogdan
(79)
Górczyński Robert
(78)
Polit Ryszard
(77)
Mroczek Wojciech
(76)
Kulawik Marta
(74)
Mycielski Krzysztof
(74)
Myszkorowski Jakub
(73)
Konopka Eduard
(71)
Jabłoński Marek
(70)
Bielecki Jan (1942-2001)
(69)
Knosala Ryszard (1949- )
(68)
Rajca Piotr (1970- )
(68)
Rymarz Małgorzata
(68)
Walczak Krzysztof
(68)
Walkiewicz Łukasz
(68)
Wiecheć Marek
(68)
Jabłoński Adam
(67)
Laszczak Mirosław
(66)
Piwko Łukasz
(66)
Wodziczko Piotr
(65)
Dziedzic Zbigniew
(64)
Sidor-Rządkowska Małgorzata
(64)
Żakowski Wojciech (1929-1993)
(64)
Pasko Marian
(62)
Włodarski Lech (1916-1997)
(62)
Czakon Wojciech
(61)
Leyko Jerzy (1918-1995)
(61)
Paszkowska Małgorzata
(61)
Jankowski Mariusz
(60)
Kostecka Alicja
(60)
Lenin Włodzimierz (1870-1924)
(60)
Wróblewski Piotr
(60)
Karpińska Marta
(59)
Próchnicki Wojciech
(59)
Rogala Elżbieta
(59)
Bielecki Maciej
(57)
Jelonek Jakub
(57)
Malkowski Tomasz
(57)
Pilch Piotr
(57)
Rauziński Robert (1933- )
(57)
Gawrońska Joanna
(56)
Ajdukiewicz Andrzej (1939- )
(55)
Cieślak Piotr
(55)
Draniewicz Bartosz
(55)
Godek Piotr
(55)
Osiński Zbigniew (1926-2001)
(55)
Jasiński Filip
(54)
Klupiński Kamil
(54)
Kuliński Włodzisław
(54)
Suchodolski Bogdan (1903-1992)
(54)
Forowicz Krystyna
(53)
Szkutnik Leon Leszek
(52)
Zdanikowski Paweł
(52)
Wantuch-Matla Dorota
(51)
Barowicz Marek
(50)
Trammer Hubert
(50)
Walczak Tomasz
(50)
Watrak Andrzej
(50)
Zgółkowa Halina (1947- )
(50)
Barańska Katarzyna
(49)
Czajkowska-Matosiuk Katarzyna
(49)
Jurlewicz Teresa
(49)
Pikoń Andrzej
(49)
Szargut Jan (1923- )
(49)
Chojnacki Ireneusz
(48)
Rok wydania
2020 - 2024
(1)
2010 - 2019
(1)
Okres powstania dzieła
2001-
(1)
Kraj wydania
Polska
(2)
Język
polski
(2)
Odbiorca
Programiści
(1)
Temat
Java (język programowania)
(2)
Programowanie (informatyka)
(1)
Gatunek
Podręcznik
(2)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(2)
2 wyniki Filtruj
Brak okładki
Książka
W koszyku
Na okładce: Zawiera omówienie nowych funkcji Java 9 i 10.
Na grzbiecie i 4 stronie okładki nazwa wydawnictwa oryginału: Manning.
Tytuł oryginału : Modern Java in action : lambdas, streams, functional and reactive programming.
Indeks.
Dla programistów zaznajomionych z podstawowymi funkcjami Javy.
1.Java 8, 9,10 i 11: co się dzieje? 1.1Jak to wszystko wygląda? 1.2Dlaczego Java ciągle się zmienia? 1.3 Miejsce języka Java w ekosystemie języków programowania 1.4Przetwarzanie strumieni 1.5 Przekazywanie kodu do metod za pomocą parametryzacji zachowania 1.6Równoległość i współdzielone dane modyfikowalne 1.7Java musi ewoluować 1.8Funkcje w Javie 1.9Metody i wyrażenia lambda jako obywatele pierwszej kategorii 1.10 Przekazywanie kodu: przykład 1.11Od przekazywania metod do wyrażeń lambda 1.12 Strumienie 1.13Wielowątkowość jest trudna 1.14Metody domyślne i moduły Java 1.15Inne dobre pomysły z programowania funkcyjnego 2.Przekazywanie kodu z parametryzacją zachowania 2.1Radzenie sobie ze zmieniającymi się wymaganiami Pierwsza próba: filtrowanie zielonych jabłek Druga próba: parametryzacja koloru Trzecia próba: filtrowanie z użyciem dowolnego atrybutu, jaki przyjdzie nam na myśl 2.2Parametryzacja zachowania 2.3Czwarta próba: filtrowanie na podstawie kryteriów abstrakcyjnych 2.4Zwalczanie rozwlekłości 2.5Klasy anonimowe Pięta próba: korzystanie z anonimowych klas Szósta próba: korzystanie z wyrażeń lambda Siódma próba: wyabstrahowany typ List 2.4 Przykłady praktyczne Sortowanie z użyciem komparatora Wykonywanie bloku kodu z użyciem interfejsu Runnable Zwracanie rezultatu z użyciem interfejsu Callable Obsługa zdarzeń graficznego interfejsu użytkownika 3. Wyrażenia lambda 3.1Wyrażenia lambda w pigułce 3.2Gdzie i jak używać wyrażeń lambda 3.3Interfejs funkcyjny 3.4Deskryptor funkcji 3.5Wyrażenia lambda w praktyce: wzorzec execute-around 3.6Krok 1: Pamiętaj o parametryzacji zachowania 3.7Krok 2: Do przekazania zachowań użyj interfejsu funkcyjnego 3.8Krok 3: Wykonaj zachowanie! 3.9Krok 4: Przekazanie wyrażeń lambda 3.10 Korzystanie z interfejsów funkcyjnych 3.11 Interfejs Predicate 3.12 Interfejs Consumer 3.13 Interfejs Function 3.14 Sprawdzanie typu, wnioskowanie o typach i ograniczenia 3.15 Sprawdzanie typu 3.16 To samo wyrażenie, różne interfejsy funkcyjne 3.17 Wnioskowanie o typach 3.18 Korzystanie ze zmiennych lokalnych 3.19 Referencje do metod 3.20 W dużym skrócie 3.21 Referencje do konstruktorów 3.22 Wyrażenia lambda i referencje do metod w praktyce! 3.23 Krok 1: Przekaż kod 3.24 Krok 2: Użyj anonimowej klasy 3.25 Krok 3: Użyj wyrażenia lambda 3.26 Krok 4: Użyj referencji do metody 3.27 Przydatne metody do tworzenia wyrażeń lambda 3.28 Komponowanie komparatorów 3.29 Komponowanie predykatów 3.30 Komponowanie funkcji 3.31 Podobne koncepcje w matematyce 3.32 Całkowanie 3.33 Łączenie z wyrażeniami lambda w Javie 8 CZĘŚĆ 2. FUNKCYJNE PRZETWARZANIE DANYCH Z UŻYCIEM STRUMIENI 4.Wprowadzenie do strumieni 4.1Czym są strumienie? 4.2Rozpoczynanie pracy ze strumieniami 4.3Strumienie a kolekcje 4.4Jednokrotne przechodzenie po elementach 4.5Iteracja zewnętrzna i iteracja wewnętrzna 4.6Operacje na strumieniach 4.7Operacje pośrednie 4.8Operacje końcowe 4.9Praca ze strumieniami 4.10 Mapa drogowa 5.Praca ze strumieniami 5.1Filtrowanie 5.2Filtrowanie z użyciem predykatu 5.1.2 Filtrowanie unikatowych elementów 5.3Podział strumienia 5.4Podział z użyciem predykatu 5.5Przycinanie strumienia 5.6Pomijanie elementów 5.7Mapowanie 5.8Aplikowanie funkcji do każdego elementu strumienia 5.9Spłaszczanie strumieni 5.10Wyszukiwanie i dopasowywanie 5.11 Sprawdzanie, czy predykat pasuje do co najmniej jednego elementu 5.12 Sprawdzanie, czy predykat pasuje do wszystkich elementów 5.13 Wyszukiwanie elementu 5.14 Znajdywanie pierwszego elementu 5.15Redukowanie 5.16 Sumowanie elementów 5.17 Maksimum i minimum 5.18Strumienie w praktyce 5.19 Dziedzina: handlarze i transakcje 5.20 Rozwiązania 5.21Strumienie numeryczne 5.22 Specjalizacje strumieni prymitywnych 5.23 Zakresy numeryczne 5.24 Strumienie numeryczne w praktyce: trójki pitagorejskie 5.25Tworzenie strumieni 5.26 Strumienie tworzone z wartości 5.27 Strumień z obiektu nullable 5.28 Strumienie tworzone z tablic 5.29 Strumienie tworzone z plików 5.30Tworzenie strumieni z funkcji: tworzenie strumieni nieskończonych! 5.31Przegląd 6.Zbieranie danych z użyciem strumieni 6.1Kolektory w skrócie 6.2Kolektory jako zaawansowane redukcje 6.3Predefiniowane kolektory 6.4Redukowanie i podsumowywanie 6.5Wyszukiwanie maksymalnej i minimalnej wartości w strumieniu 6.6Łączenie łańcuchów tekstowych 6.7Uogólnione podsumowywanie za pomocą redukcji 6.8Grupowanie 6.9Manipulowanie pogrupowanymi elementami 6.10 Grupowanie wielopoziomowe 6.11 Kolekcjonowanie danych w podgrupach 6.12 Partycjonowanie 6.13 Partycjonowanie zaawansowane 6.14 Partycjonowanie liczb na liczby pierwsze i nie będące pierwszymi 6.15 Interfejs Collector 6.16 Sens istnienia metod deklarowanych przez interfejs Collector 6.17 Łączymy wszystko w jedną całość 6.18 Rozwijanie własnego kolektora w celu uzyskania lepszej wydajności Dzielenie wyłącznie przez liczby pierwsze Porównywanie wydajności kolektorów 7.Równoległe przetwarzanie danych i wydajność 7.1Strumienie równoległe 7.2Zamiana strumienia sekwencyjnego na równoległy 7.3Dokonywanie pomiaru wydajności strumienia 7.4Poprawne korzystanie ze strumieni równoległych 7.5Efektywne korzystanie ze strumieni równoległych 7.6Model rozwidlania i złączania 7.7Praca z RecursiveTask 7.8Najlepsze praktyki korzystania z modelu fork/join 7.9Kradzież pracy 7.10 Spliterator 7.11Proces podziału 7.12 Implementowanie własnego spliteratora CZĘŚĆ 3. EFEKTYWNE PROGRAMOWANIE Z UŻYCIEM STRUMIENI I WYRAŻEŃ LAMBDA 8.Rozszerzenia API kolekcji 8.1 Fabryki kolekcji Fabryka list Fabryka zbiorów Fabryki map 8.2. Praca z listami i zbiorami removelf replaceAll 8.3Praca z kolekcją Map 8.4forEach 8.5Sortowanie 8.6getOrDefault 8.7Wzorce Compute 8.8Wzorce Remove 8.9Wzorce Replace 8.10Scalanie 8.11 Usprawniona klasa ConcurrentHashMap 8.12 Metody reduce i search 8.13 Zliczanie 8.14Widoki zbiorów 9.Refaktoryzacja, testowanie i dehugowanie 9.1Refaktoryzowanie w celu zwiększenia czytelności i elastyczności 9.2Podnoszenie czytelności kodu 9.3Z klas anonimowych na wyrażenia lambda 9.4Z wyrażeń lambda na referencje do metod 9.5Od imperatywnego przetwarzania kodu do strumieni 9.6Zwiększanie elastyczności kodu 9.7Refaktoryzacja zorientowanych obiektowo wzorców projektowych z użyciem wyrażeń lambda Strategia Metoda szablonowa Obserwator Łańcuch odpowiedzialności Fabryka 9.3Testowanie wyrażeń lambda Testowanie zachowania widocznego wyrażenia lambda Skupianie się na zachowaniu metody z wykorzystaniem wyrażenia lambda Wyciąganie złożonych wyrażeń lambda do oddzielnych metod Testowanie funkcji wyższego rzędu 9.4Debugowanie Sprawdzanie wywołań stosu Rejestrowanie informacji 10.Tworzenie języków dziedzinowych z użyciem wyrażeń lambda 10.1Specyficzny język dla naszej dziedziny 10.2Zalety i wady języków dziedzinowych 10.3Różne warianty języków dziedzinowych na wirtualnej maszynie Javy 10.4Małe języki dziedzinowe w nowoczesnych API Javy 10.5Strumienie jako język dziedzinowy do manipulowania kolekcjami 10.6Kolektory jako język dziedzinowy do agregowania danych 10.7Wzorce i techniki do tworzenia języków dziedzinowych w Javie Łączenie metod Funkcje zagnieżdżone Sekwencjonowanie funkcji z użyciem wyrażeń lambda Łączymy wszystko w jedną całość Korzystanie z referencji do metod w języku dziedzinowym 10.4 Język dziedzinowy Javy 8 w praktyce jOOQ Cucumber Spring Integration CZĘŚĆ 4. JAVA NA CO DZIEŃ 11.Klasa Optional jako lepsza alternatywa dla null 11.1W jaki sposób modelować brak wartości? 11.2 Redukowanie wyjątków NullPointerException za pomocą defensywnego sprawdzania 11.3Problemy z nuli 11.4Jakie są alternatywy dla nuli w innych językach? 12.1Wprowadzenie do klasy Optional 11.1Wzorce używane do adopcji klasy Optional 11.2Tworzenie obiektów opcjonalnych 11.3Wyodrębnianie i przekształcanie wartości z obiektów opcjonalnych za pomocą map Łączenie obiektów opcjonalnych za pomocą metody flatMap Manipulowanie strumieniem obiektów opcjonalnych Domyślne akcje i odpakowywanie obiektów opcjonalnych Łączenie dwóch obiektów opcjonalnych Odrzucanie pewnych wartości za pomocą metody filter 11.4Praktyczne przykłady wykorzystania klasy Optional Opakowywanie potencjalnych wartości null obiektem opcjonalnym Wyjątki kontra obiekty opcjonalne Prymitywne obiekty opcjonalne i dlaczego nie warto ich używać Łączymy wszystko w jedną całość 12.Nowe API daty i godziny 12.1LocalDate, LocalTime, Instant, Duration i Period 12.2Praca z LocalDate i LocalTime 12.3Łączenie daty i godziny 12.4Instant: data i godzina dla maszyn 12.5Definiowanie instancji Duration i Period 12.6Manipulowanie, parsowanie i formatowanie dat 12.7Praca z obiektami Temp oral Adjuster 12.8Wypisywanie i parsowanie obiektów daty i godziny 12.9Praca z różnymi strefami czasowymi i kalendarzami 12.10Korzystanie ze stref czasowych 12.11Stałe przesunięcie z UTC/Greenwich 12.12Korzystanie z alternatywnych systemów kalendarzowych 13.Metody domyślne 13.1Rozwijanie istniejącego API 13.2API w wersji 1API w wersji 2 13.3Metody domyślne w skrócie 13.4Wzorce użycia dla metod domyślnych 13.5Metody opcjonalne 13.6Wielokrotne dziedziczenie zachowania 13.7Reguły rozwiązywania 13.8Trzy reguły rozwiązywania, o których trzeba wiedzieć 13.9Wygrywa najbardziej szczegółowy interfejs dostarczający metodę domyślną Konflikty i jawne rozwiewanie wątpliwości Problem diamentowy 14.System modułów Javy 14.1Siła napędowa: myślenie o oprogramowaniu 14.2Podział odpowiedzialności 14.3Ukrywanie informacji 14.4Oprogramowanie w Javie 14.5Dlaczego powstał system modułów Javy? 14.6 Ograniczenia modularności 14.7Monolityczne JDK 14.8Porównanie z OSGi 14.9Moduły Javy - szersza perspektywa 14.10 Rozwijanie aplikacji z systemem modułów Javy 14.11 Przygotowywanie aplikacji 14.12 Podstawy systemu modułów Javy 14.13 Podstawy systemu modułów Javy 14.14Praca z kilkoma modułami 14.15 Klauzula exports 14.16Klauzula requires 14.17Nazewnictwo 14.18Kompilowanie i pakowanie 14.19Moduły automatyczne 14.20Deklaracja modułu i klauzule 14.21 Requires 14.22 Exports 14.23 requires transative 14.24 exports to 14.25 open i opens 14.26 uses i provides 14.27 Większy przykład i gdzie dowiedzieć się więcej Część 5. ROZSZERZONA WSPÓŁBIEŻNOŚĆ JAVY 15.Koncepcje stojące za interfejsem CompletableFuture i programowaniem reaktywnym Rozwój wsparcia Javy dla wyrażania współbieżności Wątki i abstrakcje wyższego poziomu Wykonawcy i pule wątków Inne abstrakcje wątków - niezagnieżdżone z wywołaniami metod Czego chcemy od wątków? 15.1Synchroniczne i asynchroniczne APIAPI z wykorzystaniem obiektów Future: 15.2API w stylu reaktywnym: 15.3Uśpienie (i inne operacje blokowania) uznawane za szkodliwe 15.4W jaki sposób wyjątki działają z asynchronicznymi API? 15.5Model skrzynek i kanałów 15.6CompletableFuture i kombinatory dla współbieżności 15.7Protokół publikacji i subskrypcji oraz programowanie reaktywne 15.8Przykład sumowania dwóch zdarzeń Flow 15.9Wąskie gardłoProsta forma prawdziwego wąskiego gardła 15.10Reaktywne systemy kontra reaktywne programowanie 15.11Mapa drogowa 16.CompletableFuture: kompozycyjne programowanie asynchroniczne 16.1Proste użycie obiektów Future 16.2Obiekty Future i ich ograniczenia 16.3Korzystanie z obiektów CompletableFuture w celu budowy aplikacji asynchronicznej 16.4Implementowanie asynchronicznego API 16.5Konwertowanie metody synchronicznej na metodę asynchroniczną 16.6Obsługa błędów 16.7Pisanie kodu, który się nie blokuje 16.8Zrównoleglanie żądań z użyciem strumieni równoległych 16.9Tworzenie asynchronicznych żądań przy użyciu obiektów CompletableFuture Poszukiwanie rozwiązania, które skaluje się lepiej Korzystanie z niestandardowego wykonawcy 16.4Tworzenie przepływu asynchronicznych zadań 16.5Implementowanie usługi zniżek 16.6Korzystanie z usługi Discount 16.7Komponowanie synchronicznych i asynchronicznych operacji 16.8Łączenie dwóch obiektów CompletableFuture - zależnego i niezależnego 16.9Refleksje na temat obiektów Future i CompletableFuture 16.10 Efektywne korzystanie z wartości przekroczenia dozwolonego czasu 16.11 Reagowanie na ukończenie obiektu CompletableFuture 16.12 Refaktoryzacja aplikacji do wyszukiwania najlepszej ceny 16.13 Łączymy wszystko w jeden przykład praktyczny 16.14 Mapa drogowa 17.Programowanie reaktywne 17.1Manifest reaktywny 17.2Reaktywność na poziomie aplikacji 17.3Reaktywność na poziomie systemu 17.4Reaktywne strumienie oraz API Flow 17.5Wprowadzenie do klasy Flow 17.6Nasza pierwsza reaktywna aplikacja 17.7Przekształcanie danych z użyciem interfejsu Processor 17.8Dlaczego Java nie dostarcza implementacji API Flow? 17.9Korzystanie ze biblioteki reaktywnej Rxjava 17.10Tworzenie i korzystanie z obiektów Observable 17.11Przekształcanie i łączenie obiektów Observable CZĘŚĆ 6. PROGRAMOWANIE FUNKCYJNE I DALSZY ROZWÓJ JĘZYKA JAVA 18.Myślenie funkcyjne 18.1Implementowanie i utrzymywanie systemów 18.2Współdzielone dane modyfikowalne 18.3Programowanie deklaratywne 18.4Dlaczego programowanie funkcyjne? 18.5Czym jest programowanie funkcyjne? 18.6 Java w stylu funkcyjnym 18.7Transparentność referencyjna 18.8Programowanie obiektowo zorientowane a programowanie funkcyjne 18.9Styl funkcyjny w praktyce 18.10Rekurencja kontra iteracja 19.Techniki programowania funkcyjnego 19.2 Wszechobecne funkcje Funkcje wyższego rzędu Rozwijanie funkcji 19.2Trwale struktury danych 19.3Destrukcyjne aktualizacje kontra programowanie funkcyjne 19.4Kolejny przykład z drzewami 19.5Korzystanie z podejścia funkcyjnego 19.6Leniwa ewaluacja z użyciem strumieni 19.7Samodefiniujący się strumień 19.8Nasze własne leniwe listy 19.9Dopasowanie do wzorców 19.10Wzorzec projektowy odwiedzającego 19.11Dopasowywanie do wzorców na ratunek 19.12 Różności 19.13 Buforowanie lub memoizacja 19.14Co oznacza „zwraca ten sam obiekt"? 19.15 Kombinatory 20.Mieszanie programowania funkcyjnegoi zorientowanego obiektowo: Java i Scala 20.1Wprowadzenie do języka Scala 20.2Przykład „Hello beer" 20.3Podstawowe struktury danych: List, Set, Map, Tuple, Stream i Option 20.4Funkcje 20.5Funkcje pierwszej kategorii w Scali 20.6Funkcje anonimowe i domknięcia 20.7Rozwijanie funkcji 20.8Klasy i cechy 20.9Mniej rozwlekłości z klasami w Scali 20.10Cechy w Scali kontra interfejsy w Javie 21.Konkluzje oraz co dalej z Java 21.1Podsumowanie funkcji Javy 8 21.2Parametryzacja zachowania (wyrażenia lambda i referencje do metod) 21.3Strumienie 21.4CompletableFuture 21.5Optional 21.6API Flow 21.7Metody domyślne 21.8Podsumowanie systemu modułów Javy 9 21.9Wnioskowanie o typach lokalnych zmiennych w Javie 10 21.10 Co przyniesie Javie przyszłość? 21.11 Wariancja po stronie deklaracji 21.12 Dopasowywanie do wzorców 21.13 Bogatsza forma generyków 21.14 Większe wsparcie dla niezmienności 21.15 Typy wartości 21.16 Przyspieszanie rozwoju języka Java 21.17 Słowo końcowe Dodatek A. Różne aktualizacje języka Dodatek B. Różne aktualizacje bibliotek Dodatek C. Równoległe wykonywanie wielu operacji na strumieniu Dodatek D. Wyrażenia lambda i kod pośredni maszyny wirtualnej Javy
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 146925 (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
Indeks.
1.Rozpoczynanie podróży Tematy Funkcje języka Java Projekt i architektura oprogramowania Zasady SOLID Testowanie 2.Analizator wyciągów bankowych Wymagania wobec projektu analizatora wyciągów bankowych Zasada KISS Zmienne finał Łatwość utrzymania i antywzorce Boska klasa Powielanie kodu Zasada pojedynczej odpowiedzialności Spójność Spójność na poziomie klas Spójność na poziomie metod Zależność Testowanie Testowanie automatyczne Korzystanie z JUnit Pokrycie kodu Wnioski Utrwalenie wiedzy Podsumowanie wyzwania 3.Rozszerzanie analizatora wyciągów bankowych Wymagania wobec rozszerzonego analizatora wyciągów bankowych Zasada otwarte-zamknięte Tworzenie wystąpienia interfejsu funkcjonalnego Wyrażenia lambda Pułapki interfejsów Boski interfejs Zbyt szczegółowy interfejs API jawne kontra niejawne Klasy domenowe czy wartości pierwotne? Wiele eksporterów Wprowadzenie obiektu domenowego Definiowanie i implementowanie odpowiedniego interfejsu Obsługa wyjątków Dlaczego warto używać wyjątków? Wzorce i antywzorce stosowania wyjątków Wytyczne dotyczące stosowania wyjątków Alternatywy dla wyjątków Stosowanie narzędzia kompilacji Dlaczego warto używać narzędzi kompilacji? Korzystanie z Maven Korzystanie z Gradle 4.System zarządzania dokumentami Wymagania wobec systemu zarządzania dokumentami Rozwijanie projektu Importery Klasa Document Atrybuty i hierarchia dokumentów Implementowanie i rejestrowanie importerów Zasada podstawienia Liskov (LSP) Alternatywne podejścia Zastosowanie klasy Importer Opcje związane z zasięgiem i hermetyzacją Rozszerzanie i ponowne używanie kodu Higiena testów Nazewnictwo testów Zachowanie, a nie implementacja Nie powtarzaj się Dobra diagnostyka Testowanie błędów Stałe 5.Silnik reguł biznesowych Wymagania wobec silnika reguł biznesowych Programowanie sterowane testami Dlaczego warto używać techniki TDD? Cykl TDD Stosowanie atrap Dodawanie warunków Modelowanie stanu Wnioskowanie typu zmiennej lokalnej Wyrażenia switch Zasada segregacji interfejsów Projektowanie Fluent API Czym jest Fluent API? Modelowanie domeny Wzorzec Budowniczy 6.Twootr Wymagania wobec systemu Twootr Przegląd projektu Komunikacja typu puli Komunikacja typu push Od zdarzeń do projektu Komunikacja Graficzny interfejs użytkownika Utrwalanie Architektura sześciokątna Od czego zacząć Hasła i bezpieczeństwo Obserwatorzy i twooty Modelowanie błędów Twootowanie Tworzenie atrap Weryfikowanie przy użyciu atrap obiektów Biblioteki do stosowania atrap obiektów SenderEndPoint Pozycje Metody eąuals i hashcode Kontrakt między eąuals a hashCode 7.Rozszerzanie Twootra Utrwalanie i wzorzec Repozytorium Projektowanie repozytoriów Obiekty kwerend Programowanie funkcyjne Wyrażenia lambda Odwołania do metod Execute Around Strumienie Optional Interfejs użytkownika Odwrócenie zależności i wstrzykiwanie zależności Pakiety i systemy kompilacji Ograniczenia i uproszczenia
Sygnatura czytelni BWEAiI: XII N 142
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149407 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności