githubで「error: The requested URL returned error: 403 Forbidden」

github.comにgit pushしようとすると以下のエラーが出る。

$ git push origin master
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/user_name/repo_name.git/info/refs

fatal: HTTP request failed

やり方は複数あるようだが、一番簡単なのは、httpsで接続し、githubのユーザーIDとパスワードで認証する方法みたい。

やり方だが、.git/configを次のように修正する。ユーザー名とリポジトリ名は適宜読み替えてください。

[remote "origin"]
        url = https://ユーザー名@github.com/ユーザー名/リポジトリ名.git

修正が完了したら、git push時にパスワードを入力して完了。

生産性向上

Jason Lengstorf氏は、自身の仕事の方法が原因で体を壊したことをきっかけに、コンピュータの使用時間を週40時間に制限することを決め、90分のブロックを単位とした、集中度の高い作業ポケットを設定した。労働時間を少なくすれば、過労や集中力の欠如を防止することができる。労働時間と同じようなケアレベルで休息時間を扱うこと、創造的なつながりを作り、元気を取り戻し、作業の目的を思い出すために休憩を利用することが必要だ。

www.infoq.com

個人レベルで可能な生産性向上の一番の方法は、睡眠の確保だと思う。 ずっと集中することは難しいので、最低限ではあるが昼間に眠くならないようにしたほうが良い。 昼間に眠くなると数時間から半日単位で仕事ができなくなる。 会社の業務中に寝るなんてあり得ないという人がいるが、そういう人でも昼間に眠そうにアクビしているケースがある。 そうはならないためにも、十分な睡眠を確保することだと思う。

DomDocumentでXMLを出力したら<head/>タグが出る

simplexml_load_file()XMLが読み込めないため調べてみると、XMLファイルの中に<head/>タグが含まれていていて、パースエラー起こしてた。 var_dump()すると出てないんだけど、printやechoすると表示される。 HTTPヘッダのContent-Typeをtext/xmlにしたら出なくなった。

<?php
$dom = new DomDocument('1.0', 'UTF-8');
$conditions = $dom->appendChild($dom->createElement('items'));
$condition = $conditions->appendChild($dom->createElement('item'));
$condition->appendChild($dom->createElement('name', 'りんご'));

$dom->formatOutput = true;
header("Content-Type: text/xml");
echo $dom->saveXML();
?>

なんだこれ。

iframeを枠を見せずに綺麗に埋め込みたい。

iframeを使っているのを悟られたくない。document.write()したかのように見せたい!!

<iframe src="https://xxxxxxxxxx" scrolling="no" frameborder="0" style="width:100%;max-width:100%;min-height:500px;overflow-y:visible;"></iframe>

Macの2つのAppを並べて表示できるようになるSplit Viewが便利

Split Viewを利用すると、Macの画面に2つのAppを並べて表示できるようになります。Macの標準機能なのがいいですね。

support.apple.com

この機能のせいでウルトラワイドモニターが欲しくなりました。

34インチのウルトラワイドモニターの価格が4万弱。

LG モニター ディスプレイ 34UM59-P 34インチ/21:9 ウルトラワイド/IPS非光沢/HDMI×2

LG モニター ディスプレイ 34UM59-P 34インチ/21:9 ウルトラワイド/IPS非光沢/HDMI×2

画面が湾曲すると+2万円で6万弱です。

.envファイルの更新後は、php artisan config:cacheが必要

Laravelで作成したアプリの動かした際に、次のようなRuntimeExceptionが出た。

RuntimeException
No application encryption key has been specified.

どうやら、.envファイルにAPP_KEYの指定が無い模様。

php artisan key:generate
php artisan config:cache

php artisan key:generate だけでは設定が反映されないため、php artisan config:cache を実行する必要がある。

LaravelでJobをキューに追加する

PHPフレームワークの雄であるLaravelで、非同期処理をJobで書いた後、動作確認を行いたいときがある。その場合、賢い皆様はテストコードを書いたり、ダミーのコントローラーを書いたりするのだろうが、いずれも面倒だ。今回は、Jobを対話的シェルのtinkerで実行する方法を紹介する。

$ php artisan tinker
Psy Shell v0.9.6 (PHP 7.1.7 — cli) by Justin Hileman
 >>> Bus::dispatch(new \App\Jobs\ InvoiceEmail());
=> 58
 >>> exit
Exit:  Goodbye
$ php artisan queue:listen
[2018-06-21 19:08:46] Processing: App\Jobs\ReceivedMail
[2018-06-21 19:08:46] Processed:  App\Jobs\ReceivedMail
^C