水底

ScalaとかC#とかk8sとか

【VGC2020】INC Apr. 最高/最終レート1841構築【エルジュラ雨 (Whimsicott&Duraludon Rain Team)】

はじめに

普段技術的な内容を扱っているブログですが突然のポケモンです。HGSSぶりにまともな対戦を再開したので、これからもたまにポケモン記事が増えるかもしれません。一応 (?) ポケモンだいすきクラブ・オーキ堂 のOBだったりします (所属していた期間はほとんど対戦してなかったんですが…)。

ポケモンは↓のTwitterアカウントで活動してます。ルビサファ時代からずっとカイオーガ推しです。 https://twitter.com/amaya383

An English version appears after the Japanese section.


INC Apr. お疲れさまでした。「思い切り上振れして最終2桁入ってみたい!」という目標だったのですが、33-9で最高/最終レート1841 最終21位を記録できたので構築 メモ を残そうと思います。WCS中止・JCSも開催困難そうというご時世ですが、(恐らく) ボーダーを超える結果を残せて嬉しいです!!!あくまで構築時の自分用メモに加筆調整しただけなので読みづらさはご了承を。

エルジュラ軸としてはかなりいい感じの構築に仕上がったと思うので環境が変わってしまう前に供養しようと思います。レンタルパも公開してますので興味がある方は使ってみてください。

f:id:amaya382:20200501121348j:plain

続きを読む

WSL2のshellがどうにも重かったのが解決できた話

何が重かったか

tmux+zshな環境を利用しているのですが、zshでコマンドなしでEnterを連続で押したときやtmux環境を保存・復元するtmux-resurrectが激重でした。特に後者は保存・復元にそれぞれ1分程度かかっていました (同程度のマシンで普通のlinuxであれば5秒とかからない処理です)。

ちなみに、shellから呼び出したプログラムの速度は特段遅く感じることはありませんでした。

原因と解決策

デフォルトでWSL2のshellにWindowsのPATHが含まれているのですが、これが原因だったようです。 ので、これをしない設定にしました。

以下の内容を /etc/wsl.conf に追記して再起動するだけです。

[interop]
appendWindowsPath = false

ちなみにこの設定は Build 17713 以降でのみ使えるようです。

(追記) 副作用

WSL2のPATHからWindows由来のものを消すと、当然ながらWSL2からWindows側のコマンドを直接叩くことができなくなります。たまに手動で利用する場合であればフルパス指定すればよいですが、頻繁に利用するプログラムが存在する場合や外部のプログラムからPATHを前提としたコマンド呼び出しがある場合は困ったことになります。 応急処置として、PATHが通った場所にシンボリックリンクを張ることで解決できます。

例1: VSCode

WSL2からWindowsにインストールされたVSCodeを直接開くには専用のシェルスクリプトを経由する必要がある

sudo ln -s '/mnt/c/Users/<user name>/AppData/Local/Programs/Microsoft VS Code/bin/code' /usr/local/bin/code

例2: Docker for Windows (w/ VSCode remote container)

VSCode remote containerはその起動時に docker-credential-desktop.exe がPATHにあることを前提としたスクリプトが実行される (最近のバージョンでは不要になったかも?)

sudo ln -s '/mnt/c/Program Files/Docker/Docker/resources/bin/docker-credential-desktop.exe' /usr/local/bin/docker-credential-desktop.exe

参考

GitOpsで絶対に避けて通れないブランチ戦略

Kubernetes Advent Calendar 2019 その3 の 2日目です。

WeaveworksによってGitOpsが提案されてから2年ほどが経ち、僅かですが本番導入事例も耳にするようになりました。とはいえ案外まとまったドキュメントは作られていません。特にGitOpsで複数の環境 (e.g., 開発環境、本番環境、etc.) をハンドリングするためには欠かせないブランチ戦略については殆ど語られていないようです。これではたとえGitOpsの概要 (Single Source of Truthの概念等) を知っていても本番導入には大きなハードルが残ったままで、本番導入事例がまだまだ少ないことにも納得できてしまいます。そこでこの記事ではブランチ戦略に焦点を当て、サンプルプロジェクトを交えながら紹介していこうと思います。k8s/GitOps中級者向けです、多分。

以前GitOpsについて発表した際に端折ってしまった分 の補完にもなっています。

  • 前提
  • 概要
  • 用語
  • サンプルプロジェクト
    • Gitリポジトリ
      • manifests
      • system-manifests
      • cd-manifests
      • app-a
      • app-b
    • ブランチ
      • manifests
      • system-manifests
      • cd-manifests
      • app-a
      • app-b
  • 詳細
  • まとめ
続きを読む

私的プレゼンで気をつけていること

これはなに?

電子の海に大量に転がっているプレゼンTips的なものから個人的に必要と思う範囲で拾い集めたものです。自分でも未だに出来ていない点が多々あるので自分への戒めも兼ねて。

続きを読む

ローカルのVSCodeから、ローカルに置いたソースコードをリモートのDocker上で動かす方法

TL;DR;

  • 現状、vscode-remote-development-containerは DOCKER_HOST で指定するdocker over sshに対応しきれていない
  • sshでリモートのdockerソケットをローカルにフォワーディング
  • amaya382/sssh を利用して、ローカルにあるソースコードディレクトリをリモートにマウント
  • vscode-remote-development-containerでローカルにフォワードされたdockerソケットを利用して起動
    • vscode-remote-development-sshは利用しない
続きを読む

さくらインターネット株式会社を退職して博士後期課程に進学します

いわゆる退職エントリってやつですね、せっかくなので。とはいえ技術書典で文章を書くことに飽きたので簡単にしか書きません。

まだ有給消化中ですが1年半勤めたさくらインターネットを10月で退職し、大阪大学大学院情報科学研究科で博士後期課程に進学します。出戻りみたいな感じです。東京から大阪に移りました。

やっていたこと

さくらインターネットには修士新卒で入社し、主に2つのプロジェクトを担当していました。

1つ目のメインで稼働していたプロジェクトですが、こちらはまだリリースされていないので詳細は伏せます。レイヤ的には要件定義・全体設計・DevOps・実際のアプリ開発といったところを担当していました (溢れ出るふるすたっく感!)。最近k8sのイベントや執筆をすることが多かったですが、主にこのプロジェクトで活かしてきたものになります。技術スタックの中でもgolangk8s・gitops辺りを中心的に扱っていましたが、いずれも入社してから触り始めたものばかりだったので非常に視野が広くなった気がします。たのしい。

あ、ただの宣伝ですが、上で触れた執筆活動の1つとして技術書典7でk8s上で動かすアプリの開発方法とデプロイ方法の本を頒布しました。この辺りの技術的に興味がある方、良ければぜひ。

2つ目はサブですがTellusという衛星データプラットフォーム事業です。ちょうど入社した辺りから本格化した完全新規のプロジェクトで、正式版リリースまでを見届けた感じです。Tellus本体の開発ではなく、Tellus本体の開発のサポート・k8sベースの処理基盤を作成し衛星データ処理を載せ替え・Tellusプロジェクトに付随するアプリのマネジメントや一部開発といった部分に携わっていました。ジョインしたての頃はまだ「Tellus」という名称すらない状態からのスタートでしたが、気づけば新しいメンバーが次々に増えサービスも形になっていき楽しかったです。特に、今まで関わったことのなかった宇宙・衛星ドメインの強い方々と一緒に仕事ができたのは貴重な経験になりました。

その他、業務としていくつかイベント参加・登壇したり、業務ではないですが個人的に朝活と称して早朝の誰もいないオフィスに行って業務とは無関係なk8sの機能検証やOSS活動等もしていました。

お世話になった皆様、ありがとうございました。

f:id:amaya382:20191001163726j:plain:w300 f:id:amaya382:20191001163658j:plain:w300

これからやっていくこと

社会人ドクターではなく10月入学の普通の学生になります。社会人ドクターの方々を見て、「私にはそんな器用なことはできないなー、博士後期進むなら集中したいなー」ってことでこの選択になりました。なかなか見かけない選択肢かも知れませんが当然私も初めてなので先が読めなかったりもします。生計の方は研究員やら業務請負やらで立てていく予定ですがどうなるやら。

元々いた研究室に戻るものの、修士までメインで取り組んでいたグラフ処理エンジンの高速化とは少しだけテーマを変え、より広いOLAPの高速化を幾つかのアプローチから取り組んでいく予定です。はやくするぞ〜

おわり

なんか小学生の感想文のようになってしまいましたが、今までのような器用貧乏を脱してなにか1分野でも自信を持てるようになれたらなと思っています。研究以外にもやらなければならないことがあったりするのでそちらも頑張ります。やることの優先順位付けと同じミスを繰り返さないこと大事 (書いておけば気をつけるだろう理論)。

もっと詳しい話を聞かせろーとかあったら声をかけてください。よろしくおねがいします。 (もう大阪ですが…)

最後に、なかなかこんな機会無いので、貼っとけと言われることが多い乞食リストを貼っておきます。碌なものがないのは仕様です。