サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
blog.recruit.co.jp
意識のズレを感じたら As-Is / To-Be がおすすめ ― チームでコードレビューに対する意識調査をした話 wakamsha As-Is / To-Be とは? 現状と理想のギャップを的確に認識し、取り組むべき課題を抽出したうえで行動に移すためのビジネスフレームワークです。 As-Is: 現在の状態がどうであるかを表すもの。 To-Be: 理想の状態を表すもの。実現可能かどうかの制約を受けない純粋な理想(= あるべき姿)のことを指す。 主に計画や戦略の立案時に利用されるものですが、チームビルディングにおいても有効です。 理想のチームに到達するには解決すべき課題が多数存在するものですが、そういった課題が明確に把握されてることは稀です。解決するには対象である課題を明確に把握せねばなりません。 As-Is / To-Be モデルは、現状と理想とのギャップを洗い出すだけのツールです。しかし、
はじめまして ブログ編集長の阿部です。公共機関向けのインフラ・システム構築会社からリクルートグループに転職後、エンジニアとして当時立ち上げフェーズだったアドテクプロダクトを担当。プロダクトの拡大とともにアルゴリズムやデータ技術を活用するエンジニアリング組織のマネージャーを経て、現在はリクルートにおけるデータのスペシャリスト集団が集まる組織(以下、データ推進室)にて、データエンジニアリング・データマネジメント部門を担当しています。 リクルートの多種多様かつ膨大なデータを扱い、様々なサービスを日々進化させている私たちデータ専門集団が、日頃どのような技術を扱っているのか?どんな案件でデータを活用しているのか?そんなあれこれをみなさまに紹介するために「Recruit Data Blog」を立ち上げました。 このエントリーでは、今回ブログを立ち上げるに至った経緯をご紹介したいと思います。またこの背景
前置き スタディサプリENGLISH の web フロントエンドアプリは、実に多くの node モジュールライブラリ(以下、ライブラリ)に支えられています。 当初は開発メンバーが有志でそれらのライブラリを手動アップデートする運用で回していましたが、2021年3月頃より Renovate を本格導入することで依存ライブラリのアップロードを自動化する運びとなりました。 Renovate とは Whitesource Renovate: Automated Dependency Updates プロジェクトで依存しているライブラリ等のアップデートを自動化してくれるツール(≒ サービス)です。依存ライブラリのバージョニングを監視し、アップデート版が公開されるとそれに追従するためのプルリクエスト(以下、プルリク)を自動で作成してくれるという優れものです。かつては有償のサービスでしたが1)セルフホステ
美容クリニックは新規体制用の少人数体制で開発を行っており、その内の約 7 割がアプリ開発をしているエンジニアとなっています。 一方で、SRE は全体の約 1 割の人数しかいないという状況にあります。 この SRE の人数が少ないかどうかは扱っているシステムの規模や課題によって評価が変わるかと思いますが、美容クリニックが現在抱えている課題の量に対しては少ない人数だと感じています。 では、このように限られた人数の中でどのようにして SRE 活動を行ってきたのかを紹介していきます。 SRE チームの組閣 美容クリニックのリリース以前から SRE チームは存在していたのですが、リリース前後でその責務は変わってきます。 例えばリリース前はインフラの初期構築がメインの責務となってきますが、リリース後(エンハンス開発)にはインフラの保守運用がメインの責務となります。 さらに、メンバーの変動などにより当初
Kubernetesでコンテナに設定ファイルを追加したい場合にDockerイメージを作成せずに運用していくtips 大島 雅人 こんにちは、スタディサプリ ENGLISH SREグループの大島です。 本記事では、設定ファイルをConfigMapとして作成して起動時にvolumeとしてmountすることで、わざわざDockerイメージをビルドしてpushする運用をしなくてもよくなるというtipsを紹介します。 スタディサプリ ENGLISHでは、EKS+Argo CD+Kustomizeでのgitopsを採用しており、その場合の設定の仕方について説明していきます。 設定ファイルをinjectしたいモチベーションの背景 今回、説明する題材について簡単に説明します。 スタディサプリ ENGLISHでは、監視システムとして、Datadogを利用しています。 DatadogのagentはDocker
クリニック検索では、Ngramと形態素解析を併用することにより検索結果のヒット数を担保しつつ検索ノイズの増加による悪影響をスコアソートにより軽微なものに抑えています。 施術メニューピックアップのための全文検索では、検索ノイズが少ない形態素解析のみを利用しています。 美容クリニックでの検索における問題 形態素解析では、辞書に含まれている単語の集合に基づいて形態素が認識されます。 Sudachiの辞書において美容医療の専門用語が網羅されておらず、問題が発生します。 形態素解析で専門用語がカバーされていない問題 上記の表の通り、形態素解析では検索漏れが多いです。 例えば、「ダーマペン」は美容医療では人気な単語ですが、Sudachiに搭載されているデフォルトの辞書ではカバーされていないので、形態素として抽出されません。 形態素解析で期待通り認識・分割されない問題 「二重」が「フタエ」でなく「ニジュ
はじめに 本来 "Button UI" とはフォームやアクションのトリガーを用途とした要素であり、URL 遷移にはアンカーリンク( a 要素)を使うのがセオリーですが、「ボタンのような意匠をしたアンカーリンク」という UI もしばしば目にします。 CSS フレームワークである Bootstrap には .btn という CSS クラスを付与することで Button UI を表現しますが、この CSS クラスは button 要素や input 要素に限らず a 要素や span 要素にも使えるので、「ボタンの意匠をしたアンカーリンク」も簡単に実現出来るわけです。 Buttons · Bootstrap v5.0 基本的に Bootstrap のような CSS フレームワークは意匠のみを抽象化しており、機能面には関与しないことでこういった柔軟性を実現しています。一方 JavaScript フ
こんにちは。スタディサプリ ENGLISH Web フロントチームの kazuma1989 です。 先日、私たちのチームは開発フローに Visual Regression Testing を導入しました。Visual Regression Testing は、フレームワークを紹介する記事は見つかるものの、具体的な知見があまり広まっていない印象なので、具体的な設定値や選定理由も含め紹介してみます。 React による Web フロント開発を前提にしていますが、Visual Regression Testing のコア部分は「画像の比較」であるため、他のプラットフォーム開発でも参考になればと思います。 Visual Regression Testing (VRT) とは Visual Regression Testing (日本語で 画像回帰テスト、以下 VRT)は、画像の差分を検出する、スナ
こんにちは、スタディサプリ ENGLISH SRE グループの中田です。現在アルバイトとしてチームに所属しています。 タイトルの通りですが、この記事ではArgoCD Resource Hooksを用いたArgoCDのsync通知をslackで受け取る方法をご紹介します。 前回の木村の記事1)Amazon EKSでのArgoCDを使ったGitOps CDで詳しい紹介がなされていますが、現在スタディサプリ ENGLISHではArgoCDを用いたCDのフローを構築しています。 現状sync完了のSlack通知を用意しておらず、ArgoCDのダッシュボードを見に行く必要があり、syncが終わっているのかわからない、syncが失敗していてもすぐに気がつくことができないといった問題がありました。 方法 syncの終了やsyncの失敗はArgoCD Resource Hooksを用いて検知することができ
こんにちは、スタディサプリENGLISH SREグループの横山です。 以前の記事1) スタディサプリENGLISHの基盤をECSからEKSに移行しましたにあるように、先日ついにスタディサプリENGLISHのインフラ基盤をECSからEKSに移行することができました。 本記事では、このEKS移行に伴いAWS App Mesh(以下、AppMesh)の導入をしたので、これに関連した話を書いていきたいと思います。 なぜAppMesh導入を検討し始めたか インフラ基盤がECSだった頃、gRPCの負荷分散にEnvoyとAmazon ECS Service Discoveryを利用していました。この構成については以下の記事に詳細があります。 EnvoyとAmazon ECS Service Discoveryを利用したgRPCの負荷分散 この構成にした当初は、デプロイ時にECS Serviceのローリン
はじめに こんにちは、レストランボード(以下、RB)のフロントエンドチームの石亀です。担当していた規模の大きめなプロジェクトでVueを結構触っていまして、設計含め困難と向き合いながら色々取り組ませてもらったのでそれをナレッジとして残そうと思い記事を書くことになりました。エモいですね。 RBは現在自社のフレームワークで構築されていて、徐々にVueでリプレイスをかけています。 今回、大規模なプロジェクトにてVueでさらなるリプレイスを実行しましたが、プロダクト自体がとても大きく且つ限られたリソースの中でいかに負債化させずにできるだけ安全に移行させるかを検討しました。 そこで実際に実施した施策や検討内容などを紹介します。 おそらく、多くのサービスやプロダクトで既存のコードを新しいライブラリ・フレームワークで書き換えているかと思います。 背景だったり関わる規模・コンテキストが異なるとは思いますが、
株式会社リクルート エンジニアコース新人研修の内容を公開します!(2024年度版) 2024.08.09
こんにちは、スタディサプリ ENGLISH SRE グループの巻田です。 現在リクルートの夏アルバイトとしてこのチームに所属しています。 この記事では EKS クラスタにおいて Fargate 上で実行される CronJob に対して DataDog 及び CloudWatch を使用した監視を行う方法を紹介します。 背景 以前の記事にも書いた通り、スタディサプリ ENGLISH では CronJob の実行に Fargate を使用することを検討しています。1)/assets/rmp/techblog_bucket/infrastructure/post-20631/ 従来から CronJob が実行されている Pod の監視には DataDog 及び CloudWatch を使用してきました。 これらのサービスを使用する際は Fluentd や DataDog Agent などのプログ
要約 Docker in Docker な CI では、以下の Docker Build をオススメします。 スクリプト Buildx を使う Buildx を使えないならば、BuildKit + –cache-fromオプションを使う Dockerfile ステージ間の依存を弱くする(依存インストールとビルドを分ける) 中間イメージも軽量化する 不要なキャッシュを削除 ファイル変更差分によりますが、これらにより最大 1/3 へビルド時間を短縮しました。 はじめに 『ホットペッパービューティー』美容クリニックのカウンセリング予約サービスのバックエンドを担当している安達です。 新卒として 4 月に入社して、5 月中旬に美容クリニックに配属され、すでに約 4 ヶ月が過ぎました。 まず、チーム内で自分が活躍できる庭を作りたかったため Docker について詳しくなろうと思いました。 そこで、CI
こんにちは。飲食領域でテックリードをしている浅野です。 業務外ではあるのですが、9/12に開催されたISUCON10予選に参加させてもらっていました。 結果は初歩的なミスにより予選落ちとなってしまったのですが、一応参考スコアとしてはトップを記録していたので参考までにやったことの共有と、今後同じようなミスをするチームが出てこないよう啓蒙を兼ねて記事にさせていただきます。 やらかしの部分だけ知りたい方は結果まで飛ばしてください。 ISUCONについて Iikanjini Speed Up Contest の略で、LINE社主催で開催されているWebアプリケーションのチューニングを競うコンテストです。 業界ではもはや説明不要と言っても良いレベルで認知されているイベントですが、今年は予選が1日開催となり参加枠に制限が設けられる中で数日で枠が埋まるなど、今の時勢の中でも衰えない盛り上がりと人気の高さ
はじめに はじめまして、ホットペッパービューティーコスメ(以下HPBC)にてフロントエンドエンジニアとして学生アルバイトをしている柏です。 Webサービスで普遍的にもとめられる指標にパフォーマンスがあります。素早く表示されるWebサービスはユーザー体験が良く、コンバージョンや直帰率などにも関係があると言われています。HPBCでは、チーム一丸となってパフォーマンスの改善に継続的に取り組んでいます。 6週間のアルバイト期間で、HPBCのBFF(Backend for Frontend)の性能改善に取り組ませていただき、結果としてレスポンスタイムを200ミリ秒程度短縮することができました。本記事では、その取り組みをテーマに計測を通してパフォーマンスのボトルネックを発見する方法、そして開発の速度を落とさずそれらを解消することについて、ご紹介します。 目次 HPBCの構成と課題 Cloud Trac
HOT PEPPER Beauty でバックエンドを担当している奥冨です。 先月 HOT PEPPER Beauty に美容クリニックのカウンセリング予約ができるサービス(以降 美容クリニック)が追加されました。 美容クリニックでは Web フレームワークとして Spring Boot を採用しており、 本記事では開発中に行った Spring Boot のバージョンアップについて Spring Boot の変更点、そしてプロジェクトでどう対応したのか解説します。 今回は Spring Boot 2.1.1.RELEASE から 2.2.1.RELEASE へバージョンアップした際の一例を紹介できればと思っております。 また、先に公開した 美容クリニック紹介記事にて、アーキテクチャ及び開発体制について紹介させて頂いております。よろしければ、そちらもご参照ください。 「HOT PEPPER B
タイトルとサムネイル画像で驚いた方もいるかもしれませんが、これはれっきとしたリクルートの取り組みです。 Advanced Technology Lab(以下ATL)では、WEBブラウザ上でVRM形式の3DCGアバターを使える技術を開発し、それを活用したWEBミーティングサービス「TEATOR」(テアトル)をリリースしました。今回は「TEATOR」を作ったATLメンバーyoshidanさんに、なぜVR・3DCGに取り組むのか話を伺いました。 WEBでアバターを動かすねらい ――まずは、TEATORについて教えてください TEATORはVRM形式の3Dアバターファイルに対応したWEBミーティングサービスです。発行されたURLを共有すれば、利用OSを問わずミーティングを行うことができます。 VRMというのは3Dアバターのファイル形式です。その形式であれば自作の3DアバターやDLしたアバターをイン
アプローチの 1 つである Polyfill による互換実装は、もうアップデートされない IE11 の対応や言語仕様を追従し続ける各ブラウザの実装差分をサポートするとても便利なアプローチなのですが、ブラウザに代わり自ら互換実装を行うため副作用が伴うこともあります。 副作用によって不具合が発生した場合、どのように互換実装をしているのかを理解していないと解決が困難な場合もあるので、 Babel の基本的な処理を追いつつ Polyfill について説明していきます。 なお、この記事の内容は以下のバージョンを元に記述しています。そのため Babel 7.4.0 で非推奨となった @babel/polyfill には触れません。 Babel 7.7.4 core-js 3.4.7 Babel の基本的な処理の流れ まずは Babel を利用した Polyfill による互換実装を簡単に追ってみましょ
リクルートデータ組織のブログをはじめました。※最新情報はRecruit Data Blogをご覧ください。 Recruit Data Blogはこちら Machine Learning Casual Talks #10で内製のデータ分析基盤について発表しました 2019/06/05yoshihiro_miyai データ分析基盤チームでエンジニアをしている宮井です。社内のデータ分析基盤を開発しています。 5/29に開催されたMachine Learning Casual Talks #10(以下、MLCT)にて 内製のデータ分析プラットフォームであるCroisについて発表してきました。 会場はメルカリ様のオフィスでした。 MLCTは機械学習を用いたシステムを実際に運用していく中で得た知見やノウハウを共有する勉強会です。 発表したスライドは以下です。 Crois自体は機械学習を組み込んだシステ
リクルートデータ組織のブログをはじめました。※最新情報はRecruit Data Blogをご覧ください。 Recruit Data Blogはこちら インターンの池田です。 2019年2月25日〜3月22日の間、 RCO でインターンをさせていただきました。 本稿はそのまとめとなります。 はじめに これは RCO でのインターンは最高なので皆さん応募して下さいという記事です! 最初にインターンの魅力を列挙します。 細かくはそれ以降で触れますが、僕が伝えたいことはこれが全てです。 有給(¥15,000/日)+面接から全て交通費支給+対象者は宿泊費も支給 稼働中のプロダクトの開発に携われる 成果が出てインターン期間中にリリースできれば、実際に動いている様子が見られる かなり贅沢なサポート体制が整っている 働きやすい、環境が良い お昼ご飯に誘ってもらえるし、これが楽しい(しかも無料) 自分の将
こんにちは!じゃらんとAirレジの開発を担当している永井です。 すっかり桜が満開となりましたね。 そんな中、先日行われたtry! Swift Tokyo 2019にリクルートライフスタイルとしてブースを出展しました。 セッションの合間に楽しんでいただけるクイズコンテンツの他、ホットペッパーグルメのキャラクターである「ペパ郎」をプリントしたお菓子などをご用意していました。 try! SwiftはSwiftの国際的なカンファレンスということもあり、海外から来られている方々にも多く立ち寄っていただけました。 海外の方々からは「リクルートはリクルーティングの会社なのかい?」と質問されたり、 「そのチョコレートを箱で買いたい」と言われるほどノベルティのお菓子が大人気だったり、、と微笑ましいやり取りも多く発生していました。 ブースに来ていただいた方、クイズに参加していただいた方、本当にありがとうござい
CETチーム兼ホットペッパービューティーコスメ開発チームの寺下です。 先日 ホットペッパービューティーコスメ という新サービスをローンチしました。 コンセプトは「『似合う』が見つかるコスメ投稿・検索アプリ」で、現在はiOS版のみ配信を行っています。 本記事ではホットペッパービューティーコスメ(以下HPBコスメ)のアーキテクチャ・開発チームについて簡単に紹介していきます。 なお、iOSアプリの開発については今回は割愛します。 アーキテクチャ インフラはGCPを利用しています。 GCPを採用した理由としては主に以下の点が挙げられます。 Kubernetes(GKE)を利用して高可用・スケーラブルなインフラを手軽に構築・運用できる点 分析環境(BigQuery)との統合が強力な点 弊社内で運用実績が多くあり、運用のノウハウが確立されている点 また、原則として運用負荷を下げるために可能な限りマネー
リクルートデータ組織のブログをはじめました。※最新情報はRecruit Data Blogをご覧ください。 Recruit Data Blogはこちら みなさん、こんにちは。ギャンブラー🤡の鹿野です。 今回は、機械学習の分野で注目を集めている多腕バンディット問題の中でも、 特にWebサイト最適化の文脈でしばしば出てくる確率的多腕バンディット問題 (stochastic multi-armed bandit problem) の基本的な枠組みとそれを解くアルゴリズムについて解説いたします (簡単のため、以下では「確率的多腕バンディット問題」を単に「多腕バンディット問題」と表記します) 。 本記事を読み終わったあとには 多腕バンディット問題の基本的な枠組みとそれを解くアルゴリズム Webサイト最適化においてどのように役に立つのか A/Bテストと多腕バンディット問題の関係 について理解ができる
リクルートデータ組織のブログをはじめました。※最新情報はRecruit Data Blogをご覧ください。 Recruit Data Blogはこちら エンジニアリングマネージャーの山本です。 2018年に話題となったManager READMEを書きました。Manager READMEとは、マネージャーが周囲の人たちに対して、自分がどんな人間かと自分が周囲の人たちに何を期待しているか、を伝える文書です。私はその目的を(特にRCOに入社して間もない人について)信頼関係を構築する助けとすることと、仕事における緊張を和らげることに絞ってREADMEを書きました。これらの目的を重視したのは、私自身も経験があるのですが、新しい職場につくというのは強いストレスがかかる環境変化であり、その負荷を少しでも軽減できれば、と考えたためです。以下がその文書となります。 Manager README この文書の
こんにちは!Airメイト のAndroidアプリを開発している小谷野(@bandwagondagon)です。 先日行われたDroidKaigi 2019 にスピーカーとして登壇させてもらいましたので、その紹介と報告をします。 また、昨年 に引き続き、会社のブースを出展しており、そこで実施したAndroidクイズの解答と結果を公開いたします! デザイナーとエンジニアの距離をより近づける Lottie 利用術 「デザイナーとエンジニアの距離をより近づける Lottie 利用術」というタイトルで今回初めて登壇しました。 発表のメインテーマでもあるLottieとはAirbnb, Inc.が公開しているOSSでAdobe After Effectsで作成したパスアニメーションを、モバイルやwebといった各アプリケーションプラットフォーム上で描画するためのライブラリです。 昨年のDroidKaigi
リクルートデータ組織のブログをはじめました。※最新情報はRecruit Data Blogをご覧ください。 Recruit Data Blogはこちら みなさん、こんにちは! (大きな声) 2018年4月より新卒でRCOに入社した鹿野です。 去る1月23-25日に、新人エンジニア8名 (japlj、後、翁、鹿野、桑原、柴田、松田、若月) が中心となってPIGICONという新しいタイプのコンテストをリクルートグループ横断で開催しました。本記事ではこのPIGICONについてご紹介いたします! PIGICONとは PIGICONを簡単にまとめると以下の様になります。 Programming and Intelligence: Greatest Improvement CONtestの略だよ ISUCON (Webサーバ最適化コンペ) に機械学習の要素を取り入れた新しいタイプのコンペだよ 今回は、
はじめに こんにちは!Air メイト開発エンジニアの@sadnessOjisanです。 Air メイトでは、サービス検討から 2 年ほど、PMF (Product Market Fit) を達成するために、次々と新機能を開発していました。 PMF が少しずつ見えて来て、開発も少しずつ落ち着いてきたため、2 ヶ月ほど前から機能開発だけでなく、コードの品質を見直すべくテストや型を書きはじめました。 ただ私は、Web デザインの延長で JavaScript を書き始めたエンジニアで、型にあまり馴染みがない開発者でした。 そこで型を書くために、「JavaScript 型 書き方」で検索しましたが、当時の私が理解できるような丁寧な記事や、実務で型をつけるためのプラクティス集が見当たらなくて困っていた。たまたま、バックエンドチームにとても型について詳しい方がいらっしゃったので、その方に色々と教えてもら
こんにちは。飲食領域でフロントエンドエンジニアをしている岩下です。 本記事は リクルートライフスタイル Advent Calendar 2018 14日目です。 突然ですがエンジニアの仕事道具のキーボード、皆さん職場ではどんなキーボードを使っていますか? 今回は自分が所属している飲食領域のエンジニアを中心にキーボードを紹介したいと思います。 1人目 HHKB 現在使っているキーボードは何ですか? HHKB Professional2 無刻印 キーボードに関するエピソードや思い出はありますか? 初めての職場でチームメンバーがみんな外付けだったのでノリで使い始めました。 良い点 ホームポジションを動かさなくて良い 無駄なキーがない 悪い点 タイプ音がうるさいと苦情がくる 共用マシン等のキー配列が英語配列に変わっていると、最初に疑われる 無刻印なので記号を入力する時たまに迷子になる 次に使ってみ
次のページ
このページを最初にブックマークしてみませんか?
『TECHBLOG 一覧 | Engineering at Recruit』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く