PLEX Product Team Blog
https://product.plex.co.jp/
日本最大級の物流・運送・倉庫・整備士の求人・転職サイト「プレックスジョブ」を運営する株式会社プレックスのプロダクトチームによる公式ブログです。
フィード

プレックスジョブチームの技術スタックと開発フローの紹介
2

PLEX Product Team Blog
はじめに こんにちは。 株式会社プレックスでWebエンジニアをしている池川です。 弊社では現在、複数の事業を展開しており、それぞれの事業部にエンジニアが所属しています。 チームによっては異なる技術スタックや開発フローを採用しているため、今回チームごとの特徴や取り組みをまとめることにしました。 本記事はその第一弾で、プレックスジョブの開発チームにおける技術スタックや開発フローを紹介します! はじめに チーム紹介 プレックスジョブについて チームの構成 技術スタック チームの技術方針 技術スタック 開発フロー 技術的負債への取り組み 振り返り その他の取り組み AI 活用 OKR(Objectiv…
2時間前

Rake タスクの Unhandled Exception を Rails.logger でログ出力する方法
PLEX Product Team Blog
はじめに こんにちは、Plex Job開発チームの種井です。 これまで、Railsアプリケーションから構造化ログを出力する上でいくつか試行錯誤を行ってきました。 今回は、その中で行った「Rakeタスクで発生した例外をRails.loggerとしてログ出力する」取り組みについて紹介したいと思います。 構造化ログに関連する取り組みについては、よければ過去の記事もご覧ください。 Railsアプリケーションのログを構造化してDatadogで活用するまで Semantic LoggerのログをDatadog用にカスタマイズしてみた ActiveJobのloggerメソッドをスタブするはなし はじめに 課…
21日前

初めてのdbt開発、あの時の自分に伝えたいこと
PLEX Product Team Blog
はじめに 株式会社PLEXでコーポレートエンジニアをしている石川です! 社内で使われている業務用システムの開発など、社内業務の改善に取り組んでいます。 この記事では、初めてdbtの開発を任された私が、どのようにアプローチしたか・つまずいたか・改善したかについて共有します。 対象読者 以下の項目に関心・該当する方におすすめの記事です! 自社でdbtを導入予定で、dbt開発を任されたが何をすべきかわからない方 背景 社内業務の一貫として、社内のさまざまなデータソースに存在する企業情報を元に、BigQueryに企業テーブルを作成する必要性が生じました。 BIツール越しにSQLを書くことも考えましたが…
1ヶ月前

Devin × Renovate 運用効率化の第一歩 : 一次レビューをAIに任せてみた話
PLEX Product Team Blog
はじめに 概要 対象読者 DevinにPRレビューを任せてみた結果 Devinでレビューさせる対象PRの選定基準 対象となるPRの条件 対象のPRに対するDevinの役割 担当者の対応事項 / マージOKかの判断基準 プロンプト設定 プロンプト定義 Devinの2パターンの運用 Slackから実行 Playbooksから実行 コスト Devinは実務で使えるか 今後の運用方針 最後に 弊社の各事業部でエンジニアを求めています! SaaS PLEX JOB コーポレート はじめに こんにちは。PLEXでPLEX JOBの開発を行っている田中です。 前回は、同じ開発メンバーの小松さんが「Devin…
2ヶ月前

【TSKaigi2025】TypeScriptが苦手な私を登壇へと導いた「たった1つの習慣」
PLEX Product Team Blog
【TSKaigi2025】TypeScript苦手の私を登壇へ導いた「たった1つの習慣」の紹介記事
3ヶ月前

【入社エントリ】成長のレバレッジと人生の揺らぎを求めて by tetty
PLEX Product Team Blog
株式会社プレックスに転職して半年が経過したので、弊社と開発しているサクミルというプロダクトがいかにハードで純粋で熱いかを書かせていただきました!ソフトウェアエンジニアとしてプレックスで働く3つの面白ポイントも紹介しています!
3ヶ月前

勝手に語る、事業と組織の急成長期を支えるエンジニア組織と開発環境
PLEX Product Team Blog
入社してもうすぐ2年半経ちますが、一向に声がかからないので Claude 3.7 Sonnet にインタビュワーになってもらい、今回、勝手にインタビュー記事を作ることにしました。記事作成にあたっては本家のインタビュー記事の構成を参考にしています。インタビューには誠心誠意答えたので、最後まで読んでもらえると嬉しいです! 本家のインタビュー記事↓ plex.co.jp 注)本コンテンツの一部は Claude 3.7 Sonnet を使用して作成しました 1)異業種からエンジニアへ、そしてプレックスでの挑戦 2)リーダーとしての役割と責任 3)エッシェンシャルワーカー向け人材紹介・求人媒体サービスの…
4ヶ月前

CLS不良ページを "0" にした パフォーマンス改善テクニック
PLEX Product Team Blog
Google Search Console で検知された CLS 不良ページの改善の具体的な Tips を説明します。
5ヶ月前

【入社エントリ】選考時の丁寧な対応に感動しました!
PLEX Product Team Blog
はじめまして、プレックスの金山と申します。 2024年8月に株式会社プレックス(以下、プレックス)にエンジニアとして入社しました。 入社して半年が経過したので、入社の理由やこれまでの感想をお伝えしたいと思います。 「プレックスがどんな職場なのか」気になっている方に伝わると嬉しいです。 自己紹介 プレックスに入社した理由 フロント、バックエンド、インフラまで幅広く挑戦できる 実際に働くイメージが湧いた 選考時の丁寧な対応に感動した 入社してからの感想 フォロー体制がしっかりしている プロダクトオーナーとの距離が近い 新しい技術に挑戦する楽しさ 最後に 自己紹介 エンジニアに転職してから10年が経…
5ヶ月前

【Active Record】has_manyな関連先の差分更新について
PLEX Product Team Blog
こんにちは、Plex Job開発チームの種井です。 Plex Job開発チームではバックエンド開発にRuby on Railsを使用しています。 開発を進める中で、Active Record で1対多の関連先レコードを差分更新したい場面があります。私個人の話ですが、そのような要件があった際に自前で差分のみを抽出し、関連先の属性に指定するような実装を行っていました。 ある時、関連先の属性に直接指定することで、Active Record が差分更新してくれることを同僚に教えてもらいました。とても便利に思った反面、Active Record の内部でどのように差分更新されているかについて気になったの…
6ヶ月前

【入社エントリ】プレックスに入社しました!
PLEX Product Team Blog
はじめまして、プレックスの田中と申します。 2024年11月に株式会社プレックスにエンジニアとして入社しました。 入社して2ヶ月半が経過しましたので、自己紹介や入社の経緯、実際に働いてみた感想をお伝えしたいと思います! 自己紹介🎉 プレックスへの入社理由🔥 入社してからの感想✨ オンボーディング改善⚡️ 最後に🚀 自己紹介🎉 エンジニアになる前は、証券会社で株式や投資信託の売買、店舗向け商材の提案営業を行っていました。 また、飲食店ではホールと企画の業務を担当していました。 コロナ禍をきっかけに、飲食業界でのキャリアに対して将来性の不透明さを感じるようになり、今後のキャリアについて改めて考える…
7ヶ月前

【Gem Pundit】Punditの内部実装で学んだこと
PLEX Product Team Blog
この記事は、 PLEX Advent Calendar 2024の24日目の記事です。 はじめに 2024年に株式会社プレックスにエンジニアとして新卒入社した佐藤祐飛(@yuhi_junior)と申します。 業務でGem Punditを利用する機会があり、その内部実装を読んで学びが多くあったため本ブログではそちらを共有したいと思います。 Punditとは PunditはRuby on Railsのための認可ライブラリで、Policy Objectデザインパターンを簡単に実装することができます。 Punditの使用例 class ApplicationController < ActionCon…
8ヶ月前

ActiveJobのloggerメソッドをスタブするはなし
PLEX Product Team Blog
こんにちは、Plex Job開発チームの種井です。 この記事は、 PLEX Advent Calendar 2024の23日目の記事です。 私の書いた前回、前々回の記事でSemantic Loggerを使用してRailsアプリケーションから出力されるログを構造化する取り組みについて紹介しました。 今回はSemantic Loggerを使用して開発を行う中で、ログイベントのテストを作成する機会がありました。 その上で、いくらか工夫したところがあったので紹介したいと思います。 また、Plex Jobでは アプリケーションフレームワークとしてRails テスティングフレームワークとしてはRSpec …
8ヶ月前

これがkintone開発の理想形!! 開発環境を劇的に改善した話
PLEX Product Team Blog
kintone プラグイン・カスタマイズの開発環境を劇的に改善した方法をまとめた記事です。
8ヶ月前

オンプレRedashの運用Tips8選
PLEX Product Team Blog
こんにちは、プレックスの石塚です。この記事は、 PLEX Advent Calendar 2024の20日目の記事です。 プレックスではBIツールとして2年ほど前からRedashを使用しています。今回の記事ではRedashの簡単な紹介とオンプレで運用する上でのTipsを8つ紹介します。 以前はMetabaseというBIツールを使用していたのですが、データ活用が思ったより進まず、Redashに移行する流れとなりました。このあたりの話もいずれ機会があればブログにまとめたいと思います。 Redashとは? オンプレRedashの運用Tips8選 1. パスワードログインを無効にする 2. グループを…
8ヶ月前

Webパフォーマンス改善に向き合っていくお話
PLEX Product Team Blog
こんにちは、Plex Job開発チームの高岡です。 この記事は、 PLEX Advent Calendar 2024の16日目の記事です。 以前投稿した入社エントリーでReactにおけるパフォーマンスチューニングについてお話する旨を記載してから、早半年が経過しました... そのお話をする前に、パフォーマンス改善に向き合うための基礎知識をまとめましたので、こちらからお話ししていきたいと思います。 Reactでのパフォーマンス改善の具体的なお話は気長にお待ちいただけますと嬉しいです 🙏 対象読者 パフォーマンスに興味を持ち始めた方 Webパフォーマンスの指標を勉強したい方 対象読者 背景 Webパ…
8ヶ月前

BigQueryでリージョンだけ異なるテーブルを生成する方法
PLEX Product Team Blog
この記事は、 PLEX Advent Calendar 2024の15日目の記事です。 はじめに こんにちは。コーポレートチームの石川です。 今回は BigQuery(以下、BQ)で異なるプロジェクトのデータセットを利用したい場合や、同一プロジェクト内で異なるリージョンにデータセットを作成したい場合の対応方法を記載します。 背景 社内プロジェクトの一部で、Heroku 上で Rails を動かしつつ、BQ のテーブルを利用し、EXTERNAL_QUERY で Cloud SQL を参照しているシステムがありました。 その際、Heroku・BQ・Cloud SQL のリージョンが異なり、本来2~…
8ヶ月前

自社のデータ基盤を支えるAirbyteの良いところ
PLEX Product Team Blog
この記事は、 PLEX Advent Calendar 2024 の14日目の記事です。 こんにちは、株式会社プレックスのコーポレートチームの金山です。 この記事では「Airbyte」というデータ基盤で使われるツールについて紹介したいと思います。 Airbyteとは Airbyteとは、オープンソースで公開されているデータ同期ツールです。 airbyte.com Airbyteは、様々なデータソースからデータを抽出(Extract)し、データウェアハウスやデータレイクなどにロード(Load)するために使用されます。 例えば、ウェブアプリで使用しているPostgreSQLのデータを、分析用のBi…
8ヶ月前

ReactによるVue.js v2プロジェクトのリプレイス〜基本API からライフサイクルまで〜
PLEX Product Team Blog
Vue.js v2のサポート終了に伴い、Reactへのリプレイスを行いました。リプレイスをスムーズに進めるために、基本機能やAPIの違いをコード例付きで解説します。
8ヶ月前

ISUCON14で入賞した初出場の新卒チームが取り組んだこと
PLEX Product Team Blog
この記事は、 PLEX Advent Calendar 2024の11日目の記事です。 はじめに 2024年に株式会社プレックスにエンジニアとして新卒入社した佐藤祐飛(@yuhi_junior)と申します。 ISUCON14にチーム「黒酢唐揚げサン丼」として出場し、初出場で30位入賞することができました。 順位: 30位 / 834チーム 得点: 24464点 得点推移 全チームスコア ISUCONはつよつよエンジニアが多く参加するので準備なしに好成績を収めることがとても難しいコンテストです。しかし、私たちはチームで入念に準備することで初出場の新卒チームであっても入賞することができました。 本…
8ヶ月前

神田〜三越前周辺のおすすめランチ10選
PLEX Product Team Blog
はじめに こんにちは、プレックスの石塚です。 この記事は、 PLEX Advent Calendar 2024 の10日目の記事です。 ようやくアドベントカレンダーのできる組織の規模になってきて嬉しい限りです! ここまで9件の記事が公開されており、ほとんどが技術的なテーマの記事だったため、このあたりで技術の全く関係のないネタをぶち込んで行きたいと思います。 神田〜三越前周辺のおすすめランチ10選 今回の記事ではプレックスのオフィス近辺である神田〜三越前のエリアでランチ営業を行っているお店の中から、一芸に秀でているお店を紹介していきます。 記事を見てくれた方が、どれか1つでも行ってみたいという気…
8ヶ月前

Semantic LoggerのログをDatadog用にカスタマイズしてみた
PLEX Product Team Blog
こんにちは、Plex Job開発チームの種井です。 この記事は、 PLEX Advent Calendar 2024の9日目の記事です。 DBクライアントツールはDataGripを使っています! よく使う機能はダイアグラム機能です。 背景・課題 前提の確認 環境 Semantic Loggerとログのフォーマット やったこと 1. Datadog Logs用のFormatterクラスを作成する 2. Appenderに作成したFormatterクラスを設定する まとめ おわりに 背景・課題 過去の記事「Railsアプリケーションのログを構造化し、Datadogで活用するまで」の中で、Datad…
8ヶ月前

Heroku で Cloud SQL を利用する方法
PLEX Product Team Blog
Heroku上でWebアプリを運用し、Google Cloud SQLをデータベースとして利用するための設定手順と注意点を解説した記事です。
8ヶ月前

RailsのDelegated Typesで実現する柔軟なモデル設計
PLEX Product Team Blog
この記事は、 PLEX Advent Calendar 2024 の7日目の記事です。 はじめに こんにちは、株式会社プレックスのコーポレートチームの金山です。 この記事では、Railsアプリケーションの設計に役立つ「Delegated Types」について解説したいと思います。 「Delegated Types」がどのような課題を解決するのか、使い方やメリット・デメリット、実際に使ってみた感想をシェアしていきます。 背景と課題 とあるプロジェクトの開発で、通話履歴を管理する機能を実装することになりました。 通話には「企業への通話」と「個人への通話」の2つがあります。 これら2つの異なるモデル…
8ヶ月前

プレックス入社!コーポレートチームで頑張ります!
PLEX Product Team Blog
はじめに はじめまして、プレックスの前川と申します。 2024年11月に株式会社プレックス(以下、プレックス)にエンジニアとして入社しました。 入社して2週間と少しですが、自己紹介を兼ねて入社経緯や入社してからの感想などをまとめておきたいと思います。 一人でも多くの方にプレックスに興味を持っていただけると嬉しいです。 目次 自己紹介 プレックスに入社した理由 入社してからの感想 最後に 自己紹介 私の経歴は以下の通りです。 年月 経歴 2016年5月 某個別指導塾企業へ入社。 教室長と教室売却をしていました。 2022年2月 ポテパンキャンプでRuby on Railsを主に学習 2022年8…
8ヶ月前

TypeScriptの型を復習しましょう
PLEX Product Team Blog
この記事は、 PLEX Advent Calendar 2024の5日目の記事です。 今回紹介する下記の型は、 よく使うもの、見かけた時にすぐに理解しづらいものを選んでいます。 TypeScriptの型を復習しましょう リテラル型 特定の値そのものを型として使用できる機能 // 例1: type Direction = "north" | "south" | "east" | "west" let myDirection: Direction = "north" // OK myDirection = "up" // ❌ エラー: "up"は許可されていない // 例2: // HTTP メソ…
8ヶ月前

【Next.js】Next/Imageの画像プレビューにて発生したメモリリークを追う
PLEX Product Team Blog
Next.jsの「Next/Image」を利用した画像プレビュー機能で発生するSafariブラウザのクラッシュ問題について、メモリリークの実態や発生する原因をXcodeとSafari Web Inspectorを駆使して深掘った調査記事です。
8ヶ月前

【Webフロントエンド開発】モバイルビューをデバッグするためのSimulator/Emulator活用 2024年版
PLEX Product Team Blog
iOS SimulatorやAndroid Emulatorを活用して、MacBook上でスマートフォン実機に近い環境を再現し、Webフロントエンドアプリケーションの開発・検証を効率化する方法を解説します。Next.jsを例に、設定手順やデバッグツールの活用方法を具体的に紹介。実機が不足している場合でも、精度の高い検証をローカル環境で実現できます。
9ヶ月前