Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

Ruby3.3 YJITによるパフォーマンス改善

こんにちは。サーバーサイドグループの山田です。 先日StudyplusのRailsアプリケーションのRubyを3.3にアップデートしました。 Ruby3.3ではYJITによるパフォーマンス改善が目玉の1つですが、弊社のアプリケーションでどのような変化があったかを報告します。…

Studyplus Engineering Podcast #25 Studyplus Web版をFlutter Webでリプレイスしました!

こんにちは、SREグループの 水口 です。 スタディプラスのエンジニアが配信するポッドキャスト「Studyplus Engineering Podcast」の新しいエピソードを公開しました。 「Studyplus Engineering Podcast」は、主にStudyplusのエンジニアが、業務で関わった技…

Studyplus Engineering Podcast #24 遠距離からフルリモートで働くエンジニアの働き方、スタディプラスの印象、雑談

こんにちは、スタディプラス VPoEの大石です。 スタディプラスのエンジニアが配信するポッドキャスト「Studyplus Engineering Podcast」の新しいエピソードを公開しました。 「Studyplus Engineering Podcast」は、主にStudyplusのエンジニアが、業務で関わ…

CircleCIのrerun failed testsを有効化してみる

ウェブアプリケーショングループのましばです。 ようやく暖かくなってきましたが、まだまだ気候が安定しませんね。 今回はCircleCIにきていたrerun failed testの機能を使ってみた話です。 Flakyなテスト プログラミングを実装する際にテストを書いていく中…

Rails7.1へのアップグレードで発生した暗号化のエラーとその対応

こんにちは。サーバーグループ エンジニアの山田です。 今回はRails7.0からRails7.1へのアップグレードを行なった際に、ActiveRecord Encryptionで発生したエラーとその対応について紹介します。 同様のエラーに遭遇した方の参考になれば幸いです。 ActiveRe…

競プロ勉強会を開催しました

はじめに 2023年7月からWebアプリケーショングループの内定者インターンとして働いている羽鳥です。 インターンでは研修としてRuby、Ruby on Rails、RSpec、データベース設計、オブジェクト指向プログラミング、Reactなどを学んでいます。 私は趣味で競技プ…

rspec-openapiを導入した話

こんにちは、サーバーサイドグループの五十嵐です。 今年の4月に弊社に転職して初めて技術ブログを書きます。 今回はAPIドキュメントの作成ツールとしてGemrspec-openapiを導入した話について書いてみます。 弊社では以前からOpenAPIを導入しドキュメント管…

RubyによるGoogleSSO IDトークンの検証

こんにちは、サーバーサイドグループエンジニアの芳賀です。 今回は、業務で関わる機会があったため、Rubyを使用してgoogleauthライブラリを介してGoogleSSO IDトークンを検証する方法について解説します。Google Sign-Inを使用すると、ウェブアプリケーショ…

go_routerによる画面遷移時のパラメーターの渡し方

こんにちは。クライアントグループの上原です。 StudyplusのFlutterアプリでの開発には、go_routerが利用されています。 今回は、利用していて感じたどういう状況でどの方法を利用して画面遷移時にパラメーターを渡すのが良いのかを紹介します。 また、上記…

スタディプラスに新卒入社してからの半年間を振り返る

はじめに どうも、クライアントグループエンジニアの後藤です。 最近寒くなってきましたね。昔は冬が圧倒的に好きだったんですが、歳を重ねるごとに夏の方が好きになっていっている自分がいます。 そんな自分がスタディプラスに入社してからもう半年が経ちま…

新規プロジェクトでモブ設計を実施してみた

こんにちは。ウェブアプリケーショングループのエンジニアの川井です。 最近、新しいプロジェクトを立ち上げる際、開発を始める前に新しい仕様や設計に関する整理やコミュニケーションを強化するため、モブ設計を導入しました。この記事では、モブ設計の概要…

スタディプラスはJSConf JP 2023に協賛します

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、後藤です。 スタディプラスは、2023年11月19日に九段坂上KSビルにて開催されるJSConf JP 2023に協賛します。 jsconf.jp JSConf JP 2023とは? JSConf JPはJapan Node.js Associationが主催…

FlutterKaigi 2023にスポンサー&参加しました

こんにちは!クライアントグループの後藤です。 11月10(金)に株式会社ナビタイムジャパンにて開催されたFlutterKaigi 2023に参加してきたので、その感想などをまとめます。 はじめに 今回、弊社スタディプラスはFlutterKaigi 2023にシルバースポンサーとして…

FlutterでDriftを使ったデータ保存でのつまづきと対策

こんにちは、クライアントグループの樋口です。 今回は、弊社のアプリにてFlutterで使えるローカルDBパッケージの「Drift」を用いた開発した際に生じた、データ保存でのつまづきとその対処法を紹介します。さらに、Driftの簡単な使い方と使用例も併せて紹介…

スタディプラスはFlutterKaigi 2023にシルバースポンサーとして協賛します

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、後藤です。 スタディプラスは、2023年11月10日に開催されるFlutterKaigi 2023に、シルバースポンサーとして協賛します。 flutterkaigi.jp FlutterKaigi 2023とは? FlutterKaigiは、国内で…

Amazon Aurora MySQLのRollbackSegmentHistoryListLength

こんにちは。サーバーサイドエンジニアの青山です。 先日、弊社のAmazon Aurora MySQLのCPU負荷が急に上昇してDBが再起動するという事象が発生しました。その原因を調査した時の話をRollbackSegmentHistoryListLengthを中心に紹介します。 当時の状況 レプリ…

Kaigi on Rails 2023 参加レポート

こんにちは、サーバーグループの山田です。10/27(金)、28(土)開催のKaigi on Rails 2023に参加しました。その感想などをレポートします。 Kaigi on Railsとは? Kaigi on Railsのコアコンセプトは 「初学者から上級者までが楽しめるWeb系の技術カンファレンス…

FlutterのAdd-to-appを導入しているiOSアプリ保守で起きたライブラリ競合と対処法

プロダクト部クライアントグループの明渡です。 昨年9月から今年4月半ばまで産育休をとり、約1年ぶりの当番ブログです。 産んだ子どもは1歳になりました。食欲魔人という文言がしっくりくる食べっぷりで、成長曲線の上辺すれすれで推移しております。 今回は…

スタディプラスはKaigi on Rails 2023にシルバースポンサーとして協賛します

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、菅原です。 スタディプラスは、2023年10月27日・28日にハイブリッド(オンライン・オフライン)開催されるKaigi on Rails 2023にシルバースポンサーとして協賛します。 kaigionrails.org Kaig…

SRE NEXT 2023 参加レポート

SRE

SREグループの菅原です。 9/29(金)に九段会館テラスにて開催されたSRE NEXT 2023に参加しました。 ちょっと遅くなってしまいましたが、カンファレンスやセッションの感想についてレポートします。 SRE NEXT 2023とは 信頼性に関するプラクティスに深い関心を…

Amazon CloudWatchの費用を半額削減した話

Amazon CloudWatchの費用を半額削減した話 こんにちは。スタディプラスのSREグループの蜂須賀です。 今回はAmazon CloudWatchの費用を半額削減した話を紹介します。 Amazon CloudWatchの費用を半額削減した話 経緯 CloudWatch Metric Streamsの試験導入 背景…

「アジャイル開発におけるQAエンジニア」

こんにちは。QAエンジニアの和田谷です。 残暑続く中ですが相も変わらずサウナは最高です。 今回は「アジャイル開発におけるQAエンジニア」について私がQAとして行ってきた活動をお話しできればと思います。*1 そもそもアジャイル開発とは? アジャイル(Agi…

DroidKaigi 2023に参加しました

こんにちは!クライアントグループの後藤です。 この度、9/14(木)~16(土)にベルサール渋谷にて開催されたDroidKaigi 2023に参加しましたので、その様子をお伝えします。 はじめに 弊社スタディプラス株式会社は、サポータースポンサーとしてDroidKaigi 2023…

Android 13への対応の注意事項

こんにちは、クライアントグループの隅山です。 しばらくFlutter開発していましたが、Android 13への対応が必要になったため直近はAndroidの更新作業を行なっていました。 今回はAndroid 13への対応項目と対応時に注意すべき点について紹介します。 Android …

iOSDC Japan 2023に参加しました

こんにちは、クライアントグループの樋口です。 8/31~9/2に開催されたiOSDC Japan 2023へ参加した件をブログにします。 iosdc.jp はじめに 弊社スタディプラス株式会社はシルバースポンサーとして、ノベルティボックスにスタディプラス付箋セットを提供させ…

スタディプラスはDroidKaigi 2023にサポータースポンサーとして協賛します

本文 こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、後藤です。 スタディプラスは、2023年9月14日から16日にかけてベルサール渋谷ガーデンおよびオンラインで開催される、DroidKaigi 2023に協賛します。 2023.droidkaigi.jp DroidKaigi 2…

スタディプラスはiOSDC Japan 2023にシルバースポンサーとして協賛します

こんにちは、スタディプラスのカンファレンス/OSSサポートチーム、菅原です。 スタディプラスは、2023年9月1日から3日にかけて早稲田大学理工学部西早稲田キャンパスおよびオンライン(ニコニコ生放送)で開催される、iOSDC Japan 2023にシルバースポンサーと…

スタディプラスのAWSコストを約3割削減できた話

この記事ではスタディプラスが2023年上半期にAWSコストを削減した取り組みを紹介しています。

Rails製APIとReact製画面の並行開発をする際の進め方

こんにちは。開発部エンジニアの石上です。会社のブログ記事を書くのが久しぶりすぎて、ここにいつも書いていたちょっとした日常エピソードも何を書いたらいいのかわからなくなっています。ここに悩んでも仕方ないので、本題に入ります! 今回は、 Studyplus…

開発エンジニアからQAエンジニアになって3ヶ月やってみた感想

こんにちは。QAエンジニアの森長です。 QAエンジニアにジョブチェンして3ヶ月が経ちました。今回は3ヶ月でやってきたことを振り返りつつ、弊社QAの様子をご紹介できればと思います。 なぜQAエンジニアになったのか 弊社は10年以上続くサービスですが仕様に関…