every Tech Blog

https://tech.every.tv/

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

フィード

記事のアイキャッチ画像
簡単に高品質なドキュメントスキャナーが実装できる、ML Kit Document Scanner API がリリースされたので使用してみた。
every Tech Blog
はじめに ML Kit とは ML Kit Document Scanner API とは 主なクラスについて GmsDocumentScannerOptions (オプション) スキャナーのモード 最大ページ数 フォトギャラリーからのインポートの可否 結果のフォーマット GmsDocumentScanning (スキャナーの開始) GmsDocumentScanningResult (結果処理) まとめ 余談 未実装のキャプチャーモード はじめに トモニテでAndroid開発を担当している岡田です。 先日、ML Kit Document Scanner API のベータ版がリリースされました…
2日前
記事のアイキャッチ画像
資格試験(AWS Certified)の受験を通じた業務での活用
every Tech Blog
こんにちは 開発本部データ&AIチームでデータエンジニアを担当している塚田です。 今回は、AWS Certified Data Engineer - Associateを受験しましたので、準備と感想とエブリー(業務)でどのように活かせそうかをまとめたいと思います。 なお、AWS 認定プログラムアグリーメントに則り試験内容については触れませんのでご承知おきください。 本試験について AWS Certified Data Engineer - AssociateはAWS(トレーニングと認定)で以下のように説明されています AWS Certified Data Engineer - Associat…
3日前
記事のアイキャッチ画像
FlutterでiOS、AndroidアプリをWebで動かせるようにする
every Tech Blog
DELISH KITCHEN 開発部で小売向き合いでFlutterのアプリ開発をしている野口です。 本記事では、弊社で開発しているFlutterのアプリをFlutter Webでリリースできるかどうかの調査を行った時の知見についてお話しします。 FlutterアプリをWebで動かすとは Flutterはマルチプラットフォーム開発できるので、Android / iOS / Web / Windows / macOS / Linuxで同じソースコードで開発できます。なので、iOS、Android用に作成したアプリでもリリースできます。 一般的なWebサイトを作るときは、HTMLやCSS、JavaS…
9日前
記事のアイキャッチ画像
認証・課金の共通基盤
every Tech Blog
はじめに エブリーでソフトウェアエンジニアをしている本丸です。 先日、弊社からヘルスケアアプリ「ヘルシカ」がリリースされたのはご存知でしょうか?ヘルシカは弊社のサービスであるDELISH KITCHENのヘルスケア機能を切り出したサービスなのですが、ヘルシカの裏側で認証・課金の共通基盤が動いています。 今回はこの認証・課金の共通基盤(社内でDAPと呼んでいるため、以降はDAPと表記します)についてお話しできればと思います。なお、実装の詳細には触れず概要の説明に留める予定です。 システムの概要 DAPとは DAPとは、認証・課金の共通基盤で、IdP(IDプロバイダー: ユーザーIDを保存および検…
10日前
記事のアイキャッチ画像
エブリーで新卒2年目を迎えて
every Tech Blog
トモニテ開発部ソフトウェアエンジニア兼、CTO室Dev Enableグループの[ktanonymous](https://github.com/ktanonymous)です。 4月1日をもって新卒入社してから1年が経ちました。そこで、今回の記事では、これまでの振り返りと2年目を迎えた今感じていることについて書きたいと思います(文字ばかりですがご容赦ください)。
16日前
記事のアイキャッチ画像
GASを使ってRedashからデータ抽出して、G Spreadsheetを作成する
every Tech Blog
はじめまして、データストラテジストのoyabuです。 RedashからCSVでデータをエクスポートして、GoogleDriveに保存、更にCSVをSpreadsheet化してようやく可視化の準備が整うの、めんどくさいですよね。それらを自動化するGASを作ったので、書きます 注意点 極限までサボりたかったのでChatGPTに聞いてツギハギして動けばヨシの精神で作りました。出来上がったものをみて、コードの整然さやエラーハンドリングについて、思うところは多々ありますがそのままにしています。社内用に展開しているものは複数クエリに対応しているのですが、1->nになると本筋と関係のない話題が増えるので今回…
22日前
記事のアイキャッチ画像
Amazon Bedrock ワークショップ に参加しました!
every Tech Blog
はじめに こんにちは!トモニテにて開発を行なっている吉田です。 今回は先日参加した Amazon Bedrock ワークショップに参加させいただいたのでそこで学んだことについて紹介します! ワークショップは AWS 様からエブリー向けに開催いただきました。 Amazon Bedrock とは Amazon Bedrock は、高性能な基盤モデル (Foundation Model) の選択肢に加え、生成 AI アプリケーションの構築に必要な幅広い機能を提供する完全マネージド型サービスです。 特徴としては以下が挙げられます。 ユースケースに最適な基盤モデルを簡単に試すことができる 調整や検索拡張…
24日前
記事のアイキャッチ画像
ネットスーパーアプリ GraphQL から REST へ移行始めました
every Tech Blog
はじめに こんにちは、retail HUBで Software Engineer をしているほんだです。 今回は私が現在着手している事業譲渡されたアプリを社内で持続的なプロダクト開発を行える状態にするリプレイスプロジェクトをどのように行っているか紹介しようと思います。 この記事ではリプレイスを行うにあたってどのようなことを課題に感じてその課題に対してどのような解決策をとったか主にサーバーの実装について説明しています。 ネットスーパーアプリとは 現在弊社ではネットスーパーアプリとして Web アプリとスマホアプリの二つのシステムを提供しています。 Web アプリは販促コンテンツの設定や売り上げの…
1ヶ月前
記事のアイキャッチ画像
DELISH KITCHENのレシピのレコメンドにTwo-stage Recommender Systemsを導入するまでの道のり
every Tech Blog
こんにちは。 開発本部のデータ&AIチームでデータサイエンティストをしている古濵です。 引き続き、私がフルコミットしているDELISH KITCHENのレシピレコメンドについてまとめていきます。 前回の投稿の続きのような位置づけです。 私自身の苦悩も含めた思考過程と実際に取り組んだことについてまとめていきます。 背景 DELISH KITCHENではユーザの嗜好に寄り添ったアプリのパーソナライズに向けた開発をしています。 大きく3つの課題を解決するために、アプリのパーソナライズに注力しています。 受動的に提示するレシピのパーソナライズ不足 サービスの成長に伴い、ユーザ数もレシピ数も増えているの…
1ヶ月前
記事のアイキャッチ画像
DevEnableグループを 新設しました!
every Tech Blog
はじめに エブリーでCTOをしている今井です。先日の池のブログ でも少し触れておりますが、2月にDevEnableグループ を設立したので、その紹介と設立した背景ついてお話しできればと思います。 tech.every.tv DevEnableグループとは DevEnableグループはCTO室に属しているグループで、開発本部を横断し、組織の活性化・成長環境の提供・発信・広報の強化・採用など、さまざまな課題解決を推進するグループです。 DevEnableという名前は Developer Enablement から取られており、「社内外から憧れる開発組織へ」というのをミッションに、エンジニア自身やエ…
1ヶ月前
記事のアイキャッチ画像
開発組織のナレッジ共有とコミュニケーションを促進する社内イベント「TechTalk」の紹介
every Tech Blog
はじめに こんにちは。DELISH KITCHEN 開発部 SERS グループ兼、CTO 室 DevEnable グループ所属の池です。 SERS グループでは主に小売向けプロダクトの開発を行なっており、DevEnable グループでは社内開発組織活性化に向けた活動を行なっています。 今回は DevEnable グループの活動の一つである、”TechTalk” という社内技術共有会の取り組みにスポットを当てたイベントレポートをお届けします。 DevEnable グループとは 2024 年 2 月に DevEnable グループが新設されました。有志が組織活性化委員会として行なっていた活動を正式…
1ヶ月前
記事のアイキャッチ画像
TypeScriptのコードをBranded Primitiveでもう1歩型安全へ
every Tech Blog
お久しぶりです,トモニテ開発部でSoftware Engineer(SE)をしている鈴木です. 私が普段実装しているトモニテ相談室のフロントエンドはTypeScriptを採用しているのですが,トモニテ相談室の実装中にTypeScriptでは検出することが出来ないミスをしてしまい,原因解明までに時間を要した経験があります. この経験からTypeScriptを普段より少し型安全にする手法を学んだので,本記事で具体例を交えながら紹介させていただこうと思います. はじめに TypeScriptは型を区別するための方式として構造的型付けを採用しています. したがって,type宣言子による宣言は単に構造に…
1ヶ月前
記事のアイキャッチ画像
Androidのヘルスケアアプリ連携について
every Tech Blog
はじめに 今回は Android アプリ開発において、健康に関するデータを一元管理し、他のフィットネスアプリや健康アプリと連携が行える ヘルスコネクト を用いた開発手法についてまとめたいと思います。 なお、以前 iOS のヘルスケアアプリ連携についてもまとめた記事を公開していますので、iOS 側にもご興味があればぜひ こちら の記事もご覧ください。 ヘルスコネクトとは ヘルスコネクトは API やライブラリではなく一つのアプリで、健康に関するデータを管理できる新しいプラットフォームとなります。 ヘルスコネクトで健康データを一元管理し、その情報を Google Fit などの健康アプリと連携する…
1ヶ月前
記事のアイキャッチ画像
Github Copilot Chat の機能・使い方を整理しつつ開発者体験が向上する活用事例を考えてみた
every Tech Blog
はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 エブリーは、現在 GitHub Copilot Business を持つ Organization アカウントであるため、多くの開発メンバーが Github Copilot を業務で活用しています。 Github Copilot は、コーディング時に AI ペアプログラマーからオートコンプリート スタイルの候補を提示する拡張機能です。 github.com Github Copilot のユースケースとして、コーディングにおける補完はもちろん、コメントからのコード・テストの自動生成やコードの…
2ヶ月前
記事のアイキャッチ画像
Redash運用環境改善の取り組み
every Tech Blog
はじめに こんにちは。 株式会社エブリーの開発本部データ&AIチーム(DAI)でデータエンジニアをしている吉田です。 今回は、半年ほど前に実施した挑戦Week内で行ったRedashの運用環境整備について紹介します。 DAIでは、BIツールとしてRedashをEC2で運用していましたが、運用コストの削減と運用の効率化を目的にECSへの移行を実施しました。 背景 これまではEC2のdocker上でRedashを運用していましたが、以下のような問題がありました。 infra周りが管理されていない docker-compose.ymlが管理されていない コンテナがメモリを食いつぶして、サービスが落ちる…
2ヶ月前
記事のアイキャッチ画像
ライブの録画配信にAmazonIVSを活用する
every Tech Blog
はじめに こんにちは。DELISH KITCHEN 開発部の村上です。 DELISH KITCHENでは、AmazonIVSを用いて去年ライブ機能をリリースしました。AmazonIVSやライブ配信基盤については以前こちらのブログで紹介しているので気になる方はぜひみてください。 tech.every.tv 今回はこのライブ機能の録画配信にAmazonIVSの録画機能を活用する機会があったのでその取り組みを紹介させていただきます。 なお、社内ではライブの録画配信機能をアーカイブ配信と呼んでいるので、これ以降はアーカイブ配信という言葉を使わせていただきます。 S3への録画機能 AmazonIVSでは…
2ヶ月前
記事のアイキャッチ画像
Go testにおける可読性を保つ方法を考える
every Tech Blog
はじめに TIMELINE開発部の内原です。 本日はGo言語のテストにおける可読性について考えてみます。この記事を読んでいただいている皆さんにも、テストを書いていて以下のような問題を感じた経験があるのではないでしょうか。 既存のコードに機能追加をするためテストコードにもテストケースを追加しようとしたが、テストコードが複雑で読み解きづらく、テストを追加するのに苦労した テストケースの種類が多く、少しデータを追加しただけでも既存のテストが動かなくなる テストデータの登録方法が複雑で、テストコードの実装以前に手間取る 上記のような問題に対処するべく、実践的なシナリオに従ってGo言語のテストコードを実…
2ヶ月前
記事のアイキャッチ画像
Privacy Manifests対応についての調査
every Tech Blog
WWDC23で発表されているように、Xcode 15からPrivacy Manifestsという機能が追加されています。 Privacy Manifestsの実体は PrivacyInfo.xcprivacy という名前のplistファイルで、アプリやSDKのプライバシーに関する情報を記述します。 2024年春以降、Privacy ManifestsはApp Storeのレビューの対象になり、新規やアップデートの際に適切に対応しないとリジェクトされるようです。 Privacy Manifestsにはプライバシーに関する複数の情報が記述できますが、レビューで義務化されるものはその一部だけのようで…
2ヶ月前
記事のアイキャッチ画像
Datadog Synthetic Monitoring API Tests で 20 を超えるドメインの SSL を監視した
every Tech Blog
エブリーで小売業界向き合いの開発を行っている @kosukeohmura です。 昨年、エブリーではネットスーパーの事業を株式会社ベクトルワン様から引き継ぎました。引き継いだシステムを運用していく中で、ネットスーパーの各種サイトや API に使用している 20 個超の SSL 証明書の有効期限を切らさないように更新していく必要があり、そのために監視を導入したお話をします。 引き継ぎ作業の概観については以前公開しました ゼロからはじめるシステム引き継ぎ - every Tech Blog に書きましたので、合わせて御覧ください。 背景とモチベーション システムを引き継いだ時点では SSL 証明書…
2ヶ月前
記事のアイキャッチ画像
Nuxt3へのアップグレードに向けた挑戦
every Tech Blog
DELISH KITCHENにおけるNuxt3へのアップグレードに向けた挑戦
2ヶ月前
記事のアイキャッチ画像
レシピ栄養情報を用いたDELISH KITCHENユーザー嗜好のクラスター分析
every Tech Blog
はじめに こんにちは。DELISH KITCHENでデータサイエンティストをやっている山西です。 今回は、挑戦WEEKにて実践したDELISH KITCHENユーザーのクラスター分析事例についてご紹介いたします。 挑戦WEEKとは 「弊社開発メンバーが通常業務から離れ、技術的に何かに集中して挑戦する」という位置付けの1週間です。 詳細はCTOの今井が下記記事にて説明しておりますので、よろしければ併せてご覧ください。 tech.every.tv 本記事の想定読者 Webサービスの分析従事者(PdM, データサイエンティスト, データアナリスト) クラスター分析の実務例に興味がある人 レシピ提供サ…
2ヶ月前
記事のアイキャッチ画像
トモニテ相談室での API サーバーの開発環境で sqlboiler と oapi-codegen を導入してみた
every Tech Blog
はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 今回はトモニテの新規事業として、2023 年 11 月 30 日にローンチした家族・家庭や恋愛に対する悩みをプロのカウンセラーと相談出来る新サービス トモニテ相談室 の開発に関わる中で API サーバーの開発環境での工夫について紹介していきます。 トモニテ相談室の通話周りの基盤の話は別の記事で紹介されていますので、こちらも合わせてご覧いただけると幸いです。 tech.every.tv 技術選定 新規でサービスを立ち上げるに当たっての技術選定は 2 点を意識して選びました できるだけ既存の技術をを…
3ヶ月前
記事のアイキャッチ画像
2023年の振り返りと2024年に向けて
every Tech Blog
ドウデュース、武豊さん、さすがの競馬でしたね。 CTOの @imakei_ です。株式会社エブリーの2023年アドベントカレンダーの締めとなる25日目のブログです。 他のブログも力作が揃っておりますでの、まだの方はぜひ こちら をご覧ください! 本ブログでは、2023年の振り返りと、2024年に向けた思いを書きたいと思います。 2023年は、開発本部としても「挑戦WEEK」を始めたり、 7月から会社としても「挑戦」をテーマに掲げるなど、 「挑戦」をたくさん行った1年となりました。 2023年のハイライト 開発本部としての挑戦をいくつか振り返ります。 コンパウンドなプロダクトへの挑戦 弊社はDE…
4ヶ月前
記事のアイキャッチ画像
AndroidのonResumeの挙動を再現したい
every Tech Blog
タイトル この記事は every Tech Blog Advent Calendar 2023 の24日目です。 DELISH KITCHEN 開発部で小売向き合いでFlutterのアプリ開発をしている野口です。 本記事では、弊社の開発しているFlutterアプリでユーザーがどの画面を表示したかのログを取るために、AndroidにおけるonResumeのタイミングでログを送る必要が出たのでその際に得られた知見について紹介します。 やりたいこと 要件としては、以下のタイミングでアプリが表示している画面情報を送る必要があります。 画面遷移時(Navigatorのpush、pop、replaceでの…
4ヶ月前
記事のアイキャッチ画像
分析に向けたログ設計の話
every Tech Blog
はじめに every Tech Blog Advent Calendar 2023 24日目の記事になります。 DELISH KITCHENでデータサイエンティストをしている山西です。 普段はDELISH KITCHENの企画/改善に向けた分析をPdMと連携しながら行っています。 今回はその経験談をもとに、分析用ログ策定の流れを改善&仕組み化した事例をノウハウとして紹介したいと思います。 経緯: ログがカオス DELISH KITCHENサービスの改善に向けた分析では、ユーザーのイベントログ(ユーザーがいつ、どこで、何を見たかの情報が含まれるもの)をデータとして利用しています。 これをSQL等…
4ヶ月前
記事のアイキャッチ画像
IVSを用いたライブ配信
every Tech Blog
はじめに エブリーでソフトウェアエンジニアをしている本丸です。この記事は every Tech Blog Advent Calendar 2023 の 23 日目の記事となります。 DELISH KITCHENでは、2023年12月12日(火)にアプリ内での初めてのライブ配信を行いました。アプリ内のライブ配信では、AWSのIVS(Interactive Video Service)の低レイテンシーストリーミングを利用しています。 今回はライブ配信にIVSを使う上で、どのようなことをおこなったのかなどについてお話しできればと思います。 対象読者 IVSを用いたライブ配信に興味があるエンジニア 本…
4ヶ月前
記事のアイキャッチ画像
wear OS について
every Tech Blog
目次 はじめに Wear OSとは 環境 今回実装するアプリについて 実装の流れ 1. プロジェクトの作成 2. 受信側が機能をアドバタイズする 3. 送信側でノードを取得する 4. 送信側でメッセージを送信する 5. 受信側でメッセージを受信する まとめと感想 終わりに 参考 はじめに every Tech Blog Advent Calendar 23日目の記事になります! こんにちは トモニテ でAndroidアプリの開発を行っている岡田です。 今回は、挑戦WEEK中にAndroidスマホで表示している動画をスマートウォッチで操作するアプリを作成したので、その内容についてご紹介させていた…
4ヶ月前
記事のアイキャッチ画像
microCMS × Next.js でのキャンペーン LP 制作効率化
every Tech Blog
はじめに こんにちは。DELISH KITCHEN 開発部の村上です。 この記事は every Tech Blog Advent Calendar 2023 の 22 日目です。いよいよ長く続いたアドカレも終盤になりました。これまで投稿された他の記事もリスト化されているのでぜひ見てみてください!! さて今回はエブリーで運営しているキャンペーンの LP 開発においてヘッドレス CMS の microCMS と Next.js を用いた効率化に取り組んでいるのでその取り組みや知見を紹介させていただきます。 ヘッドレス CMS 導入の背景 エブリーではクライアントが協賛する形でいくつかのプレゼントキ…
4ヶ月前
記事のアイキャッチ画像
新卒1年目Web系エンジニアがChatGPTを利用した社内ChatAppのテンプレート機能の実装に挑戦した話
every Tech Blog
こんにちは。トモニテ開発部でバックエンドやフロントエンドの設計・開発に携わっている新卒1年目エンジニアのktanonymousです。 every Tech Blog Advent Calendar 2023 の22日目の記事執筆担当者として参加させていただきました!挑戦weekで実装した社内ChatAppのテンプレート機能についてご紹介していきたいと思います。
4ヶ月前
記事のアイキャッチ画像
monorepo環境でeslint flat configを導入してみた
every Tech Blog
はじめに この記事は、every Tech Blog Advent Calendar 2023 の21日目の記事です! 男梅シート、あのクセになるしょっぱさと噛めば噛むほど溢れ出てくる旨さは悪魔的ですよね。僕の推しです。 初めまして!エブリーで内定者インターンをしている @きょー です! インターンでは業務でサーバーやフロントをタスクベースで開発しています。 現在フロントのコードをリプレイスしていて、Eslintの設定ファイルを見直す機会をもらったのでその際に得た知見を共有していきたいと思います! 導入に至った背景 We expect the first alpha release of ES…
4ヶ月前