Chatwork Creator's Note

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

読者になる

Github ActionsによるScala製ライブラリの依存ライブラリ更新と定期リリースの自動化

どうも、かとじゅん(@j5ik2o)です。

Scala製ライブラリでの依存ライブラリ更新と定期リリースをGithub Actionsを使って自動化するようにしたので、以下にその方法をまとめます。

具体的な例を見たい場合は以下のリポジトリを参照してください。

github.com

続きを読む

本当に怖い、Babelの更新

こんにちはー。突然ですが、聞いてくださいよー。

Babelのバージョンアップしたら「Chatworkのルーム切り替えが重くなった」と社内で言われてしまいました。 みんなの仕事の効率を悪くするわけにもいかないので、戻すしかありません。Babelの更新って、本当に怖いですよねー。

そんなわけで、こんにちは。フロントエンド開発部のひむら(id:eiel)です。

さて、この話自体は少し前のことなのですが、その際に原因を特定する余裕がなく、Babelの更新は後回しになっていました。 ルーム切り替え自体が歴史的経緯もあって、「とーっても」*1難易度が高くなっていて、最悪これを改善すれば更新できるだろうと期待もしてたりもしました。 ところが、うっかり再発させてしまったので、ここで気合をいれて改善することにしました。

今日はその話を記録しておきます。

*1:CV: 高橋李依のイメージで読んでください

続きを読む

ESLintの設定をスナップショットテストしてみよう

初めまして。2020年11月にChatworkに入社したフロントエンド開発部のcw-sayamaです。

Chatworkのフロントエンド ではESLintを使いやすいように設定を変更して導入していますが、以下のように扱いにくい部分が出てきました。

  • 設定を変更した時に、どのルールを変えたのかが分かりにくい
  • ファイルによって設定を変えているが、それぞれの設定が確認しづらい
  • ESLint関連のモジュールが更新された時に設定が変更されていても検知しにくい

そこでこれらの問題を解決するべく、ESLintの設定をスナップショットテストする仕組みを作ったので、ここで紹介していこうと思います。

続きを読む

【GASで業務効率化】指定した日にChatworkへメッセージを投稿する

こんにちは、Chatworkのさかぐち(cw-sakaguchi)です。

「Google Apps Script」を利用して「業務効率化」する手順を不定期に更新しております。

Chatworkを利用する中でメッセージを「予約投稿」したいと思ったことはありませんか?

今回は「指定した日にChatworkへメッセージを投稿する仕組み」を作成しようと思います。

続きを読む

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その5 〜PHPアプリケーションをコンテナ化しよう〜

こんにちは!SRE部のcw-ozakiです。

PHP Conference 2020 Re:bornでPHPでKubernetesを動かすにはどうするべきかという話をしてきました。 speakerdeck.com ただ、25分という短い枠でしたのでKubernetes初心者に向けてということで、だいぶ端折ったのでその5からはそのあたり補足もしていきたいと思います。

という訳で、今回はPHPアプリケーション用のコンテナイメージを作る話です!!

続きを読む

What we did to stabilize DNS on Kubernetes cluster

This time, I would like to talk about how I fixed DNS errors on EKS (Chatwork's EKS is operated using a single multi-tenant cluster)

  • Service becomes unstable when the number of pods exceeds a certain number
  • Culprit of conntrack overflow was kube-dns (CoreDNS)
  • Increasing the conntrack max value
  • autoscale kube-dns
  • Deploy node-local-dns too
  • DNS-related services started to become unstable again once node-local-dns was deployed
  • Points to use node-local-dns on EKS
  • Stabilized at last
続きを読む