SUPER STUDIOテックブログのフィード

https://zenn.dev/p/superstudio

統合コマースプラットフォーム「ecforce」を開発・提供する、株式会社SUPER STUDIOのテックブログです。 システムの開発や運用、データ移行で得た話を中心に知見をお届けします。

フィード

記事のアイキャッチ画像
AIを使ったモックデータ生成スクリプト(画像込み)
SUPER STUDIOテックブログのフィード
アプリのモックデータを生成するには、比較的時間がかかります。AIチャットボットを使ったとしても、プロンプトを書いたり、結果をコピーしたり、DBに入れたりする必要があったりするので、地味に大変です。自分は最近この問題に直面し、手動での作業は避けたかったので、OpenAIのAPIを使って自動化を試みました。以下でその方法を紹介します。 スクリプトの特徴⭐ JSON形式での構造的な出力: OpenAIのgpt-4o-miniモデルを使って構造化されたJSON出力により、モックデータを生成します⭐ バッチ大小の設定: データ生成の速度を調節できます⭐ 画像生成: dall-e...
24日前
記事のアイキャッチ画像
ECRの更新をGithub Actionsで自動化してみた
SUPER STUDIOテックブログのフィード
はじめにチーム内の定常業務として、社内システムに関するイメージをローカルでビルドし、AmazonECRにpushするという作業がありました。しかし、毎回同じコマンドをローカルで実行しているだけだったため、CIを用いて自動化できないかを検討しました。今回は、社内システムに関するECRの更新を、Github Actionsを用いて自動化した話をご紹介します。 本題 完成形早速ですが、完成形は以下の通りです。name: AppBuildon: workflow_dispatch:env: SLACK_WEBHOOK: ${{ secrets.SLACK_W...
2ヶ月前
記事のアイキャッチ画像
厄介な Flaky Test を解消した話
SUPER STUDIOテックブログのフィード
はじめにコードを変更せずに実行結果が変化するテストに出会ったことはありますか。そのような不安定なテストのことを「Flaky Test」と呼びます。今回は、弊社で今までに発覚したFlaky Testのパターンと、その解消方法を紹介します。 本題 目次並び順を比較しないマッチャーに変更travel_to で時間固定Gem が提供しているテストクラスを呼び出すキャッシュに依存しない形のスタブを定義外部 API を叩いている部分のスタブ化 1 並び順を比較しないマッチャーに変更比較対象の順番が固定されていない場合、要素の順番も厳密にチェックしてしまうテス...
3ヶ月前
記事のアイキャッチ画像
Rspec社内運用まとめ その2 テストデータの量産とFactoryBot
SUPER STUDIOテックブログのフィード
はじめに弊社のサービスである ecforce は、 Rspec を用いてテストコードを実装しています。現在はグループ内でルールや方針を定めたため、それらに則って各チームがテストコードを実装するようになっています。数年前はルールや方針が明確に定まっておらず、可読性や拡張性が低下していました。今回はテストコードにおいて数年前の状態から今に至るまで、何をどのように変えていったのかをご紹介していきます。 本題 欠損データを作らないまず、テストコードを書く上で、実際に作成されるデータに可能な限り近づけることが重要だと考えています。なぜなら、欠損データの状態でテストコードを書...
4ヶ月前
記事のアイキャッチ画像
Rspec社内運用まとめ その1 可読性について
SUPER STUDIOテックブログのフィード
はじめに弊社のサービスである ecforce は Rspec を用いてテストコードを実装しています。現在はグループ内でルールや方針を定めたため、それらに則って各チームがテストコードを実装するようになっています。数年前はルールや方針が何も定まっておらず、可読性や拡張性が著しく低下していました。今回はテストコードにおいて数年前の状態から今に至るまで、何をどのように変えていったのかをご紹介していきます。 本題 数年前の状態についてまずはどこに問題があるかを特定するために、開発メンバーにヒアリングを行いました。その結果、以下の問題点を抱えていることが分かりました。高い...
5ヶ月前
記事のアイキャッチ画像
Sidekiqを用いた一括処理の実現
SUPER STUDIOテックブログのフィード
はじめにecforceはエンドユーザーへの販売の仕組み、受注情報や顧客管理を行うことのできるEC構築システムです。ecforceの管理画面では顧客や定期受注、受注について閲覧・操作ができます。その中でも「一括で◯◯できる」という機能がいくつかあり、例えば顧客に対して一括でメールを送信したり、一括で決済処理したりできます。このような一括系の処理は、 Sidekiq の有料版である Sidekiq Pro を使って実装しています。Sidekiqを使った開発/運用はecforceを提供しはじめた当初から行っており、6〜7年が経過しました。今回は、Sidekiqを用いた一括処理に...
6ヶ月前
記事のアイキャッチ画像
2023年新卒エンジニアの振り返りレポートVol.2
SUPER STUDIOテックブログのフィード
はじめに今回は「社会人1年目の振り返り」の第二弾として、2023年にエンジニアとして新卒入社された完倉さんにインタビューを行いました。SUPER STUDIOへの入社理由、エンジニアとしての活動内容や組織の雰囲気、働き方の工夫、入社2年目の意気込みなど、様々なテーマで語ってもらいました。 社員プロフィールソフトウェアデベロップメントグループ/エンタープライズ開発ユニット/エンタープライズ開発チーム完倉 直弥(ししくら なおや)2022年6月から学生インターンとしてecforceの開発に従事。2023年4月に新卒として入社。その後、予約販売機能の開発やギフトサービス機...
6ヶ月前
記事のアイキャッチ画像
Amazon Athenaを使った高速なデータ検索の実現
SUPER STUDIOテックブログのフィード
はじめにSUPER STUDIOでは ecforce というEC構築システムをSaaSという形で提供しています。ecforceの導入を希望されるクライアント様には、大きく2つのパターンがあります。新規でECを立ち上げたいクライアント様元々別のカートシステムを使っており、ecforceに移行したいクライアント様後者については、当然ながら既に蓄積されている顧客データや注文データをリセットするわけにはいかないので、 既存データも引き継ぎたい という要望をいただくことが大多数です。しかし、他社のカートシステムとecforceではデータの構造が異なるので、抽出したデータをそのま...
7ヶ月前
記事のアイキャッチ画像
2023年新卒エンジニアの振り返りレポートVol.1
SUPER STUDIOテックブログのフィード
はじめに今回は「社会人1年目の振り返り」の第一弾として、2023年にエンジニアとして新卒入社された福士さんにインタビューを行いました。学生時代のインターンを含めて約1年半SUPER STUDIOで働いて感じていること、社会人になって自分が成長したと思うこと、現在取り組んでいる仕事や課題、働き方や会社の魅力など、様々なテーマで語ってもらいました。 社員プロフィールソフトウェアデベロップメントグループ/開発ユニット/市場開拓開発チーム福士 斗真(ふくし とうま)2022年6月からSUPER STUDIOのインターンを経験。ecforceの機能開発に従事し、2023年4月に...
8ヶ月前
記事のアイキャッチ画像
42 Tokyoのパートナーになって1回目初めてのイベントを開催しました
SUPER STUDIOテックブログのフィード
はじめに 概要皆さんはエンジニア養成機関の42 Tokyoを知っていますか?42(フォーティーツー)はフランス発のエンジニア養成機関で、2020年6月に東京校として42 Tokyoが設立されました。授業料は完全無料で、18歳以上であれば経歴を問わず入学することができます。SUPER STUDIOでは、新卒のエンジニア採用を目的に、2023年12月からパートナー契約を締結しました。今回は、パートナー契約後に初めて学生向けのイベントを開催したので、そちらの内容を紹介いたします。 本題 目次パートナー契約をした経緯1回目のイベントでは、どのようなことをしたのか今...
9ヶ月前
記事のアイキャッチ画像
販売ページのクエリチューニング その2
SUPER STUDIOテックブログのフィード
はじめに 概要ecforceはエンドユーザへの販売の仕組み、注文や顧客の管理を提供するシステムです。今回はエンドユーザ向けの販売ページに関する速度改善についてまとめました。 経緯ここ数年、エンドユーザ向けの販売ページの機能追加によって、販売ページの描画が遅くなりました。それによって以下の問題が発生しました。クライアントによっては広告を打って、販売ページにアクセスが集中するケースがあり、サーバが負荷に耐えられず、購入できないエンドユーザが発生した一部クライアントからクレームが上がってしまったインフラチームの稼働負荷が上がってしまった上記を解消するために、半年...
1年前
記事のアイキャッチ画像
販売ページのクエリチューニング その1
SUPER STUDIOテックブログのフィード
はじめに 概要ecforceはエンドユーザへの販売の仕組み、注文や顧客の管理を提供するシステムです。今回はエンドユーザ向けの販売ページに関する速度改善についてまとめました。 経緯ここ数年、エンドユーザ向けの販売ページの機能追加によって、販売ページの描画が遅くなりました。それによって以下の問題が発生しました。クライアントによっては広告を打って、販売ページにアクセスが集中するケースがあり、サーバが負荷に耐えられず、購入できないエンドユーザが発生した一部クライアントからクレームが上がってしまったインフラチームの稼働負荷が上がってしまった上記を解消するために、社内...
1年前
記事のアイキャッチ画像
移行業務の改善 その5 移行業務のシステム化
SUPER STUDIOテックブログのフィード
はじめに弊社では ecforce というシステムをSaaSという形でサービスを提供しています。ecforceの導入を希望されるクライアント様には、大きく2パターンがあります。新規で ECを立ち上げたいというクライアント様別のカートシステムを現在使っており、ecforceに乗り換えたいというクライアント様後者につきまして、当然ながら顧客や注文データをリセットするわけにもいかないので、 既存データも引き継ぎたい という要望をいただくことが大多数です。ただ他社のカートシステムとecforceではデータ構造が異なるので、データを抽出してそのままecforceのデータベースに...
1年前
記事のアイキャッチ画像
移行業務の改善 その4 コンテナ化による生産性向上とインフラコスト削減
SUPER STUDIOテックブログのフィード
はじめに弊社では ecforce というシステムをSaaSという形でサービスを提供しています。ecforceの導入を希望されるクライアント様には、大きく2パターンがあります。新規で ECを立ち上げたいというクライアント様別のカートシステムを現在使っており、ecforceに乗り換えたいというクライアント様後者につきまして、当然ながら顧客や注文データをリセットするわけにもいかないので、 既存データも引き継ぎたい という要望をいただくことが大多数です。ただ他社のカートシステムとecforceではデータ構造が異なるので、データを抽出してそのままecforceのデータベースに...
1年前
記事のアイキャッチ画像
移行業務の改善 その3 CSV加工の分離
SUPER STUDIOテックブログのフィード
はじめに弊社では ecforce というシステムをSaaSという形でサービスを提供しています。ecforceの導入を希望されるクライアント様には、大きく2パターンがあります。新規で ECを立ち上げたいというクライアント様別のカートシステムを現在使っており、ecforceに乗り換えたいというクライアント様後者につきまして、当然ながら顧客や注文データをリセットするわけにもいかないので、 既存データも引き継ぎたい という要望をいただくことが大多数です。ただ他社のカートシステムとecforceではデータ構造が異なるので、データを抽出してそのままecforceのデータベースに...
1年前
記事のアイキャッチ画像
移行業務の改善 その2 並列処理による高速化
SUPER STUDIOテックブログのフィード
はじめに弊社では ecforce というシステムをSaaSという形でサービスを提供しています。ecforceの導入を希望されるクライアント様には、大きく2パターンがあります。新規で ECを立ち上げたいというクライアント様別のカートシステムを現在使っており、ecforceに乗り換えたいというクライアント様後者につきまして、当然ながら顧客や注文データをリセットするわけにもいかないので、 既存データも引き継ぎたい という要望をいただくことが大多数です。ただ他社のカートシステムとecforceではデータ構造が異なるので、データを抽出してそのままecforceのデータベースに...
1年前
記事のアイキャッチ画像
移行業務の改善 その1 SQLの高速化
SUPER STUDIOテックブログのフィード
はじめに弊社では ecforce というシステムをSaaSという形でサービスを提供しています。ecforceの導入を希望されるクライアント様には、大きく2パターンがあります。新規でECを立ち上げたいというクライアント様別のカートシステムを現在使っており、ecforceに乗り換えたいというクライアント様後者につきまして、当然ながら顧客や注文データをリセットするわけにもいかないので、 既存データも引き継ぎたい という要望をいただくことが大多数です。ただ他社のカートシステムとecforceではデータ構造が異なるので、データを抽出してそのままecforceのデータベースにイ...
2年前
記事のアイキャッチ画像
RubyKaigi2023初参加レポ
SUPER STUDIOテックブログのフィード
株式会社SUPER STUDIO という会社でバックエンドエンジニアをしている芝田です。Ruby歴はかれこれ5年ほど。業務でRuby / Ruby on Rails を扱う機会も多いです。この度、晴れて弊社がRubyのSilver Sponsorとなりスポンサー招待枠をいただけたので、長野の松本市で開催された RubyKaigi 2023に参加してきました。自分はちゃんとした(?)テックカンファレンスに参加すること自体が初めてだったので、とても刺激的で得るところの多い3日間となりました。この記事では、簡単にではありますがRubyKaigi 2023の内容をレポートしていきたいと思...
2年前