ザラッと訳してみる
元々がちょっと変な所は手を入れてます。なんだか良く判らんのは原文残してます。添削してつかあさい。
40 signs you really are a lousy PHP programmer
- phpDoc 等でコードにコメントを入れない
- Zend Studio や Eclipse PDT の様な IDE の恩恵に目を向けない
- Subversion 等のバージョン管理ツールを使おうとしない
- プロジェクトにて、コーディング・命名規約や共通の規約を設けない
- 一貫性の有る手順を設けない
- 入力値や SQL クエリのエスケープ、検証をしない
- コードを書く前にアプリケーション全体の計画をしない
- テスト駆動開発を行わない
- error_reporting を on にしないで開発、テストをする
- デバッガの恩恵に目を向けない
- リファクタリングをしない
- MVC の様にレイヤーの切り分けを維持しようとしない
- これらの略語の意味を知らない:KISS, DRY, MVC, OOP, REST
- 関数やクラスがデータを返さずに、直接 print や echo をする
- ユニットテストや一般的なテスティングの利点に目を向けた事が無い
- データや文字列やオブジェクトではなく、HTML を return する
- メッセージや設定パラメータをハードコードする
- SQL クエリの最適化をしない
- __autoload 関数を使わない
- エラーをスマートに扱わない(don’t allow intelligent error handling)
- $_POST を使わずに何でも $_GET にしてしまう
- 正規表現をどう使えばいいか知らない
- SQL インジェクションやクロスサイトスクリプティングという言葉を聞いた事が無い
- 設定をシンプルにしない → クラスのコンストラクタでパラメータを受けたり、セッタ・ゲッタを呼び出したり、実行時に定義する事が出来る
- オブジェクト指向プログラミングの利点と制限を理解していない
- OOP の誤用。どんなに小さな物でも OOP で書いてしまう。
- 再利用出来るソフトウェアは OOP じゃないと駄目だ、と思っている
- 理にかなったデフォルト設定をしない(don’t choose intelligent defaults)
- 設定ファイルがひとつじゃない
- ファイルの中身が見えるようにせず、拡張子を .php の替わりに .inc にする(don’t want the file contents to be seen, but give it a .inc extension instead of .php)
- データベース抽象レイヤを使わない
- DRY 原則を守らない → コピペや重複を避けた方がいい
- 関数 / クラス / メソッドの責務を一つに絞らず、相互作用するように作らない
- abstract/interface クラスや、ポリモーフィズム、アクセス修飾子等の OOP の利点を得ようとしていない
- デザインパターンを使ってアプリケーション設計の最適化をしない
- 複数のファイルやディレクトリが必要なアプリケーションで、ベースディレクトリの定義をしない
- グローバルネームスペースを汚染する → ライブラリに共通の文字列をプレフィックスとして付ける方法がある
- DB のテーブルにプレフィックスをつけさせない
- 別々のテンプレートエンジンを使う
- ウェブ開発のコンセプトに長けており、コードのキレイな PHP フレームワークに注目していない
PHP に直接関係無い項目もありますね。
素直に納得出来る項目もあれば、場面ってのも。
場面ってのはそれが有効に作用するケースもあるだろう事を知っていないといかんのですけど。
CoD4 では装備セッティングを「カスタムクラス」として 5 つ作成できます。
で、俺チャンが使っているセッティングを公開してみたいと思った次第。
Maps は使用頻度の高さ程度。実際は場面。
最近は Headquarters しかやってないんですけど Team Deathmatch, Domination でも同じセッティングでやってます。
これ書いてる時点で Lv.34 (Prestige Lv.1) なので P90 とか Frag x 3 とかナシ。
中距離 3 発フィニッシュ系
- Assult
-
- M16A4 (RedDotSight)
- Perk1
- RPG x 2
- Perk2
- Stopping Power
- Perk3
- Martyrdom
- Maps
- Ambush, Bog, Crossfire, Crush, Downpour, Overgrown, Pipeline, Showdown, Strike
beta 時はフルオートだった M16 ですが、あまりにも強過ぎたせいか 3 点バーストに変更。
それでも強い!バランスが良過ぎる。Stopping Power 付きだと上半身に 3 発ヒットでおk。ただ 3 点バースト故、近距離 2v1 だと撃ち負ける事が多いので Martyrdom (aka ウンコ) で巻き添え狙い。
近距離〜中距離タカタカ系
- SMG
- MP5 (RedDotSight)
- Perk1
- RPG x 2
- Perk2
- Stopping Power
- Perk3
- Martyrdom
- Maps
- Backlot, Countdown, District, Shipment, Vacant, WetWork
銃声は一番好き。
beta 時も含めてちゃんと使った事が無かった。Prestige 入りしてから使ってみたらビックリ。
レートこそ低いんですが、その分リコイルも少ないし何より集弾率が高い!Stopping Power で威力増すれば全然使えます。一番ビックリなのが中距離戦も結構行けちゃう点。
裏取り専用ステルス系
- SMG
- MP5 (Silencer)
- Perk1
- Bandlier
- Perk2
- UAV Jammer
- Perk3
- Extreme Condition
- Maps
- Bog, Crossfire, Overgrown
GPS 映らない Perk 設定で敵の裏取り。Bandlier で所持弾数を増やしておかないと困った事になりがちでした。Lv.40 以降ならば P90 にサイレンサーで Perk3 は Steady Aim に。
裏取りはその名の通り敵のバックエンドにダッシュ!捲り一発!で Kill していくんですが、「裏取りするヤツがいる」事にイラっとさせてプレイを粗くさせる目的もあります。いわゆる『裏の裏』になるケースもあるのでハマると気持ちいい。
裏取り 5 Kill -> AirStrike -> “Friendly Helicopter Inbound” がキマると脳汁ドバドバ出ます。
アンチヘリ専用
- LMG
- RPD (Grip)
- Perk1
- -
- Perk2
- Stopping Power
- Perk3
- Deep Impact
- Maps
- ヘリが来たら
ヘリが来たら使います。正確にはヘリに殺されたら。
Grip 付けると化ける。かなりリコイルが抑えられます。
アイアンサイトでも十分狙いやすいので普段使いも出来るっちゃ出来るんですが、あまり使わない。一時 Shipment で使ってたんですが MP5 のが扱い易い事が判ってからアンチヘリ専用に。
近接もたまにあるけど基本は中距離系
- Assult
- M4 (RedDotSight)
- Perk1
- RPG x 2
- Perk2
- Stopping Power
- Perk3
- Steady Aim
- Maps
- Crush, Downpour, Pipeline
ゲームスタート時に選択する事はありませんが、相手が近距離に持ち込むタイプの時はこっちに切り替えます。フルオートなので遠目の 2v1 でもそこそこいける。気がする。Stopping Power より Double Tap のがいいのではと思う事もありますが、そもそもあまり使わないので研究機会が無い。
Lv.41 以降は RPG が Frag x 3 になってます。
あと Shipment の時だけ Perk2 を SonicBoom にするのもアリ。
それにしても最近はヘリがソッコーで撃墜されてしまう。
6 Kill で止めて(つまり死んで)リスポン後に AirStrike → 6 Kill 止め、のループのが良いのかなー。特に Shipment とか。
【補足】
実はこの草稿を用意した時の話で、今はちょうど一周回った Lv.35 (Prestige Lv.2) です。クラスのセットアップはちょっと違います(AK-74 / AK-74u)が「同じ装備使っててもつまらん」という理由なので上記のクラスが自分的にはベーシックパターンです。
アクティビジョン (2007/12/27)売り上げランキング: 66
ホリ (2007/12/20)売り上げランキング: 965
livedoor Reader と言えば視点移動の少ない UI のおかけで楽にフィード閲覧が出来る、ピン機能、Greasemonkey でイジりまわせる等々。
ただどうもここ最近使っている俺のテンポが悪い。ピンがすぐ埋まってしまう。
登録フィード数は5000件ちょいくらい。
フローはこんな感じ
1. ピンを立てる
2. 記事を読みにいく
3. 内容次第では Yojimbo にブックマークあるいはアーカイブ
ピンは100件までなので溜まりきったら読んで空きを確保するわけですが、この作業が頻発する。
そのせいか「ピンを立ててもいいんだが空きが少ないから止めておこう」という非常に宜しくない事を考えるようになってしまった。
ピンを同時に別の何か、SBM 的なモノに投げるようなグリモンでも書こう。でもわざわざそんなことせんでも「一発クリップ」があるなー、という段階でピンの使い方を間違っていた事にようやく気付いた。重要度の高い(であろう)記事は一発クリップ、ニュースや中身の薄そうな記事はピン、という使い方が良いんじゃないか。
一昨日くらいからこのスタイルにしてみたんですが、これが結構いい具合。ピンの溜まるスピードがかなり落ちる。ピンに立ててある記事は比較的どうでもいいものがほとんどなので開いて斜め読みして閉じていく事で LDR にすぐ戻れる。意外と良ければ Yojimbo に投げる。
livedoor Clip は LDRize でバツバツ読めるし、自分の clip したフィードを Vienna に食わせておくようにもしている。タブで元記事表示が出来るので悪くない。Vienna 単体で RSS リーダーとして使うには複数台環境で厄介になるが、フィード1件ならどうでもいい。Vienna から Yojimbo にブックマークやアーカイブする AppleScript を書けばより幸せになれる。

購読数が7000や8000になるとまた読み方が変わってくるとは思いますが、今の所はこれで機能しそうです。
ここまでの流れ
RSpec 本を発見する
↓
秒殺 1Click 予約
↓
エントリ書く
↓
何故かはてブされている
↓
「なんだこの階段コメントは?」
↓
るびまの RubyConf2007 レポートを読む
↓
Pragmatic Bookshelf から出る事を知る
↓
オウフww大丈夫ww大丈夫ですww ← イマココ
「月初に Wii 買ったんですよ。で、ヌンチャク入ってないもんだと思って一緒に別個に買ったんですわ。そしたらバンドルされてましてね。イヤー、参った参った」リターンズ
–
爆速で読めませんし、懐も痛くはあるんですが買ってみることにしますよー。
Pragmatic Bookshelf の方はいつか誰かに借ります。
せっかくだから俺はこn(ry
アツすぎる。秒殺で 1Click 完了。
全然中身不明だけど 1.1.0 対応だろうか。
いくらなんでも攻めすぎだ、とも思うけどタイミング的には悪くないのか?
テスティングライブラリ1本でガッツリ本を出せるだけの勢いがあるっちゅー事だもんね。
逆に書籍が出る事でファッション化を進めちゃうケースもあるんだろうけど、RSpec は大丈夫。盤石になると思います。
Chad Humphries Ken Barker Apress (2008/02/11)売り上げランキング: 16880
でますた。
http://s2base.php5.sandbox.seasar.org/
主な変更点
・goya コマンドを service & dao に変更
・with Symfony の追加
・with Zf に functional test を追加
・Symfony のプラグインとしてインストールする sfS2BasePlugin を新規追加
Zf の functional test はもうちょいどうにかしたいと思いつつも、今のところ大して不便もしてない事実。
mock/stub のセットアップがちょっと面倒なくらいか。
あれはなんとかしたい。
フィードバックお待ちしてます。
知らないうちに STUDIOVOICE の Creator’s Blog で稲葉敦志氏がブログを書いていた。
如何せん総合フィードも OPML も存在しないし、個別フィードも permalink 踏むまでわからなかった。
とりあえず今日現在の一覧。
http://www.studiovoice.jp/blog/aoki_katsunori/rss.xml
http://www.studiovoice.jp/blog/akita_michio/rss.xml
http://www.studiovoice.jp/blog/inaba_atsushi/rss.xml
http://www.studiovoice.jp/blog/kato_masashi/rss.xml
http://www.studiovoice.jp/blog/sato_madoka/rss.xml
http://www.studiovoice.jp/blog/suzukike/rss.xml
http://www.studiovoice.jp/blog/nakamura_hiroshi/rss.xml
http://www.studiovoice.jp/blog/nagayama_yuko/rss.xml
http://www.studiovoice.jp/blog/naya_arata/rss.xml
http://www.studiovoice.jp/blog/yamanaka_yuichiro/rss.xml
http://www.studiovoice.jp/blog/svo/rss.xml
これを上から順に RSS リーダーにツッコんでもいいんだが、残念な事にどなたかが新たにブログを書き始めた時のフォローが遅れる。やはり combined feed があったほうが良い。
というわけで Pragger の出番。
Plugin でワッショイさせる。
■ studiovoice_blogs_combined.rb
require "rubygems"
require "scrapi"
require 'rss/1.0'
require 'rss/2.0'
require 'rss/maker'
def studiovoice_blogs_combined(config, data)
feeds = []
blog_list.each do |blog|
feed = RSS::Parser.parse(
"http://www.studiovoice.jp/blog/#{blog.ref}rss.xml"
)
feed.items.map {|item| item.author = "#{blog.title}(#{blog.name})"}
feeds << feed
end
feeds.select {|f| f}.inject([]) {|acc,f| acc + f.items }
end
def blog_list
blog_elems = Scraper.define do
process "a.list", :ref => "@href"
process "img", :name => "@alt"
process "font.name1", :title => :text
result :ref, :name, :title
end
Scraper.define do
process "li", "list[]" => blog_elems
result :list
end.scrape(
open('http://www.studiovoice.jp/blog/').read,
:parser_options => {:char_encoding => 'utf8'}
)
end
こんなんで統合フィードが出来てしまうので、日付でソートや Gmail に送信などする。
livedoor Reader 等に刺すなら、このサーバーで吐いてるヤツをそのまま使った方が楽だと思います。日付ソート済み。
■ STUDIOVOICE BLOG Combined Feed
http://thug4dev.com/rss/studiovoice.rss
http://twitter.com/xboxstatus
【使い方】
1. Follow する(すぐに Follow される)
2. DM でゲーマータグを送信
こんだけです。
後は定期的にステータスを見て、オンラインになったり(ダッシュボードは除く)、違うゲームを始めたりすると Twitter にこんな感じで投げます。
日本語のタイトルでも通るはず。
試してないけど。
【追記】
日本語タイトルも通りました。有難う御座います。
ただ US でも発売されているタイトルは US での名前を優先する風。
ビューティフル塊魂は Beautiful Katamari になる。
個人的にはなんら問題を感じませんが、「日本語タイトルで表示しないとステルス暗殺する」みたいな事を言われたら考えます。
なんかあったらテレパシーで教えてつかあさい。
以下、ちょっとだけ技術風味の話。 “Xbox で遊んでいるタイトルを Twitter に流すアカウント” の続きを読む…
仰々しくソレっぽいタイトルを付けてみましたが、大技を使ってるとかじゃないです。
でもすっごい感動した!のでちょっと紹介させて下さい。
もしかすると有名な手法なのかもしれないけど。
年末なんで DJ HIROKI が Best of 2007 の MixCD を発売したわけですが、2 枚合わせて 120 曲!
で、これをそのまま iTunes でインポートしちゃうと大変な事になってしまうのは想像に易い。そもそも MixCD のトラックをバラして聴くのもおかしいので、大体は「CD トラックを統合」オプションを使って 1 曲扱いにしてインポートしております。
ただこれをやっちゃうと「35:13 で掛かってるトラック名が知りたい」という時にちょっと不便する。
どうしたものかと思っていたんですが、見事なアイディアを教えてもらいました。
「歌詞にトラックリストを入れておく」

これだけ。
その発想はなかったわ。
確かにほぼフリースペースとして使える歌詞枠であれば、かなりのトラックリストでも突っ込んでおける。ベタ付きで見る事も滅多に無いので、気になった時に使うだけであればそんなに面倒でも無い。
歌詞表示対応の iPod だと今聴いてるトラック名を簡単に調べられるそうですよ。
俺は普段使いが iPod Shuffle なんでわからんですけど。