Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Rails4だとCSRF対策が非常に優秀です。 デフォルトで「ApplicationController」には「protect_from_forgery with: :exception」の記述があります。 CSRFの仕組みについては以下の記述が参考になります。 ★RailsのCSRF対策の仕組みについて http://shindolog.hatenablog.com/entry/2014/09/01/013840 また、「protect_from_forgery」については以下の記述が参考になります。 ★Rails 4.0だとCSRFトークンでエラーになる http://qiita.com/naoty_k/items/b40b13735fd7f06f8cb7 そしてこちらですが、安易な「a」タグや外部のサイトからの接続の際に「Can't verify CSRF token authent
表示速度の高速化が趣味のzaruです。こんにちは。今回はRuby on Railsで作られた弊社Webサービスの表示速度を約5倍ほど速くしたので、何をしたのかをまとめました。Railsの高速化手法はいたるところで語られていますが、気にせず行きます。 前提や結果など アーキテクチャとしてはわりと一般的な AWS ELB -> nginx -> Unicorn / MongoDB という構成です。 |改善前|改善後 ---|---|--- Ruby|2.1|2.3 Rails|4.1|- MongoDB|2.6|3.2 Redis|2.4|3.2 Ruby・MongoDB・Redisのバージョンアップ、Railsもバージョンアップしたかったけど依存ライブラリの関係で据え置きになりました。 |改善前|改善後 ---|---|--- ページ読み込み速度|8.49sec|1.69sec 秒間リクエス
#Mackerelとは (鯖=マカレル) サーバに入らなくてもウェブ上からサーバを監視した結果を閲覧できるサービス(Saas) RailsのシステムでもCakeのシステムでもitamaeを使うとサクッと導入できる。 ##導入方法 mackerel-agentをサーバにインストール mackerel-agentがサーバの情報を集めmackerelに送信 mackerelが情報を解析し、グラフ化とかslack通知したりしてくれる エンジニアがLINEとかslackやウェブ上で簡単に確認できて幸せ 対応アプリは以外と多く弊社ではSlackに通知が来るように設定している。 特徴 itamaeで導入簡単 Slackで通知を受け取れる ← 大切 鯖状態をグラフで監視可能 複数のサーバの一元管理 監視サーバを別途、構築、運用する必要がない itamaeを設定、適応するとグラフで各サーバーの状態を表示
# ./lib/tasks/db.rake require 'active_record' namespace :db do desc "Dumps the database to db/dbname.dump" task dump_all: [:environment,:load_config] do cmd = nil environment = Rails.env configuration = ActiveRecord::Base.configurations[environment] cmd = "mysqldump -u #{configuration['username']} -p#{configuration['password']} #{configuration['database']} > db/#{configuration['database']}.dump" p
最近、Rails界隈でDocker使い始めました、という話を聞く機会が増えてきたので、自分が開発環境整備用に構築したDockerの設定をまとめておく。 ちなみに、production運用については以前書いたので適当に探してくださいw 結論から書いておくと、volumeをちゃんと活用すればいい、ってだけの話です。 まず、本番用と開発用のDockerfileは分けた方が良い。一つでやろうとするとどうにも無理がでるので。 自分はDockerfileとDockerfile-devというものを用意している。 docker-composeはほぼ必須です。少なくともrailsプロセスとDBだけでも二つは必要だし、Dockerfileを分けてると事故るので。 Dockerfileはこんな感じ。 FROM mybase:ruby-2.3.1-debian RUN echo "deb http://http.
#前提 ドメインは hoge.sakura.ne.jp Rails アプリ名 Banana, Melon アプリの URL hoge.sakura.ne.jp/banana/ , _hoge.sakura.ne.jp/melon となるように諸々設定する Banana は /home/rails/banana に配置してある Melon は /home/rails/melon に配置してある Banana は、ポート 3100 で動作 Melon は、ポート 3101 で動作 Nginx はリバースプロキシとして動作させる 概念図 /bananaへのリクエストがNginxで解決できなかったら、localhost:3100にリクエストを行う。 #作業 ##Nginx側の設定 conf ファイル準備 /etc/nginx/conf.d/local.conf を作成して、内容を以下のようにしてお
メール送信や、重い処理、バッチなどでキューイングってよくやると思うんですが、Rubyではそれらを簡単に実現できるライブラリがいくつかあります。有名所だと、Sidekiq / Resque / Delayed Jobとか。僕はSidekiq / Resqueこの2つを使ったことがあるんですが…最近ではSidekiqの方が設定も簡単で使いやすかったので、Sidekiqにまつわる設定などもろもろまとめておきます。 ActiveJobについて Rails4.2からActiveJobというキュー操作のフレームワークが導入されました。これを使用することで、書き方が統一されるため、バックグラウンドのキューライブラリがSidekiqだろうとResqueだろうと気にせず書けるっていうやつです。Rails4.2を使っているのなら積極的に採用して良い感じ。 (2017/08/07:追記) 実際にいくつかのプロジ
こんにちは。@srockstyleです。 Ruby On Rails便利ですね。フレームワークとして「Railsライクだから便利だよ!」ってはなすフレームワークがいっぱいでてきて久しいです。 今回はRailsで作ったアプリを高速化した話です。と言ってもこれは2015年くらいにやった作業なので、モダンな環境では通用しないかもしれません。 この記事の結論は結局「キャッシュいいね」となってしまいます。 最近のキャッシュトレンドな話はまた別に書きます。 ことのはじまり 当時の僕は一人でアプリケーションを書いてました。 作業もほぼ終盤に終わり、バグも潰し終えたとき、とある現象に気づきました。 ちなみにこれリモートのサーバです。DB接続のところはキャッシュつかうようにしたのである程度早かったり、Cloudのほうも設定したのでよかったんですが遅いですね。Viewが9ms、ARが17msなのに全体で157
例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIをRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という
# gem install --no-ri --no-rdoc rails Fetching: thread_safe-0.3.4.gem (100%) Successfully installed thread_safe-0.3.4 Fetching: minitest-5.5.1.gem (100%) Successfully installed minitest-5.5.1 Fetching: tzinfo-1.2.2.gem (100%) Successfully installed tzinfo-1.2.2 Fetching: i18n-0.7.0.gem (100%) Successfully installed i18n-0.7.0 Fetching: activesupport-4.2.0.gem (100%) Successfully installed activesu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く