Ruby
INDEX PAGE重み付抽選機能を作る 登録されたデータを重み付けランダム抽選したいという要件は Webでは意外とあるのではと思うのですが 今回、製作中のWebサイトで投稿された内容を 五段階のユーザーの評価の平均点に対応した頻度で表示する機能を作りました…
INDEX PAGE オーバーロードは書けるの? Javaでは同じ名称のメソッドで引数の型、個数などを変えられる いわゆるオーバーロードというテクニックが存在します。 Rubyに関しては、オーバーロードという記述方法は存在していないようです。 そもそもスクリプト…
INDEX PAGERailsで集計処理を実装 蓄積したデータの合計や平均などを求めたいなどというとき SQLで「Group By」を使用しますが Railsではこのような場合にはActiveRecord::Calculationsを利用するようです。 http://api.rubyonrails.org/classes/ActiveRecor…
INDEX PAGE ActiveRecordのModelクラスとエンティティ名の関係を自由に設定したい RailsではジェネレーターによってModelクラスを自動生成でき テーブル名の複数形のModelクラスがデータベースのエンティティと対応するという 暗黙のルールが存在します。し…
INDEX PAGE DATE_SELECTをCHAR型のカラムに対応させる Rubyには日付形式の入力フォームをサポートする date_selectという機能が存在します。こちら年・月・日を別々のプルダウンで表現してくれて便利な機能です。 ERBファイルの中に下のように書き込んで利用…
INDEX PAGE(続)Ruby On RailsにLoginEngineのソースを直しました 実は続きがありました。LoginEngineではWebページにリクエストがあったときに 一旦リクエストのURLをセッションに格納して ログインページに飛ばした後に、 ログインに成功すると、セッション…
INDEX PAGE バージョンアップ Rails2.0.1→2.1.0 Railsがバージョンアップされたそうです。http://itpro.nikkeibp.co.jp/article/NEWS/20080602/305646/これを当てたら動かなくなるソースとかあるのかなと ちょっとおっかなびっくりしましたが アップデートを…
INDEX PAGE 型(Class)のチェック Rubyにおいて、というより一般的なスクリプト言語において オブジェクトの型の指定と言うのは基本的に行わないものみたいですね。 メソッドにおいても、引数の型は指定できないので オブジェクトに対してメソッドを実行し…
INDEX PAGEコンストラクタJavaでは、クラスをインスタンス化するときの処理をコンストラクターに書きました。 public class Hoge{ public String hogehoge = ""; public Hoge (){ hogehoge = "hogehoge"; } } このような、インスタンスの初期化処理は Rubyで…
INDEX PAGE ページ切替用プラグインPaginateをインストール 一覧画面で、一ページに大量のデータが表示されると ブラウザ側の表示も重くなるし Webサーバおよびネットワークのリソースを消費するので 大量のけんさく結果が返ってくるページでは ページング機…
INDEX PAGE半角 全角の変換関数を作る INDEX PAGERubyはやはり文字列の扱いがとっても便利だなぁと感心します。 今回全角文字を半角文字へ、半角文字を全角文字へという処理を作ったのですが いとも簡単にできてしまいました。 require 'jcode'##アルファベ…
INDEX PAGESTATICメソットJavaでは public class Hoge{ public static String hogehoge(){ return "hoge"; } } とstaticメソットを定義すると 他のソースから String hoge = Hoge.hogehoge(); と言うように関数を呼び出すことができます。 これとおなじよう…
INDEX PAGE Syslogで障害通知機能を作る Linux/Unixではsyslog機能を利用して 障害通知機能を実装するのが一般的だと思います。 http://ja.wikipedia.org/wiki/Syslog 私もこの方法で障害通知を実装しようと思い ネットで調べていたところ、RubyにはSysLogク…
INDEX PAGE Class.forNameはどう書くのか 例えばJavaでJDBCドライバーを利用するとき 各DBごとに実装されたドライバーを利用するに当たって 下のような書き方をします。 Class.forName("oracle.jdbc.driver.OracleDriver"); http://www.site-cooler.com/java…
INDEX PAGEWebサーバ起動時のNoMethodError Webサーバ起動時に下のようなエラーが出ることがあります。 Starting Mongrel listening at 127.0.0.1:4002 Starting Rails with development environment... Exiting c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2…
INDEX PAGE実行環境情報を取得する 障害通知機能などを利用する場合 自分がどのホストで実行された情報かを送信することが重要ですが 今回はこのための実装を行いました。これはことのほか簡単で Soketクラスを活用することで簡単に実現できました。 require…
INDEX PAGE HTTPクライアント情報を取得する RailsではHTTP Requestオブジェクトが「request」という変数で使用できます。 セキュリティログに出力するために クライアントのIPアドレスやブラウザなどの情報を把握するロジックを実装しました。 Requestに関…
INDEX PAGE 外部のサイトへリンクする データベースに格納した他のサイトへのURLにリンクしたい場合 Viewerで処理する場合には Google', 'http://google.co.jp' %> というように記述することで、外部サイトへのリンクを作成することが出来ます。 また、コン…
INDEX PAGERailsにWebサーバ起動起動処理を追加してみました Loggerをラップした独自ログ出力クラスや Syslogに対して障害通知を行うクラスなどを Webサーバ起動時に初期化して、グローバル変数に格納しておきたいと考えていたのですが こちらの実装を行って…
INDEX PAGERuby On RailsにLoginEngineのソースを直しました 万事準備OKというわけでブラウザからアクセスを試みたのですが ここでもやっぱり失敗!! ここら辺になってくると、もう怒りしかわいてこない中、 ネットで調査すると、どうもRails2.0では、 過去…
INDEX PAGERuby On RailsにLoginEngineの設定の続き あとはデータベースの設定と、アプリケーションの設定。 ■データベースの設定 Eclipseを使ってジェネレーターを起動 ここは素直にすすんでくれて一安心。 ■アプリケーションの設定 まずは"/app/controller…
INDEX PAGERuby On RailsにLoginEngineの設定をしました 書籍やWebのページにはRuby On Rails1.2系の設定例が多かったのですが Ruby On Rails2.0系ではこの方法ではまったく動きませんでした。/config/environment.rb を編集するのは一緒なのですが、1.2系で…
INDEX PAGERuby On RailsにLoginEngineを導入しました。 Ruby On Railsのバージョンは2.02だったのですが 書籍やWeb上の情報どおりに導入してもまったくうごかず、かなりはまりました(>_<) #######導入バージョン############################## OS Win…