※1 執筆時のRailsはバージョン5.0.0.1。 ※2 Webサーバにはnginxを使用。 ※3 リバースプロキシにnginxを使った構成も対応する。 Rails5.0.0.1はすでにインストールされているものとする […]
FiNC さんの社内マイクロサービス勉強会と、表参道.rb にて、そろそろリリースされそうな Rails 5 におけるメジャーフィーチャの一つ Rails::API について話しました。 雑感 スライド読むと分かるように、Rails::API は API サーバを作る時の銀の弾丸でもなんでもなくて、条件に合致したときに使うとちょっとだけ速くなりますよ、軽くなりますよという機能なのでした。 Rails::API の機能面としてはそれだけなのだけど、Rails は Rack Middleware や ActionController::Base 内の Module が疎になっていて、着脱が簡単なんですよというのを示す良い例にもなっていると思います。使っていない Middleware や Module を外すことで、手軽にちょっぴり速く/軽くできるので、API サーバに限らず不要なものがある場合
tl;dr Railsではコネクションプール数を設定していても、1スレッド辺り1コネクションしか持ちません。 発端 アカツキではRails + Unicorn + Nginx + MySQLの構成をAWSで運用しており、c3.4xlargeのインスタンス上で1台辺り64のUnicornワーカープロセスが実行される設定になっています。 ソーシャルゲームでは時にたくさんのアプリケーションサーバを並列稼働される必要がでてきます。特に年末年始の時期は平時の2-3倍のトラフィックが予想され、アプリケーションサーバを最大100台で稼働させる必要がありました。 Railsのdatabase.ymlのpool設定は5だったので、単純に考えると最大 100台 * 64プロセス * 5接続 = 32,000個の接続が常時貼られるのでは?MySQLのmax_connectionsの設定は大丈夫か?という議論があ
Phoenix の開発者である Chris McCord さんが 2015/11/18 に書いた記事「Phoenix is not Rails」の翻訳です。 僕は Rails 未経験の状態で Phoenix を始めたクチなのですが、最近 Rails もやるようになり、両者を比較して考えることが多くなってきたので、いい機会だと思い翻訳してみました。 誤訳があれば編集リクエストを頂けると幸いです。 まえがき 昨年12月、ブライアン1は年次総括で 開発を Elixir と Phoenix に移行する計画を公表しました。それから1年、実際に Rails から Phoenix へ移行してみて分かったのは、この作業はそれほど大変ではないということです。というのも、Phoenix は Rails と非常によく似た作りをしているからです。もちろん、フレームワークのきちんとした理解にはそれなりの学習が必要で
react-railsというReact.jsをRailsに簡単に統合できるgemを使い、React.jsについて説明します。 次のような画面をReact.jsで実装し、Reactとサーバ(Rails)間でメッセージ一覧の取得や作成をできるようにします。 ソースコードはこちらです。 https://github.com/nipe0324/rails_samples/tree/master/react_test 目次 react-railsのインストール Reactのコンポーネントの表示 メッセージボックスの概要 メッセージボックスのリストを作成 メッセージフォームを作成 サーバーサイド(Rails)との連携 動作確認 Ruby 2.2.0 Rails 4.2.3 react-rails 1.4.2 react 0.14.2 0. React.jsとはReact.jsはMVCフレームワークでい
カテゴリ: Rails 周りに聞くと結構知らない人が多かったので、(自分も使っているgemを詳しく調査するまで知らなかったけど) 詳しく調べたので、メモがてら 読む時間の目安: 30分くらい(長いです) 入れ子集合モデル(Nested set model)について 木構造、階層構造をRDBで実現するためのテクニックのことをいうそうです。 http://en.wikipedia.org/wiki/Nested_set_model The nested set model is a particular technique for representing nested sets (also known as trees or hierarchies) in relational databases. 入れ子集合モデルの概要 以下のようなディレクトリ構造を想像してみましょう。 入れ子集合モデ
自社サービスにAPIを実装する事ってあまりないですよね。 kamadoのプロダクトも現在はAPIは公開してません。 もし提供するのであれば、簡易的な方法ですが、ユーザーテーブルにtokenカラムを追加して、API用のルーティングを作成する…という方法が考えられると思います。 しかし、その実装時間でより良いAPIが実装出来るとしたら素晴らしいですよね。 そこで紹介したいのがgem doorkeeperです。 日本語の記事が見当たらなかったので記事にしました。 github https://github.com/applicake/doorkeeper gem doorkeeperってどんな機能があるのか? 簡単に説明すると、 ・アプリケーションの管理機能 ・アプリケーションの承認管理 ・スコープの設定 いってしまえば、Facebook API(に近い実装)そのまま実装出来ます。 しかもOAu
フォームに入力した内容をサーバー送信する時、送信ボタンを押してから処理に時間がかかると不安になる。(特にファイルをアップロードする時など。)ユーザーによっては、2回、3回と送信ボタンを押しまくるかもしれない...。不要な操作は、サーバーにも負荷がかかるし、きっとユーザーもイライラしているはず。そんな時は、submit_tagの:disable_withオプションで手軽に解決できた! 以下のように:disable_with=>'アップロード処理中...'と設定しておけば... ボタンを押すと、操作できない状態に変化して、二重送信が防止できる。 同時にボタンの表示が[アップロード処理中...]に変更され、ユーザーにフィードバックできる。 <%= start_form_tag({:action => 'create'}, :multipart => true) %> <%= render :pa
2024.02 « - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - - - » 2024.04 CSRF (Cross-Site Request Forgery) を勝手に防止してくださいます。 CSRF とは簡単に言うと、ある特定のURLがDBに挿入したり更新したりすると仮定します。そして、そのURLにアクセスしまくってDBの値を変えまくることです(だと思う・・・)。 script/generate scaffold した時点で、もう既に対応済みになっていて何もすることはありませんでした。 じゃあ、どこで設定されているか、というと、app/controllers/application.rb をご覧ください。 protect_from
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
必要なパッケージのインストール 開発ツール(Cコンパイラ等): # yum groupinstall "Development Tools" Rubyのビルドに必要なライブラリのヘッダファイル: # yum install openssl-devel readline-devel zlib-devel MySQLとヘッダファイル: # yum install mysql-server mysql-devel Apacheとヘッダファイル: # yum install httpd httpd-devel RubyとPassengerのインストール Passengerの開発元であるPhusionが開発しているRuby Enterprise Editionをインストールします。 Ruby Enterprise EditionはRuby 1.8.7をベースに変更を加えたもので、オリジナルのRuby
※2011/11/08 コメント欄で指摘を頂いた箇所を加筆修正しました。また、割と古い記事ですので最新の情報は Fabrication を参照することをお奨めします。 これを作ってるとき、machinistとmachinist_mongoを使っていたんですが、試しに前々から気になっていたFabricationで書き換えてみました。README書いてあることをいくつか実際にやってみたのでメモしておきます。割と使いやすかったです。 何に使えるの 下記をサポートしてるそうですので、Mongoid使えます。やった! Plain old Ruby objects ActiveRecord objects Mongoid Documents 使ったもの Fabrication…本日のメイン Faker…嘘データをどんどこ作ってくれるやつ QuickStart & 使い方 Gemfile Rails/M
2009年11月7日の時点で、google先生に時々教えてもらう程度で知っているプラグイン(プラギン?)。誰もまとめてくれないので書く。 認証プラグイン auth_logic AuthlogicはBen Johnson@Binary Logic氏が作成した「キレイで、シンプルで、控えめな」認証プラグインだ。Railsの認証機能としては、Rails自身の簡便な認証機構や、acts_as_authentication / restful_authenticationを使うことが多いが、このプラグインも少しずつ人気が出てきているようだ http://d.hatena.ne.jp/mothprog/20090331/1238494900 他には acts_as_authenticated や restful_authentication などの認証のためのプラグインが存在している。authlogi
FlexやRuby on Railsなどで使い方とかを自分が後でわかるようにメモしておくブログ。最近はFlex系に飽きてます。FlexやRuby on Railsなどで使い方とかを自分が後でわかるようにメモしておくブログ。最近はFlex系に飽きてます。 [Rails][非同期処理]delayed_job使い方 その3 [関連記事] [Rails][非同期処理]delayed_job使い方 [Rails][非同期処理]delayed_job使い方 その2 今回は非同期実行させるための方法について簡単にまとめます。 環境周りの設定は[Rails][非同期処理]delayed_job使い方 その2を見てください。(以前の記事をちょっと修正してあります。) テスト環境について 以下の非同期処理の実行テストは以下の環境で行っております。 Windows XP Pro SP3Rails 2.3.8Ru
FlexやRuby on Railsなどで使い方とかを自分が後でわかるようにメモしておくブログ。最近はFlex系に飽きてます。 Ubuntu 11.04 on VMware ISOダウンロード先はこちら なお、特に断りにない限りターミナル上での操作を前提としている(Ctrl + ALT + Tで出ます) Rubyのセットアップ rvmのセットアップ system rubyとrubygems, curl, gitをインストールしたあとにrvmをインストールし初期設定します sudo apt-get install ruby rubygems curl git sudo gem install rvm bash bashrcへの登録 echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >> ~/.bash
アークウェブシステム開発SandBox Web制作会社アークウェブのスタッフが、システム開発のTips・ノウハウをまとめているWikiです アークウェブシステム開発SandBox アークウェブWebマーケティングSandBox アークウェブWebデザインSandBox アークウェブ アクセシビリティWiki http://www.ark-web.jp/sandbox/wiki/390.html トップ ] [ 編集 | 凍結 | 差分 | バックアップ | 添付 | リロード ] [ 新規 | 一覧 | 単語検索 | 最終更新 | ヘルプ ] http://railsapi.masuidrive.jp/module/ActiveRecord::Associations::ClassMethods/has_many :dependent - if set to :destroy all th
Ruby on Rails 7.1.3.4 RDOC_MAIN.md railties/RDOC_MAIN.md Last modified: 2024-06-04 18:21:34 +0000 Welcome to Rails What’s Rails? Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. Understanding the MVC pattern is key to understanding Rails. MVC divides your application into three laye
2009年09月07日01:47 Ruby Rubyで日付の計算するならactive_support使っとけ Ruby で日付を扱うときに、active_support (rails をインストールすると一緒に入ってくるライブラリ) が凄い便利なんです!!ぐだぐだ説明するよりもコードを見たほうが早いと思うのでどうぞ。 #!/usr/bin/ruby require 'rubygems' require 'active_support' t = Time.now # Mon Sep 07 00:24:07 +0900 2009 t - 5.days # 5日前 (Wed Sep 02 00:24:07 +0900 2009) t - 1.week # 1週間前 (Mon Aug 31 00:24:07 +0900 2009) t - 2.years # 2年前 (Fri Sep 07 00:
map.connectとmap.purchase 「map.connect」と「map.purchase」はrails1.x系からおなじみですね。 「map.connect」と「map.purchase(任意のパス名)」については、2005年の情報ですが「Routes :: 優しいRailsの育て方 :: ヽ( ・∀・)ノくまくまー)」によくまとめられています。くまくまさんにはいつもおせわになってます。 またパラメータにURLを直接渡したい場合は、「routes.rbでURLを丸ごとパラメータとして渡す記述法 - Hello, world! - s21g」が参考になります。 僕は今のところ利用する機会が無いですが、パラメータを省略可能にしたい場合は「routes.rbで省略可能パラメータを指定する方法 - Hello, world! - s21g」を。 map.with_options 「
■ [ruby] 大規模Railsサイトのための新しいHTTPサーバ、Unicorn githubの中の人が、ブログで「Unicorn使い始めて一ヶ月くらい経つけどいい感じだよ」と書いています。 適当に要点だけ拾ってみました。 Unicornって何よ? UnicornはRubyのためのHTTPサーバ。MongrelやThinのようなものだけど、全く違う設計と思想を持っている ありがちな構成 [mongrel] [mongrel] .. [nginx] -> [haproxy] -> [mongrel] [mongrel] .. [mongrel] [mongrel] .. 問題点: あるactionの処理に60秒以上かかったとき、Mongrelが当該スレッドをkillしようとして固まることがある メモリが一定量を超えたときMongrelを再起動するのが遅い。 デプロイ時に9個のmongre
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く