Code Archive Skip to content Google About Google Privacy Terms
以下は Pete Lacey 氏による Idiomatic Dynamic Ruby の抄訳(というか超訳・・・)です。誤りやタイポなど、お気づきの点はご教示ください。 Ruby の動的な特性を理解するには、Ruby のオブジェクト生成を実際にトレースしていくのが近道だ。これにより、 class Test puts "1. 基底クラス内、全てのメソッドの外側。" + "object ID は #{self.object_id}" def meth puts "9. 基底クラスのインスタンスメソッド内。" + "object ID は #{self.object_id}" end class << self puts "2. 基底クラスの特異クラス内。" + "object ID は #{self.object_id}" def meth2 puts "4. 基底クラスのクラスメソッド内。"
remote_tableはExcel(XLSXにも対応)、CSV、ODS、XMLなど多様な表計算向けファイルを読み込めるRubyライブラリです。 remote_tableはリモート(またはローカル)にあるExcel、CSVファイルなどを読み込んでシステムで扱えるようにするRubyライブラリです。固定幅長に対応しているのがマニアックでお勧めです。 インストールはRubygemsで簡単インストールです。まずは読み込みます。 リモート(今回はGoogleスプレッドシートのURL)を指定して読み込んでいます。 各行のデータも取り出せます。 2,000行を越えるテーブルの読み込めます。 Excelフォーマットも読み込めます。 remote_tableが対応しているフォーマットは、XLSX、XLS、ODS、HTML、XML、CSVそして固定幅長の表形式のファイルになります。ファイルはリモート、ローカル
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 .. 何か更
GitLabはRuby/Ruby on Railsで作られたGitHubクローンです。 GitHubは有料でプライベートリポジトリが持てますが、それでもセキュリティ上の理由でリポジトリを外だしできないケースはあるかと思います。そんなときに使ってみたいのがGitLab、GitHubクローンです。 ログイン必須になります。 ログインした後の画面です。登録済のプロジェクトが一覧表示されます。 一つのプロジェクトを閲覧しています。ソースツリーが出ます。ソースツリーは右へ右へスライドして表示されます。GitHubに似ています。 ソースコードハイライターも内蔵されています。rawでファイルをダウンロードできます。 タグやブランチを切り替えることもできます。 コミット履歴一覧です。 コミット詳細ではDiffが確認できます。 コミットに対するコメントも確認できます。 チーム設定です。複数人でのコラボレーシ
Terminal Tableは配列をアスキーテキストベースの表組に展開するRubyライブラリ。 Terminal TableはRuby製のオープンソース・ソフトウェア。テキストでヘルプやRRADMEを書くことが多いのだが、その中に表を入れたいと思うことがある。そんな時には罫線を使ってテーブルを書くのだが、枠がずれたりしてなかなか思い通りに作れない。 例 やっとできたと思ったら行を追加しなければならず、その結果全体を修正する羽目になったりすることもある。そんな手間をなくし、テーブルを上手に表現できるのがTerminal Tableだ。 Terminal TableはRubyのirbなどでアスキーによるテーブルを描画するライブラリだ。最初に指定するデータがヘッダーになり、そこからは配列をどんどん追加していけば良い。フッターの前などにセパレータを追加することもできる。 幅も自動調整 各値の長さに
MailCatcher Latest version: 0.8.0 (released Tuesday, 20th July 2021) Catches mail and serves it through a dream. MailCatcher runs a super simple SMTP server which catches any message sent to it to display in a web interface. Run mailcatcher, set your favourite app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see the mail that's ar
なるべく少ないライブラリで正しい日本語のメールを送る方法について。 結論 先に結論から。 require "nkf" require "net/smtp" def sendmail(from, to, subject, body, host = "localhost", port = 25) body = <<EOT From: #{from} To: #{to.to_a.join(",\n ")} Subject: #{NKF.nkf("-WMm0", subject)} Date: #{Time::now.strftime("%a, %d %b %Y %X %z")} Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit #{NKF.nkf("-Wj
MailCatcherはシンプルなSMTPサーバ。送信メールの内容をWebサーバ上で確認ができる。 MailCatcherはRuby製のオープンソース・ソフトウェア。Webサービスを開発する中でちょっと面倒な存在なのがメールだ。外部に送信されてしまうのでエラーをキャッチするのが難しかったり、受信でキックするようなプログラムを開発するのも簡単ではない。 メール(画像の展開ができず) そんな中、メールで遊んでみようと思ったら使えそうなのがMailCatcherというソフトウェアだ。SMTPサーバを立てて、実際にメール送信ができるサーバをRubyで立てるのだ。 MailCatcherが面白いのは、受け取ったメールを専用のWebサーバで閲覧できるということだ。受け取るとほぼリアルタイムでメールの一覧が更新される。それはまるでメールアプリケーションのようだ。メールのヘッダーを見たり、内容を確認するこ
Use these options by gem install mysql2 -- [--optionA] [--optionB=argument]. --with-mysql-dir[=/path/to/mysqldir] - Specify the directory where MySQL is installed. The mysql2 gem will not use mysql_config, but will instead look at mysqldir/lib and mysqldir/include for the library and header files. This option is mutually exclusive with --with-mysql-config. --with-mysql-config[=/path/to/mysql_confi
http://www.lostway.org/~tko/cgi-bin/bakagaiku.rb?bakaid=200510131 を見て、exception起こしてbacktractで無理矢理取得、って方法を知る。アタマイイ!ということでObjectに組み込んでみた。ひょっとしたら使う機会があるかも? class Object def current_method begin raise StandardError rescue StandardError => e e.backtrace[1].scan(/`(.*)'/).to_s end end end で、下記のような挙動に。 def foo p current_method end foo #=> 'foo' 追記 id:ha-tan:20051014:1129218253 によると、callerを使えば例外を投げなくともbac
cles::blog 平常心是道 blogs: cles::blog NP_cles() « GPLv3の日本語解説書が公開に :: マリオカート練習中 » 2009/04/25 Rubyでお手軽MQ ruby sh mom 82 1へぇ 仕事でバッチの多重起動を防止するスクリプトを書いたのですが、これだと後続のバッチがキャンセルされてしまって実行されないので、ジョブをQueueに溜めて逐次実行してくれる仕組みが欲しくなったので、Rubyを使ってMQサーバを書いてみました。 RubyにはQueueクラスがあるので、これを使ってdrbからメッセージを投げ込むようにすれば簡単なMQサーバはすぐにできるのですが、これだとメッセージの永続化機能がないので、不慮の事故でマシンの電源が落ちたりするとそのままメッセージが消滅してしまいます。それだと色々と問題があるので、今回はap4rのバックエンド
システム管理者のみなさん、こんにちは。今日は Rails アプリの deploy ツールとして有名な(らしい)Capistrano についてです。紹介? いえいえ。紹介はすでに有名な人たちによってなされています。ワタシがしたいのは検討。こいつはどこにどのように使えそうか。 Capistrano: Home システム管理の話なのになんで Puppet じゃないの?と思うかもしれません。それは、以前 Puppet の OSX 対応があまりよくなかったことと、また自分の環境が PPC Mac だったため、仮想マシンを使って他の OS を動かすのも現実的でなく、面倒になってしまっていたからです。 で、巡り巡って Capistrano って実は deploy 以外にも結構使えそうじゃない?と思えましたよというお話。想定しているバージョンは Capistrano 2.5.3 です。 なお、例によって嘘
常識なのかもしれないけど、ちょっとだけはまったので、メモ。 Array#uniq は配列から重複した要素を取り除いた新しい配列を返すメソッド。 ["hoge", "fuga", "piyo", "piyo", "hoge", "fuge"].uniq #=> ["hoge", "fuga", "piyo", "fuge"] ただし、自前で定義したクラスのオブジェクトについては、そのままじゃうまく動いてくれない。 class Vector2D attr_reader :x, :y def initialize(x, y) @x, @y = x, y end def inspect "#<#{@x}, #{@y}>" end end ary = [[3, 4], [4, 3], [1, 2], [3, 4], [1, 2]].map{|x, y| Vector2D.new(x, y)} #=>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く