The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.
The companion web site, algs4.cs.princeton.edu, containsAn online synopsis Full Java implementations Test data Exercises and answers Dynamic visualizations Lecture slides Programming assignments with checklists Links to related material
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis–refactoring not just the code but the model underlying the code–in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:
With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.
In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You’ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient—lessons directly applicable to your organization.
This book is divided into four sections:Introduction—Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples—Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices—Understand the theory and practice of an SRE’s day-to-day work: building and operating large distributed computing systemsManagement—Explore Google's best practices for training, communication, and meetings that your organization can use
Getting started with Arduino is a snap. To use the introductory examples in this guide, all you need is an Arduino Uno or Leonardo, along with a USB cable and an LED. The easy-to-use, free Arduino development environment runs on Mac, Windows, and Linux.
In Getting Started with Arduino, you'll learn about:Interaction design and physical computingThe Arduino board and its software environmentBasics of electricity and electronicsPrototyping on a solderless breadboardDrawing a schematic diagramTalking to a computer--and the cloud--from ArduinoBuilding a custom plant-watering system
This is no ordinary circuit board. Arduino allows anyone, whether you're an artist, designer, programmer or hobbyist, to learn about and play with electronics. Through this book you learn how to build a variety of circuits that can sense or control things in the real world. Maybe you'll prototype your own product or create a piece of interactive artwork? This book equips you with everything you'll need to build your own Arduino project, but what you make is up to you! If you're ready to bring your ideas into the real world or are curious about the possibilities, this book is for you.
? Learn by doing ? start building circuits and programming your Arduino with a few easy to follow examples - right away!
? Easy does it ? work through Arduino sketches line by line in plain English, to learn of how a they work and how to write your own
? Solder on! ? Only ever used a breadboard in the kitchen? Don't know your soldering iron from a curling iron? No problem, you'll be prototyping in no time
? Kitted out ? discover new and interesting hardware to make your Arduino into anything from a mobile phone to a geiger counter!
? Become an Arduino savant ? learn all about functions, arrays, libraries, shields and other tools of the trade to take your Arduino project to the next level.
? Get social ? teach your Arduino to communicate with software running on a computer to link the physical world with the virtual world
It's hardware, it's software, it's fun! Start building the next cool gizmo with Arduino and Arduino For Dummies.
The arrival of the new Nexus 7 Google tablet is eagerly awaited, thanks to its cutting-edge software, top-notch hardware, unprecedented abilities, and nine-hour battery life. This easy-to-understand, engaging guide covers everything you need to know about this amazing Android tablet. Bestselling Dummies author Dan Gookin uses his friendly writing style to deliver clear instructions for setting up, navigating, and using the device. You'll learn to use all your favorite Google applications that come loaded on the device, personalize it, and much more.Walks you through the touchscreen, wireless access, and software updates Demonstrates how to download, shop for, and fill your Nexus 7 with movies, e-books, games, and music Helps you keep on top of your schedule and appointments and pursue your interests and hobbies with the latest apps and websites Offers guidance on using your device to navigate from here to there and stay connected with friends and family while you're away
Nexus 7 For Dummies is an essential companion to your other new companion: the Nexus 7!
Are you the proud new owner of a Google Chromebook and a little—or a lot—intimidated by the technology? You've come to the right place! Chromebook For Dummies walks you through setting up the device, transitioning from traditional computers and working in the cloud, customizing Chromebook to suit your needs, navigating the apps and their uses, and applying advanced settings and features. Fear not: with the step-by-step guidance and helpful information inside, there's no reason to break a sweat.
Chromebooks are affordable, fast, and sleek—and with Google driving the initiative, they're impossible to ignore. So it's no wonder they're gaining popularity and enticing people from all walks of life to make the switch from a traditional PC or laptop. If you're one of those people and want to make the most of your experience, this book is a practical user's guide to all things Chromebook.Covers all Chromebooks on the market Provides coverage of all Chromebook features in an easy-to-follow manner Serves as the go-to reference for successfully using a Chromebook Includes step-by-step coverage of everything you'll encounter with your Chromebook
If you're a new or inexperienced user who wants to maximize the performance of your Google Chromebook, you'll turn to this friendly guide time and again.
This book takes you step-by-step through many fun and educational possibilities. Take advantage of several preloaded programming languages. Use the Raspberry Pi with Arduino. Create Internet-connected projects. Play with multimedia. With Raspberry Pi, you can do all of this and more.Get acquainted with hardware features on the Pi’s board Learn enough Linux to move around the operating system Pick up the basics of Python and Scratch—and start programming Draw graphics, play sounds, and handle mouse events with the Pygame framework Use the Pi’s input and output pins to do some hardware hacking Discover how Arduino and the Raspberry Pi complement each other Integrate USB webcams and other peripherals into your projects Create your own Pi-based web server with Python
Exploring BeagleBone is a hands-on guide to bringing gadgets, gizmos, and robots to life using the popular BeagleBone embedded Linux platform. Comprehensive content and deep detail provide more than just a BeagleBone instruction manual—you’ll also learn the underlying engineering techniques that will allow you to create your own projects. The book begins with a foundational primer on essential skills, and then gradually moves into communication, control, and advanced applications using C/C++, allowing you to learn at your own pace. In addition, the book’s companion website features instructional videos, source code, discussion forums, and more, to ensure that you have everything you need.
The BeagleBone’s small size, high performance, low cost, and extreme adaptability have made it a favorite development platform, and the Linux software base allows for complex yet flexible functionality. The BeagleBone has applications in smart buildings, robot control, environmental sensing, to name a few; and, expansion boards and peripherals dramatically increase the possibilities. Exploring BeagleBone provides a reader-friendly guide to the device, including a crash course in computer engineering. While following step by step, you can:Get up to speed on embedded Linux, electronics, and programming Master interfacing electronic circuits, buses and modules, with practical examples Explore the Internet-connected BeagleBone and the BeagleBone with a display Apply the BeagleBone to sensing applications, including video and sound Explore the BeagleBone’s Programmable Real-Time Controllers
Hands-on learning helps ensure that your new skills stay with you, allowing you to design with electronics, modules, or peripherals even beyond the BeagleBone. Insightful guidance and online peer support help you transition from beginner to expert as you master the techniques presented in Exploring BeagleBone, the practical handbook for the popular computing platform.
The TI-Nspire graphing calculator is popular among high school and college students as a valuable tool for calculus, AP calculus, and college-level algebra courses. Its use is allowed on the major college entrance exams. This book is a nuts-and-bolts guide to working with the TI-Nspire, providing everything you need to get up and running and helping you get the most out of this high-powered math tool.Texas Instruments’ TI-Nspire graphing calculator is perfect for high school and college students in advanced algebra and calculus classes as well as students taking the SAT, PSAT, and ACT exams This fully updated guide covers all enhancements to the TI-Nspire, including the touchpad and the updated software that can be purchased along with the device Shows how to get maximum value from this versatile math tool
With updated screenshots and examples, TI-Nspire For Dummies provides practical, hands-on instruction to help students make the most of this revolutionary graphing calculator.
Prolific hacker and author Simon Monk also teaches basic principles to help you use new technologies with Raspberry Pi as its ecosystem continues to develop. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources, including Getting Started with Raspberry Pi (O’Reilly). Python and other code examples from the book are available on GitHub.Set up your Raspberry Pi and connect to a networkWork with its Linux-based operating systemProgram Raspberry Pi with PythonGive your Pi "eyes" with computer visionControl hardware through the GPIO connectorUse Raspberry Pi to run different types of motorsWork with switches, keypads, and other digital inputsUse sensors to measure temperature, light, and distanceConnect to IoT devices in various waysCreate dynamic projects with Arduino
Ideal for beginners, this book shows you how to work with modules and other hardware in the popular Fez Spider Starter Kit, and teaches you how to program your gadgets with Visual Studio C# Express and the .NET Micro Framework 4.1 SDK. You’ll soon learn a wide range of programming techniques along with the skills to design your own projects.Get to know the software and hardware with a simple LED projectDownload code from the companion site to build and test each projectBuild a spy camera that automatically captures and saves images at regular intervalsConstruct a simple animated game with the joystick moduleCreate a web server that sends messages you draw or write on the touchscreen moduleBuild a gadget that backs up digital images from an SD card to a USB flash driveLearn about other .NET Gadgeteer modules for creating environmental sensors, an MP3 player, and a WiFi network
A vast improvement over the original Galaxy Tab, the 10.1 uses the latest version of the Android operating system and is a 4G LTE mobile device. These upgrades—along with many others, including the better screen quality, better web browsing with Flash, and better multitasking capabilities—are all covered in this fun and friendly guide to the Samsung Galaxy Tab 10.1. Everything from how-to topics to the most useful features to helpful tricks and techniques, this practical guide shows you how to get the most out of this cutting-edge device.Details how the Galaxy Tab 10.1 goes one step further than the iPad with phone communications plus video chat and conferencing Explains in detail how to find your way around the Galaxy Tab 10.1 Covers e-mailing, web browsing, using the digital library, connecting with friends in the galaxy, taking photos with the camera, and enjoying music Highlights how to customize your Galaxy Tab 10.1 so that it's right for your needs
Samsung Galaxy Tab 10.1 For Dummies is must-have reading for anyone who wants to go beyond the basics and explore another galaxy of tablet computing!
Sams Teach Yourself SQL in 10 Minutes, Fourth Edition
New full-color code examples help you see how SQL statements are structured
Whether you're an application developer, database administrator, web application designer, mobile app developer, or Microsoft Office users, a good working knowledge of SQL is an important part of interacting with databases. And Sams Teach Yourself SQL in 10 Minutes offers the straightforward, practical answers you need to help you do your job.
Expert trainer and popular author Ben Forta teaches you just the parts of SQL you need to know–starting with simple data retrieval and quickly going on to more complex topics including the use of joins, subqueries, stored procedures, cursors, triggers, and table constraints.
You'll learn methodically, systematically, and simply–in 22 short, quick lessons that will each take only 10 minutes or less to complete.
With the Fourth Edition of this worldwide bestseller, the book has been thoroughly updated, expanded, and improved. Lessons now cover the latest versions of IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, MariaDB, and Apache Open Office Base. And new full-color SQL code listings help the beginner clearly see the elements and structure of the language.
10 minutes is all you need to learn how to...
Use the major SQL statements Construct complex SQL statements using multiple clauses and operators Retrieve, sort, and format database contents Pinpoint the data you need using a variety of filtering techniques Use aggregate functions to summarize data Join two or more related tables Insert, update, and delete data Create and alter database tables Work with views, stored procedures, and more Table of Contents
1 Understanding SQL
2 Retrieving Data
4 Filtering Data
5 Advanced Data Filtering
6 Using Wildcard Filtering
7 Creating Calculated Fields
8 Using Data Manipulation Functions
9 Summarizing Data
10 Grouping Data
11 Working with Subqueries
12 Joining Tables
13 Creating Advanced Joins
14 Combining Queries
15 Inserting Data
16 Updating and Deleting Data
17 Creating and Manipulating Tables
18 Using Views
19 Working with Stored Procedures
20 Managing Transaction Processing
21 Using Cursors
22 Understanding Advanced SQL Features
Appendix A: Sample Table Scripts
Appendix B: Working in Popular Applications
Appendix C : SQL Statement Syntax
Appendix E: SQL Reserved Words
Written by Arduino expert Jeremy Blum, this unique book uses the popular Arduino microcontroller platform as an instrument to teach you about topics in electrical engineering, programming, and human-computer interaction. Whether you're a budding hobbyist or an engineer, you'll benefit from the perfectly paced lessons that walk you through useful, artistic, and educational exercises that gradually get more advanced. In addition to specific projects, the book shares best practices in programming and design that you can apply to your own projects. Code snippets and schematics will serve as a useful reference for future projects even after you've mastered all the topics in the book.Includes a number of projects that utilize different capabilities of the Arduino, while interfacing with external hardware Features chapters that build upon each other, tying in concepts from previous chapters to illustrate new ones Includes aspects that are accompanied by video tutorials and other multimedia content Covers electrical engineering and programming concepts, interfacing with the world through analog and digital sensors, communicating with a computer and other devices, and internet connectivity Explains how to combine smaller topics into more complex projects Shares downloadable materials and source code for everything covered in the book Projects compatible with many official Arduino boards including Arduino Uno; Arduino Leonardo; Arduino Mega 2560; Arduino Due; Arduino Nano; Arduino Mega ADK; LilyPad Arduino and may work with Arduino-compatible boards such as Freeduino and new third party certified boards such as the Intel Galileo
Exploring Arduino takes you on an adventure and provides you with exclusive access to materials not found anywhere else!
With refactoring, programmers can transform even the most chaotic software into well-designed systems that are far easier to evolve and maintain. What’s more, they can do it one step at a time, through a series of simple, proven steps. Now, there’s an authoritative and extensively updated version of Martin Fowler’s classic refactoring book that utilizes Ruby examples and idioms throughout–not code adapted from Java or any other environment.
The authors introduce a detailed catalog of more than 70 proven Ruby refactorings, with specific guidance on when to apply each of them, step-by-step instructions for using them, and example code illustrating how they work. Many of the authors’ refactorings use powerful Ruby-specific features, and all code samples are available for download.
Leveraging Fowler’s original concepts, the authors show how to perform refactoring in a controlled, efficient, incremental manner, so you methodically improve your code’s structure without introducing new bugs. Whatever your role in writing or maintaining Ruby code, this book will be an indispensable resource.
This book will help youUnderstand the core principles of refactoring and the reasons for doing it Recognize “bad smells” in your Ruby code Rework bad designs into well-designed code, one step at a time Build tests to make sure your refactorings work properly Understand the challenges of refactoring and how they can be overcome Compose methods to package code properly Move features between objects to place responsibilities where they fit best Organize data to make it easier to work with Simplify conditional expressions and make more effective use of polymorphism Create interfaces that are easier to understand and use Generalize more effectively Perform larger refactorings that transform entire software systems and may take months or years Successfully refactor Ruby on Rails code
Welcome to the world of shoes that can dynamically shift your height, jackets that display when the next bus is coming, and neckties that can nudge your business partner from across the room. Whether it be for fashion, function, or human connectedness, wearable electronics can be used to design interactive systems that are intimate and engaging.
Make: Wearable Electronics is intended for those with an interest in physical computing who are looking to create interfaces or systems that live on the body. Perfect for makers new to wearable tech, this book introduces you to the tools, materials, and techniques for creating interactive electronic circuits and embedding them in clothing and other things you can wear.
Each chapter features experiments to get you comfortable with the technology and then invites you to build upon that knowledge with your own projects. Fully illustrated with step-by-step instructions and images of amazing creations made by artists and professional designers, this book offers a concrete understanding of electronic circuits and how you can use them to bring your wearable projects from concept to prototype.
In Service Design Patterns, Rob Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come.
This book will help readers answer the following questions:How do you create a web service API, what are the common API styles, and when should a particular style be used? How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time? What are the options for implementing web service logic, and when should a particular approach be used? How can clients become less coupled to the underlying systems used by a service? How can information about a web service be discovered? How can generic functions like authentication, validation, caching, and logging be supported on the client or service? What changes to a service cause clients to break? What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade?
This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms.
If you are a visual learner, Teach Yourself VISUALLY iPhone, 3rd Edition is the book for you with 500 full-color screenshots that clearly illustrate all the features your iPhone has to offer. Get the most from your iPhone, whether you're a beginner or an iPhone enthusiast who's learning the latest features, this easily accessible guide provides visually rich tutorials and step-by-step instructions that will help you unlock all your device has to offer. Learn the latest features of iOS Master the basic functions of your iPhone and customize your settings Ensure you're getting optimal performance from your iPhone Find the best apps and services to fit your personal and business needs
Whether you use your PC for work or play, there's a lot to learn and a lot of territory to discover, so take along a good guide. Serving up nine meaty minibooks, this All-in-One guide covers essential PC topics from soup through nuts, including the latest on PC hardware, Windows 8, the Internet, all the tools in Office 2013, digital media, troubleshooting and maintenance, upgrading your PC, home networking, and PC gaming. You'll get to know your PC inside and out and find yourself turning to this terrific resource again and again.
This new edition features expanded coverage of home networking and desktop gaming, cool hardware for hardcore gamers, exciting new Windows 8 features, and much more.Nine minibooks provide a comprehensive PC overview and include PC Hardware; Windows 8; The Internet; Troubleshooting and Maintenance; Office 2013; Music, Movies, and Photos; Upgrading and Supercharging; Home Networking; and Gaming Explores step-by-step procedures for using the new Windows 8 operating system Delves into the techy nitty-gritty on things like processor speeds, hard drive capacities, and upgrading Reviews ways to protect your PC from viruses, offers troubleshooting tips, and discusses how to supercharge your PC's performance
PCs All-in-One For Dummies, 6th Edition covers everything you need to know to get the most out of your PC.
Are you all about your iPhone? You've come to the right place! iPhone All-in-One For Dummies covers all the basics and beyond to give you hands-on, all-encompassing coverage of your new smartphone. Written in plain English and packed with tons of full-color photographs that help bring the information to life, this friendly guide shows you how to activate the iPhone, control the multi-touch and voice-recognition interfaces, tour the iPhone's built-in apps and settings, set up security features, start sending texts, and configure e-mail. Next, it moves on to tackling the iPhone's more advanced features, like capturing and sharing photos, tapping into maps, acquiring and listening to music, creating and sharing notes and memos, making video calls with FaceTime, and much more.
Fully updated to reflect Apple's newest iPhone hardware and iOS software, along with the new iLife and iWork apps, this new edition of iPhone All-in-One For Dummies takes the guesswork out of making the most of your iPhone. If you're using your Apple smartphone at home, at work, or on the go, everything you need to have fun and work smarter with your iPhone is right inside.Covers iPhone 6, iPhone 6 Plus, iPhone 5s, iPhone 5c, and older iPhone models Offers five full-color books of content that add up to nearly 600 pages of material—big bang for your buck Provides steps for setting up your iPhone and synching with iCloud Includes complementary online video course material Walks through troubleshooting and fixing common iPhone problems
Whether this is your first iPhone or an upgrade to the latest version, iPhone All-in-One For Dummies helps you unlock all of its incredible capabilities.
--Richard Mark Soley, Chairman and CEO, OMG
If you're like most software developers, you're building systems that are increasingly complex. Whether you're creating a desktop application or an enterprise system, complexity is the big hairy monster you must manage.
The Unified Modeling Language (UML) helps you manage this complexity. Whether you're looking to use UML as a blueprint language, a sketch tool, or as a programming language, this book will give you the need-to-know information on how to apply UML to your project. While there are plenty of books available that describe UML, Learning UML 2.0 will show you how to use it. Topics covered include:
Capturing your system's requirements in your model to help you ensure that your designs meet your users' needs
Modeling the parts of your system and their relationships
Modeling how the parts of your system work together to meet your system's requirements
Modeling how your system moves into the real world, capturing how your system will be deployed
Engaging and accessible, this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard-earned practice, not theory. Regardless of the software process or methodology you use, this book is the one source you need to get up and running with UML 2.0.
Russ Miles is a software engineer for General Dynamics UK, where he works with Java and Distributed Systems, although his passion at the moment is Aspect Orientation and, in particular, AspectJ. Kim Hamilton is a senior software engineer at Northrop Grumman, where she's designed and implemented a variety of systems including web applications and distributed systems, with frequent detours into algorithms development.
First you'll learn about the different types of sensors and sensor networks, including how to build a simple XBee network. Then you'll walk through building an Arduino-based temperature sensor and data collector, followed by building a Raspberry Pi-based sensor node.
Next you'll learn different ways to store sensor data, including writing to an SD card, sending data to the cloud, and setting up a Raspberry Pi MySQL server to host your data. You even learn how to connect to and interact with a MySQL database server directly from an Arduino! Finally you'll learn how to put it all together by connecting your Arduino sensor node to your new Raspberry Pi database server.
If you want to see how well Arduino and Raspberry Pi can get along, especially to create a sensor network, then Beginning Sensor Networks with Arduino and Raspberry Pi is just the book you need.
Technology alone can be intimidating, and the printed documentation and online support that come with a new smartphone can be just as baffling. Thankfully, Samsung Galaxy S 7 For Dummies is here to give you easy-to-follow guidance on all the features and capabilities of this exciting new device. From set up and configuration to texting, emailing, and accessing the Internet, it leaves no stone unturned!
Samsung dominates the global smartphone market and users swear that once you go with the Galaxy S, you never turn back. From the most useful features to the core applications to the techniques to get the most out of the device, this book makes getting to grips with your Samsung Galaxy S7 a snap! Whether you're upgrading from an older model and need new feature details, switching over from another Android or Apple device, or finally trading in that antiquated flip phone, you're about to discover just how fast and easy it is to get up and running on your new smartphone. Maximize camera and video capabilities Stay active with social media Download apps and sync with a PC Expand your phone's potential with new software releases
This is the handy reference you'll want to keep close by as you learn to get the most out of your Galaxy S 7 smartphone!
This reference gives a quick and authoritative summary of the key concepts of DDD. It is not meant as a learning introduction to the subject. Eric Evans' original book and a handful of others explain DDD in depth from different perspectives. On the other hand, we often need to scan a topic quickly or get the gist of a particular pattern. That is the purpose of this reference. It is complementary to the more discursive books.
The starting point of this text was a set of excerpts from the original book by Eric Evans, Domain-Driven-Design: Tackling Complexity in the Heart of Software, 2004 - in particular, the pattern summaries, which were placed in the Creative Commons by Evans and the publisher, Pearson Education. In this reference, those original summaries have been updated and expanded with new content.
The practice and understanding of DDD has not stood still over the past decade, and Evans has taken this chance to document some important refinements. Some of the patterns and definitions have been edited or rewritten by Evans to clarify the original intent. Three patterns have been added, describing concepts whose usefulness and importance has emerged in the intervening years. Also, the sequence and grouping of the topics has been changed significantly to better emphasize the core principles.
This is an up-to-date, quick reference to DDD.
Designing Web Interfaces illustrates many patterns with examples from working websites. If you need to build or renovate a website to be truly interactive, this book gives you the principles for success.
In three parts, this book explains how these services work and what it means to build an application the Microservices Way. You’ll explore a design-based approach to microservice architecture with guidance for implementing various elements. And you’ll get a set of recipes and practices for meeting practical, organizational, and cultural challenges to microservice adoption.Learn how microservices can help you drive business objectivesExamine the principles, practices, and culture that define microservice architecturesExplore a model for creating complex systems and a design process for building a microservice architectureLearn the fundamental design concepts for individual microservicesDelve into the operational elements of a microservices architecture, including containers and service discoveryDiscover how to handle the challenges of introducing microservice architecture in your organization
Concise, readable, and actionable, Domain-Driven Design Distilled never buries you in detail–it focuses on what you need to know to get results. Vaughn Vernon, author of the best-selling Implementing Domain-Driven Design, draws on his twenty years of experience applying DDD principles to real-world situations. He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter.
Vernon guides you through each core DDD technique for building better software. You’ll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms.
Domain-Driven Design Distilled brings DDD to life. Whether you’re a developer, architect, analyst, consultant, or customer, Vernon helps you truly understand it so you can benefit from its remarkable power.
Coverage includesWhat DDD can do for you and your organization–and why it’s so important The cornerstones of strategic design with DDD: Bounded Contexts and Ubiquitous Language Strategic design with Subdomains Context Mapping: helping teams work together and integrate software more strategically Tactical design with Aggregates and Domain Events Using project acceleration and management tools to establish and maintain team cadence
Each chapter of this book is centered around projects that incorporate that particular microcontroller topic. Each project includes schematics, code, and illustrations of a working project.
Program a range of AVR chipsExtend and re-use other people’s code and circuitsInterface with USB, I2C, and SPI peripheral devicesLearn to access the full range of power and speed of the microcontrollerBuild projects including Cylon Eyes, a Square-Wave Organ, an AM Radio, a Passive Light-Sensor Alarm, Temperature Logger, and moreUnderstand what's happening behind the scenes even when using the Arduino IDE
Arduino Sketches is a practical guide to programming the increasingly popular microcontroller that brings gadgets to life. Accessible to tech-lovers at any level, this book provides expert instruction on Arduino programming and hands-on practice to test your skills. You'll find coverage of the various Arduino boards, detailed explanations of each standard library, and guidance on creating libraries from scratch – plus practical examples that demonstrate the everyday use of the skills you're learning. Work on increasingly advanced programming projects, and gain more control as you learn about hardware-specific libraries and how to build your own. Take full advantage of the Arduino API, and learn the tips and tricks that will broaden your skillset.
The Arduino development board comes with an embedded processor and sockets that allow you to quickly attach peripherals without tools or solders. It's easy to build, easy to program, and requires no specialized hardware. For the hobbyist, it's a dream come true – especially as the popularity of this open-source project inspires even the major tech companies to develop compatible products. Arduino Sketches is a practical, comprehensive guide to getting the most out of your Arduino setup. You'll learn to:Communicate through Ethernet, WiFi, USB, Firmata, and Xbee Find, import, and update user libraries, and learn to create your own Master the Arduino Due, Esplora, Yun, and Robot boards for enhanced communication, signal-sending, and peripherals Play audio files, send keystrokes to a computer, control LED and cursor movement, and more
This book presents the Arduino fundamentals in a way that helps you apply future additions to the Arduino language, providing a great foundation in this rapidly-growing project. If you're looking to explore Arduino programming, Arduino Sketches is the toolbox you need to get started.
Good fabrication begins with calibration. Aligning the print bed to support deposition of medium in three dimensions is critical. Even off-the-shelf machines that are pre-built must be aligned and periodically realigned throughout their life cycle. Maintaining and Troubleshooting Your 3D Printer helps you achieve and hold proper alignment. Maintaining and Troubleshooting Your 3D Printer also helps with software and hardware troubleshooting. You’ll learn to diagnose and solve firmware calibration problems, filament and feed problems, chassis issues, and more.
Finally there are regular maintenance and enhancements. You’ve invested significantly in your 3D printer. Protect that investment using the guidance in this book. Learn to clean and lubricate your printer, to maintain the chassis, and know when realignment of the print bed is needed. Learn ways to master your craft and improve the quality of your prints through such things as post-print finishing and filament management.
Don’t let the challenges of 3D printing stand in the way of creativity. Maintaining and Troubleshooting Your 3D Printer by Charles Bell helps you conquer the challenges and get the most benefit from your expensive investment in personal fabrication.
You don’t need to have mastered Arduino or programming to get started. Updated for the Arduino 1.0 release, the recipes in this second edition include practical examples and guidance to help you begin, expand, and enhance your projects right away—whether you’re an artist, designer, hobbyist, student, or engineer.Get up to speed on the Arduino board and essential software concepts quicklyLearn basic techniques for reading digital and analog signalsUse Arduino with a variety of popular input devices and sensorsDrive visual displays, generate sound, and control several types of motorsInteract with devices that use remote controls, including TVs and appliancesLearn techniques for handling time delays and time measurementApply advanced coding and memory handling techniques
Samsung Galaxy Tab S For Dummies is a user-friendly guide to getting the most out of your new tablet. You'll discover how different the tablet experience is from the desktop, laptop, or smartphone, and learn how to take advantage of everything your Galaxy Tab S has to offer. This entertaining guide walks you through each feature one by one, helping you learn exactly what your tablet can do for you. With everything from reading to playing games and surfing the Internet, you will learn how to be productive and have fun, too!Navigate your Galaxy Tab S easily, and get acquainted with the keyboard Send e-mail, browse the Web, and tap into social media Make phone calls, take pictures, and hold video chats Play music, movies, games, and more
Your Galaxy Tab S has so much to offer — it's not a computer, but it is so much more than a smartphone. Samsung Galaxy Tab S For Dummies is the perfect guide to getting to know your Galaxy S tablet, so settle in and see what your tablet can do.
You’ll find complete instructions for building a simple robot chassis with servos, wheels, sensors, LEDs, and a speaker. You also get the code to program the Arduino microcontroller to receive wireless signals from the EEG. Your robot will astound anyone who wears the EEG headband.
This book will help you:Connect an inexpensive EEG device to Arduino Build a robot platform on wheels Calculate a percentage value from a potentiometer reading Mix colors with an RGB LED Play tones with a piezo speaker Write a program that makes the robot avoid boundaries Create simple movement routines
* Geocaching has received wide coverage on television, radio, newspapers, and magazines—it is particularly popular with extreme sports and high-tech aficionados.
* Teaches navigation techniques, including GPS, compass, and map; offers effective strategies for geocaching tournaments and events.
Over 50 and still want to learn how to get the most out of your laptop? Laptops For Seniors For Dummies is your ideal guide. No experience? No problem! This book walks you step by step through the setup, navigation, software, email, using the Internet safely, and more. This new edition uses larger type and larger figures for easier reading, and each chapter opens with an outline of tasks covered so you can find the answers you need quickly. Tips, warnings, and notes are highlighted to help you develop positive habits and avoid common pitfalls, and the uncluttered layout makes navigation a breeze. You'll learn how to choose a new laptop, how to set it up, how to get around the Windows 10 operating system, and how to get things done. Coverage includes information on battery life, wireless printing, connectivity, online data storage, Internet safety, the new Windows OS, synching to your mobile phone, and more!
Laptops allow you to do just about everything you can do on a traditional desktop computer, just without the bulky hardware and the tangled mess of cords. This book will show you everything you need to know about working — and playing —with your new device.Discover which laptop is best for you Get set up and start using the keyboard and mouse Find your way around Windows 10 and the Office applications Safely use the internet for shopping,social networking, emailing, research, and more
Stop being chained to your clunky old desktop computer! Laptops For Seniors For Dummies is the clear, friendly guide to using your new laptop on the go, like a pro.
In this third edition of a widely acclaimed resource, three networking experts share their extensive experience, teaching you the cabling skills you need to build a reliable, efficient, and cost-effective network cabling infrastructure. As you master these techniques, you'll learn to avoid common pitfalls and troubleshoot problems as quickly as they arise. Coverage includes:Choosing the right cables and components for your network architecture and topology Avoiding unnecessary and unexpected costs Understanding the current limitations of data communications and network cabling Understanding how laws and building codes constrain cabling Understanding the function and importance of universal cabling standards Determining when you have a cabling-related network problem Assembling a complete cabling toolkit Integrating voice and data on the same cable system Setting up an infrastructure in which desktops, printers, copiers, and other nodes share cabling Understanding issues of bandwidth, impedance, resistance, attenuation, crosstalk, capacitance, propagation, delay, and delay skew Working effectively with USB and Firewire Knowing when to discard legacy cabling and begin anew Documenting your cabling Creating an RFP and selecting a vendor
Filling the gap between a beginner’s primer and a formal textbook, Practical Electronics explores aspects of electronic components, techniques, and tools that you would typically learn on the job and from years of experience. Even if you’ve worked with electronics or have a background in electronics theory, you’re bound to find important information that you may not have encountered before.
Among the book’s many topics, you’ll discover how to:Read and understand the datasheet for an electronic componentUse uncommon but inexpensive tools to achieve more professional-looking resultsSelect the appropriate analog and digital ICs for your projectSelect and assemble various types of connectorsDo basic reverse engineering on a device in order to modify (hack) itUse open source tools for schematic capture and PCB layoutMake smart choices when buying new or used test equipment
If you’re looking to build either a software or hardware project with more computing power than Arduino alone can provide, Raspberry Pi is just the ticket. And the hacks in this book will give you lots of great ideas.Use configuration hacks to get more out of your PiBuild your own web server or remote print serverTake the Pi outdoors to monitor your garden or control holiday lightsConnect with SETI or construct an awesome Halloween costumeHack the Pi’s Linux OS to support more complex projectsDecode audio/video formats or make your own music playerAchieve a low-weight payload for aerial photographyBuild a Pi computer cluster or a solar-powered lab
Make the most of your new Amazon KindleTM eBook reader! Read books, play media, get free content, uncover powerful, little-known Kindle features you’ll love!
Learn to do all this and much more…Connect to Amazon’s Kindle Store and buy content Download a world of free books and other content Manage your content and quickly find what you’re looking for Read books on Kindle and customize a better reading experience Quickly sync content across multiple Kindles and other devices Make the most of Kindle’s menus, keyboard shortcuts, and search Read Adobe PDFs without converting them Listen to Audible audiobooks–and use Kindle’s text-to-speech to hear other books, too Play MP3 music and games Use Kindle’s built-in New Oxford American Dictionary and Oxford Dictionary of English Add bookmarks, notes, clips, and highlights to your books Use Kindle Whispernet to read email, check Facebook, even manage your Netflix queue Convert and manage Kindle content with Calibre Find the best third-party Kindle apps, add-ons, and web resources
3D Printing with Delta Printers contains detailed descriptions of the innovative delta design including unique hardware, software, and maintenance requirements. The book also covers tips for building your own delta printer as well as examples of common enhancements.
This book will enable you to build, configure, and enhance your delta printer. The topics covered will reveal the often-mysterious nuances of the delta design that will enable your printer to compete with the best of what your 3D printer friends can build.
Completely revised to cover the latest updates to the TI-84 Plus calculators, this bestselling guide will help you become the most savvy TI-84 Plus user in the classroom! Exploring the standard device, the updated device with USB plug and upgraded memory (the TI-84 Plus Silver Edition), and the upcoming color screen device, this book provides you with clear, understandable coverage of the TI-84's updated operating system.Details the new apps that are available for download to the calculator via the USB cable Walks you through menus and basic arithmetic Addresses graphing and analyzing functions as well as probability and statistics functions Explains how to use the calculator for geometry Reviews communicating with PCs and other calculators
TI-84 Plus Graphic Calculator For Dummies, 2nd Edition is the perfect solution for getting comfortable with the new line of TI-84 calculators!
Congratulations on your new phone, and welcome to the world of Android! Whether you're an old hat looking to make sense of a new model or a newbie who's too afraid to even take it out of the box, this fun and friendly guide arms you with the knowledge to make your Android phone your minion. Written by popular and bestselling author Dan Gookin, this new edition of Android Phones For Dummies makes it easy to set up and configure your phone, get up and running with texting and emailing, access the Internet, maps, and camera, navigate with GPS, synch with a PC, and so much more.
Approaching all the features of Android phones from the perspective of someone who's either new to technology or wary of working with a new device, this hands-on guide walks you through the basics and moves on to help you tackle more advances features, like dialing tricks to forward calls, working with predictive text, accessing special characters, manipulating the touch screen, and using a USB connection to synchronize your stuff. Set up your phone, get connected, and start browsing Shoot photos and videos, play games, and listen to music Keep in touch using email, texting, and social media Get the scoop on Google Voice typing
If you want to learn the ins and outs of your new Android phone in order to get things done, you've come to the right place!
Robert Sedgewick and the late Philippe Flajolet have drawn from both classical mathematics and computer science, integrating discrete mathematics, elementary real analysis, combinatorics, algorithms, and data structures. They emphasize the mathematics needed to support scientific studies that can serve as the basis for predicting algorithm performance and for comparing different algorithms on the basis of performance.
Techniques covered in the first half of the book include recurrences, generating functions, asymptotics, and analytic combinatorics. Structures studied in the second half of the book include permutations, trees, strings, tries, and mappings. Numerous examples are included throughout to illustrate applications to the analysis of algorithms that are playing a critical role in the evolution of our modern computational infrastructure.
Improvements and additions in this new edition includeUpgraded figures and code An all-new chapter introducing analytic combinatorics Simplified derivations via analytic combinatorics throughout
The book’s thorough, self-contained coverage will help readers appreciate the field’s challenges, prepare them for advanced results—covered in their monograph Analytic Combinatorics and in Donald Knuth’s The Art of Computer Programming books—and provide the background they need to keep abreast of new research.
"[Sedgewick and Flajolet] are not only worldwide leaders of the field, they also are masters of exposition. I am sure that every serious computer scientist will find this book rewarding in many ways."
—From the Foreword by Donald E. Knuth
Make a robot that obeys your every command—or runs on its own.
Maybe you’re a teacher who wants to show students how to build devices that can move, sense, respond, and interact with the physical world. Or perhaps you’re a hobbyist looking for a robot companion to make your world a little more futuristic. With Make an Arduino Controlled Robot, you’ll learn how to build and customize smart robots on wheels.
You will:Explore robotics concepts like movement, obstacle detection, sensors, and remote control Use Arduino to build two- and four-wheeled robots Put your robot in motion with motor shields, servos, and DC motors Work with distance sensors, infrared reflectance sensors, and remote control receivers Understand how to program your robot to take on all kinds of real-world physical challenges
Are you new to the world of laptops? You've come to the right place! Laptops For Dummies covers the many topics and issues unique to laptops, including synchronizing with the desktop, coordinating email pick-up between two machines, remotely accessing the desktop, networking, power management, storage, security, and more. This new edition also provides updates to cover the latest technology, current processors, and steps to update memory and hard drive capacities.
In business—while they spend most of their time in a desktop docking station—laptops are absolutely essential for providing mobility to professionals. In the home, they've begun to replace desktop PCs, as they now offer larger displays, longer battery power, and speeds equal to desktop computers. Plus, you can do just about everything with a laptop that you can do with a traditional desktop, minus the big, bulky machine and multiple cords. If you're just making the switch over to a laptop, this hands-on, easy-to-follow guide makes the transition easy!Covers the latest hardware and technology updates you need to get up and running with your laptop Includes updates on the new Windows 10 operating system, wireless networking, smartphone tethering, and using productivity applications on laptops Walks you through everything you need to deal with add-ons, networking procedures, and connectivity and communication Presents complex material in a way that makes it simple and accessible
Whether you've never logged onto a laptop or are just looking to stay up-to-date with the latest information on operating systems and software, Laptops For Dummies has you covered.
If There’s No Risk On Your Next Project, Don’t Do It.
Greater risk brings greater reward, especially in software development. A company that runs away from risk will soon find itself lagging behind its more adventurous competition. By ignoring the threat of negative outcomes–in the name of positive thinking or a can-do attitude–software managers drive their organizations into the ground.
In Waltzing with Bears, Tom DeMarco and Timothy Lister–the best-selling authors of Peopleware–show readers how to identify and embrace worthwhile risks. Developers are then set free to push the limits.
The authors present the benefits of risk management, including that it makes aggressive risk-taking possible, protects management from getting blindsided, provides minimum-cost downside protection, reveals invisible transfers of responsibility, isolates the failure of a subproject.
Readers are armed with strategies for confronting the most common risks that software projects face: schedule flaws, requirements inflation, turnover, specification breakdown, and under-performance.
Waltzing with Bears will help you mitigate the risks–before they turn into project-killing problems. Risks are out there–and they should be there–but there is a way to manage them.