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

https://tech.curama.jp/

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

フィード

記事のアイキャッチ画像
Node.js18を20にアップデートして、jestの実行速度を3倍にした
くらしのマーケット開発ブログ
こんにちは!バックエンドエンジニアのハラノです。 くらしのマーケットのシステムの中には、Node.js(NestJS)を使用したマイクロサービスが存在しており、今回 Node.js のバージョンアップを行いました。 バージョンアップの方針及び、実際にアップデートを行う際に出てきた問題とその対策をご紹介します。 バージョンアップの方針 バージョンアップの結果 各種対応において、発生した問題と対応 TypeScript のバージョンアップ NestJS のバージョンアップ @nestjs/common から HttpService, HttpModule が削除された Inject にInject…
2ヶ月前
記事のアイキャッチ画像
セッションストア(ElastiCache for Redis)の分離作業と発生した問題を振り返る
くらしのマーケット開発ブログ
SRE の片山です。 実は12月の SpeakerDeck の担当者が決まっていませんでしたが、4月に投稿したこちらのスライドがありがたいことに一番多くの view を獲得した...ということで選ばれました。 tech.curama.jp ところで、最近ベトナムで行っている開発に関わることが増えました。そしてある機能の開発を進めるタイミングで負債化してきたセッションストアに利用している ElastiCache クラスターの一部のキーを新しいクラスタへ分離する良い機会が訪れました。 ベトナムの開発が気になる方はこちらを参照ください。 tech.curama.jp いい機会だ、ということで分離作業…
5ヶ月前
記事のアイキャッチ画像
バンドルファイルのサイズを50%軽量化した話
くらしのマーケット開発ブログ
こんにちは、みんなのマーケットでエンジニアをしているきたがわです。 今回はくらしのマーケット内で読み込まれるバンドルファイルを軽量化した話について紹介いたします。 ぜひご覧ください! 発表資料 speakerdeck.com
6ヶ月前
記事のアイキャッチ画像
プロダクトが日の目を見るまでにPMがやっていること
くらしのマーケット開発ブログ
プロダクトが日の目を見るまでにPMがやっていること こんにちは、みんなのマーケットでプロダクトマネージャーをしているたざきです。 最近よく聞くプロダクトマネージャー(PM)ですが、実際どんな仕事をしているかはよくわからない方も多いのではないでしょうか? 今回は当社のPMがどのような仕事をしていて、どのような人と関わりながら進めているかをスライドにまとめました! PMにチャレンジしてみたい!という方にはぜひご覧いただければと思います。。 発表資料 speakerdeck.com
7ヶ月前
記事のアイキャッチ画像
Twilio SDKをFlutterアプリに統合した話
くらしのマーケット開発ブログ
Twilio SDKをFlutterアプリに統合した話 こんにちは、みんなのマーケットでエンジニアをしているリュウです。 当社では、アプリ開発にFlutterという技術を採用しています。 今回は、FlutterアプリでTwilio SDKを使って電話機能を実装した話を紹介しています。 Flutterで開発しようかと考えている方に、ご参考になれば幸いです。 発表資料 speakerdeck.com
8ヶ月前
記事のアイキャッチ画像
くらしのマーケットの後払い
くらしのマーケット開発ブログ
こんにちは、みんなのマーケットでエンジニアをしているあんどうです。 今回は、先日リリースした後払い決済サービスについて、その内容をご紹介します。 ぜひご覧ください! speakerdeck.com
9ヶ月前
記事のアイキャッチ画像
キャンペーンの開発工数を大幅に減らした話
くらしのマーケット開発ブログ
こんにちは!みんなのマーケットでエンジニアをしているあべです。 くらしのマーケットでは、定期的にキャンペーンを開催しています。 今回は、キャンペーンの開発工数を大幅に減らしたので、その内容を紹介しています。 ぜひご覧ください! 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
「くらしのマーケット」のデザインガイドラインを作った話
くらしのマーケット開発ブログ
こんにちは!みんなのマーケットでデザイナーをしている福間です。 昨年くらしのマーケットの「デザインガイドライン」を新たに作成し、それをもとに「デザインリプレイス」を行いました。 どこがどう変わったのか、どうやって決めていったのかを大まかにまとめましたので、ぜひご覧ください。 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
マイクロサービスの不整合に立ち向かうため仕組みを整えたという話
くらしのマーケット開発ブログ
分散システムのデータ不整合に立ち向かうため気付けるようにした こんにちは!みんなのマーケットで SRE をしている片山です。 当社ではマイクロサービスアーキテクチャを採用しています。運用していく中で大敵であるデータ不整合に立ち向かう第一ステップとして仕組みを整え運用してきました。また、最後の方で実際に運用してきて感じたことも紹介しています。 参考になれば幸いです! 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
2ヶ月で20個のアイディアを最速でリリースした話
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでプロダクトマネージャーをしているめぐみです。 くらしのマーケットでは300種類以上の様々な出張訪問サービスを扱っています。 より多くの出張訪問サービスを増やすことにコミットしたときを振り返り、最速でアイディアをリリースするために大切だったことをまとめました。 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
ベトナムで開発をはじめた話
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでCTOをしている戸澤です。 くらしのマーケットは扱っている出張サービスの種類(カテゴリ)が多く、カテゴリ毎にプロダクト開発が必要になります。 その開発をより大規模、かつ、高速に進めていくためにベトナムでの開発スタートしました。その事例を紹介します。 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
VPNをやめてCloudflare Accessへ移行した話
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでCTOをしている戸澤です。 2020年のコロナウイルス流行から当社はフルリモートワークへ働き方を切り替えました。 現在は出社する人数も増えていますが、現在も大多数はリモートワークをしています。 今回、リモートワークで使用していたVPNをやめて、Cloudflare Accessと切り替えた事例を紹介します。 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
「くらしのマーケット」のロゴを変更した話
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでUI/UXデザイナーをしている「みそ」です。 これまでの「くらしのマーケット」のロゴの変更目的をまとめました。 我々デザイナーがプロダクトを作る上で何を大事にしているのか、どういう基準で判断しているのか。プロダクト、サービスが今どういう状態にあるのか。このあたりのことが参考になればど思います。 発表資料 speakerdeck.com
1年前
記事のアイキャッチ画像
レポート作成機能の開発とS3・ECSに関する小話
くらしのマーケット開発ブログ
こんにちは、バックエンドエンジニアの富永です! 今年も早いもので、もう11月ですね〜。 最近東京では過ごしやすい気候が続いています。寒さが苦手な自分にとってはずっとこのままでいてほしいな〜、と願って止まない今日この頃です。 さて私事ですが、今年6月にみんなのマーケットにジョインし、レポート作成機能という新規機能の開発を担当させていただきました。 その際に、Amazon S3(以下、S3)・Amazon Elastic Container Service(以下、ECS)を活用し開発しました。前職で少しAWSの経験はあったのですが、AWS SDKを使っての開発はほぼ初めての経験で、機能要件を満たす…
2年前
記事のアイキャッチ画像
Django ORMとAldjemyの共存環境でRead Replicaを利用する
くらしのマーケット開発ブログ
こんにちは、バックエンドエンジニアのキダです。 最近DjangoのアプリケーションにてRead Replica(リードレプリカ)構成を検証してみたので、その内容を共有しようと思います。 この記事では、DjangoのアプリケーションからDB操作にはDjango ORMと、Aldjemyを使う前提の構成になります。 Django ORMやAldjemyそのものについては以下のWebサイトをご参照ください。 DjangoでSQLAlchemyを使ってみよう Read Replica構成について まず前提として一般的なアプリケーションでのRead Replica構成について説明します。 databas…
3年前
記事のアイキャッチ画像
ISUCONの過去問にチャレンジしてみた: Part-2
くらしのマーケット開発ブログ
こんにちは、バックエンドエンジニアの片山です。 ISUCON 11の予選に参加したのですが、まだまだできることがあると思い、同じ問題に再挑戦しました! 問題のソースコード: https://github.com/isucon/isucon11-qualify マニュアル: https://github.com/isucon/isucon11-qualify/blob/main/docs/manual.md アプリケーションについて: https://github.com/isucon/isucon11-qualify/blob/main/docs/isucondition.md Part-1 …
3年前
記事のアイキャッチ画像
AngularJS製のページをReactでリプレースした話
くらしのマーケット開発ブログ
AngularJS to React こんにちは、みんなのマーケットでフロントエンドエンジニアをしている山本です。 先日、AngularJSで書かれていた一部のページをReactでリプレースするプロジェクトのリリースが無事終わったため、経緯や知見を共有いたします。 前提の共有 リプレースの背景を説明する前に、必要な前提の共有をいたします。 弊社が提供するサービス、くらしのマーケットのWebアプリケーションには大きく分けると2つのページが存在します。 1つ目が、一般ユーザーが利用する「ユーザー側」と呼ばれるページです。「くらしのマーケット」と検索して出てくるページがこちらです。 2つ目が、くらし…
3年前
記事のアイキャッチ画像
ISUCONの過去問にチャレンジしてみた: Part-1
くらしのマーケット開発ブログ
こんにちは!バックエンドエンジニアのカーキです。 今年の9月に初めてISUCONに挑戦してみたのですが、予選で手も足も出なくて悔しい思いをしました。問題は面白かったので、同じ問題をもう一度本気で解いてみました。 問題のソースコード: https://github.com/isucon/isucon11-qualify マニュアル: https://github.com/isucon/isucon11-qualify/blob/main/docs/manual.md アプリケーションについて: https://github.com/isucon/isucon11-qualify/blob/mai…
3年前
記事のアイキャッチ画像
新卒エンジニア向けお仕事紹介資料を公開しました
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでCTOをしている戸澤です。 みんなのマーケットでは、エンジニアの新卒採用を通年で行っています。 新卒の方はコードを書く以外の業務を、入社前の時点で想像することは難しいです。 チーム開発、特にPM、デザイナーなど様々な職種の人と協働する点や、継続的な機能改善などは学習の場では経験できず、業務ではじめての経験になることがほとんどだと思います。 このお仕事紹介資料はコードを書く以外の業務について入社前に理解を深めることを目的に、職種紹介、開発案件に対してチームでどう動くかなどを紹介したものです。
3年前
記事のアイキャッチ画像
時代に先駆け、EV(電気自動車)コンセント設置カテゴリを追加したお話
くらしのマーケット開発ブログ
EV(電気自動車)コンセント設置イメージ こんにちは。 みんなのマーケットでカテゴリーマネージャーをしている工藤です。 当社が運営しているサービス「くらしのマーケット」では、常に人に必要とされているサービスの模索、展開を行っています。 今や生活には欠かせない「自動車」関連のカテゴリを昨年リリースし、ユーザーの皆様の役に立つサービスの展開を続けています。 僕自身、週末は子供と一緒にアクティブに行動するタイプで、自家用車(愛車のVOXY)で高速道路もよく利用します。 もちろん、ソーシャルディスタンスを保ちながら! 高速道路のサービスエリアや道の駅などで、ここ数年やたら目にするようになったEV(電気…
3年前
記事のアイキャッチ画像
Stripe Connect Expressの利用事例を発表しました
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでCTOをしている戸澤です。 くらしのマーケットでは2020年8月に初の決済機能である、オンラインカード決済機能をリリースしています。 オンラインカード決済機能の実装では決済代行としてStripe社のConnectを使用しています。 Connectはくらしのマーケットのような、売り手、買い手、プラットフォーマーの3者がいるマーケットプレイス向けのプロダクトです。 今回、Stripeのユーザーコミュニティである、JP_Stripesさんよりお誘いいただき、 くらしのマーケットでのConnectの選定の背景、リリースの運用面についてお話させていだきました。 発表資料 …
3年前
記事のアイキャッチ画像
ヤッホー!シワちゃんだよーん
くらしのマーケット開発ブログ
こんにちは、バックエンドエンジニアのキダです。 先日くらしのマーケットでSign In With Apple(SIWA)対応のリリースをしました! SIWA対応でハマった点などを紹介いたしますので、興味がある方は参考にしてください。 背景 AppleのポリシーによりApple IDでログインできるソーシャルログイン機能のSign In With Apple(SIWA)は2020年7月より対応必須となりました。 ※ 元々は2020年4月からとなっていましたが、コロナウィルスの影響もあり延期されていました 対応必須の詳細は以下になります。 ソーシャルログイン機能持つアプリはSIWAの対応が必要 対…
3年前
記事のアイキャッチ画像
くらしのマーケット開発職向けの会社紹介資料を公開します!
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでCTOをしている戸澤です。 みんなのマーケットでは採用を強化しており、 2020年11月から2021年2月の4ヶ月間で、開発メンバーだけでも18名が入社しています。 カジュアル面談や面接をしてきた中で、「当社が何を考えていて」、「今どんな状態で」、「これから何をするのか」が候補者に知られていないことに気が付きました。 そこでカジュアル面談や面接の中でお話している内容に加え、技術やプロダクト、働き方などの5つの項目をスライドにまとめて、公開します! 主な内容 くらしのマーケット について 開発体制と技術スタック プロダクトでこれから目指すもの フルリモートワークで…
3年前
記事のアイキャッチ画像
全員で会議できる時間をいもす法で探そう
くらしのマーケット開発ブログ
こんにちは。SRE / バックエンドエンジニアのマノメです。 前回の記事 を読んで、以前私が思いつきで作った、「全員で会議できる時間はいつか?」を調べるコードを書いたことを思い出しました。 どういうものかというと、チームメンバーの数日間の出勤記録をもとに全員が揃っている時間を割り出す、という至ってシンプルなものです。 弊社では現在、コアタイムなしのフレックスタイム制で、多くのメンバーがフルリモート出勤です。 会議をしたい!となったらもちろん、開始時間を決めてその時間に出勤するようにするべきなのですが、とはいえ生活時間を急に変えるというのは朝が弱い私のような人間にとってはなかなか大変です。 なの…
3年前
記事のアイキャッチ画像
競技プログラミングのススメ
くらしのマーケット開発ブログ
こんにちは、 @akira です。本年もよろしくお願いいたします。 2021 年のテックブログ一本目は、競技プログラミングの紹介記事になります。 サンプルコードは Go で記載しています。 競技プログラミングとは 出題されたお題をデータ構造とアルゴリズム(+数学 etc...)を駆使して解く競技です。 実際のコンテストでは制限時間内に難易度の違う問題が複数出題されるので、それらをいかに早く解くかを競います。 例えばこんな問題が出題されます。 自然数 n (1 <= n <= 1000)が与えられたとき、1からnまでの和を求める calcSum() を実装せよ まず naive に brute …
3年前
記事のアイキャッチ画像
2020年のQAチームを振り返る
くらしのマーケット開発ブログ
こんにちは、QAエンジニアのざきです。 イルミネーションにワクワクする時期ですが、今年は大人しくStay Homeを続けています。 数年前の大根やぐらライトアップ〜宮崎市田野町〜 2020年も年末を控え、来年の行動目標やチーム方針を検討する中で、そう言えば今年のQAチームはどうだったのか、簡単に振り返りたいと思います。 ▼QAチーム体制 2020年1月よりQAチームとして独立したチーム体制になりました。当時のメンバーは私を含めて2名。 (昨年時点では複数ある開発チームの中の1チームにQA2名が所属していました) 11月に2名がジョインし、以降は4名体制になりました。※フルタイム勤務のメンバーだ…
3年前
記事のアイキャッチ画像
フルリモートワークでのオンボーディング施策
くらしのマーケット開発ブログ
こんにちは。みんなのマーケットでCTOをしている戸澤です。 当社ではコロナ以前からリモートワークで働ける状態でした。 ただどちらかというと東京もしくは宮崎のオフィスで働くのが主流で、利用するメンバーはそこまでいませんでした。 3月下旬のリモートワークを会社全体で初めるタイミングでは、うまく仕事が回るのだろうか、という不安がありましたが、試行錯誤していく中でリモート環境下でも開発を回していく体制や仕組みを整えられてきました。 その結果、オフィスへの出社が不要なフルリモートでの採用も開始し、募集も日本全国、全世界に拡大しました。 その成果もあり、従来のオフィス出社の前提だと採用できなかったであろう…
3年前
記事のアイキャッチ画像
Work From Home #1
くらしのマーケット開発ブログ
こんにちは、決済チームでバックエンドエンジニアをしております、 @akira です。 今回は、今年 3 月からリモートワークを開始した @akira が現在、 どのような環境で どのように働いているか をまとめた記事になります。 Work From Home は広義の意味でリモートワークと同義であり、以下では WFH と略称で記載しています。 Index Index 職場環境など 自宅のデスク 机 椅子 モニター モニター台 タコ足 キーボード マウス Laptop Desktop 出勤から退勤まで 現在の WFH の課題 WFH Tips 終わりに 職場環境など 私は 2019 年 9 月に…
3年前
記事のアイキャッチ画像
コードをいじらずにPythonアプリケーションのメモリリークを検証する方法
くらしのマーケット開発ブログ
こんにちは、バックエンドエンジニア・SREのカーキです。 最近くらしのマーケットのシステムで一部の Python アプリケーションにあったメモリリークを検証した時に学んだ検証方法について書きたいと思います。 メモリリークとは? メモリリークはプログラムが確保したメモリを使用後に解放されず、プログラムのメモリ使用率がどんどん上がり続ける現象です。メモリリークがあると該当のプログラムがシステムのすべてのメモリを使い切って、システムがクラッシュする可能性があるので少し面倒なバグです。 リークの再現 弊社では現在Python 3.5.0を使っていますが、便宜のため以下のようにPython2系のdel関…
3年前
記事のアイキャッチ画像
テストレベルとカバレッジとは!?
くらしのマーケット開発ブログ
こんにちは、QAエンジニアのざきです。 冬といえば鍋ですね、好きな鍋は「もつ鍋」です。 はてさて 今日のブログは「テストレベル」と「カバレッジ」について解説します。 このブログを書くにあたり、英語を勉強している友人に聞いてみました。 Q1.テストレベルの意味って何だと思う? A1.「どれだけちゃんとテストできているのかを示すレベル?」 Q2.カバレッジの意味って何だと思う? A2.「え、知らない。聞いたことない。」 現場からは以上です。早速解説に入ります。 「テストレベル」とは 簡単に言うと、システム・ソフトウェアをテストするタイミングです。 ※「テストフェーズ」や「テストステージ」とも呼びま…
3年前