「GoでレストAPIを構築する:時系列データのデータ分析」

「Goを利用してレストAPIを構築する:時系列データのデータ分析方法」

Go、Gin、およびGormを使用したCRUD操作と統計分析のステップバイステップの例。

「Learning Go」、Giulia Roggia氏著。許可を得て使用されました。

はじめに

この記事では、Goで構築されたREST APIの例を紹介し、CRUD(作成、読み取り、更新、削除)操作と時系列データの統計を計算します。

この記事で使用されているコードの完全なバージョンはこちらでご確認いただけます。

なぜGoを選ぶのか?

Goは、REST APIを構築するための一般的な選択肢です。効率的なコンパイル言語でありながら、シンプルかつ読みやすい構文を持ち、並行処理の実装が容易です。豊富な標準ライブラリを提供し、優れたライブラリやツールのエコシステムもあります。

この例では、2つの人気のあるGoライブラリを使用しています:

  • Gin:Webアプリケーションを作成するためのツールを提供するWebフレームワーク。
  • Gorm:データベースとの相互作用のための完全な機能を備えたORM(Object-Relational Mapping)。

フォルダ構造

各「サービス」に対して1つのフォルダを作成します。Goでは、各フォルダがパッケージに対応し、同じパッケージ内の他のファイルで定義された要素にアクセスできるようになります。プロジェクトで使用されるフォルダ構造を以下に示します:

├── database│   └── database.go├── models│   └── models.go├── handlers│   ├── routes.go│   ├── stats.go│   ├── timeseries.go│   └── timeseriesvalues.go├── stats│   └── stats.go├── go.mod├── go.sum└── main.go

モデル&データベース

まず、models.goでORMモデルを定義して時系列データを表します。2つのモデルを使用し、1つはシリーズを識別し、もう1つはその値を格納します。各値は外部キーを介して時系列にリンクされます。

type TimeSeries struct { ID   int    `gorm:"primaryKey"` Name string `gorm:"not null"`}type TimeSeriesValue struct { ID           int `gorm:"primaryKey"` Time         time.Time Value        float64 TimeSeriesID int `gorm:"not null"`}

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more