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.
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
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.
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.
Illustrates how to transform integration from a necessary evil into just another part of the development process. This book examines the concept of continuous integration (CI) and its practices, and then explores other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback.
Globalization requires effective international and cross-cultural collaboration. When project teams from Western cultures first come into contact with colleagues from the Indian IT and BPO industry, prejudices against the new and unknown are typically amplified. This book is a start on the journey of cultural appreciation for managers, project leaders, and offshore coordinators working together with Indians. It is also a resource for business managers and company strategists seeking to understand the softer aspects behind the headlines that the Indian IT and BPO industry so frequently creates. Being both academically well researched and an account of the author´s many years of personal experience in India, the book opens with a description of cultural dimensions that help to break down culturally driven matters. It provides background information about India as a country and a social system. Examining the development and current status of India´s IT and BPO industry, it moves on to describe the dynamics of its workforce. The book then provides practical information on how to communicate, negotiate, and interact with Indian colleagues, and intelligently utilize expatriates. It closes by formulating recommendations for a more effective collaboration.