タグ

rubyに関するyukatouのブックマーク (58)

  • RubyKaigi 2015 Matzのためになる話

    雨と強風の中、RubyKaigi 2015に参加。お昼には雨は収まっていた。イベントメモは3日分整備してからEvernoteのノートをアップする予定。 初日のキーノートではまつもとさんのためになる話を聞いた。 Rubyはもはや私の言語ではない MNASWAN 怒りとナイス OCaaS 変化と苦痛 Rubyの成功の秘訣 4つの学んだこと これらの話はRubyに関係なくソフトウェアエンジニアには参考になる話だと思う。 Rubyはもはや私の言語ではない RubyはもはやRubyコミニティが作った言語になっているということ。最後の採用はコア開発者が決めるが、アイディアの多くがコミニュティから出て、コミニティで議論されている。 KeynoteRuby 3に言及しているようにRubyの大まかな方針はまつもとさんが打ち出している。集団の各自が自発的に動くのも重要だけど、船頭多くして船山に登ることにもな

    RubyKaigi 2015 Matzのためになる話
    yukatou
    yukatou 2015/12/17
  • 「Matzから、Rubyパフォーマンスのポイントを教えてもらおう!会議」レポート #matz_1031 — ALL-IN Tech Blog

    「Matzから、Rubyパフォーマンスのポイントを教えてもらおう!会議」レポート #matz_1031 こんにちは、開発2年目エンジニアの 岩﨑 俊貴 です。 2015.10.31(Sat)13:00-15:30 @渋谷クロスタワー32F CTカンファレンスルームにて 弊社顧問、Rubyの作成者まつもとゆきひろ氏をはじめ、 株式会社Ruby開発 開発室室長 柴田有一郎氏 株式会社Speee サーバサイドスペシャリスト 西岡寛兼氏 にお越しいただき、勉強会を開催いたしました。 ここでは当日のスライドをまとめてご覧いただけます。 当日ご協力いただきました皆様、 また、お越しいただきました皆様、誠にありがとうございました。 Index Rubyのパフォーマンスはどこまで上げられるか。あるいはRuby当に遅いのか? (まつもとゆきひろ氏) Benchmarkspec (株式会社Ruby開発 開

    「Matzから、Rubyパフォーマンスのポイントを教えてもらおう!会議」レポート #matz_1031 — ALL-IN Tech Blog
  • http://kwatch.houkagoteatime.net/blog/2015/10/28/keight_rb_released/

    http://kwatch.houkagoteatime.net/blog/2015/10/28/keight_rb_released/
    yukatou
    yukatou 2015/10/29
  • Ruby製の構文解析ツール、Nokogiriの使い方 with Xpath - プログラマでありたい

    RubyHTMLやXMLをパースする構文解析ツールの定番は、Nokogiriです。スクレイピングする際の必需品で、なくてはならないモジュールの1つです。ただ色々なことが出来る反面、どこから取りかかれば良いのか解り難い部分もあります。自習を兼ねて、Nokogiri概要と主要な機能を紹介してみます。 Nokogiriとは何か? ReademeによるとNokogiriとは、「HTMLとXMLとSAXとXSLTとReaderのパーサー」で、特徴としては、XPathCSS3セレクター経由で探索する機能を持つことのようです。他にもHTMLやXMLのビルダーの機能を持っていますが、HTMLとXMLのパーサー(構文解析器)と覚えておけばよいでしょう。 Nokogiriのクラス構造 Nokogiriは、なかなか巨大なライブラリです。10以上のモジュールと70以上のクラスで構成されていて、yardでダイア

    Ruby製の構文解析ツール、Nokogiriの使い方 with Xpath - プログラマでありたい
    yukatou
    yukatou 2014/04/15
  • [その1] Ruby 2.0のガベージコレクタを使いこなす - ワザノバ | wazanova

    http://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc Ruby 2.1のガベージコレクタ (GC) については、「RubyPythonの違いからガベージコレクタを理解する [その1] [その2] 」で取り上げましたが、今回は、DiscourseのSam SaffronがまとめているRuby 2.0のGCを利用するにあたっての学びを紹介します。 1) Heaps of heaps MRIはヒープにRVALUEとして知られているオブジェクトをもつ。各ヒープは約16KB。RVALUE構造体は、マシンのアーキテクチャによって異なる量のメモリを消費する。x64マシンでは40 byte、x32マシンではサブアーキテクチャー次第で20 byteから24 byte。RVALUEはマジカルなC構造体で、Rubyの様々なローレベル

    yukatou
    yukatou 2013/12/11
  • [初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita

    はじめに: 遠回りせずに「近道」を探す RubyRailsを始めたばかりの人は、もっと短く書く方法や便利な標準ライブラリの存在を知らずに遠回りした書き方をしてしまいがちです。 そこで、RubyRails初心者の人によく見かける「遠回り(または車輪の再発明)」と、それを回避する「近道」をいろいろ集めてみました。 2013.11.06 追記 この投稿を書くに至った経緯などを自分のブログに書きました。 こちらも合わせてどうぞ! 昨日Qiitaに投稿した記事は普段のコードレビューの副産物 - give IT a try Ruby編 以下はRubyの標準機能を使ったイディオムやメソッドです。 Railsプロジェクトでもそれ以外でも使えます。(Ruby 1.9以上を想定) 後置ifで行数を減らす

    [初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita
    yukatou
    yukatou 2013/11/05
  • 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

    Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
    yukatou
    yukatou 2013/05/30
  • rspecの標準matchers(マッチャー)一覧 - 酒と泪とRubyとRailsと

    RSpecの標準マッチャー(matcher)の一覧を作ってみました。できるだけ一覧を見やすくして、開発の手助けになることを目指しています。 🚜 RSpecって何?RSpecのベーシックな情報は以下がお勧めです。 「RSpec をもっと理解したかったので、まとめを作りました」に感動してRuby 1.9.3でやってみた! : 以前作ったものです。RSpecの導入の手助けになると思います。 改めて学ぶ RSpec : RSpec初歩からしっかり理解できるすばらしい記事です。 RSpec 簡潔に記述する(1) it ブロックを短く書く! : 説明がすごくわかりやすくて勉強になります。 🐡 マッチャー一覧 マッチャー not 意味・機能

    rspecの標準matchers(マッチャー)一覧 - 酒と泪とRubyとRailsと
  • プロトタイプ開発用のRailsプラグイン「Chanko」を2.0.0にアップデートしました - クックパッド開発者ブログ

    技術部・開発基盤グループの中村です。 この度、クックパッドが開発し、オープンソースとして公開しているRuby on Rails向けプロトタイプ開発用のプラグイン「Chanko」を再設計し、Ruby 2.0.0 への移行に引き続き Chanko 2.0.0 をリリースしました。Chanko 2.0.0 では、これまでのバージョンと互換性を保ちながら、主に実行速度やコードの可読性について改善が加えられています。 http://cookpad.github.io/chanko/ Chankoとは Chankoは、素早く安全に新機能のプロトタイプを行うためのフレームワークです。クックパッドでは今現在でも、Chankoを使って多くの機能を独立して開発し、対象範囲を限定して公開することで新機能の検証サイクルを回しています。Chankoを利用して拡張した機能でエラーが起きた場合、拡張前の機能に自動的に切

  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 達人出版会 3,520円 (3,200円+税) 『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。 ※書の公式ハッシュタグは#naruhounix になります。 関連サイト原著者による公式ページと訳者らによるサポートページがあります。 Working With Unix Processes - Learn the Fundamentals of Unix Programming in RubyなるほどUnixプロセスサポートページ 日語版刊行によせてRuby

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎
  • Rubyの拡張ライブラリを作ってみよう! - ser1zw's blog

    はじめに Ruby Advent Calendar jp: 2011 : ATNDの17日目の記事です。昨日は@yoppiblogさんのSeleniumの自動テストをCI環境(Jenkins)で快適に実施するでした。 Rubyを使ってて 遅い…ここだけ超遅い… とか あのライブラリが使いたい!でもRuby用のライブラリじゃないし… みたいなこと、ありますよね? そんなとき、Rubyの拡張ライブラリで解決できるかもしれません。 Rubyの拡張ライブラリは、普通のライブラリと異なりC(とかC++とかその他の言語とか)で作成します。そのため、Rubyで直接書くよりも高速に処理できたり、Cのインタフェースが用意されているライブラリをRubyから呼びだしたりすることができます。すばらしい! そんなわけで、拡張ライブラリの作り方をざっくり説明したいと思います。 用意するもの Cコンパイラとかmakeと

    Rubyの拡張ライブラリを作ってみよう! - ser1zw's blog
    yukatou
    yukatou 2013/03/26
  • Homebrew+rbenvでRuby 2.0.0-p0インストール - 130単位

    Ruby 2.0.0-p0 is released Ruby2.0がリリースされました。Homebrewとrbenvによるインストール手順です。rbenv/OpenSSL/Readlineがインストール済みで最新にする場合は各ツールをbrew upgrade <formula> してください。 Environments Mac OS X 10.8.2 Mountain Lion Homebrew 0.9.4 Update Homebrew Formula brew update OpenSSL, Readline brew install openssl brew install readline ruby-build brew uninstall ruby-build brew install --HEAD ruby-build --HEADでインストール済みだと以下のエラーが出るので、

  • hp12c

    2015 Feb 19 Rubyによる暗黙のFizzBuzzの世界 2014 Dec 15 Ruby de Streem Aug 10 Ruby的FizzBuzz Aug 08 Ruby製サードパーティライブラリgemのトレンドを知るには「BestGems.org」がベスト Aug 04 ターミナルにデジタル式デカ文字を出力する「digi_moji」の紹介 Aug 04 わかりやすいREADME.mdの書き方がわかりません。どうしたらいいでしょうか(Yawhoo知恵袋) - digi_mojiのステマ Jul 28 カラム指向ターミナルカラーライブラリ「colcolor」にcyclicオプションを付けました! Jul 14 Yet Another Terminal Color for Ruby: Colcolorの紹介 Jul 14 自分が公開しているgemの日々のダウンロード数が気になっ

    yukatou
    yukatou 2013/01/25
  • ねえRuby、どこまでが君でどこからが内部DSLなの?

    Rubyは内部DSL(Domain Specific Language)に向いている言語と言われます。Rake, RSpec, Rack, Sinatraなどは内部DSL on Rubyの代表的なサンプルです。Rubyの構文のユルさとメタプログラミングが内部DSLを容易にするんですね。 しかし正直僕は、何が内部DSLで、何が内部DSLでないのかがわかっていません。人が何をさして「これは内部DSLである」と言っているのかがよくわかりません。 そんなわけで… 以下では、Userクラスの設計を通して内部DSLらしきものを作ってみます。このイテレーションに対して「ここからが内部DSLだよ」「これは内部DSLとは呼ばないよ」と、誰か僕に優しく教えてくれませんか? Userクラスの作成 Userクラスはユーザ情報を管理するクラスです。ファイル名はuser.rbとします。 まずはユーザの登録機能を作りま

    yukatou
    yukatou 2012/12/12
  • Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと

    GoFのデザインパターンとは、「プログラミングのベストプラクティスを体系化したもの」です。このベスト・プラクティスをしっかりと理解して設計すれば、ソフトウェア設計の効率を高めることができます。またデザインパターンが「プログラミングの思想」の共有をよりスムーズにしてくれます。先人たちの試行錯誤の結果を効果的に利用して、プログラミングをもっと楽しんでしまいましょう! 🗻 デザインパターンのポイントGoFのデザインパターンには下のプリンシパルがあります。 変わるものを変わらないものから分離する インタフェースに対してプログラミングし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(You Ain’t Gonna Need It./YAGNI) 🤔 デザインパターン一覧 アブストラクトファクトリ ビルダ ファクトリメソッド シングルトンパターン アダプタ コンポジッ

    Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと
  • Ruby力を一段アップするために読んだほうが良い公式ドキュメント集 - Qiita

    インスタンス化に関係する ::new, #new, #allocate と継承に関係する #superclass, #inhereted しか定義されていない。 その他のメソッドはすべてスーパークラスであるModuleに定義されている。Classはインスタンス化できるModuleと考えれば良い。 SuperClassの関係 [1] pry(main)> Class.superclass => Module [2] pry(main)> Module.superclass => Object [3] pry(main)> Object.superclass => BasicObject [4] pry(main)> BasicObject.superclass => nil [5] pry(main)> nil.superclass NoMethodError: undefined meth

    Ruby力を一段アップするために読んだほうが良い公式ドキュメント集 - Qiita
    yukatou
    yukatou 2012/11/14
  • Rubyで学ぶオブジェクト指向/デザインパターン

    Rubyで学ぶオブジェクト指向入門 オブジェクト指向プログラミング入門(その1).pdf オブジェクト指向プログラミング入門(その2).pdf オブジェクト指向プログラミング入門(その3).pdf オブジェクト指向プログラミング入門(その4).pdf 添付1 論理シミュレータクラス図.pdf 添付2 Pque説明.pdf 添付3 回路シミュレーション例.pdf 添付4 LogicSimソースコード オブジェクト指向プログラミング入門(その5)簡易システム性能評価シミュレータ.pdf オブジェクト指向プログラミング入門(その6)RUnitに適用されたデザインパターン.pdf Rubyで学ぶデザインパターン パターンサンプルコード このサンプルコードは、Java言語で学ぶデザインパターン入門 結城 浩(著) (ソフトバンクパブリッシング ISBN:479731462)に掲載されているサンプルソ

  • Rubyで自前の例外クラスを作るときExceptionではなくStandardErrorを継承する理由 - yarbの日記

    Rubyの例外について少し調べたので、まとめてみる。 多くのモダンな言語同様にRubyでは例外処理機構が組み込まれている。 ファイルを開こうと思ったらファイルが存在しなかった ネットワーク先のサーバが反応しなくてタイムアウトした 定義されていない(存在しない)メソッドを呼んだ 0で割り算をしてしまった など想定外の問題に遭遇したときに、その問題を無視せずプログラマが何らかの対応処理をするための枠組みを提供する。 C言語など古い言語では、関数からの戻り値でエラーコードを返し、それによって呼び出し側がエラー処理をその場で記述する。例えば、fopen(3)が失敗すると戻り値としてNULLが戻ってきてグローバル変数のerrnoに失敗の理由を示すエラーコードが設定される。 #include <stdio.h> #include <string.h> #include <errno.h> int ma

    Rubyで自前の例外クラスを作るときExceptionではなくStandardErrorを継承する理由 - yarbの日記
    yukatou
    yukatou 2012/10/15
  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

  • 「関数型Ruby」という病(2) - 関数合成 Proc#compose - ( ꒪⌓꒪) ゆるよろ日記

    記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。 注意点として、この記事は、プログラマ厨二病のひとつである「ラムダ症候群(λ-Syndrome)」に罹患した患者にRubyを書かせると、どんなヒドいことになるか実例を示したものであり、けしてこのようなプログラミングスタイルを推奨するものではない。 なぜ関数合成? まず、なぜ関数合成が必要か、そのモチベーションを示す。 前回、単なるメソッド呼び出しや一引数の関数適用のためだけにブロックを記述する必要はない、という話をした。 だが、以下のようなSymbolのArrayがあり、各要素をto_sした上でupcaseしたい場合はどうするか? irb(main):003:0> arr = [:user, :entry, :article, :comment, :category] => [:user,

    「関数型Ruby」という病(2) - 関数合成 Proc#compose - ( ꒪⌓꒪) ゆるよろ日記
    yukatou
    yukatou 2012/08/10