Chatwork Creator's Note

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

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

読者になる

PHP Conference 2020 に参加しました!👨‍🏫

みなさま、お疲れ様です!エンジニア採用広報の高瀬 (@Guvalif) です。 この記事は、PHP Conference Japan 2020 Re:born のイベントレポート兼、 Chatwork Advent Calendar 2020 における 12 日目の記事です。 弊社からは SRE 部の尾崎 (@k_kinzal) が登壇を…

Chatwork の Scala プロダクトとそれを支えるチーム その弐

これは Chatwork Advent Calendar 2020 / Scala Advent Calendar 2020 11日目の記事になります。 こんにちは。サーバーサイド開発部の Scala プロダクトを開発運用する部署でマネージャーをしている、 hayasshi です。 前回は、Chatwork で実際に稼働してい…

Chatwork の Scala プロダクトとそれを支えるチーム その壱

これは Chatwork Advent Calendar 2020 / Scala Advent Calendar 2020 10日目 の記事になります。 こんにちは。サーバーサイド開発部の Scala プロダクトを開発運用する部署でマネージャーをしている、 hayasshi です。 Chatwork は Scala を採用すると決め…

開発者全員が集まるイベント企画をした裏方の話

こんにちは。門田 ( @nottegra ) です。 この記事は Chatwork Advent Calendar 2020 の 9 日目の記事です。 先日、Chatwork のプロダクト開発メンバー全員が集まるイベントが開催されました。イベントの様子については Wantedly で記事を書きましたので是非…

Akka HTTP で複数エンドポイントに共通するログを Routing DSL で実装

9月に入社しました、サーバーサイド開発部 Scala チームの立野(@exoego)です。 ふだんは長野県の古民家から週5で在宅勤務しています。 弊社 Chatwork では現在、HTTP ベースの製品開発に Scala を用いるときは Akka HTTP というモジュールを採用しています…

あなたの知らないScalaの世界~Scalaでコードゴルフ~

挨拶 初めまして、2020年6月に大学院を中退し*1新卒として入社した田尻(@lmdexpr)です。 人生は色々ですね。 今はサーバーサイド開発部(Scala)で元気に毎日Scalaを書いています。 その辺の経緯にも軽く*2触れているインタビュー記事はこちら ↓ compass.lab…

pt-online-schema-changeを用いたスキーマ変更 on Amazon Aurora MySQL

こんにちわ。id:cw-tomitaです。 この記事は、Chatwork Advent Calendar 2020 - Qiita の3日目の記事です。 早速ですが、皆さんはauto incrementなRDBのtableのidにはどのような型を利用されていますか? Chatworkでは多くのテーブルでint型が指定されている…

DynamoDB用クライアントの制限を考慮したAkka Streamsの実装を作る

どもー、かとじゅん(@j5ik2o)です。 Scala Advent Calendar 2020 - Qiitaの2日目の記事です。 今回の記事は掲題のとおり、DynamoDBのI/OをAkka Streamsで効率的に実装してみようというネタです。

検証中の新しいアーキテクチャをご紹介します!!

この記事は Chatwork Advent Calendar 2020 2日目の記事です。 前日はプロダクトマネージャー宮下の「SaaS エンジニアのキャリアパスとしてのプロダクトマネージャー」でした。 全国のエンジニアの皆さん、こんにちは。 コアテクノロジー開発部 Scalaエンジ…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 4: Application Migration Tactics Matched to Kubernetes Cluster Update Strategy

Hello! I’m cw-ozaki, and I work in the SRE department. Continuing on from part three, I’d like to consider how to migrate applications to new clusters in line with the Kubernetes cluster update strategy in this installment. creators-note.c…

Chatwork のプロダクトフェーズと技術選定の流れ

こんにちは! Chatwork 株式会社のプロダクトマネージャー (PM)、宮下 (@ryugoo_) です。 2013 年にモバイルアプリエンジニアとして入社し、 2014 年に Android 専任になり、 2019 年からは PM に転向してそろそろ 2 年になろうとしています。 さて、今回は…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その4 〜Kubernetesクラスタの更新戦略に合わせたアプリケーションの移行戦術〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com creators-note.chatwork.com creators-note.chatwork.com 今回はその3の続きで、Kubernetesクラスタの更新戦略に合わせてアプリケーションをどのようにして、クラスタを移行していくのか戦術…

品質管理担当者として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)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進している…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 3: Cluster Structuring in Chatwork and Update Strategies

Hello! I’m cw-ozaki from the SRE Group. This is a continuation of the Part 2 article. Assuming that migrating from EC2 to Kubernetes is fine, I will discuss how Chatwork’s Kubernetes clusters are structured and how the updates are strategi…

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のロゴって山っぽいですもんねー さて、今回の標題の件ですが、ひらたくいうと、 「プロダクトバッ…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 2: The ideas behind our migration strategy

Hello! This is cw-ozaki from the SRE department. This post will be a continuation of Part 1, and I will explain the strategy with which we migrated our system to Kubernetes. creators-note.chatwork.com Our strategy for migrating to Kubernet…

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

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

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

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

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

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

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

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

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

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

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

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