『Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!]』 http://www.amazon.co.jp//dp/4774173134
Laravelは個人的にはすごく好きなフレームワークです。PHP界のフレームワークはかなり氾濫していて、色々試したこともあるのですが、これぞ!というものにはなかなか巡りあうことができませんでした。
気にいるものがなかったので結局自分でフレームワークをつくったりしていた時期もあったのですが、Laravelを使ってみたところ、
これはすごくいいなーと思い、それ以来PHPで何かつくるときには愛用しています(とはいえちょっと開発の現場から離れていたこともあり、そんなに経験豊富なわけではないのですが)。
今年のあたまにver5.0にメジャーアップデートして、ますますパワーアップした感じです(その変更点などもばっちり本に載ってます)。
PHPという言語は色々とdisられキャラではありますが、Laravelみたいな使い心地の良いフレームワークも出てきているし、 言語自体も何かと進化しているし、色々な環境も変わりつつあり、最近はわりと良い感じなのではないかなーと思っています。
Laravelで書いているとわりと所謂PHPで書いている気がしないというか、まぁPHP書いてはいるんですが、それなりに気持よく書けるというかなんというか。
わりと単に使うだけの浅いフレームワークではなく、いじりがいがあるフレームワークだったりもするので、さくっと使い始めつつ、深く付き合っていける感じがあります。
さて肝心の書籍の方ですが、初心者から中級者以上までを幅広くカバーできるような内容になっていて、すごく良いと思いました。 今回は幸運にも献本いただきましたが、もし本屋で立ち読みしていたら即買いな感じです。
名前には「エキスパート養成」と書かれていてちょっと難しそうな感じもしますが、これからLaravelをはじめる人にとってもちょうど良い内容なのではないかと思いました。
Laravelはとても機能が豊富なフレームワークなので、すぐにすべての機能を使いこなすことはなくても、ざっと全体像や主要な機能を把握しておくと、これから少しずつ使い方を理解していく上で役に立つのではないかと思います。
あと、日本のLaravel界の中心にいる人たちが書いている本なので、細かなところにもさりげなくマニアックな感じがでていてとてもよいです。
PHPフレームワークの歴史などもさっくり書かれてますが、そのあたりも個人的にはとても楽しく読めました。
Laravelにちょっとでも興味がある人にはぜひおすすめです。
既成のフレームワーク使ってる時に困ることとして、フレームワーク自体がバージョンアップして互換性がなくて困ったみたいなことはみんなあると思います。
モダンな感じのものほどそういう側面があったりするのですが、5月にリリースを予定しているLaravel5.1は、LTSを予定しているとのことで、わりと安心して利用することができそうです。
Everything we know about Laravel 5.1
技術評論社
Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!] (Software Design plus)
http://www.amazon.co.jp//dp/4774173134
]]>※一部、明滅が続く箇所がこざいます。視聴の際は部屋を明るくし、長時間の視聴は避けるよう、お願い申し上げます。 TVアニメ「鬼灯の冷徹」エンディングテーマ 作詞:大槻ケンヂ 作曲:NARASAKI 編曲:Sadesper Record 歌:上坂すみれ Creative Staff Creative Director...
--
地震があったあの日は、たしか金曜日で、僕は入社3ヶ月来の仕事であるスマホ版トップページのリリースを控えていた。やるべき作業は終わっていたけど、GREEの新しい顔になる画面を少しでも良くしたいなと思い、ずっとコードをいじっていて、結局翌朝まで会社に残っていた。
朝になったので帰ろうとしていたら、わらわらと人が出社してきたので、何だろうと思い、聞いてみると募金のためのサイトをつくるという。募金・・・昨日の地震・・・急いでネットを見て日本が大変な事態になっていたことをようやく把握した。
グリーのコアメンバーが集まっていた。普段は各部署を統括している彼らが広いオフィスのほんの一角にかたまり、ものすごい勢いで議論して設計して実装していくさまは、すごくかっこよくて、思い出すとまるで映画のワンシーンのような気さえしてくる。 本当にただシンプルに、僕らが今できることをとにかくやる、という生々しさがあって、その純粋さがグリーっぽいなぁと感じたりした。
その日、僕にできたことはほんの少しだったけれど、熱い思いをカタチにするために集まった彼らの一人になれて本当によかったと思っている。
※ 僕は今はもうグリー社員ではないし、この文章は完全に個人的な責任において書いています。
]]>たとえば今日もこんなメールが送られてきて、内容はslideshareにアップロードしたスライドに関してのPVとかDL数のサマリーレポートなんだけど、見せ方がとてもいいと思った。 まるでRPGでレベルアップしてパラメータがあがったときの画面みたいで嬉しくなる。
こんな風にうまくみせてくれると、スライドつくったらまたslideshareにうpしようと思うよね。
# スライドはこちら
]]>またこのブログでは、ローカルと公開サーバで同じフォルダを共有していて、アップロードというものを意識しないような環境をつくってある。ローカルに置かれたファイルはDropbox経由で自動的にサーバ側に同期され、ブログとして公開される。
すべてのポストは公開するかどうかを示すpublishedフラグを持っており、それがtrueでないと公開されないため、書いてる途中でフォルダが同期されても公開されることはない。公開したい時にはフラグをtrueにして保存する。数秒まてば同期が完了し、記事が公開される。
僕が行うことは、記事を書いて保存するだけ、である。 ファイル名や書式の規則があるが専用のコマンドで自動化されてる。このあたりについてはまた書きたいと思う。
記事を書いたり公開するのがめんどくさいとブログを続けることが難しくなるので、簡単なことはとても大事だと思ってる。 もちろん簡単だから続くというものでもないけれど。
サーバ側ではwatchr
というツールでフォルダの変更監視を行なっている。パフォーマンスの観点からポスト一覧をキャッシュしているので、フォルダの内容に変化があった場合にキャッシュクリアの処理を走らせる必要があるからだ。
(僕が使ってるのはruby製のwatchrだけど、nodeにも同名で同目的のものがありそちらのほうがより今風な解決策かもしれない)
watch('source/posts') {|md| system('php artisan pochika:clear_cache') }
普段使っているDropboxのフォルダを全部サーバに同期する必要はないので、ブログ専用のアカウントを作って、その中のフォルダを本アカウントに共有して使用している。
Dropboxのlinux版を使うと簡単にフォルダ同期が実現できるので、色々と利用できそうである。
コマンドラインで Dropbox をインストールする https://www.dropbox.com/install?os=lnx
]]>Digi Fi No.10には、USB DAC 搭載デジタルヘッドフォンアンプが特別付録として付い てきます! このUSB DAC 搭載デジタルヘッドフォンアンプは、さきごろ超小型オーデ ィオ「NANOCOMPO」をリリースしたOlasonic のエンジニアが、精魂を傾けて設計した 逸品。繰返し実施された音質評価テストを経て、デジタル/ アナログ変換用IC や、新型オ ペアンプ(を選んだ他、音量調整機構に音質劣化を起こさない新しいアイデアを盛り込ん でいます。
特に音楽環境にこだわりがあったりするわけでは無いんだけど、仕事柄ずっとMacと向き合っていて、音楽を聞きながら作業をすることも多いので、ちょっとでも気分が良いと思える環境であることは大事な気がしている。
そんな風に思ってたまにちょっとがんばって高いヘッドフォンなどを買ってはなんとなく満足しつつ作業を行なっている。本当に集中すると音楽は耳に入ってこないのだけれど。
]]>最近いろいろマンネリ化していたので新しい刺激を、と思ったので「Laravel」というPHPフレームワークの勉強会で発表してきた。テックな発表は初めてで緊張してお腹が痛くなったけど、ひとまず無事終わってよかった。
資料は時間余っちゃうかなと思っていたらむしろ大幅にオーバーしたので、やはり準備と予行練習にもう少し時間をとれればよかったと反省している。 (忙しい時に限っていろいろ重なるものなんだということを今回も痛感した:p)
これがその資料 http://www.slideshare.net/takashiohida/laravel4
当日は最後まで読めず無念だったけど、こうしてネットで公開して広く見てもらえるのはいいね。
勉強会にむけて色々準備する中で、"発表するんだからちゃんとしよう"という緊張感をもって取り組めたのはよかった。縛りがないと緩んでしまう性格なので。
歳をとると新しいことに挑戦するのが億劫になったりその必要がなくなったりしてくるけど、あえてドキドキするようなことをやっていかないと成長しないのでこれからもいろいろがんばろうおう。
勉強会のために初めてやったこと
最近はじめたこと
前やってたけど最近やってなかったこと
ブログはなんとかできたが資料・・・
]]>Application Events
You may also do pre and post request processing by registering before, after, close, finish, and shutdown application events:
closeまではViewのレンダリング前に処理されるっぽい。
]]>laravel - A PHP Framework For Web Artisans
githubのlaravel/laravel
は4のレポジトリかと思ってたら、master
は3だった。
Hence, it is not possible to escape ]]> within a CDATA section. http://stackoverflow.com/questions/223652/is-there-a-way-to-escape-a-cdata-end-token-in-xml
CDATAの閉じタグ]]>
はエスケープできないらしい。
全ての
]]>
を]]]]><![CDATA[>
に置き換える。 http://d.hatena.ne.jp/holidays-l/20101210/p1
ということで、置換のメソッドはこんな感じ。
public static function cdata($value)
{
$value = str_replace(']]>', ']]]]><![CDATA[>', $value);
return sprintf('<![CDATA[%s]]>', $value);
}
]]>Universal Feed Creator
というのを使っていたが、わざわざライブラリを使うほどでもないので、ライブラリを使わずに書きなおした。
フィードのテンプレートはブログのテーマに依存するものでもないので、テンプレートエンジンにはLaravelのテンプレートエンジンのBlade
を使ってみた。
@foreach ($entries as $entry)
<entry>
<title>{{ $entry['title'] }}</title>
<link href="{{ $entry['url'] }}"/>
<id>{{ $entry['id'] }}</id>
<updated>{{ $entry['updated'] }}</updated>
<summary type="html"><![CDATA[{{ $entry['summary'] }}]]></summary>
</entry>
@endforeach
]]>bootstrap/start.php
$env = $app->detectEnvironment
local
production
にしとくのがlaravelっぽい設定か。
とりあえずdetectWebEnvironment()のデフォルトはproduction
。
protected function detectWebEnvironment($base, $environments)
{
// 中略
return $this['env'] = 'production';
}
]]>CodeKitすごい便利
$25の価値はある。買おう
]]>% php artisan serve --help
Usage:
serve [--host[="..."]] [--port[="..."]]
Options:
--host The host address to serve the application on. (default: "localhost")
--port The port to serve the application on. (default: 8000)
--help (-h) Display this help message.
--quiet (-q) Do not output any message.
--verbose (-v) Increase verbosity of messages.
--version (-V) Display this application version.
--ansi Force ANSI output.
--no-ansi Disable ANSI output.
--no-interaction (-n) Do not ask any interactive question.
--env The environment the command should run under.
]]>テリー伊藤が良い味出してる
]]>ロシア語でつぼみを意味することば。 DS版のFF4に登場するキャラクターらしい。
<新幻獣「ポーチカ」>
ポーチカはあらゆる幻獣の素体です。
パーティーが習得しているアビリティの中からバトルコマンドを選び、
戦闘に参加させることが出来ます。
さらに、顔のグラフィックも自分で作成することができる、自由度の高いキャラになっています。
ポーチカのステータスは収録されているミニゲームで変化します。
また、ワイヤレス通信を使って友達と対戦することも可能です。
あらゆる幻獣の素体・・・!
小さな体に宿す無限のアビリティ、新幻獣「ポーチカ」
あらゆる幻獣の素体というポーチカ。この新しいキャラクターは、パーティが取得している全てのアビリティの中からバトルコマンドを選ぶことができる。また、無線通信対戦を使って、友達と対戦することも可能。
小さな体に宿す無限のアビリティ・・・!
なんかかっこいい
]]>laravelのレポジトリをupstreamとして登録して解決する手段がフォーラムに載っていたのでメモ。
LARAVEL FORUMS - Troubleshooting problems after composer update
upstream
として登録
git remote add upstream git://github.com/laravel/laravel.git
更新を反映
git fetch upstream
git merge upstream/develop
これで更新を取り込める。
composer update
でエラーがでたらupstreamの更新を反映してみるとよさげ。