Software Engineering Books
APress Software Engineering for Absolute Beginners
Book SynopsisStart programming from scratch, no experience required. This beginners'' guide to software engineering starts with a discussion of the different editors used to create software and covers setting up a Docker environment. Next, you will learn about repositories and version control along with its uses. Now that you are ready to program, you''ll go through the basics of Python, the ideal language to learn as a novice software engineer. Many modern applications need to talk to a database of some kind, so you will explore how to create and connect to a database and how to design one for your app. Additionally you will discover how to use Python''s Flask microframework and how to efficiently test your code. Finally, the book explains best practices in coding, design, deployment, and security. Software Engineering for Absolute Beginners answers the question of what topics you should know when you start out to learn software engineering. This book covers a lot of toTrade Review“The content is appropriate for someone who has had some minimal programming experience, for example, classwork or playing around at home, and is ready for their first real project or professional job. … definitely good enough to guide motivated users to search the web for deeper information as each topic becomes relevant. … I enjoyed reading the book and think it will be a useful aid for new developers learning Python production skills.” (David Goldfarb, Computing Reviews, July 22, 2021)Table of ContentsChapter 1 : Editors.- Chapter 2 : Setting up the Development Environment using Docker.- Chapter 3 : Repositories and Git.- Chapter 4 : Basic Programming using Python.- Chapter 5 : Coding Styles, Refactoring and Code Calisthenics.- Chapter 6 : Database and Database Design.- Chapter 7 RESTful APIS using flask.- Chapter 8 Testing and Code Quality.- Chapter 9 Planning and designing your code.- Chapter 10 Security.- Chapter 11 CI/CD.
£35.99
APress Software Development Activity Cycles
Book SynopsisWritten from the perspective of a Technical Project Manager, this study presents a scenario for a complete shift left software development effort. It brings considerations for Test and Support as early as the Inception Stage. Based on an innovative model - Development Process Activity Cycles (DPAC) - this representation allows visualization of progress including recursive activities. The model is based on an interpretation of the Deming quality cycle of Plan Do, Check Act (PDCA). Periodic Management reports are generated using configuration management data generated during the Act phase of each iteration. There is no Test stage in the DPAC model; Test is represented in the back swing Check Phase of each iteration.This approach allows the user or Subject Mater Expert (SME) to contemplate the face of the system through several iterations of design and development, using the triad principle (Power of Three) matching a programmer, tester and membeTable of ContentsIntroduction. Traditional vs. Agile ApproachReview of the best known traditional models - waterfall, spiral, V -model - and alternative agile models - Scrum, SAFe, DAD, RUP/UP, DSDM, XP and introduction to DPACChapter 1. The DPAC ModelPresents the DPAC Model in a static view describing the Stages and Activity Cycles in generalized form. Shows where Test is included in the model in the backswing of the PDCA overlay for each cycle. Continuous testing.1.1 Intent and purpose 1.2 Phases of the DPAC activity cycles1.3 DPAC is inherently a “shift left” model 1.4 DPAC Embraces Agile and DevOps1.5 Activities represented in the DPAC model 1.6 Roles and responsibilities 1.7 Stages of Application Development 1.8 The objective of this model Paradigms as a hindrance to understanding 1.9 SummaryChapter 2. Why Include Support in a Development Model? Offers quotes referring to the importance of including maintenance in the development cycles. Displays statistics regarding the cost of maintenance as a part of the overall lifecycle.Every project that succeeds, even if challenged becomes a Support project. Shows the consequences of types of error. Cites the top ten software development problems from the perspective of maintenance. Building political and social capital.2.1 Statement of the Problem 2.2 To put this in terms of total cost… 2.3 Putting Support in the Equation 2.4. Freeing the statue from the stone2.5 Factors supporting code reliability2.6 Measures during development to improve software system maintainability. 2.7 Ameliorative measures 2.8 Political and Social Capital What’s AheadChapter 3. InceptionStresses the importance of a Vision Statement as a project charter. The role of the charter as a first step in creating “conceptual integrity.” Introduces non-functional requirements. Planning for security including privacy concerns.3.1 Goal: Achieving Consensus 3.2 Nine Objectives 3.3 The importance of the Vision Statement 3.4 Introduction to the Traceability Matrix 3.5 Non-functional Requirements 3.6 Planning for Information Security and System Security 3.7 Privacy 3.7 Legacy data 3.8 Summary of Security requirements 3.9 Identification of security requirements is initiated in the Inception Stage SummaryChapter 4. ElaborationThe goal of Elaboration is to create an overall process model that will serve as a Functional Requirements Specification (FRS), the second step in preserving conceptual integrity. The FRS forms the basis of level of effort and cost estimation.Outlines the role of the system architecture and the system backbone. Introduces the Configuration Management Database (CMDB) and the Traceability Matrix.4.1 The goal of the Elaboration Stage4.2 Objectives 4.3 Activities during Elaboration4.4 Ongoing Activities4.5 Implement Quality Engineering Plan4.6 Additional responsibilities:4.7 Data Flow Diagrams (DFD)4.8 Functional Requirements Specification (FRS)4.9 Design Review4.10 Following design approval4.11 Determine staffing, roles and responsibilities. 4.12 Rules of the Road (staffing)4.13 Design, develop and document the system architecture 4.14 Demonstrate an operating backbone4.15 Application Design Requirements4.16 Introduction to Configuration Management Data Base (CMDB)4.17 The CMDB includes tools4.18 The Traceability Matrix4.19 On Joint Application Development (JAD)4.20 On Workshops (in general)Chapter 5 ConstructionDescribes activities in the Process Detail and Unit Development Cycles. Introduces the practice of iterative development. Includes measures to assure the quality of the code as developed. Technical review subcycle. The triad principle.5.1 Process Detail Cycle5.1.1 Approach5.1.2 Phases5.1.3 Roles and responsibilities5.1.4 Business Rules Definition5.1.5 Form of Business Rules5.1.6 Business rule review5.1.7 Summation 5.2 Unit Development Cycle 5.2.1 Overview 5.2.2 Changing requirements 5.2.3 Processing Change Reports (CRpt) 5.2.4 Configuration Management 5.2.5 Advancement 5.2.6 Unit development5.3 “Mechanical” tests 5.4 Test plans5.5 Iterative development5.6 Code check5.7 Technical review sub-cycle5.8 Refactoring, Test driven development (TDD)5.9 True to requirements5.10 User review 5.11 Regarding tools 5.12 Automated testing 5.13 Power of three 5.14 Staffing 5.15 SummationChapter 6. Assembly“Service” assembly and system assembly. Continuous Integration and Continuous Delivery. Role of the agile DBA. Role of automation.6.1 Definitions 6.2 Service Assembly6.3 Continuous Integration and Continuous Deployment 6.4 When to use Automation tools6.5 Automation is suited to following types6.6 Roles and Responsibilities6.7 Systems of Record (SOR) and Systems of Engagement (SOE) 6.8 Test Data Management 6.9 The Agile DBA6.10 DevOps and the Database6.11 StaffingChapter 7. EvolutionSupport defined. Bureaucratic impediments. Types of support. Limited understanding. Lehman’s Laws. Software Support Lifecycle (SMLC). Tribal knowledge.7.1 Support Defined7.2 Processes, activities, and practices that are applicable to software Support:7.3 About software Support7.4 Support Personnel 7.5 Error Correction7.6 Bureaucratic Impediments 7.7 On the difficulty of correcting an error during Support:7.8 Types of Support7.9 Another View7.10 Software Support Effort7.11 Limited Understanding7.12 Technical Problems 7.13 Forces for evolution7.14 Lehman’s Laws 7.15 Model of the Software Support Lifecycle (SMLC) 7.16 The importance of ‘Tribal Knowledge’Chapter 8. Risk ManagementA personal accounting of risks encountered in 35 years of software development. “Man month” is a unit of cost, not progress. 8.1 General Mayhem 8.2 Loss of Key Personnel - Missing a window of opportunity 8.3 Software Development always has a political dimension 8.4. Unrealistic Expectations. 8.5 Lack of a competent Project “Champion.” 8.6 Missing Man 8.7 Keep documentation up to date. 8.8 Missing Tools - Loss of “Tribal Knowledge.” 8.9 Missing Overview. 8.10 Lack of Quality Engineering measures 8.11 Lack of proper tools. 8.12 Over optimistic level of effort 8.13 “Man Month” is a unit of cost, not progress. 8.14 No tool alone will “fix” gaps in the business model 8.15 Learning what a tool does NOT do 8.16 Lack of appropriate skills8.17 “Round Up the Usual Suspects!” 8.18 Necessary elementsChapter 9. Engineering Software QualitySoftware quality defined. Sofwware quality assurance (SQA) Configuration management. Test - continuous testing. Test driven development (TDD). The sum and intent of Software Quality Engineering.Software Quality defined9.1 Software Quality Assurance (SQA) 9.1.1 Ongoing Documentation 9.1.2 Data Flow Diagram (DFD)9.2 Configuration Management (CM) 9.2.1 Identification of Configuration Items 9.2.2 CMDB 9.2.3 Change Reports (CRpt) and Discrepancy Reports (DR) 9.2.4 The Hardware Configuration Inventory (HWCI) 9.2.5 Change Control 9.2.6 Status Accounting 9.3 Test 9.3.1 Test Driven Development (TDD) 9.3.2 Perform Test 9.3.3 Audits9.4 Data Related Quality Engineering 9.4.1 Conversion Plan9.5 Software Quality Engineering for Programming 9.6 The Sum and Intent of Software Quality EngineeringChapter 10. Final Remarks tbdAppendix 1. Attributes of Quality: International Organization for Standardization (ISO)Appendix 2. Summary of Standards, Guidelines and ProceduresAppendix 3. Data Flow Diagramming: Symbols and Rules, An example Resources
£37.49
APress The Essential Guide to HTML5
Book SynopsisGain a deep, practical knowledge of the basic tools used for webpages: hypertext markup language (HTML5), cascading style sheets (CSS), and JavaScript. This updated version includes new and improved games and exercises, and will serve total beginners as well as people with some programming language experience, but not familiar with the combination of HTML, CSS, and JavaScript.You''ll begin at an introductory level with the focus on technical features as well as programming techniques. Each chapter features a familiar game such as Rock-Paper-Scissors, Craps, Memory, and Blackjack or generic examples such as working with Mazes. Other projects include constructing and saving a maze; a basic word guessing game; ballistic games (Cannonball and Slingshot); a quiz requiring items to be put in order; and an animation demonstration featuring a ball, photo or video clip bouncing within a rectangle. The Appendix contains examples of advanced techniqTable of ContentsChapter 1 : The BasicsChapter 2: Dice GameChapter 3: Bouncing Things: Ball, Image, VideoChapter 4: Cannonball and SlingshotChapter 5: Memory Game (aka Concentration): Polygons or PhotosChapter 6: Quiz, with audio and video rewardChapter 7: Mazes, including making and storing a maze using localStorageChapter 8: Rock, Paper, Scissors, with sound effectsChapter 9: Guess a WordChapter 10: BlackjackAppendix: Making a path with Eyes following.- Moving connected circles.- Determining if Line Crossed.- Demonstration of Scalar Vector Graphics.- Index
£49.49
APress The Cloud Leaders Handbook
Book SynopsisThis book is a comprehensive guide covering modern cloud strategies and leadership approaches for building and scaling organizations to maturity on their cloud adoption journey. The book starts by examining technical topics from the perspective of the cloud leader, who is responsible for cloud teams and accountable for cloud products and platforms within their organization. Through a series of practical insights and real-world examples, you will gain a deep understanding of the key considerations for leading a cloud-driven organization. These considerations include understanding the benefits of digital transformation, managing global tech teams, and delivering excellence through platform ownership. Towards the end of the book, you will explore the latest trends and best practices for strategically innovating and scaling your organization in the cloud. With the knowledge gained from this book, you will be able to harness the poTable of Contents Part I: Leadership Essentials.- 1. The Art of Cloud Leadership.- 2. Influencing Change and Driving Cloud Adoption.- 3. Managing Teams in the Digital Age.- 4. Supporting Employee Health & Turnover.- Part II: Innovation Strategies.- 5. Adopting a Cloud Platform.- 6. Democratizing Data & Democratizing Analytics.- 7. Applying DevOps.- 8. New Horizons in Distributed Cloud Computing.- 9. Impacts of Modern AI and ML Trends.- Part III: Platform Ownership.- 10. Owning a Portfolio of Agile Cloud Products.- 11.Designing a Secure Data Lake.- 12. Administering and Auditing the Cloud.- 13. Collaborating with Cloud Vendors and Providers.- Part IV: Delivery Excellence.- 14. Creating a Technology Delivery Roadmap.- 15. Cloud Transformation Roles and Responsibilities.- 16. Delivering Strategic Cloud Innovation and Excellence.- 17. Managing Agile Cloud Projects.- 18. Achieving Digital Transformation Success.
£29.99
O'Reilly Media Networking and Kubernetes
Book SynopsisNetworking and Kubernetes is an essential guide for anyone who wants to deploy, manage, or troubleshoot a production scale Kubernetes network. This book clearly guides administrators through the layers of complexity and abstraction that come with running a Kubernetes network.
£39.74
O'Reilly Media Fluent C
Book SynopsisWith this hands-on guide, beginners and experienced C programmers alike will find guidance about design decisions, including how to apply them bit by bit to running code examples when building large-scale programs.
£39.74
Manning Publications Learn Git in a Month of Lunches
DESCRIPTION Git has emerged as the source code control system preferred by distributed development teams. Its unique decentralized architecture and lightning-fast branching allow users to concentrate on code instead of tedious admin tasks. While Git can appear to be a diverse and sprawling beast, there are a few essential concepts and techniques required to get the most out of it. This book helps build the skills needed to use Git effectively in day-to-day dev tasks. Learn Git in a Month of Lunches introduces the discipline of source code control using Git. Whether a newbie or a busy pro moving source control to Git, readers will appreciate how this book concentrates on the components of Git that are used every day. In easy-to-follow lessons designed to take an hour or less, readers can dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging. Instead of a shallow introduction to Git's massive surface area, they’ll find a road map to the commands and processes needed to be instantly productive. KEY SELLING POINTS Starts from square one—no experience required Provides a road map to essential commands and processes Easy-to-follow lessons taking an hour or less to complete AUDIENCE This book is aimed at computer professionals of all levels—both beginners of source code control and newcomers to the Git version control system ABOUT THE TECHNOLOGY Git is the extremely popular version control system that has taken the open source community by storm. It’s designed for speed and efficiency and many open source projects have switched to using Git—the popularity of GitHub and its "social coding" cannot be denied.
£36.71
Manning Publications Operations Anti-Patterns, DevOps Solutions
Book SynopsisOperations Anti-Patterns, DevOps Solutions shows how to implement DevOps techniques in the kind of imperfect environments most developers work in. Part technology tutorial, part reference manual, and part psychology handbook, this practical guide shows you realistic ways to bring DevOps to your team when you don’t have the flexibility to make sweeping changes in organizational structure. Focused on process improvements you can make from the bottom up, everything in Operations Anti-Patterns, DevOps Solutions is actionable for your team—from constructing a streamlined workflow system to developing dashboards and operational metrics to measure the right aspects of performance. To better understand the behavior of both individuals and organizations, you’ll also learn the psychological reasoning behind why DevOps techniques are effective. Key Features · Creating a post-mortem framework to analyze projects and incidents · Monitoring and managing team time · Building cultural touchstones that assist with team building · Automating change management · Techniques for adopting automation to power your workflows For team leaders and managers. About the technology By emphasising shared responsibility for delivering software, DevOps transforms the way technology departments work. Looking beyond tool choice and design philosophy, DevOps demands a change in an organization’s attitude and approach. Jeff Smith has been in the technology industry for over 15 years, both as management and individual contributor. He has managed DevOps transformations at Centro, an ad-tech firm, and Grubhub, an online ordering platform.
£37.99
Pragmatic Bookshelf Beyond Legacy Code
Book SynopsisWe're losing hundreds of billions of dollars a year on broken software, and great new ideas such as agile development and Scrum don't always pay off. But there's hope. The nine software development practices in Beyond Legacy Code are designed to solve the problems facing our industry. Discover why these practices work, not just how they work, and dramatically increase the quality and maintainability of any software project. These nine practices could save the software industry. Beyond Legacy Code is filled with practical, hands-on advice and a common-sense exploration of why technical practices such as refactoring and test-first development are critical to building maintainable software. Discover how to avoid the pitfalls teams encounter when adopting these practices, and how to dramatically reduce the risk associated with building software--realizing significant savings in both the short and long term. With a deeper understanding of the principles behind the practices, you'll build software that's easier and less costly to maintain and extend.By adopting these nine key technical practices, you'll learn to say what, why, and for whom before how; build in small batches; integrate continuously; collaborate; create CLEAN code; write the test first; specify behaviors with tests; implement the design last; and refactor legacy code. Software developers will find hands-on, pragmatic advice for writing higher quality, more maintainable, and bug-free code. Managers, customers, and product owners will gain deeper insight into vital processes. By moving beyond the old-fashioned procedural thinking of the Industrial Revolution, and working together to embrace standards and practices that will advance software development, we can turn the legacy code crisis into a true Information Revolution.
£28.98
The Pragmatic Programmers Liftoff, 2e
Book SynopsisReady, set, liftoff! Align your team to one purpose: successful delivery. Learn new insights and techniques for starting projects and teams the right way, with expanded concepts for planning, organizing, and conducting liftoff meetings. Real-life stories illustrate how others have effectively started (or restarted) their teams and projects. Master coaches Diana Larsen and Ainsley Nies have successfully "lifted off" numerous agile projects worldwide. Are you ready for success?Every team needs a great start. If you're a business or product leader, team coach or agile practice lead, project or program manager, you'll gain strategic and tactical benefits from liftoffs.Discover new step-by-step instructions and techniques for boosting team performance in this second edition of "Liftoft." Concrete examples from our practices show you how to get everyone on the same page from the start as you form the team. You'll find pointers for refocusing an effort that's gone off in the weeds, and practices for working with teams as complex systems.See how to scale liftoffs for multiple teams across the enterprise, address the three key elements for collaborative team chartering, establish the optimal conditions for learning and improvement, and apply the GEFN (Good Enough for Now) rule for efficient liftoffs. Throughout the book are stories from real-life teams lifting off, as seasoned coaches describe their experiences with liftoffs and agile team chartering.Focused conversations help the team align, form, and build enough trust for collaborating. You'll build a common understanding of the teams' context within business goals. Every liftoff is unique, but success is common!
£18.99
Pragmatic Bookshelf Software Design X-Rays: Fix Technical Debt with
Book SynopsisAre you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code! Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledge maps of your system based on actual code contributions. In a radical, much-needed change from common practice, guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Discover a comprehensive set of practical analysis techniques based on version-control data, where each point is illustrated with a case study from a real-world codebase. Because the techniques are language neutral, you can apply them to your own code no matter what programming language you use. Guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Apply research findings from social psychology to software development, ensuring you get the tools you need to coach your organization towards better code. If you're an experienced programmer, software architect, or technical manager, you'll get a new perspective that will change how you work with code. What You Need: You don't have to install anything to follow along in the book. TThe case studies in the book use well-known open source projects hosted on GitHub. You'll use CodeScene, a free software analysis tool for open source projects, for the case studies. We also discuss alternative tooling options where they exist.
£35.14
The Pragmatic Programmers Programming Elixir 1.6: Functional > Concurrent
Book SynopsisThis book is the introduction to Elixir for experienced programmers, completely updated for Elixir 1.6 and beyond. Explore functional programming without the academic overtones (tell me about monads just one more time). Create concurrent applications, but get them right without all the locking and consistency headaches. Meet Elixir, a modern, functional, concurrent language built on the rock-solid Erlang VM. Elixir's pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. Maybe the time is right for the Next Big Thing. Maybe it's Elixir. Functional programming techniques help you manage the complexities of today's real-world, concurrent systems; maximize uptime; and manage security. Enter Elixir, with its modern, Ruby-like, extendable syntax, compile and runtime evaluation, hygienic macro system, and more. But, just as importantly, Elixir brings a sense of enjoyment to parallel, functional programming. Your applications become fun to work with, and the language encourages you to experiment. Part 1 covers the basics of writing sequential Elixir programs. We'll look at the language, the tools, and the conventions. Part 2 uses these skills to start writing concurrent code-applications that use all the cores on your machine, or all the machines on your network! And we do it both with and without OTP. Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax. This edition is fully updated with all the new features of Elixir 1.6, with a new chapter on structuring OTP applications, and new sections on the debugger, code formatter, Distillery, and protocols. What You Need: You'll need a computer, a little experience with another high-level language, and a sense of adventure. No functional programming experience is needed.
£36.57
Pragmatic Bookshelf Software Estimation Without Guessing: Effective
Book SynopsisEstimating software development often produces more angst than value, but it doesn't have to. Identify the needs behind estimate requests and determine how to meet those needs simply and easily. Choose estimation techniques based on current needs and available information, gaining benefit while reducing cost and effort. Detect bad assumptions that might sink your project if you don't adjust your plans. Discover what to do when an estimate is wrong, how to recover, and how to use that knowledge for future planning. Learn to communicate about estimates in a healthy and productive way, maximizing advantage to the organization and minimizing damage to the people. In a world where most developers hate estimation and most managers fear disappointment with the results, there is hope for both. It requires giving up some widely held misconceptions. Let go of the notion that "an estimate is an estimate" and estimate for the particular need you, and your organization, have. Realize that estimates have a limited shelf-life, and reestimate frequently if it's important. When reality differs from your estimate, don't lament; mine that disappointment for the gold that can be the longer-term jackpot. Estimate in comparison to past experience, by modeling the work mathematically, or a hybrid of both. Learn strategies for effective decomposition of work and aspects of the work that likely affect your estimates. Hedge your bets by comparing the results of different approaches. Find out what to do when an estimate proves wrong. And they will. They're estimates, after all. You'll discover that you can use estimates to warn you of danger so you can take appropriate action in time. Learn some crucial techniques to understand and communicate with those who need to understand. Address both the technical and sociological aspects of estimation, and you'll help your organization achieve its desired goals with less drama and more benefit. What You Need: No software needed, just your past experience and concern for the outcomes.
£22.79
Pragmatic Bookshelf Competing with Unicorns: How the World's Best
Book SynopsisToday's tech unicorns develop software differently. They've developed a way of working that lets them scale like an enterprise while working like a startup. These techniques can be learned. This book takes you behind the scenes and shows you how companies like Google, Facebook, and Spotify do it. Leverage their insights, so your teams can work better together, ship higher-quality product faster, innovate more quickly, and compete with the unicorns. Massively successful tech companies, or Unicorns, have discovered how to take the techniques that made them successful as a startup and scale them to the enterprise level. Amazon, Facebook, Google, and Spotify all work like startups, despite having workforces numbering in the tens of thousands. Ex-Spotify engineer and coach, Jonathan Rasmusson, takes you behind the scenes and shows you how to develop software the way the best companies do it. Learn how to give teams purpose through Missions, empower and trust with Squads, and align large scale efforts through Bets. Create the culture necessary to make it happen. If you're a tech or product lead and you want to ship product better, this is your playbook on how the world's best do it. If you're an engineer, tester, analyst, or project manager, and you suspect there are better ways you could be working, you are correct. This book will show you how. And if you're a manager, Agile coach, or someone just charged with improving how your company ships software, this book will give you the tools, techniques, and practices of the world's most innovative, delivery-focused companies. Don't just admire the top companies - learn from them.
£20.42
The Pragmatic Programmers Seven Languages in Seven Weeks
Book SynopsisRuby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, Seven Languages hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages. For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them. Among this group of seven, you'll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that's at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure. Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang's let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems. It's all here, all in one place. Use the concepts from one language to find creative solutions in another-or discover a language that may become one of your favorites.
£26.59
Springer Nature Switzerland AG Domain-Specific Conceptual Modeling: Concepts,
Book SynopsisThis book demonstrates the significance of domain-specific conceptual modeling through new research and development approaches that are manifested in each of the chapters. They include novel modelling methods and tools that emphasize the recent results accomplished and their adequacy to assess specific aspects of a domain. Each chapter offers detailed instructions on how to build models in a particular domain, such as product-service engineering, enterprise engineering, digital business ecosystems, and enterprise modelling and capability management. All chapters are enriched with case studies, related information, and tool implementations. The tools are based on the ADOxx metamodelling platform and are provided free of charge via OMiLAB. Furthermore, the book emphasizes possible future developments and potential research directions. The collection of works presented here will benefit experts and practitioners from academia and industry alike, including members of the conceptual modeling community as well as lecturers and students.Table of ContentsPart I: Background.- 1. Conceptual Modelling Methods: The AMME Agile Engineering Approach.- 2. Development of Conceptual Models and Realization of Modelling Tools Within the ADOxx Meta-Modelling Environment: A Living Paper.- 3. Challenging Digital Innovation Through the OMiLAB Community of Practice.- Part II: Previous Volume: Synopsis.- 4. The Purpose-Specificity Framework for Domain-Specific Conceptual Modeling.- Part III: Enterprise Management.- 5. Enterprise Modeling with 4EM: Perspectives and Method.- 6. PGA 2.0: A Modeling Technique for the Alignment of the Organizational Strategy and Processes.- 7. The LiteStrat Modelling Method: Towards the Alignment of Strategy and Code.- 8. itsVALUE: Modelling and Analysing Value Streams for IT Services.- Part IV: Enterprise Information Systems.- 9. Enterprise Construction Modeling Method.- 10. Tool Support for Fractal Enterprise Modeling.- 11. The Integration of Risk Aspects into Business Process Management: The e-BPRIM Modeling Method.- 12. Modeling the Phenomenon of Capability Change: The KYKLOS Method.- 13. A Security Assessment Platform for Stochastic Petri Net (SPN) Modelling in the Internet of Things (IoT) Ecosystem.- Part V: Business Ecosystems and Services.- 14. A Modeling Tool for Exploring Business Ecosystems in a (Pre-)conceptual Phase.- 15. A Capability-Based Method for Modeling Resilient Data Ecosystems.- 16. Space of Services Method (SoS).- 17. Design and Engineering of Product-Service Systems (PSS): The SEEM Methodology and Modeling Toolkit.- Part VI: Knowledge Engineering.- 18. Model-Based Guide Toward Digitization in Digital Business Ecosystems.- 19. Generating ROS Codes from User-Level Workflow in PRINTEPS.- 20. ECAVI: An Assistant for Reasoning About Actions and Change with the Event Calculus.- Part VII: Technology Enhanced Education.- 21. Tree Diagrams and Unit Squares 4.0: Digitizing Stochastic Classes with the Didactic Modeling Tool PROVIS.- 22. Improving Student Mobility Through Automated Mapping of Similar Courses.- Part VIII: Digital Humanities.- 23. Aggregation and Curation of Historical Archive Information.- Part IX: Modelling Method Conceptualization.- 24. Conceptualization of Modelling Methods in the Context of Categorical Mechanisms.- 25. Conceptualizing Design Thinking Artefacts: The Scene2Model Storyboard Approach.- 26. An Approach to the Information System Conceptual Modeling Based on the Form Types.- Part X: Conceptual Modelling Language Extension.- 27. BPMN4MoPla: Mobility Planning Based on Business Decision-Making.- 28. BPMN Extension for Multi-Protocol Data Orchestration.
£151.99
Springer International Publishing AG Handbook of Requirements and Business Analysis
Book SynopsisMeyer’s Handbook of Requirements and Business Analysis is a comprehensive treatise providing the reader with all the principles and techniques necessary to produce effective requirements.Even the best design, implementation and verification are worthless if they are the solution to the wrong problem. Defining the problem properly is the task of requirements, also known as business analysis. To be successful, a project must apply to requirements the same engineering standards as to other parts of system construction.The Handbook presents a holistic view of requirements including four elements or PEGS: Project, Environment, Goals and System. One of its principal contributions is the definition of a Standard Plan for requirements documents, consisting of the four corresponding books and replacing the structure of the obsolete IEEE 1998 standard.The text covers both classical requirements techniques and advanced topics. The successive chapters address: fundamental concepts and definitions; requirements principles; the Standard Plan for requirements; how to write good requirements; how to gather requirements; scenario techniques (use cases, user stories); object-oriented requirements; how to take advantage of formal methods; abstract data types; and the place of requirements in the software lifecycle. The Handbook is suitable both as a practical guide for industry and as a textbook, with over 50 exercises and supplementary material available from the book’s site, including slides and links to video lectures (MOOCs). Table of Contents1. Requirements: basic concepts and definitions.- 2. Requirements: general principles.- 3. Standard Plan for requirements.- 4. Requirements quality and verification.- 5. How to write requirements.- 6. How to gather requirements.- 7. Scenarios: use cases, user stories.- 8. Object-oriented requirements.- 9. Benefiting from formal methods.- 10. Abstract data types.- 11. Are my requirements complete?.- 12. Requirements in the software lifecycle.
£47.49
Springer International Publishing AG Developing Information Systems Accurately: A
Book SynopsisThis textbook shows how to develop the functional requirements of (information) systems. It emphasizes the importance to consider the complete development path of a functional requirement, i.e. not only the individual development steps but also their proper combination and their alignment. The book consists of two parts: Part I presents the underlying theory while Part II contains various illustrative case studies. Part I starts with an introduction to the topic (Chapter 1). Then it explains how to develop functional requirements that represent the conceptual dynamics of an information system (Chapters 2 and 3). Chapters 4 and 5 explain how to model the conceptual statics of an information system. Chapter 6 gives some directions for implementation. Finally, Chapter 7 explains how a ‘technical manager’ can organize and manage the development process. As an illustration of the theory, Part II contains three substantial case studies. The first one (Chapter 8) presents a stepwise development starting from an informal situation sketch via a simple domain model towards a precisely specified, full-fledged conceptual data model, which finally is translated to an SQL database. In the second case study (Chapter 9) the author converts the well-known non-trivial use case Process Sale from Larman into a textual System Sequence Description (SSD). For validation purposes, that textual SSD is subsequently translated into natural language and into a graphical SSD. The third case study (Chapter 10) shows the applicability of the author’s approach to a control system and also illustrates the typical situation that the requirements are constantly changing during development. This book is written for (under)graduate students in software engineering or information systems who want to learn how to carry out adequate problem analysis, to make good system specifications, and/or to understand how to organize and manage an IS-development process. It also targets practitioners who want to improve their problem analysis abilities and/or their ability to make good system specifications. To this end, it includes more than 150 explanatory figures and is accompanied by a Web site which provides additional course material such as slides, additional exercises, solutions to exercises, and the code for the figures used in the book.Table of Contents- 1. Introduction. - Part I Theory. - 2. Developing a Functional Requirement. - 3. Development Patterns. - 4. Domain Modelling. - 5. Conceptual Data Models. - 6. Directions for Implementation. - 7. Organizing and Managing the Development Process. - Part II Case Studies. - 8. A Non-trivial University Example Worked Out. - 9. Converting a Large Use Case. - 10. Development Example Where Requirements Constantly Change.
£37.49
Springer International Publishing AG The What and How of Modelling Information and
Book SynopsisThe main aim of this book is to introduce a group of models and modelling of information and knowledge comprehensibly. Such models and the processes for how to create them help to improve the skills to analyse and structure thoughts and ideas, to become more precise, to gain a deeper understanding of the matter being modelled, and to assist with specific tasks where modelling helps, such as reading comprehension and summarisation of text. The book draws ideas and transferrable approaches from the plethora of types of models and the methods, techniques, tools, procedures, and methodologies to create them in computer science. This book covers five principal declarative modelling approaches to model information and knowledge for different, yet related, purposes. It starts with entry-level mind mapping, to proceed to biological models and diagrams, onward to conceptual data models in software development, and from there to ontologies in artificial intelligence and all the way to ontology in philosophy. Each successive chapter about a type of model solves limitations of the preceding one and turns up the analytical skills a notch. These what-and-how for each type of model is followed by an integrative chapter that ties them together, comparing their strengths and key characteristics, ethics in modelling, and how to design a modelling language. In so doing, we’ll address key questions such as: what type of models are there? How do you build one? What can you do with a model? Which type of model is best for what purpose? Why do all that modelling? The intended audience for this book is professionals, students, and academics in disciplines where systematic information modelling and knowledge representation is much less common than in computing, such as in commerce, biology, law, and humanities. And if a computer science student or a software developer needs a quick refresher on conceptual data models or a short solid overview of ontologies, then this book will serve them well.Trade Review“The book describes – in excellent style and appropriate framing and leveling - five principal declarative modelling approaches to model information and knowledge for different, yet related, purposes. … The book is rich on good advice going down a couple of levels, also on the complicated matters. You will learn about how-to as well as why.” (Thomas Frisendal, linkedin.com, January 10, 2024)Table of Contents1. Introduction: Why Modelling?.- 2. Mind Maps.- 3. Models and Diagrams in Biology.- 4. Conceptual Data Models.- 5. Ontologies and Similar Artefacts.- 6. Ontology—With a Capital O.- 7. Fit For Purpose.- 8. Go Forth and Model.
£52.24
Springer A Concise Introduction to Software Engineering
Book Synopsis1. The Software Problem.- 2. Software Processes.- 3. Software Requirements Analysis and Specification.- 4. Planning a Software Project.- 5. Software Architecture.- 6. Design.- 7. Coding and Unit Testing.- 8. Testing.
£40.49
Springer International Publishing AG Leveraging Applications of Formal Methods Verification and Validation. Specification and Verification
Book SynopsisThe ISoLA 2024 proceedings constitutes contributions of the associated events held at the 12th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2024, which took place in Crete, Greece, in October 2024.
£67.99
Springer International Publishing AG Big Data for Urban Sustainability: A
Book SynopsisThis book presents a practical framework for the application of big data, cloud, and pervasive and complex systems to sustainable solutions for urban environmental challenges. It covers the technologies, potential, and possible and impact of big data on energy efficiency and the urban environment.The book first introduces key aspects of big data, cloud services, pervasive computing, and mobile technologies from a pragmatic design perspective, including sample open source firmware. Cloud services, mobile and embedded platforms, interfaces, operating system design methods, networking, and middleware are all considered. The authors then explore in detail the framework, design principles, architecture and key components of developing energy systems to support sustainable urban environments. The included case study provides a pathway to improve the eco-efficiency of urban transport, demonstrating how to design an energy efficient next generation urban navigation system by leveraging vast cloud data sets on user-behavior. Ultimately, this resource maps big data’s pivotal intersection with rapid global urbanization along the path to a sustainable future.Table of ContentsPart I Features of Big data Systems.- Big Data Introduction.-Big data Systems landscape/ overview.- Part II Developing Sustainable Big data systems.- The trends of Big data systems.- Platform Architecture.- Reference Architecture.- ISUNS system design (Case Study).- Part III Future Development to Enhance Eco-efficiency.- Potential Applications for Big data systems.- Performance Evaluation.
£82.49
Pearson Education Limited Valuepack Design PatternsElements of Reusable
Book Synopsis
£62.99
Manning Publications Docker in Practice, Second Edition
Book SynopsisDocker's simple idea, wrapping an application and its dependencies into a single deployable package, has continued to drive a revolution in software delivery. Docker in Practice, Second Edition presents nearly 120 practical techniques, hand-picked to help users get the most out of Docker. This book is an essential resource that readers will want to have open on their desk! Key features · Hands-on guide · Step-by-step instructions · Full of practical tips Written for developers and engineers using Docker in production. About the technology Docker is a platform that allows users to “build, ship, and run any app, anywhere.” It has come a long way in an incredibly short time and is now considered a standard way of solving one of the costliest aspects of software: deployment. Author biography Ian Miell is the Lead OpenShift Architect at Barclays. Aidan Hobson Sayers is a developer at Hadean. Previously, they used Docker to transform DevOps at OpenBet.
£37.99
Manning Publications Software Telemetry: Reliable logging and
Book Synopsis"Do you want to learn more about software telemetry? Don't look any further, this book is the one you need." - Sander Zegveld Software telemetry is the discipline of tracing, logging, and monitoring infrastructure by observing and analyzing the events generated by the system. In Software Telemetry, you'll master the best practices for operating and updating telemetry systems. This practical guide is filled with techniques you can apply to any organization upgrading and optimizing their telemetry systems, from lean startups to well-established companies. You'll learn troubleshooting techniques to deal with every eventuality, such as building easily-auditable systems, preventing and handling accidental data leaks, and ensuring compliance with standards like GDPR. about the technologyComplex systems can become black boxes. Telemetry provides feedback on what's happening inside. Telemetry systems are built for gathering, transforming, and communicating data on the performance, functionality, processing speeds, errors, and security events of production systems. There are many forms of telemetry systems, from classic centralized logging to cutting-edge distributed tracing that follows data across microservices. But despite their difference in functionality, all telemetry systems share core operational similarities—and best practices for optimizing them to support your business needs. about the bookSoftware Telemetry is a guide to operating the telemetry systems that monitor and report on your applications. It takes a big picture view of telemetry, teaching you to manage your logging, metrics, and events as a complete end-to-end ecosystem. You'll learn the base architecture that underpins any software telemetry system, allowing you to easily integrate new systems into your existing infrastructure, and how these systems work under the hood. Throughout, you'll follow three very different companies to see how telemetry techniques impact a software-producing startup, a large legacy enterprise, and any organization that writes software for internal use. You'll even cover how software telemetry is used by court processes—ensuring that when your first telemetry discovery request arrives, there's no reason to panic! what's inside- Processes for legal compliance- Cleaning up after toxic data spills and leaks- Safely handling toxic telemetry and confidential records- Multi-tenant techniques and transformation processes- Updating metrics aggregation and sampling traces to display accurate data for longer- Revising software telemetry emissions to be easier to parse- Justifying increased spend on telemetry software about the readerFor software developers and infrastructure engineers supporting and building telemetry systems. about the authorJamie Riedesel is a staff engineer at Dropbox. She has over twenty years of experience in IT, working in government, education, legacy companies, and startups. She has specialized in DevOps for the past decade, running distributed systems in public clouds, getting over workplace trauma, and designing software telemetry architectures.Trade Review“The telemetry bible!” Sander Zegveld, Developers.nl “An in-depth guide to operating software telemetry systems.” Sushant Bhadkamkar, Lyft “A must-have tome of knowledge written by one of the leaders in software telemetry.” Andrew Bovill, CACI International Inc “Something for every level of distributed systems, from hardware to networking to operating systems to software.” Lokesh Kumar, Urgently
£43.19
Manning Publications Graph Algorithms for Data Science
Book SynopsisGraphs are the natural way to understand connected data. This book explores the most important algorithms and techniques for graphs in data science, with practical examples and concrete advice on implementation and deployment. In Graph Algorithms for Data Science you will learn: Labeled-property graph modeling Constructing a graph from structured data such as CSV or SQL NLP techniques to construct a graph from unstructured data Cypher query language syntax to manipulate data and extract insights Social network analysis algorithms like PageRank and community detection How to translate graph structure to a ML model input with node embedding models Using graph features in node classification and link prediction workflows Graph Algorithms for Data Science is a hands-on guide to working with graph-based data in applications like machine learning, fraud detection, and business data analysis. It's filled with fascinating and fun projects, demonstrating the ins-and-outs of graphs. You'll gain practical skills by analyzing Twitter, building graphs with NLP techniques, and much more. You don't need any graph experience to start benefiting from this insightful guide. These powerful graph algorithms are explained in clear, jargon-free text and illustrations that makes them easy to apply to your own projects. about the technology Graphs reveal the relationships in your data. Tracking these interlinking connections reveals new insights and influences and lets you analyze each data point as part of a larger whole. This interconnected data is perfect for machine learning, as well as analyzing social networks, communities, and even product recommendations. about the book Graph Algorithms for Data Science teaches you how to construct graphs from both structured and unstructured data. You'll learn how the flexible Cypher query language can be used to easily manipulate graph structures, and extract amazing insights. The book explores common and useful graph algorithms like PageRank and community detection/clustering algorithms. Each new algorithm you learn is instantly put into action to complete a hands-on data project, including modeling a social network! Finally, you'll learn how to utilize graphs to upgrade your machine learning, including utilizing node embedding models and graph neural networks.Trade Review'The book covers topics in-depth but is easy to understand. Though delving into theory, it doesn't lose its focus of being a more practical guide. ' Carl Yu 'A good starting point to getting started with network analysis and how to extract the essential information you need easily.' Andrea Paciolla 'A great introduction to how to use graphs and data they can provide.' Marcin SękTable of Contentstable of contents detailed TOC READ IN LIVEBOOK 1GRAPHS AND NETWORK SCIENCE: AN INTRODUCTION READ IN LIVEBOOK 2REPRESENTING NETWORK STRUCTURE - DESIGN YOUR FIRST GRAPH MODEL READ IN LIVEBOOK 3YOUR FIRST STEPS WITH THE CYPHER QUERY LANGUAGE READ IN LIVEBOOK 4CYPHER AGGREGATIONS AND SOCIAL NETWORK ANALYSIS 5 INFERRING NETWORKS AND MONOPARTITE PROJECTIONS 6 CONSTRUCT A GRAPH USING NLP TECHNIQUES 7 NODE EMBEDDINGS AND CLASSIFICATION 8 IMPROVE DOCUMENT CLASSIFICATION WITH GRAPH NEURAL NETWORKS 9 PREDICT NEW CONNECTIONS 10 KNOWLEDGE GRAPH COMPLETION READ IN LIVEBOOK APPENDIX A: ADJACENCY MATRIX
£41.39
Manning Publications Testing Web APIs
Book SynopsisGuarantee the quality and consistency of your web APIs by implementing an automated testing process. In Testing Web APIs you will: Design and implement a web API testing strategy Set up a test automation suite Learn contract testing with Pact Facilitate collaborative discussions to test web API designs Perform exploratory tests Experiment safely in a downloadable API sandbox environment Testing Web APIs teaches you to plan and implement the perfect testing strategy for your web APIs. In it, you'll explore dozens of different testing activities to help you develop a custom testing regime for your projects. You'll learn to take a risk-driven approach to API testing, and build a strategy that goes beyond the basics of code and requirements coverage. about the technology To other developers, your API is the face of your application. Thorough, well-designed testing ensures that your APIs will perform as expected, every time. Impeccable API testing goes beyond the basics of code coverage, to encompass documentation and design that sends the right information to your third-party users. A robust testing strategy helps you avoid costly errors that can damage your revenue, your reputation, and your user's trust. about the book In Testing Web APIs you'll develop a diverse testing program that gets your whole team involved in ensuring quality. This practical book demystifies abstract strategic concepts by applying them to common API testing scenarios, revealing how these complex ideas work in the real world. It fully covers automation techniques like functional API automation, contract testing, and automated acceptance test-driven design that will save your team's time. You'll map the potential risks your API could face, and use those risks as a launching point for your testing activities. A good strategy has a mix of focuses, so you'll master a wide range of API testing techniques like exploratory testing and live testing of production code. A downloadable API sandbox lets you go hands-on and experiment in a safe environment. You'll soon be ready to implement a strategy that ensures API quality and makes testing a real asset to your team.Trade Review'If you want to think about how to optimize the impact of your tests, this book is for you!' Mikael Dautrey 'Chock full of good, practical advice and guidance.' Allen GoochTable of Contentstable of contents PART 1 THE VALUE OF WEB API TESTING READ IN LIVEBOOK 1WHY WE MUST TEST WEB APIS READ IN LIVEBOOK 2BEGINNING OUR TESTING JOURNEY READ IN LIVEBOOK 3QUALITY AND RISK PART 2 BEGINNING OUR TEST STRATEGY READ IN LIVEBOOK 4TESTING API DESIGNS READ IN LIVEBOOK 5EXPLORATORY TESTING APIS READ IN LIVEBOOK 6AUTOMATING WEB API TESTS READ IN LIVEBOOK 7ESTABLISHING AND IMPLEMENTING A TESTING STRATEGY PART 3 EXPANDING OUR TEST STRATEGY READ IN LIVEBOOK 8ADVANCED WEB API AUTOMATION 9 CONTRACT TESTING WEB APIS 10 PEFORMANCE TESTING WEB APIS 11 SECURITY TESTING WEB APIS 12 TESTING IN PRODUCTION
£41.39
Princeton University Press The Essence of Software
Book SynopsisTrade Review"Finalist for the PROSE Award in Computing and Information Sciences, Association of American Publishers""This book gives new answers to old questions, offering a fresh perspective on software design, with examples from over 100 familiar apps. It’s accessible to anyone—strategist, marketer, manager, designer, or programmer—who wants software that is more empowering, dependable, and delightful to use." * MIT News *
£18.00
APress Just React
Book Synopsis Here is your perfect companion for learning about and developing React applications. This book introduces concepts innovatively, using real-world examples based on the most recommended practices to help you establish a firm foundation. This comprehensive approach provides a strong focus on building components by using React hooks. You''ll begin by learning web fundamentals, next-generation JavaScript, and how React fits into this. In the chapters that follow, you''ll build a React application from scratch and learn about JSX, components, props, state management, prop drilling, context, and lifecycle events. Along the way you''ll build a multi-component app and see how the components interact. Debugging and styling React applications are also discussed. You''ll then take an in depth look at React hooks and see how to create a custom hook. There is also a penultimate chapter that explores important concepts such as routing and authentication. The book concludes withTable of Contents Chapter 1: Time to React Chapter Goal: The purpose of this chapter is to introduce you to React and to introduce the role it plays in modern web development. No of pages: 20 Subtopics 1. Think before you React 2. How React Reacts compared to JavaScript? 3. React Vs Angular . 4. Where to React? Chapter 2: JavaScript Before You React Chapter Goal: Next gen JavaScript (ES6 and above) is the subject of this chapter. The goal of this chapter is to get you familiar with the latest features of this most popular programming language. No of pages: 40 Sub - Topics 1. Variables, Conditionals, and loops 2. Functions and Arrow Functions 3. Modules 4. Events 5. Reference Types 6. Async Await 7. Template Literals. Chapter 3: Start Reacting Chapter Goal: The goal of this chapter is to get you started on your React journey. You will gain an in-depth understanding of React project setup and fundamental concepts. No of pages: 60 Sub - Topics: 1. Set up an environment to ‘React’ 2. How to React? 3. create-react-app 4. Introduction to Components 5. JSX 6. Reacting to inputs 7. Styling your component 8. Virtual DOM 9. Props and State 10. Just React to Child 11. React on a Condition Chapter 4: Think React Chapter Goal: Using the most recommended concepts of React, this chapter creates a fully functional application. You'll gain an understanding of state management, component interactions etc., and you will start thinking the React way. No of pages:50 Sub - Topics: 1. VS Code Extensions 2. Restructuring the React form 3. Combining Reactions 4. Sibling Reactions 5. Component chat continues… 6. Reacting to edits 7. More Reactions to the parent Chapter 5: Rethink React Chapter Goal: The goal of this chapter is to get you to rethink. It will show you how to identify and fix common problems with React applications. You will learn some advanced concepts such as code splitting and React Context. No of pages:50 Sub - Topics: 1. React Lazy and Suspense 2. Props Drilling 3. Multi View React app 4. React Context Chapter 6: React to Bugs Chapter Goal: This chapter covers several ways to debug React applications. It mostly focuses on how you, as a developer, react to bugs in React applications.You will learn about the rich capabilities of Chrome DevTools and React DevTools. No of pages:30 Sub - Topics: 1. Chrome Reacts 2. Don’t React, Debug first 3. Console Reactions 4. React to Errors 5. React Developer Tools 6. React to Bugs within VS Code Chapter 7: Reacting in style Chapter Goal: The purpose of this chapter is to present different ways of styling components, their pros and cons, and introduce some tools to assist you in styling React components. No of pages:30 Sub - Topics: 1. CSS-in-JS 2. Styled Components 3. CSS Style Sheets 4. Sassy CSS (SCSS) 5. CSS Modules 6. Overview of CodeSandbox and Material UI 7. Responsive React Chapter 8: Hook into React Chapter Goal: In this chapter, we will cover in depth about React Hooks with examples. You will learn about all the hooks and how to create custom hooks. No of pages:60 Sub - Topics: 1. Life of a Class 2. Life of a Function and the birth of Hooks 3. useState 4. useEffect 4. useRef 5. useReducer 6. Remember to React 7. useMemo 8. useCallback 9. useContext 10. Few more ‘Hookies’ 11. Custom ‘Hookies’ Chapter 9: React more Chapter Goal: This chapter covers basics about Routing, Authentication, sending HTTP requests from a React App, Redux and a few other concepts we haven't talked about so far in other chapters. etc. No of pages:50 Sub - Topics: 1. React to Routes 2. Identify before React 3. . HTTP Reactions 4. Redux Chapter 10: New Reactions Chapter Goal: This chapter summarizes all the new features in React 18 No of pages:20 Sub - Topics: 1. New Root and the new way to Render 2. React Concurrently 3. React slowly for faster response 4. Server on Suspense 5. Automatic Batching 6. ’Too Strict’ Mode 7. New ‘Hookies’
£46.74
Rocky Nook Requirements Engineering Fundamentals: A Study
Book SynopsisRequirements engineering tasks have become increasingly complex. In order to ensure a high level of knowledge and competency among requirements engineers, the International Requirements Engineering Board (IREB) developed a standardized qualification called the Certified Professional for Requirements Engineering (CPRE). The certification defines the practical skills of a requirements engineer on various training levels. This book is designed for self-study and covers the curriculum for the Certified Professional for Requirements Engineering Foundation Level exam as defined by the IREB. The 2nd edition has been thoroughly revised and is aligned with the curriculum Version 2.2 of the IREB. In addition, some minor corrections to the 1st edition have been included. About IREB: The mission of the IREB is to contribute to the standardization of further education in the fields of business analysis and requirements engineering by providing syllabi and examinations, thereby achieving a higher level of applied requirements engineering. The IRE Board is comprised of a balanced mix of independent, internationally recognized experts in the fields of economy, consulting, research, and science.The IREB is a non-profit corporation.
£26.40
Manning Publications Code Like a Pro in Rust
Book SynopsisGet ready to code like a pro in Rust! This hands-on guide dives deep into memory management, asynchronous programming, and Rust design patterns and explores essential productivity techniques like testing, tooling, and project management. In Code Like A Pro in Rust you will learn: Essential Rust tooling Core Rust data structures Memory management Design patterns for Rust Testing in Rust Asynchronous programming for Rust Optimized Rust Rust project management Code Like A Pro in Rust is a fast-track guide to building and delivering professional quality software in Rust. You'll upgrade your basic knowledge of Rust with conventions, best practices, and veteran's secrets that are normally only learned through years of experience. Skip the fluff and get right to the heart of this powerful modern language, including Rust's support for asynchronous programming and integrating Rust with codebases written in other languages. about the technology Programmers prize Rust for its safety, performance, and security. However, its strict syntax and tricky memory management can make it challenging to master. This practical guide shows you how to balance Rust's trade offs, lessen its cognitive load, and rapidly bring your productivity to a professional level. about the book Code Like a Pro in Rust shows you how to quickly create and ship Rust programs without wasting time on language quirks, compiler problems, and unexpected complexities. It builds on your existing Rust knowledge with design patterns and shortcuts direct from veteran Rust contributor Brenden Matthews. You'll learn to use important Rust tooling like rust-analyzer, Clippy, and Cargo, as well as best practices for unit testing and code optimization. By the time you're done, you'll be writing high quality code with less maintenance overhead. RETAIL SELLING POINTS • Essential Rust tooling • Core Rust data structures • Memory management • Design patterns for Rust • Testing in Rust • Asynchronous programming for Rust • Optimized Rust • Rust project management AUDIENCE For aspiring Rust pros familiar with the basics of the language. Table of Contentstable of contents detailed TOC PART 1 PRO RUST READ IN LIVEBOOK 1FEELIN' RUSTY READ IN LIVEBOOK 2PROJECT MANAGEMENT WITH CARGO READ IN LIVEBOOK 3RUST TOOLING PART 2 CORE DATA READ IN LIVEBOOK 4DATA STRUCTURES READ IN LIVEBOOK 5WORKING WITH MEMORY PART 3 CORRECTNESS READ IN LIVEBOOK 6UNIT TESTING READ IN LIVEBOOK 7INTEGRATION TESTING PART 4 PATTERNS 8 COMMON DESIGN PATTERNS 9 ADVANCED PATTERNS PART 5 ADVANCED 10 ASYNC RUST 11 OPTIMIZATIONS APPENDIXES APPENDIX A: INSTALLING TOOLS FOR THIS BOOK
£41.39
Manning Publications Kubernetes for Developers
Book SynopsisKubernetes Quickly is a clear and practical beginner's guide that shows you just how easy, flexible, and cost-effective it can be to make the switch to Kubernetes deployment even for small to medium-sized applications. Kubernetes Quickly is a hands-on guide to taking your first steps into Kubernetes using the powerful Google Kubernetes Engine service. It lays out a map for taking an application, containerizing it, and then deploying it onto Kubernetes. You'll learn best practice techniques for a stable and long-term Kubernetes deployment, including scaling and capacity planning, saving money by optimizing resource consumption, and tricks to make your day-to-day monitoring easier such as debugging code in the cloud. You don't need to incur huge costs or have the manpower of an enterprise organization to get a productivity boost from Kubernetes. By organizing your application component into containerized components and automating tasks like scaling and replication, Kubernetes keeps your apps running smoothly. Cloud-based Kubernetes services like Google Kubernetes Engine(GKE) reduce OS issues, simplify operations, and give you the freedom to use whatever software stack you want. If you've heard that switching to Kubernetesis complex, good news—Kubernetes for Developers will show you how it can be done without a time-consuming rebuild. Using examples from the Google Kubernetes Engine created by the team who invented Kubernetes itself, you'll learn to set up future-proof application deployments that scale to handle ever-growing and complex workloads.Trade Review“Whether you are using kubernetes now or thinking of using kubernetes in the future, there is no better way to expand your knowledge than this book. “ Becky Huett “Excellent introductory text for Kubernetes that augments the Kubernetes documentation with best practice tips and great tool recommendations.” Robert Kielty “This is an excellent introduction to Kubernetes in particular and Cloud deployments in general.” Juan Jimenez “Get ready to be taken from the old world to the new. It won't hurt to give this book another read-over before you deploy your service into production!” Chase Sillevis “An excellent read for a newbie who wants to get closer to Kubernetes.” Giuliano Latini
£36.09
O'Reilly Media Beautiful Code
Book SynopsisHow do the experts solve difficult problems in software development? This book offers case studies that reveal how they found carefully designed solutions to high-profile projects.
£28.79
Pragmatic Bookshelf Domain Modeling Made Functional : Pragmatic
Book SynopsisYou want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux. You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform. Full installation instructions for all platforms at fsharp.org.
£34.65
The Pragmatic Programmers Distributed Services with Go: Your Guide to
Book SynopsisThis is the book for Gophers who want to learn how to build distributed systems. You know the basics of Go and are eager to put your knowledge to work. Build distributed services that are highly available, resilient, and scalable. This book is just what you need to apply Go to real-world situations. Level up your engineering skills today. Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essentials of storage handling, then work your way through networking a client and server, and finally to distributing server instances, deployment, and testing. All this will make coding in your day job or side projects easier, faster, and more fun. Create your own distributed services and contribute to open source projects. Build networked, secure clients and servers with gRPC. Gain insights into your systems and debug issues with observable services instrumented with metrics, logs, and traces. Operate your own Certificate Authority to authenticate internal web services with TLS. Automatically handle when nodes are added or removed to your cluster with service discovery. Coordinate distributed systems with replicated state machines powered by the Raft consensus algorithm. Lay out your applications and libraries to be modular and easy to maintain. Write CLIs to configure and run your applications. Run your distributed system locally and deploy to the cloud with Kubernetes. Test and benchmark your applications to ensure they're correct and fast. Dive into writing Go and join the hundreds of thousands who are using it to build software for the real world. What You Need: Go 1.13+ and Kubernetes 1.16+
£35.14
Manning Publications Software Mistakes and Tradeoffs
Book SynopsisIn Software Mistakes and Tradeoffs you'll learn from costly mistakes that Tomasz Lelek and Jon Skeet have encountered over their impressive careers. You'll explore real-world scenarios where poor understanding of tradeoffs lead to major problems down the road, to help you make better design decisions. Plus, with a little practice, you'll be able to avoid the pitfalls that trip up even the most experienced developers. Software Mistakes and Tradeoffs teaches you how to make better decisions about designing, planning, and implementing applications. You'll analyse real-world scenarios where the wrong tradeoff decisions were made, and discover what could have been done differently. The book lays out the pros and cons of different approaches and explores evergreen patterns that will always be relevant to software design. Code performance versus simplicity. Delivery speed versus duplication. Flexibility versus maintain ability—everydecision you make in software engineering involves balancing tradeoffs. Often, decisions that look good at the design stage can prove problematic in practice.This book reveals the questions you need to be asking to make the right decisions for your own software tradeoffs. Trade Review“I can saywith confidence that 100% of software developers ask themselves at least onequestion addressed in this book.” Nelson González “The code examples are good enough that even if you don't have experience with Java—you can still understand what the authors aretrying to convey.” John Henry Galino “Tomasz Lelek and Jon Skeet are here to guide developers through the minefield of software engineering.” Gilles Lachelini “Reading this book will make you wiser and turn youinto the Yoda of the Software Engineering biz!” Gregory Varghese “If you need a book to learn how to think like a better programmer...then this is the book.” Alex Saez “This book is vital for every developer, from beginner to advanced, to improve your code quality and resolve common problems.”Andres Sacco “This book holds valuable information and tips every programmer should know before doing bigger software projects.” RobertTrausmuth
£34.19
Pearson Education (US) Lean DevOps
Book SynopsisRobert Benefield is an experienced technical leader who has decades of experience delivering robust on-demand services to solve hard problems in demanding ecosystems including banking and securities trading, medical and pharmaceutical, energy, telecom, government, and Internet services. His continual eagerness to learn and work with others to make a difference has taken him from building computers and writing code in the early days of the Internet at Silicon Valley startups to the executive suite in large multinational companies. He shares his unique experience in the hopes that others can continue to build on it without having to collect quite as many scars along the way. Table of ContentsIntroduction 1 Chapter 1: The Problem with IT Service Delivery 7 Approach #1: Reduce Delivery Friction 9 The Downsides of Targeting Delivery Friction 11 Approach #2: Managing Service Delivery Risk 12 The Downsides of Targeting Service Delivery Risk 14 The Essence of Delivery 15 Beginning the DevOps Journey 17 Summary 18 Chapter 2: How We Make Decisions 21 Examining the Decision-Making Process 22 Boyd and the Decision Process 23 The OODA Loop 26 The Ingredients of Decision Making 29 Ingredient 1: The Target Outcome 30 Delivering Measures over Outcomes 36 Ingredient 2: Friction Elimination 39 Ingredient 3: Situational Awareness 42 The Challenge of Trust 44 The Fragility of Mental Models and Cognitive Biases 45 Ingredient 4: Learning 48 Failing to Learn 48 The Pathway to Improved Decision Making 53 Summary 54 Chapter 3: Mission Command 55 The Origins of Mission Command 56 Learning How to Lead Effectively the Hard Way 57 Managing Through Unpredictability 58 Knowledge and Awareness Weaknesses 59 Misalignments 60 Misjudgment of Ecosystem Complexity 61 The Anatomy of Mission Command 62 Commander's Intent 63 Brief 66 Situational Overview 67 Statement of the Desired Outcome or Overall Mission Objective 67 Execution Priorities 67 Anti-Goals and Constraints 68 Backbriefing 69 Einheit: The Power of Mutual Trust 71 Creating Einheit in DevOps 74 Continual Improvement 75 Staff Rides 78 After Action Reviews 79 Organizational Impacts of Mission Command 80 Summary 81 Chapter 4: Friction 83 Understanding Ohno's Forms of Waste 84 Muda (Pure Waste) 86 Muri (Overburden) 109 Mura (Fluctuation and Irregularity) 113 See the Whole 125 Summary 126 Chapter 5: Risk 127 Cynefin and Decision Making 128 Ordered Systems 131 Unordered Systems 134 Reimagining Risk Management 143 Have Clear and Understood Target Outcomes 144 Make the Best Choice the Easiest Choice 145 Continually Improve Ecosystem Observability 147 Summary 151 Chapter 6: Situational Awareness 153 Making Sense of Our Ecosystem 154 The Mental Model 157 The Problems with Mental Models 158 Cognitive Bias 161 Gaining Better Situational Awareness 163 Framing 164 Finding and Fixing Framing Problems 165 Information Flow 169 Why Ecosystem Dynamics Matter 169 Meeting Your Information Flow Needs 172 Analysis and Improvement 181 Summary 182 Chapter 7: Learning 183 The Emergence of Skills Attainment Learning 184 The Rise of the One Right Way 186 Outcome-Directed Learning 188 Creating a Learning Culture 191 Day-to-Day Kata 191 Improvement and Problem-Solving Kata 192 The Coaching Practice 193 Summary 195 Chapter 8: Embarking on the DevOps Journey 197 The Service Delivery Challenge 204 Traditional Delivery Fog in the Service World 205 The Challenge of the "ilities" 207 The Path to Eliminating Service Delivery Fog 209 The Role of Managers in Eliminating Service Delivery Fog 210 Identifying What You Can or Cannot Know 214 Ways the Team Can Eliminate Service Delivery Fog 219 Summary 220 Chapter 9: Service Delivery Maturity and the Service Engineering Lead 221 Modeling Service Delivery Maturity 223 The Example of Measuring Code Quality 224 Service Delivery Maturity Model Levels 225 Service Delivery Maturity Areas of Interest 228 Configuration Management and Delivery Hygiene 232 Supportability 235 Single Point of Failure Mitigation and Coupling Management 239 Engagement 241 The Service Engineering Lead 243 Why Have a Separate Rotating Role? 244 How the SE Lead Improves Awareness 246 Organizational Configurations with the SE Lead 248 Challenges to Watch Out For 250 Incentivizing Collaboration and Improvement 251 Developers Running Production Services 253 Overcoming the Operational Experience Gap 254 Summary 256 Chapter 10: Automation 257 Tooling and Ecosystem Conditions 258 Building Sustainable Conditions 260 5S 261 Seeing Automation 5S in Action 278 Tools & Automation Engineering 283 Organizational Details 285 Workflow and Sync Points 285 Summary 287 Chapter 11: Instrumentation and Observability 289 Determining the "Right" Data 291 Know the Purpose and Value 293 Know the Audience 297 Know the Source 302 Making the Ecosystem Observable 307 Instrumenting for Observability 310 Instrumenting Development 310 Instrumenting Packaging and Dependencies 314 Instrumenting Tooling 316 Instrumenting Environment Change and Configuration Management 317 Instrumenting Testing 319 Instrumenting Production 320 Queryable/Reportable Live Code and Services 321 Presenting Task, Change, Incident, and Problem Records Together 321 Environment Configuration 322 Logging 323 Monitoring 324 Security Tracking and Analysis 325 Service Data 326 Pulling It All Together 327 Instrumenting a Wastewater Ecosystem 328 Instrumenting an IT Ecosystem 331 Summary 333 Chapter 12: Workflow 335 Workflow and Situational Awareness 336 Managing Work Through Process 337 Managing Work Organically 339 The Tyranny of Dark Matter 340 Learning to See the Disconnects in Action 343 Resolving Disconnects by Building Context 347 Visualizing the Flow 349 Workflow Board Basics 351 State Columns 352 State Columns for Operations 353 Swim Lanes 355 Task Cards 358 Preventing Dark Matter 359 Using the Board 362 Seeing the Problems 363 Limiting Work in Progress 365 The Limits of a Workflow Board 367 Managing the Board 367 Managing Flow and Improvement 368 Summary 368 Chapter 13: Queue Master 371 An Introduction to the Queue Master 372 Role Mechanics 374 "Follow the Sun" Queue Mastering 384 Queue Master Rollout Challenges 389 Team Members Don't See the Value 389 More Traditionally Minded Managers Thwarting Rollout 390 Pushy Queue Masters 391 Junior Team Members as Queue Masters 391 Queue Masters Who Struggle to Lead Sync Points 394 Summary 394 Chapter 14: Cycles and Sync Points 395 Inform, Align, Reflect, and Improve 396 Top-Down Alignment Control Approach 397 Alignment Through Iterative Approaches 397 Service Operations Synchronization and Improvement 400 The Tactical Cycle 400 Important Differences Between Kickoffs and Sprint Planning 404 Daily Standup 408 Retrospective 411 General Meeting Structure 413 The Learning and Improvement Discussion 415 The Strategic Cycle 421 Strategic Review 424 General Review Structure 426 A3 Problem Solving for the Strategic Review 427 Summary 432 Chapter 15: Governance 433 Factors for Successful Governance 434 Meeting Intent 435 No Target Outcome Interference 437 Maintain Situational Awareness and Learning 438 Common Governance Mistakes 440 Poor Requirement Drafting and Understanding 440 Using Off-the-Shelf Governance Frameworks 445 Out-of-the-Box Process Tooling and Workflows 450 Tips for Effective DevOps Governance 453 Understand Governance Intent 454 Make It Visible 454 Propose Reasonable Solutions 456 Automation and Compliance 458 Be Flexible and Always Ready to Improve 458 Summary 460 Appendix 461 9780133847505 TOC 6/7/2022
£29.69
Cambridge University Press Real World OCaml
Book SynopsisThis fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for expressiveness, safety, and speed. Through the book''s many examples, you''ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code using functional programming. Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. You''ll also delve deep into the details of the compiler toolchain and OCaml''s simple and efficient runtime system. This second edition brings the book up to date with almost a decade of improvements in the OCaml language and ecosystem, with new chapters covering testing, GADTs, and platform tooling. This title is also available as open access on Cambridge Core, thanks to the support of Tarides. Their generous contribution will bring more people to OCaml.Trade Review'An invaluable guide to effective OCaml programming! With extended and updated coverage of key libraries and tools, it covers the language concepts and will teach you not only how to program in OCaml, but also how to develop efficient systems applications in this language.' Xavier Leroy, Collège de France and INRIA'OCaml is widely known as an elegant language based on cutting-edge ideas. But this book focuses on use of OCaml as a powerful tool for the software industry. Using a series of hands-on examples, it shows the reader how to use advanced features from the OCaml ecosystem (types, modules, testing frameworks, libraries, package management, build tools, etc.) to solve practical problems. Real World OCaml is my go-to reference for learning how to develop real-world software systems in OCaml.' Nate Foster, Cornell UniversityTable of Contents1. Prologue; Part I. Language Concepts: 2. A guided tour; 3. Variables and functions; 4. Lists and patterns; 5. Files, modules, and programs; 6. Records; 7. Variants; 8. Error handling; 9. Imperative programming; 10. GADTs; 11. Functors; 12. First-class Modules; 13. Objects; 14. Classes; Part II. Tools and Techniques: 15. Maps and hash tables; 16. Command-line parsing; 17. Concurrent programming with Async; 18. Testing; 19. Handling JSON data; 20. Parsing with Ocamllex and Menhir; 21. Data serialization with S-expressions; 22. The OCaml platform; Part III. The Compiler and Runtime System: 23. Foreign function interface; 24. Memory representation of values; 25. Understanding the garbage collector; 26. The compiler frontend: parsing and type checking; 27. The compiler backend: bytecode and native code; References; Index.
£34.99
Manning Publications Privacy Engineering
Book SynopsisPrivacyEngineering is a hands-on guide to building a modern and flexible privacy program for your organization. It helps map essential legal requirements into practical engineering techniques that you can implement right away. The book develops your strategic understanding of data governance and helps you navigate the tricky trade-offs between privacy and business needs. You'll learn to spot risks in your own data management systems and prepare to satisfy both internal and external privacy audits. There's no bureaucratic new processes or expensive new software necessary. You'll learn how to repurpose the data and security tools you already use to achieve your privacy goals. Preserving the privacy of your users is essential for any successful business. Well-designed processes and data governance ensure that privacy is built into your systems from the ground up, keeping your users safe and helping your organization maintain compliance with the law. Trade Review“A great high-level resource on privacy as it relates to the data collected by business software systems.” Joe Ivans “Provides a clear and thorough explanation of the how and the why of data privacy pitched at a level which isn't too technical, yet has a sufficient level of detail to allow for interpretation of implementation.” Matthew Todd “Really interesting subject matter. The author provides relevant examples and obviously has a lot of direct experience.” John Tyler “A great resource on approaching data privacy.” Doniyor Ulmasov “The best parts are the personal elements added to the narrative. I also enjoyed the case studies that help to illustrate the examples provided throughout.” Ayana Miller
£44.67
Pearson Education (US) Software Craftsmanship
Book SynopsisPete McBreen is an independent consultant who actually enjoys writing and delivering software. Despite spending a lot of time writing, teaching, and mentoring, he goes out of his way to ensure that he does hands-on coding on a live project every year. Pete specializes in finding creative solutions to the problems that software developers face. After many years of working on formal and informal process improvement initiatives, he took a sideways look at the problem and realized, Software development is meant to be fun. If it isn't, the process is wrong. Pete lives in Cochrane, Alberta, Canada and has no plans to move back to a big city. 0201733862AB07092002Table of Contents Preface. I. QUESTIONING SOFTWARE ENGINEERING. 1. Understanding Software Engineering. The Paradox of Software Engineering. The Modern Definition of Software Engineering. Is Software Engineering a Good Choice for Your Project? 2. The Problems with Software Engineering. Can Software Development Be Made Systematic and Quantified? The Hazards of the Good Enough Software Approach. What Is the Alternative to Software Engineering? 3. Understanding Software Development. Software as Capital. Does the Division of Labor Work for Software Development? One Size Does Not Fit All. 4. Finding a Better Metaphor Than Software Engineering. Finding a Better Metaphor Than Software Engineering. The Craft of Software Development. Parallels with Traditional Craftsmanship. The Resurgence of the Craft of Software Development. II. SOFTWARE CRAFTSMANSHIP. 5. Putting People Back into Software Development. Craftsmanship Is About Getting Better at Software Development. Craftsmanship Encourages Developers to Write Great Software. A Call to Arms. 6. Craftsmanship Is the Opposite of Licensing. Craftsmanship Is Personal. Licensing Is an Illusion. Craftsmanship Focuses on the Individual. III. IMPLICATIONS OF SOFTWARE CRAFTSMANSHIP. 7. How Craftsmanship Affects the Users of Systems. Software Craftsmanship Works Because Software Is Easy to Copy. Craftsmen Have a Different Relationship with Their Users. Great Software Deserves to Be Signed. Craftsmen Need Demanding Users. Software Craftsmanship Leads to Collaborative Development. 8. Customers Have a Different Relationship with Craftsmen. Setting Realistic Delivery Dates. Exposing the Fallacy of Good Enough Software. Allowing Software Craftsmen to Take Credit for Their Work. Start Exploiting the Difference in Productivity Between Developers. But How Do We Know How Good a Developer Really Is? Customers Make a Cost/Quality Trade-off When Choosing Craftsmen. Customers Have Long Term Relationships with Software Craftsmen. Customer Interests Are Aligned with the Interests of Software Craftsmen. 9. Managing Craftsmen. Software Craftsmen Are Not Hired Hands. Good Developers Are More Valuable Than Their Managers. Software Craftsmen Have a Different Relationship with Their Managers, Managing Great Developers Is a Pleasure and a Privilege. Software Craftsmen Like Creating Applications. Managing Software Craftsmen Is Different. Software Craftsmen Push for What They Need. 10. Becoming a Software Craftsman. Software Craftsmanship Is a Rejection of Narrow Specialization. Craftsmanship Requires Dedication. How Does a Person Become a Software Craftsman? The Craft Tradition Has Endured for Centuries. 11. Mastering the Craft. What Does a Master Software Craftsman Look Like? Use Your Old-timers. Mastery Implies the Use of Stable Technologies. Developing Mastery Takes Time. Mastery Implies Taking Responsibility for Passing on the Craft. 12. Apprentice Developers. We Must Reverse the Decline in the Quality of Developer Training. Becoming an Apprentice Is a Significant Step. Apprenticeship Instills Lifelong Learning. The Role of Apprentices. An Apprenticeship Is a Significant Investment of Time and Energy. 13. Journeymen Developers. Where Journeymen Fit in the Craft Tradition. Journeymen Developers. Journeymen Are Focused on Delivering Applications. Journeymen Play a Key Role in Software Craftsmanship. IV. REPOSITIONING SOFTWARE ENGINEERING. 14. Software Engineering Projects. Software Engineering Is Designed for Large Systems Projects. Software Engineering Projects Are Diverse and Varied. 15. Hazards of the Software Engineering Metaphor. You Cannot Do Software Engineering on a Low Budget. Software Engineering Encourages Scientific Management. Software Factories: The Production Line for Software. Reuse over Time Is Hazardous. The Myth of the Standardized Software Development Process. Software Engineering Forces Us to Forget the Individual. We Need More Variety in Our Development Processes, Not Less. 16. Learning from Software Engineering. Size and Complexity Matter. Applications Need to Be Well Structured. Change Can Be Expensive Unless You Allow for It. Communication Inside the Team and with Users Is Crucial. Producing Accurate Estimates Is Very Expensive. V. WHAT TO DO ON MONDAY MORNING. 17. Experience— The Best Indicator of Project Success. Choose Software Craftsmen Based on Their Reputations. Evaluate Craftsmen Based on Their Reputations and Portfolio. Auditioning a Software Craftsman. Let Your Software Craftsman Pick the Rest of the Development Team. Collaborative Development. Avoid Bleeding-Edge Technology If At All Possible. Paying for Experience. Be Prepared to Be Amazed. Design for Testing and Maintenance. Think Applications, Not Projects. Maintenance Teams Should Refuse to Accept Bad Applications. 18. Design for Maintenance. Software Craftsmen Prefer Nonproprietary, Open Source Tools. Great Software Is Global. Software Craftsmen Need to Fight Back Against Planned Obsolescence. Great Software Needs to Be Given a Great User Interface. Maintainable Software Is Easy to Diagnose. The Hazards of Outsourcing. You Can Still Use Outside Craftsmen to Create Your Application. Maintenance Is the Most Important Part of the Life of Any Application. Not All Software Has to Be Maintainable. Design for Testing and Maintenance Is Not Rocket Science. 19. Perpetual Learning. Creating a Learning Environment. Mastering the Craft of Software Development. Choose Training Courses Very Carefully. Encourage Your People to Be Visible in the Software Development Community. Becoming a Reflective Practitioner. Epilogue. Acknowledgements. Index. 0201733862T08072001
£16.49
MIT Press Ltd The Little Prover
Book SynopsisAn introduction to writing proofs about computer programs, written in an accessible question-and-answer style, complete with step-by-step examples and a simple proof assistant.The Little Prover introduces inductive proofs as a way to determine facts about computer programs. It is written in an approachable, engaging style of question-and-answer, with the characteristic humor of The Little Schemer (fourth edition, MIT Press). Sometimes the best way to learn something is to sit down and do it; the book takes readers through step-by-step examples showing how to write inductive proofs. The Little Prover assumes only knowledge of recursive programs and lists (as presented in the first three chapters of The Little Schemer) and uses only a few terms beyond what novice programmers already know. The book comes with a simple proof assistant to help readers work through the book and complete solutions to every example.
£36.10
John Wiley & Sons Inc PatternOriented Software Architecture A System of
Book SynopsisBoth a tutorial and a reference guide, this manual presents a number of techniques for solving recurring software design problems in a comprehensive manner which includes many guidelines and constraints regarding practical applications.Table of ContentsAbout this Book xi Guide to the Reader xvii 1 Patterns 1 2 Architectural Patterns 25 3 Design Patterns 221 4 Idioms 345 5 Pattern Systems 359 6 Patterns and Software Architecture 383 7 The Pattern Community 413 8 Where Will Patterns Go? 419 9 Notations 429 Glossary 433 References 441 Index of Patterns 455 Index 459
£32.00
O'Reilly Media REST in Practise
Book SynopsisThis book offers a down-to-earth explanation of REST, with techniques and examples that show you how to design and implement integration solutions using the REST architectural style.
£28.79
Taylor & Francis Ltd Grid Database Design
Book SynopsisGrid Database Design investigates the origin, background, and components of this new computing model. This book presents new concepts and analyzes pre-existing ideas in the context of Grid, educating organizations as to how Grid can increase their computing power and strengthen their operations.Divided into three sections, the volume begins by laying the groundwork in the field, defining the concepts that led to the model's emergence. The second section explains what is entailed in building a Grid, focusing on security, hardware, and the forces driving growth. The final section explores details of databases in a Grid environment, illustrating how the Grid environment will shape database evolution.Grid Database Design reveals what will be coming in the near future, allowing database and systems administrators, programmers, and executives to get beyond the rumblings about this up-and-coming model and learn what Grid can offer to benefit their organizations.Table of ContentsIn the beginning. The parts and pieces. Databases in the grid.
£99.75
Taylor & Francis Ltd Machine Learning for Decision Sciences with Case
Book SynopsisThis book provides a detailed description of machine learning algorithms in data analytics, data science life cycle, Python for machine learning, linear regression, logistic regression, and so forth. It addresses the concepts of machine learning in a practical sense providing complete code and implementation for real-world examples in electrical, oil and gas, e-commerce, and hi-tech industries. The focus is on Python programming for machine learning and patterns involved in decision science for handling data. Features: Explains the basic concepts of Python and its role in machine learning. Provides comprehensive coverage of feature engineering including real-time case studies. Perceives the structural patterns with reference to data science and statistics and analytics. Includes machine learning-based structured exercises. Appreciates different algorithmic concepts of machine learningTable of Contents1. Introduction 2. Overview of Python for Machine Learning 3. Data Analytics Life Cycle for Machine Learning 4. Unsupervised Learning 5. Supervised Learning: Regression 6. Supervised Learning: Classification 7. Feature Engineering 8. Reinforcement Learning 9. Case Studies for Decision Sciences Using Python
£156.75
Taylor & Francis Ltd DesignedUp
Book SynopsisCarter's new book, DesignedUp, is a useful guide for the modern design practitioner who sits at the intersection of the IT consultancy and agency world someone who chooses to plot their own course across many companies' diverse set of interests instead of being loyal to just one. In doing so, they have selected an exciting path that will bring them many heralded victories and challenging pitfalls, which Carter has aptly navigated over her impressive career. If you have been in the field for a while, I think you will find Carter's book to be a refreshing antidote to any career doldrums you may have. Dr. John Maeda, VP of Design and Artificial Intelligence, MicrosoftDesigners have long asked for a seat at the table.' What Emma Carter has done is given them the roadmap to not only get that seat, but to redesign the table to fit what tech-driven organisations need to succeed today. Jeff Gotthelf, Author Lean UX and Sense & RespondAre you strTable of Contents1. DesignedUp traits 2. Design agency life vs large consultancy life 3. Design leader in an agile consultancy world4. Proving the power and value of design 5. Don’t become the worst version of yourself 6. Up your influence 7. One final note
£37.04
Taylor & Francis Ltd The Lean Approach to Digital Transformation
Book SynopsisThe Lean Approach to Digital Transformation: From Customer to Code and From Code to Customer is organized into three parts that expose and develop the three capabilities that are essential for a successful digital transformation: 1. Understanding how to co-create digital services with users, whether they are customers or future customers. This ability combines observation, dialogue, and iterative experimentation. The approach proposed in this book is based on the Lean Startup approach, according to an extended vision that combines Design Thinking and Growth Hacking. Companies must become truly customer-centric, from observation and listening to co-development. The revolution of the digital age of the 21st century is that customer orientation is more imperative -- the era of abundance, usages rate of change, complexity of experiences, and shift of power towards communities -- are easier, using digital tools and digital communities. 2. DevelopiTable of ContentsPart 1: Digital transformation: Customer orientation and homeostasis Chapter 1 Why a digital transformation? Chapter 2 Homeostasis: continuous adaptation to change Chapter 3 Lean Startup: Lean principles applied to co-creation Part II: Exponential information systems Chapter 4 The Information System as a foundation for digital transformation Chapter 5 Artificial intelligence and machine learning Chapter 6 Governance, architecture and situational potential Part III: Software platforms and service factories Chapter 7 DevOps and software factories Chapter 8 Putting platforms at the service of digital transformation Conclusion
£33.99
Taylor & Francis Ltd Telepresence Actual and Virtual
Book SynopsisTelepresence: Actual and Virtual explores the history of telepresence from the 1948 developments of masterslave manipulation, through to current telepresence technology used in space, undersea, surgery and telemedicine, operations in nuclear and other hazardous environments, policing and surveillance, agriculture, construction, mining, warehousing, education, amusement, social media, and other contexts. It also describes the various operator hand and body controls and the corresponding telerobotic actuation of robotic hands, arms, and locomotion. This book reviews the sensing and control technology, its history and likely future, and discusses the many research and policy issues that are raised. The book also takes up key questions relating to social and ethical issues, given that a person's mechanical reach is becoming unlimited, enabling one to perform mischievous or harmful acts without identification, and what that portends for future developments in telepresence, includiTable of Contents1. EARLY HISTORY OF ROBOTIC TELEPRESENCE AND VIRTUAL REALITY. 2. ELEMENTS OF THE TECHNOLOGY. 3. WHAT IS TELEPRESENCE? WHAT IS REALITY?. 4. APPLICATIONS. 5. CHALLENGES FOR ROBOTIC TELEPRESENCE AND VIRTUAL REALITY. APPENDIX 1. RESPONSES TO POLLING. APPENDIX 2. BIBLIOGRAPHY.
£86.99