HTMLレンダリングなどは WikiPage の構文木に対する Visitor パターンで行っている。
かなりの回数呼ばれるダブルディスパッチ部分、現在は accept の中で 'visit_クラス名' を呼ぶようにしている。 Acceptor クラスの accept メソッドでインスタンスのクラス名を取得してディスパッチしているのだがもったいない。
各サブクラスで明示的に accept をオーバライドするのが面倒なのでそうしていたのだが、今回は Acceptor モジュールを use した時にそのパッケージに accept 定義を作ってしまうように修正してみた。
アクセスが連続的にある時はDBに対して共有ロックがかかり続けるため、書き込みのための排他ロックがなかなか取得できない。 現在はDB全体でロックしているのだが、そろそろ「ページ名リスト」と「各ページ」を別にロックするようにした方がいいかもしれない。
秋葉原駅の昭和通り側、ちょっとはいったところにある「なおじん」が今日の会場。 以前もここで呑み会をやったことあり。
アットホームな感じの飲み屋で、料理もおいしい。
外出先から一旦帰社して向かったため、ちょっと遅れて到着。 遅れた我々は人数の関係で座敷には上がらずに、横のテーブルで。 今日は雨だったこともあって一応持ってきていた替えの靴下であるが、使わなくてすんだ。
今日は昼間も体力をつかったし、ノンアルコールで。 久しぶりにコーラを飲んだ。 うまい。
例によって最後に一人一言ずつメッセージを送ったあと、退職されるスタッフの挨拶。 裏の幹事より事前にルールが発表されている。
「日本語できちんと挨拶できたら、お代はタダ。10点満点で皆で採点して、点数により最大1万円の支払い。」
一昨日社内メイン Wiki のレイアウトを変更してサイドバーを設けたので、徐々に増えてきた社内 Blog の ヘッドラインをそこに表示することにした。
最初は Plagger を使ってみようと思ったのだが、依存 CPAN モジュールが多くて CPAN.pm を使ってもなかなかインストールが終わらない。
ということで今回は Plagger を見送って、XML::RSS でちょちょっと aggregator を自作して済ますことにした。
基本的には nDiki 用に書いた「はてなブックマーク上の最新ブックマークを表示するためのコード(2005年5月16日)」をちょっと修正して利用。 HTML フラグメントを生成するかわりに、JavaScript Include 用 JavaScript ファイルを生成するように変更した。
これで社内 Blog が読まれる回数も増えるかな。
いつものアドバンストヘアーナカタニで。
2006年4月8日以来、約2カ月ぶり。
前髪が目にかかって邪魔くさいので少し短めにしてもらった。
果てしない夢を*1がかかっていた。この曲がまだ外で聞けるなんて。長嶋氏の歌声は結構貴重かも。
*1ZYYG,REV,ZARD&WANDS フィーチャリング・長嶋茂雄
WiKicker では PageName を エンコードした文字列を URI に埋め込んだり、サーバで保存する際のファイル名にしたりしている。 このため、PageName の最長文字数はそれらの最長文字数に依存しているはずである。
今まで確認を後回しにしていたのだが、新しい機能の追加の際に確認しておく必要があるので調査してみた。
WiKicker の実装がらみとして最長を決める要素としては
がある。
上記の中ではファイル名による制約が一番大きい。
WiKicker 内部でファイル名として base64 (の亜種) でエンコードしたものを使っているので、元の文字列はは最長 189バイトまでなければならない。base64 だと3バイトで4文字になるため、189バイトで 252文字となる。
WiKicker ではここでさらにファイル名に ',v'、'-lock' をつける事があるので、実際には元の文字列は最長 186 バイトまでとなる。
PageName が 186 バイトまでだとすると、URL エスケープしたとして558バイト。 WikiEngine のスクリプトの URL や他のパラメータとあわせても、これぐらいなら大丈夫のはずである。
ということで WiKicker では Linux 上だと通常 PageName は 186 バイトが最長と言ってよさそうだ。 日本語の文字はだいたい UTF-8 で3バイトになるので、62 文字までということになる。
そのうち、WiKicker に制約チェックを入れることにしよう。 そのうち。
6月に入って衣替えの季節。 今度の金曜日にスーツをきる必要があるのだが、さすがに冬物スーツはもう着れないので夏物スーツを出してきた。 恐る恐る着てみる。
「ズボンのボタンをしめると内臓おかしくなるな、こりゃ」
着る回数も少なかったこともあって、夏物スーツは6年前に入社した時に買ったっきり。 その間に腹も出てきてだんだん辛くなってきたのだが、さすがに今年はもう無理。
しょうがないので新調することにした。
今の夏物は近所の紳士服コナカで買ったやつ。 コナカで買うと、なぜか買った時も着ている間も満足度が低い。 着ていてもどうも自信が持てない。
かといって、丸井とかで買う予算もないしなぁ。
ということで、今回は初めてツープライス・スーツショップで買ってみることにした。 メジャーどころだと、P.S.FA とか THE SUIT COMPANY か。 裾上げしてもらったのを会社帰りに受け取ることを考えて、今日は THE SUIT COMPANY 銀座数奇屋橋店に行ってみた。
THE SUIT COMPANY は洋服の青山と同じ青山商事株式会社なのだけれど、雰囲気は全然違う。 小綺麗で、20代・30代のお客がいっぱいいて、あっちこっちで試着していて、女性店員もいっぱいいて、店員は若くて、それでみんなバンバン買っていく (一部誇張)。
スーツを買うのはとっても緊張してしまうわけだが、今日は一人だし、平静を装いつつ気にいったスーツ探してみる。棚の上の数字はモデルナンバーか何かだと思って「いろいろあるなぁと」フロアをぐるぐる見ていたわけだが、途中店員に聞いたらそれは身長を表す数字だって。やられた (単位書け)。
結局いつもと似た柄にのものから気にいったものに目星をつける。 デザインは relaxing 系にしておいた。 値札みたらツープライスのうちの、ロープライスの方。
ウエストは測ってもらって84cm。身長 165cm なので、 4Drop か 2Drop。 2Drop だとジャケットの肩幅がちょっと大きすぎるし、4Drop だとウェストがジャストサイズすぎという悩ましいところだが、ここは 4Drop にしてみた。
もう太るな、自分。
お直しは至急扱いにしてもらって水曜仕上り。
2年半ほど前に購入して pdumpfs バックアップ用に使っていた USB 外付け HDD HD-H300U2 がマウントできなくなった。 イカれたようだ。
ということで交換用にヨドバシカメラで特価になっていた BUFFALO の HD-ES500U2 を購入。13,200円也。
いろいろガントチャート作成ツール使ってみたけれど、フリーのものできちんと印刷できるものはほとんどなかった。
今のプロジェクトのスケジュール作成・進捗管理をするのに
という点で、「がんすけ2」にいきついた。 前にも「がんすけ」を試したことはあって今回も最初はがんすけでやってみた。 で「いけそうだな」ということで「がんすけ2」を試用開始。 2にしかない「サブ項目設定」「チャートリンク機能」「メモ貼り付け機能」を使ってみて、ああこれ必要って感じ。
がんすけ2は厳密なリソース管理や日程計算がないけれど、その分チャート作成という点では使いやすいな。
もうプロジェクトで使い始めて、しばらくスケジュールアップデートしながら配付していくことにしたので、ライセンス購入した。 シェアウェア買うのずいぶん久しぶりだなあ。
Xperia にしてから家計簿/小遣い帳 Android アプリを物色してみたんだけれどなかなか決定版がみあたらなかった。 今年の1月から使い始めている、Twitter のタイムラインから支払い tweet を抽出して集計してくれるサービス Cashbook がやはり自分には一番合っているようだ。
そんな Cashbook だが1つ惜しなと思うところがあった。それは溜めたデータをエクスポートする機能がなかった点。データをローカルに保存し、他のツールにインポートさせたり、集計したりすることができないので、Cashbook 上でのシンプルな集計を見るだけになってしまっていたのだ(それでも十分便利なんだけれど)。
ああエクスポート機能があればいいのにと Twitter でつぶやいたら、開発者の @exdesign さんが
とおっしゃってくれたのである。おお。
そして今日めでたく機能が追加された。素晴らしい。月ごとに支出項目を1レコードとして CSV 形式でエクスポートできるようになった。ありがとうございます!
Twitter 上で買ったことを公開しつつ記録するようにするとレコーディング・ダイエットよろしく、無駄な支出も減る。Twitter のヘビーユーザーは使うといいよ。
千葉の東京ディズニーランドいったり、秋葉原の東京ディズニーランド(アキヨド)へ行ったりといろいろ満喫した3連休を終えて月曜日スタート。
で、ガイドラインのドラフトをブラッシュアップしたり、納税したり。
それから、ひとつの決断、おつかれさま的なお別れがあるなど。今回の経験が人生の糧になり中長期的に最善な選択だったと思える日がくると信じてる。
夜は Xperia A の設定2日目。まずは Wi-Fi 設定。spモードまわりで、またここでもパスワード設定が必要になるんだけれど、ほんとにNTTドコモは暗唱番号/パスワードの数を減らせないものなのかねぇ。
接続は問題なく。「エリア連動Wi-Fi」が設定にみあたらなくて機能が無くなっちゃったのかなーと思っていたんだけれど、mixi で「あ、それは設定>電源管理のところにあります」って教えてもらったので、明日設定する。
あとは Facebook のログインと設定。こちらは PC で使っているので、機能というか構成要素というか、そういうのは何となくわかっているのでわりにスムーズに導入できた感じ。通知のオン/オフ設定をどんな塩梅にするかは、使ってみて調整ね。
SNS 事業においてはロイヤルユーザーの経済的価値は「有料サービスの購入(課金)」「広告閲覧」および、「知人へのサービスの紹介」にある。
課金収入・広告収入のどちらを重視するにせよ、サービスに満足して継続利用していただくことが大切なのは他のサービスと同様である。一方「知人へのサービスの紹介」については「紹介 = サービス上でつながる」に直結しているというのが他の製品・サービスと大きく異なる点である。
このためサービスが気に入っていても、「プライベート」や「趣味・嗜好」などを知られたくないという理由で知人に勧めたくないといった事がおきる。
例えば mixi ではコミュニティを通じて同じ趣味をもつユーザーとコミュニケーションを楽しむために利用しているユーザーも多い。そういったユーザーは直接の知人を招待してサービス上でつながるよりも、サービスを既に利用しているユーザーとつながることを求めている。こういった利用者からは口コミによる新規ユーザー獲得を多く期待できない。ユーザーのニーズに向き合いながら、周囲に勧めたくなる仕掛けを考えていくことが大切である。
ロイヤルティ指標である NPS (Net Promoter Score) を調査する際にはサービスを知人に勧めたい/勧めたくない理由について、そういった背景を押さえて分析していくことになるだろう。
みんなで大小様々なプロジェクト(企画開発やタスク)を同時に進めている場合は、常に全てを頭で把握しておくことは困難ですしまたナンセンスです。その代わりに各プロジェクトの情報を知りたいと思った時には、あちこち探しまわることなくさっと手に入る状態にしておくべきです。
そのためには、まず前提として必要な事柄が書き出されてオープンに情報共有できている状態にある必要があります。
そしてそれらに簡単にたどりつけるようにするために各プロジェクトやタスクに ID (番号やキー)を発行し、チケット/タスクカードやドキュメント、コミットログなどに明記するのが、現実的に一番取扱いやすいです。
JIRA のようなユニークなチケット ID がチケットに発番され、かつそのチケットに permalink のあるチケット管理ツールを中央に据え、その ID を活用することでぐっと情報が共有しやすくなります。ここで ID 形式がさっと人が読んだり手書き・手入力したりできるものであることが大切です。
そういう点で言うと Trello は permalink しかないのでセンターを取れないなと思っています(Trello アーカイブ性も弱いという点もあります)。
この前の日曜日に購入したダイキン ルームエアコン Eシリーズ AN25UES-W を本日取り付けてもらいました。
窓からちょっと離れた場所の設置で流れを考えて斜めに配管する必要があるとのこと。さすがに室内機からまっすぐ斜めは格好悪いので、一旦下げてから緩やかに下がっていく形で配管してもらいました。
室内外化粧カバー・エアカットバルブ、それからベランダがジメジメしないようにh端にある排水口までドレンをホースで伸ばしてもらいました (長かったらあとで自分で切るようにとのこと)。階下やベランダ近くの部屋で騒音に悩まされないようにと勧められた防振ゴムもオプションでつけてもらい、2時間弱ぐらいで施工完了。
狭いベランダに室外機を置くことで洗濯物を干す場所が減るなと思っていたのですが、おもったより高さが無かったので真上の物干し竿に小物ハンガーを吊って干しても大丈夫でした。良かった。
ホース類が長いので詰まらないように注意してくださいとのこと。ドレンのホースにはゴミが入らないように、たまに振っておくと良いとか。
自宅で設置してもらうと思ったより丸くころっとした印象の室内機ですね。前面から底面まで滑らかなカーブを描いています。
取扱説明書の薄さにはちょっとびっくり。 nocria S に比べて圧倒的にシンプルです。時刻合わせも必要なし。オンにして温度調節をする、あとは寝る時はタイマーを都度時間で設定するぐらい。扱いやすそうです。温度調整が 0.5 ℃できるのは寝室用として助かります。
今年の夏はゆっくり寝られそうです。
[ 製品レポート ]
東京ディズニーランドに行く予定で有給休暇にしたけど、結構な雨なので家でおとなしくすることにした。
書類作業をしたりずっと後回しにしていた「同窓会の住所変更」をしたり。いろいろ捗ったので良しとしよう。
絶賛在宅勤務中。ビデオ会議は片耳の Plantronics M55 Bluetooth ヘッドセットで通話し、ライブストリーミングでの全社イベントは Bose QuietComfort 20i (QC 20i) で音声を聞いている。
使い始めて5年になるノイズキャンセリングイヤホン QC 20i は音質・つけ心地とも満足しているのだけれど、有線での不便さはやはりあったりする。
PC に繋ぐとやはりコードはちょっと邪魔に感じちゃう。所有している MacBook Pro はヘッドフォンジャックが左にあってまだいいのだけれど、仕事で使っている MacBook Pro は右にあるのでマウスを使っているあたりにコードがくるので邪魔くさい。QC 20i はL字のプラグでかつ近くにコントロールモジュールがあるため、他のケーブルと干渉しやすいという問題もある(iPhone / iPad / iPod 用に設計されているので仕方ない)。
などなどあってやはり完全ワイヤレスイヤホンが欲しくなって Anker Soundcore Liberty Air 2 を注文することにした。以前試してみたいと思った AirPods Pro や WF-1000XM3 より気軽に買える値段なのが嬉しい。
対応コーデックが aptX・AAC・SBC なので MacBook Pro・Pixel 4・iPhone のどれでもまずまずの音質で聞けるはずだ。ビデオ会議のライブストリーミングだけでなく普段の音楽のリスニングや動画視聴にも使っていきたい。
cVc8.0ノイズキャンセリングがいい感じに効いてこちらの音声をクリアに聞いてもらえるなら、ビデオ会議でもそのまま使いたいな。
3カ月サイクルだと白髪がかなり目立つぐらいまで伸びちゃう。ビデオ会議を開始する前のカメラチェックで、できるだけ白髪が隠れるようにちょっと髪を整えたりと無駄な努力をしちゃったり。床屋で髪を染めると、それが必要なくなるので良い。
ねじれ。真っ直ぐにしてみたい。#photography
— Naney (@Naney) June 10, 2021
RICOH GR III #GR #GRIII #GR3 pic.twitter.com/uaQxZHtQ0v
事業方針の戦略ツリー構造や時期、担当チームという視点で施策を検討してまとめておくのに、Obsidian + MkDocs だとどうも見通しのよい形にできない。
ページやブロックを埋め込んだ階層リストが書けて、折りたたんだり展開したりフォーカスしたりできる UI のあるページとして書き出せる Logseq でまとめるといいんじゃないかと思えてきた。
プレッシャー#photography
— Naney (@Naney) June 9, 2022
RICOH GR IIIx #GR #GRIIIx #GR3x pic.twitter.com/5P6ou5bAFl
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。