くらしのマーケット開発ブログ

「くらしのマーケット」を運営する、みんなのマーケット株式会社のテックブログ。積極採用中です。

くらマのオンライン決済を支えるデプロイ技術

こんにちは。 バックエンドエンジニア / SRE のまのめです。 くらしのマーケットではマイクロサービスアーキテクチャを一部採用しており、決済サービスも一つのマイクロサービスとして運用しています。 決済サービスは ECS で管理しており、コンテナは Farga…

緊急トラブルを解決するサービスをリリースしました!

最近寒くて布団から出るのが辛いPdMのハットリです。 今回は、緊急系サービスをリリースするにあたってどんな取り組みをしていたかを書いていきたいと思います。 緊急系サービスを一言で説明すると「24時間以内の作業を実現させるサービス」です。 詳しい説…

ででんでんでん、デシジョンテーブル

ご無沙汰してます、QAエンジニアのざきです。 世の中の流れは早いもので、2020年も残り僅か。寒い地域は苦手なので宮崎から出られません。 はてさて 今回は数あるテスト設計技法の中から「デシジョンテーブル」について書きます。 開発内容の規模が小さい場…

Redisのコネクション数を10分の1にした話

はじめに こんにちは、バックエンドエンジニアのtakayukiです。 私のあるリリースをきっかけとしてRedisのコネクション数が増加しました。 この記事にはRedisのコネクション数が増加した際の調査内容と修正の備忘録を書きます。 起きたこと くらしのマーケッ…

TypeScript の特徴を他の言語と比較してみた

こんにちは。2020年4月に新卒で入社した片山です。 私は学生時代、主に C / C++ や Python を書いていました。TypeScript は くらしのマーケットのバックエンドで使われており、入社して初めて触った言語です。 これまで触った言語のとの違いや、特徴的な型…

Web ナイト宮崎 Vol.10 ~てげ TypeScript を学びたい~ で登壇しました

こんにちは、バックエンドエンジニアの @akira です。 9 月 18 日に宮崎で開催された勉強会【Web ナイト宮崎 Vol.10 ~てげ TypeScript を学びたい~】で「TypeScript の列挙型について」というテーマで発表してきました! 今回はその内容を記事として再編成…

Ansible の variable register は when でスキップできない

こんにちは。 バックエンドエンジニア / SRE のまのめです。 くらしのマーケットのデプロイには、 Ansible が採用されています。 Ansible では、実行したコマンドの結果などを変数に入れる register というキーワードがあります。 小ネタですが、この regist…

TypeScriptを使ってDiscord botを作ってみよう!

はじめに こんにちは!今年新卒入社しました、エンジニアのタナカです。 早速ですが、ここ最近リモートワークが推奨されている中、「Discord(ディスコード)」というツールを導入した、もしくは導入してはいないけれども単語は聞いたことがあるという方が増…

ログイン画面の「当たり前」を調査

みんなのマーケットでUI/UXデザイナーをしているミソサクです。 モバイルデザインの「当たり前」の変化はすごい早いです。その早さに置いていかれないように、今回は2020年9月現在の「ログイン画面」における「当たり前」を調査します。 まず、我らがくらし…

AWS Summit Onlineにて、くらしのマーケットのインフラを紹介しています

昨日9/8より開催の、AWS Summit OnlineのAWS Startup Talksにて、「くらしのマーケット」のインフラ構成や、放映しているTVCMの負荷対策について、CTOの戸澤がご紹介しています。 aws.amazon.com (みんなのマーケット で、ページ内検索をお願いします) くら…

オンライン決済サービスをリリースしました

こんにちは、バックエンドエンジニアの @akira です。 今回は8月12日にリリース致しました、オンライン決済サービスの開発について振り返ってみようと思います。 今まではくらしのマーケットの支払い方法として現金のみ利用可能でしたが、オンライン決済サー…

BashとPSQLを使う時の注意事項

こんにちは!エンジニアのカーキです。 今日はBashとPSQLを使ってSQLを実行した時にハマったエピソードについて紹介したいと思います。 なにでハマったのか? 自分が書いたBashのスクリプトでpsqlを使っていくつかの簡単なSQL (主にINSERT, UPDATE, DELETE)…

GitHub Actions もしものときの timeout

みんなのマーケットの バックエンド/SRE を担当している、マノメです。 今回は、GitHub Actions で起こった障害に巻き込まれて失敗に気づいた、という例をご紹介したいと思います。 なお本記事は、6/10 に開催した 「失敗に学べ!くらしのマーケットの開発「…

くらしのマーケットの開発チーム紹介!

みんなのマーケットでPdMをしているハットリです。 今回はくらしのマーケットを開発しているテクノロジー本部のチームを紹介していきたいと思います。 テクノロジー本部では 機能をより使いやすく より、「探しやすく」「予約しやすく」「払いやすい」ものに…

要件定義で、すったもんだ

みんなのマーケットでUI/UXデザイナーをしているミソサクです。 入社5年目です。みんなのマーケットに来るまではアパレルEC業界でデザイナーをしていました。この記事にあるように、私は入社して1年くらいは自分の思い描くような活躍ができていませんでした…

QAのお仕事紹介

はじめまして。QAエンジニアのザキです。 ここ数年、QAってなに?QAエンジニアの仕事って?、と聞かれる機会が増えました。 それだけ興味・関心が高まっていると思いつつ、認知度については業界を通じた課題があるのかなと一喜一憂の日々です。 今日は簡単な…

読みやすいコードを書く必殺技

こんにちは、バックエンドエンジニアのカーキです。 今日は自分が思う読みやすいコードの秘密を紹介したいと思います。 いきなり答えを言っちゃいますが、読みやすいコードを書く必殺技はコードの抽象度を揃えることです。 抽象度とは 抽象度というのはもの…

SQL を一定間隔で実行する

夜ご飯んンンンンンンンンンンンンンンッ!食べれないやつ こんにちは、バックエンドエンジニアの @akira です。 データを自動で更新するなど、 SQL を一定間隔で実行したいケースがあり、今回はその方法を調べてみました。 前提条件は以下です。 PostgreSQL…

pip install Flask-Injector ができない! を解消した

こんにちは。バックエンドエンジニア / SRE のまのめです。 先日、弊社のテスト環境「 tako 環境 」が焼けなくなり(*)、それについて調査・解決したことをまとめました。 * tako 環境を焼く = 社内用語で、テスト環境を作成/更新すること 状況 python3.5 で…

エンジニアの「ドキュメントよりコード書きたい」を本気で解決してみた!

こんにちは、みんなのマーケットでCTOをしている戸澤です。 今回は、長年に渡って整備できなかった開発ドキュメントを、全員で整備する取り組みをはじめた、という内容です。 本記事は、6/10に開催した「失敗に学べ!くらしのマーケットの開発「失敗」LT会 v…

動画初心者がAWS Elemental MediaConvert使ってみた!

こんにちは、みんなのマーケットでCTOをしている戸澤です。 今回は、動画の知識がない初心者がAWS Elemental MediaConvertを使って動画変換してみた、という内容です。 ことのはじまり 先日、仕事で動画撮影の機会があり、合計6時間(1920x1080, 60fps)ほど撮…

リモートワークなので VSCode で Remote-SSH しながら LiveShare を試す

バックエンドエンジニア 兼 SRE のまのめです。 ご時世もあり、弊社の東京オフィスではリモートワークが推奨されています。 オフィスではデスクトップの Linux PC を使っている人が大半なので、リモートワークでは ssh でオフィスの PC にアクセスして作業す…

DDD開発をしてみての振り返り

バックエンドエンジニアの@akiraです。 今回はチームで採用しているドメイン駆動設計について、実際に開発してみて三ヶ月ほど経ちましたので、その知見等を公開したいと思います。 まず初めに、ドメイン駆動設計の基礎をおさらいしましょう。 ひざまずいて話…

第三回LTを開催しました

テクノロジー本部バックエンドエンジニアの福原です。 くらしのマーケットを運営しているみんなのマーケットでは、社内 LT 会を定期的に開催しています。 LT 会がついに第三回を迎えたので、 会社の雰囲気を伝える&こんな発表をしているよというのを紹介しま…

【宮崎】QAエンジニア 業務体験会@みんなのマーケット宮崎オフィス

みんなのマーケット 宮崎オフィス ■イベント説明 今回みんなのマーケットでは、くらしのマーケットの規模が拡大する中で、今後もサイトやアプリを安定して稼働させていくために、QAを増員します。 QAとは「Quality Assurance=品質保証」という職種で、新機能…

ansibleで 「NameError: name 'temp_path' is not defined」 と言われた話

バックエンドエンジニア 兼 SRE のまのめです。 くらしのマーケットでは、デプロイの仕組みとして ansible を採用しており、テスト環境の構築でも同じ仕組みを利用しています。 テスト環境は対応する git のブランチ別に構築することができるようにしていま…

第1回 みんなでボードゲーム会@みんなのマーケット不動前オフィス

■イベント説明 引越したばかりのみんなのマーケットの綺麗なオフィスで、ボードゲームをする会です。 みんなのマーケットのエンジニア(ボドゲエキスパート)とデザイナー(ボドゲビギナー)が主催するイベントです。 ボードゲームをしたい方なら誰でも参加…

【今週水曜】糖質制限エンジニアのための採用説明会開催

概要 「糖質制限エンジニアのための採用説明会」とは... 「身体と技術を高めたい!」「筋トレできる会社はどこだ!?」というエンジニアを対象に、ゆでたまごやサラダチキンといった低糖質フードを振るまいます。さらに、弊社CTOによる魂を込めた演説が行わ…

技術コミュニティ支援のために、IT勉強会向けに会場を貸します!(🍻 +🍕 あり)

オフィス移転のため、受付停止中です(2020年10月現在) みんなのマーケットCTOの戸澤です。 みんなのマーケットは、2019年3月18日に東京本社を五反田から不動前に移転し、約2.5倍に増床しました。 不動前の新オフィスでは、セミナールームとオープンスペース…

設計の原則の紹介とくらしのマーケットのシステム

自称webエンジニアの高橋です。ソフトウェアを設計するにあたってよく知られている原則に、SOLID原則というものがあります。これは、 単一責任の原則(Single Responsibility Principle) オープン・クローズドの原則(Open-Closed Principle) リスコフの置換原…