Search results
Czysty kod w C++17. Oprogramowanie łatwe w utrzymaniu
Stephan Roth
Wzorce i najlepsze praktyki rozwoju łatwego w utrzymaniu oprogramowania w C++17 Język C++ jest wszechstronnym, potężnym językiem programowania, który ma bardzo różne zastosowania. To klasyczne, wciąż udoskonalane i unowocześniane narzędzie. Problemem jednak jest to, że programiści piszący w C++ dość często mają złe nawyki. Nie przestrzegają zasad manifestu Software Craftsmanship, stosują okropną składnię, całkowicie ignorują podstawowe reguły prawidłowego projektowania i pisania oprogramowania, a tworzony przez nich kod, choć często wydajny i szybki, bywa niemal niemożliwy w utrzymaniu. Jeśli chcesz, aby Twój kod C++ stał się optymalny i zyskał wyższą jakość, powinieneś uważnie przestudiować tę książkę. Pisanie dobrego kodu oznacza przyjemniejszą i wydajniejszą pracę. Niezależnie od tego, czy dopiero zaczynasz przygodę z C++, czy jesteś doświadczonym deweloperem, znajdziesz w tej publikacji cenne i przydatne informacje dotyczące zasad pisania kodu. Akronimy KISS, YAGNI czy DRY zyskają dla Ciebie nowe znaczenie! Otrzymasz też mnóstwo przydatnych wskazówek odnoszących się do pisania funkcji, prowadzenia testów, obsługi wyjątków i błędów, a nawet umieszczania komentarzy w kodzie. Na licznych przykładach pokazano, jak pisać zrozumiały, elastyczny, łatwy w konserwacji i wydajny kod w C++. W książce między innymi: Solidne wyjaśnienie zasad pisania czystego kodu w C++ Programowanie funkcyjne i obiektowe Wskazówki dotyczące programowania sterowanego testami (Test Driven Development) Wzorce projektowe i idiomy z C++ Praktyczne wykorzystanie wzorców projektowych podczas programowania Czysty kod C++17: elegancja, prostota i moc.
Kimmo Karvinen, Tero Karvinen
Zdobądź informacje na temat świata zewnętrznego! Arduino oraz Raspberry Pi to płytki, które sprawiły, że świat elektroniki stał się dostępny dla wszystkich. Z ich pomocą każdy amator może sprawnie zrealizować projekt, o którym marzył od zawsze. Fantastyczne możliwości oraz łatwość, z jaką można je wykorzystać, przyczyniły się do ich ogromnej popularności. Jeżeli jednak chcesz zbudować bardziej wyrafinowany układ, będziesz potrzebować informacji o świecie zewnętrznym. Dostarczą Ci ich czujniki! Jeżeli chcesz zorientować się, jak szeroki wachlarz czujników dostępny jest dla Raspberry Pi oraz Arduino, trafiłeś na doskonałą książkę. Znajdziesz w niej bogato ilustrowane opisy zastosowania przeróżnych sensorów. Pomiar obrotu, jasności światła, temperatury oraz odległości to tylko niektóre z opcji. Z kolejnych rozdziałów dowiesz się, jak wykorzystać przycisk monostabilny oraz zbudować urządzenie regulowane czujnikiem podczerwieni. Książka ta jest znakomitym źródłem informacji dla pasjonatów chcących tworzyć zaawansowane projekty z użyciem dostępnych na rynku czujników. Dzięki tej książce: wykorzystasz czujnik temperatury zareagujesz na zmiany w oświetleniu zastosujesz czujnik FlexiForce stworzysz jeszcze bardziej zaawansowany układ elektroniczny Zbuduj wymarzony układ, reagujący na dane ze środowiska zewnętrznego!
Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
Mariano Anaya
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu bez czytelnej struktury. Zidentyfikowanie takich problemów i ich rozwiązywanie nie jest łatwym zadaniem. Dzięki tej książce nauczysz się korzystać z kilku narzędzi służących do zarządzania projektami napisanymi w Pythonie. Dowiesz się, czym się charakteryzuje czysty kod i jakie techniki umożliwiają tworzenie czytelnego i wydajnego kodu. Przekonasz się, że do tego celu wystarczą standardowa biblioteka Pythona i zestaw najlepszych praktyk programistycznych. Opisano tu szczegóły programowania obiektowego w Pythonie wraz z zastosowaniem deskryptorów i generatorów. Zaprezentowano również zasady testowania oprogramowania i sposoby rozwiązywania problemów poprzez implementację wzorców projektowych w kodzie. Pokazano też, jak można podzielić monolityczną aplikację na mikrousługi, by otrzymać solidną architekturę aplikacji. W książce między innymi: konfiguracja wydajnego środowiska programistycznego tworzenie zaawansowanych projektów obiektowych techniki eliminacji zdublowanego kodu i tworzenie rozbudowanych abstrakcji zastosowanie dekoratorów i deskryptorów skuteczna refaktoryzacja kodu budowa solidnej architektury opartej na czystym kodzie Pythona Czysty kod w Pythonie. Tylko taki warto pisać!
Dane testowe. Teoria i Praktyka
Radosław Smilgin, Anna Piaskowy
Książka, której nie może zabraknąć w biblioteczce ambitnego programisty! Programowanie nierzadko uchodzi za sztukę magiczną, jednak nawet najbardziej pomysłowa aplikacja okaże się bezużyteczna, gdy znajdzie się w niej choć jeden poważny błąd — powodujący, że działanie programu będzie niezgodne z oczekiwaniami twórców i użytkowników. Dlatego nie mniej istotną kwestią jest należyte sprawdzenie poprawności oprogramowania. Takie działanie pozwoli nam zyskać pewność, że otrzymane za jego pomocą wyniki będą w pełni pokrywały się z przyjętymi założeniami. Zadanie to nie jest wcale tak banalne, jak mogłoby się wydawać, a zlekceważenie etapu testów może kosztować znacznie więcej, niż gotowi jesteśmy zapłacić. Niestety, tematyce tej nie poświęca się zwykle odpowiednio dużo uwagi, co można łatwo stwierdzić, przeglądając dostępne na rynku opracowania dotyczące testowania aplikacji. Chlubnym wyjątkiem jest tu książka "Dane testowe. Teoria i praktyka", w całości poświęcona metodologii przygotowywania i praktycznego wykorzystywania danych testowych, które zapewniają maksymalną niezawodność oraz bezpieczeństwo działania programów. Autor wprowadza Czytelnika w teoretyczne podstawy definiowania i generowania tego rodzaju danych, lecz prezentuje również przykłady i możliwości zastosowania opisywanych technik w praktyce. Dzięki temu każdy programista i tester będzie mógł skrócić czas sprawdzania poprawności działania aplikacji i uniknie szeregu typowych błędów oraz zaniechań, popełnianych zwykle w tym nierzadko bardzo skomplikowanym procesie. Podstawowe typy danych i związane z nimi błędy Techniki projektowania testów Definiowanie danych testowych Zarządzanie danymi i rozwiązywanie problemów Praktyczne przykłady danych testowych i ich wykorzystanie Sposoby pozyskiwania rzeczywistych danych Samodzielne generowanie danych testowych
Data science od podstaw. Analiza danych w Pythonie
Joel Grus
Współczesne ogromne zbiory danych zawierają odpowiedzi na prawie każde pytanie. Równocześnie nauka o danych jest dziedziną, która cokolwiek onieśmiela. Znajduje się gdzieś pomiędzy subtelnymi umiejętnościami hakerskimi, twardą wiedzą z matematyki i statystyki a merytoryczną znajomością zagadnień z danej branży. Co więcej, dziedzina ta niezwykle dynamicznie się rozwija. Trud włożony w naukę o danych niewątpliwie się jednak opłaca: biegły analityk danych może liczyć na dobrze płatną, inspirującą i bardzo atrakcyjną pracę. Dzięki tej książce opanujesz najważniejsze zagadnienia związane z matematyką i statystyką, będziesz także rozwijać umiejętności hakerskie. W ten sposób zyskasz podstawy pozwalające na rozpoczęcie przygody z analizą danych. Gruntownie zapoznasz się z potrzebnymi narzędziami i algorytmami. Pozwoli Ci to lepiej zrozumieć ich działanie. Poszczególne przykłady, którymi zilustrowano omawiane zagadnienia, są przejrzyste, dobrze opisane i zrozumiałe. Podczas lektury książki poznasz biblioteki, które umożliwią zaimplementowanie omówionych technik podczas analizy dużych zbiorów danych. Szybko się przekonasz, że aby zostać analitykiem danych, wystarczy odrobina ciekawości, sporo chęci, mnóstwo ciężkiej pracy i... ta książka. Najważniejsze zagadnienia: Praktyczne wprowadzenie do Pythona Podstawy algebry liniowej, statystyki i rachunku prawdopodobieństwa w analizie danych Podstawy uczenia maszynowego Implementacje algorytmów modeli, w tym naiwny klasyfikator bayesowski, regresja liniowa, regresja logistyczna, drzewa decyzyjne, sieci neuronowe i grupowanie, MapReduce Systemy rekomendacji i mechanizmy przetwarzania języka naturalnego Korzystanie z mediów społecznościowych i baz danych. Python. Wyciśniesz z danych każdą kroplę wiedzy!
Data Mining. Eksploracja danych w sieciach społecznościowych. Wydanie III
Matthew A. Russell, Mikhail Klassen
Internetu nie można rozważać wyłącznie jako tworu techniki. Powstanie tej sieci doprowadziło do rozwoju różnych zjawisk społecznych. Z tej perspektywy na szczególną uwagę zasługują media społecznościowe. Są źródłem informacji, które, właściwie spożytkowane, mogą przynieść niezły dochód. Mogą też dać odpowiedzi na wiele pytań zadawanych przez naukowców z różnych branż. Sama eksploracja tych danych przynosi sporo satysfakcji i radości. Zaskakujące przy tym jest to, że przygotowanie zestawu potrzebnych narzędzi i nauka posługiwania się nimi zabiera naprawdę niewiele czasu i nie wymaga specjalnych talentów! To trzecie, zaktualizowane wydanie popularnego podręcznika dla osób, które chcą zająć się wydobywaniem danych z sieci społecznościowych. Uwzględniono tu zmiany interfejsów API wprowadzone do poszczególnych platform i dodano rozdział o eksploracji Instagrama. Dowiesz się, jak dzięki danym z mediów społecznościowych określić sieć powiązań użytkowników, zorientować się, kto o czym mówi i gdzie się znajduje. Treść bogato zilustrowano przykładami kodu w Pythonie, a także plikami Jupyter Notebook lub kontenerów Dockera. Ciekawym elementem książki jest zbiór receptur dotyczących rozwiązywania konkretnych problemów z Twitterem. W tej książce między innymi: wprowadzenie do świata mediów społecznościowych przybliżenie bogactwa danych zawartych w mediach społecznościowych eksploracja danych za pomocą narzędzi Pythona 3 zaawansowane techniki eksploracji danych, w tym współczynniki TFIDF, podobieństwo kosinusów i rozpoznawanie obrazów tworzenie wizualizacji pozyskanych danych Jakie informacje dziś znajdziesz dzięki danym z Facebooka?
Data Science. Programowanie, analiza i wizualizacja danych z wykorzystaniem języka R
Michael Freeman, Joel Ross
Aby surowe dane przekuć w gotową do wykorzystania wiedzę, potrzebna jest umiejętność ich analizy, przekształcania i niekiedy również wizualizacji. Nagrodą za włożony w to wysiłek jest lepsze rozumienie różnych złożonych zagadnień z wielu dziedzin wiedzy. Co więcej, znajomość procesów programowego przetwarzania danych pozwala na szybkie wykrywanie i opisywanie wzorców danych, praktycznie niemożliwych do dostrzeżenia innymi technikami. Dla wielu badaczy jednak barierą na drodze do skorzystania z tych atrakcyjnych możliwości jest konieczność pisania kodu. Oto podręcznik programowania w języku R dla analityków danych, szczególnie przydatny dla osób, które nie mają doświadczenia w tej dziedzinie. Dokładnie opisano tu potrzebne narzędzia i technologie. Zamieszczono wskazówki dotyczące instalacji i konfiguracji oprogramowania do pisania kodu, wykonywania go i zarządzania nim, a także śledzenia wersji projektów i zmian w nich oraz korzystania z innych podstawowych mechanizmów. Poszczególne kroki tworzenia kodu w języku R wyjaśniono dokładnie i przystępnie. Dzięki tej książce można płynnie przejść do konkretnych zadań i budować potrzebne aplikacje. Zrozumienie prezentowanych w niej treści ułatwiają liczne przykłady i ćwiczenia, co pozwala szybko przystąpić do skutecznego analizowania własnych zbiorów danych. W tej książce między innymi: przygotowanie środowiska pracy i rozpoczęcie programowania w R podstawy zarządzania projektami, kontrola wersji i generowanie dokumentacji ramki danych, pakiety dplyr i tidyr kod do wizualizacji danych i pakiet ggplot2 tworzenie aplikacji i techniki współpracy w zespołach specjalistów Po prostu R i dane. Wyciśniesz każdą kroplę wiedzy!
Debugging Teams. Przez współpracę do lepszej produktywności
Brian W. Fitzpatrick, Ben Collins-Sussman
Debugging Teams. Przez współpracę do lepszej produktywności Programiści i inżynierowie oprogramowania spędzają mnóstwo czasu na zgłębianiu tajników algorytmów, kodu czy technik budowy aplikacji. Bardzo mało uwagi poświęcają jednak takim zagadnieniom, jak komunikacja, skuteczna praca w zespole czy prowadzenie wspólnych projektów. Tymczasem programowanie jest jednym z zadań, które realizuje się w grupie. Oznacza to, że sposób pracy zespołu ma bezpośredni i znaczący wpływ na produktywność i zadowolenie jego członków. Zaniedbanie tej kwestii stało się przyczyną niepowodzenia wielu obiecujących projektów. Niniejsza książka, choć pozornie adresowana do liderów zespołów programistów, tak naprawdę przyda się każdemu, kto bierze udział w dowolnym twórczym grupowym przedsięwzięciu: począwszy od studenckiego klubu, na korporacji architektów skończywszy. Znalazły się tu bardzo praktyczne wskazówki dotyczące efektywnego kierowania zespołem, poruszania się w ramach organizacji oraz budowania zdrowych relacji z użytkownikami. Nie zabrakło porad dotyczących różnych sposobów komunikowania się i skutecznego wpływania na drugiego człowieka, a także metod radzenia sobie z trudnymi ludźmi. Jest to znakomita lektura dla każdego twórczego człowieka! W tej książce: wzorce komunikacyjne a kultura zespołu przywództwo: wzorce i antywzorce skuteczne strategie współpracy z innymi zespołami w ramach organizacji identyfikacja i zażegnywanie zagrożeń związanych z komunikacją zarządzanie opinią publiczną Mniej czasu na kłótnie, więcej na współpracę! Brian Fitzpatrick przez kilka lat prowadził duże projekty inżynieryjne dla firmy Google, takie jak Data Liberation Front i Transparency Engineering. Przed przejściem do Google Fitzpatrick pracował m.in. w Apple i CollabNet. Jest autorem wielu artykułów. Mieszka w Chicago. Ben Collins-Sussman tworzył system kontroli wersji Subversion. Od lat pracuje dla firmy Google, zainicjował projekt Google Code, zajmował się technologią wyświetlania reklam oraz infrastrukturą wyszukiwarki. W wolnych chwilach gra na banjo i komponuje musicale. Mieszka w Chicago z żoną, dziećmi i kotami.