Studyplus Engineering Blog

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

Flutterアプリケーションのアーキテクチャ(Studyplusの場合)

こんにちは。 モバイルクライアントチームの若宮(id:D_R_1009)です。 スプラトゥーン3がそろそろですね。アップをしっかりしていきましょう。 さて、モバイルクライアントチームではFlutterをAndroidやiOS、Web向けのフレームワークとして採用しています。 …

コンテナビルドを速くするためのテクニック

こんにちは! SREの栗山です。 最近観て良かった映画は「コーダ あいのうた」です。 今回は弊社で使っているコンテナビルドを速くするためのテクニックを紹介します。 以下のような一般的なテクニックに関しては他でよく紹介されているので今回は割愛します…

seedのベストプラクティス

こんにちは、ForSchoolチームでエンジニアをしている島田です。最近の好きな漫画は「白山と三田さん」です。 今回はStudyplus For School(以下FS)のseed運用について説明します。 FSは以下で構成されたSPAです。 サーバーサイド:Ruby on Rails フロントエン…

Firestoreのカスタムオブジェクト利用時の注意事項

こんにちは、モバイルクライアントグループの隅山です。 今回はCloud Firestore(以下、Firestore)をAndroidアプリに導入した際、難読化問題が発生したのでその対応方法を紹介します。 Firestore自体はとても便利なため、簡単な利用方法も併せて紹介します。 …

Billing Libraryを使ったサブスクリプションのグレード変更をリリースして

こんにちは、モバイルクライアントグループの中島です。 趣味でやってるTCGが、最新のセットで浮世絵サムライニンジャライダーキック合体ロボしながら北斗の拳メタルギアもしつつ、テーマ曲を稲葉浩志と凛として時雨が歌ってて意味がわかりませんでした。 め…

Studyplus iOS/Androidのサブスクリプションをサーバーサイドに実装した話

こんにちは、サーバーグループの中村です。 Horizon Forbidden Westを先日クリアしました! とても面白かったのですが大作オープンワールドゲームをがっつりプレイするのが最近しんどくなってきました。 ですが懲りずにELDEN RINGを買おうか悩んでおります。…

新機能リリース前のStudyplus for Schoolに対してLocustを使った負荷試験を行いました

こんにちは。ForSchool事業部エンジニアの石上です!息子が1歳半になり、お互いなんとなく言ってることがわかるようになってきました。 今回は Studyplus for School の一部のAPIに対して行った負荷試験について書きます。 3 行で リクエストが多くなりそう…

【2021年度】 スタディプラスがスポンサー・協賛したイベントの振り返り!

スタディプラス カンファレンス・スポンサーチーム(ksuga, 若宮(id:D_R_1009), 中村)です。 スタディプラスでは、様々なカンファレンスやOSSのスポンサーを行っております。 2021年度、スタディプラスがサポートをしてきたカンファレンスやOSSを振り返りたい…

Studyplus iOSアプリにasync/awaitを導入してみた

こんにちは、Studyplus事業部モバイルクライアントグループの上原です。 中途入社でiOSエンジニアとして入社して、StudyplusのiOSアプリの開発を主にしています。 また、最近はiOS以外にもFlutterを触り新機能を開発したりしています。 趣味の方では、Apex L…

Rails 7 + Hotwireで実用的なSPAを作ってみた

こんにちは、サーバーグループの市川です。モバイルクライアントグループに所属していましたが、バックエンドの開発を担当することが多くなったので、サーバーグループ異動にしました。 最近、Studyplusブックというサービスをリリースしました。Studyplusア…

Studyplus iOS/Androidでお試し期間のあるサブスクリプション販売始めました

こんにちは、モバイルクライアントグループの明渡です。 2年近く前にStudyplus iOS版のサブスクリプションを実装した際、Appleの課金テスト用Sandboxアカウントが扱いづらかったのですが、iOS 14から改善されていたことを最近知りました。 途中解約ができる…

MinIOを使ってローカル環境でファイルストレージを利用してみる

こんにちは。ForSchool事業部サーバーサイドエンジニアのましばです。 今回はDocker + Rails + MinIOを利用して、開発環境でもS3のようなファイルアップロードを行うことができる環境を構築します。 同様の内容を取り扱った記事は複数存在しますが、少し古い…

スタディプラスを支えるインフラ技術(2021年)

スタディプラスでSREをしてます、ksugaです。 最近は寒くて、電気毛布が欠かせません。寝るとき足元に電気毛布を敷いて寝ると睡眠が深く、疲れが取れます。 毎年恒例になっている「スタディプラスを支えるインフラ技術」を書いていたら公開が年明けになって…

KotlinとSwiftとDartの標準的な日付変換を比べてみる

こんにちは。 最近はヨッシーストーリーを進めています、若宮(id:D_R_1009)です。 Studyplusでは、いくつかの画面で日付を扱っています。 私はAndroidとiOSをKotlinとSwift、そしてDartで書く毎日を送っています。 そうなると、特に日付の操作で「この言語、…

私がStudyplusに入社して2年半が過ぎました

こんにちは。Studyplus事業部モバイルクライアントグループの大石です。 先日、古代戦士ハニワットというコミック作品の色紙オークションという企画があり、無事落札できました。 作者の武富健治先生に好きなキャラクターをリクエストして直筆で描いてもらえ…