inSmartBank

B/43を運営する株式会社スマートバンクのメンバーによるブログです

Engineering

Kaigi on Rails 2023『管理機能アーキテクチャパターンの考察と実践』の余談や質問への回答

先日開催されたKaigi on Rails 2023に「管理機能アーキテクチャパターンの考察と実践」というタイトルで登壇させてもらいました。発表資料はすでに公開しており*1、本記事で発表内容をそのままなぞっても新規性がないな〜と考え、発表前に行った"余興"や懇親…

Kaigi on Rails 2023 参加レポート

株式会社スマートバンクのwatsonとnilpoonaです!この記事では、10月27日(金)-28日(土)の2日間に渡り開催されたKaigi on Rails 2023にて、聴講したセッションの中で印象に残ったモノをいくつか紹介していきます。 Rails アプリの 5,000 件の N+1 問題と戦っ…

Kaigi on Rails 2023に参加してきた(2日目)

こんにちは、サーバーサイドエンジニアの @godgarden です。 昨日に引き続き Kagi on Rails 2023 の2日目の様子を現地からお届けします。また、2日目のセッションではスマートバンクからスポンサーセッションを含む計4名のエンジニアが登壇しました! blog.s…

全10ブース網羅! Kaigi on Rails 2023のスポンサーブースまとめ

本日、2023年10月27日から明日28日にかけて、 浅草橋ヒューリックホールでKaigi on Rails2023が開催中です! kaigionrails.org このブログでは、本イベントに出展中の 各スポンサーブースの展示内容をご紹介します! 今日ブースを回りきれなかった…という方…

ゼロから理解するDependency Injection

Dependency Injection (DI) とは、オブジェクトに必要な依存関係を外から注入する設計パターンです。 本記事ではiOSアプリの実装をテーマに、DIがなぜ必要なのか、さらにはDI Containerとは何を解決するためにあるのかについて具体的な実装例をもとに解説し…

Kaigi on Rails 2023に参加してきた(1日目)

こんにちは、おはようございます、こんばんは、スマートバンクでサーバーサイドエンジニアをしている佐藤(@tmnbst)です。この度、スマートバンク社としての初スポンサー、そして我々から4名の登壇者がいる、Kaigi on Rails 2023に参加してきました! この…

#KaigionRails 2023 直前まとめブログ!!

こんにちは、広報のchikaです。ついにKaigi on Rails 2023が明日から開催ですね!スマートバンクからは3名登壇し、さらにRubyスポンサーとしてブースも出展します。 当社初めてのスポンサーなので、職種横断でPJチームを組んで、熱量高くみんなで準備を進め…

Kaigi on Railsでブースをはじめて出します!遊びに来てください! #kaigionrails

こんにちは、スマートバンクでいつもはカスタマーサポートをしているnyancoです。 スマートバンクは2023年10月27日(金)・28日(土) に開催予定のKaigi on Rails 2023でRuby Sponsorとして協賛いたします。 kaigionrails.org 今回は出展するブースについて…

孤独のCTOグルメ総集編 #kaigionrails

こんにちは、サーバーサイドエンジニアのhirotea です。今週末はいよいよKaigi on Rails 2023ですね。 今回は、X(Twitter)でCTO堀井雄太の演技でご好評いただいた「孤独のCTOグルメ」の総集編をお送りします!Kaigi on Rails当日のご飯選びのお供にぜひご覧…

Kaigi on Rails 2023にSmartBankエンジニアが3名登壇します

2023年10月27日、28日に開催されるKaigi on Rails 2023にスマートバンクから3名のエンジニアが登壇します!今回は、Kaigi on Rails 2023に参加される方向けに、3名の登壇者から発表の想いや見どころを紹介いたします。 返金処理を通して学ぶ、カード決済電文…

Kaigi on Rails 2023 浅草橋・蔵前 コーヒー おすすめ

こんにちは。あと3週間と少しでKaigi on Rails 2023が開催されますね。コロナ禍ということもあり昨年まではオンラインonlyでの開催が続きましたが、今年はオンラインに加え浅草橋でのオフラインも行うハイブリッド開催となります。 kaigionrails.org オフラ…

「B/43 Tech Talk 〜 Fintech×サブスクリプションサービス立ち上げの裏側〜」を開催しました

こんにちは。スマートバンク広報のいわたちか(@chika_iwa_)です。先月「B/43 Tech Talk 〜 Fintech×サブスクリプションサービス立ち上げの裏側〜」と題してイベントを開催しました。130名を超える方々に応募いただき、ありがとうございました! 当日、イベ…

Jetpack Securityで生体認証による期限付きのデータアクセスを実装する

こんにちは。スマートバンクで iOS / Android エンジニアをしている nakamuuu です。 B/43 の iOS / Android アプリではカード情報の表示や入金・出金など、一部の操作を行う前に6桁のパスコードの入力をお願いすることがあります。セキュリティ要件上、致し…

サブスクリプション課金システム開発ケーススタディ

世はまさに大サブスクリプション時代。この潮流の中で弊社スマートバンクもまた、去る2023年7月12日にB/43プラスというサブスクリプションサービスをリリースしました。 サブスクリプションといえばユーザーに提供されるコンテンツや機能といった直接的な価…

【第2回】パフォーマンスチューニング会開催レポート

こんにちは!サーバーサイドエンジニアの mitani です。 以前公開した【第1回】パフォーマンスチューニング会開催レポート に続き、第2回を実施したのでレポートを書きたいと思います。

ActiveRecordでCTI実装を実現するDelegatedType入門

Rails ActiveRecordでのクラス継承パターンの一つであるCTIサポートをする、DelegatedTypeについてのご紹介です!

Amazon SageMaker StudioでMLOpsを始めました

こんにちは!スマートバンクでSREをしている @maaaato です。 今回はスマートバンクが提供するB/43の裏側にAmazon SageMaker Studio(以下SageMaker Studio)の利用を開始したのでSageMaker Studioにまつわる話をしたいと思います。 筆者はこれまでにMLOpsの…

SwiftUIでTouch Targetのサイズを意識する

こんにちは、スマートバンクでアプリエンジニアをしているロクネムです。 みなさんはiOSアプリの開発を行う上で、ボタン等のタッチ可能なコンポーネントの”Touch Targetのサイズ”を意識していますか? 小さすぎるTouch Targetは、指で操作するiOSアプリにお…

【第1回】パフォーマンスチューニング会開催レポート

こんにちは!CTO の @yutadayo です。 先日パフォーマンスチューニング会として、パフォーマンス面でボトルネックがあるエンドポイントの課題解消を行うイベントを社内で実施しましたので、そちらのレポートを書きたいと思います。 ISUCON (コンテスト運営…

サブスクリプション機能制御の設計における勘所

こんにちは、スマートバンクでアプリエンジニアをしている ロクネム です。 弊社では B/43という家計簿プリカアプリ を提供しており、つい先日サブスクリプションサービス「B/43プラス」をリリースしました。 このようなサブスクリプションを提供するサービ…

SwiftUI / Jetpack Composeでよくある画像のプレビュー画面を実装する

SwiftUI / Jetpack Compose の各フレームワークにおけるジェスチャー操作のAPIや振る舞いの差異を踏まえつつ、 “よくある画像のプレビュー画面” を実装するにあたっての知見を紹介していきます。

『B/43 Tech Talk 〜 Fintech×サブスクリプションサービス立ち上げの裏側〜』を開催します

こんにちは!本記事は弊社が2023-08-03に開催するオンラインイベント『B/43 Tech Talk 〜 Fintech×サブスクリプションサービス立ち上げの裏側〜』の紹介をします。単なる概要紹介では味気ないので、イベントの見どころが伝わるように解説していきます。 smar…

Aurora MySQLをMySQL8.0へ移行した話

こんにちは!SREを担当してます上平と申します。 このエントリーではAurora MySQL5.7互換からMySQL8.0互換への移行を実施した際の流れや学びに関して紹介したいと思います! B/43 では Aurora MySQL5.7系をサービスリリースから使っており、Aurora MySQL バ…

reviewdog x Custom FormatterでRuboCopの自動修正を提案させるようにしました

reviewdog/action-rubocopというOSSプロジェクトをご存知でしょうか。Rubyの静的解析ツールであるRuboCopをGitHub Actionsで実行し、指摘箇所にコメントを付けてくれる便利なCustom Actionです。 本記事では筆者がこのOSSを改良して実装したSuggestion featu…

GitHub Copilot for Businessを導入しました

こんにちは、おはようございます、こんばんは、スマートバンクでサーバーサイドエンジニアをしている佐藤(@tmnbst)です。 スマートバンクではGitHub Copilot for Businessを正式導入し、1ヶ月半が経ちました。利用中のメンバーを中心に社内の感想を聞いて…

初公開!「家計簿プリカ B/43」のデザイントークンの設計

こんにちはスマートバンクのデザイナーのputchomです。普段は「家計簿プリカ B/43」のプロダクトデザインやデザインシステムの構築を担当しています。 先日、CreatorZineさんでプロダクトデザインに関するスマートバンクの連載記事を書かせていただいたので…

スマートバンクの技術面接を再設計するときに考えたこと 〜過去問を公開します〜

こんにちは!スマートバンクでサーバーサイドエンジニアをしている mitani です。 このブログでは、スマートバンクでサーバーサイドエンジニアの技術面接をどのように行っているのか、過去の方法と課題点、そしてアップデートした今の形について紹介したいと…

ActionMailer::Baseのサブクラスで値を変更すると全てのMailerに反映されてしまう設定がある

こんにちは、サーバサイドエンジニアの@ohbaryeです。 本記事ではRailsのActionMailerで最近ハマった小ネタについて記載します。 先に結論を言うと ApplicationMailerの設定のうち、ActionMailer::Baseのサブクラスで値を変更すると全てのMailerに反映されて…

SwiftUIにおける余白の適切な実装パターン

こんにちは、スマートバンクでアプリエンジニアをしている ロクネム です。 みなさんはSwiftUIでViewを実装する際に、”余白” をどのように実装していますか? SwiftUIにおける余白の表現方法はいくつか存在しており、どの方法を用いても同じレイアウトを実装…

「我々はこうしてSLI/SLOを設計して運用を始めました -これからSLI/SLOの運用を始める人に向けて-」というタイトルで登壇してきました

こんにちは。スマートバンクでSREをしている@maaaatoです。 5月19日にFindyさん主催の「SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会」が開催されました。 このイベントに「我々はこうしてSLI/SLOを設計して運用を始めました -これからSLI/…

We create the new normal of easy budgeting, easy banking, and easy living.
In this blog, engineers, product managers, designers, business development, legal, CS, and other members will share their insights.