技術
こんにちは、UPSIDERでVPoEを務めている泉(@yizumi)です。 先日、代表の宮城がUPSIDERの激動の半年間の舞台裏と未来のことを綴ったブログがでました。 note.com 本ブログでは、UPSIDERの技術面での進化とこれからのチャレンジについて、僕の視点からも書い…
はじめに こんにちは!PRESIDENT CARDチームのQAを担当しているmizukiです 私たちのチームでは、ユーザーに最高の体験を届けるため、日々プロダクトの品質向上に取り組んでいます。 今回は、そんな私たちがたどり着いた「AIと一緒に爆速でテストを作る方法…
こんにちは、UPSIDERで請求関連の機能の開発を担当しているチームです。 本記事では、Temporal というフレームワークを活用した Durableなワークフロー開発についてご紹介します。 私たちのチームでは、UPSIDERのさまざまなサービスにまたがる請求関連をスム…
こんにちは!! 株式会社UPSIDERの支払い.comでフロントエンドエンジニアをしていますOkahashiです! 今回は、支払い.comチームで活用しているフロントエンドのプレビューデプロイの仕組み について紹介します。 Backendのプレビューについても記事がありま…
こんにちは!花粉で苦しんでいる支払い.com EMの大聖寺谷です! 今回は支払い.com バックエンドチームで運用しているPull RequestごとにKotlin/KtorをCloud Runにプレビューデプロイする方法について紹介したいと思います。 背景 機能開発時、ユニットテス…
こんにちは、UPSIDER のデータチームです。 UPSIDER では、複数の事業を展開する中で、事業間のシナジーを最大化を目指し、昨年から Salesforce の導入を進めています。このプロジェクトは、単なるツール導入にとどまらず、営業やカスタマーサポート、事業開…
AIで企業の経理業務を変革する――OCR精度向上とコスト削減でユーザー体験を革新するまで
UPSIDERで2023年8月よりVPoEを務めている泉です。 先日、株式会社UPSIDERはシリーズDとして総額154億円の資金調達を実施いたしました。 調達した資金は、既存事業の拡大と新規事業の開発に投資いたします。 前回の投稿から少し時間が経ってしまっていますが…
UPSIDERでエンジニアをしている太田です。 (@Hide55832241) この記事ではZodとOpenAPI Generatorを使用し、日付文字列をBrand型で扱う方法について紹介します。 TypeScriptを使用したフロントエンドのアプリケーション開発で日付をstring型で扱う際に困るこ…
この記事では、Reactを使用して絞り込みフォームを作成する方法について解説しています。フォームはアプリケーションの重要な機能の一つですが、検証やクエリストリングとの連携など、実装が複雑になることが多いため、実装者によって大きな差が生じる部分で…
UPSIDERが今後開発・運用を目指して考えたFlutterアプリ向けアーキテクチャを紹介します
はじめに こんにちは、株式会社UPSIDERでフロントエンドチームに所属している久保です。 今回は、リリースから走り続けてきた法人カード「UPSIDER」(以下、UPSIDER)のフロントエンドを、NuxtからNextにリプレイスしている話を共有します。 リプレイスに至…
はじめまして、UPSIDERで2023年8月からVPoEを務めている泉です。 前回の投稿からほぼ一年、間が空いてしまったようですが、やはり発信していくことでエンジニアコミュニティーとのエンゲージメントを深めたり、会社のカルチャーや、技術・プロダクトを紹介す…
DBトランザクション内でsuspendする処理を、大量のコルーチンで並行実行してはならない。その理由と解決法。
こんにちは! UPSIDERのWebチームでサーバサイドKotlinを書いているエンジニアのおかだです。 突然ですが、コルーチンの並行処理数、制限したくなったことありませんか? ぼくはよくあります。 数千数万という数のコルーチンを同時に起動することもできる、…
支払い.com で主にバックエンド全般を担当しているエンジニアの水村です。 支払い.comのエンジニア組織はまだまだ整備中で課題も多く、カオスな状況です。そんなカオスな状況を改善するため、やらないようにしていることや、意識的にやっていることなどをま…
こんにちは。決済チームでエンジニアとして働いている芦川です。 UPSIDER Tech blog 第2弾として「決済チームがテストコードを書く際に気をつけていること」を紹介しようと思います。 TL;DR 100%のテストカバレッジを目指す テストはブラックボックスを優先…