サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
techblog.recruit.co.jp
はじめに こんにちは! 2024年度新卒エンジニアの山本です! 株式会社リクルートの新卒エンジニアは部署配属される前にBootCampと呼ばれる研修を受けることになります。 今年は約3ヶ月間の研修があり、実際に受講した立場から講座の共有や紹介を行っていきたいと思います。 研修概要 研修では、配属後で活かせるエンジニアリング技術を体系的に学ぶことができるだけでなく、ヒューマンスキル育成や事業理解といったプログラムも準備されているため、エンジニアとして様々な観点から成長できる機会になっています。 エンジニアリング技術に関しては、フロントエンド、バックエンド、モバイルアプリ、インフラ、セキュリティなど幅広い講座が用意されています。講座によっては、チーム開発や競技形式での手を動かして学ぶ講座も用意されており、より理解を深められるような講座になっています。 ヒューマンスキル育成に関しては、ロジカルシ
この記事は リクルート ICT統括室 Advent Calendar 2023 18日目の記事です。 こんにちは、ICT統括室の別府(@tky_bpp)です。この記事は、社内の情報流通を社内プロダクト起点で改善しようとしている取り組みの紹介です。 具体的には「社内・社外に分散している情報」を集約することで「各従業員がこれまでどのような仕事をしてきたのか」を可視化しようとしている取り組みです。その中でも、主にプロセス、工夫した点について書いています。そのため、特定の技術スタック、ツールの紹介といった技術的な内容にはあまり触れません。 同じような課題に取り組んでいる方にとって、少しでも参考になれば幸いです。 はじめに 私は現在、リクルートの社内で利用されている従業員検索システムのプロダクトマネージャーをしています。 このシステムには、従業員毎の個人ページがあり、連絡先や所属部署、使用しているパ
「SP版サロンボード」へのGraphQL導入と考察 目次 はじめに 案件概要 導入背景 BFF GraphQLの導入 GraphQLライブラリの比較 考察 さいごに はじめに リクルートの美容領域でフロントエンドエンジニアをやっている、加納英樹と申します。 今年で新卒4年目になります。この記事では、自分が2022年4月から1年ほど関わっている スマホ版(以下、SP版)サロンボードリプレイス案件の裏側について話したいと思います。 今回は、GraphQLを導入した理由と、今後横展開する際に気をつけるべきポイントを述べたいと思います。 次回、もう少し技術に寄った話を書こうと思います。 案件概要 HOT PEPPER Beautyのサロン向け予約管理システムとして、サロンボード というものがあります。サロンボードはPC版とSP版がありますが、今回はSP版をリプレイスすることにしました。 実際のアプ
こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ
リクルートでホットペッパービューティーのモバイルアプリ開発チームリードをしているmactkg(原)です。 リクルートではJiraを社内ネットワークのオンプレミス環境で利用してきましたが、社内ICTチームの貢献によってJira Cloudへの移行が進んでいます。私が所属しているプロダクトのJiraもJira Cloudに移行されましたが、「Automation」という機能が付いていることに気づきました。(実際は、Jira Serverへの導入も可能らしいです。) これを使ってみるとなかなか便利で気に入って利用しているので、紹介したいと思います。 Jira Cloudの「Automation」でできること Jira Cloudの「Automation」ではIFTTTやZapierなどのような「何か起こったら、何かする」というスタイルで、Jira内のイベントを契機にしてコードを書かずに物事を自動
こんにちは、今年の春に新卒でリクルートに入社し、『スタディサプリENGLISH』SREグループ所属となった巻田です。 他の記事でも書かれていますが、『スタディサプリENGLISH』ではTerraformを使って主にAWS上のインフラ管理を行っています。この記事ではTerraformの動作の自動化のためにAtlantisを導入した経緯やその際の設定、使い方などに関して解説します。 導入に至った経緯 Terraformはインフラ管理のために非常に便利なツールです。このチームでは1つのRepository内にdev、staging、productionのように複数のTerraform Working Directoryを配置して各環境のインフラ構築を行なってきました。 今まではインフラの構成を変更する際には以下のような作業を行なっていました。 Terraformのコードを編集 手元でplanして
はじめまして。株式会社LayerXの恩田と申します。普段はセキュリティ・プライバシー保護技術『Anonify』の開発を行っています。今回はテキスト分析を題材に差分プライバシーを紹介します。 はじめに 個人のプライバシーへの関心の高まり、GDPR違反による巨額の制裁金(企業の全世界年間売上高の2%、または、1,000 万ユーロのいずれか高い方等)が課されることなどの背景から、データ分析に利用されるデータにも十分なプライバシー保護が求められるようになってきています[1]。日本においても令和2年 改正個人情報保護法が2022年4月1日に全面施行されます[2]。具体的に改正法[3]では、データ利活用に関する施策の在り方として仮名加工情報が創設されるなど、イノベーション促進のためデータを利活用することと個人のプライバシー配慮の両立が求められています。 しかしながら、「具体的にどのような処置を行えば、
はじめての Monad, Monad Transformer, Extensible Effects Ariizumi Shumpei こんにちは。RECRUIT Job for Student 2021 Summer で、スタディサプリ ENGLISH の開発を行なっていた有泉洵平です。 スタディサプリ ENGLISH のサーバサイドでは Extensible Effects を導入しています。それを扱うにあたり Monad, Monad Transformer, Extensible Effects を学んだため、この記事にまとめます。 また、RECRUIT Job for Student 2021 Summer に興味のある方は、そちらについても記事を書いたため、参考にしてください。 要約 Monad とは、pure と flatMap というメソッドを持ち、Monad 則を満たすも
はじめまして!早稲田大学基幹理工学部4年の矢田宙生(yada yuki) です。 普段は研究のために機械学習系の基礎勉強をしたり、スタートアップでアルバイトをしたりしています。 今回私はRECRUIT Job for Student 2021 Summerのエンジニアコースに参加しました。 2021年9月から約1ヶ月間、スタディサプリ ENGLISHのWebフロントエンドエンジニアとして業務に参加しましたので、その体験記を本記事にまとめたいと思います! はじめに 本記事は今回参加したリクルートのアルバイトにおける選考過程、期間中に取り組んだタスクの内容や感想をまとめてみました。 普段小規模な開発が多い私にとって、フロントエンドのプロ集団の中での大規模開発は非常に良い経験になりました。 RECRUIT Job for Studentに参加するまで まずはRECRUIT Job for Stu
TargetGroupBinding を使って AWS EKS で Kubernetes を無停止かつ DNS 切り替え無しでバージョンアップしました yucky-s はじめに こんにちは、スタディサプリENGLISH SREグループの yucky です。 リクルートに入社して 8 ヶ月が過ぎました。 私のリクルートにおける最初のミッションは、スタディサプリENGLISHが稼働している Kubernetes (以下、k8s) のバージョンを上げることで、今回 v1.17 から v1.21 に上げることが出来ました。 その際に、サービス停止も DNS 切り替えもせずにクラスタ移行ができるように、AWS Load Balancer Controller の TargetGroupBinding というカスタムリソースを利用した構成に変更しましたので、それについて説明します。 現在スタディサプリ
アプリケーションソリューショングループの古川です。リクルートの各サイトで実際に運用されているサービスの Core Web Vitals を改善する活動をしていました。 今回はリクルート社内であったいくつかのサービスで Core Web Vitals の改善活動を行ったので、それの結果についていくつか報告します。基本的に改善活動をやってきて見えたこと、それぞれの改善ポイントを紹介できると幸いです。 リクルート内には有名なアプリケーションもこれから作られるような新規のサービスもあわせて、数百個のサービスが存在し、それの一つ一つを問い合わせをベースにパフォーマンス改善をしつつ、個々のサービスのどの場所で指摘がされたのかについて解説します。 ホットペッパービューティーコスメ ホットペッパービューティー TOWNWORK 個人がやったのはアセスメントと方針を打ち出したところで、基本的には、各部署のメ
こんにちは! Webフロントエンドエンジニアの眞野 隼輔です。 毎年大きな反響を頂いている、エンジニアコースの新人研修の内容を紹介させていただきます。 研修の概要 リクルートでは、エンジニアコースでスペシャリスト採用された新卒のエンジニアを対象に、現場で培われた「本当に必要な生きた知識・技術」を取り入れた新人研修を開催しています。 前半は研修では各分野に長けた社員による講義形式の技術研修を行い、後半は仮配属という形でそれぞれ別の部署に配属されて実際の業務を経験するOJTとなっています。 この技術研修はそのほとんどが内製されており、ベテラン社員による経験を元にした講義を通して生きた知識・技術を獲得できます。また、実際に手を動かす演習型の講義ではベテラン社員からのレビューやフィードバックを得られるため、知識の定着や更なる成長へと繋がります。 本年度の技術研修も、昨年度に引き続きフルリモートでの
はじめに Knile(発音は “ナイル")という、リクルートのデータ利活用基盤のチームでアプリケーション開発、SRE をやっている多田です。 Knile とは、以前 CET と呼ばれていたチームが開発するデータ利活用基盤です。 以下の過去記事が関連するシステムになります。 Jupyter だけで機械学習を実サービス展開できる基盤 Istio で実現する A/B テスト基盤 Knile はかつて「株式会社リクルートライフスタイル」所属のプロダクトでしたが、2021年4月の組織改編 により「全社横断」としての役割も期待されており、活用シーンの多様化と要求されるシステム性能のバランスにうれしい悲鳴をあげています。 この記事では、Knile のコンポーネントの1つである「Knile API」の SSL 証明書を変更した経緯やその際に検討・考慮したことを共有します。 目次 Knile API とは?
前置き: ビルドごとにアプリの振る舞いを変えたいことがある アプリケーションコード(以下、アプリコード)に直接ハードコーディングせず、ビルド時に任意の環境変数を値として参照させたいケースがあります。 例えば Firebase のような SaaS を利用する際は、開発用と本番用とで別々の環境を用意することが多いでしょう。ということは開発時と本番デプロイ時とで異なる API Key をアプリコードに読み取らせねばなりません。 SaaS に限らず自前で開発するサーバにおいても開発時と本番デプロイ時とで疎通先が異なる場合は、 API の URL をビルド時にスイッチできるような仕組みが求められます。 https://dev-api.example.com/ # 開発環境用 https://stg-api.example.com/ # ステージング環境用 https://api.example.co
React 製アプリケーションのビルドシステムを webpack から Vite に移行して爆速な開発体験を手に入れよう wakamsha Vite (ヴィート)とは Vue.js の作者である Evan You 氏が中心となって開発されているビルドツールです。 Vite - Next Generation Frontend Tooling ES Modules 形式のままブラウザからインポートする Dev サーバを搭載し、ソースコードをバンドルすることなく高速で動作させるのが特徴です。もちろん npm パッケージもブラウザから読み込み可能な ES Modules 形式に変換します。プロダクションビルド時は Rollup を使ってバンドルします。 Vue.js だけでなく React、Preact、Svelte のビルドもサポートしており、GitHub トレンドの上位にも頻繁に登場している
概要 まえがき 先日、「R-ISUCON 2021 Winter」が開催されました。ISUCON とは、お題となる Web サービスについてレギュレーションの中でパフォーマンス・チューニングを行い、ベンチマークの得点を競う競技です。(※) リクルート社内ISUCON はその名の通り、リクルートグループ内のエンジニアを対象とした社内 ISUCON に当たります。平時では合宿所を借りて一泊二日での開催でしたが、今回は2月26日のみの半日・オンラインでの開催となりました。 ※「ISUCON」は、LINE株式会社の商標または登録商標です。 お題 今回のお題は、「Niita」という架空の技術情報共有サービスになります。こちらはNTT コミュニケーションズ様が過去に開催した「N-ISUCON 2019」のお題をお借りしたものとなります。 モチーフとなったサービスと同様、下記の機能が実装されています。
リクルートの大杉です。 本ブログは、2021年2月から3月に弊組織(検索ソリューショングループ)で一緒に働いてもらったアルバイトの塚越駿さんが、今回のアルバイト期間中に実施したことをまとめたものです。 彼には、我々が社内向けに量産している「情報検索API」の内部改善の一環で、Amazon Elasticsearch Service を実サービスで展開するための性能検証を行っていただき、そこで得られた知見を広く共有すべく技術ブログを書いてもらいました。 —ここから塚越さんの記事です— こんにちは、RECRUIT Job for Student 2021に参加していた塚越駿と申します。 本記事では期間中に取り組んだ、既存システムのAmazon Elasticsearch Serviceへの移行に向けた調査と、本番環境投入のための負荷試験についてご紹介します。 はじめに 改めまして、こんにちは。
はじめに この記事タイトルに興味をもって読み始めていただいている方の多くは、ソフトウェアエンジニアとしてチームで開発をしていたり、エンジニアリングマネージャーとしてチームビルディングやマネジメントをされている方なのではないかと思います。 実際、この記事を書いている加藤も、リクルートライフスタイルのデータプラットフォームグループ (以前は CETチーム と呼ばれていました) に所属するデータエンジニアとして、データ活用のための基盤開発・運用を行っている一人です。また、担当している社内データプロダクトのプロダクトマネージャーも兼任しています。 本記事では、自分の所属している DevOps チームを「イケてる DevOps チーム」にするために取り組んだ内容や気づいた点をお伝えしたいと思っています。 目次 はじめに 「イケてる」DevOps チームってなに? Four Keys とは なぜ Fo
Kaggle「MoA」で4位入賞、Masterの称号を獲得しました kaggle_moa_prediction はじめに 先日、Kaggle主催のMechanisms of Action (MoA) Prediction(※)に参加しました。チームメンバーは、エムスリー株式会社 堀江氏、そして 当社所属のデータサイエンティストである、羽鳥、阿内、佐々木、小畑の5名です。 本コンペティションは医薬品の作用機序予測がテーマであり、世界中から4,373チームのデータサイエンティストが参加しました。 我々のチームは全チーム中4位の成績を収め、$5,000の賞金と、Kaggle Masterの称号を獲得しました。 ※ Kaggleは、世界最大のデータサイエンスコンペティションのプラットフォームで、世界中から15万人以上のデータサイエンティストが技術を競い合います。Kaggle Masterの称号を獲
こんにちは!アプリケーションソリューショングループ(以下、ASG)の吉井です。本記事は Recruit Engineers Advent Calendar 2020「15 日目」の記事です。 Stories as Test ASG では、Storybook / reg-suit を用いたビジュアルリグレッションテストを推進しています。Component テストを兼ねた .stories ファイルのコミットは、私たちにとって今やフロントエンド開発に欠かせない工数です。そんな Storybook ですが「全ての実装者にとって無理なく取り組めるか?」というと、ハードルはまだ高いように思います。 Storybook の運用実体について開発現場でどの程度普及しているのか気になったので、個人的に簡単なアンケートをとりました。結果「導入済・運用出来ている」という回答者は 26.9% 程度でした。まだまだ
目次 前口上 攻めのセキュリティ Web issueの検知 web issueの調査 web issueの共有 直近のweb issueの例 heavy ad intervention 今後の展望 終わりに 前口上 こんにちは。RECRUIT Job for Student 2020(通称、夏バイト)に参加していた、しにゃいと申します!この記事では、期間中携わったリクルートで行われている web issueの追従、調査の取り組みについて書いていきます。 またこの記事はリクルートエンジニアアドベントカレンダーの3日目の記事です。 自己紹介 しにゃいと申します。(Twitter: @Shinyaigeek, GitHub: @Shinyaigeek ) 普段はWeb フロントエンドを触る機会が多く、特にWeb パフォーマンスを改善することや、ASTをイジイジして開発者体験を向上することが好きで
Recruit-CSIRT の船越です。 近頃、Web サイトの改ざんによる SEO ポイズニングが多数観測されています(*1)。今回は、我々が調査した SEO ポイズニングの実態についてご報告します。 SEO ポイズニングについては、弊社ブログで以前にも解説をしておりますので、ぜひご一読ください(*2)。 SEO ポイズニングとは SEO ポイズニングは、SEO (Search Engine Optimization) の手法を悪用し、検索エンジンの検索結果上位に不正なページを表示させ、アクセスした人を詐欺サイトやマルウェアが置かれたサイトに誘導する攻撃手法です。 このような攻撃により、閲覧者が詐欺の被害に遭う可能性はもちろん、検索結果が汚染され、本当に閲覧したい正規のページに辿りつくことが困難になるという問題もあります。 近頃、日本語話者を標的とした SEO ポイズニングのキャンペーン
こんにちは。スタディサプリ ENGLISH SREグループの木村です。 つい先日、スタディサプリENGLISHの基盤をECSからEKSへの移行をしました。移行の経緯や理由などは先日公開された大島のスタディサプリENGLISHの基盤をECSからEKSに移行しました という記事で紹介しております。 今回は私たちがKubernetesのCDに利用したArgo CDをなぜ選んだのか?どのよう導入したのかという部分を説明していきたいと思います。 Argo CDについて Argo CDはGitOps1)Gitをアプリケーションとインフラのsingle source of truthとして扱い、Gitにある情報(ここではKubernetesのmanifest)をあるべき姿とし、同期を行いアプリケーションの変更を行う手法。GitOpsを提唱しているweaveworksのGitOpsにページに詳細が書いてあ
こんにちは、スタディサプリ ENGLISH SREグループの大島です。 オンライン英語学習サービスであるスタディサプリ ENGLISHは2015年10月のリリース1)当時は英語サプリという名前でリリースしていましたから5年が経ち、おかげさまでサービスを拡充させることができています。リリース当初からインフラにはコンテナを採用し、長い間AWSのコンテナオーケストレーションサービスのAmazon Elastic Container Service(以下、ECS)で運用してきましたが、この度ECSからAmazon Elastic Kubernetes Service(以下、EKS)に移行しました。 今回の記事では、その歴史の変遷となぜEKSにしたのかというところを書いていきたいと思います。 コンテナと歩んできた5年間 まず、ECSからEKSに移行しようと思ったきっかけの前に、インフラの歴史を少し振
はじめに はじめまして、今年のRecruit Job for Student 2020 で Web フロントエンドエンジニアとしてアルバイトをしていた井関です。 私は 1 ヶ月のアルバイト期間で、あるプロジェクトに参画してユーザー体験 (以下 UX) を改善する取り組みを行いました。今回改善していたアプリケーションは、目的を達成するまでに入力しなければならないフォームがとても多い、正確な入力が要求される、利用者がとても多いという特徴があります。この特徴に沿って、多くのユーザーがより快適に正しく入力できるフォームを目指して様々な施策を行ったので、調査から改善までの手順や具体的な改善例を開発者の目線から紹介します。 想定読者 UI / UX に興味がある開発者 フォームの改善に興味がある開発者 目次 調査方法 改善のプロセス 実際に見つかった問題と改善例 フォーカスとアウトライン表示 フォーム
ブラウザを用いたリスク検出ツールchromepatrolの紹介とChrome DevTools Protocolの話 山田快 こんにちは。RECRUIT Job for Student 2020(通称、夏バイト)に参加していた、山田快(Twitter: @gpioblink)と申します!この記事では、期間中に作成したサイトの問題を検出するツールや、開発中に学んだChrome DevTools Protocol(以下、CDP)の話をしていきます。 デモ動画 TL;DR 近年、ブラウザの仕様変更など外部の要因による問題や障害が起きやすくなった CDPを使えばブラウザから詳細な情報が取れる CDPから取れる情報をもとにブラウザのリスク検証をするツール「chromepatrol」を作成した 自己紹介 じぶりん(@gpioblink)と申します。最近は低レイヤーに興味を持ち、低レイヤー寄りのリバース
こんにちは、スタディサプリ ENGLISH SRE グループの巻田です。 現在リクルートの夏アルバイトとしてこのチームに所属しています。 この記事では EC2 上に構築された EKS クラスタの CronJob のみを Fargate 上で実行できるようにするための方法を紹介します。 はじめに スタディサプリ ENGLISH ではインフラに EKS を採用しています。Kubernetes には CronJob1)https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ と呼ばれる機能があり、ジョブを定期的に実行することができます。スタディサプリ ENGLISH ではこの機能を使って様々なバッチ処理を実行しています。 Fargate を導入したい背景 スタディサプリ ENGLISH で使用している EKS は元々
初めまして。リクルート新卒一年目の大塚悠貴、佐藤万莉、河内友佑です! 新卒研修で、「異なるユーザ層に特化した複数のアプリを、最大限コードを共通モジュール化することで実現する」という課題に取り組んだので、その内容について紹介します。 コードを共有して複数アプリを作成するには大きく以下のような方法が挙げられます。 単一のXcodeプロジェクトでビルドTARGETを複数作成する 複数のXcodeプロジェクトを作成する 今回はビルドTARGETを複数作成する方法を検証したので、本ブログではこの方法を採用するにあたり発生した問題とその解決策、およびメンテナンス性を意識した実装について紹介します。 複数TARGETを作成・管理する 複数TAEGETの問題点 複数のTARGETでアプリを作る際は通常大まかに以下のような手順で行います。 ビルドTARGETを複製する 各ファイルにTARGETを設定する ま
はじめまして、ホットペッパービューティーコスメ(以下 HPBC) の Web フロントエンドエンジニアとして学生アルバイトをしている三島です。3 ヶ月間のアルバイト期間で、案件に関わる機能開発や SEO 施策の検討と実装、パフォーマンス改善など様々な業務に取り組ませていただきました。本記事ではその中でも、私が取り組んだ HPBC におけるパフォーマンス改善について紹介します。 目次 1. はじめに 2. 想定読者 3. AMP とは 4. パフォーマンス改善の前提知識 5. 現状計測 6. 問題特定 7. 問題解決 8. 今後 9. まとめ はじめに HPBC の開発プロジェクトでは、Web ページを閲覧してくれるユーザーにとってページが完全に表示されるまでのスピード、つまり「パフォーマンスが大事である」という認識をチーム全体で共有しています。Web サービスのプロダクトは、機能の追加・改
次のページ
このページを最初にブックマークしてみませんか?
『便利なデータベーストリガーを正しく使おう! – PSYENCE:MEDIA』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く