7月1週

土曜:5h

  • gormの規約
    • ストラクト名がテーブル名になる(キャメルケースはスネークケースにマッピングされる)→MemberID→member_id

user-first.ikyu.co.jp

func main() {
    db, err := databases.Connect() // *gorm.DBが返却される
    defer db.Close()

    if err != nil {
        log.Fatal(err)
    }

    db.Debug().AutoMigrate(&models.BtcJpyS{}) //AutoMigrate(モデル)でマイグレーションする
    db.Debug().AutoMigrate(&models.BtcJpyM{})
    db.Debug().AutoMigrate(&models.BtcJpyH{})
    db.Debug().AutoMigrate(&models.SignalEvents{})
}
  • AutoMigrateにモデルを入れてgo run utils/migrateマイグレーション実行するとテーブルが作成できる f:id:yosuke0517:20200627203408j:plain

golangのDB操作が全然できていないことを再確認

  • orマッパーとgoの標準?の操作も明日を使って習得する

日曜:5h

月曜:11h

火曜:11h

  • Issueを1つ消化(レイヤードアーキ)
  • Issueを4つほど登録

水曜:11h

  • 個人開発(go)
  • 1h,1m,1sそれぞれのテーブルにbitcoin情報を格納するまではできた。と思ったらtimeフィールドに現在時間しか入らない・・・なぜ・・・

    木曜:11h

  • 昨日の状況の調査を引き続き・・・

    金曜:11h

  • 解決ー。問題はMySQL側にあった。MySQL5.7ではtimestamp型のデフォルト値を指定しないとinsert時の時刻がフィールドの値として登録されてしまう。
  • テーブル定義を以下のようにdefault値を追加して対応
-- +migrate Up
CREATE TABLE IF NOT EXISTS `SIGNAL_EVENTS` (
  `time` TIMESTAMP PRIMARY KEY NOT NULL,
  `product_code` VARCHAR(50),
  `side` VARCHAR(10),
  `price` float,
  `size` float
);
-- +migrate Down
DROP TABLE IF EXISTS `SIGNAL_EVENTS`;

週次報告

  • 年間(2019/8~2020/8)目標時間(業務での設計・実装含む):3380h
  • 今週を含む累積時間:2860h
  • 週次目標時間:65h
  • 週次実績時間:65h
  • 何を得たか:flutter基礎・capreseデプロイ検討・関数型プログラミングおさらい
  • 何が必要か:golang基礎・認証の知見・Nuxt・React・テスト手法の取得・k8s基礎
  • 来週の目標:k8s,golang進める