WiKicker で使用しているキャッシュシステム Memcached 用の Perl API Cache::Memcached が新しくなっていたので、入れ換え。
1月に入れた時と同様、Perl 5.005_03 ではそのまま動かないので一部を修正。 前回はCVSスナップショット(Memcached.pm revision 1.8)に対する修正だったので手元で修正しただけだったが、今回はパッチも作っておく。
修正点は
といったところ(WiKicker で使っているところのみ修正)。
以前は Use of uninitialized value がかなり出ていたのだが、 Cache::Memcached のコード自体が綺麗になったのかこれらも出なくなっていい感じ。
そういえばパッチなんて滅多に作らないな。Cache::Memcached のパッチを作った時の手順をメモしておく。 公開する場合のパッチの作り方はこんな感じでOK?
--- 作成 tar zxvf Cache-Memcached-1.13.tar.gz cp -a Cache-Memcached-1.13 Cache-Memcached-1.13.orig emacs Cache-Memcached-1.13/Memcached.pm diff -ur Cache-Memcached-1.13.orig Cache-Memcached-1.13 > Cache-Memcached-1.13-5.005_03-20040605.diff --- patch する時 tar zxvf Cache-Memcached-1.13.tar.gz patch -p0 < /tmp/Cache-Memcached-1.13-5.005_03-20040605.diff
Memcached まわりをいじったので、キャッシュ具合をテストしていたら変な現象が。 WikiPage が表示されるべきところに、検索結果が表示されている。 あれ?
WiKicker では WikiPage のレンダリング結果も検索結果もキャッシュしているが、それぞれ別のキャッシュキーになるようにしている (WiKickerのバージョンを $V とすると、'$V:h:ページ名' と '$V:s:検索語')ので混ざるはずがないんだけれどな。 キャッシュしているデータの形式も違うし。
最初は Memcached まわりのアップデートで不具合がでたのかと思ったが、戻しても変わらない。ということは、ずっと以前からこの問題が発生していたのか。 やば。 設定でニックネームを設定している(cookie に保存している)と、その Web ブラウザに対してはキャッシュ機能が働かないようになっているので発見が遅れてしまった。
で結局コードをチェックしてみたら「WikiPage 表示と検索結果表示の View クラスを同じにしていたため、検索結果のレンダリングが WikiPage レンダリング結果と同じ領域にキャッシュされる」という風になってしまっていた。 ということで誰かがページ名で検索するとそれがキャッシュされてしまい、ページを読もうとしてもキャッシュ破棄されるまで検索結果が表示されてしまうというひどい状況になっていたと。
修正。
Memcached の出力をチェックしていたら、たまにエラーが起きていることを確認。 Memcached のプロトコルをチェックしたら、キーには制御文字と空白は使えないとある。 Cache::Memcached を見たらキーはそのまま through するだけ。 ということでページ名に空白が含まれている場合などの時には、まずい事になっていたようだ。 こちらは、キーを自前でエンコーディング(ページデータベースファイル名の作成に使っている base64 の亜種)するように修正。
妹の学生時代の家庭教師だった方が最近リフォーム・引越しをし、そのリフォームの話がテレビ東京18:30からの番組「辰巳琢郎の夢リフォーム」で紹介されるというので視聴。
30分まるまるそのお宅の話だった。先生の顔こんなだったかなぁ。
リフォームは、さすが旦那自身の設計とあって夫婦の希望通りという感じ。 「大改造!!劇的ビフォーアフター」のように、デザイナーのひとりよがり(と私は感じる)一工夫が入っていなく無駄がなくていいな。 最初からリフォームを念頭に中古マンションを購入とのこと。
遠いかすかなツテではあるが、なにかの機会があったら頼みたいかも。 しかし「リフォーム代約800万円 (設計費除く)」ってそんな金ないない。
Perl API (Cache::Memcached)のアップデートのついでに、Memcached 自体もアップデート。
cd /tmp wget http://www.monkey.org/~provos/libevent-0.8.tar.gz tar zxvf libevent-0.8.tar.gz cd libevent-0.8 ./configure make cd .. wget http://www.danga.com/memcached/dist/memcached-1.1.11.tar.gz tar zxvf memcached-1.1.11.tar.gz cd memcached-1.1.11 CFLAGS='-L../libevent-0.8 -I../libevent-0.8' ./configure --prefix=$HOME/local/memcached-1.1.11 make make install
先週に引き続き歯の定期健診2回目。
右上奥歯をフロスするとたまに血がでると話をしたら、実際にフロスを通して問題ないかチェックしてくれた。どうやらパチンとやって歯茎が切れるパターンらしい。 歯に沿わせていれるようにとの事。 帰りにフロスの仕方の紙を貰った。
先週歯石取りを終えて、今日はエネメル質を強くする薬で磨きである。
「プラークコントロール良くできてますね」と誉められてかなり嬉しかった。 「指導を浮けたことがあるか?」と聞かれたのだが、特に無し。 ソニッケアー + フロス + リステリンのおかげか。
歯と歯の間に着色汚れがつきやすいとのこと。唾液等口腔内がそういうタイプなのかもしれないらしい。 歯医者の機械でしかとれない部分なので、普段は通常通りのブラッシングで。 それとコーヒーを飲んだ後のうがいの励行。
結果今回の定期健診も虫歯なし。
良かった良かった。
リャマ本を使用した社内 Perl 勉強会の6回目を開催。 今日は7人。
今日は「初めてのPerl 第3版」第7章「正規表現の基本」が範囲。
今回は5問のうち最初の3問は正規表現によるパターンを考える形式。
正規表現というと、Perl 初心者がひっかかる一つの鬼門である(少なくとも私のまわりでは正規表現でビビる人が多かった)。 それを承知の上かリャマ本では章を分けて簡単なところから少しづつ取り組むようになっていて、アレルギー反応がおこりにくいようになっている感じだ。
実際、今回の勉強会でも特につまづいている人はいなかったようだ。
今回は追加ネタとして、正規表現と正則言語と有限オートマトンの話をちょっとだけしたのだけれど、反応はあまり良くなかった。
本当はこういう基礎的な部分に興味を持ってもらうと、深みのある(?)プログラムが書けるのだけれどなかなかそこまではいかないかな。
社内勉強会としては、追加ネタは実用的な方が良いのかもしれない。
今回は1時間5分。
金曜日に会社休んで健歩したいんですよ。ケンコウゾウシンしたいんですよ。
この間の日曜日が予定の日だったんだけれど、雨の予報だったんで見送って(結局晴れたので TCK 行って)、次の候補として金曜日をターゲットにした訳ですよ。で週間天気予報を毎日見ているんだけど、日に日に降水確率が高まって、ジャン、傘マークつきました。
また意思決定が迫られているのです。
いろいろ悩ましくはあるんだけれど、こうやって書いてみているとまあ気分を除いては金曜日でしょうという感じに思えてきたんだけど、まあその気分のウエイト大きいのよね。あまりカメラ濡らしたくないし。
ということで最終決定的には明日の夕方の天気予報を見つつ、雨の予報でも当日朝「あー、晴れたよ行けたよ……。」ってならないように、スタンバるって感じかな。
献血車が来る日だったので気休めに前日から「プルーンFe 1日分の鉄分のむヨーグルト」とか飲んだんだけれど、血色素量(ヘモグロビン濃度)が低くてまたもや献血 NG だった。むむむ。前回も断られて以来、1年半ぶり2回目。
まあここ何年も慢性的に低めだし、かといってかかりつけのドクター的にも問題無いレベルなので気にするレベルではないのだけれど、やはり断れるとガッカリではある。
あと事前の血圧チェックで医師に下が90台で高いと指摘された。普段70台前後なのでいつもはそうじゃないですって言ったら「前回も90台だった」って言われた。アレ? 結構ご年配の女医さんに、塩分控え目にと指導された。気をつけます。
C/Migemo は Homebrew で、migemo.el は GitHub から。
$ brew install cmigemo $ cd ~/local $ git clone https://github.com/emacs-jp/migemo
ほぼいつも通り。
(setq load-path (append '("~/local/migemo") load-path)) (when (require 'migemo nil t) (setq migemo-command "/usr/local/bin/cmigemo") (setq migemo-options '("-q" "--emacs")) (setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict") (setq migemo-user-dictionary nil) (setq migemo-regex-dictionary nil) (setq migemo-coding-system 'utf-8-unix) (load-library "migemo") (migemo-init))
「関東甲信地方が梅雨入りしたとみられる」と午前中に気象庁から発表がありました。
今日は家で手作りのタルトやローストビーフでパーティー。
昨日購入した Xperia XZs が Quick Charge 3.0 に対応しているので新しい充電器を買いました。選んだのは鉄板の Anker の。今まで2個買った Quick Charge 2.0 対応 PowerPort+ 1 の後継品です。
[ 製品レポート ]
Fancfranc のフレ 2WAY ハンディファンを買ってみた。静音・大風量で買って正解。
2015年に東京ディズニーランドでミニーちゃんのミストファンを買って以来、東京ディズニーリゾートに行く時は毎年もっていっているんだけれど、かさばるので行き帰りやパーク内でちょっと邪魔だなというシーンもあった。なので今年はバッグに入るハンディファンにしようと思ったのがきっかけ。
昨日の夜、渋谷ロフトで各種商品をチェックしたあと Francfranc 渋谷店へ行って Web で見て評判良さそうだったフレ 2WAY ハンディファンを見てみた。
他の商品に比べて風量がしっかりありつつも大きさ・重さも良いバランスで音も静かだったので即決した。ホワイトがいいかなと思ったけれど、店頭には無かったのでレッドをチョイス。
大きな羽3枚に加えてその間に小さい羽が3枚あるというのが静音・大風量のポイントなのかな?
家では専用充電スタンドに立てて置いておけるので、手の届くところに置いておくのに邪魔にならなさそう。付属のストラップは短いものなので、持ち出す時は家にあるネックストラップをつけるつもり。
[ 製品レポート ]
Lightroom Classic での写真管理(基本全部保存)と Google フォト(Google Nest Hub フォトフレーム表示用や家族共有用など選定したもの)での写真管理がわちゃわちゃになってきた。
「選定したもの」「選定から漏れたけれども思い出として時系列で見るもの」「何枚か撮って選ばれなかったカット」でうまく整理したい。
という分類を紹介している記事をみかけてこの分類の感覚が近いなと思った。アルファベット順にソートした時もきちんとこの順に並ぶのも秀逸。
家族写真は Lightroom Classic 上で Album・Box・Can に分け Album のものを Google フォトにもアップロードするという運用にしてみよ。
撮影機材はずっと変わらず α6300 + TAMRON 18-200mm F/3.5-6.3 Di III VC (Model B011)。
走る競技についてはシーンセレクションのスポーツ(の設定をモードダイヤル2に登録したもの)で JPEG 撮影。
それ以外は今被写体ブレを避けるべく今回はシャッタースピード優先 1/500 での RAW + JPG で。結果として補正がかかった JPEG 画像の方がいい感じだったので、 JPEG 画像の方を採用した。 去年気が付いたのだけれど TAMRON 18-200mm F/3.5-6.3 Di III VC で撮った RAW 画像は周辺が明るい感じで、周辺光量補正が必須なんだよね。
Shibuya#photography#トイデジ #デジタルハリネズミ pic.twitter.com/W0X1TzMcNe
— Naney (@Naney) June 5, 2021
網戸を全部収納しておく必要があるので、手を黒くしながら取り外した。サッシによってそれぞれ違うタイプではずれ止めも違ったんだけれど、結局どの網戸もドライバーで緩めたりすることなく外せてしまった。ビニール袋に入れるのも収納場所を作るのにもそこそこ苦労しつつ、なんとか収納完了。
午後は京都観光ルートの確認。地図をみたりストリートビューを見たりしているうちに、もう京都に行っちゃった気分になってきた。京都は仕事で何度か行っているけれど、観光したのは2005年10月が最後か。また行きたいなあ。
VOX Amplification#photography
— Naney (@Naney) June 5, 2022
RICOH GR IIIx #GR #GRIIIx #GR3x pic.twitter.com/aaItEFOF9U
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。