Studyplus Engineering Blog

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

Google Cloud Functions を利用して社内コミュニケーションを円滑にしていく

はじめに 課題 理想状態 アプローチ案 理想状態を実現する方法を幅広く考える。 定期的に不要なチャンネルを精査する Web APIを利用したアプローチ 今回やること 実現方法 手順 GCPの事前準備 SalckのTokenを生成 実装 プログラムの構成 もろもろ準備 デプロ…

elm-upgradeに従ってElmのバージョンを0.18から0.19へ上げる

ForSchool事業部の石上です。ウェブのフロントエンドを中心にStudyplus for Schoolの開発に携わっています。 あるアプリケーションのElmのバージョンを0.18から0.19に上げる対応をしました。今回はこのことについて書きます。 背景 Studyplus for School で…

UIPickerViewをUIControlを使用してキーボードの様に表示する

iOS

こんにちは。 入社して一ヶ月が経過したiOSエンジニアの弘田です。 今回はUIPickerViewをキーボードの様に表示する方法を解説します。 なぜそんなことをするの? 昔のiPhoneでしたら画面の中心などにUIPickerViewを表示しても画面サイズが小さかったので片手…

Visual Studio Codeの拡張「GitHub Pull Requests」を使ってみた

こんにちは。7月に入社したStudyplus開発部の田口です。 先日Microsoft社が発表したVisual Studio Codeの拡張のGitHub Pull Requestsを試してみたのでその記事を書きます。 まずは弊社のエンジニア陣が普段なんのエディタを使っているのか、アプリチーム以外…

buildersconに行ってきた

スタディプラスCTOの島田です。 今回は9/6~8に開催されたbuilderscon tokyo 2018へ行ってきた感想を書きます。 最初に buildersconとは buildersconは、「知らなかった、を聞く」をテーマとした技術を愛する全てのギーク達のお祭りです という趣旨のもと、イ…

iOSDC2018に参加しました

こんにちは。スタディプラスに9月からiOSエンジニアとして入社した弘田です。 Kotlin festの記事でも紹介しましたが、 弊社には 勉強会・カンファレンス参加補助があるので、iOSDC2018に参加させていただきました。ありがとうございます。 弊社のiOSエンジニ…

GraphQLを導入しようとしている話

こんにちは。Studyplusでサーバーサイドを担当している金澤です。 弊社ではいまapiの一部にGraphQLを導入するべく取り組んでいます。 GraphQLってなんだという話や導入手順などはweb上にすでに沢山あると思います。 なのでそのへんはあっさりめで、検証にあ…

Kotlin festに行ってきました

弊社には 勉強会・カンファレンス参加補助 があります。 その制度を使って会社のお金でKotlin Festに参加させていただきました。補助といいつつ基本全額サポートしてくれました。 ありがとうございます。 Kotlin Festとは 「Kotlinを愛でる」をビジョンに、K…

FirebaseでSlack Slash Commandsを楽に運用する

ForSchool事業部開発グループの松田です。 弊社ではSlackを導入しており、いわゆるChatOpsに活用しています。 Slackにはさまざまな便利機能がついていますが、その中の一つにSlash Commandsというものがあります。 今回はこのSlash Commandsを自作して、その…

スタディプラス のAndroid事情

スタディプラス のAndroid事情 今回はAndroidアプリ担当エンジニアのNabesukeです。 組み込みエンジニア→Android→放浪→iOS→バックエンド→フロントエンド→Androidというよくわからない経歴を持っています。 今回はStudyplus Android版の裏側をご紹介します。T…

AWS Glueを用いたデータ分析基盤を構築した✨

こんにちは。業務委託の@morix1500と申します。 この度、スタディプラス様からデータ分析基盤の構築の業務委託を受け、AWSのマネージドサービスを用いて構築を行いました。 その際に得られた知見を共有したいと思います。 データ分析基盤について 今回スタデ…

スタディプラス LT大会2018(夏)

こんにちは、CTOの島田です。 今回は7/13(金)に行われた社内LT大会についてです。(平成最後の13日の金曜日!?) LT大会とは? 趣旨 日ごろの勉強・活動・興味関心を共有し、相互理解を促進する 内容 業務内外問わず、自身が技術を用いて取り組んだものを発表 …

Railsで作られた管理画面にVue.jsを導入した話

Studyplusのweb版を担当していた久保です。 最近はRailsを触ったりしています。 今回は社内向けの管理画面を作る際に、どうしても動的にDOMを操作する必要があったのでjQueryの代わりにVue.jsを導入してみました。 なぜVue.jsを選んだのか Railsが生成したht…

中高生国際Rubyプログラミングコンテスト2018への協賛

こんにちは、スタディプラスの島田です。 2018年7月15日(日)から応募受付が開始される中高生国際Rubyプログラミングコンテスト2018にて、スタディプラスはGold PARTNERとして協賛させていただきます。 スタディプラスではこれまでもRubyKaigi 2018等のカン…

nginxのX-Accel-Redirectを使った縮小画像配信サーバ

インフラまわりを担当しております。id:rmanzokuです。 今回は、画像配信サーバをnginxを使ってプチリプレースをしたので その実装方法を紹介します。 課題と対応 Studyplusでは、ユーザーが投稿した画像や教科書の表紙画像を任意のサイズに縮小し配信する機…