名古屋Ruby会議04 発表資料
Faradayの役割 Faradayは、Rubyで書かれたHTTPクライアントライブラリで、RubyGemsとして提供されています。利用シーンとしては、Railsプロジェクトから外部のAPIなどにアクセスする例などが一般的でしょう。 なお、RubyにはHTTPクライアントライブラリとして標準で添付されているNet::HTTPがあり、require 'net/http'でインクルードすれば利用でき、Faradayを使わなくても実装することができます。 ただし、Net::HTTPを使うとパラメーターや設定などが複雑になってしまうところを、Faradayを使うことでよりシンプルに、HTTPクライアントとしてアクセスする部分を実装できるメリットがあります。 また、Faradayは内部的にはデフォルトでNet::HTTPを使用しています。その意味ではNet::HTTPのラッパーともいえるでしょう。
Rails Developers Meetup 2019(2019/03/22 - 23)
「ゼロからわかる Ruby🔰超入門」という本を書きました。共同執筆での作業を効率的に進められるように、編集者・レビュワーさんを含め、みんながいつでも最新の原稿を確認できるように環境を整えました。ここでは、技術面・環境面で工夫したこと、得た知見を共有します。書籍に限らず、技術文書の作成にも使えます。 はじめに この本は、 @igaiga さんと共同で執筆しました。イラストを描いてくれた @becolomochi さんを含めて、3人での共同作業でした。原稿を書いてから公開するまでのフローはこんな感じです。プログラミングでの開発に似ています。 原稿を書く (Asciidoc, Atom, Visual Studio Code) 共有する (GitHub, Slack) HTML/PDF形式に変換する (Rakefile, CircleCI) 限定公開する (docker, nginx) Ste
Ruby is a language of many revolutions. Rails in particular has re-defined modern web development time and time again. That being said, HTTP/2 support is a blind spot in the modern Ruby web stack, and one which is slowly causing Ruby to fall behind. We present Falcon, a modern asynchronous HTTP/2 capable web server for Ruby. We discuss why HTTP/2 is important, and how to use Falcon. What is Falcon
はじめに デザインパターンって常識っぽいからちゃんと学んでおかないとと思いつつ、いまいちよく分からないままな人って意外と多いんじゃないかと思い、絶版になってることもありまとめてみることに。2章は基本的なRubyの文法の解説なので省略。 変なところあったら教えてくださいね。 対象 デザインパターンを避けてきた人 Ruby以外が不得意で、巷に多く出回っているJavaなどのデザインパターンの本が読みたくても読めない、もしくは読むのが面倒な人 Rubyによるデザインパターン買いそびれた人 Rubyによるデザインパターンとは ラス・オルセン 著、ピアソン・エデュケーション(2009) GoFによる23のデザインパターンのうち著者が特に有益だと考える14パターン + Ruby独自の3パターンの解説が書かれている。 実際にデザインパターンが使われている例として、RubyやRailsの内部のコードが出てく
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Changing the Way Ruby Creates Objects | AppSignal Blog 原文公開日: 2018/08/07 著者: Benedikt Deicke(@benediktdeicke) -- Userlist.ioのCTOであり書籍『SaaS applications in Ruby on Rails』の著者です。 サイト: AppSignal Rubyの素晴らしさのひとつに、必要に応じてほぼ何でもカスタマイズできるという点があげられます。カスタマイズは便利であると同時に危険も伴うので、うっかりすると簡単に自分の足を撃ち抜いてしまいますが、十分気をつければ相当強力なソリューションを生み出すこともできます。 「Ruby Magic」では、便利さと危険は名コンビであると考えます。それではRubyのオブ
Ruby中級入門 1. Ruby中級入門 @shokai 2013年8月5日(火) @masuilab 2. 私 •@shokai (しょうかい) •趣味:料理、glitch 3. ある程度大きなアプリケーションを作 っていると、部品に分割したくなると 思います。アプリ内ライブラリやgem の作り方を説明します。Rubyの機能を 活用した使い勝手の良いライブラリの デザインについて考えます。 4. • アプリ内ライブラリの作り方・gemの作り方 • サンプルコードとテスト • ライブラリのデザイン • API • DSL • 泥臭い小手先の技 • 例外・エラーの通知 • ドキュメント コンテンツ 5. ライブラリを作る 例:LeapMotionを自作アプリに組み込むための アプリ内ライブラリを作る 6. • LeapMotionはport 6437にWebSocket 接続するとJSONで
こんにちは、 tomoasleep です。 2018年5月31、6月1日、2日の3日間に渡って開催されたRubyKaigiに参加してきた様子をレポートします。 ※写真はMatzことRubyの生みの親・まつもとゆきひろ氏と一緒に参加した@minakawa-daiki RubyKaigiって? RubyKaigi (ルビーかいぎ)とは、日本で開催されているRubyコミュニティ主催のオブジェクト指向プログラミング言語Rubyに関する年次イベントである。名称は過去何度か変遷しており、2013年からは通称であったRubyKaigiが正式名称として用いられている。 引用: Wikipedia 最近QiitaでもMatzさんの別の講演内容が1000いいね以上獲得していてトレンド入りしていました。 1000いいね! | 【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略に行ってきたので私的メモ b
Google Cloud Platform(GCP)で動く Ruby アプリケーションのサポート拡充を進めている Google Cloud Ruby チームに合わせる形で、私たちは Stackdriver に対応した gem(Ruby ライブラリ)のベータ版をリリースしました。 Stackdriver は、モニタリング、ロギング、および診断機能を提供する管理ツール スイートです。今回の gem により、GCP だけでなく AWS やお客様のデータセンターでも、Ruby プロジェクトで Stackdriver を利用できるようになりました。Stackdriver gem の詳細は GitHub でご覧になれます。 他の Ruby ライブラリと同様に、私たちは Stackdriver ライブラリが Ruby ユーザーにとって理にかない、作業をより簡単に行えるよう手助けすることに重点を置いていま
Housmart高松です。 2017年9月18-20日の3日間、広島で開催されたRuby Kaigi 2017に参加してきました。Ruby Kaigi自体は去年に引き続き2回目の参加となります。 今年も様々なトピックがありましたが、今回は私が注目しているテーマの1つである “Ruby x データサイエンス” の観点からRuby Kaigiの参加レポートをします。 Rubyコミュニティのデータサイエンスへの取り組み ここ2-3年で機械学習・ディープラーニングやデータサイエンスを業務で使うことはどんどん普通のことになってきています。 この領域はほとんどがPython/R/Scalaなどで行われており、最近までRubyでデータサイエンスをやるのは実質不可能な状態でした。 ですが、Rubyが言語としてこれらの領域をサポートするかは、Rubyのこれからを考える意味でもとても重要になります。 これらの
LLRBというRuby向けのメソッドJITコンパイラを書いている github.com RubyKaigi 2015の最後のキーノートで@evanphxが「LLVMでCRubyのコードをインライン化するメソッドJITを実装したら速いんじゃね」みたいな発表をしていたのを覚えているだろうか。 LLRBというのはまさにそれを実装しているプロジェクトであり、少なくとも現時点で「LLVMでCRubyのコードをインライン化するメソッドJIT」と言える状態まで実装でき、ものによっては効果が出る状態になったので公開した。 なんで書いてるの 言語を自分で実装するとその言語に関する理解が大分深まる、というのをHamlの実装とかCコンパイラとかで体験していて、僕が一番好きな言語はRubyなのでRubyでもそれをやっておきたい、というのがあった。また、Rubyは遅いと言われがちだが、どこに改善可能な点が眠っている
世界中で利用されている国産プログラム言語「Ruby」が、機械学習や人工知能(AI)開発の盛り上がりを前に正念場を迎えている。米Googleなどを後ろ盾に「Python」が同分野でソフトを充実させる一方で、Rubyの存在感は薄い。5月19日に開かれた「DataScience.rb ワークショップ 〜ここまでできる Rubyでデータサイエンス〜」で、Ruby開発者達は危機感をあらわにした。 「Rubyはデータサイエンスの分野で“歯抜けの状態”だ」。生物学関連のソフトウェア開発に携わる西田孝三氏は、Rubyの現状をこう評する。西田氏は芦田恵大氏、三軒家佑將氏と共同で、2016年10月から2017年2月までの2016年度Ruby Association開発助成プロジェクトの下、Rubyのデータ処理ライブラリの整備に取り組んだ。 特に不足しているのが、データの前処理に関わるソフトウエアだ。「前処理は
「Ruby 2.4.0」では、これまで双方向連結リストとチェイン法を用いていたハッシュテーブルの内部実装において、挿入順の配列にオープンアドレス法を採用し、高速化を実現した。 その他の新機能としては、irbでbinding.pryと同様の対話型実行環境の起動を可能にするbinding.irbの追加や、FixnumとBignumの従来は抽象クラスだったIntegerクラスへの統合、Unicodeの仕様にのっとった大文字・小文字の変換が取り入れられている。 さらに、言語レベルの修正をともなう性能改善として、一定条件下では[x, y].maxおよび[x, y].minが一時的な配列を生成しないよう変更されたほか、バックリファレンスの生成や$~の変更なしで、極力オブジェクト生成を減らすRegexp#match?が追加された。 デバッグ機能では、あるスレッドが例外で終了した際に標準エラー出力にその旨
「Ruby 2.2.0」には、Symbolオブジェクトのガベージコレクトに対応した新しいガベージコレクタを搭載しており、「Rails 5.0」ではこのSymbol GCが必須となる。また、新たなインクリメンタルGCによってガベージコレクションの休止時間を減少させるので、Railsアプリケーションの動作に役立つ。 メモリ管理機能では、configure.inにjemallocを使用可能にするオプションを追加しているが、現時点では実験的な機能であり、開発チームがパフォーマンスデータとユースケースを確認するまではデフォルトでは動作しないよう設定されている。 このほか、system()とspawn()において、外部コマンドを多数呼び出す際の大幅な高速化が期待できるvfork(2)を実験的にサポートする。ただし、vfork(2)は使い方によっては有害になる可能性もあるシステムコールのため、今後も利用
『るびま』は、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
http://www.sitepoint.com/go-rubyists-ii/1 comment | 0 pointsGlenn Goodrichが、Rubyプログラマー向けにGo言語のinterfaceとWeb.goを紹介しています。1回目はまずは、interfaceから。 The Fallacy of Inheritance 継承は些細な修正も実装が面倒になり、コードが複雑になる可能性があります。例えば、Horseクラスと二つのサブクラス、GallopingHorseとSadHorseがあったとします。(その二つはステートの違いだけでなく、まったく性格の違うサブクラスかもしれません。)sadな雰囲気で、gallopをしているhorseがいる場合はどうするか?それぞれのクラスである振る舞いがロックアップされることになるかもしれません。また、type間の関係を考慮しなくてはいけなくなるの
IRC (あいあーるしー) 「教養チャンネル」とも「衒学チャンネル」とも呼ばれる。ほとんどのタイミングで日本史か中欧史か仏教史か英語史の話をしている。たまにRubyの話題になると逆に違和感が… ISeq (あいせく) RubyVM::InstructionSequence のこと。長いので誰も正式名称で呼ぼうとしない。 rubyスクリプトのいくつかある表現型の中でもっとも低レベルな表現。現在、rubyスクリプトからISeqを生成する機能は公開されているが、そのようにして生成したISeqを実行する機能はセキュリティ上の懸念から(作られてはいるが)封印されている。→ AST ID (あいでぃー) 型。rubyレベルでいうSymbolにほぼ相当するもの(ちょっとだけ違う)。objcプログラマーはこれを見てVALUEと混乱しないように。 assn (あさしん) IRCで彼らがアサシンと呼んでいるも
古き良き小学校の時代、この行には困惑させられたものだった。 魔術的な x が、加算されたのに等しいままでいる事に。 どういうわけか、プログラミングを始めると、それに構わなくなる。 「やれやれ、それは重大な事柄じゃないし、プログラミングとは現実のビジネス行為なんだから、 数学的な純粋さについてあら探しなんて必要無い (その議論なら、大学にいる狂った髭面野郎どもにさせておけばいい)」と思っていた。 けれども、ただ知らなかっただけで、我々が間違っていて高い代償を支払っていたのは 明らかである。 Wikipedia によれば、「関数型プログラミング(functional programming, FP)とは、 計算を数学的な関数の評価とみなし、 状態や可変データを避けるプログラミングパラダイム」である。 言い換えると、関数型プログラミングは、 副作用が無く変数の値を変化させないコードを推奨する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く