環境 ruby 2.5 やりたいこと Rubyでは様々な方法でコマンドを実行できるが、1番シンプルなのはバッククオートを使う方法だと思う p `date` # dateコマンドを実行 これは本当に楽なのだが、欠点が一つあって標準出力は取れるが、標準エラー出力、さらに結果のstatusが取れない。したがってそのコマンドが正常に終了したかどうかはバッククオートのやり方ではわからない そこでsystemuのライブラリ入れたりなんやかんややってたが、実は標準ライブラリで実現できた やりかた open3という標準ライブラリを使う。 require 'open3' cmd = "mkdir /tmp/hoge" stdout, stderr, status = Open3.capture3(cmd) p stdout p stderr p status これで stdoutに標準出力 stderrに標
Synchronous logging incurs a large performance penalty as it may block. Is there a standalone Ruby library that does asynchronous logging (log4r doesn't seem to)? Can I modify the standard library logger to log asynchronously? I'm looking for something like log4j's AsyncAppender - but preferably an implementation that makes use of Ruby's code blocks to shift as much work to the background thread a
Ping -> PONG, we will use this technique laterTLDR: a full code snippet at the end of the article. If you ever had a chance to work with WebSockets in Ruby close enough to handle disconnections, then you should know, that a package for working with WebSockets — ActionCable — has a peculiarity, or better to say — a defect that happens in scenarios such as Internet connection loss. The main problem
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Writing C and Sharing Memory... in Ruby! 原文公開日: 2017/12/27 著者: Piotr Szmielew サイト: Rebased.pl 日本語タイトルは内容に即したものにしました。 楽しい画像はすべて英語記事からの引用です。 はじめに 「科学の名において無茶する」、今回のエピソードではRubyでC拡張を書く方法を見てみることにします。さほど害はなさそうなので、Rubyプロセス間でメモリを共有して相互通信するところまでやってみます。もちろんプロセスの分離、forkの分離など何でもござれです。 「なぜそんなことを?どうしてどうして?」と言われそうですね。もちろん『科学のために:コノバケモノメ』。 訳注: ゲーム『Portal 2』の有名なセリフだそうです。 免責条項: 本記事では、今
まぁ あくまで ruby ないし rubygemsの勉強ということで 非常に簡単なプログラムを作ってみることにしてみました 今回は rubygems の HTTPClientを利用して HTTPでファイルをダウンロードする ミニプログラムを作ってみます 要は wgetの超超超簡易版ですね 笑) HTTPClientのインストールは コマンドプロンプトで gem install httpclient と実行するだけです 今回作ってみるツールの コマンドライン引数に必要な要素としては 第1引数:httpのアドレス 第2引数:書き出すファイル名 第3引数:バイナリモードかどうか という事になりますよね バイナリモードかどうかの必要性としては 圧縮ファイルや画像ファイルや実行ファイルのような バイナリファイルは バイナリモードで書き出さないと不具合が生じますしね ということで 実際に コーディング
translations Documentation RSpec is a great tool in the behavior-driven development (BDD) process of writing human readable specifications that direct and validate the development of your application. On the web there are many resources that give complete overview of _what_ you can do with RSpec. But there are fewer resources devoted to how to create a great RSpec test suite. Better Specs tries to
test-unit http://test-unit.github.io/ https://github.com/test-unit/test-unit Description An xUnit family unit testing framework for Ruby. Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit principles. These were originally designed by Kent Beck, creator of extreme programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results a
Enumerator::Lazy Recently, I have had to analyse a very large CSV file and look for some lines containing specific values. In this post, I will explain how the lazy enumerator let me write simpler code. Enumerator::Lazy is still relatively new to many Rubyists including myself, but in short, the lazy enumerator lets us evaluate its elements as needed. This behaviour is quite different from the reg
A collection of awesome Ruby libraries, tools, frameworks and software
Your two pieces of code do very different things. By using instance_eval you're evaluating the block in the context of your object. This means that using def will define methods on that object. It also means that calling a method without a receiver inside the block will call it on your object. When yielding self you're passing self as an argument to the block, but since your block doesn't take any
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く