nabeliwo weekly

nabeliwo weekly は nabeliwo の日々の活動を週報の形式でまとめてお届けします。

curl・タイムゾーン・ソースマップ

勉強とかの習慣化を可視化したい

勉強を続ける技術という記事を読んでとても感銘を受けたので僕も始めることにした。

記事内で作られていた toggl で勉強時間をログとして残してそのデータを pixela に投げて草を生やすツールを僕も真似して作っている。
記事内で紹介していたツールは golang で書かれていたので、自分は TypeScript で書いている。

そのツールを作る中で、それぞれのサイトの API をお試しで叩くために curl を結構使ったんだけど、僕は curl のよく使う基本的なオプションすら知らないんだなあと絶望した。curl 全然使ってこない人生だった。

今回覚えたのは以下の4つ。

  • -X: HTTP メソッドの指定
  • -d: POST リクエストのデータ
  • -H: HTTP ヘッダに HEADER を追加する
  • -u: 認証に用いるユーザー名・パスワードを入れる

まじでこのレベル。

今日だと終わらなかったので明日引き続き作って完成させる。

タイムゾーン難しい

上にあげたツールを作るために、コードを Cloud Functions 上にあげて動かすんだけど、toggl から取れるデータは UTC で Cloud Functions の環境も UTC で、開発環境は JST で pixela は JST っていうややこしいタイムゾーンの状況になっていて、コードを動かした時点から1日前の toggl のデータを集めて pixela に投げるということだけでめっちゃ頭がこんがらがってしまった。

タイムゾーンを考慮したクエリーを書いたりとかしてたんだけど絶対もっときれいに書けるはずなんだよな。

もうちょっと研究します。

ソースマップ

こっちは仕事の話なんだけど、Next.js に Sentry を導入したんだけどソースマップを本番環境には出さないようにするっていうのをやるために、Sentry の hideSourceMaps というオプションを有効化しているんだけど、これはビルド後の JS ファイルから .map ファイルへの参照を消すだけのやつで、これが本来目指している「本番環境の静的なファイルを見てアプリケーションコードが見られる状態をなくしたい」という需要に応えられているのかいまいちわかっていない。

ソースマップのことが何もわかっていないことがわかったのでこちらも要調査。