Wydawca: Promise
Tal Ater
Aplikacje natywne, ustąpcie miejsca. Nowe, progresywne aplikacje webowe mają możliwości, które wkrótce sprawią, że będziecie przestarzałe. Dzięki temu podręcznikowi programiści sieciowi i osoby na stanowiskach kierowniczych nauczą się, jak i dlaczego tworzyć aplikacje webowe wykorzystujące funkcje do tej pory dostępne wyłącznie w aplikacjach natywnych. Funkcje te obejmują szybkie czasy ładowania, powiadomienia z serwera, dostęp offline, skróty na ekranie startowym i środowisko przypominające działanie aplikacji. Dzięki interfejsom API najnowszych przeglądarek progresywne aplikacje webowe łączą wszystkie korzyści aplikacji natywnych, unikając ich wad. W tej książce Tal Ater pokazuje, jak udoskonalić prostą witrynę WWW fikcyjnego hotelu Gotham Imperial, aby stała się nowoczesną, progresywną aplikacją webową. Ponadto przedstawia: Działanie skryptów service worker oraz używanie ich do tworzenia witryn, które uruchamiają się błyskawicznie bez względu na połączenie internetowe użytkownika Tworzenie pełnoekranowych aplikacji webowych, które uruchamiają się z ekranu startowego telefonu zupełnie jak aplikacje natywne Ponowne przyciąganie użytkowników dzięki powiadomieniom z serwera, nawet po upływie dni od opuszczenia witryny Przyjęcie podejścia najpierw tryb offline i budowanie aplikacji webowych, które z gracją obsługują utratę łączności Nowe możliwości środowiska użytkownika i wyzwania dotyczące progresywnych aplikacji webowych Tal Ater jest programistą, konsultantem i przedsiębiorcą z ponad 20 letnim stażem. Jego doświadczenie obejmuje tworzenie oprogramowania klienckiego, serwerowego i użytkowego, a także zarządzanie działami badawczo-rozwojowymi i produkcyjnymi. Miliony osób używają codziennie jego rozwiązań open source, w tym popularnych bibliotek mechanizmu service worker i rozpoznawania mowy. "Wspaniałe wprowadzenie do progresywnych aplikacji webowych, ekscytujący zbiór nowatorskich, standaryzowanych technologii przeglądarek, które łączą bezproblemową naturę sieci WWW z niezawodnością i możliwościami typowo kojarzonymi z aplikacjami natywnymi." -Andreas Bovens Kierownik, Zarządzanie produktem, Mozilla
Projektowanie rozwiązań dla Microsoft SharePoint 2010
Lee Jason, Keyser Chris
Platforma Microsoft SharePoint 2010 udostępnia organizacjom i projektantom wiele nowych funkcji o dużych możliwościach. Nowe możliwości wiążą się jednak z nowymi wyzwaniami w zakresie projektowania, nowymi analizami dotyczącymi architektury i nowymi rodzajami kompromisowych decyzji, jakie muszą podejmować projektanci. Czy powinniśmy konstruować naszą aplikację jako rozwiązanie farmy, czy zastosować nowe środowisko izolowane? Czy powinniśmy tworzyć w pełni zaufany zestaw usługi proxy, by rozszerzać możliwości rozwiązań izolowanych? Czy powinniśmy budować magazyn danych przy użyciu list platformy SharePoint, czy zewnętrznej bazy danych? Jakie są funkcjonalne i wydajnościowe implikacje stosowania nowego dostawcy LINQ To SharePoint? Jak możemy poprawiać wydajność nowych interfejsów API po stronie klienta podczas uzyskiwania danych przechowywanych na platformie SharePoint z aplikacji Microsoft Silverlight lub JavaScript? Poradnik Projektowanie rozwiązań dla Microsoft SharePoint 2010 ułatwia znalezienie odpowiedzi na wiele z tych pytań. Poradnik zbiera razem dużą część najistotniejszych materiałów opracowanych przez zespół Microsoft patterns & practices dla poradnika online Developing Applications for SharePoint 2010, czyli wydania, które zawiera dokumentację, implementacje referencyjne i przydatne fragmenty kodu do wielokrotnego użytku. W książce omówiono cztery najważniejsze obszary związane z architekturą i projektowaniem aplikacji SharePoint: modele wykonywania, modele danych, modele aplikacji klienckich i założenia aplikacji. W każdym obszarze poradnik stara się skupić na zaprezentowaniu Czytelnikom informacji potrzebnych do skonstruowania prawidłowej architektury i podjęcia właściwych decyzji projektowych. Książka udostępnia szczegółowe spostrzeżenia techniczne, ułatwiające dokładne poznanie działania platformy, przedstawia porównania różnych metod rozwiązywania zadań i podejmowania decyzji projektowych na platformie SharePoint oraz prezentuje wzorce projektów, które zwiększają elastyczność i niezawodność kodu. W skrócie, poradnik Projektowanie rozwiązań dla SharePoint 2010 pozwala osiągnąć kolejny poziom umiejętności projektowania aplikacji. patterns & practices Sprawdzone praktyki dla przewidywalnych rezultatów Oszczędzasz czas i zmniejszasz zagrożenia projektów oprogramowania kierując się wskazówkami pattterns & practices, czyli opracowanymi przez Microsoft poradami, obejmującymi zarówno dokumentację, jak sprawdzony kod źródłowy, który można stosować w produkcji. Poradnik został opracowany, by ułatwić zespołom projektowym: Podejmowanie krytycznych decyzji dla projektu i wyboru technologii poprzez wskazanie dla typowych sytuacji odpowiedniej architektury rozwiązania, technologii i produktów Microsoft Poznanie najistotniejszych koncepcji potrzebnych do pomyślnego ukończenia zadań poprzez wyjaśnienie ważnych wzorców i opisanie najlepszych rozwiązań praktycznych Rozpoczęcie projektowania w oparciu o sprawdzoną bazę kodu starannie przetestowanego oprogramowania i źródeł, które są odzwierciedleniem zaleceń firmy Microsoft Zespół patterns & practices składa się z doświadczonych architektów, projektantów, programistów i testerów. W przypadku każdego projektu otwarcie współpracujemy ze społecznością projektantów i ekspertami branżowymi, by zapewnić, że najlepsi fachowcy są zaangażowani w opracowywanie i recenzowanie poradnika. Znakomicie czujemy się również w roli mostu pomiędzy rzeczywistymi potrzebami naszych klientów a szerokim wachlarzem produktów i technologii udostępnianych przez Microsoft. Dodatkowe informacje znaleźć można pod adresem: msdn.microsoft.com/practices
Python w pigułce. Podręczny przewodnik po wersjach 3.10 i 3.11
Alex Martelli, Anna Martelli Ravenscroft, Steve Holden,...
Język Python został ostatnio sklasyfikowany w indeksie TIOBE jako najpopularniejszy obecnie język programowania, co zawdzięcza szerokim możliwościom stosowania go w projektowaniu, prototypowaniu, testach, wdrażaniu i konserwacji oprogramowania. To zaktualizowane i rozszerzone czwarte wydanie pokazuje, jak najlepiej używać Pythona, niezależnie od tego, czy jesteś profesjonalnym programistą, czy też chcesz użyć tego języka do rozwiązywania problemów w konkretnej dziedzinie. Nowe wydanie, starannie przygotowane przez uznawanych ekspertów dziedzinowych, skupia się na wersji 3.10, zapewniając pełną aktualność tej kluczowej pozycji dla pięciu ostatnich wersji języka, od 3.7 po niedawno wydaną wersję 3.11. Ten podręczny przewodnik pozwoli ci: - Nauczyć się tego, jak Python reprezentuje dane i sam program jako obiekty - Zrozumieć przydatnośc i zastosowania adnotacji typów - Dowiedzieć się, które funkcje języka pojawiły się w niedawnych wersjach i w której - Opanować idiomatyczne posługiwanie się nowoczesnym Pythonem - Poznać sposoby właściwego strukturyzowania projektów w Pythonie - Nauczyć się testować, debugować i optymalizować kod Pythona "Pogłębiony, zaktualizowany, przejrzysty i użyteczny opis języka Python. Doskonałe kompendium z wieloma spostrzeżeniami i poradami, które zaspokoi każdego, od średniozaawansowanych po ekspertów". -Mark Summerfield Dyrektor Qtrac Ltd. Cała czwórka autorów to członkowie Python Software Foundations, zaś troje z nich to zdobywcy Frank Willison Memorial Award. Są powszechnie uznawani za swój wkład w Pythona i jego społeczność. Ich łączne doświadczenie obejmuje najrozmaitsze środowiska i platformy, od akademickich, poprzez startupy, aż po międzynarodowe korporacje i instytucje rządowe. Wspólnie opracowali autorytatywny podręcznik składni i funkcjonalności języka Python, biblioteki standardowej oraz wybranych innych pakietów.
Matthew Kirk
Ten praktyczny przewodnik pozwoli osiągnąć biegłość w stosowaniu uczenia maszynowego w codziennej pracy. Autor, Matthew Kirk, bez akademickich rozważań pokazuje, jak integrować i testować algorytmy uczenia maszynowego w swoim kodzie. Książka przedstawia wykorzystanie testów z użyciem bibliotek naukowych NumPy, Pandas, Scikit-Learn oraz SciPy dla języka Python, ilustrując je licznymi wykresami oraz przykładami kodu. Książka ta pomoże programistom i analitykom biznesowym zainteresowanym badaniem danych w: Zapoznaniu się z rzeczywistymi przykładami testowania poszczególnych algorytmów poprzez zajmujące ćwiczenia praktyczne. Stosowaniu programowania sterowanego testami do pisania i uruchamiania testów przed rozpoczęciem kodowania. Badaniu technik poprawiających nasze modele uczenia maszynowego poprzez wydobywanie danych i opracowywanie funkcjonalności. Zwracaniu uwagi na ryzyka związane z uczeniem maszynowym takie jak niedopasowanie danych. Pracy z algorytmem K najbliższych sąsiadów, sieciami neuronowymi, klastrami i innymi technikami. Matthew Kirk jest konsultantem, autorem i międzynarodowym prelegentem, specjalizującym się w uczeniu maszynowym i analizie danych z wykorzystaniem języków Ruby i Python. Mieszka w Seattle i lubi pomagać innym programistom w integrowaniu analizy danych ze stosowanymi przez nich technologiami. Więcej zasobów dotyczących uczenia maszynowego można znaleźć pod adresem www.matthewkirk.com.
Raportowanie w System Center Configuration Manager Bez tajemnic
Garth Jones, Dan Toll, Kerrie Meyler
Baza danych SQL Server programu Microsoft System Center Configuration Manager (ConfigMgr) zawiera wiele cennych informacji na temat Twoich użytkowników, komputerów, sprzętu, systemów operacyjnych, aplikacji czy stanu zgodności. Aby umożliwić Ci efektywne wyodrębnianie tych danych, Microsoft dostarczył kilku doskonałych narzędzi, wliczając w to usługi raportowania SQL Server Reporting Services (SSRS) i dodatek SQL Server Data Tools Business Intelligence (SSDT-BI). Podręcznik Raportowanie w System Center Configuration Manager bez tajemnic pokaże Ci, w jaki sposób możesz wykorzystać maksymalny potencjał tych narzędzi. Światowej sławy guru raportowania, Garth Jones, wraz z będącymi ekspertami współautorami tego przewodnika poprowadzi Cię przez wszystkie aspekty niestandardowego raportowania w System Center. Poczynając od instalacji i konfiguracji usług SSRS, krok po kroku nauczysz się wykorzystywać widoki języka SQL do wyszukiwania potrzebnych Ci danych, budować zapytania SQL, tworzyć proste i zaawansowane raporty, a także wykorzystywać administrację opartą na rolach do bezpiecznego dostarczania tych raportów właściwym osobom. W książce tej Jones zebrał aktualne, niezawodne i wszechstronne techniki raportowania w System Center, których na próżno szukać w innych podręcznikach i witrynach internetowych. Korzystając z tego przewodnika będziesz w stanie konsekwentnie pozyskiwać właściwe informacje, które pozwolą Ci rozwiązywać palące problemy i szybko reagować na ewentualne obawy zarządu. Garth Jones, główny architekt w Enhansoft i Microsoft MVP, specjalizuje się w poszerzaniu wartości i znaczenia programu System Center Configuration Manager. Z rodziną produktów System Center pracuje od roku 1996, kiedy to występowała jeszcze pod nazwą SMS. Dan Toll jest administratorem programu Configuration Manager, z którym pracuje od wersji SMS 2003. Specjalizuje się we wdrożeniach systemów operacyjnych dla stacji roboczych i serwerów przy użyciu narzędzi Microsoft Deployment Toolkit (MDT) oraz w raportowaniu w programie ConfigMgr. Kerrie Meyler, Microsoft MVP, jest wiodącą autorką wielu książek z serii System Center Unleashed. Obecnie pracuje jako niezależny konsultant. W czasie trwającej ponad 17 lat kariery zawodowej ewangelizowała produkt SMS na stanowisku starszego specjalisty technologii w Microsoft i prezentowała technologie System Center na konferencjach TechEd i MMS. Szczegółowe informacje na temat Instalowania i konfigurowania usług SSRS pod kątem optymalnego raportowania w System Center i łatwiej-szego rozwiązywania problemów Danych przechowywanych w bazie lokacji programu ConfigMgr Wydajnego pozyskiwania danych programu ConfigMgr poprzez tworzenie zapytań SQL z poziomu SQL Server Management Studio Najlepszych praktyk w zakresie tworzenia i projektowania raportów w System Center Tworzenia szablonów raportów, dostosowywania treści z użyciem parametrów raportów oraz zagnieżdżania wykresów Dostosowywania logo, palet kolorów i pozostałych elementów raportów na potrzeby konkretnej organizacji Konstruowania zaawansowanych metod przeglądania szczegółowego w celu dostarczenia dodatkowych informacji Wzmacniania zabezpieczeń raportów poprzez integrowanie administracji programu ConfigMgr opartej na rolach w zapytaniach SQL Wykorzystywania raportowania do pomiaru kluczowych wskaźników wydajności i pogłębiania wiedzy na temat własnego środowiska Dostosowywania raportów do potrzeb użytkowników końcowych lub zarządu W SIECI: Wszystkie zaprezentowane w tej książce przykłady i skrypty dostępne są do pobrania na stronie informit.com/title/9780672337789
Danny Staple
Dziedzina robotyki rozrasta się i mamy teraz idealny moment, aby nauczyć się, jak tworzyć w domu roboty o różnym przeznaczeniu. Książka ta pomoże w podjęciu pierwszych kroków do planowania, budowy i programowania robota za pomocą Raspberry Pi Pico, robiącym wrażenie kontrolerze o ogromnym potencjale wejścia/wyjścia (I/O). Po krótkim przeglądzie Pico zaczniemy projektować korpus robota za pomocą narzędzia CAD 3D. Mając do dyspozycji proste do śledzenia instrukcje, listę zakupów i plany, zaczniecie budowę robota. Następnie dodacie proste czujniki i wyjścia, aby rozszerzyć działanie robota, podbudować swoje umiejętności projektowania i zdobyć wiedzę o programowaniu w języku CircuitPython. Dowiecie się także o interakcji z elektroniką, standardowych algorytmów robotyki oraz dyscypliny i procedur budowy robotów. Przechodząc dalej dowiecie się, jak dodawać bardziej skomplikowane czujniki i zachowania robota, na coraz wyższych poziomach złożoności, uzyskując praktyczne doświadczenia. Poznacie wspaniałe cechy Raspberry Pi Pico, jak PIO, dodawanie takich możliwości, jak unikanie ścian, wykrywanie ruchu i zrozumienie nagłówków. Połączycie to z Bluetooth BLE, aby oglądać dane z czujników i zdalnie kontrolować robota za pomocą smartfonu. Wreszcie zaprogramujecie robota, aby znajdować jego położenie na arenie. Kończąc tę książkę będziecie mieli zbudowanego samodzielnie robota i będziecie dobrze przygotowani do budowy innych o różnym stopniu złożoności. Czego się nauczycie? Interfejsu Raspberry Pi Pico z motorem do poruszania częściami Projektowania w CAD 3D za pomocą Free CAD Budowy prostego robota i rozszerzania na coraz bardziej złożone projekty Interfejsu Raspberry Pi Pico z czujnikami Bluetooth BLE Wizualizacji danych z pracy robota za pomocą MatPliotlib Algorytmów robotyki pozwalających na inteligentne zachowanie
Robotyka w LEGO Technic. Projektowanie i budowa własnych robotów
Mark Rollins
Dzięki książce Robotyka w LEGO Technic konstruowanie robotów stanie się całkiem proste! Zobaczymy, jak używać klocków LEGO i elementów mechanicznych i sterujących, takich jak silniki i piloty, do tworzenia wszelkiego rodzaju robotów. Najlepsze jest to, że nie musimy się uczyć programowania. Wystarczy nasza wyobraźnia i fachowe zasady konstrukcji zawarte w książce Robotyka w LEGO Technic. Autor, Mark Rollins, pokazuje i objaśnia sposoby projektowania w Technic. Nie są to tylko instrukcje składania części. Dzięki książce Robotyka w LEGO Technic aktywnie uczymy się podstaw dobrego projektowania, które może nas zaprowadzić do tworzenia prawdziwie efektownych konstrukcji robotów LEGO. Nauczymy się: - Tworzyć wyposażoną w koła podstawę robota LEGO Technic - Konstruować kroczącego robota LEGO Technic - Sterować dłońmi i ramionami robota - Przyłączać do robota silniki i piloty Ta książka pomoże tworzyć własną armię robotów, które jeżdżą na kołach, kroczą na dwóch lub czterech nogach, a także poruszają się i funkcjonują w dowolny wymarzony sposób. Skorzystaj z książki Robotyka w LEGO Technic i konstruuj z prawdziwą mocą! Po opanowaniu technik z tej książki osoby, które chcą budować większą liczbę konstrukcji, mogą zapoznać się z książką LEGO Technic w praktyce napisaną także przez Marka Rollinsa i dowiedzieć się, jak budować pojazdy, które mogą toczyć się, jeździć i nie tylko.
Scrum. Przewodnik po antywzorcach
Stefan Wolpers
Wyzwania, przed którymi staje każdy zespół scrumowy i jak je pokonać "Stefan Wolpers ma niezwykłą zdolność wskazywania ukrytych pułapek i trudności, z którymi borykają się interesariusze, zespoły i procesy. Wolpers dokumentuje źródła marnotrawstwa i frustracji, tworząc zadziwiające kompendium typowych sytuacji, które blokują postęp. Przygnębiające! Ale nie zostawia nas z tym. Przedstawia również trafne rozwiązania. Budujące!" -Diana Larsen, wykładowca, doradca i autorka witryny dianalarsen.com Odblokuj sukces w Scrumie, niezależnie od tego, czy jesteś ekspertem, czy dopiero zaczynasz. przewodnik po antywzorcach Scruma to twój klucz do zrozumienia i udoskonalenia praktyk Scruma. Scrum jest łatwy do zrozumienia, ale osiągnięcie doskonałości jest trudne. Jako framework, Scrum jest szczególnie wymagający, gdyż nie istnieje formalne wykształcenie dostosowane do poszczególnych ról ani wyczerpujący zbiór praktyk, które byłyby dostępne dla osób zainteresowanych ich stosowaniem. Scrum Guide przedstawia zasady jedynie jako szkic - od stosowania Scruma do złożonych problemów adaptacyjnych po promowanie samozarządzania - i w ogóle nie zawiera żadnych zaleceń, jak powinny pracować Zespoły Scrumowe. Scrum. Przewodnik po antywzorcach to zestawienie wyzwań, z którymi mierzy się każdy Zespół Scrumowy oraz sposoby ich pokonywania. Stefan Wolpers używa Scrum Guide jako szablonu, wspomagając poznawanie Scruma przez początkujących praktyków - treści są porządkowane według ról, zdarzeń, artefaktów i zobowiązań. Bardziej doświadczony czytelnik może użyć książki do rozwiązywania indywidualnych problemów lub sytuacji. Omówienie antywzorców Scruma zarówno dla nowicjuszy, jak i doświadczonych praktyków Praktyczne informacje na temat tego, dlaczego implementacje Scruma często są nieskuteczne i sposoby ich ulepszania Propozycje usprawnień i korekt kursu w praktyce Scruma, dokonywanych w czasie rzeczywistym Stefan Wolpers uzyskał tytuły Professional Scrum Trainer od Scrum.org, a ponadto Agile Coach i Scrum Master. Specjalizuje się we wspomaganiu transformacji zwinnych poprzez takie praktyki, jak Scrum, LeSS, Kanban, Lean Startup i profesjonalne zarządzanie produktem. Jest licencjonowanym facylitatorem Agile Fluency Team Diagnostic z doświadczeniem na stanowiskach kierowniczych wyższych szczebli. Jest redaktorem popularnego newslettera "Food for Agile Thought", z którym współpracuje ponad 50 tysięcy entuzjastów Agile na całym świecie. Cały dochód Scrum.org uzyskiwany z tej serii wydawniczej przekazywany jest na rzecz Year Up, organizacji, która dąży do zniwelowanie nierówności poprzez zapewnianie młodym dorosłym mieszkańcom miast umiejętności, doświadczenia i wsparcia, które umożliwią im osiągnięcie pełnego potencjału poprzez karierę zawodową i wyższe wykształcenie.
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.