バイセル Tech Blog

バイセル Tech Blogは株式会社BuySell Technologiesのエンジニア達が知見・発見を共有する技術ブログです。

バイセル Tech Blog

スムーズなPostgreSQLアップグレード実現の為に調査、検証した話

はじめに テクノロジー戦略本部開発1部の伊与田です。 私はAXISという在庫・販売管理システムのチームでバックエンドエンジニアとして開発、運用を担当しています。 今回は私が実施したPostgreSQLのアップグレード対応について、書いていきたいと思います。 …

アーキテクチャディシジョンレコード(ADR)で判断の根拠を残す

はじめに こんにちは。バイセルテクノロジーズ テクノロジー戦略本部 開発 1 部の市田です。 バイセルでは様々なプロダクトを運用しており、「アーキテクチャディシジョンレコード」(Architecture Decision Record: ADR)のようなドキュメントを活用しながら…

リッチテキストエディタフレームワークLexicalの実践的な使い方

こんにちは。開発2部の富山です。今回はリッチテキストエディタフレームワークLexicalの実践的な使い方を紹介していきます。複雑な実装になると開発に苦労したのでLexicalの実践的な使い方の知見を共有できたらと考えています。

安心・安全なサービス開発のためのDependabot運用

はじめに こんにちは。 開発2部の浅香です。 私たちのチームではDependabotを使ってフロントエンドのパッケージのバージョン管理や、脆弱性のチェックを行っています。 今回の記事ではDependabotとは何かといったようなツールの説明は行わず、どのようなフロ…

react-hook-formの最新機能!Formコンポーネントの紹介

はじめに こんにちは! 開発 2 部の小林です。 バイセルでは最新の機能を積極的に使える環境が整っており、各プロジェクトのエンジニアが日々最新の技術を調査し、社内で共有を行なっています。 今回は技術調査の一環として、react-hook-form(以後 RHF とす…

経験から学ぶAuth0のSAML連携

はじめに テクノロジー戦略本部開発2部の山口です。 バイセルでは現在、新しい基幹システムの開発をマイクロサービスで進めています。 その基幹システムの認証・認可にはAuth0を採用しているのですが、 既に稼働している基幹システムの認証・認可には、Activ…

react-hook-formとZodで作る型が動的なフォーム

はじめに こんにちは! 開発 2 部の小林です。 弊社の各プロジェクトでは、React Hook Form (以後 RHF とする) と Zod を用いて、様々な要件のフォームの実装をしています。 今回は、API 側から取得した値に基づいて、text, number, checkbox のように、入力…

BuySell Technologies 開発合宿参加者レポート (2023年)

はじめに こんにちは。開発2部の小松山です。 先日「開発合宿」なる楽しい社内イベントがありました 本記事では参加者である私の目線から、当日の様子や自身がどのような開発をしたか等を感想を交えてお伝えします。 開発合宿の運営メンバー目線での記事も…

開発合宿の運営のすすめ -初めての開発合宿の計画から実施まで-

はじめに こんにちは! 開発2部の飯島です。 先日、バイセルで初めて開発合宿を開催しました。 本記事では、合宿の運営リーダーを務めた私の目線で、計画から実施まで運営側がどのようなことを検討し、何を行ったのかをお伝えします。 初めての開発合宿を計…

MagicPod実行後の本番デプロイを自動化するための自作GitHub Actions

背景 MagicPod について GitHub Actions での MagicPod Web API の利用 現状のワークフローの課題 MagicPod のテスト実行と production デプロイが同時に走る 解決策 使い方 実装 GitHub Actions について Docker Container JavaScript Action Composite Act…

HasuraのRemote Schema to Database Relationshipsを用いたElasticsearchとの検索連携

はじめに こんにちは。開発2部の尾沼です。 私の所属するチームでは最近、HasuraとElasticsearchを組み合わせて検索を行えるようにしました。今回はこれを実現するために私たちが採用した方法を紹介したいと思います。 はじめに 背景 採用した構成 前提 方針…

快適にスキーマ駆動開発をするためのGraphQLエラー設計

はじめに こんにちは。開発2部の小松山です。 業務でGraphQLのエラーの設計をする機会があり、いろいろと調査・検討した結果、なかなか良いと思えるものができたので紹介します。 本記事はバックエンド寄りの話がメインです。GraphQLのエラーの扱いに迷って…

MUIをベースにしたデザインシステムの構築

こんにちは、開発2部の早瀬です。 自分のチームではフロントエンドにReact(Next.js)を採用しており、MUIをベースにしたデザインシステムを構築して開発を行なっています。 そこで今回はデザインシステムの構築に至った背景や、具体的な取り組みを紹介した…

React Hook Form + Zodにおける型不整合の解消

はじめに こんにちは! テクノロジー戦略本部 開発二部の金子です。 自分が担当するプロジェクトでは、React Hook Form (以後RHFとする) と Zod を用いてフォームの実装をしています。 この組み合わせは強力ですが、Zod スキーマから生成される型を useForm …

Render Propsのコールバック地獄を解消するユーティリティーを公開した

はじめに こちらは バイセルテクノロジーズAdvent Calendar 2022の25日目の記事です。 昨日は小林さんによる「実務で使った React-Hook-Form × Zod の事例紹介」という記事でした。 こんにちは! テクノロジー戦略本部 開発二部の金子です。 自分が担当する…

実務で使った React-Hook-Form × Zod の事例紹介

はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の 24 日目の記事です。 前日の記事は田中さんの「環境構築をコマンドでまとめてみた」の記事でした。 ​ こんにちは! テクノロジー戦略本部 開発二部の小林です。 ​ 自分が担当したプロジェク…

環境構築をコマンドでまとめてみた

はじめに こちらは バイセルテクノロジーズ Advent Calendar 2022 の 23 日目の記事です。 前日の記事は高谷さんの「全社員がSQLを書けるようBQの権限やデータソースを整理して運用している話(後編)」でした。 こんにちは!株式会社バイセルテクノロジーズ…

全社員がSQLを書けるようBQの権限やデータソースを整理して運用している話(後編)

こちらは バイセルテクノロジーズ Advent Calendar 2022 の22日目の記事です。 前日の記事は 杉田さんの「手動送金地獄をシステム化して作業時間を50%削減した話」でした。 こんにちは! 株式会社バイセルテクノロジーズのテクノロジー戦略本部データサイエ…

手動送金地獄をシステム化して作業時間を50%削減した話

はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の21日目の記事です。 前日の記事は今井さんの「HasuraやAPI Gatewayを活用してマルチテナントなマイクロサービスを効率よく開発する」でした。 こんにちは。テクノロジー戦略本部 開発1部の杉…

HasuraやAPI Gatewayを活用してマルチテナントなマイクロサービスを開発する

こちらはバイセルテクノロジーズ Advent Calendar 2022の20日目の記事です。 前日の記事は富澤さんの「standaloneモードを利用してNext.jsのデプロイ速度を改善した話」でした。 こんにちは。テクノロジー戦略本部 開発二部の今井です。 私は現在、リユース…

standaloneモードを利用してNext.jsのデプロイ速度を改善した話

はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の19日目の記事です。 前日の記事は天野さんの「ゼロトラストに向けての下地作り、Azure AD Connectの構築」でした。 こんにちは! 開発2部の富澤です。 私が参画しているプロジェクトではNext…

ゼロトラストに向けての下地作り、Azure AD Connectの構築

はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の 18日目の記事です。 昨日は飯島さんによる「OSS コミットのすすめ - TypeScript ESLintを事例に」という記事でした。 こんにちは。テクノロジー戦略本部情報システム部の天野です。 今期情…

OSS コミットのすすめ - TypeScript ESLintを事例に

はじめに こちらはバイセルテクノロジーズ Advent Calendar 2022の17日目の記事です。 前日の記事は田村さんの「こっそり作る変更履歴テーブル - CDC(Change Data Capture) を使って」でした。 こんにちは! テクノロジー戦略本部 開発2部の飯島です。 突然…

こっそり作る変更履歴テーブル - CDC(ChangeDataCapture)を使って

こちらは バイセルテクノロジーズ Advent Calendar 2022 の 16 日目の記事です。 前日の記事は 福田さんの「負荷対策(パフォーマンスチューニング)の運用を 0 から作って定例化する知見」でした。 はじめに テクノロジー戦略本部データサイエンス部の田村…

負荷対策(パフォーマンスチューニング)の運用を0から作って定例化する知見

こちらは バイセルテクノロジーズ Advent Calendar 2022 の15日目の記事です。 昨日は高谷さんによる全社員がSQLを書けるようBQの権限やデータソースを整理して運用している話(前編)という記事でした。 はじめに 福田です。Webサービスを良い感じにするた…

全社員がSQLを書けるようBQの権限やデータソースを整理して運用している話(前編)

こちらは バイセルテクノロジーズ Advent Calendar 2022 の 14 日目の記事です。 前日の記事は菅原さん「iOSアプリを誰でも簡単にビルドできるようにする」でした。 こんにちは!株式会社バイセルテクノロジーズのテクノロジー戦略本部データサイエンス部の…

iOSアプリを誰でも簡単にビルドできるようにする

こちらはバイセルテクノロジーズ Advent Calendar 2022の13日目の記事です。前日の記事は畑さんの「Ruby on Railsで発生していたN+1を解消してパフォーマンスを改善した話」でした。 株式会社バイセルテクノロジーズの開発1部でiOSエンジニアとして所属して…

Ruby on Railsで発生していたN+1を解消してパフォーマンスを改善した話

はじめに こちらは バイセルテクノロジーズ Advent Calendar 2022 の 12 日目の記事です。前日の記事は小松山さんの「GitHub Actions から Cloud Run ジョブで Google Cloud のプライベートネットワーク内へアクセスした」でした。 こんにちは。 2022/07月か…

GitHub Actions から Cloud Run ジョブで Google Cloud のプライベートネットワーク内へアクセスした

はじめに こちらは バイセルテクノロジーズ Advent Calendar 2022 の 11 日目の記事です。前日の記事は近藤さんの「Databricks で綺麗にメダリオンアーキテクチャを構築するために実装ルールを決めた話」でした。 こんにちは。バイセルテクノロジーズ テクノ…

Databricksで綺麗にメダリオンアーキテクチャを構築するために実装ルールを決めた話

こちらは バイセルテクノロジーズ Advent Calendar 2022 の10日目の記事です。 前日の記事は 稲川さんの「Railsでscopeとeager_loadを組み合わせて関連テーブルのデータを一括取得した話」でした。 テクノロジー戦略本部データサイエンス部の近藤です。202…