VisasQ Dev Blog

ビザスク開発ブログ

技術記事

@vue/composition-api のバージョンアップを型検査で乗り切った話

アドバイザー/lite開発チーム フロントエンドエンジニアの小柳(@mascii_k)です。 はじめに 弊社サービス「ビザスクlite」では、Vue 2.6 向けのプラグイン @vue/composition-api を 2020/02 から導入しています。 tech.visasq.com ビザスクliteでの導入実績と…

Golang で Cloud Spanner に接続してデータを読み書きしてみた

こんにちは!フルサポート開発チームの高畑(@int_sorarinu)です。 最近になってようやくロボット掃除機を導入してみたのですが、引くほどゴミが取れていて愕然としたとともに、ロボット掃除機の優秀さに驚いている日々を送っている今日この頃、皆様いかが…

アドバイザー検索のフロントエンドを改善した話

アドバイザー/lite開発のたつかわです。 先日 ビザスクlite のアドバイザー検索機能のリニューアルを行いました。リニューアルするにあたりいくつかこだわったポイントがあったため、今回はそれらをまとめて記事を書こうと思います。また、ビザスクliteに未…

Pythonでデータを任意の形式に構造化できるライブラリcattrs

はじめに こんにちは。フルサポート開発チームのshi_maです。先日動物園に行ったらワオキツネザルから勢いよく餌を投げつけられました。好意的に解釈するとおそらくプレゼントだったのでしょう! 今回はcattrsという便利なPythonのライブラリを紹介します。 …

Cloud Pub/Sub Client libraryでのconcurrent.futuresの使われ方を調べた話

はじめに こんにちは。SREチームの西川です。 Cloud Pub/Sub Python Client library のソースコードリーディングを行う機会があり、library内でのconcurrent.futuresの利用方法についてメモしていたので、ついでに記事としてまとめてみました。 ※ この記事は…

個人的オススメの VSCode プラグイン 5 選をご紹介

こんにちは!フルサポート開発チームの高畑(@int_sorarinu、座右の銘:仕事している暇があったらスノボしろ)です。 先日の日曜日に雪山へ行ってスノボという名の雪活をしてきたのですが、慣れないトリックの練習で身体を痛めてしまい月曜日から元気がなく…

drf-yasg で生成した swagger ドキュメントにレスポンスクラスを表示するハック

こんにちは!フルサポート開発チームの高畑(@int_sorarinu)です。 最近お休みの日は雪山に篭りがちで、先日の 3 連休のうち 2 日連続でスノボへ行ったら身体が痛すぎて使い物にならなくなっていました。最近は翌日以降に筋肉痛が襲ってくるようになりちょ…

Redash の Query Results Data Source で MySQL の関数が使えない問題について調べてみた

アドバイザー開発チームのぐりこ ( @glico800 ) です。 普段良く使っている Redash にて Query Results Data Source という機能を使ったところ、ちょっと罠を踏み抜いたので簡単に解説を残しておこうと思います。 Query Results Data Source とは? 複数のク…

ElasticsearchのIntervalsクエリで単語間の位置を考慮した検索を行う

こんにちは、検索チームのよこやまです。 最近単語の位置を考慮した検索について調べる機会があり、ElasticsearchのIntervalsクエリを確認していたため、調べた一部をご紹介できればと思います。Intervalsクエリは意外と使用している例が見つかりづらく、パ…

Sentry+Datadogで「運用の属人化」の壁を越えようとしている話

はじめに こんにちは。SREチームの西川です。現在、ビザスクではサービスのインフラ基盤のリプレイスに伴い、Sentry+Datadogを用いたサービス監視体制を整備しています。その中で、継続的に抱えていた「運用の属人化」という課題に対して、ツール面からアプ…

ZoomのAPIを使ってミーティングを作成して第三者に提供する

こんにちは、フルサポート開発チームのイトウです。 昨今ではZoom等のWeb会議ツールでミーティングを行う機会も多いと思います。弊社のスポットコンサルサービスでも、インタビューの際にZoomが使用されることがあります。本記事では、Zoomのミーティングを…

GASでMicrosoft Graph APIを使う

どうも、みともりです。今回はGAS(Google Apps Script)でMicrosoft Graph APIを使ってSaaSのアカウントをプロビジョニングしてみたというお話です。需要がありそうな割にGASでGraph APIを使うサンプルがあまり無かったため、誰かのお役に立てばと思いアウト…

チームの運用業務で Datadog をフル活用してみた話

こんにちは!フルサポート開発チームの高畑です。 先日バス釣りに出かけた時に暑すぎて腕を捲りながら過ごしていたら夏休み明けの小学生のような日焼けをしてしまいどこか懐かしい気持ちになりました。 さて今回は、フルサポート開発チームで実施している「…

Salesforceの開発フローを改善した話

ビザスク プラットフォーム開発部 SRE/SFチームの蓮尾 です。ビザスクで利用しているSalesforceの保守運用やエンハンス開発を担当しています。 去年、Salesforceの開発フローを改善しました。どのように改善したのか、なにが改善されたのかをご紹介したいと…

コーディングが捗るおすすめ VSCode ショートカット3選【デモ動画付】

アドバイザー開発チームのぐりこ ( @glico800 ) です。 最近同じチームの山元さんにペアプロで教えてもらったり、自分で調べたりした VSCode ショートカットの中から特にコーディングが捗ると思ったものを3つご紹介します。 「他にも便利なショートカットを…

スタートアップのテレフォニー戦略

こんにちは!ビザスクのITチームの水戸守です。社内ITの管理などのコーポレートエンジニア(情シス)をやってます。最近気温が上がり、マスクのせいか肌荒れがひどくなって困ってます。早くマスク外したいですね。 さて今回はテレフォニー。つまり電話関連のお…

vue-tsc を使った TypeScript Strict Mode の漸進的導入

こんにちは、ビザスクアドバイザー開発チーム、フロントエンドエンジニアの山元(@yamagen0915)です。 はじめに 弊社にはいくつかのフロントエンド環境があり、その中には TypeScript の strict mode が有効でない環境もあり、それらを strict mode が有効な…

SLO運用の振り返りを実施した話

こんにちは。SREチームの西川です。 SLOの運用開始から1年ほど経過した段階で、SREチームでSLO運用の振り返りを行いました。今回は、SLO運用の振り返りの内容やそれを踏まえてSREチームとしてどのようなことを考えているかについてまとめてみます。 SLOの策…

Vue Composition API とユニットテスト

ビザスクアドバイザー開発チーム、フロントエンドエンジニアの山元(@yamagen0915)です。 弊社では新しく開発する画面やリニューアルを行う画面において積極的に Composition API を採用しています。 この記事では Composition API を利用しているコンポーネ…

Python×Slack APIで使っていないカスタム絵文字を調べてみました

アドバイザー開発チームのぐりこ ( @glico800 ) です。最近ふと登録したけど全く使われていないカスタム絵文字ってどれくらいあるのだろうと思い、Python と Slack API を使って調べようとしたら、意外と参考になるコードが少なかったり、Slack App 周りの仕…

Dataflowを使った検索ログのETL基盤

桜の花より団子な 検索チームの tanker です。 (管理画面検索の概要については 以前の投稿を参照ください) 管理画面検索にキーワードサジェスト機能を追加しようとした際に、過去の RM (リサーチマネージャー) の検索クエリーなどから辞書データを生成してお…

Sudachiを使った同義語辞書の拡充

検索チームの tanker です。 弊社のフルサポート形式の場合、スタッフがクライアントからどんな人に話を聞きたいか要望をヒアリングし、登録されているアドバイザーを専用の検索システムを使って探しています。 ただし、クライアントから出てくる単語とアド…

SLO Adoption (SLOの導入) を進めてどうなったか?

こんにちは。今年の8月にSREチームにjoinした西川です。 ビザスクでは、今年の春頃からDatadogを用いた監視環境の整備と開発チームへのSLI/SLOの導入を進めています。本記事では、SLI/SLOの導入をどのように進めてきたか、導入する中での気付きと今後の課題…

ビザスクが Vue Composition API を導入するモチベーション

ビザスクlite事業部フロントエンドエンジニアの小柳(@mascii_k)です。 弊社では Vue.js 2.6 を利用していますが、AngularJS や jQuery などで実装された古いフロントエンド実装を Vue.js でリプレイスしている状況です。そんな状況の中、ビザスクlite の「事…

Slack + Zapierでメンションを見落とさないハック

フルサポート開発チームの喜多(きた)です。ビザスクには2017年10月10日に入社したので祝3周年です 当時の社員数は30名程度でしたが、3年の時を経て100人超になりました。100人くらいまでは全員の顔と名前をインプットできていたのですが、リモートによる対…

JamfでPC稼働時間を集計する

コーポレートグループITチームのみともりです。今回はJamf初心者なりにAPIを使って色々頑張ってみたお話となります。 背景 リモートワークが当たり前の現在ですが、みなさん自宅で仕事をしていると辞め時が分からなくなってつい遅くまで仕事をしちゃうことっ…

レガシーGAEからの脱却に向けて

ビザスクに入社してから半年が経ちました。松下です。 弊社サービスサイト(https://service.visasq.com/)はGoogle App Engineの Python2 スタンダード環境(以後、GAE SE 1st)で動作しています。 中々レガシーな印象ですが、サービスがスタートしてしばら…

検索の KPI (評価指標)をとりたい!

検索ページの施策って評価しづらくないですか? 検索エンジニアの tanker です。 前職でも、弊社でも同じような声をよく聞きます。 https://tech.visasq.com/es-spec-projection-on-gce-1/ 私 (tanker) が 開発を行っている社内スタッフ用の検索システム (上…

Vue 3に向けてUIコンポーネントのマイグレーションの検証をしました

ビザスクlite事業部フロントエンドエンジニアの小柳(@mascii_k)です。弊社ではモダンなフロントエンド開発手法にシフトしつつあり、Figma で構築したデザインシステム上でデザインし、それに対応するものを Vue.js 2.x 系で実装する開発がスタンダードとなっ…

GCPで基本に戻って始める実践 Infrastructure as code再入門#4

こんにちは! 2020年2月からSREチームにJoinしました木村です!仕事をする上での座右の銘は「明日交通事故にあってもシステムと仕事を回せるようにすること」です。 基本に戻って始める。と表題では書いていますが、私元々はAWS職人でGCPに本格的にコミットし…