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

JSON:APIのRequestSpecに、jsonapi-rspecを導入する

目次 はじめに jsonapi-rspecのinstall 既存のRequestSpecによく見られるテストケースの例 jsonapi-rspecで置き換えてみる さいごに はじめに こんにちは、株式会社スタメンでエンジニアをしている ワカゾノ です。 4月からサーバーサイドエンジニアとして、弊社プロダクト TUNAG の開発を行っております。 TUNAGでは、ユーザビリティの向上を目的に、既存機能のReact化、Native化が進め

【Google Cloud Storage】署名付きURLによる画像のアップロード

目次 はじめに アップロードの流れ Google Cloud Storage の準備 実装 おわりに はじめに こんにちは、スタメンのミツモトです。 スタメンでは TUNAG 、 FANTS というサービスを提供しており、画像の保存先として Amazon Web Services のS3(Simple Storage Service)を採用しています。 Google Cloud Storage(以下、GCS)の場合、どういう流れで画像を保存するか知りたいと思い、自分の学習として

RSpec から API ドキュメントを生成する「rspec-openapi」を試してみた

はじめに 本記事では RSpec の request spec から OpenAPI 仕様のドキュメントを出力する Gem、rspec-openapi を紹介します。 ドキュメンテーションツール導入にあたっての負担を少なくしたい、実装とドキュメントが乖離しないようにしたい、という場合に参考になるかもしれません。 背景 これまで弊社では、 API ドキュメントは社内 wiki に蓄積されていました。 最初はこれでも問

自動で画像最適化してくれるのうれしいよね(Next.js)

こんにちは。フロントエンドエンジニアの 渡邉 です。 普段はReactとTypeScriptを書いています。 今回の内容はタイトルにも記載されていますが、Next.jsを使った画像の最適化です。 画像の最適化でやるべきことは多々あります。 例えば、画像のサイズ・重さ調整や、フォーマット、遅延読み込みなどあります。 Next.js 10で発表された next/image を使えば誰でも簡単に画像の最

preload、eager_load、includesの挙動を理解して使い分ける

目次 はじめに 使用する関連付け preload、eager_load、includesの挙動 includesはどのような場合にpreloadとeager_loadの挙動となるのか preload、eager_loadの使い分け さいごに はじめに こんにちは、株式会社スタメンでエンジニアをしている ワカゾノ です! 4月からサーバーサイドエンジニアとして、弊社プロダクト TUNAG の開発を行っております。 先日、弊社CTOの 松谷 とペアプロを行

スタメン新卒エンジニアが入社して半年で読んだビジネス書

みなさんこんにちは! 株式会社スタメンで主にTUNAGのモバイルアプリを開発している カーキ です。 スタメンに正式に入社して11月で約半年が経ちました。 スタメンでは自己研鑽としての読書が推奨されており、社内でお互いに本をオススメし合う「必読Book」という制度や、役員から直接 献本してもらえる「役員献本」という制度があります。 この記事では、そんなス

IntelliJ IDEA Code With Meでペア・プログラミングする

こんにちは。スタメンで開発者をしている 津田 です。IntelliJ IDEA系のIDEでリモート共同開発と、ペア・プログラミング行うためのツール、 Code With Meが9月末にEAPリリース されたため、同僚と試用してみました。 Ruby on Railsアプリケーション開発のペア・プログラミングを、隣の席で行ったのですが、リモート・ワークにも非常に便利なツールだと思ったので、使用感を紹介

プロジェクトマネジメント入門ちょっとだけ

こんにちは。スタメンでエンジニアリングマネージャーをしている @temoki です。 前回、 プロジェクトマネジメント入門以前 という記事でプロジェクトマネジメントとは何なのか?について次のようにまとめました。 プロジェクトとは 独自の目標を達成するために、決まった期間の中で、集団で活動すること です。 プロジェクトというのはとても困難であることが多い

useSelectorとuseDispatchでcontainer componentを排除する

はじめに こんにちは。株式会社スタメンでフロントエンドエンジニアをしております @0906koki です。 React Hooksが2019年にリリースされてから、Reduxの実装でコンポーネントがstoreと接続する方法に選択肢が増えました。 具体的に言うと、今までconnect関数でstoreにあるstateやactionをpresentational componentに対してpropsとして渡していましたが、hooks時代ではuseSelectorとuseDispatchによっ

Reactでページネーションを実装

目次 はじめに ライブラリ(react-paginate)の導入 ページネーションの実装 おわりに はじめに こんにちは、スタメンでエンジニアをしている手嶋です。今回は「react-paginate」というライブラリを使用し、Reactでページネーションを実装する方法を紹介したいと思います。 ライブラリ(React-Pegination)の導入 まず「react-paginate」」の導入です。ページネーションのライブラリはいく

Update to Android 11

スタメン、プロダクト部で主にモバイルアプリ開発(Android/iOS)を行っている @sokume です。 早速ですが、皆さんスマートフォンつかっていますか?スマートフォンは年に1度位、大きなアップデートが実施されています。アップデートが来たらできるだけ更新しましょうね。 ちなみに今年はAndroid 11 が 9月9日 、iOS 14が9月17日でした。 アップデートの時期は知らされていな

プロジェクトマネジメント入門以前

こんにちは。スタメンでエンジニアリングマネージャーをしている @temoki です。 私がスタメンに入社した2年前、プロダクト部のエンジニアは10人くらいでしたが、現在はその倍以上のメンバーとなりました。 その中にはエンジニアだけではなく、ディレクター、デザイナーなど、職種も多様になってきています。 そして提供するサービスの規模もどんどん拡大しており

Lighthouseを使ってパフォーマンス監視する

こんにちは。フロントエンドエンジニアの 渡邉 です。 普段ReactとTypeScriptを書いています。 目次 Lighthouseとは Lighthouseを導入しようとした経緯 使ってみる 最後に Lighthouseとは Lighthouse is an open-source, automated tool for improving the performance, quality, and correctness of your web apps. When auditing a page, Lighthouse runs a barrage of tests against the page, and then generates a report on how well the page did. From here you can

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

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

Microsoft Teams連携機能を実装する

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