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

表示速度の高速化が趣味の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 秒間リクエス
※随時追加中 ブログの過去記事全てのタイトルとURLを取得したいのですが、RSSでは最新記事数件しか取得できないので、Webスクレイピングしてしてみます。 今回はRubyでスクレイピングする際の定番ライブラリである「Nokogiri」を使います。まず初めに以下のブログ記事を読む事をおすすめします。 Nokogiri の基本(翻訳版) - ENGINE YARD BLOG 実際に記事一覧を取得する流れは、 (1)htmlを取得 → (2)nokogiriでパース → (3)タイトル/URL取得 → (4)次ページがあれば(1)へ戻る みたいな感じです。 今回はあくまでタイトルとURL一覧を作りたいので、各記事の本文取得までは行っていません。 実際にスクレイピングする時は、以下の記事に目を通す事をおすすめします。 Webスクレイピングの注意事項一覧 - Qiita 記事一覧ページまとめ 各種ブ
Rubyを使って、WordPressを操作したい場合、rubypressを使うと便利です。 投稿や記事の取得などの基本的な動作は rubypressでWordPressの情報をRubyから操作する | mah365 やREADMEに載っています。 ここでは自分が利用した際にハマったところを記載します。 rubypressでのタグ/カテゴリの取得 タグやカテゴリはgetTerms() で取得することができます。タグの形式は、XML-RPC WordPress API/Taxonomies « WordPress Codexが詳しいです。 taxonomyの部分でタグかカテゴリか判断しているらしく、タグは、post_tag, カテゴリは categoryという風に区別されています。 rubypressのデフォルトでは、getTerms()を使用すると、カテゴリだけを取得するようになっているので
簡単なサンプルと解説を書いてみました. Yasuriでお手軽スクレイピング よろしければ使ってみてください>< Yasuri とは Yasuri (鑢) は簡単にWebスクレイピングを行うための、"Mechanize" をサポートするライブラリです. Yasuriは、スクレイピングにおける、よくある処理を簡単に記述することができます. 例えば、 ページ内の複数のリンクを開いて、各ページをスクレイピングした結果をHashで取得する ページ内の複数のテキストをスクレイピングし、名前をつけてHashにする ページ内に繰り返し出現するテーブルをそれぞれスクレイピングして、配列として取得する ページネーションで提供される各ページのうち、上位3つだけを順にスクレイピングする これらを簡単に実装することができます. 例 require 'yasuri' require 'mechanize' # Nod
Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'ubuntu/trusty32'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'ubuntu/trusty32' is up to date... ==> default: Setting the name of the VM: rails-dev-box_default_1423833481874_1181 ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any
こんにちは、7日の予定が2日ほど遅延しております、すいません。 さて、私は OS X で ruby 1.9.3 の環境を構築するネタで書きたいと思います。 今回使う物 homebrew readline libyaml (2.0.0なら不要) openssl (trunk をビルドする場合) autoconf rbenv ruby-build Command Line Tools (Xcode) 尚、環境は Xcode 4.5 + OS X Mountain Lion を想定しています。 準備 最近の Xcode, 4.3 からは Xcode.app のなかに Developers ディレクトリが入ったためターミナルから gcc とか叩いても 見つからないと言われます。なので Command Line Tool をインストールしましょう。 Command Line Tool, 入れる方法は
Rubyの開発効率を高めたい! vimでRubyやRails開発するときに、デフォルトの状態では非力ですよね。 開発効率を高める9つのプラグインを紹介します。 alpaca_tags ctagsの非同期生成 neosnippet Rails/sinatra/rspec等の補完 swtich.vim .present?:.brank?など対応するキーワードを切り替える rubocop 文法エラー、スタイルチェック vim-rails Railsプロジェクト用プラグイン unite-rails Railsプロジェクト用Unite-source vim-endwise if...endなど対応するキーワードの自動補完 ruby-matchit %を拡張して、def...end等のキーワードを移動出来るようにする。 vim-ref Ruby/Gems
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く