崖っぷちの男

たぶん技術っぽいネタ。ブログ名が決められない

ユーザ情報変更画面の「アカウント情報をユーザに送信」のデフォルトチェックを外しておく

 Redmine のユーザ情報変更画面では、「アカウント情報をユーザに送信」にデフォルトでチェックがついているので、パスワードなんかを変更すると毎回メールが送られてしまいます。

 でも送るときは明示的にやりたいなあと思ったのでコードを修正しました。Redmine は最近 2.0 にバージョンアップしたばかりですが*1、最新版でも自分が修正したところは変わってませんでした。

 変更したのは以下です:
/trunk/app/views/users/_general.html.erb - Redmine

 この「/app/views/users/_general.html.erb」の

<p><label><%= check_box_tag 'send_information', 1, true%>
<%= l(:label_send_information) %></label></p>

を次のように変えるだけです。

<p><label><%= check_box_tag 'send_information', 1, false %>
<%= l(:label_send_information) %></label></p>



 はい今日は以上です。もう何にもでません。日によって気合いの入り方違いすぎですね。だって明日はホリデイですからね。

*1:[http://redmine.jp/redmine_today/2012/05/15/redmine-2_0_0-released/:title]

Youtube Stream と Apache 2.2 の設定

 まず最初に断っておきたいのですが、タイトルの「Youtube Stream」と「Apache 2.2の設定」の 2 つには何の関係もありません。今回書くことをただ羅列しただけです。もっというとこの記事のテーマはこれらではありません。

 いきなり何を言い出すんだこいつ酸素欠乏症にかかって…と思われそうですがそれは多分大丈夫で、今回は「ブログのネタがない時のネタを強引に作るために私が考えたしょうもないアイデア」について書こうと思います。

 そもそも今、自分はこういう試みをやっています。

 まあ要は無理からに毎日ブログを書いているんですが、当然毎日書くとネタがどうしても足りなくなります。でそれを何とかするためにアイデアはないかと考えてみた*1のですが、あることが頭に浮かびました。次の記事です:

 まあ要は「あとで読む」サービスの「Pocket (Formerly Read It Later)」であとで読むことにした記事がたまりすぎているので消化したかったんですが、だったら「あとで読むした記事からランダムに10個ほど記事を読んでそこからブログのネタを探せば一石二鳥じゃね?」という浅知恵アイデアが浮かんでしまいました。

 で結果はというと、何だかんだで自分が気になった記事ばかりなので読むのは結構楽しいです。「もっと早く読んでおけば…!」と思った記事もあります*2。ただあくまでも他の方が書いた記事なんで自分のネタが作れるわけではないですね。当たり前か。

 でも、そこは恥を恥とも思わずにネタにしてしまうのでした:


読んだ: 【iPhone】あんまり知られてないけどオススメのアプリ - まめ速

 スレで紹介されているアプリの中でも、バックグラウンドで指定したアーティストの Youtube 動画を順番に流してくれる無料アプリがいい感じでした。

Youtube Stream (無料ダウンロード、音楽) 5.2(無料)App
カテゴリ: ミュージック, ゲーム, ミュージック
販売元: Lifecom - Lifecom(サイズ: 11.8 MB)
全てのバージョンの評価: (1,747件の評価)
 

読んだ: Apache2.2の設定 - Debian 5.0(Lenny)の設定 - インフラ技術の実験室

 最近セキュリティ関係でちょっとトラブルを起こしていたので…(汗 Apache2 のこの辺の設定をちゃんとしておこうと思いました。

ServerTokens Prod
ServerSignature Off

 あと「__default__」を利用して IP でアクセスされた場合の設定ができるっていうのが勉強になりました。

他のバーチャルドメインで指定されていないアクセスはが捕捉するため、IP指定のアクセスはこのディレクティブにマッチします。

引用元:Apache2.2の設定 - Debian 5.0(Lenny)の設定 - インフラ技術の実験室


 そんな訳でネタがなくなったら私の四次元 Pocket が今後も何とかしてくれると思います。DRY MOON!

*1:そういえば昔は [http://d.hatena.ne.jp/hida_shun/20111003/1317654719:title] みたいなこともやっていました…

*2:まあ [http://blog.livedoor.jp/himasoku123/archives/51525322.html:title] のことなんですが

iPad版「するぷろ」ではてなダイアリーを書いてみています その2

 前回 にひき続き iPad でブログを書くために買ったアプリ「するぷろ」の話。前は「するぷろ」の「いいところ」を書いたので今日は特に「はてなダイアリー」に関するところと、ちょっと微妙なところを書いておきます。

するぷろ 2.8(¥600)App
カテゴリ: 仕事効率化, ニュース
販売元: Gachatech - isshin(サイズ: 0.3 MB)
全てのバージョンの評価: (25件の評価)
 

はてなダイアリーへの対応

 するぷろは数種類のブログサービスに対応していて、はてなダイアリーにも対応しているということで今回買ってみたのですが、「するぷろを使ってはてダ書いた」みたいな記事が軽く探した範囲では見つけられなくて、買ってみるまでは「どう対応しているのか」がよく分かりませんでした。

 でその前にそもそもそうすればはてダ対応になるかというと、「ブログ設定」画面の「ブログサービス」で「はてなダイアリー」を選択します。それ以外の項目は確か普通に入力しましたが、「API URL」だけは画面右上に「自動取得」というのがあるのでそれで自動取得できます。



 次に「どう対応しているのか」ですが、多分この2つだと思います。

  • ブログメニュー

 上で設定をしておけば、以下の各ページに「ブログメニュー」からすぐにアクセスできます。



  • 画像のアップロード

 アップロード先が はてなフォトライフ になります。

 他にもいくつかのはてな記法についてはカスタムタグが用意されています。



 はてな記法のカスタムタグについては「あ、全部の記法が用意されてる訳じゃないのかー」と最初思いましたが、まあ必要なものは自分で追加すればいいので問題ないです。

ここはちょっと気になるかも

 クリティカルなものではないし、実際に記事は書けているので問題はないのですが、以下のような気になる挙動はあります。

  • ブックマーク編集画面やカスタムタグ編集画面の「タイトル」欄に日本語が入力できない

内部ブラウザでWebページを開いてブックマークするとき、タイトルに日本語があっても問題ないのですが、自分で新たに入力しようとすると英語しか入力できません。

  • エディタ (テキスト入力ビュー)で文字入力してるとき、画面の下の方になってくると入力している文字がキーボードに隠れて見えなくなる

これは文末に適当に空行を入れておけば隠れない位置で入力できます。



 今回でするぷろのご紹介は終わりです。基本はシンプルだけど必要な機能は揃っていて、さらにカスタマイズもできるので、これからも使ってみようと思いました。

iPad版「するぷろ」ではてなダイアリーを書いてみた

 最近、iPadでブログを書いてみたいなーと思ったので「するぷろ」を買ってみました。まだ使いこなせていませんが、現時点での感想などを書いておきます。ちなみに前回と前々回の記事は既にこのするぷろで書いていたりします。

するぷろ 2.8(¥600)App
カテゴリ: 仕事効率化, ニュース
販売元: Gachatech - isshin(サイズ: 0.3 MB)
全てのバージョンの評価: (25件の評価)
 

いいところ
  • ブラウザとエディタを並べて表示できる

 使ってみると確かにこれは便利です。エディタで書いてるとき、プレビューを確認したくなったら隣に表示されているブラウザですぐに確認できます (もちろん普通のブラウザなので、はてダの下書き画面を表示して、テキストエリアにテキストをコピペした上で「プレビュー」を押す、という操作は必要ですが) 。

 ブラウザの方はタブブラウザなので複数ページを切り替えられますし、ブックマーク機能もあるのでブログを書く時に利用するページをあらかじめ色々ブックマークしておけば何かとはかどりそうです。エディタの方はタブとかなくて本当に1つのテキストフィールドなんですが、こっちも複数のドラフトを切り替えられたりするともっと便利なのかもと思います。

  • カスタムタグ (スニペット的なもの)が便利

 元々使えるようになっているカスタムタグだけでなくて、自分で追加できるのがいいです。カスタムタグの中に「ブラウザで表示しているURL」とか「クリップボードの内容」とか「エディタで選択している文章」を表すプレースホルダ的なものも入れられるので、ただのコピペと違い実用的です。

  • そもそも iPad で文章を書くのが意外と快適

 もはや「するぷろ」だけのメリットではないのですが、iPad で文章を書くのは気楽でいいです。地べたとかに置いて使えますし、デスクトップPCやノートPCで書くときのように「いかにも作業してます」っていう感じになりません。

 togetter でまとめられている どうして紙にプリントアウトした方が圧倒的に間違いに気付きやすいのか - Togetter の中で、「写真は掛けて見るときより置いて見たときの方が自分のコントロール下に置いているように感じる」みたいな趣旨の話があって、iPad を地べたに置いて文章を書くと、同じように自分が文章をコントロールできているような気分になれているんじゃないか、と勝手に思っています。



 ちょっと長くなりそうなので続きはまたいずれということで。。

Firefox の Selenium IDE で覚えておこうと思ったコマンド

 元々テスト用途で使ったことがあった Selenium IDE ですが、つい最近、この Selenium IDE をブラウザで特定の操作を自動実行させるために使ってみました。

 でそもそも Selenium のコマンドってほとんど覚えていなかったのですが、いろいろ自動実行させようとして初めていくつかのコマンドについて知ったので、今回はそれをメモっておきます。

指定した時間待つコマンド
コマンド pause
対象 ポーズする時間(ミリ秒)


まあ基本っぽい気がするんですが、テストの場合は「◯◯AndWait」で何かが起きるまで待つのがふつうだったのでとりあえず一定時間待つ、というこのコマンドは使っていませんでした。

ID付きでウインドウを開く、あるIDのウインドウを選択する、ウインドウを閉じる
コマンド openWindow
対象 パス
ID


コマンド selectWindow
対象 ID


コマンド close
対象


元のウインドウは開いたまま、別のウインドウをいて特定の URL にアクセスして、終わったらウインドウを閉じておく、みたいな時に使いました。

ページ内のオブジェクトについてJSで何か実行する
コマンド assertEval
対象 this.browserbot.getCurrentWindow().[...]
戻ってくるはずの値


this.browserbot.getCurrentWindow() で window オブジェクトが取得でき、また JavaScript でそれを操作できます。ここで window オブジェクトが取得できずにハマったのですが、古い Firefox (3.6あたり) ではうまくいかなかったので、うまくいかなければ Firefox を更新した方がいいかもしれないです。

フォームでファイルをアップロードする
コマンド type
対象 xpath=//input[@name='name属性']
アップロードするローカルファイルのパス


これだとファイルが選択されるだけなので、このあと submit ボタンを click する必要があります。わざわざ書かなくても Selenium で操作を記録すればこのコマンドが入るのですが、そもそもファイルアップロードも普通にできるということと、それが type なのを知らなかったのでメモ。

JavaScriptで得た値をコマンドで使う

(例)

コマンド openWindow
対象 javascript{'http://www.hogehoge.com?foo=' + bar()'}


対象のフィールドにはじめ、次のように書いてしまってハマったのですが、さすがに無理みたいです。

http://www.hogehoge.com?foo=javascript{bar() /* うまくいかない例です */}

上のように静的な部分もスクリプトにいれておけば問題はなさそうです。



 今回、表を使ったんですが普通にはてな記法で表を書くと上の方に <br> タグが追加されてしまって空白が空くのは自分だけなんでしょうか。。

 ちなみに <br> タグを自分で書くと回避できるっぽいです:

|*1|富士山|
|*2|鷹|
|*3|茄子|
<br>表の説明

iPadにインストールされているiPadで使えるアプリのデータ

 iPadに入っているアプリのどれがiPadで使えて、どれが使えないのかが分からないまま今まで使っていたので、ちょっと整理をしていました*1



 方法としては次のやり方でデータを入手しました:

  1. iPhone 構成ユーティリティを から落としてくる
  1. iPhone 構成ユーティリティでiPadを選択、ツールバーの「書き出す」ボタンでデバイスレコードを書き出す
  1. 「◯◯◯.deviceinfo」という名前で書き出されるので、python スクリプトでパースする (plistlib を使用)

 最後のpythonについては、次のようにするとデバイスレコードがdictとして取得できます。

import plistlib
deviceinfo = plistlib.readPlist("◯◯◯.deviceinfo")

 上のように deviceinfo に入れたとすると、次のようにすれば1つ1つのアプリケーションのデータについて処理ができます。

for applicationDict in deviceinfo['applicationDictionaries']:
	#各アプリのデータ (applicationDict) を処理

 このdictからは次のようなデータが得られるので、あとは適当にソートしたりフィルタリングしたりして出力します。

  • applicationDict['CFBundleDisplayName'] や applicationDict['CFBundleName'] でアプリ名
  • applicationDict['UIDeviceFamily'] でiPhoneiPadで使えるかどうかの情報がリストで返ってくる。1があればiPhoneで使え、2があればiPadで使える。このデータ自体ないこともあるので注意



 ゴールデンウィークだったり、体調が悪かったりして前の日記から日があいてしまいましたが、久しぶりに書きました。

 ブログのデザインも微妙にですが変更しました。というか1カラムから2カラムに戻してみました。

 次いでにこのブログはつい昨日くらいに「するぷろ」を買ってそれで書いています。このアプリのこともいずれ書くと思います。

*1:もちろん、iTunesiPadで使えるアプリだけ表示、といったことはできるのですが、リストをテキストデータで取得したかったのでこの日記のようなことをしています。

Aralon: Sword and Shadow HD おもしろいお

 普段ゲームをあまりやらないんですが、GWだしと思って iPad 用のRPGを買ってみました。かなり有名っぽいですが「Araron: Sword and Shadow HD」というやつです。

 やってみた感想ですが、全て英語であることに抵抗がなく、洋RPGが好きな人にはかなりおすすめです。これを書いている時点では 1200円 → 85円の値下げ中ですが、この内容で85円ならお得だと思います。

Aralon: Sword and Shadow HD 3.31(¥85)App
カテゴリ: ゲーム, エンターテインメント, アドベンチャー, ロールプレイング
販売元: Crescent Moon Games - Crescent Moon Games LLC(サイズ: 325.8 MB)
全てのバージョンの評価: (213件の評価)
+ iPhone/iPadの両方に対応

 まだ絶賛プレイ中なのですが、このゲームのいいなあと思うところ、良くないと思うところを挙げておきます。

良くないところ
  • グラフィック。きたなくはないけど、綺麗ではないです。初代プレステくらい?
  • 宿屋とか、街の建物の構造が大体一緒でつまらない。まあ逆に分かりやすいかも。
  • 会話のときの街の人のセリフがワンパターンすぎる。街ごとにはさすがに違うけど、街の中では数パターンしかない。ここまでくるといさぎよい。
  • 種族やクラス(職業?)、スキルのバリエーションがそんなに多くはない (パラディンで13種類)。クラスの方は自分は何回もプレイしないだろうから正直問題ないけど、スキルはもっといっぱいあった方がいいなあ。
  • 良くないというより要望だけど、移動中コンパスが表示されるとありがたい。どっち向いてるのか分からなくなる。マップを開けば確認できるけどめんどい。
  • iPad 版のみの問題だろうけど、移動やアクションのボタンは iPad を両手でもった時の指の位置に配置されてるのに、メニューを開くボタンだけ画面の一番左上にあるので開くときちょっとだるい。間違って押さないため?
  • オプションの設定時はいったんゲームを抜ける扱いになるので、セーブしておかないといけない。
  • リアルマネーでいいアイテムが買えるみたい。まあなくても進められるので問題はないけど何か悔しい気持ちになるってだけ。買えよ。
  • Bash Lockが失敗することがない。宝箱を絶対開けられるってこと。まあこれも逆にありがたい。
  • 敵が障害物にひっかかってくれるのでうまい感じで柱とか木があれば一方的に攻撃できる状態に持ち込める。まあ…ありがたいけど。
  • 魔法使いでも何だかんだで近づいてきて物理攻撃してくる。遠くから魔法うってればいいのに…。
  • そういや弓矢で遠くから攻撃されたことないな…使ってもいいのよ…
  • 操作できるのは一人だけ。パーティとかはない。その分シンプルだし、アイテムの割り振りとか考えなくていいので楽。傭兵を雇えるけど操作はできない。
  • そういえば傭兵は近くにいるので間違って会話を始めてしまうことが何度もあった。邪魔なので使えない。
  • アイテムへのエンチャント後の画面がバグる。閉じれば元に戻るので問題はないけど。
  • キーアイテムが余裕で捨てられる。取り戻せるのかもしれないけどこわいのでやってない。
  • アイテムをアイテム一覧画面では使えないし、スキルをスキル一覧画面から使えない。まあこれはそういうゲームルールだろうからいいけど使えると思っていると「あれ?」てなる。
  • 今のところストーリーがベタ過ぎる。悪いやつが王をたぶらかして何たら系。
  • 炎系の魔法のエフェクトが何か微妙。もしかして一種類しかないんだろうか
  • エリアによっては一種類の敵しかいなかったりする
  • セットになったアイテムを宝箱に入れるときセットでまとめて移動できない。
いいところ

 いい加減悪いところ書きすぎてどこがおすすめやねん状態になってきたのでいいところを。

  • 洋RPGによくある要素を (ライトにだけど) 用意している。結局はほぼこの一点につきる気がする。クエストベースであるとか、アイテムの装備部位が10個もあるとか。釣りができたり、ジャンプはできないのに泳げたり。ちなみに水中で酸素がなくなるとかはない。アイテムで装備に「素早さ+2」みたいな効果をつけられたり、クラフトでアイテム作れたり (全然活用してないけど…)、ちゃんと夜と昼があったり、「評判」パラメータがあったり、街の人を普通に攻撃できたり。
  • 敵の強さが丁度いい。というかゲームバランスがいい? レベル上げしなくても進めるようにはなってる。入手できるお金も多すぎず少なすぎずいい感じ。
  • マップ広い。その分だるいけど馬とか乗れるのでまあなんとか。いっそ街でも乗りたいお…
  • クエストが自然って他の記事に書いてあったけどその通りだと思う。そんなにおつかい感がない。
  • アイテムのバリエーションがそれなりにある。
  • 操作がシンプルで分かりやすい。
  • iPadの画面の広さだからだろうけどアイテムのパラメータ表示がポップアップで(画面遷移せずに)見られるので他のアイテムとの比較がしやすい。
  • iPadだけでなくiPhoneでも遊べる。1個だけセーブデータをサーバにアップロードできて、別のiPhoneiPadでそれをダウンロードして遊べる。

 まあまとめてしまうと、ストーリーやシステムが王道でゲームバランスもとれている、ボリュームのあるRPGがプレイできるのはありがたいってことですね。悪いところも色々あるけど、それでも楽しめるゲームだと思います。