Studyplus Engineering Blog

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

スタディプラスはRSpecとFlutterコミュニティ(Rémi Rousseletさん)に寄付しました

こんにちは。 スタディプラスのカンファレンス/OSSサポートチームです。 スタディプラスは2021年度に引き続き、今年度も会社としてOSSに寄付をしました。 opencollective.com github.com 寄付の取り組み 「なぜOSSへの寄付をするのか」については、昨年度の…

入門go_router

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

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…

スタディプラスは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…

スタディプラスは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アプリケーションのアーキテクチャ(Studyplusの場合)

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

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

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

DroidKaigi 2021に参加した感想

こんにちは、Pixel 3aユーザーの若宮(id:D_R_1009)です。 早速Android 12を入れて、毎日使っています。 あっという間の3日間でしたが、DroidKaigi 2021が開催されました! 今回は、3日間の振り返りと感想をまとめておきたいと思います。 感想 隅山 今回、「マ…

スタディプラスはDroidKaigi 2021にSUPPORTERSとして協賛します

こんにちは! スタディプラスの若宮(id:D_R_1009)です。 最近はポルノグラフィティのサウダージをよく聴いています。 さて、ついに! 色々とあって大変でしたが! DroidKaigi 2021が10月19日から始まります! そして、スタディプラスは昨年に引き続きスポン…

Flutterの状態管理とViewの更新

こんにちは。モバイルクライアントグループの若宮(id:D_R_1009)です。 最近スタンディングデスクを導入しました。業務時間中はずーっとスタンディング状態で、疲れたら業務終了な感じでやってます。 スタディプラスでは一部のプロダクトでFlutterを採用して…

Paging 3ライブラリへの更新とKotlin 100%

こんにちは。 AndroidとiOSといろいろやっている若宮(id:D_R_1009)です。 西日本では記録的な早い梅雨入りな一方、会社のある関東ではだいぶ遅れての梅雨入りとなりました。 部屋にこもってAppleやGoogle、Microsoftのカンファレンスを見ることで時間は潰せ…

Flutter + Firebase FunctionsでZendesk Supportを活用する

こんにちは、モバイルクライアントグループの若宮(id:D_R_1009)です。 今年もスギ・ヒノキ花粉は辛かったです。自室でPCを見ている時間が長いこともあり、特に目が辛かった年でした。 今回はPortoで昨年11~12月ごろに対応したZendeskへのCSツール移行につい…

Studyplus AndroidアプリでMAD Scoreを計測してみました

新年あけましておめでとうございます。 モバイルクライアントチームの若宮(id:D_R_1009)です。 お正月にようやくポケモンシールドのチャンピオンを倒しました。 本当に強かった……。 さて、昨年末にMAD Scoreが登場しました。 Are you a... Speed coder with…

GitHub ActionsでSwiftLintをLinuxの上で動かそう

こんにちは、モバイルクライアントグループの若宮(id:D_R_1009)です。 みなさまお元気でしょうか、私はチェンソーマン9巻購読直後のため気持ちが乱れております。どうしてだよ……。 コードの悪魔は厳しいので、そんな気持ちの乱れをコードに持ち込むわけには…

GitHub Scheduled remindersにPull Pandaからさっそく切り替えてみた

モバイルクライアントグループの若宮(id:D_R_1009)です。 先日、すやすや寝ていたところGitHubから1通のメールが届きました。 私個人の話なのですが、AndroidとiOS、そしてFlutterのコードを書いたりレビューしたりしています。 このためFlutterのコードを書…

Kotlin Flow+Roomで作るTimer&Stopwatch

こんにちは、モバイルクライアントグループの若宮(id:D_R_1009)です。 2月以降リモートワークで開発を続けております。会社近くのラーメン屋さんが恋しくなってきました。 今回は5月中旬にリリースした、AndroidアプリのTimer&Stopwatch改修について書きます…

Nuke + UIImageViewでいい感じにURLを読み込ませたい!

お久しぶりです。 モバイルクライアントグループの若宮(id:D_R_100)です。 もともとはAndroidアプリ専任だったのですが、昨年11月ごろよりiOSアプリ開発にも参加するようになりました。 今回は、iOSアプリに参加して取り組んでいたNukeによる画像読み込み処…

Firebase App DistributionへFabric Betaから社内向けアプリ配信を移行しました

こんにちは、新生モバイルクライアントグループの若宮(id:D_R_1009)です。 今回は社内向けのテストアプリ配信の更新について書きたいと思います。 移行の経緯 テストアプリ配信環境 fastlaneによるlaneの用意 CI(CircleCI)の設定 開発者マシン(shell script)…

WorkManager + Dagger2によるバックグラウンド処理

こんにちは、Androidチームの若宮(id:D_R_1009)です。 昨年末にAndroidチームが導入した、WorkManagerをDagger2と組み合わせる方法を紹介します。 WorkManagerとは developer.android.com WorkManagerは、確実に実行したい非同期処理に対して利用するAndroid…

Studyplus - ML Study Jamsとして機械学習に取り組みました

こんにちは、Androidチームの若宮(id:D_R_1009)です。 2019年8月から9月にかけて、社内にて "Studyplus - ML Study Jams" を開催しました。 "Studyplus - ML Study Jams" はGoogleの "ML Study Jams vol.3" に取り組むため、社内で行ったイベントとなります…

スタディプラス AndroidアプリKotlin化の歩み

こんにちは、Androidチームの若宮(id:D_R_1009)です。 今回はAndroidアプリの大きな更新、JavaからKotlinへの移行について書きたいと思います。 Androidアプリの歴史 Kotlinの導入 Kotlin化の本格化 Kotlin Coroutines導入、RxJavaから移行開始(2018年11月) …

Google Developers ML Summit Tokyo : Human-Centered Machine Learningに参加しました

こんにちは、Androidエンジニアの若宮(id:D_R_1009)です。 先日、Google社で開催されたGoogle Developers ML Summit Tokyo : Human-Centered Machine Learningにインフラエンジニアの菅原(id:ksugahara08)と共に参加してきました。 events.withgoogle.com 今…

Kotlin Fest 2019に参加しました

こんにちは、Androidチームの若宮 (id:D_R_1009)です。 Kotlin Fest 2019(2019年8月24日)にAndroidチームの3名(若宮、中島、隅山)で参加してきました。 kotlin.connpass.com 昨年度に参加した時のブログはこちらです。昨年に引き続き 勉強会・カンファレンス…

DatabaseView(Room 2.1)による本棚並べ替え機能リリースについて

こんにちは、Androidチームの若宮(id:D_R_1009)です。 スタディプラスのAndorid版にて、5月半ばより不具合の発生していた「本棚」機能を7月頭に修正したしました。 ご不便、ご迷惑をおかけしましたこと大変申し訳なく思っております。 「本棚」の不具合にお…

Flutterもくもく自習室 in スタディプラス #3 を開催しました

こんにちは。 スタディプラスではAndroidの開発を、趣味でflutterの開発をしている若宮(id:D_R_1009)です。 6月22日(土)に開催した「Flutterもくもく自習室 in スタディプラス #3」の結果についてまとめます。 connpass.com Flutterもくもく自習室とは? 第1…

GitHubのPull Panda連携を(さっそく)導入しました!

Androidチームの若宮(id:D_R_1009)です。 今朝方、Twitterを眺めていたら下記のツイートが目にとまりました。 ここ最近、超絶便利に感じていた Pull Reminders が GitHub に買収されて、誰でも自由に使えるようになったみたいだ。GitHub + pull request でチ…

AndroidのCI環境を移行しました!

こんにちは、Androidチームの若宮(id:D_R_1009)です。 2019年5月よりAndroidチームのCI環境をBitriseからCircleCIに移行いたしました。 今回は移行の経緯や結果などをまとめたいと思います。 CI環境変更経緯 CI移行ステップ スタディプラスAndroidチームのCI…