かまたま日記3

プログラミングメイン、たまに日常

2019-01-01から1年間の記事一覧

Travis CIの設定用のTerraform providerを作った話

この記事はTerraform Advent Calendar 2019 の9日目の記事です。 私の所属しているSEQSENSEではTravis CIを主に利用しています。 CIサービスを使うにあたって、ビルドで使う環境変数やSSH鍵などの管理は課題の一つです。 一つ一つ手動で設定していってもいい…

AWS Savings Plans メモ

AWS

AWSのSavings Plansのセミナーに参加してきたのでそのメモ。 Fargateに対しても割引が効いたりするし、インスタンスタイプの垣根が無いので*1、そろそろM6が出そうなので、M5のRI買うのやめとこうみたいなのが発生しないのがイイですね。 Savings Plansとは…

俺的00年代アニソン 前編

昔90年代 でやったやつの00年代版です。そろそろ2010年代も終わるのでやってみました。 今回は特にランキングは付けず思い入れのある曲を紹介していきます。紹介したいのが多くなったので続きます (たぶん..)

Datadog LogsをCLIでtailするツールを作った

github.com モチベーションとしては、Datadog LogsのWebコンソールはメッセージの全文が長いと全部表示されなかったり普通のtailと違って時間の降順に並んだりで微妙に見づらかったりするので、CLIでtail -fコマンド感覚で見れて雑にgrepとかしたいと思って…

Mercari meetup for SRE Vol. 2 に参加してきた

mercari.connpass.com データセンタープロジェクトの進捗って言うのが面白そうで抽選通ったので参加してきました。基本的には今自分が所属している小さいスタートアップでは直接的に参考になることはあまり無かったですが、こういうスケールの大きな話を聞く…

DockerのUbuntuコンテナでsystemdを動かす

TL; DR とりあえず --privileged をつける。つけないでいい感じで動かすのは大変そう。 CentOSは公式でsystemd用のベースイメージを用意してくれているので、Ubuntuを使いたい人以外はそちらを使うのが良さそう https://hub.docker.com/r/centos/systemd/ ST…

GolangでForループの中でdeferしない

defer はそれが定義された関数が終わったタイミングで実行されるので、forループでdeferを定義してしまうと、forループが終わって所属する関数が終わったタイミングで一斉に実行される。 package main import "fmt" func main() { for i := 1; i <= 5; i++ {…

退職しました4

TwitterやFacebookでフォローされてる方は知っているかと思いますが、3月末で前職を退職していました。短い間ですがお世話になった皆さんありがとうございました。1年弱という社会人生活で一番短い在職期間になりました。 これまで Hosted Embulk for TDであ…

Goで複数バージョンを管理する

(2021.10 更新) まあここに書いてることそのままなのですが、日本語のメモとして。 go install でダウンロード用のバイナリを取ってきて、downloadコマンドを打つ $ go install golang.org/dl/go1.17.1@latest $ go1.17.1 download Downloaded 0.0% ( 16384 …

embulk-executor-remoteserver 0.4.0 リリース

github.com このバージョンより、Embulk clientとserver間でTLSでの接続ができるようになりました。 設定方法 (クライアント) まず、use_tls オプションをtrueに設定してください。サーバ側が(クライアントにとって)既知のCA証明書でサインされた証明書を使…

Gradleで動的にプラグインを適用する

モチベーション とあるプロジェクトでgradle-release pluginを使っているのですが、DockerでJarをビルドするときにこのプラグインを設定していると .git ディレクトリをコピーしないと(プロジェクトがGitリポジトリじゃないと)最初のbuild.gradleの検証で失…

CicleCIでDockerイメージを再利用する in 2019

CicleCIでDockerイメージを再利用する - かまたま日記3 こちらの記事の最新版です。 現在CircleCIはバージョン2で、Docker Layer Cachingという機能がありますが、残念ながら追加のフィーが必要です。というわけで、会社とかで使っててフィーを払える方はそ…

embulk-executor-remoteserverを作った #Embulk

Embulkのexecutor pluginの仕組みとネットワークプログラミングを学びたかったので、勉強がてらこのようなプラグインを作ってみました。 github.com できること Embulkのタスクの実行を別に立てた専用のサーバ(以下Embulkサーバと呼びます)上で実行できる 複…

gradle-embulk-plugin v0.5.0 リリース

Release 0.5.0 · kamatama41/gradle-embulk-plugin · GitHub embulk_* のタスクを実行時の config.yml output.yml のオーバーライドを build.gradle 内ではなくプロパティを渡すようにしました。 以前 embulk { configYaml = "myconfig.yml" outputYaml = "m…

Lambdaオブジェクトの型パラメータを取るのは難しい

TL;DR ラムダオブジェクトの型パラメータを取得するスマートな方法は今の所見つかっていない もし基盤プログラムでそういうことをしたい場合は、ラムダを禁止して、匿名クラスを使う いい方法があったら教えてください 本文 Javaで基盤プログラム的なのを作…

embulk-output-multiを作った

前職の同僚の @mtsmfm さんがつぶやいていたので、勢いで作ってみました。 embulk で 1 つの input から複数の output に繋ぐみたいなことはできるのだろうか— Fumiaki MATSUSHIMA (@mtsmfm) 2019年2月25日 github.com 使い方 2019/03/11時点の最新版は 0.4.…

GradleプラグインをGradle community portalにアップロードした

今まで、自作の2つのGradleプラグインはGitHub上のオレオレMavenリポジトリから落とすようにしていたんですが、 buildscript でそのリポジトリを指定しないと行けなかったり、記述がちょっとだけ面倒だったので、Gradle community portalにアップしてPlugins…