ChatWork Creator's Note

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

SRE部が発足しました

SRE

こんにちは。インフラマネジメント部 改め、SRE部のid:cw-tomita です。1月の組織変更で部署名の変更が行われました。せっかくの機会ですのでCreator's Noteで紹介したいと思います。

チャットワークのID生成器

18桁になったメッセージID 2017年5月28日をもってチャットワークのメッセージIDは10桁から18桁になりました。みなさんお気づきでしたか? これはメッセージリンクを取得してみることで確認できます。 それまでは32bitでかつ連番のIDでした。今は6…

Scala採用を決めて3年半たった、CTOの振り返り。アーキテクチャ刷新を成し遂げるために必要なこと

メリークリスマス!ChatWork Advent Calendarもついにラストとなりました。 本日の記事はChatWork CTOの山本が担当です。 ChatWorkでは約3年半前に、PHPの独自フレームワークでつくられた大規模システムを、Scalaを使ってゼロベースでつくりなおすという決断…

ChatWorkの開発組織運営

メリークリスマス!開発本部の id:cw-kasuga です。 この記事は adventar.org の 24 日目の記事になります。 明日はCTO山本の記事が掲載予定です。 現在、私は開発部門全体を統括するマネジメント専門おじさんです。 組織全体を束ねるようになって、大体2年…

社内で「Webアクセシビリティ」を伝えるためにやったこと

こんにちは、守谷(@emim)です。この記事はChatWork Advent Calendar 2017 - AdventarとWeb Accessibility Advent Calendar 2017 - Adventarの23日目、掛け持ち記事です。 はじめに(まえおき) ChatWorkでは今年の4月に、アクセシビリティ方針というのを発…

WebRTC開発ツールの紹介

こんにちは。@kyo_agoです。 今日はWebRTC開発に便利なツールを紹介したいと思います。

2017年暮れ、今年終了のもの10傑(マーケ施策)

はじめに こんにちは、マーケティング担当の id:cw-hatsumi です。エンジニア/デザイナー以外で初となるエントリーです。 ChatWork Advent Calendar 2017 21日目。2017年の終わりに、2017年に終了が発表されたもの、終わったものをいくつか選んでみましたの…

Google Apps ScriptでChatWorkのWebhook署名を検証する方法

こんにちは。@kyo_agoです。 最近ChatWorkのWebhookがGoogle Apps Script (以下GAS)でリクエストの検証できるようになったので紹介したいと思います。

カラーユニバーサルデザイン(CUD)を意識してUIを改善した話

こんにちは!ChatWork Advent Calendar 2017の20日目担当、デザイン部の@cw-marikoです。 好きなものは猫とバイクです。 私は昨年の入社以来、Webサイトのデザインを主におこなっていましたが、2ヶ月ほど前よりUIデザインを担当するようになりました。 今回…

チャットワークのWebhookを使ってチャットボットを作ってみた

千葉です。ChatWork Advent Calendar 2017の19日目の担当です。 2017年10月についにチャットワークのWebhookがリリースされましたね! ということで、Webhookを利用してボットを作った話をしようと思います。

SCSSと対象コンポーネントを同じディレクトリに置いたらよかった話

こんにちは、id:cw-nishiguchi です。 最近、SCSSファイルを、該当のUIコンポーネントファイルと同じディレクトリに置いたらよかったので共有したいと思います。 このエントリーは @kyo_ago の「UnitTestと対象コードを同じディレクトリに置いたらよかった話…

多変数の場合のベイズの定理

数学部 チャットワークの部活の1つに数学部があります。毎週1日朝各自で数学の本を読み進めることが活動内容です。最近ではCoding the Matrixという本で線形代数を学んでいます。 今日は線形代数ではないですが、確率論の基礎をなすベイズの定理について書…

1年後のチャットワークのインフラの話

こんにちは。インフラマネジメント部の id:cw-tomita です。 今年のAWSのre:Invent凄かったですね!!たくさんの驚きの発表があって、最近の技術イベントの中では際立って刺激的な内容だったと思いました。 興奮冷めやらぬ中、今回、発表された機能たちを反…

PHPUnitと触れ合って得られた恩恵

はじめに こんにちは、プラットフォーム開発部の@cw-hirataです。現在は新規登録画面やChatWork API管理画面といったあたりのサーバサイドのPHPプログラムを開発しています。 今日はChatWork Advent Calendar 2017の16日目のエントリーとして、私がChatWork…

チャットワークのOAuth2のクライアントをPHPで簡単に実装するためのライブラリを紹介

安達です、PHPでチャットワークのサーバーサイドの開発をしています。 ChatWork Advent Calendar 2017の15日目のエントリーは、チャットワークのOAuth2のクライアント開発をPHPで実装する方法を紹介したいと思います。

Akka Typed 触ってみた感想

これは ChatWork Advent Calendar 2017 - Adventar の、14日目の記事です。 13日目は id:cw-nishiguchi による チャットワークのクラス設計を見直した話 - ChatWork Creator's Note でした。 こんにちは。プロダクト開発部の@hayasshi_です。 Scala のプロダ…

チャットワークのクラス設計を見直した話

こんにちは、フロントエンド開発をしている id:cw-nishiguchi です。 ChatWork Advent Calendar 2017の13日目のエントリーは、チャットワークのクラスをリファクタリングした話をしたいと思います。 クラスといっても、HTMLの各要素につけるclass属性のこと…

インフラチームで導入しているflowの話

この記事はChatWork Advent Calendar 2017 - Adventarの、12日目の記事です。 こんにちは。インフラマネジメント部の @cw-ozaki です。 弊社のフロントエンドではTypeScriptを導入していたり、一部のサービスでScala.jsを導入しようとしていますが、インフラ…

ノンデザイナーズでも少しの気配りで格好つく整え方

こんにちは、守谷(@emim)です。 この記事はChatWork Advent Calendar 2017 - Adventarの、11件目の記事です。お楽しみいただいていますでしょうか。(初めて知ったー!という方は、ChatWorkの他のデザイナー・エンジニアの記事も面白いので、是非ご覧くだ…

ドメインモデルの根拠とドメインモデル貧血症の対策について

ChatWork Advent Calendar 2017の10日目の記事です。 こんにちは。かとじゅん(@j5ik2o) です。 何を書こうかと悩んだのですが、社内で意見を聞いたところ、やはりDDD関連がよいとなりました。 Scalaコードでわかった気になるDDD この記事も、もう四年前です…

東京オフィス自慢の「椅子」紹介

デザイン部のハヤマです。ChatWork Advent Calendar 2017の9日目の記事です。 11月に新しくなった東京オフィスは、「働き方をアップデートできるオフィス」をコンセプトに細部までこだわって作られています。中でも共有スペースに配置しているデザイナーズ家…

ChatWorkのOAuthをGoogle Apps Scriptで使う

こんにちは。@kyo_agoです。 ChatWorkのOAuthが公開されました。 ここではChatWorkのOAuthをGoogle Apps Script(以降、GAS)から使う方法を紹介したいと思います。

ChatWorkのPHPユニットテストについて

プロダクト開発部の田中(@cw-tanaka)です。 現在PHPerとして生きています。 このエントリーはChatWork Advent Calendar 8日目の記事です。 昨日は@cw-himuraのREST APIを実行して学ぶRustでした。 今日はPHPの話をします。

REST APIを実行して学ぶRust

REST APIを実行するだけのRustのコードからRustを学んでみよう

ChatWorkの過去アドベントカレンダーまとめ

こんにちは。10月に入社したあらいです。よろしくお願いします。 この記事はChatWork Advent Calendar 2017の6日目です。 さて、予告なく始まったChatWorkアドベントカレンダー2017ですが、実は2年ぶりのカレンダーです! お楽しみ頂けているでしょうか? こ…

PHPでJSを書く話

ChatWork Advent Calendar 2017の5日目の記事です。 こんにちは。インフラマネジメント部の @cw-ozakii です。 先日のphpcon 2017にてbabel-preset-phpのLTをさせていただきました。 PHPでJavaScriptを書く話 #phpconf2017 from K Kinzal このときはLTの枠…

インクルーシブデザインとは

こんにちは!@cw-takeです。 今年参加したイベントで「インクルーシブデザイン」という言葉をよく耳にしました。話を聞いていると、アクセシビリティに関連した言葉のようですが、いまひとつ内容が理解できずにいました。 今回はWebの記事を参考に、インクル…

チャットワーク と Kotlin

こんにちは。 @ryugoo_ です。 Android エンジニアをしています。今回は弊社 Android アプリ開発における Kotlin への取り組みについてお話しさせていただきます。

ScalaJS in 2017

こんにちは。@kyo_agoです。 2015年ごろに盛り上がっていたScalaJSですが、最近あまり話を聞かないのでまとめてみようと思います。

ペーパープロトタイプの画面作成に「Linea」を選んだ理由

こんにちは。ChatWork Advent Calendar 2017のトップバッター、@cw-takeです。 今回は僕がデザイン作業の中でペーパープロトタイプを必要とした背景と、プロトタイプをつくるにあたって検討したツールの紹介をしたいと思います。