【メモ】 Amazon APIによる商品紹介が上手く動いていないとき

Amazon Amazon APIが上手く動いていない(例えば商品表示がすべて表示されていないなど)場合で、特に大きな仕様変更がない場合、サーバの時刻がずれていることがあります。特に、何らかの理由によりサーバの再起動が行われた場合には、時刻のずれに気付かないことがあります。本来であれば自動的に時刻合わせをしているはずなのですけど、シャットダウンのタイミングによってはntpdがエラーで正しく起動せず、時刻合わせが行われないと言うことがあるらしい。 というわけでこの場合には、管理者権限にて時刻のズレを確認した上で、時刻合わせを手動で行います。

# date ← サーバの時刻を確認
# hwclock --show ← ハードウェアクロックの時刻を確認
# /etc/init.d/ntpd stop
# ntpdate ntp.nict.jp ← 時刻合わせ
# /etc/init.d/ntpd start
ちなみにこれが理由で上手く動いていない場合の、Amazonからのレスポンスは「Amazon returned invalid HTTP response code 400」でした。400ってBad Requestでしょってことなんだけど、まあタイムスタンプズレてれば認証用パラメータも期限切れになるよね(という表現でいいのかわかんないけど)ということで。

続きを読む

はてなブックマークAtomAPIへの接続が上手く行っていなかった件 【解決】

はてな この件の続き。 (訂正あり)PEAR::Services_Hatenaが上手く動いていない影響でいくつか止まってます | mutter あまりに広範囲に影響がある&今まで動いていたものがそのまま動いていないので、結局はてなに問い合わせました。

質問

3/5頃より、はてなブックマークAtomAPIが上手く動いていないようなのですが、なにか仕様変更等あったのでしょうか?実行環境は、PHP5.3+PEAR::Services_Hatenaで、ユーザーネームとパスワードで認証しようとすると401が返ります。お手数ですが調査をお願いいたします。
翌日、すぐに回答が。

回答

お問い合わせの件につきまして、3月5日にはてな各種APIでのパスワードによるWSSE認証を終了しております。 http://hatena.g.hatena.ne.jp/hatena/20140305/1394012936 つきましては、パスワードからAPIキーへの変更、もしくはOAuth認証への移行をお願いいたします。 APIキーについては、下記のドキュメントをご参照いただければ幸いです。 http://developer.hatena.ne.jp/ja/documents/auth/apis/wsse
迅速な回答、ありがとうございました。が、 しらねー!

続きを読む

1つ機能を実装すると新しいアイディアが3つ浮かぶ

今、Tumblrを便利に使うための新しいツールを作成しています。 基本的なコンセプトは、

  • RSSフィードを読み込んだらボタンを押していくだけでpostやreblogが出来る
であり、個人的なリクエスト、
  • タグを1回設定したらそのタグを付けて連続してpost/reblogしてくれる
  • 自分が望んだステータス(例えば予約投稿)で投稿してくれる
を満たすようなツールです。

続きを読む

泣きながらWindowsアプリケーションを移植した

「まれによくある」案件なのかも知れませんけど個人的に結構心に来たので書き留めておきたく。 社内のシステムを結構大がかりに入れ替えることになってウェブアプリケーションを中心に更新作業が発生しているのですけど、「前任者の忘れ形見」というか「いずれ踏む地雷」というか、割と業務に密着して利用されているWindowsアプリケーションがかなりの難敵であることが判明。概要はこんな感じ。

  • .NET Framework 1.1向け
  • 使用言語はC#
  • ソースはない
  • 開発環境もない(「Visual Studio .NET 2003」だと思う)
  • 仕様もない
でもって、特殊事情としては、
  • 僕にはC#での開発経験はない(「Hello, World!」でさえ怪しい)
  • 納期やばい
納期がやばいのは他の作業で時間を使いすぎた僕のせいなんですけどそれにしたってこの、プラスチック製果物ナイフでくじらを解体するような感覚に頭がクラクラしました。エンジニアの人ってすげえな。最近「俺、エンジニアじゃねーな…」と思う機会が多いので余計に。 結論を書くと、今のところ8割方動いてます。
  • .NET Framework 4 向け
  • 使用言語はC#
  • ソースはデコンパイルして再生成した
  • 開発環境は「Visual Studio 2010 Express」入れた
  • 仕様は今書いてる
誰かの助けになるとは思えませんが、一応気付いた点もメモ。

続きを読む

ニコニコ動画関連でやった作業の簡単なメモ

動画情報のURLが「/thumb_watch/」から「/thumb/」に変わってたのに対応

全く気付いてなかった。 ニコニコ動画プレイヤーのUIをカスタマイズするGreasemonkey」など修正しました。

違反動画の通報がログイン必須になってたので修正

以前はログインが必要なかったのでここから投稿者名を取得するみたいなスクリプトを書いてました。その後、プロフィールの概要ページ(下記例参照)から取得するように変更したのですが、以前のまま残っていたコードがあり、そのコードで投稿者名が取得できなくなっていたので修正。今は、動画APIからuser_idを取得し、それを使ってプロフィール概要にアクセス→スクレイピングして氏名を取得しています。

タグ検索用RSSに表示しないユーザーを設定してみた

タグの検索結果をRSSで購読してて最近気になるのは、SPAM目的なのか目立ちたいだけなのか意味のない動画を無関係のカテゴリ(「ニコニコ技術部」とか)やタグ(「TAS」とか)に大量に投稿している投稿者。同じ動画を何度も何度も投稿したり、他の投稿者を攻撃する動画を執拗に投稿し続けたり、衆目を集めるためか自殺を仄めかしたり。もちろんそういう動画を投稿すること自体はその人の自由なんですけど、無関係のカテゴリに放り込まれるのはとても迷惑。あまり改善する見込みが無さそうなので、少し自衛していこうかなと。 定期的にアカウントを変更するのでイタチごっこになりそうですけど、とりあえずブラックリストを自分で持ってそれに登録があるユーザーの動画はRSSの一覧から外していくようにしました。一応、よほどのことが無い限り追加はしない予定です。 ニコニコ動画 タグ検索 RSS+ 迷惑な投稿者の例としてはこのあたりを参照されたし。 でいだぶるとは (デイダブルとは) [単語記事] – ニコニコ大百科

続きを読む

【メモ】 CUIに実行ログを書き出す(1行を上書きしていく) 【PHP】

やりたいこと

フレームワークのタスクなどを実行する際に、きちんと進行しているかインジケータを表示させたい。ただし、処理数分だけ行数を重ねるのではなくて1行に上書きしていきたい。上手く説明できなくて歯がゆいんですけど、つまりこうではなくて、
doSomething ...  1/5
doSomething ...  2/5
doSomething ...  3/5
doSomething ...  4/5
doSomething ...  5/5 finished
こう。
doSomething ...  5/5 finished ← この行だけで更新されていく
わかりますかね…

続きを読む

VirtualBoxの共有ディレクトリ内のファイルを更新してもApacheで表示が更新されない問題

VirtualBox.jpg

作業環境

ホスト

  • OS … Windows 7 64bit
  • 開発環境 … Eclipse 3.7.2

ゲスト

  • OS … CentOS 6.0
  • Httpd … Apache 2.2.15

起きた問題

ちょっと解りにくいので作業順に従って箇条書きで書くとこんな感じ。
  1. Eclipseのワークスペースを共有フォルダとしてVirtualBoxに登録
  2. 共有フォルダをマウントしてドキュメントルートにシンボリックリンクを貼る
  3. Eclipseでファイルを更新
  4. ゲストOS上でファイルの内容が更新されていることを確認
  5. ブラウザの表示を更新→更新されない
    • 読み込むjsファイルやcssファイルを変更しても反映されない
    • JavaScriptの場合途中までしか読み込まれずにエラーが出る
    • ExtJS4ではファイルの末尾によく解らない文字列が追加され「illegal character」エラーが出る

続きを読む

VBoxHeadlessTrayがとても便利 – VirtualBoxをタスクトレイに格納する

VirtualBox.jpg 自分の端末はWindows 7(64bit)。開発は基本的にその上でやってるんですが、テスト環境には当然Linuxが必要になります。昔はWindowsでApacheを動かしてたときもありましたが、今なら普通に仮想環境ですよね。誰でもやってることだと思います。 というわけで、Windowsに「VirtualBox」をインストールし、ゲストOSとしてCentOSを動かしてテスト環境にしています。まぁその設定についてはその昔この辺に書きました。 CentOSの開発環境、設定手順(with VirtualBox) | mutter これを書いた当時と比べるとマシンのスペックが上がっているので(メモリ16GB積んでます。こんなこともあろうかと)、VirtualBox上のゲストOSにもたっぷりメモリを割いていてかなり快適に動かせています。素晴らしい。

本題。

そういうわけで仮想環境としてVirtualBoxが動いていますが、VirtualBoxのウィンドウはおろか、ゲストOSのGUIウィンドウすら普段は見ません。全部CUIで済みますもんね。ていうかむしろCUIなかったら作業なんてしてられないですし、そもそも「テスト環境」になりませんな。本番サーバをGUIで管理してますとか聞いたことないし。片付けたい。出来れば音も無く起動し、そのままタスクトレイに格納されて、必要なときだけ呼び出せるようにしたい。 それ、「VBoxHeadlessTray」で出来ます。 ダウンロードはこちらから。 Topten Software 解説は窓の杜のコラムが詳しいです。 窓の杜 – 【REVIEW】「VirtualBox」の仮想PCをタスクトレイから直接起動「VBoxHeadlessTray」

続きを読む

【メモ】 ディレクトリ内のファイル数が知りたかったら「ls -al」で良いのかー

ディレクトリ内のファイル一覧を表示するコマンド「ls」にはいくつかオプションがありますが、そのうちの「a」オプション(隠しファイルを含むすべてのファイルを表示する)と「l」オプション(ファイルの詳細を表示する)を使うとそのディレクトリに含まれるディレクトリ、ファイルの情報が一覧で表示できて便利です。 UNIXコマンド [ls]

とあるディレクトリでの実行結果

total 940
drwxrwxrwx   18 nobody apache  4096 Sep 26  2009 .
drwxrwxr-x    5 nobody apache  4096 Jul 27 11:44 ..
drwxrwxrwx    4 nobody apache 57344 Jul 28 05:15 0
drwxrwxrwx    3 nobody apache 57344 Jul 28 05:56 1
drwxrwxrwx  222 nobody apache 57344 Jul 28 06:26 2
drwxrwxrwx  103 nobody apache 53248 Jul 28 06:45 3
drwxrwxrwx  225 nobody apache 61440 Jul 28 06:57 4
drwxrwxrwx    5 nobody apache 53248 Jul 28 07:13 5
drwxrwxrwx 1700 nobody apache 57344 Jun 27 17:20 6

ディレクトリ数も表示されてた

んで、普段はパーミッション、所有者、ディレクトリ名/ファイル名くらいしか使ってなかったんですけど、左から2番目の数字、これ「そのディレクトリに含まれるディレクトリ数」または「そのファイルのハードリンク数」なのですね。知らなかった。 Linuxコマンド道場 – ファイルの詳細閲覧:ITpro ああ、正確に言うと「ディレクトリ数+2」ですかね。これ使えばディレクトリ数なんかすぐに解る…。上記実行結果でいうと、ディレクトリ「6」に含まれているディレクトリ数は1698ということになります。そうなのかー

ファイルのサイズも表示されてた

ちなみにグループの横の数字は何だろうと思ったらファイルの容量。 「h」オプションを付けることで容量の単位を付記して表示できます。

とあるディレクトリでの実行結果

total 940K
drwxrwxrwx   18 nobody apache 4.0K Sep 26  2009 .
drwxrwxr-x    5 nobody apache 4.0K Jul 27 11:44 ..
drwxrwxrwx    4 nobody apache  56K Jul 28 05:15 0
drwxrwxrwx    3 nobody apache  56K Jul 28 05:56 1
drwxrwxrwx  222 nobody apache  56K Jul 28 06:26 2
drwxrwxrwx  103 nobody apache  52K Jul 28 06:45 3
drwxrwxrwx  225 nobody apache  60K Jul 28 06:57 4
drwxrwxrwx    5 nobody apache  52K Jul 28 07:13 5
drwxrwxrwx 1700 nobody apache  56K Jun 27 17:20 6
おー…おお?ディレクトリではあんまり意味ないのか。 ファイルでを表示した例だとこんな感じ。

別のディレクトリでの実行結果

total 124K
drwxr-xr-x 2 nobody apache 4.0K Aug 17  2010 .
drwxrwxrwx 4 nobody apache  52K Jul 24 06:51 ..
-rw-r--r-- 1 nobody apache  15K Aug 17  2010 sample1.jpg
-rw-r--r-- 1 nobody apache  33K Aug 17  2010 sample2.jpg
-rw-r--r-- 1 nobody apache 8.7K Aug 17  2010 sample3.jpg
「total」とディレクトリは表示が正しくないけど、ファイルはそのままファイルサイズ。 なるほどそうだったのか。 初歩的なことを知らないことが多すぎて、自分でも時々びっくりします。うーむ。 そんなわけで、メモ。

続きを読む