問題タブ [interpretation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - For...in question (Python)
for...in ループを実行するためにいくつかの異なる方法を試していました。リストのリストを考えてみましょう:
ここで、l_o_l の最初の「列」を別のリストに含めたいとしましょうa
。これにはいくつかの方法があります。例えば:
また
ただし、2番目の例では、「完全な」展開は次と同等であると想像します
実際の「翻訳」は、
私の質問は、解釈と句読点についてです。なぜ Python は、「list_of_lists のリストの list[0]」展開の周りにリスト ブラケットを追加するかを「知っている」のですか (したがって、すべての書き換えで必要になります)。
filesystems - reverse/stride/pread および pwrite の典型的なアプリケーションの用途は何ですか?
せっかちな場合は、下の「QUESTION」の見出しにスキップしてください。
環境
私は Unix (のような) システム管理とインフラストラクチャ開発に取り組んでいますが、私の質問はプログラマーによって最もよく答えられると思います :o)
私がやりたいことは、iozone を使用してファイル システム (プレーン、ボリューム管理、仮想化、暗号化など) のベンチマークを行う方法を学ぶことです。演習として、それぞれ vfat、ntfs、ext3、ext4、xfs でフォーマットされた私のスラッグ ( http://www.nslu2-linux.org/ ) でシステム ディスクとして使用することを意図した USB ペンドライブのベンチマークを行いました。このテストでは、以下に掲載されているいくつかの驚くべき結果が得られました。しかし、結果が私を驚かせた理由は、私がまだiozoneに不慣れで、数字を解釈する方法を本当に知らないからかもしれません. したがって、この投稿。
私のテストでは、iozone は 11 の異なるファイル操作でベンチマークを実行しましたが、1 つのレコード サイズ (4k、テストしたすべてのファイル システムのブロック サイズに一致) と 1 つのファイル サイズ (512MB) のみでした。もちろん、ファイル システムのレコード サイズとファイル サイズは一方的なものであるため、テストにはある程度の偏りが残ります。とにかく、ファイル操作を以下にリストし、それぞれに簡単な説明を付けます。
- 初期書き込み: 新しいデータをディスクに順次書き込み、通常のファイル使用
- 書き換え: 新しいデータを既存の順次、通常のファイル使用法に追加
- read: 順次読み取りデータ、通常のファイル使用
- re-read: データを順次再読み込み (バッファテストか何か?)
- 逆読み:???
- ストライド読み取り: ???
- ランダム読み取り: 非順次読み取り、通常はデータベースの使用
- ランダム書き込み: 非順次書き込み、通常はデータベースの使用
- pread: 特定の位置でのデータの読み取り - データベースの索引付け用?
- pwrite: 特定の位置へのデータの書き込み - データベースの索引付け用?
- 混合ワークロード: (明らか)
これらの操作のいくつかは単純に見えます。最初の書き込み、書き換え、読み取りはすべて通常のファイル処理に使用され、特定のブロックに到達するまでポインターをシークさせ、(多くの場合、多くのブロックを介して) 順次読み取りまたは書き込みを行い、断片化のために少し前にジャンプする必要がある場合があると思いますファイル。再読み取りテストの唯一の目的は (私は推測します)、バッファー テストです。並行して、ランダムな読み取り/書き込みは典型的なデータベース操作であり、たとえばテーブルを結合する場合など、データベース レコードを収集する同じファイル内でポインターを場所から場所へジャンプする必要があります。
質問は何ですか?
ここまでは順調ですね。上記の仮定はかなり一般的な知識のように見えますが、修正していただければ幸いです。さて、本当の質問です。なぜ逆読みをするのでしょうか? ストライドリードとは?また、「位置」操作の pread と pwrite は、インデックス付きデータベースで使用されると聞いていますが、単にインデックスをメモリに保持しないのはなぜでしょうか? それとも、それが実際に起こっていることであり、特定のインデックスが与えられると、レコードの正確な位置にジャンプするのに pread が役立ちますか? pread/pwrite を他に何に使用しますか?
要約すると、現時点では、iozone の結果をやや中途半端にしか解釈できないと感じています。ランダム操作の数が多いとデータベースに適したファイルシステムになる理由は多かれ少なかれわかっていますが、ファイルを逆順に読み取る必要があるのはなぜですか。これらの操作の典型的なアプリケーションの用途は何ですか?
ボーナス質問
それを尋ねたので、ここにボーナスの質問があります。特定のファイル システムの管理者として、insightfull プログラマーから私のファイル システム ベンチマークを解釈する方法を感謝して学びました ;) - ファイル システムの実際の使用を分析する方法について提案がある人はいますか? ファイル システムのレコード (ブロック) サイズを試すのは簡単ですが、時間がかかります。また、特定のファイル システム内のファイルのサイズと分布に関しては、「検索」が私の友人です。しかし、read()、pwrite() などの実際のファイル システム呼び出しのカウントを取得するにはどうすればよいでしょうか?
また、プロセッサの能力や RAM の容量と速度の役割など、他のリソースがファイル システムのテスト結果に与える影響についてコメントをいただければ幸いです。たとえば、266 MHz ARM Intel XScale プロセッサと 32/8 のスラッグでペンドライブを使用したい場合、1.66Ghz Atom プロセッサと 2 ギガの DDR2 RAM を搭載したマシンでこのテストを行うと、どのような違いがありますか? MB SD/フラッシュ RAM?
建築志向のドキュメント?
私は自分自身をあまり繰り返したくないので、他の人にも尋ねたくないので、これらの質問に手短に答えられない場合は、詳細なドキュメントへのリンクをいただければ幸いです。上記のファイル操作が実際に何をするかを説明している (そのために API を参照することもできます) が、このドキュメントはアーキテクチャを考慮したものであり、つまり、これらの操作が実際のアプリケーションで通常どのように使用されるかを説明しています。
試験結果
右。私はかなり控えめな USB ペンドライブ ファイル システム テストの結果を約束しました。私の主な期待は、一般的に書き込みの結果が悪いことでした(フラッシュドライブは、その性質上、実際に管理しているファイルシステムよりも大きなブロックサイズを持っていることが多いため、小さな変更を書き込むには、比較的大量の変更されていないデータを書き換える必要があります) )、読み取り結果は良好です。主なポイントは次のとおりです。
vfat はすべての操作で非常にうまく機能しました。機能が不足しているため、多くの簿記が不要になっていると思います。
ntfs は、書き換え (追加) 操作と読み取り操作が苦手なため、通常のファイル操作には適していません。また、preread 操作が苦手なため、インデックス付きデータベースの候補としては適していません。
驚くべきことに、ext3 と ext4 は、すべての操作でわずかに優れていますが、最初の書き込み、書き換え、読み取り、ランダム書き込み、および pwrite 操作がうまくいかないため、定期的なファイルの使用や頻繁に更新されるデータベースには適していません。ただし、ext4 はランダムな読み取りとプリロードのマスターであるため、ある程度静的なデータベース (?) の優れた候補になります。ext3 と ext4 の両方が、あいまいなリバース読み取り操作とストライド読み取り操作で高いスコアを獲得しています。
テスト全体で卓越した勝者となったのは xfs で、唯一の弱点はリバース リードのようです。最初の書き込み、書き換え、読み取り、ランダム書き込み、および pwrite では、それは最高のものの 1 つであり、通常のファイルの使用および (頻繁に更新される) データベースの優れた候補となっています。再読み取り、ランダム読み取り、および先読みでは次点であり、(ある程度静的な) データベースの候補として適しています。それはまた、ストライド読み取りにも適しています-それが何を意味するにせよ!
これらの結果の解釈に関するコメントは大歓迎です! 番号は下にリストされています (長さのために多少省略されています)。ファイル システム タイプ、すべて標準の 4GB Verbatim ペンドライブ (オレンジ色 ;)) でテスト済み暗号化されたスワップを使用します(ええ、わかっています。64ビットLinuxをインストールし、スワップをクリアのままにしておく必要があります!)。
よろしく、トルステン
PS。これを書いた後、明らかに、Debian NSLU2 ディストリビューションは xfs をサポートしていないことがわかりました。しかし、私の質問はまだ残っています!
--- vfat ---
--- NTFS ---
--- ext3 ---
--- ext4 ---
--- xfs ---
bash - Bash はファイル名の解釈を回避します
現在のディレクトリをすばやく保存して後で開くことができるように、いくつかのエイリアスを検討しています。
sed コマンドは明らかにスペースを扱います。
ただし、変数の解釈を必要とする、修正できない奇妙な問題がまだあります。
c++ - 文字を整数として出力する
s とのostream
出力をviaで文字または整数として書き込むかどうかを制御したいと考えています。標準ライブラリにそのようなオプションが見つかりません。今のところ、一連の代替印刷機能で複数のオーバーロードを使用することに戻りましたchar
unsigned char
<<
より良い方法はありますか?
java - コンパイルと解釈の間の技術的な混乱
「解釈」と「コンパイル」に関する多くの定義とステートメントを読みました。しかし、私はまだ非常に混乱しています。
技術的に言えば、内部での解釈とコンパイルの本当に違いは何ですか?私に詳しく説明させてください(私が持っているかもしれない間違った概念を訂正してください):
Javaでは、ソースコードはByteCodeに「コンパイル」され、ByteCodeはマシンコードに「解釈」および/または「ジャストインタイムコンパイル」されます。しかし、ジャストインタイムコンパイルと解釈の違いは何ですか?つまり、私の推測では、ホストのCPUはマシンコードのみを実行します。したがって、解釈においても、命令はCPUが理解できる機械語に変換されます。では、ジャストインタイムコンパイルと解釈の間の境界線はどこにあるのでしょうか。
PSこれは私の概念です。それは完全に間違っているかもしれません。その場合は、私の愚かさをお許しください。
ありがとう。
common-lisp - Common Lispバッククォート評価:区切り文字と演算子
調子はどう?
マイナス記号( "-")は演算子として扱われません(ただし、記号として扱われます;'-の代わりに#'---正しいですか?)(この部分は理解できると思います。)
しかし、なぜ、左から3番目の括弧が実際に'(
-> (list
...と評価されるのですか(つまり、上記の'-のようなリテラルだけでなく、リスト/式の区切り文字ですか?)インタプリタは終了を「先読み」しますか?区切り文字または単に「OK、これはリストである必要があります。右側に区切り文字がない場合、式は無効であり、それは私の問題ではありません。」と単純に言いますか?
紛らわしい質問でごめんなさい。要約すると、私の質問は、インタプリタが上記のリストをどのように正しく評価するかということだと思います。(また、用語を自由に修正してください。)
python - Python 文字列の解釈と解析
Pythonで文字列を解釈して解析する方法を学ぼうとしています。「文字列コマンド」を作りたいです(正しい式かどうかわかりません)。しかし、よりよく説明するために、例を挙げます。SQL のようなコマンドが必要です。ここでは、プロセスに要求されていることを実行させるキーワードを含む文字列があります。このように: cursor.execute("UPDATE Cars SET Price=? WHERE Id=?", (50000, 1))
. しかし、私は自分のプロジェクトのフォーマットを次のように作成したいと考えています (SQL を使用する必要はありません)。mydef("U={Cars[Price=50000], Id=1}")
ええと、Pythonでそれを行う方法を本当に知りたいです。可能であれば。
statistics - 有意でない交互作用効果をどのように解釈すればよいですか?
以下は、特定の雇用市場で男性の収入が少ないかどうかをテストするための出力です。
ここで、b1=100 (重要)、b2=-50 (重要でない)、b3=10 (重要でない)
このタイプの仕事が男性に不利かどうかをどのように解釈すればよいですか? 係数から、私はそれを知っていました
- 女性の場合、収入=100*教育;
- 男性の場合、収入=100*educ-50+10*educ=110*educ-50、
しかし、ここで私の懸念は b2 であり、b3 はどちらも重要ではないので、この全体の話をどのように解釈すればよいでしょうか?
stata - スタタのタブアウト
Stata でコマンドを使用してtabout
、age 変数の要約統計を示す表を作成しようとしています。私が欲しいのは、出力に似たものですがsummarize age, detail
、MS Word 形式に似た出力を生成することです。
tabout age using table111.txt, c(歪度 年齢 尖度 年齢 平均年齢 中央値 年齢 SD 年齢) f(0c) 合計 h3(nil) npos(両方)
私が望む結果が得られません。
コードの調整方法に関する提案はありますか? また、テーブルに 2 番目の変数とその要約統計を含めたい場合はどうすればよいでしょうか?
uml - 直交状態の解釈
からの次の引用文の解釈はUML Reference Manual
?
When an orthogonal state is entered, the number of control threads
increases as a direct substate in each orthogonal region becomes
active.
When the orthogonal state is exited, the number of control
threads decreases.