Retty Tech Blog

実名口コミグルメサービスRettyのエンジニアによるTech Blogです。プロダクト開発にまつわるナレッジをアウトプットして、世の中がHappyになっていくようなコンテンツを発信します。

2024-01-01から1年間の記事一覧

Retty VPoE通信 Vol.3 - インテグリティについて考える

Retty VPoE(VP of Engineering : 技術部門のマネジメント責任者)の常松です。 VPoE通信は「開発のトップとして今何を考えていて、どう動こうとしているのか」の定期発信企画で、今回が3回目です。 Retty VPoE通信 Vol.2 - Retty Tech Blog (戦術強化を大事に…

ストレスを感じやすいママエンジニアが2回目の育休&復職で鍛えるべきは心の防御力だと気付いた話

ストレスを感じやすいママエンジニアが2回目の育休&復職で鍛えるべきは心の防御力だと気付いた話

APIリクエスト内で同一関数呼び出しをキャッシュする仕組みとGo実装

ソフトウェアエンジニアの福井です。 Rettyでは小さなデータを複数取得し、それらを組み合わせて1つの大きなデータにする処理がいくつかあります。そして小さなデータ取得の判定に使うためのデータを取得することがあります。例えば飲食店の画像、メニュー、…

Fastlyでオリジンシールドを設定する

この記事はRetty Advent Calendar 2024の11日目の記事です️。 adventar.org Rettyプラットフォームチームの今村です。 RettyではContent Delivery Network(CDN)にFastlyを利用しています。今回はFastlyで複数のバックエンドを利用している環境にオリジンシー…

Search Console × BigQueryで全量データ分析

Retty(レッティ)のプロダクトマネージャーをしている松田です。 はじめに Search Consoleではエクスポート行数に1000行までの制限がある、遡れる期間が16ヶ月前まで、など何かと物足りないポイントがあります。 BigQueryにデータをエクスポートすることで…

ベクトル検索を実現する技術選定 ~pgvectorとQdrantの性能比較~

本記事はRettyアドベントカレンダー2024の9日目の記事です。 Rettyでエンジニアリングマネージャを務めている山田です。 2022年の年末頃にChatGPTが登場してから早2年となります。 当初は革新的なAIという印象でしたが、時間の経過によりLLMを普段の生活や業…

Combine製ロジックへのSwiftTesting導入とBDDからの移行

本記事はRettyアドベントカレンダー2024の8日目になります Rettyアプリチームの今泉 @imaizume です。 最近はプロダクトマネージャー(PdM)としての業務が増え、コードを書く時間が以前よりも減ってきています。 そんな中先日久しぶりに参加したiOSの勉強会…

Rettyアプリ:リリース文言の継続的運用への取り組み

Rettyアプリチームの若田(@wakanao_banana )です!この記事はRetty Advent Calendar 2024の7日目の記事です️ 今回のテーマは「リリース文言」についてです。これまでのリリース文言作成の課題とその解消、そして現在Rettyで運用されているリリース文言の作…

レッティ AndroidアプリにおけるCIチェックの体制

Rettyでアプリエンジニアをしている松田(@matsudamper)です。 この記事はRetty Advent Calendar 2024の5日目の記事です。 この記事ではRettyのAndroidアプリのテスト、LintのCIチェック体制がどうなっているかを紹介します。 現在は以下のチェックがCIで走っ…

[iOS] Visionフレームワークを用いた料理写真の画像分類精度検証

iOS

Rettyアプリチームの若田(@wakanao_banana )です!この記事はRetty Advent Calendar 2024の4日目の記事です️ 12月に入り寒くなってまいりましたが、地元の北海道では冬に部屋をぬくぬく温めてお風呂上がりにアイスを食べる、なんてことを思い出す季節です…

長期関与で学ぶ知見:Rettyの実例から見るシステム改善の軌跡

Retty VPoE(VP of Engineering : 技術部門のマネジメント責任者)の常松です。 2025年2月27日に開催されるEMConf JP 2025向けに本記事と同じタイトルのプロポーザルを出していましたが、強豪ひしめく選考で負けてしまったようです。本記事に話したかったこと…

リソース効率向上のためのGoのuniqueパッケージ

ソフトウェアエンジニアの福井です。 Go 1.23で新しくuniqueパッケージが追加されました。このuniqueパッケージはinterningを提供します。 interning interningとはGoに限らず、新しいオブジェクトを作成するときにすでに同じオブジェクトのメモリ割り当てが…

Fastly ディクショナリを駆使してシステムを段階的移行する

ソフトウェアエンジニアの福井です。 業務では飲食店Webページの機能開発をしつつ、Webページを新システムに段階的移行しています。Rettyに掲載されている飲食店は様々な契約種別があり、その種別ごとに新システムに移行しています。 RettyはCDNにFastlyを使…

大吉祥寺.pmに行ったら美味しいランチも楽しもう

Retty VPoEの常松です。来たる2024年7月13日(土)に技術勉強会 吉祥寺.pmの10周年イベント 大吉祥寺.pm が開催されます。私も登壇者の一人として参加予定です。 そんな大吉祥寺.pmですが、運営の方が「せっかくだから吉祥寺の美味しいものを食べていって欲し…

Fastly の Edge Rate Limiting で苦労せずレート制限を実装する

Retty でエンジニアをしている山下です。 早いもので2024年も残り半分となり、年々1年の長さが短く感じるようになってきました。 Retty では nginx 移行を通じて学んだ Fastly のはじめかた で紹介したように CDN として Fastly を利用しています。 今回は F…

低予算でGoのコードカバレッジレポートをPull Requestにコメントする using CircleCI

ソフトウェアエンジニアの福井です。 コードカバレッジのパーセンテージを上げる(または保つ)ことを強制することは悪いプラクティスとされます。 そのためRettyではいくつかのプロジェクトで、パーセンテージによってmergeできないなど強制せず、カバレッジ…

プロダクトマネージャーとエンジニアリングマネージャーで協力して使われなくなったコードを消していった話

Rettyの松田です。普段はプロダクトマネージャーとしてSEOに関わっていることが多いですが、今回はエンジニアリング寄りのブログです。 元々Webエンジニアをしていたのである程度はコードを読むことができ、現実的にプロダクトの改善につながるものがあった…

アプリのバックエンドをGraphQLに移行しました

この記事はアプリチームのAndroid、Backendを主に担当している松田がお送りします。 概要 現在、アプリのバックエンドはREST APIで構築されていますが、これを新規開発はGraphQLに移行しました。移行した背景と技術的な選択、実装時の考慮点を紹介します。 …

GitHub Copilotで効率的にSQLを書くコツ

Rettyプロダクトマネージャーの松田です。 プロダクトの現状把握や施策効果の分析など、さまざまなタイミングでBigQueryのSQLを書くことがあります。 Rettyでは昨年末にGitHub Copilotを導入したので、それに合わせてSQLの作成にもGitHub Copilotを使い始め…

アプリ開発メインの私が業務で擦れるほど使い倒しているGit/GitHub CLIの便利コマンド4つ

Rettyアプリチームの今泉 @imaizume です。 昨今の開発において、バージョン管理ツール、特にGitとGitHubを多くの方が使っていると思います。 日常的に高頻度で行う作業ですので、かける手間や時間は極力抑えたいもの。 とりわけブラウザ、開発環境、ターミ…