The Full Stack Developer : Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer
معرفی کتاب «The Full Stack Developer : Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer» نوشتهٔ Chris Northwood و Apress L.P، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2018. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «The Full Stack Developer : Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer» در دستهٔ برنامهنویسی قرار دارد.
Understand the technical foundations, as well as the non-programming skills needed to be a successful full stack web developer. This book reveals the reasons why a truly successful full stack developer does more than write code. You will learn the principles of the topics needed to help a developer new to agile or full stack working—UX, project management, QA, product management, and more— all from the point of view of a developer. Covering these skills alongside the fundamentals and foundations of modern web development, rather than specifics of current technologies and frameworks (which can age quickly), all programming examples are given in the context of the web as it is in 2018. Although you need to feel comfortable working on code at the system, database, API, middleware or user interface level, depending on the task in hand, you also need to be able to deal with the big picture and the little details. The Full Stack Developer recognizes skills beyond the technical, and gives foundational knowledge of the wide set of skills needed in a modern software development team. What You'll Learn Plan your work including Agile vs Waterfall, tools, scrum, kanban and continuous delivery Translate UX into code: grids, component libraries and style guides Design systems and system architectures (microservices to monoliths) Review patterns for APIs (SOAP, AJAX, REST), defining API domains, patterns for REST APIs and more API goodness Study the various front-end design patterns you need to know Store data, what to consider for security, deployment, in production and more Who This Book Is For New graduates or junior developers who are transitioning to working as part of a larger team structure in a multi-disciplinary teams and developers previously focused on only front-end or back-end dev transitioning into full stack. Table of Contents 5 About the Author 12 About the Technical Reviewer 13 Acknowledgments 14 Chapter 1: The Modern Web 15 Rise of the Web 17 Mobile Web 19 The State of HTML 19 Applications vs. Web Sites 21 Keeping Up 22 Summary 23 Chapter 2: Planning Your Work 24 Identifying Requirements 27 Defining the Work 30 Tracking the Work 35 Scrum 36 Kanban 41 Continuous Improvement 46 Prioritization & Estimation 48 Managing Bugs 53 Continuous Delivery 55 Summary 58 Chapter 3: User Experience 60 Information Architecture 62 Getting the User Experience Right 65 Polishing the User Experience 69 Implementing the User Experience 73 Summary 79 Chapter 4: Designing Systems 80 System Architectures 81 Identifying Concepts 83 Identifying User Interactions 88 Handling Commonalities 89 Working with Legacy and External Dependencies 89 Component Interactions 90 Applications vs. Modules 93 Cross-Functional Requirements 94 Caching 95 Designing for Failure 96 Designing Modules 97 Refactoring 103 Tools 104 Changing Your Architecture 105 Summary 106 Chapter 5: Ethics 107 Privacy 108 Cognitive Load 111 Energy Usage 112 Trust 113 Summary 114 Chapter 6: Front End 115 HTML 115 From Server to Browser 116 Styling 123 Components 133 Responsive Design 137 Progressive Enhancement 140 To Progressively Enhance, or Not? 142 Mobile First 143 Feature Detection 145 Progressive Enhancement of Styles 145 When Not Using Progressive Enhancement 146 Search Engine Optimization 147 Build Tools 149 Summary 151 Chapter 7: Testing 153 Test-Driven Development 153 Test Pyramid 155 Behavior-Driven Development 160 Three Amigos 161 Manual Testing 164 Visual Testing 165 Cross-Functional Testing 166 Summary 168 Chapter 8: JavaScript 170 Asynchronicity 171 JavaScript in the Browser 174 Offline-First Development 177 Document Object Model 180 Server-Side JavaScript 181 JavaScript Modules 182 Structuring Your JavaScript 186 JavaScript Types 186 Object-Oriented Programming 191 Functional Programming 194 Communicating Between Components 200 Connecting Components Together 205 Testing 208 Build Tools 215 Summary 217 Chapter 9: Accessibility 220 Accessible from the Start 221 Working with Assistive Technologies 222 Dealing with Interactive UI 225 Testing for Accessibility 230 Avoiding Common Mistakes 232 Hover and Focus Styling 232 outline: 0 232 The Order of Headings 233 Multiple h1s 233 Skip Links 233 Buttons vs. Anchors 234 The Correct Use of an alt Attribute 234 Icon Fonts 234 Color Contrast 235 Summary 235 Chapter 10: APIs 237 API Responsibilities 239 Designing a REST API 241 Securing Your API 250 Event-Based APIs 253 Discovering APIs 254 Using APIs 255 Summary 259 Chapter 11: Storing Data 261 Types of Databases 262 To SQL, or NoSQL? 264 Where to Store Your Data 265 Accessing Data from Your App 268 Managing Your Data 270 Protecting Your Data 272 Summary 274 Chapter 12: Security 276 Trust and Secrets 276 Responding to Incidents 278 The Golden Rule 279 Threats 282 Security Checklists 287 Injection 288 Broken Authentication and Session Management 288 Cross-Site Scripting (XSS) 289 Insecure Direct Object References 290 Security Misconfiguration 290 Sensitive Data Exposure 291 Missing Function Level Access Control 292 Cross-Site Request Forgery (CSRF) 292 Using Known Vulnerable Components 293 Unvalidated Redirects and Forwards 293 Passwords 294 Indirect Attacks 299 Summary 301 Chapter 13: Deployment 303 Twelve Factor Apps 303 One Codebase Tracked in Version Control, with Many Deploys 304 Explicitly Declare and Isolate Dependencies 304 Store Configuration in the Environment 305 Treat Backing Services as Attached Resources 306 Build, Release, Run 307 Execute the App as One (or More) Stateless Processes 308 Export Services by Port Binding 308 Scale Out via the Process Model 309 Maximize Robustness with Fast Startup and Graceful Shutdown 309 Keep Development, Staging, and Production as Close as Possible 310 Treat Logs as Event Streams 310 Run Admin and Management Tasks as One-Off Processes 311 Developer Machines 311 Production Environments 312 Moving Code into Production 314 Configuring Your Box 316 Infrastructure 318 Immutable Infrastructure 321 Continuous Delivery & Continuous Deployment 322 Summary 324 Chapter 14: In Production 326 Fire Drills 327 Run Books 328 Monitoring 332 Responding to Incidents 335 Summary 336 Chapter 15: Constant Learning 338 Collecting Analytics 338 Experiments 340 Analyzing Results 341 Hypothesis-Driven Development 343 Summary 344 Chapter 16: Epilogue 345 Index 347 To become a successful full stack web developer, it's important to understand both the technical foundations and the non-programming skills required. This book explains that a truly successful full stack developer does more than merely write code. You will learn essential principles that help a developer who is new to agile methodologies or full-stack development. Topics covered include user experience (UX), project management, quality assurance (QA), product management, and more—all presented from a developer’s perspective. The book emphasizes these skills alongside the fundamental aspects of modern web development, rather than focusing on specific current technologies and frameworks, which can quickly become outdated. All programming examples are contextualized based on the web environment as it existed in 2018. While it's crucial to be comfortable working with code at various levels—such as systems, databases, APIs, middleware, and user interfaces—you also need to understand both the big picture and the finer details. The Full Stack Developer recognizes the importance of skills beyond just technical knowledge and provides foundational insights into the diverse skill set needed within a modern software development team. **What You'll Learn** - Plan your work including Agile vs Waterfall, tools, scrum, kanban and continuous delivery - Translate UX into code: grids, component libraries and style guides - Design systems and system architectures (microservices to monoliths) - Review patterns for APIs (SOAP, AJAX, REST), defining API domains, patterns for REST APIs and more API goodness - Study the various front-end design patterns you need to know - Store data, what to consider for security, deployment, in production and more **Who This Book Is For** New graduates or junior developers who are transitioning to working as part of a larger team structure in a multi-disciplinary team and developers previously focused on only front-end or back-end dev transitioning into full stack. Front Matter ....Pages i-xvii The Modern Web (Chris Northwood)....Pages 1-9 Planning Your Work (Chris Northwood)....Pages 11-46 User Experience (Chris Northwood)....Pages 47-66 Designing Systems (Chris Northwood)....Pages 67-93 Ethics (Chris Northwood)....Pages 95-102 Front End (Chris Northwood)....Pages 103-140 Testing (Chris Northwood)....Pages 141-157 JavaScript (Chris Northwood)....Pages 159-208 Accessibility (Chris Northwood)....Pages 209-225 APIs (Chris Northwood)....Pages 227-250 Storing Data (Chris Northwood)....Pages 251-265 Security (Chris Northwood)....Pages 267-293 Deployment (Chris Northwood)....Pages 295-317 In Production (Chris Northwood)....Pages 319-330 Constant Learning (Chris Northwood)....Pages 331-337 Epilogue (Chris Northwood)....Pages 339-340 Back Matter ....Pages 341-348
دانلود کتاب The Full Stack Developer : Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer