Techniki programowania
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. Krok po kroku
Joshua Backfield
Zmień swoje podejście do programowania! Języki funkcyjne zdobywają wśród programistów coraz większą popularność. Jak bezboleśnie zmienić sposób myślenia na funkcyjny? Ułatwi Ci to niniejsza książka, w całości poświęcona temu podejściu do programowania. Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów dowiedz się, czym są ewaluacja rygorystyczna i nierygorystyczna. Zobacz też, jak wykonać dopasowanie do wzorca. Co jeszcze znajdziesz w tej książce? Wprowadzenie do języka Scala, przedstawienie języka Groovy oraz opis technik funkcyjnego programowania obiektowego to tylko niektóre z poruszanych w niej tematów. Jeżeli chcesz zmienić sposób programowania na funkcyjny, to doskonała pozycja dla Ciebie! Dowiesz się, czemu obecne sprawnie działające aplikacje lepiej funkcjonują z kodem funkcyjnym. Przejdziesz od wzorców stylu imperatywnego do kodu funkcyjnego w kilku podstawowych krokach. Przyspieszysz z językami Groovy i Scala dzięki przykładom. Zrozumiesz, w jaki sposób typy funkcyjne są przekazywane do innych funkcji i zwracane z nich. Przekonwertujesz istniejące metody na funkcje czyste, a pętle na metody rekurencyjne. Przejdziesz od zmiennych mutowalnych do niemutowalnych. Uzyskasz praktyczne doświadczenie w zakresie stosowania instrukcji oraz ewaluacji nierygorystycznej. Będziesz stosował programowanie funkcyjne z elementami programowania obiektowego. Przekonaj się, jak podejście funkcyjne może ułatwić Ci życie!
Zed A. Shaw
Istnieje bardzo wiele nowoczesnych języków programowania, które pozwalają na szybkie wdrożenie i pracę. Takim językiem na pewno nie jest C. Niektóre jego cechy bardzo utrudniają tworzenie bezpiecznego i bezawaryjnego kodu. Warto więc dogłębnie poznać C — przy bardzo prostej składni i niewielkich wymaganiach sprzętowych ma potężne możliwości! Niniejsza książka jest bardzo dobrym podręcznikiem dla początkujących programistów. Nauczysz się C, wykonując 52 sprytnie skonstruowane zadania zilustrowane kodem i specjalnie opracowanymi klipami wideo. Duży nacisk został położony na dogłębną analizę tworzonego kodu — autor zmusza Czytelnika do zrozumienia znaczenia każdej linii programu, do koncentracji i dokładności. Zachęca też do praktykowania tzw. programowania defensywnego, dzięki któremu możliwe jest podniesienie jakości i bezpieczeństwa tworzonego oprogramowania. Wartościowym elementem książki są wskazówki, jak zepsuć napisany kod, a następnie go zabezpieczyć. Bardzo ułatwia to unikanie wielu poważnych, często spotykanych błędów. Najistotniejsze zagadnienia poruszone w książce: Podstawowa składnia C Konfiguracja środowiska programistycznego, kompilacja kodu, pliki Makefile i linkery Kontrola przebiegu działania programu, alokacja pamięci Operacje wejścia-wyjścia i pliki, stosy i kolejki Usuwanie błędów, programowanie defensywne i automatyczne testowanie Eliminacja błędu przepełnienia stosu, niedozwolonego dostępu do pamięci itd. Hakowanie własnego kodu utworzonego w C Zrozum C, programuj starannie — dobrze działać może tylko dobry kod!
Programowanie w języku Go. Koncepcje i przykłady. Wydanie II
Mat Ryer
Go jest nowoczesnym językiem programowania rozwijanym przez firmę Google. Ostatnie zmiany sprawiły, że stał się on komfortowym narzędziem do tworzenia wydajnych aplikacji. Programiści Go mogą korzystać z wciąż rosnącego zbioru pakietów dostępnych jako open source, dzięki czemu tworzą i wdrażają oprogramowanie o znakomitej jakości. Taki kod od pierwszego dnia działa dobrze, a przy tym imponuje skalowalnością. Wbudowane mechanizmy Go, takie jak współbieżność, zapewniają możliwość uzyskiwania fantastycznych wyników nawet na najprostszym sprzęcie. Niniejsza książka stanowi znakomite wprowadzenie do programowania w Go. Przyda się zarówno początkującym, jak i zaawansowanym programistom. Podstawą prezentowanych tu projektów są skalowalność, wydajność działania oraz wysoka dostępność. Poza opisem języka przedstawiono tu sporo istotnych koncepcji architektury oprogramowania. Wykorzystano aspekty filozofii wykorzystywanej przez „zwinnych” programistów. Opisano zasady tworzenia aplikacji korzystających z Google App Engine, pisania i korzystania z mikrousług czy też tworzenia obrazów Dockera. Wiedza zdobyta dzięki tej książce ułatwi każdemu stosowanie rozwiązań najwyższej klasy. Najważniejsze zagadnienia: aplikacje internetowe korzystające z pakietu NET/HTTP programy obsługiwane z poziomu wiersza poleceń systemy rozproszone i elastyczne dane usługi typu RESTful programistyczne korzystanie z magazynu Google Cloud Datastore dobre praktyki przygotowywania aplikacji w Go Język Go. Idź i programuj! Mat Ryer — programuje od szóstego roku życia. Swoje pierwsze eksperymenty przeprowadzał wraz z ojcem w języku BASIC, a następnie w językach AmigaBASIC i AMOS. Jego kariera zawodowa od początku była związana z programowaniem. Używał wielu różnych języków, aż w końcu zwrócił uwagę na rozwijany przez Google język Go. Ryer od lat używa języka Go do tworzenia przeróżnych produktów, usług i projektów typu open source. Jest gorącym orędownikiem tego rozwiązania. Pisze o Go artykuły, a podczas różnych wykładów i konferencji zachęca programistów, by go wypróbowali.
Programuj tak, aby nie naprawiać. Planowanie projektów i systemów
Juval Löwy
Tworzenie oprogramowania, zwłaszcza dużych i złożonych aplikacji, bywa problemem. Często objawy złego planowania projektu nie mają wiele wspólnego z uwarunkowaniami technicznymi: wysoki poziom stresu, duża rotacja pracowników, wypalenie zawodowe, brak zaufania, niska samoocena, a nawet różnego rodzaju dolegliwości fizyczne. Przyczyny tego stanu rzeczy są podobne: określane w nierealny sposób koszty, terminy i wymagania. Później okazuje się, że wewnętrznej złożoności systemu nikt nie rozumie, nad koniecznymi ciągłymi zmianami nikt nie panuje, a wytworzone oprogramowanie jest niemal niemożliwe do utrzymania. Jak widać, problem jest wielowymiarowy. Wielowymiarowe musi więc też być narzędzie, które umożliwi jego rozwiązanie. W tym praktycznym przewodniku uniwersalne zasady projektowania zostały dostosowane do specyfiki wytwarzania oprogramowania. Znalazł się tu zbiór najważniejszych zasad inżynierii oprogramowania, jak również wyczerpujący zestaw narzędzi i technik do stosowania w projektach programistycznych. Ich zastosowanie sprawi, że gotowy system będzie łatwy do utrzymania, rozszerzalny, nie będzie zbyt kosztowny, a jego wykonanie będzie realne pod względem czasu i ryzyka. Koncepcje opisane w książce stanowią doskonały punkt wyjścia, gdyż pozwalają sporządzić dobry projekt systemu oprogramowania oraz dobry plan budowy tego systemu. Dopiero to umożliwi ukończenie pracy w wyznaczonym terminie i bez przekroczenia założonego budżetu, a wytworzony produkt będzie łatwy w utrzymaniu, możliwy do rozszerzania oraz wielokrotnego użycia. W książce między innymi: koncepcja projektowania systemu i planowania projektu dekompozycja systemu, jego struktura i łączenie komponentów narzędzia i techniki potrzebne w planowaniu i projektowaniu mierzenie i wyliczanie ryzyka projektu i jego wariantów zaawansowane techniki projektowania systemów o wysokiej złożoności Mistrz w projektowaniu oprogramowania rozważa bardzo niewiele opcji!
Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usług
Brendan Burns
Nowoczesne oprogramowanie musi sprostać wyśrubowanym kryteriom: ma cechować się określoną niezawodnością i skalowalnością, a przy tym powinno korzystać z technologii chmury. Naturalnie powinien to być dobrze zaprojektowany system rozproszony. Dziś standardem jest korzystanie z aplikacji na wielu urządzeniach w różnych lokalizacjach. Niestety, mimo powszechności systemów rozproszonych ich projektowanie nader często przypomina coś w rodzaju czarnej magii, dostępnej dla nielicznych wtajemniczonych. W efekcie architektura każdego systemu jest unikatowa. Ta książka jest praktycznym przewodnikiem dla projektantów systemów rozproszonych. Zaprezentowano tu kolekcję powtarzalnych wzorców oraz zalecanych praktyk programistycznych, dzięki którym rozwijanie niezawodnych systemów rozproszonych stanie się bardziej przystępne i wydajne. Poza podstawowymi wzorcami systemów rozproszonych przedstawiono tu również techniki tworzenia skonteneryzowanych komponentów wielokrotnego użytku. Znalazło się tu także omówienie zagadnień rozwoju kontenerów i orkiestratorów kontenerów, które zasadniczo zmieniły sposób budowania systemów rozproszonych. Książka ta jest lekturą obowiązkową dla każdego projektanta aplikacji, który chce efektywnie budować niezawodne aplikacje rozproszone! Najważniejsze zagadnienia: wprowadzenie do systemów rozproszonych znaczenie wzorców i komponentów wielokrotnego użytku jednowęzłowe wzorce Przyczepa, Adapter i Ambasador wielowęzłowe wzorce dla replikowania, skalowania i wybierania węzłów głównych wzorce wsadowego przetwarzania danych na dużą skalę Twórz systemy rozproszone: skalowalne, elastyczne, niezawodne!
Projektowanie systemów wbudowanych w układach FPGA
Valery Salauyou, Adam Klimowicz
W książce omówiono zagadnienia projektowania systemów wbudowanych w układach FPGA, przy wykorzystaniu opisu w języku Verilog. Omówiono zastosowanie typowych bloków IP pamięci różnych typów: jednoportowych i dwuportowych pamięci typu RAM, ROM, FIFO, LIFO oraz rejestrów przesuwających. Omówiono kilka metod projektowania układów sterujących: w postaci automatu mikroprogramowanego z siecią działań, opartego na algorytmicznych automatach skończonych, a także na algorytmicznych automatach skończonych ze ścieżką przetwarzania danych. Rozpatrzono metodykę projektowania procesora jednocyklowego na FPGA, a także trzy metodyki projektowania procesorów wielocyklowych. Szczególny nacisk położono na testowanie implementacji procesorów i ocenę ich wydajności. Podano także zalecenia dotyczące zwiększenia wydajności procesora. Przedstawiono ogólną metodykę projektowania filtrów cyfrowych w układach FPGA, omówiono przykład opracowania filtra cyfrowego, pokazano symulację filtrów i implementację filtrów.
Prompt Engineering Using ChatGPT. Crafting Effective Interactions and Building GPT Apps
Mercury Learning and Information, Mehrzad Tabatabaian
This book is designed for mastering prompt engineering in artificial intelligence, focusing on ChatGPT, GPT-4, and GPT plug-ins. It explores fundamental principles, practical techniques, and real-world applications. Readers will learn the role of prompts in AI interactions, the anatomy of well-constructed prompts, and various prompt styles. The book also covers setting constraints to guide AI responses and ensure ethical interactions, making it ideal for both beginners and advanced users.The journey begins with the foundations of prompts and crafting contextual prompts. It progresses to asking specific questions, providing constraints, and creating diverse content prompts. Advanced chapters cover debugging, iterating prompts, and using GPT-4 with plug-ins. The book concludes with real-world applications, future trends, and ethical considerations, ensuring a comprehensive understanding of prompt engineering.Understanding these concepts is crucial for effective AI interactions. This book transitions readers from basic to advanced prompt engineering, blending theoretical knowledge with practical skills. It is an essential resource for mastering prompt engineering and building innovative GPT applications.
Felix Frank, Martin Alfke
Puppet is a configuration management tool that allows you to automate all your IT configurations, giving you control over what you do to each Puppet Agent in a network, and when and how you do it. In this age of digital delivery and ubiquitous Internet presence, it's becoming increasingly important to implement scalable and portable solutions, not only in terms of software, but also the systems that run it. The free Ruby-based tool Puppet has established itself as the most successful solution to manage any IT infrastructure. Ranging from local development environments through complex data center setups to scalable cloud implementations, Puppet allows you to handle them all with a unified approach.Puppet 4 Essentials, Second Edition gets you started rapidly and intuitively as you’ll put Puppet’s tools to work right away. It will also highlight the changes associated with performance improvements as well as the new language features in Puppet 4. We’ll start with a quick introduction to Puppet to get you managing your IT systems quickly. You will then learn about the Puppet Agent that comes with an all-in-one (AIO) package and can run on multiple systems. Next, we’ll show you the Puppet Server for high-performance communication and passenger packages. As you progress through the book, the innovative structure and approach of Puppet will be explained with powerful use cases. The difficulties that are inherent to a complex and powerful tool will no longer be a problem for you as you discover Puppet's fascinating intricacies.By the end of the book, you will not only know how to use Puppet, but also its companion tools Facter and Hiera, and will be able to leverage the flexibility and expressive power implemented by their tool chain.
Puppet 8 for DevOps Engineers. Automate your infrastructure at an enterprise scale
David Sandilands
As DevOps and platform engineering drive the demand for robust internal development platforms, the need for infrastructure configuration tools has never been greater. Puppet, a powerful configuration management tool, is widely used by leading enterprises and boasts a thriving open source community.This book provides a comprehensive explanation of both the Puppet language and the platform. It begins by helping you grasp the basic concepts and approach of Puppet as a stateful language, and then builds up to explaining how to structure Puppet code to scale and allow flexibility and collaboration among teams. As you advance, you’ll find out how the Puppet platform allows the management and reporting of infrastructure configuration. The book also shows you how the platform can be integrated with other tooling, such as ServiceNow and Splunk. The concluding chapters help you implement Puppet to fit in heavily regulated and audited environments as well as modern hybrid cloud environments.By the end of this book, you’ll have gained a solid understanding of the capabilities of both the Puppet language and platform, and you will have learned how to structure and scale Puppet to create a platform to provide enterprise-grade infrastructure configuration.
Puppet for Containerization. Manage, orchestrate, and deploy containers with Puppet
Scott Coulton
This book teaches you how to take advantage of the new benefits of containerization systems such as Docker, Kubernetes, Docker Swarm, and Docker UCP, without losing the panoptical power of proper configuration management. You will learn how to integrate your containerized applications and modules with your Puppet workflow. You will also understand how to manage, monitor, and orchestrate hosts to keep deployed containers running seamlessly. With the help of this book, you can efficiently automate and document with containers, as a part of your system.The book will also cover use cases of deploying Puppet within a containerized environment.
Venkateshwaran Loganathan, Gopinath Jaganmohan
Elegantly-built GUI applications are always a massive hit among users. PySide is an open source software project that provides Python bindings for the Qt cross-platform UI framework. Combining the power of Qt and Python, PySide provides easy access to the Qt framework for Python developers and also acts as an excellent rapid application development platform.This book will take you through everything you need to know to develop UI applications. You will learn about installing and building PySide in various major operating systems as well as the basics of GUI programming. The book will then move on to discuss event management, signals and slots, and the widgets and dialogs available with PySide. Database interaction and manipulation is also covered.By the end of this book, you will be able to program GUI applications efficiently and master how to develop your own applications and how to run them across platforms.
Mercury Learning and Information, Oswald Campesato
This book bridges the gap between theoretical knowledge and practical application in Python programming, machine learning, and using ChatGPT-4 in data science. It starts with an introduction to Pandas for data manipulation and analysis. The book then explores various machine learning classifiers, from kNN to SVMs. Later chapters cover GPT-4's capabilities, enhancing linear regression analysis, and using ChatGPT in data visualization, including AI apps, GANs, and DALL-E.The journey begins with mastering Pandas and machine learning fundamentals. It progresses to applying GPT-4 in linear regression and machine learning classifiers. The final chapters focus on using ChatGPT for data visualization, making complex results accessible and understandable.Understanding these concepts is crucial for modern data scientists. This book transitions readers from basic Python programming to advanced applications of ChatGPT-4 in data science. Companion files with source code, datasets, and figures enhance learning, making this an essential resource for mastering Python, machine learning, and AI-driven data visualization.
Dusty Phillips
Python 3 is more versatile and easier to use than ever. It runs on all major platforms in a huge array of use cases. Coding in Python minimizes development time and increases productivity in comparison to other languages. Clean, maintainable code is easy to both read and write using Python's clear, concise syntax.Object-oriented programming is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Many modern programming languages utilize the powerful concepts behind object-oriented programming and Python is no exception.Starting with a detailed analysis of object-oriented analysis and design, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. This book fully explains classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions with an emphasis on when you can use each principle to develop well-designed software.You'll get an in-depth analysis of many common object-oriented design patterns that are more suitable to Python's unique style. This book will not just teach Python syntax, but will also build your confidence in how to program.You will also learn how to create maintainable applications by studying higher level design patterns. Following this, you'll learn the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems will be introduced in the book. After you discover the joy of unit testing and just how easy it can be, you'll study higher level libraries such as database connectors and GUI toolkits and learn how they uniquely apply object-oriented principles. You'll learn how these principles will allow you to make greater use of key members of the Python eco-system such as Django and Kivy.This new edition includes all the topics that made Python 3 Object-oriented Programming an instant Packt classic. It's also packed with updated content to reflect recent changes in the core Python library and covers modern third-party packages that were not available on the Python 3 platform when the book was first published.
Python 3 Using ChatGPT / GPT-4. Harnessing AI for Efficient Python Programming
Mercury Learning and Information, Oswald Campesato
This book is for people who want to learn Python 3 and how to use ChatGPT with Python. It starts with an introduction to Python programming, covering data types, number formatting, Unicode handling, and text manipulation. The book then covers loops, conditional logic, reserved words, user input, exception management, and command-line arguments.The journey continues into Generative AI, discussing its distinction from Conversational AI. Popular platforms like ChatGPT and GPT-4 are explored, along with their strengths, weaknesses, and potential applications. The book shows how to generate Python 3 code samples via ChatGPT using the “Code Interpreter” plugin.Understanding these concepts is crucial for navigating Python and AI. This book transitions readers from basic Python programming to advanced AI applications, blending theory with practical skills. Companion files with code samples and figures enhance learning, making this an essential resource for mastering Python and ChatGPT.