Chatwork Creator's Note

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

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

読者になる

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

みなさん、こんにちは!

最近はウマ娘のトレーナー業に勤しんでいるサーバーサイド開発部(PHP)のやまごし(id:ymgn)です。

去年の11月頃に一度Creators Noteへ記事を書かせていただいたのですが、それが社内でも評判が良かったのか

今回Chatworkの10周年記念で行われる lp.chatwork.com

Chatwork DEV DAY 2021 の開催にあたってCreators Noteへまた何か記事を書いてもらえないか?とお声がけを頂いたので馳せ参じました。

余談(宣伝)ですが、去年書いた記事はこちらになります。参考にしていただけるとChatworkが更に便利に使えるようになるので ぜひ一度ご覧いただけると嬉しいです!

creators-note.chatwork.com

さて、最近の私の近況としては、8月に入社してから現行のChatworkのシステムの改善や保守などをメインで担当するチームの一員となって、既存のChatworkのいろいろな箇所に触れながら様々な知識を学んでいき、またたく間に約半年以上が経過しました。

そんな中、最近では新機能などの開発を進めるとともに、保守運用観点でのリファクタリングなども日々おこなっています。

今回はChatworkが急成長を続けるうちに生まれてしまった、技術的負債を一つ解消した話をお伝えできればと思います。

ざっくりした結論

既存のライブラリを継承するのは可能な限りやめよう!(可能であれば委譲しよう)

はじめに

Chatworkはこの度、2021年3月1日にめでたく10周年を迎えることができました。これもひとえに皆様の応援のおかげです。

Chatworkというプロダクトの最初は社内ツールとして開発されていたという歴史があり、今現在でも当時作られた独自フレームワークの上で10年以上急成長しながら開発が続けられているプロダクトになります。

日々、我々のようなエンジニア達によって改善は続けられているものの、急成長を続けてきた中で開発リソースや時間などを考慮した上でその時点での最適解を通ってきていることもあり、今となって世知辛い状態になっている箇所も数多くあります。

その中でも技術的負債となってから約4年もの間、放置され続けていた問題の討伐に成功したので、それがどういったものだったかをお伝えさせていただこうと思います。

続きを読む

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

こんにちはー。この季節は農業日和ですね。 このゴールデンウィークは米づくりの時期です。トラクターで田起こしと田植えに励んだ日々でした。

f:id:shige0501:20210510160417p:plain

そんな充実した農業ライフの一端を紹介しようかと思いましたが、私もまだまだ修行の身。 皆さまに紹介するのはもう少し精進してから・・・ということで、今日は別のお話をしたいと思います。

改めまして、グロースエンジニアリング部のしげむら (@shige0501) です。 現在はサービスを成長させるための施策や機能改善を中心にクライアント・サーバー問わずに担当してますが、元々はAndroidアプリ開発を主としたモバイルエンジニアです。

今回はAndroidアプリの自動テストを夜な夜な動くように設定したお話をします。

続きを読む

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

こんにちは。DevHR ( 開発人事 ) の 門田 ( @nottegra ) です。

今回は Chatwork の開発チーム活動で利用している SaaS サービスについてご紹介したいと思います。

※GitHub などの開発関連のサービスは (他の人が書いてくれることを期待して) 除外します

  • Chatwork / Chatwork Live
  • Google Workspace
  • Confluence
  • JIRA
  • Miro
  • Zapier
  • 最後に
続きを読む

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

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

5/26(水)にChatworkが初めて主催するオンラインテックカンファレンス、『Chatwork Dev Day』の盛り上げ企画として、5月から弊社社員がほぼ毎日ブログを投稿しています!今回はその盛り上げ企画の一環として、プロダクトセキュリティ部でおこなっている脆弱性情報管理についてお話したいと思います。

イベント登録がまだの方は、ぜひご登録よろしくお願いします! lp.chatwork.com

今日が担当の私は、Chatworkのセキュリティ対策のひとつの脆弱性情報管理についてお話します。
これは私たちプロダクトセキュリティ部が、Chatworkのサービスに関する脆弱性についてどう考えて、課題に対してどう対策しようとしているかをお伝えしたい内容です。

続きを読む

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

みなさん、こんにちは!Chatworkの原田 (@shinharad) です。

今回は、最近弊社で取り組んでいる Scala 3 の社内勉強会について、このような流れでご紹介したいと思います。

  • 最初に Scala 3 の今の状況をざっと確認
  • Chatworkでは Scala 3 の社内勉強会を継続的に開催している
  • 勉強会で使っている資料、情報源のご紹介
  • 勉強会でやったことをいくつかご紹介
続きを読む

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

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

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

Chatworkに「ピアボーナスの仕組みがあればいいのに!」思ったことはありませんか?

ピアボーナスとは

ピアボーナスは、従来の会社から社員に対して贈られる報酬とは違い、社員同士で報酬を贈りあうことができる仕組み・制度です。

[引用] ピアボーナスとはなんですか?(人事労務Q&A)|人事、採用、労務の情報ならエン人事のミカタ

弊社には「ピアボーナス」の制度があり、メンバー間で積極的に「称賛」や「ありがとう」を伝えています(ここ1年で1万件以上のピアボーナスが生まれています!!)

ピアボーナスもらうと、(個人的に)モチベーションがあがり「また頑張ろう!」と気合いがはいるため、従業員満足度の向上にも繋がると思っています。

続きを読む

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

こんにちは。フロントエンド 開発部のcw-sayamaです。

前回の投稿ではESLintのスナップショットテストについて書きましたが、今回もESLintネタを一つ。

ESLintの設定値が期待した値になっているか確認するテストマッチャーを作成したので、その経緯と内容を紹介します。

続きを読む