Python
Avishek Pal, PKS Prakash
Time Series Analysis allows us to analyze data which is generated over a period of time and has sequential interdependencies between the observations. This book describes special mathematical tricks and techniques which are geared towards exploring the internal structures of time series data and generating powerful descriptive and predictive insights. Also, the book is full of real-life examples of time series and their analyses using cutting-edge solutions developed in Python. The book starts with descriptive analysis to create insightful visualizations of internal structures such as trend, seasonality, and autocorrelation. Next, the statistical methods of dealing with autocorrelation and non-stationary time series are described. This is followed by exponential smoothing to produce meaningful insights from noisy time series data. At this point, we shift focus towards predictive analysis and introduce autoregressive models such as ARMA and ARIMA for time series forecasting. Later, powerful deep learning methods are presented, to develop accurate forecasting models for complex time series, and under the availability of little domain knowledge. All the topics are illustrated with real-life problem scenarios and their solutions by best-practice implementations in Python.The book concludes with the Appendix, with a brief discussion of programming and solving data science problems using Python.
Mike Cohen
Pozornie nie dzieje się nic złego, jeśli inżynier lub analityk danych nie rozumie algebry liniowej. Może korzystać z już istniejących narzędzi i nie przejmować się szczegółami ich implementacji. Warto jednak dokładnie poznać algorytmy używane w nauce o danych i dostosować do swoich potrzeb istniejące metody obliczeniowe, tutaj więc nowoczesna algebra liniowa okazuje się nieodzowna. Jeśli chcesz ją poznać w nowoczesnej, praktycznej formie, najlepiej posłużyć się kodem i zastosowaniem algebry liniowej w analizie danych czy symulacjach numerycznych. To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykładami ich wykorzystania w nauce o danych, uczeniu maszynowym, uczeniu głębokim, symulacjach i przetwarzaniu danych biomedycznych. Dzięki podręcznikowi nauczysz się arytmetyki macierzowej, poznasz istotne rozkłady macierzy, w tym LU i QR, a także rozkład według wartości osobliwych, zapoznasz się też z takimi zagadnieniami jak model najmniejszych kwadratów i analiza głównych składowych.
Praktyczne uczenie nienadzorowane przy użyciu języka Python
Ankur A. Patel
Wielu ekspertów branżowych uważa uczenie nienadzorowane za kolejną granicę w dziedzinie sztucznej inteligencji, która może stanowić klucz do pełnej sztucznej inteligencji. Ponieważ większość danych na świecie jest nieoznakowana, nie można do nich zastosować konwencjonalnego uczenia nadzorowanego. Z kolei uczenie nienadzorowane może być stosowane wobec nieoznakowanych zbiorów danych w celu odkrycia istotnych wzorców ukrytych głęboko w tych danych, które dla człowieka mogą być niemal niemożliwe do odkrycia. Autor Ankur Patel pokazuje, jak stosować uczenie nienadzorowane przy wykorzystaniu dwóch prostych platform dla języka Python: Scikit-learn oraz TensorFlow (wraz z Keras). Dzięki dołączonemu kodowi i praktycznym przykładom analitycy danych będą mogli identyfikować trudne do znalezienia wzorce w danych i odkrywać dogłębne zależności biznesowe, wykrywać anomalie, przeprowadzać automatyczną selekcję zmiennych i generować syntetyczne zbiory danych. Wystarczy znajomość programowania i nieco doświadczenia w uczeniu maszynowym, aby zająć się: Porównywaniem mocnych i słabych stron różnych podejść do uczenia maszynowego: uczenia nadzorowanego, nienadzorowanego i wzmacnianego. Przygotowywaniem i zarządzaniem projektami uczenia maszynowego. Budowaniem systemu wykrywania anomalii w celu wychwycenia oszustwa dotyczącego kard kredytowych. Rozdzielaniem użytkowników na wydzielone i jednorodne grupy. Przeprowadzaniem uczenia pół-nadzorowanego. Opracowywaniem systemów polecania filmów z użyciem ograniczonych automatów Boltzmanna. Generowaniem syntetycznych obrazów przy użyciu generujących sieci antagonistycznych. Badacze, inżynierowie i studenci docenią tę książkę pełną praktycznych technik uczenia nienadzorowanego, napisaną prostym językiem z nieskomplikowanymi przykładami w języku Python, które można szybko i skutecznie implementować. Sarah Nagy Główny analityk danych w firmie Edison Ankur A. Patel jest wiceprezesem ds. informatyki analitycznej w firmie 7Park Data, wspieranej przez firmę inwestycyjną Vista Equity Partners. W firmie 7Park Data, Ankur i jego zespół analizy danych wykorzystują dane alternatywne do opracowywania produktów związanych z danymi dla funduszy hedgingowych i korporacji oraz rozwijają usługi uczenia maszynowego dla klientów firmowych.
Ferran Garcia Pagans, Fernando G Pagans
Srinivasa Rao Aravilli, Sam Hamilton
– In an era of evolving privacy regulations, compliance is mandatory for every enterprise – Machine learning engineers face the dual challenge of analyzing vast amounts of data for insights while protecting sensitive information – This book addresses the complexities arising from large data volumes and the scarcity of in-depth privacy-preserving machine learning expertise, and covers a comprehensive range of topics from data privacy and machine learning privacy threats to real-world privacy-preserving cases – As you progress, you’ll be guided through developing anti-money laundering solutions using federated learning and differential privacy – Dedicated sections will explore data in-memory attacks and strategies for safeguarding data and ML models – You’ll also explore the imperative nature of confidential computation and privacy-preserving machine learning benchmarks, as well as frontier research in the field – Upon completion, you’ll possess a thorough understanding of privacy-preserving machine learning, equipping them to effectively shield data from real-world threats and attacks
Privilege Escalation Techniques. Learn the art of exploiting Windows and Linux systems
Alexis Ahmed
Privilege Escalation Techniques is a detailed guide to privilege escalation techniques and tools for both Windows and Linux systems. This is a one-of-a-kind resource that will deepen your understanding of both platforms and provide detailed, easy-to-follow instructions for your first foray into privilege escalation. The book uses virtual environments that you can download to test and run tools and techniques. After a refresher on gaining access and surveying systems, each chapter will feature an exploitation challenge in the form of pre-built virtual machines (VMs). As you progress, you will learn how to enumerate and exploit a target Linux or Windows system. You’ll then get a demonstration on how you can escalate your privileges to the highest level.By the end of this book, you will have gained all the knowledge and skills you need to be able to perform local kernel exploits, escalate privileges through vulnerabilities in services, maintain persistence, and enumerate information from the target such as passwords and password hashes.
Profesjonalne programowanie w Pythonie. Poziom ekspert. Wydanie II
Michal Jaworski, Tarek Ziade
Twórcy Pythona niemal od początku starali się opracować wieloparadygmatowy język zorientowany na czytelność kodu i produktywność programisty. Dziś język ten jest uważany za wszechstronny i potężny, a do tego cechuje się prostotą i elastycznością. Nadaje się zarówno do pisania niedużych skryptów, jak i wielkich systemów, a także do wysoce specjalistycznych zadań, jak choćby analiza danych w celach naukowych. Mimo to pisanie kodu, który jest wydajny, prosty w utrzymaniu oraz łatwy w użyciu, wciąż sprawia problemy nawet zaawansowanym programistom Pythona. Niniejsza książka jest zbiorem praktyk stosowanych przez najlepszych programistów pracujących z Pythonem. Jest przeznaczona dla osób zawodowo zajmujących się rozwojem oprogramowania oraz dla ambitnych pasjonatów w tej dziedzinie. Poza opisem zaawansowanych technik programowania w Pythonie znalazły się tu również informacje o narzędziach i technikach stosowanych obecnie przez profesjonalnych programistów. Opisano metody zarządzania kodem, tworzenia, dokumentowania i testowania kodu oraz zasady optymalizacji oprogramowania. Przedstawiono również wzorce projektowe, które szczególnie docenią programiści Pythona. Najważniejsze zagadnienia przedstawione w książce: metodologie pracy w Pythonie i najlepsze praktyki składniowe rozszerzenia Pythona napisane w innych językach programowania techniki profilowania aplikacji przetwarzanie współbieżne i równoległe najprzydatniejsze wzorce projektowe Python — niezawodne narzędzie dla profesjonalisty!
Michał Jaworski, Tarek Ziadé
Python cechuje się dużą prostotą, a przy tym jest wszechstronny. Ma bardzo szeroki zakres zastosowania, przez co coraz więcej osób podejmuje naukę programowania w tym języku. Python należy do języków najczęściej używanych przez programistów, którzy tworzą w nim gry i aplikacje webowe. Świetnie sprawdza się ponadto w pracy z wykorzystaniem sztucznej inteligencji i uczenia maszynowego. Tym, co programiści doceniają w Pythonie, jest też obiektywność. Ucząc się, przyswajamy bowiem również zasady programowania obiektywnego, a więc koncepcji dla wielu innych języków. Oto książka, którą docenią i osoby rozpoczynające przygodę z programowaniem, i programiści znający już inne języki. Znajdziesz tu zarówno podstawowe informacje o Pythonie, jak i wskazówki dotyczące pisania rozszerzeń, dzięki którym będziesz w stanie korzystać z atutów kilku języków. Przydatnym uzupełnieniem są liczne przykłady, pokazujące, jak rozwiązywać częste problemy. To już czwarte wydanie tego praktycznego podręcznika ? docenianego za to, że pozwala dobrze poznać Pythona i uczy, jak pisać wydajny i czytelny kod. Z książki dowiesz się: jakie są najważniejsze usprawnienia w Pythonie jak przeprowadzić izolację środowiska jak używać najnowszych funkcji w Pythonie czym Python się różni od innych języków co to jest współbieżność i wielowątkowość na czym polega programowanie sterowane zdarzeniami jakie są elementy metaprogramowania jak przeprowadzić automatyzację kontroli jakości jak optymalizować kod Koduj wszystko w Pythonie. Obiektywnie, strukturalnie i funkcjonalnie!
Matthew Whiteside
Programming Puzzles is a meticulously crafted collection designed to elevate your coding skills through engaging and challenging exercises. The book begins with a helpful guide on getting started, ensuring that readers are well-prepared to tackle the puzzles ahead. As you delve deeper, you'll encounter a series of challenge puzzles that test your logical thinking and problem-solving abilities, followed by fun puzzles that offer a more relaxed yet equally rewarding experience.Hints are provided for the challenge puzzles to guide you through particularly tough spots, ensuring you stay motivated without giving away the solutions. Once you've worked through the puzzles, comprehensive solutions are provided, allowing you to understand different approaches and learn from your mistakes. Each section of the book is designed to progressively build your skills, from basic logic to advanced problem-solving techniques, making it an invaluable resource for anyone looking to improve their programming abilities.The journey through this book is not just about finding solutions; it's about developing a deeper understanding of how to approach and solve complex problems. By the end of this book, you'll have honed your coding skills, enhanced your logical thinking, and gained a new appreciation for the art of problem-solving in programming.
Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji
Jason Edelman, Scott S. Lowe, Matt Oswalt
Programowalna i zautomatyzowana sieć upraszcza pracę jej administratora. Rozwój technologii radykalnie komplikuje takie zadania jak zarządzanie i operowanie sprzętem sieciowym, topologiami sieci i połączeniami sieciowymi. Trzeba tu mieć na uwadze systemy operacyjne, nowe metodologie oraz narzędzia. W takich warunkach zarządzanie większą czy nieco bardziej złożoną siecią wyłącznie za pomocą działań manualnych jest obarczone sporym ryzykiem. Profesjonalny inżynier sieciowy musi dziś dobrze orientować się w świecie programowalności i automatyzacji sieci. Powinien poznawać nowe protokoły, technologie, modele dostarczania i pojawiające się w związku z nimi potrzeby biznesowe. W tej książce znajdziesz solidne podstawy pozwalające zapewnić sieci programowalność i zautomatyzowanie jej pracy. Dowiesz się, jakie narzędzia i umiejętności będą potrzebne do dokonania tego kluczowego przekształcenia w sieć nowej generacji. W bardzo przystępny i praktyczny sposób wyjaśniono, jak korzystać z takich technologii jak Linux, Python, JSON i XML, aby programowo zautomatyzować pracę systemu. Opisano koncept modeli danych, podstawy języka YANG oraz najważniejsze technologie związane z API. Sporo miejsca poświęcono narzędziom open source służącym do automatyzacji pracy sieci. Znalazły się tu również informacje o interfejsach macvlan, sieciach wykorzystujących maszyny wirtualne, sieciowych przestrzeniach nazw oraz o bibliotece Pythona NAPALM i jej integracji z narzędziami: Ansible, Salt i StackStorm. W książce między innymi: powstanie sieci sterowanych programowo technologie automatyzacji sieci Linux i Python a technologie sieciowe praca z szablonami konfiguracji sieciowej kontrola źródła w pracy z niektórymi serwisami online prosty przepływ pracy w automatyzacji sieci Sieć zautomatyzowana i programowalna - najlepszy przyjaciel admina!
Programowanie dla początkujących w 24 godziny. Wydanie IV
Greg Perry, Dean Miller
Warto nauczyć się programowania! Poza stworzeniem sobie możliwości znalezienia ciekawej i dobrze płatnej pracy czy pasjonującego hobby umiejętność programowania bywa niezwykle przydatna w rozwiązywaniu różnych problemów. Paleta języków programowania i narzędzi programistycznych jest niezwykle szeroka i praktycznie każdy znajdzie coś dla siebie. Zanim to jednak nastąpi, trzeba zdobyć trochę wiedzy i umiejętności. Ale bez obaw! W nauce programowania najtrudniejszy bywa pierwszy krok, jednak ta książka sprawi, że wykonasz go bez trudu i dumnie wkroczysz w świat kodowania! To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym dokładnie polega programowanie w korporacjach. Znajdziesz tutaj także wprowadzenie do kilku najpopularniejszych języków programowania, co pozwoli na ich porównanie i ułatwi wybór języka do dalszej nauki. Każdy z 24 rozdziałów zawiera materiał, który można opanować w ciągu godziny. Naukę ułatwiają instrukcje krok po kroku, quizy, ćwiczenia i praktyczne przykłady. Dzięki tej książce zdobędziesz najlepsze podstawy, aby stać się dobrym programistą. Przygotujesz się też do świadomego kształtowania swojej dalszej ścieżki zawodowej! W książce między innymi: przygotowanie narzędzi do pracy - sprzęt i oprogramowanie podstawowe aspekty programowania i projektowania programów algorytmy, interaktywność, zmienne, funkcje debugowanie kodu programowanie obiektowe i korzystanie z baz danych planowanie kariery programisty Zacznij programować. Najlepiej od razu!
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
Steven F. Lott
Mimo że Python nie jest typowym językiem programowania funkcyjnego, umożliwia pisanie kodu w sposób właściwy dla tego podejścia. W efekcie można tworzyć zwięzłe i eleganckie programy, które działają szybciej i zużywają mniej zasobów. Jeśli uważasz, że te argumenty uzasadniają zapoznanie się z funkcyjnym podejściem do programowania w Pythonie, to ta książka jest dla Ciebie. Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń generatorowych, list składanych i dekoratorów. W tym wydaniu znalazły się nowe rozdziały dotyczące złożonych obiektów bezstanowych, funkcji kombinatorycznych i pakietu toolz, zawierającego zbiór modułów wspomagających pisanie programów funkcyjnych. Umieszczono tu ponadto sporo ciekawych przykładów, dotyczących choćby eksploracyjnej analizy danych i ich czyszczenia. W książce między innymi: najciekawsze biblioteki i wbudowane funkcje wyższego rzędu w Pythonie tworzenie funkcji generatorowych i leniwe wartościowanie implementacja dekoratorów do kompozycji funkcyjnej podpowiedzi typów w Pythonie obsługa współbieżności i implementacja usług sieciowych biblioteka PyMonad i tworzenie symulacji z obsługą stanów Chcesz tworzyć wydajny kod? Naucz się programowania funkcyjnego!
Programowanie sterowane testami w Pythonie. Jak tworzyć skalowalne zestawy testów i aplikacji
Alessandro Molina
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami, znany jako TDD. Technika ta opiera się na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje się dość wymagający dla zespołów deweloperów, łatwo się przekonać, że TDD pozwala na stałe uzyskiwanie dobrych efektów, a opracowane tą metodą aplikacje zaskakują stabilnością i przewidywalnością w środowisku produkcyjnym. W tej praktycznej książce dokładnie opisano koncepcje przeprowadzania testów oprogramowania, a szczególny akcent położono na model programowania sterowanego testami. Przedstawiono w niej również szeroką gamę przydatnych do testowania narzędzi, takich jak wbudowany w Pythona moduł testów jednostkowych unittest, frameworki pytest i Robot, a także biblioteka webtest. Omówiono też zasady projektowania testów, testowania kodu podczas implementacji nowych funkcjonalności i tworzenia pełnych zbiorów testów. Ponadto dokładnie zaprezentowano najlepsze praktyki związane z testami automatycznymi i modelem programowania TDD. Poszczególne koncepcje zostały zilustrowane praktycznymi przykładami zastosowania narzędzi dostępnych w Pythonie. W książce między innymi: najlepsze praktyki dotyczące projektowania testów praca z frameworkiem pytest przeznaczonym do testowania aplikacji tworzenie testów funkcjonalnych dla aplikacji WSGI za pomocą biblioteki webtest zasady programowania sterowanego testami techniki tworzenia niezawodnych aplikacji w Pythonie Najważniejsze jest testowanie kodu - od pierwszej linii!
Programowanie w Pythonie dla bystrzaków. Wydanie II
John Paul Mueller
Utworzenie i uruchomienie pierwszej aplikacji Rozwiązywanie problemów i usuwanie błędów Praca z Anacondą i używanie funkcji magicznych Programowanie w Pythonie jest łatwe i sprawia mnóstwo radości! Oferujący potężne możliwości i dynamiczny Python jest używany do tworzenia wielu różnych aplikacji. Został opracowany jako prawdziwie niezależny od platformy - dzięki temu jest doskonałym narzędziem dla początkujących programistów, zwłaszcza tych, którzy chcą szybko poznać nowy język. Zamieszczone w książce polecenia pozwalają w dość krótkim czasie krok po kroku opanować podstawy Pythona. W książce: Pobieranie i instalowanie Pythona Używanie powłoki Jupyter Notebook i jego zastosowanie Używanie różnych typów danych Praca z pakietami
Programowanie współbieżne. Systemy czasu rzeczywistego
Paweł Majdzik
Współbieżność to szybkość, efektywność i nowoczesność. Czy Ty też chcesz tak programować? Coraz niższe ceny i powszechna dostępność sprzętu komputerowego o architekturze wieloprocesorowej powodują, że umiejętność projektowania i budowania aplikacji przetwarzających informacje współbieżnie staje się wręcz niezbędna każdemu zawodowemu programiście. W większości współczesnych języków programowania bezpośrednio zaimplementowano metody tworzenia zadań wykonywanych równolegle oraz wysokopoziomowe mechanizmy komunikacji i synchronizacji procesów. Tworzenie efektywnych aplikacji współbieżnych wciąż jednak wymaga dużej, specjalistycznej wiedzy dotyczącej systemów operacyjnych oraz programowania nisko- i wysokopoziomowego, o czym przekonało się wielu studentów kierunków informatycznych i profesjonalnych programistów. Na szczęście teraz wszyscy mogą sięgnąć po książkę "Programowanie współbieżne. Systemy czasu rzeczywistego". Pomoże ona uniknąć wielu typowych błędów związanych z tworzeniem aplikacji współbieżnych i pokaże, jak rozwiązywać problemy specyficzne dla tej dziedziny. Lektura ułatwi też zdobycie praktycznej umiejętności projektowania architektury niezawodnego współbieżnego oprogramowania, a także przybliży wiedzę na temat mechanizmów i metod wykorzystywanych przy tworzeniu systemów równoległych czasu rzeczywistego. Przedstawienie podstawowych pojęć dotyczących programowania współbieżnego Opis metod weryfikacji poprawności programów współbieżnych Definicje i własności mechanizmów synchronizacji oraz komunikacji Przykłady rozwiązań problemów programowania współbieżnego Opis mechanizmów wspierających programowanie systemów czasu rzeczywistego Implementacja metod szeregowania zadań w systemach czasu rzeczywistego Opis metod i mechanizmów języka Ada 2005 umożliwiających implementację programów współbieżnych i systemów czasu rzeczywistego Przyszłość informatyki to przetwarzanie współbieżne. Stać Cię na pozostanie w tyle? Paweł Majdzik - od 1998 roku pracuje jako adiunkt w Instytucie Sterowania i Systemów Informatycznych Uniwersytetu Zielonogórskiego. Jest autorem bądź współautorem ponad trzydziestu opracowań naukowych - książek, artykułów, referatów wydanych w kraju i za granicą, a dotyczących informatyki, w szczególności związanych z analitycznymi metodami modelowania i projektowania systemów współbieżnych.
Steven F. Lott, Dusty Phillips
Python zasłużenie cieszy się ogromną popularnością. To język, który może służyć do wielu celów, szczególnie do szybkiego tworzenia niewielkich, wyspecjalizowanych programów. Projektowanie bardziej rozbudowanego, wyrafinowanego oprogramowania też jest możliwe, wymaga jednak zdobycia kilku ważnych umiejętności. Bardzo dobrym pomysłem okazuje się zastosowanie w programowaniu w Pythonie podejścia zorientowanego obiektowo. Tak tworzony kod jest czytelny, solidny, łatwy w rozbudowie i o wiele efektywniejszy w działaniu. Oto przyjazny przewodnik dla programistów Pythona, wyczerpująco wyjaśniający wiele zagadnień programowania obiektowego, takich jak dziedziczenie, kompozycja, polimorfizm, tworzenie klas i struktur danych. W książce szczegółowo omówiono zagadnienia obsługi wyjątków, testowania kodu i zastosowania technik programowania funkcyjnego. Opisano też dwa potężne zautomatyzowane systemy testowe: unittest i pytest. Zaprezentowano tematykę utrzymania złożonego oprogramowania napisanego w sposób zorientowany obiektowo, a także podano wskazówki odnoszące się do jego rozbudowy. Ważną częścią przewodnika jest omówienie zasad programowania współbieżnego we współczesnym Pythonie. Co ważne, poszczególne zagadnienia zostały zilustrowane diagramami UML, czytelnymi przykładami i studiami przypadków. W książce między innymi: kiedy korzystać z technik obiektowych implementacja obiektów i mechanizmu dziedziczenia w Pythonie stosowanie wyjątków, a także tworzenie testów jednostkowych i integracyjnych ważniejsze wzorce projektowe i ich implementacja w Pythonie statyczne typowanie dynamicznego kodu programowanie współbieżne przy użyciu asyncio Chcesz tworzyć solidny kod? Zorientuj się na obiekty!