The domain name rouge.io is being parked on Park.io. Contact the domain owner to make an offer right now...
プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基本がはっきり分かります。 ※本書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ
February 07, 201322:10 カテゴリ独り言プログラム あの〜♪ すば〜らしい♪ Ruby を♪ も〜お、い〜ち、ど〜 最近何かにつけて思う事がある もう無いだろうな、自分が本気で Ruby のプログラムを書く事は。 念のため断っておくと、Ruby を馬鹿にしているわけではない。 実用的な言語の中で、Ruby は最高に Cool な奴だと思っている。 Rails は多くのプログラマの人生を変えた事だろう。 多くの言語で Rails クローン的な WAF が生まれたが、総合力(俺調べ)で Rails より優れた物を見た事が無い。 Rubist は思いっきり怠惰だ。 Chef や Rake はルーチンワークを嫌う Rubist だから作ったツールだろう。 DRY (Don't Repeat Yourself) な Ruby コードはメタプログラミングの最高の教科書でもある。 R
この違いはとても大きいです。Ruby 1.9 では日本語の1文字を1文字として扱いますが、Ruby 1.8 ではそうはいきません。 Ruby 1.8 では同じ日本語でも、それを構成しているバイトコードの中身まで見えてしまうのです。 同じ日本語でもエンコードの方法によっては違うバイトコードの並びになります。 その中には今回区切り文字や囲み文字として採用したカンマ(,)やダブルクオーテーション(")に該当してしまうものが存在するかもしれません。 かといって、Ruby 1.8 でエンコードを意識して文字単位で処理をするのはとても難しいような気がします。 少なくとも、僕が持っている文字コードの知識にそんなものはありません。処理系がやってくれているからできることであり、自分で実装するとなるとどれほどの労力がかかることやら…という感じです。 しかし、この問題を解決するのが UTF-8 というエンコード
一発でテキストファイルを読む方法 † 1.9.2でFile.read(IO.read)を使う場合、 s = File.read("hoge.txt", :encoding => Encoding::UTF_8) ruby 1.9では読み込むテキストの文字コード(:encoding)をなるべく明示することに注意。文字コードが異なる場合は、encodeでそのまま変換するのがいいと思います。 ※ File.readの:encodingを指定しないと、encodeで文字化けすることになるかと思います s = File.read("hoge.txt", :encoding => Encoding::EUC_JP).encode(Encoding::UTF_8) ファイルパスの扱い(相対パスの展開など)を考えると、Pathname#readを使うのも便利です。 require 'pathname' s
タイトル通り。 memcached つかうほどのものをいじっていないのだけれども面白そうなのでメモ。 以下、java はhttp://www.whalin.com/memcached/ ruby は memcached-client を前提とする*1。 普通につかう。 普通にサンプル通り書くと、java なら String[] servers = { "localhost:11211", }; SockIOPool pool = SockIOPool.getInstance(); pool.setServers(servers); pool.initialize(); MemCachedClient mcc = new MemCachedClient(); mcc.set("one", 1); mcc.set("two", 2); mcc.get("one"); こんな感じ*2。 ruby
This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更
Ruby対Scala Javaの欠陥、Rubyの欠陥を埋めるものとしてScalaが選択されつつある。 ここでは特に、なぜRubyではだめなのか、他の方の言を紹介する。 なぜ Lift に違和感を覚えるか 一刻も早くJava から Ruby へ移行したいと思っていた。しかし、実際に Ruby で開発を行ってみると、そこには譲れないトレードオフがあった。Eclipse 上の Java コードは、死んだ文字列ではなく、呼びかければ応えてくれるオブジェクトだったが、Aptana RadRails 上の Ruby コードは、それとは程遠い代物だった。補完はまともに働かず、依存先へのナビゲーションや依存元の検索はインテリジェントでなく、リファクタリング支援は貧弱。これは、特定ツールの未成熟の問題というよりも、動的型付け言語のアイデンティティに関わる問題だろう。そして、Rails アプリケーションの実行
仕事でもちょこちょこRubyを使うようになり、だいぶ慣れてきた。ヘタすると長年使ってきたperlよりも書きやすく感じるぐらいである。使う機会も増えてきたことだし、そろそろRubyプログラミング用のエディタが欲しくなってきた。 さて、何がよいか。有名どころではRDTであるが、ちょっとしたスクリプトを書くためにいちいちEclipseのようなクソ重たいIDEを立ち上げるのは億劫だ。Eclipseは「よし!これからプログラム書くぜ!バリバリと打ち込むぜ!!」と気合いを入れて立ち上げるものである。 そこで、シンタックスハイライティングと、あとちょっとしたヘルプ機能があればいいや、という要求で落ち着くわけだが、そうなると、選択肢は広がる。xyzzyにはruby-modeなるものもあるらしいし、秀丸エディタとsakuraエディタにもrubyキーワードを色づけするための設定ファイルがある。そして、UNIX
nao研究室: [Emacs]Rubyでコード補完 これで、emacsを起動したらM-rでriロードしてから、M-cでコード補完できます。 たしかにこれでも補完ができるが、より正確な補完がしたければ M-x rct-complete-symbol をどうぞ。(require 'anything-rcodetools) している時点でanything.elを使った補完ができるようになっている。 ri-ruby-complete-symbolはRIで登録されているメソッド全体から補完するので、RIに登... http://d.hatena.ne.jp/rubikitch/20080813/1218573375 より正確な補完がしたければ M-x rct-complete-symbol をどうぞ。ri-ruby-complete-symbolはRIで登録されているメソッド全体から補完するので、R
『るびま』は、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 直
■ [misc] 帰宅しました せっかくsvkのセットアップができたのに、結局ノートPCを触る暇がなかったという…(笑)。 そのかわり、移動時間を利用して買ったままになっていた「みんなのPython」を読みきりました。 ■ [ruby] 例外表示を自分でやってみる Rubyスクリプトの実行中に例外が発生すると、Rubyインタプリタはエラーの内容を表示して終了します。 例えば ./tobi/tobi.rb:236:in `initialize': undefined method `<<' for nil:NilClass (NoMethodError) from ./tobi/tobi.rb:235:in `initialize' from ./tobi/tobi.rb:419:in `initialize' from ./main.rb:11 from tobi_debug.rb:5 こ
その中でも直近の大規模なオープンソースプロダクトである Plagger はまさに Perl Hacker の教科書とも言えるべき存在だ。 http://d.hatena.ne.jp/tokuhirom/20080719/1216423454 ということで、Perl では「Plagger」が お手本となるソースとしてお勧めされているようなのだけど、 Ruby には Plagger のようなお手本となるソースはないのだろうか? 先日行われた Yugui さんと角谷さんのトークセッションでは BitClustなどの青木さんが最近書かれたライブラリのソースがお勧めされていた模様。 青木さんの書かれたライブラリはLoveRubyNetに一覧がある。 でもこのトークセッションでは「Perl の Plagger にあたるものが Ruby にはない」とも言われていたそう。 そういえば前に id:rubik
「初めてのRuby」は、他のプログラミング言語の経験があるプログラマ向けのRuby入門書である。プログラミングの入門書ではない。この明確なターゲット読者の設定がこの本の特長であり成功の要因である。 すくなくともわたしにとって、他言語(C言語)でのプログラミング経験があるものにとって、これほどまでにコンパクトかつ明解にRubyの真髄を語っている本書ほど、ありがたいものはない。 わたしはかねてからプログラミング言語の文法書は50ページ以内であるべきだと思っている。プログラミング言語の構文はシンプルであればあるほどいい。道具はシンプルな方が応用が効く。 それはともかく、プログラミング経験者にとって、第二、第三のプログラミング言語を学習するということは、計算機の入門、例えば計算機はどう動くかとか、メインメモリ、CPU、外部記憶の機能はどうだという事を学んだり、プログラミングの入門、アルゴリズムとか
RubyでMySQLを使用するには、2つのライブラリがあります。 Ruby/MySQL 長所 Pure Rubyなので、コピーするだけで使用できます。 短所 MySQL/Rubyよりも低速です。 MySQL/Rubyで使用できる機能の一部が使用できません。 MySQL/Ruby 長所 MySQL/Rubyよりも高速です。 短所 インストールにCコンパイラとスーパーユーザの権限が必要です。 インターフェースに互換性があります。 Ruby/MySQLのインストール ダウンロードしたファイルを展開し、install.rb を実行します。 # ruby install.rb mysql.rbを手動でコピーしてインストールすることもできます。 使用方法 mysq.rbをロードする require 'mysql' データベースに接続する #db = Mysql::new("host", "user",
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く