Chatwork Creator's Note

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

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

読者になる

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

こんにちはかとじゅんです。

この記事は、ドメイン駆動設計 Advent Calendar 2020の23日目の記事です1。DDDというよりRustの記事になってしまった…。

Rustの勉強を始めたのは2017年あたりと古いのですがなかなか身が入らず、本腰入れたのは今年の11月ぐらいでした(遅ッ。Scalaで実装してたライブラリをRustに書き換えたおかげでようやく開眼しました2

というわけで、今回は完全趣味の領域であるRustでドメインモデルをどう実装すればいいのかについて、僕の意見やアイデアなど雑にまとめてみたいと思います。まぁこれについてもいろんな観点がありますが、値オブジェクトやエンティティを実装するならという観点です。

※あ、Rustの所有権システムなどの言語仕様については細かく触れないので、各位適宜正しい情報源を参照してください。

f:id:j5ik2o:20201222164532p:plain


  1. RustのAdvent Calendarにもエントリしたかったが、遅かった

  2. NLLという借用チェッカーが使えるようになったのでだいぶコードが書きやすくなったようなので、タイミング的にちょうどよかったんじゃないかと思っています。

続きを読む

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

こんにちわ。id:cw-tomitaです。
この記事は、Chatwork Advent Calendar 2020 - Qiita の21日目の記事です。

Advent Calendarシーズンももうすぐ終わりですが、入社して初めての年のAdvent Calendarでこんな記事を書いたな〜と、ふと思い出し、

creators-note.chatwork.com

この記事を書いてから3年という、何となくキリのいい数字を迎えたので、これまでの歩みを振り返りつつ、来年やろうとしていることの紹介しつつ、あわよくば、そういうのめっちゃ興味ある!って人にChatworkのことを知ってもらうきっかけとなることを期待して、当時の記事タイトル*1をオマージュ*2して、この記事を書いていきたいと思います。

  • tl;dr
  • 2017年末からの変化
  • 2021年に向けて
    • やってきアイテム達
      • EKSの定期version upgrade運用の洗練
      • PHPアプリケーションのKubernetes移行の完了
      • IaC(Infrastructure as Code)の強化
      • HBaseのリプレイス検討・推進
  • 2021年末の状態
  • まとめ

tl;dr

  • Chatwork自体も、そのインフラも、この3年でめちゃくちゃ色々と変化・進化しました
  • 2021年は、アーキテクチャ刷新プロジェクトは動きつつも、まだ、そっちの不確定要素が色々とあるので、既存システムに対しての改善・運用のアクションも止めずにやっていく必要がある
  • 専門性を高めてこれからのChatworkの更なるスケールを支える次世代アーキテクチャを構築したいエンジニアも、雑食で色々と触りながら、少数精鋭でスピーディーに今の本番環境を改善していきたいエンジニアも絶賛募集中!

*1:元記事のタイトルの"1年後" っていうのはちょっとアグレッシブすぎて、だいぶミスった感ありますが、そこはご容赦を💧

*2:去年くらいに会社名もプロダクト名も"Chatwork"に記載が統一されたので、そこは広報の人に怒られないように変えています

続きを読む

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

こんにちは。ウスターソースの便利さに目覚めた新沼 ( @cw-niinuma ) です。

この記事は Chatwork Advent Calendar 2020 の 18日目の記事です。 2018年に入社して以来ずっと鹿児島からリモートワークを続けているわけなのですが、そんな私の一日を少しだけ書いてみようと思いました。

f:id:cw-niinuma:20201217124100j:plain

今年はコロナ禍で世の中の働き方ががらっと変わった一年でしたが、私自身は何も変わらない生活を送っています。 それは弊社の在宅勤務しやすい体制が、非常に整っているからであると言えると思います。

続きを読む

どこからアクセシビリティ対応をすすめるか

こんにちは!モバイルアプリケーション開発部の Android エンジニア、いけちょ(@ikeda_shogouki)こと池田です。

最近、SLA の 3D プリンターを購入し、夜な夜なパーツを出力して遊んでいます。3D プリンター最高~!

さて、これは Chatwork Advent Calendar 2020 17 日目の記事です。

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

先日、Chatwork でどのようにアクセシビリティ改善を進めているかご紹介しました。

creators-note.chatwork.com

この記事を読んで、「よし!アクセシビリティ対応やってくぞい!」と思ったものの、どこからアクセシビリティ対応を進めたらよいか分からないという方もいるかもしれません。

そんなときは、Google が公式に公開している Accessibility Scanner というアプリで、アクセシビリティ対応が必要なところを洗い出すことができます。

続きを読む

データ構造と代数構造への招待

みなさま、お疲れ様です!エンジニア採用広報の高瀬 (@Guvalif) です。

この記事は、Chatwork Advent Calendar 2020 における、16 日目の記事です。

Chatwork にはたくさんの部活動があるのですが、その中に「数学部」という部活があります。

この記事は、数学部の活動として定期的に実施していた社内圏論勉強会からスピンオフして、 「さまざまなデータ構造の背景にある、数学的な構造」を、わかりやすーく (≒ No ほむほむ*1に) 紹介してみるものです。

  • I. 参考文献のご紹介
  • II. データのまとまりとはなんだろう?
  • III. 適切なモデルを考える
  • IV. 2 つの列は同じもの?
  • V. 連結操作に代数構造を加える
  • VI. 代数構造を変えれば、データ構造も変わる
  • VII. まとめ
続きを読む

サマーインターンシップで運用についてお話ししたお話し

こんにちは。開発本部の田中です。 最近人生で初めてゴーゴーカレーを食べました。

この記事はChatwork Advent Calendar 2020の14日目の記事です。

今回は、サマーインターンシップにて「運用について」というタイトルで発表したので、そちらについてまとめておこうと思います。

続きを読む

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

みなさま、お疲れ様です!エンジニア採用広報の高瀬 (@Guvalif) です。

この記事は、PHP Conference Japan 2020 Re:born のイベントレポート兼、 Chatwork Advent Calendar 2020 における 12 日目の記事です。

弊社からは SRE 部の尾崎 (@k_kinzal) が登壇を行いましたので、 当日の発表まとめと Q & A を掲載いたします。

続きを読む