every Tech Blog

株式会社エブリーのTech Blogです。

バックエンド

エブリーで新卒2年目を迎えて

トモニテ開発部ソフトウェアエンジニア兼、CTO室Dev Enableグループの[ktanonymous](https://github.com/ktanonymous)です。 4月1日をもって新卒入社してから1年が経ちました。 そこで、今回の記事では、これまでの振り返りと2年目を迎えた今感じていること…

Github Copilot Chat の機能・使い方を整理しつつ開発者体験が向上する活用事例を考えてみた

はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 エブリーは、現在 GitHub Copilot Business を持つ Organization アカウントであるため、多くの開発メンバーが Github Copilot を業務で活用してい…

トモニテ相談室での API サーバーの開発環境で sqlboiler と oapi-codegen を導入してみた

はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 今回はトモニテの新規事業として、2023 年 11 月 30 日にローンチした家族・家庭や恋愛に対する悩みをプロのカウンセラーと相談出来る新サービス トモニテ相談室 の開…

実務に入る前に理解していたらもう少し開発速度を上げられたかなと思うこと

はじめに こんにちは!トモニテにて開発を行なっている吉田です。 この記事は every Tech Blog Advent Calendar 2023 の 21 日目の記事となります。 今回は、私が実務に入る前に理解していたらもう少し開発速度を上げられたかなと思うことについて取り上げま…

ネットスーパーアプリにおける GraphQL Mesh を利用した Gateway Server について

はじめに DELISH KITCHEN 開発部で小売向き合いの開発をしている池です。 この記事は every Tech Blog Advent Calendar 2023 の 19 日目です。 本記事では、弊社が提供しているネットスーパーアプリにおける、GraphQL Mesh を利用した GraphQL Gateway Serve…

トモニテの Amazon Aurora を MySQL 5.7 から 8.0 へアップグレードした話

はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 この記事は「every Tech Blog Advent Calendar 2023」 の 15 日目の記事です。 tech.every.tv 私たちは 2023 年 6 月にシステムメンテナンスを実施…

Go 1.22で追加予定のrange over intと、GOEXPERIMENT入り予定のrange over funcを触ってみる

目次 はじめに range over int range over intとは range over intをGo Playgroundで触ってみる range over intを用いる利点 よくあるfor文が簡潔になる リーディングコストが軽減される range over func range over funcとは range over funcをGo Playgroun…

DI toolkit samber/do の紹介

はじめに この記事は every Tech Blog Advent Calendar 2023 の 6 日目です。 今回は「DI toolkit samber/do の紹介」と題しまして、samber/do のざっくりとした紹介と、今後リリースされるであろう次期バージョンでの変更点についてまとめていきます。 samb…

GitHub Packagesを利用したnpmパッケージの社内利用

every Tech Blog Advent Calendar 3日目の記事になります! こんにちは 開発本部データ&AIチームでデータエンジニアを担当している塚田です。 今回は、挑戦WEEK中にGitHub Packagesを利用したnpmパッケージの社内利用を行いましたのでその内容についてご紹介…

はじめてのシステムメンテナンスをする君へ

はじめてのシステムメンテナンスをする君へ はじめに 主にインフラ周りや時折バックエンドでGoを書いているyoshikenです。 この記事はevery Tech Blog Advent Calendar 2023の2日目の記事となります。 昨日の記事は「Next.js + Go + AWS API Gateway で WebS…

Next.js + Go + AWS API Gateway で WebSocket API を使って API サーバーからフロントエンドに通知を送る

Next.js + Go + AWS API Gateway で WebSocket API を使って API サーバーからフロントエンドに通知を送る はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 エブリーとして初の試みとなる Tech Blog Advent Calendar …

エブリーの内定者インターンで学んだこと

はじめに はじめまして。2023年6月からエブリーのDELISH KITCHEN開発部 ユーザーグロースチームで内定者インターンをしている新谷です。 DELISH KITCHENは、「だれでもおいしく簡単に作れるレシピ」を毎日配信するレシピ動画メディアです。食のプロが提案す…

トモニテのサービス名称変更に伴う差し替え作業の裏側のお話

初めまして。 2023年4月から新卒エンジニアとして子育てメディア「トモニテ」の開発チームにジョインして、バックエンドやフロントエンドの設計・開発に携わっているktanonymousです。 2023年8月1日、MAMADAYSはトモニテとして生まれ変わりました。 多様性が…

ヒープ使用量を改善するGoのデータ構造との上手な付き合い方

エンジニアブログタイトル はじめに いきさつ #1:mapをmake関数で作成するとき第2引数sizeを渡す やったこと 解説 #2:(可能なら)mapをsliceで代用する やったこと 解説 補足 おわりに はじめに 株式会社エブリーでDELISH KITCHEN事業のバックエンド…

Pyroscope の Continuous Profiling により Go サーバーのメモリリークを調査・改善した話

はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 2023年8月1日、MAMADAYSはトモニテに生まれかわりました。 tomonite.com アプリのメイン機能である「育児記録」「妊娠週数管理」「食材リスト」を…

マルチテナントな SaaS プロダクトを作り始めている話

背景 DELISH KITCHEN 開発部で小売向き合いの開発に携わっている大村 (@kosukeohmura) といいます。 エブリーでは リテールメディアの構築・提供を通して小売様を支援していく 構想を掲げており、retail HUB という枠組みでいくつかの SaaS プロダクトを開発…

Conveyを利用したGo test時にDuplicate entryが出たのでなんとかする

概要 TIMELINE開発部の内原です。 株式会社エブリーでは、バックエンド系ソフトウェアをGo言語で記述することが多いです。また、作成したプログラムについては、go testコマンドを用いてテストを記述するようにしています。 今回は、go test時に発生した一見…

Step Functionsで作るサーバーレスなETL基盤

はじめに こんにちは。DELISH KITCHEN開発部の村上です。 エブリーが運営しているサービスのDELISH KITCHENやトモニテではプレゼントキャンペーンが定期的に行われており、ユーザーさんは開催中の複数のキャンペーンから気になるものを選んでいくつかの設問…

トモニテでEKSからECSに移行した話

はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 トモニテ ではこれまで構成を AWS の EKS を使ってきましたが、2 月の初旬に ECS に移行したのでその内容を紹介していきます。 経緯 移行を決断したのは最大の理由は…