タグ

Rubyに関するczblueのブックマーク (101)

  • On Lispとか読んでRubyとLispの違いをちょっと考えた - yarbの日記

    全400ページのうち3/4がマクロの説明に当てられている、Paul Grahamの「On Lisp」を8割ほど読んだ。冒頭のCommon Lisp入門で紹介されている標準関数やユーティリティ関数のネーミングのひどさ(やたらと数字でサフィックス付けるとか、rplacaとかってどうよ?)や、破壊的操作をする関数の挙動の不統一感に、「これならRubyのほうがいいんじゃね?」とか思ったし、with系マクロも、「なんだRubyのブロックでいいじゃん」とか思ったりもしたけど、確かに読み進めると全然違う世界が垣間見えてきた気がする。 CLOSの説明の導入編に当たるところで、Paul Grahamは素のLispの上にオブジェクトシステムを作ってみせる。これが想像以上に簡単な話で、そうか、なるほど、ハッシュテーブルとクロージャがあれば、大抵のことはできるのだと、ちょっと驚いた。継承のモデルにしたって、メソッ

    On Lispとか読んでRubyとLispの違いをちょっと考えた - yarbの日記
  • pryをMySQLのクライアントのようにテーブル表示する | Act as Professional

    pryはいざというとき、便利だなと思う@HIROCASTERでございませう。 hirb-unicodeを使って、pry操作中のActiveRecordの結果をSQLの結果っぽく表示します。 通常は以下の様な表示になります。 ちょっと、よく見ないとわかりづらいですよね。 それが hirb-unicode によって、 この様にテーブル表示してくれます。件数が多くあると、通常通りの表示に比べて、とても見やすくなります。 また、文字が多くターミナルの横幅が足らなければ、自動的に この様に表示します。MySQLを利用している人にはおなじみの表示です。 導入方法 pryやpry-raisを導入していることを前提とします。 Gemfileに gem 'hirb-unicode' と、記述して、 $ bundle install などをしてgemをインストールします。 次に .pryrc ファイルを作成し

    pryをMySQLのクライアントのようにテーブル表示する | Act as Professional
    czblue
    czblue 2013/02/28
  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

    czblue
    czblue 2013/02/25
  • 継承, mix-in, include, extend について覚え書き - かせいさんとこ

    継承 rubyでは単一継承のみ 多重継承は、mix-in(後述)という概念で対応している class SuperClass def super_say p "super_hello" end end class SubClass < SuperClass def sub_say p "sub_hello" end def super_say p "sub_super_hello" # 親クラスのメソッド呼び出し super end end subClass = SubClass.new subClass.sub_say # sub_hello subClass.super_say # sub_super_hello, super_hello モジュール 概念的には、クラスに近いが、インスタンスやサブクラスは作れない(後述するmix-inの為) 実は、Class は Module の サブク

    継承, mix-in, include, extend について覚え書き - かせいさんとこ
    czblue
    czblue 2012/12/05
  • 自分のための code を書こう

    元々小さなベンチャー企業でPHP仕事をしてそこそこに満足していた自分が、Rubyを知ってじわじわと病みつきになっていき永和システムマネジメントに入社、日中のRubyのお仕事では飽きたらず時間さえあれば個人的にプログラミングをしてときどきgemを作って公開するようになった簡単な経緯と、そこでやっていることをお話します。

    自分のための code を書こう
  • 絶対に笑ってはいけないRSpecの現場24時

    こんにちは、SHIMADAです。 今日は現場の泥臭いRSpec話を書きます。 新しいフィーチャーを追加するとき、specがなかなか通らない、実装が思い通りに進まない、ということがありますよね。 そんなとき、自分の書いたコードが実際にはどう動いているのか確かめる方法が欲しいです。 一番簡単で広く使われているのはデバッグプリントという手法です。 コードの中に p 変数名 と書くと、specの実行途中にその変数の中身がどうなっているか確認できます。 ここで問題になるのが、specがたくさん書いてあるとデバッグプリントが一杯出てきて肝心の調べたいケースが埋もれてしまうという点です。 ちなみに今携わっているプロジェクトのspecを見てみると、examplesの数が1,000を超えてました。 これが一般的な水準で多いのか少ないのか分かりませんが、ここまできてしまうとデバッグプリントがどかどかっと表

    czblue
    czblue 2012/05/01
  • ASCIIcasts - “Episode 252 - Metrics Metrics Metrics”

    252: Metrics Metrics Metrics  (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto メトリクスは、コードを評価して改善すべき箇所を見つける方法を提供します。metric_fuは、エピソード166[動画を見る, 読む]で紹介した、Ruby向けの優れたメトリクス計測ツールです。ただ問題は、依存関係が複雑なためセットアップが少し難しく、Rails 3で使用する場合は特にそうです。代わりに利用されたのがthe Caliper projectでした。Githubリポジトリに接続してメトリクス計測を行うことができましたが、残念ながら今は公開されていません。 そこで、やはりローカル環境で計測を実行することにして、それを簡単におこなえるMetricalとい

    czblue
    czblue 2012/04/27
  • http://blog.monoweb.info/article/2012021823.html

  • Ruby/Railsのコードを読むにはroccoとrdefsが便利:Rails Hub情報局:エンジニアライフ

    新年明けましておめでとうございます。今年こそRuby/Railsをやってみようという人もいるかと思います。ここではRubyのコードを読むのに便利なツールを2つほどご紹介したいと思います。 ドキュメント生成ツールのRD、RDoc、SDoc ソースコードに埋め込んだコメントを、そのままドキュメントとして抽出するツールがRubyにはいろいろあります。いちばん古くからあるのは、RD(Ruby Document Format)と呼ばれるもので、Markdownなどと同様に構造を記述できます。 現在、Rubyに標準添付されているのはRDocです。RubyのソースコードからHTMLCSSJavaScriptを吐き出して、ブラウザで閲覧しやすくしてれます。もう1つ、RDocに似たものにSDocがあります。Sはsearchableのことで、ブラウザ上でクラスやメソッド名をインクリメンタル検索できるのが特

    Ruby/Railsのコードを読むにはroccoとrdefsが便利:Rails Hub情報局:エンジニアライフ
  • Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア

    Pryは結構前からgithubのリポジトリを追いかけている人達には認知されていましたが、RailsCastsでも紹介されたことから、Ruby界で一気に広がりを見せています。 ちなみに発音はpra'i(ぷらい)です。英単語で「覗く」などを意味します。 今回はそんな便利なPryについて少し紹介したいと思います。 Pryはirbの代わりになるREPL Pryを一言で説明すると、irbと同様にREPL環境を提供してくれます。 では、さっそくインストールしてみましょう。

    Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア
  • はてなまとめ(仮)

    はてなまとめ(仮)は2012年10月1日に終了しました 2012年8月31日にお知らせさせていただいた通り、「はてなまとめ(仮)」を2012年10月1日に、終了させていただきました。ご愛顧ありがとうございました。 既存まとめの編集や、ポケットは機能を停止させていただきました。これまでユーザー様に作成していただいたまとめは、以下の「まとめ一覧」から閲覧できます。 はてなは、これからも既存サービスの一層の発展と、新しいサービスの成長に、全力を尽くしてまいります。今後もはてなをよろしくお願いいたします。

    czblue
    czblue 2011/12/26
  • rubiesとbundlerとpassenger使ってさくっとredmine使ってみる - As a Futurist...

    最近 redmine ブームが今更やってきていて、redmine のインストールが楽しくて仕方ない、、、わけないんですが、前は rvm で入れてたんですけど@niw さんに rvm オワコンだよねって言われて、僕も同感なので rubies をやっと使ってみました。ついでに、bundler も使って gem を管理してみて、あと passenger に standalone があることに今更気づいたのでそれも使ってみたら、かなりすっきりしたので簡単にメモ。 rubies で ree を入れる rubies はシンプルな ruby/gem 切替ツールです。 niw/rubies – GitHub blog.niw.at – rvm について一言 これを使って、Ruby Enterprise Edition(ree)を入れてみましょう。ただし、普通に installer を叩くと rails

    rubiesとbundlerとpassenger使ってさくっとredmine使ってみる - As a Futurist...
    czblue
    czblue 2011/11/23
  • irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 irbから学ぶRubyの並列処理 ~ forkからWebSocketまで : melborne.github.com - 世の中は並列化花ざかりだよ 人間はシングルタスクのままなのに プログラミングするときは マルチタスクが要求されるなんて 世知辛い世の中になったものだね でも情報革命は始まったばかりだから 愚痴ってばかりもいられないよ 自分がその波にうまく乗れないとしても うまく乗ってる人の様を 間近で見てみたいと思うんだ そんなわけで.. Rubyのfork Thread Reactor EventMachine WebSocketなどの並列化について少し学んだので 自分の理解をここにまとめておくよ REPL irbはRubyにおける対話型の実行環境だよ こ

    irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c
    czblue
    czblue 2011/09/30
  • RSpec を使い始める人が読むべき N 個のドキュメント

    こんにちは、ほりいです。Asset Pipeline に感銘を受けている今日この頃です。 今日は社内で RSpec をこれから勉強したいんだけど検索してもよくわからない!と質問を受けたので、読むべきエントリをまとめてみました。 # 現状ぐぐると RSpec.info がまず出てくるけどもう更新されてないっぽいので優しくないんですよね…… h2. これは読んでおこう! h3. スはスペックのス * “スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)”:http://jp.rubyist.net/magazine/?0021-Rspec * “スはスペックのス 【第 2 回】 RSpec on Rails (コントローラとビュー編)”:http://jp.rubyist.net/magazine/?0023-Rspec 内容は若干古いのですが、

    RSpec を使い始める人が読むべき N 個のドキュメント
    czblue
    czblue 2011/09/29
  • はてなブログ | 無料ブログを作成しよう

    トルコ水紀行 -前編 イスタンブール- みなさんこんばんは、地図子です!8月は久しぶりに毎月更新にしようと思います。今までずっと名古屋について書いてきましたが、ワープして・・・ トルコについて書きたいと思います。 2024年6月に念願のトルコに行ってきました。いつからトルコに行きたかったかわから…

    はてなブログ | 無料ブログを作成しよう
    czblue
    czblue 2011/08/21
  • Homebrew+RVMでreadline/iconvを使う - ぱろっと・すたじお

    以前書いたRVMの記事は、その後いろいろわかったことを追記していって、 結構な分量になってます 今さらRVMの使い方をまとめてみる - どっかのBlogの前置きのような 今回のもそこに追記しようと思ったのですが、 他の要因も絡むので、別記事にしてみます...φ(・ω・`) <追記@2011/07/19> コメントでいただいたように、RVM側で独自の管理をさせた方が、 Homebrewに左右されないので妥当と思われます https://rvm.beginrescueend.com/packages/readline/ https://rvm.beginrescueend.com/packages/iconv/ これをふまえてあらためて手順を書いておきます rvm pkg install readline rvm pkg install iconv rvm install 1.9.2 --wi

    Homebrew+RVMでreadline/iconvを使う - ぱろっと・すたじお
  • OS X LionのMacbookAirを買ってからRailsの開発環境整えるためにやったことメモ : 野ログはノロキュアMaxHeart

    OS X Lionのセットアップ後やったことまとめとく。 なんかまだあんまり情報なくてSnowLeopardの記事とかみながら適当に。 とりあえずrvmとPow!でRailsとかの開発環境とか整えようと思ってます。 これ書きながらやってるんでグダグダですがとりあえず進めます。 ・とりあえず初期起動まではチュートリアルに沿って行った。 ・SafariからGoogleChromeインストールしてセットアップ ・Skypeのインストール 通知系設定 ・Limechatのインストール ・システム環境設定>トラックパッド 弄る ・Dockの整理。しばらく使わなそうなの全部外した。 ・ソフトウェアアップデート ・AppStore起動してアップデート アプリケーションがLaunchPadになってる以外ここまで対して違いなかった。 Git入れようと思ってMacPorts入れようと思ったけど若干今までと手順

    OS X LionのMacbookAirを買ってからRailsの開発環境整えるためにやったことメモ : 野ログはノロキュアMaxHeart
  • PHP しか書けなかった僕が Ruby を始めたころに思ったこと10点 « blog.udzura.jp

    RubyKaigi とか色々あって、ふと、僕がプログラミングを始めたころのことを何となく思い出したので走り書きしておきます。特に PHP に関しては記憶が曖昧なところがおおいので、 PHPer モヒカン族によるツッコミを歓迎します。 配列とハッシュが違う PHP においては、配列も連想配列もすべて array() と言う関数で生成する。むしろ、配列というものがキーを数字にしているだけの連想配列と言う位置づけだと思う。 Ruby ではもちろん、主たるコレクションには Array と Hash の二種類が存在し、区別される。最初はこの区別に若干戸惑いを覚えた。 ちなみに Python だとリスト・タプル・辞書ともっと増えるわけで、Javaのコレクションクラスに至ってはさらに多いし、この辺はどの実装が正しいとか適切とかではなく慣習なのかなあ、と思ったりする。 型(クラス)がより厳格 PHP では

  • Mac OS X Lion でRuby on Railsの開発環境を構築するには - yuumi3のお仕事日記

    今日現在で、 Mac OS X Lion でRuby on Railsの開発環境を作るには とりあえず、Ruby on Rails を試してみたい方は Lionには 最新に近い Ruby 1.8.7(P249) がインストールされています。 % sudo gem install rails sqlite3でRuby on Rails, SQLite3をインストールすればRuby on Railsが使えます。 以前あったirbで日語が入力出来ない問題もないようです :-) RVM をつかって環境を構築するさいの注意 RVMでのインストール手順 は SnowLeopardと同じですが、今日現在、普通にビルドしたRuby1.8.7は [BUG] Segmentation fault が発生します。 対処は  ruby - Why can't I install Rails on Lion us

  • [tDiary][github][ci] tDiary の CI 環境を Jenkins から travis-ci に移行した - HsbtDiary(2011-07-09)

    ■ [tDiary][github][ci] tDiary の CI 環境を Jenkins から travis-ci に移行した 今まで tDiary の CI はオレが Jenkins で用意した http://ci.hsbt.org を使っていたんだけど、githubruby なソフトウェアなら http://travis-ci.org が一番 cool という噂を誰となく聞いたので移行してみた。 やったこと http://travis-ci.org に github アカウントでログインして token を取得 入手した token を githubプロジェクト設定 - Service hook にある travis の項目にコピペ、ユーザー名も入力しておく プロジェクトルートに .travis.yml を配置、ymlのオプションは https://github.com/

    [tDiary][github][ci] tDiary の CI 環境を Jenkins から travis-ci に移行した - HsbtDiary(2011-07-09)
    czblue
    czblue 2011/07/10