2011年12月01日のツイート

2011年11月26日のツイート

jEditにTwigの編集モードを追加する

http://www.jedit.org/


PHPの開発とか、エディタはjEditを使ってる。
jEdit - Programmer's Text Editor -
さんざん言ってるけど、jEditは本当にいいエディタなんですって*1


加えて、PHPのテンプレートエンジンはTwigを使ってる。
pythondjangoに近いらしい。


ところで、PHPのテンプレートエンジンと言うとsmartyが定番だったり、そもそも、PHPでテンプレートエンジン(笑)みたいな論調もあったりして論争になると泥沼なんだけど、
個人的にはplainなPHPで組むのは選択肢として無く*2、定番のsmartyは…3から結構良さそうな感じはするけれど、何というか泥臭い*3


そんな訳で、Twigを使うようになった。
構文もシンプルだし動作も軽いし、テンプレート内部から割り当てた変数のプロパティとかメソッドへのアクセス方法も柔軟で使いやすい。


Twig自体のバージョンも1.0を超えて成熟してきた感じがする。


とは言え、日本語ドキュメントは少ないし、メジャーバージョンアップで結構動作が変わっているところがあるので、この辺を参考にするとハマるので注意。


具体的にはdebugが無くなってたり…えーと、他にもいろいろあった気がする。気が向いたらまとめようかな。
今のところは公式の英語ドキュメントかソース読むのが確実。

Twig定義をjEditに追加する

そんな訳で、jEditでTwigのテンプレートを編集したりして快適なwebアプリ開発ライフを送ってるんだけれど、当然のようにjEditにはTwigの定義が無い。


一応、djangoの定義はあるからそれを使うようにすればある程度ハイライトされるようになるけれど、{# #}形式のコメントに対応していなかったりするので、djangoの定義を元にTwigの定義を作るTipsを記す。


参考元:How do I add an edit mode to jEdit?

1:"C:\Program Files\jEdit\modes\django.xml"を"%USERPROFILE%\.jedit\modes\twig.xml"にコピーする

当初、"C:\Program Files\jEdit\modes"に設置って書いてたけど、インストーラーでバージョンアップすると消えたので、やっぱり"%USERPROFILE%\.jedit\modes"に設置するのが適当みたい。

2:twig.xmlを編集

以下の置換をする

コメントの開始タグ(2箇所)
{% comment %} → {#

コメントの終了タグ(2箇所)
{% endcomment %} → #}

定義内の要素名、大文字のみ(約21箇所)
DJANGO → TWIG

これで{# #}形式のコメントがハイライトされるようになる。
その他、Twig特有のキーワードとかあるかも知れないけど面倒なので調べてない。

3:"%USERPROFILE%\.jedit\modes\catalog"の編集

catalogの内に以下の行を追加。

もし、htmlを自動的にTwigにするならこんな感じ。


以上でjEditを起動し直せばTwig定義が使えるようになる。

jEditで拡張子毎にデフォルトの編集モードを設定するには

例えば、拡張子htmlとhtmを開いたときに自動的にTwigの編集モードにするには以下のように設定する

  1. ユーティリティ → グローバルオプション → jEdit → 編集
  2. 設定を変更するモード: → Twigを選択
  3. "デフォルト設定を使用" → チェックを外す
  4. ファイル名フィルタ: → "*.{html,htm}"を追加


以上でjEditで快適なPHP+Twigライフが過ごせます。

*1:さんざん言ってるけど、MacOSの昔からある定番エディタのjEditXとは別物ですって

*2:テンプレートエンジンの学習コストと動作速度を引いてもplainで組むのって相当割りに合わないと思うんだよなー

*3:smartyって言葉自体がPHP初心者の間でバズワードになってる気がするのも嫌

Twitterでフォローしてる人のIDから、ザ・インタビューズのIDを探すサービス

公式にはまだユーザー検索も無いし、作りました。
http://itvs.yomitwi.org/

仕組み

  1. http://api.twitter.com/1/statuses/friends.xml?screen_name=331soba&cursor=-1
    こんな感じでフォローしてる人の一覧を取得
  2. IDごとに、http://theinterviews.jp/<ユーザー名>に、HTML_Request2で問い合わせ
  3. ステータスコードが302なら登録無し、200なら登録ありって判定して画面に表示

問題点

  • フォロー一覧の取得が150/hしかできないこと。使う人増えたらアウト
  • TheInterviewsさんに怒られたらアウト
  • そもそもID違ったら追えない


150/hの制限って、FRIENDorFOLLOWとか、認証の無い連携サービスってどうしてるんだろ。


ちなみに、フォロー100人程度いれば大抵は同じIDでインタビューズに登録してる人がいる感じ。
これって結構凄いよなぁ。ユーザーかなり多い。

Logicool VX Revolution のチャタリング修理

もう古いマウスになるけれど、数年前にノートPCを中古で買ったらついてきた中古のVX-Rを愛用している。


ロジクール VX レボリューション VX-R

既に新品はプレミア価格やね…。


で、やっぱりLogicoolは使いやすいんだけど、ここ数日、チャタリングが発生した。
以前使ってたLogicoolのマウスもやっぱりチャタリング起こるし、そんでまたこうなると微妙にイラッと来る。ドラッグが勝手に外れたり、シングルクリックがダブルクリックになったり…。


どうにかして直せないかとグーグル先生に聞いていたら、以下のページを発見。

Logicool MX-610 チャタリング問題 解消法
http://mono-zukuri.net/blog/archives/2007/11/logicool_mx610.html

おぉぉ、なるほど、スイッチにコンデンサを突っ込むのか。
これは良い、根本的な解決になりそうだし、なにより安く済む。
見た感じ、スイッチの構造もVX-Rと同等っぽいので、行けそうと踏んだら上手く行った。

という訳で、VX-Rのコンデンサ追加をまとめる

続きを読む

Thunderbird7アップデートでMinimizeToTrayが使えなくなった

って、6に上げたの数日前なんだけど。


それに伴って、MinimizeToTray revivedが使えなくなったけど、Add-on Compatibility Reporterを使ったら上手く行ったよって話。

続きを読む

という訳で、Twitterのアイコンをモザイク化するアレを作ってみた

作ろうかなぁとは言ったけど

http://d.hatena.ne.jp/sansaisoba/20110926


http://mosa.yomitwi.org/


イデア丸パクリで、単に画像サイズ指定とドット数指定が出来るようになっただけだけど作ってみた。


しかし、元ネタが流行ったのは4x4ってサイズが絶妙だったんだなーと改めて思った。6x6だとわりとなんか普通だ。