[Python-doc-jp 2298] sockets.tex の翻訳で相談
INADA Naoki
songofacandy @ gmail.com
2008年 10月 13日 (月) 23:59:12 JST
お疲れ様です。稲田です。
現在sockets.texを翻訳して、だいたい一通り終わったのですが、
また判らない部分があったので、どなたかアドバイスお願いします。
http://docs.python.org/howto/sockets.html
1. Binary Data の2段落目
-- 原文 --
In these days of 32 bit machines, the ascii representation of binary
data is frequently smaller than the binary representation. That's
because a surprising amount of the time, all those longs have the
value 0, or maybe 1. The string "0" would be two bytes, while binary
is four. Of course, this doesn't fit well with fixed-length
messages. Decisions, decisions.
-- 翻訳 --
現代の32bitマシンでは、バイナリデータのascii表現がバイナリ表現よりも
小さくなることがよくあります。long型の値がすべて0か1のとき、バイナリ
表現が4バイトなのに対して文字列 "0" は2バイトになります。
もちろん、この方法は固定長メッセージには適しません。よく考えて
決めてください。
----
That's because ... の部分の意味がわからなくて翻訳文から省いています。
直訳すれば、「それは驚くべき量の時間のためで、」って、、、意味不明です。
2. Performance の第一段落
-- 原文 --
There's no question that the fastest sockets code uses non-blocking
sockets and select to multiplex them. You can put together something
that will saturate a LAN connection without putting any strain on the
CPU. The trouble is that an app written this way can't do much of
anything else - it needs to be ready to shuffle bytes around at all
times.
-- 翻訳文 --
非ブロッキングソケットを使い、selectを使って多重化する方法がソケットを
利用する最速のコードであることは明白です。
CPUを使い切ることなく、LANの帯域を一杯に使って並列に通信できます。
1つの問題は、この方法で書かれたアプリはそれ以外のことはあまりできなく
なってしまうことです - いつでも受信データを処理できる状態でいなければ
ならないからです。
----
it needs to be ready to shuffle bytes around at all times. の部分ですが、
shuffle bytes というのはこの文章の前の部分で出てきたバイトオーダー入れ替えを
連想させるのですが、もっと一般的に「入力に対応する」ぐらいの意味に取ったほうが
文章が自然になると思い、そう訳してみました。原文の意味を取り違えたりして無いで
しょうか?
翻訳していて思ったんですが、リファレンスと違ってHOWTOは文章によって
口語っぽいものもあるので、「ですます調で統一」の対象外にした方が良かったかなぁ・・・。
これから、sf.jpに登録されたパッチの処理と、寄贈いただいた翻訳文のtex対応などを
していきます。
でも、howtoがそろわなくてもリリースしたいなぁ・・・。
Python-doc-jp メーリングリストの案内