研究開発によってサーバ台数を100分の1にする技術を生み出す ペパボ研究所 主席研究員 兼 シニアプリンシパルエンジニア 松本 亮介 / Pepabo R&D Institute, GMO Pepabo, Inc. 2017.11.25 Fukuoka RubyKaigi 02
先日のRubyKaigi 2017のLTではLLVMベースのCRuby向けJITコンパイラLLRBの話をしました。 5分はちょっとJITの話をするには短かかったですね。 LLRBをふまえた、Cのコード生成への軌道修正 さて、上記の資料にある通り、CRubyのJITにおいてはメインの高速化対象が既に存在するCのコードになるため、 開発の早い段階でパフォーマンスにインパクトを持てるとすればLLVM Passの順番を変えるくらいで、 LLVM IRを直接生成しても最適化上のメリットがほとんどないのでその部分はMJIT と同じくCのコードを生成するように変更したい、という話をした*1。 で、LLRBはC拡張として作るべくちょっと不思議な努力をいろいろやっており、 それらの設計はやってみた結果(コアに直接変更を加えるのに比べ)デメリットの方が大きいと思ったので、 LLRBの失敗を全て生かしつつ、今回
2017.06.26 [インタビュー] Aaron Patterson(前編): GitHubとRails、日本語学習、バーベキュー(翻訳) こんにちは、hachi8833です。RubyとRailsのコアコミッターとして著名なAaron Patterson氏(GitHub名: tenderlove)の30分にわたるロングインタビューを今週と来週の2回に分けてお送りいたします。HTTP/2、Rack、WebAssemblyといった技術的な話題や、GitHubやRailsセキュリティチームでの仕事、趣味や日本語学習、若手開発者へのアドバイスなど、多岐にわたった内容です。 概要 原著者の許諾を得て翻訳・公開いたします。 元記事: INTERVIEW: Aaron Patterson, Rack, Github and BBQ 著者: Vera Rabkina 元サイト: RubyroidLabs
今、エンジニアが身に付けるべきスキルは何か。本連載では、最近転職した高スキルのエンジニア、およびその人を採用した側へのインタビューを通じて、「優秀なエンジニアが身に付けたいスキルはどんなものか、なぜそれを身に付けたいと思ったか」「企業が今、エンジニアに求めるスキルは何か」に迫る。 第1回に登場するエンジニアは、オープンソースのプログラミング言語「Ruby」のコミッターである笹田耕一氏。同氏は2017年1月、クックパッドに転職した。笹田氏に転職を決意させたものは、何だったのか。 国内最大級のレシピ情報サイトを運営するクックパッド。2017年1月、オープンソースのプログラミング言語「Ruby」のコミッターである笹田耕一氏を社員に迎えた。コミッターとは、システムのソースコードなどを管理するデータベース(リポジトリ)に、変更を加える権限を持つ開発者のことだ。 笹田氏はRuby言語処理系の主要開発者
mruby/cの安定版1.0リリースに先立ち、Rubyおよびmrubyの開発者で、ITOCの顧問でもあるまつもとゆきひろさんに、mruby/cプロジェクトへの期待、今後の方向性などについて東専門研究員とともにお話いただきました。 (インタビュー日:2016年12月12日) ― 本日はよろしくお願いいたします。 ITOCではmruby/cや SciRubyなどRubyに関連した研究開発に取り組んでいます。Rubyを利用されることの多い県内企業の皆さんからはRubyやITOCの研究開発に多くの期待が寄せられています。 まつもとさんは国内外で多数講演され、多くの方とお話される機会をお持ちだと思いますが、国内外でのRuby、mrubyの拡がりについてどのように感じていらっしゃいますか? まつもと:Rubyは、すでに多くのユーザーに利用されており、今更、新たに拡がりを感じるレベルではないですね。 m
インタビュー:Rubyコミッターの笹田氏がクックパッドへの入社を決めた理由。オープンソースのコミッタはどのような思いで転職するのか? Rubyのコアコミッターである笹田耕一氏が、レシピ共有サービスなどを展開しているクックパッドへ入社することは、1月21日付の記事「[速報]Rubyのコアコミッター笹田耕一氏、クックパッドへ」で紹介しました。 本記事ではあらためて、笹田氏がクックパッドへの入社を決めた理由や、クックパッドが笹田氏に声を掛けた背景、そして笹田氏にとっての転職の意味などについて、笹田耕一氏と、クックパッドの執行役CTO成田一生氏に聞きました。 クックパッドへの転職に大きな可能性を感じた ──── あらためてクックパッドが笹田さんに声をかけた背景を教えてください。 成田氏 クックパッドでは長年、Rubyを用いたサービス開発を行ってきました。 Rubyはシンプルな記述で高度な処理を表現
ゲストを招き、プログラミングの魅力やはじめ方のアドバイス、いま注目している技術などを語っていただくシリーズ。第1回目は、日本を代表するプログラマーであるRubyアソシエーション理事長のまつもとゆきひろ氏が登場。前編の「俺ってスゲェ!』と思える言語を作りたかった」に引き続き、後編では、いよいよRubyの誕生やプログラミング教育についても触れる。 ゲスト:まつもとゆきひろ(Rubyアソシエーション理事長) 聞き手:角川アスキー総合研究所 バブル崩壊がRubyを生み出した ──93年にRubyを作り始めた理由はあるんですか? まつもと「結論からいうとバブルの崩壊が理由です。僕は90年に卒業して、某ソフトハウスに就職して、そこで社内システムを作るチームに配属されたんです。でも社内システムってお金を稼がないじゃないですか。ということで、バブルの崩壊とともに僕のいたチームのプロジェクトはキャンセルにな
ゲストを招き、プログラミングの魅力やはじめ方のアドバイス、いま注目している技術などを語っていただくシリーズ。第1回目は、日本を代表するプログラマーであるRubyアソシエーション理事長のまつもとゆきひろ氏に登場いただく。プログラミングをする上でかならず必要となるプログラミング言語。それを作るのはどんな人なのか? 聞いてみよう。前後編の2回に分けてお届けする。 ゲスト:まつもとゆきひろ(Rubyアソシエーション理事長) 聞き手:角川アスキー総合研究所 父親のガジェットを息子がぶんどって使う ──プログラミングをはじめたのは、たしか子供の頃だったとお聞きしたのですが。 まつもと「ええ、父親がいわゆるガジェット好きで、小学校6年のときに当時10万円くらいした“L-Kit16”を買ってきたんですよ、日本橋(大阪の電気街)で。半田ゴテでそのキットを作ったけど、父親はすぐに飽きてしまいました。でも、小学
うーん、structural subtypingとダックタイピングは同じものなんだろうか。— Yukihiro Matsumoto (@yukihiro_matz) 2016年9月8日 https://t.co/5Rv86piThC wikipediaによると似て非なる物のようですね。 https://t.co/VwIg39h5M0— INADA Naoki (@methane) 2016年9月8日 この話題について補足しておきます。なお、僕はTAPL脱落組なのであまり正確性は期待しないでください。 背景 Ruby Kaigi で Matz が Ruby3 に向けて考え中の静的型について話されたようです。 少し前から、 Python でも Guido が Dropbox での大量のコードベースを改善していくために type hinting がほしいということで PEP 484 を始めました
13:25 Invited Speaker 最速ウェブサーバの作り方 近年、ウェブの体感速度は、ネットワークのバンド幅ではなくレイテンシによって律速される傾向が強まってきています。また、それに伴い、TCP Fast Open、HTTP/2、TLS 1.3といった、レイテンシの影響を削減/隠蔽する技術の標準化が進んでいます。本セッションでは、HTTP/2サーバ「H2O」の主開発者が、レイテンシの影響削減を主目的とするサーバのプログラミング技法や、HTTP/2の更なる高速化を実現する手法として標準化提案中の「Cache Digest」等を紹介し、それらをrubyから制御する手法を検討します。 必要となる知識 TCP/IPとUnixのソケットプログラミングに関する基礎的な知識があると、分かりやすいかと思います。 奥一穂 株式会社ディー・エヌ・エー MIT TR100、日本OSS貢献者賞受賞、未踏
Rubyに型があると便利か 最近開発したgem type_struct を中心に「Rubyに型があると便利か」という問いについて考察します。ひいては、Ruby3への議論に貢献できればと考えています。 必要となる知識 基本的なRubyの知識があればよいです。golangやcrystalのさわりもわかっていると、より楽しめると思います。 栗原 勇樹 株式会社spice life RubyKaja 2014。子育ての合間に小さいライブラリーを作るのが趣味。 5/13 渋谷の株式会社spice lifeにて伺いました(話し手:栗原さん、聞き手:笹田)。 栗原 実は、だいたいスライドが出来てまして。 笹田 え、本当ですか。素晴らしい。今回のご発表は、type_struct という gem を作られた経験から、Ruby の型に対する提言を頂ける、という感じになるでしょうか。 栗原 Ruby の型に対す
mruby/c OSS版のmrubyよりも小さな資源で動作するVMの実装です.40KB程度のメモリで動作しています.ワンチップマイコンを想定した実装になっていて,多くのクラスを削減しています.そのため,一般的なRubyプログラムには向きませんが,組込みシステムでの機器制御やIoT分野への適用を目指しています. 必要となる知識 mruby 田中 和明 九州工業大学 mruby, mruby/c開発者, 大学では組込みソフトウェアの研究に従事している. 5/10 Skypeにて伺いました(話し手:田中さん、聞き手:笹田)。 笹田 お忙しいところ、ありがとうございます。今回は、mruby/c の話をして頂ける、ということで。 mruby の話 田中 まず、mruby についてですが、Ruby のコンパイラと VM、インタプリタを切り離し、コンパイル済みバイナリはポータブルなので、色々なデバイスに
アプリケーションへのRubyインタープリターの組み込み 発表者はmilter managerというアプリケーションへCRubyを組み込んだ経験と、Groongaというアプリケーションへmrubyを組み込んだ経験があります。 milter managerはメールフィルターアプリケーションです。大量の接続を同時にさばくために、マルチプロセス+イベント駆動型のサーバープログラムとして実装しています。このアプリケーションをRubyでカスタマイズするためにCRubyを組み込みました。このケースでうまく動かすためのGC、fork、シグナル、イベントループ回りの実装について紹介します。 Groongaは全文検索エンジンです。より高速に検索結果を返すために、細部もチューニングして実装しています。(細部は私は実装していません。)このアプリケーションのクエリーオプティマイザー、クエリー言語(の一部)をRuby
15:40 Invited Speaker Image Recognition and Code that shouldn't exist この発表では、Rubyを使った画像認識処理方法について、精度向上がどのように向上していったかを説明します。それと、実際に存在する必要のないコードを見ていきます。本発表で紹介する研究の目的は、あくまでも私個人の創造的で、役に立たない課題を書くことへの挑戦であり、有益な結果を産むものではありません。本発表を「自身を表示できないクワイン」と理解して頂ければと思います。 必要となる知識 Ruby, little about C, MtG (card game culture) Aaron Patterson RailsConf 2016 の三日目(5/6)の、Aaron さんのキーノートが終わった後に伺いました(話し手:Aaron Patterson、聞き手:
10:10 Invited Speaker Streem 発表概要は、事前インタビューをご覧下さい。 必要となる知識 まつもとゆきひろ 日経Linuxライター 5/16 Skypeにて伺いました(話し手:まつもとさん、聞き手:笹田)。 笹田 今回、タイトル「Streem」だけ頂いていて、概要を頂いていないのですが、どんな話になるでしょうか。 まつもと Streem という言語を作っているので、その紹介をしようと思います。言語仕様の話と、それをどう実装したか、という話になるかと思います。やや言語の方が多いかも。 Streem の言語仕様 笹田 言語仕様って固まりましたか? まつもと 言語レベルでは、多分固まってきたと思うんだけど、ライブラリが足りていない。言語の使われ方ってライブラリで決まったりするので、そういう意味ではまだまだだと思います。 笹田 なんとなく、パイプでつなげていく、というこ
私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ
先日、GitHub Pages が Jekyll 3.0 になりました。 GitHub Pages now faster and simpler with Jekyll 3.0 · GitHub GitHub Pages is now running the latest major version of Jekyll, Jekyll 3.0 , and with it, many of th... https://github.com/blog/2100-github-pages-now-faster-and-simpler-with-jekyll-3-0 速くなったという事でとても喜ばしいのですが、良い事はそれだけではなかった。GitHub Pages を使ってのブログ作成方法については、これまでこのブログでも幾つか紹介して来ました。 Big Sky :: Jekyllで始める簡単ブロ
Windows で最新の jekyll 3.0、正確には github-pages を使う方法を紹介します。 過去、Windows で jekyll (github-pages) を使うのは、大変な苦痛を伴う作業でした。しかし最近、github-pages が jekyll 3.0 を採用したのと同時に大変使いやすくなりましたので、インストール方法と注意点を紹介します。本記事執筆時の github-pages のバージョンは 45 でした。 まずは ruby と DevKit をインストールしましょう。ruby 本体は rubyinstaller から、ダウンロードしてください。DevKit も同じ場所から入手できます。この時、ruby本体とDevKitのビット数を合わせておいてください。rubyが無印ならばDevKitは32ビット版を、x64ならば64ビット版をダウンロードしてください。
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
笹田:今日はよろしくお願いします。「Rubyの真実」を久しぶりに読んでいただいたわけですが、一番ささるセンテンスってありました? 「確かに、これはそうだな」、というような。 松本:結局プログラミング言語において、普通の人が注目するのは、客観的な評価ををしやすいところ、といっていること。 笹田:普通の人っていうのは? 松本:プログラミング言語を選ぶ人とか。 笹田:ユーザですか? 開発者? 松本:それは誰でも同じだと思うんだけど、次の仕事にどのプログラミング言語を使おうかとか、あるいは、より良いプログラミング言語の設計について研究しようとしているかもしれないし、自分でデザインして実装しようとしているかもしれないし。で、そういう人たちそれぞれ、言語を評価するわけだよね。使うか使わないかとか、この機能を採用するかしないかとか。そういうときに、最初に評価しがちなのは、機能がどうこうとか、性能がどうこ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く