Usual Software Engineer

よくあるソフトウェアエンジニアのブログ

Ansible でリモートのファイルの内容を読み取る方法

はい。すいませんネタ切れですw 今回は小ネタも小ネタ、 Ansible の slurp モジュールについてです。 大して書くこともないので過去の Ansible の記事も貼っておきます。 innossh.hatenablog.com innossh.hatenablog.com innossh.hatenablog.com innossh.ha…

Mattermost で Bot Account を作る方法

Slack alternative として有名な Mattermost ですが、わりと最近の v5.12 で Bot account の機能が追加されました。 これまで Mattermost 用のボットは偽のユーザーを作成してボットの肩代わりをしていたようですが、公式にボットを作成することができるよう…

ゼロから始める AWS Fargate 実践編

概要編に引き続き、 AWS Fargate 実践編になります。 innossh.hatenablog.com 実際に Terraform などのコードをサンプルのリポジトリにあげていて、 VPC の作成から ECS クラスタの作成、更にはモニタリングのための CloudWatch のリソースまで用意している…

ゼロから始める AWS Fargate 概要編

Java アプリケーションを AWS Fargate 上で動かすという案件に取り組んだので、その知見をまとめておこうと思います。 サンプルコードを用意するのが時間がかかりそうだったので、もう 5 月も終わりということで概要編の記事として済ませることにしましたw …

yum でインストールしたいパッケージを探す

CentOS ならおなじみの yum ですが、欲しいパッケージをどう探し当ててインストールするか困ったことありませんか? 結局ググって探すオチになることが多いと思いますが、本来の yum コマンドの機能で探してみましょう。 (今回は苦し紛れで yum の小ネタで…

CircleCI 上の Gradle テストが exit value 137 で失敗する時の対処法

※追記あり サボリ気味なので3月分のブログです。 今回は Gradle と CircleCI の小ネタです。 CircleCI 上で Java のビルドやテストのために Gradle を実行していて、ある日から以下のようなエラーが発生するようになりました。 * What went wrong: Execution…

Ansible の with_items の出力を抑制する方法

ネタがない上に 3 月になってしまったので恒例の Ansible 小ネタですw まずはこの playbook を見てみましょう。 --- - hosts: localhost connection: local gather_facts: false tasks: - name: execute docker commands command: "docker {{ item }}" with…

Protocol Buffers の oneof で message の形式変更に耐える

若干タイトルが迷子な気がしますが、大きいことを言っているようで細かい話になります。 最近 grpc-java で protobuf の oneof の機能を使っていて疑問に思ったことがあったので試してみた記事になります。 その疑問とは、 oneof を使えば message のフィー…

2018年終わり

ちょっとした振り返り。 innossh.hatenablog.com 個人でwebサービスを公開する 今年もやらなかった...フハハハ 毎月ブログを書く 微妙にひと月書き漏らした。 毎月本を読む 本は読んだけど毎月一冊とか決めたことを全く無視していたw ドン勝する ゲームはた…

Java マイクロサービス用のライブラリ Helidon

最近 Helidon という Java のマイクロサービス用の OSS があるのを知って少し使ってみました。 例のごとく遅れた 11 月分のブログになります。 Helidon さっそく Helidon についてですが、 Oracle の OSS で Java でサクッとマイクロサービスを作るときに役…

Ansible の vars 参照で使える小ネタ

もう 11 月も半ばですが 10 月分のブログとして書きます。怠惰w 特にネタがないので以前も書きましたが Ansible の小ネタ投稿にします。 innossh.hatenablog.com 今回は変数参照について。 Ansible というか Jinja2 の内容も混じってます、思いつくけどどう…

Nomad の restart と reschedule の挙動を確かめる

9 月のブログさぼったので 9 月分として書きます。ネタは Nomad についでです。 Nomad の job には restart と reschedule の設定があり、それらで task 失敗時の挙動を変化させることができます。 ただドキュメントを一見してもすぐには理解できないので挙…

Gradle のデフォルトの locale を変更する方法

小ネタにもほどがある、って感じではありますが最近あまり余裕がないので良しとしましょうw 自身のマシンの言語設定は日本語のままにしておきたいけれど、開発の時に目に触れるメッセージは英語にしたいという人、多いのではないかと思います。 17:19:12: E…

jOOQ で audit フィールドを自動的に更新する方法

jOOQ 便利ですよね。 Java の ORM としては定番と言えるライブラリではありますが、 created_at や updated_at といった audit カラムを特に手動でセットせずとも、 自動的に更新したいというありがちなニーズに対応する方法が簡単には見つけられない気がし…

Raspberry Pi 用の開発を Mac 上の仮想環境でやる方法

久々に Raspberry Pi 触ろうとしたら手元になかったりセットアップ方法忘れていたりでやる気をなくしたことありませんか? それならハードがなくても仮想環境で開発できるようにしちゃった方が捗りますよね。 ググると結構 HOW TO 書いてる記事があるんです…

Spring Bootのテスト小ネタ

最近良いネタがないので苦し紛れで小ネタです。 以前 non web な Spring Boot のサンプルの記事を書きましたが innossh.hatenablog.com 今の Spring Boot の最新バージョンは 2.0.2 になっています。 使ったことがない人は公式ドキュメントを一通り読めば、…

Prometheus と Grafana で Nomad メトリクスの可視化

前回つくった Vagrant の VM 上の Nomad と Traefik のサンプルを使用して、 Nomad のメトリクスを可視化してみます。 innossh.hatenablog.com またも記事書くのが遅れてしまいましたが、エイプリルフールに続いてゴールデンウィークなので許してください。 …

Nginx の代わりに Go 言語製のリバースプロキシ Traefik を使う基本的な利点

毎月ブログ書く縛りを一日過ぎてしまいました。エイプリルフールだったので許してください。 無駄にハマってあまり余力がないのでさっさと本題に入りましょう。 Go 言語製のリバースプロキシ兼ロードバランサーの OSS である Traefik をご存知でしょうか。 …

Fluentd v0.14 では fluent-plugin-forest が不要な話

少し前のことですが、 Fluentd の v0.14 が stable になりましたね。 イコール v1.0 である通り、安定感が増した感じがしています。 ブログのネタが無いので今回は Fluentd の小ネタを投稿することにしますw 一応ここでは比較のために v0.12, v0.14 と表記…

Jenkins 2.0 アップデートで本当に知りたいこと

Jenkins 2.0 がリリースされて話題になってからだいぶ時間が経ちましたが、 昨年末に業務で Jenkins 2.0 へのアップデート作業を行ったので、今更ながらよく触るようになりました。 2年前くらいのJava 勉強会?でまともに Jenkins 2.0 の紹介を見てから良いな…

2018年やること

2017年は気まぐれで一年の目標エントリ書いたけど、なんか自分の中で今年も書かなきゃいけない空気になってしまったので、気張らずほんのり書いておこう。 個人でwebサービスを公開する 今年はちゃんとやる。できれば上半期で 毎月ブログを書く 引き続き 毎…

2017年終わり

2017年も終わりなので振り返ってみる。 innossh.hatenablog.com さて結果は 月1回ブログを書く 達成。無理やり書いたエントリもありつつ、わりと良いペースだったと思う。来年も続けたい。 英語を話す機会を増やす 達成。英会話教室に通い始めて、前よりはマ…

Ansibleモジュールのchangedの判断基準

Ansible で playbook を実行する際に、事前に check mode で一度変更点を確認することがよくあると思います。 具体的には check mode の出力結果で、 playbook 内のどの task が changed になり、どの task が changed にならないかを見ることで、今回の実行…

Amazon Echo(Alexa)とIRKitをIFTTTで連携してホームオートメーション

なかなかハマったので軽くまとめておきます。 一年ほど前に Amazon Echo と Google Home のこんなエントリを書きましたが innossh.hatenablog.com とうとう日本にも Amazon Echo が発売されましたね!テンション上がってさっそくゲットしました。 ひとまずテ…

Ansible TowerのOSS、AWXでAnsibleの実行管理をする

AWX をご存知でしょうか。 Ansible Tower の OSS 版として公開された、 Web インターフェイスと REST-API を持った Ansible の実行管理ができるプロダクトです。 今まで Ansible を使う時、実行者がそれぞれのマシンで実行したり、それを避けて Jenkins など…

Ansibleでデプロイする時に使える小ネタ

Ansible ってとても良いツールですよね。3年以上前に初めて触った時は Chef や Puppet から開放されると思うと感動するくらいでした。今でもお気に入りなプロダクトの一つです。 というわけで今回は小ネタで、 Ansible でアプリケーションのデプロイ用 playb…

header と Nginx と ELB

ブログのネタが見つからずに9月も終わりかけているので苦し紛れで前回のエントリと似たような内容ですw innossh.hatenablog.com 前回のエントリのおまけで書いたように、 AWS の ELB ではレスポンスヘッダが意図せず書き換えられることがあります。 そのこ…

Nginx/OpenRestyあるある言いたい

Nginx を使う時に、設定に対して動作が意図したとおりにならないことがよくあります。 おそらく初見殺しで何度もハマる人が多いのでここであるあるをまとめておこうと思います。 OpenResty の話も混ざっていますがほぼ同じと考えて良いです。 ではさっそく、…

IntelliJ IDEAでWildflyアプリケーションを動かす

小ネタです。 Java の Web アプリケーションを開発している場合、 IntelliJ IDEA 上で Tomcat や Jetty を動かして Web アプリケーションの動作確認を行うことがあると思います。 今回は Wildfly で同じことをやってみます。 Wildfly はおなじみだけど馴染み…

テストコードについて最近思ったこと

毎月1エントリごときでつらさを感じてるブロガーだけれど文章書くのは嫌いではないので ポエムみたいなエントリをはさみつつ精神を落ち着かせようと思う。 テストコードは実はビジネスサイドにとってこそ重要なものである、という話。 これはうちの会社のCTO…