Studyplus Engineering Blog

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

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

EOF 2019に参加しました(イベントレポート)

こんにちは、スタディプラス iOSチームの大石(id:k_oishi)です。 2019/10/31に開催されたEOF 2019に参加しました。 EOFとはEngineering Organization Festivalの略で最近役職として注目されているEngineering Manager(略してEM)のためのカンファレンスです。…

スタディプラス SREチームの2019年の取り組みまとめ

SRE

SREチームの栗山(id:shepherdMaster)と菅原(id:ksugahara08)です。 年末ということもあり、弊社SREチームが2019年に行ってきた取り組みの中で大きめのトピックを紹介したいと思います。 本来ならもっともっと書きたいことがあるのですが、今回はスタディプラ…

Studyplus for SchoolのCSS事情

こんにちは。ForSchool事業部の石上です。最近、弊チームのスクラムマスター id:atomiyama さんから、「伝えにくい事とか相手の注意引きたい時に幼児言葉を使うと有効です。」というテクニックを教えてもらいました。今後はなるべく実践していきたいでちゅ …

CloudNative Days Kansai 2019参加レポート

どーも、SREやってます。菅原です。 先日は11月27,28日にグランフロント大阪のコングレコンベンションセンターで行われたCloudNative Days Kansai 2019に参加して来ました。 せっかくなのでイベントの参加レポートを載せたいと思います。 CloudNative Daysと…

AAC Navigation で Bundleの受け渡しを SafeArgs で行なってハマった話

こんにちは、Studyplus Androidチームの中島です。 以前の話に引き続き、 AACのNavigationについて話したいと思います。 今回は 遷移元・遷移先のFragment間でのBundle受け渡しでちょっとハマったことについてです。 なお、執筆時に利用している Navigation …

FirebaseとStripe Billingを組み合わせるとき、stripe.customerのdescriptionとmetadataが便利です

こんにちは、スタディプラスの須藤(id:kurotyann)です。 9/17にFirebaseとStripe Billingを使って新しいサービスをリリースしました。 サービスについては先日投稿したブログを参照してください。 tech.studyplus.co.jp 今日は、タイトルどおり「FirebaseとS…

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" に取り組むため、社内で行ったイベントとなります…

CircleCIのPerformance Planでテスト時間を半減させた

こんにちはスタディプラスCTOの島田です。 今回はスタディプラスでCircleCIのPerformance Planを導入し、テストの実行時間を半分以下にした内容を書きます。 Performance Planについて CircleCIのPerformance Planとは、処理能力を最適化しパォーマンスを最…

散らかったStorybookを整理する

こんにちは。ForSchool事業部の石上(id:shgam)です。今回はStorybookの話です。 7/17にリニューアルしたStudyplus for Schoolでしたが、このとき導入したStorybookを活用できていませんでした。そもそも整備が足りてなかったので、1日もらってStorybookを整…

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

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

FlutterとFirebaseで新しいサービスをリリースしました

こんにちは、スタディプラスの須藤(id:kurotyann)です。 タイトルどおり、9/17にFlutterとFirebaseで新しいサービスをリリースしました。 サービス名は「ポルト(Porto)」です。 受験生に人気の参考書を月額980円でスマホで読める電子参考書サービスです。 …

Studyplus iOSでライブラリ管理をCocoaPodsからCarthageに移行した件

iOS

こんにちは。今年の5月に入社したiOSエンジニアの大石(id:k_oishi)です。 今回は弊社がリリースしているStudyplusのiOSアプリのライブラリ管理をCocoaPodsからCarthageに移行した件をご報告します。 プロジェクトの構成と開発PCのスペック 現在のStudyplus i…

iOSDC Japan 2019に行ってきました

こんにちは、Studyplus iOSチームの明渡(id:m_yamada1992)です。 iOSDC Japan 2019(2019年9月5日〜7日)にiOSチームのうち2名(大石、明渡)で参加いたしました。 なお、費用については下記のスポンサー枠1名 + 弊社の 勉強会・カンファレンス参加補助 で参加さ…

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 今…

builderscon 2019に行ってきた

今回は8/29~31に開催された builderscon tokyo 2019 へ行ってきた感想を書きます。 参加メンバーの写真 はじめに buildersconへの参加は2年連続です。昨年の感想はこちらになります。 tech.studyplus.co.jp またスタディプラスは昨年に続きbuildersconのスポ…

Rubyアプリケーションのメモリ使用量上昇問題をjemallocを使うことで解決しました

こんにちは、スタディプラスの栗山(id:shepherdMaster)です。 今回はRubyアプリケーションのメモリ使用量上昇問題をjemallocを使うことで解決した話です。 Rubyアプリケーションのメモリ使用量上昇問題 弊社ではRuby on Railsをメインで使っていますが、Ruby…

Kotlin Fest 2019に参加しました

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

スタディプラス第一回自作キーボードもくもく会

自作キーボードを社内で始めたきっかけ 先日、本ブログにてキーボードに関する記事「突撃!隣のキーボード Studyplus 2019」を書きましたが、その執筆の最中に社内のキーボード好きの熱が高まり、今回、有志で集まってのもくもく会の開催となりましたので、…

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

はじめに スタディプラスには学習管理SNS「Studyplus」と教育機関向け学習管理サービス「Studyplus for School」の2つのサービスがあります。 今回は、社内では「本体」と呼ばれている「Studyplus」のAPIシステムである、コードネーム「steak」を中心にした…

Studyplus for Schoolをリニューアルしました

こんにちは、こんばんは、For School事業部のid:atomiyamaです。 先日フルリニューアルされたStudyplus for Schoolのサーバーサイド開発、フロントエンド開発の一部を担当しました。 新しいStudyplus for School 以前のStudyplus for School リニューアルに…

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

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

Navigation で DialogFragment を表示した話

こんにちは、Studyplus Androidチームの中島です。 2019年6月より、Studyplus AndroidアプリはTarget SDK28への対応、合わせてAndroidXへの移行を行いました。 今まで「AndroidXに対応したらここ直しましょう」としていたところをガシガシ直していくのは楽し…

突撃!隣のキーボード Studyplus 2019

こんにちは。今年の5月に入社したiOSエンジニアの大石(id:k_oishi)です。 私は入社時のオリエンテーション終了後、最初にしたことが社内のSlackでキーボードチャンネルの検索という程度にキーボードが好きな者です。 当然ではありますが、以前から他のエンジ…

プロジェクト・タスク管理ツールにmonday.comを使い始めたので、いかにmonday.comが最高かを紹介したい

こんにちは、スタディプラスの栗山(id:shepherdMaster)です。 みなさんは社内でどんなプロジェクト・タスク管理ツールを使ってますでしょうか? 今回はスタディプラスで最近使い始めたプロジェクト・タスク管理ツールのmonday.comを紹介したいと思います。 T…

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 でチ…

スキーマ駆動開発のススメ

こんにちは,For School事業部のid:atomiyamaです. 現在Studyplus for Schoolはサービスのフルリニューアルを行っています. 弊サービスはこれまでRailsでslimを使いViewを提供してきましたが,今後より良い体験をユーザーへ届けるためにリニューアルを行い…

Android Architecture Componentsに感動した話

初めまして、Studyplus開発部のAndroidエンジニアの隅山です。今年5月からスタディプラスでAndroidアプリ開発を行っています。 本格的にAndroid開発を始めてまだ日が浅いので、初中級エンジニア目線で学んだことをまとめていきたいと思います。 背景 やった…

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

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

弊社オフィスで「Flutter Meetup Tokyo #9」を開催しました

こんにちは、スタディプラスの須藤(id:kurotyann)です。 今回のブログでは、5月22日(水)に弊社オフィスで開催した「Flutter Meetup Tokyo #9」についてまとめます。 https://flutter-jp.connpass.com/event/126419/ Flutter Meetup Tokyo とは? Flutter M…