When I was younger, I had strong opinions about many subjects. I felt I was right about a great many things, and anyone who disagreed with me was wrong. In my mind there was a right or a wrong, a black and a white, with little room for grey. Others were certainly entitled to their own opinion, but that didn’t make them any less wrong if their opinion differed from my own.
As I’ve gotten older, I’ve begun to realize in programming, and in life, so often things rely on a two word phrase that makes all the difference: it depends.
If I ran a developer bootcamp, I’d call it “A Practical Human’s Development Bootcamp” and on the first day I’d start with, “when you graduate from here, you won’t know anything. Knowing something takes time. My job is to give you the right questions to ask to learn something.”
I’d probably go out of business, but it’d be a good time.
PHP more or less has two kinds of dependency injection available: constructor injection, and setter injection.
Constructor injection is the process of injecting dependencies through the constructor arguments, like so:
User experience matters.
Nowhere is this clearer than in the case of the accidental missile launch warning that was sent to all of Hawaii.
Here’s a copy of the the actual screen that was used by technicians to send out alerts of various types:
Whenever I am ready to start a new project, I usually sit down and start thinking about the tasks that need to be completed. And I start wondering which tasks I should complete first, second, third, etc. What often ends up happening is that I end up with such a long list of things that have to be done that I struggle to decide which one to do – and I end up in sort of an analysis paralysis.
I can’t tell you how many times I’ve tried to start a personal project and ultimately failed to even get going, due to this. I call it Project Inertia.
The other day I came across the following code in a project:
public function __construct(PDO $pdo)
$this->pdo = $pdo;
public function getAllUsers()
$stmt = $this->pdo->prepare('SELECT * FROM users');