パーフェクトRuby読書会今回は「9–2 MethodクラスとUnboundMethodクラス」からでした。前回学んだMethodオブジェクトにはレシーバの情報も含まれていましたが、レシーバ情報を含まないUnboundMethodクラスの作成方法と、オブジェクトにbindする方法とその制限について学びました。 今回のiruby notebookはこちらです。
分かりにくいタイトルですみません。 言葉で説明するより、実際にコードを見た方がどういうことか分かりやすいと思います。 環境ですが、RubyはRuby 2.0、PythonはPython 3.2となっています。 さて、書くか 試しにRubyでこんなコードを書いてみます。 #スコープの関係でグローバル変数 $msg = "Hello, Before World!" def say(str = $msg) puts str end say #=> Hello, Before World! $msg = "Hello, After World!" say #=> Hello, After World!
サーバーサイドエンジニアの芹沢です。 以前書いた私のエントリーにて、弊社のRubyKaigi参加者がそれぞれレポートを書くよという話をしましたが、その2人目のレポートです。 tech.toreta.in 私のレポートでは、2日目に行われたセッションから、Progress of Ruby/Numo: Numerical Computing for Rubyを紹介させていただきたいと思います。 スライドはこちら speakerdeck.com Ruby/Numo Projectとは Rubyで機械学習や科学技術計算を行うためのライブラリを開発しているプロジェクトです。 一般に、機械学習界隈ではPythonで実装されたライブラリがよく使われていると言われており、実際私もnotebookやpandasをよく使うのですが、そういったライブラリが解決することをrubyでも解決することを目指しているプロ
開発部 R&D グループで研究開発をしている CRuby コミッターの村田 (mrkn) です。 2/23 に渋谷で開催された Ruby Business Users Conference 2017 *1 でキーノートスピーカーとして講演をさせていただきました。 内容は、Ruby で統計分析や機械学習ができない現状についての解説と、その状況を打破するために私が現在開発を進めている pycall.gem のデモンストレーションでした。 カンファレンス当日に使用した資料は私個人の Speaker Deck で公開していますので、そちらをご覧ください。 カンファレンスの発表後、当日カンファレンスで一緒だった YassLab の安川さんがデモ部分の動画を facebook で公開し、twitter で拡散してくださいました。 .@mrkn さんの PyCall を使ったデモがスゴい!😆 #RBU
8/27(水)にミューザ川崎音楽工房にてkawasaki.rb #015を開催しました。 togetter パーフェクトRuby読書会 “3-3-2 例外を制御する”まで終えました。 ハイライトは以下のとおり。 #kwskrb Q「SQL例外ってどういう扱いになるの?」 A「DBのバインディングしてるライブラリによる」 オブジェクト指向の方式だと、例外クラスを継承して各々が作ってるやつをthrowすることが多い ※表現を意訳してます(実際の会話忘れた)— Shinichi Nakagawa (@shinyorke) 2014, 8月 27 #kwskrb rubyにかぎらず、ファイルやDBを扱う際はrescue(ruby)やfinally(Java)的なやつで必ず閉じるようにしましょう。 その際rescueやfinallyの中で例外起こさないよう気をつけてね 言語云々より、コーディングパタ
知ってる人にとっては何をいまさらって感じなんでしょうけど、はまってしまいました。 JavaのString.splitは、limit引数をつけないと、最後の空文字をとります。 http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#split(java.lang.String,%20int) new String("a,b,c,,,").split(",") の結果は、 {"a", "b", "c"} {"a", "b", "c", "", "", ""} を取るには、以下のように、-1をつける必要があります。 new String("a,b,c,,,").split("," , -1) APIドキュメントには、-2とかいう変な数値で例がありますが、基本的に-1でも-2でも負の数値なら同じ。最初に読んだときは意味がわからず、
クラウド上で動作するプログラムを組んでいく際、スケールすることを狙って多くのロジックがデカップリングされ、複数のサーバに分散されることと思いますが、そこで顕著になってくるボトルネックの一つがネットワークなどのI/O待ちです。 このI/O待ちを減少させるのに効果的なのが Reactor パターン。 このパターン自体は特に目新しいものでもないのですが、近年のクラウドブームで再び脚光を浴びそうなので自分の備忘録もかねて紹介します。 Reactor パターン http://en.wikipedia.org/wiki/Reactor_pattern この Reactor パターンはどういった場合に使用するかというと 複数のI/O待ちが想定される場合 というのが代表格のようです。今回はネットワークI/Oを想定していますが、データベースへの問い合わせに時間がかかる際にも有用となります。 例としてクローラ
Dear Python, something has been bothering me for a while. Its just that, well, ummm…you’re kind of ugly. Look, you are beautiful inside: Python is a beautiful language and the Python community is open and welcoming. But Python resources are ugly enough to affect usability and adoption. This is damaging to the community. Documentation and tutorials are often difficult to navigate. Products built wi
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
K.Takata @k_takata 「Unicode文字列型が複数の内部表現をサポート」ってどういうこと?「Python 2系からの移植を容易にするため…Unicodeリテラルシンタックスも復活」これは良い。 http://t.co/LxkUP45x 2012-03-06 21:44:00
Rubyプログラミング入門Rubyプログラミング入門 ⓒ 2009 Linux Academy Ruby プログラミング 入門 Ⅰ 第1章 Light Weight Language概要 1 1.1 Light Weight Languageとは 2 1.1.1 Light Weight Languageの概要 2 1.1.2 Light Weight Languageの特徴 3 1.1.3 Light Weight Languageによる開発の流れ 4 1.2 代表的なLight Weight Language 5 1.2.1 Perl 5 1.2.2 PHP 6 1.2.3 Python 7 1.2.4 Ruby 8 第2章 Perlの特徴と基本的なプログラム 11 2.1 Perlの概要 12 2.1.1 Perlとは 12 2.1.2 Perlのインストール 13 2.1.3 P
喧嘩っぱやいZedがまた波風を起している。 https://github.com/martinemde/learn-ruby-the-hard-way/issues/1 Zedは最近Pythonを教えるオンラインブックを完成させた。 http://learnpythonthehardway.org/static/LearnPythonTheHardWay.pdf (pdf) http://sheddingbikes.com/posts/1285754959.html すると早速これのルビー版がでてきた。 https://github.com/martinemde/learn-ruby-the-hard-way/ これに対してZedが「これ(git repo)を削除して自分の本を書け!」と要求してきた。 https://github.com/martinemde/learn-ruby-the
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く