Your cart is empty
Software Engineering for Real-Time Systems is a comprehensive introduction to the systematic design of real-time and embedded software systems. The text provides arguments, examples, techniques, and methodologies to demonstrate what software engineering can offer a real-time software developer. Written in an accessible style and complemented by numerous diagrams, the reader is guided through the steps of a total design approach, from the initial definition of the task all the way through to documentation.
Elixir offers new paradigms, and challenges you to test in unconventional ways. Start with ExUnit: almost everything you need to write tests covering all levels of detail, from unit to integration, but only if you know how to use it to the fullest - we'll show you how. Explore testing Elixir-specific challenges such as OTP-based modules, asynchronous code, Ecto-based applications, and Phoenix applications. Explore new tools like Mox for mocks and StreamData for property-based testing. Armed with this knowledge, you can create test suites that add value to your production cycle and guard you from regressions. Write Elixir tests that you can be proud of. Dive into Elixir's test philosophy and gain mastery over the terminology and concepts that underlie good tests. Create and structure a comprehensive ExUnit test suite, starting from the basics, and build comprehensive test coverage that will provide safety for refactoring and confidence that your code performs as designed. Use tests to make your software more reliable and fault tolerant. Explore the basic tool set provided by ExUnit and Mix to write and organize your test suite. Test code built around different OTP functionality. Isolate your code through dependency injection and by using Mox. Write comprehensive tests for Ecto projects, covering Ecto as a database tool as well as a standalone data validation tool. Test Phoenix channels from end to end, including authentication and joining topics. Write Phoenix controller tests and understand the concepts of integration testing in Elixir. Learn property-based testing with StreamData from the author who wrote the library. Code with high confidence that you are getting the most out of your test suite, with the right tools that make testing your code a pleasure and a valuable part of your development cycle. What You Need: To get the most out of this book, you will need to have installed Elixir 1.8 or later and Erlang/OTP 21 or later. In order to complete the relevant chapters, you will also need Ecto 3.1 or later, EctoSQL 3.1 or later and Phoenix 1.3 or later.
Experience has shown us that investment in the requirements process
saves time, money, and effort. Yet, development efforts
consistently charge ahead without investing sufficiently in the
requirements process. We are so intent to develop the technical
solutions that we are unwilling to take the time and effort to
understand and meet the real customer needs.
If you are involved in the systems engineering process, in any company -- from transport and telecommunications, to aerospace and software -- you will learn how to write down requirements to guarantee you get the systems YOU need.What skills will I learn?
How to write simple, clear requirements -- so you get what you
wantHow to organize requirements as scenarios -- so everyone
understands what you wantHow to review requirements -- so you ask
for the right things
This book develops the object-oriented programming skills of experienced programmers (at the Junior, Senior or above level) by showing how to use Java 2 (the latest release of Sun's Java platform), and by providing a complete understanding of the philosophy behind Java 2. It starts out covering the language-independent concepts that are at the heart of the Java world, and then moves on to introduce Java through several example programs. Following this is an in-depth discussion on inheritance and polymorphism. Finally, the book concludes with material on important features of Java that are not object-oriented.
If you're grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you'll learn how to create views, manipulate view controllers, and add features from iOS frameworks. Create, arrange, draw, layer, and animate views that respond to touch Use view controllers to manage multiple screens of interface Master interface classes for scroll views, table views, collection views, text, popovers, split views, web views, and controls Dive into frameworks for sound, video, maps, and sensors Access user libraries: music, photos, contacts, and calendar Explore additional topics, including files, networking, and threads Stay up-to-date on iOS 14 innovations, such as: Control action closures and menus Table view cell configuration objects Collection view lists and outlines New split view controller architecture Pointer customization on iPad New photo picker and limited photos authorization Reduced accuracy location Color picker, new page control behavior, revised date pickers, and more! Want to brush up on the basics? Pick up iOS 14 Programming Fundamentals with Swift to learn about Swift, Xcode, and Cocoa. Together with Programming iOS 14, you'll gain a solid, rigorous, and practical understanding of iOS 14 development.
It givesus greatpleasureto presentthe proceedings of the 9th Asian Conference on Computer Vision (ACCV 2009), held in Xi'an, China, in September 2009. This was the ?rst ACCV conference to take place in mainland China. We received a total of 670 full submissions, which is a new record in the ACCV series. Overall, 35 papers were selected for oral presentation and 131 as posters, yielding acceptance rates of 5.2% for oral, 19.6% for poster, and 24.8% in total. In the paper reviewing, we continued the tradition of previous ACCVsbyconductingtheprocessinadouble-blindmanner.Eachofthe33Area Chairs received a pool of about 20 papers and nominated a number of potential reviewers for each paper. Then, Program Committee Chairs allocated at least three reviewers to each paper, taking into consideration any con?icts of interest and the balance of loads. Once the reviews were ?nished, the Area Chairs made summaryreportsforthepapersintheirpools,basedonthereviewers'comments and on their own assessments of the papers.
Sophisticated development organizations worldwide are discovering the advantages of software architectures in building systems that deliver higher quality, lower development and maintenance costs, and shorter time to market. In this book, one of the field's leading experts addresses the two most important factors in making software architectures work: effective design, and leveraging architectures across product lines.KEY TOPICS:Jan Bosch begins by outlining the rationale for software architectures, and reviewing the limits of traditional approaches to software reuse. Next, Bosch introduces a comprehensive approach to software architecture design that includes explicit quality goals, is carefully optimized up front, and still accounts for the inevitability of change. In Part II, Bosch presents today's best practices for defining architectures that can be reused across entire "lines" or "families" of software. Bosch covers each phase of the software product line lifecycle, including development, usage, and evolution of software assets, showing how to manage interdependencies, and cope with new requirements that were not part of the original design. The book includes several running case studies from real companies that have achieved competitive advantage through software architecture.MARKET:For all software architects; IT managers responsible for development projects; designers; and developers.
Soft computing techniques are no longer limited to the arena of computer science. The discipline has an exponentially growing demand in other branches of science and engineering and even into health and social science. This book contains theory and applications of soft computing in engineering, health, and social and applied sciences. Different soft computing techniques such as artificial neural networks, fuzzy systems, evolutionary algorithms and hybrid systems are discussed. It also contains important chapters in machine learning and clustering. This book presents a survey of the existing knowledge and also the current state of art development through original new contributions from the researchers. This book may be used as a one-stop reference book for a broad range of readers worldwide interested in soft computing. In each chapter, the preliminaries have been presented first and then the advanced discussion takes place. Learners and researchers from a wide variety of backgrounds will find several useful tools and techniques to develop their soft computing skills. This book is meant for graduate students, faculty and researchers willing to expand their knowledge in any branch of soft computing. The readers of this book will require minimum prerequisites of undergraduate studies in computation and mathematics.
Have you ever thought of creating beautiful, blazing-fast native apps for iOS and Android from a single codebase? Have you dreamt of taking your native apps to the web and desktop without it costing a fortune? If so, Pragmatic Flutter: Building Cross-Platform Mobile Apps for Android, iOS, Web & Desktop is the right place to start your journey to developing cross-platform apps. Google's Flutter is the brand-new way for developing beautiful, fluid, and blazing-fast cross-platform apps for Android, iOS, web, and desktops (macOS, Linux, Windows). Google's new Fuchsia OS user interface (UI) is implemented using Flutter as well. Learning to develop mobile apps with Flutter opens the door to multiple devices, form-factors, and platforms using a single codebase. You don't need any prior experience using Dart to follow along in this book; however, it's recommended that readers have some familiarity with writing code using one of the object-oriented programming languages. Your journey starts with learning to structure and organize the Flutter project to develop apps for multiple platforms. Next, you will explore the fundamentals of Flutter widgets. The journey continues with Flutter's layout widgets while also learning to build responsive layouts. You will get an understanding of organizing and applying themes and styles, handling user input, and gestures. Then you will move on to advanced concepts, such as fetching data over the network and integrating and consuming REST API in your app. You will get hands-on experience on design patterns, data modeling, routing, and navigation for multi-screen apps. When you are finished, you will have a solid foundational knowledge of Flutter that will help you move on to building great and successful mobile apps that can be deployed to Android, iOS, web, and desktop (macOS, Linux, Windows) platforms from a single codebase.
Get the authoritative guide to Dapr, the distributed application runtime that works with new and existing programming languages alike. Written by the model's creators, this introduction shows you how Dapr not only unifies stateless, stateful, and actor programming models but also runs everywhere-in the cloud or on the edge. Authors Haishi Bai and Yaron Schneider, both with Microsoft's Azure CTO team, explain that, with Dapr, you don't need to include any SDKs or libraries in your user code. Instead, you automatically get flexible binding, state management, the actor pattern, pub-sub, reliable messaging, and many more features. This book shows developers, architects, CIOs, students, and computing enthusiasts how to get started with Dapr. Learn the new programming model for cloud native applications Write high-performance distributed applications without drilling into technical details Use Dapr with any language or framework to write microservices easily Learn how Dapr provides consistency and portability through open APIs and extensible, community-driven components Explore how Dapr handles state, resource bindings, and pub-sub messaging to enable resilient event-driven architectures that scale Integrate cloud applications with various SaaS offerings, such as machine learning
Whether you're a budding blogger or seasoned web designer, WordPress is a brilliant tool for creating websites - once you know how to tap into its impressive features. The latest edition of this jargon-free Missing Manual shows you how to use WordPress's themes, widgets, and plug-ins to build just about any kind of site. The important stuff you need to know: Set up WordPress. Configure WordPress on your web host or get it running on your home computer. Create your site. Get hands-on instructions for building all types of websites, from blogs to business sites with ecommerce features. Jazz it up. Add picture galleries, slideshows, video clips, music players, and podcasts. Add features. Select from thousands of plug-ins to enhance your site's capabilities, from contact forms to a basic shopping cart. Build a truly unique site. Customize a WordPress theme to create a site that looks exactly the way you want. Attract an audience. Use SEO, site statistics, and social sharing to reach more people. Stay safe. Use backup and staging tools to protect your content and avoid catastrophe.
The Definitive Java Programming Guide
In "Java: The Complete Reference, Eighth Edition," bestselling programming author Herb Schildt shows you everything you need to develop, compile, debug, and run Java programs. Updated for Java Platform, Standard Edition 7 (Java SE 7), this comprehensive volume covers the entire Java language, including its syntax, keywords, and fundamental programming principles. You'll also find information on key elements of the Java API library. JavaBeans, servlets, applets, and Swing are examined and real-world examples demonstrate Java in action. In addition, new Java SE 7 features such as try-with-resources, strings in switch, type inference with the diamond operator, NIO.2, and the Fork/Join Framework are discussed in detail.
Coverage includes: Data types and operators Control statements Classes and objects Constructors and methods Method overloading and overriding Interfaces and packages Inheritance Exception handling Generics Autoboxing Enumerations Annotations The try-with-resources statement Varargs Multithreading The I/O classes Networking The Collections Framework Applets and servlets JavaBeans AWT and Swing The Concurrent API Much, much more
The year 2009 celebrates the bicentenary of Darwin's birth and the 150th - niversary of the publication of his seminal work, On the Origin of Species.If this makes 2009 a special year for the research community working in biology and evolution, the ?eld of evolutionary computation (EC) also shares the same excitement. EC techniques are e?cient, nature-inspired planning and optimi- tion methods based on the principles of natural evolution and genetics. Due to their e?ciency and simple underlying principles, these methods can be used in the context of problem solving, optimization, and machine learning. A large and ever-increasing number of researchers and professionals make use of EC te- niques in various application domains. ThisvolumepresentsacarefulselectionofrelevantECapplicationscombined with a thorough examination of the techniques used in EC. The papers in the volume illustrate the current state of the art in the application of EC and can help and inspire researchers and professionals to develop e?cient EC methods for design and problem solving.
Developers power their projects with Python because it emphasizes readability, ease of use, and access to a meticulously maintained set of packages and tools. The language itself continues to improve with every release: writing in Python is full of possibility. But to maintain a successful Python project, you need to know more than just the language. You need tooling and instincts to help you make the most out of what's available to you. Use this book as your guide to help you hone your skills and sculpt a Python project that can stand the test of time. No matter your experience level or background, Python's batteries-included standard library and rich third-party ecosystem provide a solid foundation to build your projects on. With the right intuition and background knowledge, you can take advantage of all the power Python offers. Take a guided tour of some of Python's high points to craft a project that you can sustain and build on for a long time. Run static analysis tools to detect and eliminate classes of bugs before you run code. Experiment with Python's concurrency model and develop patterns for using Python's thread and process abstractions to their full potential. Introduce yourself to Python's type hinting system: mypy. Download and run third-party Python packages and do so safely without compromising on security. Debug code using Python's built in debugger, and try procedures out in the interactive console. Run your code under new versions of the Python interpreter to unlock performance and usability improvements. All along the way, sharpen your Python instincts so you can keep your code clean and reduce the chance of bugs. Mine Python for all you can by playing to its strengths and embracing patterns that harness its potential. What You Need: The books assumes you have some experience programming in any language (not necessarily Python). To run the code presented in the book, you'll need a Python environment which you can download from https://www.python.org/downloads/.
Most modern business systems include independent applications that exchange information with each other-a technique usually called enterprise integration. An architectural approach called the Enterprise Service Bus (ESB) offers developers a way to handle the messages between those independent applications without creating a lot of custom code. While commercial ESB solutions can be quite expensive to implement and maintain, a set of high-quality open source ESB tools offer the same functionality at a substantially lower cost.
"Open Source ESBs in Action" shows you how to implement and use two open source ESB implementations: Mule and ServiceMix. The authors introduce you to these freely-available ESB tools and present practical examples of how to use them in real-world scenarios. You will learn how the various features of an ESB such as transformation, routing, security, connectivity and more can be implemented using Mule and ServiceMix. You will also learn how to solve common enterprise integration problems using a structured approach.
Beyond simply learning how Mule and Service Mix work, you'll learn the core techniques of ESB implementation such as Process Choreography, or the implementation of complex business processes through an ESB, and Service Orchestration, or exposing a set of services as a single service. The book shows you the fundamentals of ESB-based event processing and Quality of Service concerns like security, reliable delivery, and transaction management.
Working in integration projects is exciting, with new technologies and paradigms arriving every day. Open Source technologies like Mule and ServiceMix both offer lower-cost solutions and a higher degree of innovation than commercial ESB implementations. Open Source ESBs in Action will help you master ESB-driven integration techniques quickly and will provide you with knowledge you need to work effectively with Mule and ServiceMix.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
The First Guide to Scrum-Based Agile Product Management In Agile Product Management with Scrum, leading Scrum consultant Roman Pichler uses real-world examples to demonstrate how product owners can create successful products with Scrum. He describes a broad range of agile product management practices, including making agile product discovery work, taking advantage of emergent requirements, creating the minimal marketable product, leveraging early customer feedback, and working closely with the development team. Benefitting from Pichler's extensive experience, you'll learn how Scrum product ownership differs from traditional product management and how to avoid and overcome the common challenges that Scrum product owners face. Coverage includes * Understanding the product owner's role: what product owners do, how they do it, and the surprising implications * Envisioning the product: creating a compelling product vision to galvanize and guide the team and stakeholders * Grooming the product backlog: managing the product backlog effectively even for the most complex products * Planning the release: bringing clarity to scheduling, budgeting, and functionality decisions * Collaborating in sprint meetings: understanding the product owner's role in sprint meetings, including the dos and don'ts * Transitioning into product ownership: succeeding as a product owner and establishing the role in the enterprise This book is an indispensable resource for anyone who works as a product owner, or expects to do so, as well as executives and coaches interested in establishing agile product management.
With a new generation of services and frameworks, frontend and mobile developers can use their existing skill set to build full stack applications by leveraging the cloud. Developers can build robust applications with production-ready features such as authentication, APIs, data layers, machine learning, chatbots, and AR scenes more easily than ever by taking advantage of these new serverless and cloud technologies. This practical guide explains how. Nader Dabit, developer advocate at Amazon Web Services, shows developers how to build full stack applications using React, AWS, GraphQL, and the Amplify Framework. You'll learn how to create and incorporate services into your client applications while exploring general best practices, deployment strategies, continuous integration and delivery, and rich media management along the way. Learn how to build applications that solve real problems Understand what is (and isn't) possible when using these technologies Examine how authentication works-and learn the difference between authentication and authorization Discover how serverless functions work and why they're important Use GraphQL in your application-and learn why it's important Learn how to build full stack applications on AWS
Software Reqiuirements and Specifications is the latest book from Michael Jackson, one of the foremost contributors to software development method and practice. The book brings together some 75 short pieces about principles and techniques for requirements analysis, specification and design.
The ideas discussed are deep, but at the same time lightly and wittily expressed. The book is fun to read, rewarding the reader with many valuble and novel insights. Some sacred cows, including top-down development, dataflow diagrams and the distinction between What and How, are led to the slaughter. Readers will be provoked--perhaps to fury, perhaps to enthusiasm, but surely to think more deeply about topics and issues of central importance in the field of software development.
There are new ideas about problem structuring, based on the concept of a problem frame, leading to a clearer notion of complexity and how to deal with it. And other important topics include:
Zero-defect software is the Holy Grail of all software developers. It has proved to be an elusive goal - until now. The Inspection techniques illustrated in this book have brought clear benefits in terms of lower (or even zero) defects, higher productivity, better project tracking and improved documentation.
Developing Graphics Frameworks with Python and OpenGL shows you how to create software for rendering complete three-dimensional scenes. The authors explain the foundational theoretical concepts as well as the practical programming techniques that will enable you to create your own animated and interactive computer-generated worlds. You will learn how to combine the power of OpenGL, the most widely adopted cross-platform API for GPU programming, with the accessibility and versatility of the Python programming language. Topics you will explore include generating geometric shapes, transforming objects with matrices, applying image-based textures to surfaces, and lighting your scene. Advanced sections explain how to implement procedurally generated textures, postprocessing effects, and shadow mapping. In addition to the sophisticated graphics framework you will develop throughout this book, with the foundational knowledge you will gain, you will be able to adapt and extend the framework to achieve even more spectacular graphical results.
WordPress is a software package widely used to create stunning websites. This title assumes no prior knowledge of how to create a website and has many step-by-step guides and checklists to help you.
There are some troubleshooting appendices to help fix many of the common issues.
You may like...
Sasha Vodnik, Don Gosselin Paperback (1)
The Science of Science
Dashun Wang, Albert-Laszlo Barabasi Paperback R617 Discovery Miles 6 170
Program Construction - Calculating…
Roland Backhouse Paperback R1,073 Discovery Miles 10 730
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, … Paperback (1)
Basic programming principles
C.M. Pretorius, H.G. Erasmus Paperback (4)
Programming with Mobile Applications…
Thomas Duffy Paperback
Python by Example - Learning to Program…
Nichola Lacey Paperback
Building Cross-Platform Mobile and Web…
Pawan Lingras, Matt Triff, … Paperback
The Discrete Mathematical Charms of Paul…
Vasek Chvatal Paperback R619 Discovery Miles 6 190
Programming Logic & Design…
Joyce Farrell Paperback