| 7. 11. 2024 | Using Ray with your Pest tests – freek.dev
|
| 6. 11. 2024 | The magic behind Laravel's new defer() helper – freek.dev
|
| 5. 11. 2024 | Embedding Blade inside of Markdown content – freek.dev
|
| 4. 11. 2024 | Australia/Lord_Howe is the weirdest timezone – freek.dev
|
| 16. 10. 2024 | A Case For Custom Collections – freek.dev
|
| 15. 10. 2024 | Property Hooks Are Coming To PHP 8.4 – freek.dev
|
| 14. 10. 2024 | Fake it till you make it: testing transactional emails with Mailcoach in Laravel – freek.dev
|
| 11. 10. 2024 | Forge deploy scripts in version control – freek.dev
|
| 10. 10. 2024 | Store Code Discussions in Git using Git Notes – freek.dev
|
| 9. 10. 2024 | To double quote or not, that's the question! – freek.dev
|
| 8. 10. 2024 | Using 1password for Laravel environment variables – freek.dev
|
| 4. 10. 2024 | CPX - Composer Package Executor – freek.dev
|
| 1. 10. 2024 | A Guide to Laravel Pipelines – freek.dev
|
| 30. 9. 2024 | Optimizing Eloquent: Accessor Caching and Value Objects in Laravel – freek.dev
|
| 24. 9. 2024 | Adding real-time chat in 14 lines of code with Laravel Reverb and Livewire – freek.dev
|
| 23. 9. 2024 | Reasons you don't need a modal – freek.dev
|
| 20. 9. 2024 | Deferring tasks with Laravel's defer() helper – freek.dev
|
| 16. 9. 2024 | Container attributes in Laravel – freek.dev
|
| 12. 9. 2024 | Top 10 PHP Features You Can Use in 2024 – freek.dev
|
| 11. 9. 2024 | Ray's architecture: how we structure an Electron app – freek.dev
|
| 10. 9. 2024 | Handling large JSON payloads and extending the Request class – freek.dev
|
| 9. 9. 2024 | Vue 3.5 Released: New features and improvements – freek.dev
|
| 2. 9. 2024 | This was Laracon US 2024 – freek.dev
|
| 30. 8. 2024 | Laracon US 2024: Laravel 11 Minor Features That Enhance Performance – freek.dev
|
| 29. 8. 2024 | An argument for logging off – freek.dev
|
| 28. 8. 2024 | Downsampling time series data – freek.dev
|
| 27. 8. 2024 | When everything fails, you can always trust the Laravel rescue helper – freek.dev
|
| 26. 8. 2024 | Using Ray inside your Blade views – freek.dev
|
| 22. 8. 2024 | Benefits of writing clean, maintainable code. – freek.dev
|
| 22. 8. 2024 | State of Generics and Collections – freek.dev
|
| 21. 8. 2024 | PHP 8.4 Property Hooks – freek.dev
|
| 20. 8. 2024 | New Array Functions in PHP 8.4 – freek.dev
|
| 9. 8. 2024 | From MySQL to Typesense: Blazing-Fast Full-Text Search in Laravel – freek.dev
|
| 8. 8. 2024 | A case for Mastodon – freek.dev
|
| 7. 8. 2024 | Build and Cache Frontend Assets once using GitHub Actions – freek.dev
|
| 6. 8. 2024 | Plain Vanilla Websites – freek.dev
|
| 26. 7. 2024 | Geography in Laravel: retrieving geographical data – freek.dev
|
| 25. 7. 2024 | Data Fetching Patterns in Single-Page Applications – freek.dev
|
| 25. 7. 2024 | Participate in the State Of Laravel Survey – freek.dev
|
| 22. 7. 2024 | Testing Saloon API Integrations in Laravel – freek.dev
|
| 19. 7. 2024 | ★ How to test all routes in your Laravel app by writing just a single Pest test – freek.dev
|
| 16. 7. 2024 | ★ A package to use Filepond in your Livewire component – freek.dev
|
| 8. 7. 2024 | Livewire Strict: Enforce additional security measures to Livewire – freek.dev
|
| 5. 7. 2024 | Sending transactional emails using Mailcoach API in an Express.js application – freek.dev
|
| 4. 7. 2024 | Using whereAny() for cleaner queries in Eloquent – freek.dev
|
| 3. 7. 2024 | ★ A package to display solutions on the Laravel error page – freek.dev
|
| 3. 7. 2024 | A Guide to PHP Attributes – freek.dev
|
| 2. 7. 2024 | Jujutsu: a next generation replacement for Git – freek.dev
|
| 28. 6. 2024 | Use HTMX to Create Laravel Single-Page Apps Without Writing JavaScript – freek.dev
|
| 27. 6. 2024 | WeakMaps, a hidden gem in PHP – freek.dev
|
| 26. 6. 2024 | Building Laravel Error Share – freek.dev
|
| 26. 6. 2024 | Mastering Programming – freek.dev
|
| 25. 6. 2024 | Lessons from Open Source Software – freek.dev
|
| 24. 6. 2024 | From Contributor to Maintainer: Lessons from Open Source Software – freek.dev
|
| 17. 6. 2024 | Become a debugging wizard with RAY – freek.dev
|
| 14. 6. 2024 | Tagged Singletons – freek.dev
|
| 13. 6. 2024 | Leveraging the Power of Macros in Ray – freek.dev
|
| 12. 6. 2024 | spatie/pdf-to-image v3.0 – freek.dev
|
| 11. 6. 2024 | Using Models as Flags – freek.dev
|
| 10. 6. 2024 | Introducing Laravel Error Share – freek.dev
|
| 7. 6. 2024 | Optimistic UI Tricks for Livewire and Alpine – freek.dev
|
| 6. 6. 2024 | A Quickstart Tutorial on PHP Generators – freek.dev
|
| 5. 6. 2024 | Creating issues is now easier than ever – freek.dev
|
| 4. 6. 2024 | Laravel Advanced: Lesser-Known, Yet Useful Composer Commands – freek.dev
|
| 3. 6. 2024 | Handling email testing in Laravel with Ray – freek.dev
|
| 31. 5. 2024 | Fun with Blade directives – freek.dev
|
| 30. 5. 2024 | Some cool SQLite things – freek.dev
|
| 29. 5. 2024 | Assigning a user to an error – freek.dev
|
| 28. 5. 2024 | Architecture Testing in Laravel with Pest – freek.dev
|
| 27. 5. 2024 | I write my code in the controller – freek.dev
|
| 24. 5. 2024 | Building Maintainable PHP Applications: Thinking Data vs Thinking Business Processes – freek.dev
|
| 23. 5. 2024 | Laravel Under The Hood - The Strategy Pattern – freek.dev
|
| 22. 5. 2024 | Primitive Obsession: what it is, how to spot it and, how to fix it! – freek.dev
|
| 21. 5. 2024 | Encrypting Queued Jobs, Notifications, Mail, and Listeners in Laravel – freek.dev
|
| 20. 5. 2024 | Optimizing PHP for performance – freek.dev
|
| 17. 5. 2024 | Form Validation with Type Inference Made Easy with Zod, the Best Sidekick for TypeScript – freek.dev
|
| 16. 5. 2024 | Disabling Composer's default timeout inside of scripts – freek.dev
|
| 15. 5. 2024 | vue-ray 2.0 is out - full Vue 3 composition api support – freek.dev
|
| 14. 5. 2024 | Elevate Your Laravel Eloquent Queries with Tappable Scopes – freek.dev
|
| 13. 5. 2024 | How Ahrefs Gets a Billion Dollar-Worth Infrastructure With a 90% Discount – freek.dev
|
| 13. 5. 2024 | Protecting your email address via SVG instead of JS – freek.dev
|
| 13. 5. 2024 | How to build a writing habit – freek.dev
|
| 13. 5. 2024 | How we stopped a DDoS attack at Laracon – freek.dev
|
| 10. 5. 2024 | How to create Wireables in Livewire? – freek.dev
|
| 9. 5. 2024 | Clearing Ray output – freek.dev
|
| 8. 5. 2024 | Rethinking deploys at Flare – freek.dev
|
| 7. 5. 2024 | How to Refactor a Method With Optional Params – freek.dev
|
| 6. 5. 2024 | Pausing and disabling Ray execution – freek.dev
|
| 3. 5. 2024 | Working with DynamoDB in Laravel – freek.dev
|
| 2. 5. 2024 | A deeper dive into optimal PHP-FPM settings – freek.dev
|
| 17. 4. 2024 | Mailcoach has a beautiful new coat of paint! – freek.dev
|
| 11. 4. 2024 | Introducing Flare's Linear integration – freek.dev
|
| 8. 4. 2024 | Ray now supports Laravel 11's Context – freek.dev
|
| 3. 4. 2024 | Ignition and Flare can now display Laravel 11's context – freek.dev
|
| 29. 3. 2024 | Husky: How to automatically format, lint and test before you commit or push – freek.dev
|
| 28. 3. 2024 | The ingredients we used for our new Ray docs – freek.dev
|
| 28. 3. 2024 | Laravel facades vs class aliases – freek.dev
|
| 20. 3. 2024 | Why we use Inertia with Laravel in 2024 – freek.dev
|
| 19. 3. 2024 | Migrating from MySQL to Postgres using Laravel's query builder – freek.dev
|
| 18. 3. 2024 | Adding wire:navigate to Markdown links – freek.dev
|
| 18. 3. 2024 | Embed Livewire Components Using Wire Extender – freek.dev
|
| 14. 3. 2024 | Adding text to an image using PHP and GD – freek.dev
|
| 13. 3. 2024 | How to use GitHub Actions build matrix to deploy artifacts to multiple servers – freek.dev
|
| 12. 3. 2024 | My Reusable GitHub Actions Workflows – freek.dev
|
| 11. 3. 2024 | Reducing PHP's CPU usage by nearly 40% by upgrading from Ubuntu 20.04 to 22.04 – freek.dev
|
| 9. 3. 2024 | From Backend Dev to Front and Center: A First-Time Speaker's Journey to PHP UK 2024 – freek.dev
|
| 8. 3. 2024 | State management in Vue 3: Why you should try out Pinia – freek.dev
|
| 7. 3. 2024 | Laravel Zero - Let's build a TCP server – freek.dev
|
| 6. 3. 2024 | Enhancing error reporting with custom context and glows – freek.dev
|
| 5. 3. 2024 | Running custom Artisan commands with Supervisor – freek.dev
|
| 5. 3. 2024 | Validate Data Types in Laravel Collections Using the `ensure()` Method – freek.dev
|
| 27. 2. 2024 | Laravel Artisan Command Dependency Injection – freek.dev
|
| 26. 2. 2024 | Sniffing out stray ray() calls with Pest architecture testing – freek.dev
|
| 25. 2. 2024 | Retry mechanisms in Laravel – freek.dev
|
| 24. 2. 2024 | Improved handling of 404 errors with Livewire – freek.dev
|
| 23. 2. 2024 | Composition over Inheritance – freek.dev
|
| 22. 2. 2024 | Using Laravel to interact with OpenAI's Assistants API (with Vision) – freek.dev
|
| 21. 2. 2024 | The Business of Bisecting – freek.dev
|
| 16. 2. 2024 | Laravel Data v4 has been released – freek.dev
|
| 15. 2. 2024 | ★ My keynote at PHPUKConference 2024 – freek.dev
|
| 9. 2. 2024 | Reusable Input Components without Livewire, with Livewire – freek.dev
|
| 8. 2. 2024 | Laravel Clockwork: A Deep Dive into Debugging, Profiling Skills and Best Practices – freek.dev
|
| 7. 2. 2024 | Automatically Hash Laravel Model Values Using the "Hashed" Cast – freek.dev
|
| 6. 2. 2024 | The podcasts I listen to as a PHP developer – freek.dev
|
| 5. 2. 2024 | Getting started with Livewire session properties – freek.dev
|
| 3. 2. 2024 | Is it time to ditch MySQL and PostgreSQL for SQLite? – freek.dev
|
| 1. 2. 2024 | The infamous Repository Pattern in PHP – freek.dev
|
| 31. 1. 2024 | Refreshing your Livewire components using event listeners – freek.dev
|
| 30. 1. 2024 | Pest comes with Ray integration out of the box – freek.dev
|
| 27. 1. 2024 | ★ Generating status badges using PHP – freek.dev
|
| 25. 1. 2024 | My Favourite Alpine.js Plugins – freek.dev
|
| 24. 1. 2024 | Generate PDFs in Laravel: A Deep Dive into Laravel PDF Export with Spatie/Browsershot – freek.dev
|
| 23. 1. 2024 | Exploring Laravel Login Link – freek.dev
|
| 23. 1. 2024 | Using interfaces in third-party packages – freek.dev
|
| 22. 1. 2024 | Keycode Event Helper – freek.dev
|
| 22. 1. 2024 | What is a Command Bus? – freek.dev
|
| 22. 1. 2024 | ★ Making sure Laravel's debug mode is always disabled in production – freek.dev
|
| 19. 1. 2024 | Hosting Laravel application statically – freek.dev
|
| 18. 1. 2024 | Running Laravel in a subdirectory (Tricky Nginx config) – freek.dev
|
| 17. 1. 2024 | FrankenPHP and Laravel Octane with Docker – freek.dev
|
| 17. 1. 2024 | ★ A mini package to calculate public holidays in a country – freek.dev
|
| 16. 1. 2024 | ★ Creating beautiful invoices using Tailwind and Laravel PDF – freek.dev
|
| 16. 1. 2024 | Nuxt: Superpowers for your Vue 3 application – freek.dev
|
| 15. 1. 2024 | Exploring the new Laravel 11 middleware configuration – freek.dev
|
| 12. 1. 2024 | Laravel Under The Hood - Facades – freek.dev
|
| 10. 1. 2024 | ★ My interview questions when hiring a front-end / back-end / whatever developer at Spatie – freek.dev
|
| 10. 1. 2024 | Streamlining API Responses in Laravel with DTOs – freek.dev
|
| 10. 1. 2024 | ★ Flare ❤️ GitLab – freek.dev
|
| 9. 1. 2024 | Building Maintainable PHP Applications: Over-engineering vs under-engineering – freek.dev
|
| 9. 1. 2024 | ★ How we built our GitLab integration – freek.dev
|
| 8. 1. 2024 | Introducing tabular assertions – freek.dev
|
| 8. 1. 2024 | Laravel Pulse cards to show response times, scheduled jobs, broken links – freek.dev
|
| 2. 1. 2024 | ★ Easily create PDFs in Laravel apps – freek.dev
|
| 30. 12. 2023 | A recap of 2023 – freek.dev
|
| 19. 12. 2023 | FrankenPHP with Laravel can do a magical thing – freek.dev
|
| 18. 12. 2023 | ★ New major versions for spatie/image and Laravel Media Library have been released – freek.dev
|
| 14. 12. 2023 | Caching Strategies In Laravel – freek.dev
|
| 13. 12. 2023 | Examples of Great URL Design – freek.dev
|
| 12. 12. 2023 | Git gud at communication – freek.dev
|
| 11. 12. 2023 | API Versioning in Laravel – freek.dev
|
| 8. 12. 2023 | Hands-on decoration – freek.dev
|
| 7. 12. 2023 | Stressless: Stress Testing for PHP – freek.dev
|
| 6. 12. 2023 | Detecting N+1 issues in your Laravel project with Ray – freek.dev
|
| 6. 12. 2023 | PHP attributes in Laravel – freek.dev
|
| 5. 12. 2023 | How to build a SaaS in a weekend – freek.dev
|
| 5. 12. 2023 | Introducing Jira Integration with Flare – freek.dev
|
| 4. 12. 2023 | Creating a custom Laravel Pulse card – freek.dev
|
| 1. 12. 2023 | Testing Abstract Classes in PHP using Anonymous Classes – freek.dev
|
| 30. 11. 2023 | Rendering Blade components in Markdown – freek.dev
|
| 22. 11. 2023 | Adding "Stale While Revalidate" functionality to Laravel's Cache – freek.dev
|
| 21. 11. 2023 | Simplifying API Integration with Laravel's Http Facade – freek.dev
|
| 20. 11. 2023 | Solving subdomain CORS issues after switching to Laravel Herd – freek.dev
|
| 17. 11. 2023 | ★ Spatie's Black Friday Deals – freek.dev
|
| 17. 11. 2023 | Unorthodox Eloquent II – freek.dev
|
| 16. 11. 2023 | Best Practices for Using PHP Enumerations – freek.dev
|
| 15. 11. 2023 | Leveraging CloudFlare Workers for Edge API Authentication – freek.dev
|
| 14. 11. 2023 | Preventing Duplicate Form Submissions Using Atomic Locks – freek.dev
|
| 13. 11. 2023 | The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 – freek.dev
|
| 10. 11. 2023 | Infinite Scroll with Livewire 3 and Alpine.js – freek.dev
|
| 8. 11. 2023 | Implementing Load More functionality with Livewire 3 in 2 minutes. – freek.dev
|
| 6. 11. 2023 | Build a Quick & Easy Instant Search UI With Alpine AJAX & Laravel – freek.dev
|
| 3. 11. 2023 | Juggling Databases When Testing With Laravel: Tackling the Lock Wait Timeout Error – freek.dev
|
| 31. 10. 2023 | Ensure model events are fired in your tests when using Model Observers – freek.dev
|
| 30. 10. 2023 | Mailcoach gains split testing, Livewire 3 support, suppression list, and much more – freek.dev
|
| 30. 10. 2023 | Why you should use spatie/laravel-data to store "settings" in your Laravel app – freek.dev
|
| 16. 10. 2023 | Burning money on paid ads for a dev tool – what we've learned – freek.dev
|
| 13. 10. 2023 | Single-use tests – freek.dev
|
| 12. 10. 2023 | Ray as a debugging companion in busy integration tests – freek.dev
|
| 11. 10. 2023 | Livewire v3: Modelable, Events, and Data Sharing – freek.dev
|
| 10. 10. 2023 | Debugging Livewire components using Ray – freek.dev
|
| 9. 10. 2023 | Building a Subscription Form with Laravel Volt & Mailcoach – freek.dev
|
| 4. 10. 2023 | Event Delegation: A Technique to Improve JavaScript Performance – freek.dev
|
| 2. 10. 2023 | 20 practical productivity tips that you can start doing today as a developer (no Pomodoro) – freek.dev
|
| 27. 9. 2023 | Building a flexible yet abstract external integrations structure – freek.dev
|
| 26. 9. 2023 | Choose Postgres queue technology – freek.dev
|
| 25. 9. 2023 | Solving PHP Scaling Issues – freek.dev
|
| 25. 9. 2023 | 20 practical productivity tips that you can start doing today as a developer (no Pomodoro) – freek.dev
|
| 20. 9. 2023 | Creating my new album "Kind" – freek.dev
|
| 20. 9. 2023 | Aaron Francis' course on creating screencasts is now available – freek.dev
|
| 18. 9. 2023 | ★ Video: the keynotes of Full Stack Europe 2022 – freek.dev
|
| 18. 9. 2023 | Unorthodox Eloquent – freek.dev
|
| 18. 9. 2023 | Laravel 11: Release Date and New Features – freek.dev
|
| 15. 9. 2023 | Why error tracking is crucial for your application – freek.dev
|
| 14. 9. 2023 | The State of Laravel 2023 results – freek.dev
|
| 14. 9. 2023 | Nginx Unit with Laravel and PHP – freek.dev
|
| 13. 9. 2023 | Turbo 8 is dropping TypeScript – freek.dev
|
| 13. 9. 2023 | Workbench App for Packages – freek.dev
|
| 11. 9. 2023 | Character Development – freek.dev
|
| 8. 9. 2023 | The Source Of Readability – freek.dev
|
| 7. 9. 2023 | Fast database queries are not always better – freek.dev
|
| 6. 9. 2023 | Why does a backslash prefix improve PHP function call performance – freek.dev
|
| 31. 8. 2023 | All-hands planning meetings are probably a waste of time – freek.dev
|
| 24. 8. 2023 | ★ Craft emails that look good in each email client using MJML – freek.dev
|
| 22. 8. 2023 | Why Agility–not Agile–is the Best Tool for Project Management – freek.dev
|
| 21. 8. 2023 | Livewire Real-time Presence! – freek.dev
|
| 21. 8. 2023 | Laravel Form Requests deep dive – freek.dev
|
| 18. 8. 2023 | Digging Into Livewire 3 Forms – freek.dev
|
| 10. 8. 2023 | Using Laravel Volt to display realtime live stats – freek.dev
|
| 9. 8. 2023 | Create a Persistent Chat Widget with Livewire 3 – freek.dev
|
| 7. 8. 2023 | Using Caddy to deploy Laravel apps with zero downtime – freek.dev
|
| 5. 8. 2023 | A first look at Laravel Prompts – freek.dev
|
| 4. 8. 2023 | ★ How we created those fancy animations on the Flare homepage – freek.dev
|
| 31. 7. 2023 | Implementing social logins at Flare – freek.dev
|
| 27. 7. 2023 | ★ Using Postmark Rebound to improve handling of bounced emails – freek.dev
|
| 27. 7. 2023 | ★ Watch my Laracon US talk: Enjoying Laravel Data – freek.dev
|
| 27. 7. 2023 | Laravel Folio deep dive – freek.dev
|
| 27. 7. 2023 | Handling Signals in Laravel – freek.dev
|
| 27. 7. 2023 | State Of Laravel Survey 2023 – freek.dev
|
| 26. 7. 2023 | Building Resilient Code: Harnessing the Power of Value Objects – freek.dev
|
| 25. 7. 2023 | Managing production environment variables for Laravel deployments – freek.dev
|
| 24. 7. 2023 | Let’s take a look at Livewire v3 – freek.dev
|
| 19. 7. 2023 | ★ How to display a subscription conformation message with CSS – freek.dev
|
| 10. 7. 2023 | A first look at Filamentphp – freek.dev
|
| 8. 7. 2023 | Watch the keynote of Tailwind Connect 2023 – freek.dev
|
| 7. 7. 2023 | Usage Laravel and ChatGPT "Function calling" – freek.dev
|
| 6. 7. 2023 | Read-only web apps – freek.dev
|
| 5. 7. 2023 | Why talking to users is a must for every product team – freek.dev
|
| 4. 7. 2023 | Dreaming of nested properties in PHP – freek.dev
|
| 3. 7. 2023 | ★ How we use CSS custom properties to customize your newsletter archive – freek.dev
|
| 1. 7. 2023 | Laravel Envoy - Automate the boring stuff – freek.dev
|
| 30. 6. 2023 | Rust for PHP developers – freek.dev
|
| 29. 6. 2023 | Fibonacci Agile Estimation – freek.dev
|
| 27. 6. 2023 | Interface Default Methods: a PHP proposal – freek.dev
|
| 26. 6. 2023 | Sending a request with HMAC SHA256 signature using Postman – freek.dev
|
| 23. 6. 2023 | Thoughts on event sourcing: Replaying events – freek.dev
|
| 23. 6. 2023 | Testing mails in Laravel using Ray – freek.dev
|
| 22. 6. 2023 | Build Your Own Template Engine in PHP - Rendering & Echo – freek.dev
|
| 21. 6. 2023 | Introducing laravel-backup-restore – freek.dev
|
| 21. 6. 2023 | Ray is the best home for your Next.js debugging output – freek.dev
|
| 20. 6. 2023 | Locality of Behaviour – freek.dev
|
| 13. 6. 2023 | ★ Visualising Laravel and Horizon metrics using Prometheus and Grafana – freek.dev
|
| 12. 6. 2023 | ★ Use ray()->trace() to figure out where a call came from – freek.dev
|
| 9. 6. 2023 | Using Laravel queues with other languages – freek.dev
|
| 9. 6. 2023 | ★ Flare and Ignition now offer AI-powered solutions – freek.dev
|
| 9. 6. 2023 | ★ Flare 2.0 has been launched! – freek.dev
|
| 7. 6. 2023 | Hooks for Alpine.js – freek.dev
|
| 2. 6. 2023 | Improving Client Side Pagination with Livewire – freek.dev
|
| 30. 5. 2023 | Let's build a ChatGPT Plugin with Laravel – freek.dev
|
| 30. 5. 2023 | ★ A Laravel package to quickly see which HTML is rendered by which Blade view – freek.dev
|
| 30. 5. 2023 | Generating Large ZIP Exports From Files in S3 – freek.dev
|
| 16. 5. 2023 | Explaining the code on the "Go with PHP" website – freek.dev
|
| 15. 5. 2023 | Encapsulating Polymorphism – freek.dev
|
| 15. 5. 2023 | Introducing DropBlockEditor – freek.dev
|
| 11. 5. 2023 | Publishing Prometheus metrics in Laravel apps – freek.dev
|
| 3. 5. 2023 | Packagist.org maintainer account takeover – freek.dev
|
| 3. 5. 2023 | ★ Laravel Worldwide Meetup: Introducing Laravel Splade - Quick Wins in Laravel – freek.dev
|
| 3. 5. 2023 | "Contact app" a Laravel for Beginners course – freek.dev
|
| 2. 5. 2023 | Advanced Git Magic – freek.dev
|
| 1. 5. 2023 | Invoice PDF Generation With Browsershot – freek.dev
|
| 29. 4. 2023 | ★ Saying goodbye to WIP commit messages – freek.dev
|
| 26. 4. 2023 | ★ Automatically clear Ray when running tests via PHPUnit or Pest – freek.dev
|
| 25. 4. 2023 | Chrome DevTools tricks that deserve a spotlight – freek.dev
|
| 21. 4. 2023 | On fixed price projects – freek.dev
|
| 19. 4. 2023 | Load Balancing explained – freek.dev
|
| 17. 4. 2023 | Laravel Real-Time Notifications with SSE – freek.dev
|
| 14. 4. 2023 | Managing files using Laravel's scoped driver – freek.dev
|
| 14. 4. 2023 | Tricks for Running Commands With Laravel Process – freek.dev
|
| 7. 4. 2023 | How to delay Laravel jobs and listeners within database transactions – freek.dev
|
| 6. 4. 2023 | Sit Down with Freek Van der Herten – freek.dev
|
| 5. 4. 2023 | ★ Laravel Analytics v5 with support for GA4 has been released – freek.dev
|
| 5. 4. 2023 | Calculating rolling averages with Laravel Collections – freek.dev
|
| 4. 4. 2023 | Autocomplete fields with Livewire – freek.dev
|
| 3. 4. 2023 | Create a Simple App Status Indicator – freek.dev
|
| 3. 4. 2023 | ★ Skipping tests conditionally in Pest – freek.dev
|
| 31. 3. 2023 | Lessons from the last 12 months – freek.dev
|
| 30. 3. 2023 | Avoiding one-liners in PHP – freek.dev
|
| 28. 3. 2023 | The End of Front-End Development – freek.dev
|
| 28. 3. 2023 | MySQL for Developers – freek.dev
|
| 27. 3. 2023 | Optimising Flare – freek.dev
|
| 27. 3. 2023 | Concurrent, Chunked, Multi-File Upload with Livewire – freek.dev
|
| 24. 3. 2023 | Leverage Symfony VarDumper Component to Enhance your Dumps – freek.dev
|
| 23. 3. 2023 | Collecting Time Video Metrics with Livewire – freek.dev
|
| 20. 3. 2023 | Making the best all-in-one monitoring tool even better – freek.dev
|
| 20. 3. 2023 | Blazingly Fast Markdown Parsing in PHP using FFI and Rust – freek.dev
|
| 17. 3. 2023 | Make more things the same – freek.dev
|
| 16. 3. 2023 | Valet 4.0 is released – freek.dev
|
| 15. 3. 2023 | PHP wishlist: The pipe operator – freek.dev
|
| 13. 3. 2023 | ★ Discovering PHP's first-class callable syntax – freek.dev
|
| 13. 3. 2023 | Behind The Scenes Of Oh Dear – freek.dev
|
| 13. 3. 2023 | See Laravel Folio and Laravel Volt in action – freek.dev
|
| 13. 3. 2023 | QR Code Generator in Laravel 10 – freek.dev
|
| 12. 3. 2023 | Resolving a new instance of a singleton in Laravel – freek.dev
|
| 12. 3. 2023 | Preemptive Pluralization is (Probably) Not Evil – freek.dev
|
| 10. 3. 2023 | Memory game in Javascript | Tutorial | How To – freek.dev
|
| 10. 3. 2023 | ★ Pest v2: see all new amazing features in action – freek.dev
|
| 10. 3. 2023 | Why I migrated this website from Symfony to Laravel – freek.dev
|
| 10. 3. 2023 | Announcing Duster, a Code Linter and Fixer for Laravel – freek.dev
|
| 8. 3. 2023 | A preview of Flare's upcoming redesign – freek.dev
|
| 8. 3. 2023 | Fixing nested validation in Laravel – freek.dev
|
| 3. 3. 2023 | ★ Ray can now display the values of private properties – freek.dev
|
| 2. 3. 2023 | ★ Strategies for making Laravel packages customizable – freek.dev
|
| 2. 3. 2023 | Returning native types from the Laravel Request class – freek.dev
|
| 1. 3. 2023 | Improve load time performance by lazily loading background images – freek.dev
|
| 28. 2. 2023 | ★ Casual Artisan Call February 2023 – freek.dev
|
| 27. 2. 2023 | Kill Switches: Interrupting Long-Running Processes – freek.dev
|
| 26. 2. 2023 | An update on the upcoming Livewire v3 – freek.dev
|
| 26. 2. 2023 | ★ Log all notifications sent by your Laravel app – freek.dev
|
| 22. 2. 2023 | When to use Laravel global scopes – freek.dev
|
| 21. 2. 2023 | Extending Laravel's about command – freek.dev
|
| 21. 2. 2023 | Rust: A Language for the Next 40 Years – freek.dev
|
| 21. 2. 2023 | Extending PHPUnit with its new event system – freek.dev
|
| 15. 2. 2023 | Request Level Validation – freek.dev
|
| 12. 2. 2023 | How to secure model ID’s in Livewire and why this is important – freek.dev
|
| 7. 2. 2023 | ★ Using Laravel Sanctum to create dynamic abilities – freek.dev
|
| 5. 2. 2023 | ★ Creating an onboarding email drip campaign using Mailcoach – freek.dev
|
| 3. 2. 2023 | Disabling Composer's script process timeout – freek.dev
|
| 2. 2. 2023 | Local Environment Seeders in Laravel – freek.dev
|
| 2. 2. 2023 | Locality of Behavior – freek.dev
|
| 1. 2. 2023 | You might not need a repository in Laravel: 3 alternatives – freek.dev
|
| 30. 1. 2023 | Overcoming Imposter Syndrome as a Programmer – freek.dev
|
| 26. 1. 2023 | ★ A package to integrate HelpSpace in your Laravel app – freek.dev
|
| 25. 1. 2023 | Writing a Static Analyser for PHP in Rust - Overview – freek.dev
|
| 23. 1. 2023 | Intro to Terminable Middleware – freek.dev
|
| 20. 1. 2023 | Write cleaner queries by using Laravel's whereRelation method – freek.dev
|
| 17. 1. 2023 | Building a Calendar with Carbon – freek.dev
|
| 16. 1. 2023 | Easy, alternative soft deletion: `deleted_record_insert` – freek.dev
|
| 16. 1. 2023 | Clever Code Considered Harmful – freek.dev
|
| 15. 1. 2023 | ★ A package to automatically copy deleted records to a separate table – freek.dev
|
| 14. 1. 2023 | ★ How to test Laravel's invokable rules – freek.dev
|
| 14. 1. 2023 | Move Model Scopes To Traits In Laravel – freek.dev
|
| 13. 1. 2023 | Refactoring ugly JavaScript – freek.dev
|
| 12. 1. 2023 | Solving an Array Reduce Interview Question in PHP – freek.dev
|
| 11. 1. 2023 | Top 25 YouTube Channels for Laravel and PHP Developers – freek.dev
|
| 11. 1. 2023 | PHP version stats: January, 2023 – freek.dev
|
| 4. 1. 2023 | Top 10 Books for PHP Developers – freek.dev
|
| 3. 1. 2023 | Three Equitable Design Considerations – freek.dev
|
| 30. 12. 2022 | Three Web Accessibility Considerations – freek.dev
|
| 29. 12. 2022 | ★ How to improve initial page load time by deferring rendering Livewire components – freek.dev
|
| 16. 12. 2022 | ★ A recap of 2022 – freek.dev
|
| 14. 12. 2022 | ★ A package to run Google Lighthouse using PHP – freek.dev
|
| 12. 12. 2022 | Tailing multiple Laravel logs with Envoy – freek.dev
|
| 12. 12. 2022 | ★ How to upgrade to PHP 8.2 on Mac (and Laravel Valet) – freek.dev
|
| 9. 12. 2022 | How to use the Query Builder correctly in Laravel – freek.dev
|
| 8. 12. 2022 | ★ Sending transactional mail using Mailcoach in a Laravel app – freek.dev
|
| 8. 12. 2022 | SDKs, The Laravel Way – freek.dev
|
| 7. 12. 2022 | 5 Laravel Packages from Spatie to Help You Create Your Own Blog – freek.dev
|
| 7. 12. 2022 | ★ Using the shadow DOM as a better iframe – freek.dev
|
| 2. 12. 2022 | Writing declarative PHP – freek.dev
|
| 1. 12. 2022 | Unique jobs and reserving resources on the queue – freek.dev
|
| 30. 11. 2022 | Dynamically Generating Thousands of OG Images for a Viral Twitter Campaign – freek.dev
|
| 29. 11. 2022 | Always use [closed, open) intervals – freek.dev
|
| 28. 11. 2022 | ★ The making of the WWSD videos – freek.dev
|
| 22. 11. 2022 | ★ We've made another WWSD Video – freek.dev
|
| 21. 11. 2022 | ★ Spatie's Black Friday sales have begun – freek.dev
|
| 18. 11. 2022 | ★ Laravel and PHP developers to follow on Mastodon – freek.dev
|
| 17. 11. 2022 | ★ Spatie WWSD 2022 – freek.dev
|
| 15. 11. 2022 | ★ Introducing PHP 8.2: all new features and changes – freek.dev
|
| 15. 11. 2022 | Queue workers for serverless Laravel applications – freek.dev
|
| 14. 11. 2022 | The Art of Fermenting Great Ideas – freek.dev
|
| 11. 11. 2022 | Vanilla Rails is plenty – freek.dev
|
| 11. 11. 2022 | Using Generators (and LazyCollections) for Paginating APIs – freek.dev
|
| 11. 11. 2022 | What's new in PHP 8.2? – freek.dev
|
| 11. 11. 2022 | Local or session storage? – freek.dev
|
| 10. 11. 2022 | Make changes to the database during a Livewire Pest chain – freek.dev
|
| 9. 11. 2022 | ★ Laravel Mailcoach v6 has been released with a new UI and lots of improvements – freek.dev
|
| 9. 11. 2022 | ★ Introducing the Mailcoach SDKs for PHP and Laravel – freek.dev
|
| 9. 11. 2022 | Generics via Attributes in PHP – freek.dev
|
| 8. 11. 2022 | A Composer tool to show unused Composer dependencies – freek.dev
|
| 7. 11. 2022 | I'm out of a job – freek.dev
|
| 4. 11. 2022 | Are Your Queue Workers ... Working? – freek.dev
|
| 3. 11. 2022 | Understand and fix bugs faster using Ray – freek.dev
|
| 2. 11. 2022 | How to build your next PHP project with a touch of AI – freek.dev
|
| 1. 11. 2022 | Wildcard subdomain SSL certificates with Let's Encrypt and Bunny DNS – freek.dev
|
| 1. 11. 2022 | Ask Me Anything About Laravel with Taylor Otwell – freek.dev
|
| 31. 10. 2022 | ★ Automatically restart Horizon when local PHP files change – freek.dev
|
| 26. 10. 2022 | ★ 🚀 Mailcoach Cloud is now available: affordable email marketing for bloggers, Artisans, and entrepreneurs – freek.dev
|
| 25. 10. 2022 | Using table triggers to log changes in your database tables. – freek.dev
|
| 24. 10. 2022 | What's new in PHP 8.3? Take a sneak peek. – freek.dev
|
| 21. 10. 2022 | ★ A Laravel package to add flags to Eloquent models – freek.dev
|
| 20. 10. 2022 | What are contract tests? – freek.dev
|
| 20. 10. 2022 | Laravel's Safety Mechanisms – freek.dev
|
| 19. 10. 2022 | ★ My current setup (end 2022 edition) – freek.dev
|
| 11. 10. 2022 | What's new in Laravel 10? – freek.dev
|
| 11. 10. 2022 | ★ Providing faster support using auto-impersonation – freek.dev
|
| 10. 10. 2022 | ★ Automatically setup your favorite email provider in Mailcoach – freek.dev
|
| 6. 10. 2022 | My Top 10 PhpStorm Tricks – freek.dev
|
| 5. 10. 2022 | How to display dates in the browser's timezone in Livewire – freek.dev
|
| 4. 10. 2022 | ★ Using jobs instead of commands in the schedule of a Laravel app – freek.dev
|
| 3. 10. 2022 | ★ Oh Dear 2.0 has been launched – freek.dev
|
| 3. 10. 2022 | Use a view instead of a complex Eloquent query in your Laravel application – freek.dev
|
| 1. 10. 2022 | Using a datalist instean of a dropdown in your forms – freek.dev
|
| 30. 9. 2022 | Writing Wordle In JavaScript – freek.dev
|
| 29. 9. 2022 | ★ My process for writing the freek.dev newsletter – freek.dev
|
| 29. 9. 2022 | Introducing LiteFS – freek.dev
|
| 28. 9. 2022 | Upcoming Livewire v3 Features and Changes – freek.dev
|
| 27. 9. 2022 | How to Get Better at Customer Interviews – freek.dev
|
| 26. 9. 2022 | Critically Engaging With Models – freek.dev
|
| 26. 9. 2022 | ★ A package to manage dynamic servers – freek.dev
|
| 23. 9. 2022 | Six New'ish HTML Tags You Can Use Right Now – freek.dev
|
| 21. 9. 2022 | The self-fulfilling prophecy of React – freek.dev
|
| 20. 9. 2022 | Is it a DTO or a Value Object? – freek.dev
|
| 19. 9. 2022 | Exploring Laravel Stubs – freek.dev
|
| 18. 9. 2022 | ★ I shall define this only once – freek.dev
|
| 18. 9. 2022 | Using CLion with php-src – freek.dev
|
| 18. 9. 2022 | Named arguments – freek.dev
|
| 16. 9. 2022 | How to filter outgoing emails in Laravel – freek.dev
|
| 16. 9. 2022 | Granular interfaces – freek.dev
|
| 15. 9. 2022 | The “It's Just Like...” Heuristic – freek.dev
|
| 14. 9. 2022 | The Forty-Year Programmer – freek.dev
|
| 13. 9. 2022 | A step-debugger for the PHP AST – freek.dev
|
| 12. 9. 2022 | You might not need `useRef` for that – freek.dev
|
| 9. 9. 2022 | Multi-Region Laravel With PlanetScale – freek.dev
|
| 8. 9. 2022 | Sign your Git commits with 1Password – freek.dev
|
| 8. 9. 2022 | Customising Laravel's URL signing key – freek.dev
|
| 7. 9. 2022 | Creating installer commands for Laravel packages – freek.dev
|
| 7. 9. 2022 | Spawning workers based on queue workload – freek.dev
|
| 7. 9. 2022 | ★ Getting information about all the models in your Laravel app – freek.dev
|
| 5. 9. 2022 | Testing Randomness of PHP Random Number Functions – freek.dev
|
| 2. 9. 2022 | Fill Gaps in Statistical Time Series Results – freek.dev
|
| 1. 9. 2022 | How to Produce High-Quality Programming Screencasts – freek.dev
|
| 26. 8. 2022 | Learning Laravel: Assets and Authentication – freek.dev
|
| 26. 8. 2022 | A preview of Oh Dear's upcoming redesign – freek.dev
|
| 26. 8. 2022 | Making a complete file uploader with progressbar using Livewire and Alpinejs – freek.dev
|
| 17. 8. 2022 | Stop mocking about: Event Dispatcher – freek.dev
|
| 16. 8. 2022 | Catching Up Laravel – freek.dev
|
| 12. 8. 2022 | Is COUNT(*) slow in MySQL? – freek.dev
|
| 11. 8. 2022 | Scaling Laravel to 100M+ jobs and 30,000 requests/minute – freek.dev
|
| 9. 8. 2022 | Experimentally compiling PHP code to Rust – freek.dev
|
| 9. 8. 2022 | Deprecated dynamic properties in PHP 8.2 – freek.dev
|
| 8. 8. 2022 | The difference between Traits, Interfaces, and Abstract Classes in PHP – freek.dev
|
| 8. 8. 2022 | The Slotted Counter Pattern – freek.dev
|
| 5. 8. 2022 | Artisan Tinker in Vim with Tinkeray – freek.dev
|
| 4. 8. 2022 | ★ Increase performance by using Eloquent's `setRelation` method – freek.dev
|
| 4. 8. 2022 | How the Laravel Login Link package works under the hood – freek.dev
|
| 3. 8. 2022 | Composer 2.4 introduces two new commands: `bump` and `audit` – freek.dev
|
| 2. 8. 2022 | PHP Core Roundup #4 – freek.dev
|
| 1. 8. 2022 | How do database indexes work? – freek.dev
|
| 1. 8. 2022 | Why working code is not enough? Write Better Laravel, Part 2 – freek.dev
|
| 28. 7. 2022 | Writing open source source software – freek.dev
|
| 27. 7. 2022 | Speed Up Your PHP HTTP Guzzle Requests With Concurrency – freek.dev
|
| 26. 7. 2022 | Efficient Pagination Using Deferred Joins – freek.dev
|
| 25. 7. 2022 | Can PHPStan find Dead Public Methods? – freek.dev
|
| 22. 7. 2022 | Holograms, light-leaks and how to build CSS-only shaders. – freek.dev
|
| 21. 7. 2022 | Writing one sentence per line – freek.dev
|
| 20. 7. 2022 | A Lot Less Node with Airdrop – freek.dev
|
| 19. 7. 2022 | Invokable custom validation rules in Laravel – freek.dev
|
| 18. 7. 2022 | ★ Making sure routes, config and events of your Laravel app are cached in production – freek.dev
|
| 14. 7. 2022 | Statements Vs. Expressions in JavaScript – freek.dev
|
| 14. 7. 2022 | How to install PHP 8.2 RC on Mac – freek.dev
|
| 12. 7. 2022 | Things You Should Know About Databases – freek.dev
|
| 11. 7. 2022 | What is complexity? Write Better Laravel, Part 1 – freek.dev
|
| 8. 7. 2022 | New composer audit Command and security audits in Composer 2.4 – freek.dev
|
| 8. 7. 2022 | ★ Introducing our new Laravel Options package – freek.dev
|
| 7. 7. 2022 | Why DRY is the most over-rated programming principle – freek.dev
|
| 7. 7. 2022 | Auto-Refresh Livewire Components While Keeping States With Vite – freek.dev
|
| 7. 7. 2022 | My Wonderful HTML Email Workflow – freek.dev
|
| 6. 7. 2022 | An Engineer’s Best Tips for Writing Documentation Devs Love – freek.dev
|
| 5. 7. 2022 | Effective immutability with PHPStan – freek.dev
|
| 4. 7. 2022 | Add comments to SQL queries made by Laravel – freek.dev
|
| 1. 7. 2022 | Encrypting Laravel Eloquent models with CipherSweet – freek.dev
|
| 30. 6. 2022 | Linked Lists explained in PHP – freek.dev
|
| 30. 6. 2022 | Introducing sidecar-browsershot – freek.dev
|
| 29. 6. 2022 | ★ Using Laravel Vite to automatically refresh your browser when changing a Blade file – freek.dev
|
| 29. 6. 2022 | ★ Making Vite and Valet play nice together – freek.dev
|
| 27. 6. 2022 | Building social images with Browsershot and AWS – freek.dev
|
| 26. 6. 2022 | ★ Using the `Attachable` interface to attach any kind of object to a mail in a Laravel app – freek.dev
|
| 26. 6. 2022 | Highlighting code using Sidecar & Shiki – freek.dev
|
| 26. 6. 2022 | Ten Tips to Make Conference Talks Suck Less – freek.dev
|
| 22. 6. 2022 | Good developer experience examples – freek.dev
|
| 21. 6. 2022 | A Laravel package to onboard your users – freek.dev
|
| 21. 6. 2022 | Add Interfaces to Laravel to Increase Code Readability and Verbosity – freek.dev
|
| 20. 6. 2022 | Upgrading to native PHP enums – freek.dev
|
| 18. 6. 2022 | How to use Stripe CLI with Laravel Valet to listen for events – freek.dev
|
| 17. 6. 2022 | Adding a Laravel backend to a Remix App – freek.dev
|
| 16. 6. 2022 | Variadic arguments in PHP – freek.dev
|
| 16. 6. 2022 | New UUID formats – freek.dev
|
| 15. 6. 2022 | What’s the best lossless image format? – freek.dev
|
| 9. 6. 2022 | What's new in Tailwind 3.1 – freek.dev
|
| 1. 6. 2022 | Restructuring a Laravel Controller using Services, Events, Jobs, Actions, and more – freek.dev
|
| 31. 5. 2022 | Use Laravel's HTTP Client with Facebook's Business SDK – freek.dev
|
| 30. 5. 2022 | ★ Using login links in a Laravel app – freek.dev
|
| 26. 5. 2022 | 35 Laravel Eloquent tips – freek.dev
|
| 25. 5. 2022 | ★ A package to add comments to your Laravel app – freek.dev
|
| 25. 5. 2022 | Using Request Factories for Gorgeous Feature Tests – freek.dev
|
| 24. 5. 2022 | Creating Dynamic HTML Tooltips with Alpine and alpine-tooltip – freek.dev
|
| 23. 5. 2022 | ★ A package to create Livewire powered wizards in no time – freek.dev
|
| 23. 5. 2022 | Creating your own color system with Tailwind – freek.dev
|
| 19. 5. 2022 | ★ How to add a spotlight-like search field to your Laravel app – freek.dev
|
| 19. 5. 2022 | How to send e-mails in Laravel with Tailwind CSS – freek.dev
|
| 18. 5. 2022 | The Gambler's Ruin, Illustrated with PHP – freek.dev
|
| 17. 5. 2022 | Extensible Blade Components – freek.dev
|
| 17. 5. 2022 | Laravels Command Bus – freek.dev
|
| 16. 5. 2022 | Bringing page transitions to the web – freek.dev
|
| 16. 5. 2022 | Adapter Pattern in PHP – freek.dev
|
| 11. 5. 2022 | Testing API responses in pestPHP – freek.dev
|
| 10. 5. 2022 | Building Oh Dear’s new design: Implementing the design – freek.dev
|
| 9. 5. 2022 | Consume less, create more – freek.dev
|
| 9. 5. 2022 | Laravel DDD - Getting started with DDD in Laravel – freek.dev
|
| 9. 5. 2022 | PHP Tricks: Multi-value match() – freek.dev
|
| 9. 5. 2022 | What the new PHP core developers will be working on – freek.dev
|
| 25. 4. 2022 | How the PHP Middleware Pattern works and can easily be applied – freek.dev
|
| 25. 4. 2022 | ★ Creating PHP interfaces, traits, and classes dynamically at runtime – freek.dev
|
| 25. 4. 2022 | ★ From PHPUnit To Pest – freek.dev
|
| 20. 4. 2022 | ★ Learn how to write readable PHP that is a joy to maintain – freek.dev
|
| 19. 4. 2022 | PHP isn't dead – freek.dev
|
| 15. 4. 2022 | How to build modals with Laravel and Livewire – freek.dev
|
| 13. 4. 2022 | Building Oh Dear’s new design: Project setup – freek.dev
|
| 12. 4. 2022 | Using callbacks to prevent code duplication – freek.dev
|
| 7. 4. 2022 | ★ Improve Passing Booleans in PHP – freek.dev
|
| 6. 4. 2022 | Simple event streaming in Laravel – freek.dev
|
| 5. 4. 2022 | Why You Should Start Self Hosting – freek.dev
|
| 4. 4. 2022 | A list of all modern PHP features – freek.dev
|
| 4. 4. 2022 | A receipt printer for GitHub issues – freek.dev
|
| 3. 4. 2022 | Naming constructors – freek.dev
|
| 2. 4. 2022 | Query content of S3 objects with SQL using Laravel – freek.dev
|
| 1. 4. 2022 | The latest PHP Foundation Update lists the new PHP core developers – freek.dev
|
| 31. 3. 2022 | Extreme questions to trigger new, better ideas – freek.dev
|
| 31. 3. 2022 | Need Something Sorted? Sleep on It! – freek.dev
|
| 31. 3. 2022 | Laravel Valet 3 Released With Multi-Version PHP Support – freek.dev
|
| 30. 3. 2022 | Those HTML Attributes You Never Use – freek.dev
|
| 30. 3. 2022 | Adding Real Capabilities To Systems Through Naming – freek.dev
|
| 24. 3. 2022 | Introducing Visit: a CLI tool made for humans to make network requests – freek.dev
|
| 22. 3. 2022 | Errors when using groupBy() in laravel – freek.dev
|
| 21. 3. 2022 | The value of a good database design – freek.dev
|
| 16. 3. 2022 | Measuring performance with Apache Benchmark – freek.dev
|
| 16. 3. 2022 | Clean Coders Hate What Happens to Your Code When You Use These Enterprise Programming Tricks – freek.dev
|
| 16. 3. 2022 | ★ Avoid using else – freek.dev
|
| 16. 3. 2022 | How to improve privacy with Laravel file encryption – freek.dev
|
| 11. 3. 2022 | Common SQL errors for Laravel Developers – freek.dev
|
| 10. 3. 2022 | All the hardware and software used at Laracasts – freek.dev
|
| 9. 3. 2022 | Use a message envelope – freek.dev
|
| 9. 3. 2022 | ★ Code that breathes – freek.dev
|
| 8. 3. 2022 | CSS as the backend: introducing Cascading Server Sheets! – freek.dev
|
| 7. 3. 2022 | Testing the homepage of a Laravel app using Pest – freek.dev
|
| 5. 3. 2022 | Running PHPUnit tests in parallel using GitHub actions – freek.dev
|
| 4. 3. 2022 | Use "dd()", "dump()", and "ray()" in any PHP file on your system – freek.dev
|
| 2. 3. 2022 | Laravel Origins: The Documentary – freek.dev
|
| 25. 2. 2022 | Symfony 6.1 will require PHP 8.1 – freek.dev
|
| 24. 2. 2022 | Composable seeders in Laravel with callOnce – freek.dev
|
| 23. 2. 2022 | The web doesn’t have version numbers – freek.dev
|
| 23. 2. 2022 | The different types of events in event driven systems – freek.dev
|
| 22. 2. 2022 | ★ Exploring Termwind Internals – freek.dev
|
| 21. 2. 2022 | A global DNS propagation checker on your CLI – freek.dev
|
| 21. 2. 2022 | ★ A CLI tool to monitor GitHub Actions – freek.dev
|
| 21. 2. 2022 | Drying up test coverage using model scope events – freek.dev
|
| 14. 2. 2022 | Invading private properties and methods in PHP – freek.dev
|
| 11. 2. 2022 | DevToys for Mac – freek.dev
|
| 11. 2. 2022 | React Hooks for Beginners: Managing State – freek.dev
|
| 11. 2. 2022 | Automate keeping your environment files in sync. – freek.dev
|
| 9. 2. 2022 | A package to automatically discover routes in a Laravel app – freek.dev
|
| 8. 2. 2022 | What's new in Laravel 9 – freek.dev
|
| 7. 2. 2022 | The Laracon Summer 2021 videos have been released. – freek.dev
|
| 4. 2. 2022 | Modelling Tetris in PHP – freek.dev
|
| 3. 2. 2022 | How does Treblle scale on AWS without breaking the bank? – freek.dev
|
| 3. 2. 2022 | Geeking Out Over PHP – freek.dev
|
| 2. 2. 2022 | 10 lessons in productivity and brainstorming from The Beatles – freek.dev
|
| 2. 2. 2022 | Speeding up array_merge() – freek.dev
|
| 2. 2. 2022 | Laravel Worldwide meetup: Building CLI apps with Termwind & What's new in Inertia – freek.dev
|
| 27. 1. 2022 | Using Ray in WordPress Development: Callers and Stack Traces – freek.dev
|
| 27. 1. 2022 | How I Got Pwned by My Cloud Costs – freek.dev
|
| 27. 1. 2022 | Using Importmaps in Laravel – freek.dev
|
| 27. 1. 2022 | Efficient Pagination Using Deferred Joins – freek.dev
|
| 26. 1. 2022 | Implementing Parity Purchase Power – freek.dev
|
| 26. 1. 2022 | Testing Laravel Environment Checks – freek.dev
|
| 26. 1. 2022 | Recreating the GitHub UI with Tailwind – freek.dev
|
| 26. 1. 2022 | Streaming HTTP response in PHP - turn long-running process into realtime UI – freek.dev
|
| 26. 1. 2022 | Simulate production in your Laravel tests – freek.dev
|
| 21. 1. 2022 | ★ A package to quickly send Slack alerts in a Laravel app – freek.dev
|
| 19. 1. 2022 | ★ A better error page for Symfony applications – freek.dev
|
| 18. 1. 2022 | ★ Ignition, the most beautiful error page for Laravel and PHP, got a major redesign – freek.dev
|
| 14. 1. 2022 | Inertia Server-Side Rendering on Laravel Vapor – freek.dev
|
| 14. 1. 2022 | Accessing private properties in PHP – freek.dev
|
| 13. 1. 2022 | Create beautiful Open Graph images with Browsershot and Tailwind CSS – freek.dev
|
| 12. 1. 2022 | How to Train Your Keyboard – freek.dev
|
| 12. 1. 2022 | Why I’m Using HTTP Basic Auth in 2022 – freek.dev
|
| 12. 1. 2022 | Exceptional Naming – freek.dev
|
| 12. 1. 2022 | Where does my validation live? – freek.dev
|
| 11. 1. 2022 | Overriding vendor classes – freek.dev
|
| 11. 1. 2022 | Hosting all your PHP packages together in a monorepo – freek.dev
|
| 11. 1. 2022 | No code reviews by default – freek.dev
|
| 10. 1. 2022 | Using Ziggy with Inertia Server-Side Rendering – freek.dev
|
| 23. 12. 2021 | ★ A recap of 2021 – freek.dev
|
| 23. 12. 2021 | How we improved Oh Dear in 2021 – freek.dev
|
| 23. 12. 2021 | Send Spatie a Christmas card – freek.dev
|
| 18. 12. 2021 | Create a Solana dApp from scratch – freek.dev
|
| 18. 12. 2021 | Heaps explained in PHP – freek.dev
|
| 17. 12. 2021 | Grinding to $1,000,000 in revenue over 6 years – freek.dev
|
| 17. 12. 2021 | 12 must-see talks if you want to become a better Laravel developer – freek.dev
|
| 17. 12. 2021 | 20 years of Bram.us – freek.dev
|
| 16. 12. 2021 | Laravel Pseudo-Daemons – freek.dev
|
| 16. 12. 2021 | Filtering Carbon Period For Flexibility And Performance – freek.dev
|
| 15. 12. 2021 | How we improved Flare in 2021 – freek.dev
|
| 15. 12. 2021 | What's new in Tailwind CSS v3.0 – freek.dev
|
| 15. 12. 2021 | Silently validating a Laravel request – freek.dev
|
| 14. 12. 2021 | ★ Fixing the dreaded "'pcre2.h' file not found" error when installing imagick – freek.dev
|
| 13. 12. 2021 | ★ A Laravel package to monitor the health of your application – freek.dev
|
| 5. 12. 2021 | ★ A bash function to run tests for both PHPUnit and Pest – freek.dev
|
| 29. 11. 2021 | Better support for Livewire in Flare and Ignition – freek.dev
|
| 27. 11. 2021 | New features and improvement in Laravel Jobs and Queues since the original v8.0 release – freek.dev
|
| 26. 11. 2021 | Modern PHP Cheat Sheet – freek.dev
|
| 24. 11. 2021 | ★ A conversation on the future of PHP – freek.dev
|
| 24. 11. 2021 | You can now monitor your DNS records via Oh Dear – freek.dev
|
| 24. 11. 2021 | ★ Our improved changelog workflow for packages – freek.dev
|
| 23. 11. 2021 | Swoole vs Roadrunner for Laravel Octane – freek.dev
|
| 22. 11. 2021 | Bitmasking in Laravel and MySQL – freek.dev
|
| 22. 11. 2021 | Announcing the PHP Foundation – freek.dev
|
| 18. 11. 2021 | Beg Bounties – freek.dev
|
| 17. 11. 2021 | Measuring caffeine intake at Spatie – freek.dev
|
| 16. 11. 2021 | The all-new Just-in-Time CDN for Tailwind – freek.dev
|
| 15. 11. 2021 | ★ Laravel Package Training v2 is now available – freek.dev
|
| 15. 11. 2021 | Multi-Input Sorcery And Other Laravel Livewire Tips – freek.dev
|
| 12. 11. 2021 | Increase Database Performance By Using Multiple Columns – freek.dev
|
| 12. 11. 2021 | Efficient Distance Querying in MySQL – freek.dev
|
| 12. 11. 2021 | Database and Eloquent ORM: New features and improvements since the original Laravel 8 release (1/2) – freek.dev
|
| 12. 11. 2021 | A look at new features and improvements since the original Laravel 8.0 release: Collections – freek.dev
|
| 12. 11. 2021 | The Visitor Pattern in PHP – freek.dev
|
| 4. 11. 2021 | ★ How to test that an Eloquent model actually exists – freek.dev
|
| 3. 11. 2021 | Ensuring data(base) consistency during concurrent requests – freek.dev
|
| 29. 10. 2021 | Things I Didn't Know About SQS – freek.dev
|
| 29. 10. 2021 | How to update large data in Laravel – freek.dev
|
| 28. 10. 2021 | ★ Laravel Worldwide Meetup #11: Building APIs & Models/Spotlight With Livewire – freek.dev
|
| 28. 10. 2021 | ★ My current setup (end 2021 edition) – freek.dev
|
| 28. 10. 2021 | Creating multi-worksheet Excel files with Simple Excel – freek.dev
|
| 28. 10. 2021 | ★ Avoid describing your data multiple times in a Laravel app using laravel-data – freek.dev
|
| 26. 10. 2021 | We Analyzed 425,909 Favicons – freek.dev
|
| 25. 10. 2021 | Exploring Blade internals – freek.dev
|
| 25. 10. 2021 | ★ Faking HTTP requests in Laravel – freek.dev
|
| 25. 10. 2021 | The benefits of testing (video) – freek.dev
|
| 22. 10. 2021 | Test-driving complex features with Laravel & Pest – freek.dev
|
| 21. 10. 2021 | ★ Three types of mocks – freek.dev
|
| 19. 10. 2021 | ★ A Laravel package to crawl and index content of your sites – freek.dev
|
| 18. 10. 2021 | ★ Using Factory sequences in Laravel – freek.dev
|
| 18. 10. 2021 | ★ Replacing Keytar with Electron's safeStorage in Ray – freek.dev
|
| 15. 10. 2021 | ★ Making 1Password understand where your change password page is located – freek.dev
|
| 15. 10. 2021 | How I built a modern website in 2021 – freek.dev
|
| 14. 10. 2021 | Trees and Tree Traversal in PHP – freek.dev
|
| 12. 10. 2021 | ★ Asserting valid and invalid requests in Laravel – freek.dev
|
| 12. 10. 2021 | How Livewire works (a deep dive) – freek.dev
|
| 5. 10. 2021 | Understanding How Facebook Disappeared from the Internet – freek.dev
|
| 4. 10. 2021 | How to start and stop polling in React and Livewire – freek.dev
|
| 4. 10. 2021 | Adapter Pattern vs. Bridge Pattern – freek.dev
|
| 30. 9. 2021 | ★ Building a better search with Monaco and amCharts – freek.dev
|
| 29. 9. 2021 | A Project Manager’s Top Tips – freek.dev
|
| 29. 9. 2021 | ★ Laravel Worldwide Meetup #10: A Little Bit of Lambda & Pest To Perfection – freek.dev
|
| 28. 9. 2021 | Decorator Pattern vs. Proxy Pattern – freek.dev
|
| 27. 9. 2021 | Declaring Expectations Against Array Items in Pest – freek.dev
|
| 27. 9. 2021 | ★ How to convert a PHPUnit Testsuite to Pest – freek.dev
|
| 26. 9. 2021 | How to get query builder to output its raw SQL query as a string in Laravel? – freek.dev
|
| 25. 9. 2021 | Introducing lazy loading prevention into an existing application – freek.dev
|
| 24. 9. 2021 | What happens when we clone? – freek.dev
|
| 23. 9. 2021 | Creating an `Option` Type in PHP – freek.dev
|
| 21. 9. 2021 | ★ Building a simple dashboard using Tailwind – freek.dev
|
| 17. 9. 2021 | Announcing x-ray for Ray – freek.dev
|
| 16. 9. 2021 | I changed my mind about Tailwind CSS – freek.dev
|
| 15. 9. 2021 | Mistakes I've made in AWS – freek.dev
|
| 14. 9. 2021 | Building a PHPUnit to Pest Converter in a week – freek.dev
|
| 13. 9. 2021 | ★ Strategies for decreasing the number of queries in a Laravel app – freek.dev
|
| 13. 9. 2021 | Linking to Flare errors on your error page – freek.dev
|
| 13. 9. 2021 | Glowing Background Gradient Effects with Tailwind CSS – freek.dev
|
| 13. 9. 2021 | Fun with PHPUnit Data Providers – freek.dev
|
| 13. 9. 2021 | Monitoring Laravel Vapor metrics with Grafana Cloud – freek.dev
|
| 10. 9. 2021 | A free Alpine.js video course – freek.dev
|
| 9. 9. 2021 | Source diving Pest Parallel Testing – freek.dev
|
| 8. 9. 2021 | Generics in PHP using PHPDocs – freek.dev
|
| 8. 9. 2021 | How to Use a Custom Encryption Key for Encrypted Cast Model Attributes in Laravel – freek.dev
|
| 3. 9. 2021 | How to install PHP 8.1 RC on your Mac – freek.dev
|
| 2. 9. 2021 | ★ Introducing a new package to add a support form to your app – freek.dev
|
| 30. 8. 2021 | ★ How to test a form in a Laravel app – freek.dev
|
| 26. 8. 2021 | On using PSR abstractions – freek.dev
|
| 25. 8. 2021 | Traits are not inherited – freek.dev
|
| 25. 8. 2021 | ★ Cool Laravel Testing Techniques – freek.dev
|
| 25. 8. 2021 | State of Laravel survey results – freek.dev
|
| 23. 8. 2021 | My Software Estimation Technique – freek.dev
|
| 22. 8. 2021 | Modern web apps without JavaScript bundling or transpiling – freek.dev
|
| 22. 8. 2021 | Building a Fancy Tile Grid with Tailwind CSS – freek.dev
|
| 20. 8. 2021 | How we're using static analysis to improve our codebase – freek.dev
|
| 20. 8. 2021 | The benefits of writing tests – freek.dev
|
| 18. 8. 2021 | How to test middleware in Laravel – freek.dev
|
| 14. 8. 2021 | How we use ElasticSearch, Kibana and Filebeat to handle our logs – freek.dev
|
| 13. 8. 2021 | Don't use Mocking libraries – freek.dev
|
| 13. 8. 2021 | Laravel Seeders on Steroids – freek.dev
|
| 13. 8. 2021 | Are you a component control freak? – freek.dev
|
| 12. 8. 2021 | Introducing Iterator Functions – freek.dev
|
| 10. 8. 2021 | Immutable dates in Laravel – freek.dev
|
| 9. 8. 2021 | Git Rebase: a love story – freek.dev
|
| 8. 8. 2021 | Why Aren't There More Programming Languages Startups? – freek.dev
|
| 6. 8. 2021 | Directory Uploads in PHP 8.1 – freek.dev
|
| 4. 8. 2021 | New in Git: switch and restore – freek.dev
|
| 4. 8. 2021 | ★ Exploring Pest internals – freek.dev
|
| 2. 8. 2021 | Migrating our billing portal to the latest version of Laravel Spark – freek.dev
|
| 27. 7. 2021 | ★ How to handle GitHub webhooks in a Laravel application – freek.dev
|
| 26. 7. 2021 | Announcing our Testing Laravel premium video course – freek.dev
|
| 23. 7. 2021 | PHP 8.1: before and after – freek.dev
|
| 23. 7. 2021 | 7 Things I Look For When Hiring – freek.dev
|
| 23. 7. 2021 | Use Blink to execute something once and only once – freek.dev
|
| 23. 7. 2021 | Give me /events, not webhooks – freek.dev
|
| 23. 7. 2021 | Rebuilding iOS15 with Tailwind CSS – freek.dev
|
| 23. 7. 2021 | The state of the PHP Developer ecosystem in 2021 – freek.dev
|
| 22. 7. 2021 | Hostnames as self-executing fetches – freek.dev
|
| 22. 7. 2021 | Generators vs arrays – freek.dev
|
| 22. 7. 2021 | Convert Guzzle requests to curl commands – freek.dev
|
| 22. 7. 2021 | Introducing Dinero.js – freek.dev
|
| 18. 7. 2021 | The State of Laravel survey – freek.dev
|
| 13. 7. 2021 | ★ How to render markdown with perfectly highlighted code snippets – freek.dev
|
| 9. 7. 2021 | Design patterns for modernizing legacy code bases – freek.dev
|
| 9. 7. 2021 | 12 Tips For Better Live Coding – freek.dev |