diff --git a/ja/ebook/01.0.md b/ja/ebook/01.0.md index 4a32bdd1..b7623280 100644 --- a/ja/ebook/01.0.md +++ b/ja/ebook/01.0.md @@ -1,4 +1,4 @@ -# 1 GO環境の設定 +# 1 GOの環境設定 Goの世界へようこそ、さっそく初めてみましょう! diff --git a/ja/ebook/01.1.md b/ja/ebook/01.1.md index 959d39fd..73a4b4f6 100644 --- a/ja/ebook/01.1.md +++ b/ja/ebook/01.1.md @@ -135,7 +135,7 @@ homebrewはMacシステムで現在最も使用されているソフトウェア ## links * [目次]() * 前へ: [Goの環境設定](<01.0.md>) - * 次へ: [GOPATH とワーキングディレクトリ](<01.2.md>) + * 次へ: [GOPATHとワーキングディレクトリ](<01.2.md>) [downlink]: http://code.google.com/p/go/downloads/list "Goインストールパッケージダウンロード" [hg]: http://mercurial.selenic.com/downloads/ "Mercurialダウンロード" diff --git a/ja/ebook/01.5.md b/ja/ebook/01.5.md index cacbc92d..4a8b3c86 100644 --- a/ja/ebook/01.5.md +++ b/ja/ebook/01.5.md @@ -4,5 +4,5 @@ ## links * [目次]() - * 前へ: [Go開発ツール](<01.4.md>) + * 前へ: [Goの開発ツール](<01.4.md>) * 次へ: [Go言語の基礎](<02.0.md>) diff --git a/ja/ebook/03.0.md b/ja/ebook/03.0.md index 6cad32a5..c683d471 100644 --- a/ja/ebook/03.0.md +++ b/ja/ebook/03.0.md @@ -8,5 +8,5 @@ Webのプログラミングの基礎を勉強することはあなたにとっ ## links * [目次]() * 前へ: [第二章サマリー](<02.8.md>) - * 次へ: [webの作業方法](<03.1.md>) + * 次へ: [webでの作業方法](<03.1.md>) diff --git a/ja/ebook/03.1.md b/ja/ebook/03.1.md index 7556ca17..754d734c 100644 --- a/ja/ebook/03.1.md +++ b/ja/ebook/03.1.md @@ -1,4 +1,4 @@ -# 3.1 Webの作業方法 +# 3.1 Webでの作業方法 普段ホームページを閲覧する際、ブラウザを開くと思います。アドレスを入力してエンターキーを押すと、あなたが見たいコンテンツが表示されます。この見た目には簡単なユーザの行動には一体何が隠されているのでしょうか? diff --git a/ja/ebook/03.2.md b/ja/ebook/03.2.md index 7a082ea3..67242ad8 100644 --- a/ja/ebook/03.2.md +++ b/ja/ebook/03.2.md @@ -1,4 +1,4 @@ -# 3.2 GOでwebサーバを立てる +# 3.2 GOで簡単なwebサーバを立てる 前の節でWebはHTTPプロトコルに基づいたサービスであるとご紹介しました。Go言語では完全なnet/httpパッケージを提供しています。httpパッケージを通して実行できるwebサービスを非常に簡単に立ち上げる事ができます。同時にこのパッケージを使用することで、簡単にwebのルーティング、静的なファイル、テンプレート、cookie等のデータに対して設定と操作を行うことができます。 diff --git a/ja/ebook/03.3.md b/ja/ebook/03.3.md index 10febe00..c7618083 100644 --- a/ja/ebook/03.3.md +++ b/ja/ebook/03.3.md @@ -1,4 +1,4 @@ -# 3.3 Goは如何にしてWeb作業を行うか +# 3.3 GoはどのようにしてWeb作業を行うか 前の節でどのようにGoを通じてWebサービスを立てるかご紹介しました。net/httpパッケージを簡単に応用して便利に立てることができたかと思います。では、Goは低レイヤーで一体何を行なっているのでしょうか?万物は姿を変えてもその元は同じであります。GoのWebサービス作業も第一章でご紹介したWebの作業方法に関係しています。 ## webの作業方法のいくつかの概念 diff --git a/ja/ebook/03.4.md b/ja/ebook/03.4.md index bf901e04..0bc081bc 100644 --- a/ja/ebook/03.4.md +++ b/ja/ebook/03.4.md @@ -153,6 +153,6 @@ httpパッケージへの分析を通して、全体のコードの実行プロ ## links * [目次]() - * 前へ: [Goは如何にしてweb作業を行うか](<03.3.md>) + * 前へ: [Goはどのようにしてweb作業を行うか](<03.3.md>) * 次へ: [サマリー](<03.5.md>) diff --git a/ja/ebook/04.1.md b/ja/ebook/04.1.md index 2d2e6493..d7f681f2 100644 --- a/ja/ebook/04.1.md +++ b/ja/ebook/04.1.md @@ -104,5 +104,5 @@ RequestそのものもFormValue()関数でユーザが送信したデータを ## links * [目次]() * 前へ: [フォーム](<04.0.md>) - * 次へ: [フォームの入力を検証する](<04.2.md>) + * 次へ: [フォームに入力された内容の検証](<04.2.md>) diff --git a/ja/ebook/04.2.md b/ja/ebook/04.2.md index 15979e4f..2978d04b 100644 --- a/ja/ebook/04.2.md +++ b/ja/ebook/04.2.md @@ -161,6 +161,6 @@ timeを取得した後、多くの時間関数の操作を行うことができ ## links * [目次]() - * 前へ: [フォーム入力の処理](<04.1.md>) + * 前へ: [フォームの入力を処理する](<04.1.md>) * 次へ: [クロスサイトスクリプティングの予防](<04.3.md>) diff --git a/ja/ebook/04.4.md b/ja/ebook/04.4.md index 7ca75c3f..b7fb8081 100644 --- a/ja/ebook/04.4.md +++ b/ja/ebook/04.4.md @@ -1,4 +1,4 @@ -# 4.4 フォームの複数回送信の防止  +# 4.4 フォームの複数回送信の防止 以前どこかのBBSやブログでご覧になったかもしれませんが、一つのスレや文章の後でいくつもの重複が記録されていることがあります。これらの大多数はユーザが複数回書き込みフォームを送信してしまったことによるものです。様々な原因で、ユーザはよくフォームを複数回送信してしまいます。通常はマウスの誤操作によるもので、送信ボタンをダブルクリックしてしまったり、一旦送信した内容を再度修正しようとして、ブラウザの戻るボタンを押した後に次へボタンではなくまた送信ボタンを押してしまうことによるものです。当然、故意によるものもあります。- - 例えばネット上のアンケート調査やくじ引きにおいて重複して投票するなどです。では、どのようにしてユーザが同じ内容のフォームの送信を行うことを効果的に防げるのでしょうか? diff --git a/ja/ebook/preface.md b/ja/ebook/preface.md new file mode 100644 index 00000000..a506cd21 --- /dev/null +++ b/ja/ebook/preface.md @@ -0,0 +1,97 @@ +* 1.[Goの環境設定](01.0.md) + - 1.1. [Goのインストール](01.1.md) + - 1.2. [GOPATHとワーキングディレクトリ](01.2.md) + - 1.3. [Goのコマンド](01.3.md) + - 1.4. [Goの開発ツール](01.4.md) + - 1.5. [サマリー](01.5.md) +* 2.[Go言語の基礎](02.0.md) + - 2.1. [こんにちは、Go](02.1.md) + - 2.2. [Goの基礎](02.2.md) + - 2.3. [フローと関数](02.3.md) + - 2.4. [struct型](02.4.md) + - 2.5. [オブジェクト指向](02.5.md) + - 2.6. [interface](02.6.md) + - 2.7. [マルチスレッド](02.7.md) + - 2.8. [サマリー](02.8.md) +* 3.[Webの基礎](03.0.md) + - 3.1 [webでの作業方法](03.1.md) + - 3.2 [Goで簡単なwebサーバを立てる](03.2.md) + - 3.3 [Goはどのようにしてweb作業を行うか](03.3.md) + - 3.4 [Goのhttpパッケージ詳細](03.4.md) + - 3.5 [サマリー](03.5.md) +* 4.[フォーム](04.0.md) + - 4.1 [フォームの入力を処理する](04.1.md) + - 4.2 [フォームに入力された内容の検証](04.2.md) + - 4.3 [クロスサイトスクリプティングの予防](04.3.md) + - 4.4 [フォームの複数回送信の防止](04.4.md) + - 4.5 [ファイルのアップロード処理](04.5.md) + - 4.6 [サマリー](04.6.md) +* 5.[データベースへのアクセス](05.0.md) + - 5.1 [database/sqlインターフェース](05.1.md) + - 5.2 [MySQL データベースの使用](05.2.md) + - 5.3 [SQLiteデータベースの使用](05.3.md) + - 5.4 [PostgreSQLデータベースの使用](05.4.md) + - 5.5 [beedbライブラリを使用してORM開発を行う](05.5.md) + - 5.6 [NOSQLデータベースの操作](05.6.md) + - 5.7 [サマリー](05.7.md) +* 6.[sessionとデータの保存](06.0.md) + - 6.1 [sessionとcookie](06.1.md) + - 6.2 [Goはどのようにしてsessionを使用するか](06.2.md) + - 6.3 [sessionストレージ](06.3.md) + - 6.4 [sessionハイジャックの予防](06.4.md) + - 6.5 [サマリー](06.5.md) +* 7.[テキスト処理](07.0.md) + - 7.1 [XMLの処理](07.1.md) + - 7.2 [JSONの処理](07.2.md) + - 7.3 [正規表現の処理](07.3.md) + - 7.4 [テンプレートの処理](07.4.md) + - 7.5 [ファイルの操作](07.5.md) + - 7.6 [文字列の処理](07.6.md) + - 7.7 [サマリー](07.7.md) +* 8.[Webサービス](08.0.md) + - 8.1 [Socketプログラミング](08.1.md) + - 8.2 [WebSocket](08.2.md) + - 8.3 [REST](08.3.md) + - 8.4 [RPC](08.4.md) + - 8.5 [サマリー](08.5.md) +* 9.[セキュリティと暗号化](09.0.md) + - 9.1 [CSRF攻撃の予防](09.1.md) + - 9.2 [入力フィルタリングの確保](09.2.md) + - 9.3 [XSS攻撃の回避](09.3.md) + - 9.4 [SQLインジェクションの回避](09.4.md) + - 9.5 [パスワードの保存](09.5.md) + - 9.6 [データを暗号化/復元する](09.6.md) + - 9.7 [サマリー](09.7.md) +* 10.[国際化とローカライズ](10.0.md) + - 10.1 [デフォルトロケールの設定](10.1.md) + - 10.2 [ローカライズリソース](10.2.md) + - 10.3 [国際化サイト](10.3.md) + - 10.4 [サマリー](10.4.md) +* 11.[エラー処理、デバッグとテスト](11.0.md) + - 11.1 [エラー処理](11.1.md) + - 11.2 [GDBを使用したデバッグ](11.2.md) + - 11.3 [Goによるテスト例](11.3.md) + - 11.4 [サマリー](11.4.md) +* 12.[デプロイとメンテナンス](12.0.md) + - 12.1 [アプリケーションログ](12.1.md) + - 12.2 [サイトのエラー処理](12.2.md) + - 12.3 [アプリケーションのデプロイ](12.3.md) + - 12.4 [バックアップとリストア](12.4.md) + - 12.5 [サマリー](12.5.md) +* 13.[どのようにしてWebフレームワークを設計するか](13.0.md)  + - 13.1 [プロジェクトプラン](13.1.md)  + - 13.2 [カスタムルータの設計](13.2.md) + - 13.3 [controllerの設計](13.3.md) + - 13.4 [ログとデプロイ設計](13.4.md) + - 13.5 [ブログの追加/削除/修正の実装](13.5.md) + - 13.6 [サマリー](13.6.md)  +* 14.[Webフレームワークの拡張](14.0.md) + - 14.1 [静的ファイルのサポート](14.1.md) + - 14.2 [Sessionのサポート](14.2.md) + - 14.3 [フォームのサポート](14.3.md) + - 14.4 [ユーザ認証](14.4.md) + - 14.5 [多言語サポート](14.5.md) + - 14.6 [pprofのサポート](14.6.md) + - 14.7 [サマリー](14.7.md) +* 付録A [参考資料](ref.md) +