Feedforce Developer Blog

フィードフォース開発者ブログ

アプリケーションを停止させずにRDBのスキーマ変更をする話

Webアプリケーションは変化してゆくもの。時間と共に適切な設計は変わってゆきます。 RDB のスキーマも変化を免れることはできません。 当然、Webアプリケーションを稼働しながらのスキーマ変更になりますから、 サービスを止めない データ欠損を起こさない …

Ruby を 3.2 にアップデートしたら、net-httpの変更にハマった話

年の瀬の風物詩といえば、Rubyのリリースです。先日Ruby 3.3がリリースされましたが、このほどEC Boosterでは、Rubyのバージョンを3.0から3.2へとアップデートしました。一つずつ上げろよという話もありますが、ともあれアップデートできたのはよいことです…

障害レポートを書くときに気をつけていること

この記事は、Feedforce Group Advent Calendar 2023の1日目です。初日から縁起でもない題材を選んでしまった感はありますが、どうかお付き合いください。 フィードフォースでは、サービス運営上のトラブルがあったときに、「障害レポート」と題して報告書を…

LLMを活用した社内の業務効率化アプリのうち最も活用されているアプリとは...

はじめに AIの進化が企業内での業務効率化に大きな影響を与えている今日、どのようなAIアプリケーションが実際に最も効果を発揮しているのかを明らかにします。 特に、LLMを利用した「誤字脱字を確認するツール」が社内で最も使用されているという驚きの結果…

研鑽 Ruby プログラミングの社内読書会を完走した感想

お久しぶりです! dfplus.io でバックエンドを担当しているえーちゃんです! RTA in Japan 最高でしたね!個人的におすすめ枠は、 Pump It Up Infinityです! 社内読書会で、『研鑽 Ruby プログラミング』について読み終わったので、完走した感想などを書い…

【約 50 回】2022 年、家族で毎週ふりかえりをした話

この記事は、Feedforce Group Advent Calendar 2022 の16日目の記事です。 昨日は、アナグラム田中さんによる「クラス制のキャラ育成ができるRPGってキャリア形成のそれと似ているな...って思っただけの話」でした! note.com 私はつい最近、フロントエンド…

Looker のレイヤー化を本番環境に導入してみた

こんにちは。自称 Looker エバンジェリストの id:masutaka26 です。 この記事は Looker Advent Calendar 2022 の 5 日目の記事です。 qiita.com 昨日と一昨日は記事がなくて、その前は BASE 永野さん (@glassmonekey) の「アジリティを保ってデータ基盤を作…

GitHub の issue をまるっと複製する GitHub Action「Issue Duplicator」を自作した

こんにちは、ソーシャルPLUS でフロントエンド開発をしている id:mashabow です。 ここ最近「issue の複製めんどくさいなー。もっと楽にできればいいのに」と思うことが多かったので、issue をまるっと複製してくれる GitHub Action「Issue Duplicator」を個…

Looker のキャッシュの仕組みを思い出して実装を整理した

こんにちは。自称 Looker エバンジェリストの id:masutaka26 です。 フィードフォースで Looker を使っているサービスで最近 BigQuery の料金が上がってきました。 本当に使われているのならとても良いことですが、Looker のキャッシュが有効に使われずに Bi…

StreamlitとDeepLabv3を用いて物体切り抜きができるか検証したという話をした

こんにちは id:newton800 です。 先週末に社内勉強会 FFTTで「StreamlitとDeepLabv3を用いて物体切り抜きができるか検証した」という話をしました。 最近個人的に使用頻度が増加しているStreamlitというフロントエンドの知識なしに実装ができるPythonのWebフ…

自分のブログを CloudFront + Heroku から Cloud Run に移行した話をした

こんにちは id:masutaka26 です。 本日、週次の社内勉強会 FFTT で『引っ越ししたら家賃が3分の1になったかも』というタイトルで、実際は Amazon CloudFront + Heroku で動いていた自分のブログを GCP の Cloud Run に移行した話をしました。 モチベーション…

OSS 版 Spectacles を使って、LookML の data tests や validation などを GitHub Actions で継続的に実行させてみた

こんにちは。自称 Looker エバンジェリストの id:masutaka26 です。 今日は Spectacles というツールを導入して、Looker インスタンスの健全性を高められた話を紹介します。 Spectacles とは 4 種類のテスト 基本的な振る舞い どのテストを採用し、どのよう…

Looker User Meetup Online #8 で『BigQuery経由で使うGoogleスプレッドシートのスキーマ管理』の話をした

こんばんは id:masutaka26 です。 本日、Looker User Meetup Online #8 で『BigQuery経由で使うGoogleスプレッドシートのスキーマ管理』の話をしてきました。Looker User Meetup は 5 回目の参加、発表は初めてです。 いくつかネタはあったのですが、今回の…

LAMS を導入して、LookML の再利用性を高められた

こんにちは、id:masutaka26 です。先週に引き続いてのブログ更新です。 Ruby や JavaScript などのプログラミング言語では、依存関係を管理することでコードの再利用性を高めるとともに、バグの少ないコードを書くことが出来ます。ただ、LookML はプログラミ…

Looker で困った時の解決手段まとめ

こんにちは、id:masutaka26 です。 今回は少し前に社内に共有した記事を、このブログでも共有します。Looker は Ruby や Python 等のプログラミング言語よりはユーザーが少ないはずで、質問相手がいないと本当に困ります。この記事がその一助になれば幸いで…

LookML Validation を 20 秒から 11 秒に高速化出来た

こんにちは、id:masutaka26 です。 Looker を使い始めて 3 年目に突入しました。変わらず Feedmatic という広告運用コンサルティングのデータ整備をする毎日です。 今回はここ 1 年の懸案だった LookML Validation の堪え難い遅さを改善出来たので、共有しま…

画像上の文字を自動削除する仕組みを作ってみた

こんにちは データサイエンティストの八百俊哉です。 今回は画像上に存在する文字を自動的に削除し、背景を補完する仕組みを作成しました。ただ、弊社のプロダクトに実装される可能性が極めて低いので、自由研究の結果としてここに残そうと思います。 弊社の…

ECサイトのタイトルと説明文から取り扱いカテゴリの予測を行った

こんにちは データサイエンティストの八百俊哉です。最近は家でカクテルを作ることにはまっています。 今回はEC BoosterのクライントのECサイトのタイトルと説明文を用いることで、どのカテゴリの商品を扱っているのか予測する仕組みを作成しましたので、そ…

操作ログを用いた行動パターン変化の検知

こんにちは データサイエンティストの八百俊哉です。 最近は花粉が飛んでいることを感じています。目がかゆい。 今回はdfplus.ioの操作ログを用いてクライアントの行動パターン変化を検知する仕組みを作成し、社内で有効活用された事例がありますので、その…

『ボッチLookML開発者兼データ整備人を連れてきたよ!』という発表をした

こんにちは id:masutaka26 です。 本日、週次の社内勉強会 FFTT で『ボッチLookML開発者兼データ整備人を連れてきたよ!』というひどいタイトルの発表をしました。 2020 年 4 月から Looker に関わって得たことをまとめた内容であるとともに、1 年半近く前か…

Causal Impactを用いた入札単価調整の効果検証

こんにちは 機械学習エンジニアの八百俊哉です。最近はバレーボールをやることにハマっており、激しめに運動しています。今日も筋肉痛です。 今回はGoogle広告の入札単価調整が広告成果にどのような影響を与えるのかCausal Impactを用いて検証を実施しました…

LookML 開発で使っているディレクトリ構造を紹介する

こんにちは、id:masutaka26 です。 この記事は Looker Advent Calendar 2021 の 13 日目の記事です。 qiita.com 昨日は Yappli 阿部さんの「Lookerの目標値やストップワードを、Googleスプレッドシート連携でお手軽管理【Sexy Tech for You #9】」でした。Lo…

GitHub Packages を使ってプライベート gem を社内限定で公開した

こんにちは、id:daido1976 です。 先日 GitHub Packages を使ってプライベート gem を社内限定で公開したので、その方法をご紹介します。 GitHub Packages とは 既存のプライベート gem と GitHub Packages との違い GitHub Packages を使ってプライベート g…

OAuth の state パラメータに JWT を使ってステートレスにする

ソーシャルPLUS の id:mashabow です。今回は、個人で開発している Slack アプリ Rota を OAuth に対応させたときに、へーっと思った話の紹介です。 ちなみにこの Rota は、指定した曜日・時間が来るたびに、ローテーションを順次お知らせしてくれる Slack …

Amazon EKS で高負荷時に CoreDNS が原因で稀にネットワークエラーが発生していた時のトラブルシュート

ソーシャルPLUS の開発チームでインフラエンジニア をやっています id:mayuki123 です。今月からフィードフォースから分社化をした株式会社ソーシャルPLUS の所属となりましたが、仕事内容は変わらずにサービスのインフラ改善を進めていく事になるかと思いま…

Looker で Join 先の view の primary_key をいい感じにテストする方法をようやく見つけた

こんにちは、id:masutaka26 です。 先週はまるっと夏休みにしてました。今日からまた Looker と戯れる日々が始まります。 丸1年 Looker と戯れてきて最近ようやく、Join 先の view でも primary_key が壊れてないことを保証するテストの書き方が分かったの…

私が1年かけて辿り着いた Looker の情報収集方法を紹介する

こんばんは、徳川家y id:masutaka26 です。 以前紹介したように、去年から Looker を使ったウェブ広告数値の可視化や BI *1 に取り組んでいます。 LookML 開発者として LookML を書き始めて困ったのが、Looker の情報が少ないように見えたことです。 LookML…

Firestore エミュレーターを使ったテスト同士の競合が起きないようにしていい感じにテストできるようにした話

こんにちは、エンジニアの id:len_prog です。 私が所属している EC Booster チームでは、「カイゼンカード」機能の開発に Firebase を採用しています。 その中でも特に Cloud Functions for Firebase と Cloud Firestore をメインで使用しており、これらの…

一年間の育休から復帰しました

こんにちは、インフラエンジニアの id:tsub511 です。実は去年の 1 月から 1 年間育休を取っており、今年の 1 月から復帰していました。 復帰してから記事を書くのが遅くなってしまいましたが、社内勉強会で話したスライドや育休から復帰してみてどうだった…

『ここがつらいよ普段使いのLinux』という発表をした

こんにちは id:masutaka26 です。いよいよ明後日は RIZIN.28 ですね!東京ドームで MMA(総合格闘技)のイベントが行われるのは、約 17 年半ぶりだそうです(Wikipedia 調べ)。ドキが胸胸します。 本日、週次の社内勉強会 FFTT で『ここがつらいよ普段使い…