誰かの役に立てばいいブログ

by @ymmt2005 役に立ったらスターつけてね。

WSL で快適な Go 開発環境を作る

個人的な備忘録です。

仕事上 Ubuntu をターゲットに Go のプログラム開発をする必要があるのですが、従前 Windows デスクトップに Hyper-V の Ubuntu で Emacs で開発していたところをVisual Studio Code(vscode) に開発環境を変えたいと考えました。理由は省略。

最初は Ubuntu 上に vscode を入れて X 越し(VcXsrv)で試してみたのですが大画面だと描画速度が遅すぎてストレスたまってダメでした。

仕方がないので Windows 上の vscode で WSL の Ubuntu を併用しつつネイティブ Windows 開発環境を構築することにしました。大分手順が多くなってきたのでメモとして残します。

続きを読む

golang.org/x/crypto/ssh で固まらないようにする

最近 CKE というベアメタル向けの Kubernetes 管理ツールを作っています。 ブートストラップツールではなく自律的・継続的にクラスタの構成を修正していくツールで、以下が特徴です。

  • ネットワークプラグイン非依存
  • HA 対応
  • CKE 自体の高可用性

今日は CKE の紹介が目的ではないのでこのあたりにします。

本題は、CKE が内部で使っている golang.org/x/crypto/ssh というライブラリが無期限に ブロックしてしまう問題があったので、どう対応したかです。

続きを読む

NVMe ストレージの揮発性内部キャッシュ

TL;DR
HDD 同様、NVMe ストレージも nobarrier するなら内部キャッシュを無効化したほうがいいケースがあります。

分かる人向けに端的に書くと、NVMe 仕様には volatile write cache の有無と、有効化/無効化切り替え、および有効な場合にデータが消失するケースが明記されています。手持ちの NVMe デバイスの情報を確認して、ファイルシステムに nobarrier つけたいなら、確実に無効化しておきましょう。

以下は詳細。

続きを読む

SRE 本は二度以上読む価値がある

@tamagawa_ryuji 氏からこの度和訳して発売された「SRE サイトリライアビリティエンジニアリング」をご恵贈いただきました。

英語の原本は昨年発売されており、Google のサービス運用について実践的な知見が得られる貴重な書籍ということで、去年のうちに英語版を社内で購入し、輪講しています。今回和訳本を頂きましたので、二度目となりますが早速拝読しました。

SRE (Site Reliability Engineering) という言葉を聞きなれない方のために簡単に解説しておくと、Google において古典的なシステム管理者の概念に代えて導入された、システムとその上のサービスの信頼性に責任を持つエンジニアとその仕事のやり方の体系的な概念です。

初めて読んだ際は、SRE とそれにまつわる Toil や Postmortem といった概念や SLO の定義の仕方について Google の知見を学ぶのに精一杯でした。二度目となる今回ですが、以下のような点で読む価値が確実にあると感じた次第です。

続きを読む

iOS でクライアント証明書認証

長年 Android を使っていたんですが、最近 iPhone にしまして。

cybozu.com にリモートからアクセスする際、クライアント証明書で認証する「セキュアアクセス」という機能があるのですが、Safari で使うには証明書を読み込ませておかねばなりません。

Android では PKCS#12 形式のファイルを選択するだけで読み込めたのですが、iPhone だとユーザーインタフェースがないのですね。 調べてみると、会社の iPhone をまとめて設定するために使う「構成プロファイル」という機能があり、この一機能でクライアント証明書を設定できるようです。

構成プロファイルは .mobileconfig という拡張子の XML ファイルで、以下のように自作できます。

続きを読む