はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    猛暑に注意を

『astaxie (@astaxie) on GitBook · GitBook (Legacy)』

  • 人気
  • 新着
  • すべて
  • Goはどのようにしてweb作業を行うか · Build web application with Golang

    3 users

    astaxie.gitbooks.io

    3.3 GoはどのようにしてWeb作業を行うか 前の節でどのようにGoを通じてWebサービスを立てるかご紹介しました。net/httpパッケージを簡単に応用して便利に立てることができたかと思います。では、Goは低レイヤーで一体何を行なっているのでしょうか?万物は姿を変えてもその元は同じであります。GoのWebサービス作業も第一章でご紹介したWebの作業方法に関係しています。 webの作業方法のいくつかの概念 以下はどれもサーバの概念のいくつかです Request:ユーザが要求するデータ。ユーザのリクエスト情報を解析します。post、get、cookie、url等の情報を含みます。 Response:サーバがクライアントにデータをフィードバックする必要があります。 Conn:ユーザの毎回のリクエストリンクです。 Handler:リクエストを処理し、返すデータを生成する処理ロジック。 http

    • テクノロジー
    • 2022/09/01 09:57
    • データを暗号化/復元する · Build web application with Golang

      3 users

      astaxie.gitbooks.io

      9.6 データを暗号化/復号する 前の節では安全なパスワードの保存の仕方を説明してきました。しかしあるときには、既にデータベースに保存されている、プライバシーに関わる暗号化されたデータを修正する必要があるかもしれません。データを復号することが必要な時は、既に述べた1方向ハッシュ関数の代わりに、対称鍵暗号アルゴリズムを使うべきです。 高度な暗号化/復号 Go言語のcryptoでは対称鍵暗号アルゴリズムをサポートしています。二種類の高度暗号化モジュールがあります。 crypto/aesパッケージ:AES(Advanced Encryption Standard)は、Rijndael暗号化アルゴリズムとも呼ばれます。アメリカの連邦政府が採用しているブロック暗号の標準です。 crypto/desパッケージ:DES(Data Encryption Standard)は対称鍵暗号の標準です。これは現在

      • テクノロジー
      • 2018/10/21 22:28
      • GDBを使用したデバッグ · Build web application with Golang

        3 users

        astaxie.gitbooks.io

        11.2 GDBを使用してデバッグする プログラムを開発するにあたって開発者は度々デバッグコードを書く必要があります。Go言語は、PHPやPythonといった動的な言語のようにコンパイラを必要とせず修正を行うだけで直接出力し、動的に実行環境下でデータを出力できるわけではありません。当然Go言語もPrintlnのようにデータを出力することでデバッグすることはできますが、毎回再コンパイルする必要があります。これは非常に面倒くさいことです。Pythonではpdb/ipdbのようなツールによってデバッグを行うことができますし、Javascriptにも似たようなツールがあります。これらのツールはどれも動的に変数情報を表示させることや、ステップ実行ができます。我々はGDBを使ってデバッグすることができます。ではこの節ではどのようにしてGDBによってGoプログラムをデバッグするのかご紹介しましょう。 G

        • テクノロジー
        • 2017/10/12 14:21
        • あとで読む
        • Introduction · Build web application with Golang

          29 users

          astaxie.gitbooks.io

          Go Web プログラミング Webプログラミングが好きでGo webプログラミングを書きました。皆さんに気にいってもらえれば幸いです。

          • テクノロジー
          • 2017/03/05 22:21
          • Go
          • golang
          • webdevelop
          • プログラミング
          • programming
          • *Web制作
          • 環境
          • 開発
          • web
          • Socketプログラミング · Build web application with Golang

            84 users

            astaxie.gitbooks.io

            8.1 Socketプログラミング 多くの低レイヤのネットワークアプリケーションの開発者の目には一切のプログラムがどれもSocketのように映ります。すこし大げさかもしれませんが、だいたいこのようなものです。現在のネットワークプログラミングはほぼすべてにおいてSocketを使用してプログラムされています。このような場面を考えたことはありませんか?毎日ブラウザを開いてページを閲覧する際、ブラウザプロセスはどのようにしてWebサーバと通信を行っているのでしょう?QQを使ってチャットする時、QQプロセスはどのようにしてサーバまたはあなたの友達がいるQQプロセスと通信を行なっているのでしょう?PPstreamを開いてストリーミング映像を見るとき、PPstreamプロセスはどのようにして動画サーバと通信を行っているのでしょう?このように、すべてはSocketに依存して通信を行なっています。ひとつを見

            • テクノロジー
            • 2017/03/03 22:10
            • golang
            • socket
            • あとで読む
            • go
            • プログラミング
            • ネットワーク
            • 通信
            • Goはどのようにしてsessionを使用するか · Build web application with Golang

              3 users

              astaxie.gitbooks.io

              6.2 Goはどのようにしてsessionを使用するか 前の節で、sessionはサーバサイドで実装されるユーザとサーバ間の認証のソリューションのひとつであることをご紹介しました。現在Goの標準パッケージにはsessionのサポートがありません。この節では実際に手を動かしてgoバージョンのsession管理と作成を実現してみます。 sessionの作成過程 sessionの基本原理はサーバによって各セッションにおける情報データを保護することです。クライアントサイドはサーバサイドとグローバルでユニークなIDひとつを頼ってこのデータにアクセスし、インタラクティブな目的が達成されます。ユーザがWebアプリケーションにアクセスする際、サーバサイドのプログラムはsession作成の要求に従います。この過程は3つのステップに分けることができます: グローバルでユニークなIDの生成(sessionid)

              • テクノロジー
              • 2016/04/13 11:49
              • あとで読む
              • ファイルのアップロード処理 · Build web application with Golang

                3 users

                astaxie.gitbooks.io

                4.5 ファイルのアップロード処理 ユーザによるファイルのアップロードを処理したいとします。例えば、現在Instagramのようなホームページを作成しているとします。ユーザが撮影した写真を保存する必要があります。このような要求はどのように実現するのでしょうか? フォームにファイルをアップロードさせるためには、まずformのenctype属性を追加する必要があります。enctype属性には以下の3つの種類があります: application/x-www-form-urlencoded 送信前にすべての文字列をエンコードする(デフォルト) multipart/form-data 文字列に対してエンコードしません。ファイルのアップロードウィジェットを含むフォームを使用するときはこの値が必要です。 text/plain 空白を"+"記号に置き換えます。ただし、特殊文字に対してエンコードは行われませ

                • テクノロジー
                • 2016/03/30 17:54
                • preface · Build web application with Golang

                  15 users

                  astaxie.gitbooks.io

                  1.Go environment configuration 1.1. Installation 1.2. $GOPATH and workspace 1.3. Go commands 1.4. Go development tools 1.5. Summary 2.Go basic knowledge 2.1. "Hello, Go" 2.2. Go foundation 2.3. Control statements and functions 2.4. struct 2.5. Object-oriented 2.6. interface 2.7. Concurrency 2.8. Summary 3.Web foundation 3.1. Web working principles 3.2. Build a simple web server 3.3. How Go works w

                  • テクノロジー
                  • 2016/03/28 11:13
                  • golang
                  • あとで読む
                  • web
                  • アプリケーションのデプロイ · Build web application with Golang

                    4 users

                    astaxie.gitbooks.io

                    12.3 アプリケーションのデプロイ プログラムの開発が完了したら、Webアプリケーションをデプロイする必要があります。しかし、これらのプログラムはどのようにしてデプロイするのでしょうか?Goプログラムがコンパイルされた後は実行可能なファイルになりますので、Cプログラムを書いたことのある読者であればおそらくdaemonを採用することで完璧にプログラムをバックグラウンドで継続して実行できることを知っておられると思います。しかし、現在Goは完全にdaemonを実現することはできません。そのため、Goのアプリケーションプログラムをデプロイするにあたって、サードパーティのツールを使って管理することができます。サードパーティのツールにはいくつかあります。たとえば、Supervisord、upstart、daemontools等です。この節では現在自分のシステムにおいて採用しているツール、Superv

                    • テクノロジー
                    • 2016/02/23 16:02
                    • SQLiteデータベースの使用 · Build web application with Golang

                      4 users

                      astaxie.gitbooks.io

                      5.3 SQLiteデータベースの使用 SQLiteはオープンソースの組み込み式リレーショナルデータベースです。独立しており、設定なしでトランザクションのSQLデータベースエンジンをサポートします。非常にポータブルで簡単に利用でき、コンパクトで効率が高く、信頼性があります。他のデータベース管理システムとは異なり、SQLiteのインストールと実行は非常に簡単です。多くの場合は、ただSQLiteのバイナリファイルを用意するだけですぐに作成、接続、使用することができます。もしあなたが現在組み込み式データベースかソリューションをお探しであれば、SQLiteは絶対に考慮するに値します。SQLiteはいわばオープンソースのAccessのようなものです。 ドライバ Goがサポートするsqliteのドライバも比較的多いのですが、大部分はdatabase/sqlインターフェースをサポートしていません。 ht

                      • テクノロジー
                      • 2016/01/01 17:15
                      • SQLite
                      • SQL
                      • golang
                      • database
                      • Goの開発ツール · Build web application with Golang

                        4 users

                        astaxie.gitbooks.io

                        1.4 Go開発ツール 本章ではいくつかの開発ツールをご紹介します。これらはすべて自動化を備えており、fmt機能を自動化します。なぜならこれらはすべてクロスプラットフォームであり、そのためインストール手順といったものはすべて同じものです。 LiteIDE LiteIDEはGo言語の開発に特化したクロスプラットフォームの軽量統合開発環境(IDE)です。visualfcで書かれています。 図1.4 LiteIDEのメイン画面 LiteIDEの主な特徴: 主なオペレーティングシステムのサポート Windows Linux MacOS X Goコンパイル環境の管理と切り替え 複数のGoコンパイル環境の管理と切り替え Go言語のクロスコンパイルのサポート Go標準と同じ項目管理方式 GOPATHに基づいたパッケージブラウザ GOPATHに基づいたコンパイルシステム GOPATHに基づいたドキュメント

                        • テクノロジー
                        • 2015/12/28 09:50
                        • golang
                        • データを暗号化/復元する · Build web application with Golang

                          4 users

                          astaxie.gitbooks.io

                          9.6 データを暗号化/復号する 前の節では安全なパスワードの保存の仕方を説明してきました。しかしあるときには、既にデータベースに保存されている、プライバシーに関わる暗号化されたデータを修正する必要があるかもしれません。データを復号することが必要な時は、既に述べた1方向ハッシュ関数の代わりに、対称鍵暗号アルゴリズムを使うべきです。 高度な暗号化/復号 Go言語のcryptoでは対称鍵暗号アルゴリズムをサポートしています。二種類の高度暗号化モジュールがあります。 crypto/aesパッケージ:AES(Advanced Encryption Standard)は、Rijndael暗号化アルゴリズムとも呼ばれます。アメリカの連邦政府が採用しているブロック暗号の標準です。 crypto/desパッケージ:DES(Data Encryption Standard)は対称鍵暗号の標準です。これは現在

                          • テクノロジー
                          • 2015/12/08 11:56
                          • Introduction · Build web application with Golang

                            41 users

                            astaxie.gitbooks.io

                            Go Web プログラミング Webプログラミングが好きでGo webプログラミングを書きました。皆さんに気にいってもらえれば幸いです。

                            • テクノロジー
                            • 2015/10/11 00:39
                            • golang
                            • go
                            • webアプリ
                            • web
                            • Build
                            • document
                            • プログラミング
                            • Programming
                            • Webサービス
                            • GOPATHとワーキングディレクトリ · Build web application with Golang

                              4 users

                              astaxie.gitbooks.io

                              1.2 GOPATHとワーキングディレクトリ さきほどGoをインストールする際はGOPATH変数を設定する必要があるとご説明しました。Goはバージョン1.1から必ずこの変数を設定するようになっており、Goのインストールディレクトリと同じにはできません。このディレクトリは、GoのソースコードやGoの実行可能ファイル、並びにコンパイル済みのパッケージファイルを保存する為に使用します。そのためこのディレクトリには3つのサブディレクトリが存在します:src、bin、pkgです。 GOPATH設定 go コマンドは、ある重要な環境変数に依存しています:$GOPATH1 Windowsシステムにおいて環境変数の形式は%GOPATH%です。この本の中では主にUnix形式を使用します。Windowsユーザは適時置き換えてください。 (注:これはGoのインストールディレクトリではありません。以下では筆者のワ

                              • テクノロジー
                              • 2015/10/10 21:23
                              • Goの環境設定 · Build web application with Golang

                                3 users

                                astaxie.gitbooks.io

                                1 GOの環境設定 Goの世界へようこそ、さっそく初めてみましょう! Goは新しい言語です、並列処理、ガベージコレクションを備え、軽快にコンパイルできる言語です。以下のような特徴を持っています: 一台のコンピュータ上であっという間に大型のGoプログラムをコンパイルすることができます。 Goはソフトウェアの構造にモデルを与えます。分析をより簡単にこなすことができ、ファイルやライブラリのincludeといったCスタイルの書き出しにありがちな部分を大幅に省くことができます。 Goは静的型付け言語です。型に階層の概念が無いのでユーザはその関係に気をとられることもなく、典型的なオブジェクト指向言語よりももっとライトに感じるくらいです。 Goは完全なガベージコレクションタイプの言語です。また、基本的な並列処理とネットワークをサポートしています。 Goはマルチプロセッサ対応のソフトウェアを作成できるよう

                                • テクノロジー
                                • 2015/10/10 17:31
                                • reference
                                • テンプレートの処理 · Build web application with Golang

                                  5 users

                                  astaxie.gitbooks.io

                                  7.4 テンプレートの処理 テンプレートとは何か おそらくあなたはMVCのデザインパターンについて聞いたことがあると思います。Modelはデータを処理を、Viewは表示結果を、Controllerはユーザのリクエストの制御を行います。Viewレイヤーの処理では、多くの動的な言語ではどれも静的なHTMLの中に動的言語が生成したデータを挿入します。例えばJSPでは<%=....=%>を挿入することで、PHPでは<?php.....?>を挿入することで実現します。 下の図でテンプレートのメカニズムについてご紹介します 図7.1 テンプレートのメカニズム図 Webアプリケーションがクライアントに返すフィードバックの情報の中の大部分の内容は静的で不変です。また少ない部分でユーザのリクエストによって動的に生成されるものがあります。例えばユーザのアクセスログリストを表示したい場合、ユーザ間ではログデータ

                                  • テクノロジー
                                  • 2015/10/07 13:22
                                  • golang
                                  • JSONの処理 · Build web application with Golang

                                    6 users

                                    astaxie.gitbooks.io

                                    7.2 JSONの処理 JSON(Javascript Object Notation)は軽量なデータ記述言語です。文字を基礎とした言語のテキスト形式で、C言語ファミリーに似た習慣を採用しています。JSONとXMLの最も大きな違いはXMLが完全なマークアップ言語であるのに対し、JSONがそうでない点です。JSONはXMLに比べ小さく、早く簡単に解析でき、ブラウザのビルトインの素早い解析のサポートもあり、ネットワークのデータ転送分野により適しています。現在我々が見ることのできる多くのオープンプラットフォームでは基本的にJSONをデータ交換のインターフェースとして採用しています。JSONはWeb開発の中でもこのように重要でありますから、Go言語ではJSONのサポートはどうなっているのでしょうか?Go言語の標準ライブラリはすでに非常に良くJSONをサポートしています。JSONデータに対してとても

                                    • テクノロジー
                                    • 2015/09/29 20:41
                                    • JSON
                                    • Go
                                    • Introduction · Build web application with Golang

                                      5 users

                                      astaxie.gitbooks.io

                                      Build Web Application with Golang Purpose Because I'm interested in web application development, I used my free time to write this book as an open source version. It doesn't mean that I have a very good ability to build web applications; I would like to share what I've done with Go in building web applications. For those of you who are working with PHP/Python/Ruby, you will learn how to build a we

                                      • テクノロジー
                                      • 2015/09/19 05:05
                                      • golang
                                      • あとで読む
                                      • Introduction · Build web application with Golang

                                        34 users

                                        astaxie.gitbooks.io

                                        Go Web プログラミング Webプログラミングが好きでGo webプログラミングを書きました。皆さんに気にいってもらえれば幸いです。

                                        • テクノロジー
                                        • 2015/09/16 11:34
                                        • golang
                                        • go
                                        • tutorial
                                        • web
                                        • book
                                        • Go言語
                                        • プログラミング
                                        • JSONの処理 · Build web application with Golang

                                          24 users

                                          astaxie.gitbooks.io

                                          7.2 JSONの処理 JSON(Javascript Object Notation)は軽量なデータ記述言語です。文字を基礎とした言語のテキスト形式で、C言語ファミリーに似た習慣を採用しています。JSONとXMLの最も大きな違いはXMLが完全なマークアップ言語であるのに対し、JSONがそうでない点です。JSONはXMLに比べ小さく、早く簡単に解析でき、ブラウザのビルトインの素早い解析のサポートもあり、ネットワークのデータ転送分野により適しています。現在我々が見ることのできる多くのオープンプラットフォームでは基本的にJSONをデータ交換のインターフェースとして採用しています。JSONはWeb開発の中でもこのように重要でありますから、Go言語ではJSONのサポートはどうなっているのでしょうか?Go言語の標準ライブラリはすでに非常に良くJSONをサポートしています。JSONデータに対してとても

                                          • テクノロジー
                                          • 2015/07/23 21:43
                                          • JSON
                                          • golang
                                          • go
                                          • development
                                          • dev
                                          • あとで読む
                                          • tutorial
                                          • 正規表現の処理 · Build web application with Golang

                                            3 users

                                            astaxie.gitbooks.io

                                            7.3 正規表現の処理 正規表現はパターンマッチとテキスト操作の複雑で強力なツールです。正規表現は純粋なテキストマッチングに比べ効率は劣りますが、より柔軟性に富みます。この文法規則に従い作り出されるパターンはオリジナルのテキストからあなたが必要とするほとんどすべての文字列の組み合わせをフィルターすることができます。もしWeb開発の中でなにかしらのテキストデータソースからデータを取り出す必要があれば、この文法規則にしたがって正確なパターン文字列を作ることで意味のあるテキスト情報をデータソースから取り出すことができます。 Go言語はregexp標準パッケージを使うことでオフィシャルに正規表現をサポートしています。もしあなたが他のプログラミング言語において提供されている正規表現と同等の機能を使ったことがあるのであれば、Go言語バージョンでもそれほど門外漢というわけではないはずです。しかしこれらの

                                            • テクノロジー
                                            • 2015/06/05 12:11
                                            • Introduction · Build web application with Golang

                                              24 users

                                              astaxie.gitbooks.io

                                              Go Web プログラミング Webプログラミングが好きでGo webプログラミングを書きました。皆さんに気にいってもらえれば幸いです。

                                              • テクノロジー
                                              • 2015/02/09 21:42
                                              • Golang
                                              • go
                                              • あとで読む
                                              • Introduction · Build web application with Golang

                                                47 users

                                                astaxie.gitbooks.io

                                                Go Web プログラミング Webプログラミングが好きでGo webプログラミングを書きました。皆さんに気にいってもらえれば幸いです。

                                                • テクノロジー
                                                • 2015/01/04 19:58
                                                • golang
                                                • go
                                                • ebook
                                                • プログラミング
                                                • webbook
                                                • book
                                                • web
                                                • development
                                                • tutorial
                                                • github

                                                このページはまだ
                                                ブックマークされていません

                                                このページを最初にブックマークしてみませんか?

                                                『astaxie (@astaxie) on GitBook · GitBook (Legacy)』の新着エントリーを見る

                                                キーボードショートカット一覧

                                                j次のブックマーク

                                                k前のブックマーク

                                                lあとで読む

                                                eコメント一覧を開く

                                                oページを開く

                                                はてなブックマーク

                                                • 総合
                                                • 一般
                                                • 世の中
                                                • 政治と経済
                                                • 暮らし
                                                • 学び
                                                • テクノロジー
                                                • エンタメ
                                                • アニメとゲーム
                                                • おもしろ
                                                • アプリ・拡張機能
                                                • 開発ブログ
                                                • ヘルプ
                                                • お問い合わせ
                                                • ガイドライン
                                                • 利用規約
                                                • プライバシーポリシー
                                                • 利用者情報の外部送信について
                                                • ガイドライン
                                                • 利用規約
                                                • プライバシーポリシー
                                                • 利用者情報の外部送信について

                                                公式Twitter

                                                • 公式アカウント
                                                • ホットエントリー

                                                はてなのサービス

                                                • はてなブログ
                                                • はてなブログPro
                                                • 人力検索はてな
                                                • はてなブログ タグ
                                                • はてなニュース
                                                • ソレドコ
                                                • App Storeからダウンロード
                                                • Google Playで手に入れよう
                                                Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                設定を変更しましたx