最終更新: 2011-05-10T18:49+0900
どういう関数?>「改行のエスケープシーケンス('\\'+'n')で区切られる文字列の個数を数える(WCHAR版)」
使われ方>「複数行指定方法の改善(正規表現パターンの行数とダイアログ設定値の大きい方を採用する)」
これだけ対応していないなら「正規表現による」というより、\nというエスケープシーケンスにだけ対応した普通の検索といったほうが当たってる。正規表現ライブラリに今以上の機能(hitEnd)を求めないのなら、これが最大限度の対応なのかもしれないが……。GetCountOfDividedStringW
には期待せず、ダイアログで 100とか設定しておけば大体はうまくいくのかもしれない。
どういう関数?>「0文字マッチや改行文字の途中を考慮した置換文字数の補正値を取得する」
なぜ必要?>ドキュメントの操作がビュー経由でしか行えないため、ロジック単位で行った検索をレイアウト単位に変換してから置換を実行しなければいけない。置換関数の中ではレイアウト単位をロジック単位に変換して……といったことがもちろん行われるわけで……ムキー、ってなことを 20100907p01.03に書いた。
とりあえずロジック単位で置換範囲を指定できる置換関数をどこかに作ろうとして、20100709p01の複数行置換の実装は止まっている。CMultiLineSearch::GetCompensationLength
を使うアプローチはこれまでのやり方を踏襲するもので、置換範囲と置換文字列をレイアウト単位境界にそろえてから置換関数を呼び出す。計画倒れよりできあがってる方が偉い。
最終更新: 2011-05-12T14:37+0900
今は後ろだけシマノの完組ホイールが付いてる。
フレームのリアエンド幅が MTBの 135mm. 最初から付いてたタイヤのリムのサイズがロードの 700C. ロード向け完組ホイールのハブは 130mm幅にしか対応してないし、MTB向け完組ホイールの小径・幅広リムはいただけない。タイヤ径が変わると Vブレーキの取り付け位置も変わってくる。2万円と少しで工具を買って MTBハブとロードリムの組み合わせで手組みするのが割と現実的な選択肢。手組みは入り組んだスポークが見た目にうるさいのが唯一の不満。変則組みで解消できるけど自分では安全と耐久性を担保できないし……。
結局、日和って組んでもらうことにした。XTハブ+CXP33+DT Champion 2.0+真鍮ニップルといったありきたりな構成。選択肢がもともと少ない上に、駆動力のかかる(Vブレーキだけど制動力も?)リアホイールなので 1.8mm径のスポークやアルミニップルは選べなかった(小心者)。スポークは DT Competition 2.0/1.8の方が良かった。スポークが切れるのは端っこ(後輪だと特にテンションの低い左側)だというから真ん中は 1.8mmでも大丈夫そう。OpenProリムのセラミック加工がブレーキ面の色的にベストだし、CXP33より軽いんだけど、ブレーキシューの変更が必要になるのとブレーキの効きや音がどうかわるかわからないので避けた。雨でもシューが減らないらしいのもポイントは高いのだが……。CXP33の三角リムが前輪とおそろいだというのが CXP33を選んだ一番の理由。二番目は OpenProは手組みの定番中の定番だということに対する幼稚な抵抗。
今のタイヤがダメになったらひとつ細い 25Cのタイヤにして更なる慣性質量の減少を目指す(転がり抵抗もおまけで)。まち乗りだと信号とパチ屋の出入りの車によるストップ&ゴーが多すぎるからこぎ出しの軽さが重要。
DT Champion 2.0 黒が欠品とのことで DT Competition 2.0/1.8 黒で組んでもらうことになった。しかし余分なお金が……。
DT Competition 2.0/1.8 黒も欠品と判明。黒の真鍮ニップルもないみたいで結局 DT Champion 1.8 黒とアルミ黒ニップルになった。壊れなければ 1.8mmでもアルミでもいいんだけど……(耐久性は落ちるよね)。パーツの入手性が悪すぎる。9速のシフターだって、Deoreも SLXも XTも、どこも在庫してないし。
? 後上方にすっとんでいくような力がハブに(そしてスポークに)かかるような気がした。ディスクブレーキだと駆動力と反対の力がまんべんなくかかるような。Vブレーキとスポークの関係はディスクブレーキの場合と比べてどう?
最終更新: 2012-09-03T17:57+0900
負荷をかけると力が逃げてたたらを踏む。スプロケットのあたりを観察してると、チェーンがふくらんだように見えて、そしてガクっとくる。タイヤを空転させてるときは問題の徴候がないので、隣のギアに浮気しようとしてるのとは違うみたい。テンションがかかると歯と歯の間に収まるべきチェーンの駒が歯の上に乗っかってしまうんだろう。伸びたチェーンを使い続けたせいでスプロケットがそちらに最適化されてしまったとでもいおうか、一昨日チェーンを新品にしたせいで症状が出たと思われる。
症状が出るのはリア 1-8速のうち 3-6速。難を逃れたギアに理由をみつけるなら、1速は全く使わないから。2速は発進後 1から数秒で 3速に上げてしまうからと、径が大きく多くの歯に負荷を分散できるから。8速はオーバートップギアなのでよっぽど舗装が良く平坦な道路でないと使えない稀なギアだから。7速は事実上のトップギアなので加速のために使うことがほとんどないから。
チェーンを CN-HG50に換えても変わらなかったので、9速用のチェーンのせいではなかった。
ゴールデンウィーク明けまで直せないのが痛い。なんでそろいもそろって休むんだよー。
最終更新: 2011-04-28T00:00+0900
チェーンは CN-HG73。
標準のチェーンは 110リンク。アウター×トップの組み合わせでガイドプーリーとテンションプーリーが垂直線上に並んだので CN-HG73も 110リンクにカット。アウター×ローでリアディレイラーがかわいそうなほど引っぱられてるがローは使わないので良しとする。
接続部(チェーンカッターでコネクトピンを押し込んだところ)の動きが渋すぎる。山を作ったらテンショナーのバネの力では戻らない。そのせいだと思うが、リアの 3-8速(径の小さいギア)でカタン、カタンとチェーンが滑るような現象が起きる。後輪に動力が伝わらないよ。いつになったら全力でこげる。
最終更新: 2011-04-28T01:14+0900
5. COM オブジェクトのインスタンス作成
COM の初期化が済んだので、次には COM オブジェクトのインスタンスを作成する方法について確認しましょう。既に触れたように、今回のサンプルでは [6] の CoCreateInstance 関数を呼び出すことで、COM ベースのオブジェクトである Shell Link オブジェクトのインスタンスを作成しています。この [6] の Shell Link オブジェクトの作成の様子を、あえて C++ プログラミング スタイルで表現すると次のようになります (実際にはこのように書けません)。仮にクラス名を CShellLink とします。
例 1.5 インスタンスを作成し、特定のポインターで参照する
IShellLink* pShellLink = (IShellLink*) new CShellLink();
間違ったコードを書いて拡散させてはいけない。正しいコードを書いて導くこと。どうしても間違いを紹介する必要があるときは、コードそれ自体に間違っていることを主張させる。たとえばこの場合は
IShellLink* pShellLink = (IShellLink*) new CShellLink(); // 間違い!
とでもする。記憶も不確かな受け売りだけどね。
参考までにこのコード片を読んだ俺の反応。
頭から順に読んできたけど、問題のコードのすぐ上のパラグラフはまだ読んでなかった。サンプルコードは目をひくし、図や表と同じように何が書いてあるかをざっと掴む手がかりにもなる。ところがとんだトラップだ。
今月号のクーリエジャポンは福島の放射能汚染に関して風評被害がどうのといって白雪姫の風刺画を紹介してた。存在は知ってたがどういうものかをそこで初めて見た。文脈がどうであれ自分が拡散に荷担してる自覚はある? Webなんかでも消えて欲しいと思うものに対して、引用して欠点をあげつらったり批判を加えたり、あげくご丁寧にリンクまではるのは逆効果。無視して埋もれて消えるに任せるのが一番。
最終更新: 2011-04-26T02:32+0900
フロント・アウター✕リア・ロー(セカンド)の組み合わせで、チェーンが内側のチェーンリングに落ちる。もともと、チェーンが斜めに走るやや無理がある組み合わせなので仕方ない、メンテと調整不足のせいなんだと思ったが、Fディレイラーを外側に移動させたり、Rディレイラーを分解清掃してみたりしても直らない。変速自体は快調なのに、こぎ出しで力を加えるとチェーンが外れる。ペダルに負荷をかけてるときにチェーンが外れると足場を失ってバランスを崩すので危険。ふくらはぎをペダルに噛みつかれた。
タイヤを浮かせてペダルを手で回すとチェーンがチェーンリングから浮いてる!手で押さえたり負荷をかけて張らないと歯と歯の間にチェーンが収まらない。伸びすぎでしょ。
チェーンリングの前側でチェーンをつまみ上げると歯の先っちょが完全に見える。ふた山ぐらい見えるんじゃない?
一年に一回とか数千キロで交換するとかいうレベルらしい。こぎ方やメンテ具合によりけりとはいっても。新車から数えて丸4年、15000kmだから時期的にも遅いぐらい。スプロケにダメージを与えてたおそれだってある。
グレードの高いの(CN-HG91)はピカピカしてるので一つ下の黒っぽいの(CN-HG70)にしようと思ってる。9-speedの方(CN-HG73)が 6,7,8速対応品より 1割ほど軽いんだけど使えないものなんだろうか。そんなに幅が違う? 6速よりも 9速の方が近いのに。できるだけ楽がしたいのに。
豆知識: 7,8速はプレートを増やした分だけ横幅が増えた。9,10速は 8速と同じ横幅により多くのプレートを詰め込んだ、という経緯があるらし。8と 9、9と 10の間には(チェーン(やシフター)にとっては)断絶があるみたい。
そうはいっても、若干細くなったところでさしたる支障はないとも。変速時、チェーンが隣の歯の上に乗っかるときのキャパがコンマ数ミリ減るが、調整さえできてたら気にならないだろう。だったら 9-speed用の黒いのを。
コマ数はどうやって決めるのだろう。今のを数える? アウター✕ローやインナー✕トップでリアディレイラーがどういう状態だったら OK?