Chatwork Creator's Note

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

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

読者になる

「読みやすいコードのガイドライン」の著者・石川宗寿さんをお招きして、コードの読みやすさについての勉強会を開催しました

モバイルアプリケーション開発部の奥澤(@okuzawats)です。プライベートな活動として夜な夜なモバイルアプリを作り続けているのですが、ひたすらCI/CDの整備をし続けていて、肝心のアプリ開発が全然進みません。アプリの開発は誰かに任せて、CI/CDの整備に専念したいと思う今日この頃です。

Chatworkでは、「読みやすいコードのガイドライン ―持続可能なソフトウェア開発のために」の著者、石川宗寿さんを招き、「コードの読みやすさ」に関する勉強会を開催しました。モバイルアプリケーション開発部のメンバーを中心に、「どうしたら可読性の高いコードを書くことができるのか?」をテーマとして、全体で8時間をかけた勉強会となりました。

本記事では、勉強会を開催した背景や、勉強会で学んだ内容を踏まえて、社内でどのような取り組みをしていくのかを紹介します。

続きを読む

PHPカンファレンス2023でブース出展しました!

こんにちは、ChatworkのPHPエンジニアの渋谷悠司です。

この記事は Chatwork Product Day 2023 応援記事です!

lp.chatwork.com

PHPカンファレンス2023にゴールドスポンサーとしてブース出展します! - Chatwork Creator's Note

で告知しておりましたが、先日PHPカンファレンス2023にブースを出展してきました!

続きを読む

Four Keysと開発生産性について取り組んできたこと

こんにちは、エンジニアリングマネージャーの(@shibe23)です。
この記事は Chatwork Product Day 2023 の応援記事です。

「開発生産性」という単語が取り沙汰されるようになってしばらく経過します。
いまではDORAのFour Keysをきっかけとして、これらの「生産性」に向き合う機会が増えたと実感しています。

Chatworkでもこれらの取り組みを進めているのですが、今回は私が開発生産性に興味を持ったきっかけから、現在までどのような取り組みを行なってきたのかをお話したいと思います。

一例として、フロントエンド開発部での導入事例をご紹介します。

続きを読む

WebFrontendのモニタリングツールとSourceMap

こんにちは、フロントエンド開発部のcw-suetake 🐧です。この記事はChatwork Product Day 2023の応援記事です。

lp.chatwork.com

今回はSourceMapとモニタリングツールの話をしていきます。

SourceMapとは

早速ですがSourceMapについて軽く中身をご紹介します。

JavaScript周辺のビルドツールでは多くの最適化・圧縮等が行われ、最終的な生成物のみではデバッグの難易度が高いという問題がありました。この問題に対応するために生成物と元のコードを相互にマッピングし、生成物を実行しつつ元コードを見ながらデバッグができるという仕組みのために主にビルドツールが作成するファイルです。Source Map Revision 3 Proposal にて仕様が提案されtc39/source-map-spec にて整理されています。

SourceMapファイルの基本構造は以下のプロパティーを持ったJsonです。

{
  "version" : 3,
  "file": "out.js",
  "sourceRoot": "",
  "sources": ["foo.js", "bar.js"],
  "sourcesContent": [null, null],
  "names": ["src", "maps", "are", "fun"],
  "mappings": "A,AAAB;;ABCDE;"
}

この構造の中で生成物のn行m文字目が元ファイルのn'行m'文字目に該当するという情報が記録されています。さらに仕様ではこのほか幾つかの情報が付与されることも想定されています。

WebpackやVite等のビルドツールやWebフレームワークによっては標準でSourceMapファイルが生成されるため開発時に存在や生成内容を特段意識する必要はないかもしれません。

続きを読む

apollo-ios が提供するキャッシュの基本機能

初めまして!2023年7月よりChatworkでモバイルアプリケーション開発部でiOSアプリ開発をしているterryです。

本記事はChatwork Product Day 2023の応援記事です。

lp.chatwork.com

現在ChatworkではREST APIからGraphQLへのリプレイスを進めています。各プラットフォーム毎に実装方針を策定しており、iOSアプリプラットフォームチームではGraphQLのクライアントライブラリの選定において現状最も利用されている「apollo-ios」を使うことにしました。

github.com

apollo-iosには強力なキャッシュ機能があり、 ChatworkのiOSアプリでは既存のキャッシュ機構(Realm)との置き換えが可能かどうか調査しましたので、今回はその基本機能を紹介したいと思います。

続きを読む

Azure AI Document Intelligence で名刺読み取り機能を実装する

この記事は Chatwork Product Day 2023 応援記事です!

lp.chatwork.com

はじめまして。プロダクト開発部の @daido1976 です。

先日「Chatwork」の iOS アプリで名刺読み取り機能をリリースしたので、その機能と実装方法について紹介させていただきます。

続きを読む