Studyplus Engineering Blog

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

Studyplus Engineering Podcast #28 スタディプラスへ新卒入社・内定承諾したエンジニアに聞く入社を決めた理由、働いてみた印象

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

DroidKaigi 2024に参加しました!

こんにちは、カンファレンス・OSSサポートチームの後藤です。 先日ベルサール渋谷にて開催されたDroidKaigi 2024に参加してきたので、その振り返りや感想などをお伝えします。 2024.droidkaigi.jp DroidKaigi 2024はAndroid技術者を対象とし、国内外から多く…

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

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、後藤です。 スタディプラスは、2024年9月11日から13日にかけてベルサール渋谷ガーデンおよびオンラインで開催される「DroidKaigi 2024」に協賛いたします。 DroidKaigi 2024とは? DroidKai…

新人エンジニアのキャリアと3つの輪

江戸時代エンジニアとして、エンジニアしながら江戸時代の研究に勤しんでいる伊尾木です*1。 スタディプラスでは、WebApp グループのテックリードもやっています*2。 この記事では、新人エンジニアに向けてキャリアの考え方として 3 つの輪というものを紹介…

iOSDC Japan 2024に参加してきました!

どうも、カンファレンス・OSSサポートチームの後藤です。 今回は、先日開催されたiOSDC Japan 2024に現地参加してきたので、現地の様子や感想などをお伝えします! iosdc.jp はじめに iOSDC Japan 2024はiOS関連の技術をテーマにした技術者向けのカンファレ…

Karpenter導入によるメリットとデメリットと躓いた点

Karpenter導入によるメリットとデメリットと躓いた点 こんにちは。SREグループの蜂須賀です。 弊社ではEKSを利用しており、これまでノードのオートスケールにはCluster Autoscaler(CA)を利用していました。 2024年6月頃にCAからKarpenterに移行したので、Kar…

QAエンジニアによくある失敗

QA

こんにちは。QAエンジニアの和田谷です。 暑い日が続く中ですが相も変わらずサウナは最高です。 今回はソフトウェア品質保証(QA)エンジニアによくある失敗と、 それらを回避する方法について解説していきます。 1. 不十分なテスト計画 失敗の詳細 QAエンジ…

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

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

Studyplus Engineering Podcast #27: 新卒Webアプリエンジニアの1年目の業務と競技プログラミング

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

FlutterNinjas Tokyo 2024 参加レポート

こんにちは、クライアントグループ エンジニアの後藤です! 今回は6/12~14にかけて行われたFlutterNinjas Tokyo 2024に参加してきたのでその感想などをシェアします! はじめに FlutterNinjas Tokyoは海外から多数のスピーカーを招いて行われるFlutterのカン…

Studyplus iOSアプリのプライバシーマニフェスト対応事例

iOS

プロダクト部クライアントグループの明渡です。 成長曲線上辺すれすれで推移していた息子が、1歳半検診で成長曲線を上限突破していることが判明しました。 あの曲線って至極健康な範疇でも突破することあるんですね、びっくりしました。 今回は、iOSアプリに…

Widgetbookを使ってFlutterのデザイン調整を効率化する方法

クライアントグループの隅山です。 Flutterの標準Widgetをデザイン調整する際、どの範囲でデザイン調整できるのかをデザイナーと頻繁にやり取りすることがありました。 その中でWidgetbookというツールを活用することで、デザイン調整にかかる工数を大幅に削…

Studyplus Engineering Podcast #26 RubyKaigi 2024 参加レポート

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

スタディプラスはFlutterNinjas Tokyo 2024にコミュニティスポンサーとして協賛します

こんにちは! スタディプラス/カンファレンス・OSSサポートチームの後藤です。 スタディプラスは、2024年6月13,14日の日程で開催される「FlutterNinjas Tokyo 2024」にコミュニティスポンサーとして協賛します。 flutterninjas.dev FlutterNinjas Tokyo 2024…

ElastiCacheのメモリ使用率削減

こんにちは。サーバーサイドエンジニアの青山です。 今回は、ElastiCache for Redisのメモリ使用率を削減したときのことを紹介します。 はじめに 現状把握 対応案の検討 実際の対応 対応後 おわりに はじめに 早速ですが、Studyplusにはタイムラインという機…

RubyKaigi 2024 参加レポート

こんにちは!スタディプラスがスポンサーしていたRubyKaigi 2024にエンジニア4名が参加しました。その参加レポートをお送りします。 tech.studyplus.co.jp RubyKaigiを楽しむためにやってよかったこと 事前勉強会 RubyKaigiは言語のコア部分に関わる発表が多…

スタディプラスはRubyKaigi 2024にゴールドスポンサーとして協賛します

こんにちは、スタディプラスのカンファレンス/OSSサポートチーム、菅原です。 RubyKaigi 2024がいよいよ来週開催に迫ってきました! 今年もスタディプラスはRubyKaigi 2024にゴールドスポンサーとして協賛しています。 rubykaigi.org 今年は沖縄県那覇市で開…

生成AIを活用したPodcastのShow Notes作成の裏側

こんにちは、SREグループの 水口 です。 この記事では、スタディプラスが運営する「Studyplus Engineering Podcast」の公開までに行なっているPodcastのShow Notesを作成する過程について紹介します。 Show Notesと生成AI活用のモチベーションについて Show …

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

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

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が主催…