タグ

2021年2月14日のブックマーク (4件)

  • Goのバイナリから依存するmodule情報を取り出す方法 - knqyf263's blog

    概要 内部挙動 ELFバイナリの準備 .go.buildinfo section Goのバージョン module情報 ldflagsについて Goのソースコード .go.buildinfo マジックバイト Goのバージョン情報へのポインタ module情報へのポインタ EXEファイルの処理 余談 まとめ 概要 Goでビルドしたバイナリは色々な情報を含んでいます。例えばビルドに使用したGoのバージョンを取得できます。 $ go version ./test ./test: go1.15.2 そしてついこの間知ったのですが、 -m オプションを使うことで利用しているmoduleの情報も取得可能です。 $ go version -m /usr/local/bin/terraform /usr/local/bin/terraform: go1.14.9 path github.com/hashic

    Goのバイナリから依存するmodule情報を取り出す方法 - knqyf263's blog
  • Helmのサブコマンドを全部使ってみた | DevelopersIO

    Helmの勉強のために、各サブコマンドで何ができるか調べました。 環境情報 EKS Workshopで使う、Cloud 9インスタンス上で検証しています。Linuxです。 Helmのバージョンは以下です。 $ helm version version.BuildInfo{Version:"v3.5.0", GitCommit:"32c22239423b3b4ba6706d450bd044baffdcf9e6", GitTreeState:"clean", GoVersion:"go1.15.6"} completion generate autocompletions script for the specified shell シェル自動補完のためのスクリプトを吐いてくれます。 各シェル用のサブコマンドがあります。 Available Commands: bash generate au

    Helmのサブコマンドを全部使ってみた | DevelopersIO
    Akineko
    Akineko 2021/02/14
  • 今からでも遅くない! Kubernetesを最速で学ぶための学習法とは

    はじめに 連載は、Kubernetesに入門しあぐねているエンジニア、特にアプリケーション開発者の方向けにKubernetesへの入門の仕方と最低限動かすための知識を実践形式で紹介するものです。 Kubernetesについて全く触ったことがないという方から、何となく知っているけど実務で応用できない、実務で使っているけど実のところよく分かっていない……という方を対象に、Kubernetesの全体像の知識と手順をステップアップして学べるように構成しています。 今回の第1回は、連載をより効果的に活用していただくために、Kubernetesに入門する意義と効率的な学習法を取り上げます。 Kubernetesに入門する意義 さて、現在、DockerKubernetesに代表されるコンテナ技術は、随分と広く利用されるようになってきました。開発環境のみならずプロダクション環境でも多く採用されるなど

    今からでも遅くない! Kubernetesを最速で学ぶための学習法とは
  • GCPでSagaパターン実装

    概要 メディアやコミュニティ系のアプリケーション開発を中心に行っていたが、最近会社で決済系のシステムを扱うようになったこともあり、複数のサービス間がある中でどう結果整合性を担保するかについて学んでいた。 そこで学んだ複数サービス間での整合性を保つための手法として分散Sagaパターンがあり、実際にCloud RunとCloud PubSubで実装をしてみた。 複数サービスでの整合性 複数サービスでの整合性の問題 一般的にシステムを複数サービスに分けることによって、サービスを効率的に利用することや開発チームを分けることや小さくデプロイが可能など多くのメリットが挙げられる。 しかし、複数サービスにしたときの1つの問題として、データの整合性を取ることが難しくなることが挙げられる。 例えば、1つのDBのシステムに対してデータのWriteをアトミックに行う場合はDBのトランザクション等を使うことによっ

    GCPでSagaパターン実装