STORES Tech Blog

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

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

POSレジの長期プロダクト開発

STORES, STORES レジでバックエンドエンジニアをしている @charlie です。 先日 STORES から新しいプロダクト STORES レジ がリリースされました。 プロジェクト発足からリリースまで開発に実は1年9ヶ月かかっています。 全体像は @ide も公開しているので読…

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人…

GitHub ActionsでRuby on RailsのCI環境を構築する上でのポイント

STORES 予約 でwebアプリケーションエンジニアをやっております。ykpythemindです。 GitHub Actions、とても便利ですよね。STORES 予約チームでは徐々にCircleCI から GitHub Actionsへの移行を進めていますが、この度歴史あるRailsのリポジトリのCIを移行し…

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

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

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

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

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

業務委託で 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には新しい仲間が徐々に増え、エンジニア組織であるテクノロジー部門でもマネジメントの役割を担う人が増えました。 そこで、…