Chatwork Creator's Note

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

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

読者になる

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

こんにちは!モバイルアプリケーション開発部のiOSエンジニア、折田 (@orimomo)です。 Chatworkに入社して早一年…。時が経つのがあっという間ですね。

最近は社内でアーキテクチャ刷新の話が出たりしていて、個人的にもアーキテクチャへの関心が高まっています。 そこで、以前から気になっていた「Redux」について、知識ゼロの状態から学んでみることにしました。

今回の記事では、Reduxの概要からサンプルアプリを作ってみるところまで、学んだことをゆるっとご紹介できればと思います。(初学者ゆえ、勘違いしている点などありましたら教えていただけますと幸いです🙇‍♀️)

続きを読む

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

こんにちは!フロントエンド開発部の石山です!

フロントエンド開発部では、スケールしやすいアプリケーションを目指して日々改善を行なっています。

今回はコードの品質を高めるためにフロントエンドチームが行なっている、モブレビュー会を紹介します!

続きを読む

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

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

ということで、今回は、映画の公開9日前に開催されるChatwork Dev Dayの中から、私も所属するSRE部からお届けする「Kubernetes 導入における実践プラクティス(仮)」の The Beginning を書こうと思い立ち、筆をとった次第です。 lp.chatwork.com

本編だけでも十分に楽しんでいただける内容になるかとは思いますが、40分という限られた枠の中で、てんこ盛りの情報をお届けすることになりそうで、視聴いただく方々が消化しきれない可能性を少し危惧していますので、この記事を事前に読んで準備いただき、当日のコンテンツをより深く楽しんでいただけれたら幸いです。

  • 想定ターゲット
  • アジェンダ
    • Immutable cluster に対する定期 version upgrade 運用戦略
      • 前提
      • version upgrade事情
    • Kubernetes CI / CD の構成例
    • AWS濱さんを迎えてのディスカッション
  • (あんまり関わってい中の人からの)雑感
  • 最後に
続きを読む

【リファクタリング】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のサービスに関する脆弱性についてどう考えて、課題に対してどう対策しようとしているかをお伝えしたい内容です。

続きを読む