VISASQ Dev Blog

ビザスク開発ブログ

技術記事

ビザスクで利用している技術に関する記事。

Salesforce 組織のメタデータを効率的に管理する

はじめに こんにちは! Salesforce チームの林です。 Salesforce は、オブジェクトやフィールド、レイアウト、フロー、クラス、権限、各種設定など、組織を構成するほとんどをメタデータで管理することができます。 Salesforce アプリケーションの開発・運用…

intercomデータ連携

title はじめに 冬です、寒いです。エキスパート開発チームの尾藤です。 弊社では複数のサービスを提供しており、それに伴い様々な外部サービスを利用しています。その中でも今回はintercomについて概要からデータ連携まで紹介します。 intercomができること…

SQLチューニングを業務で対応して新鮮な気持ちになった話

こんにちは、クライアント開発チームのminatoです。 クライアント開発チームでは、クライアントポータルという to B 向けのサービスと、その裏方となる管理画面の開発を担当しております。 私たちのチームでは、プロダクトの開発はもちろんですが、社内の各…

SQLAlchemy 2.0 の autocommit モード廃止とその影響

はじめに こんにちは。エキスパート開発チームの中原です。 エキスパート開発チームでは、新機能開発と並行して、技術負債の解消や開発体験の向上にも積極的に取り組んでいます。 今回はその取り組みの1つとして、SQLAlchemy 2.0 への移行について紹介します…

PythonとDjangoをアップデートする際に便利だったツールの紹介

Python や Django のバージョンアップデートは、新機能の利用や脆弱性対策のために欠かせない作業です。しかし、非推奨になった API の洗い出しや、新しい構文への書き換えを手動で行うのは骨が折れます。本記事では、アップデート作業の効率化に役立った3つ…

クライアントログイン情報フロー + Bulk API 2.0によるSalesforce一括データクエリ

はじめに こんにちは! 開発部 Salesforceチームの伊藤です。 今回はSalesforce組織にOAuth 2.0 クライアントログイン情報フローの接続アプリケーション設定を行い、Bulk API 2.0による一括データクエリを試してみたのでご紹介します。 OAuth 2.0 クライアン…

SalesforceのAPI使用状況をSlackに通知する仕組みを作った話

はじめに こんにちは!Salesforceチームの原田です。 今回は、SalesforceのAPI使用状況をSlackに通知する仕組みについてご紹介します。 SalesforceのAPIコール数とは、外部システムからSalesforceへ行われるAPI呼び出しの合計回数を指します。 Salesforceは…

【Vue.js】Histoire 設定のつまずきポイント & 対処方法!

Vue.js と Histoire で内製コンポーネント郡を整理してみた試みです

React Vs Vue [English]

Introduction After spending years developing with React and Nextjs, I recently joined VISASQ where almost all of the frontend development happens in Vue. I was in a team where we migrated from Vue 2 to Vue 3 and currently in a team where w…

React vs Vue [日本語]

Introduction 私は長年にわたりReactおよびNext.jsを用いた開発に従事してきましたが、最近、フロントエンド開発の大部分がVueで行われているVisasqに入社しました。 入社後、まずVue 2からVue 3への移行プロジェクトに携わり、現在はVue 3とNuxt 3(最近Nux…

SalesforceとDocuSignをJWT認証+指定ログイン情報で安全に連携する

はじめに こんにちは!Salesforceチームの原田です。 今回は、SalesforceとDocuSignをJWT認証+指定ログイン情報で安全に連携する方法をご紹介します。 これを使えば、DocuSign APIを安全かつシンプルに呼び出すことができ、環境ごとの設定切り替えやトーク…

アプリケーションのビルドを高速化した話

はじめに こんにちは!基盤チームの高畑です。 最近異常なほど暑いですが、そんな中車のフロントガラスの油膜とりをしていたら軽度の熱中症のような感じになり久々に頭から水を被りました。 こんな暑さの中洗車とかするもんではありませんね、皆さんも熱中症…

Atlassian Intelligenceをトライアル利用しました

こんにちは、ITチームのナカジマです。 チームではコーポレート開発エンジニアとしてアプリのシステム連携やシステム導入を通して業務効率化や自動化を行なっています。 お仕事内容(過去の記事) tech.visasq.com トライアル背景 生成AIの進化は著しく、IT…

gunicorn/gthreadのロードバランシングを調査

gunicorn/gthreadのロードバランシングを調査 基盤チームの寺坂です。 エンジニアの皆さま(あるいはそうでなくても皆さま)におかれましては「前提を確認する」ことの重要性を存じているかと思います。 以前、他のエンジニアが調査したgunicornのパフォーマ…

手軽にコミット整理する仕組みをfzf-git.shで作ってみた

はじめに こんにちは。フルサポート開発チームの中野です。 皆さんは、開発中に「この修正は以前行ったコミット内で行うべきだった」と思った経験はありませんか。私の場合は、機能実装後に気づいたtypoの修正や、ログ出力の追加忘れなど、本来は元の機能実…

パフォーマンス改善物語

はじめに こんにちは!検索チームのエンジニアをしている寺田と申します。ここ最近は新機能開発だけでなく、品質改善・内部改善に目を向ける機会が増えました。 今回はその中でもパフォーマンスチューニングに目を向け、情報の可視化から課題抽出、実際に改…

Vue.jsにおけるcomposablesを切り出す個人的な考えをまとめてみた

こんにちは、クライアント開発チームの田中智之です! さて、ビザスクではVue.jsを利用してフロントエンドを実装していますがcomposablesの使い方、難しくないでしょうか? 自分自身の解像度を高めるためにも、今回はVue.jsの中でもcomposablesに焦点を当て…

Devin とGitHub Actionsで実現する継続的カバレッジ改善の取り組み

はじめに クライアント開発チームの安野です。 クライアント開発チームでは、クライアントポータルという to B 向けのサービス開発を担当しており、私はそこでフロントエンド・バックエンドの開発に携わっています。 クライアントポータルの内容はこちらから…

Nuxt Devtools で開発効率を高めたい

はじめに こんにちは!クライアント開発チームの安野です。 クライアント開発チームでは、クライアントポータルという to B 向けのサービス開発を担当しており、私はそこでフロントエンド・バックエンドの開発に携わっています。 クライアントポータルの内容…

Google Cloud のリソースを使ってプライベートPythonパッケージリポジトリを作った話

はじめに ビザスク開発本部 検索チームのくまがいです。 Pythonでアプリケーションを書いていると、何度も出てくる値やロジック等を再利用したいニーズがあります。 開発初期ではプログラム内にハードコードされたそれらの値やロジックをコピー&ペーストで…

Vue.js のソースコードを読んでみよう(ref/reactive 編)

はじめに こんにちは、エキスパート/lite 開発の中原です! ビザスクでは主に Vue.js を使用してフロントエンド開発を行っています。 みなさんは Vue.js がどのように実装されているか意識したことはありますでしょうか? ライブラリを使う時その裏でどんな…

Auth0テナントをTerraform管理したい

こんにちは、フルサポート開発の辰己です。 この時期はビザスクのテックブログの更新が盛り上がりますね。 乗るしかないこのビッグウェーブに!ということで今回はAuth0テナント設定をTerraform管理してみたので、その方法について記事にまとめます。 下準備…

Cloud SQL のデータを定期的に GCS へバックアップする仕組みを整えました

はじめに こんにちは!基盤チームの高畑です。 最近シロカのコーヒーメーカーを買ってからというもの、1 日に 5 杯くらいコーヒーを飲み続けてしまっておりちょっと飲み過ぎなのではないかと危機感を覚えています。 手軽にコーヒーが淹れられてしまうのも考…

【Django初学者向け】知っておくと便利な機能

はじめに 本題 本題に行く前に、まずDjangoについて 1. N+1問題を解決しよう select_relatedを使ったクエリ prefetch_relatedを使ったクエリ 2. 大量データを効率的に処理しよう 3. データの存在確認を簡単に 4. 数値の計算をして更新したい場合はFオブジェ…

tooltipで考える手続的、宣言的処理

はじめに フロントエンドの手続き処理といえば 手続き的プログラミングの欠陥と宣言的プログラミングの躍進 tooltipで考える手続的、宣言的処理 手続的ツールチップ 宣言的ツールチップ 終わりに はじめに 開発部エンジニアの田中(智)です。 最近ではコン…

Oktaでデバイストラスト環境を構築してみた話

Oktaでデバイストラスト環境を構築してみた話 はじめに こんにちは、ITチームのオーライです! 【Oktaを使ったデバイストラスト環境構築】についての経験談をまとめています。 実施したこと、振り返り、これからデバイストラストを導入する方に向けて押さえ…

契約書捺印申請ワークフローを効率化しました

ビジネスにおけるさまざまな契約書に対する捺印(サイン)申請は、適切な運用がされるためにコーポレートチームの担当者による判断や管理を通してから、捺印者の手に渡っています。 捺印申請者、捺印者、コーポレートチームが煩雑な作業から開放され、手続き…

朝会にSlack Canvasを使ったら捗った話

毎日の朝会のテンプレートにSlack Canvasを使ったら捗った話を紹介します。

Elasticsearch と On Your Data を使った RAG の実現

「GPT-4o」が5月にリリースされて、この記事を書く準備をしていたら、数日前に「GPT-4o mini」がリリースされて、「マジ!?」 となっている今日この頃 リモート勤務と電気代の天秤に絶賛悩んでいる 検索チームの tanker です。 (一応補足すると、会社から一…

Dependabotを導入してライブラリの脆弱性対策を自動化する

こんにちは!クライアント開発チームの安野です。 クライアント開発チームでは、クライアントポータルという to B 向けのサービス開発を担当しており、私はそこでフロントエンド・バックエンドの開発に携わっています。 クライアントポータルの内容はこちら…