2010年11月25日木曜日

Smarty3がリリースされたようなので、いいところを紹介しよう

よりオブジェクト指向&高速になったSmarty3

PHP5でパーサーを一新されました。いきなり話は変わりますがw、PHP5.2からはオブジェクト指向で書いても速いし、PHP4より性能も良いので、未だにPHP4を使ってるのであれば移行しましょう。今は良くてもそのうち負債になりますよ。そしてその時は是非Smarty3を一足先に導入して人柱になってくださいね♪

Smartyふたたび

Smartyは、なぜか一時期(今も?)嫌われていましたが、個人的には使い方によっては生のPHPを使うより全然良いと思います。SmartyはHTMLのためのテンプレートエンジンとして使ってる人が多いかもしれませんが、テンプレートエンジンなので、例えば他のところでも変数展開を使いたい場面では使えます。例えば、定型型メール、テーマ別CSS、サーバ側で動的なデータを反映させたJavaScriptなど、意外にいろいろと使い道はあるんです。

Smarty3を使ってみて2にくらべて良いなーと思った点をあげてみます。あ、もしかしたら1に比べてかも...

  • nocacheがすこぶる便利
  • テンプレート内にJavaScriptを書くのが簡単になった
  • ファイル以外のテンプレートデータも扱える
  • 全米が泣いたフィルタの便利さ

他にも気付いたSmarty3のいい点があれば、また後日書くとして、上の4つはいいですよ!

nocache

例えば、ページ内の一部はキャッシュせず毎回その時のデータを入れたいとか。時刻くらいならJavaScriptでクライアントサイドでやっちまえよって話なんですが、そうでない時に便利です。Ajaxでほとんどいけるけど... キャッシュファイルにもPHPコードが残っておいてくれてるっていうことで、変数つっこんで使えるってのが便利なんすよ!!例えばJavaScriptを使わず、メール本文のテンプレートに使うときとか、トークンとかね!便利そうでしょ?便利ですよ!!

JavaScriptを書くのが簡単になった

HTML内部にJavaScriptを書くことを推奨しているわけじゃないですよ。でも時にJavaScriptを動的に生成したい時がありますよね?そういう時に便利です。JavaScriptもSmartyテンプレートで書いた事があります。静的ファイルじゃないといけないって誰が決めたんですかっ!?(切れ気味)

ちなみになぜ簡単になったかというと、デリミタが直後に空白を許さなくなったからです。正直literalで囲ったところでsmartyの変数を展開するのは面倒臭すぎたのです。でも今はliteralを使うケースは最小限に食い止められますよ!

ファイル以外のテンプレートデータも扱える

ごめん。詳しくはググって。きっとテンプレートデータをDBに持つか、ファイルに持つか、変数に持つかの違いだけど、そこを簡単に扱えるようにしてくれたんじゃないかな?(疑問形)

全米が泣いたフィルタの便利さ

あなたはCakePHPのビューファイル内でh関数を通すのに嫌気が差したことがないだろうか。CakePHPのこと詳しくないから知らないけど、生PHPだとエスケープ処理を必要なだけ通さないとといけません。もしエスケープ処理の方が圧倒的に多いのであれば、Smarty3でエスケープをデフォルトにする方法をご参考にどうぞ。しかし注意!その記事のやり方でも動きますが、正しいやり方は「$smarty->registerFilter('variable','htmlspecialchars');」です。記事の修正をしないと...

日本語のマニュアルがまだだけど

興味ある人は使ってみてね!語学力がある人は翻訳のお手伝いをしてみてはいかがでしょうか!

2010年11月24日水曜日

PMBOK(1) - デスマーチと残念な仕事の作り方

PMBOKに出会うきっかけに良いスライドがありましたので紹介です。

とにかくやってしまおうが全て

奇跡的に良い仕事ができたケースを除いて、最初のヒアリングとゴールの設定がうまくできていないプロジェクトはうまくいかないことが多いと思います。お客さんから依頼されてやる仕事も、社内のプロジェクトとも基本は同じで、知識や経験不足はともかく変な期待(甘え)と無謀な自己過大評価が重なり合うと残念な仕事になります。そしてさらにデスマーチまでに仕上げるには、無理なスケジュール&作業量というスパイスが必要です。実はカレーを作るくらい簡単にデスマーチは作れちゃうかもしれないと最近思うようになりました(笑

しかしそれじゃいかんのだ!!

1日でデスマーチという単語を複数人から聞いて...

なんだよ、これから新しいこと始めたいって時に縁起でもないこと言うなよ!と思いつつ、プログラマーの日常に潜みきれずに露呈されてるデスマーチ。デスマーチというか超過勤務&ストレスの高い仕事ですが、ダメとは言え、一時的なものであれば仕方がないと言えます。が、慢性的になると問題です。まずそんな悪い環境に本当に優秀な人材は入ってこないし、稀に優秀な人材が育っても、よほど情に脆い人でない限りは他所へ行くでしょう。深夜になっても会社の明かりが消えない、休日でも出社している人がいる会社は、従業員がクレイジーなほどにやる気に満ちあふれてるのは置いといて(冷めた時が衰退時)、人の入れ替わりが早いとなると、良い評価はされません。Web業界は3年会社に居たら長い方かもしれないという人材の流動が激しい業界ではありますが。

PMBOKふたたび

CSS Nite in HIROSHIMA, Vol.3で、Webプロジェクトマネジメント標準 PMBOK(R)でワンランク上のWebディレクションを目指すの著者の林千晶さんのスライドがいいですね!プロジェクトを成功させたいのなら、PMを目指すのなら、PMBOKに学び実践しましょう!僕はPMは目指してませんw でも、Webの仕事はどれもプロジェクトとして捉えることができるので、PMBOKで得た知識を少しずつ生かしてます。まだまだ勉強中です!

この本はWebサイト制作に特化したPMBOK(ピンボック)系の本です。Webサイト制作とはいっても全般ではなく、Webアプリなどソフトウェア的な部分は詳しくは触れていません。しかし、Webをやってる会社は1冊置いておいて損はないです。置いておくというよりか、実践しましょう!

9つの知識エリアの中でベスト4はこいつらだ

  1. スケジュール(タイム)
  2. 品質
  3. コスト
  4. 作業内容(スコープ)

まず、スケジュール、品質、コストの中の優先順位が大事です。作業内容はその3つの関係によって調整します。忘れてはいけない項目なのであえてあげました。

とにかくいいものができたらいいからは落とし穴

コストとスケジュールが不明で、いいものができたらいいからという言葉には、すでに煙が立っていることがありますw 後から「いつごろできそう?」と聞かれ、スケジュールも気にし始めるし、そもそも使えるお金は限られているんですから。

林さんのスライドを紹介したくて書き始めてしまったこの記事ですが、せっかくですので、次回に上にあげた4つの関係性についてもう少し詳しくまとめてみたいと思います。

2010年11月7日日曜日

CSS Nite in MIYAZAKI, Vol.1をやりましてん

台風で二度目の延期かと思ったけど、無事開催できました

ほんと、天も味方につけてやった感じでした。いろいろとあったけど、周りの人に支えられなんとか丸く納めることができましたー!ありがとうござましたm(_ _)m

セッションの内容も良かったし、120名くらいの真剣な眼差し、メモを取る人を見てると実行員としてやってよかったーと思いました。特に50名が参加した親睦会で同業者が賑やかに話をしてるのを見た時は言い表せない喜びを感じました。

本当は5月開催で今頃が2回目の開催の予定だったけど、口蹄疫により開催直前に延期になったりといろいろありました。今回も台風のせいで危うかった。今回開催できてほんとによかった。またやりたいですね!!

写真はくろ。さんのブログにあります。すごく綺麗です。