Chatwork Creator's Note

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

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

読者になる

EKSのバージョンライフサイクルに組織として対応する

先日行われた Chatwork Dev Day 2021 で、SRE部からは Immutable Clusterに対する定期Version Upgrade戦略 ということで、EKSのアップグレードへの対応について話しました。 www.youtube.com speakerdeck.com ChatworkではSREだけでなく開発チームも含めて、…

プロダクトセキュリティ部で働く

プロダクト本部プロダクトセキュリティ部に2021年6月に中途で入社したばかりの西川(id: cw-nishikawa)と申します。 押し付けるセキュリティではなく、寄り添うセキュリティをモットーとしています。 プロダクトセキュリティ部については下記をご覧ください…

ChatworkにおけるScrum@Scale導入への挑戦

こんにちは、id:daiksy です。 今回はぼくがChatworkで取り組んでいるスケーリングスクラムについて書いてみようと思います。 先日開催された Chatwork DevDayでもお話したのですが、現在我々はChatworkのリアーキテクティングプロジェクトにおいて、Scrum@S…

Jetpack Composeでチャット一覧を作る

はじめに はじめまして、入社して半年が経ちましたモバイルアプリケーション開発部のmatsubaです。 今回はAndroidのUIを構築するための最新のツールキットであるJetpack Composeの基本的な使い方と、 Jetpack Composeを使ったチャットアプリについて説明しま…

メンション履歴を保存するツールを作った話

こんにちは、あらい@料金プランチームです。最近自作キーボードに入門しました。この記事も左右に割れるカッコいいキーボード(※日本語配列) "JP60Split" で書いています。 この記事はChatwork Dev Day開催前の記事ラッシュのうちの1本です。Dev Dayは5日後…

Redux入門 〜iOSアプリをReduxで作ってみた〜

こんにちは!モバイルアプリケーション開発部のiOSエンジニア、折田 (@orimomo)です。 Chatworkに入社して早一年…。時が経つのがあっという間ですね。 最近は社内でアーキテクチャ刷新の話が出たりしていて、個人的にもアーキテクチャへの関心が高まっていま…

Chatworkフロントエンドが品質を保つために行なっているモブレビューについてのお話

こんにちは!フロントエンド開発部の石山です! フロントエンド開発部では、スケールしやすいアプリケーションを目指して日々改善を行なっています。 今回はコードの品質を高めるためにフロントエンドチームが行なっている、モブレビュー会を紹介します!

Kubernetes 導入における実践プラクティス(仮) The Beginning

こんにちわ。cw-tomita です。最近は「るろうに剣心 最終章 The Beginning」が公開されるのを心待ちにしつつ、これで健の剣心も見納めかという寂しさとが入り混じった複雑な気持ちで日々を過ごしています。 ということで、今回は、映画の公開9日前に開催され…

【リファクタリング】PHPで日付ライブラリへガチガチに依存している日付クラスを乗せ換えた話

みなさん、こんにちは! 最近はウマ娘のトレーナー業に勤しんでいるサーバーサイド開発部(PHP)のやまごし(id:ymgn)です。 去年の11月頃に一度Creators Noteへ記事を書かせていただいたのですが、それが社内でも評判が良かったのか 今回Chatworkの10周年記念…

モバイルアプリのビルドをおこなうために日々動いている自動テストのお話

こんにちはー。この季節は農業日和ですね。 このゴールデンウィークは米づくりの時期です。トラクターで田起こしと田植えに励んだ日々でした。 そんな充実した農業ライフの一端を紹介しようかと思いましたが、私もまだまだ修行の身。 皆さまに紹介するのはも…

Chatworkの開発チーム活動を支えるSaaSサービス

こんにちは。DevHR ( 開発人事 ) の 門田 ( @nottegra ) です。 今回は Chatwork の開発チーム活動で利用している SaaS サービスについてご紹介したいと思います。 ※GitHub などの開発関連のサービスは (他の人が書いてくれることを期待して) 除外します Cha…

Chatworkが取り組む脆弱性情報管理ついて

こんにちは、プロダクトセキュリティ部の新沼(cw-niinuma)です。 最近、始業前や気分を変えたい時に白檀の香りのお線香を焚くのにハマっています。 いい香りに包まれて仕事するのって幸せですよね。 5/26(水)にChatworkが初めて主催するオンラインテック…

Scala 3に備える社内勉強会の取り組みについて

みなさん、こんにちは!Chatworkの原田 (@shinharad) です。 今回は、最近弊社で取り組んでいる Scala 3 の社内勉強会について、このような流れでご紹介したいと思います。 最初に Scala 3 の今の状況をざっと確認 Chatworkでは Scala 3 の社内勉強会を継続…

【GASで業務効率化】Chatworkでピアボーナスのメッセージを送る

こんにちは、Chatworkのさかぐちです。 「Google Apps Script」を利用して「業務効率化」する手順を不定期に更新しております。 Chatworkに「ピアボーナスの仕組みがあればいいのに!」思ったことはありませんか? 弊社には「ピアボーナス」の制度があり、メ…

ESLintの設定値が期待した値になっているか確認するテストマッチャーを作ろう

こんにちは。フロントエンド 開発部のcw-sayamaです。 前回の投稿ではESLintのスナップショットテストについて書きましたが、今回もESLintネタを一つ。 ESLintの設定値が期待した値になっているか確認するテストマッチャーを作成したので、その経緯と内容を…

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

どうも、かとじゅん(@j5ik2o)です。 Scala製ライブラリでの依存ライブラリ更新と定期リリースをGithub Actionsを使って自動化するようにしたので、以下にその方法をまとめます。 具体的な例を見たい場合は以下のリポジトリを参照してください。 github.com

プロダクトセキュリティ部を作ったお話

こんにちは。プロダクト本部で副本部長をしてます、田中(id: tan-yuki)です。ウマ娘に課金をする一歩手前まで来ています。 今日は「プロダクトセキュリティ部」という部署を設立しました、という背景や活動について書いていきたいと思います。

本当に怖い、Babelの更新

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

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

初めまして。2020年11月にChatworkに入社したフロントエンド開発部のcw-sayamaです。 Chatworkのフロントエンド ではESLintを使いやすいように設定を変更して導入していますが、以下のように扱いにくい部分が出てきました。 設定を変更した時に、どのルール…

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

こんにちは、Chatworkのさかぐちです。 Chatworkを利用する中でメッセージを「予約投稿」したいと思ったことはありませんか? 今回は「指定した日にChatworkへメッセージを投稿する仕組み」を作成しようと思います。

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

こんにちは!SRE部のcw-ozakiです。 PHP Conference 2020 Re:bornでPHPでKubernetesを動かすにはどうするべきかという話をしてきました。 speakerdeck.com ただ、25分という短い枠でしたのでKubernetes初心者に向けてということで、だいぶ端折ったのでその5…

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 wa…

EKSでDNSを安定させるために対応したこと

今回はEKSでDNSを安定させるために対応した話を書きたいと思います*1。 一定数のPod以上になるとサービスが不安定になる conntrack溢れの犯人はkube-dns(CoreDNS) conntrackのmaxを増やす kube-dnsのautoscale node-local-dnsも入れる node-local-dnsを入れ…

続・ウェブフロントエンドの設計力を高めるためにアプリケーションの構造を捉えてみる話 ~ 考察編 ~

みなさま、お疲れ様です!エンジニア採用広報の高瀬 (@Guvalif) です。 この記事は、Chatwork Advent Calendar 2020 における、24 日目の記事です。 先日、フロントエンド開発部に所属するアーキテクトの火村 (@eielh) が、 ウェブフロントエンドの設計力を…

未来のChatworkについて(2020年版)

メリークリスマス♩id:cw-kasugaです。 この記事は、Chatwork Advent Calendar 2020 - Qiita の25日目の記事です。 Advent Calendarも最終日ですが、前回記事を書いたのが3年前だったことに驚愕してます。 今年からは対外的にもCTOという職責も任命頂いており…

Tools supporting kubernetes cluster in Chatwork (2020 version)

Hello, this is Sakamoto from the SRE Department. I run at least one full marathon every year, but unfortunately, I couldn't make it in 2020. I managed to run under 90 minutes (89 minutes) in the half-marathon held just in February, and I w…

ChatworkのKubernetesを支えるツールたち(2020年版)

こんにちは。SRE部坂本です。毎年最低1回はフルマラソンに出ていますが、2020年はあえなく参加できずに終わりました。 2月にギリギリ行われたハーフマラソンではなんとか90分切り(89分台)を達成し、今年は3時間10分以内を目指してただけに残念ですが、仕方あ…

Rustでのモデル駆動設計について

こんにちはかとじゅんです。 この記事は、ドメイン駆動設計 Advent Calendar 2020の23日目の記事です1。DDDというよりRustの記事になってしまった…。 Rustの勉強を始めたのは2017年あたりと古いのですがなかなか身が入らず、本腰入れたのは今年の11月ぐらい…

1年後のChatworkインフラの話 (2020年版)

こんにちわ。id:cw-tomitaです。 この記事は、Chatwork Advent Calendar 2020 - Qiita の21日目の記事です。 Advent Calendarシーズンももうすぐ終わりですが、入社して初めての年のAdvent Calendarでこんな記事を書いたな〜と、ふと思い出し、 creators-not…

【Chatwork Advent Calendar 2020】Chatworkに鹿児島からリモートで働くエンジニアのルーティン

こんにちは。ウスターソースの便利さに目覚めた新沼 ( @cw-niinuma ) です。 この記事は Chatwork Advent Calendar 2020 の 18日目の記事です。 2018年に入社して以来ずっと鹿児島からリモートワークを続けているわけなのですが、そんな私の一日を少しだけ書…