Division By Zero

ゼロで割る

DjangoのHTTPS POSTがうまくいかなかった際のメモ

クライアント側をC#.NETのWebRequestで、サーバー側をDjango 1.3で作っている小さなサービスがあって、いまさらながらHTTPSに対応しようとしたところ、POSTだけうまくいかない。Djangoデバッグモードにして、サーバーからの返答を見たところ、Refererがないことが原因とわかった。

詳細は
ここに記載されているが、POSTの場合は、正しいReferタグが必須となる。WebRequestは引数となるURLをhttps://に変えるだけで、SSL通信できて便利だが、POSTだけうまくいかなくて少し悩んだのでメモ。

Aipo7でスケジュールをタイムラインに載せないようにした

前回に続いて、今回もメモ。

Aipo7で追加されたタイムライン。賛否あるみたいだけど、社内のちょっとしたコミュニケーションにはいいかもしれないと思い、しばらく使ってみたが、スケジュールの追加や編集でタイムラインが埋まってしまい、せっかくの「つぶやき」が気づかれずに流れていってしまうことも。

そこで、スケジュールをタイムラインに載せないように変更してみた。前回のように、スイッチのようなものがあると思って探してみたけど見つからなかったので、直接、当該部分と思われる個所をコメントアウト

対象は下記のファイルの1200行目あたり。

  • aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleFormData.java
       // アクティビティが公開スケジュールである場合、「更新情報」に表示させる。
       if ("O".equals(public_flag.toString())) {
         ScheduleUtils.createNewScheduleActivity(
           schedule,
           loginName,
           true,
           ownerid);
       }

if節全体をコメントアウトしたら、うまく動いたので終了!

Aipo7のSchedule Portletをコンパイルしてみた

前回のエントリが役に立ったので今回もメモ。

Aipo6.03を利用していたが、とある理由でAipo7に更新。6.03から7.01, 7.02, 祝日パッチと段階を踏む必要はあるものの、アップデートは問題なく終了。社内でもAipoのスケジューラに頼っている人は多いので、きちんと更新できることは大いに有り難い。

Aipo6で自分で入れたスケジュールでもメールを送れるようにするための些細な変更については前回書いたが、今回は下記の3ファイルを修正。

  • aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleFormData.java
  • aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleWeeklyJSONFormData.java
  • aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/CellScheduleFormNoteData.java

うまく動いたので終了!

Surface Proがスリープから復帰しない場合に調べてみること

Cisco VPN Clientをインストールしている人向けの情報。

持ち出し用PCとして利用しているDELL Latitude E4200だが、特にWindows 8にアップデートしてからは、普通に利用する分には全く問題ない。が、ちょっとしたデモを行う際にパワー不足を感じるようになったので、一部で評判のいいMicrosoft Surface Pro2を購入してみた。Officeのライセンスは別に持っているので、企業向けのものを選択した。Office付きの方が割安なんだけど…

少しずつ環境を導入していったところ、いつの間にかスリープ解除しなくなってしまった。順を追って、アンインストールをしていくと、Cisco VPN Clientをインストールした時点で、スリープ解除ができなくなる。ドライバの電源制御あたりが原因か…

Cisco VPN ClientをWindows 8に入れるには、若干の追加作業が必要で、これによりVPN接続はできるようになる。E4200でもSurface Proでも同じだ(共にWindows 8.1 x64)。少し検索してみたが、Cisco VPN Clientを使い続ける方法は見つからなかった。

いくつかのエントリであげられていた対策として、SHREW SOFT VPN Clientを使う方法があり、当方の環境では問題なく動作しているので、ここに報告。

Xperia Tablet ZとFujisanReader

Fujisan.co.jpで雑誌を購読しているが、PCだと見開き表示になってしまい、縦1080ピクセルでは読みずらい。iPad2だと単ページ表示できるので、縦1024ピクセルとなり、先の23インチディスプレイを付けたPCよりは見やすいが、精細度に欠ける。

それで10.1インチWUXGA(1920x1200)のTablet Zが欲しくなり購入した。Retina対応のiPadでもよかったのだが、防水機能があると便利なのと、家のテレビがブラビアなので何か面白いことができるかと思って。

Android版のFujisanReaderはISW13F(4.6インチ、1280x720)で使っていて、画面もパフォーマンスも問題なかった。

Tablet Zで試してみると、画面の大きさ、精細度は文句がつけられない。動作はずいぶん重い。どうやらページ先読みが働いているらしく、普通に順送りで読む分には問題ないのだが、ページを戻ったり、ジャンプしたり、スリープから解除したりする際の遅延はいただけない。RetinaのiPadがよかったかな。

CentOS6 x64にtcpreplayをインストールする

個人的にはソースからインストールすることが多かったtcpreplayをパッケージで入れてみたくなった。標準リポジトリにはないが、RPMforgeにはあるような情報を得たのだが、存在しない。tcpreplay el6 rpmで検索したところ、EPELリポジトリにあることがわかったので、EPELリポジトリを導入。

# wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

EPELを有効にしてインストール

# yum install tcpreplay --enablerepo=epel

無事にインストールできたので、今日はここまで!

もし明日死ぬとしたら

はてなブックマーク「もし明日死ぬとしたら、という問題設定について 」というエントリが目についた。最近、保険屋さんが頻繁に営業に来ているからかもしれない。何となく、死ぬリスクより生きるリスク(なんかひどい言い方だ)が気にかかる性分なのだが、実際に明日死ぬとわかっていたら何をするのか。

もともと「死ぬまでにしたい10のこと」を観てるくらいだから、この手のことに関心はあるほうだ。映画は切なかった。

死ぬまでにしたい10のこと [DVD]

死ぬまでにしたい10のこと [DVD]

そもそも「死ぬ」ということ自体よくわかっていない。学生のころ真面目に考えたりもしたが、当然ながら答えは出なかった。その後、そのまま流されて生きているような気もするし、それが普通な気もする。なぜ人は生まれて死んでいくのか、自分なんかが考えて解けるとは到底思えない。

それはさておき、明日死ぬとしたら数時間しかないわけで、やるとしたら銀行口座とかの情報をまとめるくらいか。そんなつまらないことに最後の時間を費やさなくてもいいように、いまやっておかないといけないな。

映画は23才の母親が主人公。そのリストは万民向けではないけれど、「娘たちに毎日愛してると言う」、というのには共感できた。もちろん、文化の違いもあるから、そのまま実行したいと思ったわけではなく、家族や人を大切に思うなら、その気持ちを毎日、丁寧に扱うべきだなと。50年後に死ぬなら、いまやらなくてもいいけど、いつ死ぬか知ることができないなら、とりあえず毎日。

平均余命はここに。いつの間にか年を重ねたよ。