Merge remote-tracking branch 'upstream/master' into ru

This commit is contained in:
Slava Zgordan
2015-09-02 10:13:29 +02:00
4 changed files with 5 additions and 5 deletions

View File

@@ -76,7 +76,7 @@ HTTPプロトコルはステートレスです。同じクライアントの前
まずRequestパケットの構造を見てみることにしましょう。Requestパケットは3つの部分にわけられます。第一部分はRequest lineリクエスト行。第二部分はRequest headerリクエストヘッダ、第三部分はbodyボディと呼ばれます。headerとbodyの間には空行があり、リクエストパケットの例は以下のようなものです。
GET /domains/example/ HTTP/1.1 //リクエスト:リクエスト方法 リクエストRUI HTTPプロトコル/プロトコルバージョン
GET /domains/example/ HTTP/1.1 //リクエスト:リクエスト方法 リクエストRUI HTTPプロトコル/プロトコルバージョン
Hostwww.iana.org //サーバのホスト名
User-AgentMozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 //ブラウザ情報
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 //クライアントが受け取れるmime

View File

@@ -52,13 +52,13 @@
上のコードでWebサーバを書くためにはhttpパッケージのつの関数を呼ぶだけで良いことがわかります。
>もしあなたが以前PHPプログラマであれば。こう問うかもしれません。我々のnginx、apacheサーバは必要ないのですかとなぜならこいつは直接tcpポートを関ししますので、nginxがやることをやってくれます。またsayhelloNameは実は我々が書いたロジック関数ですので、phpの中のコントローラcontroller関数に近いものです。
>もしあなたが以前PHPプログラマであれば。こう問うかもしれません。我々のnginx、apacheサーバは必要ないのですかとなぜならこいつは直接tcpポートを関ししますので、nginxがやることをやってくれます。またsayhelloNameは実は我々が書いたロジック関数ですので、phpの中のコントローラcontroller関数に近いものです。
>もしあなたがPythonプログラマであったのなら、tornadoを聞いたことがあると思います。このコードはそれとよく似ていませんかええ、その通りです。GoはPythonのような動的な言語によく似た特性を持っています。Webアプリケーションを書くにはとても便利です。
>もしあなたがRubyプログラマであったのなら、RORの/script/serverを起動したのと少し似ている事に気づいたかもしれません。
Goを通じて簡単な数行のコードでwebサーバを立ち上げることができました。さらにこのWebサーバの内部ではマルチスレッドの特性をサポートしています。続くつの節でGoが以下にWebのマルチスレッドを実現しているのか細かくご紹介します。
Goを通じて簡単な数行のコードでwebサーバを立ち上げることができました。さらにこのWebサーバの内部ではマルチスレッドの特性をサポートしています。続くつの節でGoが如何にWebのマルチスレッドを実現しているのか細かくご紹介します。
## links
* [目次](<preface.md>)

View File

@@ -114,7 +114,7 @@ package main
}
}
上のコードによって、PostgreSQLが`$1``$2といった方法によって引数を渡している様子がお分かりいただけるかとおもいます。MySQLの中の`?`ではありません。また、sql.Openではdsn情報のシンタックスがMySQLのドライバでのdsnシンタックスと異なります。そのため、使用される際はこの違いにご注意ください。
上のコードによって、PostgreSQLが`$1``$2`といった方法によって引数を渡している様子がお分かりいただけるかとおもいます。MySQLの中の`?`ではありません。また、sql.Openではdsn情報のシンタックスがMySQLのドライバでのdsnシンタックスと異なります。そのため、使用される際はこの違いにご注意ください。
また、pgはLastInsertId関数をサポートしていません。PostgreSQLの内部ではMySQLのインクリメンタルなIDを返すといった実装がないためです。その他のコードはほとんど同じです。

View File

@@ -87,7 +87,7 @@ XMLは本来ツリー構造のデータ形式なので、対応するgo言語の
}
上の例では、xmlファイルを解析して対応するstructオブジェクトにするには`xml.Unmarshal`によって行われました。この過程はどのように実現されているのでしょうか我々のstruct定義の後の方を見てみると`xml:"serverName"のような内容があることがわかります。これはstructの特徴の一つです。struct tagと呼ばれています。これはリフレクションを補助するために用いられます。`Unmarshal`の定義を見てみましょう:
上の例では、xmlファイルを解析して対応するstructオブジェクトにするには`xml.Unmarshal`によって行われました。この過程はどのように実現されているのでしょうか我々のstruct定義の後の方を見てみると`xml:"serverName"`のような内容があることがわかります。これはstructの特徴の一つです。struct tagと呼ばれています。これはリフレクションを補助するために用いられます。`Unmarshal`の定義を見てみましょう:
func Unmarshal(data []byte, v interface{}) error