ActiveModelを使って外部APIをRailsらしく実装する
Railsで外部APIを叩く機会はたまにあるかと思います。
タグ
41 件の記事
Railsで外部APIを叩く機会はたまにあるかと思います。
これまで素朴にActionMailerでSidekiqでメールを送信していたが、スケールアウトできるメール送信基盤を作るためです。
そもそもマイクロサービスは運用が複雑になるので、作らなくていいなら作らないほうが良いと考えているのですが、「モノリスアプリケーションと小さなマイクロサービスをいくつか組み合わせる」という考え方が今のところはしっくり来ています。
ふと思い出した小ネタです。
なんかプログラミングのモチベが終業後にもかかわらず高かったのでこのブログのメンテをしていたんだけど、その時にPuma5に上げてなかったので上げておくか。ということでサクッと対応しておいた。
ruby-lang.org/…/ruby-3-0-2-releasedhttps://www.ruby-lang.org/ja/news/2021/07/07/ruby-3-0-2-released/
今回は本当に小ネタです。
嬉しいことに会社のエンジニアメンバーも増えて来ており、
Ruby3が出てしばらく経過したので、そろそろライブラリの状況的には大丈夫ですかねぇ...
昔からomniauthを使っている人にとっては
テストも何もないRailsアプリケーションなのだけど、
Rails6.1から「サードパーティー製のコンポーネントフレームワークのサポート」が行われるようです。
ざっくり言うと、リンクのTwitterカードみたいなやつを記事中に埋め込めるようにした。
RspecでメソッドがCallされたことだけをテストする方法を最近調べたので記載しておく。
ActionTextをRails6がリリースされた瞬間だけつかって満足しているRailsエンジニアの皆様こんにちは。
Railsのモデルにこんなコードを書いてちょっと問題になった。
最近は前の記事にあるとおり、プライベートのWebアプリケーションの開発環境をWindowsにエイヤっと移行してしまって、快適に開発できているので、そのあたりの感想を簡単にまとめておこうかと思っています。
クライアントインスタンスって言うと、ちょっと小難しいけど、見ればわかる。
では、この要件を実現するにはどうすればいいでしょうか?
どうしてほしかったかというとこの記事を見たから。
前のブログhttps://webuilder240.com/blogs/2d406ac6-ce27-4233-b960-9cb5662f5bc8でこのブログをAmp対応したと書いたが、正確に言えば、「画像がないブログ」については対応を完了したというのが正しい。
基本的には下記記事のとおりにやって対応完了なんだけど、
なぜ移行したのか? ひと言でいえば、「プログラミングをする題材が欲しかったから」につきます。
"DD/MM/YYYY" 形式の文字列をTime型に変換したいケースがあって、少し調べていてStackoverflowにズバリな答えがありました。
イマドキWebpackerだし、TypeScriptだけを導入してほかのフロントエンドフレームワーク導入しないのどうよ?
Railshttp://d.hatena.ne.jp/keyword/Railsでのサービスクラス(またはオブジェクト)の是非はさておき、Railshttp://d.hatena.ne.jp/keyword/Railsでサービスクラスは導入するとルールがゆるふわになりがちだったり…
元々興味があった本で、GW中に読むかーというので、結構短めの本だったのだけど、 ゲームをしながら(Borderlandshttp://d.hatena.ne.jp/keyword/Borderlands)読んでいたので、3日位かかった。(なので実質3〜4時間くらいかなぁ。)
複数のTableの内容LIKE検索したものをUnionで結合したクエリを発行するような Search クラスを実装してみることこんな感じ。 今回はMySQLhttp://d.hatena.ne.jp/keyword/MySQLを想定して実装してみました。
そういえば、 ModelであんまりViewに関わるロジックを使わないほうがきれいにコード書けていいですよ~みたいな話をしたのですが、 その時に標準ライブラリにあるSimpleDelegatorを使うといいですよねなんて話をしたのですが使い方を復習するなどしていました。
非公式にはmod\railshttp://d.hatena.ne.jp/keyword/railsとmod\rackとも呼ばれている。 役割としても、Apachehttp://d.hatena.ne.jp/keyword/Apacheにインストールして、そのまま動かす当たりはやは…
キャッシュの主な動機は、
これはよく見るとドキュメントに載っているのだけど、 結構見落としがちだったので、記載しておく。
一般的なRDBMShttp://d.hatena.ne.jp/keyword/RDBMSを使ったよくあるLIKEでの曖昧検索実装では、検索ボックスに「寿司 和食」と入力してもただの単語での曖昧検索だと、 当たり前なんだけど、キーワードのOR検索を実現することができない。 sele…
FaradayはRubyhttp://d.hatena.ne.jp/keyword/RubyでHTTPリクエスhttp://d.hatena.ne.jp/keyword/%A5%A8%A5%B9トを行うことができるライブラリだけど、 特に工夫もなしに利用すると1つ1つリクエスht…
Webサーバ/Webアプリケーションフレームワークhttp://d.hatena.ne.jp/keyword/%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF間のインタフェースの役割を果たすライブラリで、 Rackを利用してフレームワークhtt…
1. とにかくgooglehttp://d.hatena.ne.jp/keyword/google\-apihttp://d.hatena.ne.jp/keyword/api\-clientをインストールする
ogp\parse\apihttp://d.hatena.ne.jp/keyword/apiというサービスを適当に運用・Dockerイメージを提供しているのですが、 こちらで利用しているSinatrahttp://d.hatena.ne.jp/keyword/Sinatraで脆弱…
自作のGemで初回インストール時にメッセージを表示したいケースがある場合に重宝する。 まだ自分でちゃんと運用しているわけではないけど、 社内Gemの場合はREADMEやMigrationしてねーみたいなメッセージを付けてあげるのが親切・便利かと思う。
そもそもRubyhttp://d.hatena.ne.jp/keyword/RubyにInterfaceが必要とか、必要じゃないとかの議論は置いておいて、 無いのであれば、類似したこhttp://d.hatena.ne.jp/keyword/%A4%BF%A4%B3とをやりたい場…
Rubyhttp://d.hatena.ne.jp/keyword/Rubyでファイルを監視してなにかしらの処理を行うためのGem。 ファイルを監視して、変更を検知した場合にSlackで何か通知したり、ファイルバックアップデータを取ったりするスクリプトhttp://d.haten…
1年以上Rubyhttp://d.hatena.ne.jp/keyword/Ruby触ってきたけど知らなかった。のでメモ代わりに書いておく。