one of lightning talks in RubyKaigi 2013 31st May, 2013
![The Pragmatic Glitch (#rubykaigi 2013 LT)](https://cdn-ak-scissors.b.st-hatena.com/image/square/992074e53f3e04433cb5a9dc61cee58374ded03d/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fc7308c70abf001305b483680c69f17aa%2Fslide_0.jpg%3F1544675)
#rubykaigi バイヤーズガイド ‘13 あえてアマゾンのリンクは貼らないので会場で会おう たのしいRuby 第四版これを買うべき人: 全員ひとこと: ついにRuby 2.0の時代が本格的に始まったことを宣言する決定打的一冊であり、必携。今後「情報がないから2.0は不安」などとうそぶくことはこれで不可能になった。テストから見えてくるグーグルのソフトウエア開発これを買うべき人: テストを日常的に書いている人と、テストを書く習慣がない人ひとこと: これはずばり俺が読みたいので買います。こちらからは以上です。白と黒のとびらこれを買うべき人: 「記号と再帰」がおもしろかった人ひとこと: まあなんていうんですかね、形式言語とか好きな人って結局そっちに道を踏み外しちゃうきっかけってテングワールだったりするわけじゃないですか。だからこういうふうに攻めてくるのって変化球のようでいて実はど真ん中だと思
This is Part - 2 in series of articles we are writing on Dtrace. If you haven't already - do read Part 1. Running Dtrace scripts Before we delve deeper into guts of Dtrace, one of the questions which I often get asked is, How can I profile one off programs (i.e not a application running in background) with Dtrace. There are basically couple of ways you can fire Dtrace. One of them is obviously str
はじめまして、おんがえしと申します。 今回は私が作っているソースコード検索エンジンのMilkodeにて、rroonga(とその内部で動くgroonga)がどのように使われているのかを紹介します。 Milkodeの検索画面 ソースコードを検索するということ プログラマの仕事はプログラムを書くことですが、同じくらい「検索する」ことは多いのではないでしょうか。 ある関数の名前を変えたいので使っている箇所をすべて見つけたい ライブラリの仕様が変わった。使っているコードはどこだったか? コードリーディング中。今読んでいる関数の実体はどこにあるのか? ベーマガを買ってゲームのプログラムを写経していた頃から時代は進み、WebにアクセスすればゲームやOS、Webアプリなどのソースコードを無料[1]で手に入れることができるようになりました。必要なものをソースコードから検索し、知識として取り込んでいく技術は今
str.encode(Encoding::SJIS, :invalid => :replace, :undef => :replace) と、やれば Encoding::UndefinedConversionError エラーは出ないのだけど、ハイフン等の情報が失われて"?"になる。 特定の文字を文字コード変換前に変換しておけばOK。 http://esoz.blog.fc2.com/blog-entry-59.html を参考に、Stringを汚さないように書き直しました。 def sjis_safe(str) [ ["301C", "FF5E"], # wave-dash ["2212", "FF0D"], # full-width minus ["00A2", "FFE0"], # cent as currency ["00A3", "FFE1"], # lb(pound) as c
<%= line_chart @goals.map { |goal| {name: goal.name, data: goal.feats.group_by_week(:created_at).count} } %> or <%= line_chart Feat.group(:goal_id).group_by_week(:created_at).count %> Say Goodbye To Timeouts Make your pages load super fast and stop worrying about timeouts. Give each chart its own endpoint. <%= line_chart completed_tasks_charts_path %> And in your controller, pass the data as JSON.
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。 Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません... 年 月 ◆不定期連載「『なるほどUnixプロセス』で学ぶWindows版Rubyの基礎」〜第5章 ファイルディスクリプタ? そのふざけた幻想をぶっ壊す! _ 世の中には規格Cというものがあって、ANSI C(C89)とかISO C90とかISO C99とかいうものがそれなのだけど、そこにはファイルディスクリプタなんてものは存在しない。 だからファイルディスクリプタなんてもののことは忘れてしまえ! _ ...なんて言って済めばいいのだが、Unixさんはこのファイルディスクリプタさんにべったり依存した仕組みで出来上がっている。 そしてRuby
◆不定期連載「『なるほどUnixプロセス』で学ぶWindows版Rubyの基礎」〜はじめに _ 達人出版会さんから刊行されている話題の書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』を紐解きながら、Windows版RubyがどーやってUnix版Rubyとスクリプトレベルの互換性を維持していたりいなかったりするのか、ということを解説してみようと思い立ってしまったのでありました。 ◆不定期連載「『なるほどUnixプロセス』で学ぶWindows版Rubyの基礎」〜第3章 プロセスにはIDがある、Windowsであろうとも _ 当たり前だが、Windows上でも puts Process.pid とすればpidが確認できる(ところでなんでputsなの?)。 Windowsにはpsコマンドはないがtasklistコマンドがあって、それで現在実行中のプロセスのpidが確認できるので、比
どうなんですかねえ。まあぶっちゃけ、この本にツッコミを入れることが容易な種族はいる。たとえば「プロセスがfork(2)するときにPOSIX semaphoreをsem_wait(3)してたらそのセマフォはどうなってまうの?」とかそういうの(実際書いてない)ね。けど、それって、そういうの目ざとく気がついてしまう人、はっきりいって対象読者じゃないというべきだろうなあ。LinuxとBSDのカーネルコミッターの皆さん、セプキャン講師陣の皆さん、未踏スーパークリエーターの皆さん、お疲れさまです。おまえらはお呼びじゃない。 でね。俺もどっちかというとお呼びでない側っぽいので、色々考えた。昔はCで書くしかなかったサンプルコードがRubyで書いてあるというのはよいですね。なにがよいかってCほど煩瑣じゃないから、本質的な記述(だけとは言わないまでも)の割合が大きくて、いわゆる密度が高い気がする。なのでページ
はじめに 前回はRuby/PHP/Perl、それぞれの言語ごとにフレームワークとテンプレートエンジンについて比較を行いました。これにより、現在のWebアプリケーション開発に求められる仕組みを俯瞰できたと思います。 今回はこの比較を基に、Ruby on Railsのこれまでの動向を追いながら、『どのようなフレームワークが自分にふさわしいのか』を考えていくことにします。また、最後に前回の記事で掲載しきれなかった各言語のフレームワークを紹介します。 「Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門」これまでの記事 第1回「効率的なWebアプリ開発の定石」 第2回「言語別フレームワークの比較」 フレームワークについて調査・分析を フレームワークの目的は、汎用処理を系統立てた仕組みの中に内包することで、プログラマの作業の効率化とWebアプリケーションの保守性を高めることにあります
SkullはBashの中でRuby風にオブジェクトを扱えるようにしてしまうソフトウェアです。 BashはサーバやMac OSXなどで誰しもが使っているかと思います。しかし記述がレガシーな感じで書きづらいと思ったことも多いはず。そこで使ってみたいのがBashをOOにしてくれるSkullです。 Skullを読み込みます。 strという文字型オブジェクトを定義します。そうするとlengthなんてメソッドが使えるようになります。 upcaseで大文字になったり。 methodsなんてメソッドまであります。 OSのバージョンも取れます。 System.osでmacと返ってきます。 SkullはRubyのようなオブジェクトをBashに提供してくれます。Bashがいきなりモダンな感じになって、面白いソフトウェアです。 SkullはBash製、GPL v3のオープンソース・ソフトウェアです。 MOONGI
技術部・開発基盤グループの中村です。 この度、クックパッドが開発し、オープンソースとして公開しているRuby on Rails向けプロトタイプ開発用のプラグイン「Chanko」を再設計し、Ruby 2.0.0 への移行に引き続き Chanko 2.0.0 をリリースしました。Chanko 2.0.0 では、これまでのバージョンと互換性を保ちながら、主に実行速度やコードの可読性について改善が加えられています。 http://cookpad.github.io/chanko/ Chankoとは Chankoは、素早く安全に新機能のプロトタイプを行うためのフレームワークです。クックパッドでは今現在でも、Chankoを使って多くの機能を独立して開発し、対象範囲を限定して公開することで新機能の検証サイクルを回しています。Chankoを利用して拡張した機能でエラーが起きた場合、拡張前の機能に自動的に切
まつもとゆきひろ氏が開発したプログラミング言語「Ruby」は2013年2月24日、開発を始めて20周年のタイミングで、バージョン2.0がリリースされた。Ruby2.0の実現までこぎ着けた、これまでの取り組みと、今後の期待について聞いた。 「90点」ぐらいだと思います。90点なら合格点でしょう。 何でもそうですが、80点まではすぐ行くものです。Rubyも、1996年にリリースしたバージョン1.0で80点を取れていたと思います。しかし、それを90点に上げていくのはかなり大変で、どんどん難しくなっていきます。実際、Rubyは20年掛かりました。 Ruby2.0の主要な新機能に、(ラベルで引数を指定できる)「キーワード引数」、(クラスの拡張を容易にする)「Module#prepend」、「Refinement」という3つがあります。この3つはぜひ提供したいと思っていたのですが、その意思を表明したの
Rubyいまさらな感じはありますがPerfume official global websiteで公開されているPerfumeのモーションデータをRuby/SDLで描画してみました。 動画はこんな感じでキビキビ動いております。 ソースコードは以下に置いてあります。 authorNari/perfume-dev-rubysdl2d ? GitHub 解説みたいな感じの苦労話モーションデータは.bvhという形式で公開されており、こいつのフォーマットの理解が必要不可欠であります。 これについては以下のwikiページを参考にしました。 MOCAPデータファイル - TMPSwiki よーしわかったということで、パーサを書きはじめる…前にgemを探したらすでにありました。 bvh | RubyGems.org | your community gem host なんだじゃあもう描画するだけでいいじゃ
2012-05-04 2013-03-13追記 この記事が@matzさんにツイートされたのを受けて、各処理系の最新版で再度試してみました。 lua, V8, ruby, mrubyでfib(39)の実行時間比較 2013-03-12版をご参照ください。 mruby (軽量ruby) ソース公開 | quredo-styleを見て、自分の環境でlua, luajit, V8, ruby, mrubyで試してみた。 テスト環境 Model: MacBook Air 13-inch, Mid 2011 CPU: 1.7GHz Intel Core i5 RAM: 4GB 1333MHz DDR3 OS: Mac OS X Lion 10.7.3 lua fib.lua function fib(n) if n < 2 then return n end return fib(n-2) + fib
Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く