タグ

rubyに関するhokacchaのブックマーク (117)

  • 軽量Rubyへの取り組み | IIJの技術 | インターネットイニシアティブ(IIJ)

    「軽量Ruby」と呼ばれる組み込み向けプログラミング言語の開発プロジェクトが進行する中、IIJはその取り組みとして、IIJ独自開発のサービスアダプタ「SEIL」にmruby(軽量Rubyの実装)を載せた動作検証を行いました。稿では、軽量Rubyの概要と、SEILに軽量Rubyを組み込むことで解決されるような計画についてご紹介します。 軽量Rubyとは 軽量Rubyは、家電製品などの開発生産性を向上させることを目指して設計されたRuby言語です。現在、軽量Rubyは産学共同プロジェクトとして開発が進められ、経済産業省の「地域イノベーション創出研究開発事業」に採択されています。主な開発メンバーは、福岡CSK、ネットワーク応用通信研究所(NaCl)及び九州工業大学で、IIJは評価協力企業として2011年秋頃より参加しています。 近年は、家電などの開発生産性の向上が情報産業全体としての課題となっ

    軽量Rubyへの取り組み | IIJの技術 | インターネットイニシアティブ(IIJ)
  • http://blog.kiftwi.net/2012/03/20/summary-of-pry-plugins/

  • 正規表現で最短マッチを知っとくとちょっと便利かも - (゚∀゚)o彡 sasata299's blog

    2012年05月01日21:34 Ruby 正規表現で最短マッチを知っとくとちょっと便利かも 正規表現ってあるじゃないですか。そうです。アレです。 とっても便利で、いろんな場面で役立つと思うんですが、ときどき最短マッチを使いたくなって「最短マッチってどう書くんだっけなぁ?」ってなってググることがあります(よね!) 通常は最長マッチになる 通常、正規表現内で * とか + とか付けると、直前の表現の0回/1回以上の繰り返しを表しますが、この書き方だとできるだけ長い要素にマッチしようとします。大事なことなのでもう一度言います。できるだけ長い要素にマッチしようとするんです。 大抵はそれで構わないんですが、ときどきそれでは困るケースがあります。例えばこんなケースを考えてみましょう(あんまり良い例が思いつかない)。 ・"名前(ニックネーム)"という形式 ・名前と(ニックネーム)の間には半角or全角ス

  • 第3弾!知って得する12のRubyのトリビアな記法

    (追記:2013-08-16) 記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 なぜかトリビア人気が再燃しているよ。 知って得する21のRubyのトリビアな記法 第2弾!知って得する12のRubyのトリビアな記法 これでみんながトリビア好きだということが分かったので、何とか絞り出して第3弾を書いたよ。ここでは第1弾、第2弾で使ったテクニックも使ってるから、知らないテクニックがあったら先に見てもらえるいいかもね。 1. Enumerable#each_with_object Enumerable#mapではブロックの代わりに&付きのシンボルを渡す技が知られているよ。 langs = ["ruby", "python", "lisp", "haskell"] langs.map(&:capitalize) # => ["Ruby"

  • railsコマンドの実行を超早くするrrails - walf443's blog

    最近はお仕事で久々にがっつりrubyを書いてます。rails難しいです。 それはさておき、railsコマンドの実行が遅いのがつらいので、色々探していたら、jugyoさんのrails-shを見つけました。 rails-shはscalaのsbtとかみたいに、railsを読みこみ済みの環境を起動しっぱなしにしておき、既にライブラリ読みこみ状態からコンソールからコマンドを実行することで、ライブラリ読みこみにかかる時間を短縮する、というツールで、非常に実行を高速化することができます。 しばらく使っていたのですが、 raills-shのコンソールへ移動して打つのを忘れる zshじゃない RAILS_ENVがtestなコマンドも欲しいと2つのscreenのwindowを消費する rake -Tが動かない などがあったので、TCPでコマンドを送り、それ経由でrails/rakeコマンドを実行させるrrai

    railsコマンドの実行を超早くするrrails - walf443's blog
  • コーディング規約をまとめてみた (Ruby編) - bojovs::blog

    色々なところで見かけるコーディング規約を見て意識はしているのですが、 その時の気分で書き方を変えてしまうことが多々あったので、自戒を込めてコーディング規約をまとめてみました。 「なぜこの規約が存在するか」を明確にするために、できる限り理由も併記しています。 ただかなり主観的な部分があるので、あまり意味がないかもしれません…。 「この記事のこの規約は気に入らない。」と思うことがきっとあると思います。 その時はコメント欄などに理由も合わせて書いてくれると嬉しいです。 この記事ではRubyのコーディング規約をまとめています。 近いうちにRailsとCoffeeScriptのコーディング規約もまとめるつもりです。 Rubyのコーディング規約は以下のページを参考にまとめました。 https://github.com/styleguide/ruby https://github.com/bbatsov

  • bundle のなかで bundle する - @kyanny's blog

    Bundler.with_clean_env と bundle install --gemfile について追記しました bundle exec した環境下でさらに bundle exec したいことがある。 bundle exec rake resque:work で起動した Resque ワーカーのなかで system("bundle exec rake spec") のような外部コマンドを呼び出すとか。ありますよね。ぼくは最近ありました。そしてハマった (そしてググりづらかった) のでこれ以上犠牲者を増やさないためにブログに書く。 bundler は実行時にいくつかの環境変数を定義するが、この場合問題になるのは BUNDLE_GEMFILE と GEM_HOME だ。 BUNDLE_GEMFILE は bundler が参照する Gemfile のパスで、 GEM_HOME は ge

    bundle のなかで bundle する - @kyanny's blog
  • 第2弾!知って得する12のRubyのトリビアな記法

    (追記:2013-08-16) 記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 半年くらい前にちょっとトリビアだけど、知っていると意外と便利なRubyの記法を21個紹介したよ。 知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby 今回はその第2弾だよ! ちょっと数が少ないけど、知らないものがあったらへーとかほーとか、得したとか言ってもらえるとうれしいよ。 1.Enumerator#with_index 任意のリストを標準出力するときに連番を同時に振るとしたら、普通はEnumerable#each_with_indexを使うよね。 names = Module.constants.take(10) names.each_with_index {

  • yard graphでクラス図を生成しちゃえ☆(ゝω・)vキャピ - すがブロ

    yardは単なるドキュメンテーションライブラリではない!! みなさん Yard はご存知ですか。ご存知ですよね。 RDocとか、Rubyでソースコードに書くドキュメンテーションツールでYARD(http://yardoc.org/)ってありますよね。 プロジェクトのルートでyard docってやるとrdocで実行するのと同じようにドキュメントが生成されるのですが、それだけで満足しては行けないんだよ。 yard helpって打つとサブコマンドがいろいろ出てくるんだよ。 % yard help Usage: yard <command> [options] Commands: config Views or edits current global configuration diff Returns the object diff of two gems or .yardoc files d

    yard graphでクラス図を生成しちゃえ☆(ゝω・)vキャピ - すがブロ
  • Просто бесплатно порно - Только качественное порево и ничего кроме

    Русский анал во всей его красе можно найти на данном ресурсе! Переходите по ссылке и наслаждайтесь качественным видео без рекламы.

  • JSON on HTTPやWeb APIを各言語でどうやって実装するのか

    HTTPでアクセスして、JSONを返すようなWebサーバを書きたいとする。 どんな言語を選ぶか。どんなミドルウェアを選ぶか。どんなライブラリを選ぶか。 たとえば、TIOBE Softwareが公表している「Programming Community Index(PCI)」という指標がある。人気のあるプログラミング言語の数値化。これを見ていて思ったのは、「多すぎだよね、プログラミング言語」ということ。これらのうち、どの言語を勉強し、どの言語をプロジェクトに採用すべきなのか。 その感触を得るために、 「同じ仕様のREST serviceを複数言語で実装したらいいんじゃね?」 と思った。いくつかの言語で実装を起こしてみている。 前提条件 大規模な開発を想定する。ユーザの規模が大規模。トランザクション数が大規模。そして、開発者が大規模。 実用的かつモダンな開発を想定する。プロジェクト毎のバージョン

    JSON on HTTPやWeb APIを各言語でどうやって実装するのか
  • 例外戦略 - すがブロ

    まぁ正しく例外を使いましょうという話ですね。当たり前でしょと思う人は読まなくて良いです!! 前口上 例外に限らず、自分がプログラミングをするにあたって心掛けていることの一つに、誠実なプログラミングというのがある。最近、思いついたので勝手に名前をつけてみたんだけど。 何かっつーと、何が起こっているか、であるとか、これから使うデータはこれです、と言ったものをきちんと伝える・伝わるようにしておく、という心構えです*1。 その中でもとにかく例外はきちんと扱って欲しい事の一つなので、ちょっと自分はこーしているというのを世に残しておくのも良いかなぁと思った次第です。 例外はたくさんの重要なデータを持っている 概ねここらへんの情報は例外機構を持ってる言語なら提供してくれると思います。 例外クラス*2 例外発生時のメッセージ スタックトレース(またはバックトレース) Ruby だったら class Exc

    例外戦略 - すがブロ
  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

  • JavaScriptでRubyのmethod_missingを実装する - hagino3000's blog

    追記: Firefoxの実装で既に有る__noSuchMethod__に名前は合せた方が良い、というコメントを頂いたので名前を変えました。 何の役に立つか不明だけど書いてみた*1。Proxyでプロパティアクセスをフックして、存在しない場合は用意しておいた関数プロキシを返す。 __noSuchMethod__ for ChromeGist https://gist.github.com/2290705 上記の処理が書いてあるのはこの部分。 function enableMethodMissing(obj) { // 関数プロキシの作成 var functionHandler = createBaseHandler({}); functionHandler.get = function(receiver, name) { // プロパティアクセスの場合は何も返さない return fun

    JavaScriptでRubyのmethod_missingを実装する - hagino3000's blog
  • MongoDB+RubyでJOIN的な事をすると、どんな場合にどんな問題が起きるのか。

    05 November 2011 お断り 以下の記事は、公式のRubyドライバを使うとそうなる、という話です。 Rubyにおいても、もっと上手いやり方があるかもしれません。 独断的に書いていますが、MongoDBを使い始めてまだ日が浅いので、全般的に知識が間違っている可能性があります。その場合はごめんなさい。そしてそっと教えて下さい。 ヤバイ。レスポンス性能ヤバイ。 先日、頑張ってこういうサイトの試験的公開にこぎつけたんだけれども、レスポンス性能が0.5res/secを切っていた。 ヤバイ。 何がヤバイのか そこでまず、MongoDBのクエリがまずいんじゃないかと疑った。結果的に最もヤバイのはRailsのView構築コストだったんだけど、クエリもそれなりに問題点があった。今日はそのクエリの部分の話。そして最初に結論を簡単に言うと、 MongoDBは、RDBMSにおけるJOIN的なこと=「参

  • Import non-reply Tweets into DayOne, incrementally. moved to https://github.com/miyagawa/dayone_import_tweets

    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

    Import non-reply Tweets into DayOne, incrementally. moved to https://github.com/miyagawa/dayone_import_tweets
  • 非 Rubyist に送る、失敗しない ruby 実行環境構築方法 - tomykaira makes love with codes

    OS や、動かしたいアプリケーションに依りますが、ruby の実行環境の構築は大変です。 というのも、ruby 体、rubygems、各 gem などのバージョン指定が交錯していて、ruby の ecosystem に慣れていない人にとっては、なにがなんだかわからないからです。 こっちのツールを動かそうとすると、こっちが動かなくなる、みたいなことになります。rubyists は、バージョンの問題を吸収するためのツールを使ってこの問題に対処していますが、ruby に詳しくなくて、ただ ruby 製のツール(たとえば Redmine)を使おうとしている人は分からないでしょう。 そういう人が ruby に挫折しないように、事実無根な中傷をしないように、最近流行のツールで、バージョンミスマッチの問題をおこさない方法を説明します。この説明が対象としているのは UNIX,LINUX 系の環境だ

  • http://blog.monoweb.info/article/2012021823.html

  • Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめも

    と思いません? def foo(x) end foo(1, 2) #=> wrong number of arguments (2 for 1) (ArgumentError) 1.step(10, 0) { } #=> step can't be 0 (ArgumentError) a = []; a << a a.flatten #=> tried to flatten recursive array (ArgumentError) 確かにどれも Argument に関する Error ではあるんだけど *1 、全部同じ例外クラスというのは粗すぎですよね。メッセージ読めば意味はわかるからデバッグには困りませんが、ArgumentError の中の特定の例外だけ拾いたいときに困ります。 具体的には、テストです *2 。例えば foo(1, 2) で wrong number of arg

    Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめも
  • おまいらもMacRubyでMacアプリ作ろう - すがブロ

    このエントリはRuby AdventCalender 2011の企画です Ruby Advent Calendar の25日目の記事です。24日目は@kwappaさんのHappy Xmas, Rubyists! | Kwappa研究開発室でした。 ちなみに、12/25と言うと、バカボンのパパや銭形のとっつぁんの誕生日として知られていますね*1。 26日はid:tackunさんのSinatraを使って、RESTFulなWeb-APIを作ってみたい - tackun noteです。 補足 2012/05/30 追記 MacRubyの情報は目次 - MacRuby DoJo (道場)に詳しく載っています。また、MacRubyとXCodeのバージョンによってはうまくプロジェクトが作成できない場合もありますが、そこについてもきちんとケアされていますので、MacRuby の環境を構築しよう - Mac

    おまいらもMacRubyでMacアプリ作ろう - すがブロ