はてなブックマークでブックマークするためのページのURLが、
以前は
だったのが
になったみたい。
前のURLだとエラー出てた。
はてなブックマークでブックマークするためのページのURLが、
以前は
だったのが
になったみたい。
前のURLだとエラー出てた。
PHPのテンプレートエンジンの中で最も有名なSmartyの開発陣が作ったというTwigを使ってみました。
Twigを知った切っ掛けは、以前参加したモダンPHP勉強会 #2。
ここで発表された内容とほぼ同じことが、以下のサイトに書かれているので参考にしました。
さきほど紹介したTwigですが、Smartyのように、変数を出力するときに何かしらの処理を加えて出力することができます。
例えば、
このように書けば、小文字に変換して表示できます。
この lower の部分を自分で自作する方法について書きます。
と言ってもとても簡単でした。参考にしたのはこちらのページ。
今回は数字に対し、3桁区切りでカンマを入れる修飾子 number を作ってみます。
3桁区切りでカンマを入れる関数は、PHPには標準で搭載されています。number_format() という関数です。
まずこれを使って、こういう関数を作りました。
次に、これを修飾子として登録します。
これで完了です。
と書いて表示させてみましょう。
ぶっちゃけ、これだけでもOKです。
Windowsって昔からエクスプローラとかからファイルを選んでドラッグ&ドロップすると、エクスプローラに表示されているのとは違う順番でコピーされますよね。
普段は問題ないんですけど、これが問題になるパターンがいくつかあって、例えばアプリケーションにファイルを登録するときに、でたらめな順番で登録されてしまいます。
CDのライティングソフトとか、登録された順番に書き込んだりするので、これだと都合が悪かったりします。
また、コピー時に順番がばらばらということは、コピー先のファイルの作成日時を示すタイムスタンプもバラバラになってしまいます。
最近よくあるUSBメモリ内の音楽や動画を再生してくれるプレイヤーなどでは、ファイル名順ではなく、作成日時順で再生したりするので、これがバラバラだと不便です。
そこで、一度アプリケーションを中継することで、名前順にソートしてドラッグ&ドロップするためのプログラムを作りました。
まずこのアプリケーションを起動して、ウィンドウの中にファイルをドラッグ&ドロップします。
するとドロップされたファイルが名前順でソートされるので、それらのファイルを選択して、再び本来ドロップしたいアプリケーションに向けてドラッグしてください。
以下がそのプログラムです。SourceForge.JPに登録してあります。
とても単純なプログラムですが、一応修正BSDライセンスでソースコードも公開しました。
このプログラムはVisual C# 2010で作りました。動作には.NET Framework 3.5が必要です。
WindowsVista以前の方は、WindowsUpdateなどからインストールしてから使ってください。
おまけの機能としては、Ctrl + A で全選択と、Ctrl + C でクリップボードにコピーができるようになっています。
Deleteキーを押すとフォーカスされたファイルがリストから削除されます。
実ファイルの削除や切り取りはできません。
とりあえずβ版ということで、公開してみますので、どうぞよろしく。
Androidアプリを開発するにあたって、まずはAmazonで一番評判の良さそうな本を探しました。
買ったのは「Google Android アプリ開発ガイド 第2版」という本。
Google Androidアプリ開発ガイド
秀和システム |
買ってざっと見てみた感じですと、Androidアプリ開発からマーケットへの登録まで一通り網羅してあり、初めてAndroidアプリを開発するにはちょうどいいかなという感じです。
ここまでしっかりと基本を網羅してある本は珍しく、書店で見た他の本と比べてもよい感じです。
ただ、JavaやEclipseについては最低限しか載ってないので、そちらが不得手な方は別に専門書を買った方がいいと思います。
それから、基本しか載ってないので、アプリをある程度自由に作れるようになったら、応用的なTipsが載っている本などを買う必要があるでしょう。
自分はJavaは昔少しだけ触ったことがありますが、C#に慣れてしまってからはそちらばかり。
EclipseもVisual Studioに比べるとどうも使い慣れなくて、大学の授業でしか触ったことがありませんでした。
なので、この本だけで開発に挑むのは無謀かなという気がしないでもないのですが、躓くまで進めてみようと思い、環境構築を始めました。
そして、本書第一章の環境構築からサンプルの動作までで、予想通り躓いて何時間も悩んだので、この記事を書くことにしました。^^;
ここでは、本書の通りに実行して、僕の躓きを再現し、乗り越えるための情報を記します。
より詳しい情報は、本を買って調べて下さい。
Amazonの広告を貼るとき、そのHTMLコードは、Amazonアソシエイト公式サイトから直接もらってくるか、Product Advertising APIを使って得た商品データを元に自分でデザインした書式で書くかの二種類があります。
今まで後者の方法を利用したサービスで、G-Toolsというサイトを利用させていただいていたのですが、Product Advertising APIの仕様変更により、おすすめ度の情報が取って来られなくなってしまいました。
おすすめ度が無いと、ぱっと見その商品の評価が伝わりにくいですし、見栄え的にも見劣りします。
そこで、一般のAmazonのページからおすすめ度の情報を取ってくるスクリプトを書きました。
APIが用意されているのにサイトから取ってくると言うのはスマートではありませんし、APIから外された理由を考慮せずにおすすめ度の情報をとり続けることには問題があるかもしれませんが。
それらの点を頭の隅に置いた上で、以下のようなコードを書きましたので、必要な方は参考にして下さい。
一応補足しておくと、引数の $uri は商品ページのURLで、戻り値の配列は $average_rating['value'] がおすすめ値、 $average_rating['image'] がそれを表す星画像のURLです。
なお、久しぶりにPHPで書きました。:D
PerlのNet::Twitterをアップデートしたら、投稿した文字列が文字化けするようになってしまい、いろいろ調べてみたのですが、どうやらUTF8フラグの有無が原因のようでした。
参考にしたのはこちらのサイト。
これは僕が学部3年のときに習ったことなのだけど、案外知らない人が多い気がしたので、ここに記しておくことにします。
ユーザーがログインするタイプのサービスを作るとき、パスワードを設定することはよくあります。
サーバーでログインの認証を行うためには、ユーザーが入力したパスワードが正しいかどうかを、プログラムの中で判定しなければなりません。
が、このとき単純な文字列比較で認証をしている人はいませんか?
万が一サーバー内の情報が流出した場合を考えると、パスワードをソースファイルの中に直に書いたり、あるいはデータベースの中にそのまま保存したりするのはとても危険です。
また、サーバー管理者が、ユーザーが設定したパスワードを容易に見ることができてしまうというのも、ユーザーとして気持ちいいものではありません。
ではどうするか。