Publisher: Promise
Skuteczne programowanie Lego Mindstorms
James J. Trobaugh, Mannie Lowe
Skuteczne programowanie LEGO MINDSTORMS stanowi przepustkę do udanego programowania robotów LEGO MINDSTORMS w języku programowania NXT-G, używanym między innymi w zawodach FIRST LEGO League. Książka rozwija zagadnienia omówione w cenionej książce Jamesa Trobaugha na temat fizycznego projektowania robotów: Winning Design!. Ta nowa książka skupia się wyłącznie na stronie programowej robotów MINDSTORMS. Obie pozycje razem dają solidną podstawę do tworzenia robotów LEGO MINDSTORMS, czy to dla zabawy w domu, czy to z przeznaczeniem na zawody drużynowe. Zbudowanie zwycięskiego robota nie wiąże się jedynie z udanym projektem sprzętowym. Potrzebne są też dobre techniki programistyczne i umiejętność wspólnej pracy w drużynie. Współpraca z innymi członkami drużyny, umiejętności prezentacyjne i planowanie z myślą o ułatwieniu rozwiązywania problemów oraz debugowania to tyko niektóre aspekty składające się na końcowy sukces. Z pracą zespołową wiąże się umiejętność uczenia się i korzystania z osiągnięć innych. Skuteczne programowanie LEGO MINDSTORMS podkreśla znaczenie wczesnego planowania i analizy realizowanego wyzwania projektowego. Nauczy oceniania możliwych rozwiązań przez testowanie ich logiki przed przystąpieniem do faktycznego pisania kodu. Zastosowanie technik opisanych w tej książce ułatwi wybranie najlepszej opcji przy pisaniu kodu. Przeczytanie tej książki pomoże w: • Wykorzystaniu funkcji językowych, takich jak grupa My Blocks (Moje bloki) do tworzenia kodu łatwego do debugowania oraz poprawienia jego czytelności. • Zarządzaniu kodem podczas jego zmieniania i poprawiania, aby móc łatwo śledzić dokonywane zmiany i w razie potrzeby wrócić do poprzedniej wersji. • Unikaniu typowych pułapek programistycznych. • Skutecznym współdziałaniu z członkami drużyny podczas zawodów dowolnego poziomu. Czego się można nauczyć z tej książki • Pisania dobrze zaplanowanego kodu, który można łatwo modyfikować wraz ze zmieniającym się podejściem do rozwiązania danego zadania. • Lepszej umiejętności obsługi każdego z czujników MINDSTORM NXT. • Planowania programu pod kątem jego debugowania i rozwiązywania problemów. • Pisania programów dających naszej drużynie przewagę w zawodach. • Unikania typowych pułapek programistycznych, które mogą kosztować utratę punktów. • Współpracy z członkami zespołu przy przedstawianiu własnego rozwiązania programowego sędziom na zawodach. • Cennych wskazówek i sztuczek, które można wykorzystać na zawodach robotów i we własnych projektach. Dla kogo jest ta książka Książka Skuteczne programowanie LEGO MINDSTORMS jest przeznaczona dla osób chcących poprawić swoje umiejętności tworzenia i wdrażania robotów LEGO MINDSTORMS, zachowujących się przewidywalnie i skutecznie podczas wykonywania zadań nawigacyjnych – tak podczas zabawy w domu, jak i na zawodach.
Scott Meyers
Do opanowania języków C++11 i C++14 nie wystarcza zapoznanie się z wprowadzonymi w nich funkcjonalnościami (np. deklaracjami typu auto, semantyką operacji move, wyrażeniami lambda i obsługą współbieżności). Sztuką jest nauczenie się korzystania z tych funkcjonalności skutecznie tak, aby programy były poprawne, wydajne, łatwe w utrzymaniu i przenośne. Pomocna w tym będzie niniejsza książka, w której został opisany sposób tworzenia wspaniałego oprogramowania przy użyciu standardów C++11 i C++14 tj. nowoczesnego języka C++. Tematy: Zalety i wady inicjalizacji klamrowej, specyfikacji noexcept, technik doskonałego przekazywania argumentów oraz funkcji make służących do tworzenia wskaźników inteligentnych Związki między std::move, std::forward, odwołaniami do r-wartości i odwołaniami uniwersalnymi Techniki pisania czytelnych, poprawnych i skutecznych wyrażeń lambda Różnice między std::atomic a volatile, zalecane sposoby użycia każdej z tych deklaracji oraz ich związek z interfejsem API współbieżności w języku C++ Zmiany najlepszych rozwiązań znanych ze starego języka C++ (tj. C++98) wymagane podczas tworzenia oprogramowania w nowoczesnym języku C++ Książka Skuteczny nowoczesny C++ jest napisana zgodnie z wypróbowanym, opartym na wskazówkach i przykładach stylem wcześniejszych książek Scotta Meyersa, ale dotyczy całkowicie nowego materiału. Jest ważną pozycją dla każdego nowoczesnego twórcy oprogramowania w języku C++. Przed ponad 20 laty książki Scotta Meyersa z serii Effective C++ (Effective C++, More Effective C++ i Effective STL) wyznaczyły poziom odniesienia dla wskazówek dotyczących programowania w języku C++. Jego jasne, ujmujące wyjaśnienie skomplikowanego technicznego materiału przyniosły mu światową sławę, dzięki której stał się popularnym trenerem, konsultantem i prezenterem konferencyjnym. Scott Meyers zyskał tytuł doktora informatyki na uniwersytecie Brown. Kiedy już zapoznałem się z podstawami języka C++, sposobów programowania kodu produkcyjnego w tym języku nauczyłem się z serii książek Meyersa Effective C++. Książka Skuteczny nowoczesny C++ jest najważniejszym podręcznikiem dotyczącym istotnych wytycznych, stylów i idiomów przydatnych do skutecznego i dobrego stosowania nowoczesnego języka C++. Nie masz jej jeszcze? Kup ją. Teraz. Herb Sutter Przewodniczący komitetu standaryzacyjnego ISO C++ oraz architekt oprogramowania C++ w firmie Microsoft t
Skuteczny Rust. 35 konkretnych sposobów na ulepszenie kodu w języku Rust
David Drysdale
Popularność Rusta rośnie ze względu na jego cechy, takie jak bezpieczeństwo pamięci, bezpieczeństwo typów oraz bezpieczeństwo wątków. Jednak te same elementy sprawiają, że nauka Rusta stanowi wyzwanie nawet dla doświadczonych programistów. Ten praktyczny poradnik pomoże przejść do pisania idiomatycznego języka Rust. W efekcie będziemy mogli w pełni korzystać z systemu typów Rusta, gwarancji bezpieczeństwa oraz rozwijającego się ekosystemu. Adresatami tej książki są inżynierowie oprogramowania mający doświadczenie z istniejącym kompilowanym językiem lub borykający się z przekształceniem podstawowego zrozumienia składni Rusta w działające programy. Książka ta skupia się na koncepcyjnych różnicach między Rustem a innymi kompilowanymi językami i podaje konkretne zalecenia, łatwe do zastosowania przez programistów. Autor sprawi, że zamiast kiepskiego tłumaczenia z C++, wkrótce będziecie biegle pisać programy w języku Rust. Książka ta pomoże: - zrozumieć struktury podstawowego systemu typów Rusta; - nauczyć się idiomów Rusta służących do obsługi błędów, iteracji i innych elementów; - odkryć, jak działa ekosystem skrzynek Rusta; - wykorzystywać system typów Rusta do przedstawienia własnego projektu; - wygrywać pojedynki z funkcją borrow checker; - tworzyć rozbudowany projekt, w pełni wykorzystujący ekosystem narzędzi Rusta. David Drysdale jest inżynierem oprogramowania w firmie Google, który pracuje w języku Rust od 2019 roku, przede wszystkim w obszarze zabezpieczeń. Kierował pracami nad przepisaniem sprzętowego podsystemu kryptograficznego Androida na język Rust i jest autorem portu Rusta dla biblioteki kryptograficznej Tink. Pracował także w C/C++ i Go oraz nad tak zróżnicowanymi projektami jak jądro Linuksa i mobilne aplikacje wideokonferencji. "Skuteczny Rust to znakomity zbiór praktycznej wiedzy o języku, wykraczający poza podstawę. Porady zawarte w tej książce pomogą wam w osiągnięciu poziomu pewnego siebie i gruntownie wykształconego użytkownika Rusta". - Carol Nichols Współautorka książki The Rust Programming Language "Skuteczny Rust zagłębia się w większość zaleceń, które daję ludziom na temat sposobów ulepszania ich projektów. Jest to świetne źródło do podnoszenia swoich kwalifikacji w języku Rust". - Pietro Albini Były członek zespołu Rust Core
Sprawne zarządzanie projektami metodą Scrum
Ken Schwaber
Reguł i praktyk stosowanych w metodyce Scrum prostym procesie stosowanym do zarządzania skomplikowanymi projektami jest mało, są one proste i łatwe do nauczenia się. Jednak sama prostota tej metody brak przygotowanych rozwiązań może okazać się rozbrajająca i spowodować, że ludzie rozpoczynający korzystanie z niej mają skłonność do powracania do starych nawyków i narzędzi zarządzania, uzyskując przez to gorsze rezultaty. W tej pouczającej serii studiów przypadków współtwórca metodyki Scrum Ken Schwaber przedstawia wykłady oparte na przykładach wziętych z życia, ich sukcesy i porażki, wybrane z jego wieloletniej praktyki jako instruktora w uczeniu firm sprawnego zarządzania projektami. Dzięki nim zrozumiemy, jak wykorzystać metodykę Scrum do rozwiązywania skomplikowanych problemów i uzyskiwać lepsze wyniki przy jednoczesnym szybszym dostarczaniu wartościowego oprogramowania. Zdobądź podstawy teorii i praktyki Scrum, których potrzebujesz, aby: * kierować najbardziej złożonymi, trudnymi projektami, * efektywnie zarządzać nieznanymi i zmieniającymi się wymaganiami produktowymi, * uprościć kierowanie projektem poprzez wprowadzenie samozarządzających się zespołów, * otrzymywać od klientów jaśniejsze specyfikacje i informacje zwrotne, * skrócić czas planowania projektu i zmniejszyć ilość wymaganych narzędzi, * kompilować i dostarczać klientom produkty w 30-dniowych cyklach, tak by stosunkowo wcześnie otrzymywali wersje robocze, * unikać błędnych posunięć poprzez regularne przeprowadzanie inspekcji, wykonywanie raportów i dostrajanie projektów, * obsługiwać wiele zespołów, pracujących w wielu lokalizacjach geograficznych nad projektem o dużym zasięgu, * maksymalizować zyski z inwestycji
SQL Server - zaawansowane techniki rozwiązywania problemów i poprawiania wydajności
Dmitri Korotkevitch
Najlepsze praktyki i techniki Książka ta jest przeznaczona dla praktyków i zawiera wyczerpujący przegląd najlepszych metod rozwiązywania problemów w systemie Microsoft SQL Server oraz poprawiania jego wydajności. Inżynierowie, programiści i administratorzy baz danych dowiedzą się, jak identyfikować problemy związane z wydajnością, traktować je w sposób całościowy i ustalać priorytety działań związanych z dostrajaniem, aby osiągnąć najwyższą wydajność systemu. Autorem książki jest Dmitri Korotkevitch - posiadacz tytułów Microsoft Data Platform MVP i Microsoft Certified Master (MCM). Wyjaśnia w niej zależności między komponentami środowiska SQL Server. Dzięki temu można się dowiedzieć, jak szybko zdiagnozować system i odkryć pierwotną przyczynę każdego problemu. Techniki przedstawione w tej książce można zastosować we wszystkich wersjach SQL Server. Dotyczą zarówno środowiska zainstalowanego w siedzibie firmy, jak i w chmurze. Zagadnienia przeanalizowane w książce: - Radzenie sobie z problemami wydajnościowymi występującymi w SQL Server - Narzędzia, metody i technologie umożliwiające przeprowadzanie testów diagnostycznych w SQL Server - Kontrola stanu instalacji SQL Server - Zależności pomiędzy komponentami SQL Server - Poprawa wydajności SQL Server i redukcja wąskich gardeł - Wykrywanie źle zoptymalizowanych zapytań i nieefektywnych planów wykonania zapytań - Wykrywanie niewydajnych indeksów i typowych problemów związanych z projektowaniem bazy danych - Zastosowanie poznanych technik w bazach danych Microsoft Azure SQL, Azure SQL Managed Instances oraz Amazon RDS for SQL Server "Świetny zbiór technik, wskazówek i skryptów pozwalających radzić sobie z problemami zarówno w sposób reaktywny, jak i proaktywny. Szkoda, że nie miałem takiej książki 25 lat temu, gdy zaczynałem pracę z bazą danych SQL Server. -Thomas Grohser Architekt infrastruktury SQL Server Dmitri Korotkevitch jest posiadaczem tytułów Microsoft Data Platform MVP i Microsoft Certified Master (SQL Server). Ma wieloletnie doświadczenie w branży IT. Wiedzę związaną z produktem Microsoft SQL Server zdobył będąc programistą aplikacji i baz danych, administratorem i architektem. Dmitri specjalizuje się w projektowaniu, rozwijaniu i dostrajaniu złożonych systemów OLTP, które działając przez całą dobę obsługują tysiące transakcji na sekundę. Obecnie kieruje zespołem ds. usług bazodanowych w Chewy.com oraz świadczy usługi konsultacyjne i szkoleniowe w zakresie systemu SQL Server dla klientów z całego świata.
Szacowanie oprogramowania Kulisy czarnej magii. Dla praktyków
Steve McConnell
Książka ta nie tylko uczy sztuki szacowania, ale zmienia całkowicie sposób myślenia o tworzeniu oprogramowania. Powinna stać na półce każdego zawodowego programisty. Eric Freeman, współautor książki Head First Design Patterns Dziewięć dziesiątych menedżerów oprogramowania nadal uważa, że szacowanie powinno odbywać się metodą przyjąć to, co podpowiada instynkt i pomnożyć przez trzy. Ta wspaniała książka była od dawna potrzebna i dobrze, że się ukazała. Joel Spolsky, autor joelonsoftware.com Wreszcie jest książka pełna jasnych wskazówek, które mówią, jak programiści i menedżerowie mogą skutecznie dokonywać oszacowania. Scott Berkun, autor książki Art of Project Management Szacowanie oprogramowania, często określane mianem czarnej magii ze względu na swoją złożoność i niepewność, nie jest wcale tak trudne i zagadkowe, jak niektórzy uważają. W rzeczywistości generowanie oszacowania jest naturalne gdy już wiadomo, jak to robić. W tej bardzo oczekiwanej książce, jej ceniony autor Steve McConnell odkrywa tajemnice skutecznego szacowania oprogramowania zamieniając wiedzę naukową i zdobyte doświadczenia w praktyczny przewodnik dla specjalistów od programowania. Zamiast niezrozumiałego traktatu i sztywnych technik modelowania jest to przewodnik oferujący zbiór sprawdzonych procedur, zrozumiałe wzory i metody heurystyczne, które pojedynczy programiści i ich zespoły mogą stosować w swoich projektach w celu poprawy skuteczności szacowania.
Ricardo Peres
ASP.NET jest platformą WWW z otwartym kodem źródłowym, służącą do budowania nowoczesnych aplikacji i usług WWW. Ta książka jest przewodnikiem po nowych funkcjach ASP.NET Core 2.0, do których należą interfejsy Web API oraz wzorzec MVC. Zaczniemy od krótkiego omówienia podstaw, obejmującego wzorzec MVC, platformy i zależności. Następnie przejdziemy do instalowania i konfigurowania środowiska MVC, po czym omówimy routing i zaawansowane opcje routingu. Następnie przyglądniemy się wiązaniom modelu, kontrolerom i akcjom, filtrom, uwierzytelnianiu użytkowników oraz testowaniu. Później poznamy wszelkie aspekty składni i procesów podczas pracy z silnikiem Razor. Zapoznamy się z programowaniem po stronie klienta oraz aspektami ASP.NET Core związanymi z zabezpieczeniami. Przyjrzymy się też mikrousługom na platformie ASP.NET Core. Na koniec dowiemy się, jak wdrażać ASP.NET Core w nowych środowiskach takich jak Azure, AWS i Docker. Pod koniec książki dobrze opanujemy programowanie w ASP.NET Core i będziemy lepiej rozumieć, jak wykorzystywać tę technologię w środowisku wieloplatformowym.
Marino Posadas
Książka Tajniki C# i .NET Framework szczegółowo przedstawia zagadnienia związane z językiem C# 6.0/7.0 oraz platformą .NET 4.6 pozwalając zrozumieć, jak działa ta platforma podczas wykonywania kodu i jak wykorzystać tę wiedzę do pisania wydajnych aplikacji. Pozwala w pełni spożytkować nową rewolucję w programowaniu .NET, w tym otwarty kod źródłowy platformy, możliwości wieloplatformowe i zmiany architektoniczne w CoreCLR. Zaczniemy od omówienia, w jaki sposób CLR wykonuje kod oraz odkryjemy niszowe i zaawansowane aspekty programowania w języku C# - od delegatów i typów ogólnych aż do programowania asynchronicznego. Poznamy nowe formy deklarowania typów i przypisań, wywoływanie kodu źródłowego, składnię statycznych deklaracji using, automatyczne inicjowanie właściwości, inicjowanie słowników, operatory warunkowe dla wartości null i wiele innych zagadnień. Następnie odblokujemy prawdziwy potencjał platformy .NET. Dowiemy się, jak pisać aplikacje zgodne z OWASP, jak prawidłowo implementować wzorce projektowe w C# oraz jak stosować ogólne zasady SOLID i ich implementacje w kodzie C#. Zakończymy na wskazówkach pomagających maksymalnie wykorzystać język C# i platformę .NET. W ostatnim rozdziale książki omówimy też kwestie związane z platformą .NET Core 1.1. Dzięki tej książce można: Dokładnie zrozumieć podstawowe pojęcia języka C# od algorytmów sortujących do notacji dużego O. Poznać najnowsze zmiany w języku C# 6/7. Łączyć bazy danych SQL Server i NoSQL z platformą .NET. Zrozumieć zasady SOLID i najistotniejsze wzorce Gang of Four na praktycznych przykładach w języku C# 6.0. Dowiedzieć się, jak bronić aplikacje w języku C# przed atakami. Korzystać z platformy Roslyn do kompilowania i manipulowania językami C# oraz Visual Basic .NET. Rozróżniać zapytania LINQ i związane z nimi wyrażenia Lambda, typy ogólne oraz delegaty. Zaprojektować od podstaw nową aplikację w .NET. Zrozumieć wewnętrzną strukturę podzespołu .NET. Poznać przydatne i zaawansowane funkcje związane z optymalizacją i programowaniem równoległym.