Upgrade to Pro — share decks privately, control downloads, hide ads and more …

go get で考慮している ファイルシステムの挙動について

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

go get で考慮している ファイルシステムの挙動について

Avatar for shinnosuke

shinnosuke

June 08, 2024
Tweet

More Decks by shinnosuke

Other Decks in Technology

Transcript

  1. go get の仕組みを簡単に紹介 5 タグを指定しない場合を例に 引用:The Go Blog 「Module Mirror

    and Checksum Database Launched」 1. バージョンのリストを取得 2. 最新のタグのメタ情報を取得 3. 依存関係にある mod ファイル等を取得 4. zip ファイルとしてダウンロード
  2. go get の仕組みを簡単に紹介 6 引用:The Go Blog 「Module Mirror and

    Checksum Database Launched」 1. バージョンのリストを取得 2. 最新のタグのメタ情報を取得 3. 依存関係にある mod ファイル等を取得 4. zip ファイルとしてダウンロード タグを指定しない場合を例に
  3. go get の仕組みを簡単に紹介 7 引用:The Go Blog 「Module Mirror and

    Checksum Database Launched」 1. バージョンのリストを取得 2. 最新のタグのメタ情報を取得 3. 依存関係にある mod ファイル等を取得 4. zip ファイルとしてダウンロード タグを指定しない場合を例に
  4. go get の仕組みを簡単に紹介 8 引用:The Go Blog 「Module Mirror and

    Checksum Database Launched」 1. バージョンのリストを取得 2. 最新のタグのメタ情報を取得 3. 依存関係にある mod ファイル等を取得 4. zip ファイルとしてダウンロード タグを指定しない場合を例に
  5. go get の仕組みを簡単に紹介 9 引用:The Go Blog 「Module Mirror and

    Checksum Database Launched」 1. バージョンのリストを取得 2. 最新のタグのメタ情報を取得 3. 依存関係にある mod ファイル等を取得 4. zip ファイルとしてダウンロード タグを指定しない場合を例に
  6. どのように処理の流れを追って理解していったのか ある程度当たりをつけて処理を探した 25 1 今回は go get の挙動についてだったので、 ❏ get

    が付いているファイル or 関数があるはず ❏ modget というディレクトリに get.go というファイルがあった ❏ 処理を追ってもあまり処理を理解できなかった IDE の力を借りるべく Go の実装を手元にダウンロードした 0
  7. go build 時の挙動だったり Go version 1 との比較とかも機会があれば 業務時の軽い雑談で紹介した挙動を偶然見つけて 初めて Go

    のソースコードを読んだ まとめ GitHub だと大文字・小文字違いのアカウントは作成できないので ほとんど起きない現象なのかもしれない 27
  8. ❏ The Go Blog 「Module Mirror and Checksum Database Launched」

    ❏ GopherCon 2019: Katie Hockman - Go Module Proxy: Life of a Query ❏ Go Module Mirror, Index, and Checksum Database ❏ Macのディスクユーティリティで利用できるファイルシステムフォーマット ❏ Installing Go from source 参考