株式会社エブリー の技術ブログ

Goroutine間での通信方法あれこれ

概要 TIMELINE開発部の内原です。 本日は、改めてGo言語におけるgoroutine間での通信方法について整理してみました。 Go言語ではgoroutineを用いて簡単に並行処理を記述することができます。またその際、goroutine間で通信を行い、情報のやり取りをしたり互いに協調しつつ動作することもできます。 ただ、通信する手段自体は複数あり、それぞれ特徴がありますので、どのよう
Go

Swift ~Copyableの導入

参考 https://developer.apple.com/jp/videos/play/wwdc2024/10170/ https://github.com/swiftlang/swift-evolution/blob/main/proposals/0390-noncopyable-structs-and-enums.md https://github.com/swiftlang/swift-evolution/blob/main/proposals/0427-noncopyable-generics.md ~Copyableの導入 Swift 5.9でCopyableと~Copyableが導入されました。 全ての型が暗黙的にCopyableに準拠するので、今まで通りCopyableを前提にするなら特にCopyableと~Copyableを意識しなくても

Terraform のルートモジュールを分割しました

エブリーで小売業界向き合いの開発を行っている @kosukeohmura です。 エブリーでは retail HUB という複数のプロダクトからなる小売業界向けのサービスの開発を行っています。以前まではサービス開発チームは単一で、その中で複数のプロダクトを開発を行ってきましたが、今後複数のチームがプロダクトごとに分かれて開発を行うこととなり、その体制の変化に伴って Terraf

日本CTO協会の合同新卒研修に参加しました

はじめに こんにちは、株式会社 エブリー の24新卒の蜜澤、きょー、新谷です。 今回は、2024年5月から7月にかけて開催された日本CTO協会主催の合同新卒研修に参加した際の内容と学びについてご紹介します。 合同新卒研修とは 本研修は、日本CTO協会が主催する新卒エンジニア向けの合同研修です。新卒エンジニアが業界全体・企業横断で育てられる試みとして、今年から

VueUse: 5分で分かる Vue.js 開発の効率化術

はじめに こんにちは、Retail Hub 事業部でエンジニアを務めている 羽馬 です。 この記事は、Vue.js 日本ユーザーグループ主催の Vue.js v-tokyo Meetup #21 で登壇した際の発表資料を元に、VueUse というライブラリを使って Vue.js 開発を効率化する方法をご紹介します。 登壇資料はこちら: speakerdeck.com VueUse とは VueUseは、Vue Composition APIのための包括的なユーティリティコレクション

プロダクト開発にデータ職責として浸かってみて思ったこと

はじめに 背景 業務フロー 1. 分析の準備 KPIとログの設計 A/Bテストによる効果検証の準備 2. データの準備 エンジニアリング目線も加味しつつログ設計を最適化出来る データのニーズの変化に臨機応変に対応できる 3. データの分析 終わりに はじめに DELISH KITCHENでデータサイエンティストをやっている山西です。 今回は「データサイエンティストとしてプロダクト開発プ

メンテナンスで出来るだけ再現性を持たせて考えることを減らそう

はじめに そもそもなぜメンテナンスが必要になってくるのか メンテの手順にどうやって再現性を持たせるか コード化して再現性を持たせる コマンドライン上で再現性を持たせる 事前に模擬メンテを行う アプリケーションコードの変更なしでメンテに追従できるようにする まとめ はじめに こんにちは、トモニテ開発部ソフトウェアエンジニア兼、CTO 室 Dev Enable グルー

Vue.js v-tokyo Meetup #21 で登壇してきました

はじめに こんにちは、Retail Hub 事業部でエンジニアを務めている 羽馬 です。 先日、Vue.js 日本ユーザーグループ主催の Vue.js v-tokyo Meetup #21 に登壇する貴重な機会をいただきました。本記事では、その経験を通じて得られた知見や、Vue.js 開発における効率化のヒントをご紹介します。 vuejs-meetup.connpass.com 登壇テーマ:VueUseで実現するVue.js開発の効率化 今回の登壇では、Vue.j

エブリー初のスポンサー活動を行った半年を振り返る

はじめに こんにちは。DELISH KITCHEN開発部兼、CTO室 DevEnableグループの村上です。 エブリーでは今年から「社内外から憧れる開発組織へ」というのをミッションにDevEnableグループを設立し、社内活性化から広報・採用活動まで幅広い活動を現場のエンジニアが兼務しながら行っています。DevEnableの設立について詳細はCTOの今井がブログにしているのでぜひご覧ください。 tech.

go1.22 からのテストカバレッジとの付き合い方

はじめに そもそも話題の背景 低下の要因たち 仕様変更に至るまでの経緯 計測方法の見直し テストファイルがあるものだけ抽出する(ホワイトリスト型) 除外したい pkg を名指しする(ブラックリスト型) まとめ はじめに こんにちは、トモニテ開発部ソフトウェアエンジニア兼、CTO 室 Dev Enable グループの rymiyamoto です。 最近はエルデンリングが再燃しています。 2024/06/18

OPTiMさんとGolangの共同勉強会を開催しました

目次 はじめに 勉強会の概要 LT枠1: Go x LLMで 新たなコード生成の可能性を探る (OPTiM 今枝) LT枠2: Go言語で行うメール解析 (every きょー。) LT枠3: プロダクトでどれくらいMELTしてますか? (OPTiM 坂井) LT枠4: slices/maps pkgを活用してオレオレ実装を撲滅したい (every ayaka.yoshida) まとめ はじめに こんにちは。 トモニテ開発部ソフトウェアエンジニア兼、CTO室Dev Enableグループの庄司( k

Golangでアプリ課金(iab/iap)を実装するときは awa/go-iap が便利って話

この記事は every Tech Blog Advent Calendar 2024(夏) 28日目の記事です。 はじめに DelishKitchenとヘルシカでバックエンドエンジニアをしているyoshikenです。 今回は新規アプリ開発の際に、Android/iOSアプリの課金処理(subscription)について awa/go-iapを使用して大変便利だったので、その紹介をしたいと思います。 awa/go-iap: go-iap verifies the purchase receipt via AppStore, GooglePlayStore, AmazonAppStore and Huaw

リアーキテクチャを支えるテスト駆動開発:効果的なリファクタリングの方法

この記事は every Tech Blog Advent Calendar 2024(夏) 27日目の記事です。 目次 はじめに 背景と問題点 既存設計の問題 新しい設計方針 リファクタリングの準備 テストを書く リファクタリング作業 実装する テストする まとめ 終わりに はじめに DELISH KITCHENのiOSアプリ開発を担当している池田です。DELISH KITCHENでは皆様の料理体験がより良いものになるよう、日々新しい機能を追加

Amazon QuickSightを使用してインタラクティブな可視化をしてみる

はじめに はじめまして!開発本部のデータ&AIチームに4月に新卒入社した蜜澤です。 最近Amazon QuickSightを使用してダッシュボード作成に励んでいるので、QuickSightにおけるインタラクティブなグラフの作り方を紹介しようと思います!中でも、割合系の指標に対してフィルターを適応するのに苦戦したので、そのあたりの作り方を説明します。 この記事は every Tech Blog Advent

Go 言語で multipart/form-data を使用して画像を受け取り外部に送信する

この記事は every Tech Blog Advent Calendar 2024(夏) 25 日目の記事です。 はじめに こんにちは、24 新卒として 4 月から入社し、DELISH KITCHEN 開発部でソフトウェアエンジニアをしている新谷です。 現在取り組んでいる業務で、画像を受け取って外部に送信する処理を行う API を作成する機会がありました。そこで学んだ、Go 言語における multipart/form-data を使った画像の取り扱い方に
Go, API