Battle Ready Laravel
معرفی کتاب «Battle Ready Laravel» نوشتهٔ McFadden، Freida و Ashley Allen، منتشرشده توسط نشر Ashley Allen در سال 2023. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Aside from being a natural perfectionist and always wanting to produce the best possible end product, I soon understood short-cut solutions and poor quality code almost always came at a cost to everyone involved. I’m talking about apps being shipped with frustrating bugs, or annoying issues that seriously slowed down the progress of the whole team.I know I’m preaching to the converted here, but a clean codebase and overall well-engineered solution will always be better in the long run. It might take a bit more time upfront, but it’s well worth it.As a developer, I always knew this to be true. But when I dug into the code of an app, I’d constantly find myself saying things like: “this works, but it could have been so much better” - or “what on earth were they thinking when they wrote this?”.Of course, the reality is we don’t live in an ideal world. Tight deadlines and strict budgets mean we don’t always get to spend as long as we’d like perfecting every single line of code.Ever lay awake at night worrying whether your code is secure and working properly? Maybe you’ve been anxious because you’re expecting there to be customer complaints in the morning when you log onto your work computer?Yep, me too...But the good news is it doesn’t have to be this way.In fact, as I started to grow as a Laravel developer, I began to come across ways to quickly improve my apps. Little tips that made them more robust, professional and maintainable.For example, setting up a good quality CI (Continuous Integration) workflow made a massive difference when it came to improving the quality of my code and feeling more confident in my apps.Whenever I added new code and merged it into an existing codebase, having a CI workflow meant I could be more sure it would work properly and not break any existing code. What’s more, the whole team could move faster and pick up on potential errors before the code made it to production. Team members could now contribute to parts of the... Contents Introduction Section 1: Auditing What's Covered? Planning Your Auditing Strategy Getting Into the Right Mindset Recording Your Findings Automated Tooling PHP Insights Enlightn Larastan Style CI Code Coverage Manual Auditing Investigating "raw" Database Queries Finding Incorrect Authorisation Checking Validation Finding "Fake Facades" Finding Business Logic in Helpers Finding N+1 Queries Finding Controllers That Use Other Controllers Finding Logic and Queries in Blade Views Finding Hard-Coded Credentials Check Open Package Routes Reviewing Project Documentation Section 2: Testing What's Covered? Planning Your Testing Strategy The Benefits of Writing Tests Spotting Bugs Early Making Future Work and Refactoring Easier Changing the Way You Approach Writing Code Tests-As-Documentation Prove That Bugs Exist Structuring Your Tests Directory Structure Choosing What To Test Test Structure Data Providers Writing the Tests Prioritising Mission-Critical Tests First Writing the Rest of the Tests Benefits of Writing the Easy Tests First Preventing Test Fatigue Testing Your UI with Laravel Dusk Installation Testing a Simple Form Dusk Pages and Selectors Running Failed Tests and Groups Creating a CI Workflow Using GitHub Actions Using an .env.ci File Running the Test Suite Larastan Laravel Dusk Output Section 3: Fixing What's Covered? Planning Your Fixing Strategy Using an Error Reporting System Types of Errors The Benefits of an Automated Error Reporting System Error Reporting Using Flare Uptime Checking, Queue Monitoring, and Scheduler Monitoring Uptime Monitoring with Oh Dear Scheduler Monitoring with Oh Dear Queue Monitoring with Oh Dear Updating PHP, Laravel, and Packages Upgrading in Small Increments Automating the Upgrade Using Laravel Shift Planning Upgrades Early Using a Suitable Local Development Environment Using Tests to Fix Bugs What is Test-Driven Development? The Advantages of Test-Driven Development The Disadvantages of Test-Driven Development Fixing a Real Bug Using Test-Driven Development Safely Removing Dead Code Checking the Version Control History Scream Test Logging or Reporting the Usage Removing the Code with an Atomic Commit Section 4: Improving What's Covered? Planning Your Improvement Strategy Making the Most of PHP's Type System Using Type Hints and Return Types Union Types Type Hints and Return Types in Closures DRYing Up Your Code Advantages of DRYing Up Your Code When to DRY Up Your Code Refactoring Conditions Reducing Indented Code Replacing if and elseif with match Using the Nullsafe Operator Using Database Transactions Adding the Database Transactions Manually Using Database Transactions Tips for Interacting with Third-Party Services Using Automatic or Manual Transactions Dispatching Queued Jobs inside Database Transactions Improving the Testability of Your Code Using Objects Over Arrays Final Words Discount Codes Flare Oh Dear StyleCI Laravel Security In Depth
دانلود کتاب Battle Ready Laravel