タグ

ブックマーク / future-architect.github.io (4)

  • Goの構造体の使われ方の設計 | フューチャー技術ブログ

    Goで構造体を設計する場合、オブジェクト指向的な「型ごとの責務の分担」以外に、「どのように使われるものか」を考える必要があります。 ポインタで扱うのか? 値として扱うのか? 両方許可するのか? 値として扱える場合にimmutable(変更不可能)なオブジェクトとするのか、mutable(変更可能)なオブジェクトとするのか 値として扱える場合にゼロ値での動作を補償するかどうか 他の言語で言うと、C#の構造体とクラスの違い、C++のデフォルトコンストラクタあたりに頭を悩ませたことがある人にはおなじみかもしれませんが、Goでもいくつか考慮が必要になります。 ポインタ型として扱う必要があるケースまず最初に決断できる方針としては、ポインタ型でのみ扱うかどうかです。 内部にスライスやmap、ポインタなどの参照型な要素を持っていれば、基的にポインタ型でのみ扱う構造体になります。これらの要素を持っていた

    Goの構造体の使われ方の設計 | フューチャー技術ブログ
    yukiyan_w
    yukiyan_w 2021/05/26
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ

    なお、distrolessのイメージは2種類(3通りの名前)がありますが、Python 3.5はバグ修正はせず、セキュリティ修正のみでサポート期限が2020/9/13というステータスなので、エントリーでは3.7の方のみを扱います。 gcr.io/distroless/python3: Python 3.5.3 gcr.io/distroless/python3-debian9: Python 3.5.3(上のイメージと同一) gcr.io/distroless/python3-debian10: Python 3.7.3 一応サンプル等もありますが、どれも1ファイルで構成されたサンプルスクリプトばかりです。前回のsite-packagesにコピーする方法を軽く試したところうまく動かず、シェルもpipもensurepipもないため、ビルドイメージにすることもできません。いろいろ調べた結果、

    仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

    BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py

    仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
  • 初めてのGCPで環境構築してハマったこと | フューチャー技術ブログ

    はじめにお仕事GCP使って環境を構築することがあったのですが、色々とハマることが多かったので供養を兼ねて共有したいと思います。 当時の私の経験値としては「AWSの一部サービスは触ったことがある」程度でクラウド環境を下地から構築するのは初めての経験でした。一度触ってみれば常識だよねって内容が多いですが、初心者が小石につまずいてもすぐに立ち上れるようになれば幸いです。 今回構築した環境の概要 既存のオンプレ環境との共存を前提とし、使えるアドレス範囲もオンプレのNWから払い出し オンプレ環境とインターネットVPNでつなぐプロジェクトは1つ(ホストプロジェクト) 各環境(production、staging・・)は共有VPCで接続(サービスプロジェクト) なお、構築はTerraform, Ansibleで行いました。 GCPで環境構築してハマったこと編です。 カテゴリ別に記載しています。 1.

    初めてのGCPで環境構築してハマったこと | フューチャー技術ブログ
  • 1