Bąbol Krzysztof
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(15)
Forma i typ
Książki
(15)
Publikacje fachowe
(13)
Publikacje dydaktyczne
(4)
Poradniki i przewodniki
(1)
Dostępność
tylko na miejscu
(13)
dostępne
(3)
Placówka
Wypożyczalnia
(3)
Biblioteka WEAiI
(13)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Bąbol Krzysztof
(-)
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)
Górczyński Robert
(78)
Meryk Radosław
(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)
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
(7)
2010 - 2019
(5)
2000 - 2009
(3)
Okres powstania dzieła
2001-
(14)
Kraj wydania
Polska
(15)
Język
polski
(15)
Odbiorca
Programiści
(10)
Menedżerowie
(1)
Szkoły wyższe
(1)
Temat
Programowanie (informatyka)
(6)
Java (język programowania)
(3)
ASP.NET
(2)
C++ (język programowania)
(2)
PHP (język programowania)
(2)
Programy komputerowe
(2)
Ajax (informatyka)
(1)
Algorytmy
(1)
Architektura oprogramowania
(1)
Biznes
(1)
C (język programowania)
(1)
C# (język programowania)
(1)
Excel
(1)
JavaScript (język programowania)
(1)
Języki programowania
(1)
Microsoft Active Server Pages .NET Ajax (oprogramowanie)
(1)
Microsoft Visual Basic for Applications (język programowania)
(1)
MySQL (oprogramowanie)
(1)
Praca
(1)
Programiści
(1)
Projektowanie stron WWW
(1)
Przetwarzanie w chmurze
(1)
Strony WWW
(1)
Struktury danych
(1)
System wbudowany (informatyka)
(1)
Systemy informatyczne
(1)
Usługi elektroniczne
(1)
Zarządzanie
(1)
Gatunek
Podręcznik
(12)
Poradnik
(1)
Poradniki
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(14)
Zarządzanie i marketing
(1)
15 wyników Filtruj
Książka
W koszyku
Tytuł oryginału: Continuous delivery in Java : essential tools and best practices for deploying code to production.
Na stronie tytułowej również informacje o miejscach wydania i wydawcy oryginału - O'Reilly.
Na książce także ISBN oryginału: 9781491986028.
1. Ciągłe dostarczanie? Dlaczego? Czym jest? 21 Ogólny zarys 21 Dlaczego? Bo daje możliwości programistom 22 Szybka informacja zwrotna pozwala ograniczyć zmiany kontekstu 22 Automatyczne, powtarzalne i niezawodne wydania 22 Uściślenie definicji ukończenia 23 Czym jest? Badamy typowy potok budowy 24 Podstawowe etapy potoku budowy 24 Wpływ technologii kontenerów 28 Zmiany we współczesnych architekturach 29 2. Ewolucja programowania w języku Java 31 Wymagania współczesnych aplikacji Java 31 Potrzeba szybkości i stabilności biznesowej 32 Rozwój ekonomii interfejsów API 32 Szanse i koszty chmury 33 Przywrócenie modularności: wykorzystanie niewielkich usług 33 Wpływ na ciągłe dostarczanie 34 Ewolucja platform wdrożeniowych w języku Java 35 Archiwa WAR i EAR: era dominacji serwerów aplikacji 35 Wykonywalne pliki JAR z zależnościami: powstanie metodologii dwunastu aspektów 36 Obrazy kontenerów: ulepszenie przenośności (i zwiększenie złożoności) 37 Funkcja jako usługa: pojawienie się przetwarzania "bezserwerowego" 37 Wpływ platform na ciągłe dostarczanie 38 Metodyki DevOps, SRE oraz Release Engineering 39 Rozwój i utrzymanie 39 Site Reliability Engineering 40 Inżynieria wydawnicza oprogramowania 42 Współodpowiedzialność, metryki i wgląd 43 3. Projektowanie architektury pod kątem ciągłego dostarczania 45 Fundamenty dobrej architektury 45 Luźne sprzężenie 45 Wysoka spójność 47 Sprzężenie, spójność i ciągłe dostarczanie 47 Architektura nakierowana na elastyczność biznesową 49 Zła architektura ogranicza dynamikę biznesową 49 Złożoność i koszt zmian 50 Najlepsze rozwiązania dla aplikacji zorientowanych na API 50 Tworzenie interfejsów API metodą od zewnątrz do wewnątrz 51 Dobre interfejsy API pomagają w ciągłym testowaniu i dostarczaniu 51 Platformy wdrażania a architektura 52 Projektowanie aplikacji natywnych dla chmury według metodologii 12 aspektów 52 Doskonalenie wyczucia mechaniki 55 Projektowanie i ciągłe testowanie pod kątem awarii 56 Podążanie w kierunku niewielkich usług 57 Wyzwania w dostarczaniu aplikacji monolitycznych 57 Mikrousługi: architektura zorientowana na usługi spotyka się z projektowaniem dziedzinowym 58 Funkcje, architektura Lambda i nanousługi 59 Architektura: "wszystko to, co trudno zmienić" 60 4. Platformy wdrożeniowe, infrastruktura i ciągłe dostarczanie aplikacji Java 63 Funkcje zapewniane przez platformę 63 Niezbędne procesy programistyczne 64 Platformy oparte o tradycyjną infrastrukturę 65 Komponenty tradycyjnej platformy 65 Wyzwania platform opartych o tradycyjną infrastrukturę 66 Korzyści z bycia tradycyjnym 66 Ciągła integracja i dostarczanie na platformach opartych o tradycyjną infrastrukturę 67 Platforma chmury (IaaS) 67 Zaglądamy w chmurę 68 Wyzwania chmury 69 Korzyści z chmury 70 Ciągłe dostarczanie w chmurze 71 Platforma jako usługa 72 Zaglądamy w usługę PaaS 72 Wyzwania platformy PaaS 73 Korzyści z platformy PaaS 75 Ciągła integracja i dostarczanie a model PaaS 75 Kontenery (Docker) 75 Komponenty platformy kontenerów 76 Wyzwania technologii kontenerów 76 Korzyści z kontenerów 78 Ciągłe dostarczanie kontenerów 78 Kubernetes 78 Podstawowe koncepcje platformy Kubernetes 79 Wyzwania platformy Kubernetes 80 Korzyści z platformy Kubernetes 81 Ciągłe dostarczanie na platformie Kubernetes 81 Funkcja jako usługa (funkcje bezserwerowe) 81 Koncepcje platformy FaaS 82 Wyzwania platformy FaaS 83 Korzyści z platformy FaaS 84 Ciągła integracja i dostarczanie a model FaaS 84 Praca z infrastrukturą jako kodem 85 5. Budowanie aplikacji w języku Java 87 Podział procesu budowania 87 Automatyzacja budowania 88 Zależności budowania 89 Zależności zewnętrzne 92 Projekty wielomodułowe 93 Wiele repozytoriów (czy jedno)? 93 Wtyczki 94 Wydawanie i publikacja artefaktów 95 Przegląd narzędzi do budowania kodu Java 95 Ant 95 Maven 98 Gradle 102 Bazel, Pants i Buck 105 Inne narzędzia do budowania oparte o JVM: SBT i Leiningen 107 Make 107 Wybór narzędzia do budowania 108 6. Dodatkowe narzędzia i umiejętności wykorzystywane do budowania aplikacji 111 Polecenia Linuksa, powłoki Bash i podstawowego interfejsu wiersza poleceń 111 Użytkownicy, uprawnienia i grupy 112 Praca z systemem plików 115 Przeglądanie i edycja tekstu 117 Wszystko razem: przekierowania, potoki i filtry 118 Wyszukiwanie tekstu i manipulowanie nim: grep, awk i sed 119 Narzędzia diagnostyczne: top, ps, netstat i iostat 120 Wywołania HTTP i manipulacja danymi JSON 121 Narzędzie curl 121 Narzędzie HTTPie 124 Narzędzie jq 127 Podstawy pisania skryptów 128 Narzędzie xargs 128 Potoki i filtry 128 Pętle 129 Warunki 129 7. Pakowanie aplikacji do wdrożenia 131 Budowanie archiwum JAR krok po kroku 131 Budowanie wykonywalnego fat JAR (uber JAR) 135 Wtyczka Maven Shade 135 Budowanie plików uber JAR przy użyciu projektu Spring Boot 138 Skinny JAR - gdy zdecydujesz się nie budować plików uber JAR 139 Budowanie plików WAR 140 Pakowanie dla chmury 141 Gotowanie konfiguracji: wypiekanie lub smażenie maszyn 142 Budowanie pakietów RPM i DEB systemu operacyjnego 142 Dodatkowe narzędzia kompilowania pakietów systemu operacyjnego (z obsługą systemu Windows) 145 Tworzenie obrazów maszyn dla wielu chmur za pomocą programu Packer 147 Dodatkowe narzędzia do tworzenia obrazów maszyn 149 Budowanie kontenerów 150 Tworzenie obrazów kontenerów za pomocą narzędzia Docker 150 Fabrykowanie obrazów Docker za pomocą fabric8 151 Pakowanie aplikacji Java FaaS 153 8. Praca w lokalnym odpowiedniku środowiska produkcyjnego 157 Wyzwania związane z lokalnym tworzeniem oprogramowania 157 Imitacje, atrapy i wirtualizacja usług 158 Wzorzec 1.: profile, imitacje i atrapy 158 Imitowanie usług za pomocą biblioteki Mockito 159 Wzorzec 2.: wirtualizacja usług i symulacja interfejsu API 161 Wirtualizacja usług za pomocą narzędzia Hoverfly 162 Maszyny wirtualne oraz narzędzia Vagrant i Packer 165 Instalacja narzędzia Vagrant 166 Utworzenie pliku Vagrantfile 166 Wzorzec 3.: pudełkowe środowisko produkcyjne 168 Kontenery: Kubernetes, minikube i Telepresence 169 Przykładowa aplikacja Docker Java Shop 169 Tworzenie aplikacji Java i obrazów kontenerów 170 Wdrożenie kontenera na platformie Kubernetes 172 Prosty test usługi 174 Utworzenie pozostałych usług 174 Wdrożenie całej usługi Java na platformie Kubernetes 174 Kontrola wdrożonej aplikacji 175 Telepresence: praca zdalna i lokalna 176 Wzorzec 4.: dzierżawa środowiska 178 Funkcja jako usługa: AWS Lambda i SAM Local 179 Instalacja narzędzia SAM Local 179 Tworzenie funkcji AWS Lambda 179 Testowanie obsługi zdarzeń za pomocą funkcji AWS Lambda 182 Testowanie funkcji za pomocą narzędzia SAM Local 185 FaaS: usługa Azure Functions i edytor Visual Studio Code 186 Instalacja najważniejszych komponentów Azure Functions 186 Lokalne kompilowanie i testowanie funkcji 189 Testowanie lokalnych i zewnętrznych funkcji za pomocą edytora Visual Studio Code 191 9. Ciągła integracja: pierwsze kroki w tworzeniu procesu kompilacji kodu 193 Co to jest ciągła integracja oprogramowania? 193 Implementacja ciągłej integracji oprogramowania 194 Centralny i rozproszony system kontroli wersji 194 Przewodnik po systemie Git 196 Najważniejsze polecenia systemu Git 196 Hub: podstawowe narzędzie w systemach Git i GitHub 198 Efektywne korzystanie z systemu DVCS 200 Programowanie pniowe 200 Odgałęzienia funkcjonalne 201 Gitflow 201 Nie ma recepty na wszystko, czyli jak wybrać odpowiednią strategię odgałęziania 202 Przeglądanie kodu 204 Cele przeglądania kodu 205 Automatyzacja przeglądu kodu: analizatory PMD, Checkstyle i FindBugs 207 Przeglądanie wniosków o zmiany 210 Automatyzacja kompilacji 211 Jenkins 212 Zaangażowanie zespołu 213 Regularne konsolidowanie kodu 214 "Zatrzymać produkcję!", czyli obsługa nieudanych kompilacji 214 Nie ignoruj testów 214 Kompilacja musi być szybka 215 Ciągła integracja platformy (infrastruktura jako kod) 215 10. Proces wdrażania i wydawania oprogramowania 217 Wprowadzenie do aplikacji Extended Java Shop 217 Rozdzielenie wdrożenia i wydania aplikacji 220 Wdrażanie aplikacji 220 Utworzenie obrazu kontenera 221 Mechanizm wdrażania 224 Wszystko zaczyna się (i kończy) na kontroli stanu 233 Strategie wdrożeniowe 237 Praca z niezarządzanymi klastrami 246 Modyfikacje baz danych 249 Wydawanie funkcjonalności 252 Flagi funkcjonalności 253 Wersjonowanie semantyczne 255 Kompatybilność wsteczna i wersje interfejsu API 257 Wielofazowe aktualizacje 261 Zarządzanie konfiguracją i poufnymi danymi 262 "Zaprasowana" konfiguracja 263 Zewnętrzna konfiguracja 264 Przetwarzanie poufnych danych 265 11. Testy funkcjonalne: sprawdzenie poprawności i akceptacja oprogramowania 267 Po co testować oprogramowanie? 267 Co testować? Wprowadzenie do kwadrantów zwinnego testowania 267 Ciągłe testowanie oprogramowania 269 Utworzenie odpowiedniej pętli zwrotnej 270 Żółwie są wszędzie, aż po sam koniec 270 Transakcje syntetyczne 272 Testy kompleksowe 272 Testy akceptacyjne 274 Programowanie zorientowane na działanie 275 Imitowanie i wirtualizowanie zewnętrznych usług 278 Wszystko razem 278 Testy kontraktów klienckich 279 Kontrakty REST API 280 Kontrakty komunikatów 283 Testy komponentów 285 Wbudowane magazyny danych 285 Kolejki komunikatów umieszczane w pamięci 286 Dublerzy testowi 287 Tworzenie wewnętrznych zasobów lub interfejsów 288 Testy wewnątrz- i zewnątrzprocesowe 289 Testy integracyjne 291 Weryfikowanie zewnętrznych interakcji 291 Testy odporności na błędy 292 Testy jednostkowe 293 Towarzyskie testy jednostkowe 294 Samotne testy jednostkowe 295 Niestabilne testy 296 Dane 296 Tymczasowo niedostępne zasoby 296 Niedeterministyczne zdarzenia 297 Gdy nic nie można zrobić 297 Testy "do wewnątrz" i "na zewnątrz" 298 Testy "do wewnątrz" 298 Testy "na zewnątrz" 299 Zebranie wszystkiego w jeden proces 301 Jak dużo testów trzeba wykonać? 301 12. Testy jakościowe systemu: weryfikacja wymagań niefunkcjonalnych 305 Po co testować wymagania niefunkcjonalne? 305 Jakość kodu 306 Jakość architektury 306 ArchUnit: testy jednostkowe architektury 307 Wyliczanie wskaźników jakościowych projektu za pomocą biblioteki JDepend 308 Testy wydajnościowe i obciążeniowe 310 Testowanie wydajności przy użyciu Apache Benchmark 311 Testy obciążeniowe z użyciem narzędzia Gatling 312 Bezpieczeństwo, podatności i zagrożenia 317 Weryfikacja bezpieczeństwa na poziomie kodu 318 Weryfikacja zależności 322 Luki w bezpieczeństwie platform wdrożeniowych 325 Kolejny krok: modelowanie zagrożeń 329 Testowy chaos 332 Wywoływanie chaosu w środowisku produkcyjnym 333 Wywoływanie chaosu w środowisku przedprodukcyjnym 334 Jak dużo testów wymagań niefunkcjonalnych trzeba wykonać? 335 13. Obserwowalność aplikacji: monitorowanie, logowanie i śledzenie 337 Obserwowalność i ciągłe dostarczanie oprogramowania 337 Po co obserwować aplikację? 338 Obiekty obserwacji: aplikacja, sieć, serwer 338 Metody obserwacji: monitorowanie, logowanie i śledzenie 340 Alarmy 340 Projektowanie obserwowalnych systemów 341 Wskaźniki 342 Rodzaje wskaźników 343 Dropwizard Metrics 343 Spring Boot Actuator 344 Micrometer 345 Dobre praktyki tworzenia wskaźników 346 Logowanie 347 Formaty logów 347 SLF4J 348 Log4j 2 349 Dobre praktyki logowania 350 Śledzenie zapytań 351 Ślady, przęsła i bagaże 352 Śledzenie aplikacji Java: OpenZipkin, Spring Cloud Sleuth i OpenCensus 353 Dobre praktyki śledzenia systemów 353 Śledzenie wyjątków 354 Airbrake 355 Narzędzia do monitorowania systemu 356 collectd 356 rsyslog 356 Sensu 357 Zbieranie i zapisywanie danych 357 Prometheus 358 Elastic-Logstash-Kibana 358 Wizualizacja danych 359 Wizualizacja dla biznesu 359 Wizualizacja dla administratorów 360 Wizualizacja dla programistów 361 14. Migracja do ciągłego dostarczania 365 Czynniki ciągłego dostarczania 365 Wybór projektu migracji 366 Świadomość sytuacyjna 367 Framework Cynefin i ciągłe dostarczanie 368 Wszystkie modele są złe, ale niektóre są przydatne 369 Wstępne organizowanie ciągłego dostarczania 370 Pomiar ciągłego dostarczania 371 Zacznij od niewielkich rzeczy, eksperymentuj, ucz się, udostępniaj i powtarzaj 372 Szersze wdrożenie: kierowanie wprowadzaniem zmian 374 Dodatkowe porady i wskazówki 375 Złe praktyki i typowe antywzorce 375 Brzydka architektura: naprawiać czy nie naprawiać 376 15. Ciągłe dostarczanie i ciągłe doskonalenie 381 Zacznij od punktu, w którym jesteś 381 Opieraj się na solidnych podstawach technicznych 382 Ciągłe dostarczanie wartości (Twój najwyższy priorytet) 382 Zwiększenie współodpowiedzialności za oprogramowanie 383 Promuj szybką informację zwrotną i eksperymentowanie 384 Rozwijaj ciągłe dostarczanie w organizacji 385 Ciągłe doskonalenie 385
Sygnatura czytelni BWEAiI: XII N 133
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. 148495 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Mastering the faster Web with PHP, MySQL and JavaScript : develop state of the art applications using the latest Web technologies.
Na okładce logo wydawnictwa oryginału Packt.
Na książce także ISBN oryginału: 9781788392211.
Bibliografia, netografia przy niektórych rozdziałach. Indeks.
Rozdział 1. Wprowadzenie do koncepcji Szybszej Sieci 17 Istota Szybszej Sieci 18 Pojęcie Szybszej Sieci a wydajność 18 Pomiar Szybszej Sieci 19 Instalacja i konfiguracja użytecznych narzędzi 30 Rozdział 2. Ciągłe profilowanie i monitorowanie 43 Czym jest Blackfire.io? 43 Instalacja i konfiguracja narzędzia Blackfire.io 44 Ręczne profilowanie za pomocą Blackfire.io 50 Testy wydajnościowe przy użyciu Blackfire.io 56 Monitorowanie wydajności dzięki TICK Stack 58 Rozdział 3. Korzystanie z potencjału struktur danych i funkcji PHP 7 71 Usprawnienia języka PHP 7 72 Silne typowanie 72 Tablice niemodyfikowalne i upakowane 75 Przydział pamięci na liczby całkowite i zmiennoprzecinkowe 77 Interpolacja i łączenie ciągów znaków 78 Referencje w parametrach 79 Identyfikacja dalszych możliwych optymalizacji 81 Programowanie funkcyjne oraz spamiętywanie 87 Rozdział 4. Wybiegamy w przyszłość dzięki asynchronicznemu kodowi PHP 93 Asynchroniczna i nieblokująca obsługa wejścia/wyjścia 94 Wielowątkowość z użyciem biblioteki pthreads 102 Korzystanie z biblioteki ReactPHP 105 Rozdział 5. Pomiar i optymalizacja wydajności bazy danych 113 Wydajność zapytań SQL 113 Struktura indeksów 113 Plan wykonania zapytań 115 Podstawowa optymalizacja zapytań 117 Schemat wydajności i zaawansowana optymalizacja zapytań 120 Zaawansowane narzędzia do testowania 125 DBT2 125 SysBench 129 Rozdział 6. Efektywne zapytania do bazy danych w Nowoczesnym SQL-u 133 Nowoczesny SQL 133 Definicja 134 ozdział 7. Język JavaScript i programowanie sterowane zagrożeniami 151 Obiekt globalny i zmienne lokalne 152 Unikanie zmiennych globalnych 152 Obliczanie wartości zmiennych lokalnych 155 Unikanie szkodliwych wyrażeń i zwracanie uwagi na najsłabsze strony języka 155 Szkodliwe wyrażenia 155 Szkodliwe konstrukcje: instrukcja with 156 Szkodliwe konstrukcje: instrukcja eval 156 Szkodliwe konstrukcje: try-catch-finally 157 Unikanie nieefektywnych pętli 157 Lintery i tryb ścisły 159 Efektywne korzystanie z modelu DOM 160 Modyfikacja drzewa dokumentu 160 Zmienianie niewidocznego elementu 161 Dokonywanie zmian stylów 161 Wyszukiwanie węzłów 162 Badanie dużej liczby węzłów 163 Zarządzanie referencjami do innych dokumentów 163 Buforowanie wartości z modelu DOM 163 Strukturyzowanie i ładowanie aplikacji JavaScript 164 Ograniczanie czasochłonnych operacji 164 Oczyszczanie, minifikacja i kompresowanie zasobów 164 Ładowanie zasobów strony 165 Buforowanie zasobów strony 165 Rozdział 8. Funkcyjny JavaScript 167 Upraszczanie funkcji 167 Zasady programowania funkcyjnego 167 Funkcje jako typy pierwszoklasowe 169 Postępowanie z efektami ubocznymi 169 Niezmienność 170 Techniki programowania funkcyjnego 171 Funkcja map 171 Funkcja filter 171 Funkcja reduce 171 Optymalizacja ogonowa 172 Inne zapowiadane możliwości języka JavaScript 177 Funkcje asynchroniczne 177 Generatory asynchroniczne i pętle for-await-of 177 Operator potoku 178 Częściowe wywołanie 178 Rozdział 9. Zwiększanie wydajności serwera WWW 181 MOD_SPDY i HTTP/2 181 Multipleksowanie i priorytetyzacja strumieni 182 Wypychanie zasobów przez serwer 182 Kompresja nagłówków 183 HTTP/2 183 PHP-FPM i OPCache 185 PHP-FPM 185 Zend OPcache 186 ESI i Varnish Cache 187 Edge Side Includes (ESI) 187 Varnish Cache 190 Buforowanie po stronie klienta 194 Buforowanie w przeglądarce 195 Sieci dystrybucji treści (sieci CDN) 196 Inne narzędzia związane z ideą Szybszej Sieci 197 Rozdział 10. Przekraczamy granice wydajności 201 Czas zegarowy i postrzegany 201 Percepcja szybkości 203 Rozsądne opóźnienia i czasy odpowiedzi 204 Zasady i wzory projektowania interfejsu użytkownika 205 Narzędzia pozwalające przekraczać granice wydajności 207
Sygnatura czytelni BWEAiI: XII N 136
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. 148513 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Beginning Java data structures and algorithms.
Indeks.
Rozdział 1. Algorytmy i ich złożoność 13 Tworzymy nasz pierwszy algorytm 14 Algorytm konwersji liczb dwójkowych na dziesiętne 14 Mierzenie złożoności algorytmów za pomocą notacji dużego O 16 Przykład na złożoność 16 Zrozumienie złożoności 18 Notacja złożoności 22 Identyfikacja algorytmów o różnej złożoności 26 Złożoność liniowa 26 Złożoność kwadratowa 27 Złożoność logarytmiczna 28 Złożoność wykładnicza 30 Złożoność stała 31 Rozdział 2. Algorytmy sortowania i podstawowe struktury danych 35 Wprowadzenie do sortowania bąbelkowego 35 Zrozumienie sortowania bąbelkowego 36 Udoskonalanie sortowania bąbelkowego 37 Zrozumienie sortowania szybkiego 40 Zrozumienie rekurencji 40 Podział w wyszukiwaniu szybkim 41 Jak to wszystko poskładać razem 44 Korzystanie z sortowania przez scalanie 45 Dzielenie problemu 46 Scalanie problemu 47 Rozpoczęcie pracy z podstawowymi strukturami danych 50 Wprowadzenie do struktur danych 50 Struktura list powiązanych 51 Operacje na listach powiązanych 53 Kolejki 56 Stosy 57 Modelowanie stosów i kolejek przy użyciu tablic 59 Rozdział 3. Tablice z haszowaniem i binarne drzewa poszukiwań 65 Wprowadzenie do tablic z haszowaniem 65 Zrozumienie tablic z haszowaniem 66 Rozwiązywanie kolizji przez łańcuchowanie 68 Rozwiązywanie kolizji przez adresowanie otwarte 71 Haszowanie uniwersalne 76 Rozpoczęcie pracy z binarnymi drzewami poszukiwań 78 Struktura drzewa binarnego 78 Operacje na binarnych drzewach poszukiwań 80 Przechodzenie przez binarne drzewo poszukiwań 83 Zrównoważone binarne drzewa poszukiwań 85 Rozdział 4. Paradygmaty projektowania algorytmów 91 Wprowadzenie do algorytmów zachłannych 92 Problem wyboru zajęć 92 Rozwiązanie problemu wyboru zajęć 94 Składniki algorytmu zachłannego 94 Kodowanie Huffmana 96 Ćwiczenie: Implementacja algorytmu zachłannego do obliczania ułamków egipskich 100 Wprowadzenie do algorytmów typu "dziel i zwyciężaj" 101 Podejście "dziel i zwyciężaj" 101 Metoda rekurencji uniwersalnej 102 Problem najbliższej pary punktów 104 Ćwiczenie: Rozwiązywanie problemu podtablicy o największej sumie 106 Zrozumienie programowania dynamicznego 108 Elementy problematyki programowania dynamicznego 108 Dyskretny problem plecakowy 109 Najdłuższy wspólny podciąg 112 Ćwiczenie: Problem wydawania reszty 114 Rozdział 5. Algorytmy wyszukiwania wzorca w tekście 117 Algorytm wyszukiwania naiwnego 117 Implementacja wyszukiwania naiwnego 118 Usprawnienie algorytmu wyszukiwania naiwnego 119 Pierwsze kroki z algorytmem wyszukiwania wzorca Boyera-Moore'a 120 Zasada niezgodności 120 Zasada dobrego sufiksu 123 Zastosowanie algorytmu Boyera-Moore'a 126 Prezentacja innych algorytmów wyszukiwania wzorca w tekście 127 Algorytm Rabina-Karpa 128 Algorytm Knutha-Morrisa-Pratta 129 Algorytm Aho-Corasick 130 Rozdział 6. Grafy, liczby pierwsze i klasy złożoności 131 Reprezentacja grafów 132 Listy sąsiedztwa 133 Macierz sąsiedztwa 135 Przechodzenie przez graf 137 Przeszukiwanie wszerz 138 Przeszukiwanie w głąb 140 Wykrywanie cykli 143 Obliczanie najkrótszych ścieżek 145 Najkrótsza ścieżka z pojedynczego źródła: algorytm Dijkstry 145 Najkrótsze ścieżki dla wszystkich par wierzchołków: algorytm Floyda-Warshalla 150 Liczby pierwsze w algorytmach 153 Sito Eratostenesa 154 Rozkład na czynniki pierwsze 154 Inne koncepcje związane z grafami 155 Minimalne drzewa rozpinające 155 Algorytm A* 156 Problem maksymalnego przepływu 156 Zrozumienie klas złożoności problemów 157
Sygnatura czytelni BWEAiI: XII N 131
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. 148070 N (1 egz.)
Książka
W koszyku
Na okładce także nazwa wydawcy oryginału: Packt.
Dla początkujących programistów chcących pisać czysty kod w PHP.
Prezentacja czystego kodu Znaczenie czystego kodu dla zespołów Znaczenie czystego kodu we własnych projektach Zasady wzorców projektowych Zachowaj konsekwencję, a szybciej uzyskasz rezultaty O narzędziach do analizy kodu O testowaniu i jego wielu formach Programuj, nie rób akrobacji Czysty kod w PHP Uwagi na temat możliwości utrzymania kodu Używanie operatorów binarnych i zapisu ósemkowego, szesnastkowego i dwójkowego Nadawanie wartości zmiennym i stosowanie instrukcji goto Przesadne komentowanie Korzystanie z operatorów trójargumentowych Stosowanie skrótów Wprowadzanie w kodzie mikrooptymalizacji Programowanie na nowo metod z biblioteki SPL Tu chodzi o coś więcej niż sam kod PHP jako ekosystem Wybór właściwych bibliotek Parę słów o wersjonowaniu semantycznym Czym jest wersjonowanie semantyczne? Jak sobie radzić z wersjonowaniem semantycznym Stabilność kontra trendy Optymalizacja czasu pracy i rozdzielenie odpowiedzialności Konwencje nazewnicze i organizacyjne Pliki klas i interfejsów Pliki wykonywalne Elementy zawartości i zasoby sieci WWW Nazewnictwo klas, interfejsów i metod Nazewnictwo folderów Rozdzielenie odpowiedzialności Rozsyłanie zdarzeń Objaśnienie polimorfizmu — interfejsy i klasy abstrakcyjne Interfejsy Klasy abstrakcyjne PHP ewoluuje — deprecjacje i rewolucje Nowe wersje PHP w porównaniu ze starymi Ścisła kontrola typów Raportowanie błędów Atrybuty Przełom w wersji 8 Konstrukcja match Argumenty nazwane Klasy i właściwości tylko do odczytu Migrowanie zasobów do odpowiednich klas Ochrona wrażliwych argumentów przed wyciekiem Utrzymywanie jakości kodu Narzędzia jakości kodu Sprawdzanie składni i stylu kodu Linter wbudowany w PHP PHP CS Fixer: szperacz kodu Statyczna analiza kodu phpcpd — wykrywacz kopiowania i wklejania kodu PHPMD: wykrywacz bałaganu w PHP PHPStan — analizator statyczny dla języka PHP Psalm — maszyna lintująca do analizy statycznej dla PHP Rozszerzenie środowisk IDE PHP Inspections (EA Extended) Intelephense Wskaźniki jakości kodu Prezentacja wskaźników jakości kodu Aspekty jakości oprogramowania Wskaźniki jakości kodu Czysty kod w PHP Zbieranie wskaźników w PHP phploc PHP Depend PhpMetrics Zalety i wady korzystania ze wskaźników Organizacja narzędzi jakości PHP Instalowanie narzędzi jakości kodu przy użyciu menedżera Composer Instalowanie narzędzi jakości kodu z wykorzystaniem sekcji require-dev Instalacja globalna Skrypty menedżera Composer Instalowanie narzędzi jakości kodu jako plików phar Utrzymywanie plików phar w porządku Zarządzanie plikami phar przy użyciu programu Phive Dodawanie menedżera Phive do projektu Testowanie automatyczne Dlaczego potrzebujesz testów automatycznych? Łatwiejsza refaktoryzacja dzięki testom Typy testów automatycznych Testy jednostkowe Testy integracyjne Testy E2E Piramida testowa w praktyce Uwagi o pokryciu kodu Zapoznanie z pokryciem kodu Jak generować raporty o pokryciu kodu Korzystanie z adnotacji @covers Koszty błędu Prezentacja ciągłej integracji Potok budowy Integrowanie potoku z przepływem pracy Budowanie potoku w narzędziu GitHub Actions Integrowanie potoku z własnym przepływem pracy Twój lokalny potok — haki narzędzia Git Konfigurowanie haków narzędzia Git Haki narzędzia Git w praktyce Dygresja — wprowadzanie ciągłej integracji do istniejącego oprogramowania Spojrzenie na ciągłe dostarczanie Praca w zespole Standardy pisania kodu Podążanie za istniejącymi standardami Zasady pisania kodu Przeglądy kodu Czysty kod w PHP Definicja ukończenia Wnioski na temat przeglądów kodu Wzorce projektowe Zapoznanie ze wzorcami projektowymi Wzorce projektowe często spotykane w języku PHP Antywzorce Tworzenie efektywnej dokumentacji Dokumentacja dla programistów Tworzenie dokumentacji Dokumenty tekstowe Diagramy Generatory dokumentacji Dokumentacja w kodzie źródłowym Adnotacje nie są kodem Nieczytelny kod Nieaktualne komentarze Bezużyteczne komentarze Błędne lub nieprzydatne sekcje DocBlock Komentarze TODO Testy jako dokumentacja
Sygnatura czytelni BWEAiI: XII Ć 122
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. 154659 N (1 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 120862 N (1 egz.)
Książka
W koszyku
(Programmer to Programmer - Wrox)
Tyt. oryg. : Excel 2007 VBA Programmer's Reference.
U dołu okł. : Praktyczny opis języka, współpraca z innymi apliakcjami pakietu Office, pełny opis metod, właściwości i zadrzeń obiektów Excela.
Sygnatura czytelni BWEAiI: XII W 35
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. 122433 N (1 egz.)
Książka
W koszyku
Wydanie 3. odnosi się do oryginału. Na stronie tytułowej i okładce: Zauktualizowane do wersji Java 17.
Dla profesjonalnych programistów Javy.
Podstawowe struktury programistyczne Kompilacja i uruchamianie programu w języku Java Wywołania metod JShell Typy proste Typy całkowite ze znakiem Typy zmiennoprzecinkowe Typ char Typ boolean Deklaracje zmiennych Identyfikatory Inicjalizacja Działania arytmetyczne Przypisanie Podstawowa arytmetyka Metody matematyczne Konwersja typów liczbowych Operatory relacji i operatory logiczne Duże liczby Ciągi znaków Łączenie ciągów znaków Wycinanie ciągów znaków Porównywanie ciągów znaków Konwersja liczb na znaki i znaków na liczby API klasy String Kodowanie znaków w języku Java Bloki tekstu Wejście i wyjście Wczytywanie danych wejściowych Formatowanie generowanych danych Kontrola przepływu Instrukcje warunkowe Słowo kluczowe switch Pętle Przerywanie i kontynuacja Zasięg zmiennych lokalnych Tablice i listy tablic Klasa ArrayList Klasy opakowujące typy proste Rozszerzona pętla for Kopiowanie tablic i obiektów ArrayList Algorytmy tablic Parametry wiersza poleceń Tablice wielowymiarowe Dekompozycja funkcjonalna Deklarowanie i wywoływanie metod statycznych Parametry tablicowe i zwracane wartości Zmienna liczba parametrów Programowanie obiektowe Praca z obiektami Metody dostępowe i modyfikujące Referencje do obiektu Implementowanie klas Zmienne instancyjne Nagłówki metod Wywołania metod instancyjnych. Referencja this Wywołanie przez wartość Tworzenie obiektów Implementacja konstruktorów Przeciążanie Wywoływanie jednego konstruktora z innego Domyślna inicjalizacja Inicjalizacja zmiennych instancyjnych Zmienne instancyjne z modyfikatorem final Konstruktor bez parametrów Rekordy Koncepcja rekordu Konstruktory: kanoniczny, niestandardowy i kompaktowy Zmienne statyczne Stałe statyczne Statyczne bloki inicjalizacyjne Metody statyczne Metody wytwórcze Pakiety Deklarowanie pakietów Polecenie jar Ścieżka przeszukiwań dla klas Dostęp do pakietu Importowanie klas Import metod statycznych Klasy zagnieżdżone Statyczne klasy zagnieżdżone Klasy wewnętrzne Specjalne reguły składni dla klas wewnętrznych Komentarze do dokumentacji Wstawianie komentarzy Komentarze klasy Komentarze metod Komentarze zmiennych Ogólne komentarze Odnośniki Opisy pakietów, modułów i ogólne Wycinanie komentarzy. Interfejsy i wyrażenia lambda Implementowanie interfejsu Konwersja do typu interfejsu Rzutowanie i operator instanceof Forma operatora instanceof z "dopasowywaniem wzorca" Rozszerzanie interfejsów Implementacja wielu interfejsów Stałe Metody statyczne, domyślne i prywatne Rozstrzyganie konfliktów metod domyślnych Metody prywatne Interfejs Comparable Interfejs Comparator Interfejs Runnable Wywołania zwrotne interfejsu użytkownika Wyrażenia lambda Składnia wyrażeń lambda Interfejsy funkcyjne Referencje do metod i konstruktora Referencje do metod Referencje konstruktora Przetwarzanie wyrażeń lambda Implementacja odroczonego wykonania Wybór interfejsu funkcyjnego Implementowanie własnych interfejsów funkcyjnych Wyrażenia lambda i zasięg zmiennych Zasięg zmiennej lambda Dostęp do zmiennych zewnętrznych Funkcje wyższych rzędów Metody zwracające funkcje Metody modyfikujące funkcje Metody interfejsu Comparator Klasy lokalne i anonimowe
Dziedziczenie i mechanizm refleksji Rozszerzanie klas Klasy nadrzędne i podrzędne Definiowanie i dziedziczenie metod klas podrzędnych Przesłanianie metod Tworzenie klasy podrzędnej Przypisania klas nadrzędnych Rzutowanie Anonimowe klasy podrzędne Wywołania metod z super Hierarchie dziedziczenia Metody i klasy z modyfikatorem final Abstrakcyjne metody i klasy Ograniczony dostęp Typy zapieczętowane Dziedziczenie i metody domyślne Object - najwyższa klasa nadrzędna Metoda toString Metoda equals Metoda hashCode Klonowanie obiektów Wyliczenia Konstruktory, metody i pola Zawartość elementów Elementy statyczne Wyrażenia switch ze stałymi wyliczeniowymi Informacje o typie i zasobach w czasie działania programu Klasa Class Wczytywanie zasobów Programy wczytujące klasy Kontekstowy program wczytujący klasy Programy do ładowania usług Refleksje Wyliczanie elementów klasy Kontrolowanie obiektów Wywoływanie metod Tworzenie obiektów JavaBeans Praca z tablicami Klasa Proxy Wyjątki, asercje i logi Obsługa wyjątków Deklarowanie wyjątków kontrolowanych Przechwytywanie wyjątków Wyrażenie try z określeniem zasobów Klauzula finally Ponowne wyrzucanie wyjątków i łączenie ich w łańcuchy Nieprzechwycone wyjątki i ślad stosu wywołań Metody API pozwalające wyrzucać wyjątki Asercje Rejestrowanie danych Czy w Javie warto korzystać z frameworka rejestrowania danych? ABC rejestrowania danych Interfejs Platform Logging API Konfiguracja mechanizmów rejestrowania danych Programy obsługujące rejestrowanie danych Filtry i formaty Programowanie uogólnione Klasy uogólnione Metody uogólnione Ograniczenia typów Zmienność typów i symbole wieloznaczne Symbole wieloznaczne w typach podrzędnych Symbole wieloznaczne typów nadrzędnych Symbole wieloznaczne ze zmiennymi typami Nieograniczone symbole wieloznaczne Przechwytywanie symboli wieloznacznych Uogólnienia w maszynie wirtualnej Javy Wymazywanie typów Wprowadzanie rzutowania Metody pomostowe Ograniczenia uogólnień Brak typów prostych W czasie działania kodu wszystkie typy są surowe Nie możesz tworzyć instancji zmiennych opisujących typy Nie możesz tworzyć tablic z parametryzowanym typem Zmienne opisujące typ klasy nie są poprawne w kontekście statycznym Metody nie mogą wywoływać konfliktów po wymazywaniu typów Klasa Class Informacje o uogólnionych typach w maszynie wirtualnej Kolekcje Iteratory Zestawy Mapy Zestawy bitów Zestawy wyliczeniowe i mapy Stosy, kolejki zwykłe i dwukierunkowe oraz kolejki z priorytetami. Klasa WeakHashMap Widoki Zakresy Niemodyfikowalne widoki Strumienie Od iteratorów do operacji strumieniowych Metody filter, map i flatMap
Wycinanie podstrumieni i łączenie strumieni Typ Optional Tworzenie alternatywnej wartości Wykorzystywanie wartości tylko wtedy, gdy jest obecna. Przetwarzanie potokowe wartości typu Optional Tworzenie wartości Optional Łączenie flatMap z funkcjami wartości Optional Zamiana Optional w Stream Kolekcje wyników Tworzenie map Grupowanie i partycjonowanie Kolektory strumieniowe Operacje redukcji Strumienie typów prostych Strumienie równoległe Przetwarzanie danych wejściowych i wyjściowych Strumienie wejściowe i wyjściowe, mechanizmy wczytujące i zapisujące Pozyskiwanie strumieni Wczytywanie bajtów Zapisywanie bajtów Kodowanie znaków Wczytywanie danych tekstowych Generowanie danych tekstowych Wczytywanie i zapisywanie danych binarnych Pliki o swobodnym dostępie Pliki mapowane w pamięci Blokowanie plików Ścieżki, pliki i katalogi Tworzenie plików i katalogów Kopiowanie, przenoszenie i usuwanie plików Odwiedzanie katalogów System plików ZIP Połączenia HTTP Klasy URLConnection i HttpURLConnection API klienta HTTP Wyrażenia regularne Składnia wyrażeń regularnych Testowanie dopasowania Odnajdywanie wszystkich dopasowań Grupy Dzielenie za pomocą znaczników Zastępowanie dopasowań Flagi Serializacja Interfejs Serializable Chwilowe zmienne instancyjne Metody readObject i writeObject Metody readExternal i writeExternal Metody readResolve i writeReplace Wersjonowanie Deserializacja i bezpieczeństwo Programowanie współbieżne Zadania współbieżne Uruchamianie zadań Obiekty Future Obliczenia asynchroniczne Klasa CompletableFuture Długie zadania obsługujące interfejs użytkownika Bezpieczeństwo wątków Widoczność Wyścigi Strategie bezpiecznego korzystania ze współbieżności Klasy niemodyfikowalne Algorytmy równoległe Strumienie równoległe Równoległe operacje na tablicach Struktury danych bezpieczne dla wątków Klasa ConcurrentHashMap Kolejki blokujące Inne struktury danych bezpieczne dla wątków Atomowe liczniki i akumulatory Blokady i warunki Słowo kluczowe synchronized Oczekiwanie warunkowe Wątki Procesy Adnotacje Adnotacje standardowe Adnotacje do kompilacji Metaadnotacje Przetwarzanie adnotacji w kodzie Przetwarzanie adnotacji w kodzie źródłowym API modelu języka Wykorzystanie adnotacji do generowania kodu źródłowego API daty i czasu Formatowanie i przetwarzanie Współpraca z przestarzałym kodem Internacjonalizacja Lokalizacje Nazwy wyświetlane Formaty liczb Waluty Formatowanie czasu i daty Porównywanie i normalizacja Formatowanie komunikatów Pakiety z zasobami Organizacja pakietów z zasobami Klasy z pakietami Kodowanie znaków Kompilacja i skryptowanie API kompilatora Wywołanie kompilatora Uruchamianie zadania kompilacji Przechwytywanie komunikatów diagnostycznych Wczytywanie plików źródłowych z pamięci Zapisywanie skompilowanego kodu w pamięci API skryptów Tworzenie silnika skryptowego Uruchamianie skryptów za pomocą metody eval Powiązania Przekierowanie wejścia i wyjścia Wywoływanie funkcji i metod skryptowych Kompilowanie skryptu. System modułów na platformie Java Koncepcja modułu Nazywanie modułów Dołączanie modułów Eksportowanie pakietów Moduły i dostęp przez refleksje Modularne pliki JAR Moduły automatyczne Moduł nienazwany Flagi wiersza poleceń dla migracji Wymagania przechodnie i statyczne Wybiórcze eksportowanie i otwieranie Wczytywanie usługi Narzędzia do pracy z modułami
Sygnatura czytelni BWEAiI: XII N 168
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. 154675 N (1 egz.)
Książka
W koszyku
Wprowadzenie do C++ : efektywne nauczanie / Cay Horstmann ; przekład: Krzysztof Bąbol. - Gliwice : Helion, copyright 2021 - 678, [2] strony : fotografie, ilustracje ; 25 cm.
Wydanie III odnosi się do oryginału.
Tytuł oryginału: Big C++ : late objects.
1.1. Czym jest programowanie? (35) 1.2. Anatomia komputera (36) IAS: Komputery są wszędzie (38) 1.3. Kod maszynowy i języki programowania (39) IAS: Organizacje normalizacyjne (40) 1.4. Zapoznanie się ze środowiskiem programowania (41) WDP: Kopie zapasowe (44) 1.5. Analiza pierwszego programu (45) CPB: Pomijanie średników (47) TS: Sekwencje ucieczki (48) 1.6. Błędy (49) CPB: Błędna pisownia wyrazów (50) 1.7. Rozwiązywanie problemów: projektowanie algorytmów (50) 1.7.1. Koncepcja algorytmu (51) 1.7.2. Algorytm rozwiązywania problemu stopy zwrotu (51) 1.7.3. Pseudokod (52) 1.7.4. Od algorytmów do programów (53) JTZ: Opisywanie algorytmu za pomocą pseudokodu (54) P: Napisanie algorytmu układania płytek podłogowych (55) 2. PODSTAWOWE TYPY DANYCH (59) 2.1. Zmienne (59) 2.1.1. Definicje zmiennych (60) 2.1.2. Typy liczbowe (61) 2.1.3. Nazwy zmiennych (62) 2.1.4. Instrukcja przypisania (63) 2.1.5. Stałe (65) 2.1.6. Komentarze (65) CPB: Używanie niezdefiniowanych zmiennych (66) CPB: Używanie niezainicjowanych zmiennych (66) WDP: Wybieraj opisowe nazwy zmiennych (67) WDP: Nie używaj sekretnych numerów (67) TS: Typy liczbowe w C++ (68) TS: Zakresy i precyzja liczb (69) TS: Definiowanie zmiennych ze słowem auto (69) 2.2. Arytmetyka (69) 2.2.1. Operatory arytmetyczne (69) 2.2.2. Inkrementacja i dekrementacja (70) 2.2.3. Dzielenie całkowite i reszta z dzielenia (70) 2.2.4. Konwertowanie liczb zmiennoprzecinkowych na całkowite (71) 2.2.5. Potęgi i pierwiastki (72) CPB: Niezamierzone dzielenie całkowite (74) CPB: Niezamknięte nawiasy (74) CPB: Zapominanie o plikach nagłówkowych (75) CPB: Błędy zaokrąglenia (76) WDP: Spacje w wyrażeniach (76) TS: Rzutowania (77) TS: Połączenie przypisania i działań arytmetycznych (77) IAS: Błąd jednostki zmiennoprzecinkowej procesora Pentium (77) 2.3. Wejście i wyjście (79) 2.3.1. Wejście (79) 2.3.2. Formatowanie wyjścia (80) 2.4. Rozwiązywanie problemów: najpierw zrób to ręcznie (82) P: Obliczanie czasu podróży (83) JTZ: Przeprowadzanie obliczeń (83) P: Obliczenie kosztu znaczków pocztowych (86) 2.5. Ciągi (86) 2.5.1. Typ string (86) 2.5.2. Łączenie ciągów (87) 2.5.3. Wprowadzanie ciągów (87) 2.5.4. Funkcje ciągów (88) IAS: Alfabety międzynarodowe i zestaw Unicode (91) 3. DECYZJE (93) 3.1. Instrukcja if (93) CPB: Średnik po warunku if (96) WDP: Układ nawiasów klamrowych (96) WDP: Zawsze używaj nawiasów klamrowych (97) WDP: Wcięcia (97) WDP: Unikaj duplikowania kodu w gałęziach (98) TS: Operator warunkowy (99) 3.2. Porównywanie liczb oraz znaków (99) CPB: Mylenie operatora = z == (101) CPB: Dokładne porównywanie liczb zmiennoprzecinkowych (102) WDP: Doprowadź do kompilacji z brakiem ostrzeżeń (103) TS: Alfabetyczna kolejność ciągów (103) JTZ: Implementacja instrukcji if (104) P: Wyodrębnianie ze środka (106) IAS: Dysfunkcjonalne systemy komputerowe (106) 3.3. Wiele wariantów (107) TS: Instrukcja switch (110) 3.4. Zagnieżdżone gałęzie (111) CPB: Problem z zawieszonym słowem else (113) WDP: Ręczne śledzenie kodu (114) 3.5. Rozwiązywanie problemów: schematy blokowe (116) 3.6. Rozwiązywanie problemów: przypadki testowe (119) WDP: Opracuj harmonogram i zarezerwuj czas na nieoczekiwane problemy (120) 3.7. Zmienne i operatory logiczne (121) CPB: Łączenie wielu operatorów relacyjnych (124) CPB: Mylenie warunków && i || (125) TS: Skrócone obliczanie wartości operatorów logicznych (126) TS: Prawa de Morgana (126) 3.8. Zastosowanie: weryfikacja danych wejściowych (127) IAS: Sztuczna inteligencja (129) 4. PĘTLE (133) 4.1. Pętla while (133) CPB: Nieskończone pętle (138) CPB: Nie myśl w kategoriach "Czy doszliśmy już do celu?" (138) CPB: Pomyłki o jeden (139) IAS: Pierwszy "bug" (140) 4.2. Rozwiązywanie problemów: ręczne śledzenie kodu (140) 4.3. Pętla for (143) WDP: Używaj pętli tylko do tego, do czego została przeznaczona (147) WDP: Wybierz zakres pętli odpowiedni do zadania (147) WDP: Licz iteracje (148) 4.4. Pętla do (148) WDP: Schematy blokowe pętli (149) 4.5. Przetwarzanie danych wejściowych (150) 4.5.1. Wartości wartownika (150) 4.5.2. Odczytywanie danych wejściowych do chwili niepowodzenia (151) TS: Czyszczenie stanu błędu (153) TS: "Pętla i pół" oraz instrukcja break (154) TS: Przekierowywanie wejścia i wyjścia (154) 4.6. Rozwiązywanie problemów: scenopis (155) 4.7. Typowe algorytmy pętli (158) 4.7.1. Suma i średnia (158) 4.7.2. Zliczanie pasujących elementów (158) 4.7.3. Znajdowanie pierwszego pasującego elementu (159) 4.7.4. Monitowanie aż do skutku (159) 4.7.5. Maksimum i minimum (160) 4.7.6. Porównywanie sąsiednich wartości (160) JTZ: Tworzenie pętli (161) P: Przetwarzanie numerów kart kredytowych (165) 4.8. Zagnieżdżone pętle (165) P: Manipulowanie pikselami obrazu (168) 4.9. Rozwiązywanie problemów: najpierw rozwiąż prostszy problem (169) 4.10. Liczby losowe i symulacje (173) 4.10.1. Generowanie liczb losowych (174) 4.10.2. Symulowanie rzutów kostką (175) 4.10.3. Metoda Monte Carlo (176) IAS: Piractwo cyfrowe (177) 5. FUNKCJE (181) 5.1. Funkcje jako czarne skrzynki (181) 5.2. Implementowanie funkcji (183) WDP: Komentarze funkcji (185) 5.3. Przekazywanie parametrów (185) WDP: Nie modyfikuj zmiennych parametrycznych (187) 5.4. Wartości zwracane (187) CPB: Brak wartości zwracanej (188) TS: Deklaracje funkcji (189) JTZ: Implementowanie funkcji (190) P: Generowanie losowych haseł (191) P: Używanie debugera (191) 5.5. Funkcje bez wartości zwracanych (192) 5.6. Rozwiązywanie problemów: funkcje do ponownego wykorzystania (193) 5.7. Rozwiązywanie problemów: uściślanie stopniowe (195) WDP: Pilnuj, by funkcje były krótkie (200) WDP: Śledzenie funkcji (200) WDP: Atrapy (202) P: Obliczanie oceny z przedmiotu (202) 5.8. Zakres zmiennej i zmienne globalne (202) WDP: Unikaj zmiennych globalnych (204) 5.9. Parametry referencyjne (204) WDP: Preferuj wartości zwracane zamiast parametrów referencyjnych (208) TS: Stałe referencje (209) 5.10. Funkcje rekurencyjne (opcjonalnie) (209) JTZ: Wnioskowanie rekurencyjne (212) IAS: Nagłe rozpowszechnienie się komputerów osobistych (214) 6. TABLICE I WEKTORY (217) 6.1. Tablice (217) 6.1.1. Definiowanie tablic (217) 6.1.2. Dostęp do elementów tablicy (219) 6.1.3. Częściowo wypełnione tablice (221) CPB: Przekroczenie zakresu (222) WDP: Używaj tablic do przechowywania serii związanych ze sobą wartości (222) IAS: Wirusy komputerowe (222) 6.2. Typowe algorytmy tablicowe (224) 6.2.1. Wypełnianie wartościami (224) 6.2.2. Kopiowanie (224) 6.2.3. Suma i średnia (225) 6.2.4. Maksimum i minimum (225) 6.2.5. Separatory elementów (225) 6.2.6. Zliczanie pasujących elementów (226) 6.2.7. Wyszukiwanie liniowe (226) 6.2.8. Usuwanie elementu (227) 6.2.9. Wstawianie elementu (227) 6.2.10. Przestawianie elementów (229) 6.2.11. Odczyt danych wejściowych (230) TS: Sortowanie za pomocą biblioteki C++ (231) TS: Algorytm sortowania (231) TS: Wyszukiwanie binarne (233) 6.3. Tablice a funkcje (234) TS: Stałe parametry tablicowe (237) 6.4. Rozwiązywanie problemów: dostosowywanie algorytmów (238) JTZ: Praca z tablicami (240) P: Rzut kostką (243) 6.5. Rozwiązywanie problemów: odkrywanie algorytmów przez manipulację obiektami fizycznymi (244) 6.6. Tablice dwuwymiarowe (246) 6.6.1. Definiowanie tablic dwuwymiarowych (247) 6.6.2. Dostęp do elementów (248) 6.6.3. Lokalizowanie sąsiadujących elementów (248) 6.6.4. Obliczanie sum wierszy i kolumn (249) 6.6.5. Dwuwymiarowe parametry tablicowe (250) CPB: Pomijanie rozmiaru kolumny w dwuwymiarowym parametrze tablicowym (253) P: Tabela danych o ludności świata (253) 6.7. Wektory (253) 6.7.1. Definiowanie wektorów (254) 6.7.2. Powiększanie i zmniejszanie wektorów (255) 6.7.3. Wektory a funkcje (256) 6.7.4. Algorytmy związane z wektorami (257) 6.7.5. Wektory dwuwymiarowe (259) WDP: Stosuj wektory zamiast tablic (260) TS: Pętla for oparta na zakresie (260) 7. WSKAŹNIKI I STRUKTURY (263) 7.1. Definiowanie i używanie wskaźników (264) 7.1.1. Definiowanie wskaźników (264) 7.1.2. Dostęp do zmiennych poprzez wskaźniki (265) 7.1.3. Inicjowanie wskaźników (266) CPB: Mylenie wskaźników z danymi, na które wskazują (268) WDP: Używaj oddzielnej definicji dla każdej zmiennej wskaźnikowej (269) TS: Wskaźniki i referencje (269) 7.2. Tablice i wskaźniki (270) 7.2.1. Tablice jako wskaźniki (270) 7.2.2. Arytmetyka wskaźnikowa (271) 7.2.3. Tablicowe zmienne parametryczne są wskaźnikami (272) TS: Przechodzenie po tablicy przy użyciu wskaźnika (273) CPB: Zwracanie wskaźnika wskazującego na zmienną lokalną (274) WDP: Programuj przejrzyście, a nie sprytnie (275) TS: Stałe wskaźniki (275) 7.3. Ciągi w językach C i C++ (276) 7.3.1. Typ char (276) 7.3.2. Ciągi w stylu C (276) 7.3.3. Tablice znaków (277) 7.3.4. Konwertowanie pomiędzy ciągami w stylu C i C++ (278) 7.3.5. Ciągi w stylu C++ i operator [] (278) TS: Praca z ciągami w stylu C (279) 7.4. Dynamiczna alokacja pamięci (281) CPB: Wiszące wskaźniki (283) CPB: Wycieki pamięci (284) 7.5. Tablice i wektory wskaźników (285) 7.6. Rozwiązywanie problemów: rysowanie schematu (288) JTZ: Praca ze wskaźnikami (289) P: Tworzenie korespondencji masowej (291) IAS: Systemy wbudowane (291) 7.7. Struktury (292) 7.7.1. Typy strukturalne (292) 7.7.2. Przypisania struktur i ich porównywanie (293) 7.7.3. Funkcje a struktury (294) 7.7.4. Tablice struktur (294) 7.7.5. Struktury ze składowymi tablicowymi (295) 7.7.6. Struktury zagnieżdżone (295) 7.8. Wskaźniki a struktury (296) 7.8.1. Wskaźniki do struktur (296) 7.8.2. Struktury ze składowymi wskaźnikowymi (297) TS: Wskaźniki inteligentne (298) 8. STRUMIENIE (301) 8.1. Odczytywanie i zapisywanie plików tekstowych (301) 8.1.1. Otwieranie strumienia (302) 8.1.2. Odczyt z pliku (303) 8.1.3. Zapis do pliku (304) 8.1.4. Przykład przetwarzania pliku (304) 8.2. Odczyt tekstowych danych wejściowych (307) 8.2.1. Odczyt wyrazów (307) 8.2.2. Odczyt znaków (307) 8.2.3. Odczyt wierszy (309) CPB: Łączenie operacji wejścia przy użyciu operatora >> i funkcji getline (310) TS: Sprawdzanie błędu strumienia (311) 8.3. Zapisywanie tekstowych danych wyjściowych (312) TS: Standard Unicode, kodowanie UTF-8 i ciągi C++ (314) 8.4. Analizowanie i formatowanie ciągów (315) 8.5. Argumenty wiersza poleceń (317) IAS: Algorytmy szyfrowania (320) JTZ: Przetwarzanie plików tekstowych (321) P: Wyszukiwanie duplikatów (324) 8.6. Dostęp swobodny i pliki binarne (324) 8.6.1. Dostęp swobodny (324) 8.6.2. Pliki binarne (325) 8.6.3. Przetwarzanie plików z obrazami (326) IAS: Bazy danych a prywatność (329) 9. KLASY (333) 9.1. Programowanie obiektowe (334) 9.2. Implementowanie prostej klasy (335) 9.3. Określanie interfejsu publicznego klasy (338) CPB: Zapominanie o średniku (340) 9.4. Projektowanie reprezentacji danych (341) 9.5. Funkcje składowe (342) 9.5.1. Implementowanie funkcji składowych (342) 9.5.2. Parametry jawne i niejawne (343) 9.5.3. Wywoływanie funkcji składowej wewnątrz innej funkcji składowej (344) WDP: Wszystkie dane składowe powinny być prywatne, a większość funkcji - publiczna (347) WDP: Poprawne użycie słowa zastrzeżonego const (347) 9.6. Konstruktory (348) CPB: Próba wywołania konstruktora (350) TS: Przeciążanie (351) TS: Listy inicjatorów (351) TS: Uniwersalna i jednolita składnia inicjacji (352) 9.7. Rozwiązywanie problemów: śledzenie obiektów (353) JTZ: Implementowanie klasy (355) P: Implementowanie klasy reprezentującej konto bankowe (358) IAS: Elektroniczne maszyny do głosowania (358) 9.8. Rozwiązywanie problemów: znajdowanie klas (360) WDP: Przekształcaj wektory równoległe w wektory obiektów (361) 9.9. Osobna kompilacja (363) 9.10. Wskaźniki do obiektów (367) 9.10.1. Obiekty alokowane dynamicznie (367) 9.10.2. Operator -> (368) 9.10.3. Wskaźnik this (369) 9.11. Rozwiązywanie problemów: wzorce danych obiektu (369) 9.11.1. Przechowywanie sumy całkowitej (370) 9.11.2. Liczenie zdarzeń (371) 9.11.3. Gromadzenie danych (371) 9.11.4. Zarządzanie właściwościami obiektu (372) 9.11.5. Modelowanie obiektów o różnych stanach (373) 9.11.6. Opisywanie pozycji obiektu (374) IAS: Oprogramowanie o otwartych źródłach i wolne oprogramowanie (375) 10. DZIEDZICZENIE (379) 10.1. Hierarchie dziedziczenia (379) 10.2. Implementowanie klas pochodnych (383) CPB: Dziedziczenie prywatne (386) CPB: Replikowanie składowych klasy bazowej (386) WDP: Przy odmiennych wartościach należy używać jednej klasy, przy odmiennym działaniu - dziedziczenia (387) TS: Wywoływanie konstruktora klasy bazowej (387) 10.3. Przesłanianie funkcji składowych (388) CPB: Zapominanie o podaniu nazwy klasy bazowej (391) 10.4. Funkcje wirtualne i polimorfizm (391) 10.4.1. Problem odcinania (392) 10.4.2. Wskaźniki do klasy bazowej i pochodnej (393) 10.4.3. Funkcje wirtualne (394) 10.4.4. Polimorfizm (395) WD: Nie używaj znaczników typów (398) CPB: Odcinanie obiektu (398) CPB: Nieudane przesłanianie funkcji wirtualnej (399) TS: Wirtualne samowywołania (400) JTZ: Opracowywanie hierarchii dziedziczenia (400) P: Implementowanie hierarchii pracowników a potrzeby przetwarzania odcinków wypłat (406) IAS: Kto sprawuje kontrolę nad internetem? (406) 11. REKURENCJA (409) 11.1. Liczby trójkątne (409) CPB: Śledzenie wykonania funkcji rekurencyjnych (413) CPB: Nieskończona rekurencja (414) JTZ: Wnioskowanie rekurencyjne (415) P: Znajdowanie plików (418) 11.2. Rekurencyjne funkcje pomocnicze (418) 11.3. Wydajność rekurencji (419) 11.4. Permutacje (423) 11.5. Rekurencja wzajemna (426) 11.6. Poszukiwanie z nawrotami (430) P: Wieże Hanoi (436) IAS: Ograniczenia obliczeń komputerowych (436) 12. SORTOWANIE I WYSZUKIWANIE (441) 12.1. Sortowanie przez wybieranie (441) 12.2. Profilowanie algorytmu sortowania przez wybieranie (444) 12.3. Analiza wydajności algorytmu sortowania przez wybieranie (445) TS: O, omega i theta (447) TS: Sortowanie przez wstawianie (449) 12.4. Sortowanie przez scalanie (450) 12.5. Analiza algorytmu sortowania przez scalanie (453) TS: Algorytm sortowania szybkiego (456) 12.6. Wyszukiwanie (457) 12.6.1. Wyszukiwanie liniowe (457) 12.6.2. Wyszukiwanie binarne (459) WDP: Funkcje biblioteczne do sortowania i wyszukiwania binarnego (462) TS: Definiowanie kolejności sortowania obiektów (462) 12.7. Rozwiązywanie problemów: szacowanie czasu wykonania algorytmu (463) 12.7.1. Czas liniowy (463) 12.7.2. Czas kwadratowy (464) 12.7.3. Wzór trójkąta (465) 12.7.4. Czas logarytmiczny (467) P: Ulepszanie algorytmu sortowania przez wstawianie (468) IAS: Pierwsza programistka (468) 13. ZAAWANSOWANE CECHY JĘZYKA C++ (471) 13.1. Przeciążanie operatorów (471) 13.1.1. Funkcje operatorów (472) 13.1.2. Przeciążanie operatorów porównania (474) 13.1.3. Wejście i wyjście (475) 13.1.4. Operatory składowe (476) TS: Przeciążanie operatorów inkrementacji i dekrementacji (476) TS: Niejawne konwersje typów (478) TS: Zwracanie referencji (479) P: Klasa Fraction (480) 13.2. Automatyczne zarządzanie pamięcią (480) 13.2.1. Konstruktory przydzielające pamięć (480) 13.2.2. Destruktory (482) 13.2.3. Przeciążanie operatora przypisania (483) 13.2.4. Konstruktory kopiujące (488) WDP: Używaj parametrów referencyjnych, by nie tworzyć kopii obiektów (492) CPB: Definiowanie destruktora bez pozostałych dwu funkcji z "wielkiej trójki" (492) TS: Wirtualne destruktory (493) TS: Powstrzymanie automatycznego tworzenia funkcji zarządzających pamięcią (494) TS: Operacje przenoszenia (494) TS: Wskaźniki współdzielone (496) P: Śledzenie zarządzania pamięcią w obiektach typu String (496) 13.3. Szablony (497) 13.3.1. Szablony funkcji (497) 13.3.2. Szablony klas (499) TS: Parametry szablonów niedotyczące typów (501) 14. LISTY POWIĄZANE, STOSY I KOLEJKI (503) 14.1. Używanie list powiązanych (503) 14.2. Implementowanie list powiązanych (509) 14.2.1. Klasy dla list, węzłów i iteratorów (509) 14.2.2. Implementowanie iteratorów (511) 14.2.3. Implementowanie wstawiania i usuwania węzłów (512) P: Implementowanie szablonu listy powiązanej (522) 14.3. Wydajność operacji na listach, tablicach i wektorach (523) 14.4. Stosy i kolejki (527) 14.5. Implementowanie stosów i kolejek (530) 14.5.1. Stosy jako listy powiązane (530) 14.5.2. Stosy jako tablice (533) 14.5.3. Kolejki jako listy powiązane (534) 14.5.4. Kolejki jako tablice cykliczne (535) 14.6. Zastosowania stosów i kolejek (536) 14.6.1. Sprawdzanie zamknięcia nawiasów (536) 14.6.2. Obliczanie wyrażeń zapisanych w odwrotnej notacji polskiej (537) 14.6.3. Obliczanie wartości wyrażeń algebraicznych (539) 14.6.4. Poszukiwanie z nawrotami (543) TS: Odwrotna notacja polska (544) 15. ZBIORY, MAPY I TABLICE MIESZAJĄCE (547) 15.1. Zbiory (547) 15.2. Mapy (551) WDP: W przypadku iteratorów używaj typu auto (555) TS: Multizbiory i multimapy (555) P: Częstość występowania wyrazów (556) 15.3. Implementowanie tablicy mieszającej (556) 15.3.1. Skróty (556) 15.3.2. Tablice mieszające (558) 15.3.3. Znajdowanie elementu (559) 15.3.4. Dodawanie i usuwanie elementów (560) 15.3.5. Przechodzenie po tablicy mieszającej (560) TS: Implementowanie funkcji skrótów (566) TS: Adresowanie otwarte (568) 16. STRUKTURY DRZEW (571) 16.1. Podstawowe koncepcje dotyczące drzew (571) 16.2. Drzewa binarne (575) 16.2.1. Przykłady drzew binarnych (575) 16.2.2. Drzewa zrównoważone (577) 16.2.3. Implementacja drzewa binarnego (578) P: Budowanie drzewa Huffmana (580) 16.3. Binarne drzewa poszukiwań (580) 16.3.1. Właściwość wyszukiwania binarnego (580) 16.3.2. Wstawianie (582) 16.3.3. Usuwanie (584) 16.3.4. Wydajność operacji (586) 16.4. Przeglądanie drzewa (591) 16.4.1. Przeglądanie poprzeczne (591) 16.4.2. Przeglądanie wzdłużne i wsteczne (593) 16.4.3. Wzorzec Wizytator (594) 16.4.4. Przeszukiwanie w głąb i wszerz (595) 16.4.5. Iteratory drzew (596) 16.5. Drzewa czerwono-czarne (597) 16.5.1. Podstawowe własności drzew czerwono-czarnych (597) 16.5.2. Wstawianie (600) 16.5.3. Usuwanie (601) P: Implementowanie drzewa czerwono-czarnego (605) 17. KOLEJKI PRIORYTETOWE I KOPCE (607) 17.1. Kolejki priorytetowe (607) P: Symulacja kolejki oczekujących klientów (610) 17.2. Kopce (610) 17.3. Algorytm sortowania przez kopcowanie (621)
Sygnatura czytelni BWEAiI: XII Ł 200
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. 150549 N (1 egz.)
Książka
W koszyku
Indeks.
Język programowania Typy danych Typy wartościowe Typy referencyjne Instalacja i konfiguracja środowiska IDE Tworzenie projektu Wejście i wyjście Odczytywanie z wejścia Zapisywanie do wyjścia Uruchamianie i debugowanie Rozdział 2. Tablice i listy Tablice Tablice jednowymiarowe Tablice wielowymiarowe Tablice nieregularne Algorytmy sortowania Sortowanie przez wybieranie Sortowanie przez wstawianie Sortowanie bąbelkowe Sortowanie szybkie Proste listy Lista tablicowa Lista generyczna Przykład — średnia wartość Przykład — lista osób Listy uporządkowane Przykład — książka adresowa Listy wiązane Przykład — czytnik książki Listy cykliczne Implementacja Przykład — zakręć kołem Rozdział 3. Stosy i kolejki Stosy Przykład — odwracanie wyrazów Przykład — Wieże Hanoi Kolejki Przykład — telefoniczne biuro obsługi klienta z jednym konsultantem Przykład — telefoniczne biuro obsługi klienta z wieloma konsultantami Kolejki priorytetowe Przykład — biuro telefonicznej obsługi klienta ze wsparciem priorytetowym Rozdział 4. Słowniki i zbiory Tablice z haszowaniem Przykład — książka telefoniczna Słowniki Przykład — wyszukiwanie produktu Przykład — dane użytkownika Słowniki uporządkowane Przykład — definicje Zbiory haszowane Przykład — kupony Przykład — baseny Zbiory „uporządkowane" Przykład — usuwanie duplikatów Rozdział 5. Warianty drzew Zwykłe drzewa Implementacja Przykład — hierarchia identyfikatorów Przykład — struktura przedsiębiorstwa Drzewa binarne Implementacja Przykład — prosty quiz Binarne drzewa poszukiwań Implementacja Przykład — wizualizacja drzewa BST Drzewa AVL Implementacja Przykład — utrzymuj zrównoważenie drzewa Drzewa czerwono-czarne Implementacja Przykład — funkcje drzew RBT Kopce binarne Implementacja Przykład — sortowanie przez kopcowanie Kopce dwumianowe Kopce Fibonacciego Rozdział 6. Odkrywanie grafów Koncepcja grafów Zastosowania Reprezentacja Lista sąsiedztwa Macierz sąsiedztwa Implementacja Węzeł Krawędź Graf Przykład — krawędzie nieskierowane i nieważone Przykład — krawędzie skierowane i ważone Przeszukiwanie Przeszukiwanie w głąb Przeszukiwanie wszerz Minimalne drzewo rozpinające Algorytm Kruskala Algorytm Prima Przykład — kabel telekomunikacyjny Kolorowanie Przykład — mapa województw Najkrótsza ścieżka Przykład — mapa gry Rozdział 7. Podsumowanie Klasyfikacja struktur danych Różnorodność zastosowań struktur danych Tablice Listy Stosy Kolejki Słowniki Zbiory Drzewa Kopce Grafy
Sygnatura czytelni BWEAiI: XII Ł 131
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. 147424 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 okładce nazwa wydawcy oryginału: Packt.
Indeks.
Czym jest ASP.NET Core 2.0? Możliwości ASP.NET Core 2.0 Wsparcie wielu platform Architektura mikrousług Praca z platformą Docker i kontenerami Wydajność i skalowalność Równoległa instalacja różnych wersji Ograniczenia technologii Kiedy wybrać ASP.NET Core 2.0 Rozdział 2. Przygotowanie środowiska Środowisko programistyczne Visual Studio 2017 Jak zainstalować program Visual Studio 2017 Community Edition Pierwsze kroki w programie Visual Studio 2017 Tworzenie pierwszej aplikacji ASP.NET Core 2.0 w programie Visual Studio 2017 Tworzenie pierwszej aplikacji ASP.NET Core 2.0 z poziomu wiersza poleceń Środowisko programistyczne Visual Studio Code Jak zainstalować program Visual Studio Code w systemie Linux Tworzenie pierwszej aplikacji ASP.NET Core 2.0 w programie Visual Studio Code Tworzenie pierwszej aplikacji ASP.NET Core 2.0 w systemie Linux Rozdział 3. Tworzenie potoku ciągłej integracji w usłudze VSTS Potoki ciągłej integracji, ciągłego wdrażania oraz kompilowania i wydawania Używanie usługi Visual Studio Team Services (VSTS) w procesie ciągłej integracji i ciągłego wdrażania Tworzenie darmowej subskrypcji usługi VSTS i pierwszego projektu w jej ramach Organizacja pracy za pomocą elementów roboczych Używanie systemu kontroli wersji Git Używanie gałęzi funkcji Scalanie zmian i rozwiązywanie konfliktów Tworzenie potoku kompilowania w usłudze VSTS Tworzenie potoku wydawania w usłudze VSTS Rozdział 4. Podstawowe założenia ASP.NET Core 2.0 część I Tworzenie gry Kółko i krzyżyk Tworzenie i implementacja pierwszej funkcji gry Kółko i krzyżyk Adresowanie różnych wersji platformy .NET Framework w plikach projektów .csproj Używanie metapakietu Microsoft.AspNetCore.All Praca z klasą Program Praca z klasą Startup Przygotowanie podstawowej struktury projektu Tworzenie strony głównej gry Kółko i krzyżyk Nadawanie stronom WWW bardziej nowoczesnego wyglądu za pomocą programu Bower i stron układu Tworzenie strony rejestracji użytkownika gry Kółko i krzyżyk Użycie wstrzykiwania zależności dla wsparcia luźnych powiązań w aplikacjach Tworzenie usługi użytkowników aplikacji Kółko i krzyżyk Praca z oprogramowaniem pośredniczącym Praca z plikami statycznymi Używanie routingu, przekierowania URL oraz ponownego zapisywania adresów URL Dodawanie obsługi błędów do aplikacji Rozdział 5. Podstawowe założenia ASP.NET Core 2. część II Programowanie po stronie klienta za pomocą skryptów JavaScript Optymalizacja aplikacji internetowych oraz korzystanie z pakietów skryptów i ich minimalizacji Praca z protokołem WebSockets w scenariuszach komunikacji w czasie rzeczywistym Korzystanie z zarządzania pamięcią podręczną sesji i użytkownika Stosowanie globalizacji i lokalizacji w wielojęzycznych interfejsach użytkownika Konfiguracja aplikacji i usług Korzystanie z logowania Implementacja zaawansowanych koncepcji wstrzykiwania zależności Jednoczesna kompilacja dla wielu środowisk Rozdział 6. Tworzenie aplikacji MVC Zrozumienie wzorca Model-Widok-Kontroler Modele Widoki Kontrolery Testy jednostkowe Testy integracyjne Tworzenie układów przeznaczonych dla wielu urządzeń Korzystanie ze stron widoku, widoków częściowych, składników widoku i pomocników znaczników Korzystanie ze stron widoku Korzystanie z widoków częściowych Korzystanie ze składników widoku Korzystanie z pomocników znaczników Podział aplikacji internetowych na wiele obszarów Stosowanie zaawansowanych koncepcji Korzystanie z silników widoku Zapewnianie lepszej jakości za pomocą testów jednostkowych i integracyjnych Dodawanie testów jednostkowych Dodawanie testów integracyjnych Rozdział 7. Tworzenie aplikacji Web API Stosowanie koncepcji Web API oraz najlepszych rozwiązań w tej dziedzinie Tworzenie interfejsów Web API w stylu RPC Tworzenie interfejsów Web API w stylu REST Tworzenie interfejsów Web API w stylu HATEOAS Rozdział 8. Dostęp do danych za pomocą Entity Framework Core Rozpoczęcie pracy z platformą Entity Framework Core 2 Ustanawianie połączenia Definiowanie kluczy głównych oraz obcych za pomocą adnotacji danych Korzystanie z migracji w ramach platformy Entity Framework Core 2 Tworzenie, odczytywanie, aktualizowanie i usuwanie danych Rozdział 9. Zabezpieczanie aplikacji ASP.NET Core 2.0 Implementacja uwierzytelniania Wprowadzanie podstawowego uwierzytelnienia za pomocą formularza Wprowadzanie uwierzytelniania za pośrednictwem zewnętrznego dostawcy Praca z uwierzytelnianiem dwuskładnikowym Dodawanie mechanizmu resetowania zapomnianego hasła Implementacja autoryzacji Rozdział 10. Hosting i wdrażanie aplikacji ASP.NET Core 2.0 Hosting aplikacji Wdrażanie aplikacji na platformie Amazon Web Services Wdrażanie aplikacji w usłudze AWS Elastic Beanstalk Wdrażanie aplikacji na platformie Microsoft Azure Wdrażanie aplikacji w usłudze Microsoft Azure App Services Wdrażanie aplikacji w kontenerach Docker Wdrażanie aplikacji do kontenerów Docker za pomocą programów Docker for Windows i Docker Enterprise Edition Publikowanie obrazów w witrynie Docker Hub Rozdział 11. Zarządzanie aplikacjami ASP.NET Core 2.0 i nadzór nad nimi Logowanie w aplikacjach ASP.NET Core 2.0 Logowanie na platformie Microsoft Azure Logowanie w usłudze Amazon Web Services Monitorowanie aplikacji ASP.NET Core 2.0 Monitorowanie lokalne i na platformie Docker Monitorowanie na platformie Microsoft Azure Monitorowanie na platformie Amazon Web Services
Sygnatura czytelni BWEAiI: XII E 104
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. 147002 N (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
Bibliografie, netografie przy większości rozdziałów.
Część I. Koncepcje i składniki architektury oprogramowania Rozdział 1. Znaczenie architektury oprogramowania i zasady dobrego projektowania Zrozumienie pojęcia "architektura oprogramowania" Uświadomienie sobie znaczenia właściwej architektury Badanie podstaw dobrej architektury Opracowywanie architektury według zasad podejścia zwinnego Filozofia języka C++ Stosowanie zasad SOLID i DRY Sprzężenie i spójność Rozdział 2. Style architektoniczne Wybór pomiędzy podejściem stanowym i bezstanowym Zapoznanie się z monolitami - dlaczego należy ich unikać i jakie są wyjątki Zrozumienie działania usług i mikrousług Badanie architektury opartej na zdarzeniach Zrozumienie działania architektury warstwowej Zapoznanie się z architekturą opartą na modułach Rozdział 3. Wymagania funkcjonalne i niefunkcjonalne Zapoznanie się z typami wymagań Rozpoznawanie wymagań istotnych dla architektury Zbieranie wymagań z różnych źródeł Dokumentowanie wymagań Dokumentowanie architektury Wybór właściwych perspektyw do udokumentowania Generowanie dokumentacji Część II. Projektowanie i wytwarzanie oprogramowania w języku C++ Rozdział 4. Projektowanie architektur i systemów Zrozumienie specyfiki systemów rozproszonych Zapewnienie systemowi dostępności i odporności na uszkodzenia Integrowanie systemu Osiąganie wydajności w dużej skali Wdrażanie systemu Zarządzanie interfejsami API Rozdział 5. Wykorzystywanie cech języka C++ Projektowanie doskonałych interfejsów API Pisanie deklaratywnego kodu Przenoszenie obliczeń na czas kompilacji Wykorzystanie potęgi bezpiecznych typów Pisanie modularnego kodu C++ Rozdział 6. Wzorce projektowe a język C++ Wymagania techniczne Pisanie idiomatycznego kodu C++ Ciekawie rekurencyjny wzorzec szablonu Tworzenie obiektów Śledzenie stanu i odwiedzanie obiektów w języku C++ Efektywne postępowanie z pamięcią Rozdział 7. Budowanie i pakowanie Wykorzystanie kompilatorów do granic ich możliwości Zapewnianie abstrakcji procesu budowania Korzystanie z modułów zewnętrznych Wielokrotne korzystanie z kodu o dobrej jakości Pakowanie przy użyciu narzędzia Conan Część III. Architektoniczne atrybuty jakościowe Rozdział 8. Pisanie testowalnego kodu Po co testować kod? Wprowadzenie do frameworków testowych Zapoznanie się z atrapami i imitacjami Projektowanie klas sterowane testami Automatyzowanie testów na potrzeby ciągłej integracji/ciągłego wdrażania Rozdział 9. Ciągła integracja i ciągłe wdrażanie Zapoznanie się z ciągłą integracją Recenzowanie zmian w kodzie Badanie automatyzacji sterowanej testami Zarządzanie wdrażaniem jako kodem Budowanie kodu wdrożeniowego Budowanie potoku CD Korzystanie z niezmiennej infrastruktury Rozdział 10. Bezpieczeństwo kodu i wdrażania Sprawdzanie zabezpieczeń kodu Sprawdzanie, czy zależności są bezpieczne Utwardzanie kodu Utwardzanie środowiska Rozdział 11. Wydajność Mierzenie wydajności Pomaganie kompilatorowi w generowaniu wydajnego kodu Zrównoleglanie obliczeń Używanie koprocedur Część IV. Zasady projektowania natywnego dla chmury Rozdział 12. Architektura zorientowana na usługi Zapoznanie się z architekturą zorientowaną na usługi Wdrażanie zasad wymiany komunikatów Korzystanie z usług sieciowych Wykorzystywanie usług zarządzanych i dostawców chmury Rozdział 13. Projektowanie mikrousług Wniknięcie w temat mikrousług Budowanie mikrousług Obserwowanie mikrousług Łączenie mikrousług Skalowanie mikrousług Rozdział 14. Kontenery Wymagania techniczne Reaktywacja kontenerów Budowanie kontenerów Testowanie kontenerów i integrowanie ich ze sobą Zapoznanie się z orkiestracją kontenerów Rozdział 15. Projektowanie rozwiązań natywnych dla chmury Zapoznanie się z rozwiązaniami natywnymi dla chmury Orkiestracja obciążeń natywnych dla chmury przy użyciu platformy Kubernetes Obserwowalność w systemach rozproszonych Łączenie usług za pomocą siatki usług Podejście GitOps
Sygnatura czytelni BWEAiI: XII J 113
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. 152499 (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce także nazwa wydawcy oryginału: No starch press.
Programowanie systemów wbudowanych Instalowanie GCC Pobieranie programu System Workbench for STM32 Kompilowanie programu Popełnianie błędów Zrozumienie działania programu Dodawanie komentarzy Ulepszanie programu i procesu jego budowania Program "make" Flagi kompilatora Jak kompilator działa za kulisami Preprocesor Kompilator Asembler Konsolidator Dodawanie reguł do pliku Makefile Prezentacja zintegrowanego środowiska programistycznego Korzystanie z programu System Workbench for STM32 Uruchamianie środowiska IDE Debugowanie programu Co zrobiło środowisko IDE Importowanie przykładowych programów opisanych w tej książce 3. Programowanie mikrokontrolera Płytka rozwojowa NUCLEO-F030R8 Programowanie i debugowanie na płytce Konfigurowanie płytki Konfigurowanie projektu dla systemu wbudowanego Twój pierwszy program dla systemu wbudowanego Inicjacja sprzętu Programowanie pinu GPIO Przełączanie diody LED Budowanie kompletnego programu Analiza procesu budowania Analiza plików projektu Debugowanie aplikacji 4. Liczby i zmienne Praca z liczbami całkowitymi Deklarowanie zmiennych do przechowywania liczb całkowitych Nadawanie wartości zmiennym Inicjowanie zmiennych Rozmiary i reprezentacje liczb całkowitych Reprezentacje liczb Standardowe liczby całkowite Typy całkowitoliczbowe bez znaku Przepełnienie Reprezentacja liczb całkowitych ze znakiem metodą uzupełnień do dwóch Skrócone operatory Sterowanie mapowanymi w pamięci rejestrami we/wy za pomocą operacji bitowych Alternatywa Koniunkcja Negacja Alternatywa wykluczająca Przesunięcie Definiowanie znaczenia bitów Nadawanie wartości dwóm bitom naraz Wyłączanie bitu Sprawdzanie wartości bitów Problemy programistyczne 5. Instrukcje decyzyjne i sterujące Instrukcja if Instrukcja if/else Instrukcje pętli Pętla while Pętla for Używanie przycisku Inicjacja Wybór układu ze ściąganiem Pobieranie stanu przycisku Uruchomienie programu Sterowanie pętlą Instrukcja break Instrukcja continue Antywzorce Pusta pętla while Przypisanie w pętli while Problemy programistyczne 6. Tablice, wskaźniki i łańcuchy Tablice "Pod maską": wskaźniki Arytmetyka tablic i wskaźników Przepełnienie tablicy Znaki i ich łańcuchy Problemy programistyczne 7. Zmienne lokalne i procedury Zmienne lokalne Przesłonięte zmienne Procedury Ramki stosu Rekurencja Styl programowania 8. Złożone typy danych Wyliczenia Sztuczki preprocesora a wyliczenia Struktury Struktury w pamięci Dostęp do niewyrównanych danych Inicjacja struktur Przypisywanie struktury
Wskaźniki do struktur Nazewnictwo struktur Unie Tworzenie własnego typu Struktury a programowanie systemów wbudowanych typedef Wskaźniki do funkcji a dyrektywa typedef typedef i struct 9. Wyjście szeregowe w mikrokontrolerze STM Wypisywanie znaków łańcucha jeden po drugim Definiowanie własnej funkcji putchar Wyjście szeregowe Krótka historia komunikacji szeregowej Szeregowe "Witaj, świecie!" Inicjacja interfejsu UART Przesyłanie znaku Komunikacja z urządzeniem Windows Linux i macOS 10. Przerwania Odpytywanie kontra przerwania Przerwania w szeregowych operacjach we/wy Procedury obsługi przerwań Wypisywanie łańcucha za pomocą przerwań Koszmar przerwań Zwiększanie prędkości przy użyciu bufora Funkcja nadawcza Procedura obsługi przerwania Cały program Problemy programistyczne Konsolidator Zadanie konsolidatora Modele pamięci stosowane podczas kompilacji i konsolidacji Idealny model języka C Sekcje niestandardowe Proces konsolidacji Symbole definiowane przez konsolidator Relokacja i konsolidacja plików obiektowych Mapa konsolidatora Zaawansowane wykorzystanie konsolidatora Pamięć flash jako "trwałe" miejsce składowania Wiele elementów konfiguracji Przykład adaptacji w "warunkach polowych" Uaktualnianie oprogramowania układowego 12. Preprocesor Proste makra Makra parametryzowane Makra z kodem Kompilacja warunkowa Gdzie definiowane są symbole Symbole w wierszu poleceń Symbole predefiniowane Pliki dołączane Sztuczki preprocesora Język C na wielkich maszynach Pamięć dynamiczna Podstawowe operacje przydzielania pamięci ze sterty i wycofywania jej przydziału Listy wiązane Dodawanie węzła Wypisywanie listy wiązanej Usuwanie węzła Składamy to wszystko razem Problemy z pamięcią dynamiczną Valgrind i AddressSanitizer z GCC . Buforowane plikowe operacje we/wy Funkcja printf Wypisywanie tabeli znaków ASCII Zapis we wstępnie zdefiniowanych plikach Odczyt danych Szkodliwa funkcja gets Otwieranie plików Binarne we/wy Kopiowanie pliku Buforowanie i opróżnianie Zamykanie plików Argumenty poleceń i podstawowe operacje we/wy Argumenty poleceń Wykonywanie podstawowych operacji we/wy Tryb binarny Funkcja ioctl Liczby zmiennoprzecinkowe Typy zmiennoprzecinkowe Automatyczne konwersje Problemy związane z liczbami zmiennoprzecinkowymi Błędy zaokrągleń Precyzja Nieskończoność, wartości nieliczbowe i liczby subnormalne Implementacja Alternatywne rozwiązania Problemy programistyczne 17. Programowanie modularne Proste moduły Problemy związane z prostym modułem Kompilowanie modułu Cechy dobrego modułu Przestrzenie nazw Biblioteki Program ranlib i konsolidacja biblioteki Tryb deterministyczny i niedeterministyczny Słabe symbole Problemy programistyczne Cppcheck Doxygen Valgrind SQLite Natywny projekt C Projekt STM32 Workbench dla urządzenia wbudowanego
Sygnatura czytelni BWEAiI: XII Ł 121
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. 154677 N (1 egz.)
Brak okładki
Książka
W koszyku
(Programmer to Programmer - Wrox)
Tytuł oryginału : ASP.NET 2.0 Instant Results.
U dołu strony tytułowej i okładki : Zestaw projektów do natychmiastowego wykorzystania!
U dołu okładki : Opisy założeń projektowych, instrukcje dotyczące instalacji, wskazówki dla programistów.
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. 120910 (1 egz.)
Książka
W koszyku
Tytuł oryginału: Amazon Web Services in action.
Wydanie 2. odnosi się do oryginału.
Indeks.
CZĘŚĆ I. PIERWSZE KROKI 21 Rozdział 1. Czym jest platforma Amazon Web Services? 23 1.1. Czym jest chmura obliczeniowa? 24 1.2. Co da się zrobić na platformie AWS? 25 1.3. Jakie korzyści płyną z użycia platformy AWS? 30 1.4. Ile to kosztuje? 33 1.5. Porównanie z alternatywnymi rozwiązaniami 36 1.6. Odkrywanie usług AWS 37 1.7. Interakcja z platformą AWS 40 1.8. Tworzenie konta AWS 44 1.9. Tworzenie alarmu dotyczącego płatności w celu kontroli rachunków z platformy AWS 53 Rozdział 2. Prosty przykład: aplikacja WordPress w pięć minut 59 2.1. Tworzenie infrastruktury 60 2.2. Poznawanie infrastruktury 65 2.3. Ile to kosztuje? 74 2.4. Usuwanie infrastruktury 77 CZĘŚĆ II. BUDOWANIE WIRTUALNEJ INFRASTRUKTURY KOMPUTERÓW I SIECI 79 Rozdział 3. Korzystanie z maszyn wirtualnych - usługa EC2 81 3.1. Badanie maszyny wirtualnej 82 3.2. Monitorowanie i debugowanie maszyny wirtualnej 97 3.3. Wyłączanie maszyny wirtualnej 100 3.4. Zmiana rozmiaru maszyny wirtualnej 101 3.5. Uruchamianie maszyny wirtualnej w innym centrum danych 104 3.6. Przydzielanie publicznego adresu IP 108 3.7. Dodawanie do maszyny wirtualnej dodatkowego interfejsu sieciowego 110 3.8. Optymalizowanie kosztów maszyn wirtualnych 115 Rozdział 4. Programowanie infrastruktury: wiersz poleceń, zestawy SDK i usługa CloudFormation 125 4.1. Infrastruktura jako kod 127 4.2. Korzystanie z interfejsu wiersza poleceń 132 4.3. Programowanie przy użyciu zestawu SDK 140 4.4. Uruchamianie maszyny wirtualnej przy użyciu strategii 145 Rozdział 5. Automatyzacja wdrażania: usługi CloudFormation, Elastic Beanstalk i OpsWorks 159 5.1. Wdrażanie aplikacji w elastycznym środowisku chmury 161 5.2. Porównanie narzędzi do wdrażania 161 5.3. Tworzenie maszyny wirtualnej w usłudze AWS CloudFormation i uruchamianie podczas rozruchu skryptu wdrożeniowego 163 5.4. Wdrażanie prostej aplikacji internetowej w usłudze AWS Elastic Beanstalk 169 5.5. Wdrażanie aplikacji wielowarstwowej za pomocą usługi AWS OpsWorks Stacks 175 Rozdział 6. Bezpieczeństwo systemu: usługa IAM, grupy zabezpieczeń i sieci VPC 189 6.1. Kto odpowiada za bezpieczeństwo? 191 6.2. Utrzymywanie aktualności oprogramowania 192 6.3. Zabezpieczanie konta AWS 195 6.4. Kontrola ruchu sieciowego przychodzącego do maszyny wirtualnej i z niej wychodzącego 204 6.5. Tworzenie sieci prywatnej w chmurze: usługa Amazon Virtual Private Cloud (VPC) 213 Rozdział 7. Automatyzacja zadań eksploatacyjnych dzięki usłudze Lambda 223 7.1. Wykonywanie kodu w usłudze AWS Lambda 224 7.2. Budowanie rozwiązania do kontroli kondycji witryny internetowej w usłudze AWS Lambda 226 7.3. Automatyczne dodawanie tagu z właścicielem instancji EC2 243 7.4. Co jeszcze można zrobić za pomocą usługi AWS Lambda? 251 CZĘŚĆ III. PRZECHOWYWANIE DANYCH W CHMURZE 257 Rozdział 8. Przechowywanie obiektów: usługi S3 i Glacier 259 8.1. Czym jest magazyn obiektów? 260 8.2. Usługa Amazon S3 261 8.3. Tworzenie kopii zapasowej danych w usłudze S3 za pomocą interfejsu CLI platformy AWS 262 8.4. Archiwizacja obiektów w celu optymalizacji kosztów 265 8.5. Magazynowanie obiektów w sposób programowy 272 8.6. Użycie usługi S3 do hostingu statycznej strony WWW 276 8.7. Dobre praktyki przy korzystaniu z usługi S3 279 Rozdział 9. Przechowywanie danych na dyskach twardych: usługa EBS i magazyn instancji 283 9.1. Usługa EBS: trwały magazyn blokowy dołączany za pośrednictwem sieci 285 9.2. Magazyn instancji: tymczasowy magazyn blokowy 293 Rozdział 10. Współdzielenie woluminów danych przez maszyny wirtualne: usługa EFS 299 10.1. Tworzenie systemu plików 302 10.2. Tworzenie punktu docelowego montowania 303 10.3. Montowanie udziału EFS w instancjach EC2 305 10.4. Współdzielenie plików przez różne instancje EC2 308 10.5. Poprawianie wydajności 309 10.6. Monitorowanie systemu plików 311 10.7. Tworzenie kopii zapasowych danych 314 Rozdział 11. Korzystanie z usługi relacyjnych baz danych: RDS 319 11.1. Uruchamianie bazy danych MySQL 321 11.2. Importowanie danych do bazy 325 11.3. Tworzenie kopii zapasowej bazy i przywracanie z niej danych 328 11.4. Kontrola dostępu do bazy danych 333 11.5. Opieranie się na bazach danych o wysokiej dostępności 336 11.6. Poprawianie wydajności bazy danych 338 11.7. Monitorowanie bazy danych 342 Rozdział 12. Buforowanie danych w pamięci: usługa Amazon ElastiCache 345 12.1. Tworzenie klastra pamięci podręcznej 351 12.2. Opcje wdrażania pamięci podręcznej 354 12.3. Kontrola dostępu do pamięci podręcznej 358 12.4. Instalacja przykładowej aplikacji Discourse za pomocą usługi CloudFormation 360 12.5. Monitorowanie pamięci podręcznej 368 12.6. Poprawianie wydajności pamięci podręcznej 370 Rozdział 13. Programowanie z użyciem usługi bazy danych NoSQL: DynamoDB 375 13.1. Eksploatacja usługi DynamoDB 378 13.2. Usługa DynamoDB dla programistów 379 13.3. Programowanie aplikacji z listą zadań 382 13.4. Tworzenie tabel 384 13.5. Dodawanie danych 388 13.6. Pobieranie danych 391 13.7. Usuwanie danych 399 13.8. Modyfikowanie danych 400 13.9. Skalowanie wydajności 401 CZĘŚĆ IV. ARCHITEKTURA OPROGRAMOWANIA W CHMURZE AWS 407 Rozdział 14. Osiąganie wysokiej dostępności: strefy dostępności, skalowanie automatyczne i usługa CloudWatch 409 14.1. Odzyskiwanie sprawności po awarii instancji EC2 dzięki usłudze CloudWatch 411 14.2. Przywracanie sprawności po awarii całego centrum danych 418 14.3. Analiza wymogów dotyczących przywracania po awarii 437 Rozdział 15. Odłączanie - usługi ELB i SQS 441 15.1. Odłączanie synchroniczne za pomocą modułów równoważenia obciążenia 443 15.2. Asynchroniczne odłączanie za pomocą kolejek komunikatów 448 Rozdział 16. Projektowanie pod kątem odporności na błędy 459 16.1. Wykorzystanie nadmiarowych instancji EC2 w celu poprawy dostępności 462 16.2. Uwagi dotyczące zapewnienia w kodzie odporności na błędy 465 16.3. Budowa odpornej na błędy aplikacji internetowej: Imagery 469 Rozdział 17. Skalowanie w górę i w dół: skalowanie automatyczne i usługa CloudWatch 491 17.1. Zarządzanie dynamiczną pulą instancji EC2 493 17.2. Wyzwalanie skalowania na podstawie wskaźników lub harmonogramów 497 17.3. Odłączanie dynamicznej puli instancji EC2 502
Sygnatura czytelni BWEAiI: XII E 108
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. 149349 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