Sekretne życie programów (EPUB) Wrocław

W Sekretnym życiu programów doświadczony inżynier oprogramowania Jonathan E. Steinhart bada i to dogłębnie technologie i idee leżące u podstaw maszyn, na których pracujemy. Bada m.in. sprzęt komputerowy, zachowanie oprogramowania na konkretnym sprzęcie, a także sposób, w jaki różni ludzie …

od 94 Najbliżej: 0,9 km

Liczba ofert: 9

Oferta sklepu

Opis

W Sekretnym życiu programów doświadczony inżynier oprogramowania Jonathan E. Steinhart bada i to dogłębnie technologie i idee leżące u podstaw maszyn, na których pracujemy. Bada m.in. sprzęt komputerowy, zachowanie oprogramowania na konkretnym sprzęcie, a także sposób, w jaki różni ludzie rozwiązywali w przeszłości różne zawiłe problemy. Spis treści: OkładkaStrona tytułowaStrona redakcyjnaPODZIĘKOWANIAWSTĘPWPROWADZENIEDlaczego dobre programowanie jest ważneNauka programowania to dopiero początekZnaczenie podstawowej wiedzyKto powinien przeczytać tę książkę?Czym jest komputer?Czym jest programowanie?Kodowanie, programowanie, inżynieria i informatykaKrajobrazCo się znajduje w tej książce1. JĘZYK WEWNĘTRZNY KOMPUTERÓWCzym jest język?Język pisanyBitOperacje logiczneAlgebra boolowskaPrawo de MorganaPrzedstawianie liczb naturalnych za pomocą bitówPrzedstawianie liczb dodatnichDodawanie binarnePrzedstawianie liczb ujemnychPrzedstawianie liczb rzeczywistychPostać stałoprzecinkowaPostać zmiennoprzecinkowaStandard liczb zmiennoprzecinkowych IEEEZapis dziesiętny kodowany dwójkowoŁatwiejsze sposoby pracy z liczbami dwójkowymiPostać ósemkowaPostać szesnastkowaPrzedstawienie kontekstuNazewnictwo grup bitówPrzedstawianie tekstuAmerykański standardowy kod do wymiany informacji (ASCII)Rozwój innych standardów8-bitowy format transformacji UnicodeUżywanie znaków do przedstawiania liczbKodowanie Quoted-PrintableKodowanie Base64Kodowanie URLPrzedstawianie barwDodanie przejrzystościKodowanie kolorówPodsumowanie2. UKŁADY KOMBINACYJNEW obronie komputerów cyfrowychRóżnica między analogowym a cyfrowymDlaczego rozmiar sprzętu ma znaczenieCyfrowe urządzenia są stabilniejszeCyfrowe urządzenia w analogowym świecieDlaczego używamy bitów zamiast cyfrKrótkie wprowadzenie do elektrycznościAnalogia hydraulicznaPrzełączniki elektryczneBudowanie sprzętu do obsługi bitówPrzekaźnikiLampy próżnioweTranzystoryUkłady scaloneBramki logiczneHistereza jako sposób na zwiększenie odporności na szumPrzesyłanie różnicoweCzas propagacjiRodzaje wyjśćBudowa bardziej skomplikowanych obwodówBudowa sumatoraBudowa dekoderówBudowa demultiplekserówBudowa selektorówPodsumowanie3. UKŁADY SEKWENCYJNEPrzedstawianie czasuOscylatoryZegaryPrzerzutnikiPrzerzutniki bramkowaneFlip-flopyLicznikiRejestryOrganizacja i adresowanie pamięciPamięć o dostępie swobodnym (RAM)Pamięć tylko do odczytu (ROM)Urządzenia blokowePamięć typu Flash oraz napędy SSDWykrywanie i naprawianie błędówSprzęt kontra oprogramowaniePodsumowanie4. ANATOMIA KOMPUTERAPamięćWejście i wyjścieJednostka centralnaJednostka arytmetyczno-logicznaPrzesuwalnośćJednostka wykonawczaPlan instrukcjiInstrukcjeTryby adresowaniaInstrukcje kodów warunkowychInstrukcje rozgałęzieniaOstateczny plan instrukcjiOstateczny projektRejestr instrukcjiŚcieżki danych i sygnały kontrolneSterowanie ruchemZbiory instrukcji RISC i CISCProcesor graficznyPodsumowanie5. ARCHITEKTURA KOMPUTERAPodstawowe elementy architektoniczneRdzenie procesoraMikroprocesory i mikrokomputeryProcedury, podprogramy i funkcjeStosyPrzerwaniaAdresowanie względneJednostki zarządzania pamięciąPamięć wirtualnaPrzestrzeń użytkownika i przestrzeń systemowaHierarchia pamięci i wydajnośćKoprocesoryUkład danych w pamięciWykonywanie programówZasilanie pamięciPodsumowanie6. ANALIZA KOMUNIKACJINiskopoziomowe we/wyPorty we/wyPowciskaj mi przyciskiNiech się staną światełkaŚwiatła, akcja, Jaśnie oświeceni2n twarzy GrayaKwadraturaKomunikacja równoległaKomunikacja szeregowaZłap falęUniwersalna magistrala szeregowaSiećWspółczesne sieci LANInternetTCP/IPAdresy IPSystem nazw domenWorld Wide Web (WWW)Urządzenia analogowe w świecie cyfrowymKonwersja cyfrowego na analogoweKonwersja analogowego na cyfroweCyfrowy dźwiękObrazy cyfroweFilmyUrządzenia do interakcji z człowiekiemTerminaleTerminale graficzneGrafika wektorowaGrafika rastrowaKlawiatura i myszPodsumowanie7. ORGANIZACJA DANYCHPodstawowe typy danychTabliceBitmapyŁańcuchy tekstoweZłożone typy danychListy powiązaneDynamiczna alokacja pamięciWydajniejsza alokacja pamięciZbieranie śmieciListy podwójnie powiązaneHierarchiczne struktury danychMagazyny dla masBazy danychIndeksyPrzenoszenie danychWektorowane wejście/wyjściePułapki programowania obiektowegoSortowanieMieszanieWydajność oprogramowania a parametry sprzętowePodsumowanie8. PRZETWARZANIE JĘZYKAJęzyk asembleraJęzyki wysokopoziomoweProgramowanie strukturalneAnaliza leksykalnaMaszyny stanoweWyrażenia regularneOd słów do zdańKlub języka dniaDrzewa wyprowadzeniaInterpreteryKompilatoryOptymalizacjaOstrożnie ze sprzętemPodsumowanie9. PRZEGLĄDARKI INTERNETOWEJęzyki znacznikówUjednolicony format określania lokalizacjiDokumenty HTMLDOMLeksykon drzewaInterpretacja DOMKaskadowe arkusze stylów (CSS)XML i przyjacieleJavaScriptjQuerySVGHTML5JSONPodsumowanie10. PROGRAMOWANIE APLIKACYJNE I SYSTEMOWEZgadnij co to za zwierzę, wersja 1: HTML i JavaScriptSzkielet poziomu aplikacjiElement strony internetowejJavaScriptCSSZgadnij co to za zwierzę, wersja 2: CTerminale i wiersz poleceńBudowanie programuTerminale i sterowniki urządzeńPrzełączanie kontekstówStandardowe wejście/wyjścieBufory cykliczneLepszy kod dzięki dobrym abstrakcjomNieco mechanikiPrzepełnienie buforaProgram w CTreningPodsumowanie11. SKRÓTY I PRZYBLIŻENIAWyszukiwanie w tabeliKonwersjaTeksturowanieKlasyfikacja znakówMetody typu całkowitegoLinie prosteZakręcone krzyweWielomianyRekursywne podziałySpiraleGeometria konstruktywnaPrzesuwanie i maskowanieWięcej unikania matmyPrzybliżenia za pomocą szeregu potęgowegoAlgorytm CORDICRzeczy nieco losoweKrzywe wypełniające płaszczyznęL-systemyWejście w stochastykęKwantyzacjaPodsumowanie12. ZAKLESZCZENIA I WYŚCIGICo to jest wyścig?Zasoby współdzieloneWątki i procesyBlokadyTransakcje i ziarnistośćCzekając na semaforZakleszczeniaImplementacja zamka krótkoterminowegoImplementacja zamka długoterminowegoJavaScript przeglądarkiFunkcje asynchroniczne i obietnicePodsumowanie13. BEZPIECZEŃSTWOPrzegląd zagadnień z tematyki bezpieczeństwa i prywatnościModel zagrożeniaZaufanieZabezpieczenia fizyczneZabezpieczenia komunikacjiWspółczesnośćMetadane i nadzórKontekst społecznyUwierzytelnienie i autoryzacjaKryptografiaSteganografiaSzyfry podstawienioweSzyfry przestawienioweBardziej złożone szyfrySzyfry z kluczem jednorazowymProblem wymiany kluczyKryptografia klucza publicznegoUtajnianie przekazywaniaKryptograficzne funkcje mieszającePodpisy cyfroweInfrastruktura klucza publicznegoBlockchainZarządzanie hasłamiHigiena oprogramowaniaChroń właściwe rzeczySprawdzaj logikę do upadłegoSzukaj błędówMinimalizuj powierzchnię atakuPozostań w wyznaczonych granicachWygenerowanie dobrej liczby losowej jest trudneZnaj swój kodSkrajny spryt to twój wrógZrozum, co jest widoczneNie przesadzaj ze zbieraniem danychNie gromadźDynamiczna alokacja pamięci nie jest twoim przyjacielemZbieranie śmieci też nie jest twoim przyjacielemDane jako kodPodsumowanie14. SZTUCZNA INTELIGENCJAOgólny zarysUczenie się maszynBayesGaussSobelCannyEkstrakcja cechSieci neuronoweZastosowanie uczenia się maszynSztuczna inteligencjaBig DataPodsumowanie15. ŚWIAT REALNYPropozycja wartościJak się tu znaleźliśmyHistoria w skrócieOtwarte oprogramowanieCreative CommonsGwałtowny wzrost przenośnościSystemy zarządzania pakietamiKonteneryJavaNode.jsChmura obliczeniowaMaszyny wirtualneUrządzenia mobilneŚrodowisko programistyczneCzy jesteś doświadczony?Nauka szacowaniaPlanowanie projektówPodejmowanie decyzjiWspółpraca z różnymi osobowościamiPoruszanie się wśród kultury miejsca pracyPodejmowanie decyzji na podstawie wiedzyMetodologie rozwoju oprogramowaniaPlanowanie projektuSpiszmy toSzybkie prototypowanieProjekt interfejsuPonowne użycie kodu kontra pisanie własnegoRozwój projektuRozmowaDojrzała relacja z komputeramiTerminale i powłokiEdytory tekstuKod przenośnyKontrola wersjiTestowanieRaportowanie i śledzenie błędówRefaktoryzacjaUtrzymywanieDbaj o stylNaprawiaj, a nie pisz od nowaPodsumowaniePRZYPISY

Specyfikacja

Podstawowe informacje

Autor
  • Joanathan E. Steinhart
Rok wydania
  • 2021
Format
  • PDF
  • MOBI
  • EPUB
Ilość stron
  • 516
Kategorie
  • Programowanie
Wydawnictwo
  • PWN