hey Product Blog

こだわりを持ったお商売を支えるプラットフォーム「STORES」の開発チームによる技術ブログです。

STORES

デザインシステム、Nuxt化、アクセシビリティ。フロントエンドの課題が揃っている面白さ

9月7日(火)にCTOの藤村 @ffu_ とフロントエンドエンジニアの横田がTwitter SpacesでSTORESのフロントエンドについておしゃべりしたので、その様子を一部お届けします。 公開進捗詰め?AngularJSをNuxt.jsに置き換えてる話 藤村:藤村大介といいます。ヘイ…

STORES ECに自動テストツールのMagic Podを導入した話

はじめに STORES EC ( ※ 以降、EC )のバックエンドエンジニアの@fuqdaです。 先日、Magic Podという自動テストツールを本格導入したので、今回はその当時の状況と実際に試してみた所感をレポートしたいと思います。 QAでお悩みの方はぜひ最後までご覧くださ…

STORES EC での障害振り返りの取り組み

はじめに STORES EC で SRE のエンジニアをしている秋元と申します。 サービスを運営していく上で障害の発生は避けて通れないところかと思います。 障害が発生しないように努力することはもちろんですが、今後も同様のことが起こらないようにしっかりと振り…

v0.0.1-alpha0.1から始めた-CTO 藤村とフロントエンド 藤川のおしゃべり

heyで採用広報を担当しているえんじぇるです。 7月13日(火)にCTOの藤村 @ffu_ とフロントエンドエンジニアの藤川@ushiro_noko がTwitter Spacesでフロントエンドについておしゃべりしたので、その様子を一部お届けします。 人生で一番弱気なバージョニング…

STORES Rails アプリを Zeitwerk 有効化するまでの道のり

こんにちは、ヘイ株式会社でエンジニアをしている id:hogelog です。 2021年6月に入社し CTO 室という部署に所属しつつなんだかあちこちの部署に首を突っ込むような役割をしています。まだ入社したばかりで把握してないものも多いですが、ビジネスの勢い、人…

STORES ECでのMongoDB(Mongoid)とSTIの使い方紹介

はじめに hey のECとかレジのバックエンドエンジニアをやっている @ucks です。 前回は、Mongoid の基本的な使い方と MongoDB を利用した開発のメリットを紹介しました。 今回はもう少し踏み込んで、STORES (以下、区別のため STORES EC と表記)、STORES レ…

アイテム画像件数上限アッププロジェクトの裏側

はじめに hey でECのフロントエンドエンジニアを担当している @nkoba です。 STORES ECでは先日、アイテム機能のアップデートをリリースしました。そのアップデートのうちの一つが、アイテム画像件数上限アップです。 これは今までアイテムごとに画像を15枚…

heyの統合データ基盤と今後の展望

はじめに はじめまして、4/1からデータチームでデータエンジニアとして働いている @shoso です。 突然ですが、みなさんデータ基盤って開発したことありますか? 私はheyに来るまでなかったのですが、チームの経験あるメンバーと毎日話しながら(助けてもらい…

MongoDB(Mongoid)を利用したRails開発のメリット

はじめに はじめまして、hey でECとかレジのバックエンドエンジニアをやっている @ucks です。 STORES (以下、区別のため STORES EC と表記) と STORES レジでは、Webアプリケーションフレームワークに Ruby on Rails 、 データベースに MongoDB 、 ODM (RDB…

Docker の要素技術について

はじめに STORES EC の SRE を担当している北原と申します。 hey では SRE チームが主催の 'SRE なんでも相談会' という勉強会を定期的に開催しています。 今回は、先日私が担当した 'Docker ことはじめ #1' の内容について紹介させていただきます。 Docker …

SREチームでスクラムを導入した話

はじめに STORES でECサービスのSREエンジニアをしている角田と申します。 SREチームではチームのタスク管理のためにスクラムを利用しています。 スクラムを導入してから今までの半年と少しの間に感じたことをまとめてみました。 元々のSREチームの働き方と…

GKE Autopilotをデータ基盤に導入してみた

データエンジニアの@komi_edtr_1230です。 今回データチームが管理しているデータ基盤にてGKE Autopilotを導入したのでその感想についてまとめていこうと思います。 TL; DR GKE Autopilotを使い始めて、インフラ管理から解放され開発業務に専念できるように…

CSPを利用してRailsアプリから安全にiframeを制限する

STORES EC本部のソフトウェアエンジニア @_morihirok です。 STORES ECではクリックジャッキングの脆弱性に対応するため、2021年の2月に他ドメインのサイトからのiframe要素などによる読み込みを制限するアップデートを行いました。 コンテンツセキュリティ…

チーム内でも目標設定と振り返りをやってみよう!から1年が経ちました

テクノロジー部門、STORES ECでフロントエンドエンジニアをしている @daitasuです。 私たちのチームでは、会社全体での人事制度で設定する目標とは別に、チーム内で独自にクオーターごとの目標設定と振り返りをしています。 チーム内での目標設定と振り返り…

「【生配信】"hey Talk" Engineers STORESのカジュアル面談全部お見せします!」というイベントをやりました!

STORES でECの開発に携わっている @katsumata_ryo です。先日5月27日に「【生配信】"hey Talk" Engineers STORESのカジュアル面談全部お見せします!」というイベントを行いました。当初20名を定員とさせていただいておりましたが、即日定員に達したため50人…

MongoDBの本番データを使って安全に動作確認できるようにする

最初に こんにちは、STORES ECチーム、SREグループ所属の渋谷です。皆さんは本番データを使って動作確認や検証することがありますでしょうか? 我々も、稀ではありますが本番と同等のデータで動作確認や検証する場合があります。今回は、直近で本番のデータ…

CIでデータマートを自動生成する

データチームにてデータエンジニアとして働いている @komi_edtr_1230です。 2021年1月からheyの1人目のデータエンジニアとして入社し、日々データ基盤の整備にあたっています。 今回の記事ではCIでデータマートの生成を自動化した話について書いていきます。…

クライアントサイドのバリデーションエラーのデータ型についての考察

業務委託で STORES の開発をしている @inouetakuya です。 先日 STORES のフロントエンドチーム内でクライアントサイドのバリデーションについて見直す機会があり、特にバリデーションエラーのデータ型をどうするかについての議論が興味深かったので、共有さ…

Rails 6.0へアップグレードしました

バックエンドエンジニアで STORES EC を担当しているただ @tdakak です。 hey には2021年の1月に入社しました。 現在は業務改善グループという、アプリケーションのセキュリティ対応や運用や開発をなめらかにするための仕組み作りを行うなんでも屋さんなチー…

STORESを支えるいろんなモブ〇〇

heyでSTORESのECサービスを開発をしている morihirok です。 STORES ECでは2019年ごろからモブプログラミングを徐々に導入し始め、今ではモブプログラミングだけでなくいろんなモブ〇〇が誕生したので、その紹介をします。 そもそもモブプログラミングとは …

プロジェクトの振り返りについて振り返ってみた

※この記事は hey アドベントカレンダー2020 22 日目の記事です。 一年の終わりにやることといえばなんでしょうか? ... そうですね、振り返りです。 今年いくつかのプロジェクトに関わりまして、プロジェクトが終わるごとに毎回プロジェクトの振り返りをして…

社内セキュリティ勉強会のはなし

はじめに STORES でセキュリティエンジニアをしている横山です。 hey アドベントカレンダー 2020 の20日目の記事です。今回はエンジニア向けに行ったセキュリティ勉強会の一部を紹介したいと思います。 セキュリティグループでは、セキュリティ施策の一部と…

BigQueryMLでサービス数値の月末着地予測をする

この記事はhey アドベントカレンダーの19日目の記事です。 こんにちは、STORES でデータアナリストをしている@yougaiです。 サービスを運営していく中で、月次でKPIの目標を持っているチームは多いと思います。 そこで月中に気になるのが、今の調子で月末に…

DatadogのApp Analyticsについて

はじめに STORES でECサービスのSREエンジニアをしている角田と申します。 hey アドベントカレンダー 2020 の12日目の記事です! 今回は STORES でサービス監視に利用しているDatadogの機能についてです。 Datadog には App Analytics という機能があります…

フルリモート環境で絆を繋ぐ、 大喜利式チームランチ

この記事はhey Advent Calendar 2020 6日目の記事です。 こんにちは、 STORES でフロントエンドエンジニアをしています @daitasuです。 さて、本日は私たち STORES のフロントエンドチームが行う、フルリモート環境下でのチームランチについての小話です。 U…

MongoDBでnull以外を条件にデータを取得する時にCovered Queryにする方法

この記事はheyアドベントカレンダー2020の5日目の記事です。 STORESでECサービスのSREをしている@wanijiです。 STORESではメインとなるDBにMongoDBを採用しており、RDBと同様にインデックスを使ったパフォーマンス改善をします。その際に、インデックスを使…

Rubyのカスタム例外をちゃんと使おうと思った話

STORES のバックエンドエンジニアの@zakkyです。 本記事は、hey アドベントカレンダー 2020 の 4 日目の記事です! アドベントカレンダーに記事を書くのは初めてで、何を書くか悩みました。 技術記事は過去の自分に向けて書くのがちょうど良いという言葉を先…

STORES EC のインフラ構成

はじめに STORES で EC サービスの SRE エンジニアをしている秋元と申します。 hey アドベントカレンダー 2020 の 3 日目の記事です! 今回は STORES EC のインフラ構成を紹介したいと思います。 正直なところ、弊社のインフラ構成は「すごく最先端を走って…

Vuex ストアに TypeScript の型を付ける(2020年12月版)

業務委託で STORES の開発をしている @inouetakuya です。 下記の記事(2020/09/14)にあるように、STORES では TypeScript の導入を進めています。 プロダクトに途中から TypeScript を導入した話 - STORES Tech Blog 現状、新規に記述するコードについては…

STORESを支える「運用週」という仕組み

みなさんは「保守・運用」と聞くとどのようなイメージをお持ちでしょうか? もしかしたら良いイメージをお持ちでない方もいらっしゃるかもしれません。 しかし、売り上げを生み出している既存コードの保守運用はビジネス上、新規機能開発と同等かそれ以上に…