タグ

ブックマーク / creators-note.chatwork.com (6)

  • iOSアプリの大きな技術的負債に立ち向かう - Chatwork Creator's Note

    こんにちは、Chatwork モバイルアプリケーション開発部マネージャーの福井(@tinpay)です。最近は宮崎辛麺にハマっていて、卵とじ & ネギニラトッピング以外の美味しいべ方絶賛募集中です。 さて、みなさんが作られているプロダクトには技術的負債ありますか? Chatwork iOSアプリは2016年春にフルネイティブ(2016年時点ではフルObjective-C)に刷新して、そこから6年が経過しました。その期間の中で様々な理由によって負債がどんどん積み上がっているのですが、チーム一丸となって負債の返済に絶賛取り組み中で、ようやくSwift化などでも成果が出てきています。 ただ、返済にはまだまだパワーが足りてないのが現状なので、仲間を募集する上でも、今回は赤裸々にどんな負債があるのかについて紹介してみようと思います。 技術的負債とは? iOSアプリの技術的負債と向き合い方 1. Ob

    iOSアプリの大きな技術的負債に立ち向かう - Chatwork Creator's Note
  • アジャイル開発におけるスケジュールを継続的に見直す - Chatwork Creator's Note

    こんにちは。都志(@louvre2489)です。 これは Chatwork Advent Calendar 15日目のエントリです。 Chatworkではアジャイルを前提に開発を行っています。プロジェクト特性やチームのルールに依って多少特色はありますが、ほぼ全ての開発がアジャイルに行われているのではないでしょうか(詳細は未確認)。 アジャイル開発に慣れてくるとどういう風に開発を進めれば良いかも共通知ができてくるのですが、アジャイル開発を導入し始める時によくわからなくなるポイントの1つとして『スケジュールをどのように可視化するか?』という課題があると思います。 この課題に対して、私の所属しているチームで行っているスケジュール作成の方法を紹介させていただきたいと思います。 アジャイル開発のスケジュールを立てよう 実はこの内容、以前に藤井 (@yoshiyoshifujii) が書いてくれていま

    アジャイル開発におけるスケジュールを継続的に見直す - Chatwork Creator's Note
  • Scala 3に備える社内勉強会の取り組みについて - Chatwork Creator's Note

    みなさん、こんにちは!Chatworkの原田 (@shinharad) です。 今回は、最近弊社で取り組んでいる Scala 3 の社内勉強会について、このような流れでご紹介したいと思います。 最初に Scala 3 の今の状況をざっと確認 Chatworkでは Scala 3 の社内勉強会を継続的に開催している 勉強会で使っている資料、情報源のご紹介 勉強会でやったことをいくつかご紹介 Scala 3 の状況 まずは、Scala 3 の今の状況について軽く確認しておきましょう。 待ちに待った Scala 3 は、この記事を執筆している時点での最新版が Scala 3.0.0-RC3 で、大きな問題がなければこの5月中にも安定版がリリースされる予定です。 Scala 3 は、Scala 2 で不便だった機能や、煩雑で分かりづらかった機能が大幅に見直されました。 具体的には、代数的データ型(

    Scala 3に備える社内勉強会の取り組みについて - Chatwork Creator's Note
  • Rustでのモデル駆動設計について - Chatwork Creator's Note

    こんにちはかとじゅんです。 この記事は、ドメイン駆動設計 Advent Calendar 2020の23日目の記事です1。DDDというよりRustの記事になってしまった…。 Rustの勉強を始めたのは2017年あたりと古いのですがなかなか身が入らず、腰入れたのは今年の11月ぐらいでした(遅ッ。Scalaで実装してたライブラリをRustに書き換えたおかげでようやく開眼しました2。 というわけで、今回は完全趣味の領域であるRustでドメインモデルをどう実装すればいいのかについて、僕の意見やアイデアなど雑にまとめてみたいと思います。まぁこれについてもいろんな観点がありますが、値オブジェクトやエンティティを実装するならという観点です。 ※あ、Rustの所有権システムなどの言語仕様については細かく触れないので、各位適宜正しい情報源を参照してください。 構造体とメソッド 見慣れた(見飽きた)銀行口座

    Rustでのモデル駆動設計について - Chatwork Creator's Note
  • JWT形式を採用したChatWorkのアクセストークンについて - ChatWork Creator's Note

    JWTを使うことは難しい? こんにちは、かとじゅん(@j5ik2o)です。最近、JWTに関する以下のブログが話題です*1。 どうしてリスクアセスメントせずに JWT をセッションに使っちゃうわけ? - co3k.org このブログで言及されているのは、JWTをセッションの保存先に選ぶことで「何が問題なの?」に書かれているリスクがあるよ、という話*2。確かにいくつか検討することがありますね。 auth0.hatenablog.com auth0の中の人?よくわからないけど、反論的なブログエントリが公開されています。この記事では、指摘の問題が起こらないように設計するのはあたり前では?という意見みたいです。まぁごもっともではないでしょうか。 私も技術そのものというより、要件に合わせて技術を組み合わせる設計の問題だと思っています。加えて、JWTを利用することはそんなに難しいことかという疑問があった

    JWT形式を採用したChatWorkのアクセストークンについて - ChatWork Creator's Note
  • ドメインモデルの根拠とドメインモデル貧血症の対策について - Chatwork Creator's Note

    ChatWork Advent Calendar 2017の10日目の記事です。 こんにちは。かとじゅん([Twitter:@j5ik2o]) です。 何を書こうかと悩んだのですが、社内で意見を聞いたところ、やはりDDD関連がよいとなりました。 Scalaコードでわかった気になるDDD この記事も、もう四年前ですっかり古くなりました。最近どういう観点で実践しているかまとめてみます。(DDD初級者という方は、まず上の記事を読むことをお勧めします) DDDを実践するにあたっての個人的な問題点は2つあります。ひとつは、「いきなりドメインモデルを作ることができない」という問題。もうひとつは、ドメインモデルを作り上げても実装コードに役に立つ振る舞いが思いつかず、いわゆる「ドメインモデル貧血症*1」になりやすいという問題です。このような問題は、僕がコミュニティで関わった多くのエンジニアから耳にします。

    ドメインモデルの根拠とドメインモデル貧血症の対策について - Chatwork Creator's Note
  • 1