[過去ログ] C++相談室 part154 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
101: 2021/01/13(水)20:01 ID:D0cZCa+j(5/5) AAS
C++はテンプレートがあるので設計の詳細を先送りできる。
その特徴を生かせるように、プッシュ型を流行らせませんか?
プッシュ型は、前提が少ないので、利用者が自由に組み合わせることが出来ます。
これは、インターフェースによって事前に詳細を設計してしまう方式と真逆かもしれないが、組み合わせによって機能を作ることが出来まっする。
102: 2021/01/13(水)21:14 ID:XHABqTxh(1) AAS
プッシュ型って何?
103: 2021/01/14(木)06:54 ID:mrWYZ3Pm(1/8) AAS
Caper や Bison でプッシュ型を調べてみるとわかると思います。
104: 2021/01/14(木)06:59 ID:mrWYZ3Pm(2/8) AAS
あらゆるソフトウェアで使いまわされるライブラリにおいて、詳細が既に決まっているのは不自由なことです。
105(1): 2021/01/14(木)07:12 ID:FFXK54Rt(1/2) AAS
templateと比べてプッシュ型の利点が分からん。
106: 2021/01/14(木)07:23 ID:mrWYZ3Pm(3/8) AAS
>>105
プッシュ型はパーサーでよく使われます。
ユーザーが柔軟性を求めるからです。
Caperはプッシュ型、Bisonはパーサー側が文字を読む方式ですが、オプションとしてプッシュ型を選べます。
パーサにおいてプッシュ型とは、(パーサではなく)パーサを呼び出す側が文字を送り込みます。
それによって何が起きるでしょうか?
従来のパーサーは状態と共に行番号を保存します。
プッシュ型の場合、行番号を保存するのは呼び出し側です。
パーサーが読む文字とは何でしょうか?
プッシュ型において、Cではint、C++ではユニコード。コードポイントです。
省4
107: 2021/01/14(木)07:27 ID:mrWYZ3Pm(4/8) AAS
プッシュ型はUNIXに通じるものがありますが、UNIXでは実現されませんでした。
108: 2021/01/14(木)07:47 ID:mrWYZ3Pm(5/8) AAS
パーサーは本来、構文解析が仕事です。
しかし、現状多くのパーサーは、構文解析以外の機能を密に結合している。
本来の仕事以外は分離して、小さな部品にすることで再利用性が高まる。
という感じですかね。
これはテンプレートと同じでもろ刃の剣でもあるんですよ。
詳細を設計しないんですから。
しかし、STLの寿命の長さを見て分かる通り、詳細が設計されていないという事は利用者が自由に設計できるという事で、使い出があるんです。
109: 2021/01/14(木)07:48 ID:mrWYZ3Pm(6/8) AAS
もちろん、パーサーに限った話ではないですよ。
例です。
110(1): 2021/01/14(木)09:22 ID:EIDQMz1r(1/2) AAS
みんながみんなパーサーを開発する側じゃないからなー
もっと身近な例はないですか?
このようなデザインパターンがプッシュ型だとこうなる、みたいな
111(1): 2021/01/14(木)09:29 ID:mrWYZ3Pm(7/8) AAS
>>110
使う側にとって良いことなんですよ。
それと、プッシュ型は万能ではないんですよ。
一部のコンポーネントの部品化に対して利益があるのです。
112: 2021/01/14(木)10:01 ID:mp+NLhBe(1/2) AAS
>>111
身近な例はないかという問いに対しその回答は意味不明では?
113: 2021/01/14(木)10:15 ID:mrWYZ3Pm(8/8) AAS
まあそうですね。
すいませんでした。
114: 2021/01/14(木)10:22 ID:FFXK54Rt(2/2) AAS
身近な例で利点があるなら広めるのに協力するのもいいが今の時点で利点が分からん。
115: 2021/01/14(木)15:40 ID:qrpkNJTC(1/3) AAS
別にC++だけの問題じゃないんだけど…質問…例えば…エクスプローラのようにファイル一覧出すじゃん…
画像や動画は…サムネイルを出すじゃん…このサムネイルは非同期で更新になるじゃん…
一度開いたら…キャッシュから読み込みたいじゃん…このキャッシュの保存ってさぁ…一意にするのに…
ファイルパス・更新日時・サイズである程度一意になるけど…完璧な一意ではないじゃん…
同じ名前・同じ更新日時・同じサイズで上書きされたら、前の画像がサムネイルに出るじゃん…
どうすんの?
116: 2021/01/14(木)15:42 ID:qrpkNJTC(2/3) AAS
キャッシュなんてそんなものだから…それでいいのかなぁ…
117: 2021/01/14(木)15:53 ID:mp+NLhBe(2/2) AAS
その気持ち悪い「...」をやめてくれ
118: 2021/01/14(木)15:55 ID:EIDQMz1r(2/2) AAS
ファイルパスと更新日時で一意になると考えていいでしょ
コンテンツが変更されれば更新日時が進むという前提で
それさえも許せないクリティカルなシステムならファイルの全バイト列から衝突率の低いハッシュ作るとかファイル読むのと変わらんことになる
クリティカルなシステムではキャッシュ使わんな
119: 2021/01/14(木)16:05 ID:qrpkNJTC(3/3) AAS
なるほど…。
120: はちみつ餃子 ◆8X2XSCHEME 2021/01/14(木)16:09 ID:9qLPLWCT(1/2) AAS
外部リンク[html]:martinfowler.com
> There are only two hard things in Computer Science: cache invalidation and naming things.
計算機科学においては二つの難しいことがあります。
キャッシュの無効化と名前の付け方です。
上下前次1-新書関写板覧索設栞歴
あと 882 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s