[php][Laravel]Laravel本のまとめ
Laravel本の日本語と英語の本をまとめました。
日本語
Laravel: Code Happy… Dayle Rees 著 et al. [Leanpub PDF/iPad/Kindle]
CodeHappyの日本語訳版です。Laravel3の解説です。
Laravel 3公式ドキュメント日本語版 Hirohisa Kawase 著 [Leanpub PDF/iPad/Kindle]
Laravel3 の公式解説の日本語訳です。
Laravel 4 ドキュメント+ Hirohisa Kawase 著 [Leanpub PDF/iPad/Kindle]
Laravel4 の公式解説の日本語訳です。
英語
Laravel: Code Happy by Dayle Rees [Leanpub PDF/iPad/Kindle]
Laravel3 の教科書的存在の解説書です。
Laravel Starter | Packt
CodeHappy よりは上級者向けの解説書です。
Laravel Application Development Cookbook | Packt
Laravel のクックブックです。
未発売
Laravel: Code Bright by Dayle Rees [Leanpub PDF/iPad/Kindle]
CodeHappyのLaravel4版です。
日本語版の発売も予定されています。
Laravel Testing Decoded by JeffreyWay [Leanpub PDF/iPad/Kindle]
Laravel のテストの解説書です。
発売は5月中旬から下旬らしいです。
日本語版の発売も予定されています。
Laravel 勉強会 東京 vol.1
Laravel 勉強会 東京 vol.1 : ATND
日時 :2013/05/24 19:00
会場 :VOYAGE GROUP セミナールーム パンゲア (東京都渋谷区神泉町8-16 渋谷ファーストプレイス8F)
「Laravel 勉強会 東京 vol.1」を開催します。
Laravel にご興味がある方はご参加ください。よろしくお願いします。
デブサミ2013に参加してきました
2/14 と 2/15 に「デブサミ2013」に参加してきました。
私自身、過去に何度か参加した事あるのですが、今年は業務改善で開発スピードを加速させた企業の話が印象的でした。
スタッフの方、登壇者の方、お疲れ様でした。
私が参加したセッションは下記です。
14日
【14-A-1】Webブラウザの時代は終わるのか?~スマホアプリとHTML5の未来~:Developers Summit 2013
発表資料
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
今回のデブサミ2013の中で、ウエブ系の発表で一番参考になった発表でした。
ウェブとアプリでは、対立する存在ではなく、それぞれ補う存在だという事でした。
【14-B-5】チケット駆動開発の本質:Developers Summit 2013
発表資料
【公開】チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ #devsumi #devsumiB: プログラマの思索
チケット駆動開発とは山登りのようなもの、らしいです。
- Ticket First
- 成果物は構成管理に従う
の話が印象的でした。
【14-A-7】ソーシャルコーディング革命後の開発委託の世界〜QA@ITの事例:Developers Summit 2013
GitHub時代の開発委託とは? デブサミでQA@ITの事例の話をします - QA@IT公式ブログ
いずれソーシャルコーディングは企業内に浸透する
という話が印象的でした。実例を交えてお話されたのがとても印象的でした。
15日
【15-A-3】モバイル HTML5 による世界への挑戦:Developers Summit 2013
モバイルhtml5は、実はアメリカより日本の方が進んでいるそうです。
【15-A-7】ワンクリックデプロイ ~いつまで手でデプロイしてるんですか~:Developers Summit 2013
自動化でデプロイするには、最初っからプロジェクトに組み込んでおく必要がある。
amazon は最高1時間に1200回デプロイしている。
【15-A-8】アジャイルサムライって当たり前になるのかな?:Developers Summit 2013
アジャイルサムライについて、ラフに語るセッションでした。
デブサミ2013最後のセッションということもあり、和やかな雰囲気でスタートしました。
西村直人さんの、ご自身での経験をもとに話されていたのが、とくに印象的でした。最初は1人でペア・プログラミングをしていたとかのジョークを交えた、とても楽しいセッションでした。
Subversion の リポジトリフック で Redmine と連携してみた
環境は以下です。
- Subversion のバージョンです。
"--quiet"を付けるとバージョンのみ表示されます。
$ svn --version --quiet 1.6.11
- Redmine や、その他環境のバージョンです。
Environment: Redmine version 2.2.2.stable Ruby version 1.9.3 (i686-linux) Rails version 3.2.11 Environment production Database adapter Mysql2
Redmineの設定
小技(0.9): コミットと同時にリポジトリの情報を取得する | Redmine.JP Blog
を参考に「Redmineの設定」を終わらせます。
Subversionの設定
続いて「Subversionの設定」をします。
# pwd /var/www/svn/*****/hooks # cat post-commit #!/bin/sh EPOS="$1" REV="$2" /usr/local/bin/ruby -ropen-uri -e 'open("http://*********/redmine/sys/fetch_changesets?key=********")' # chown apache:apache post-commit # chmod +x post-commit
リポジトリフックを使って「参照用キーワード」や「修正用キーワード」のチェック
続いて、リポジトリフックを使って「参照用キーワード」や「修正用キーワード」が
設定されているかのチェックをします。
pre-commit によるコミットの拒否の方法
pre-commit によるコミットの拒否の方法 (part2)
を参考にしました。
http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/hook-script/check-commit-log.pl
をリポジトリフックに登録しました。
svn のリポジトリフックが置いてあるディレクトリに下記を登録しました。
$ cat pre-commit
#!/bin/sh# PRE-COMMIT HOOK
#
# The pre-commit hook is invoked before a Subversion txn is
# committed. Subversion runs this hook by invoking a program
# (script, executable, binary, etc.) named 'pre-commit' (for which
# this file is a template), with the following ordered arguments:
#
# [1] REPOS-PATH (the path to this repository)
# [2] TXN-NAME (the name of the txn about to be committed)
#
# [STDIN] LOCK-TOKENS ** the lock tokens are passed via STDIN.
#
# If STDIN contains the line "LOCK-TOKENS:\n" (the "\n" denotes a
# single newline), the lines following it are the lock tokens for
# this commit. The end of the list is marked by a line containing
# only a newline character.
#
# Each lock token line consists of a URI-escaped path, followed
# by the separator character '|', followed by the lock token string,
# followed by a newline.
#
# The default working directory for the invocation is undefined, so
# the program should set one explicitly if it cares.
#
# If the hook program exits with success, the txn is committed; but
# if it exits with failure (non-zero), the txn is aborted, no commit
# takes place, and STDERR is returned to the client. The hook
# program can use the 'svnlook' utility to help it examine the txn.
#
# On a Unix system, the normal procedure is to have 'pre-commit'
# invoke other programs to do the real work, though it may do the
# work itself too.
#
# *** NOTE: THE HOOK PROGRAM MUST NOT MODIFY THE TXN, EXCEPT ***
# *** FOR REVISION PROPERTIES (like svn:log or svn:author). ***
#
# This is why we recommend using the read-only 'svnlook' utility.
# In the future, Subversion may enforce the rule that pre-commit
# hooks should not modify the versioned data in txns, or else come
# up with a mechanism to make it safe to do so (by informing the
# committing client of the changes). However, right now neither
# mechanism is implemented, so hook writers just have to be careful.
#
# Note that 'pre-commit' must be executable by the user(s) who will
# invoke it (typically the user httpd runs as), and that user must
# have filesystem-level permission to access the repository.
#
# On a Windows system, you should name the hook program
# 'pre-commit.bat' or 'pre-commit.exe',
# but the basic idea is the same.
#
# The hook program typically does not inherit the environment of
# its parent process. For example, a common problem is for the
# PATH environment variable to not be set to its usual value, so
# that subprograms fail to launch unless invoked via absolute path.
# If you're having unexpected problems with a hook program, the
# culprit may be unusual (or missing) environment variables.
#
# Here is an example hook script, for a Unix /bin/sh interpreter.
# For more examples and pre-written hooks, see those in
# the Subversion repository at
# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
REPOS="$1"
TXN="$2"# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null || exit 1# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
#commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
/usr/bin/perl $REPOS/hooks/check-commit-log.pl $REPOS $TXN || exit 1# All checks passed, so allow the commit.
exit 0
以上です。
(時間が無くて殴り書きっぽくなったので、後で修正するかも。。。)
デブサミ2013に参加します
「Enterprise」「Social Game」「startup」3つの世界のAction!:Developers Summit 2013
- 2月14日(木)・15日(金) @ 目黒雅叙園(東京)
2月14日(木)・15日(金)はデブサミ2013に参加します。
参加される方はよろしくお願いします。
FuelPHP vs CodeIgniter #FuelPHPAdvent2012
この記事は FuelPHP Advent Calendar 2012 : ATND の 23日目の記事です。
昨日は@ts_asanoさんの「QueryBuilderで小難しいSELECT文を書くためのノウハウ #FuelPHPAdvent2012 - Dazing days」でした。
本日の「FuelPHP Advent Calendar 2012」は @mukaken こと向井が担当させて頂きます。よろしくお願いします。
本日は「FuelPHP vs CodeIgniter」について書きます。
FuelPHPのコア開発者はCodeIgniterに関わった事のある人達が作ったFWですので、両FWは非常に似ています。
また、私自身、FuelPHP と CodeIgniter の両方のユーザなので、両方の比較記事を書きます。
ライセンス、対応する PHP のバージョン、開発元
ライセンスや対応するPHPのバージョン、開発元などについての比較です。
名称 | 本家ホームページ | ライセンス | 対応する PHP | 最新の安定バージョン | 開発元 |
---|---|---|---|---|---|
FuelPHP | http://fuelphp.com | MIT | 5.3 以上 | 1.4 | コミュニティ |
CodeIgniter | http://ellislab.com/codeigniter | CodeIgniter License | 5.1.6 以上 | 2.1.3 | アメリカのEllisLab |
本家ホームページ
今年、両方ともリニューアルされました。特に大きな変化があったのはCodeIgniterで、URL が今年の12月になり変わり、ellislab.comの直下になりました。これは、何かの意図があるのかは不明ですが、より企業ベースで開発されている感が感じられるようになりました。
ライセンス
FuelPHP は MIT ですので何も問題ないでしょう。
CodeIgniter のライセンスは、現時点では CodeIgniter License ですが、今後は OSL 3.0 になる予定です。この OSL 3.0 といわれるライセンスが非常に難しく、変更になる件については一時期、本家のフォーラム(CodeIgniter changes license to OSL 3.0? / Forums / Community / EllisLab)や、いろいろなサイトで活発に議論されていましたが、ここ最近半年は議論している人を見かけなくなりました。
コミュニティ
FuelPHP
日本のコミュニティの活動は凄く活発です。今年、短期間で爆発的に増大しました。
私自身、「FuelPHP 日本語ニュース | Facebook」でFuelPHPの記事についてウォッチしているのですが、ほぼ毎日、日本語で何かしらののブログが書かれています。
日本以外ではブラジル、アジア諸国で人気が高いと感じます。
また、本家フォーラムの方もより一層活発になってきています。
CodeIgniter
日本では、それほど活発ではありませんが、世界的にはかなり巨大なコミュニティになっています。
日本以外だと、FuelPHPと同じくブラジル、アジア諸国がとくに活発だと感じます。
本家フォーラムは活発過ぎてカオス状態になっています。何が何だか分からない状態です。
注目度
注目度の比較です。
web での注目度の指標として「Google トレンド」が使われるのを、よく見かけますが、今回は開発者に注目されている指標として近いであろう「はてなブックマーク」と「stackoverflow」で比較してみました。
やはり、実際の運用や業務で使用していて、困った事がでてきたときに開発事例が豊富にあり探せるというのは心強いです。
はてなブックマーク
日本国内で使われているであろうサービスで、web系サービスの人気度が分かるといえば、はてなブックマークです。
ブックマーク数が1user以上で、それぞれのタグ名別で比較しました。
- http://b.hatena.ne.jp/search/tag?sort=recent&q=codeigniter&users=1
- Codeigniter : 1,342
ブックマーク数の結果は大差ありませんでした。
Codeigniter より FuelPHP の方が新しいフレームワークという点を考慮すると、短期間で数が増えた FuelPHP の方が勝っています。
stackoverflow
Stack Overflow は世界中のプログラマーが連日連夜、技術的な疑問を投稿しているサイトです。
stack overflow でのタグの数を比較してみました。
- FuelPHP : 198
- Codeigniter:15,047
やはり、世界的にみると Codeigniter が強いみたいです。 FuelPHP はこれからといった感じでしょうか。
ドキュメントの読みやすさ
両方とも、とても使いやすいドキュメントページだと思います。FuelPHP や Codeigniter が、他のフレームワークと比べて優れている点は、やはりドキュメントの読みやすさだと思います。
両方ともすばらしいのですが、FuelPHP の方が目次をマウスオーバすれば色分けされて表示されるなど、より見やすいように工夫されています。
パフォーマンスの比較
パフォーマンスの比較をしてみました。
前提
- FuelPHP 1.4
- CodeIgniter 2.1.3
Model Name: MacBook Air
Model Identifier: MacBookAir4,1
Processor Name: Intel Core i5
Processor Speed: 1.6 GHz
Memory: 4 GB
localhost にて、それぞれのFWはデフォルト設定でコントローラーに"Hello World!"と表示する単純な例で比較しました。
比較ツールは siege を使い、下記の設定で実行しました。
siege -b -c 10 -t 3S http://localhost
結果
- FuelPHP
- Transaction rate : 93.06 trans/sec
- CodeIgniter
- Transaction rate : 155.67 trans/sec
(Transaction rate : 数値が高い方が、よりアクセスがさばけている)
パフォーマンスの比較では FuelPHP より Codeigniter の方が性能が良いという結果になりました。FuelPHP の方が何かと便利ですが、速いとなると Codeigniter の方です。
ただ、ある程度のアクセスが見込めるようなパフォーマンスが気になるサイトとなると、リバースプロキシを使ったりとwebのシステム全体で最適化するので、今回比べたような Web FW 自体の純粋な性能は問題にならないかもしれないです。
案件での採用のしやすさ
実案件での国内での代表的な採用実績
上記以外の、日本でのビジネス的な実案件での採用実績を調べようとしたのですが公開されている企業が少なく分かりませんでした。
ですので、PHP のイベントや IT 勉強会で聞いた、私の知る限りで書きます。
現在、実稼働しているサービスで多く使われている方は Codeigniter でした。
ただし、小規模な受託案件(開発メンバは1から3人)や自社サービスなどの開発環境を開発者が自ら自由に選べる新規案件では FuelPHP を採用したという話をよく聞きました。
現時点で実稼働しているサービスは Codeigniter で、新規案件では FuelPHP を採用するという流れみたいです。
開発メンバーの集めやすさでは FuelPHP にしろ Codeigniter にしろ学習コストが低いので、PHPプログラマーならすぐに開発メンバーに加われるので問題ないと思います。
イースター・エッグ
イースター・エッグとはプログラムの裏技の事です。
FuelPHP には Mac 限定で喋る機能や、 oil から表示されるロボットなど、いろいろな楽しい仕組みが提供されています。
Codeigniter には裏技的なものがありません。
機能面 & まとめ
機能面の比較に関しての詳細な比較は、Google で検索すると、すばらしい記事を書かれたブログが多数ヒットします(例えばCodeigniter vs FuelPHP (Revisited) - I Like Kill Nerdsなど)。
ですので、詳しくはそちらを参考にしていただくとして、今回は私が感じた事を書きます。
機能の多さは FuelPHP > CodeIgniter です。FuelPHP にあって CodeIgniter にない機能は、大抵はCodeIgniter の本家フォーラムを探せば同じような機能の追加方法(ハック)が見つかります。しかし、CodeIgniter のコアを改造しなければいけないものもあり、そうするくらいなら最初から、ある程度まとまっている FuelPHP を採用した方がいいように思います。
新規案件で FuelPHP か CodeIgniter を採用するのを迷っているなら、 思いきって FuelPHP を採用するのもいいかもしれません。FuelPHP の方が凄く開発が活発で新機能が積極的に取り入れられていますし、日本のコミュニティが活発だからです。
そして、何より開発時のコードがシンプルに保たれていて開発者の気分が良いからです。
[book]書評『@cosme公式総合年鑑 2012年保存版@cosmeクチコミランキング 940万件のクチコミ集計結果発表』
@cosme公式総合年鑑 2012年保存版@cosmeクチコミランキング 940万件のクチコミ集計結果発表 (講談社 Mook)
- 作者: 講談社
- 出版社/メーカー: 講談社
- 発売日: 2012/03/12
- メディア: ムック
- クリック: 15回
- この商品を含むブログ (5件) を見る
「@cosme」という、コスメフリークなら当然知っているであろうコスメのクチコミサイトが出した本です。
2011年で一番売れた化粧品ランキングがジャンルごとに掲載されていますので、コスメ系マーケティングをされている方に凄く役立ちそうな感じがします。
本書の「おわりに」に書かれていますが、2011年は節約志向が高まってきている年で「自分基準」で「本当に納得できた商品」を選ばれる方が増えてきているそうです。インターネットサービスの流行も同じようにフェイスブックのタイムラインなど、自分基準のサービスが流行っていますね。今の時代は「自分基準」がキーワードになっているのだと思います。
また、本書は写真が沢山載っているので、普通のコスメ好きの方も見ているだけで楽しめると思います。
本書をIT技術書に例えるとなると、、、
オライリーの本に例えると『●●が知るべき97のこと』か『Hacksシリーズ』だと思います。同じように、ページごとに内容が分離していますので、通勤電車などの空き時間に読むのにも適していると思います。
本書の定価は1,000円ですが、@cosmeのwebショップで使える500円のクーポンが付いていますので、実質の価格は500円です。
これはお得です!
おまけ
@cosme ランキング −コスメ・化粧品・美容の最新ランキング−
当ブログを見ている方が興味があるのは「@cosme」のランキングのアルゴリズムだと思います。「@cosme」のランキングのアルゴリズムは非公開で、いまだ読解されていないみたいです。
『Amazonランキングの謎を解く: 確率的な順位付けが教える売上の構造 (DOJIN選書)』という本に書かれていたのですが「確率順位付け模型による分析」を使うと非公開のランキングのアルゴリズムが分かるみたいです。
数学の得意な方はランキングのアルゴリズム読解に挑戦してみてはいかがでしょうか!?