変数に型がないということの利点について考える

開発言語は道具のひとつに過ぎないので、○○だから優れているとか、そういう話じゃないと思うんですがね。
私はPHPの雑な言語仕様に慣れているけど、これが10人以上の開発者が関わるならJavaとか型があった方が良いなと考えます。
開発言語の理解度やスキルに差がある場合、言語仕様レベルで品質を担保できる仕組みがあった方が楽だから。それだけです。
フレームワークを使うのも半分はこれが理由で、コーディング規約やデザインパターンで統一性が確保できるハズだからです。
極論ですが、別に自分のソースだけではなく全員のソースレビューをする(できる人材が居る)会社なら道具なんて尚更何でも良いです。

PHPに限っていえばis_string、is_intとかある時点で当初は?となりましたが。
それも入力値のバリデーション用と考えるか、functionで毎度、引数の型判定から例外を投げるようにするかで変わってきますし。
毎度書くとエラー処理が冗長化されるので最終的なDB処理のfunctionのみで書くのか、それすらせずにSQLエラーで返ってくるのを待つのか。

それは求めるモノによるので、使い分ければいいじゃないって元の話に戻るのでした。

RedmineをVPSに

なんかもうOS Xでredmine環境というよりruby環境を用意するのに疲れ果てたのと、外部に公開するにはドメインと固定IPが必要な訳で、サクッとVPSを借りました。
ドメインはサブドメインでも良いかなと思いましたが、大人の事情でプロジェクト毎に使い分けたい、年間数百円で買えるとあって新規取得。
VPSもほぼ真っさらなCentOSだったので、ブラウザ上の管理コンソールからアカウント作成、公開鍵認証にして、rootでのログイン不可に。
あとは作ったユーザーからSSH、sudoしてyumでひと通りインストール、iptablesで不要なポートを塞ぎ、robots.txtで検索エンジンのクローラを拒否に。
redmineが動くのを確認。1時間と掛からずサーバが用意できる時代とは恐ろしや。
またrapid sslという格安のサーバ証明書を発見。代理店により年1500円~2500円くらいと激安。
FQDN限定で暗号化の強度を下げて、認証手続きも簡単にしたお手軽SSLの模様。平文で流れるより100倍マシという事で。

あとはバックアップをどうするか。もう一台VPS借りてそっちにバックアップでも良いんだけど、自宅のミラーリングされてるNASでも良いかなと。
#VPSをバックアップにするにはデータセンターの場所を選択できる所で別の場所にするか、まったく別のVPSにした方が無難
Amazon S3に無料利用枠(1年間だけかも)があるので、個人利用くらいならこれで事足りそうな気もします。

DeadSeace3を始めてしまいました。相変わらずカッコイイ。
アイザックさん時計を買ってしまいそう。時計しないけど。

Eclipse4.2 PDTをインストール

すっかりSublimeText2に乗り換えたつもりでいましたが、PCがパワーアップしてEclipseが超速起動、メモリも16GBで湯水のごとく余っている。
あのタブ切り替えのモッサリ感とかどうなったのかなーと、4.2に再チャレンジ。

Javaもセキュリティホールで緊急アップデート勧告が出ていたので、この際64bit版にそろそろ移行しようではないかと。

後はいつもお世話になっている日本語化+各種プラグイン詰め合わせ済みのPleiades版Eclipse4.2の64bit、PHP Standard Editionをダウンロードして解凍するだけ!とは行かない。

PHP アプリケーション開発のために Eclipse に入れてるプラグインと設定。

こちらはモッサリ時のEclipse4系で3.8で我慢されておりますが、上で入れた4.2はサクサク動く上に、記載されているプラグインも概ね入ってます。
・AnyEdit
・EGit
・Eclipse Color Theme

・Marketplace Client
なんて面白そうなプラグインが出てるんですなー。

後は設定など参考にさせていただきました。

ちょっと古いですが、プラグインとしてはインストールできました。
DB設計の神ツール「ERMaster」なら、ここまでできる
動作は未確認です。

追記
Eclipse4.2 SR2がリリースされています。
15 個のパフォーマンス問題が改善! Eclipse 4.2 Juno SR2 リリース

・XML エディター切り替えが超遅い
・エディター開閉時のオブジェクト・リーク
・ビュー開閉時のメモリー・リークいっぱい
・何にもしてないのに毎秒数百のオブジェクト割り当て
・エディターの後選択の概念の実装忘れてた
・パーツ活性化時に後選択イベントを 2 回送出
・オーバーライドした IContributionManager#getVisible が 2000~1万回呼ばれてる
・アクション・バー破棄してない
・CTab 描画の改善
・URI 指定のファイル検索が遅い
・行移動が超遅い
・コンテキスト・マネージャー呼びすぎ
・ポップアップ・メニューのリスナー・リーク

私の環境では割りとサクサク動いてたのはリソースが湯水のようにあったからでしょうか・・・。