BASEプロダクトチームブログ

ネットショップ作成サービス「BASE ( https://thebase.in )」、ショッピングアプリ「BASE ( https://thebase.in/sp )」のプロダクトチームによるブログです。

Webサービス開発

SMS OTP で使われるメッセージの形式の歴史

はじめに 本記事はBASE アドベントカレンダー 2023の14日目の記事です。 こんにちは!NEW Dept/Pay ID Dev/Web Backendエンジニアをしている@zanです。 主にPay IDの機能開発を担当しています。 SMS OTPで用いられるメッセージの形式を題材に、 どのような経…

180件のPRを遡って、良いレビューコメントをLintのルールに組み込んだ

過去のプルリクエストを遡り、ルール化できるものをPHPstanのカスタムルールとして記述しました

開発チームで取り組んだ働き方の実験10選(後編)〜 スクラムイベントとか GitHub とか

本記事は BASE アドベントカレンダー 2023 の6日目の記事です。 はじめに こんにちは。 Shop to Shop チームでマネージャーをしている髙嶋です。 本記事は昨日からの続編になりますので、前編については以下の記事を参照ください。 devblog.thebase.in さて…

開発チームで取り組んだ働き方の実験10選(前編)〜 出社とか雑談とか

本記事は BASE アドベントカレンダー 2023 の5日目の記事です。 はじめに こんにちは。 Shop to Shop チームでマネージャーをしている髙嶋です。 役割としてはエンジニアリングマネージャー(以下 EM)と言われるものを想像していただくとイメージしやすいか…

ドメイン知識をフル活用した「あと払い(Pay ID)」の新規開発

導入 BASEでは、2023年3月頃に「あと払い(Pay ID)」というBNPL(Buy Now Pay Later)のサービス提供を開始しました。BNPLとは、いわゆる後払い決済のことで、今回、BNPLのシステムを一部内製化した上で、世の中にリリースしました。BASEとしては「決済手段…

BASEという大きなプロダクトでドメインを移行した話

はじめに どうも。BASEで開発をお手伝いしている 林(@intele) です! 今回はBASEという大きなプロダクトでドメインを移行した話を、エンジニア目線で、振り返りながらお話したいと思います。 何をやったか BASEで使用しているドメインを thebase.in から the…

CakePHP 2 のテストを PHPUnit 9で動かしてみた

CakePHP2 はまだまだ現役です。 継続的に利用するために必要な PHP 8.0 はすんなり動いたことの報告と PHPUnit 9 対応のコツと具体的なサンプルを紹介します。

IdPとしてSAML認証機能を自前実装した

はじめに みなさんはじめまして。BASEでエンジニアをしております田村 ( taiyou )です。 先日、BASEではショップオーナー向けのコミュニティサイト「BASE Street」にログインするための機能としてSSOログイン機能をリリースしました。 SSOログインを実現する…

サーバーサイドエンジニアがフロントエンドに挑戦して最高の経験になった話

⛰ はじめに こんにちは。Owners Marketing所属の 若菜 です。 今回は、普段サーバーサイドエンジニアとしてプロダクト開発に従事している私が、BASEのフロントエンド開発に携わった経験をお話しさせていただきます。 結論、 付加価値がいくつもあった非常に…

SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開

こんにちは。Pay ID Devの大木 (@roothybrid7)です。 今回外部スクリプトとして読み込み利用する外部SDKを、Reactに組み込むためのラッパーライブラリを作ったので、その開発事例を紹介します。 今回、SWC(Speedy Web Compiler)やRelease Pleaseを利用して開…

GitHub Actionsで「OpenAPI の自動バージョニング」から「API Clientのnpmパッケージ生成」までを完全自動化 〜bypass機能を利用してみました〜

Platformグループでマネージャーをしている松田( @tadamatu ) です。 この記事に書いてあること GitHub Actions を利用し 「OpenAPI の自動バージョニング」から「API Clientのnpmパッケージ生成」までを完全自動化 したのですが、その際に ハマったこと、…

フロントエンドのコードからの情報漏洩を防ぐための工夫

基盤チームの右京です。 昨今はフロントエンドのアプリケーションもリッチになり、ブラウザ上で実行されるコードが行うことの範囲も増えてきました。一方で多くのことを実装できてしまうのはリスクでもあり、BASE でも問題となることがあります。 その中でも…

BASE に入社して半年、開発力があがったんじゃないか?という話

こんにちは。バックエンドエンジニアの髙嶋です。 今回は、私が BASE に転職するに至った動機の一つでもある「開発力をあげたい」ということについて、実際入社してどうだったかを半年が経過した今、あくまでも私個人の経験としてお話しさせていただこうと思…

AWS App RunnerとGitHub Actionsでレビュー環境を構築する

この記事はBASE Advent Calendar 2021の22日目の記事です。 はじめに はじめまして、Owners Success Frontend Shop Frontチームの坂口です。 普段はフロントエンドエンジニアとしてVue.jsを使った開発をメインに行なっているのですが、チームでプロジェクト…

外部サービスの不確実性をハンドリングする設計戦略

エンジニアにとって、外部企業から提供されるAPIやCDN(Content Delivery Network)といった『外部サービス』をどう扱うかは悩ましい問題です。この記事では、2021年11月にリリースを行なった「Akamai Image Video Manager の導入プロジェクト」を例に、外部…

ブラウザのNavigation Timing APIとdocument.referrerを使って特定ページからの初めての遷移を判定する

この記事はBASE Advent Calendar 2021の19日目の記事です。 BASE BANK株式会社でエンジニアをしている若野(@sam8helloworld)です。 私が普段見ているサービスではBASEの他のアプリケーションや外部サービスのページから遷移してくることがよくあります。 さ…

BASEの顧客管理はどのようにして実現されたか

この記事はBASE Advent Calendar 2021の2日目の記事です。 devblog.thebase.in はじめに こんにちは!BASEでエンジニアをやっている @kimukei です。 現在BASEの顧客管理に関係する機能の開発に携わっています。 今回は、10/14 にリリースされた「BASE」の顧…

ROI(投資利益率)を意識したエンジニアリング

エンジニアとして働いていると、当然、技術的なことには意識を向けるのですが、ROI(Return of Investment = 投資利益率)を意識することはあまりないと感じたので、この観点でエンジニアリングを考察しました。

ドメイン駆動設計モデリングデモ会を開催しました!

Owners Experience Backend Group で Engineering Manager をしています、炭田(@tac_tanden)です。 BASE では決済などの複雑な事業ドメインに立ち向かうために、ドメイン駆動設計(DDD)を使った開発を進めているチームがあります。 そんな中で先日、DDD …

サーバーサイドエンジニアがフロントエンドの開発に参加してみた話

BASE株式会社 ServiceDev Payment Group 所属の田仲です。 現在はエンジニアリングマネージャーを担当していますが、以前はサーバーサイドエンジニアとして開発をしていました。その頃の経験を紹介したいと思います。 BASEのエンジニアはPM・ディレクターか…

Web開発を補助する目的でPuppeteerを使う

この記事はBASE Advent Calendar 2020の22日目の記事です devblog.thebase.in どうもこんにちは、Web Frontend Groupの青木です 今回は、個人的にWeb開発を補助する目的でPuppeteerを使っていることがあるので、その話をします 前半では、普段どう使っている…

TDDで過去と戦った話

TDDで過去と戦った話 この記事はBASE Advent Calendar 2020 20日目の記事です。 devblog.thebase.in こんにちは。BASE BANK 株式会社 Dev Division にて、 Software Developer をしている永野(@glassmonekey )です。 今回は先日リリースした「BASE」上での売…

TDDのTips

前置き この記事はBASE Advent Calendar 2020 13日目の記事です。 devblog.thebase.in こんにちは、BASE株式会社 Product Dev Division でバックエンドエンジニアを務めている元木です。 以前、社内で同僚のエンジニアと話していたとき、 「TDDって頭では分…

ElasticsearchとKibela APIを使ってSlackでのCSお問い合わせ対応業務を改善した話

この記事はBASE Advent Calendar 2020の11日目の記事です。 devblog.thebase.in BASE株式会社 Data Strategy チームの@tawamuraです。 BASEではオーナーの皆様や購入者様のお問い合わせに対して、Customer Supportチームが主となって対応をしています。その…

CSお問い合わせ対応を当番制にして運用してみた話

この記事はBASE Advent Calendar 2020の10日目の記事です。 devblog.thebase.in はじめに こんにちは、BASE株式会社 ServiceDevセクション マネージャーの菊地です! サービスの急成長に伴って組織の拡大が急務であり、最近は採用活動に専らコミットメントし…

ローカル開発環境のために外部サービスをモック化する

BASE の Service Dev にて主に決済周りのバックエンド開発をしている翠川(@midori44)です。 昨年は PayPal決済の導入 のプロジェクトでメインエンジニアとして携わらせていただきました。 今回は決済周りの開発をしていく中で、社内の開発環境を整えた話を…

BASEの長期間プロジェクトでのチーム開発について

ServiceDev所属、サーバサイドエンジニアの栗田です。 現在私は、ServiceDevのチームに所属し、ネットショップ作成サービス「BASE」及びショッピングアプリ「BASE」の機能開発を担当しています。 BASEでは主にQ毎にプロジェクトチームを編成し、チームで主体…

データベースをリファクタリングしたお話

基盤チーム所属の沖中( @okinaka )です。 「リファクタリング」という言葉、エンジニアのみなさんならご存知でしょう。 システムの振る舞いを変えずに内部を改善することを指す言葉です。 一般的に、コードの修正を指すことがほとんどですが、今回はデータベ…

「もうさばき切れない」アクセスが激増したECプラットフォームにおける負荷対策

はじめに CTOの川口 (id:dmnlk) です。 5月にオンラインmeetupをさせて頂きその中で「具体的な負荷対策に関しては開発ブログで!」と言っていた件ですが気づいたらもう9月になりかけていました。 コロナ禍においてネットショップ作成サービス「BASE」の利用…

BASEのチーム開発における設計レビューの取り組み

Service Dev所属、サーバサイドエンジニアの宮村です。 現在私は、Service Devのチームに所属し、ネットショップ作成サービス「BASE」及びショッピングアプリ「BASE」の機能開発を担当しています。 BASEでは最近、機能開発の際に設計レビューを行うようにし…