STORES Tech Blog

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

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

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

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

STORES 予約 開発チームの価値観・開発フロー・採用の特徴について考えてみました

2021 年 1 月、Coubic が hey に吸収合併される形で「STORES 予約」というプロダクトが hey の中にできました。 3 ヶ月(実際には昨年の 10 月から開発チームは hey オフィスで働いていたので 6 ヶ月)経った今、改めて今の予約チームの価値観や開発の進め方、…

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

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

React DnDを使ったので知見をまとめた

始めに STORES 予約でエンジニアをしているTak-Iwamoto です。 今回はある項目の並び替え機能を実装する際に React DnD を使用したので、その知見について書かせていただきます。 実装した画面はこんな感じです。 ライブラリ STORES 予約の管理画面は Rails …

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

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

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

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

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

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

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

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

面談担当者としてのカジュアル面談への取り組み方

はじめに STORES EC事業のプロダクトバックエンドというチームでエンジニアリングマネージャーをしている勝亦(@katsumata_ryo)と申します。 STORES アドベントカレンダーの15日目はマネージャーの役割の一つである採用に関して、カジュアル面談をピックア…

WebアプリケーションをWAFでサクッと守って年末年始をもっと安心に

STORES 予約の @sa2dai です。 今年は予約管理サービス「クービック」が、heyにジョインさせてもらうこととなり、サービス名称も「STORES 予約」となったそんな年でした。 今回heyアドベントカレンダー2020に参加させてもらい、13日目として本記事を作成しま…

DatadogのApp Analyticsについて

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

Goで静的解析してlinterを作る

STORES 予約 でwebアプリケーションエンジニアをやっております。ykpythemindです。 本記事は hey アドベントカレンダー2020の11日目です。 概要 heyではOpenAPI(Swagger)の導入が行われています。 note.com STORES 予約 チームでも一部で使用し始めており、…

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

この記事は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 現状、新規に記述するコードについては…

2020年に出版されたマネジメント関連のおすすめ本をご紹介

この記事はhey Advent Calendar 2020 の1日目の記事です。 こんにちは、STORESでVPoEをしている矢部( @tyabe )です。 2020年もheyには新しい仲間が徐々に増え、エンジニア組織であるテクノロジー部門でもマネジメントの役割を担う人が増えました。 そこで、…

hey アドベントカレンダー2020始めます

今年もまた、アドベントカレンダーの時期がやってきました! 昨年の振り返りと今年について 昨年は、STORES.jp 株式会社としてアドベントカレンダーを行い、エンジニアに限らず、デザイナー、プロダクトマネージャーなど職種を跨いでブログを書きました! 昨…

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

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

たまってしまった .rubocop_todo.yml をGitHub Actionsで継続的かつ自動的に倒す方法

こんにちは。heyのCTOをやっている藤村です。 実はCTOになる前はSTORESのRailsのコードを改善する仕事をしていました。その頃に、たまってしまっている.rubocop_todo.ymlをなんとか手間をかけずに消化していきたいな〜と思い、少しづつ自動的に消化する仕組…

STORESってMongoDBを使ってるらしいけど正直どうなの?

STORESのECサービスを開発している@morihirokです。 STORES ECはRuby on Railsで開発されているWebアプリケーションですが、データベースにはMySQLやPostgreSQLといったリレーショナルデータベースではなく、MongoDBを採用しております。 この記事ではカジュ…

職能横断型スクラム体制になってからのチーム改善活動

こんにちは、STORES ECでフロントエンドエンジニアをしている@daitasuとバックエンドエンジニアをしている@phayacellです。 STORES ECでは、今年の5月よりエンジニア内の大きな体制変更がありました。 その変更では、フロントエンド/バックエンドで分かれて…

heyにフルリモートで入社して2ヶ月が経ったので入社体験記を書きました

はじめまして、STORESのバックエンドエンジニアのzakkyです。 2020年8月1日に入社しました。この記事を書いているのは9月下旬なので、約2ヶ月が経過した状態です。 弊社は2月頃から、COVID-19 の影響で全社的にリモート推奨となりました。2月から現在にいた…

Vue に stale-while-revalidate がやってくる

STORES でフロントエンド開発をしているushironokoです。今回は Vue でも SWR のようなしくみが使え、遠くない未来で標準的に使われることになりそうだ、という話を書きます。stale-while-revalidate とはどのようなものなのかについても簡単に解説していき…

プロダクトに途中からTypeScriptを導入した話

heyのSTORESでECの開発をしている@nkobaです。 この記事ではフロントエンドでTypeScriptを導入した話について発信していきます! TypeScriptとは TypeScriptはJavaScriptにリッチな型システムと静的な型検査を付加したプログラミング言語です。 TypeScriptが…

パフォーマンス改善から可視化の重要性を再認識した話

はじめに STORES で EC サービスの SRE エンジニアをしている秋元と申します。 今回は、EC サービスでのパフォーマンス改善について書こうと思います。 特に可視化の重要性について改めて感じたので、そのあたりについて書こうと思います。 STORES の EC サ…

社内UIライブラリの変遷

heyのSTORESでECの開発をしている@nkobaです。 この記事ではフロントエンドで使用しているUIライブラリについて発信していきます! 社内UIライブラリとは STORESのECではSTORES.jp-Front-Commonというフロントエンドライブラリを作成しています。 その一部と…

スクラムにおける分析と設計の失敗について振り返る

heyのSTORESでECの開発をしている @morihirok です。 STORES EC(旧STORES.jp)では、heyグループとなった2018年ごろより開発手法にスクラムを採用し始めました。 現在では多くの開発プロジェクトでスクラムが採用されるようになっています。 おかげさまでプ…

STORESメンバーで冬の千葉に開発合宿に行ってきました

はじめに はじめまして! STORES ECでフロントエンドエンジニアをしています、 @daitasu です。 2020年2月上旬(ずいぶん経ってしまいましたが)、STORESの開発メンバーで南房総 金谷へ1泊2日の開発合宿に行ってきました!!! この記事では、そこに至るまでの…