株式会社スタメン の技術ブログ

Redux Style Guide に学ぶ

はじめに こんにちは、スタメンでエンジニアをしているミツモトです。 スタメンでは、Web アプリのクライアント側の状態管理に Redux というライブラリを採用しています。 Redux によって API のレスポンスやローカルで扱う値を自由に状態管理できますが、ディレクトリ構成・処理の定義場所など、全体の設計は実装者に委ねられます。 いくつかのプロジェクトで Redux を

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

こんにちは。スタメンの河井です。 RubyKaigi Takeout 2020 が楽しみですね。 Ruby 3.0 から型定義 & 型検査ができるようになると言われていますが、今の段階でもそれに関連した gem は公開されています。 今回は型のある Rails 開発を体験してみようということで、RBS・rbs_rails・Steep の3つの gem を紹介しようと思います。 RBS とは RBS とは、 Ruby プログラムの構造を記述するため

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

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

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

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

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

スタメンの松谷( @uuushiro )です。この記事ではアプリケーションのアラート(エラー通知)運用に関する問題を「システム思考」で構造的に捉え、どのように改善していこうとしているのか、ということを紹介します。「システム思考」についても記事内で簡単に説明を入れています。 システム思考とは? 複数の要素が相互に作用することで、ある機能を構成し、特定の結果

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

目次 概要 はじめに 各サービスの紹介 まとめ 概要 こんにちは。スタメンでエンジニアをしている梅村です。今回は、スタメンのプロダクト部のエンジニアが個人開発しているモバイルアプリについての紹介を行っていこうと思います。 はじめに スタメンのプロダクト部のエンジニアは、日々の自己研鑽に励んでいる人が多いです。社外の勉強会に参加している人や勉強

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

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

Dynamic Reducerの実装方法

はじめまして。株式会社スタメンでフロントエンドエンジニアをしている 永井 です。週5で筋トレをしています。 弊社のプロダクトである TUNAG では、フロントエンドをReact、Redux、TypeScript、サーバーサイドを Ruby on Rails で実装しています。 今回の記事ではReduxのReducerを動的に読み込ませる実装方法について書きたいと思います。 前提として、React、Reduxをある程度理解し

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

Error こんにちは。スタメンで iOS アプリを開発している @temoki です。 モバイル アプリ開発 に限らずソフトウェアの実装においては必ずエラーハンドリングが必要になりますよね。 iOS アプリを Swift で開発する場合、回復可能なエラーのハンドリングについては次のように do-catch ステートメント を用いることが基本となっています *1 。 do { // `func functionThatCanCauseError() throw

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

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

Utility Typesで楽に、Type Transformしよう

こんにちは。フロントエンドエンジニアの 渡邉 です。 普段ReactとTypeScriptを書いています。 今回はTypeScriptのUtility Typesについて紹介します。 記事のタイトルが某 大柴さんみたいになっていますが、この記事を読んだ方の力に少しでもなれたら幸いです。 目次 Utility Types よく使うUtility Types その他Utility Types 最後に Utility Types 公式ドキュメント Utility Typesは楽にType Transformす

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

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

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

こんにちは、モバイルアプリグループでモバイルアプリの開発をしている @sokume です。 実は日々の開発の傍ら、社内の情シス担当として社内のネットワーク環境の検討や改善に取り組んでいます。 今年の4月〜6月までの間、弊社も新型コロナウィルスに関しての緊急事態宣言にあわせて、全社リモートワークを推奨する期間となっていました。 5月末に緊急事態宣言が解

Recoil触ってみた

Recoil入門 こんにちは。フロントエンドエンジニアの 渡邉 です。 最近フロントエンド界隈で盛り上がっているRecoilについて学びました。 本記事は自分のRecoil入門のついでに記事にしたので、初級者向けになっています。 目次 Recoilとは 使ってみる API Referenceを読む 参考サイト Recoilとは Fecebookが新しく発表したのReactの状態管理ライブラリです。 公式ドキュメント 使って

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

こんにちは。スタメンで主にバックエンドの開発を担当している河井です。 今回は Firebase Cloud Messaging(以下 FCM)を利用したプッシュ通知の一括送信について書いてみます。 背景 実は以前にも FCM を利用した通知の記事 を書いていて、そこでは各デ バイス への通知1回につき1回 FCM へリク エス トをする方法を紹介しました。 しかしサービスが拡大してくると通知先のデ