すべてのRubyKaigiの運営に携わる。Señor RubyKaigi Organizer。Asakusa.rbメンバー。主な訳書に『研鑽Rubyプログラミング』『なるほどUnixプロセス』『Rubyのしくみ』『ユニコーン企業のひみつ』『Clean Agile』『アジャイルサムライ』『アジャイルな見積りと計画づくり』など。好きなメソッドはObject#extend。
はじめに 先日、会社のSlackで、新入社員から Array#sort の動作(ソートのアルゴリズム)が良くわからないという質問がありました。 「多分、クイックソートじゃないかと思うが Rubyのソースコードのどこに実装されているかわからない ので、Rubyコミッターに聞きましょう。」 みたいな先輩社員(私の同僚)からのアドバイスがあり、私に?話が振られてきました。 言われてみれば、みんな、Rubyのソースコードのどこに何があるか知らないのかもと思いました。 ずいぶん前に、 「【超入門】キミにも作れる! Ruby拡張ライブラリ開発」を書きましたが、今回は読み方の超入門編です。 Array#sort を題材に説明していきます。 なお、 Ruby のバージョンは、 3.2.2 を前提とします。 ディレクトリとファイル Rubyのメソッドの大半は、以下のどこかのディレクトリにあるファイルで実装さ
Rails Developers Meetup 2017 で RSpec しぐさについて話した Rails Developers Meetup の年末拡大版である、Rails Developers Meetup 2017 で発表させていただきました。 RSpec をどう書いていくと良いのかの指針、みたいな話です。資料はこちら スライドを作るにあたって考えたこと 「5 分では RSpec の こう書くべき という話にたどり着けない」が最初の山でした。 考えてみれば 第 1 回 Rails Developers Meetup の willnet さんの話 が同じ題材 (RSpec の書き方) で、35 分枠だったので当然ですね。 そこで伝えたいことを絞ることにしました。どうせ聴衆は Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on
Let it Flow - Introduction to Functional Reactive Programming
直面する問題を解決したらkaminariができた。Ruby / Railsコミッター松田明のOSS開発の実像 世界中のRubyプログラマに使用されるOSSであるkaminari。これを手がけたRuby / Railsコミッター松田明さんに、開発背景を聞きました。 「これがあったら便利なはずだ」という予測。 あるいは、「これが問題だから、解決する」という現状認識。 新たな技術が生み出される源流にあるものとは、一体なんでしょうか。 Ruby on Rails(以下、Rails)を用いたWebアプリケーション開発において、圧倒的な存在感を放つページネータであるkaminariを開発した松田明(まつだ・あきら/ @a_matsuda )さんの場合は、“絶対に”後者であると語ります。 Rails、そしてRubyのコミッターでもある松田さんは、まさにRubyを用いた開発の最中、先行するソフトウェアに感
そもそも、Rubyとは? Rubyは、まつもとさんが1995年に公開したプログラミング言語です。 便利さ・容易さと高い生産性を持ち合わせた、オープンソースのオブジェクト指向スクリプト言語であることが特徴です。 C言語をはじめとするコンパイラ言語は、プログラムの実行にコンパイルという作業が必要です。 スクリプト言語にはコンパイルが不要なため、より手軽でスピーディーな開発が可能です。 Rubyはエレガントな文法を持ち合わせており、プログラミングの楽しさと便利さ・実用性を体感するのに最も適した言語の一つといえます。 2012年には日本発のプログラミング言語として初めて国際規格「ISO/IEC 30170」に承認され、グローバルな言語として積極的に利用されています。 全ての人に共通する“生存戦略”は存在しない まつもとさん:「下手すると、皆さんのご両親・親御さん世代のプログラマーの“大先輩”に当た
11月末に出版された「プロを目指す人のための Ruby 入門」を読んだ.12月は少しバタバタしていて,読むのが遅くなってしまったけど,以下の企画に応募をしたら当選した.ありがとうございます👍 blog.jnito.com はじめに 本書はタイトルに「入門」と書いてあるけど,正確にはプログラミングの入門書ではなく,最低限のプログラミングのスキルと Ruby のスキルが必要になる.まえがきにも似たようなことが書かれていて,その通りだなと思った.とは言え,本書はすごくキレイな流れで解説されているので,じっくり読み進めることで,プログラミング初学者でも十分ステップアップに活用できるようになっていた.なお,僕のスキルレベルとしては Ruby / Rails 歴3年ほどで,インフラの自動化を Ruby で書いたり,個人ツールを Rails で書いたりしている.また,TechAcademy で Rai
「Ruby」——1993年、ある日本人が独りで開発を始め、今や世界で屈指の人気を誇るプログラミング言語である。その理由は「楽しさ」にあり、「言語を作る人、使う人、学ぶ人すべてが楽しめることを目的」(注)としている。 そして、その開発者がまつもとゆきひろだ。現在はネットワーク応用通信研究所のフェローとして島根県松江市に在住。同市の名誉市民でもある。地方創生の担い手としてこの地に移り住んだのかと尋ねると、「そんな言葉ができる前から住んでいますから」と照れ笑いする。 1993年、静岡県浜松市で勤務していた頃にRubyの開発に着手。当時は「Hello, world!」という文字列を出力するために半年を要したが、その後開発は順調に進む。転職して名古屋勤務となった1995年にRubyをオープンソースとしてインターネットに公開した。 1965年大阪府生まれ。筑波大学第三学群情報学類卒業。公開とともに世界
クックパッドで働くのは4年目、社会人としては2年目になった。2015年にやったことと同じフォーマットでまとめておく。 発表 今年は6本発表した。去年RubyKaigi前後にいろいろ集中してて死にかけたので、2か月に1回というのが僕にとってはちょうど良いペースだと思う。 RubyConf 2016 今年は海外のカンファレンスで登壇してきたというのが一番大きいと思う。英語は一応どうにかなったけど、うまい表現ができずもどかしいことがあるのでもうちょっとマシにしたい。あとこの成果で初めてクックパッドの業務にmrubyが導入されたように思う。 RubyKaigi 2016 100%クックパッドの業務時間で作ったOSSを題材に、今年は1人でRubyKaigiに登壇した。Barbeque自体はまだまだ改善点があるものの、ECSを活用してジョブ単位のオートスケールができ、マルチテナントで運用コストが低いシ
この記事はCAMPHOR- Advent Calendar 2016の13日目の記事です ごあいさつ 今年もAdvent Calendarの季節がやってきましたね。 せっかくなのでこれを機にTech関連の記事を残すため、はてなブログはじめました。 相変わらず見習いエンジニアの域を出ない@andoshin11 です。 今回の記事は2本立ての構成になっています。(2本目の記事は12/17に公開予定) またまた長文になりますがお付き合いよろしくお願いします。 昨年度の記事はこちら↓↓ tech.camph.net 概要 プログラミング初心者でも記事を読めばBotが作れるよう意識して書きました*1 昨年は Googla Apps Scriptを使用しましたが、今年は RubyでSlack Botを実装します Slack公式が提供する Real Time Messaging APIを利用します Bo
続き。今回はデーモンプロセスについて。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき パイプとソケットでのプロセス間通信を Ruby で再確認した - えいのうにっき デーモンプロセスについて知るときに前提知識として外せないのが、「プロセスグループ」と「セッショングループ」というふたつの概念らしい。まずはそれについて再確認する。 プロセスグループとセッショングループ プロセスグループ 今までずっとプロセス単体について見てきていたけど、実はプロセスというものは、全てがいずれかの「プロセスグループ」というものに属している。各プロセスグループには、ユニークな整数のIDが振られている
Railsアプリケーションを、Heroku上で1分間125,000リクエストに対応できるようにスケーリングする 要約: Herokuでは、Railsのスケーリングが非常に簡単できますが、考慮すべき重要なポイントがあります。DynoとPostgresのさまざまな設定がHerokuでのパフォーマンスにどのように影響を与えるかについて調べました。 スケーリングのテストをする理由 ZeeMee のサーバは、今秋、来たる大学入学のシーズンにリクエストが殺到する見込みです。学生はZeeMeeを使って入学願書に動画や写真を付加することができるので、当社のWebサービスが受ける負荷は非常に深刻なものになっています。ピーク時(大学入学の出願期限)には、リクエストのロードが平均の150倍にもなります。 今年の秋を迎えるにあたり、APIのリクエストの爆発的増加にしっかり備えておこうと考え、Herokuでパフォー
私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ
Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgem(RubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ
15歳でデビューした芸能界、大学で始めたプログラミング…偶然が作った自分だけの生き方。”ギークな女優”が歩んできた、これまでの道程 今回、話を伺ったのはプログラミングができる女優として活動する、”ギークな女優”こと池澤あやかさん。世間一般がイメージする”タレント”という枠を越え、幅広いフィールドで活動する彼女の生き方は一見、戦略的にも見えます。 しかし、彼女のキャリアを紐解いていくと、ターニングポイントで出てくるワードは全て偶然。そんな彼女はどうやって自分の”やりたいこと”を形にしていったのでしょうか?池澤あやかさんの生き方から、自分らしい働き方”をするためのヒントを探っていきます。 【プロフィール】 1991年大分県生まれ。慶應義塾大学SFC環境情報学部を2013年に卒業。2006年の第6回東宝シンデレラオーディションで審査員特別賞を受賞し、同年映画『ラフ』にてデビュー。映画『デトロイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く