Some companies think that adopting devops means bringing in specialists or a host of new tools. With this practical guide, you´ll learn why devops is a professional and cultural movement that calls for change from inside your organization.
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively so that your software is correct, efficient, maintainable, and portable. That´s where this practical book comes in. It describes how to write truly great software using C++11 and C++14 i.e. using modern C++. Topics include: The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std::move, std::forward, rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std::atomic differs from volatile, how each should be used, and how they relate to C++´s concurrency API How best practices in ´´old´´ C++ programming (i.e., C++98) require revision for software development in modern C++ Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers´ earlier books, but covers entirely new material. ´´After I learned the C++ basics, I then learned how to use C++ in production code from Meyer´s series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don´t own it yet? Buy this one. Now´´. -- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
Use cases provide a beneficial means of project planning because they clearly show how people will ultimately use the system being designed. This guide provides software developers with a ´´nuts-and-bolts´´ tutorial for writing use cases. It covers introductory, intermediate, and advanced concepts, and is suitable for all knowledge levels.
This definitive guide from RSpec´s lead developer shows you how to use RSpec to drive more maintainable designs, specify and document expected behavior, and prevent regressions during refactoring. Build a project using RSpec to design, describe, and test the behavior of your code.
More physicists today are taking on the role of software developer as part of their research, but software development isn?t always easy or obvious, even for physicists. This practical book teaches essential software development skills to help you automate and accomplish nearly any aspect of research in a physics-based field. Written by two PhDs in nuclear engineering, this book includes practical examples drawn from a working knowledge of physics concepts. You?ll learn how to use the Python programming language to perform everything from collecting and analyzing data to building software and publishing your results. In four parts, this book includes: * Getting Started: Jump into Python, the command line, data containers, functions, flow control and logic, and classes and objects * Getting It Done: Learn about regular expressions, analysis and visualization, NumPy, storing data in files and HDF5, important data structures in physics, computing in parallel, and deploying software * Getting It Right: Build pipelines and software, learn to use local and remote version control, and debug and test your code * Getting It Out There: Document your code, process and publish your findings, and collaborate efficiently; dive into software licenses, ownership, and copyright procedures
Build resilient applied machine learning teams that deliver better data products through adapting the guiding principles of the Agile Manifesto. Bringing together talented people to create a great applied machine learning team is no small feat. With developers and data scientists both contributing expertise in their respective fields, communication alone can be a challenge. Agile Machine Learning teaches you how to deliver superior data products through agile processes and to learn, by example, how to organize and manage a fast-paced team challenged with solving novel data problems at scale, in a production environment. The authors´ approach models the ground-breaking engineering principles described in the Agile Manifesto. The book provides further context, and contrasts the original principles with the requirements of systems that deliver a data product. What You´ll Learn Effectively run a data engineering team that is metrics-focused, experiment-focused, and data-focused Make sound implementation and model exploration decisions based on the data and the metrics Know the importance of data wallowing: analyzing data in real time in a group setting Recognize the value of always being able to measure your current state objectively Understand data literacy, a key attribute of a reliable data engineer, from definitions to expectations Who This Book Is For Anyone who manages a machine learning team, or is responsible for creating production-ready inference components. Anyone responsible for data project workflow of sampling data; labeling, training, testing, improving, and maintaining models; and system and data metrics will also find this book useful. Readers should be familiar with software engineering and understand the basics of machine learning and working with data.
For courses in Human-Computer Interaction The Sixth Edition of Designing the User Interface provides a comprehensive, authoritative, and up-to-date introduction to the dynamic field of human-computer interaction (HCI) and user experience (UX) design. This classic book has defined and charted the astonishing evolution of user interfaces for three decades. Students and professionals learn practical principles and guidelines needed to develop high quality interface designs that users can understand, predict, and control. The book covers theoretical foundations and design processes such as expert reviews and usability testing. By presenting current research and innovations in human-computer interaction, the authors strive to inspire students, guide designers, and provoke researchers to seek solutions that improve the experiences of novice and expert users, while achieving universal usability. The authors also provide balanced presentations on controversial topics such as augmented and virtual reality, voice and natural language interfaces, and information visualization. Updates include current HCI design methods, new design examples, and totally revamped coverage of social media, search and voice interaction. Major revisions were made to EVERY chapter, changing almost every figure (170 new color figures) and substantially updating the references.
This highly effective self-study system delivers 100% coverage of all topics on the brand-new SHRM-CP and SHRM-SCP exams