タグ

rubyに関するKatagiriSoのブックマーク (10)

  • 「Rubyによるデザインパターン」の要点と使いどころ(続き) - Qiita

    Rubyによるデザインパターン」の要点と使いどころの続きです。 『Rubyによるデザインパターン』の「第Ⅲ部 Rubyのためのパターン」についてまとめます。第Ⅲ部は、どの章もそれだけでが1冊書けるような濃い内容なので、書を足がかりに別のも合わせて読んだほうが良さそうです。 DSL: ドメイン特化言語 概要 DSL: ドメイン特化言語(Domain-Specific Language)とは、あるドメイン(領域)の言葉を用いてプログラミングができる言語。例えば、会計士が会計の事柄をそのまま表現できる言語など。 外部DSL: 会計士の言葉でプログラミングができる会計用DSLがある場合、そのDSLを解析・実行するためにパーサとインタープリタが必要になる。このように、DSLとインタープリタが別々の場合を外部DSLという。 内部DSL: DSLが何らかの言語(例えばRuby)と同じ書き方ができ

    「Rubyによるデザインパターン」の要点と使いどころ(続き) - Qiita
    KatagiriSo
    KatagiriSo 2015/04/07
    内部DLS、メタプログラミング
  • ソースコード・リーディングしよう![GemJam][ActiveSupport]

    @h5y1m141さんに誘っていただいて、 @hitomi_twさんや shiro615さんと一緒に、RubyGemsのソースコードリーディング勉強会『GemJam』を行いました。 今回は最近仕事でソースコードを読む時間が増えてきて、苦労していたのでソースコード・リーディングのモチベーションアップやコツを調べつつ、いつもRailsでお世話になっていた『ActiveSupport』 のソースコードリーディングに挑戦してみました。 (12/28 12:10) 勉強会のアウトプットを更新しました。全員アウトプットしたのはすばらしいです 🎉 プログラムのモチベーションこれは経験談からくる話ですので、これが正解ということでないッス。どちらかというと、今までエンジニアとして経験してきた中で、僕個人はこう思っていますという観点で書きました! プログラミングは継続することが一番大切プログラミング経験ゼロ

    ソースコード・リーディングしよう![GemJam][ActiveSupport]
  • RubyのStructクラスが便利 - kurobaraのブログ

    Rubyの組み込みクラスです。(Classに比べて影が薄いですが・・・) 平たく言うと、Classクラスに似ているものです。 じゃー違いは何なの?ってなります。 newしたとき、引数で指定したアクnセッサをもつクラスを生成する 第一引数の文字列がクラス名となるが、指定がない場合は無名のクラスになる これだけ。 Point = Struct.new("Point", :x, :y) item = Point.new(100,200) p item => #<struct Struct::Point x=100, y=200> p item.x => 100

  • ねえRuby、どこまでが君でどこからが内部DSLなの?

    Rubyは内部DSL(Domain Specific Language)に向いている言語と言われます。Rake, RSpec, Rack, Sinatraなどは内部DSL on Rubyの代表的なサンプルです。Rubyの構文のユルさとメタプログラミングが内部DSLを容易にするんですね。 しかし正直僕は、何が内部DSLで、何が内部DSLでないのかがわかっていません。人が何をさして「これは内部DSLである」と言っているのかがよくわかりません。 そんなわけで… 以下では、Userクラスの設計を通して内部DSLらしきものを作ってみます。このイテレーションに対して「ここからが内部DSLだよ」「これは内部DSLとは呼ばないよ」と、誰か僕に優しく教えてくれませんか? Userクラスの作成 Userクラスはユーザ情報を管理するクラスです。ファイル名はuser.rbとします。 まずはユーザの登録機能を作りま

  • Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 2.0.0)

    ! ? # % & | + - * / ^ ' . , < > = ~ $ @ _ {} [] () " : ` \ ; ! !true not 演算子。演算子式/notを参照。 3 != 5 「等しくない」比較演算子。演算子式/notを参照。 def xxx! 「!」はメソッド名の一部です。慣用的に、 同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。 /xxx/ !~ yyy 正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。 ? ?a リテラル/文字列リテラル。長さ 1 の文字列。 def xx? この場合の「?」はメソッド名の一部分です。 慣用的に、真偽値を返すタイプのメソッドを示すために使われます。 xx ? yy : zz 演算子式/条件演算子。三項演算子とも呼ばれます。if xx then yy e

    KatagiriSo
    KatagiriSo 2015/01/13
    記号
  • 実行中のプログラムの進捗度を手っ取り早く確認したい - その手の平は尻もつかめるさ

    完了するまでに結構時間がかかるプログラムを実行している時,そのプログラムの進捗度を確認したくなることがままあると思います.ほんとに動いてんのかお前,みたいな. そうした時に考えうる最も簡単な方法は,こんな感じで進捗度を標準出力に流してしまうという方法でしょう. (1..100).each do |i| # 例えばここで何らかの重い処理をする (下のsleepはその「何らかの処理」の例) sleep 0.1 # ここで進捗を表示 (プログレスバーみたいなもっとリッチな感じでも可) puts "#{i}%" end 簡単なものだとこれで良いでしょうが,途中で端末のセッションが切れると「アッアッ」という感じになったり,そもそもプログラムの実行に際して端末が割り当てられいるとも限らないし,というか時間のかかるプログラムがその処理中ずっと端末を占領しているのはつらいので別の方法が欲しかったりします.

    実行中のプログラムの進捗度を手っ取り早く確認したい - その手の平は尻もつかめるさ
  • Geekなぺーじ : Rubyネットワークプログラミング

    ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換

  • ruby regex tester

    options: i case insensitive; m make dot match newlines; x ignore whitespace in regex; o perform #{...} substitutions only once

    KatagiriSo
    KatagiriSo 2013/11/26
    ruby正規表現チェックサービス
  • GitHub - watir/watir: Watir Powered By Selenium

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - watir/watir: Watir Powered By Selenium
  • mapee.jp

    This domain may be for sale!

  • 1