タグ

ブックマーク / blog.studysapuri.jp (23)

  • DBを分割する前にできること(MongoDBチューニング) - スタディサプリ Product Team Blog

    Quipperでは4つのMongoDBクラスター(国内2&グローバル2)を番環境で運用しています。 これまでに幾度も壁にぶつかりながら培ったMongoDBのチューニングの事例を紹介します。 メモリの大きいインスタンスを使う I/O性能を最高にする WiredTigerのキャッシュ割当をサーバメモリの70%まで引き上げる WiredTigerのTickets数を増やす はじめに 記事で書かないこと クエリのチューニング AWS, MongoDB Cloud Manager, MongoDB Atlasのサービスの説明 Replica SetやSharded Clusterの解説 解説はMongoDB Universityがわかりやすいの紹介しておきます。(無料) M103: Basic Cluster Administration 現状 QuipperではMongoDBを中心に据えながら

    DBを分割する前にできること(MongoDBチューニング) - スタディサプリ Product Team Blog
    laiso
    laiso 2021/05/20
  • 褒めるラジオ quipper.fm - スタディサプリ Product Team Blog

    こんにちは。quipper.fm メインパーソナリティの @chaspy です。 今回、一緒に働く仲間をただひたすらに"褒める"社内企画をはじめてみました。好評により続いているので、その取り組みについて紹介します。 quipper.fm とは何か なぜはじめようと思ったのか 褒めることの重要性 1. "褒め"によるフィードバックが個人の振る舞いを強化する 2. "褒め"による振る舞いが言語化されることはそれ自体が貴重な学びの機会になる 褒める技術 褒められたひとからの言葉 おわりに quipper.fm とは何か 名前に深い意味はないんですが、ラジオっぽい"雰囲気"でゆるく聞いてもらえたら、という想いで .fm をつけています。実際は社内 Google Hangouts で行っているので、音声だけでなく映像も映ります。 この番組は隔週30分で行われています。各回に1名「褒められるひと」が選

    褒めるラジオ quipper.fm - スタディサプリ Product Team Blog
    laiso
    laiso 2020/08/19
  • Self-Hosted Cluster から EKS への移行と Platform の Production Readiness - スタディサプリ Product Team Blog

    こんにちは。SRE の @chaspy です。 Quipper では AWS 上で Kubernetes Cluster を運用してサービスを提供しています。 これまで kube-aws を用いて Kubernetes Cluster を Self Host してきましたが、このたび Managed Services である Amazon EKS に移行しました。(以下、 Amazon EKS を EKS と表記します) 記事では、 Kubernetes Cluster の移行で遭遇した問題をどのように解決したかを説明します。また、数多くの Application が稼働している Platform を移行する際にどのような点を考慮するとよいのか、経験を通して学んだことを共有します。 EKS への移行を検討している方はもちろん、Platform Migration に携わる方にとって学びに

    Self-Hosted Cluster から EKS への移行と Platform の Production Readiness - スタディサプリ Product Team Blog
    laiso
    laiso 2020/08/11
  • 採用候補者から見る、Quipperのエンジニア採用フロー - スタディサプリ Product Team Blog

    こんにちは、2019年10月からQuipperにjoinした @qsona です。ということはつい数ヶ月前までは一採用候補者としてQuipperの採用を受けていたことになりますが、その中で、Quipperの採用には良い特色が多くあると感じました。今後はQuipperの一員として採用する側に回ることになりますが、採用候補者の視点から感じたことを忘れないうちにこの記事に書きたいと思います。(この記事の9割は入社前に書き上げていたのですが、入社後は普通に仕事が面白すぎて記事を放置してしまい、4ヶ月も経ってしまいました。こうならないように、書いたらさっさと出すのが鉄則です!) 概要 Quipperの面接のフローや各ステップの目的は、ガイドにまとめられています。以下はWebエンジニアの面接ガイドです。 Quipper Web Engineer 東京オフィス採用面接ガイド また、ここに書かれている以外

    採用候補者から見る、Quipperのエンジニア採用フロー - スタディサプリ Product Team Blog
    laiso
    laiso 2020/02/07
  • カジュアル面談への扉 - スタディサプリ Product Team Blog

    こんにちは、記事では弊社のカジュアル面談についてライトに書いてみました。文字数は5800字程度ですので読了には5~10分ほどを要すると思われます。 対象読者 Quipperのカジュアル面談に来てみようと思っている方 他社のカジュアル面談がどのような感じか知りたい方 言うまでもないかもしれませんが弊社のやり方が唯一の正解ではありませんし、完成形でもありません。とはいえ現時点で獲得しえたカジュアル面談のノウハウを世に出すことで業界全体の採用活動のレベルの底上げに寄与していきたい気持ちがあります! カジュアル【casual】[形動]格式ばらず、くつろいでいるさま。 カジュアル面談とは? 初めに言葉の定義を合わせていきます。 弊社 Quipper は面接・面談をより良いものにするために東京オフィス採用面接ガイドというものを公開しています。(同ガイドに関しての詳細はより良い面接を実現するために "

    カジュアル面談への扉 - スタディサプリ Product Team Blog
    laiso
    laiso 2020/02/05
  • Google Cloud Run で社内フリードリンク在庫判定ボットを作ってみた。 - スタディサプリ Product Team Blog

    はじめまして、データプロダクト開発チームの@yuu_itoです。 一緒に仕事をしている@toohskとフリードリンクの在庫判定をするSlackボットを作成しましたので紹介します。 フリードリンクとフリードリンク在庫判定ボットとは システム構成 Google Cloud Run について Google Cloud Functions から Cloud Run に移行するためにしたこと 1. Dockerfileの追加 2. Pythonコードの修正 画像分類モデルについて 動作結果 ハマったところ まとめ フリードリンクとフリードリンク在庫判定ボットとは Quipperでは福利厚生の一環として、社内でフリードリンクが提供されています。 フリードリンクの冷蔵庫はオフィスエリアの一角にあり定期的に充填されています。 既にWebカメラを搭載したRaspberry Piで定期的に様子を撮影しており、

    Google Cloud Run で社内フリードリンク在庫判定ボットを作ってみた。 - スタディサプリ Product Team Blog
    laiso
    laiso 2019/10/04
  • iOS GraphQL クライアントのデバッグツールを作った話 - スタディサプリ Product Team Blog

    こんにちは、今年の4月から Quipper の iOS エンジニアになった @manicmaniac です。 ちょっと話題としてはニッチかもしれないのですが、今日は Apollo iOS client を利用したアプリで GraphQL のデバッグに苦労し、そしてコードを書いてそれを克服した話をします。 そもそも GraphQL とか Apollo ってなに? GraphQL とは Web API のクエリ言語であり、またそのランタイム自体を指す言葉です1。 対して、ApolloGraphQL のサーバー・クライアント用のライブラリで、Meteor の開発元でもある Meteor Development Group 社が開発しています。 Apollo の iOS 向けクライアントである Apollo iOS は単なる API クライアントを超えて、以下のような機能を備えています。 G

    iOS GraphQL クライアントのデバッグツールを作った話 - スタディサプリ Product Team Blog
    laiso
    laiso 2019/08/13
  • 新メンバーが多い大型プロジェクトでの不確実性との戦い方 - スタディサプリ Product Team Blog

    ペアプロ・モブプロ、スキルマップ、1-on-1等々… チーム開発にまつわる各論・方法論・話題をよく見る昨今、関心の高まりは歓迎さるべきことながら つまるところそれらが現実のどのような問題を解決していくのか? どのように相互作用するのか? これらが有機的に結びつくことで現実のどのような問題を解決していくか? こうした疑問に答えたり、具体例とともに記した記事はさほど多くないのではと思います。 記事では昨年度に筆者のチームが約7ヶ月携わったプロジェクトにて、プロジェクト特性に起因する不確実性と我々がいかに戦ったかを記します。チーム開発を行う方にとってこの記事が実りあるケーススタディとなれば幸いです。*1 なお、記事では以下のことは旨とは逸れるため割愛させていただきます。 プロジェクトの機能的側面 技術的不確実性 各取り組み単体の詳細 はじめに / プロジェクトの雰囲気を伝える図 この記事で

    新メンバーが多い大型プロジェクトでの不確実性との戦い方 - スタディサプリ Product Team Blog
    laiso
    laiso 2019/06/27
  • Web Developer も知っておきたい Kubernetes における Sidecar Pattern と Ambassador Pattern - スタディサプリ Product Team Blog

    Site Reliability Engineering チームの @yuya-takeyama です。 年末年始頃は React Native でのアプリ開発をやっていた気がしますが、「スキルを Web 開発から SRE の領域まで広げたい」という以前からの私自身の思いと、「Kubernetes による Microservices 基盤を作っていくメンバーがもっと必要」「Microservices を技術面だけでなく組織面でも Production Ready な形でやっていく上で Developer と SRE のつなぎ役が必要」という会社の状況が一致したので、異動して AWS, Kubernetes または MongoDB などと向き合っています。 3 行でまとめ Sidecar Pattern はアプリケーションのコンテナから再利用可能な部分をもう一つのコンテナとして切り出すパター

    Web Developer も知っておきたい Kubernetes における Sidecar Pattern と Ambassador Pattern - スタディサプリ Product Team Blog
    laiso
    laiso 2019/06/27
  • 異動のおともにスキルマップ - スタディサプリ Product Team Blog

    こんにちは、Web Engineer の @wozaki です。 今回は、スキルマップを私が所属する開発チーム*1に導入した事例をご紹介します。 スキルマップとは、業務で必要なスキル(技術力、業務知識)と、チームメンバーのスキルレベルを一覧にした表です。 スキルマップの例 引用 スキルマップ作成のすすめ | Ryuzee.com 目次 概要 スキルマップ導入の背景 他社の事例とカスタマイズした点 スキルマップ詳細と運用方針 運用結果 まとめ 概要 チームで必要なスキル、メンバーのスキルレベル、志向性が不明だった 個人の志向性を表現できるようにカスタマイズしたスキルマップを導入した 結果 新メンバーにとって、スキル全体が明確になり、チームの役割の理解にも役立った スキル喪失リスクがあるものが明確になり、勉強会などスキル伝承のアクションにつながった 個人の志向性は、スキル伝承時の期待値調整にも

    異動のおともにスキルマップ - スタディサプリ Product Team Blog
    laiso
    laiso 2019/06/03
    個人的にスキルマップ上で決済関連が不遇っぽいのがよかった
  • Android対応から見つめるReact Native - スタディサプリ Product Team Blog

    モバイルエンジニアの@chiiia12です。 先日@m-sugawaraからReact Native開発全般についての記事が公開されましたが、今回はAndroid対応にフォーカスして紹介します。 QuipperではReact Nativeで書かれた業務用アプリがあり、iOSでのみ提供していました。対象ユーザーは内部のスタッフに限られていたため、会社から配布している業務用iOS端末のみで正しく動作すれば十分だったためです。しかし私用端末でも使える方が業務上効率が良いこと・業務用の端末を用意するコストの観点から、会社からの端末配布をやめ、iOS/Android両プラットフォームでアプリを提供し私用端末で利用してもらうことになりました。 今回は私達のチームが遭遇したReact NativeアプリでのAndroid対応をサプライズ度(★★★)と一緒に紹介します。React Nativeのマルチプラ

    Android対応から見つめるReact Native - スタディサプリ Product Team Blog
    laiso
    laiso 2019/04/14
  • Cloudflare Workers を使って prerendering した App Shell を返してみる - スタディサプリ Product Team Blog

    こんにちは。最近は主に frontend を書いている @banyan です。 現在私達のチームではスタディサプリの Web の生徒アプリケーションをリニューアルしています。 この夏に合格特訓コースというプランに絞ってベータ版という形でリリースして、これから段階的に全面リニューアルに向けて開発を進めていきます。 技術スタックとしては React + Redux + TypeScript + Workbox (Service Worker) です。 SSR に関しては、SNS での流入がないことや、ページが基的に生徒のデータを扱いキャッシュしにくいサイトのため、採用しませんでした。 またこの記事も参考にさせて頂き、 Does your app require a sign-in to view most content (e.g. GMail)? If so, you don’t need

    Cloudflare Workers を使って prerendering した App Shell を返してみる - スタディサプリ Product Team Blog
    laiso
    laiso 2019/01/11
  • それでもQuipperは廻っている - スタディサプリ Product Team Blog

    こんにちは。@ohbaryeです。 『Quipper Alumni Network(卒業生ネットワーク)』の記事にて宣言した通り、去る2018年12月20日に卒業生と在職者の交流会を開催しました。 どんな会だったか 交流会には6名のQuipper卒業生と7名の現職者が参加しました。私の興味位で参加者の在職期間を表現した図が以下です。 在職期間が全く重なっていない参加者が多いためどんな"化学反応"が起きるか一向に想像が付かなかったのですが、開口一番に弾んだのは以下のような会話でした。 「あっこの人 git blame したときに出てきたアイコンの人だ」 「古いドキュメントやissueでよく見る人だ」 「はてなブックマークのコメントを付けてくれた人だ」 同じ会社・プロダクトに携わったメンバーとして、また、インターネットと共に在る者として、親近感を得るのはそう難いことではない、のかもしれません

    それでもQuipperは廻っている - スタディサプリ Product Team Blog
    laiso
    laiso 2019/01/03
  • Quipper Almuni Network(卒業生ネットワーク) - Quipper Product Team Blog

    こんにちは。@hotchemiです。 今回は、最近始まったQuipperのAlumni Network(卒業生ネットワーク)についてご紹介できればと思います。 Alumni Networkとは ALLIANCE アライアンス―――人と企業が信頼で結ばれる新しい雇用より引用します。 7、会社は「卒業生」ネットワークを作ろう 卒業生ネットワークをつくり、退職した人ともいい関係を作っておくことは双方にとってメリットがある。 会社にとっては、やめた人から人材を紹介してもらえる、出戻りの率があがる、情報を教えてもらえる、顧客を紹介してもらえるなど。 退職者にとっては会社から転職先を紹介してもらえる、退職者同士のネットワークが使える、やめた企業から仕事をもらえるなど。 現役、退職した人の両方を含めたネットワークをオンラインでつくる、定期的にイベントを開催して事代の費用を負担するなどのそれほど大きくな

    Quipper Almuni Network(卒業生ネットワーク) - Quipper Product Team Blog
    laiso
    laiso 2018/12/08
  • Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成 - スタディサプリ Product Team Blog

    ソフトウェアエンジニアリングと一見関わりはなさそうで、しかしチームで成果を出す過程においてとても重要だと筆者が考えているコンセプト、 "Working Out Loud" について書いてみます。 日語の記事がほとんど見当たらないのであまり知られている言葉ではないかもしれません。 対象読者 以下に興味や関心を持つ方を対象読者として想定しています。 チーム開発におけるコラボレーション手法 チーム開発者としての振る舞い方 テックリードやスペシャリストの育成 が、心ではチーム開発する全ての方に届いてほしいです。 まえがき ある夜に同僚の@ujihisaと近場ないし遠方のEngineering ManagerやVPofEの皆さんと話す機会があり、その折にふと筆者がこぼしたのが 「開発などの日常の業務において自分がやっている以下の思考様式が大変便利なので、この考え方を最近入社したメンバーにもインス

    Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成 - スタディサプリ Product Team Blog
    laiso
    laiso 2018/11/14
  • React Nativeハイブリッドアプリへの挑戦 ~ Part3: 振り返り/今後 ~ - スタディサプリ Product Team Blog

    エントリは3部作のPart3となっております。 Part1: Monorepo/CI Part2: 導入/Bridge Part3: 振り返り/今後 モバイルエンジニアの@hotchemiです。 Part1、2では実際にインテグレーションを進めてきた中で得られた知見を公開してきましたが、今回は半年程の運用を経て我々は当初の目的を達成できているのか、という事に関しての振り返りと今後について共有できればと思います。 振り返り 現状を軽く復習しておくと私達は今年の初頭からハイブリッドスタイルの開発を初め、現在のコード比率はNative75%, React Native 25%程となっています。 Good まず、Part1で宣言した3つの目標に関して振り返ってみます。 モバイルエンジニア不足の解消(◎) 達成する事ができました。一例を紹介すると現在Quipperには3名のiOSエンジニアがいます

    React Nativeハイブリッドアプリへの挑戦 ~ Part3: 振り返り/今後 ~ - スタディサプリ Product Team Blog
    laiso
    laiso 2018/09/12
    "クライアントサイド開発をしていくに辺りReactの概念を学んでおく事は例えWebフロント専業エンジニアでなくても価値があると考えている為チーム内で得意分野を教えあっていければと思っています。" exactlyよ
  • yatteiki.fmスポンサーの舞台裏 - スタディサプリ Product Team Blog

    やっていき手の@hotchemiです。 現在、新気鋭podcast集団yatteiki.fm様との協賛企画が絶賛進行中です。Ep55, 56の感想を#yatteikifmハッシュタグをつけてツイートすると抽選で30名様にオリジナルボールペンをプレゼントという事ですので是非是非感想をツイート頂ければと思います! 【プレゼントキャンペーン実施中🍁】 リスナー感謝企画!30名様にオリジナルボールペンをプレゼント! 応募方法は #yatteikifm をつけて55, 56回の感想ツイートをするだけ。 企画はQuipperさんのご協賛で実現しました。勉強の秋、このペンと一緒に積ん読を崩しましょう! 👉https://t.co/h4A4fbrMfx pic.twitter.com/TSfnFEsRGA— yatteiki.fm やっていき手のためのPodcast (@yatteikifm) Se

    yatteiki.fmスポンサーの舞台裏 - スタディサプリ Product Team Blog
    laiso
    laiso 2018/09/10
  • 【Google Cloud Next '18】サーバーレスとデータ活用の未来を見てきました! - スタディサプリ Product Team Blog

    はじめに みなさんこんにちは。データグループエンジニアリングチームの @toita です。 7/24~26にサンフランシスコで行われた Google Cloud Next '18 に参加してきました。 今回の出張での一番大きな事件は、帰国時に台風12号の影響で予定の便が欠航になり、振替の便がシカゴ経由になったことです。最終的に1日くらい帰国が遅れましたが、無事元気に帰って来れました! さて、今回のイベントで色々な発表がありましたが、私個人の印象に特に残ったセッションを3つ紹介したいと思います。 会場のモスコーニセンター Serverless on Google Cloud まずは、GCP のサーバーレスな環境でサービスを提供するというお話。 ここでいうサーバーレスというのは、Cloud Functions だけでなく App Engine も指しているようで、The New York Ti

    【Google Cloud Next '18】サーバーレスとデータ活用の未来を見てきました! - スタディサプリ Product Team Blog
    laiso
    laiso 2018/08/13
  • ブログ再開しました - スタディサプリ Product Team Blog

    @kyanny です。先日 Vice President of Engineering になりまして、スタディサプリを開発する Quipper 日オフィスのプロダクト開発部門の責任者をやっております。 僕はかれこれ 15 年くらいブログを書いています。ウェブエンジニアはみんな自宅サーバーに blosxom や Movable Type をインストールしてブログを公開したり、はてなダイアリーが流行ってたり、 WordPress が出てきたとき「再構築しなくていいからすごく速い!」とみんな驚いたり、そんな頃からブログを書いています。 それほど長いあいだ続けていられるのは、ひとえにブログが僕にとてもよく合っているからです。自分の思考を整理したり、思いのたけをぶちまけたりしながら、人生を綴り人生を切り拓く手段としてブログよりよいものを僕は知りません。フィードを購読するかわりに Twitter

    ブログ再開しました - スタディサプリ Product Team Blog
    laiso
    laiso 2018/06/12
  • Quipper での CodePush を使った OTA 配信とその自動化 - スタディサプリ Product Team Blog

    この記事は React Native Advent Calendar 2017 6 日目の記事です。5 日目は Quipper 同僚の @hotchemi によるQuipperにおけるReact Native活用事例でした。 こんにちは、Quipper で Software Engineer をやっている @yuya-takeyama です。 入社以来ほとんど Web のサーバサイド・クライアントサイドをやってきましたが、最近は React Native アプリのプロジェクトTypeScript を書いています。 昨日の記事でも軽く触れてますが、Quipper で最近運用が始まった OTA (Over The Air) によるアプリ配信の運用とその自動化について詳しく紹介します。 なお、実際に動くコード例として以下のリポジトリを用意しました。 quipper/ReactNativeCo

    Quipper での CodePush を使った OTA 配信とその自動化 - スタディサプリ Product Team Blog
    laiso
    laiso 2017/12/07
    貴重なCodePushの知見だ