【Stripe】サブスクリプションの支払いタイミングが特定日時においてズレる問題について

スタメンでエンジニアをしている田中です。 今回は決済プラットフォームであるStripeのサブスクリプションを扱う際に遭遇した問題について、発生した事象とその原因、および対策方法についてご紹介します。 なお、本記事ではStripeのサブスクリプションにつ…

Microsoft Teams連携機能を実装する

目次 はじめに 「Incoming Webhook」を使用したMicrosoft Teams (以下、Teams) 側の設定 Railsアプリケーションの実装 おわりに はじめに こんにちは、スタメンでエンジニアをしているワカゾノです。 TUNAGでは、タイムラインへの投稿が作成される際に、Team…

Redux Style Guide に学ぶ

はじめに こんにちは、スタメンでエンジニアをしているミツモトです。 スタメンでは、Web アプリのクライアント側の状態管理に Redux というライブラリを採用しています。 Redux によって API のレスポンスやローカルで扱う値を自由に状態管理できますが、デ…

rbs_rails & steep で型のある Rails 開発を体験しよう

こんにちは。スタメンの河井です。 RubyKaigi Takeout 2020 が楽しみですね。 Ruby 3.0 から型定義 & 型検査ができるようになると言われていますが、今の段階でもそれに関連した gem は公開されています。 今回は型のある Rails 開発を体験してみようという…

モバイルアプリとデザインガイドライン

はじめに スタメン、プロダクト部で主にモバイルアプリ開発(Android/iOS)を行っている @sokume です。 先月に弊社のブログでプロダクト部の個人モバイルアプリたちという、記事が投稿されましたがお読みいただけましたでしょうか? プロダクト部メンバーが…

ConstraintLayout2.0で追加されるFlowを使ってタグを実装する

みなさんこんにちは! スタメン プロダクト部 モバイルアプリチームでiOSとAndroidのアプリ開発を行っているカーキです。 先月の29日に ConstraintLayout2.0-rc1がリリースされましたね! リリースノートには「安定版前の最後のリリース」とあるので、Constr…

システム思考でアラート運用に関する問題を考える

スタメンの松谷(@uuushiro)です。この記事ではアプリケーションのアラート(エラー通知)運用に関する問題を「システム思考」で構造的に捉え、どのように改善していこうとしているのか、ということを紹介します。「システム思考」についても記事内で簡単に説明…

プロダクト部の個人モバイルアプリたち

目次 概要 はじめに 各サービスの紹介 まとめ 概要 こんにちは。スタメンでエンジニアをしている梅村です。今回は、スタメンのプロダクト部のエンジニアが個人開発しているモバイルアプリについての紹介を行っていこうと思います。 はじめに スタメンのプロ…

Star Code: プロダクトチームの VISION (目指している姿) と VALUE (価値観や行動指針) を改定しました

こんにちは、スタメン VPoE(開発部門の責任者) の小林です。 2020年7月に、スタメンのプロダクトを作っているプロダクト部の全員で合宿を行い、Star Code の改定を行いました。今回は改定した Star Code とその背景をご紹介したいと思います。 なお、はじめ…

Dynamic Reducerの実装方法

はじめまして。株式会社スタメンでフロントエンドエンジニアをしている永井です。週5で筋トレをしています。 弊社のプロダクトであるTUNAGでは、フロントエンドをReact、Redux、TypeScript、サーバーサイドをRuby on Railsで実装しています。 今回の記事では…

iOSアプリ開発においてSwiftのErrorを巧く活用するには

iOS

モバイルアプリ開発に限らずソフトウェアの実装においては必ずエラーハンドリングが必要になりますよね。Swiftのエラーハンドリングでエラーとして取り回されるのが `Error` です。今回はこの `Error` について深堀りし、巧く活用することを考えてみようと思…

【Ruby on Rails】Stripeのサブスクリプションで試したことをまとめてみた

スタメンでエンジニアをしている田中です。 今回は決済プラットフォームであるStripeのサブスクリプションについて、Rubyで実際にコードを書きながら調査をしたので、そのまとめを記述していこうと思います。 目次 Stripeのサブスクリプションについて 準備 …

Utility Typesで楽に、Type Transformしよう

こんにちは。フロントエンドエンジニアの渡邉です。 普段ReactとTypeScriptを書いています。 今回はTypeScriptのUtility Typesについて紹介します。 記事のタイトルが某 大柴さんみたいになっていますが、この記事を読んだ方の力に少しでもなれたら幸いです…

Amazon Athenaでのパフォーマンスログ分析

Amazon Kinesis Firehose 概要 こんにちは。スタメンで開発者をしている津田です。今回は、Amazon Athenaを利用しアプリケーションのリクエスト処理時間をセグメント別に計測することで、パフォーマンスの低下を検知しやすくしたことについて紹介します。 動…

こんな時こそ社内ネットワークを見直そう

こんにちは、モバイルアプリグループでモバイルアプリの開発をしている @sokumeです。 実は日々の開発の傍ら、社内の情シス担当として社内のネットワーク環境の検討や改善に取り組んでいます。 今年の4月〜6月までの間、弊社も新型コロナウィルスに関しての…

Recoil触ってみた

Recoil入門 こんにちは。フロントエンドエンジニアの渡邉です。 最近フロントエンド界隈で盛り上がっているRecoilについて学びました。 本記事は自分のRecoil入門のついでに記事にしたので、初級者向けになっています。 目次 Recoilとは 使ってみる API Refe…

【Ruby/Rails】Firebase Cloud Messaging を利用してプッシュ通知を一括送信する

こんにちは。スタメンで主にバックエンドの開発を担当している河井です。 今回は Firebase Cloud Messaging(以下 FCM)を利用したプッシュ通知の一括送信について書いてみます。 背景 実は以前にも FCM を利用した通知の記事を書いていて、そこでは各デバイ…

GatsbyJS で みそかつウェブ の採用イベントサイトを作る

はじめに こんにちは。スタメン エンジニアのミツモトです。 普段は弊社のプロダクトである「TUNAG」、「TERAS」の開発を行っており、プライベートではみそかつWeb(@misokatsu_web)というグループで活動しています。 みそかつウェブの活動として、5/30(土)…

redux-sagaと仲良くなろう!

概要 はじめまして。スタメンでフロントエンドエンジニアをしている@0906kokiです。筋トレを週5でする筋肉エンジニアです。 普段はReactとTypeScriptで開発をしていますが、サーバーサイドのRailsもAPIを作成するタイミングで触ります。 弊社のプロダクトで…

リモートワークでのプロダクト部の取り組み

はじめに 20卒の新卒で入社したモバイルアプリチームのカーキです. スタメンでは昨今の新型コロナウイルスの感染状況を鑑みて4月から原則リモートで業務を行なっています. リモートでの業務ではZOOMを使用し、インターン生も含めた全17名が同じ部屋でカメ…

仕様やUIの決定は戦略的に

こんにちは、スタメンでディレクターをしている@nicka0001です! 普段は主にTUNAGの改善施策の企画、設計やプロジェクトマネジメントを行なっています。 今回は、サービスを運用していくにあたっての戦略的な機能企画について書いていきます。 戦略の必要性 …

useEffectを理解する

こんにちは。フロントエンドエンジニアの渡邉です。 スタメンで開発しているサービスの新機能は、React v16.8で追加されたhooks等を使って開発しています。 その中でも本記事ではuseEffectについて触れていこうと思います。 目次 hooksとは useEffectの第二…

AWS 認定ソリューションアーキテクト-アソシエイトに合格したので振り返ってみる

こんにちは、スタメンでバックエンドのエンジニアをしている河井です。 今年の3月に AWS 認定ソリューションアーキテクト-アソシエイト(SAA-C01)を受験し、合格したので勉強した内容や受けて良かったことについて振り返りをしてみます。 ※現在は SAA-C02 …

モバイルアプリ開発のCI/CDにBitriseを採用した理由

こんにちは、スタメンでモバイルアプリ開発をしている @temoki です。 スタメンに入社した当時は私一人でモバイルアプリ開発をしていましたが、おかげさまでこの一年半で仲間も増え、組織上もモバイルアプリグループが発足するにまで至りました。そのため、…

アプリだけじゃない🤗インハウスデザイナーの社内業務紹介

スタメンのデザイナーの @kiyoshifuwa です。 現在、 弊社のデザイナーは社員のわたし1名、学生アルバイトさん1名の計2名です。 主にTUNAGなど各事業のアプリケーションのデザインを行っていますが、実は社内のあれこれも、社内のデザイナーが作っています!…

株式会社スタメンのCTOに就任しました。

こんにちは。松谷(@uuushiro)です。 先日コーポレートサイトにて、新経営体制のお知らせを公開させていただきましたが、3月より取締役CTOを務めていた小林 一樹が常務取締役VPoEに就任し、執行役員CTOには私、松谷 勇史朗 が就任しました。CTO と VPoE を分…

RDS Performance Insights を使って DB の負荷を監視する

こんにちは、スタメンでバックエンドのエンジニアをしている河井です。 私の所属するバックエンドチームでは、普段からサービスのパフォーマンス監視とチューニングを継続的に行っています。 今回は、データベース負荷のモニタリングに使っている Performanc…

エンゲージメント診断サービス TERAS(テラス) の アーキテクチャ

スタメン エンジニアの松谷(@uuushiro)です。 スタメンは、2020年3月より エンゲージメント診断サービス TERAS(テラス) の提供を開始します。創業プロダクトである TUNAG(ツナグ) に続いて2つ目のプロダクトになります! TERASは、エンゲージメント経営を実…

TUNAG Androidアプリの技術的な解説

皆様いかがお過ごしですか。スタメンでモバイルアプリ開発を担当している @sokume です。 以前、TUNAG iOSアプリの技術的な解説で、@temokiから発信していますが、読んでいただけましたでしょうか。今回の記事はAndroid版の技術的な解説記事です。 言語 Goog…

CircleCIを高速で回せるように気をつけるポイント!

こんにちは! スタメンでRailsアプリの開発を担当しているシュール(@shule517)です! Railsアプリケーションを安全に開発するために、自動テストはとても大切ですよね! スタメンではCircleCIでRSpecやRuboCopの実行をし、安全を確認して本番機へデプロイし…