そういうことだったんですね

いろいろ調べたり学んだりしたことを忘れないように書き連ねています

Ruby - 2Dゲームライブラリ Gosu を試す(2)

Ruby - 2Dゲームライブラリ Gosu を試す(1) - そういうことだったんですね の続きです。 背景/画像を表示する <code>Gosu::Image</code>クラスを使います。オブジェクトを生成して <code>draw</code> メソッドを呼ぶだけです。

Ruby - 2Dゲームライブラリ Gosu を試す(1)

2Dのゲーム開発環境です。Ruby(とC++)で実装できます(ただしデスクトップのみ。iOSはC++)。 ゲーム用のフリー素材集など使えばシナリオと少しのコードで立派なゲームを作ることができます。 https://github.com/jlnr/gosu

Ruby - 順列と組み合わせのまとめ

// ).push({}); // ]]> データ分析やゲームなどでパターンの組み合わせや順列が欲しい場合が多いと思います。 Ruby では Array クラスにこれらを生成する便利なメソッドが定義されています。 組み合わせ(combination) N個の要素からM個を取り出し、順番を考…

git - windows から使う

git

分散型のバージョン管理システムgitをwindows版で使います。 git本体 msysgit - Git for Windows - Google Project Hosting kdiff3 - GUIな差分検出ツール KDiff3 プロジェクト日本語トップページ - SourceForge.JP git GUIクライアント gitextensions - Git…

Ruby - 謎の `require':cannot load such file エラー

Windows環境でさっきまで動いていたプログラムが動かないなぁ、と思ったときの話。LOAD_PATHなど正しく設定してもうまく読み込めなくなってました。

Ruby - コードの不吉な部分を調べる(reek)

Ruby のコード中のエラーやバグ(を生みそうな)部分を検出してくれるツールが reek です。

Rails/Ruby - テストカバレッジを調べる simplecov

自分の書いたテストが、全体コードの何割を占めているかを示す指標をテストカバレッジといいます。数値化されるのでテストの妥当性の検証に役立ちます。 今回はそのカバレッジを調べるRubyライブラリ simplecov を調べてみました。

Ruby - 2.0.0 の新機能 - Module#prepend

前回に引き続きruby-2.0の新機能を調べてみます。 Module#prepend です。

Ruby - 2.0.0 の新機能 - キーワード引数

Ruby 2.0.0 の新機能としてキーワード引数というものがあります。引数名を与えて、引数の順序を気にせず設定できる、というものです。 PythonやObjective-C などでも有名ですね メソッド定義 引数の部分の定義をハッシュリテラルに似た(というかほぼ同じ)…

Ruby - Twitter と連携する

Twitter には REST API があり、ツイートやフォロー、タイムラインの取得などアプリに組み込むことができます。 フォローする、リツイートするなどの機能も見かけますね。 curl で十分、といわれるかもしれませんが、その準備は結構面倒なので、 それを解決…

Rails -メンテナンスモード

// 今日は風変わりなプラグイン turnout です。 https://github.com/biola/turnout メンテナンス期間のみ全てのアクションの画面を切り替えたい!っていうときに使います。

Rails - Tire と 全文検索エンジン Elasticsearch (3)

Rails - Tire と 全文検索エンジン Elasticsearch (2) - そういうことだったんですね の続きです。 Tire用のアプリケーションを作成 rails のアプリケーション searchapp を作成します。今回はDBはsqlite3を使います $ rails new searchapp Gemfile に次の行…

Rails - Tire と 全文検索エンジン Elasticsearch (2)

Rails - Tire と 全文検索エンジン Elasticsearch (1) の続きです はじめに 今回の例は elasticsearch をバックグラウンドで動作させます。 bin/elasticsearch で実行します。 Elasticsearch のインデックス 検索エンジンの要であるインデックスを操作します…

Rails - Apache との連携 Phusion Passenger

本番環境で使う場合は WEBrick だと心もたないし管理が面倒で、 実環境では Apache や Nginx などのWebサーバで動かすことが多いです(Unix/Linux環境の場合) 今回はPhusion Passengerについて RVMと組み合わせて導入する方法をまとめます。 前提 RVMは rails…

Ruby - RVM の Multi-User mode について

RVM (Ruby Version Manager) はRubyのバージョン切り替えを簡単に行う便利なソフトウエアです。 https://rvm.io/ 通常のインストール (Single-User instrations) インストールも簡単。通常はユーザ毎にインストールするのが普通です。 \curl -L https://get.…

Rails - Tire と 全文検索エンジン Elasticsearch (1)

Elasticsearch は、Apache Lucene ベースの検索エンジンです。 fourcesquare や github 内部で使われています。 Tire という Rails プラグインのクライアントが出ています。 今回は、はじめに elasticsearch に調べて動かしてみます。 Apache Lucene(ルシー…

Rails - sunspot で全文検索をする(2)

Rails - sunspot で全文検索をする(1) - そういうことだったんですね の続きです。 each_hit_with_result を使う ブロック引数として hit, result の2つ渡されます。 result は検索対象モデルのオブジェクトが返るため属性にアクセスできます。 @search.each…

Rails - sunspot で全文検索をする(1)

rails に sunspot という全文検索のプラグインがあります。 solrという検索エンジンを使っており、モデルに数行コードを追加するだけで、インデックスを動的に作成されます(再構築も可) https://github.com/sunspot/sunspot

Rails - pagination プラグインを使う

最近は kaminari の方がかっちょよい、みたい。 使い方の流れ Gemfile gem 'kaminari' コマンド実行 $ bundle コントローラでfindやallしている部分を書き換え。表示件数はデフォルトで25件。 @users = User.page params[:page]

Rails - 入れ子構造のモデルを更新する(2)

accepts_nested_attributes_for の続きです。 子要素となるテーブルは新規追加?or更新? :id で挙動がかわります。 子要素の :id パラメータを指定すると更新(UPDATE)、指定しない場合は挿入(INSERT)となります。 例)Blog - Author のようなモデルがあった…

iOS - Xcode

ストーリーボード上で画面を作成する ストーリーボードのシーンはViewController、シーン間の遷移をセグエという シーンをクリックするとビューがハイライト(青枠)する 右上のViewボタンの一番右を選択しユーティリティ領域を表示する ユーティリティ領域…

Rails - 入れ子構造のモデルを更新する

入れ子構造のモデルを更新するにはaccepts_nested_attributes_forを使用します 。 入れ子構造のモデルは、ショッピングサイトの注文画面のような注文モデルと注文項目モデルなど、複数のモデルを同時に更新したい場合などです。

Rails - RSpec を使う

今回はActiveSupport::TestCaseではなく RSpecを使う方法です。 Bundler に設定 お約束ですね。 $ vi Gemfile group :test do gem 'rspec-rails' end $ bundle

Rails - Fixtures を使わずにテストする

So-net ブログから移行しました。 自分が学んだことをカテゴリを問わず覚え書きする、恥曝し系ブログ。 今回は、 FactoryGirl を使うメモ書きです。 Ruby 2.0.0 / Rails 4.0.0

Rails4 (4) Rspec + Capybara で、エラーが発生する場合の修正方法

Ruby on Rails チュートリアル第3章でRspec + Capybara を使ってテストする部分がありますが、次のエラーが発生する場合があります。 $ bundle exec rspec spec/requests/static_pages_spec.rb 1) StaticPages Home page should have the content 'Sample A…

速読法(3)~ SQ3Rとマインドマップ

速読法の番外編です。意識的に学ぶにはどうすればよいか、という観点から。 ■SQ3R 読書時の意識のフレーム。5つから構成されています。 □Survey(調査) 目次やタイトルなどを流し読みしますこの本が何を書いてあるのか、自分にとって意味あることなのか判断…

ロジカルシンキング(1)

よく使われるフレームワークについて調べてみました。ブレインストーミングやマインドマップを記述した後の切り口の参考として使います。 ■5W1Hその場の状況をもれや重複のないよう文章化するときに使われる。報告書、状況把握など。Why(なぜ?)What(何を?)…

JSP/Servlet (2) Webアプリケーションのデプロイ

JSP/Servlet の Webアプリケーションをデプロイする。前回作成した環境を反映してみる。■ ant を使う準備以下の環境変数を設定する。ANT_HOME=/ant/to/pathJAVA_HOME=/usr/java/latestPATH=$ANT_HOME/bin:$PATH■ tomcat manager 用のユーザを作成http://loca…

JSP/Servlet (1) 開発環境の準備

今日は CentOS 5.9 に Jsp/Servlet の開発環境を準備します。デフォルトで入っているのより最新版のを使ってみよう!java の開発環境を設定■JDKのインストールOracle より最新版 jdk7 を取得する □環境変数JAVA_HOMEを設定 JAVA_HOME=/usr/java/latest■Apach…

Rails4 (3)

前回はWindows上でセットアップしたが、なかなかやっかいなのでCentOS5.9上で実行。 最新OSでやらなかったのを後で悔いることに。。。 OSのインストールまでは割愛(VMWare上にセットアップ)。 CentOS 5.9 に Rails 環境を設定する ○ruby2.0をインストール…