タグ

rubyに関するmercureのブックマーク (294)

  • †Ruby黒魔術経典†

    名古屋Ruby会議04 発表資料

    †Ruby黒魔術経典†
    mercure
    mercure 2019/06/09
  • Ruby製HTTPクライアント用gemの「Faraday」を使おう

    Faradayの役割 Faradayは、Rubyで書かれたHTTPクライアントライブラリで、RubyGemsとして提供されています。利用シーンとしては、Railsプロジェクトから外部のAPIなどにアクセスする例などが一般的でしょう。 なお、RubyにはHTTPクライアントライブラリとして標準で添付されているNet::HTTPがあり、require 'net/http'でインクルードすれば利用でき、Faradayを使わなくても実装することができます。 ただし、Net::HTTPを使うとパラメーターや設定などが複雑になってしまうところを、Faradayを使うことでよりシンプルに、HTTPクライアントとしてアクセスする部分を実装できるメリットがあります。 また、Faradayは内部的にはデフォルトでNet::HTTPを使用しています。その意味ではNet::HTTPのラッパーともいえるでしょう。

    Ruby製HTTPクライアント用gemの「Faraday」を使おう
    mercure
    mercure 2019/04/03
  • Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?

    Rails Developers Meetup 2019(2019/03/22 - 23)

    Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?
  • 執筆活動を支える技術 #ruby超入門 - Qiita

    「ゼロからわかる Ruby🔰超入門」というを書きました。共同執筆での作業を効率的に進められるように、編集者・レビュワーさんを含め、みんながいつでも最新の原稿を確認できるように環境を整えました。ここでは、技術面・環境面で工夫したこと、得た知見を共有します。書籍に限らず、技術文書の作成にも使えます。 はじめに このは、 @igaiga さんと共同で執筆しました。イラストを描いてくれた @becolomochi さんを含めて、3人での共同作業でした。原稿を書いてから公開するまでのフローはこんな感じです。プログラミングでの開発に似ています。 原稿を書く (Asciidoc, Atom, Visual Studio Code) 共有する (GitHub, Slack) HTML/PDF形式に変換する (Rakefile, CircleCI) 限定公開する (docker, nginx) Ste

    執筆活動を支える技術 #ruby超入門 - Qiita
    mercure
    mercure 2018/11/24
  • HTTP/2 for Ruby Web Development

    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

    mercure
    mercure 2018/10/21
  • Rubyによるデザインパターンまとめ - Qiita

    はじめに デザインパターンって常識っぽいからちゃんと学んでおかないとと思いつつ、いまいちよく分からないままな人って意外と多いんじゃないかと思い、絶版になってることもありまとめてみることに。2章は基的なRubyの文法の解説なので省略。 変なところあったら教えてくださいね。 対象 デザインパターンを避けてきた人 Ruby以外が不得意で、巷に多く出回っているJavaなどのデザインパターンのが読みたくても読めない、もしくは読むのが面倒な人 Rubyによるデザインパターン買いそびれた人 Rubyによるデザインパターンとは ラス・オルセン 著、ピアソン・エデュケーション(2009) GoFによる23のデザインパターンのうち著者が特に有益だと考える14パターン + Ruby独自の3パターンの解説が書かれている。 実際にデザインパターンが使われている例として、RubyRailsの内部のコードが出てく

    Rubyによるデザインパターンまとめ - Qiita
    mercure
    mercure 2018/09/12
  • Rubyのオブジェクト作成方法を改変する(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: 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のオブジェクト作成方法を改変する(翻訳)|TechRacho by BPS株式会社
    mercure
    mercure 2018/09/05
  • 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で

    Ruby中級入門
    mercure
    mercure 2018/08/16
  • RubyKaigi2018に参加してきました。 - Qiita:Zine

    こんにちは、  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

    RubyKaigi2018に参加してきました。 - Qiita:Zine
    mercure
    mercure 2018/08/11
  • A Training System of Ruby Programmers / Rubyプログラマが育つ仕組み - Rubyでの受託開発を10年回してみて -

    A talk presentation for RubyWorld Conference 2017 held in Matsue, Japan. Introducing Everyleaf Corporation's training program. Written in Japanese.

    A Training System of Ruby Programmers / Rubyプログラマが育つ仕組み - Rubyでの受託開発を10年回してみて -
    mercure
    mercure 2017/11/05
  • Stackdriver で Ruby アプリのモニタリング、デバッグ、ロギングが可能に | Google Cloud 公式ブログ

    Google Cloud PlatformGCP)で動く Ruby アプリケーションのサポート拡充を進めている Google Cloud Ruby チームに合わせる形で、私たちは Stackdriver に対応した gemRuby ライブラリ)のベータ版をリリースしました。 Stackdriver は、モニタリング、ロギング、および診断機能を提供する管理ツール スイートです。今回の gem により、GCP だけでなく AWS やお客様のデータセンターでも、Ruby プロジェクトで Stackdriver を利用できるようになりました。Stackdriver gem の詳細は GitHub でご覧になれます。 他の Ruby ライブラリと同様に、私たちは Stackdriver ライブラリが Ruby ユーザーにとって理にかない、作業をより簡単に行えるよう手助けすることに重点を置いていま

    Stackdriver で Ruby アプリのモニタリング、デバッグ、ロギングが可能に | Google Cloud 公式ブログ
    mercure
    mercure 2017/10/26
  • 【Ruby Kaigi 2017レポート】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のこれからを考える意味でもとても重要になります。 これらの

    【Ruby Kaigi 2017レポート】Rubyでデータサイエンスは出来るのか?
    mercure
    mercure 2017/09/21
  • CRuby向けのLLVMベースのJITコンパイラを書いている話 - k0kubun's blog

    LLRBというRuby向けのメソッドJITコンパイラを書いている github.com RubyKaigi 2015の最後のキーノートで@evanphxが「LLVMでCRubyのコードをインライン化するメソッドJITを実装したら速いんじゃね」みたいな発表をしていたのを覚えているだろうか。 LLRBというのはまさにそれを実装しているプロジェクトであり、少なくとも現時点で「LLVMでCRubyのコードをインライン化するメソッドJIT」と言える状態まで実装でき、ものによっては効果が出る状態になったので公開した。 なんで書いてるの 言語を自分で実装するとその言語に関する理解が大分深まる、というのをHamlの実装とかCコンパイラとかで体験していて、僕が一番好きな言語はRubyなのでRubyでもそれをやっておきたい、というのがあった。また、Rubyは遅いと言われがちだが、どこに改善可能な点が眠っている

    CRuby向けのLLVMベースのJITコンパイラを書いている話 - k0kubun's blog
    mercure
    mercure 2017/08/23
  • Rubyはデータサイエンスで生き残れるか

    世界中で利用されている国産プログラム言語「Ruby」が、機械学習人工知能AI)開発の盛り上がりを前に正念場を迎えている。米Googleなどを後ろ盾に「Python」が同分野でソフトを充実させる一方で、Rubyの存在感は薄い。5月19日に開かれた「DataScience.rb ワークショップ 〜ここまでできる Rubyでデータサイエンス〜」で、Ruby開発者達は危機感をあらわにした。 「Rubyはデータサイエンスの分野で“歯抜けの状態”だ」。生物学関連のソフトウェア開発に携わる西田孝三氏は、Rubyの現状をこう評する。西田氏は芦田恵大氏、三軒家佑將氏と共同で、2016年10月から2017年2月までの2016年度Ruby Association開発助成プロジェクトの下、Rubyのデータ処理ライブラリの整備に取り組んだ。 特に不足しているのが、データの前処理に関わるソフトウエアだ。「前処理は

    Rubyはデータサイエンスで生き残れるか
    mercure
    mercure 2017/05/24
  • 「Ruby 2.4.0」がリリース、オープンアドレス法による高速化など多彩な新機能を搭載

    Ruby 2.4.0」では、これまで双方向連結リストとチェイン法を用いていたハッシュテーブルの内部実装において、挿入順の配列にオープンアドレス法を採用し、高速化を実現した。 その他の新機能としては、irbでbinding.pryと同様の対話型実行環境の起動を可能にするbinding.irbの追加や、FixnumとBignumの従来は抽象クラスだったIntegerクラスへの統合、Unicodeの仕様にのっとった大文字・小文字の変換が取り入れられている。 さらに、言語レベルの修正をともなう性能改善として、一定条件下では[x, y].maxおよび[x, y].minが一時的な配列を生成しないよう変更されたほか、バックリファレンスの生成や$~の変更なしで、極力オブジェクト生成を減らすRegexp#match?が追加された。 デバッグ機能では、あるスレッドが例外で終了した際に標準エラー出力にその旨

    「Ruby 2.4.0」がリリース、オープンアドレス法による高速化など多彩な新機能を搭載
    mercure
    mercure 2016/12/26
  • 「Ruby 2.2.0」がリリース、Rails 5.0で必須となるSymbol GCを搭載

    Ruby 2.2.0」には、Symbolオブジェクトのガベージコレクトに対応した新しいガベージコレクタを搭載しており、「Rails 5.0」ではこのSymbol GCが必須となる。また、新たなインクリメンタルGCによってガベージコレクションの休止時間を減少させるので、Railsアプリケーションの動作に役立つ。 メモリ管理機能では、configure.inにjemallocを使用可能にするオプションを追加しているが、現時点では実験的な機能であり、開発チームがパフォーマンスデータとユースケースを確認するまではデフォルトでは動作しないよう設定されている。 このほか、system()とspawn()において、外部コマンドを多数呼び出す際の大幅な高速化が期待できるvfork(2)を実験的にサポートする。ただし、vfork(2)は使い方によっては有害になる可能性もあるシステムコールのため、今後も利用

    「Ruby 2.2.0」がリリース、Rails 5.0で必須となるSymbol GCを搭載
    mercure
    mercure 2014/12/27
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、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

    mercure
    mercure 2014/07/03
  • [その1] Rubyプログラマー向けのGo言語の解説 - ワザノバ | wazanova

    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間の関係を考慮しなくてはいけなくなるの

  • '10年代のRubyコア用語集

    IRC (あいあーるしー) 「教養チャンネル」とも「衒学チャンネル」とも呼ばれる。ほとんどのタイミングで日史か中欧史か仏教史か英語史の話をしている。たまにRubyの話題になると逆に違和感が… ISeq (あいせく) RubyVM::InstructionSequence のこと。長いので誰も正式名称で呼ぼうとしない。 rubyスクリプトのいくつかある表現型の中でもっとも低レベルな表現。現在、rubyスクリプトからISeqを生成する機能は公開されているが、そのようにして生成したISeqを実行する機能はセキュリティ上の懸念から(作られてはいるが)封印されている。→ AST ID (あいでぃー) 型。rubyレベルでいうSymbolにほぼ相当するもの(ちょっとだけ違う)。objcプログラマーはこれを見てVALUEと混乱しないように。 assn (あさしん) IRCで彼らがアサシンと呼んでいるも

    '10年代のRubyコア用語集
    mercure
    mercure 2013/10/20
  • Rubyによる関数型プログラミング

    古き良き小学校の時代、この行には困惑させられたものだった。 魔術的な x が、加算されたのに等しいままでいる事に。 どういうわけか、プログラミングを始めると、それに構わなくなる。 「やれやれ、それは重大な事柄じゃないし、プログラミングとは現実のビジネス行為なんだから、 数学的な純粋さについてあら探しなんて必要無い (その議論なら、大学にいる狂った髭面野郎どもにさせておけばいい)」と思っていた。 けれども、ただ知らなかっただけで、我々が間違っていて高い代償を支払っていたのは 明らかである。 Wikipedia によれば、「関数型プログラミング(functional programming, FP)とは、 計算を数学的な関数の評価とみなし、 状態や可変データを避けるプログラミングパラダイム」である。 言い換えると、関数型プログラミングは、 副作用が無く変数の値を変化させないコードを推奨する。

    mercure
    mercure 2013/02/05