A06rp012のブックマーク (395)

  • ファットな注文検索モデルをリファクタした話 - BASEプロダクトチームブログ

    この記事は BASE アドベントカレンダー 2022 の 10 日目の記事です。 はじめに 初めまして、BASE のバックエンドエンジニアの shiiyan と申します。この記事では、ファットな注文検索モデルをリファクタしたことの経緯と感想について紹介します。 注文検索モデルをリファクタする理由 古典的な MVC モデルでは、スキニーコントローラー・ファットモデル(Skinny Controller, Fat Model)の考え方があるゆえに、プロダクトの成長と共に、モデルが肥大化していくことは多々あります。 BASE において、注文モデルと注文検索モデルはこの流れから逃れられませんでした。2022 年初めの時点では、注文検索を担当するモデルクラスは 1 ファイル 3000 行弱の規模に肥大化しています。こういったモデルクラスでは、コード自体が読みづらいだけでなく、機能改修時に影響範囲が読

    ファットな注文検索モデルをリファクタした話 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/11
  • reportシステムの業務改善で経理業務が更に短縮した話 - BASEプロダクトチームブログ

    はじめに 記事はBASE アドベントカレンダー 2022の11日目の記事です。 はじめまして。CSEグループのエンジニアの泉原と申します。 BASEのCSEグループでは社内業務改善や内部統制の整備など幅広い業務を対応しています。 CSEグループについてはこちらをご覧ください。 devblog.thebase.in 今回は、BASEにおける月初処理の概要とreportシステムの自動化、業務フローの見直しなどの業務改善についてご紹介します。 BASEにおける月初処理・reportシステムとは 月初処理 BASEではJ-SOX対応の一環として、 BASEショップの売上金と決済サービス側の入金データ BASEショップの売上金とBASE側の決済データ BASE側の決済データと決済サービス側の入金データ 決済サービス側の入金データと実際の入金額 これら4点の整合性が取れていることを確認することで財務

    reportシステムの業務改善で経理業務が更に短縮した話 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/11
  • カートチームを振り返る - BASEプロダクトチームブログ

    カートチームを振り返る この記事はBASEアドベントカレンダーの7日目の記事です。 devblog.thebase.in Payment Dev Group マネージャーを担当している田仲(@tosh)です。 Payment Dev Groupは決済領域のプロダクト開発を担当しているグループになります。その中でも主にショッピングカート機能を担当しているカートチームについて、どういう経緯で生まれたのか、チームの役割や今後のことなどご紹介させてください。 カートチームについて BASEというECプラットフォームにおいて決済はサービスのコア領域になります。 BASEの中で決済は2つの方向性があると考えています。 ショップオーナーと購入者の間で行われる決済 BASEとショップオーナーの間で行われる決済 カートチームは前者のショップオーナーと購入者の間で行われる決済、システムの機能でいえば実際に商品

    カートチームを振り返る - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/07
  • スクラム開発で数スプリント先の未来の落とし穴を回避する - BASEプロダクトチームブログ

    はじめに はじめまして。エンジニアの近藤(@kon_engineer)と申します。記事は BASE アドベントカレンダー 2022 の6日目の記事です。 記事では、私が苦い経験から学んだ、スクラム開発で未来の落とし穴を回避する考え方について書きたいと思います。具体的には、ユーザーストーリーの優先度を決めるとき、ユーザーにとってどれだけ価値を提供するかという視点だけでなく、プロジェクトとして何がリスクで、それを回避するために何からやっていくのか、しっかりバランスを考えるべきだった、という経験談を記載します。また、記事で事例として記載するスクラム開発は、1スプリントごとにリリースする形ではなく、スプリントをある程度回して、大きな機能が出来上がったら都度リリースしていたスクラム開発の形式になります。 ユーザーストーリーについて ユーザーストーリーは、システムがユーザーに届ける価値を表現する

    スクラム開発で数スプリント先の未来の落とし穴を回避する - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/06
  • AWS LambdaをPHPで
使うためのベストな方法 - BASEプロダクトチームブログ

    この記事はBASEアドベントカレンダーの5日目の記事です。 こんにちは!BASEのCRM3チームでバックエンド開発を担当している オリバ(@toshi_oliver)です。2022年11月に入社したので、今回が初のブログとなります。 はじめに 前提 環境構築 デプロイ おわりに はじめに devblog.thebase.in さて、今回はAWSのサーバレスサービスを代表すると言っても過言ではない、AWS Lambda(以下、Lambda)に関する記事を投稿します。 BASEのバックエンドの大部分はPHPで開発されており、システムの一部にLambdaを使用しているのですが、Lambdaのランタイムでサポートされている言語は以下となっております。 Node.js Python Ruby Java Go .NET Core ご覧の通り、PHPはサポートされておりません。 では、PHPの使用は断念

    AWS LambdaをPHPで
使うためのベストな方法 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/05
  • アジリティを保ってデータ基盤を作る取り組み - BASEプロダクトチームブログ

    はじめに この記事はBASE Advent Calendar 2022とLooker Advent Calender 2022 2日目の記事です。 こんにちは。BASE 株式会社 New Division BASE BANK Section にて、Engineering Program Manager (以下EPM)1をしている永野(@glassmonekey) です。 私達のBASE BANK Section チーム (以下 BANK チーム) はBASEの中でも、新規事業の金融系のプロダクトにフォーカスしたチームになります。特に新規事業なので、日々の不確実性にどう向き合って行くかをテーマに日々仕事をしています。 不確実性に向き合うためには、日々リリースしていくしかありません。そしてそれを観測するための分析基盤も日々のリリースに耐えうる、つまりはアジリティを保つ必要があります。 今回はど

    アジリティを保ってデータ基盤を作る取り組み - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/02
  • Webサービスの開発チームが担うべき攻めと守りという2つの役割 - BASEプロダクトチームブログ

    この記事は2022 BASEアドベントカレンダー1日目の記事です。 こんにちは!開発担当役員のえふしんです。絶賛、来季の組織構造の設計中なので、何を考えながら組織図を検討しているか?ということを書いてみたいと思います! 組織検討の基としては、サービスの拡大、組織の拡大に対して仕事のやりやすさ、スピード感を如何に実現しながら事業を伸ばしていくか?というテーマで組織を考えていきます。 組織構造は各社各様のものがあると思いますが、多くの会社さんではビジネスのトップラインを伸ばすチームを主体に、今ある課題をこなしていくチーム構成であることが多いことでしょう。 また、ビジネスの守りを支えるチームもあります。守りの裏返しは攻めと言いますか、何かを守り抜くことで、売上や利益の下支えを行う課題解決については経営課題として上がるため、それ専用のチームが作られたりします。 我々で言うと、決済機能の保守がそれ

    Webサービスの開発チームが担うべき攻めと守りという2つの役割 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/12/01
  • BASE Advent Calendar 2022 🎅🎄 - BASEプロダクトチームブログ

    こんにちは!BASE product blog編集部です。いつも弊ブログの記事をご覧いただきありがとうございます! あっというまに2022年も年の瀬。年の瀬といえばそう!アドベントカレンダー! 今年も恒例のBASEメンバーによるアドベントカレンダーを開催します! 過去の様子 2021年のアドベントカレンダー 2020年のアドベントカレンダー 2019年のアドベントカレンダー 2018年のアドベントカレンダー 今年も1日1記事に限定せずたくさんのバラエティ豊かな記事を公開する予定です。 公開され次第以下のカレンダーも随時更新していきますので、ぜひお楽しみに! 記事のカレンダー 日付 曜日 執筆者 テーマ・タイトル 12/1 木 @fshin2000 Webサービスの開発チームが担うべき攻めと守りという2つの役割 12/2 金 @glassmonekey アジリティを保ってデータ基盤を作る取り

    BASE Advent Calendar 2022 🎅🎄 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/11/30
  • 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プロダクトチームブログ
    A06rp012
    A06rp012 2022/11/25
  • CakePHP 2 のテストを PHPUnit 9で動かしてみた - BASEプロダクトチームブログ

    基盤チームに所属している @okinaka です。 個人的には CakePHP とは長い付き合いで、もう14年以上になります。 BASE の事業においても10年間ずっと支えてくれている大変ありがたい Web フレームワークです。 以前から BASE の多くのコードはまだ古い CakePHP 2 (v2.10.24) 上で動作していることが課題になっています。 CakePHP 自身は順調に開発が継続されていますが、2系から3系へのバージョンアップはなかなか困難で二の足を踏んでいました。 そうこうしているうちに古いバージョンの2系は既に公式でのサポートは切れているうえに PHP 8.0 未サポートの状態です。 さすがにそのまま継続して利用するのは無理があるので、数年前から、より柔軟にシステムを構築するためのアーキテクチャ再設計をすすめています。 その成果は上がってきているのですが、単純なフレー

    CakePHP 2 のテストを PHPUnit 9で動かしてみた - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/11/22
  • フロントエンドカンファレンス沖縄2022にBASEの4名のエンジニアが登壇 & ゴールドスポンサーとして協賛します。 - BASEプロダクトチームブログ

    はじめに 2022/11/19(土)に開催されるフロントエンドカンファレンス沖縄2022にBASEに所属する4名のエンジニアが登壇します。 BASE ではこれまでいくつものフロントエンド に関連するテックブログ記事やイベントへの参加を行ってまいりました。 そして今回は、フロントエンドがテーマとしてありつつも、職種問わずWebに携わる方が楽しめるイベントということで協賛いたしました。 フロントエンドカンファレンス沖縄2022について フロントエンドカンファレンス沖縄2022とは、デザイナーもエンジニアも、職種問わずWebに携わる方が楽しめるイベントです。 BASEは、ゴールドスポンサーとしてカンファレンスに協賛しています。 <スポンサー紹介> BASE 様 BASEはどなたでも簡単にネットショップを作れるサービスです。「Payment to the People, Power to the

    フロントエンドカンファレンス沖縄2022にBASEの4名のエンジニアが登壇 & ゴールドスポンサーとして協賛します。 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/11/15
  • BASEフロントエンド Monorepo 化の取り組み - BASEプロダクトチームブログ

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

    BASEフロントエンド Monorepo 化の取り組み - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/10/28
  • Vue Fes Japan Online 2022 に BASE からエンジニアが登壇及び協賛、スタッフ参加しました! - BASEプロダクトチームブログ

    この度、 2022/10/16(日)に開催された Vue Fes Japan Online 2022 に BASE から2名のエンジニアの登壇およびゴールドスポンサーとして協賛しました! 記事では2名の登壇者のコメントと、参加したメンバーの感想・コメントをお届けします! Vue Fes Japan Online 2022 とは vuefes.jp Vue Fes Japan Online 2022Vue.js 日ユーザーグループが主催する日最大級の Vue.js カンファレンスです。 今回 BASE ではゴールドスポンサーとして当カンファレンスに協賛しました。 右下にBASEのサービスロゴ 今回の登壇者 Vue Fes Japan Online 2022 にはプロポーザル採択から 1 件、スポンサーセッションで 1 件登壇させていただきました。 発表内容の詳細と発表資料のリンク

    Vue Fes Japan Online 2022 に BASE からエンジニアが登壇及び協賛、スタッフ参加しました! - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/10/27
  • Vue Fes Japan Online 2022 に BASE から2名のエンジニアが登壇及び協賛します - BASEプロダクトチームブログ

    2022/10/16(日)に開催される Vue Fes Japan Online 2022 で BASE に所属する2名のエンジニアが登壇します。 vuefes.jp BASE では 2018年頃から Vue.js を使ったプロダクト開発を行ってきており、これまでいくつか Vue.js に関連するテックブログ記事やイベントへの参加を行ってきました。 そして今回は Vue Fes Japan Online 2022 のスポンサーとなり、またひとつ Vue.js コミュニティへの貢献ができて大変嬉しく思います。 BASE はゴールドスポンサーとして当カンファレンスに協賛しています。 セッションの内容について 共通コンポーネントのテスト実装方法にあえてVRTを選択した話 2022/10/16 17:15〜 メドピアトラック セッション(20分) 所属:BASE株式会社 Product Dev D

    Vue Fes Japan Online 2022 に BASE から2名のエンジニアが登壇及び協賛します - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/10/07
  • XP祭り 2022にBASE・BASE BANKから3名登壇しました - BASEプロダクトチームブログ

    XP祭り 2022 XP 祭り 2022 は、XPJUG(日 XP ユーザーグループ)主催のベントです。2002 年から毎年行われていて、今年 2022 年は、10 月 1 日(土)にオンラインで開催されました。 http://xpjug.com/xp2022/ 今回の XP 祭り 2022 に BASE・BASE BANK から 3 名が登壇しましたので、その参加レポートをお届けします。 セッション内容 エンジニアが新規事業に取り組むところから始めPdMとしてプロダクト開発に向き合う組織を作り続けるまで 2022/10/01 13:00 - 13:20 B Track 所属:BASE, Inc. / New Division / BASE BANK 今回はこれまでの自分の経験をお話させていただきました。なぜ事業責任者を志向するのか、どういう考えでチームをつくっているのか、どのようにプロ

    XP祭り 2022にBASE・BASE BANKから3名登壇しました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/10/07
  • PHPカンファレンス2022に5名のメンバーが登壇・ゴールドスポンサーとして協賛しました - BASEプロダクトチームブログ

    PHPカンファレンス2022 BASEスポンサーブースでの集合写真 こんにちは!さて、この度は、2022/09/24(土)~2022/09/25(日)にオンラインで開催された PHP カンファレンス 2022 にゴールドスポンサーとして協賛し、5名のメンバーが登壇しました。 今回は、登壇者 5 名からコメントと、会場でのスポンサーブースの様子をお届けします! PHP カンファレンス 2022 とは 2022/09/24(土)~2022/09/25(日)の 2 日間にわたって PHP カンファレンス 2022 がオンライン開催されました。BASE はこれまでにも開催されている PHP カンファレンスへの登壇並びにスポンサーをコミュニティ貢献活動として行って参りました。今回はゴールドスポンサーとして当カンファレンスに協賛しています。 右上にBASEのサービスロゴ 登壇者のコメント 松田 (@t

    PHPカンファレンス2022に5名のメンバーが登壇・ゴールドスポンサーとして協賛しました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/10/06
  • IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ

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

    IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/10/03
  • サーバーサイドエンジニアがフロントエンドに挑戦して最高の経験になった話 - BASEプロダクトチームブログ

    ⛰ はじめに こんにちは。Owners Marketing所属の 若菜 です。 今回は、普段サーバーサイドエンジニアとしてプロダクト開発に従事している私が、BASEのフロントエンド開発に携わった経験をお話しさせていただきます。 結論、 付加価値がいくつもあった非常に良い経験であった と言えます。 BASEでの働き方や開発組織の雰囲気を少しでも伝えることができましたら幸いです! 🙋‍♂️そもそもなぜフロントエンド領域を担当することになったのか 私の所属するOwners Marketingでは、新規ショップオーナーの方によりよくBASEを使ってもらえるための機能改善や、 もっとたくさんの人にBASEを使ってもらえるようにするための機能提供に取り組んでいます。 先日、「オーナーズコミュニティ BASE Street へSSOログインできるようにする」というリリースを行いました。 BASE St

    サーバーサイドエンジニアがフロントエンドに挑戦して最高の経験になった話 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/09/29
  • XP祭り 2022にBASE・BASE BANKから3名が登壇します - BASEプロダクトチームブログ

    XP祭り 2022 XP 祭り 2022 は、XPJUG(日 XP ユーザーグループ)主催のベントです。2002 年から毎年行われていて、今年 2022 年は、10 月 1 日にオンラインで開催されます。 xpjug.com 今回、BASE・BASE BANK から 3 名が登壇します。 セッション内容について エンジニアが新規事業に取り組むところから始めPdMとしてプロダクト開発に向き合う組織を作り続けるまで 2022/10/01 13:00 - 13:20 B Track 所属:BASE, Inc. / New Division / BASE BANK BASE BANK 所属の、柳川さんによるセッションです。新規事業を 1 から立ち上げ、現在グロースフェーズを迎えるまでの失敗と成功の経験を発表します。熱い話が聞けそうですね。 confengine.com 不確実性に向き合うために、

    XP祭り 2022にBASE・BASE BANKから3名が登壇します - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/09/28
  • SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開 - BASEプロダクトチームブログ

    こんにちは。Pay ID Devの大木 (@roothybrid7)です。 今回外部スクリプトとして読み込み利用する外部SDKを、Reactに組み込むためのラッパーライブラリを作ったので、その開発事例を紹介します。 今回、SWC(Speedy Web Compiler)やRelease Pleaseを利用して開発したので、主にそれらをどう使ったのかを紹介いたします。 背景 去年12/16に開催しましたオンラインイベント「BASE Tech Talk #1 〜Next.jsを使ったカート大規模リプレイスPJの裏側〜」の通り、BASEカートシステムのFrontendアプリケーションは、Next.jsで動作してます。 さて、アプリケーションでは、Amazon PayやPayPalなど様々な外部の決済サービスを利用しており、それらのJavaScript SDKをいくつか利用しています。 これらのS

    SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2022/09/15