Wyniki wyszukiwania
Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki
Jason Alls
Język C# cechują dojrzałość, prostota i nowoczesność. Służy on do wielu celów: do tworzenia aplikacji sieciowych, aplikacji działających w chmurze, oprogramowania dla urządzeń mobilnych i internetu rzeczy. Choć pozwala na pisanie kodu bezpiecznego, przejrzystego, wydajnego i prostego w konserwacji, zdarzają się przypadki, gdy jest on tak fatalnej jakości, że uzyskanie właściwej skalowalności i wydajności oprogramowania staje się niemożliwe. W takim wypadku trzeba zidentyfikować i rozwiązać problemy występujące w kodzie. Nie jest to łatwe zadanie. Dzięki tej książce zrozumiesz znaczenie standardów kodowania, zasad i metodologii. Dowiesz się, czemu służą przeglądy kodu oraz jak przyczyniają się do jego poprawiania oraz zapewnienia zgodności z uznanymi standardami. Opisano tu także testy jednostkowe, zagadnienia związane z techniką TDD oraz rozwiązywaniem zadań przekrojowych. Zaprezentowano dobre praktyki programowania obiektów, struktur danych, obsługiwania wyjątków oraz innych aspektów pisania programów w języku C#. Poszczególne zagadnienia zilustrowano licznymi przykładami działającego kodu C# oraz wyczerpującymi wyjaśnieniami w postaci procedur krok po kroku. W książce między innymi: dobre praktyki pisania kodu w C# implementacja metodologii fail-pass-refactor dla kodu w C# wzorce projektowe i ich stosowanie rozpoznawanie kodu złej jakości zabezpieczanie interfejsów API i usługa Azure Key Vault wykorzystywanie narzędzi do profilowania i refaktoryzacji C#. Sekret sukcesu tkwi w czystym i najbardziej przejrzystym kodzie
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 science, wyzwania i rozwiązania. Jak zostać ekspertem analizy danych
Daniel Vaughan
Uczenie się i praktykowanie danologii nie należy do najłatwiejszych zadań. Edukacja w tej dziedzinie zazwyczaj dotyczy programowania i uczenia maszynowego, a przecież świetny analityk danych musi się znać na wielu innych zagadnieniach. Może się ich nauczyć w pracy, ale w tym celu konieczne jest znalezienie mentora. A to niestety nie zawsze jest możliwe. Ten podręcznik zaczyna się tam, gdzie większość książek się kończy - od rzeczywistych procesów decyzyjnych opartych na wnioskach wynikających z danych. Brett Holleman, niezależny danolog Dzięki tej książce przyswoisz różne techniki, które pomogą Ci stać się bardziej produktywnym analitykiem danych. Najpierw zapoznasz się z tematami związanymi z rozumieniem danych i umiejętnościami miękkimi, które okazują się konieczne w pracy dobrego danologa. Dopiero potem skupisz się na kluczowych aspektach uczenia maszynowego. W ten sposób stopniowo przejdziesz ścieżkę od przeciętnego kandydata do wyjątkowego specjalisty data science. Umiejętności opisane w tym przewodniku przez wiele lat były rozpoznawane, katalogowane, analizowane i stosowane do generowania wartości i szkolenia danologów w różnych firmach i branżach. Z książki dowiesz się: jak sprawić, by procesy oparte na analizie danych generowały wartość jak zaprojektować przydatne wskaźniki jak zdobywać poparcie interesariuszy jak się upewnić, że algorytm uczenia maszynowego nadaje się do rozwiązania danego zadania jak zapanować nad wyciekami danych Oto brakujący podręcznik pozwalający odnieść sukces komercyjny dzięki data science! Adri Purkayastha, dyrektor do spraw zagrożeń związanych z AI, BNP Paribas
Deep Learning. Praktyczne wprowadzenie
Josh Patterson, Adam Gibson
Technologie wykorzystujące różne formy uczenia maszynowego zaczynają pojawiać się w różnych branżach. Możliwości w tym zakresie stale rosną, podobnie jak zainteresowanie i oczekiwania. Przed podjęciem decyzji o wdrożeniu w firmie tego rodzaju rozwiązań trzeba jednak zadać sobie pytanie, co można i co chciałoby się osiągnąć za pomocą sieci neuronowej. Generalnie uczenie maszynowe opiera się na algorytmach wyodrębniania informacji z surowych danych i reprezentowania ich jako modelu. Model ten następnie służy do przetwarzania kolejnych surowych danych. Co to jednak oznacza w praktyce i jak się implementuje takie algorytmy? Niniejsza książka jest przydatnym przewodnikiem po uczeniu maszynowym i sieciach neuronowych. Zawiera praktyczne informacje, które doceni każdy programista stawiający pierwsze kroki w tej dziedzinie. Przedstawiono tu podstawy deep learningu i wyjaśniono takie pojęcia, jak strojenie sieci, wielowątkowość, wektoryzowanie danych. Opisano, w jaki sposób można wykorzystać otwartą bibliotekę Deeplearning4j (DL4J) do kodowania profesjonalnych procesów uczenia głębokiego. Zaprezentowano metody i strategie trenowania sieci głębokich i uruchamiania procesów uczenia głębokiego w środowiskach Spark i Hadoop. Zagadnienia te zostały zilustrowane gotowymi do zastosowania, praktycznymi przykładami. W tej książce między innymi: ogólne koncepcje uczenia maszynowego, uczenia głębokiego i sieci neuronowych ewolucja sieci neuronowych do sieci głębokich i ich rodzaje dobieranie rodzaju sieci do analizowanego zagadnienia strojenie sieci neuronowych i sieci głębokich korzystanie z narzędzia DataVec do wektoryzowania danych różnych typów stosowanie biblioteki DL4J w środowiskach Spark i Hadoop Uczenie głębokie i sieci neuronowe: przyszłość, która dzieje się dziś!
Douwe Osinga
Pomysł, by komputery wykorzystywać do generowania inteligentnych rozwiązań, narodził się w zamierzchłych dla informatyki czasach, mniej więcej w połowie XX wieku. Bardzo długo jednak idea ta - z powodu ograniczeń technologicznych - nie mogła wyjść poza rozważania teoretyczne. Dziś osoby zainteresowane uczeniem głębokim są w komfortowej sytuacji: mogą korzystać z ogólnie dostępnych frameworków uczenia głębokiego, sięgać po ogromne zbiory danych, a ponadto wyniki tego rodzaju badań znalazły się w centrum zainteresowania biznesu. Okazuje się, że nawet bez szczególnego przygotowania teoretycznego można budować i udoskonalać potężne modele sieci neuronowych oraz uczenia głębokiego i wdrażać je w konkretnych sytuacjach. Dzięki tej książce, nawet jeśli nie posiadasz zaawansowanej wiedzy o uczeniu głębokim (oryg. deep learning), zaczniesz szybko tworzyć rozwiązania z tego zakresu. Zamieszczone tu receptury pozwolą Ci sprawnie zaznajomić się z takimi zastosowaniami uczenia głębokiego jak klasyfikacja, generowanie tekstów, obrazów i muzyki. Cennym elementem książki są informacje o rozwiązywaniu problemów z sieciami neuronowymi - testowanie sieci wciąż jest trudnym zagadnieniem. Ponadto znalazły się w niej porady dotyczące pozyskiwania danych niezbędnych do trenowania sieci, a także receptury, dzięki którym łatwiej zacząć użytkować modele w środowiskach produkcyjnych. Z tej książki dowiesz się, jak: tworzyć użyteczne aplikacje, które docenią użytkownicy obliczać podobieństwo tekstów wizualizować wewnętrzny stan systemu sztucznej inteligencji napisać usługę odwrotnego wyszukiwania obrazów za pomocą wyuczonych sieci wykorzystać sieci GAN, autoenkodery i LSTM do generowania ikon wykrywać style w utworach muzycznych Uczenie głębokie - rzecz dla kreatywnych filozofów z myszą w dłoni!
Emily Freeman
Postaw na przewagę konkurencyjną, jaką zapewnia DevOps Wprowadź technologie w duchu DevOps, w tym chmurę i kontenery Przestaw swoją organizację na metodykę DevOps Przedmowa Nicole Forsgren, współzałożycielka i CEO w DevOps Research and Assessment (DORA) Dołącz do DevOpsowej rewolucji! Dzięki DevOps możesz przyspieszyć cykl życia związany z dostarczaniem oprogramowania, jeśli tylko poznasz procesy, narzędzia i sposób myślenia będący podstawą kultury DevOps. Ta książka pomaga inżynierom oprogramowania i kierownikom do spraw technicznych w przekształcaniu organizacji w celu przyjęcia podejścia DevOps. Dowiedz się, jak tworzyć bardziej iteracyjny i zorientowany na klienta styl rozwoju i dostarczania, by w efekcie poprawić współpracę, wyeliminować wąskie gardła i zwiększyć produktywność zespołu. W książce: identyfikowanie wąskich gardeł w organizacji tworzenie własnych ram postępowania w duchu DevOps angażowanie zespołu w ten proces dostosowywanie kultury organizacyjnej wyciąganie nauki z porażek przygotowanie się do zarządzania incydentami automatyzowanie procesów manualnych
DevOps w praktyce. Wdrażanie narzędzi Terraform, Azure DevOps, Kubernetes i Jenkins. Wydanie II
Mikael Krief
DevOps jest doskonałym rozwiązaniem dla każdej organizacji, która musi zwiększyć przepływ pracy technicznej przy zachowaniu odpowiedniej jakości i niezawodności. Pozwala też na uzyskanie trwałości projektów i wzorową współpracę programistów z zespołem operacyjnym. Wiele organizacji decyduje się na wdrożenie praktyk DevOps. Pomyślne przeprowadzenie tego procesu wymaga przygotowań, w ich ramach zaś kluczowe znaczenie ma wybór odpowiednich do potrzeb wzorców i narzędzi. To drugie, zaktualizowane i uzupełnione wydanie książki poświęconej wdrażaniu najlepszych praktyk DevOps przy użyciu nowoczesnych narzędzi. Przedstawiono w niej informacje o kulturze DevOps, opisano różne narzędzia i techniki stosowane do jej wdrażania, takie jak IaC, potoki Git i CI/CD, a także automatyzację testów i analizę kodu. Sporo miejsca poświęcono konteneryzacji aplikacji za pomocą Dockera i platformy Kubernetes. Znajdziemy tutaj również kwestię skracania przestojów podczas wdrażania oprogramowania i omówienie możliwości stosowania praktyk DevOps w projektach open source. Warto zwrócić uwagę na ostatni rozdział, w którym pokazano zasady wdrażania niektórych praktyk DevOps w całym cyklu życia projektów. Najciekawsze zagadnienia: infrastruktura jako kod (IaC) udostępnianie i konfigurowanie infrastruktury chmurowej tworzenie lokalnego środowiska programistycznego i konteneryzowanie aplikacji zastosowanie DevSecOps do testowania zgodności i zabezpieczania infrastruktury potoki DevOps CI/CD i zielononiebieskie praktyki wdrażania praktyki DevOps dla projektów open source Potrzebujesz efektywności? Praktykuj DevOps i wygrywaj na rynku!