BATONZ Tech Blog
https://batonz-tech.hatenablog.com/
M&Aプラットフォーム運営の株式会社バトンズによる技術ブログです。
フィード
ArcブラウザBoost機能でMagicPodを自分好みにカスタマイズ!
BATONZ Tech Blog
こんにちは。株式会社バトンズでエンジニアをしている鈴木です。 バトンズでは2024年度からMagicPodを導入し、QAチームでのテスト自動化を推進しています。 私自身も今年の11月からMagicPodを使用し始め、日々のテスト業務をより効率化し、快適にする方法を模索しています。その中で、MagicPodのUIや挙動をカスタマイズすることで、さらに使い勝手を向上させられるのではないかと考えました。 そこで活用したのが、私が普段愛用しているWebブラウザArcに搭載されているBoost機能です。この機能を活用して、以下のようなカスタマイズを実現しました。 テスト実行時のスクロール追従 テスト実行…
1ヶ月前
【Rails】enumの名称変換をcase文を使わずにSQLレベルで行えるようにする仕組み
BATONZ Tech Blog
こんにちは! 株式会社バトンズでエンジニアをしているyamafです。 当社が運営するM&Aプラットフォーム「BATONZ」はサーバーサイドフレームワークとしてRuby on Railsを採用しています。 今回はRailsにおいてenumで定義されているフィールドの名称をSQLレベルで取得できる仕組みについてお伝えしたいと思います。 要約 RailsアプリケーションでDBのenum値に対応するラベル(表示名称)をSQLで取得する際、一般的には次のようなcase文を記載すると思います。 SELECT t.id, t.status, case t.status when 0 then '未着手' w…
2ヶ月前
【Vue Fes Japan 2024】Vueに恩返し:7年お世話になっているのでボランティアにいきました
BATONZ Tech Blog
まぁ、恩返しどころか恩恵を授かって帰ってきましたけれども!! 初めまして。株式会社バトンズの土屋と申します。 バトンズには2024年7月から参画させていただいております。前職はフロントエンド系フリーランスエンジニアです。 先日、Vue Fes Japan 2024のボランティアへ行ってきまして、終始とても楽しく、学びあり刺激あり笑いありの1日を過ごせましたので、執筆させていただきます。 Vue Fesの様子や、得た知見・感想など書いています。 本稿を通して、Vueに関わる人が増え、世のプロダクトもVue自体もよりよくなっていく一助になればと思います。 ネームカードを下げていました ボランティア…
2ヶ月前
とある帰阪エンジニアが、Developers Summit 2024 KANSAI(デブサミ関西)に参加してきました
BATONZ Tech Blog
バトンズエンジニアのほんま@CkRealです。 私は2年前大阪に帰阪し、普段は大阪から業務を行っているため、最近の技術系イベントは関西開催のイベントに参加しています。 先日、Developers Summit 2024 KANSAI(デブサミ関西)に参加してきたので、そのときの参加レポートを書かせていただきます。 セッション資料については、イベント参加者に共有されるセッションもあったりするので、X上で公開されているものを転記しています。 イベントタイムテーブル event.shoeisha.jp タイムテーブルの通り、会場はAトラックとBトラックに分かれており、聴講者はどちらかのトラックに参加…
3ヶ月前
Amazon QuickSightのアセットをエクスポートする際、「NetworkInterfaces should have more than 1 item for VPC connection」というエラーに遭遇したときの作業メモ
BATONZ Tech Blog
バトンズエンジニアのほんま@CkRealです。 バトンズでは、社内のBIツールとしてQuickSightを利用しています。 先日、このQuickSight上に作成されていた、とあるダッシュボードをエクスポートしておきたい要件が発生しました。 その作業中、表題のようなエラーに遭遇したので、今回はその対応内容を備忘録として記事を執筆させていただいています。 どのような状況が発生したのか 今回の作業では、下記のブログでも紹介されているQuickSightのアセットをエクスポートするコマンドを使って、 作業担当者がQuickSightのダッシュボードをエクスポートを試みていました。 dev.class…
4ヶ月前
GitLabのOpenTofuコンポーネントとOIDCを使って、アクセスキーを発行せずにAWSリソースを構築してみた
BATONZ Tech Blog
バトンズエンジニアのほんま@CkRealです。 バトンズではソースコード管理にSaaSのGitLabを使っており、サービスはAWS環境で運用しています。 バトンズ入社後に稼働中のAWSリソースをIaC(Infrastructure as Code)化しようと、terraformで環境を整えようと考えていたのですが、GitLabの公式ドキュメントにおいて、terraformテンプレートが将来的に削除される旨が記載されていました。 docs.gitlab.com The Terraform CI/CD templates are deprecated and will be removed in …
7ヶ月前
RubyMine 2023.3を使い始めたらlint-stagedで実行しているRuboCopの実行が終わらなくなってハマった
BATONZ Tech Blog
こんにちは。株式会社バトンズでエンジニアをしている鈴木です。 先日開発中にハマった出来事についてご紹介します。 要約 RubyMine 2023.3から、RuboCopのサーバーモードがサポートされるように RuboCopのサーバーモードのプロセスが起動していると、lint-stagedで実行したRuboCopが終了しない lint-stagedでRuboCopを実行する際に、--no-serverオプションを付与して解決 問題発生:RuboCopが終わらない・・・ 弊社バトンズのとあるサービスの開発では、Ruby関連のファイルのコミット時に、gitのpre-commitフックの仕組みで、Ru…
1年前
利用頻度の低いフラグをカラムを追加せずに管理する方法
BATONZ Tech Blog
こんにちは、バトンズのエンジニア山本です。 アプリケーションを開発しているとテーブルにフラグを追加したい要件が出てきます。 フラグはそのレコードが特定条件に当てはまるかどうかを端的に表すのに便利です。 例えばユーザーのメールアドレスが確認できたらTRUEにするカラムがあるとします。 BATONZでもメールアドレスの確認がサイトの利用に必須なので、 多くのユーザーのレコードでTRUEが設定されています。 このようなメジャーな機能のフラグは特に考えることもないのですが、 機能が増えていくと条件に該当するレコードが少なくかつ、あまり参照もしないフラグというのも出てきます。 フラグを追加する場合、専用…
1年前
generate_seriesとCROSS JOINを用いた月次集計SQL
BATONZ Tech Blog
こんにちは! 株式会社バトンズでエンジニアをしているyamafです。 エンジニアはマーケや営業からデータ集計の依頼を受けることがよくあるのではないでしょうか。 以下のようなデータ集計の依頼があった場合、皆さんどのように取得しますか? 企業別の新規ユーザー登録数を月毎に出してほしい。 期間は2022年10月から2022年12月まで。 その後のデータ分析の都合上、月毎に抜けもれなくカウントを出してほしい。 例えば、その月対象企業が登録がなかった場合でもカウントは0と出してほしい。 以下のイメージ。 企業名 月 ユーザー登録者数 株式会社AAA 2022-10 3 株式会社AAA 2022-11 0…
2年前
M1、M2 MacでPSequelを使う
BATONZ Tech Blog
こんにちは! 最近Intel MacからM2 Macへと乗り換えました、株式会社バトンズでエンジニアをしているr1hです。 PCを新調するとテンション上がりますよね。 PCを新調したことで必然的にデータ移行が必要になり、Macに標準で搭載されている「移行アシスタント」を利用してみましたが便利ですね。 コンソールの設定や各ツールの設定まで上手く移行されていて感動しました。 しかし、当然ながら一部のアプリケーションは非互換により動作しませんでした。ただ、設定値は移行ができているのであれば、使い慣れたアプリケーションを利用したいですよね? そこで今回はM2 Macで利用できなかったMac OS用のP…
2年前
フルスクリーンモードのVDialogに任意のz-indexを設定する方法
BATONZ Tech Blog
利用環境 Nuxt: 2.16.1 Vuetify: 2.6.14 はじめに 今回は長らくバトンズのエンジニアを悩ませた「フルスクリーンモードのVDialogがグローバルナビゲーションより前面に表示できない問題」についてお話ししたいと思います! ※ 分かりやすさのため必ずしも正確な表現になっていないところもありますが、ご了承くださいませ。 「フルスクリーンモードのVDialogがグローバルナビゲーションより前面に表示できない問題」とは? 直面した問題としては、読んで字の如く、グローバルナビゲーションよりフルスクリーンモードのVDialogを前面に表示したいのに常にグローバルナビゲーションが前面…
2年前
第1回LT大会を開催しました!
BATONZ Tech Blog
はじめまして!株式会社バトンズでエンジニアをしている麻婆豆腐とメロンパンが大好きr1hです。 バトンズではプロダクトの改善、個々のスキルアップを目的とした有志での勉強会や委員会活動を行っています。 今回の記事では、その一環として行った『第1回バトンズエンジニアLT大会』について触れていきます。 そもそもLTとは? LTとは『Lightning Talk(ライトニング トーク)』の略です。稲妻の名の通り、5分などの短時間で行うプレゼンテーションを指します。 また、LTのメリットとしては、 伝える能力の向上 技術に関する知見の共有 などが挙げられます。 開催形式 今回バトンズでは以下のような形式で…
2年前