✖
Chrome やら Firefox やら、requestFullscreen に対応しつつあるブラウザでは写真をクリックしたときにそれを使うようにした。Mac の Chrome だと結構いい感じに動く。
今までページ内に Lightbox っぽく表示していたけれど、これだと画面のサイズによっては、ページにそのまま表示されている場合よりも小さく表示されることがあって、これじゃない感が強かった。フルスクリーンだと画面を基準にして最大限努力していますという感じになる。
requestFullscreen の仕様はぜんぜん読んでないので、フルスクリーン化したときのスタイルの計算方法がよくわかってない。
使っているライブラリ (jQuery colorbox) の場合、表示するときに画面サイズを計算して width と height を埋めてしまうので、fullscreenchange で計算させなおしている。document.fullscreenElement にオブジェクトが入っているかどうかでフルスクリーン化されているかどうかがわかるみたいだ。今回の場合、colorbox が閉じられた場合はフルスクリーンモードも終了するようにしてある (逆にフルスクリーンモードが終了したら colorbox も閉じるようにしてある)。
ホバーしたとき、クリックしたらフルスクリーンになりますよってわかるようにすべきだろうけど、いいアイコンとかがない。
関連エントリー
- Spring MVC で @Async と @RequestScope を共存させるには? @Async と @RequestScope を同時につかうとどうなるか @RequestScope、これは @Scope(value = ...
- Chrome App をテストする Chrome App という、Chrome Extension の延長上にあるスタンドアロンアプリを作れる仕組みがある。これは、しばしば出て...
- webcomponentsjs/Polymer、HTML Imports が終わるまでの間ローディングを出したい。 link rel="import" によるロードはやはりちょっと時間がかかる。Polymer の場合どうしてもインポート数が増えるのでなんと...
- 現在の h2o.conf.yaml 今のこのサイトの h2o.conf.yaml です。HTTPS (443) のみを処理しています。HTTP (80) は nginx で受け...
- スクリーンキャスト用のキーストローク表示アプリ 前にMacRuby でスクリーンキャスト用のキーストローク表示スクリプトを書いたんですが、それを Swift で書きなおして機能を追加したり...
✖
✖
高校生ぐらいのときからずっと使っていた電動髭剃りがさすがに結構駄目になってきて、肌は荒れるわ綺麗に剃れないわという感じだったので、ようやく購入。十分満足です。
トゲトゲしててモンスターっぽくてカッコいいです。
普通の歯ブラシで奥歯を磨くのが苦手でうまく磨けていない自覚があって、電動歯ブラシで解決したらいいなあと思い購入してみた。電動歯ブラシははじめてなので、この製品が良いかどうかはあまりわからないけど、奥歯を磨くのは圧倒的に楽になった。
今まで普通の歯ブラシで磨いていたときは、だらだら長くやっていたけど、電動だとさくさく終わってちょっと物足りない気がしてしまう。歯磨き粉をつけないせいもあると思う。
関連エントリー
- 歯医者 前回のときは磨き残し率が50%ぐらいあった気がして結構ショックを受けたんだけど、今回は3%ぐらいまで落ちて嬉しかった。 フロスをはじめた や...
- 電動ハブラシを買いかえた パナソニック 電動歯ブラシ ドルツ 黒 EW-DP33-K cho45 パナソニック(Panasonic) ★ 5.0 / 5.0 cho4...
- 貴様はピカールを知っているか 日本磨料工業 ピカール 金属磨き 300g 12100 cho45 日本磨料工業(Nihon Maryo Kogyo) ★ 5.0 / 5....
- パナソニック ジェットウォッシャー ドルツ はフロスの代わりにはらない パナソニック 口腔洗浄器 ジェットウォッシャー ドルツ 白 EW-DJ61-W cho45 パナソニック(Panasonic) ★ 3.0 ...
- あつ、フロス・虫歯・糸ようじ 去年歯医者で一通りの治療が終わったあと、フロスの必要性をかなりしつこく言われたので、最初は糸ようじを使い、途中から普通の糸フロスを使ってみた...
✖
友達がいないからボードゲーム買ってもしかたないという思いもありつつ、それにしてもボードゲームをものすごいやりたい気持ちが高まって、カルカソンヌを買ってみた。カルカソンヌは
- 2人からプレイ可能
- ときどき耳にする (名作らしい)
- レビュー見ても評価が高い
- ルールが簡単 (らしい)
という理由から選定した。実際数ゲームを2人でやってみたけど、期待通り面白い。ルールは難しくないし、ポイント計算も1ゲームやれば覚えられるレベルだった。何よりタイルを並べていっていろんな形の町と道ができていくのが面白い。あと手元に何も隠すものがない、というものなんとなく心理的に楽に感じる。
早速追加キットが欲しくなった。
関連エントリー
- ✖ 単に可愛い女の子のレベルをあげるだけのハクスラ系のゲームをやりたいと日々考えていて、3DS版の閃乱カグラとか、無双シリーズとか、淡々とレベル...
- スプラトゥーン2 は「塗りで貢献できる」ゲームじゃないから騙されるな しばらく頑張ってやってたけど、すっかり自分の中の評価は落ち着いてクソゲーとなった。 ランク46、ガチは全ルールA-ぐらいまでやった。ただし表...
- ポケモン Go 僕はポケモンシリーズを一切プレイしたことがなくて、子供のときはコロコロか何かについてきたポケモンのモンスター一覧を眺めて「進化先が複数あるポ...
- ErgoDox について調べた(買わないけど) ヤパチーでErgoDox を見て面白いなあと思ったので調べてみた。 ネットの記事だとErgoDoxって、「とにかく健康だ!! 筋肉だ!!!」...
- ✖ 単に可愛い女の子のレベルをあげるだけのハクスラ系… | Wed, Sep 23. 2020 - 氾濫原 とか書いたけどエピックセブンというス...
Plack::Session::Store::File でできるだけセッションファイルを作らないようにする
Plack::Session::Store::File はお手軽でちょっとしたものを作りたいときに便利なんですが、いかんせんアクセスしただけでセッションファイルを作りまくるのは嫌なのでなんとかしたい、という話です
結論からいうと以下のようにすればいいようです。ここでは MessagePack を使ってますがシリアライザ自体は別になんでもよくて、serializer に指定するサブルーチンで、$session に値がなければ書きこまないようにしただけです。
この場合、セッションに値を一切入れない場合毎回セッションIDが変化する状態 (不定) になります。CSRF 対策なんかでセッションIDを流用している場合は、セッションIDを確定させるため POST 前の画面を開いた時点では、セッションに適当な値を書きこむ必要があります (セッションを使うところではセッションに値を書くことで明示的にそれを示す)。
my $MessagePack = Data::MessagePack->new;
$MessagePack->canonical;
builder {
enable "Plack::Middleware::Session",
state => Plack::Session::State::Cookie->new(
session_key => 's',
expires => 60 * 60 * 24 * 365,
),
store => Plack::Session::Store::File->new(
dir => config->root->subdir('session').q(),
serializer => sub {
my ($session, $file) = @_;
return unless %$session;
my $fh = file($file)->openw;
print $fh $MessagePack->pack($session);
close $fh;
},
deserializer => sub {
my ($file) = @_;
eval {
$MessagePack->unpack(scalar file($file)->slurp)
} || +{}
},
);
$app;
|;
git pull したあとどのファイルが変更されたのか表示する
デフォルトだと
git config --get merge.stat
が true なので表示されるが (表示されるのは git diff --stat ORIG_HEAD 相当)、
git config --local --get branch.master.rebase
が true に設定されていたり(git config --get branch.autosetuprebase が always だったりすると設定される)、 git pull --rebase とした場合、merge ではなく rebase になるため表示されず悲しい。これは
git config --get rebase.stat
が false by default だからで、true にセットしてやればいいようだ。
git config --global --add --bool rebase.stat true
花火
Excel が自動認識するファイルフォーマット
「UTF-16LE BOM付き タブ区切り」で出力すれば認識される (Microsoft Excel 2008 for Mac でのみ確認)









