Kod źródłowy
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(7)
Forma i typ
Książki
(7)
Publikacje fachowe
(4)
Publikacje dydaktyczne
(1)
Publikacje naukowe
(1)
Dostępność
dostępne
(5)
tylko na miejscu
(4)
Placówka
Wypożyczalnia
(5)
Biblioteka WEAiI
(4)
Autor
Garbacz Bartłomiej
(2)
Barr Adam
(1)
Barroso Luiz André
(1)
Gonera Paweł
(1)
Koronkiewicz Paweł (1973- )
(1)
Martin Robert C
(1)
McConnell Steve (1962- )
(1)
Rajca Piotr (1970- )
(1)
Sites Richard L
(1)
Spinellis Diomidis
(1)
Stefański Jacek (telekomunikacja)
(1)
Walczak Tomasz
(1)
Zimmerman Chris
(1)
Rok wydania
2020 - 2024
(2)
2010 - 2019
(3)
2000 - 2009
(2)
Okres powstania dzieła
2001-
(6)
Kraj wydania
Polska
(7)
Język
polski
(7)
Odbiorca
Programiści
(4)
Temat
Budownictwo
(2412)
Zarządzanie
(2038)
Matematyka
(1930)
Elektrotechnika
(1896)
Przedsiębiorstwa
(1790)
Kod źródłowy
(-)
Fizyka
(1535)
Informatyka
(1502)
Maszyny
(1228)
Fizjoterapia
(1175)
Wytrzymałość materiałów
(1157)
Ochrona środowiska
(1023)
Sport
(1012)
Turystyka
(952)
Elektronika
(946)
Ekonomia
(932)
Mechanika
(932)
Automatyka
(916)
Język angielski
(873)
Samochody
(867)
Rachunkowość
(821)
Chemia
(808)
Rehabilitacja
(800)
Polska
(791)
Gospodarka
(778)
Komunikacja marketingowa
(760)
Technika
(743)
Konstrukcje budowlane
(727)
Wychowanie fizyczne
(725)
Przemysł
(723)
Prawo pracy
(712)
Unia Europejska
(699)
Piłka nożna
(690)
Transport
(673)
Elektroenergetyka
(667)
Architektura
(637)
Marketing
(637)
Innowacje
(619)
Naprężenia i odkształcenia
(613)
OZE
(606)
Programowanie (informatyka)
(590)
Trening
(586)
Energetyka
(585)
Programy komputerowe
(584)
Technologia chemiczna
(567)
Rolnictwo
(556)
Biomasa
(543)
Analiza numeryczna
(532)
Prawo
(524)
Odnawialne źródła energii
(520)
Sterowanie
(520)
Komputery
(517)
Materiałoznawstwo
(517)
Produkcja
(517)
Symulacja
(515)
Inwestycje
(508)
Praca
(503)
Analiza matematyczna
(495)
Zarządzanie jakością
(495)
Zarządzanie zasobami ludzkimi (HRM)
(494)
Dzieci
(489)
Energia elektryczna
(489)
Urbanistyka
(488)
Materiały budowlane
(482)
Logistyka gospodarcza
(480)
Rynek pracy
(474)
Finanse
(468)
Maszyny elektryczne
(468)
Szkolnictwo wyższe
(468)
Przedsiębiorstwo
(467)
Psychologia
(467)
Modele matematyczne
(465)
Internet
(464)
Metale
(462)
Nauka
(456)
Marketing internetowy
(453)
Systemy informatyczne
(448)
Statystyka matematyczna
(447)
Języki programowania
(433)
Skrawanie
(432)
Reklama
(431)
Rehabilitacja medyczna
(429)
Mechanika budowli
(425)
Działalność gospodarcza
(422)
Organizacja
(417)
Telekomunikacja
(413)
Metrologia
(412)
Pedagogika
(410)
Drgania
(409)
Trener
(406)
Ubezpieczenia społeczne
(394)
Controlling
(392)
Optymalizacja
(392)
Historia
(388)
Filozofia
(385)
Podatki
(385)
Statystyka
(384)
Socjologia
(382)
Banki
(378)
BHP
(375)
Rachunkowość zarządcza
(374)
Gatunek
Podręcznik
(5)
Opracowanie
(1)
Poradnik
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(6)
Inżynieria i technika
(2)
7 wyników Filtruj
Brak okładki
Książka
W koszyku
U góry strony tytułowej i okładki: Zbiór łamigłówek i szarad dla programistów.
U dołu strony tytułowej i okładki: Poznaj rodzaje błędów. Naucz się analizować kod. Wyszukaj pułapki w kodzie źródłowym. Znajdź błędy w programach napisanych w różnych językach.
Bibliografia na stronach [273]-276. 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. 112863 N (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
Wydanie 2. odnosi się do oryginału. Na grzbiecie: Dobre praktyki.
Bibliografia, netografia na stronach 899-917. Indeks.
Proces budowy oprogramowania (35) Budowa oprogramowania (37) Czym jest budowa oprogramowania (37) Znaczenie procesu budowy oprogramowania (40) Jak korzystać z tej książki (41) Metafory procesu programowania (43) Znaczenie metafor (43) Jak korzystać z metafor w programowaniu (46) Popularne metafory programowania (47) Przed programowaniem - przygotowania (57) Przygotowania i ich znaczenie (58) Określanie rodzaju budowanego oprogramowania (65) Definicja problemu (70) Określenie wymagań (72) Architektura (77) Ilość czasu poświęcanego na przygotowania (89) Kluczowe decyzje konstrukcyjne (95) Wybór języka programowania (95) Konwencje programowania (100) Twoje położenie na fali technologii (101) Wybór podstawowych praktyk programowania (103) Pisanie dobrego kodu (107) Projektowanie (109) Podstawowe problemy projektowania (110) Podstawowe pojęcia projektowania (113) Heurystyki - narzędzia projektanta (122) Techniki projektowania (146) Uwagi o popularnych metodykach pracy (155) Klasy z klasą (161) Abstrakcyjne typy danych (162) Dobry interfejs klasy (169) Problemy projektowania i implementacji (179) Przesłanki dla utworzenia klasy (188) Specyfika języka (192) Pakiety klas (192) Procedury wysokiej jakości (197) Przesłanki utworzenia procedury (200) Projektowanie na poziomie procedur (204) Dobra nazwa procedury (207) Jak długa może być procedura? (209) Jak używać parametrów procedur (211) Używanie funkcji (217) Makra i procedury inline (218) Programowanie defensywne (223) Zabezpieczanie programu przed niewłaściwymi danymi wejściowymi (224) Asercje (225) Mechanizmy obsługi błędów (230) Wyjątki (234) Ograniczanie zasięgu szkód powodowanych przez błędy (239) Kod wspomagający debugowanie (241) Ilość kodu defensywnego w wersji finalnej (245) Defensywne podejście do programowania defensywnego (246) Proces Programowania w Pseudokodzie (251) Budowanie klas i procedur krok po kroku (251) Pseudokod dla zaawansowanych (253) Budowanie procedur metodą PPP (256) Alternatywy dla pseudokodu (269) Zmienne (273) Zmienne w programie (275) Podstawowa wiedza o danych (276) Deklarowanie zmiennych (277) Inicjalizowanie zmiennych (278) Zakres (282) Trwałość (289) Czas wiązania (290) Związek między typami danych i strukturami sterowania (292) Jedno przeznaczenie każdej zmiennej (293) Potęga nazwy zmiennej (297) Wybieranie dobrej nazwy (297) Nazwy a rodzaje danych (303) Potęga konwencji nazw (308) Nieformalne konwencje nazw (310) Standardowe prefiksy (317) Nazwy krótkie a czytelne (319) Nazwy, których należy unikać (322) Podstawowe typy danych (327) Liczby (327) Liczby całkowite (329) Liczby zmiennoprzecinkowe (331) Znaki i ciągi znakowe (333) Zmienne logiczne (336) Typy wyliczeniowe (338) Stałe nazwane (343) Tablice (345) Tworzenie własnych typów (aliasy) (346) Inne typy danych (355) Struktury (355) Wskaźniki (359) Dane globalne (371) Instrukcje (383) Struktura kodu liniowego (385) Instrukcje, które wymagają określonej kolejności (385) Instrukcje, których kolejność nie ma znaczenia (388) Instrukcje warunkowe (393) Instrukcje if (393) Instrukcje case (398) Pętle (405) Wybieranie rodzaju pętli (405) Sterowanie pętlą (410) Łatwe tworzenie pętli - od wewnątrz (422) Pętle i tablice (424) Nietypowe struktury sterowania (427) Wiele wyjść z procedury (427) Rekurencja (429) Instrukcja goto (434) Nietypowe struktury sterowania z perspektywy (444) Metody oparte na tabelach (449) Metody oparte na tabelach - wprowadzenie (449) Tabele o dostępie bezpośrednim (451) Tabele o dostępie indeksowym (462) Tabele o dostępie schodkowym (464) Inne metody wyszukiwania w tabelach (467) Ogólne problemy sterowania (469) Wyrażenia logiczne (469) Instrukcje złożone (bloki) (480) Instrukcje puste (481) Praca z głębokimi zagnieżdżeniami (482) Programowanie strukturalne (490) Struktury sterujące i złożoność (493) Sprawna praca z kodem (497) Jakość oprogramowania (499) Składowe jakości (499) Metody podwyższania jakości (502) Skuteczność metod podwyższania jakości (505) Kiedy przeprowadzać kontrolę jakości (509) Ogólna Zasada Jakości Oprogramowania (509) Programowanie zespołowe (513) Przegląd metod programowania zespołowego (514) Programowanie w parach (517) Formalne inspekcje (519) Inne metody programowania zespołowego (526) Testowanie (533) Rola testów programisty (534) Zalecane podejście do testów programisty (537) Praktyczne techniki testowania (539) Typowe błędy (550) Narzędzia wspomagające testowanie (556) Usprawnianie testów (561) Gromadzenie informacji o testach (563) Debugowanie (569) Wprowadzenie (569) Wyszukiwanie defektu (574) Usuwanie defektu (585) Debugowanie a psychologia (588) Narzędzia debugowania - oczywiste i mniej oczywiste (591) Refaktoryzacja (597) Ewolucja oprogramowania i jej odmiany (598) Refaktoryzacje - wprowadzenie (599) Wybrane refaktoryzacje (605) Bezpieczne przekształcanie kodu (613) Strategie refaktoryzacji (615) Strategie optymalizacji kodu (621) Wydajność kodu (622) Optymalizowanie kodu (625) Rodzaje otyłości i lenistwa (632) Pomiary (637) Iterowanie (639) Strategie optymalizacji kodu - podsumowanie (640) Metody optymalizacji kodu (645) Struktury logiczne (646) Pętle (651) Przekształcenia danych (660) Wyrażenia (665) Procedury (674) Reimplementacja w języku niskiego poziomu (675) Im bardziej świat się zmienia, tym więcej zostaje bez zmian (677) Środowisko programowania (681) Jak rozmiar programu wpływa na jego budowę (683) Wielkość projektu a komunikacja (684) Skala rozmiarów projektów (684) Wpływ wielkości projektu na liczbę błędów (685) Wpływ wielkości projektu na efektywność pracy (687) Wpływ wielkości projektu na wykonywaną pracę (687) Zarządzanie w programowaniu (695) Zachęcanie do budowy dobrego kodu (696) Zarządzanie konfiguracją (698) Budowanie harmonogramu (705) Pomiary (712) Ludzkie traktowanie programistów (715) Współpraca z przełożonymi (721) Integracja (725) Znaczenie metod integracji (725) Częstość integracji - końcowa czy przyrostowa? (727) Przyrostowe strategie integracji (730) Codzienna kompilacja i test dymowy (738) Narzędzia programowania (747) Narzędzia do projektowania (748) Narzędzia do pracy z kodem źródłowym (748) Narzędzia do pracy z kodem wykonywalnym (754) Środowiska narzędzi programowania (758) Budowanie własnych narzędzi (759) Narzędzia przyszłości (761) Rzemiosło programisty (765) Układ i styl (767) Techniki formatowania (774) Style formatowania (776) Formatowanie struktur sterujących (782) Formatowanie instrukcji (789) Formatowanie komentarzy (800) Formatowanie procedur (802) Formatowanie klas (804) Kod, który opisuje się sam (813) Zewnętrzna dokumentacja programu (813) Styl programowania jako dokumentacja (814) Komentować czy nie komentować (817) Zasady pisania dobrych komentarzy (821) Metody pisania komentarzy (828) Normy IEEE (849) Cechy charakteru (855) Czy osobowość jest bez znaczenia? (856) Inteligencja i skromność (857) Ciekawość (858) Uczciwość intelektualna (862) Komunikacja i współpraca (865) Kreatywność i dyscyplina (865) Lenistwo (866) Cechy, które znaczą mniej, niż myślisz (867) Nawyki (869) Powracające wątki - przegląd (873) Walka ze złożonością (873) Wybierz swój proces (875) Pisz programy dla ludzi, nie tylko dla komputerów (877) Programuj do języka, a nie w nim (879) Konwencje jako pomoc w koncentracji uwagi (880) Programowanie w kategoriach dziedziny problemu (881) Uwaga, spadające odłamki! (884) Iteruj, iteruj i jeszcze raz iteruj (886) Nie będziesz łączył religii z programowaniem (887) Gdzie znaleźć więcej informacji (891) Programowanie (892) Szersze spojrzenie na budowę oprogramowania (893) Periodyki (895) Plan czytelniczy programisty (896) Stowarzyszenia zawodowe (898)
Sygnatura czytelni BWEAiI: XII J 70
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. 144821 N (1 egz.)
Książka
W koszyku
Na stronie 4. okładki także nazwa wydawcy oryginału: Pearson.
Bibliografia, netografia na stronach 448-455.
Dla programistów i osób zaawansowanych w nauce programowania.
Kontekst centrum danych Sprzęt w centrach danych Oprogramowanie w centrum danych Latencja z długiego ogona rozkładu Model myślenia Szacowanie rzędu wielkości Dlaczego transakcje działają powoli? Pomiary procesorów Pomiar latencji instrukcji add Niepowodzenie z prostym, sekwencyjnym kodem Niepowodzenia z prostą pętlą, kosztami wykonywania pętli i kompilatorem optymalizującym Niepowodzenie z martwą zmienną . Lepsza pętla Zmienne zależne Faktyczna latencja wykonywania Pomiar czasu dostępu do pamięci Pamięć Struktura pamięci podręcznej Wyrównanie danych Struktura bufora TLB Pomiar wielkości wiersza pamięci podręcznej Problem: wstępne wczytywanie wiersza N + 1 Odczyt uzależniony od poprzedniej operacji Nielosowy dostęp do pamięci DRAM Pomiar łącznej wielkości każdego poziomu pamięci podręcznej Pomiar stopnia wielodrożności pamięci podręcznej na poszczególnych poziomach . Czas dostępu do bufora TLB Niepełne wykorzystanie pamięci podręcznej Interakcje procesora i pamięci Interakcje związane z pamięcią podręczną Dynamika prostego mnożenia macierzy Szacunki Inicjowanie, kontrola wyników i obserwacja Szybsze mnożenie macierzy metodą transpozycji Szybsze mnożenie macierzy z wykorzystaniem podbloków Obliczenia z uwzględnianiem pamięci podręcznej . Pomiar dysków twardych i nośników SSD Dyski twarde Nośniki SSD Dostęp do dysku w programie i buforowanie danych na dysku Odczyt danych z dysku Zapis danych na dysku Odczyt danych z nośnika SSD Zapis danych na nośniku SSD Pomiary dotyczące sieci Ethernet Koncentratory, przełączniki i routery Protokół TCP/IP . Pakiety Wywołania RPC Niezidentyfikowany czas Obserwowanie ruchu w sieci Definicja przykładowego komunikatu RPC Projekt rejestrowania zdarzeń Przykładowy system klient-serwer oparty na wywołaniach RPC Przykładowy program serwera Blokady wirujące Przykładowy program klienta Pomiar jednego przykładowego wywołania RPC między klientem a serwerem Przetwarzanie końcowe dzienników wywołań RPC Dyskowa baza danych i jej interakcje z siecią Wyrównywanie pomiarów czasu Blokady wirujące Baza danych na dysku Rejestrowanie informacji Wyjaśnienie zmienności latencji transakcji Rejestrowanie zdarzeń Narzędzia do obserwacji Podstawowe mechanizmy rejestrowania zdarzeń Rozbudowane rejestrowanie zdarzeń Znaczniki czasu Identyfikatory wywołań RPC Formaty plików dziennika Zarządzanie plikami dziennika Miary zagregowane Zdarzenia występujące jednostajnie i seryjnie Mierzone okresy Oś czasu Dalsze podsumowywanie osi czasu Skale czasowe dla histogramów Agregowanie pomiarów dotyczących zdarzeń Zmiany wzorców wartości w czasie Czas między aktualizacjami Panele kontrolne Przykładowa usługa Przykładowe panele kontrolne Główny panel kontrolny Panele kontrolne instancji Panele kontrolne serwerów Testy poprawności Rodzaje narzędzi do obserwacji Obserwowane dane Polecenie top . Pseudopliki /proc i /sys Polecenie time Polecenie perf Narzędzie oprofile, profiler procesora Narzędzie strace, wywołania systemowe Narzędzie ltrace, wywołania bibliotek języka C w procesorze Narzędzie ftrace, śledzenie funkcji jądra w procesorze Operacje malloc i free, narzędzie mtrace Śledzenie operacji dyskowych, narzędzie blktrace Śledzenie sieci, tcpdump i Wireshark Blokady sekcji krytycznych, narzędzie locktrace Oferowane obciążenie, wywołania wychodzące i latencja transakcji Ślady Przykład: jeden z pierwszych śladów licznika programu Przykład: liczba instrukcji i czas na funkcję Studium przypadku: ślady poszczególnych funkcji w serwisie Gmail Zasady projektowania narzędzi do obserwacji Jakie koszty są dopuszczalne? Konsekwencje projektowe Studium przypadku: kubełki w histogramie Projektowanie sposobu wyświetlania danych Narzędzie KUtrace Implementacja Patche i moduł jądra Program sterujący Przetwarzanie końcowe Uwagi na temat bezpieczeństwa KUtrace: patche jądra Linuksa Struktury danych bufora śladu Format surowych bloków śladu Rekordy śladu Rekordy z liczbą instrukcji na cykl (I/C) Znaczniki czasu . Numery zdarzeń Zagnieżdżone rekordy śladu Kod Śledzenie pakietów Patche dla procesorów x86-64 firm AMD i Intel . KUtrace: wczytywany moduł dla systemu Linux Struktury danych interfejsu jądra Wczytywanie i zwalnianie modułu Inicjowanie śledzenia i sterowanie nim Implementacja wywołań do generowania śladu . Insert1 InsertN Przełączanie się do nowego bloku . KUtrace: sterowanie w trybie użytkownika Sterowanie procesem śledzenia Samodzielny program kutrace_control Podstawowa biblioteka kutrace_lib . Interfejs do sterowania wczytywanym modułem . Przetwarzanie końcowe w narzędziu KUtrace Program rawtoevent Program eventtospan Program spantotrim Program spantospan Programy samptoname_k i samptoname_u Program makeself Format plików JSON w narzędziu KUtrace KUtrace: wyświetlanie dynamiki działania oprogramowania Obszar 1 — kontrolki Obszar 2 — oś y Obszar 3 — osie czasu Obszar 4 — legenda dotycząca liczby instrukcji na cykl Obszar 5 — oś x Obszar 6 — zapisywanie i wczytywanie Kontrolki pomocnicze Wykonywanie za dużej ilości kodu Powolne wykonywanie kodu Konkurujący program z operacjami zmiennoprzecinkowymi Konkurujący program korzystający z pamięci Oczekiwanie na procesor Oczekiwanie na pamięć Oczekiwanie na dysk Odczyt 40 MB Odczyt sekwencyjnych bloków po 4 KB Odczyt losowych bloków po 4 KB Zapis i synchronizacja 40 MB na nośniku SSD Odczyt 40 MB z nośnika SSD Dwa programy jednocześnie używające dwóch plików Oczekiwanie na sieć Oczekiwanie na blokady Proste zajmowanie blokady Nasycenie blokady Zawłaszczenie blokady Zagłodzenie w oczekiwaniu na blokadę Oczekiwanie na podstawie czasu Okresowe wykonywanie pracy Limity czasu Podział czasu Wewnętrzne opóźnienia w wykonywaniu Oczekiwanie na kolejki Rozkład żądań Struktura kolejki Operacje Dequeue Operacja Enqueue Klasa blokady wirującej Procedura odpowiedzialna za „pracę” Częstotliwość procesora Oczekiwanie na procesory — dziennik wywołań RPC Analiza oczekiwania na procesor za pomocą narzędzia KUtrace Błąd w klasie PlainSpinLock Poprawiona klasa PlainSpinLock zapewniająca obserwowalność Równoważenie obciążenia Zapewnianie obserwowalności długości kolejki Aktywne oczekiwanie na końcu Sprzęt z przykładowych serwerów Łącza serwerów Rekordy śladu Rekordy śladu o stałej długości . Rekordy o zmiennej długości Numery zdarzeń Zdarzenia wstawiane przez patche narzędzia KUtrace dla jądra Zdarzenia wstawiane przez kod trybu użytkownika Zdarzenia wstawiane przez kod przetwarzania końcowego
Sygnatura czytelni BWEAiI: XII J 120
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. 153437 N (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153438 N (1 egz.)
Książka
CD
W koszyku
(Open Source)
U góry s. tyt. i okł.: Naucz się czytać i rozumieć kod źródłowy programów [...]
Bibliogr. s. [413]-426. Indeks.
Streszczenie: Książka to podręcznik poświęcony czytaniu kodu źródłowego jako osobnej dziedzinie wiedzy. Zawiera ponad 600 przykładów, w których wykorzystywane są kody oprogramowania open source , przedstawia sposoby identyfikowania dobrego i złego kodu, czytania go, przeszukiwania pod kątem konkretnych funkcji oraz wykorzystywania umiejętności czytania kodu do poprawy jakości kodów źródłowych pisanych samodzielnie.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 111783 L (1 egz.)
Książka
W koszyku
Asynchroniczne metody radiolokalizacyjne : ubiquitous positioning / Jacek Stefański. - Warszawa : Wydawnictwo Naukowe PWN, copyright 2018. - 180, [1] strona : ilustracje, portret, wykresy ; 24 cm.
Bibliografia na stronach [139]-145.
Rozdział 2. KRYTERIA OCENY JAKOŚCIOWEJ METOD RADIOLOKALIZACYJNYCH 2.1.Definicje parametrów jakościowych 2.2.Opis modelu symulacyjnego Rozdział 3. METODA ATOA 3.1.Opis metody 3.2.Analiza matematyczna metody 3.3.Rozmycie położenia PDoP 3.4.Dolna granica Cramera-Rao 3.5.Wyniki badań symulacyjnych 3.6.Nakład przetwarzania zastosowanych algorytmów Rozdział 4. METODA ATDOA 4.1.Opis metody 4.2.Analiza matematyczna metody 4.3.Rozmycie położenia PDoP 4.4.Dolna granica Cramera-Rao 4.5.Wyniki badań symulacyjnych 4.6.Nakład przetwarzania zastosowanych algorytmów Rozdział 5. METODA HYBRYDOWA ATOA I ATDOA 5.1.Opis metody 5.2.Analiza matematyczna metody 5.3.Rozmycie położenia PDoP 5.4.Dolna granica Cramera-Rao 5.5.Wyniki badań symulacyjnych 5.6.Nakład przetwarzania zastosowanych algorytmów Rozdział 6. METODA ATDOA Z KOMPENSACJĄ WSPÓŁCZYNNIKÓW DRYFTU ZEGARÓW STACJI REFERENCYJNYCH 6.1.Opis metody 6.2.Analiza matematyczna metody 6.3.Wyniki badań symulacyjnych
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 146434 (1 egz.)
Książka
W koszyku
Na stronie tytułowej, okładce i grzbiecie także nazwa wydawcy oryginału: O'Reilly.
Dla początkujących i doświadczonych programistów.
Czytanie kodu C++ dla programistów Pythona JavaScriptu
Sygnatura czytelni BWEAiI: XII F 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. 154694 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