Feedforce Developer Blog

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

Ruby

Kaigi on Rails 2024 「楽しさにはビジネス価値がある」見た発表に全コメント&当日の様子

Kaigi on Rails 2024 に参加しました こんにちは。フィードフォースのエンジニアの thiger7 です。 2024年10月25日〜26日に開催された「Kaigi on Rails 2024」に参加しました。 Kaigi on Rails に初めて参加しましたが、 とても良い刺激をもらったので記事に…

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

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

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

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

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

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

Ruby 3.0 の「キーワード引数の分離」で委譲用のメソッドが壊れた場合の対応方法

こんにちは、id:daido1976 です。 Ruby 3.0 の「キーワード引数の分離」が原因で委譲用のメソッドが壊れた場合、特に Ruby 2.6 ~ 3.0 で互換性を保ちながら対応する場合の日本語記事が見当たらなかったので、書かせていただきます。 インスタンスメソッドが…

ソーシャルPLUS を Rails 5.0 にアップグレードしました

[2021/08 追記] 現在は Rails 5.2 にアップグレード済みです。 こんにちは。今年の 4 月に EC Booster チームからソーシャルPLUS チームに異動してきた id:daido1976 です。 今回はソーシャルPLUS の核となるソーシャルログインサービスの Rails アプリを 4.…

rblineprofでRubyアプリケーションの速度を計測する、あるいはevalで評価するDSLを無理矢理requireする

今回、DFMakerでは rblineprof というライブラリを用いてバッチ実行時間の計測を行った。通常、rblineprofは Kernel#require や Kernel#load で読み込まれたスクリプトの1行ごとの実行時間を計測できる。 DFMakerの変換設定は、 instance_eval でロードされ…

真・Google Ads API 徹底入門 その4 公式ドキュメントの歩き方編

こんにちは id:hano_tea です。 真・Google Ads API 徹底入門の最後の記事、 公式ドキュメントの歩き方編です。 真・Google Ads API 徹底入門のこれまでの記事は以下からどうぞ。 developer.feedforce.jp developer.feedforce.jp developer.feedforce.jp 最…

真・Google Ads API 徹底入門 その3 Mutate 編

こんにちは id:hano_tea です。 真・Google Ads API 徹底入門の第三弾、 Mutate 編です。 前回の真・Google Ads API 徹底入門第一弾、第二弾は以下からどうぞ。 developer.feedforce.jp developer.feedforce.jp 今回は Google Ads API で Google 広告に変更…

真・Google Ads API 徹底入門 その2 Search 編

こんにちは id:hano_tea です。 真・Google Ads API 徹底入門の第二弾、 Search 編です。 前回の真・Google Ads API 徹底入門第一弾、基礎編は以下からどうぞ。 developer.feedforce.jp 今回は Google Ads API から情報を取得するための仕組み Search につい…

真・Google Ads API 徹底入門 その1 基礎編

こんにちは id:hano_tea です。最近は外出自粛ということで、日々無人島に旅立ってカブ取引に命を賭けています。 完全に余談ですが、弊社 Slack には #animal_crossing チャンネルがあり、日々 各島のカブ価情報が共有されて楽しい無人島ぐらしの様子が流れ…

AWS SDK for Ruby で S3 Select を使って S3 にある CSV ファイルからデータを抽出する

こんにちは、id:daido1976 です。つい先日 30 歳になりました。 S3 に置いてある大きめの CSV ファイルから特定のデータだけ抽出して取得するのに S3 Select は大変便利です。 Amazon Athena とは違い単一のファイルのみしか対象にできませんが、その分手軽…

Heroku Ruby Language Metrics のメトリクス収集の仕組みを調べた

こんにちは。id:masutaka26 です。 半年くらい前から Heroku の Ruby Language Metrics (Public Beta) を使い始めました。その時、どのようにメトリクスを収集しているか調べたので、この記事にまとめます。(なぜこのタイミング...) 有効にする方法は前述…

Pusher の Private channels と認証周りの処理を追いかけた

こんにちは、id:daido1976 です。もうすぐ 30 歳になります。 Pusher の Private channels と認証周りの処理が公式ドキュメントを読んだだけでは全然わからなかったので、ライブラリの実装を追いかけてみました。 結論 コード例 クライアント(JavaScript) …

月末に起動したいバッチを sidekiq-cron で指定し、healthchecks.io で監視する

こんにちは。id:masutaka26 です。 去年の 6/30 からジムに通い始めて、なんとか週に 2~3 のペースで続いています。サプリメントも半信半疑ながら毎日飲んでいますが、ドラッグストアや Amazon で買うと割と高いと思います。 個人的には iHerb がだいぶオス…

Dynamoid のスレッドセーフではない実装を直しました

こんにちは。インフラエンジニアの id:tsub511 です。 私は Dynamoid のメンテナではないのですが、弊社内で今回それなりに大きい問題が起きて、得た知見も大きかったため記事にしました。 TL;DR Dynamoid にスレッドセーフではない実装があったが PR をマー…

Google Ads API 徹底入門 その2 Factories を使いこなす

Google Ads の情報を技術ブログに連載していきたい id:hano_tea です。こんにちは。 Google Ads API が β 版に戻るという大事件がありましたが、気にせず解説記事を書いていきます。 さて、今回は「Google Ads API 徹底入門」に続く Google Ads API 記事第2…

Ruby 2.7 で導入予定のパターンマッチングを試したら無限大の可能性を感じた話

こんにちは! id:chionyan です。 4/18〜4/20に福岡で開催された RubyKaigi 2019 に参加してきました! ちょうど1年くらい前に福岡からフィードフォースに来たので、とても感慨深い気持ちでした chionyan.hatenablog.com 社内で感想を話したところ、Ruby 2.7…

Google Ads API 徹底入門

最近周囲からのバ美肉1圧が強くなっていてどうしようか悩んでいる id:hano_tea です、こんにちは。 早速ですが、この記事に興味を持った皆様は、おそらく Google 広告を API 経由で操作・管理している、あるいはこれからする予定がある方だと思います。 皆様…

Rails の update メソッドのオーバーライドを調べた

はじめまして! 昨年の 4 月に入社いたしました、Shinsuke Kido です。 弊社が提供するエンジニア教育プログラム「e-Navigator」を受けて、未経験からエンジニア転職いたしました! 現在、Rails に触れて、一年が経とうとしています。 はじめたての頃は、Rai…

『オブジェクト指向設計実践ガイド』の読書会をやっています

id:daido1976 です。入社してからあっという間に8ヶ月が経ちました。 この記事は feedforce Advent Calendar 2018 の16日目の記事です。(遅くなってごめんなさい…) 15日目は id:pokotyamu が 障害対応に強くなりたいのでレポートの書き方について考えてみた …

まだ .rubocop_todo.yml で消耗してるの?

どうも、バックエンドエンジニアのサトウリョウスケです ✌︎('ω')✌︎ 若干釣り臭いタイトルですが、先日 RubocopChallenger という gem の v1.0.0 をリリースしたので紹介させて頂きます github.com 経緯 僕が所属している ソーシャルPLUS は 2012 年頃から開…

弊社の新人エンジニア研修カリキュラムを惜しみなく公開してみる

こんにちは!今年の4月にポテンシャル枠で入社した id:daido1976 です!引き続き Rails に弄ばれる日々を過ごしています。 さて、今回は約4ヶ月間の新人エンジニア研修を受け終えた私が弊社の研修カリキュラムを公開し、まとめや実際に受けてみての感想を書…

新人エンジニア達がメタプログラミング Ruby の読書感想会をやった話

はじめまして!今年の4月にフィードフォースに入社した id:daido1976 です!Rails に弄ばれる日々を過ごしています。 フィードフォースでは今年の4月と5月に私を含む計3名の新人エンジニア(開発実務未経験者)が入社をし、現在研修を受けている真っ最中です…

10 分でわかる Ruby Guild

どうも、バックエンドエンジニアのサトウリョウスケです ✌︎('ω')✌︎ RubyKaigi 2018 から早 3 週間。この記事を読んでいる方でも参加された方が沢山いるのではないかと思います。 個人的な感想ですが、今年は例年以上に充実していたんじゃないかな、と大満足…

RubyKaigi 2018 に行ってきたので今更所感などをまとめました

仙台グルメとお土産をあまり堪能できなかったので仙台リベンジをしたいはのちゃ (id:hano_tea) です。仙台で食べた牛タンはやはり美味でした。 だいぶ開催から日が経ってしまいましたが、 RubyKaigi 2018 に参加してきたので、その様子を写真で振り返りつつ…

RubyKaigi 2018 に行ってきます!

仙台グルメとお土産が楽しみで仕方がないはのちゃ (id:hano_tea) です。牛タンが好きです。 明日からいよいよ RubyKaigi 2018 ですね! rubykaigi.org 弊社フィードフォースからもエンジニアが5名ほど参加予定です。 また、1日目最後の枠で行われる "Lightni…

GraphQLを使ったアプリケーションがリリースされたので勘所を考えた

小飼です。Dropbox上場のニュースをみて『Rustで上場』という標語を考えたんですが、ロジックが乱暴過ぎるとの評価を頂きました。 さて、フィードフォースでは去る3月8日広告出稿・運用支援ツール『EC Booster』をリリースしました。 この新サービスにはクラ…

GraphQL API をスキーマファーストで開発したいけどスキーマと実装で乖離を起こしたくない

feedforce Advent Calendar 2017 14日目の記事です。(遅くなってごめんなさい!) こんばんは、エンジニアの id:sukechannnn です。 先日Qiitaに GraphQL Ruby の使い方 (基礎編) という記事を投稿しました。この記事ではgraphql-rubyを使った際のGraphQL API…

「RubyでつくるRuby」を読んだ話

エンジニアの id:sukechannnn です。最近アナログシンセサイザーを買いました。発信音最高です。 先週の土日で「RubyでつくるRuby」という本を一気に読みました。 RubyでつくるRuby ゼロから学びなおすプログラミング言語入門作者: 遠藤侑介,hirekoke出版社/…