タグ

ブックマーク / devblog.thebase.in (26)

  • リアーキテクチャをお手伝いするDryRunというツールを作りました - BASEプロダクトチームブログ

    はじめに Platform Group の久保田( @ykbt13 )です! BASEではリアーキテクチャとしてバックエンドの既存機能を旧リポジトリから新リポジトリへ移行する作業を日々行っています。詳しく知りたい方はぜひこちらを参照してください。 www.youtube.com そんななか、BASEにおけるコア機能の1つである商品の発送機能の移行が行われました。しかしながら、コア機能であるがゆえに様々な改修が繰り返されて複雑化してしまった発送機能では移行前の動作を保証する術がテストのみでは不安があります。 そこで、リアーキテクチャを円滑に進めるべく、番環境上で移行前後の処理を同時実行しデータベースの結果を比較することで動作の保証を行うツールを開発しました。 この記事では、同様にリアーキテクチャを進めている方々を対象に、そのツール(BASE内では通称DryRunと呼んでいますので以降Dry

    リアーキテクチャをお手伝いするDryRunというツールを作りました - BASEプロダクトチームブログ
  • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

    はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

    explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
  • OIDCって何なんだー?から、実際に使うまで - BASEプロダクトチームブログ

    ごあいさつ はじめましての人ははじめまして、こんにちは!BASE BANK Divisionのフロントエンドエンジニアのがっちゃん( @gatchan0807 )です。 今回は、ここ数ヶ月の間にOIDC(OpenID Connect)という技術を使った開発を複数行い、この技術の概観を理解することができたので、OIDCの技術概要に触れつつBASE BANKの中でどのように使ったのかをご紹介しようと思います。 OIDCとは何なのか このパートでは、まずOIDCという技術について概要を紹介します。いくつかのWebページに記載されていた内容を参考にしてまとめさせて頂いているので、記事の最後に参照元のリンクを記載しておきます。 また、OIDCをはじめとした認証・認可の仕組みには様々な用語があり、自分自身も「調べれば調べるほど知らない用語が増えて、どんどんわからなくなってきた…」という経験をしたので、

    OIDCって何なんだー?から、実際に使うまで - BASEプロダクトチームブログ
    mapk0y
    mapk0y 2024/05/01
  • BASEプロダクトチームブログ

    はじめに こんにちは。Product Management Group で プロダクトマネジメント をしている坂東(@7auto)です。 リソース的な問題で「やるべきことがたくさんあって、小さめの改善やPJに手が回らない」そんなお悩みを持つ方はたくさんいらっしゃるのではないでしょうか。 サービスが大きくなるとPJの規模も大きくなっていきます。その結果、小さめのPJや改善の優先度が下がりがちになります。 一方で、小さめのPJや改善はサービス利用者の声から生まれることも多く、これを放置し続けることはサービス体験の悪化に繋がります。 そこで大きなPJと並行して、こうした小さめのPJや改善に対し「最小のコミュニケーションコストで機能リリースする」というコンセプトで立ち上げからリリースを行いました。 「全員集まったのはキックオフと振り返りだけ」そんな定例もDailyも無いPJを通して、低コストなだけ

    BASEプロダクトチームブログ
  • 分析基盤へのデータ連携処理をEmbulkからAmazon Aurora S3 Export機能に切り替えた話 - BASEプロダクトチームブログ

    はじめに こんにちは!Data Platformチームでデータエンジニアとして働いている @shota.imazeki です。 分析基盤の構築・運用などの側面から社内のデータ活用の促進を行っています。 BASEではAurora MySQLにあるデータをEmbulkを用いてBigQueryに連携しています。BigQueryへ連携されたデータは分析基盤としてLookerなどを通して社内利用されています。 このデータ連携処理にはいくつかの課題があり、それを解決するためにEmbulkからAurora S3 Export機能を用いた連携処理に切り替えることにしましたので、それについて紹介していきたいと思います。 ※この切り替えについては現状、試験的に一部のDBのみの切り替えとなっていますが、運用上の大きな課題が出てこなければ徐々に切り替えていく予定です。 切替前のデータ連携処理 先述した通り、BAS

    分析基盤へのデータ連携処理をEmbulkからAmazon Aurora S3 Export機能に切り替えた話 - BASEプロダクトチームブログ
    mapk0y
    mapk0y 2024/03/27
    Aurora でここにあるような問題になる遅延って発生するのかな?
  • BASEという大きなプロダクトでドメインを移行した話 - BASEプロダクトチームブログ

    はじめに どうも。BASEで開発をお手伝いしている 林(@intele) です! 今回はBASEという大きなプロダクトでドメインを移行した話を、エンジニア目線で、振り返りながらお話したいと思います。 何をやったか BASEで使用しているドメインを thebase.in から thebase.com へ移行を行いました。 ただ、BASEではサブドメインを多用しているため、移行するドメインは thebase.in だけではなく、複数のサブドメインを含め、移行しました。 なぜ移行する必要があったか ****.thebase.in というサブドメイン運用されているショップで広告の効果計測ができなくなったため Apple が推進する App Tracking Transparency(以下ATT) の影響を受けて、Facebook広告の計測手法が変更され、効果計測ができなくなってしまったため ATT

    BASEという大きなプロダクトでドメインを移行した話 - BASEプロダクトチームブログ
  • BASEに入社してから初リリースするまでに経験した事を紹介します - BASEプロダクトチームブログ

    はじめまして、2023年1月4日に入社しました遠藤(@Fendo181)と言います。 所属は Cart Dev というチームでバックエンドエンジニアを担当します。 Cart DevチームはBASEの決済開発を担当しているチームになり、主にショップオーナー様や購入者の決済、カート機能周りの開発を担当しています。 入社してそろそろ1ヶ月経つタイミングですのでこの記事では初リリースまでに行った事や実際にBASEに入社してから経験した事をご紹介します。 初リリースできるまでに経験した作業内容について 自分がはじめてリリースした機能は、ある処理が完了した際のログを追加する軽微な変更でした。 以下に入社してからリリースするまでに行った具体的な作業内容を時系列順にご紹介します。 (1)GitHubやOneLoginなどの業務で使うアカウントを作成する (2)オンボーディング用のドキュメントを参考に作業内

    BASEに入社してから初リリースするまでに経験した事を紹介します - BASEプロダクトチームブログ
  • BASE全体のインフラ知識底上げのため AWS JumpStart に参加してもらいました - BASEプロダクトチームブログ

    この記事は BASE Advent Calendar 2022 の21日目の記事です。 Platformグループでグループマネージャー をしている 松田( @tadamatu ) です。 先日、エンジニア15名に AWS JumpStart(AWS研修プログラム) に参加してもらいました。 この記事では、参加の目的や感想、実際参加してどうだったのか、などを伝えさせていただこうと思います。 「AWS JumpStart(AWS研修プログラム)」とは? AWSが 無償 で提供してくれている研修プログラムで、AWS初学者のエンジニアを対象とした、実践的な2日間の研修プログラム です。 https://awsjumpstart221020.splashthat.com 将来的にAWS活用をリードする人材になるための第一歩をスムーズに踏み出せるようなプログラムをご提供します 単なるAWSサービスの学

    BASE全体のインフラ知識底上げのため AWS JumpStart に参加してもらいました - BASEプロダクトチームブログ
    mapk0y
    mapk0y 2022/12/21
  • SRE関連Issue、7年分を振り返る - BASEプロダクトチームブログ

    この記事は、BASE Advent Calendar 2022の18日目の記事(その2)です。 SRE Group の ngsw です。 先日ネットショップ作成サービス「BASE」は10周年を迎えました。 「BASE」サービスリリース10周年 ~「好きが、売れる。」をコアメッセージに特設Webサイトの公開とクーポンキャンペーンを開始~ | BASE, Inc. 10th Anniversaryクーポンキャンペーン は現在すでに終了しています 好きが、売れる。BASE・10周年特設サイト せっかくの10周年です。ちなんだ記事を書けたら面白いかなとSRE関連のIssuesを振り返っていたのがこの記事のはじまりでした。 BASEの10年分のシステムの課題を読者の皆さんと共有できたならば面白いかな、というのが(後付けの)動機です。 SRE関連のIssuesはGitHub移行後の2016年より存在し

    SRE関連Issue、7年分を振り返る - BASEプロダクトチームブログ
  • S3 + API gateway + Lambda (+ Aurora) による Serverless 申請フォームの構築 - BASEプロダクトチームブログ

    はじめに はじめまして、CSE (Corporate Solution Engineering1)の上野です。 今回は BASE Partners という事業で使用していた Google フォームを S3 + API gateway + Lambda (+ Aurora) を使用した Serverless 構成のフォームに移行するというプロジェクトについてお話します。 変更前の構成図と構築した構成図としては以下のようになります。 変更前 変更後 BASE Partners について BASE では新規のショップオーナー様を紹介・支援いただくオフィシャルパートナーを募集するパートナープログラムを運営しています。 それらの申請には初期的には Move fast に行うため、Google フォームと Google スプレッドシートが使用されていましたが、ありがたいことにパートナー様やご紹介いただ

    S3 + API gateway + Lambda (+ Aurora) による Serverless 申請フォームの構築 - BASEプロダクトチームブログ
  • BASEフロントエンド Monorepo 化の取り組み - BASEプロダクトチームブログ

    はじめに フロントエンドエンジニアの @mk0812 です。自分は普段BackOfficeというチームで新規機能開発を担当しています。 この記事ではBASEのフロントエンド周りの事例として「Monorepo」を紹介します。 エンジニアの皆さんなら1度は聞いたことあるかもしれませんが、BASEではここ最近Monorepoにしていきました。 具体的にどこをMonorepoにしてるかというとBASEの管理画面にある基機能とBASE Appsです(下図)。 前者はBASE管理画面で使用する機能を指しており、後者はショップにより充実した設定を追加したり、新しい機能が必要となる時に追加できる機能で、数多く提供されていて、その機能単位もしくはApp単位でMonorepo化されています。 基機能とBASE Apps Monorepo とは 「Monorepo」とは単一のリポジトリである特定のプロジェク

    BASEフロントエンド Monorepo 化の取り組み - BASEプロダクトチームブログ
  • IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ

    はじめに みなさんはじめまして。BASEでエンジニアをしております田村 ( taiyou )です。 先日、BASEではショップオーナー向けのコミュニティサイト「BASE Street」にログインするための機能としてSSOログイン機能をリリースしました。 SSOログインを実現するための認証方式はいくつかあるのですが、弊社ではSAML認証方式を用いて実現しました。 そのため、この記事ではSAML認証機構のIdPとしてOSSを使わずにSAML認証機能を実装する方法を紹介します。 前回のテックブログで、このSSOログイン機能のフロント側を開発したPJメンバーの若菜が「サーバーサイドエンジニアフロントエンドに挑戦して最高の経験になった話」を執筆したのでこちらも見てみてください! SAML認証機能を提供しているOSSには、Keycloakなどがありますが、BASEでは以下の理由により自前実装すること

    IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ
  • Amazon RDS Proxy が BASE にもたらした期待以上の導入メリット - BASEプロダクトチームブログ

    はじめに 基盤チームでバックエンドエンジニアをやっている松田( @tadamatu )です。 以前にCTO川口が当ブログ内で公開した以下の記事があります。 devblog.thebase.in 新規接続の限界 BASE のアクセス量の伸びは凄まじくこの構成でも接続エラーが発生するようになってしまいました。 ピーク時に秒間 2 万もの新規接続が primary インスタンスへ行われているといった状態です。 この記事が公開されたのが約2年前で、当時100万程度 だったショップ数は170万を超え、我々はまだまだ伸ばしたいと考えています。 これは、ショップ数の伸びとともに、指数関数的に増えていくユーザのアクセスを捌く必要があることを意味します。 ブログ公開当時、我々はさまざまな検討の末、以下のような対策を取りました。 残された手段は primary のインスタンスに対しての接続数を如何にして減らす

    Amazon RDS Proxy が BASE にもたらした期待以上の導入メリット - BASEプロダクトチームブログ
    mapk0y
    mapk0y 2022/05/26
  • Docker Desktop有料化対応をするときに知りたかったこと - BASEプロダクトチームブログ

    はじめに こんにちは。Product Dev Division でエンジニアリングマネージャーをしている@tac_tandenです。 Docker Desktop 有料化の移行期間が終わって約 3 ヶ月が経ちましたが、皆さまいかがお過ごしでしょうか? 旬の時期は過ぎている気もしますが、BASE 社内で行った Docker Desktop の有料化移行をする中で得た知識や知見を改めてまとめたので、テックブログで公開させていただくことになりました。 有料アカウント購入の運用フローや社内の予算案の作成を担当した当時の自分が、最初から知っていればあんなに苦労しなかったのに!というのを主にまとめています。 なので、想定される読者の方としては以下の通りです。 Docker Desktop の有料プランを購入予定だが、どういう基準で選んでよいのかわからない 近い将来、有料プランの購入条件に該当しそうなの

    Docker Desktop有料化対応をするときに知りたかったこと - BASEプロダクトチームブログ
  • なぜ我々はsession.cookieを変更しなければならなかったのか - BASEプロダクトチームブログ

    はじめに こんにちは。バックエンドエンジニアの小笠原です。 今回は、2022年2月18日から2022年3月4日にかけて発生していたこちらの障害に対し私達開発チームが実施した、session.cookieで定義しているCookieのkey名を変更するという影響範囲の大きい対応について、実施に至るまでの経緯や対応過程についてご紹介したいと思います。 ショップオーナー向けに掲載していたお知らせの内容 背景 全ては iOS14.5から端末識別子の取得に同意が必要になったことから始まった ことの発端は、iOS14.5以降からIDFA(端末ごとに持つ固有識別子)の取得に端末所有者の許可が必要になったことでした。 この変更は、端末所有者側から見ると情報の活用範囲を自身で管理できることでよりプライバシーに配慮されるようになった良い変更と言えるでしょう。 一方で、広告出稿側から見た場合は拒否をしたユーザーの

    なぜ我々はsession.cookieを変更しなければならなかったのか - BASEプロダクトチームブログ
  • New Relic OneでDevOpsのキーメトリクス デプロイ頻度をグラフ化する - BASEプロダクトチームブログ

    BASE BANKでエンジニアをしている @budougumi0617 です。 この記事はBASE Advent Calendar 2021 10日目の記事…ではなく、New Relic Advent Calendar 2021 10日目の記事です。 qiita.com TL;DR ソフトウェア開発チームのパフォーマンスを示す 4 つの指標がある https://www.devops-research.com/quickcheck.html デプロイの頻度 変更のリードタイム 変更障害率 サービス復元時間 New Relic Oneを使って「デプロイの頻度」を計測してみた Event APIとNRQLでデプロイ回数をNew Relic Oneのダッシュボードに図示できる https://docs.newrelic.com/docs/data-apis/ingest-apis/introdu

    New Relic OneでDevOpsのキーメトリクス デプロイ頻度をグラフ化する - BASEプロダクトチームブログ
  • tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ

    BASEアドベントカレンダー2021 10日目の記事です。 BASEアドベントカレンダー2021 10日目 BASE BANKでエンジニアをしている @budougumi0617 です。 マイグレーションファイルが含まれたPull Request(PR)が作られたとき、自動更新したER図をPRに追加するGitHub Actionsを作りました。 記事では紹介するGitHub Actionsを利用すると次のようなメリットが得られます。 マイグレーションファイルをPRに出すだけでPRに更新されたER図が追加される 開発者は面倒なER図の更新作業から開放される レビューアはマイグレーションファイルを含んだPRをER図を見ながらレビューできるようになる プロジェクト関係者は常にメインブランチのマイグレーションファイルの状態と一致したER図を確認できる サンプルPR 自動生成したER図 TL;DR

    tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ
  • SREチームに転職してみて - BASEプロダクトチームブログ

    この記事はBASE Advent Calendar 2021の8日目の記事です。 こんにちは Slackの好きなショートカットはShift + Escの横山です。 SRE Groupに加わって4ヶ月が経ちました。 こちらの記事が書かれてからも4ヶ月が経ちました。 devblog.thebase.in ↑を未読の方がいましたらぜひぜひ読んでください。 同じ4ヶ月という事で振り返ってみたいと思います。 ちなみにこの記事を読む前に入社を決めていますがカジュアル面談の時に同じように説明して頂けました。 チームで大事にしていることは? ・「信頼性=ユーザの期待値を超え続けること」としてこれを維持し続ける ・BASEの機能等々の価値を高めるための時間を多く作っていけるようにする この2つを大事にしていると書いてあります。 私はOKRを決めるのが苦手なので、このようにチームで大事にしているものがわかって

    SREチームに転職してみて - BASEプロダクトチームブログ
    mapk0y
    mapk0y 2021/12/10
  • GitHub Codespaces環境でDenoを使ってSlack Botを作ってみよう!(Deno基礎知識 + 環境構築編) - BASEプロダクトチームブログ

    この記事はBASE Advent Calendar 2021の4日目の記事です devblog.thebase.in ごあいさつ はじめましての人ははじめまして、こんにちは!フロントエンドエンジニアのがっちゃん( @gatchan0807 )です 今回は、フロントエンドエンジニア界隈で話題になっているDenoについて調査し、プラスでSlack Botを書いてみることで現時点のDenoはどんな感じで使えるのかを検証したので、その経験をシェアできればと思っています!(実際にSlack Botを書くのは次回の記事の予定です) つらつらとDenoを触っていて気になったポイントを書いたためにかなり長い記事になってしまいましたが、お付き合いいただけますと幸いです! Denoの基礎知識 DenoはNode.jsの作者、Ryan Dahl( https://github.com/ry )さんがNode.j

    GitHub Codespaces環境でDenoを使ってSlack Botを作ってみよう!(Deno基礎知識 + 環境構築編) - BASEプロダクトチームブログ
  • エンジニア/デザイナー向け貸与PCにM1 チップMacを解禁するまで - BASEプロダクトチームブログ

    CTOの川口 (id:dmnlk) です。 プロダクト開発組織を運営していく中で地味ながら無視できないものとして、「支給PCの選定」というものがあります。 PCスペックによって大きく作業効率が変わるので、なるべくで希望通りのものを支給していくというのが基方針ではありますが同時に社内資産としての価値やチームでの伝達効率といった点は重要です。 それらを考えるなかで、1年ほど前に発売されたAppleのM1チップ搭載のMacについて解禁するまでの過程を紹介します。 この文章はもともと社内向けに公開予定でしたが、使用PCの選定基準を最も知りたいのはこれから入社される方ということに気づいたため入社前にアクセスしやすい文書として公開ブログとすることにしました。 今までのエンジニア/デザイナー向け支給PCの基準について BASEでのエンジニア/デザイナーに支給しているPCは現在下記の基準になっています。

    エンジニア/デザイナー向け貸与PCにM1 チップMacを解禁するまで - BASEプロダクトチームブログ
    mapk0y
    mapk0y 2021/10/06