Ruby
Amon2のbasic flavorな自動出力を眺めていたら、"script/myapp-server"*1にこんなソースが有りました。 my $app = builder { enable 'Plack::Middleware::Static', path => qr{^(?:/static/)}, root => File::Spec->catdir(dirname(__FILE__), '..'); enable…
あー、毎回watchコマンドとかbuildコマンドとかを打ち込むのはやだなー、ビルドスクリプト書きたいなー、Makefileで十分かCakefileにするかRakefileにするか、よっしゃRakefileにしよう、あれーどういうふうに書けばいいんだっけかなーと、プロジェクトを作…
最新のcocoapods(0.29.0)はRuby2.xじゃないとダメっぽいとのことで、ついでにRubyの環境を整理したのでメモしておきます*1。 rbenv導入 インストールは既にしてあったのですが放置していたので使うことにしました。brewでインストールしていたrubyは一掃。 $…
何番煎じ変わりませんが、WSGI/Rack/PSGIに関して、何でこれらが必要とされるようになったのか、歴史的経緯を踏まえて色々調べたので、記録しておきます。ただし、特に歴史的な話に関しては、ネットで自分が納得できるまで探りはしましたが、正確性を欠くか…
ちょっとした小ネタです。Cでswapをするには、マクロやポインタを使えば出来ます。 // int値の交換 #include <stdio.h> void swap(int* a, int* b) { int t = *a; *a = *b; *b = t; } int main(void) { int a = 0, b = 1; printf("%d, %d\n", a, b); swap(&a, &b); pr</stdio.h>…
自鯖が入用だったので、いい機会だったのでVPSを契約することにしました。で、Rails環境を整える必要があったので、色々挑戦してみた記録です。契約から2日がかりで、正直結構大変でした。メモは一切とってなかったので思い出しながら書いています。 サーバ…
決勝が終わったようなので、せっかく書いたので置いておきます。いやほんと色々Rubyの勉強になりました。ちなみに、ランカーの人がコード公開しています。https://github.com/shohei909/CODE_VS_2.0上位の人はみんなC, C++かと思ってましたが、C#でちょっと…
Railsでは、app/assets/以下に各種JavaScriptやCSSなどを配置しますが、巷のJavaScriptライブラリには、JavaScriptとCSSと画像がセットになっているケースがしばしばあります。この時、特に厄介なのがCSSと画像です。CSS内で背景画像が相対URLで指定されてい…
「RailsによるアジャイルWebアプリケーション開発 第4版のp.120、David曰く」で解説されてます。 *_urlは絶対パス*1で、redirect_toで用いる*2。 *_pathはルート相対パス*3で、redirect_to以外ではこれで問題ない。特にlink_toなんかでは、無駄な出力が省け…
気がついたら、年が明けてました。あけましておめでとうございます。早速本題に入ります。JavaScriptはプライベートなど無くフリーダムなのでthis[key] = valueの形でプロパティを書き換えられますが、Rubyではself[key] = valueとはできません。はてと思い…
これはRubyに限った話では無いのですが、何回もこれが原因のエラーを出しているので自戒の意味を込めてメモ。 初期化するときはブロックを使う これ鉄則。 irb(main):003:0> aa = Array.new 2, Array.new(2) => [[nil, nil], [nil, nil]] irb(main):004:0> a…
基本 Rubyにはモジュールなどのプロパティにアクセスするのに.と..の2つの演算子があります。例えば、 module Hoge def self.huga end end なら、Hoge::hugaに対して Hoge.huga Hoge::huga() の2通りの書き方が出来ます。 .と::の違い マニュアルにちゃんと…
def hoge(&block) proc &block end のようにすると、タイトルのwarningが出ます。Rubyでは&の付く変数は def hoge(&block) proc(&block) end のように、ちゃんと括弧で囲むのが推奨されているようです。
かなりハマったのでメモです。 範囲演算子 Rubyには..と...の2種類の範囲演算子があります。実態はRangeクラスで、Range#eachメソッドでfor文のように使うイディオムがあります。 irb(main):005:0> (0..2).each { |i| p i } 0 1 2 => 0..2 irb(main):006:0> …
興味と必要にかられてRubyとRoRを勉強し始めたので、そのメモです。まず「たのしいRuby」を買いました。そして3時間ぐらいでざっと読み終え*1、早速Railsを触ってみることにしました。とりあえず、鉄板の「RailsによるアジャイルWebアプリケーション開発(第…