Aaron Saray publiczne
[search 0]
Więcej
Download the App!
show episodes
 
Loading …
show series
 
JSON fields can be very useful, but when is a good time to include them in your database design? In today's episode of No Compromises, Aaron and Joel use a couple examples from recent projects to talk through reasons they would and would not use a JSON field. (00:00) - Debating JSON fields in database design (03:06) - Configuration options: JSON vs…
  continue reading
 
Static types and tooling have increased the quality of our apps, but sometimes certain features in your Laravel app don't play nicely with static analysis. In today's episode, we talk about how we approach the tradeoffs around making a tool happy without changing how you write code. (00:00) - Our approach to static analysis in a Laravel app (01:30)…
  continue reading
 
I write a lot about testing in the Mastering Laravel newsletter. Ever wonder why it's a topic I care so much about? In today's episode, we discuss that question and come up with a few different reasons. (00:00) - Why do we like testing so much? (01:20) - Looking back at how we learned (02:30) - Making it easier to join a project (05:45) - Tests mak…
  continue reading
 
What does it really mean when you say you know a particular technology? On today's episode, we discuss this using TypeScript as a specific example. (00:00) - What does it mean to "know" something? (03:15) - Thinking about TypeScript vs strict types in PHP (05:30) - Are you fluent? (06:50) - Silly bit Want help with your Laravel or PHP project? We r…
  continue reading
 
Programmers are not shy about telling other programmers when they're wrong. But what can we learn in a situation like his? How can we be wrong with style? In this episode, Aaron and Joel talk about times they've been wrong throughout their career and what they've learned. (00:00) - Aaron admits he was wrong (02:00) - What can I learn from this? (05…
  continue reading
 
We can't know everything, so throughout each day we inevitably have questions. On today's episode, we discuss different approaches we have used when we need a little help. (00:00) - Where do you go when you need help? (01:30) - Option 1 - search engines (03:30) - Getting the most out of search results (05:00) - Option 2 - talk to AI (07:00) - Using…
  continue reading
 
The dreaded bug report: this app is slow. Ok, but what is slow? I have so many questions! In today's episode, we discuss our approach to getting more information out of that initial bug report, and a methodical approach to locate and quantify the slowness. If you'd like help setting up tools like Xdebug profiling, send us a message.…
  continue reading
 
Writing tests that communicate with a third party can be a little tricky, but we've found an approach that balances speed and confidence. In today's episode, we share that approach and talk through a strategy of how frequently to run tests that talk to the outside world. (00:00) - Why would your tests ever talk to an external service? (02:30) - Wha…
  continue reading
 
I don't have time to write an API spec. We're not a giant team. We don't have external users of our API. I've said all these things in the past, but in today's episode, we discuss why you should still consider writing a specification for your Laravel API. (00:00) - Should you write a spec for your API? (01:37) - Thinking through the requirements (0…
  continue reading
 
Maybe you've tried to add static analysis to your Laravel app and got scared away by all the errors. In this episode we discuss how we like to introduce PHPStan to large, long-lived projects in a way that doesn't introduce a lot of risk or change. Would you like help introducing Larastan to your project? That's one of many things we can help you wi…
  continue reading
 
Why isn't this working? It can be frustrating when something doesn't work as expected! In this episode, we talk through a recent issue Joel had with sessions and oauth flows. There are a couple principles that apply more broadly. Next time you're stuck on something, let us help! This episode is sponsored by Mailtrap, an Email Delivery Platform that…
  continue reading
 
"Magic" methods and properties show up several places in Laravel, as well as third-party packages. They can make certain things easier and less verbose, but there is a trade off. In this episode, we discuss a few different contexts where we like and avoid magic accessors. We'd really appreciate it if you share the show with other Laravel devs. This…
  continue reading
 
Admins can do everything in the app, right? Today we discuss a couple reasons why you may want to consider not letting an admin have access to every single feature in your app. 🎉️ Episode 100 is a huge milestone for us. Thank you for listening! This episode is sponsored by Mailtrap, an Email Delivery Platform that developers love. Try for Free at M…
  continue reading
 
Have you ever turned on error tracking in a long-lived app and then got overwhelmed by all the errors happening? We talk through some strategies to not get overwhelmed and make a case that you really should be monitoring this in production. Would you like help with your legacy app? We have a ton of experience making legacy apps a joy to work within…
  continue reading
 
We've talked about coding standards before, but this time we approach it from a slightly different angle. Does the way you're code is formatted affect your ability to understand it? Brains are interesting things. Is your code slower than you'd like? We specialize in Laravel performance optimization and we can help! Contact us to discuss.…
  continue reading
 
You launched a hobby project and then it starts to get some traction. What next? How do you get a more solid foundation under your app when it comes to database hosting? In this episode, we discuss the common phases we see a database go through during an app's life. And if you'd love some help moving your database or tackling performance issues, gi…
  continue reading
 
Interfaces are a great tool for writing maintainable applications, but it is possible to go "too far" with abstraction. Or maybe, it's a bad use of time to write an abstraction up front before you really know you need it. We discuss some trade-offs and examples. (00:00) - Life before interfaces in PHP (02:30) - Going too far with interfaces (04:45)…
  continue reading
 
When you're writing a test it can be so tempting to just "tweak" some app code to make it easier to write that test, but we discuss why that might not be a good idea. We also talk about some app changes while writing tests that are beneficial to the overall project. (00:00) - Sometimes changing code makes testing easier (01:30) - Different types of…
  continue reading
 
Ever feel like your Blade views are getting too logic-heavy? What logic belongs in the view, and what logic would be better somewhere else? We use a recent PR discussion to talk through these points. (00:00) - Trying to keep logic out of the Blade view (02:00) - Using the simplest form of logic (03:45) - Business logic doesn't belong in the view la…
  continue reading
 
When new tools and packages come out, there is usually some buzz around the launch, and how it solves all the problems of the old tool. Should you switch? How do you know when it's worth it? What are the potential downsides of switching? We talk through a couple examples and share how we approach these decisions Want to see what our coding standard…
  continue reading
 
Seeders seem pretty straightforward. It's a way to generate data. But how should you use them in your app and what different purposes do they serve? We talk through our approach to seeders and how we use them in a few different contexts. (00:00) - Diving into how we use seeders in our applications (01:40) - Should a seeder create users? (04:30) - U…
  continue reading
 
Is there some particular tool or technology that just makes you mad? Maybe it's the way CSS behaves or how some browsers work. Don't just get mad, dig in and learn it thoroughly. We talk about how we've done that and how it helped. (00:00) - Once again, Aaron reads the docs (02:30) - Recognizing when you don't know something (03:30) - Approaches fo…
  continue reading
 
We see a lot of different projects, but it's pretty rare to find one that's well-documented and internally consistent. Why does that matter? And how can you make things more consistent without spending a lot of time on it? (00:00) - We like keeping things tidy in our projects (01:20) - Have a README, please (03:30) - Is there a business case for co…
  continue reading
 
How do you like to upgrade your app when the next new major version of Laravel comes out? Aaron and Joel share two different approaches they've used, and what added benefits you get from doing a version upgrade. Need help getting tests on your Laravel app before upgrading?Autor: Joel Clermont and Aaron Saray
  continue reading
 
We're developers, we write code! But sometimes it's worth thinking if we really need to fire up our editor, or if a better solution exists. We talk through some "behind the scenes" podcast workflow, and how we decided we didn't need to write code this time. (00:00) - Considering better ways to track topics (01:00) - The developer brain kicks in (03…
  continue reading
 
Just about every application needs the concept of roles and permissions. Often, there's a desire to allow non-developers to manage roles and permissions in the application interface, but is that a good idea? (00:00) - Roles and permissions landscape (01:45) - A UI for managing permissions? (04:14) - Rolling out new permissions via migrations (06:45…
  continue reading
 
You might have a book that really shaped how you write code today. Some books make more sense if you read them later in your career. We discuss the changing value of books as a learning resource as you gain experience. 00:00 Using books as a resource 01:59 Changing perspectives as you gain experience 03:05 Recognizing real-world applications of wha…
  continue reading
 
This is a surprisingly controversial topic. In this episode, we share why we write down migration methods, and it's probably not the reason you're thinking of. (00:00) - Is writing down migration methods just a weird habit? (02:30) - A deploy that goes horribly wrong immediately (03:45) - Rolling forward due to database engine limitations (05:00) -…
  continue reading
 
It's frustrating to have a client, boss, or even co-worker attempt to micro-manage you. We share some tips on how to make the working relationship better. (00:00) - Uncomfortable projects and clients (02:45) - Ask them directly "what's up" (05:00) - Understand what they want from you (07:00) - Let's role play (10:30) - The extra work is worth it (1…
  continue reading
 
PHPStan is a great tool, but if you're not careful it might push you to write code in a way you wouldn't normally write it. How can you balance a tool's strengths with your team's style of writing code? (00:00) - We really like PHPStan (01:30) - Can you go too far with a tool, though? (03:40) - Things to consider if you're newer to Laravel or PHP (…
  continue reading
 
It is so exciting to watch a conference talk announcing some new tool or feature. Now you're back at work and your fingers are itching to type `composer install` - What do you do? (00:00) - Post-conference excitement is a real thing (01:11) - The reality of how conferences are structured (03:50) - Talks share things you could do not things you shou…
  continue reading
 
Programmers have opinions on things. Shocking, I know! How can we tell someone we think there's a better way to do something, without being counterproductive and causing needless confrontation? (00:00) - Programmers have opinions on a lot of topics (02:25) - Start by asking questions (03:45) - Get smart with leading questions (05:25) - Do you alway…
  continue reading
 
We get a bit nerdy here and dive deep on a few different ways to test record creation. (00:00) - We like testing (01:20) - One way to test creating a record (03:00) - Limitations of fetch the record with first() (05:30) - Considerations when using latest() in tests (07:00) - An approach for using auto-increment IDs (08:05) - Silly bit Read more of …
  continue reading
 
Do you maintain laser focus when you work, or are you a normal human being? How do you balance use of email and social media for legitimate work reasons without going down the rabbit hole of distraction? Stop your work and listen to this episode for answers. It's not a distraction, it's an investment. (00:00) - Feeling the pull of distraction when …
  continue reading
 
The discussion of final classes was a hot topic recently. We had planned on discussing this even before it came up on Twitter, but here is our unsolicited opinion. Is there some use case we missed? Aaron wants to hear about it. Show notes (00:00) - Final classes, the hot topic on Twitter (01:00) - Aaron's opinion has evolved over the years (03:15) …
  continue reading
 
We always write tests, and can't imagine working without them. But is there ever a time where it might make sense to delay writing some tests until later in the project? Let us tell you a story about a recent project where we made that decision. (00:00) - Our secret podcast agenda (01:00) - Project setup (02:30) - Tests are good, but they do add ti…
  continue reading
 
Show notes: (00:00) - Relationships and trashed records (02:00) - One-to-one relationship (02:39) - Are soft-deletes bad then? (03:30) - Balancing end user and developer experience (05:00) - One-to-many relationships are even more problematic (08:00) - Does the specific domain matter? (10:15) - Agree on the rule as a team (10:50) - Silly bit Get a …
  continue reading
 
Some interviewing techniques can be pretty disrespectful of the applicant's time or humanity. On today's episode we talk about some ways of approaching an interview to put the person at ease and help them to do their best. Show notes: 00:00 Our different work backgrounds 01:00 How to kick off a technical discussion in an interview 03:45 How to leve…
  continue reading
 
Maybe you're a solo dev or working on a small team. What benefits are there in widening your circle of developers? We talk through our own personal experiences in this episode. Show notes: (00:00) - Topic intro: the benefits of working with someone else (02:46) - Code review can actually be nice (04:45) - The benefits of being "challenged" (06:20) …
  continue reading
 
We'll admit it: sometimes we change our mind. In this episode, we discuss how we used to setup queues in Laravel tests, and why we changed it. Show Notes 00:00 Sometimes we change our mind over time 02:00 Changing queue from sync to null in tests 03:45 Feature versus integration tests 04:40 Where do you test job logic? 05:30 White box versus black …
  continue reading
 
Rules in programming can be extremely helpful, especially on a team. But is it possible to go too far with rules? We discuss a couple recent scenarios where we could have made a rule, but decided not to. 00:00 I like rules 01:20 Maybe going too far with rules - the scenario 03:05 Bug explanation 05:03 A tangent on test setup 06:30 A possible rule t…
  continue reading
 
Before you vent some frustration on another tool or programming community, take a deep breath and think about why you're irritated? We talk about our own reactions to some technologies and how it's good to keep an open mind or, at a minimum, to not be a jerk. 00:00 It's easy to hate on tools you don't use 01:02 Why are there different kinds of tool…
  continue reading
 
We have such a rich ecosystem of packages in the Laravel and PHP community. But can there be too much of a good thing? What do we consider before adding a small package to our projects? 00:00 A healthy ecosystem of packages 01:02 Too much of a good thing? 02:48 Risks to consider 04:13 Other ways to share 05:34 Think before you promote 08:02 Conside…
  continue reading
 
Laravel has a vibrant community of people teaching and sharing what they've learned. What makes a good tip? Should you tweet or blog or both? 00:00 Why blogging is beneficial 02:43 Slowing down before you publish 04:30 Tips that provide value 08:11 Platforms can go away 09:36 Silly bit Check out the new articles section on masteringlaravel.io…
  continue reading
 
New PHP version! New Laravel version! So exciting! But when does it make sense to upgrade, and when does it make sense to start using new language or framework features? PHP marches forward (00:00) Upgrade strategy depends on team size (01:20) Considerations for new language features (02:33) Performance gains (03:27) Readability (04:56) How to adop…
  continue reading
 
How can a bug be fun, and not frustrating? When you treat it like a puzzle. Let's walk through a recent bug with CSV mime type validation and go deep down the rabbit hole. Think of a bug like a fun code puzzle (00:00) Don't get stuck for too long (01:22) The confusing CSV bug (02:35) Diffing the files (06:05) Digging deeper into Symfony and PHP (08…
  continue reading
 
User experience is a term we hear a lot as developers, but it can mean different things depending on the context. We discuss a recent project where decisions around which HTTP status code to return was focused on improving the user's experience and trust in the application. 00:16 Why do we write code? 01:39 The importance of user experience 02:54 A…
  continue reading
 
We discuss two "interesting" patterns we've observed in a number of Laravel projects. Let's take a step back and think about why we write tests the way we do. 1:06 - One weird pattern we’ve seen in Laravel project tests 2:23 - Can you explain why you’re doing this? 3:50 - “It’s more readable” 5:55 - Principle: learn a thing, do a thing, dissect a t…
  continue reading
 
Loading …

Skrócona instrukcja obsługi