MacOSXで、Homebrewから入れたopensshを使う

MacOSXには、標準でsshが入ってるし、別にそれを使ってても何も支障はないんだけど、なんとなくhomebrewでいれた最新版を使いたいなーなんて思ったのが運の尽きで、ちょっと問題が起きたのでそれをメモ。ついでに、一緒に入ってくるsshdでサーバーを建てる方法もゴニョゴニョ。

OpenSSHを入れる

Homebrewでopensshを入れるのは簡単で、次のようにコマンドを打てばいい

$ brew tap homebrew/dupes #過去に一度やっているようなら不要
$ brew install openssh
確認
$ ssh -v #OpenSSH_6.2
$ /usr/bin/ssh -v #OpenSSH_5.9
$ /usr/local/bin/ssh -v #OpenSSH_6.2

問題

この状態で、別のMacsshdに接続すると、lsで日本語が化ける。全部??????になる。こっちが????だコンチクショー!

んで、その解決方法は、まぁ"diff /etc/ssh_config /usr/local/etc/ssh/ssh_config" をすれば分かるんだけど、homebrew版ssh_configを下記のように修正すればいい。

- #Host *
+ Host *
+ SendEnv LANG LC_*

Homebrew版sshdを使う

ところが、こんな簡単な問題だとは気づかず、「あ、Mac標準のsshdとHomebrewなsshの相性が悪いに違いない!どちらもHomebrew版にすれば、解決するに違いない!」と思った俺は、そそくさとサーバー側にもHomebrew版のopensshを入れ、ゴニョゴニョし始めるわけである。

確認
$ sshd -v #OpenSSH_6.2
$ /usr/sbin/sshd -v #OpenSSH_5.9
$ /usr/local/sbin/sshd -v #OpenSSH_6.2

$ telnet localhost 22 #SSH-2.0-OpenSSH_5.9
既存のsshdを切る

とりあえず、今動いてるsshdを切る。今まで、Mac標準のsshdを使っていたので、機能のOFFは「システム環境設定」の「共有」を開き、リモートログインのチェックボックスをOFFにした。コマンド派な人は下記のコマンドを打つだけでもいいはず。(システム環境設定の共有とlaunchctlがリンクしてるかどうかは、まだ良くわかってない)

$ sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
設定を書き換える

上記のコマンドで参照してるファイル「/System/Library/LaunchDaemons/ssh.plist」がデーモン起動用の設定ファイルになるので、これを書き換える。
基本的に、value(とかとか)とがペアになって交互に並んでいる設定ファイルである。そこの「Program」の値「/usr/libexec/sshd-keygen-wrapper」となっているところを「/usr/local/sbin/sshd」に書き換え、「ProgramArguments」のの第1項を「/usr/sbin/sshd」から「/usr/local/sbin/sshd」に書き換える。

起動

下記コマンドを打って、デーモンとして立ち上げる。

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
確認

下記コマンドを打って、OpenSSHが6.2になっていれば勝ち

$ telnet localhost 22 #SSH-2.0-OpenSSH_6.2
注意

sshdをHomebrew版にしたら、ちゃんと設定を見直そう。というのも、標準のsshdなら /etc/sshd_config を参照するのだが、Homebrew版は /usr/local/etc/ssh/sshd_config が参照する。 Homebrew版の方に旧設定ファイルを上書きするもよし(?)、diffとってチマチマ直すもよし、とりあえずこの設定を見なおさないと、passwordAuthentication が yes になってたりする(コメントアウトされてるが、おそらく無記述によるデフォルト値がyes)ので注意が必要。

余談

ssh.plistを書き換えた時、Programの値を書き換えたが、実はこの「/usr/libexec/sshd-keygen-wrapper」は、単なるshellファイルで、起動時にssh_host_keyとかがなかったら生成してくれるコマンドを含んでいるものなので、本来ならProgramの値を書き換えるのではなく、「/usr/libexec/sshd-keygen-wrapper」の中に書かれているsshdのパスを書き換えるべきなんじゃないかなー、なんて思ったり思わなかったり。

Flash Professional CS6 for Macでプロジェクタに使用するFlash Playerをデバッグ版にする

誰だFlashは滅びるとか言ったの。Flashの仕事しかしてないぞここ最近。

前置き

当方、普段からMacを使用している関係で、Flash制作ももちろんMacで行なっているんだけれども、SWFは本来ブラウザで読み込んで実行するものなので、フォントの見た目以外でWindowsを意識して作る必要性はないのだが、極希に「Windowsで実行できるスタンドアロンFlash」を作ってという案件を受けることがあって、そうなると「Macで制作して、Windowsで実行する」という形になるのだが、それってつまりFlash Professionalというデバッガが使えないということになり、はてさて困ったもんだと。

プロジェクタとは

Flashは普通に書きだすとSWFとHTMLとが書き出されるわけだけれども、それ以外にも静止画像(GIF、JPG、PNG)やプロジェクタ書き出し(Win, Mac)ができる。このプロジェクタというのは、「FlashPlayerとSWFとをパッケージにすることで、FlashPlayerを入れてないPCでも単体でFlashを開ける」というものである。FlashPlayerが入ってなくても、SWFとセットでパッケージされているから、「開けない問題」が起きないというものである。

デバッグが出来ない

ただ、一方で、WindowsMacとでは実行形式が違うので、Windows実行用で書きだしてしまうとMacでは開くことが出来ない。そうなると、書きだしたプロジェクタ(Win)をWindows機に持って行って実行することになる。そしてそれはもうFlash Professionalというデバッガから完全に切り離されるので、まったくデバッグが出来ないのである。
また、FlashPlayerには、“標準版”とtrace()文の出力を外部ファイルに書き出してくれる“デバッガ版”というのがあるのだが、埋め込まれるFlash Playerは標準版のため、trace()文が出力されない。これではいわゆるプリントデバッグすら出来ないのである。

対策

逆に考えよう。この埋め込まれるFlash Playerをデバッガ版にすることが出来れば、プリントデバッグができるのである。

MacFlash Professional CS6は、その中に埋め込まれるFlash Playerを持っている。下記のディレクトリの中に「FlashPlayer.exe」というWindows版プレイヤーなどが入ってるのだが、このFlash Playerをデバッガ版と差し替えればよい。

/Applications/Adobe Flash CS6/Players

1.デバッガ版FlashPlayerをダウンロードする
下記サイトより、「Download the Windows Flash Player XX.X Projector content debugger (EXE, XX.XMB)」と書かれているリンクをクリックして、デバッガ版スタンドアロンプレイヤーを手に入れよう。
Adobe Flash Player - Debug Downloads

2.Playersディレクトリを開く
下記のディレクトリを開いてくだしあ。

/Applications/Adobe Flash CS6/Players

3.上書け
ダウンロードしてきたファイルは、ファイル名が違うので、「FlashPlayer.exe」に名前を変えて上書こう。同じディレクトリ内に「Debug」というディレクトリがあると思うが、これも実はデバッガ版なので、別に新しくダウンロードしてくる必要はないが、まぁ最新版の方がいいでしょ?

これだけでは終わらない

これをやってプロジェクタ書き出しをすると、ちゃんとデバッガ版が埋め込まれるようにはなるのだが、実はこれだけでは「trace文」を見ることが出来ない。実は、デバッガ版は「別に用意したコンフィグファイルに従って動作する」のである。しかしこのコンフィグファイル、自動的に生成してくれたりはしない。自分で指定の場所に置く必要がある。
場所やコンフィグファイルについての詳細などは下記のサイトにある。
http://livedocs.adobe.com/flex/3_jp/html/help.html?content=logging_04.html

今回はWindowsで試したいので、

  • mm.cfgをユーザーディレクトリ直下に置く
  • trace文を記録する指示を書く
  • プロジェクタを起動する
  • Adobe指定のディレクトリ( C:\Users\\AppData\Roaming\Macromedia\Flash Player )にLogs/flashlog.txtができてるか確認する

という事をする。
ちなみに、今回、mm.cfgに書いた設定は下記の通り

ErrorReportingEnable=1
MaxWarnings=100
TraceOutputFileEnable=1

俺の環境ではこれで目的が達成された。
あとは、テキストファイルが更新されると自動的に表示を更新するアプリケーションを見つけ、それで監視するだけだ。

Flash Professional CCではプロジェクタ埋め込み書き出しができない

なぜこの機能が消えてしまったのか。存在していてもなんの弊害もないだろうに、全く不可解である。

yancha入れた

結構ヤンチャなチャットシステムYancha

動機

たぶんYanchaの開発にちょっと参加するかもしれないしシないかもしれないしそんな感じになってきたので、とりまローカルで動かせるようにしようと思いまして。

とりあえずperlを入れよう

Macとかだと最初からperlコマンドが使えるんだけど、いろいろライブラリを入れることになるし、できればシステムを汚したくないなーとか思ったので、plenvを入れることにした。plenvを入れておけば、cpanmで入れたライブラリは~/.plenv以下に入れられるので、掃除が楽!

plenvのインストール方法

俺は普段、Mac向けパッケージマネージャとしてhomebrewを使っているので、plenv自体はhomebrewから入れた。そして.bash_profile(人によっては.bashrcとか.zshrcとか.profileとか)に、このplenvを使えるようにするための設定を書き込む。

$ brew install plenv
$ echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'PATH=$HOME/.plenv/shims:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile #上記設定を読み込み、有効にする
perlを入れる

この時点ではまだplenvを入れただけなので、plenv配下で動くperlを入れよう。

$ perl -v 
This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level

$ plenv available
perl-5.18.0-RC4
perl-5.16.3
perl-5.14.4
perl-5.12.5
perl-5.10.1
perl-5.8.9
perl-5.6.2
perl5.005_04
perl5.004_05
perl5.003_07

$ plenv install 5.16.3
(ちょっとした時間の経過と共に、ズラズラと長いログが出る)

さて、これでperl 5.16.3が入った。ただ、この時点では「入っただけ」でまだ新しいperlへのパスが通っていないはず。

$ perl -v 
This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level

新しく入れたperlを有効にするために、plenvの設定を変えよう。

$ plenv global 5.16.3
$ perl -v 
This is perl 5, version 16, subversion 3 (v5.16.3) built for darwin-2level
cpanmも使えるようにする

あとは、cpanmで入れるライブラリがこのperlで使えるところに入るように、instal-cpanmを入れる。

$ plenv install-cpanm
$ which cpanm
~/.plenv/shims/cpanm

これで下準備はできた。

yanchaを入れる

yanchaはさすがにhomebrewには入っていないので、githubから引っ張ってこよう。
GitHub - uzulla/yancha: yancha is Yet Another Nerwork CHAt. (old name yairc) by Hachioji.pm

$ git clone git://github.com/uzulla/yancha.git
$ cd yancha
$ pwd
<yancha-path>

入れるだけならこれだけでいい。入れるだけなら。

yanchaの設定

入れるだけではなんの意味もない。ちゃんと動くようにするためにも、yanchaの設定をしよう。

sqlite3でDBを作る

yanchaはDBにmysqlとsqlite3とを使えるようになっているので、今回はsqlite3を使うことにする。
たぶんsqlite3はMacに標準で入ってるのでhomebrewの出番はいらないだろう。

$ which sqlite3
/usr/bin/sqlite3

sqlite3は他のSQL系DBと違って、DBサーバーを持たない。その代わり、任意の場所にDBファイルを用意して、そのファイルを用いて使うことになる。新しいDBファイルを作るには、sqlite3コマンドの引数にそのファイル名を与えればいいだけなのだが、yanchaにはDBの初期化ファイルが用意されているので、これも使ってDBを作ろう

$ pwd
<yancha-path>
$ sqlite3 yancha.db < db/init_sqlite.sql
依存モジュールを入れる

ライブラリ? モジュール? 何が違うの? 程度のperl力ですが、依存モジュールを入れます。ただ、いちいち自分で用意して入れる必要はなくて、下記コマンドを打てば一発なのです。

$ sh Install
依存モジュールをインストールします.
...
どのDB を使用しますか?(数字で指定してください).
1: MySQL
2: SQLite
2 #←入力
...
config.plを作成しますか?[y/n]
n #←入力

依存モジュールを入れる際、script/install_DBD.shが実行される。そこでDB関連設定の初期化もしてくれているっぽくて、自動的にconfig.plを生成してくれてるっぽい。そのため、その後の「config.plを作成しますか?[y/n]」では n を選択しよう。
もし、config.plが生成されなくても、config.pl.sampleをコピーして一部を修正すれば大丈夫だと思う。

$ cp config.pl.sample config.pl
$ vi config.pl

@@ -49,14 +49,14 @@
- 'dbi:mysql:database=name', 'user', 'password',
- {
- mysql_enable_utf8 => 1 ,
- mysql_auto_reconnect => 1,
- RaiseError => 1,
- }
+ #'dbi:mysql:database=name', 'user', 'password',
+ #{
+ # mysql_enable_utf8 => 1 ,
+ # mysql_auto_reconnect => 1,
+ # RaiseError => 1,
+ #}
# SQLite を使用したい場合は、上のMySQL 関連の設定を削除してから以下のコメントを解除して使用して下さい
- # 'dbi:SQLite:database=name', undef, undef, { sqlite_unicode => 1 }
+ 'dbi:SQLite:database=yancha.db', undef, undef, { sqlite_unicode => 1 }

デフォルトでは、MySQLの設定が有効になっているので、その部分をコメントアウトし、直後のsqliteの設定のコメントアウトを外す。その時、DB名(database=name となっているところの"name"部分)にDBのファイル名を指定するように。今回は「sqlite3 yancha.db < 〜」とDBファイルを作成しているので、"yancha.db"に書き換えている。

実行!

そんなこんなでひと通り設定が終わったので、yanchaを走らせてみよう。

$ sh start.sh

なんのログも出ないが、この状態で、ウェブブラウザから "localhost:3000" にアクセスすると、yanchaのトップページが表示されるようになる。やったねたe(ry

まとめると

ずらずらと長くなったが、実際にタイプする必要のあるコマンドは、

$ git clone git://github.com/uzulla/yancha.git
$ cd yancha
$ sqlite3 yancha.db < db/init_sqlite.sql
$ sh Install

だけだったりする。

参考サイト

「継承した定義 ***(名前空間 public)にコンフリクトが存在します」理由

FlashProfessionalプロジェクトとして、AS3プログラミングをしていると、なんかサラッと生じるエラーの代表格がこれなんじゃないかと思うくらい、俺がAS組むとこのエラーにぶち当たるんですが、案外具体的な情報がなくていつも困っていたわけだけれども、いろいろ実験してみたところ、なんとなく原因がわかったので、ブログる。

参考資料

実際に表題のエラーがでるソースコードをおいておくので、cloneしてくだしあ。
https://github.com/kkotaro0111/FlashProf_Conflict_Error

withErrorブランチが、上記エラーが生じる状態、
createClassBブランチが、それが修正された状態その1。
wrapClassブランチが、それが修正された状態その2。

状況

FlashProfessionalのステージ上に、オブジェクトB、Cがある。
オブジェクトBは、FlashProfessionalのライブラリ内でリンゲージを設定されており、クラスとして"classB"を、基本クラスとして"classA"を設定してある。
オブジェクトCは、classC.asという外部ASファイルがあり、その中で"extends classA"つまりクラスAの派生クラスとして宣言されている。FlashProfessional上では、同様にリンゲージされているが、外部ASファイルがあるので、基本クラスが設定されていない(外部ASファイルに設定が移譲されている)。
オブジェクトAは存在しないが、"classA.as"として外部ASファイルが存在しており、オブジェクトBおよびCの親クラスとなっている(はず)。一応、MovieClipから派生している。

オブジェクトBおよびCは、そのMovieClip内にそれぞれ、"share"というインスタンス名を持つオブジェクトが配置されている。つまり、オブジェクトBもCも"this.share"でアクセスできるインスタンスを持っている。

この状態で、コンパイルすると、表題のようなエラーが吐き出される。
この場合、"1152: 継承した定義 classA.share (名前空間 public) にコンフリクトが存在します。"と表示される。

原因

オブジェクトC側で、インスタンス"share"が多重宣言されたことになっているのが原因。
普通に考えたら、オブジェクトBはclassBに関連付けられており、オブジェクトCはclassCに関連付けられているように感じる。確かに、オブジェクトCの方はインスタンス"share"をclassCのインスタンスとして自動宣言されており、その挙動には違和感がない。

ただ、外部ASファイルを作らなかったオブジェクトB(classB)が問題で、コンパイラ的にはclassBというクラスは存在しないことになっているようだ。さしずめ、"var classB:classA = new classA();"として作られた感じだろうか。そのため、オブジェクトB側のインスタンス"share"は、【classAのインスタンスとして自動宣言される】わけだ。コンパイラはこの事実から、【classAは"share"というインスタンスを持つ】と認識する。しかもpublic。

さて、classCはclassAの派生クラスである。つまり、classCは特に"share"というインスタンスを宣言しなくても、"share"インスタンスを持っていることになり、それにアクセスできることになる。しかし、先にあげたように、classCはclassCで独自に"share"が宣言される。そのため、ここで多重宣言が生じ、コンフリクトが起きるわけだ。

解決策

1つは、"classB.as"というファイルを作り、リンゲージの設定で関連付けさせる方法だ(createClassBブランチ)。classB.asがあれば、オブジェクトBは"new classB();"として宣言され、インスタンス"share"もclassBのインスタンスとして宣言される。(おそらく)classAはインスタンス"share"の存在を知ることはない。ただし、この方法では、classAを基本クラスに持つオブジェクトが100個あった場合、外部ASファイルを100個作らなければいけない。大変だ。その場合の解決策がもう一つ方法である。
もう1つは"外部ASファイルを持たないオブジェクトの基本クラスに設定するためのラップクラス"を外部ASファイルで宣言する(wrapClassブランチ)。この場合、例えば"public class WrapClassA extends classA"なクラスを外部ASファイルとして作っておき、オブジェクトBのリンゲージ設定の「基本クラス」に"WrapClassA"を設定する。こうしておくと、オブジェクトCの"share"インスタンスは"classCのインスタンス"として、オブジェクトBの"share"インスタンスは"WrapClassA"のインスタンスとして宣言されるので、classAには影響が及ばなくなるため、オブジェクトCで多重宣言されることはなくなる。
他にも、外部ASファイルを作らず、オブジェクトCの第1フレームに直接書くという手もあるが、AS3のコードをタイムラインに書くのって俺的にナンセンスなので却下だ。

注意

ここに書かれてるFlashProfessionalおよびそのコンパイラの挙動については、あくまで俺が感じた雰囲気を元に予想したものであり、実際に上記のような判断、構成になっているかどうかは不明である。なので、「あぁそういうイメージかー」程度に認識していただきたい。

空前のAS15ブーム!

ただし俺の中でだけ。

AS15の性質

Sonyが出したアクションカム、「HDR-AS15」は、アクションカムという性質上、そもそも専用バッテリーで駆動すればよく、ACアダプタやUSB端子などから給電を行いながら撮影することができない(USBから給電して専用バッテリーを充電することは可能)。
ただ、アクションカムとはいえデジタルムービーカメラなのだから、映像的特性を許容出来るのであれば、普段撮りなどでも使う機会はある。そうなると、バッテリーの残容量に気を配りながら撮影するのは少し面倒くさい。やはりできれば、外部から給電を受けながら撮影したいものだ。

本当に給電しながら撮影できないの?

実のところを言うと、それは「できる」だ。ただ、普通にUSBケーブルをPCやAC-USBアダプタにつないで電源を入れても、USBモードになってしまい、録画モードに移行することができない。ではどうすればいいのか。それはAS15に「データ通信モードじゃないよ」とカン違いさせればいいのだ。つまり、USBケーブルをいじって、データ通信はできないようにすれば、それが可能になる。しかし、単純にデータ通信用銅線を切ってもそれは実現できない。ではどうすればいいのか。あとは動画をご確認いただきたい。


作るのめんどい

変換器でも買ってろ。

で、実際それを使って撮影する機会ってあるの?

…ないね。
でも、microSD→USB変換器とか使ってHDDや大容量USBメモリを繋げば、超長時間録画が可能になるので、防犯カメラとか、使い所はあると思うんだ!

空前の充電池ブーム!

パッケージが変わっただけでガタガタいうんじゃねーよ。
どうせ機器に入れてしまえば電池のデザインなんて見えないんだから。

いろんな近代充電池

エネループといえば、近代充電池*1の代名詞ともなるくらい、充電池の格を上げ、いままで充電池を使ってきてなかった層にもいい感じに普及した素晴らしい商品ではあるが、素晴らしい商品であるがゆえに後追いででてきた近代充電池も結構な数ある。今までエネループ一択だった俺も、そういえば製品比較を一切せずにエネループを選んでたなーと思い出し、それならば今でてる他の充電池は一体どんな性能なのか、各々にどの程度、差があるのか気になってきた。そこで、ちょっと簡単に調べてまとめてみた。

ざっくり調べた感じだと、今売られている充電池には下記のものがあるようだ。

思ったよりも少ない感じがするので、たぶんまだ見つけられてない悲しい充電池があるのだろうが、とりあえずこれらの性能をまとめてみる。

性能一覧

各充電池にも、いろいろなバリエーション、形式があるわけだが、今回は単三電池の一番ポピュラーであると思われるものをベースに比較することにすることにする。価格については、単三電池2本入りのものを調査した。

製品名*2 型番 容量 繰り返し利用可能回数 トータル利用可能容量*3 パワー残存率 価格*4
eneloop 旧モデル HR-3UTGB-2 Min.1,900mAh 1,800times 3,420,000mAh - 1,260yen
eneloop lite 旧モデル HR-3UQ-2BP Min.950mAh 2,000times 1,900,000mAh - 780yen
eneloop スタンダードモデル BK-3MCC/2 Min.2,100mAh 1,800times 3,780,000mAh 90%/year(70%/5years) -
eneloop ハイエンドモデル BK-3HCC/2 Min.2,450mAh 500times 1,225,000mAh 85%/year -
eneloop lite BK-3LCC/2 Min.950mAh 5,000times 4,750,000mAh 90%/year -
EVOLTA 旧スタンダードモデル HHR-3MWS/2B Min.1,900mAh 1,800times 3,420,000mAh 85%/year 〜880yen
EVOLTA スタンダードモデル BK-3MLE/2B Min.1,950mAh 1,800times 3,510,000mAh - 1,220yen
EVOLTA ハイエンドモデル BK-3HLC/2B Min.2,500mAh 300times 750,000mAh - -
EVOLTA お手軽モデル BK-3LLB/2B Min.1,000mAh 4,000times 4,000,000mAh - -
EVOLTA e HHR-3LWS/2B Min.1,000mAh 2,100times 2,100,000mAh 85%/year 〜760yen
IMPULSE A TNH-3A 2P Min.2,400mAh 500times 1,200,000mAh 85%/year 〜861yen
IMPULSE M TNH-3M 2P Min.1,900mAh 1,500times 2,850,000mAh 85%/year 〜708yen
東芝充電池 TNH-3L 2P Min.950mAh 1,800times 1,710,000mAh - 〜598yen
サイクルエナジー ゴールド NH-AA-2BKB Min.2,100mAh 1,000times 2,100,000mAh - 〜921yen
サイクルエナジー シルバー NH-AA-2BR Min.1,000mAh 1,500times 1,500,000mAh - 〜1,023yen
ecoful MHR-3SAY.2B Min.2,000mAh 1,000times 2,000,000mAh 80%/year 〜1,207yen
ecoful lite MHR-3LAY.2B Min.950mAh 1,500times 1,425,000mAh 80%/year 〜1,034yen
富士通 高容量充電池 HR-3UTHA(2B) Min.2,400mAh 500times 1,200,000mAh 75%/year 〜980yen
富士通充電池 HR-3UTA(2B) Min.1,900mAh 1,800times 3,420,000mAh 70%/5years 〜879yen

何がどう違うの?

充電池にはいくつかタイプがあるようだ。

  • 高容量だけど、繰り返し利用可能回数が少ない
  • 低容量だけど、何度も使える
  • どっちつかずのマルチプレイヤー

今まで大は小を兼ねる的な感じで、とりあえず高容量を選ぶ傾向にあった俺だが、この容量の違いについて調べていると、時と場合というのも考えたほうがいい気がしてきた。高容量と低容量の違いは下記*5

高容量
2,500mAh前後のもの。1回の満充電で使用できる時間*6が長く、空の状態から満充電までの時間も長い。消費電力の高い電化製品や長時間連続使用する際に向いている。
低容量
1,000mAh前後のもの。連続して使える時間は短いものの、充電時間も短く、価格も安い。消費電力が低い電化製品やおもちゃなどに向いており、繰り返し利用可能回数が高くなることからコストパフォーマンスがいい。

上記より、リモコンや懐中電灯など、常時電力を消費しているわけではなく、また消費電力も低い電化製品には、低容量の充電池を用いたほうが、コストパーフォーマンスがよく、適している。一方で、モバイルバッテリーやデジカメなど、使用時の消費電力が大きく、連続して使用するような場合は高容量のほうがいい。そうじゃないと、頻繁に電池交換や充電をし直さなければならず、時間コストが高くなってしまう。

で、どれを買えばいいの?

上の表を見る限りでは、リモコン等に用いる充電池で、コストパーフォーマンスを良くしたいなら、トータル利用可能容量の大きいeneloop lite(新モデルの方)だろう。EVOLTAお手軽モデルでもいいかもしれないが、750,000mAhの差は大きい。ただ、この新モデルはまだ発売前のためどの店舗でも価格が付けられていないので、コストパーフォーマンスを考えたらEVOLTAになる可能性もある。
逆に、頻繁な電池交換を避けたいなら高容量のどれか(eneloop ハイエンドモデルやEVOLTAハイエンドモデル、IMPULSE Aなど)を選ぶといいかもしれない。すでにどれかの充電器をもっているのであれば、その系統のモデルを買うことで、別途充電器を買う必要がなくなるので、それを元にブランドを決めるのもいいだろう。

所感

富士通の高容量充電池、案外すごいのな。2,400mAhで500回利用可能とか、今度出るeneloopのハイエンドモデルに近いじゃん。なぜその充電池をブランド化しないのだろうか。

*1:適当に言っているだけで何の定義もないです

*2:リンクはAmazonアフィリンク

*3:容量x繰り返し利用可能回数

*4:確認できた最高価格

*5:なんとなく解説してるので意味的に間違ってるかもね

*6:正確には時間で表せるものではないけど同使用環境下で連続使用した場合として仮定し、時間に置き換え

はじめてのすけーと

氷上の灼熱。

ギロッポンでタウンミッドですよ


そんなわけで、生まれて初めてのアイススケートをしてきました。

場所は東京ミッドタウン
その横の広いスペースにアイスリンクができてて、
1600円くらいで自由に滑られるというもの。
レンタルシューズもあるから、基本、着の身着のままで参加できる。
ダイナースクラブ アイスリンク in 東京ミッドタウン|2013年|イベント|東京ミッドタウン

コケるのもスベるのも意味は同じだろ!

ひとまず、氷上で動けなくなるということは回避できたけど、
転ぶこと5,6回。突いた手のひらが痛い痛い。痣になってる。

それに、力を抜くことがまだできないので、常にスネのあたりの筋肉が張ってて、
10分もすべらないうちからスネに痛みが。
これは筋肉痛になるぞー!

ある程度慣れてくると、ひとまず「滑る」ことはできるようになってきたけど、
長距離は無理だし、曲がれないし、人が近づいてくると慌ててバランス崩すし、
まだまだ練習が必要そう。

運動した後は美味しいものを

そして一行はオイスターバーに向かうのであった。

オイスターバー&レストラン オストレア 六本木店 Ostrea - 六本木/オイスターバー

オイスターバーとかはじめて行ったけど、
ただ牡蠣が並んでいるだけじゃなくて、産地ごとにメニューになってて、
自分の好きな産地の牡蠣を選んで注文できるのね。
よくわからない人には、「おまかせパック」みたいなのがあって、
この御店では12piece 5000円弱だったかな?(忘れた

あと、3Lサイズという大きい牡蠣があるというので頼んでみた。
それがこれ。

成人男性の手のひらほどある大きさの牡蠣が。
一口では食えないので、3回に分けたのだが、
いやー、この牡蠣の風呂に入って溺れたい。

そんなわけで

またアイススケートやりたいし、
またオイスターバーいきたい。