7月3週

とりあえずシステムトレードができるレベルまで作り込み完了

  • 意外とすんなりできた。。。

土曜:

  • 損切り機能作成
    • 毎秒テーブルに書き込みしているので以下のように書き込み回数の上限をあげた。

blog.csdn.net

  • show global variables like 'max_prepared_stmt_count';で現状の数値を確認
  • set global max_prepared_stmt_count=1048576;たぶんこれがMax(64倍なのでよっぽどこれでOK)

日曜:

  • 結局上記では起動時に初期化されてしまい上限がデフォルトに戻っていた

    対応

  • my.confをバインド
  • ローカルのmy.confでmax_prepared_stmt_count=1048576を追加
[mysqld]
character-set-server=utf8mb4
explicit-defaults-for-timestamp=1
general-log=1
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_prepared_stmt_count=1048576

[client]
default-character-set=utf8mb4

月曜:

  • golang
  • ラベル付きfor文とgotoについて覚えた。goto便利。。。

火曜:

  • caprese

    storeの永続化

  • vuex-persistedstateを使用
  • github.com
  • 以下の感じでpluginsに登録してstoreを指定するだけ
// nuxt.config.ts
plugins: [
    { src: '~plugins/localStorage', ssr: false }
  ],
// localStorage.ts
import createPersistedState from 'vuex-persistedstate'

export default ({ store }) => {
  createPersistedState({
    key: 'capreseStore',
    paths: ['authenticate', 'project', 'common']
  })(store)
}

参考

金曜:

  • golangmysqlでの日本時間の設定

    mysql

  • my.cnfへ以下を追加したらエラー
default-time-zone='Asia/Tokyo'
mysql> show variables like '%time_zone%';
+------------------+------------+
| Variable_name    | Value      |
+------------------+------------+
| system_time_zone | UTC        |
| time_zone        | Asia/Tokyo |
+------------------+------------+
  • このやり方でできなくはないけど煩雑・・・

DockerのMySQLコンテナのタイムゾーンについて - Qiita

  • 現状はdbコンテナ内で以下のようにしないとダメだ・・・
SET SESSION time_zone = 'Asia/Tokyo';

go側

  • mysql側でtimezoneをAsia/Tokyoにしてもデータベース保存時はUTCになっていたのでgo側でも対応が必要っぽい・・・
  • go側ではJSTに変換
jst, _ := time.LoadLocation("Asia/Tokyo")
fmt.Println(jst.String())
fmt.Println(time.Now().In(jst))