ブックマーク / tech.stmn.co.jp (14)

  • SentryでRailアプリケーションのエラー監視を始めました - stmn tech blog

    はじめに 初期設定 詳細設定 Slack連携とアラートの整備 CircleCIとの連携によるRelease Managementの活用 運用 今後について まとめ はじめに プラットフォーム部 SREチームのショウゴ(@shogo_452)です。 最近、TUNAGの新たなエラー監視ツールとして「Sentry」を導入しました。 記事では、Railsアプリケーションに対するSentryの導入事例について紹介します。 初期設定 まずは、sentry-rubysentry-railsというGemをインストールします。 Sidekiqを使用している場合は、sentry-sidekiq も必要です。 gem 'sentry-ruby' gem 'sentry-rails' gem 'sentry-sidekiq' docs.sentry.io docs.sentry.io 次に設定ファイルです。

    SentryでRailアプリケーションのエラー監視を始めました - stmn tech blog
    yug1224
    yug1224 2024/02/23
  • TUNAG の Rails バージョンが 7.0 になりました - stmn tech blog

    プラットフォーム部 DevEx チームの河井です。 8月に弊社サービス TUNAG(ツナグ)で使っている Ruby on Rails のバージョンを 6.1 から 7.0 に上げたので共有します。 やったこと 一般的なバージョンアップのフローについては多くの記事がありますので、ここでは影響が大きかった仕様変更の対応方法について紹介します。 フォーマット指定なしの to_s to_s にフォーマットを渡すことが非推奨化されました。 この変更により、引数なしの to_s の挙動が変わってしまう問題がありました。 そこで、影響を受けるクラスについて to_s をオーバーライドし、フォーマットがこれまでと変わらないようにしつつ、警告を出すことで後から直すべき箇所を見つけやすくしました。 class ActiveSupport::TimeWithZone alias original_to_s to

    TUNAG の Rails バージョンが 7.0 になりました - stmn tech blog
    yug1224
    yug1224 2023/09/28
  • ドメイン駆動設計は何を解決する手法なのか - stmn tech blog

    こんにちは、リファクタリング大好きなミノ駆動です。 株式会社スタメンでは、企業エンゲージメント構築サービスTUNAG(ツナグ)の技術的負債解消と今後の持続的成長のため、ドメイン駆動設計(DDD)の導入を検討しています。 ところでDDDはとかく理解しづらく、何のためのDDDなんだという議論になりがちです。この記事では、DDDの真の主人公コアドメインを中心に、DDDが何を解決するものなのか、全体像を改めて整理します。 この記事で扱う内容 DDDが解決したい課題と解決方法の全体像。 この記事では扱わない内容 設計パターンの実例などの実装詳細。 大事な前提 〜利益を得るためのサービス開発 会社でのサービス開発は、趣味や道楽でやるものでしょうか。違いますね。ビジネスとして、企業活動としてサービス開発しています。当たり前の話ですが、利益を得られるように開発しなければなりません。 ドメイン駆動設計は、継

    ドメイン駆動設計は何を解決する手法なのか - stmn tech blog
    yug1224
    yug1224 2023/09/27
  • TUNAGの新フロントエンドを支える技術と設計 - stmn tech blog

    株式会社スタメンでフロントエンドエンジニアをしている神尾です。普段は、エンゲージメントプラットフォーム「TUNAG」の開発をしています。 TUNAGでは、2023年1月からWebフロントエンドのリプレイスプロジェクトが始まり、今もプロジェクトが進行中です。現在のWebフロントエンドでは技術選定の選択肢が多く、選定にあたっての検討事項がとても多いと思います。 この記事では、リプレイスの際に採用した技術の選定理由や設計についてまとめたので、この記事を通して、読んでくださった方のお役に立てれば嬉しいです。 また、リプレイスの背景やインフラについては別記事になっているので、そちらもご覧ください。 tech.stmn.co.jp 技術構成 / 選定理由 React / Next.js / TypeScript React Next.js TypeScript SWR aspida msw story

    TUNAGの新フロントエンドを支える技術と設計 - stmn tech blog
    yug1224
    yug1224 2023/08/18
  • TUNAGのフロントエンドを段階的にリプレイスしている背景とインフラ構成 - stmn tech blog

    こんにちは、スタメンの手嶋、西川です。 普段はエンゲージメントプラットフォーム「TUNAG」の開発をしています。 プロジェクトの背景 技術構成・選定 リプレイス前 リプレイス後 構成変更における注意点 1. 意図せず情報がキャッシュされてしまうリスク 2. ダウンタイム発生のリスク リプレイスのフロー 振り返り 最後に プロジェクトの背景 これまでTUNAGは、プロダクトの成長に注力してきた一方で、内部品質や開発効率などに関する課題の解消が後手にまわっていました。 TUNAGが成長軌道に乗ってきた中で、エンジニア組織を拡大させつつ、継続的にプロダクトの価値を素早く世の中に届けていくためには、開発者体験(以下、DevEx)に関する改善が不可欠だと考えています。 これまでTUNAGのフロントエンドは、Ruby on Rails(以下、Rails)にReactを乗せる形で開発を行ってきましたが、

    TUNAGのフロントエンドを段階的にリプレイスしている背景とインフラ構成 - stmn tech blog
    yug1224
    yug1224 2023/08/18
  • 和田卓人(t_wada)さんをお呼びして「質とスピード」の社内講演をしていただきました! - stmn tech blog

    こんにちは、スタメンCTOの松谷(@uuushiro) です。 7/25に、 和田卓人さん (以下、t_wadaさん)をお呼びし、「質とスピード」の社内講演会を開催しました! t_wadaさんにご依頼したきっかけ スタメンが提供する「エンゲージメントプラットフォーム TUNAG(ツナグ)」はスタメンの創業事業で、サービス提供から約7年が過ぎました。この約7年間、プロダクト成長に注力してきた中で、内部品質や開発効率などに関する課題が後手に回っていました。 TUNAGが成長軌道に乗ってきた今、今後もエンジニア組織をスケールさせながら、継続的にプロダクトの価値を素早く世の中に届けていくために、開発者体験(DevEx)に関する明確な戦略が不可欠だと考えており、この課題に集中して取り組むために、今年の4月からCTO室にDevEx(Developer eXperience)チームを立ち上げ、2023

    和田卓人(t_wada)さんをお呼びして「質とスピード」の社内講演をしていただきました! - stmn tech blog
    yug1224
    yug1224 2023/07/27
  • スタメンの技術的負債解消戦略 - stmn tech blog

    1. これはなに こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 この記事は、今後スタメンにおいてサービスの技術的負債を解消する設計戦略についてまとめたものです。 2. 背景、課題 株式会社スタメンは2016年創業。主要サービスであるTUNAG(ツナグ)は、企業のエンゲージメントの構築、つまりお互いを知って理解し、信頼し合う組織を作るための社内コミュニケーションを活性化させるプロダクトです。TUNAGのバックエンドはRuby on Railsで開発され、ローンチから7年をむかえつつあります。 これまでTUNAGは、プロダクトをいかに伸ばすかに注力してきた一方、内部品質や開発効率など「開発者体験」に関する課題が後手に回っていました。来プロダクトチームはユーザーにとっての質的な価値にのみフォーカスできる状況が理想ですし、開発者体験が

    スタメンの技術的負債解消戦略 - stmn tech blog
    yug1224
    yug1224 2023/07/18
  • なぜ雑談が重要か - stmn tech blog

    これはなに? こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 コミュニケーションには会議体やテキストベースなど様々な手段があります。 その中で雑談がなぜ重要であるかについて、私の考えを記したものです。 大事な前提 〜目的と手段の関係〜 人々の活動には目的があります。そして目的を満たすための手段を追い求めています(ここでいう手段とはシステムであったり情報であったり、「目的の役に立つもの」と考えてください)。 目的と手段の関係性を次の図で表現します。目的と手段それぞれの円の重なりが大きいほど、目的に対して相応しい手段である、ということをここでは表します。 この図を使った例を出します。 今の時期、だんだん暑くなってきましたね。「暑さを解消したい」という目的に対して、「扇風機を点ける」「エアコンを点ける」「かき氷をべる」「南極に送り込む」

    なぜ雑談が重要か - stmn tech blog
    yug1224
    yug1224 2023/07/15
  • 漏洩チェッカーの技術と開発体制のすべて - stmn tech blog

    スタメンエンジニアの井です。 漏洩チェッカーのWebアプリケーションをフルスタックに領域問わず開発しています。得意な領域はインフラ含むバックエンドです。 記事では、先月2022年12月にリリースしたサービス、漏洩チェッカーについて、プロダクトと開発体制の紹介をします。 漏洩チェッカーについて 技術について 技術スタック アーキテクチャ 組織について 組織体制 開発体制 まとめ 漏洩チェッカーについて 漏洩チェッカーは情報漏洩を未然に防ぐセキュリティ管理サービスです。 企業にとってセキュリティ事故の影響は甚大であり、近年、情報の漏洩事故の件数は年々、増加の傾向にあります。 情報資産に関するセキュリティ事故には、外部からのサイバー攻撃のほか、従業員などにより会社の内部で引き起こされる、不正行為や悪意のない不注意などによる情報漏洩があります。 漏洩チェッカーは後者、内部で引き起こされる情報漏

    漏洩チェッカーの技術と開発体制のすべて - stmn tech blog
    yug1224
    yug1224 2023/01/21
  • スケルトンスクリーンを小さく導入してみた - stmn tech blog

    目次 はじめに スケルトンスクリーンとは react-content-loaderによる実装 プリセットを使用する方法 Create React Content Loaderで独自のスケルトンスクリーンを作成し使用する方法 おわりに はじめに はじめまして、株式会社スタメンの神尾です。 普段はスクラムマスター兼エンジニアとして弊社が運営しているエンゲージメントプラットフォームTUNAGを開発しています。 2022年10月末にTUNAG内のチャットに『タスク管理』機能を追加リリースし、タスク一覧のローディングUIとしてTUNAGで初めてスケルトンスクリーンを導入しました。 そこで今回はスケルトンスクリーンがUXにもたらすメリットや実装方法などを紹介したいと思います。 スケルトンスクリーンとは スケルトンスクリーンとは、下の画像のようにローディング中に表示される骨組みのようなデザインのことです

    スケルトンスクリーンを小さく導入してみた - stmn tech blog
    yug1224
    yug1224 2022/12/23
  • インペディメントリスト 〜スクラムチームの一番重要な問題を改善し続ける方法〜 - stmn tech blog

    目次 はじめに インペディメントリストとは 運用方法 インペディメントリストの効果 運用する上で課題となったこと インペディメントリストをもっと活かすために今後やりたいこと さいごに はじめに はじめまして、株式会社スタメン TUNAG事業部 プロダクト開発部 西川、神尾、小松、村中です。 スタメンでは2022年の2月からスクラムを導入しており、私たちはスクラムチームの「チームおでん🍢」として、1週間のスプリントで開発しています。 先日、私たちは、社内で開かれたベスプラ会という業務における改善策を共有するイベントで登壇をしました。発表内容は「チームの一番重要な問題を改善し続ける方法」です。 私たちは4ヶ月ほど前からチームの継続的な課題解決のためにインペディメントリストを導入し運用をしていますが、今ではうまく活用できているものの、導入当初は多くの問題がありました。 そこで今回は導入から現在

    インペディメントリスト 〜スクラムチームの一番重要な問題を改善し続ける方法〜 - stmn tech blog
    yug1224
    yug1224 2022/12/14
  • フル JetpackCompose 製のアプリ『TUNAG 受付』をリリースしました - stmn tech blog

    こんにちは! スタメン TUNAG 事業部 モバイルアプリグループのカーキです。 最近では主として Android アプリの開発に携わっています。 株式会社スタメンでは7月の初めに『TUNAG 受付』という、TUNAGのチャット機能を利用したオフィスの受付アプリをリリースしました(Androidのみ対応) (ストアリンク) 『TUNAG 受付』はUIの部分を全て Jetpack Compose で記述しており、アプリ全体の構成もJetpack Composeに合わせたものになっています。 (過去のJetpack Compose導入の経緯などはこちらのブログをご参照ください) 今回は『TUNAG 受付』のアーキテクチャ及び、その構成について紹介します。 TUNAG 受付について まず初めに『TUNAG 受付』がどのようなサービスかについて紹介します。 「TUNAG 受付」では、主に以下の2つ

    フル JetpackCompose 製のアプリ『TUNAG 受付』をリリースしました - stmn tech blog
    yug1224
    yug1224 2022/08/24
  • 共通UIコンポーネントで速くクオリティの高いプロダクトを開発をしたい。 - stmn tech blog

    目次 はじめに 共通UIコンポーネントとは 共通UIコンポーネントを作り、運用することのメリット デザインの一貫性やクオリティが保たれる 開発コスト&デザインコストを削減できる 実装時に考慮すると良いこと スタイルを適切なpropsで操作可能か コンポーネントのトップの要素にmarginをつけない 親や子の要素をお互いが知っている前提の実装をしない おわりに はじめに はじめまして、株式会社スタメンの神尾です。 普段はフロントエンドReact、バックエンドにRuby on Railsを用いて、弊社が運営しているエンゲージメントプラットフォームTUNAGの開発をしています。 TUNAGには多種多様な機能がありますが、普段のReactを用いたフロントエンド開発において、それら特定の機能に紐づかず共通で使用できるコンポーネントを実装したい時が多々あります。 今回は、そのようなReactコンポー

    共通UIコンポーネントで速くクオリティの高いプロダクトを開発をしたい。 - stmn tech blog
    yug1224
    yug1224 2022/08/16
  • Jetpack Compose のプレビューを利用して Android View で作成したコンポーネントの開発を加速させる - stmn tech blog

    こんにちは、TUNAG事業部のカーキ (@khaki_ngy)です。 普段は TUNAG の iOS/Android などのモバイルアプリの開発を行なっています。 今回は TUNAG の Android アプリ開発における Android View の開発での Jetpack Compose を使ったレイアウトプレビューの活用について、Jetpack Composeの導入理由と併せて紹介していきます。 Jetpack Compose の導入 TUNAG の Android アプリでは Jetpack Compose の安定版がリリースされた2021年末から Jetpack Compose の導入を開始し、新規の View に関しては極力 Jetpack Compose を利用して UI の構築を行なっていました。 当時の背景としては、下記の3点を狙いとしていました。 よりスピーディーな新機

    Jetpack Compose のプレビューを利用して Android View で作成したコンポーネントの開発を加速させる - stmn tech blog
    yug1224
    yug1224 2022/06/30
  • 1