サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
creators-note.chatwork.com
JWTを使うことは難しい? こんにちは、かとじゅん(@j5ik2o)です。最近、JWTに関する以下のブログが話題です*1。 どうしてリスクアセスメントせずに JWT をセッションに使っちゃうわけ? - co3k.org このブログで言及されているのは、JWTをセッションの保存先に選ぶことで「何が問題なの?」に書かれているリスクがあるよ、という話*2。確かにいくつか検討することがありますね。 auth0.hatenablog.com auth0の中の人?よくわからないけど、反論的なブログエントリが公開されています。この記事では、指摘の問題が起こらないように設計するのはあたり前では?という意見みたいです。まぁごもっともではないでしょうか。 私も技術そのものというより、要件に合わせて技術を組み合わせる設計の問題だと思っています。加えて、JWTを利用することはそんなに難しいことかという疑問があった
お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進しているところですmm。この記事はそういう論点で注目されている「リアクティブ原則」についてまとめてみたいと思います。 それなりのボリュームになってしまったので、時間があるときに読んでいただければと思います。 さて、Linux Foundation内の新たなトップレベルプロジェクトであるReactive Foundationが主催する、Reactive Summit 2020が11月10日にオンラインで開催されたので参加しました。 www.reactivesummit.org 参加されていたスピーカーはLightbendをはじめ、Netflix, Fac
こんにちはー。 フロントエンド開発部の火村(ひむら/id:eiel)です。前回までは id:cw-himura で記事を書いていましたが、個人アカウントに切り替わりました。 よろしくおねがいします。 以前はサーバーサイド開発部に所属していましたが、2019年6月ぐらいからフロントエンドチームにヘルプとして無期限レンタル移籍中です。 主な担当している業務は「難しいバグ対応」と「これからChatworkのウェブフロントエンドをどうするかを考える」です。 昨日は期待の新人であるレオくんの入社して3ヶ月の熱烈な想いでした。アツいです。 さて、今回のお題は「レガシーフロントエンド脱却への挑戦」と雑に上から投げられたのですが、未来のことを考える作業をしているので書きやすいネタがありません。 あってもオチがつきません。 ということで、設計に役立つかもしれない話をラフに書くことにしました。 アプリケーショ
ChatWork Advent Calendar 2017の10日目の記事です。 こんにちは。かとじゅん([Twitter:@j5ik2o]) です。 何を書こうかと悩んだのですが、社内で意見を聞いたところ、やはりDDD関連がよいとなりました。 Scalaコードでわかった気になるDDD この記事も、もう四年前ですっかり古くなりました。最近どういう観点で実践しているかまとめてみます。(DDD初級者という方は、まず上の記事を読むことをお勧めします) DDDを実践するにあたっての個人的な問題点は2つあります。ひとつは、「いきなりドメインモデルを作ることができない」という問題。もうひとつは、ドメインモデルを作り上げても実装コードに役に立つ振る舞いが思いつかず、いわゆる「ドメインモデル貧血症*1」になりやすいという問題です。このような問題は、僕がコミュニティで関わった多くのエンジニアから耳にします。
メリークリスマス!ChatWork Advent Calendarもついにラストとなりました。 本日の記事はChatWork CTOの山本が担当です。 ChatWorkでは約3年半前に、PHPの独自フレームワークでつくられた大規模システムを、Scalaを使ってゼロベースでつくりなおすという決断をしました。 当時の記事:チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。 その決断をした時に在籍していたScalaエンジニアは0人。まずブログで宣言してからスタートするという、なんとも無謀なプロジェクト進行ではあったのですが、当時の自分たちとしてはマジメも大マジメ、ここでなんとかしないとサービスが将来的に死ぬと背水の陣で挑んだプロジェクトでした。 あれから3年半。途中で大きく開発が頓挫しチームが絶望に包まれた時もありましたが、どうにかこうにか立て直しに成
こんにちは。都志(@louvre2489)です。 これは Chatwork Advent Calendar 15日目のエントリです。 Chatworkではアジャイルを前提に開発を行っています。プロジェクト特性やチームのルールに依って多少特色はありますが、ほぼ全ての開発がアジャイルに行われているのではないでしょうか(詳細は未確認)。 アジャイル開発に慣れてくるとどういう風に開発を進めれば良いかも共通知ができてくるのですが、アジャイル開発を導入し始める時によくわからなくなるポイントの1つとして『スケジュールをどのように可視化するか?』という課題があると思います。 この課題に対して、私の所属しているチームで行っているスケジュール作成の方法を紹介させていただきたいと思います。 アジャイル開発のスケジュールを立てよう 実はこの内容、以前に藤井 (@yoshiyoshifujii) が書いてくれていま
プロダクト本部で副本部長をしています、田中(@tan_yuki)です。最近はたべっ子水族館をずっと食べています。 私の主な仕事はプロダクト開発組織に関する採用・ピープルマネジメントに関するところがメインなのですが、最近、中途採用の方針を少し変更しました。その変更内容について、社外にも発信していこうと思い、ブログを書きました。 以下の文章は社内で共有した文章に少し加筆修正を加えたものになります。 ~ * ~ * ~ * ~ * ~ * ~ * ~ Chatworkで使われているプログラミング言語といえば、どういったものを想像するでしょうか? 私達はいままで、Scalaという言語を強くアピールしてきました。その功績もあり、多くのScalaエンジニアの方々を採用することに成功しています。もちろん、今後もScalaとは長く付き合っていくつもりです。 しかし、最近エンジニア採用の優先度の調整をし、P
こんにちは。クライアントアプリケーション開発部の田中です。 好きな麻雀の役は七対子です。 先日、ChatWork LiveのUIが変更されました。 詳細は下記を御覧ください。 blog-ja.chatwork.com UIについては今後デザイン部の方がブログを書くと思うので、今回私の方では技術的なところの紹介をしたいと思います。 (尚、この記事にはWebRTCやビデオ会議システムの話は全く出てきませんので、ご了承ください。) ChatWork Liveのフロントエンド技術について 実は今月のUI更新とは別に、JavaScript部分の大幅な変更を4月末に実施しています。 大まかな設計はすべて@kyo_ago氏がやってくれて、 私は敷かれたレールをただただ歩くだけだったので割と楽させてもらいました。 ChatWork LiveのWebクライアント側は主に以下の技術を使って実装されています。
こんにちは。ピープルマネージャー の 門田 ( @nottegra ) です。 皆さん書籍はお読みになってますでしょうか。 Qiita や Zenn のようなオンラインで知識を得る媒体は多数存在していますが、体系的な知識の獲得では依然書籍が主な手段として用いられていると思います。 ただ、技術書はとても値段が高く個人での購入をためらってしまいがちです。そのため、書籍購入の補助制度を運用している会社もありますが自社の制度に課題を感じている方も多いのではと感じています。 今回は Chatwork の書籍購入に関する制度アップデートについてお話したいと思います。 これまでの書籍購入制度の課題 新しい制度について説明する前に、これまでの書籍購入制度についてです。 これまでは、読みたい書籍がある場合、会社本棚にあるかどうかを判断したうえで会社の経費として購入を行っていました。 この制度設計には以下のよ
こんにちはー。突然ですが、聞いてくださいよー。 Babelのバージョンアップしたら「Chatworkのルーム切り替えが重くなった」と社内で言われてしまいました。 みんなの仕事の効率を悪くするわけにもいかないので、戻すしかありません。Babelの更新って、本当に怖いですよねー。 そんなわけで、こんにちは。フロントエンド開発部のひむら(id:eiel)です。 さて、この話自体は少し前のことなのですが、その際に原因を特定する余裕がなく、Babelの更新は後回しになっていました。 ルーム切り替え自体が歴史的経緯もあって、「とーっても」*1難易度が高くなっていて、最悪これを改善すれば更新できるだろうと期待もしてたりもしました。 ところが、うっかり再発させてしまったので、ここで気合をいれて改善することにしました。 今日はその話を記録しておきます。 要約 経緯 原因の特定 試しにIE11をターゲットから
2018/3/18 追記 TISさんのreactive system meetupで発表する機会をいただきました。ありがとうございます。発表資料をリンクしておきます。 Distributed ID generator in ChatWork from TanUkkii 18桁になったメッセージID 2017年5月28日をもってチャットワークのメッセージIDは10桁から18桁になりました。みなさんお気づきでしたか? これはメッセージリンクを取得してみることで確認できます。 それまでは32bitでかつ連番のIDでした。今は64bitになり、また単調増加性だけを保証し、連番ではなくなっています。 この記事では新メッセージIDとそれを発行するシステムについて記述します。 枯渇しそうだったメッセージID チャットワークのメッセージ数は2017年3月時点で18億を突破しました。 lp.chatwork
こんにちは! Chatwork 株式会社のプロダクトマネージャー (PM)、宮下 (@ryugoo_) です。 2013 年にモバイルアプリエンジニアとして入社し、 2014 年に Android 専任になり、 2019 年からは PM に転向してそろそろ 2 年になろうとしています。 さて、今回はエンジニアから PM になった私から見た、 Chatwork の技術選定の流れの変化について話してみようと思います。 技術選定の歴史 2013 年 - PMF を目指すために 2014 〜 2016 年 - 技術的課題を解決するために 2017 〜 2020 年 - ユーザー影響を最小化するために これから - 攻めた技術選定を、ユーザーのために 2013 年 - PMF を目指すために 2013 年当時の Chatwork は PMF (Product Market Fit) を目指すフェーズ
こんにちは、Chatwork モバイルアプリケーション開発部マネージャーの福井(@tinpay)です。最近は宮崎辛麺にハマっていて、卵とじ & ネギニラトッピング以外の美味しい食べ方絶賛募集中です。 さて、みなさんが作られているプロダクトには技術的負債ありますか? Chatwork iOSアプリは2016年春にフルネイティブ(2016年時点ではフルObjective-C)に刷新して、そこから6年が経過しました。その期間の中で様々な理由によって負債がどんどん積み上がっているのですが、チーム一丸となって負債の返済に絶賛取り組み中で、ようやくSwift化などでも成果が出てきています。 ただ、返済にはまだまだパワーが足りてないのが現状なので、仲間を募集する上でも、今回は赤裸々にどんな負債があるのかについて紹介してみようと思います。 技術的負債とは? iOSアプリの技術的負債と向き合い方 1. Ob
こんにちは、id:daiksy です。 今回はぼくがChatworkで取り組んでいるスケーリングスクラムについて書いてみようと思います。 先日開催された Chatwork DevDayでもお話したのですが、現在我々はChatworkのリアーキテクティングプロジェクトにおいて、Scrum@Scaleの導入を進めています。 www.youtube.com Scrum@Scaleとは? Scrum@Scaleは、スクラムの作成者の1人でもあるジェフ・サザーランド氏によって考案されたスクラムをスケーリングするための考えかたです。 詳細は公式のガイドが各国語版の翻訳も含めて公開されているので、そちらをご参照ください。本稿では簡単な概要だけにとどめます。 www.scrumatscale.com 以下の図 *1 に示すように、Scrum@Scaleは単一のスクラムチームをそのままスケールすることにより
こんにちは、かとじゅんです。 『Chatwork Product Day 2022』に関連してブログを書こうということで、Akkaのプラグインの改善などをテーマに記事を書こうと思ったのですが、Akkaのライセンス変更が界隈ではちょっとしたニュースになりました。「Chatworkさんはどうするの?」とよく聞かれるので、Chatwork社での今後の方針について簡単にまとめてみたいと思います。 Akkaのライセンス変更 www.lightbend.com Akka 2.7 から Apache License Version 2.0 から Business Source License (BSL) v1.1 に変わりました。BSLはMariaDBでも採用されているライセンスです。 The new license for Akka is the Business Source License (BS
こんにちは!フロントエンド開発部の石山です! フロントエンド開発部では、スケールしやすいアプリケーションを目指して日々改善を行なっています。 今回はコードの品質を高めるためにフロントエンドチームが行なっている、モブレビュー会を紹介します! モブレビュー会とは モブレビュー会を始めたきっかけ モブレビュー会の流れ なぜマージ済みのPRをレビューするのか レビューをするときに意識していること 実際のレビューコメント モブレビューをやってみてよかったこと 他フロントエンドメンバーの感想 さいごに モブレビュー会とは モブレビュー会は1つのPRをフロントエンドメンバー全員でレビューを行う場です。 ここではコードに対しての疑問点や改善点を絞り出すことに焦点を置いてレビューします。 モブレビュー会を始めたきっかけ フロントエンド開発部では、メンバー間でアーキテクチャや知識を共有する目的でモブワークを行
こんにちは。 Creator’s Noteには、初登場になるプロダクト開発部の火村(ひむら) a.k.a @eielh です。 弊社では業務効率化やBOT作成のためにGoogle Apps Scriptが使われています。 私はまったく携わっていないので、実はよく知りません。 最近までGoogle Apps Script自体も使ったことありませんでした。 社内でよく使われているものを知らないのはもったいないです。 プライベートでも使い道がたくさんありそうです。 そんなわけで勉強してみることにしました。 しかし、普通に始めるのも面白くありません。 せっかくなので、Flowを導入しながら、始めることにしました。 ということで、今回はFlowを使ってGoogle Apps Scriptのコードをチェックする方法を紹介します。 Flowとは チャットワークAPIのクライアントライブラリを利用した例
初めましてこんにちは、今年の4月から新卒でフロントエンド開発部に入社した cw-suetake 🐧です。 いきなりですが、WebRTCを利用したビデオチャットなどを開発しているとE2Eテストがほしくなってきませんか? 開発者一人で開発していると動作確認のために複数のブラウザを起動したり、PCにたくさんのwebカメラやらマイクやらを接続して…それぞれのウィンドウで各種機能が動くか確認して…とにかく動作確認ひとつにしてもやることが多くなりがちです。 そうなってくると、ある程度の動作検証はE2Eテストに任せて楽をしたくなるものです。しかしWebRTCはブラウザ側に実装されているAPIに強く依存していますし、そもそもどうやってカメラやマイクが正しく動作することを保証すればいいのでしょうか?そんな悩みに対しての自分なりの案をご紹介します。 テスト対象 音声とカメラ映像を送受信してオンラインコミュニ
こんにちは。藤井 ( @yoshiyoshifujii ) です。 時は、2019年2月から、3年が経ちました。 その頃から、 Chatworkのリライトプロジェクトをやっております。 本日は、この長期プロジェクトについて、紹介させていただきたいと思います。 ゴール Chatworkをリライトできたとは、どういった状態なのかを明確にするため、次のようなゴールを定義しています。 2025年の事業計画に合わせて、生産性を維持・向上できるプロダクトと組織が構築できている 以下、このゴールを設定した背景を紹介いたします。 背景 Chatwork事業の現状 に対して、 今後の成長イメージ を達成していくための 事業課題 があります。 その課題は、 プロダクト と 組織 にあり、それらを解決することがゴールになると考えています。 以下、1つずつ取り上げます。 Chatwork事業 2022年03月01
こんにちは。インフラマネジメント部の id:cw-tomita です。 今年のAWSのre:Invent凄かったですね!!たくさんの驚きの発表があって、最近の技術イベントの中では際立って刺激的な内容だったと思いました。 興奮冷めやらぬ中、今回、発表された機能たちを反映させていくと、1年後のチャットワークのインフラはどのようなものになるのか??少し想像してみたので、今日はその内容を共有したいと思います。 注:ここに書かれる想像は、個人のモノであり、所属する組織の正式なロードマップとは一切関係ありません。 現状 昨年末の巨大リリース(Falcon)による変化 チャットワークは昨年の末にFalconプロジェクトという大きなリリースを行いました。チャットサービスの根幹であるメッセージデータ部分の処理をごっそり作り変える大プロジェクトでした。この構成変更に関する詳細は、以下のスライドにまとまっていま
こんにちは。藤井 @yoshiyoshifujii です。 来る 2022/10/07(金) Chatwork が主催するオンラインカンファレンス『Chatwork Product Day 2022』が開催されます 🎉 lp.chatwork.com カンファレンスまで、あと10日です。ふるってご参加いただけますと幸いです。 今回、私が投稿するのは、過去に投稿いたしました以下の記事の続編となります。 creators-note.chatwork.com creators-note.chatwork.com 当記事では、プロダクトオーナーを最近、どうやってるの?ってあたりを紹介したいと思います。 戦略的ゴールと中間ゴール プロダクトバックログ(エピックレベル)の運用 エピックのライフサイクルを出来るだけ短くする プロダクトバックログ(ストーリーレベル)の運用 スプリントバックログの運用 プ
こんにちは!モバイルアプリケーション開発部の折田 (@orimomo)です🍑 私たちの部署では2023年1月にチームの再編成をおこないました。 もともと2チーム制だったところを3チーム制へと変更し、そのうち2チームでスクラムではなくカンバンを採用するという選択をしています(残り1チームはスクラムを継続)。 今回は、カンバンを採用した理由や、この4ヶ月間おこなってきた試行錯誤について書いてみようと思います。カンバンが気になっている方、スクラムからカンバンへの移行を検討している方にとって、少しでも参考になれば幸いです。 なお、以前に部署のスクラムについて紹介する記事を書いておりますので、よければそちらもご覧ください。 creators-note.chatwork.com 2023年〜のチーム構成 カンバンを採用した経緯 カンバンを始めるにあたって 実際カンバンをやってみて どうだったか? メ
こんにちは!モバイルアプリケーション開発部でスクラムマスターをしている折田 (@orimomo)です。 私たちの部署ではiOSエンジニア・Androidエンジニアが混在する2つのチームを作り、それぞれでスクラムによる開発をおこなっています。 私自身もともとはiOSエンジニアなのですが、現在は専任のスクラムマスターとして両チームに関わらせてもらっています。 最近では各々の継続的な改善が実を結び、スクラムチームとして少しずつ、しかし確実に成長ができているなと感じられるようになりました。 「スクラムが楽しくなってきた!」「いいチームになってきた気がする!」という話をメンバーから聞くことも増え(嬉しい🙌)、ここまで色々あったなぁ…長かったなぁ…と感慨深く思っています。 今回は、そんな私たちが具体的にどのようにスクラムを回しているのか、また以前と比べてどのように変化してきたのかについてご紹介ができ
こんにちは。モンハンは弓か片手剣の田中です。 弊社ChatWorkでは昨年からバグバウンティの導入をし、先月報奨金制度をスタートさせました。 ChatWork BugBounty.jp - バグバウンティ・プラットフォーム 今回は、バグバウンティ導入についてのあれこれを書いておきたいと思います。 導入に至った背景 弊社が運営している「チャットワーク」は現在導入社数が16万社を超え、おかげさまで広く使われるようになりました。 しかし、サービスが成長すると同時に、セキュリティをどう担保していくかという課題がでてきました。 Webサービスを運営している以上、セキュリティ対策はその運営会社の一つの責任であり、出来る限り脆弱性によるリスクは小さく保っていきたいです。 日々の業務、新規機能開発との両立をどうしていくか・・・その一つの回答がバグバウンティでした。 バグバウンティとは? バグバウンティとは
こんにちはかとじゅんです。 この記事は、ドメイン駆動設計 Advent Calendar 2020の23日目の記事です1。DDDというよりRustの記事になってしまった…。 Rustの勉強を始めたのは2017年あたりと古いのですがなかなか身が入らず、本腰入れたのは今年の11月ぐらいでした(遅ッ。Scalaで実装してたライブラリをRustに書き換えたおかげでようやく開眼しました2。 というわけで、今回は完全趣味の領域であるRustでドメインモデルをどう実装すればいいのかについて、僕の意見やアイデアなど雑にまとめてみたいと思います。まぁこれについてもいろんな観点がありますが、値オブジェクトやエンティティを実装するならという観点です。 ※あ、Rustの所有権システムなどの言語仕様については細かく触れないので、各位適宜正しい情報源を参照してください。 構造体とメソッド 見慣れた(見飽きた)銀行口座
こんにちは。データエンジニアのみっつと申します。 CTO室というところで次世代データ分析基盤プロジェクトというものを推進しております。 2022/09/01で入社(中途)してから1年が経ち2年目に突入しました。前職では長年アドテクノロジー分野の大規模データ処理を経験し、Chatworkへはデータエンジニア(DRE)第1号として入社しました。 最先端プロジェクトを任せていただけたからかか、1年が過ぎるのはアッという間でした😅(歳を重ねたからもありそう...) さて、10/07(金)Chatworkが主催するオンラインカンファレンス『Chatwork Product Day 2022』が実施されます。それに合わせ、弊社社員がほぼ毎日ブログを投稿していきます! lp.chatwork.com 今回はその取り組みの一環で、入社以来取り組んで来たChatworkの次世代データ分析基盤について紹介し
ごきげんよう、かとじゅんです。 某社のiMac Pro 138台導入の件はブルジョア感がハンパないですね…。それとは少し違う方向性で、Scalaのビルド効率化をテーマとして、今回は最新のパーツで自作マシン(OSはUbuntu)を組んでみました。そのマシンとMacとでコスパ比較してみたのでレポートします。 ハードウェア構成 ハードウェア構成は以下です。チップセットはIntell Z370で、CPUはCore i7 6コア(Coffee Lake)です。メモリは64GBです。費用は24万ぐらいです。今回は定格クロックである3.7GHzから5GHzにオーバークロックするので、CPUクーラーは簡易水冷を選びました。 Intel CPU Core i7-8700K 3.7GHz 12Mキャッシュ 6コア/12スレッド LGA1151 BX80684I78700K 【BOX】 出版社/メーカー: イン
こんにちは!ChatWork Advent Calendar 2017の20日目担当、デザイン部の@cw-marikoです。 好きなものは猫とバイクです。 私は昨年の入社以来、Webサイトのデザインを主におこなっていましたが、2ヶ月ほど前よりUIデザインを担当するようになりました。 今回は私がおこなったチャットワークのUI(ユーザーインターフェース)改善と、そこで意識したカラーユニバーサルデザイン(CUD)についてのお話をしたいと思います。 チャットワークとアクセシビリティ ChatWorkでは、アクセシビリティ方針を公表しており、サービスサイトおよびコーポレートサイトの対応に取り組んでいます。 (アクセシビリティ対応についてのブログ記事も分かりやすいので、あわせてご覧ください。) 上記のアクセシビリティ方針ではチャットワークのサービスやアプリケーション自体は対応範囲には含まれておりません
プロジェクトのリーダーである、cw-sakamotoがこの超重要プロジェクトを終え、軽い燃え尽き症候群になっているので、代わりにcw-tomitaが代筆しております。 マラソンガチ勢(ベストタイム3時間17分)であるcw-sakamotoによって、Carbon X(50マイルでの世界記録を出したランナーが履いていたランニングシューズの名前)と名付けられた、このHBase upgradeプロジェクト、 dogsorcaravan.com その名に恥じない、プロジェクト開始から終了まで3週間という短納期で完遂することができました。今回はこのプロジェクトに関して書きました。 tl;dr Event SourcingでCQRSなシステムの上で動いてるHBaseのversion upをblue-green形式で実施した。 計画から実行まで3週間程度で完了するというスピード感で、大きな事故もなく凄く上
次のページ
このページを最初にブックマークしてみませんか?
『Chatwork Creator's Note』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く