Chatwork Creator's Note

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

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

読者になる

品質管理担当者としてSonarCloudさんがジョインしました!

こんにちは。都志(@louvre2489)です。 突然ですが、みなさんの開発/保守しているシステムのソースコードは読みやすいですか?それとも読みにくいですか? 自信を持って「読みやすいです!」と答えたいところですが、「う〜ん・・・」となってしまう方は多…

ULID生成器をScalaで実装してみた

おはこんにちは、かとじゅん(@j5ik2o)です。 今回の記事は、IDフォーマットの一種であるULIDの実装についての記事です。 ULIDよーわからんという人は、以下の僕の記事を参照してみてください。 zenn.dev ID生成をどうするか議論によくなりますが、最近はソー…

簡単!Chrome拡張でオレオレChatwork!

自己紹介 こんにちは。竹川です。@tttyya 2020年4月1日より新卒としてChatworkに入らせていただきました。 サーバーサイド開発部(Scala)にて、やらせてもらってます。 Chrome拡張作り始めたキッカケ 同じScalaチームの先輩と、 「Chatworkに新機能が付くな…

対象別 アクセシビリティ啓蒙例

今回は、前回のエントリーに入りきれなくなって泣く泣く断念した、「エンジニア以外向け」におこなったWebアクセシビリティの啓蒙施策を紹介します。ポイントは「私が知ってる情報を全員が知っているわけではない。」という前提を忘れず、いつでも疑問に応え…

iOS アプリのタイムラインで info タグを表示する実装について

iOS

こんにちは。モバイルアプリケーション開発部の iOS アプリエンジニア、安宅 (@at_aka) です。 Chatwork の iOS アプリは現在、絶賛 Swift 化の真っ最中です。私もメインのプロジェクトの傍ら、タイムラインのメッセージ表示回りの Swift 化をやっています。…

リアクティブは難しいが役に立つ

お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進している…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その3 〜ChatworkにおけるKubernetesクラスタの構成と更新戦略〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com creators-note.chatwork.com 今回はその2の続きで、EC2からKubernetesに移行するのは良いとして、そもそもChatworkのKubernetesクラスタの構成と更新戦略をどうしているのかというベース部分…

Androidアプリのアクセシビリティ対応やってくぞい!

こんにちは!モバイルアプリケーション開発部のAndroidエンジニア、いけちょ(@ikeda_shogouki)こと池田です。 さて、チームリーダーの守谷が先日投稿している通り、仮称「アクセシビリティやってくぞい!」チームが発足しました。 creators-note.chatwork.co…

ノーコードで簡単タスクリマインダーを作ってみた

おはようございます、こんにちは、こんばんは。サーバーサイド開発部(PHP)のチバです。 社内で一番ヤバイやつ、真面目だけどクズ、なんて周りからは言われていますが私は元気です。 私が一番普通だと思っているので納得はできてないですけれど。 こんな記事…

スコープとスケジュールを継続して計画する方法

こんにちはー。藤井 (@yoshiyoshifujii) です。 Akkaってスウェーデンの山の名前なんですって、ご存知でした?わたしは知りませんでした。 そういえば、Akkaのロゴって山っぽいですもんねー さて、今回の標題の件ですが、ひらたくいうと、 「プロダクトバッ…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その2 〜移行戦略について考える〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com 今回はその1の続きとして実際にどのよう戦略を持ってKubernetesに移行したのかを解説します。

【ノーコード】通知用ルームに自分へのメンションをまとめてChatworkを使いこなそう!【Integromat】

みなさん、こんにちは! 2020年8月1日よりChatwork社にJoinさせていただきました、 サーバーサイド開発部(PHP)のやまごしと申します! 今回はIntegromatというノーコードで様々なサービスを連携させることができるサービスを使い、Chatworkをより便利に利用…

コロナ禍で道民がリモート入社した話

まえがき こんにちは!サーバーサイド開発部(PHP)の中田です。 今回は北海道在住の私がコロナ禍真っ只中でChatworkに入社するまでの思い出と、 3ヶ月の試用期間を終えた今も1度も社員と直接あったことのないレベル(笑)の純フルリモート業務を体験した感想…

モバイルアプリチームのリリースフロー改善

みなさん、こんにちは〜😃 モバイルアプリケーション開発部のAndroidエンジニア、ジェロームです。 この記事では、モバイルアプリチームのリリースフロー改善について紹介します。 先日#ChatworkTechTalkで発表させていただいた内容をより多くの方に知ってもら…

祝 🎉 アクセシビリティ改善チームができました!

今夏やっと、プロダクトに改善施策を反映していくためのチームを立ち上げることができました!!!👏🏻 名付けて……と思ってはいたのですが、色々あってまだ仮称「アクセシビリティやってくぞい!」チームとなっています。 せっかくなので、今回はその経緯やプロ…

jQuery時代のアーキテクチャをReact化するために大切なACL層のお話

こんにちは! フロントエンド開発部の澁谷(shibe23) です。Creator's Noteには初投稿となります。 「レガシーフロントエンド脱却への挑戦」というテーマで各メンバーが投稿してきましたが、今回の投稿で一区切りとなります。 各メンバーの投稿はこちらです。…

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

こんにちはー。 フロントエンド開発部の火村(ひむら/id:eiel)です。前回までは id:cw-himura で記事を書いていましたが、個人アカウントに切り替わりました。 よろしくおねがいします。 以前はサーバーサイド開発部に所属していましたが、2019年6月ぐらいか…

【Chatworkフロントエンドを大解剖!!】フロントエンド開発部に入社して3ヶ月が経ちました

8月よりChatworkのフロントエンド開発部にジョインさせて頂いた、石山(@NaReto1125_)です! 皆さんはChatworkやChatworkフロントエンドにどんなイメージをお持ちですか? 入社前、僕がChatworkフロントエンドに持っていたイメージはこれらのようなものでした…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その1

こんにちは!SRE部のcw-ozakiです。 長らく携わっていたPHPのレジェントシステムをEC2からKubernetesに移行する作業がひと段落ついたので、どのようにこの移行を進めて行ったのかご紹介していきます。

自前アーキテクチャなコードを Redux 構成に書き換えているお話

こんにちは、フロントエンド開発部の西口 (cw_nishiguchi) です。 Chatwork はおかげさまで、サービス開始から来年で 10 年を迎えようとしています。 この記事は、その歳月においての Web クライアントのアーキテクチャの変遷をたどるお話になります。

プロダクトとチームをより良くしたかったので、エンジニア採用広報をはじめてみたお話

新採用サイトのオープンを記念してこれを盛り上げるべく、 本日より Chatwork 開発本部メンバーによる怒涛の連続ブログ更新がはじまります 記念すべき第1回は、エンジニア採用広報である高瀬 (@Guvalif) が、 「なぜエンジニアから、採用や広報に携わるにい…

プロダクトマネージャーカンファレンス 2020 に登壇しました 👨‍🏫

みなさま、お疲れさまです!エンジニア採用広報の高瀬 (@Guvalif) です。 初のオンライン開催ではありながら、プロダクトマネージャーカンファレンス 2020 は大変盛り上がったのではないでしょうか 弊社からも、Product Manager (以降 PM と表記) を統括す…

【デザイナー向け】ガイドラインとの向き合い方

よく「デザイナーはガイドライン(仕様書)を読まない」、あるいは「読むのが苦手」という声を色々な立場から聞くことがあります。デザイナーは仕様書を読むことが苦手「らしい」と述べながらも、ルールと方針を照らしながらガイドラインに落とし、開発や記…

【GASで業務効率化】Googleフォームで登録された情報をChatworkへ通知する

こんにちは、Chatworkカスタマーサクセスチームのさかぐち(cw-sakaguchi)です。 「Google Apps Script」を利用して「業務効率化」する手順を不定期に更新していこうと思います! よろしくお願いします! 今回は「Googleフォームで登録された情報をChatwork…

ScalaMatsuri 2020 - 1日目発表資料まとめ!

皆さま、お疲れさまです! 今年も ScalaMatsuri 盛り上がってますね! 今年も熱い発表ばかりで、きっと聞きたい発表が重なった方もおられるはず・・という事で、取り急ぎ公開されている発表資料リンクをまとめました!二日目も終盤ですが、聞き逃した発表に…

ScalaMatsuri 2020 に出展します!

こんにちわ。ブログ初投稿の門田 (@nottegra) です。 今年も Chatwork は、ScalaMatsuri 2020 にブースを出展いたします! また弊社の加藤、立野も下記の内容で登壇いたします。ブース含めて是非ご覧になってください。

Scala Steward を CircleCI で定期実行させる方法

こんにちは。cw-kajiwaraです。 privateレポジトリに対してScala StewardをCircleCIで定期実行するようにしてみたので、その設定方法の共有をさせていただきます。 社内レポジトリなどのpublicにできない or したくないレポジトリの依存ライブラリ更新作業を…

【GASで業務効率化】ChatworkのタスクをGoogleカレンダーに登録する

こんにちは、Chatworkカスタマーサクセスチームのさかぐち(cw-sakaguchi)です。 「Google Apps Script(GAS)」を利用して、Chatworkで「業務効率化」する手順を不定期に更新していこうと思います! よろしくお願いします! 最近、実際のお客さまよりいた…

【GASで業務効率化】営業時間外にChatworkに自分宛てに問い合わせがきたら自動応答する

こんにちは、Chatworkカスタマーサクセスチームのさかぐち(cw-sakaguchi)です。 「Google Apps Script」を利用して「業務効率化」する手順を不定期に更新していこうと思います! よろしくお願いします! 最近、お客さまよりいただいたお声で お客さまとや…

Biryani プロジェクト(メッセージ検索機能のCloudSearchからElasticsearchへのリプレイス)について vol.4 - 差分マイグレーション編 -

こんにちは、梶原(cw-kajiwara)です。 Biryani PJシリーズでの投稿です。今回の記事ではメッセージ検索機能におけるメッセージの差分マイグレーションを行うKafka Consumerアプリケーション、通称Indexerについて紹介いたします。 vol.1ではプロジェクト発足…