Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

2012-10-31 Rails3(3.2)でISO-2022-JPなメールとかRFC違反アドレスのメール送受信をうまいぐあいにやるメモ rails3 mail バッドノウハウ actionmailer あれこれ問題を確認し次第テストを書く→追加しているので、動いてはいるものの不要なところや変なところはあるかもしれない。現状モンキーパッチでその場しのぎの対処をするほかなく、mail gemの変更に弱いのがネック。 ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] actionmailer (3.2.8) mail (2.4.4) メールの受け取り aliasesや.forwardでパイプするが、その際にエンコーディングをbinaryにしておく。 "|/bin/bash -l -c 'cd /var/www/myapp/cur
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
Railsアプリでメールを受信して処理 ActionMailer::Base.receive(STDIN.read) とかやる 受信のたびに起動とか重いよ! SMTPサーバとRailsアプリのサーバが違うと面倒 ってことで、コントローラで処理させるための簡単なスクリプトを書いた。 使うことに以下のようなメリットがある。 起動負荷の軽減、高速化 SMTPサーバとアプリサーバが違っても問題なし 受信メール処理用のサーバを複数指定してロードバランシング 改良すべき点 処理サーバへのアクセスに失敗した際、キューにためておき、後で試す。 ※注意 当然無保証です。自己責任でどうぞ。#!/usr/bin/ruby # mail-proxy.rb # /etc/aliases # user: "| /path-to-script/mail-proxy.rb" require 'uri' require '
メールの受信¶ Action Mailerを使用 サーバからメールを取り出してアプリケーションに渡す処理がちょっと面倒 ActionMailerクラスの中でreceive()メソッドを作成。 receive()メソッドは受信されたメールに相当するTMail::Mailオブジェクトを引数としてとる 1 class IncomingTicketHandler < ActionMailer::Base 2 def receive(email) 3 ticket = Ticket.new 4 ticket.from = email.from[0] 5 ticket.report = email.body 6 ticket.save 7 end 8 end で、問題は受信したメールをどうやって横取りしてこのreceive()メソッドに渡すか。 メールサーバの設定を変更する権限があればメール受信時にス
こんにちは。 Blogを書こう!と宣言してから数ヶ月。 ネタを温めては冷まし、温めては冷ましを繰り返し、1度も投稿していなかった増田です。 この投稿を期にBlogグセをつけるべく、シリーズ物で行こうと決心しました。 テーマはHerokuで提供されている気になるアドオンをチェック! 手を動かしたり、本家のドキュメントを和訳したりしなから、ホットなアドオンを紹介していきたいと思います。 アドオンはHerokuに依存しているという訳ではなく、SaaSで提供されているアプリケーションだったり、データベースだったり、アプリケーションと組み合わせることで、旨みを引き出せるトレンディーな技術がラインナップされています。 以下が一例です。 Mailgun メールの送受信を担うSaaSであるMailgunと連携するアドオン Pusher お手軽にWebSocketを始めるアドオン Redis To
概要 Rails 3.1で新しいプロジェクトを作ったところ、本番環境でアセットがプリコンパイルされていないというエラーが発生しました。対策として、3.1から導入されたアセットパイプラインのために、プリコンパイル済みのアセットを作成しました。 ActionView::Template::Error (application.css isn't precompiled) 構成 Ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] Rails 3.1.0 問題 Internal Server Errorが発生し、プロダクションログには次のエラーメッセージが出力されていました。 Started GET "/working_records" for 197.8.10.19 at 2011-09-20 11:35:19 +0900 Proc
HerokuでFacebookアプリを運用しており、当初はRails3.0.9ベースで作り始めたが、Railsが進化するスピードが速いので常にEdgeの状況を追いかけていたいので版をあげることにした。 基本はRailsCastsで紹介されていることをベースに修正していけばよいがいくつかはまった点があるのでメモとして残しておく。 Gemfileを更新する Gemfileで定義しているrailsの版を3.1以降を使うように修正する。 gem '~> 3.1' そのあとbundle updateする。 あとdeprecatedになったので、development.rbの設定で config.action_view.debug_rjs = true を削除しておく。 Asset Pipelineを有効化する Rails3.1より前のRailsアプリではpublic/以下に画像やスタイルシート、Ja
先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT
「でも、ステージング環境ではちゃんと動いています!」 こう言われてブチ切れた経験があります。業務アプリのバギーな動作を社内のエンジニアに指摘したところ、テスト用の環境では動いているというのです。「いや、ぼくら本番環境のアプリを使っていて現に困っているので、それを直してほしいだけなんですけど」というと、「でも、ちゃんとステージング環境では動いています。お使いになっているのがChromeのようですが、Chromeでの動作検証はしていません(キリッ」というようなやり取りに絶望しました。原因はブラウザではなく、バージョンアップしたアプリ自体にあったのですが、ステージング環境では問題が発現しなかったんですね。 というように、開発環境、ステージング環境、プロダクション環境(本番環境)の3つは、大小いろいろな違いがあって、完全に一致させることは難しいものです。手元の環境で動いているアプリが、プロダクショ
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
MacOSXをご使用の方 RailsInstaller(http://railsinstaller.org/)を使用しても良いのですが、Windowsのような罠は少ないので、手動で設定していきたいと思います。皆さまの環境構築の参考にしてください。 なお、以降の手順の実行のためには、事前にXcode(Macの開発環境)のセットアップが必要です。 MacOSX 10.7(Lion)をお使いの方 MacAppStoreよりXcodeをインストールして下さい。 インストール後、Xcodeを起動し、「Xcode > Preferences... > Downloads > Components」よりCommand Line Toolsの右側の「Install」ボタンをクリックし、コマンドラインの開発環境をセットアップします。 ターミナル上で「gcc -v」を実行してバージョン番号が返ってきたら、セッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く