Build elegant, responsive, and stable Java Virtual Machine-based client applications (Fat Clients) with modern user interfaces. This book introduces JavaFX as a frontend technology and utilizes Kotlin instead of Java for coding program artifacts to boost code expressiveness and maintainability. Author Peter Späth employs a hands-on approach, providing practical examples and code to demonstrate each concept. Mid-level Java programming knowledge and a basic understanding of Kotlin are the only prerequisites; experience with JavaFX and frontend coding is not essential.
JavaFX is a modern frontend programming toolkit equipped with containers, menus, buttons, sliders, text fields, and various other controls necessary for communicating with your users, all of which are covered here. Despite its name, JavaFX applications can be coded with programming languages other than Java. The central requirement is that any language targeting JavaFX compiles to artifacts runnable on a Java Virtual Machine. Over the course of this book, you’ll learn firsthand why Kotlin, with its elegant and concise syntax, is a perfect match.
After completing Frontend Development With JavaFX and Kotlin, you will be able to build frontends of mid-to-high level complexity, depending on present Java skills, and use Kotlin as a language for addressing GUI programming needs and accessing the JavaFX API.
Low- to mid-level Java or Kotlin developers with or without JavaFX experience who wish to learn how to build JavaFX applications with Kotlin.
Learn the fundamentals of Java Programming with this updated guide with the latest features
Java is one of the most preferred languages among developers. It is used in everything right from smartphones and game consoles to even supercomputers, and its new features simply add to the richness of the language.
If you feel this book is for you, get your copy today!
В учебном пособии рассматриваются существующие принципы разработки программных продуктов, такие как SOLID, а также порождающие, структурные и поведенческие паттерны проектирования GoF. Приводятся сильные и слабые стороны существующих методологий разработки программного обеспечения. Учебное пособие соответствует актуальным требованиям федерального государственного образовательного стандарта высшего образования. Учебное пособие адресовано студентам высших учебных заведений, обучающимся по направлениям 09.03.01 «Информатика и вычислительная техника» и 09.03.04 «Программная инженерия».
Write sophisticated C# code with this complete guide to using diverse data structures and algorithms, featuring ready-to-use code snippets, detailed explanations, and illustrations
Building your own applications is exciting but challenging, especially when tackling complex problems tied to advanced data structures and algorithms. This endeavor demands profound knowledge of the programming language as well as data structures and algorithms - precisely what this book offers to C# developers.
Starting with an introduction to algorithms, this book gradually immerses you in the world of arrays, lists, stacks, queues, dictionaries, and sets. Real-world examples, enriched with code snippets and illustrations, provide a practical understanding of these concepts. You'll also learn how to sort arrays using various algorithms, setting a solid foundation for your programming expertise. As you progress through the book, you'll venture into more complex data structures - trees and graphs - and discover algorithms for tasks such as determining the shortest path in a graph before advancing to see various algorithms in action, such as solving Sudoku.
By the end of the book, you'll have learned how to use the C# language to build algorithmic components that are not only easy to understand and debug but also seamlessly applicable in various applications, spanning web and mobile platforms.
This book is for developers looking to learn data structures and algorithms in C#. While basic programming skills and C# knowledge is useful, beginners will find value in the provided code snippets, illustrations, and detailed explanations, enhancing their programming skills. Advanced developers can use this book as a valuable resource for reusable code snippets, instead of writing algorithms from scratch each time.
Practice makes perfect pandas!
Work out your pandas skills against dozens of real-world challenges, each carefully designed to build an intuitive knowledge of essential pandas tasks.
In Pandas Workout you’ll learn how to:
Pandas Workout hones your pandas skills to a professional-level through two hundred exercises, each designed to strengthen your pandas skills. You’ll test your abilities against common pandas challenges such as importing and exporting, data cleaning, visualization, and performance optimization. Each exercise utilizes a real-world scenario based on real-world data, from tracking the parking tickets in New York City, to working out which country makes the best wines. You’ll soon find your pandas skills becoming second nature—no more trips to StackOverflow for what is now a natural part of your skillset.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Python’s pandas library can massively reduce the time you spend analyzing, cleaning, exploring, and manipulating data. And the only path to pandas mastery is practice, practice, and, you guessed it, more practice. In this book, Python guru Reuven Lerner is your personal trainer and guide through over 200 exercises guaranteed to boost your pandas skills.
Pandas Workout is a thoughtful collection of practice problems, challenges, and mini-projects designed to build your data analysis skills using Python and pandas. The workouts use realistic data from many sources: the New York taxi fleet, Olympic athletes, SAT scores, oil prices, and more. Each can be completed in ten minutes or less. You’ll explore pandas’ rich functionality for string and date/time handling, complex indexing, and visualization, along with practical tips for every stage of a data analysis project.
For Python programmers and data analysts.
«Программирование на Python с нуля» — это идеальная книга для тех, кто хочет познакомиться с основами одного из самых популярных языков программирования. С её помощью вы отправитесь в увлекательное путешествие от первых строк кода до создания полноценной игры.
В книге вы не только изучите ключевые элементы Python, но и попрактикуетесь в их использовании благодаря практическим упражнениям от автора. По мере чтения задачи будут становиться всё сложнее и интереснее.
К концу книги вы сможете не только создать свою первую научно-фантастическую игру, но и расшифровать секретное сообщение. Это руководство подойдёт даже тем, кто совсем не имеет опыта в программировании.
In today's fast-paced world, Android development is an ever-evolving field that requires regular updates to stay ahead of the latest trends and technologies. The "Tiny Android Projects Using Kotlin" book is an excellent resource for developers who want to learn how to build Android apps using the latest tools and frameworks. Kotlin is the preferred language for Android development, making this book a practical and hands-on guide to learning the language and creating high-quality Android apps.
The book consists of 12 chapters that take you through a step-by-step process of building practical Android apps using Kotlin, XML, and Jetpack Compose. The first chapter introduces the role of Kotlin and Android in software development today. You will learn about the advantages of using Kotlin over other programming languages for Android development and the fundamental components of an Android app.Chapter 2 dives into the application development process using common elements of XML and Android Activities. By the end of the chapter, readers will have built their first Android application project, which calculates the BMI of a person based on height and weight.
In Chapters 3 and 4, readers will embark on their second project, a quiz application. Through this project, they will learn about more XML elements and create more complex user interfaces. They will also learn how to navigate between Activity screens and apply logic to UI elements.
Chapter 5 introduces readers to fragments, a crucial component of Android UI design. Through this chapter, readers will learn how to create reusable UI components while building their third project, an onboarding screen for Android devices.
Finally, Chapter 6 takes readers through the process of building a weather application. This chapter introduces them to REST APIs, an essential aspect of many applications that allows them to connect to a server over the internet.
The book is for Java or Kotlin developers with some experience in JavaFX, or those who are just starting out. It's designed to help you learn how to create JavaFX apps using Kotlin. By the end of the book, you'll be able to build basic to advanced apps for JavaFX with Kotlin.
You don't need any experience with JavaFX or front-end coding to read this book. You also don't have to be an expert in Kotlin, but it would be helpful if you've read some introductory books or tutorials about Kotlin or JavaFX. The Kotlin and JavaFX documentation is also a great resource that you can refer to while reading.
While writing this book, I realized that it was almost impossible to satisfy every potential reader's needs when it comes to game development. Game development is a diverse industry with many different platforms and genres, and each one has its own unique characteristics that cannot be covered in a single book. Therefore, I decided to focus on a specific audience: game programmers who are working on mobile or indie games using the Unity engine. These programmers are in the process of refactoring their code to make it more maintainable and scalable, and they have a basic understanding of the Unity engine and the C# language. Senior programmers working on larger-scale games may find some examples in this book to be limited, but they will still find valuable insights into the challenges they face in their own projects.Daily, however, the content of this book may offer another perspective on the use of design patterns in Unity. Therefore, feel free to skip any chapter if you are already familiar with the theory and would like to see how I have implemented a specific pattern.
Это одно из лучших и наиболее полных описаний основ инфраструктуры Scrum! Книга будет полезна всем, кто интересуется этим процессом, независимо от уровня опыта.
Кенни отлично справился с задачей — он доступно объяснил главные принципы инфраструктуры Scrum, используя простые и наглядные иллюстрации.
Сейчас существует множество книг о Scrum, но эта книга предлагает новый подход: автор проверяет методику в реальных условиях, знакомых тем, кто занимается разработкой программного обеспечения.
Кенни использует реальные примеры и ясные иллюстрации, чтобы показать, что является основой для успешной гибкой разработки. Читатели поймут, почему так важно стремиться к качеству, и осознают, что нельзя достичь всего сразу.
Учебное пособие «Программирование на языке высокого уровня» представляет собой курс по изучению языка Object Pascal. Пособие предназначено для широкого круга читателей: как для начинающих программистов, так и для тех, кто уже знаком с основами программирования и в будущем собирается стать профессиональным программистом. Пособие состоит из двух частей. Часть 1 предназначена для начинающих программистов. В ней рассматриваются основы программирования на языке Object Pascal и работа в среде программирования Borland Developer Studio 2006 Delphi for Microsoft Win32. В части 2 представлен материал, предназначенный для тех, кто хочет получить полное представление о языке Object Pascal и научиться программировать на профессиональном уровне. Предложенный теоретический материал сопровождается подробно разобранными примерами программ и схем алгоритмов. Для закрепления материала предлагаются контрольные вопросы, тесты и задания для самостоятельного решения. Для школьников, студентов средних специальных заведений и вузов (технических, экономических и других специальностей), изучающих дисциплину «Программирование», может быть рекомендовано преподавателям, слушателям курсов повышения квалификации, а также может быть использовано как самоучитель.
В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятном коде. Далее исследуются другие интересные подходы, такие как поиск подстрок или пользовательские классы. Перед переходом к следующему вопросу полученные навыки закрепляются с помощью решения задач.
Автор рассматривает все языковые средства, необходимые для уверенного владения Python. По ходу знакомства с книгой вы изучите лучшие приемы написания питонического кода. В освоении каждого инструмента помогут конкретные рекомендации и рисунки. Многочисленные перекрестные ссылки указывают на возможность повторного использования рассматриваемых средств и концепций в различных контекстах.
Программисты с опытом работы на других языках высокого уровня смогут на практике освоить современный С++ и «большую четверку» его новых возможностей: диапазоны, концепты, модули и корутины.
200+ практических примеров реального исходного кода позволят быстро овладеть идиомами современного С++, используя популярные компиляторы: Visual C++®, GNU® g++, Apple® Xcode® и LLVM®/Clang. Знание базы позволит перейти к контейнерам стандартной библиотеки С++ array и vector; функциональному программированию с диапазонами и представлениями C++20; строкам, файлам и регулярным выражениям; объектно-ориентированному программированию с классами, наследованием, динамическим и статическим полиморфизмом; перегрузке операторов, семантике копирования и перемещения, RAII и умным указателям; исключениям и ожидаемым в С++23 контрактам; контейнерам, итераторам и алгоритмам стандартной библиотеки; шаблонам, концептам С++20 и метапрограммированию; модулям С++ 20 и технологии разработки больших программ; конкурентности, параллелизму, параллельным алгоритмам стандартной библиотеки С++17 и С++20 и корутинам С++20.
Погрузитесь в увлекательный мир тестирования программного обеспечения вместе с книгой, которая является настоящим концентратом чистейших знаний для новичков и профессионалов! Автор делится секретами мастерства, подробно рассказывая о более 15 видах тестирования и более 20 методах проектирования тестов (техниках тест-дизайна). И это только вершина айсберга знаний, изложенных в книге. Вы будете поражены глубиной информации и открытием знаний собранных в одном месте, о которых даже не догадывались. Книга насыщена ценнейшими советами, основанными на практическом опыте. Многочисленные примеры помогут быстрее освоить представленный в книге материал. Вооружившись знаниями из этой книги, вы будете уверенно разбираться в нюансах тестирования программного обеспечения и с лёгкостью применять знания на практике! Книга может по праву считаться настольной книгой специалиста по тестированию.
Rust's popularity is growing, due in part to features like memory safety, type safety, and thread safety. But these same elements can also make learning Rust a challenge, even for experienced programmers. This practical guide helps you make the transition to writing idiomatic Rust—while also making full use of Rust's type system, safety guarantees, and burgeoning ecosystem.
If you're a software engineer who has experience with an existing compiled language, or if you've struggled to convert a basic understanding of Rust syntax into working programs, this book is for you. By focusing on the conceptual differences between Rust and other compiled languages, and by providing specific recommendations that programmers can easily follow, Effective Rust will soon have you writing fluent Rust, not just badly translated C++.
Organized with a strong focus on open data, Data Science Fundamentals with R, Python, and Open Data discusses concepts, techniques, tools, and first steps to carry out data science projects, with a focus on Python and RStudio, reflecting a clear industry trend emerging towards the integration of the two. The text examines intricacies and inconsistencies often found in real data, explaining how to recognize them and guiding readers through possible solutions, and enables readers to handle real data confidently and apply transformations to reorganize, indexing, aggregate, and elaborate.
This book is full of reader interactivity, with a companion website hosting supplementary material including datasets used in the examples and complete running code (R scripts and Jupyter notebooks) of all examples. Exam-style questions are implemented and multiple choice questions to support the readers’ active learning. Each chapter presents one or more case studies.
Written by a highly qualified academic, Data Science Fundamentals with R, Python, and Open Data discuss sample topics such as:
Data Science Fundamentals with R, Python, and Open Data is a highly accessible learning resource for students from heterogeneous disciplines where Data Science and quantitative, computational methods are gaining popularity, along with hard sciences not closely related to computer science, and medical fields using stochastic and quantitative models.
Learning a computer language like R can be either frustrating, fun, or boring. Having fun requires challenges that wake up the learner’s curiosity but also provide an emotional reward on overcoming them. This book is designed so that it includes smaller and bigger challenges, in what I call playgrounds, in the hope that all readers will enjoy their path to R fluency. Fluency in the use of a language is a skill that is acquired through practice and exploration. Although rarely mentioned separately, fluency in a computer programming language involves both writing and reading. The parallels between natural and computer languages are many, but differences are also important. For students and professionals in the biological sciences, humanities, and many applied fields, recognizing the parallels between R and natural languages should help them feel at home with R. The approach I use is similar to that of a travel guide, encouraging exploration and describing the available alternatives and how to reach them. The intention is to guide the reader through the R landscape of 2020 and beyond.
Go, the high-performance language from Google, is rapidly gaining traction in the machine learning world. Its speed, concurrency, and built-in features make it ideal for building efficient, scalable ML models. But where do you start?
This book is written by a seasoned developer and machine learning expert, providing you with practical, hands-on guidance based on real-world experience. After reading this book, you'll be equipped with the knowledge and tools to create robust, performant models without sacrificing clarity or maintainability.
This book is designed for programmers with some coding experience who are interested in applying Go to machine learning. Whether you're a data scientist, software engineer, or simply curious about Go's potential, this guide will empower you to create impactful ML models.
Stop struggling with slow, complex ML frameworks. Start building efficient, scalable models with Go. Get your copy of GoLang for Machine Learning today and embark on your journey to smarter, faster AI!
Get practical advice on how to leverage AI development tools for all stages of code creation, including requirements, planning, design, coding, debugging, testing, and documentation. With this book, beginners and experienced developers alike will learn how to use a wide range of tools, from general-purpose LLMs (ChatGPT, Gemini, and Claude) to code-specific systems (GitHub Copilot, Tabnine, Cursor, and Amazon CodeWhisperer).
You'll also learn about more specialized generative AI tools for tasks such as text-to-image creation.
Author Tom Taulli provides a methodology for modular programming that aligns effectively with the way prompts create AI-generated code. This guide also describes the best ways of using general purpose LLMs to learn a programming language, explain code, or convert code from one language to another.
This book examines:
Master effective navigation of neural networks, including convolutions and transformers, to tackle computer vision and NLP tasks using Python
The field of deep learning has developed rapidly in the past years and today covers broad range of applications. This makes it challenging to navigate and hard to understand without solid foundations. This book will guide you from the basics of neural networks to the state-of-the-art large language models in use today.
The first part of the book introduces the main machine learning concepts and paradigms. It covers the mathematical foundations, the structure, and the training algorithms of neural networks and dives into the essence of deep learning.
The second part of the book introduces convolutional networks for computer vision. We'll learn how to solve image classification, object detection, instance segmentation, and image generation tasks.
The third part focuses on the attention mechanism and transformers - the core network architecture of large language models. We'll discuss new types of advanced tasks, they can solve, such as chat bots and text-to-image generation.
By the end of this book, you'll have a thorough understanding of the inner workings of deep neural networks. You'll have the ability to develop new models or adapt existing ones to solve your tasks. You'll also have sufficient understanding to continue your research and stay up to date with the latest advancements in the field.
This book is for software developers/engineers, students, data scientists, data analysts, machine learning engineers, statisticians, and anyone interested in deep learning. Prior experience with Python programming is a prerequisite.
This book provides a comprehensive group of topics covering the details of the Transformer architecture, BERT models, and the GPT series, including GPT-3 and GPT-4. Spanning across ten chapters, it begins with foundational concepts such as the attention mechanism, then tokenization techniques, explores the nuances of Transformer and BERT architectures, and culminates in advanced topics related to the latest in the GPT series, including ChatGPT. Key chapters provide insights into the evolution and significance of attention in deep learning, the intricacies of the Transformer architecture, a two-part exploration of the BERT family, and hands-on guidance on working with GPT-3. The concluding chapters present an overview of ChatGPT, GPT-4, and visualization using generative AI. In addition to the primary topics, the book also covers influential AI organizations such as DeepMind, OpenAI, Cohere, Hugging Face, and more. Readers will gain a comprehensive understanding of the current landscape of NLP models, their underlying architectures, and practical applications. Features companion files with numerous code samples and figures from the book.
FEATURES:
A Simple Introduction to Python is aimed at pre-university students and complete novices to programming. The whole book has been created using Jupyter notebooks. After introducing Python as a powerful calculator, simple programming constructs are covered, and the NumPy, MatPlotLib and SymPy modules (libraries) are introduced. Python is then used for Mathematics, Cryptography, Artificial Intelligence, Data Science and Object Oriented Programming.
The reader is shown how to program using the integrated development environments: Python IDLE, Spyder, Jupyter notebooks, and through cloud computing with Google Colab.
Features:
Orchestration systems like Kubernetes can seem like a black box: you deploy to the cloud and it magically handles everything you need. That might seem perfect—until something goes wrong and you don’t know how to find and fix your problems. Build an Orchestrator in Go (From Scratch) reveals the inner workings of orchestration frameworks by guiding you through creating your own.
Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications.
Build an Orchestrator in Go (From Scratch) explains each stage of creating an orchestrator with diagrams, step-by-step instructions, and detailed Go code samples. Don’t worry if you’re not a Go expert. The book’s code is optimized for simplicity and readability, and its key concepts are easy to implement in any language. You’ll learn the foundational principles of these frameworks, and even how to manage your orchestrator with a command line interface.
Orchestration frameworks like Kubernetes and Nomad radically simplify managing containerized applications. Building an orchestrator from the ground up gives you deep insight into deploying and scaling containers, clusters, pods, and other components of modern distributed systems. This book guides you step by step as you create your own orchestrator—from scratch.
Build an Orchestrator in Go (From Scratch) gives you an inside-out perspective on orchestration frameworks and the low-level operation of distributed containerized applications. It takes you on a fascinating journey building a simple-but-useful orchestrator using the Docker API and Go SDK. As you go, you’ll get a guru-level understanding of Kubernetes, along with a pattern you can follow when you need to create your own custom orchestration solutions.
For software engineers, operations professionals, and SREs. This book’s simple Go code is accessible to all programmers.
A hands-on, beginner-friendly approach to developing complete web applications from the ground up, using JavaScript and its most popular frameworks, including Node.js and React.js.
Whether you’ve been in the developer kitchen for decades or are just taking the plunge to do it yourself, The Complete Developer will show you how to build and implement every component of a modern stack—from scratch.
You’ll go from a React-driven frontend to a fully fleshed-out backend with Mongoose, MongoDB, and a complete set of REST and GraphQL APIs, and back again through the whole Next.js stack.
The book’s easy-to-follow, step-by-step recipes will teach you how to build a web server with Express.js, create custom API routes, deploy applications via self-contained microservices, and add a reactive, component-based UI. You’ll leverage command line tools and full-stack frameworks to build an application whose no-effort user management rides on GitHub logins.
Whether you’re an experienced software engineer or new to DIY web development, The Complete Developer will teach you to succeed with the modern full stack. After all, control matters.
Covers: Docker, Express.js, JavaScript, Jest, MongoDB, Mongoose, Next.js, Node.js, OAuth, React, REST and GraphQL APIs, and TypeScript