Inne - Programowanie
TypeScript: Skuteczne programowanie
Dan Vanderkam
TypeScript jest typowanym nadzbiorem języka JavaScript, stanowiącym potencjalne rozwiązanie wielu słynnych bolączek, z którymi borykają się programiści JavaScript. Aby skutecznie programować w TypeScript, musimy poświęcić czas na naukę i praktykę. Niniejsza praktyczna książka, wykorzystująca metody spopularyzowane w książkach Skuteczny nowoczesny C++ (APN Promise) i Java. Efektywne programowanie (Helion), zawiera omówienie 62 zagadnień wraz z konkretnymi zaleceniami jak należy korzystać z języka, czego należy unikać, a także jak powinno się go postrzegać. Autor, Dan Vanderkam, główny programista w Sidewalk Labs, prezentuje praktyczne przykłady zastosowania każdej porady. Dzięki tej książce początkujący i średniozaawansowani programiści znający podstawy TypeScript osiągną poziom ekspertów, doskonale posługujących się tym językiem. Poznaj praktyczne aspekty systemu typowania w języku TypeScript Definiuj typy, dzięki którym kod będzie bezpieczniejszy i bardziej zrozumiały Używaj inferencji typów, aby uzyskać pełne bezpieczeństwo przy minimalnej liczbie oznaczeń typów Korzystaj w taktyczny sposób z typu any Poznaj mechanizm zależności i skorzystaj z plików deklaracji typów w TypeScript Z powodzeniem przenieś swój kod JavaScript do TypeScript Dan Vanderkam jest głównym programistą w Sidewalk Labs i współorganizatorem spotkań społeczności TypeScript NYC. Od dawna uczestniczy w projektach typu Open Source. Wcześniej pracował na uniwersytecie Icahn School of Medicine at Mount Sinai, a także uczestniczył w rozwijaniu funkcji wyszukiwania, wykorzystywanych przez miliardy użytkowników Google. TypeScript. Skuteczne programowanie odpowiada na większość najczęstszych pytań, jakie nasuwają się podczas pracy z TypeScript, a także oferuje porady praktyczne, ukierunkowane na wyniki. Niezależnie od poziomu znajomości TypeScript, z pewnością każdy znajdzie w tej książce coś dla siebie. Ryan Cavanaugh Główny inżynier ds. TypeScript w firmie Microsoft Ta książka obfituje w praktyczne przepisy i powinna się znaleźć na biurku każdego programisty TypeScript. Nawet jeśli uważasz, że znasz już TypeScript, koniecznie ją przeczytaj. Z pewnością tego nie pożałujesz. Yakov Fain Java Champion
TypeScript: Skuteczne programowanie, wyd. II. 83 sposoby ulepszania kodu TypeScript
Dan Vanderkam
TypeScript jest typowanym nadzbiorem języka JavaScript, stanowiącym potencjalne rozwiązanie wielu słynnych bolączek, z którymi borykają się programiści JavaScript. Aby skutecznie programować w TypeScript, musimy poświęcić czas na naukę i praktykę. Niniejsza praktyczna książka, wykorzystująca metody spopularyzowane w książkach Skuteczny nowoczesny C++ (wyd. polskie APN Promise) i Java. Efektywne programowanie (Helion), zawiera omówienie 83 zagadnień wraz z konkretnymi zaleceniami, jak należy korzystać z języka, czego należy unikać, a także jak powinno się go postrzegać. Autor, Dan Vanderkam, prezentuje praktyczne przykłady zastosowania każdej porady. Dzięki tej książce początkujący i średniozaawansowani programiści znający podstawy TypeScript osiągną poziom ekspertów, doskonale posługujących się tym językiem. Uaktualnione do wersji TypeScript 5 drugie wydanie zawiera dwa nowe rozdziały na temat programowania na poziomie typów oraz wiele nowych praktycznych przepisów. - Poznaj praktyczne aspekty systemu typów języka TypeScript - Używaj inferencji typów, aby uzyskać pełne bezpieczeństwo przy minimalnej liczbie oznaczeń typów - Definiuj typy, dzięki którym kod będzie bezpieczniejszy i bardziej zrozumiały - Modeluj złożone API przy użyciu typów generycznych i programowania na poziomie typów - Dowiedz się, jak działa mechanizm rozwiązywania zależności i pliki deklaracji typów w TypeScript - Z powodzeniem przenieś swój kod JavaScript do TypeScript Dan Vanderkam jest niezależnym inżynierem oprogramowania i długotrwałym użytkownikiem, autorem i współtwórcą ekosystemu TypeScript. Pracował jako główny programista w Sidewalk Labs i jako starszy inżynier oprogramowania w Google, gdzie uczestniczył w rozwijaniu funkcji wyszukiwania, wykorzystywanych przez miliardy użytkowników. "TypeScript. Skuteczne programowanie odpowiada na większość najczęstszych pytań, jakie nasuwają się podczas pracy z TypeScript, a także oferuje porady praktyczne, ukierunkowane na wyniki. Niezależnie od poziomu znajomości TypeScript, z pewnością każdy znajdzie w tej książce coś dla siebie". -Ryan Cavanaugh Główny inżynier ds. TypeScript w firmie Microsoft
U mnie działa. Język branży IT. Wydanie II
Paweł Baszuro
Przeczytaj i zrozum - język branży IT dla każdego Informatyczny żargon dla przeciętnego odbiorcy Praktyczna wiedza o wytwarzaniu oprogramowania Skuteczna komunikacja z przedstawicielami branży IT Jeśli nie mieszkasz w jaskini na końcu świata, komputery prawdopodobnie opanowały już niemal każdy obszar Twojego życia. Otaczają Cię dosłownie ze wszystkich stron i pomagają w wielu codziennych czynnościach. Z pewnością używasz ich do komunikacji, rozrywki, pracy i nauki, robisz za ich pomocą zakupy i planujesz wakacje. Dzięki komputerom Twoja codzienność jest prostsza i przyjemniejsza... do czasu, gdy musisz coś załatwić z kimś, kto odpowiada za ich programowanie. W tym momencie wszystko się komplikuje, a Ty przestajesz cokolwiek rozumieć. Jeśli w takich chwilach zadajesz sobie pytanie, o co temu człowiekowi chodzi, a takie terminy jak release, agile, repozytorium, ticket, legacy, implementacja, merge, request, storyboard, bug, backend, branch, log czy mock wywołują u Ciebie dreszcz przerażenia - spieszymy z pomocą! Dzięki tej książce nie tylko poznasz terminologię informatyczną, lecz również zdobędziesz wiedzę o procesie projektowania, tworzenia i utrzymywania oprogramowania komputerowego, a także dowiesz się, jak się skutecznie komunikować z zaangażowanymi w to osobami. Przy użyciu prostego języka i na praktycznych przykładach autor wprowadzi Cię w świat IT i sprawi, że przestaniesz się pocić na widok informatyka. Nauka każdego języka wymaga słownika - oto Twój słownik! Terminologia używana w świecie informatyków Etapy wytwarzania i wdrażania oprogramowania Definiowanie wymagań i zrozumienie procesu Komunikacja z przedstawicielami środowiska informatycznego Praktyczne przykłady z codziennego życia Dowiedz się, jak się porozumieć z programistą!
Uczenie głębokie od zera. Podstawy implementacji w Pythonie
Seth Weidman
Uczenie głębokie (ang. deep learning) zyskuje ostatnio ogromną popularność. Jest to ściśle związane z coraz częstszym zastosowaniem sieci neuronowych w przeróżnych branżach i dziedzinach. W konsekwencji inżynierowie oprogramowania, specjaliści do spraw przetwarzania danych czy osoby w praktyce zajmujące się uczeniem maszynowym muszą zdobyć solidną wiedzę o tych zagadnieniach. Przede wszystkim trzeba dogłębnie zrozumieć podstawy uczenia głębokiego. Dopiero po uzyskaniu biegłości w posługiwaniu się poszczególnymi koncepcjami i modelami możliwe jest wykorzystanie w pełni potencjału tej dynamicznie rozwijającej się technologii. Ten praktyczny podręcznik, poświęcony podstawom uczenia głębokiego, zrozumiale i wyczerpująco przedstawia zasady działania sieci neuronowych z trzech różnych poziomów: matematycznego, obliczeniowego i konceptualnego. Takie podejście wynika z faktu, że dogłębne zrozumienie sieci neuronowych wymaga nie jednego, ale kilku modeli umysłowych, z których każdy objaśnia inny aspekt działania tych sieci. Zaprezentowano tu również techniki implementacji poszczególnych elementów w języku Python, co pozwala utworzyć działające sieci neuronowe. Dzięki tej książce stanie się jasne, w jaki sposób należy tworzyć, uczyć i stosować wielowarstwowe, konwolucyjne i rekurencyjne sieci neuronowe w różnych praktycznych zastosowaniach. W książce między innymi: matematyczne podstawy uczenia głębokiego tworzenie modeli do rozwiązywania praktycznych problemów standardowe i niestandardowe techniki treningu sieci neuronowych rozpoznawanie obrazów za pomocą konwolucyjnych sieci neuronowych rekurencyjne sieci neuronowe, ich działanie i implementacja praca z wykorzystaniem biblioteki PyTorch Uczenie głębokie: zrozum, zanim zaimplementujesz!
Uczenie maszynowe dla programistów
Drew Conway, John Myles White
Wyciągnij najlepsze wnioski z dostępnych danych! Maszyna myśląca jak człowiek to marzenie ludzkości. Dzięki dzisiejszej wiedzy i dostępnym narzędziom wciąż przybliżamy się do jego spełnienia. Zastanawiasz się, jak nauczyć maszynę myślenia? Jak sprawić, żeby podejmowała trafne decyzje oraz przewidywała najbliższą przyszłość na podstawie przygotowanych modeli? Na to i wiele innych pytań odpowiada ta wspaniała książka. Dzięki niej poznasz język R, nauczysz się eksplorować dostępne dane, określać wartość mediany i odchylenia standardowego oraz wizualizować powiązania między kolumnami. Gdy opanujesz już solidne podstawy teoretyczne, możesz śmiało przejść do kolejnych rozdziałów i zapoznać się z klasyfikacją binarną, tworzeniem rankingów oraz modelowaniem przyszłości przy użyciu regresji. Ponadto zrozumiesz, jak tworzyć systemy rekomendacyjne, analizować sieci społeczne oraz łamać szyfry. Książka ta jest doskonałą lekturą dla pasjonatów analizy danych i wyciągania z nich wniosków. Każdy rozdział książki jest poświęcony konkretnemu zagadnieniu uczenia maszynowego: klasyfikacji, predykcji, regresji, optymalizacji i wreszcie rekomendacji. Czytelnik nauczy się konstruować proste algorytmy uczenia maszynowego (i przepuszczać przez nie próbki danych) za pomocą języka programowania R. Uczenie maszynowe dla programistów jest więc znakomitą lekturą dla programistów parających się czy to projektami komercyjnymi, czy to rządowymi, czy wreszcie akademickimi. Skonstruuj prosty klasyfikator bayesowski odróżniający wiadomości treściwe od niechcianych na podstawie ich zawartości. Używaj regresji liniowej do przewidywania liczby odwiedzin najpopularniejszych stron WWW. Naucz się optymalizacji, próbując złamać prosty szyfr literowy. Statystycznie skonfrontuj poglądy polityków, używając rejestru głosowań. Zbuduj system rekomendacji wartościowych twitterowców. Naucz się czytać i analizować dane! Książka ta stanowi świetny przegląd przypadków i tuzina różnych technik uczenia maszynowego. Jest ukierunkowana na proces dochodzenia do rozwiązania, a nie gotowe recepty ani abstrakcyjne teorie; dzięki temu jej materiał jest dostępny dla wszystkich programistów, ale też przysłowiowych „umysłów ścisłych” — Max Shron, OkCupid
Unity. Tworzenie gier mobilnych
Jon Manning, Paris Buttfield-Addison
Napisz raz, uruchamiaj wszędzie Unity jest zintegrowanym środowiskiem do tworzenia trójwymiarowych i dwuwymiarowych gier komputerowych oraz innych materiałów interaktywnych. Szczególnie dobrze nadaje się do pisania gier, które mają działać na wielu różnych urządzeniach i w różnych systemach operacyjnych, szczególnie w środowisku mobilnym. Co istotne, Unity pozwala na prowadzenie prac w szybkim tempie, a sam sposób tworzenia jest nieskomplikowany i bardzo intuicyjny. Wszystko to sprawia, że za pomocą Unity nawet osoba bez praktycznego doświadczenia szybko zacznie tworzyć piękne gry na urządzenia z systemami iOS i Android. W tej książce w wyczerpujący sposób opisano proces tworzenia gier. Wyjaśniono tu zarówno podstawowe, jak i bardziej zaawansowane pojęcia i techniki związane ze stosowaniem środowiska Unity. Najpierw przedstawiono podstawowe informacje na temat Unity. Zaprezentowano struktury gier, grafiki, skryptów, dźwięków, fizyki oraz systemów cząsteczkowych. Następnie opisano pełny proces tworzenia gry 2D oraz 3D. W książce omówiono także bardziej zaawansowane zagadnienia związane ze stosowaniem środowiska Unity, takie jak programowanie oświetlenia sceny, graficzny interfejs użytkownika, rozszerzanie edytora Unity, sklep Unity asset store, a także wdrażanie gier oraz cechy zależne od platform systemowych. Najważniejsze zagadnienia: podstawy środowiska Unity i pisanie skryptów stosowanie zasad fizyki oraz budowa systemów cząsteczkowych tworzenie arkadowej gry akcji z przewijanym tłem tworzenie symulatora walki w kosmosie korzystanie z niestandardowych narzędzi Zostań stwórcą. Zaprojektuj własny świat. Użyj Unity. Dr Jon Manning oraz dr Paris Buttfield-Addison są współzałożycielami firmy Secret Lab, zajmującej się pisaniem gier oraz narzędzi do ich tworzenia. W swoim dorobku mają takie gry, jak ABC Play School, Night in the Woods oraz Qantas Joey Playbox. Poza grami Manning i Buttfield-Addison tworzą YarnSpinner - framework do tworzenia gier narracyjnych. Wcześniej pracowali jako programiści gier mobilnych oraz menedżerowie produktu w firmie Meebo (wykupionej przez Google).
Uporządkowany kod. Ćwiczenia z empirycznego projektowania oprogramowania
Kent Beck
Niechlujny kod to koszmar programisty. Utrudnia zrozumienie logiki programu i często prowadzi do problemów z debugowaniem. Komplikuje modyfikację i rozbudowę programu, pogarsza współpracę z zespołem. Z kolei uporządkowany kod jest zrozumiały i łatwy w utrzymaniu. To proste: czysty kod to szczęśliwy programista! To ważna książka na ważny temat! Dave Farley, założyciel i dyrektor Continuous Delivery Ltd. Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowane przepływy pieniężne i opcjonalność. Porządkowanie kodu jest tu przedstawione jako element codziennej pracy programisty, prowadzący do poprawy struktury całego projektu. W książce znalazło się mnóstwo praktycznych przykładów, dzięki którym można wypróbować wybrane techniki, najlepiej sprawdzające się w danym przypadku. W tej książce znajdziesz praktyczne rady dotyczące ulepszania kodu. Sam Newman, autor książek Budowanie mikrousług i Od monolitu do mikrousług Najciekawsze zagadnienia: teoretyczne podstawy projektowania oprogramowania różnica między zmianami działania systemu a zmianami jego struktury najlepszy czas na sprzątanie kodu dokonywanie dużych zmian małymi krokami projektowanie oprogramowania jako ćwiczenie z obszaru relacji międzyludzkich Tę książkę polecam każdemu, komu zależy na czystym i czytelnym kodzie! Gergely Orosz, autor newslettera The Pragmatic Engineer
USB. Praktyczne programowanie z Windows API w C++
Andrzej Daniluk
Dowiedz się więcej o działaniu USB i poznaj metody programowania transmisji danych W jaki sposób odbywa się transfer danych? Jak odblokować urządzenia do transmisji? Na czym polega programowanie obiektowe transmisji USB? USB (skrót od ang. Universal Serial Bus -- uniwersalna magistrala szeregowa) to rodzaj bardzo praktycznego portu komunikacyjnego, dzięki któremu możliwe jest podłączanie do komputera wielu różnych urządzeń, takich jak mysz, kamera, aparat fotograficzny, telefon komórkowy, modem, skaner, przenośna pamięć. Podłączone w ten sposób urządzenia są od razu wykrywane i rozpoznawane przez system, dzięki czemu instalacja sterowników i konfiguracja sprzętu odbywają się zwykle automatycznie. Książka "USB. Praktyczne programowanie z Windows API w C++" w zwięzły sposób przedstawia wszelkie zagadnienia, dotyczące użytkowania i programowania transmisji USB. Korzystając z tego podręcznika, poznasz nie tylko teoretyczne podstawy działania USB, ale także zdobędziesz praktyczne umiejętności w tym zakresie. Książka zawiera bowiem zarówno konkretne przykłady, jak i ćwiczenia do samodzielnego wykonania dla wszystkich, którzy chcą zyskać wiedzę na zaawansowanym poziomie. Dowiesz się między innymi, jakie są rodzaje transferów danych i transakcji USB, za co odpowiadają komponenty i jak wykorzystać wzorce projektowe. Zrozumiesz także metody projektowania obiektowego oraz implementacji oprogramowania sterującego łączem USB. Środowisko fizyczne i sygnałowe USB Klasy instalacji urządzeń Rejestr systemowy Transmisja danych Struktura systemu USB Detekcja i identyfikacja urządzeń Odczyt i zapis danych w formie raportu Programowanie obiektowe transmisji USB Wewnętrzne struktury danych Programy wielowątkowe Konwertery USB Tu znajdziesz wszystko o działaniu USB i możliwościach jego wykorzystania!