IT関連ネタを中心とした、彷徨えるウェブプログラマーの技術メモ
前回ブログで紹介したRailsサーバUnicornくんを運用し始めて結構時間が経ちました。 サービスを落とさないであるとか、システムの安定性を確保するために、 ちょっとしたユーティリティを作ったり監視ソフトMonitの設定を行ったりしていました。 みなさんのお役に立つかわかりませんが、弊社でUnicornと組み合わせて運用に利用しているツールや設定をブログに掲載してみたいと思います。 もっといいやり方がありましたら、ぜひコメント欄でご紹介頂ければと思います。 ダウンしたら自動的に再起動 これはMonitで行っています。 もちろん同内容の監視ツールGodでも可能だと思いますが、以前設定した経験があって設定が楽そうだったので、Monitでやってみました。(事実楽でした) check process unicorn with pidfile "/path/to/rails/tmp/pids/un
自分用メモ。 画面固有のスタイルは個別のファイルに書くようになっているわけですが、そのままの設定だと結局どの画面からも全部のファイルが読み込まれてしまい、セレクタがかぶらないように気を遣わないといけません。これだったら同じファイルに書く方が管理しやすいですね。 そこで、コントローラ毎にCSSを分ける方法の登場です。 一つ目の方法はyieldにパラメータをつける方法。まずは自動で読み込まれないようにするためにapp/assets/styleshet/application.cssから以下の行を消してきます。 *= require_tree .そしてlayouts/application.html.erbで <%= yield :css %>と書いておいて、Viewで <% content_for :css do %> <%= stylesheet_link_tag controller.co
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
PassengerはRailsを動かす事ができるアプリケーションサーバである。 Apache版の設定項目について調べたので自分用の備忘録として残しておく。 バージョン Passenger-4.0.37 http://www.modrails.com/documentation/Users%20guide%20Apache.html Configuring Phusion Passenger PassengerRoot http://www.modrails.com/documentation/Users%20guide%20Apache.html#_passengerroot_lt_directory_gt apacheのpassengerモジュールの置いてあるディレクトリを指定する。 普通はインストーラを実行した時に表示されるのでそれを使えばよい。rubyのインストール場所をかえた場合な
Phusion Passenger (aka mod_rails) allows for easy and scalable deployment of Ruby on Rails applications on Apache or Nginx servers. Part of what makes it so easy is that it comes with suitable default settings right out of the box, so that you don't need to concern yourself with any of the details when deploying your application to production. However, once you've launched your application and peo
with_exclusive_scope (ActiveRecord::Base) – APIdock In Rails3 use "unscoped" instead The with_exclusive_scope examples no longer work in Rails3 because with_exclusive_scope is now a protected method which can and should not be used in a controller. Use the new unscoped method instead: ほー。 class Post < ActiveRecord::Base default_scope :published => true end Post.all #=> SELECT * FROM posts WHERE pu
RubyにはGemと呼ばれるサードパーティのライブラリが豊富に存在します。 Gemは大変便利なもので、こういう機能ほしいなと思った際に The Ruby Toolbox や RubyGems.org や Google で検索すると大抵誰かがその機能を持ったGemを作っていたりします。 gemを利用するのも、RubyGems.orgに登録されているものならば と入力することで利用可能となります。 Gemはだれでも簡単に開発でき、審査無しですぐに公開できるため、日々大量のGemたちがRubyGems.orgに登録されています。反面、長年保守されていないGemや品質の低いGemも大量にRubyGems.orgに登録されているのが現状です。 同じ機能を持ったGemも大量に登録されていたりして、どのライブラリを利用してよいのか迷う事も多々あります。 今回は弊社プロジェクトで実際に利用している、便利な
This plugin was originally based on Acts as Taggable on Steroids by Jonathan Viney. It has evolved substantially since that point, but all credit goes to him for the initial tagging functionality that so many people have used. For instance, in a social network, a user might have tags that are called skills, interests, sports, and more. There is no real way to differentiate between tags and so an i
最近、Rails 1.2 で開発をスタートした Rails 3.2 のアプリケーションを Rails 4.0 にアップグレードした。 その時に修正が必要になったところのメモを残しておく。 ActiveSupport ActiveSupport::JSON.encode でマルチバイト文字が escape されなくなった Range#step の拡張 (blockless_step) が削除された ActiveModel validates_format_of で multiline option なしに ^ $ を利用できなくなった validates_confirmation_of のエラーメッセージが追加される attribute が password から password_confirmation に変更された ActiveRecord lambda / proc を利用しない s
ActiveRecord4でこんなSQLクエリどう書くの? Merge編 #activerecord#rails#ruby 2013年 10月 24日 nishio 「このデータ取得するのにSQLではこういう風に書けばいいんだけど、ActiveRecordでは一体どう書けばいいの?」 毎回この課題に悩まされています。 特に業務アプリの場合、とてつもなく複雑なSQLを投げる場合があります。 ものすごい数のテーブルをjoinして、existsで条件みて、union allして。。。 なんていう処理がでてくると、さすがにActiveRecordやDatamapperを使ってクエリを組み立てるのをあきらめて、直接SQLを書いてしまうことがあります。 でも、できればActiveRecordを使ってスマートにSQLを組み立てたいものです。 scopeで書いておけば、処理も使い回せますしね。 ということ
Railsのテスト環境の定番といえば Rspec Guard FactoryGirl Spork このへんの組み合わせが定番だったんではないでしょうか。 Sporkでテスト環境をプリロードして、Guardでファイルを監視してガンガンテストを回してと。 今回はこのSporkを最近メキメキと頭角を現してきているSpringに置き換えて よりモダンな高速テスト環境の作り方を説明します。 Springのいいところ このSpringなにがいいって、設定がすごく簡単。 おまけにGuard+Rspec以外にもrails generateやrake routesなど他のコマンドも高速化してくれます。 一度体験したらもう戻れません。 必要なGem rspec-rails guard-rspec factory_girl_rails spring group :development, :test do
(photo credit: foxypar4 via photopin cc) よくあるタグ管理を実装しようとして、途中まで自力でやったんやけど すばらしいgemがあるのを見つけたのでそっちに乗り換えました。 ついでに入力の部分もjQueryプラグインがすごい簡単につかえたので、 かなり満足のいくタグ管理機能ができましたよという話。 かんたんにまとめると、 バックエンドはacts-as-taggable gemで完璧。 フロントエンドはjQuery-Tags-Inputすばらしい。 どちらも機能がよくて導入も超簡単、相性もばっちりといいことずくめです。 acs-as-taggable導入 まずはacts-as-taggableを導入。 Github「mbleigh / acts-as-taggable-on」 酒と泪とRubyとRailsと「acts-as-taggable-onで
Ruby Advent Calendar 2013 2日目 るびぃあどぅべんどぅくぁれんだー2013、2日目の記事となります。昨日はすうぱぁももんがさんのあくろばてぃっくな今年こそRubyを始めたいあなたに!ももんが流・最強のRuby学習法です。 概要 三回ほど手を変え品を変えWeb APIをRubyで作ってきました。ここではそこから学んだ今の私の全力全開、最高のWeb API開発についてコード例を交えてお話したいと思います。ここで言うWeb APIとはスマホアプリから使用する、サーバに置いてあるAPIをイメージして頂ければと思います。 ここではユーザが写真をサーバに保存できるAPIを想定し、応答のフォーマットはJSONとします。 使うもの rails 4 Rails 3ではなくRails 4を使うのは趣味です。 grape APIを書く際に非常に楽になります。APIで使用するURLとHT
Rails アプリケーションで全文検索を実装するための調査を昨晩行ったので、リンク・URLをまとめておきます。Sunspot, Elasticsearch, Think Sphinx, Ransack あたりが候補になりました。 Sunspot(Solr) Apache Lucene – Apache Solr Rails – sunspot で全文検索をする(1) – そういうことだったんですね Railsでsunspot(solr)を使って全文検索 – Qiita Railsで検索を高速化するならこれで決まり!Sunspotで始めるSolr入門 | TechRacho Rails3.1で全文検索はSunSpotが楽ちんだった – 鶏肉がいいよね。 Ruby on RailsとApache Solrで構築するドキュメント全文検索システムの開発|サイバーエージェント 公式エンジニアブログ
問題 Rails 3 ではassets:precompileすると、jsファイルの連結 + minifyされて改行や空白が削除されていたのだが、Rails 4にすると連結はされるがminifyされなくなった。 解決策 Sprocketsのキャッシュをクリアする。 bundle exec rake tmp:cache:clear public/assets/*.jsを削除するか、config/environments/production.rb でconfig.assets.js_compressorを変更する。 rm public/assets/*js その後、assets:precompileでjsファイルが作成されていることを確認する。 $ bundle exec rake assets:precompile RAILS_ENV=production --trace ** Invoke
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く