Techniki programowania
Anthony Minessale II, Darren Schreiber
FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat-driven products, scaling from a soft-phone to a PBX and even up to an enterprise-class soft-switch. It is always exciting to design and build your own telephony system to suit your needs, but the task is time-consuming and involves a lot of technical skill.FreeSWITCH 1.2 comes to your rescue to help you set up a telephony system quickly and securely using FreeSWITCH. It is rich with practical examples and will give you all of the information and skills needed to implement your own PBX system.You will start with a detailed description of the FreeSWITCH system architecture. Thereafter you will receive step-by-step instructions on how to set up basic and advanced features for your telephony platform.The book begins by introducing the architecture and workings of FreeSWITCH before detailing how to plan a telephone system and then moves on to the installation, configuration, and management of a feature-packed PBX. You will learn about maintaining a user directory, XML dial plan, and advanced dial plan concepts, call routing, and the extremely powerful Event Socket. You will finally learn about the online community and history of FreeSWITCH.FreeSWITCH 1.2 is an indispensable tool for novice and expert alike.
Full Stack FastAPI, React, and MongoDB. Build Python web applications with the FARM stack
Marko Aleksendrić
If you need to develop web applications quickly, where do you turn? Enter the FARM stack. The FARM stack combines the power of the Python ecosystem with REST and MongoDB and makes building web applications easy and fast.This book is a fast-paced, concise, and hands-on beginner’s guide that will equip you with the skills you need to quickly build web applications by diving just deep enough into the intricacies of the stack's components.The book quickly introduces each element of the stack and then helps you merge them to build a medium-sized web application. You'll set up a document store with MongoDB, build a simple API with FastAPI, and create an application with React. Security is crucial on the web, so you'll learn about authentication and authorization with JSON Web Tokens. You'll also understand how to optimize images, cache responses with Redis, and add additional features to your application as well as explore tips, tricks, and best practices to make your development experience a breeze. Before you know it, you'll be deploying the application to different platforms.By the end of this book, you will have built a couple of functional applications efficiently and will have the springboard you need to delve into diverse and more specialized domains.
Wisnu Anggoro
Functional programming makes your application faster, improves performance, and increases your productivity. C# code is written at a higher level of abstraction, so that code will be closer to business requirements, abstracting away many low-level implementation details.This book bridges the language gap for C# developers by showing you how to create and consume functional constructs in C#. We also bridge the domain gap by showing how functional constructs can be applied in business scenarios. We’ll take you through lambda expressions and extension methods, and help you develop a deep understanding of the concepts and practices of LINQ and recursion in C#.By the end of the book, you will be able to write code using the best approach and will be able to perform unit testing in functional programming, changing how you write your applications and revolutionizing your projects.
Dylan Meeus
While Go is a multi-paradigm language that gives you the option to choose whichever paradigm works best for the particular problem you aim to solve, it supports features that enable you to apply functional principles in your code. In this book, you’ll learn about concepts central to the functional programming paradigm and how and when to apply functional programming techniques in Go.Starting with the basic concepts of functional programming, this Golang book will help you develop a deeper understanding of first-class functions. In the subsequent chapters, you’ll gain a more comprehensive view of the techniques and methods used in functional languages, such as function currying, partial application, and higher-order functions. You’ll then be able to apply functional design patterns for solving common programming challenges and explore how to apply concurrency mechanisms to functional programming.By the end of this book, you’ll be ready to improve your code bases by applying functional programming techniques in Go to write cleaner, safer, and bug-free code.
Steven F. Lott
Not enough developers understand the benefits of functional programming, or even what it is. Author Steven Lott demystifies the approach, teaching you how to improve the way you code in Python and make gains in memory use and performance. If you’re a leetcoder preparing for coding interviews, this book is for you.Starting from the fundamentals, this book shows you how to apply functional thinking and techniques in a range of scenarios, with Python 3.10+ examples focused on mathematical and statistical algorithms, data cleaning, and exploratory data analysis. You'll learn how to use generator expressions, list comprehensions, and decorators to your advantage. You don't have to abandon object-oriented design completely, though – you'll also see how Python's native object orientation is used in conjunction with functional programming techniques.By the end of this book, you'll be well-versed in the essential functional programming features of Python and understand why and when functional thinking helps. You'll also have all the tools you need to pursue any additional functional topics that are not part of the Python language.
Jasmine Greenaway
Software engineering is a set of techniques, including programming, within the computer science discipline associated with the development of software products. This practical guide to software engineering will enable aspiring and new developers to satisfy their curiosity about the industry and become ready to learn more about the basics before beginning to explore programming languages, along with helping junior and upcoming developers to effectively apply their knowledge in the field.The book begins by providing you with a comprehensive introduction to software engineering, helping you gain a clear, holistic understanding of its various sub-fields. As you advance, you’ll get to grips with the fundamentals of software engineering, such as flow control, data structures and algorithms. The book also introduces you to C# and guides you in writing your first program. The concluding chapters will cover case studies, including people working in the industry in different engineering roles, as well as interview tips and tricks and coding best practices.By the end of this programming book, you'll have gained practical knowledge of the implementation and associated methodologies in programming that will have you up and running and productive in no time.
Sanket Nadhani, Pallav Nadhani, Shamasis Bhattacharya
User experience can make or break any app these days, no matter whether it's a commercial product or an internal solution. While most web applications out there are boring and outdated when it comes to their charting, you can make yours both stunning and powerful using FusionCharts Suite. Once you have mastered it, you can give your users a delightful reporting experience in no time at all.FusionCharts Beginner's Guide is a practical, step-by-step guide to using FusionCharts Suite for creating delightful web reports and dashboards. Getting you started quickly, you will learn advanced reporting capabilities like drill-down and JavaScript integration, and charting best practices to make the most out of it. Filled with examples, real-life tips and challenges, this book is the firstofitstype in the visualization industry.The book teaches you to create delightful reports and dashboards for your web applications assuming no previous knowledge of FusionCharts Suite. It gets your first chart up in 15 minutes after which you can play around with different chart types and customize them. You will also learn how to create a powerful reporting experience using drill-down and advanced JavaScript capabilities. You will also connect your charts to server-side scripts pulling data from databases. Finally you round up the experience learning reporting best practices including right chart type selection and practical usability tips.By the end of the book, you will have a solid foundation in FusionCharts Suite and data visualization itself. You will be able to give your users a delightful reporting experience, from developers to management alike.
Kumsal Obuz
Game Development with Blender and Godot is a comprehensive introduction for those new to building 3D models and games, allowing you to leverage the abilities of these two technologies to create dynamic, interactive, and engaging games.This book will start by focusing on what low-poly modeling is, before showing you how to use Blender to create, rig, and animate your models. You will also polish these assets until they’re game-ready, making it easy for you to import them into Godot and use them effectively and efficiently. Next, you will use the game engine to design scenes, work with light and shadows, and transform your 3D models into interactive, controllable assets.By the end of this book, you will have a seamless workflow between Blender and Godot which is specifically geared toward game development. Alongside, you’ll also be building a point-and-click adventure game following the instructions and guidance in the book. Finishing this game will help you take these newly acquired skills and create your own 3D games from conception to completion.
Isaac Sukin
The advent of WebGL and its inclusion in many browsers enabled JavaScript programs running in a web browser to access the GPU without a plugin or extension. Three.js is a next generation high-level library that makes it possible to author complex 3D computer animations that display in the browser using nothing more than a simple text editor. The development of these new tools has opened up the world of real-time 3D computer animations to a far broader spectrum of developers.Starting with how to build 3D games on the web using the Three.js graphics library, you will learn how to build 3D worlds with meshes, lighting, user interaction, physics, and more. Along the way, you'll learn how to build great online games through fun examples. Use this book as a guide to embrace the next generation of game development!Moving on from the basics, you will learn how to use Three.js to build game worlds using its core components, including renderers, geometries, materials, lighting, cameras, and scenes. Following on from this, you will learn how to work with mouse and keyboard interactions, incorporate game physics, and import custom models and animations. You will also learn how to include effects like particles, sounds, and post-processing. You will start by building a 3D world, and then create a first person shooter game using it. You will then be shown how to imbue this FPS game with a “capture the flag” gameplay objective. With Game Development with Three.js, you will be able to build 3D games on the Web using the Three.js graphics library.
Witold Wysota, Lorenz Haas
Qt is the leading cross-platform toolkit for all significant desktop, mobile, and embedded platforms and is becoming more popular by the day, especially on mobile and embedded devices. Despite its simplicity, it's a powerful tool that perfectly fits game developers’ needs. Using Qt and Qt Quick, it is easy to build fun games or shiny user interfaces. You only need to create your game once and deploy it on all major platforms like iOS, Android, and WinRT without changing a single source file.The book begins with a brief introduction to creating an application and preparing a working environment for both desktop and mobile platforms. It then dives deeper into the basics of creating graphical interfaces and Qt core concepts of data processing and display before you try creating a game. As you progress through the chapters, you’ll learn to enrich your games by implementing network connectivity and employing scripting. We then delve into Qt Quick, OpenGL, and various other tools to add game logic, design animation, add game physics, and build astonishing UI for the games. Towards the final chapters, you’ll learn to exploit mobile device features such as accelerators and sensors to build engaging user experiences. If you are planning to learn about Qt and its associated toolsets to build apps and games, this book is a must have.
Natalie Denmeade
This book describes how teachers can use Gamification design within the Moodle Learning Management System. Game elements can be included in course design by using, badges, rubrics, custom grading scales, forums, and conditional activities. Moodle courses do not have to be solo-learning experiences that replicate Distance Education models. The Gamification design process starts by profiling players and creating levels of achievement towards meeting learning outcomes. Each task is defined, valued, and sequenced. Motivation loops are devised to keep the momentum going. In a gaming studio, this approach would require a team of specialists with a large budget and time frames. Preparing for a class rarely has these optimal conditions. The approach used in this book is to introduce game elements into the course design gradually. First, apply gamification to just one lesson and then build up to gamifying a series of lessons over a term. Each example will indicate the difficulty level and time investment. Try it out to see what is most effective with your learners and choose wisely in your use of technology. By the end of this book, you will be able to create Moodle courses that incorporate choice, communication,challenge, and creativity.
Lauren S. Ferro
Are you looking at implementing gamification techniques for your business and wondering where to get a complete rundown of all the tricks and techniques? Well, you have come to the right place!This book will start right from the basics such as gameplay elements and their functionalities before gradually moving onto creating your first gamification project from scratch. You’ll be given the tools and shown how to perform various techniques for creating gamified applications in different contexts. Finally, you will implement various game elements into Unity, publish your own task management application, and get to know the best practices and approaches when designing gamified experiences.
Paul Singh, Anurag Karuparti, John Maeda
Generative artificial intelligence technologies and services, including ChatGPT, are transforming our work, life, and communication landscapes. To thrive in this new era, harnessing the full potential of these technologies is crucial. Generative AI for Cloud Solutions is a comprehensive guide to understanding and using Generative AI within cloud platforms.This book covers the basics of cloud computing and Generative AI/ChatGPT, addressing scaling strategies and security concerns. With its help, you’ll be able to apply responsible AI practices and other methods such as fine-tuning, RAG, autonomous agents, LLMOps, and Assistants APIs. As you progress, you’ll learn how to design and implement secure and scalable ChatGPT solutions on the cloud, while also gaining insights into the foundations of building conversational AI, such as chatbots. This process will help you customize your AI applications to suit your specific requirements.By the end of this book, you’ll have gained a solid understanding of the capabilities of Generative AI and cloud computing, empowering you to develop efficient and ethical AI solutions for a variety of applications and services.
Generative AI with Python. Harness the Power of Python for Building Generative AI Models
Rheinwerk Publishing, Inc, Bert Gollnick
Generative AI with Python introduces readers to the fascinating world of AI model development. It begins with essential concepts in AI and deep learning, building a solid foundation for working with generative models. You will explore how to create models that generate text, images, and more, with clear, practical examples. The book provides an in-depth look at large language models and pretrained tools like Hugging Face, demonstrating how they can be leveraged in real-world applications. Each chapter blends theoretical concepts with hands-on coding exercises to ensure you understand both the principles and practical implementation of generative AI. Starting with the basics of natural language processing and deep learning, the book guides you to more advanced applications such as text summarization, image generation, and model fine-tuning. You'll also learn about optimizing AI models and deploying them in various environments. By the end of the book, you’ll be able to confidently build AI-driven applications with Python, capable of transforming business processes and enhancing consumer products.
Behram Irani, Rahul Sonawane
Many developers face the challenge of managing repetitive tasks and maintaining productivity. This book will help you tackle both these challenges with Amazon Q Developer, a generative AI-powered assistant designed to optimize coding and streamline workflows.This book takes you through the setup and customization of Amazon Q Developer, demonstrating how to leverage its capabilities for auto-code generation, code explanation, and transformation across multiple IDEs and programming languages. You'll learn to use Amazon Q Developer to enhance coding experiences, generate accurate code references, and ensure security by scanning for vulnerabilities. The book also shows you how to use Amazon Q Developer for AWS-related tasks, including solution building, applying architecture best practices, and troubleshooting errors. Each chapter provides practical insights and step-by-step guidance to help you fully integrate this powerful tool into your development process. You’ll get to grips with effortless code implementation, explanation, transformation, and documentation, helping you create applications faster and improve your development experience.By the end of this book, you’ll have mastered Amazon Q Developer to accelerate your software development lifecycle, improve code quality, and build applications faster and more efficiently.
Pablo Carreira
From Python programming good practices to the advanced use of analysis packages, this book teaches you how to write applications that will perform complex geoprocessing tasks that can be replicated and reused.Much more than simple scripts, you will write functions to import data, create Python classes that represent your features, and learn how to combine and filter them. With pluggable mechanisms, you will learn how to visualize data and the results of analysis in beautiful maps that can be batch-generated and embedded into documents or web pages. Finally, you will learn how to consume and process an enormous amount of data very efficiently by using advanced tools and modern computers’ parallel processing capabilities.
David da L Gouveia
Audio plays a fundamental role in video games. From music to sound effects or dialogue, it helps to reinforce the experience, convey the mood, and give feedback to the player. Presently, many games have achieved commercial success by incorporating game sounds that have enhanced the user experience. You can achieve this in your games with the help of the FMOD library. This book provides you with a practical guide to implementing the FMOD toolkit in your games.Getting Started with C++ Audio Programming for Game Developers is a quick and practical introduction to the most important audio programming topics that any game developer is expected to know. Whether you need to play only a few audio files or you intend to design a complex audio simulation, this book will help you get started enhancing your game with audio programs.Getting Started with C++ Audio Programming for Game Developers covers a broad range of topics – from loading and playing audio files to simulating sounds within a virtual environment and implementing interactive sounds that react to events in the game.The book starts off with an explanation of the fundamental audio concepts, after which it proceeds to explain how to use the FMOD Ex library, how to implement a 3D audio simulation, how to use the FMOD Designer toolkit, and how best to work with multi-layered sounds with complex behaviors attached to them. The final part of the book deals with working with audio at a much lower level by manipulating audio data directly.This book will provide you with a good foundation so that you can successfully implement audio into your games and begin pursuing other advanced topics in audio programming with confidence.
JOAO ANTONIO C DOS SANTOS
Computer-aided design (CAD) uses computer systems to assist in the creation, modification, and analysis of a design. DraftSight is a 2D computer-aided design (CAD) software application. DraftSight includes all the main tools to draft with precision, and it works with DWG files, the most popular CAD file type. It runs on a wide variety of operating systems, including Windows, Mac, and Linux.Getting Started with DraftSight addresses all the main phases for executing and printing a mechanical project. These concepts and commands can easily be applied to other areas. Beginning with the very basic concepts, and going through all the necessary drawing steps, you will finish by printing a full scale mechanical drawing. The illustrative examples will help you understand the design process and teach you how to utilize DraftSight features in your mechanical design projects.You will start with an overview of the mechanical design process, which will help you understand the different commands, tools, and tasks involved in DraftSight projects. You will then proceed to executing all the phases of the design process. This includes setting up a drawing, drawing and editing with precision, organizing with layers, and finally obtaining valid information from the drawing. Furthermore, you will also learn to apply fills, patterns, and dimensions, and the process of defining and printing sheets.With GettingStarted with DraftSight you will learn how to specify and document parts and print drawings with the help of DraftSight. Towards the end of this book you will be introduced to some advanced concepts like additional layer commands, and methods to reference other drawings or images, which can be very useful when dealing with complex projects.
Alex Krishtop
Algorithm-based trading is a popular choice for Python programmers due to its apparent simplicity. However, very few traders get the results they want, partly because they aren’t able to capture the complexity of the factors that influence the market. Getting Started with Forex Trading Using Python helps you understand the market and build an application that reaps desirable results.The book is a comprehensive guide to everything that is market-related: data, orders, trading venues, and risk. From the programming side, you’ll learn the general architecture of trading applications, systemic risk management, de-facto industry standards such as FIX protocol, and practical examples of using simple Python codes. You’ll gain an understanding of how to connect to data sources and brokers, implement trading logic, and perform realistic tests. Throughout the book, you’ll be encouraged to further study the intricacies of algo trading with the help of code snippets.By the end of this book, you’ll have a deep understanding of the fx market from the perspective of a professional trader. You’ll learn to retrieve market data, clean it, filter it, compress it into various formats, apply trading logic, emulate the execution of orders, and test the trading app before trading live.
Rahat Khanna
Hybrid Apps are a promising choice in mobile app development to achieve cost effectiveness and rapid development. However, they were not preferred over native apps until few years back due to a poor performance and bad user experience, but everything has changed with the release of Ionic. It has evolved as the most popular choice for Hybrid Mobile App development as it tends to match the native experience and provides robust components/tools to build apps.Getting Started with Ionic equips any web developer with the basic knowledge needed to use modern web technologies to build amazing hybrid mobile apps using Ionic. This fast-paced, practical book explains all the important concepts of AngularJS and Cordova Framework required to develop apps, then gives you a brief introduction to hybrid mobile applications. It will guide you through setting up the environment to develop mobile apps, and through the multiple options and features available in Ionic so you can use them in your mobile apps. Features such as the Side Menu, Tabs, Touch Interactions, and native features such as Bar Code, Camera, and Geolocations are all covered.. Finally, we’ll show you how to use Cordova plugins and publish your apps.
Roderick Person
A good integrated development environment can be the key to creating and delivering software on time and budget. Having a programming language and a development environment that runs on multiple platforms greatly eases and lessens the time taken on creating cross-platform applications. An IDE that is compatible with a legacy code base allows developers to leverage existing libraries in future applications.Getting Started with Lazarus is a practical, hands-on guide that provides you with a number of clear step-by-step exercises, which will help you take advantage of the power of the Lazarus IDE and Free Pascal to develop software that can be created for cross-platform use.Getting started with Lazarus discusses developing software with the open source cross platform integrated development environment and the Free Pascal language.We'll learn how to install Lazarus on various platforms such as Linux and Windows, as well as how to create new projects and convert existing Delphi projects to Lazarus projects by learning the differences between Delphi's Pascal syntax and Free Pascal's Object Pascal using a real world example project.We'll learn how to create custom components for use in Lazarus. We'll also learn the basics of documenting a Lazarus project using the Lazarus Documentation Editor.Finally we will learn that the IDE can be rebuilt using a different widget type, specifically GTK 2.Teach yourself the basics of programming with Lazarus and the open source IDE for the Free Pascal language.
Branko Ajzele
Modules, are a group of php and xml files meant to extend the system with new functionality, or override core system behavior. Most of the base Magento system is built using the module system, so you can see why they are an important feature for this rich open-source e-commerce solutions. This book explores key module development techniques and teaches you to modify, understand and structure your modules making it easy for you to get a strong foundation for clean and unobtrusive Magento module development.Getting Started with Magento Extension Development is a practical, hands-on guide to building Magento modules from scratch. This book provides an in depth introduction and helps you discover features such as; blocks, controllers, models, configuration files, and other crucial elements which contribute to the Magento architecture. This book introduces the you to real-world modules and helps provide a strong foundation which you need to become a professional Magento module developer. The book further explores best practices and tips and tricks offering you the ultimate go to guide.Getting Started with Magento Extension Development focuses on three areas. First you are guided through the entire Magento structure, where each important directory or file is explored in detail. Then the essence of the module structure and development is explained through the detailed coverage of models, blocks, controllers, configuration, and other files that manifest a single module. Finally, a detailed set of instructions is given for building four real-world modules, including a payment and shipping module.
Getting Started with OpenCart Module Development. Master your OpenCart modules and code!
Rupak Nepali
OpenCart is an online shopping tool which is free to use. It has become widely popular because of its support for custom extensions and module development. This book helps you understand how to use the features available in OpenCart using step-by-step instructions.Getting Started with OpenCart Module Development gives you step-by-step explanations and illustrations on how to clone, customize, and develop modules and pages with OpenCart.This book shows you how to create custom OpenCart modules and pages which are needed as per the requirements of the clients to manage custom data. It describes each and every code used to make a Hello World module, a feedback module, a tips module, an order total module, and a shipping and payment module.The book covers installing, configuring, and uninstalling modules as well as how to clone them. It also discusses all the available Global Library methods of OpenCart as well as ways to handle the files and folders of a shipping and payment module. At the end of the book, you will learn how to make custom pages to manage data by creating a feedback module and how to create the order total using a tips module.In Getting Started with OpenCart Module Development, you will learn everything you need to know to create custom OpenCart modules.
Aries beltran
PhantomJS is a headless WebKit browser with JavaScript API that allows you to create new ways to automate web testing. PhantomJS is currently being used by a large number of users to help them integrate headless web testing into their development processes. It also gives you developers a new framework to create web-based applications, from simple web manipulation to performance measurement and monitoring.A step step-by by-step guide that will help you develop new tools for solving web and testing problems in an effective and quick way. The book will teach you how to use and maximize PhantomJS to develop new tools for web scrapping, web performance measurement and monitoring, and headless web testing. This book will help you understand PhantomJS’ scripting API capabilities and strengths.This book starts by looking at PhantomJS’ JavaScript API, features, and basic execution of scripts. Throughout the book, you will learn details to help you write scripts to manipulate web documents and fully create a web scrapping tool.Through its practical approach, this book strives to teach you by example, where each chapter focuses on the common and practical usage of PhantomJS, and how to extract meaningful information from the web and other services.By the end of the book, you will have acquired the skills to enable you to use PhantomJS for web testing, as well as learning the basics of Jasmine, and how it can be used with PhantomJS.