Python
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!
Przewodnik po Pythonie. Dobre praktyki i praktyczne narzędzia
Kenneth Reitz, Tanya Schlusser
Python to potężny, wszechstronny, a do tego cechujący się prostotą i elastycznością język ułatwiający wydajne tworzenie czytelnego kodu. Nadaje się do bardzo różnych zastosowań, włączając w to wysoce specjalistyczne zadania, takie jak analiza danych. Python cieszy się niezwykłym wsparciem społeczności, dzięki czemu powstają nowe ciekawe narzędzia dla programistów. To wszystko sprawia, że dla twórców oprogramowania biegłe posługiwanie się Pythonem staje się bardzo niezbędną umiejętnością. Niniejsza książka jest przeznaczona dla średnio zaawansowanych programistów. Zawarto tu zbiór najlepszych praktyk i opis ulubionych narzędzi entuzjastów Pythona. Przedstawiono doskonałe biblioteki do aplikacji konsolowych, graficznych interfejsów i aplikacji internetowych oraz do analizy danych, obróbki zdjęć i dźwięku, a także biblioteki sieciowe do akcji asynchronicznych, serializacji i kryptografii. Znalazły się tu liczne przykłady fragmentów znakomitego kodu, opisano również dobre praktyki pakietowania i dystrybucji kodu. Książka ta stanowi świetne źródło informacji o konwencjach i praktykach wypracowanych przez społeczność Pythona, co będzie szczególnie cenne dla każdego, kto chce zyskać prawdziwą biegłość w posługiwaniu się tym językiem. Najważniejsze zagadnienia przedstawione w książce: edytory kodu, środowiska programistyczne i interpretery Pythona, styl kodu, konwencje i idiomy oraz struktura aplikacji, techniki testowania aplikacji, operacje na danych, data mining i zastosowania naukowe, praca na bazach danych. Python — poznaj i stosuj narzędzia ekspertów! Kenneth Reitz jest znanym projektantem oprogramowania. Jest członkiem Python Software Foundation. Chętnie propaguje ideę oprogramowania open source — brał udział w tworzeniu wielu takich projektów, na przykład Requests: HTTP for Humans. Tanya Schlusser biegle posługuje się kilkoma językami programowania. Zajmuje się również głęboką analizą danych i ich wykorzystywaniem w podejmowaniu decyzji strategicznych. Jest członkinią Chicago Python User’s Group i Chicago’s PyLadies. Jest niezależną konsultantką — szkoli studentów i firmowe zespoły analityków danych.
Denny Lee, Tomasz Drabas
Apache Spark is an open source framework for efficient cluster computing with a strong interface for data parallelism and fault tolerance. The PySpark Cookbook presents effective and time-saving recipes for leveraging the power of Python and putting it to use in the Spark ecosystem.You’ll start by learning the Apache Spark architecture and how to set up a Python environment for Spark. You’ll then get familiar with the modules available in PySpark and start using them effortlessly. In addition to this, you’ll discover how to abstract data with RDDs and DataFrames, and understand the streaming capabilities of PySpark. You’ll then move on to using ML and MLlib in order to solve any problems related to the machine learning capabilities of PySpark and use GraphFrames to solve graph-processing problems. Finally, you will explore how to deploy your applications to the cloud using the spark-submit command.By the end of this book, you will be able to use the Python API for Apache Spark to solve any problems associated with building data-intensive applications.
pytest Quick Start Guide. Write better Python code with simple and maintainable tests
Bruno Oliveira
Python's standard unittest module is based on the xUnit family of frameworks, which has its origins in Smalltalk and Java, and tends to be verbose to use and not easily extensible.The pytest framework on the other hand is very simple to get started, but powerful enough to cover complex testing integration scenarios, being considered by many the true Pythonic approach to testing in Python.In this book, you will learn how to get started right away and get the most out of pytest in your daily work?ow, exploring powerful mechanisms and plugins to facilitate many common testing tasks. You will also see how to use pytest in existing unittest-based test suites and will learn some tricks to make the jump to a pytest-style test suite quickly and easily.
Python 3. Kolejne lekcje dla nowych programistów
Zed A. Shaw
Jeśli masz już za sobą napisanie pierwszych programów w Pythonie, to już wiesz, jak bardzo wszechstronny jest ten język i że jego możliwości są imponujące. Python nadaje się do bardzo wielu zastosowań, jednak jeśli chcesz go wykorzystać w pełni, musisz wyjść poza podstawy. Efektywny programista korzysta z wiedzy wykraczającej poza znajomość struktur języka, poza tym jest zdolny do obiektywnej refleksji nad własnymi możliwościami i stara się cały czas doskonalić swój warsztat. Dzięki tej książce, zanim się spostrzeżesz, wykonasz 52 interesujące i świetnie przygotowane projekty, dzięki którym zyskasz kluczowe praktyczne umiejętności i pogłębisz rozumienie sedna pracy programisty. Odkryjesz sposoby analizy problemu i nauczysz się projektować sposób jego implementacji w programie. Później zaczniesz projektować konkretne rozwiązania, dbając o ich prostotę i elegancję. Wystarczy, że wykażesz się dyscypliną, zaangażowaniem i wytrwałością, a już wkrótce zrozumiesz znaczenie procesu, rozwiniesz kreatywność, a przede wszystkim zadbasz o jakość tworzonego kodu. Twoim celem nie będzie już tylko pisanie "kodu, który działa". Zaczniesz tworzyć znakomity kod i staniesz się prawdziwym programistą, biegłym w Pythonie. W tej książce: praca ze złożonymi projektami korzystanie ze struktur danych algorytmy i przetwarzanie struktur danych techniki parsowania i przetwarzania tekstu modelowanie danych za pomocą języka SQL stosowanie prostych i zaawansowanych narzędzi systemu Unix Proces. Kreatywność. Jakość. Python.