These learning resources primarily focus on Test Driven Development (TDD).
- There is an emphasis on learning using PHP, Laravel and PHPUnit.
- All these resources are free (at the time of writing)
<?php | |
// Usage: | |
// Before | |
@if ($errors->has('email')) | |
<span>{{ $errors->first('email') }}</span> | |
@endif | |
// After: |
<?php | |
// Helper usage: | |
// timeTravel(Carbon::parse('one year ago'), function () {...}); | |
function timeTravel($target, $callback) { | |
Illuminate\Support\Carbon::setTestNow($target); | |
return tap($callback(), function () { | |
Illuminate\Support\Carbon::setTestNow(); |
[user] | |
email = [email protected] | |
name = John Smith | |
[push] | |
default = simple | |
[alias] | |
co = checkout | |
ci = commit | |
czp = cz && git pu | |
st = status |
<?php | |
// File: app/SelfDiagnosis/Checks/CanReportToRollbar.php | |
namespace App\SelfDiagnosis\Checks; | |
use BeyondCode\SelfDiagnosis\Checks\Check; | |
use Dotenv\Dotenv; | |
use Illuminate\Foundation\Bootstrap\LoadConfiguration; | |
use Rollbar\RollbarLogger; |
<?php | |
namespace App\Libraries\Queue; | |
use Illuminate\Events\Dispatcher; | |
use Illuminate\Queue\DatabaseQueue; | |
use Illuminate\Support\Str; | |
use Laravel\Horizon\Events\JobDeleted; | |
use Laravel\Horizon\Events\JobPushed; | |
use Laravel\Horizon\Events\JobReleased; |
tail -f -n 450 storage/logs/laravel*.log \ | |
| grep -i -E \ | |
"^\[\d{4}\-\d{2}\-\d{2} \d{2}:\d{2}:\d{2}\]|Next [\w\W]+?\:" \ | |
--color |
function art($arg1,$arg2,$arg3,$arg4,$arg5) { php artisan $arg1 $arg2 $arg3 $arg4 $arg5} | |
function migrate () { | |
art migrate | |
} | |
function migrate:r () { | |
php artisan migrate:refresh; php artisan migrate --seed | |
} | |
function c:i () { |
Sarah Lim, Northwestern University
Update, September 2019: This Gist detailed an early idea which formed the basis for a major research project. For more information, you can read the resulting full paper, which received Best Paper Honorable Mention at UIST 2018. A tool based on this research is now available on Firefox Nightly.
Hidden dependencies between CSS properties are a common source of beginner confusion. For instance, a user might write the following code in order to vertically align some text within a <div>
: