Studyplus Engineering Blog

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

2022-01-01から1年間の記事一覧

入門go_router

こんにちは。 モバイルクライアントグループの若宮(id:D_R_1009)です。 最近、スプラトゥーン3のバイトにハマっています。 全ステージでんせつ200を達成できたので、400を目指して日々クマサン商会に入り浸っております。 さて、スタディプラスではFlutter W…

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

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、冨山です。 スタディプラスは、2022年11月26日にオンラインで開催されるJSConf JP 2022に協賛します。 jsconf.jp JSConf JP 2022とは? JSConf JPはJapan Node.js Associationが主催するテ…

Kotlinのアレ、Dartでどう書くの? ~ 1人 FlutterKaigi unconference ~

こんにちは、モバイルクライアントグループの中島です。 ついこの間、約300~400年に一度のイベントがありましたね。 皆既月食+惑星食、道ゆく人が皆空を見上げていたのが印象的でした。 自分は残念ながら天体観測用の環境やカメラなどがなかったため、スマホ…

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

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、冨山です。 スタディプラスは、2022年11月10日~11日にオンラインで開催されるRubyWorld Conference 2022に、シルバースポンサーとして協賛します。 2022.rubyworld-conf.org RubyWorld Con…

GitHub Discussionsで他システムやクライアントサイドの開発者との認識合わせを非同期に行う

こんにちは。開発部エンジニアの石上です。最近は息子とプラレールで遊ぶのが楽しいです。先日、社内のSlackでおすすめされていて気になっていた自動ターンアウトレールなるものを買ってきました。走るごとに進行方向が切り替わって、とても楽しいです。 さ…

DroidKaigi 2022にスポンサー&参加&登壇しました

こんにちは。 久々に朝の電車に乗りました。モバイルクライアントグループ テックリードの若宮(id:D_R_1009)です。 DroidKaigi 2022お疲れ様でした! 10月5日から7日にかけて、フルで楽しむことができました。 まさかお会いできるとは、という方なんかともお…

スタディプラスはFlutterKaigi 2022にブロンズスポンサーとして協賛します

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、若宮(id:D_R_1009)です。 スタディプラスは、2022年11月16日~18日にオンラインで開催されるFlutterKaigi 2022に、ブロンズスポンサーとして協賛します。 flutterkaigi.jp FlutterKaigi 202…

スタディプラスのポストモーテム文化

SRE

お久しぶりです。SREグループの菅原です。 おすすめのアイスはオハヨー乳業のBRULEEです。夏場は1日にアイスをいくつも食べてしまいました。もう末期ですね。 弊社ではポストモーテムをバックエンド(サーバーサイド+SRE)で運用して3年経ちました。2019年のSR…

iOSDC Japan 2022に参加しました

こんにちは、モバイルクライアントチームの上原です。 2022/9/10~12に開催されたiOSDC Japan 2022へ参加しました。 今回、弊社としてはシルバースポンサーとしてスポンサードしており、メンバーは勉強会・カンファレンス参加補助で参加しました。 iosdc.jp …

スタディプラスはKaigi on Rails 2022にゴールドスポンサーとして協賛します

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、若宮(id:D_R_1009)です。 スタディプラスは、2022年10月21日・22日にオンラインで開催されるKaigi on Rails 2022にゴールドスポンサーとして協賛します。 kaigionrails.org Kaigi on Rails …

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

こんにちは。 スタディプラスのカンファレンス/OSSサポートチーム、若宮(id:D_R_1009)です。 スタディプラスは、2022年10月5日から7日にかけて東京ドームシティプリズムホールおよびオンラインで開催される、DroidKaigi 2022に協賛します。 droidkaigi.jp Dr…

RubyMineを使い始めました

こんにちは。サーバーチームの森長です! 今年の1月にサーバーサイドエンジニアとして入社しました。 趣味は、スポーツ、旅行、音楽フェス参戦ですが、昨今のコロナ禍の影響もありインドアな趣味を探し続けております。 今回は、3ヶ月ほど前から弊社の一部…

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

こんにちは、スタディプラスのカンファレンス/OSSサポートチーム、若宮(id:D_R_1009)です。 スタディプラスは、2022年9月10日から12日にかけて早稲田大学理工学部西早稲田キャンパス63号館およびオンラインで開催される、iOSDC Japan 2022にシルバースポンサ…

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

こんにちは、スタディプラスのカンファレンス/OSSサポートチーム、若宮(id:D_R_1009)です。 スタディプラスは、2022年9月8日から10日にかけて三重県総合文化センターおよびオンラインで開催されるRubyKaigi 2022にゴールドスポンサーとして参加します。 ruby…

Flutter Webで本棚画面をSliversを用いて実装したお話

こんにちは、モバイルクライアントチームの明渡です。 直近数ヶ月メインの開発がもっぱらFlutterで、久々にiOSで1画面作ってみたら忘却の彼方にあったiOS独特の細かいクセが要因で少し手こずりました。 新しいことに取り組むのは大事だし楽しいですが、身に…

Firefox好きの人間によるタブの実装(HTML/CSS/JS)

お気に入りブラウザFirefox こんにちは@okuparaです。 自分はプライベートでは専らFirefoxを使っています。 昨今の各社サービスでFirefoxの対応停止のアナウンスを見かける度に、ユーザー数から見ても仕方ないことだと思いながらも、少し寂しい気持ちになっ…

ソフトウェアエンジニアによるPodcastの配信

はじめに こんにちは!開発部の大石です。 4月から新しい体制になり全社のソフトウェアエンジニア(以下、エンジニアと略します)がソフトウェア事業本部の開発部所属になりました。 今回は弊社のエンジニアが配信しているPodcast「Studyplus Engineering Podc…

スタディプラスメンバーのリモートワーク作業環境事情 Part2

こんにちは!CREの冨山です。 最近子供が夏休みに入って日中家庭が騒がしくなりました。 さてスタディプラスでは新型コロナウィルスの影響で2020年からエンジニアは基本的にフルリモートで働いており、2022年頭からはリモートワーク手当として月3000円が支給…

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のようなファイルアップロードを行うことができる環境を構築します。 同様の内容を取り扱った記事は複数存在しますが、少し古い…