[Git] 参考書 「Pro Git」

クリエイティブコモンズで無料公開されている。

Git – Book
http://git-scm.com/book/ja/v2

[Git] コミットメッセージの書き方

コミットメッセージの書き方に迷ったら以下の記事に戻ろう。

Gitのコミットメッセージの書き方 | プログラミング | POSTD
http://postd.cc/how-to-write-a-git-commit-message/

素晴らしいコミットメッセージを書くための7つのルール

  • タイトルの後は1行空けて本文を書く
  • タイトルを50字以内におさめる
  • タイトルの文頭を大文字にする
  • タイトルの文末にピリオドを付けない
  • タイトルは命令形で記述する
  • 本文は1行あたり72字以内におさめる
  • 本文ではどのようにではなく何をとなぜを説明する

[ホスティング] ブラウザのキャッシュの振る舞いを制御する (HTTP)

デザイナから苦情あり。CSSを更新してディプロイしてもブラウザ上で変化が確認できず、ブラウザでページを強制リロードして初めて変化が現れるとのこと。恐らくキャッシュに関係した問題だろう。そういえば以前、前任のフロントエンドプログラマと前任のインフラエンジニアがキャッシュが云々と色々いじっていたっけな。

ブラウザ組み込みの開発者ツールでHTTPレスポンスをダンプしたところ以下の記述を発見。キャッシュされているデータを使うように常にブラウザに強いている。どうやらく前任者が試行錯誤したままの状態で放置したのだろう。これじゃあCSSを更新しても反映されなくて当然だ。

政治的な理由でNginxの設定変更は僕には許されていないので、データセンタのインフラ担当に依頼して以下のように変更してもらって解決。

ブラウザのキャッシュコントロールを正しく理解する

以下の記事がわかりやすかったのでリンク&まとめ。

ブラウザのキャッシュコントロールを正しく理解する – Qiita
http://qiita.com/hkusu/items/d40aa8a70bacd2015dfa

①ブラウザに一切、キャッシュさせたくない場合

②ブラウザにキャッシュさせるけど、変更ないか都度確認するようにしたい

③ブラウザにキャッシュさせ、都度確認はそれほど必要ない

参考サイト

Leverage Browser Caching | PageSpeed Insights | Google Developers
https://developers.google.com/speed/docs/insights/LeverageBrowserCaching

Page caching with Nginx – whitespace
http://whitequark.org/blog/2014/04/05/page-caching-with-nginx/

HTTPヘッダチューニング Expiresヘッダについて | REDBOX Labo
http://blog.redbox.ne.jp/http-header-expires.html

Expiresヘッダを追加しよう! | dogmap.jp
https://dogmap.jp/2007/09/04/add-an-expires-header/

たった数分!ページ高速化のためhtaccessでキャッシュ設定は絶対やっておこう!
https://syncer.jp/page-cache-setting

ブログ – expiresヘッダを調整して画像の通信量を抑制する
https://principle-works.jp/blog/setup-expires-header-and-reduce-image-traffics/

[Android] Android Studioをインストールする

開発中のウェブサイトの体裁をAndroidデバイスで確認したいけどデバイスを持っていない。なので、とりあえずエミュレータをセットアップする。

動作要件

Android Studio と SDK Tools のダウンロード | Android Developers
http://developer.android.com/intl/ja/sdk/index.html

システム要件 (Windows)

  • Microsoft® Windows® 8/7/Vista/2003 (32-bit 版または 64-bit 版)
  • 2 GB 以上のシステム メモリ(RAM)、4 GB 以上を推奨
  • 400 MB の空き容量のあるハードディスク
  • Android SDK、エミュレータのシステム イメージ、キャッシュ用には少なくとも 1 GB 以上
  • 1280 x 800 以上の画面解像度
  • Java Development Kit (JDK) 7
  • エミュレータ アクセラレータ向け(任意): Intel® VT-x、Intel® EM64T(Intel® 64)、Execute Disable(XD)ビット機能対応の Intel® プロセッサ

インストール

Android Studioのインストール
Installing the Android SDK | Android Developers

http://developer.android.com/intl/ja/sdk/installing/index.html?pkg=studio

Android Studio
android-studio-bundle-141.2456560-windows.exe

JREのインストール
Java SE Runtime Environment 8u74
Windows x64(54.9 MB) jre-8u74-windows-x64.exe

JDKのインストール
Java SE Development Kit 8 Downloads
Windows x64 (187.31 MB) jdk-8u74-windows-x64.exe

参考サイト

SAMSUNG Developers
http://developer.samsung.com/home.do

Developer and Open Source Resources at Motorola
http://www.motorola.com/us/Motorola-Developers/motorola-developers.html

[PHP] Visutal Studio Code 入門

PHPのコーディングにNetBeansがあまりに重いので、ふと思い立ってVisual Studio Codeをダウンロード。メモリ消費がNetBeansは350MBに対して、Visual Studio Codeは83MB。PHPのコーディングに使ってみよう。

公式ドキュメント

Visual Studio Code 1st Step Guide
http://download.microsoft.com/download/3/6/F/36FE7C6C-2CDB-44B1-AB66-079E6E9DD219/Visual_Studio_Code_1st_Step_Guide_FullContents.pdf
フルバージョン 2015年7月17日 (v.1.0)

特集:Visual Studio Code早分かりガイド:

1. Visual Studio Codeの使い方、基本の「キ」 (1/4) – @IT
http://www.atmarkit.co.jp/ait/articles/1507/10/news028.html
2015年07月10日

2. Visual Studio CodeでGitを利用する (1/4) – @IT
http://www.atmarkit.co.jp/ait/articles/1507/21/news017.html
2015年07月21日

3. Visual Studio Codeの使い勝手をよくするツール (1/5) – @IT
http://www.atmarkit.co.jp/ait/articles/1509/08/news019.html
2015年09月08日

4. Visual Studio Code 0.8.0の新機能 (1/3) – @IT
http://www.atmarkit.co.jp/ait/articles/1509/18/news029.html
2015年09月18日

5. Visual Studio Codeでエクステンション機能を使ってみよう (1/2) – @IT
http://www.atmarkit.co.jp/ait/articles/1511/27/news029.html
2015年11月27日

6. Visual Studio Codeのエクステンションを作成する (1/2) – @IT
http://www.atmarkit.co.jp/ait/articles/1511/30/news030.html
2015年11月30日

[Laravel] 多言語サイトの実践的実装

この記事のおかげで、多言語サイト実現のための言語切り替えをどうやって仕込もうかと悩んでいたのが一気に解決した。ありがたや。

Laravel 5 And His F*cking non-persistent App SetLocale
http://mydnic.be/post/laravel-5-and-his-fcking-non-persistent-app-setlocale

config/languages.php

routes.php

front-end

app/Http/Middleware/Language.php

Kernel.php

[Laravel] ローカライゼーション

基本的な方法は公式ドキュメントに網羅されている。

Localization – Laravel – The PHP Framework For Web Artisans
https://laravel.com/docs/5.2/localization

実践的には以下を自前で用意しないといけなさそう。

  • 言語設定の切り替え (setLocateの呼び出し)
  • 言語設定の維持 (セッションやクッキーを使ってlocaleを維持)
  • 言語ファイルの編集方法 (CMS的な方法)

[Laravel] IoCコンテナとDIパターン 参考リンク

Inversion of Control Containers and the Dependency Injection pattern
http://www.martinfowler.com/articles/injection.html

(翻訳) Inversion of Control コンテナと Dependency Injection パターン
http://kakutani.com/trans/fowler/injection.html

Inversion of Control

制御の反転 – Wikipedia
https://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E3%81%AE%E5%8F%8D%E8%BB%A2

Laravel4、IoCコンテナの魔術
http://kore1server.com/146

Laravel IoC コンテナの使い方 – Shin x blog
http://www.1×1.jp/blog/2014/02/how-to-use-ioc-container-in-laravel.html

Laravel5 – もっと強力的なIoC (4th) – Qiita
http://qiita.com/fluke8259/items/99d019a1a8a9f32508b2

Iocコンテナについて
http://www.slideshare.net/trtraki/ioc-48749471

Dependency Injection

依存性の注入 – Wikipedia
https://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3%A8%E5%85%A5

派遣労働者から見た、「まずはこう使え、DIコンテナ」 – Qiita
http://qiita.com/morisuke/items/fcd9027eb5250c30dbba

Laravel4、依存注入とコンテナ(1)
http://kore1server.com/184