Day 23 - RTFM, please

Today’s challenge: spend 20 minutes reading the docs for something you’d like to know a little better.

Ideally, this should be something that’s already in your dev toolchain or used by your app. That’ll let you apply what you learn right away.

You might want to investigate the docs for one of these:

  • Your text editor. Vim users: type :h, search for “Editing Effectively” or “Tuning Vim”, read one of the docs in that section.
  • Your database. Any unused features you might leverage?.
  • A library or framework you use frequently. Have recent releases added anything useful?
  • Your shell. Can you optimize your workflows? Refactor a shell script? Improve your prompt?
  • Your programming language. Anything new or unexplored there?

If you discover something new, try to use it right away. If you can’t, maybe jot it down on a sheet of paper next to your keyboard so you remember to try it later. I do this often to teach myself new Vim commands. Once the new stuff is in my muscle memory, I throw the sheet away.

Enjoy!

Today I learned about new features that came along with PHP 7.0.

My favourite finding was the Null coalescing operator:

// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

Something I really often use and need. So that gonna save me a few LOCs and time.

Another great thing that I could have needed in the past is the spaceship operator that allows easily to compare two values if they are less than, equal to, or greater than.

Another time I also need to really update my Javascript knowledge. Javascript extremely evolved over the last few years but due browser compatibility issues I always ignored many new features but now with full focus on Web Extensions I can finally leverage the Javascript possibilities of Chrome, Firefox and Opera.

Read a bit more about nginx configurations and solve a problem, that I had for some time.
Thanks for the task.

My tool ended up being docker-compose, and the research was as much about solving the problem in front of me as this challenge, but the timing was good.

Turns out when you run ‘docker-compose up’ the output from all the containers is captured, but when running ‘docker-compose up service_name’, only the output from service_name is captured, even when that service has dependencies.

1 Like

I read through the docs for the BeagleBone Black, which we’re using for an internal automation project, and found a couple of issues that affect our design.

1 Like

I recently started working with VS Code - a very recommended light-weight free IDE for many,many languages and frameworks if anyone don’t know it yet: https://code.visualstudio.com
I read the keyboard shortcuts and highlighted the most useful ones for me so I’m now up to speed with using it effectively as I do Eclipse. Good times :smile: