Martin Robert C
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(11)
Forma i typ
Książki
(11)
Publikacje fachowe
(8)
Publikacje dydaktyczne
(1)
Dostępność
tylko na miejscu
(8)
dostępne
(7)
Placówka
Wypożyczalnia
(7)
Biblioteka WEAiI
(8)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Martin Robert C
(-)
Sadlik Ryszard
(142)
Blum Maciej
(140)
Michalski Dariusz
(134)
Lewandowski Maciej
(131)
Majewski Jerzy S
(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)
Marx Karl (1818-1883)
(94)
Nazwisko Imię
(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)
Piątek Grzegorz
(79)
Rudnicki Bogdan
(79)
Starosolski Włodzimierz (1933- )
(79)
Meryk Radosław
(78)
Górczyński Robert
(77)
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)
Jankowski Mariusz
(60)
Kostecka Alicja
(60)
Lenin Włodzimierz (1870-1924)
(60)
Paszkowska Małgorzata
(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)
Kuliński Włodzisław
(54)
Suchodolski Bogdan (1903-1992)
(54)
Forowicz Krystyna
(53)
Klupiński Kamil
(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
(3)
2010 - 2019
(7)
2000 - 2009
(1)
Okres powstania dzieła
2001-
(8)
Kraj wydania
Polska
(11)
Język
polski
(11)
Odbiorca
Programiści
(6)
Informatycy
(1)
Menedżerowie
(1)
Temat
Programowanie zwinne
(5)
Programowanie (informatyka)
(4)
Programiści
(2)
Ajax (informatyka)
(1)
Heurystyka (informatyka)
(1)
Informatyka
(1)
Kod źródłowy
(1)
Praca
(1)
Programy komputerowe
(1)
Systemy informatyczne
(1)
Zarządzanie
(1)
Temat: czas
2001-
(1)
Gatunek
Podręcznik
(9)
Poradnik
(1)
Poradniki
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(8)
Zarządzanie i marketing
(1)
11 wyników Filtruj
Książka
W koszyku
Tyt. oryg.: The software craftsman : professionalism pragmatism, pride.
U dołu okł.: Słowo wstępne Robert C. Martin.
Na okł. nazwa wyd. oryg.: Prentice Hall.
Indeks.
Dla programistów i pracowników firm tworzących oprogramowanie.
Sygnatura czytelni BWEAiI: XII E 91
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. 142629 N (1 egz.)
Książka
W koszyku
U góry s. tyt. i okł.: Poznaj nowoczesną metodykę wytwarzania oprogramowani w C#.
U góry s. tyt. i okł. logo wydawcy oryg.: Prentice Hall.
U góry okł.: Jak stosować w praktyce zasady zwinnego wytwarzania oprogramowania? W jaki sposób wykorzystywać w projekcie diagramy UML? Jak korzystać z wzorców projektowych?
Bibliogr. przy niektórych rozdz. Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 119314 (1 egz.)
Książka
W koszyku
Na okładce: Poznaj nowoczesną metodykę wytwarzania oprogramowania w C#.
Bibliografia przy rozdziałach. Indeks.
Dla twórców oprogramowania korzystających z technologii .NET.
Wpływ metodyki programowania ekstremalnego .NET Organizacja Część I. Wytwarzanie zwinne 1. Praktyki programowania zwinnego Agile Alliance Programiści i ich harmonijna współpraca jest ważniejsza od procesów i narzędzi Działające oprogramowanie jest ważniejsze od wyczerpującej dokumentacji Faktyczna współpraca z klientem jest ważniejsza od negocjacji zasad kontraktu Reagowanie na zmiany jest ważniejsze od konsekwentnego realizowania planu 2. Przegląd technik programowania ekstremalnego Praktyki programowania ekstremalnego Cały zespół Opowieści użytkownika Krótkie cykle Plan iteracji Plan wydania Testy akceptacyjne Programowanie w parach Wytwarzanie sterowane testami (TDD) Wspólna własność Ciągła integracja Równe tempo Otwarta przestrzeń pracy Gra planistyczna Prosty projekt Refaktoryzacja Metafora 3. Planowanie Wstępne poznawanie wymagań Dzielenie i scalanie opowieści użytkownika Planowanie wydań Planowanie iteracji Definiowanie warunków zakończenia projektu Planowanie zadań Iteracje Śledzenie postępu 4. Testowanie Wytwarzanie sterowane testami Przykład projektu poprzedzonego testami Izolacja testów Eliminowanie powiązań Testy akceptacyjne Wpływ testów akceptacyjnych na architekturę oprogramowania Konkluzja Bibliografia 5. Refaktoryzacja Prosty przykład refaktoryzacji generowanie liczb pierwszych Testy jednostkowe Refaktoryzacja Ostatnie udoskonalenia 6. Epizod z życia programistów Gra w kręgle Konkluzja Przegląd reguł gry w kręgle Część II. Projektowanie zwinne 7. Czym jest projektowanie zwinne? Symptomy złego projektu Symptomy złego projektu, czyli potencjalne źródła porażek Sztywność Wrażliwość Nieelastyczność Niedostosowanie do rzeczywistości Nadmierna złożoność Niepotrzebne powtórzenia Nieprzejrzystość Dlaczego oprogramowanie ulega degradacji Program Copy Przykład typowego scenariusza Projekt początkowy Zmieniające się wymagania Kolejne wymaganie Oczekujmy zmian Przykład budowy programu Copy w ramach projektu zwinnego Stosowanie praktyk programowania zwinnego Utrzymywanie projektu w możliwie dobrym stanie 8. Zasada pojedynczej odpowiedzialności Definiowanie odpowiedzialności Oddzielanie wzajemnie powiązanych odpowiedzialności Trwałość 9. Zasada otwarte-zamknięte Omówienie zasady otwarte-zamknięte Aplikacja Shape Przykład naruszenia zasady OCP Przykład pełnej zgodności z zasadą otwarte-zamknięte Przewidywanie zmian i naturalna struktura Przygotowywanie punktów zaczepienia Gdy raz mnie oszukasz Stymulowanie zmian Stosowanie abstrakcji do jawnego zamykania oprogramowania dla zmian Zapewnianie zamknięcia z wykorzystaniem techniki sterowania przez dane 10. Zasada podstawiania Liskov Naruszenia zasady podstawiania Liskov Prosty przykład Przykład mniej jaskrawego naruszenia zasady LSP Realny problem Poprawność nie jest cechą wrodzoną Relacja IS-A reprezentuje zachowania Projektowanie przez kontrakt Definiowanie kontraktów w formie testów jednostkowych Przykład zaczerpnięty z rzeczywistości Motywacja Problem Rozwiązanie niezgodne z zasadą podstawiania Liskov Rozwiązanie zgodne z zasadą podstawiania Liskov Wyodrębnianie zamiast dziedziczenia Heurystyki i konwencje 11. Zasada odwracania zależności Podział na warstwy Odwracanie relacji własności Zależność od abstrakcji Prosty przykład praktycznego znaczenia zasady DIP Odkrywanie niezbędnych abstrakcji Przykład aplikacji Furnace 12. Zasada segregacji interfejsów Zanieczyszczanie interfejsów Odrębne klasy klienckie oznaczają odrębne interfejsy Interfejsy klas kontra interfejsy obiektów Separacja przez delegację Separacja przez wielokrotne dziedziczenie Przykład interfejsu użytkownika bankomatu 13. Przegląd języka UML dla programistów C# Diagramy klas Diagramy obiektów Diagramy sekwencji Diagramy współpracy Diagramy stanów 14. Praca z diagramami Po co modelować oprogramowanie? Po co budować modele oprogramowania? Czy powinniśmy pracować nad rozbudowanymi projektami przed przystąpieniem do kodowania? Efektywne korzystanie z diagramów języka UML Komunikacja z innymi programistami Mapy drogowe Dokumentacja wewnętrzna Co powinniśmy zachowywać, a co można wyrzucać do kosza? Iteracyjne udoskonalanie Najpierw zachowania Weryfikacja struktury Wyobrażenie o kodzie Ewolucja diagramów Kiedy i jak rysować diagramy Kiedy przystępować do tworzenia diagramów, a kiedy rezygnować z dalszego rysowania ich Narzędzia CASE A co z dokumentacją? 15. Diagramy stanów Zdarzenia specjalne Superstany Pseudostan początkowy i końcowy Stosowanie diagramów skończonych maszyn stanów 16. Diagramy obiektów Migawka Obiekty aktywne 17. Przypadki użycia Pisanie przypadków użycia Przebiegi alternatywne Co jeszcze? Prezentowanie przypadków użycia na diagramach 18. Diagramy sekwencji Obiekty, linie życia, komunikaty i inne konstrukcje Tworzenie i niszczenie obiektów Proste pętle Przypadki i scenariusze Pojęcia zaawansowane Pętle i warunki Komunikaty, których przesyłanie wymaga czasu Komunikaty asynchroniczne Wiele wątków Obiekty aktywne Wysyłanie komunikatów do interfejsów 19. Diagramy klas Klasy Asocjacje Relacje dziedziczenia Przykładowy diagram klas Omówienie szczegółowe Stereotypy klas interface utility Klasy abstrakcyjne Właściwości Agregacja Kompozycja Liczność Stereotypy asocjacji Klasy zagnieżdżone Klasy asocjacji Kwalifikatory asocjacji 20. Heurystyki i kawa Ekspres do kawy Mark IV Special Specyfikacja Popularne, ale niewłaściwe rozwiązanie Brakujące metody Klasy ulotne Nieprzemyślana abstrakcja Boskie klasy Poprawione rozwiązanie Interfejs użytkownika ekspresu do kawy Przypadek użycia nr 1 użytkownik naciska przycisk uruchamiający parzenie Przypadek użycia nr 2 niegotowe naczynie na kawę Przypadek użycia nr 3 zakończony proces parzenia kawy Przypadek użycia nr 4 zużycie całej kawy Implementacja modelu abstrakcyjnego Przypadek użycia nr 1 użytkownik naciska przycisk Brew Implementacja funkcji IsReady Implementacja funkcji Start Wywołanie funkcji M4UserInterface.CheckButton Dokończenie projektu oprogramowania ekspresu do kawy Zalety projektu w tej formie Źródła tego projektu Implementacja projektu obiektowego Część III. Studium przypadku listy płac Uproszczona specyfikacja systemu listy płac Ćwiczenie Przypadek użycia nr 1 dodanie danych nowego pracownika Alternatywa błąd w strukturze transakcji Przypadek użycia nr 2 usunięcie danych pracownika Alternatywa nieprawidłowy lub nieznany identyfikator EmpID Przypadek użycia nr 3 wysłanie karty czasu pracy Alternatywa nr 1 wskazany pracownik nie jest rozliczany za godziny pracy Alternatywa nr 2 wystąpił błąd w strukturze danej transakcji Przypadek użycia nr 4 wysłanie raportu o sprzedaży Alternatywa nr 1 wskazany pracownik nie jest wynagradzany w systemie prowizyjnym Alternatywa nr 2 wystąpił błąd w strukturze danej transakcji Przypadek użycia nr 5 wysłanie informacji o opłacie na rzecz związku zawodowego Alternatywa błędny format transakcji Przypadek użycia nr 6 zmiana szczegółowych danych pracownika Alternatywa błędny format transakcji Przypadek użycia nr 7 wygenerowanie listy płatności na dany dzień 21. Wzorce projektowe Command i Active Object uniwersalność i wielozadaniowość Proste polecenia Transakcje Fizyczny podział kodu Czasowy podział kodu Metoda Undo Wzorzec projektowy Active Object 22. Wzorce projektowe Template Method i Strategy dziedziczenie kontra delegacja Wzorzec projektowy Template Method Błędne zastosowanie wzorca Template Method Sortowanie bąbelkowe Wzorzec projektowy Strategy 23. Wzorce projektowe Facade i Mediator Wzorzec projektowy Facade Wzorzec projektowy Mediator 24. Wzorce projektowe Singleton i Monostate Wzorzec projektowy Singleton Zalety Wady Wzorzec Singleton w praktyce Wzorzec projektowy Monostate Zalety Wady Wzorzec Monostate w praktyce 25. Wzorzec projektowy Null Object Omówienie 26. Przypadek użycia listy płac pierwsza iteracja Uproszczona specyfikacja Analiza przez omówienie przypadku użycia Dodanie danych nowego pracownika Usunięcie danych pracownika Wysłanie karty czasu pracy Wysłanie raportu o sprzedaży Wysłanie informacji o opłacie na rzecz związku zawodowego Zmiana szczegółowych danych pracownika Wygenerowanie listy płac na dany dzień Refleksja identyfikacja abstrakcji Wynagrodzenia wypłacane pracownikom Harmonogram wypłat Formy wypłat Przynależność związkowa 27. Przypadek użycia listy płac implementacja Transakcje Dodawanie danych pracowników Baza danych systemu płacowego Dodawanie danych pracowników z wykorzystaniem wzorca Template Method Usuwanie danych pracowników Karty czasu pracy, raporty o sprzedaży i składki na związki zawodowe Zmiana danych pracowników Zmiana formy wynagradzania pracownika Co ja najlepszego zrobiłem? Wynagradzanie pracowników Decyzje projektowe i biznesowe Wynagradzanie pracowników etatowych Wynagradzanie pracowników zatrudnionych w systemie godzinowym Okresy rozliczeniowe problem projektowy Program główny Baza danych Część IV. Pakowanie systemu płacowego 28. Zasady projektowania pakietów i komponentów Pakiety i komponenty Zasady spójności komponentów ziarnistość Zasada równoważności wielokrotnego użycia i wydawania (REP) Zasada zbiorowego wielokrotnego stosowania (CRP) Zasada zbiorowego zamykania (CCP) Podsumowanie problemu spójności komponentów Zasady spójności komponentów stabilność Zasada acyklicznych zależności (ADP) Cotygodniowe kompilacje Eliminacja cykli zależności Skutki występowania cyklu w grafie zależności pomiędzy komponentami Przerywanie cykli Projektowanie zstępujące kontra projektowanie wstępujące Zasada stabilnych zależności (SDP) Stabilność Miary stabilności Zmienna stabilność komponentów Wysokopoziomowy układ komponentów Zasada stabilnych abstrakcji (SAP) Mierzenie abstrakcji Ciąg główny Odległość od ciągu głównego 29. Wzorzec projektowy Factory Problem zależności Statyczna kontra dynamiczna kontrola typów Fabryki wymienne Wykorzystywanie fabryk do celów testowych Znaczenie fabryk Konkluzja 30. Studium przypadku systemu płacowego analiza podziału na pakiety Notacja i struktura komponentów Stosowanie zasady zbiorowego zamykania (CCP) Stosowanie zasady równoważności wielokrotnego użycia i wydawania (REP) Wiązanie komponentów i hermetyzacja Mierniki Stosowanie mierników dla aplikacji płacowej Fabryki obiektów Fabryka obiektów dla komponentu TransactionImplementation Inicjalizacja fabryk Przebudowa granic spójności Ostateczna struktura pakietów 31. Wzorzec projektowy Composite Polecenia kompozytowe Liczność albo brak liczności 32. Wzorzec projektowy Observer ewolucja kodu w kierunku wzorca Zegar cyfrowy Wzorzec projektowy Observer Modele Zarządzanie zasadami projektowania obiektowego 33. Wzorce projektowe Abstract Server, Adapter i Bridge Wzorzec projektowy Abstract Server Wzorzec projektowy Adapter Forma klasowa wzorca Adapter Problem modemu adaptery i zasada LSP Pierwsze, niedoskonałe rozwiązanie Zagmatwana sieć zależności Wzorzec projektowy Adapter w roli koła ratunkowego Wzorzec projektowy Bridge 34. Wzorce projektowe Proxy i Gateway zarządzanie cudzymi interfejsami API Wzorzec projektowy Proxy Implementacja wzorca Proxy Bazy danych, oprogramowanie pośredniczące i inne gotowe interfejsy Wzorzec projektowy Table Data Gateway Testowanie konstrukcji TDG w pamięci Test bram DB Stosowanie pozostałych wzorców projektowych łącznie z bazami danych 35. Wzorzec projektowy Visitor Wzorzec projektowy Visitor Wzorzec projektowy Acyclic Visitor Zastosowania wzorca Visitor Generowanie raportów Inne zastosowania Wzorzec projektowy Decorator Wzorzec projektowy Extension Object 36. Wzorzec projektowy State Zagnieżdżone wyrażenia switch-case Wewnętrzny zasięg zmiennej stanu Testowanie akcji Zalety i wady Tabele przejść Interpretacja tabeli przejść Zalety i wady Wzorzec projektowy State Wzorzec State kontra wzorzec Strategy Zalety i wady Kompilator maszyny stanów (SMC) Plik Turnstile.cs wygenerowany przez kompilator SMC i pozostałe pliki pomocnicze Zalety i wady Zastosowania skończonej maszyny stanów Wysokopoziomowa polityka działania graficznych interfejsów użytkownika (GUI) Sterowanie interakcją z interfejsem GUI Przetwarzanie rozproszone 37. Studium przypadku systemu płacowego baza danych Budowa bazy danych Słaby punkt dotychczasowego projektu Dodawanie danych nowych pracowników Transakcje Odczytywanie danych o pracownikach Co jeszcze zostało do zrobienia? 38. Interfejs użytkownika systemu płacowego wzorzec Model View Presenter Interfejs Implementacja Budowa okna Okno główne systemu płacowego Pierwsza odsłona Dodatek A. Satyra na dwa przedsiębiorstwa Rufus Inc. Project Kickoff Rupert Industries Project Alpha Dodatek B. Czym jest oprogramowanie?
Sygnatura czytelni BWEAiI: XII E 106
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. 147221 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Clean architecture : a craftsman's guide to software structure and design.
U góry okładki nazwa wydawcy oryginału: Prentice Hall.
Indeks.
Rozdział 1. Czym są projekt i architektura? (27) Rozdział 2. Opowieść o dwóch wartościach (37) Zachowanie (38) Architektura (38) Ważniejsza wartość (39) Macierz Eisenhowera (40) Walka o architekturę (41) CZĘŚĆ II. ZACZNIJ OD PODSTAW. PARADYGMATY OPROGRAMOWANIA (43) Rozdział 3. Przegląd paradygmatów (45) Programowanie strukturalne (46) Programowanie obiektowe (46) Programowanie funkcyjne (46) Coś do przemyślenia (47) Rozdział 4. Programowanie strukturalne (49) Dowód (50) Ogłoszenie szkodliwości (52) Dekompozycja funkcyjna (52) Brak formalnych dowodów (53) Metoda naukowa (53) Testy (54) Rozdział 5. Programowanie obiektowe (57) Hermetyzacja? (58) Dziedziczenie? (61) Polimorfizm? (63) Rozdział 6. Programowanie funkcyjne (69) Kwadraty liczb całkowitych (70) Niezmienność i architektura (71) Podział zmienności (72) Strumień zdarzeń (74) CZĘŚĆ III. REGUŁY PROJEKTOWE (77) Rozdział 7. SRP - reguła jednej odpowiedzialności (81) Symptom 1. Przypadkowa duplikacja (83) Symptom 2. Złączenia (84) Rozwiązania (85) Rozdział 8. Reguła otwarte-zamknięte (89) Eksperyment myślowy (90) Kontrola kierunku (94) Ukrywanie informacji (94) Rozdział 9. Reguła otwarte-zamknięte (97) Jak używać dziedziczenia? (98) Problem z kwadratem i prostokątem (98) Zasada LSP i architektura (99) Przykład naruszenia zasady LSP (100) Rozdział 10. Zasada rozdzielania interfejsów (103) Zasada ISP i język (105) Zasada ISP i architektura (105) Rozdział 11. Zasada odwrócenia zależności (107) Stabilne abstrakcje (108) Fabryki (109) Komponenty konkretne (110) CZĘŚĆ IV. ZASADY KOMPONENTÓW (113) Rozdział 12. Komponenty (115) Krótka historia komponentów (116) Relokacje (119) Konsolidatory (119) Rozdział 13. Spójność komponentów (123) Zasada Reuse (Release Equivalence Principle) (124) Zasada Common Closure Principle (125) Zasada Common Reuse Principle (126) Diagram napięć dla zasad spójności komponentów (127) Rozdział 14. Łączenie komponentów (131) Zasada zależności niecyklicznych (132) Projekt typu top-down (138) Zasada stabilnych zależności (139) Zasada stabilnych abstrakcji (144) CZĘŚĆ V. ARCHITEKTURA (151) Rozdział 15. Czym jest architektura? (153) Rozwój systemu (155) Wdrożenia (155) Działanie (156) Konserwacja (157) Zachowywanie dostępnych opcji (157) Niezależność od urządzenia (159) Spam (160) Adresowanie fizyczne (162) Rozdział 16. Niezależność (165) Przypadki użycia (166) Działanie (166) Rozwój (167) Wdrożenia (167) Otwarte opcje (168) Oddzielanie warstw (168) Rozdzielanie przypadków użycia (169) Tryby rozdzielania (170) Możliwość niezależnego rozwijania (171) Niezależne wdrożenia (171) Duplikacja (171) Tryby rozdzielania (ponownie) (172) Rozdział 17. Granice. Wyznaczanie linii (175) Dwie smutne historie (176) FitNesse (179) Jakie linie rysować i kiedy to robić? (181) A co z wejściem i wyjściem? (183) Architektura wtyczek (184) A jednak wtyczki (185) Rozdział 18. Anatomia granic (189) Przekraczanie granic (190) Straszliwy monolit (190) Instalowanie komponentów (192) Wątki (193) Procesy lokalne (193) Usługi (194) Rozdział 19. Zasady i poziomy (195) Poziomy (196) Rozdział 20. Reguły biznesowe (201) Encje (202) Przypadki użycia (203) Modele żądania i odpowiedzi (205) Rozdział 21. Krzycząca architektura (207) Motyw architektury (208) Cel architektury (208) A co z siecią WWW? (209) Framework to narzędzie, a nie styl życia (209) Testowanie architektury (210) Rozdział 22. Czysta architektura (211) Zasada zależności (213) Typowy scenariusz (217) Rozdział 23. Prezentery i skromne obiekty (219) Wzorzec projektowy skromny obiekt (220) Prezentery i widoki (220) Testowanie i architektura (221) Bramy do baz danych (221) Mapowanie danych (222) Serwisy (222) Rozdział 24. Granice częściowe (225) Pomiń ostatni krok (226) Granice jednowymiarowe (227) Fasady (227) Rozdział 25. Warstwy i granice (229) Hunt the Wumpus (230) Czysta architektura? (231) Przekraczanie strumieni (234) Dzielenie strumieni (234) Rozdział 26. Komponent Main (239) Najważniejszy detal (240) Rozdział 27. Serwisy, duże i małe (245) Architektura serwisów? (246) Zalety serwisów? (246) Problem z kotkami (248) Pomogą nam obiekty (249) Serwisy bazujące na komponentach (251) Sprawy ogólnosystemowe (251) Rozdział 28. Granice testów (255) Testy jako komponenty systemu (256) Projekt ułatwiający testy (257) API testujące (257) Rozdział 29. Czysta architektura osadzona (261) Test n-App-stawienia (264) Problem docelowego sprzętu (266) CZĘŚĆ VI. SZCZEGÓŁY (277) Rozdział 30. Baza danych jest szczegółem (279) Relacyjne bazy danych (280) Dlaczego systemy baz danych są takie powszechne? (280) A gdyby nie było dysków? (282) Szczegóły (282) A co z wydajnością? (283) Anegdota (283) Rozdział 31. Sieć WWW jest szczegółem (285) Wieczne wahadło (286) Rezultat (288) Rozdział 32. Frameworki są szczegółem (291) Autorzy frameworków (292) Małżeństwo asymetryczne (292) Ryzyko (293) Rozwiązanie (294) Teraz ogłaszam was... (294) Rozdział 33. Studium przypadku. Sprzedaż filmów (297) Produkt (298) Analiza przypadków użycia (298) Architektura komponentów (300) Zarządzanie zależnościami (301) Rozdział 34. Zaginiony rozdział (303) Pakowanie w warstwy (304) Pakowanie według funkcji (306) Porty i adaptery (306) Pakowanie według komponentów (310) Diabeł tkwi w szczegółach implementacji (314) Organizacja a hermetyzacja (315) Inne sposoby rozdzielania (318) Zaginiona porada (319) Archeologia architektury (323) System księgowości Union (324) Cięcie laserowe (331) Monitorowanie odlewów aluminium (334) 4-TEL (335) Komputer SAC (340) Język C (344) BOSS (346) pCCU (347) DLU/DRU (349) VRS (351) Elektroniczny recepcjonista (353) System wysyłania serwisantów (355) Clear Communications (358) ROSE (360)
Sygnatura czytelni BWEAiI: XII J 77
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. 145984 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Clean Agile : back to Basics.
Rozdział 1. Wprowadzenie do Agile 23 Historia Agile 24 Snowbird 32 Przegląd metody Agile 35 Koło życia 49 Wnioski 52 Rozdział 2. Dlaczego Agile? 53 Profesjonalizm 54 Rozsądne oczekiwania 58 Lista praw 69 Wnioski 73 Rozdział 3. Praktyki biznesowe 75 Planowanie 76 Małe wydania 92 Testy akceptacyjne 97 Cały zespół 102 Wnioski 104 Rozdział 4. Praktyki zespołu 105 Metafora 106 Miarowy rytm 108 Wspólna własność 111 Ciągła integracja 113 Spotkania na stojąco 116 Wnioski 117 Rozdział 5. Praktyki techniczne 119 Programowanie sterowane testami 120 Refaktoryzacja 127 Prosty projekt 129 Programowanie w parach 131 Wnioski 134 Rozdział 6. Jak stać się Agile 135 Wartości Agile 136 Menażeria 137 Transformacja 138 Nauczanie 143 Certyfikacja 144 Agile na dużą skalę 145 Narzędzia 148 Nauczanie - inny punkt widzenia 154 Wnioski (wraca Bob) 163 Rozdział 7. Rzemieślnictwo 165 Kac po Agile 167 Niewłaściwe oczekiwania 168 Oddalanie się 169 Rzemieślnictwo oprogramowania 170 Ideologia i metodyka 171 Czy rzemieślnictwo oprogramowania ma swoje praktyki? 172 Skupianie się na wartościach, nie na praktykach 173 Omawianie praktyk 174 Wpływ rzemieślnictwa na ludzi 175 Wpływ rzemieślnictwa na naszą branżę 175 Wpływ rzemieślnictwa na firmy 176 Rzemieślnictwo i Agile 177
Sygnatura czytelni BWEAiI: XII E 115
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. 149931 N (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce: Poznaj najlepsze metody tworzenia doskanałego kodu. Jak pisać dobry kod, a zły przekształcić w dobry? Jak formatować kod, aby osiągnąć maksymalną czytelność? Jak implementować pełną obsługę błędów bez zaśmiecania logiki kodu?
Kody źródłowe wybranych przykładów dostępne są pod adresem internetowym wydawcy podanym w książce.
Bibliografia, netografia przy niektórych rozdziałach. Indeks.
Dla każdego, kto chce poznać techniki rzetelnego i efektywnego programowania.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 138210 (1 egz.)
Książka
W koszyku
Na okładce i grzbiecie podtytuł: podręcznik dobrego programisty.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem internetowym wydawnictwa podanym na stronie redakcyjnej.
Bibliografia, netografia przy większości rozdziałów. Indeksy.
Czysty kod Niech stanie się kod... W poszukiwaniu doskonałego kodu... Całkowity koszt bałaganu Rozpoczęcie wielkiej zmiany projektu Postawa Największa zagadka Sztuka czystego kodu? Co to jest czysty kod? Szkoły myślenia Jesteśmy autorami Zasada skautów Poprzednik i zasady Znaczące nazwy Używaj nazw przedstawiających intencje Unikanie dezinformacji Tworzenie wyraźnych różnic Tworzenie nazw, które można wymówić Korzystanie z nazw łatwych do wyszukania Unikanie kodowania Notacja węgierska Przedrostki składników Interfejsy i implementacje Unikanie odwzorowania mentalnego Nazwy klas Nazwy metod Nie bądź dowcipny Wybieraj jedno słowo na pojęcie Nie twórz kalamburów! Korzystanie z nazw dziedziny rozwiązania Korzystanie z nazw dziedziny problemu Dodanie znaczącego kontekstu Nie należy dodawać nadmiarowego kontekstu Funkcje Małe funkcje! Bloki i wcięcia Wykonuj jedną czynność Sekcje wewnątrz funkcji Jeden poziom abstrakcji w funkcji Czytanie kodu od góry do dołu zasada zstępująca Instrukcje switch Korzystanie z nazw opisowych Argumenty funkcji Często stosowane funkcje jednoargumentowe Argumenty znacznikowe Funkcje dwuargumentowe Funkcje trzyargumentowe Argumenty obiektowe Listy argumentów Czasowniki i słowa kluczowe Unikanie efektów ubocznych Argumenty wyjściowe Rozdzielanie poleceń i zapytań Stosowanie wyjątków zamiast zwracania kodów błędów Wyodrębnienie bloków try-catch Obsługa błędów jest jedną operacją Przyciąganie zależności w Error.java Nie powtarzaj się Programowanie strukturalne Jak pisać takie funkcje? SetupTeardownIncluder Komentarze Komentarze nie są szminką dla złego kodu Czytelny kod nie wymaga komentarzy Dobre komentarze Komentarze prawne Komentarze informacyjne Wyjaśnianie zamierzeń Wyjaśnianie Ostrzeżenia o konsekwencjach Komentarze TODO Wzmocnienie Komentarze Javadoc w publicznym API Złe komentarze Bełkot Powtarzające się komentarze Mylące komentarze Komentarze wymagane Komentarze dziennika Komentarze wprowadzające szum informacyjny Przerażający szum Nie używaj komentarzy, jeżeli można użyć funkcji lub zmiennej Znaczniki pozycji Komentarze w klamrach zamykających Atrybuty i dopiski Zakomentowany kod Komentarze HTML Informacje nielokalne Nadmiar informacji Nieoczywiste połączenia Nagłówki funkcji Komentarze Javadoc w niepublicznym kodzie Formatowanie Przeznaczenie formatowania Formatowanie pionowe Metafora gazety Pionowe odstępy pomiędzy segmentami kodu Gęstość pionowa Odległość pionowa Uporządkowanie pionowe Formatowanie poziome Poziome odstępy i gęstość Rozmieszczenie poziome Wcięcia Puste zakresy Zasady zespołowe Zasady formatowania wujka Boba Obiekty i struktury danych Abstrakcja danych Antysymetria danych i obiektów Prawo Demeter Wraki pociągów Hybrydy Ukrywanie struktury Obiekty transferu danych Active Record Obsługa błędów Użycie wyjątków zamiast kodów powrotu Rozpoczynanie od pisania instrukcji try-catch-finally Użycie niekontrolowanych wyjątków Dostarczanie kontekstu za pomocą wyjątków Definiowanie klas wyjątków w zależności od potrzeb wywołującego Definiowanie normalnego przepływu Nie zwracamy null Nie przekazujemy null Granice Zastosowanie kodu innych firm Przeglądanie i zapoznawanie się z granicami Korzystanie z pakietu log4j Zalety testów uczących Korzystanie z nieistniejącego kodu Czyste granice Testy jednostkowe Trzy prawa TDD Zachowanie czystości testów Testy zwiększają możliwości Czyste testy Języki testowania specyficzne dla domeny Podwójny standard Jedna asercja na test Jedna koncepcja na test F.I.R.S.T.[8] Klasy Organizacja klas Hermetyzacja Klasy powinny być małe! Zasada pojedynczej odpowiedzialności Spójność Utrzymywanie spójności powoduje powstanie wielu małych klas Organizowanie zmian Izolowanie modułów kodu przed zmianami Systemy Jak budowałbyś miasto? Oddzielenie konstruowania systemu od jego używania Wydzielenie modułu main Fabryki Wstrzykiwanie zależności Skalowanie w górę Separowanie (rozcięcie) problemów Pośredniki Java Czyste biblioteki Java AOP Aspekty w AspectJ Testowanie architektury systemu Optymalizacja podejmowania decyzji Korzystaj ze standardów, gdy wnoszą realną wartość Systemy wymagają języków dziedzinowych Powstawanie projektu Uzyskiwanie czystości projektu przez jego rozwijanie Zasada numer 1 prostego projektu system przechodzi wszystkie testy Zasady numer 2 4 prostego projektu przebudowa Brak powtórzeń Wyrazistość kodu Minimalne klasy i metody Współbieżność W jakim celu stosować współbieżność? Mity i nieporozumienia Wyzwania Zasady obrony współbieżności Zasada pojedynczej odpowiedzialności Wniosek ograniczenie zakresu danych Wniosek korzystanie z kopii danych Wniosek wątki powinny być na tyle niezależne, na ile to tylko możliwe Poznaj używaną bibliotekę Kolekcje bezpieczne dla wątków Poznaj modele wykonania Producent-konsument Czytelnik-pisarz Ucztujący filozofowie Uwaga na zależności pomiędzy synchronizowanymi metodami Tworzenie małych sekcji synchronizowanych Pisanie prawidłowego kodu wyłączającego jest trudne Testowanie kodu wątków Traktujemy przypadkowe awarie jako potencjalne problemy z wielowątkowością Na początku uruchamiamy kod niekorzystający z wątków Nasz kod wątków powinien dać się włączać Nasz kod wątków powinien dać się dostrajać Uruchamiamy więcej wątków, niż mamy do dyspozycji procesorów Uruchamiamy testy na różnych platformach Uzbrajamy nasz kod w elementy próbujące wywołać awarie i wymuszające awarie Instrumentacja ręczna Instrumentacja automatyczna Udane oczyszczanie kodu Implementacja klasy Args Jak to napisałem? Args zgrubny szkic Zatrzymałem się O przyrostowości Argumenty typu String Struktura biblioteki JUnit Biblioteka JUnit Przebudowa klasy SerialDate Na początek uruchamiamy Teraz poprawiamy Zapachy kodu i heurystyki Komentarze Niewłaściwe informacje Przestarzałe komentarze Nadmiarowe komentarze Źle napisane komentarze Zakomentowany kod Środowisko Budowanie wymaga więcej niż jednego kroku Testy wymagają więcej niż jednego kroku Funkcje Nadmiar argumentów Argumenty wyjściowe Argumenty znacznikowe Martwe funkcje Ogólne Wiele języków w jednym pliku źródłowym Oczywiste działanie jest nieimplementowane Niewłaściwe działanie w warunkach granicznych Zdjęte zabezpieczenia Powtórzenia Kod na nieodpowiednim poziomie abstrakcji Klasy bazowe zależne od swoich klas pochodnych Za dużo informacji Martwy kod Separacja pionowa Niespójność Zaciemnianie Sztuczne sprzężenia Zazdrość o funkcje Argumenty wybierające Zaciemnianie intencji Źle rozmieszczona odpowiedzialność Niewłaściwe metody statyczne Użycie opisowych zmiennych Nazwy funkcji powinny informować o tym, co realizują Zrozumienie algorytmu Zamiana zależności logicznych na fizyczne Zastosowanie polimorfizmu zamiast instrukcji if-else lub switch-case Wykorzystanie standardowych konwencji Zamiana magicznych liczb na stałe nazwane Precyzja Struktura przed konwencją Hermetyzacja warunków Unikanie warunków negatywnych Funkcje powinny wykonywać jedną operację Ukryte sprzężenia czasowe Unikanie dowolnych działań Hermetyzacja warunków granicznych Funkcje powinny zagłębiać się na jeden poziom abstrakcji Przechowywanie danych konfigurowalnych na wysokim poziomie Unikanie nawigacji przechodnich Java Unikanie długich list importu przez użycie znaków wieloznacznych Nie dziedziczymy stałych Stałe kontra typy wyliczeniowe Nazwy Wybór opisowych nazw Wybór nazw na odpowiednich poziomach abstrakcji Korzystanie ze standardowej nomenklatury tam, gdzie jest to możliwe Jednoznaczne nazwy Użycie długich nazw dla długich zakresów Unikanie kodowania Nazwy powinny opisywać efekty uboczne Testy Niewystarczające testy Użycie narzędzi kontroli pokrycia Nie pomijaj prostych testów Ignorowany test jest wskazaniem niejednoznaczności Warunki graniczne Dokładne testowanie pobliskich błędów Wzorce błędów wiele ujawniają Wzorce pokrycia testami wiele ujawniają Testy powinny być szybkie Współbieżność II Przykład klient-serwer Serwer Dodajemy wątki Uwagi na temat serwera Możliwe ścieżki wykonania Liczba ścieżek Wyliczanie możliwych uporządkowań Kopiemy głębiej Poznaj używaną bibliotekę Biblioteka Executor Rozwiązania nieblokujące Bezpieczne klasy nieobsługujące wątków Zależności między metodami mogą uszkodzić kod współbieżny Tolerowanie awarii Blokowanie na kliencie Blokowanie na serwerze Zwiększanie przepustowości Obliczenie przepustowości jednowątkowej Obliczenie przepustowości wielowątkowej Zakleszczenie Wzajemne wykluczanie Blokowanie i oczekiwanie Brak wywłaszczania Cykliczne oczekiwanie Zapobieganie wzajemnemu wykluczaniu Zapobieganie blokowaniu i oczekiwaniu Umożliwienie wywłaszczania Zapobieganie oczekiwaniu cyklicznemu Testowanie kodu wielowątkowego Narzędzia wspierające testowanie kodu korzystającego z wątków Samouczek. Pełny kod przykładów Klient-serwer bez wątków Klient-serwer z użyciem wątków
Sygnatura czytelni BWEAiI: XII E 85
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 139744, 139388, 145678, 139743, 145677 (5 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 139742 N (1 egz.)
Książka
W koszyku
Tyt. oryg.: The clean coder : a code of conduct for professional programmers.
U góry okł.: Podręcznik profesjonalnego programisty!
U góry okł. logo wydawcy oryg. Prentice Hall.
Bibliogr. przy niektórych rozdz. Indeks.
Sygnatura czytelni BWEAiI: XII A 58
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 137580, 140645, 137579 (3 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 136736 N (1 egz.)
Książka
W koszyku
Na stronie 4. okładki także nazwa wydawcy oryginału: Pearson.
Rozdział 1. Rzemiosło CZĘŚĆ I. Procedury Programowanie ekstremalne Krąg rozwoju Programowanie sterowane testami Refaktoryzacja Prostota projektu Programowanie zespołowe Testy akceptacyjne Rozdział 2. Programowanie sterowane testami Ogólny zarys Oprogramowanie Trzy prawa TDD Czwarte prawo Podstawy Proste przykłady Stos Czynniki pierwsze Gra w kręgle Rozdział 3. Zaawansowane techniki TDD Sortowanie - podejście 1. Sortowanie - podejście 2. Utknięcie Przygotuj, działaj, sprawdź Wprowadzenie do BDD Automaty skończone Znowu o BDD Dublery testowe Atrapa Zaślepka Szpieg Imitacja Podróbka Zasada niepewności metodyki TDD Londyn kontra Chicago Problem pewności Londyn Chicago Synteza Architektura Rozdział 4. Projektowanie testów Testowanie baz danych Testowanie interfejsów GUI Dane wprowadzane z interfejsu GUI Wzorce testowe Podklasa specyficzna dla testów Samopodstawienie Skromny obiekt Projektowanie testów Problem kruchych testów Zgodność jeden do jednego Zrywanie zgodności Wypożyczalnia filmów Szczegółowość kontra ogólność Domniemane pierwszeństwo przekształceń (Transformation Priority Premise) Rozdział 5. Refaktoryzacja Czym jest refaktoryzacja? Podstawowy zestaw narzędziowy Zmiana nazwy Wyodrębnianie metody Wyodrębnianie zmiennej Wyodrębnianie pola Kostka Rubika Procedury Testy Szybkie testy Zerwij z głęboką zgodnością jeden do jednego Stale refaktoryzuj Refaktoryzuj bezwzględnie Niech wyniki testów będą stale pozytywne! Pozostaw sobie wyjście Rozdział 6. Prostota projektu YAGNI Kod pokryty testami Pokrycie Cel asymptotyczny Projekt? To jednak nie wszystko Zwiększenie wyrazistości Bazowa abstrakcja Testy: druga część problemu Ograniczenie duplikacji Przypadkowa duplikacja Zmniejszanie Prosta konstrukcja Rozdział 7. Programowanie zespołowe Rozdział 8. Testy akceptacyjne Procedura Ciągła budowa CZĘŚĆ II. Standardy Twój nowy dyrektor techniczny Rozdział 9. Produktywność Nie będziemy nigdy wciskać badziewia Możliwość niedrogiej adaptacji Będziemy zawsze gotowi Stabilna wydajność Rozdział 10. Jakość Ciągłe ulepszanie Odważna fachowość Wyjątkowa jakość Nie będziemy zrzucali pracy na dział zapewniania jakości Przypadłość działu zapewniania jakości Dział zapewniania jakości niczego nie znajdzie Automatyzacja testów Testowanie automatyczne a interfejsy użytkownika Testowanie interfejsu użytkownika Rozdział 11. Odwaga Zastępujemy się nawzajem Rzetelne oszacowania Musisz mówić "NIE" Ciągłe aktywne uczenie się Mentorowanie CZĘŚĆ III. Etyka Pierwszy programista Siedemdziesiąt pięć lat Ofermy i wyzwoliciele Wzory osobowe i czarne charaktery Rządzimy światem Katastrofy Przysięga Rozdział 12. Szkody Po pierwsze, nie szkodzić Nie szkodzić społeczeństwu Uszczerbek w funkcjonowaniu Nieszkodzenie strukturze Elastyczność Testy Najlepsza praca Jak zrobić to dobrze Czym jest dobra struktura? Macierz Eisenhowera Programiści są interesariuszami Dokładanie wszelkich starań Powtarzalny dowód Dijkstra Udowadnianie poprawności Programowanie strukturalne Dekompozycja funkcyjna Programowanie sterowane testami Rozdział 13. Integralność Krótkie cykle Historia kontroli kodu źródłowego Git Krótkie cykle Ciągła integracja Gałęzie kontra przełączniki Ciągłe wdrażanie Ciągła budowa Bezwzględne ulepszanie Pokrycie testami Testowanie mutacyjne Stabilność semantyczna Oczyszczanie Wytwory Utrzymywanie wysokiej wydajności Lepkość Radzenie sobie z rozproszeniami Zarządzanie czasem Rozdział 14. Praca zespołowa Praca w zespole Otwarte/wirtualne biuro Rzetelne i uczciwe oszacowania Kłamstwa Uczciwość, dokładność, precyzja Historia nr 1: wektory Historia nr 2: pCCU Nauczka Dokładność Precyzja Łączenie Uczciwość Szacunek Nigdy nie przestawaj się uczyć
Sygnatura czytelni BWEAiI: XII J 116
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 152693 N, 152692 N (2 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153044 (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce: Poznaj nowoczesne sposoby wytwarzania oprogramowania!.
Bibliografia przy rozdziałach. Indeks.
ZWINNE WYTWARZANIE OPROGRAMOWANIA Praktyki agile Agile Alliance Manifest Agile Alliance Zasady Przegląd informacji o programowaniu ekstremalnym Praktyki programowania ekstremalnego Klient jest członkiem zespołu Historyjki użytkowników Krótkie cykle Testy akceptacyjne Programowanie parami Programowanie sterowane testami Wspólna własność Ciągła integracja Równomierne tempo Otwarta przestrzeń robocza Gra w planowanie Prosty projekt Refaktoryzacja Metafora Planowanie Początkowa eksploracja Tworzenie prototypów, dzielenie i szybkość Planowanie wersji dystrybucyjnych Planowanie iteracji Planowanie zadań Półmetek Przebieg iteracji Testowanie Programowanie sterowane testami Przykład projektu w stylu "najpierw test" Izolacja testu Nieoczekiwane wyeliminowanie sprzężeń Testy akceptacyjne Przykład testów akceptacyjnych Architektura "przy okazji" Refaktoryzacja Generowanie liczb pierwszych - prosty przykład refaktoryzacji Ostateczny przegląd Epizod programowania Gra w kręgle PROJEKT AGILE Symptomy złego projektu Zasady Zapachy a zasady Co to jest projekt agile? Co złego dzieje się z oprogramowaniem? Zapachy projektu - woń psującego się oprogramowania Co stymuluje oprogramowanie do psucia się? Zespoły agile nie pozwalają psuć się oprogramowaniu Program Copy Przykład programu Copy wykonanego zgodnie z metodyką agile Skąd deweloperzy agile wiedzieli, co należy zrobić? Utrzymywanie projektu w jak najlepszej postaci SRP - zasada pojedynczej odpowiedzialności SRP - zasada pojedynczej odpowiedzialności Czym jest odpowiedzialność? Rozdzielanie sprzężonych odpowiedzialności Trwałość OCP - zasada otwarte-zamknięte OCP - zasada otwarte-zamknięte Opis Kluczem jest abstrakcja Aplikacja Shape Naruszenie zasady OCP Zachowanie zgodności z zasadą OCP Przyznaję się. Kłamałem Przewidywanie i "naturalna" struktura Umieszczanie "haczyków" Stosowanie abstrakcji w celu uzyskania jawnego domknięcia Zastosowanie podejścia "sterowania danymi" w celu uzyskania domknięcia LSP - zasada podstawiania Liskov LSP - zasada podstawiania Liskov Prosty przykład naruszenia zasady LSP Kwadraty i prostokąty - bardziej subtelne naruszenie zasady LSP Prawdziwy problem Poprawność nie jest wrodzona Relacja IS-A dotyczy zachowania Projektowanie według kontraktu Specyfikowanie kontraktów w testach jednostkowych Realny przykład Motywacja Problem Rozwiązanie niezgodne z zasadą LSP Rozwiązanie zgodne z zasadą LSP Wydzielanie zamiast dziedziczenia Heurystyki i konwencje Zdegenerowane funkcje w klasach pochodnych Zgłaszanie wyjątków z klas pochodnych DIP - zasada odwracania zależności DIP - zasada odwracania zależności Podział na warstwy Odwrócenie własności Zależność od abstrakcji Prosty przykład Wyszukiwanie potrzebnych abstrakcji Przykład programu Furnace Polimorfizm dynamiczny i statyczny ISP - zasada segregacji interfejsów Zaśmiecanie interfejsów Odrębne klienty oznaczają odrębne interfejsy Siła oddziaływania klientów na interfejsy ISP - zasada segregacji interfejsów Interfejsy klas a interfejsy obiektów Separacja przez delegację Separacja przez wielokrotne dziedziczenie Przykład interfejsu użytkownika bankomatu Poliady i monady STUDIUM PRZYPADKU: SYSTEM PŁACOWY Szczątkowa specyfikacja systemu płacowego Przypadek użycia nr 1: dodawanie nowego pracownika Przypadek użycia nr 2: usuwanie pracownika Przypadek użycia nr 3: dostarczenie karty pracy Przypadek użycia nr 4: dostarczenie raportu sprzedaży Przypadek użycia nr 5: dostarczenie informacji o opłacie na rzecz związku zawodowego Przypadek użycia nr 6: zmiana danych pracownika Przypadek użycia nr 7: wygenerowanie listy płac na dzień Wzorce projektowe Polecenie i Aktywny obiekt Proste polecenia Transakcje Fizyczny i czasowy podział kodu Czasowy podział kodu Metoda Undo Aktywny obiekt Metoda szablonowa i Strategia: dziedziczenie a delegacja Metoda szablonowa Nadużywanie wzorca Sortowanie bąbelkowe Strategia Sortowanie jeszcze raz Wzorce projektowe Fasada i Mediator Fasada Mediator Wniosek Wzorce projektowe Singleton i Monostate Singleton Korzyści ze stosowania wzorca Singleton Koszty stosowania wzorca Singleton Wzorzec projektowy Singleton w praktyce Monostate Korzyści ze stosowania wzorca Monostate Koszty stosowania wzorca Monostate Wzorzec projektowy Monostate w praktyce Wzorzec projektowy Obiekt Null Studium przypadku: system płacowy. Pierwsza iteracja Specyfikacja Analiza według przypadków użycia Dodawanie pracowników Usuwanie pracowników Dostarczenie karty pracy Dostarczenie raportów sprzedaży Dostarczenie informacji o opłacie na rzecz związku zawodowego Zmiana danych pracownika Wypłaty Refleksja: czego się nauczyliśmy? Wyszukiwanie potrzebnych abstrakcji Abstrakcja harmonogramu Sposoby wypłaty Przynależność do związków zawodowych Studium przypadku: system płacowy. Implementacja Dodawanie pracowników Baza danych systemu płacowego Zastosowanie wzorca Metoda szablonowa do dodawania pracowników Usuwanie pracowników Zmienne globalne Karty pracy, raporty sprzedaży i składki Zmiana danych pracowników Zmiana klasyfikacji Co ja paliłem? Realizacja wypłat Czy chcemy, aby deweloperzy podejmowali decyzje biznesowe? Realizacja wypłat dla pracowników ze stałą pensją Realizacja wypłat dla pracowników zatrudnionych w systemie godzinowym Okresy rozliczeniowe: problem projektowy Program główny Baza danych Podsumowanie projektu systemu płacowego Historia Zasoby PODZIAŁ SYSTEMU PŁACOWEGO NA PAKIETY Zasady projektowania pakietów Projektowanie z wykorzystaniem pakietów? Ziarnistość: zasady spójności pakietów Zasada równoważności wielokrotnego wykorzystania kodu i dystrybucji (REP) Zasada zbiorowego wielokrotnego użytku (CRP) Zasada zbiorowego zamykania (CCP) Podsumowanie tematyki spójności pakietów Stabilność: zasady sprzęgania pakietów Zasada acyklicznych zależności (ADP) Cotygodniowe kompilacje Eliminowanie cykli zależności Skutki istnienia cykli w grafie zależności między pakietami Przerywanie cykli Odchylenia Projekt góra-dół Zasada stabilnych zależności (SDP) Stabilność Metryki stabilności Nie wszystkie pakiety muszą być stabilne Gdzie powinna się znaleźć implementacja projektu wysokiego poziomu? Zasada stabilnych abstrakcji (SAP) Mierzenie abstrakcji Ciąg główny Odległość od ciągu głównego Wzorzec projektowy Fabryka Cykl zależności Fabryki wymienne Wykorzystanie wzorca Fabryka do tworzenia zestawów testowych Znaczenie korzystania z fabryk Studium przypadku: system płacowy (część 2.) Struktura pakietów i notacja Zastosowanie zasady zbiorowego domykania (CCP) Zastosowanie zasady równoważności wielokrotnego wykorzystania kodu i dystrybucji (REP) Sprzężenia i hermetyzacja Metryki Zastosowanie wskaźników do aplikacji płacowej Fabryki obiektów Fabryka obiektów dla pakietu TransactionImplementation Inicjowanie fabryk Przebudowa granic spójności Ostateczna struktura pakietów STUDIUM PRZYPADKU: STACJA POGODOWA Wzorzec projektowy Kompozyt Przykład: polecenia kompozytowe Wielokrotność czy brak wielokrotności Obserwator - ewolucja kodu do wzorca Zegar cyfrowy Wzorzec projektowy Obserwator Zarządzanie zasadami projektu obiektowego dla wzorca projektowego Obserwator Wzorce projektowe Serwer abstrakcyjny i Most Wzorzec projektowy Serwer abstrakcyjny Kto jest właścicielem interfejsu? Wzorzec projektowy Adapter Wzorzec projektowy Adapter w formie klasy Problem modemu. Adaptery i zasada LSP Wzorzec projektowy Most Wzorce projektowe Pełnomocnik i Schody do nieba - zarządzanie zewnętrznymi interfejsami API Wzorzec projektowy Pełnomocnik Implementacja wzorca projektowego Pełnomocnik w aplikacji koszyka na zakupy Podsumowanie wiadomości o wzorcu projektowym Pełnomocnik Obsługa baz danych, oprogramowania middleware oraz zewnętrznych interfejsów API Schody do nieba Przykład zastosowania wzorca Schody do nieba Inne wzorce projektowe, które można wykorzystywać z bazami danych Analiza przypadku: stacja pogodowa Firma Chmura Oprogramowanie WMS-LC Wybór języka Projekt oprogramowania systemu Nimbus-LC Historia 24-godzinna i utrwalanie Implementacja algorytmów HiLo Przegląd wymagań dla oprogramowania Nimbus-LC Wymagania użytkowe Historia 24-godzinna Konfiguracja użytkownika Wymagania administracyjne Przypadki użycia systemu Nimbus-LC Aktorzy Przypadki użycia Historia pomiarów Konfiguracja Administracja Plan publikacji wersji dystrybucyjnych systemu Nimbus-LC Wydanie I Zagrożenia Produkty projektu Wydanie II Zaimplementowane przypadki użycia Zagrożenia Produkty projektu Wydanie III Zaimplementowane przypadki użycia Zagrożenia Produkty projektu STUDIUM PRZYPADKU: ETS Wzorzec projektowy Wizytator Rodzina wzorców projektowych Wizytator Wizytator Wzorzec projektowy Wizytator działa jak macierz Wzorzec projektowy Acykliczny wizytator Wzorzec projektowy Wizytator działa jak macierz rzadka Wykorzystanie wzorca projektowego Wizytator w generatorach raportów Inne zastosowania wzorca projektowego Wizytator Wzorzec projektowy Dekorator Wiele dekoratorów Wzorzec projektowy Obiekt rozszerzenia Wzorzec projektowy Stan Przegląd informacji o automatach stanów skończonych Techniki implementacji Zagnieżdżone instrukcje Switch/Case Interpretacja tabeli przejść Wzorzec projektowy Stan SMC - kompilator maszyny stanów Kiedy należy korzystać z maszyn stanów? Wysokopoziomowe strategie obsługi GUI Kontrolery interakcji z GUI Przetwarzanie rozproszone Wniosek Listingi Implementacja klasy Turnstile.java z wykorzystaniem interpretacji tabeli przejść Klasa Turnstile.java wygenerowana przez kompilator SMC oraz inne pliki pomocnicze Framework ETS Przegląd informacji o projekcie Wczesny okres 1993 - 1994 Framework? Framework Zespół z roku 1994 Termin Strategia Wyniki Projekt frameworka Wspólne wymagania dla aplikacji oceniających Projekt frameworka do wyznaczania ocen Przypadek zastosowania wzorca Metoda szablonowa Napisać pętlę raz Wspólne wymagania dla aplikacji zdawania Projekt frameworka do zdawania Architektura menedżera zadań Notacja UML. Część I: Przykład CGI System rejestrowania kursów: opis problemu Aktorzy Przypadki użycia Model dziedziny Architektura Klasy abstrakcyjne i interfejsy na diagramach sekwencji Notacja UML. Część II: STATMUX Definicja statystycznego multipleksera Środowisko oprogramowania Ograniczenia czasu rzeczywistego Procedury obsługi przerwań wejścia Procedury obsługi przerwań wyjścia Protokoły komunikacji Satyra na dwa przedsiębiorstwa Rufus! Inc. Project Kickoff Rupert Industries Projekt Alpha Kod źródłowy jest projektem Czym jest projekt oprogramowania?
Sygnatura czytelni BWEAiI: XII J 72
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 145625 (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 145286 N (1 egz.)
Książka
W koszyku
Na stronie 4. okładki także nazwa wydawcy oryginału: Pearson.
Bibliografia, netografia na stronach 390-400.
Dla doświadczonych programistów.
CZĘŚĆ I. Przyspieszenie Rozdział 1 Sztuka czy nauka? 1.1. Budowanie domu 1.1.1. Problem związany z projektami 1.1.2. Problem etapów 1.1.3. Zależności 1.2. Pielęgnacja ogrodu 1.2.1. Dzięki czemu ogród rośnie? 1.3. W kierunku inżynierii 1.3.1. Oprogramowanie jako rzemiosło 1.3.2. Heurystyki 1.3.3. Wcześniejsze poglądy na inżynierię oprogramowania 1.3.4. Ku inżynierii oprogramowania Rozdział 2. Listy kontrolne 2.1. Pomaganie pamięci 2.2. Lista kontrolna dla nowego kodu źródłowego 2.2.1. Użyj Gita 2.2.2. Zautomatyzuj proces budowania 2.2.3. Włącz wszystkie komunikaty o błędzie 2.3. Włączanie narzędzi kontrolnych dla istniejącego kodu 2.3.1. Stopniowe ulepszenia 2.3.2. Zhakuj swoją organizację Rozdział 3. Radzenie sobie ze złożonością 3.1. Cel 3.1.1. Zrównoważony rozwój 3.1.2. Wartość 3.2. Dlaczego programowanie jest trudne 3.2.1. Metafora mózgu 3.2.2. Więcej kodu się czyta, niż pisze 3.2.3. Czytelność 3.2.4. Praca intelektualna 3.3. W stronę inżynierii oprogramowania 3.3.1. Relacja z informatyką 3.3.2. Ludzki kod Rozdział 4. Pionowy wycinek 4.1. Zacznij od działającego oprogramowania 4.1.1. Od otrzymania danych po ich utrwalenie 4.1.2. Minimalny wycinek pionowy 4.2. Chodzący szkielet 4.2.1. Test charakteryzacyjny 4.2.2. Zasada Arrange-Act-Assert 4.2.3. Moderowanie analizy statycznej 4.3. Podejście outside-in 4.3.1. Przyjmowanie danych w formacie JSON 4.3.2. Przesyłanie rezerwacji 4.3.3. Test jednostkowy 4.3.4. DTO i model domeny 4.3.5. Fałszywy obiekt 4.3.6. Interfejs repozytorium 4.3.7. Tworzenie w repozytorium 4.3.8. Konfiguracja zależności 4.4. Kończenie wycinka 4.4.1. Schemat 4.4.2. Repozytorium SQL 4.4.3. Konfiguracja uwzględniająca bazę danych 4.4.4. Wykonanie testu dymnego 4.4.5. Test graniczny z fałszywą bazą danych Rozdział 5. Enkapsulacja 5.1. Zapisywanie danych 5.1.1. Zasada Transformation Priority Premise 5.1.2. Test parametryzowany 5.1.3. Kopiowanie obiektu DTO do modelu domeny 5.2. Walidacja 5.2.1. Błędne daty 5.2.2. Procedura czerwone, zielone, refaktoryzacja 5.2.3. Liczby naturalne 5.2.4. Prawo Postela 5.3. Ochrona niezmienników 5.3.1. Zawsze poprawny Rozdział 6. Triangulacja 6.1. Pamięć krótkoterminowa kontra długoterminowa 6.1.1. Zastany kod i pamięć 6.2. Wydajność 6.2.1. Zbyt wiele rezerwacji 6.2.2. Adwokat diabła 6.2.3. Istniejące rezerwacje 6.2.4. Adwokat diabła kontra czerwone, zielone, refaktoryzacja 6.2.5. Kiedy jest wystarczająco wiele testów? Rozdział 7. Dekompozycja 7.1. Psucie się kodu 7.1.1. Wartości progowe 7.1.2. Złożoność cyklomatyczna 7.1.3. Reguła 80/24 7.2. Kod, który mieści się w mózgu 7.2.1. Kwiat sześciokątów 7.2.2. Spójność 7.2.3. Zazdrość o kod 7.2.4. Między wierszami 7.2.5. Parsuj, nie waliduj 7.2.6. Architektura fraktalna 7.2.7. Liczba zmiennych Rozdział 8. Projektowanie API 8.1. Zasady projektowania API 8.1.1. Afordancja 8.1.2. Poka-Yoke 8.1.3. Pisz dla czytelników 8.1.4. Przedkładaj dobrze napisany kod nad komentarze 8.1.5. Zastąpienie nazw znakami x 8.1.6. Rozdzielenie poleceń i zapytań 8.1.7. Hierarchia komunikacji 8.2. Przykładowy projekt API 8.2.1. Maître D' 8.2.2. Interakcja z opakowanym obiektem 8.2.3. Szczegóły implementacyjne Rozdział 9. Praca zespołowa 9.1. Git 9.1.1. Komunikaty rewizji 9.1.2. Ciągła integracja 9.1.3. Małe rewizje 9.2. Zbiorowa własność kodu 9.2.1. Programowanie w parach 9.2.2. Mob Programming 9.2.3. Opóźnienia w inspekcji kodu 9.2.4. Odrzucenie zmian 9.2.5. Recenzje kodu 9.2.6. Żądania aktualizacji CZĘŚĆ II. Zrównoważony rozwój Rozdział 10. Rozbudowywanie kodu 10.1. Flagi funkcji 10.1.1. Flaga kalendarza 10.2. Wzorzec dusiciela 10.2.1. Dusiciel na poziomie metody 10.2.2. Dusiciel na poziomie klasy 10.3. Wersjonowanie 10.3.1. Wcześniejsze ostrzeżenie Rozdział 11. Edycja testów jednostkowych 11.1. Refaktoryzacja testów jednostkowych 11.1.1. Zmiana sieci bezpieczeństwa 11.1.2. Dodawanie nowego kodu testowego 11.1.3. Osobna refaktoryzacja testów i kodu produkcyjnego 11.2. Testy kończące się niepowodzeniem Rozdział 12. Rozwiązywanie problemów 12.1. Zrozumienie 12.1.1. Metoda naukowa 12.1.2. Upraszczanie 12.1.3. Gumowa kaczuszka 12.2. Defekty 12.2.1. Odtwórz błędy za pomocą testów 12.2.2. Wolne testy 12.2.3. Defekty niedeterministyczne 12.3. Bisekcja 12.3.1. Bisekcja za pomocą Gita Rozdział 13. Separacja pojęć 13.1. Kompozycja 13.1.1. Kompozycja zagnieżdżona 13.1.2. Kompozycja sekwencyjna 13.1.3. Przezroczystość referencyjna 13.2. Kwestie przekrojowe 13.2.1. Zapisywanie zdarzeń w dziennikach 13.2.2. Dekorator 13.2.3. Co rejestrować w dziennikach Rozdział 14. Rytm 14.1. Osobisty rytm 14.1.1. Dzielenie czasu na bloki 14.1.2. Rób przerwy 14.1.3. Wykorzystuj czas celowo 14.1.4. Pisanie bezwzrokowe 14.2. Rytm zespołowy 14.2.1. Regularne aktualizowanie zależności 14.2.2. Zaplanuj inne rzeczy 14.2.3. Prawo Conwaya Rozdział 15. Typowi podejrzani 15.1. Wydajność 15.1.1. Spuścizna z przeszłości 15.1.2. Czytelność 15.2. Bezpieczeństwo 15.2.1. Metoda STRIDE 15.2.2. Spoofing 15.2.3. Tampering 15.2.4. Repudiation 15.2.5. Information Disclosure 15.2.6. Denial of service 15.2.7. Elevation of privilege 15.3. Inne techniki 15.3.1. Testowanie oparte na właściwościach 15.3.2. Behawioralna analiza kodu Rozdział 16. Wycieczka 16.1. Nawigacja 16.1.1. Ogólne spojrzenie 16.1.2. Organizacja pliku 16.1.3. Znajdowanie szczegółów 16.2. Architektura 16.2.1. Monolit 16.2.2. Cykle 16.3. Użycie 16.3.1. Uczenie się na podstawie testów 16.3.2. Słuchaj swoich testów
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 152763 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