【PHP】PEAR::Services_Hatena_Bookmarkを使う

全然気づいてなかったけど、PEAR::Services_Hatenaっていうライブラリがあるんですね。 Services_Hatena しかもPEARに収録されたのは2006年のこと。 今までWSSEとか自分で実装してましたが、これ使えばそういう煩雑な部分全部省略できますね。 なんというか、まったくもって迂闊でした。 というわけで、この中のServices_Hatena_Bookmarkを使ってブックマークのポストその他をしてみるテスト。

続きを読む

【メモ】Smarty2 → 3のハマリどころ

Smarty3の最新β(β8)が出たのが3/5。 今後どうなっていくのか、正式版はいつ頃リリースなのかその辺気になるところですが、 使ってみている限りで特に不具合はない(このサイトはMobavleType+PHP5+Smarty3で構築されています)ので、 それほど大きな影響がない、あってもなんとかなるくらいの環境であれば移行してみても良いかも知れません。 (今から脆弱性が発見される可能性も無くはないですけど) Smarty3になると何が変わるかはSmarty3に同梱の「SMARTY2_BC_NOTES」ファイルに記載されています。 日本語訳はこちらにあります。 Smarty2.0からSmarty3.0への変更点 | スイナシア 大きな変更は、PHP5以上で動作というところだと思いますが、他にもメソッドチェーンをサポートしていたり、色々と地味に便利になっているような気がします。 で、Smartyのインストールと言っても基本的にはコピーするだけなので簡単なのですが、 実際に移行してみるといくつかテンプレートのハマリ点があったのでメモしておきます。 参考にしていただければ。

続きを読む

長いタイトルを付けちゃうのは職業病なんだろうか

さっき、今度ラウンジで出演させていただくイベントのオーガナイザー宛にプロフィールとアー写を送ったのだけど、 添付した圧縮ファイルの名前が、

{イベント名}_{年月}_{内容}.zip
っていう構成になってて、自分としてはなるべくわかりやすくと思って付けたんだけど、 送信する前に既に気がついてたけど、 一般的に考えてどう考えても長い(苦笑) 普通は単に「プロフィール.zip」とかにするんだろうし、それが一般的な「合理性」なんだろうけど、 そういうのはコード書くときの「合理性」とはちょっと違って、 あとで見返してパッと見てわかんないと困るだろとか思ってこんな命名になるわけで、 しかしよくよく考えてみるとプロフのファイルなんかコピーして解凍したら振り返らないし二度と触らないわけだから、 そこまでするのはさすが余計というか要するに「YAGNI」であるわけなんだけど、 まぁいいかと思って送信。 職業病って言うか多分に個人的なアレもあるんだけども、こういうのとかメールの件名とか、どうもねー。 「あとで見てわかんないと困るじゃん」とか思うんだよね。 実際は大して困らないんだけども。

続きを読む

【メモ】DTO、DAO、シングルトン

[ThinkIT] 第5回:PHP5のオブジェクト指向 (1/3) 自分がプログラマとしてどれだけダメかよーく解った。 読めばすぐに解るし、納得できるし、実際のコードも似たような構成になってはいるものの、体系立てて解ってなかった。特に、DTOの扱いとシングルトンパターンの場合のインスタンスの活用について。君が今まで「DTO」と呼びたがってたそのクラス、それただの処理混在のクラスだから。ちっともカプセル化してないから。君が作ってたシングルトンクラス、newしなくて便利以上の用途無いから。何でもかんでもstaticにすればいいってもんじゃないから。 そういうのただの俺俺ルールだから。 今までぼんやりとしか解ってなかった(DAOってDBにアクセスするんでしょとかDTOってデータをまとめて取ってくるんでしょとか)のがサンプルコード読んで目から鱗がボロボロ落ちた。ダメだオレ。何年遅れよ。いまだ似非プログラマから脱出できてない。ちきしょう。 とはいえ悔やんでも仕方がないし、少しずつリファクタリング(もしくは置き換え)していこう。今日書くコードから始める。 その他、読んだもの。 Singleton – GoFデザインパターン~STEP1:まずはここから – PHPによるデザインパターン入門 – Do You PHP? DAOパターンですっきりコーディング!(1/4) - @IT PHP5でデザインパターン - Singletonパターン – Lism.in * blog – nekoya (id:studio-m)

続きを読む

プログラマには「種類」があるのよ

最近、プログラムだったら何でも出来ると思われてて困る。 会社設立以来のCTOだった人間が退職して以来だ。 在職中は僕はWebデザイナ、彼はプログラマと棲み分けが出来てた。Webアプリケーションについても、仕様を最終決定するのは彼でコーディングは僕とか、フレームワークは彼でViewは僕とか。彼はC/C++が書けたのでその他にデスクトップアプリケーションも書いていた。市販のレジシステムとWebDBとのブリッジとか、手入力の省力化とか。

続きを読む

【メモ】さくらインターネットで使うシェルをzshに変更する

FreeBSDであるさくらインターネットではデフォルトでcsh(tcsh)になっているけれども、仕事で使用しているのはzshなので揃えたい。 というわけで、そのメモ。

参考サイト

続きを読む

【PHP】日の出・日の入り計算用ライブラリ【改訂版】

Codeのリニューアルに合わせて、日の出・日の入り計算用ライブラリを書き直し、「Suntime.php」として改めてリリースしました。PEARとかに上げれたら良かったんですが、コードの内容はもとより形式などかなり不安だったのでとりあえずGist@GitHubにあげてあります。

Download

http://gist.github.com/gists/225915/download

続きを読む

GitHubを利用することにしてみました。

パッケージとして開発しているコードがあるわけでもない僕にとってはちょっと大袈裟すぎるような気もしますが、ちょっとしたコードの置き場所が欲しくなったので、アカウント取ったまま放置していた(というか登録しようと思って気づいた)GitHubを引っ張り出してきました。 http://github.com/nobodyplace 今のところとりあえずGistにGreasemonkeyを2つ置いてあるだけですが、ちょっとしたライブラリの保管として利用しようかなぁとぼんやり考えています。自分のところにおいて置いても仕方がないけど、公開するようなもんでも無い的ななにかとか。もっぱらPHPしか書かない生活を送っているので、その辺は特に出すものもない気もしますが(classの欠片をGistにとかはありかも知れませんが)、Greasemonkeyについてはやりたいちょっとしたことってのが結構あるので、暇を見つつ追加していければと思ってます。

続きを読む