タグ

Rubyに関するo_showのブックマーク (450)

  • ARGVの処理にOptionParserを使ってるライバルをバックミラーから高速に消し去るARGV.getoptsの使い方 - Qiita

    require 'optparse' params = {} opt = OptionParser.new opt.on('-a') {|v| params[:a] = v } opt.on('-b') {|v| params[:b] = v } opt.on('-c file_name') {|v| params[:c] = v } opt.parse!(ARGV) p params % ./very_boring_and_waste_of_time_option_parsing.rb -a -c /tmp/file {:a=>true, :c=>"/tmp/file"} % ./very_boring_and_waste_of_time_option_parsing.rb -h Usage: very_boring_and_waste_of_time_option_parsing [o

    ARGVの処理にOptionParserを使ってるライバルをバックミラーから高速に消し去るARGV.getoptsの使い方 - Qiita
    o_show
    o_show 2014/01/22
  • RubyでただのArrayだと思ってデータを追加したつもりなのに気がついたら全文検索出来ていた・・的なものを作った - ブログのおんがえし

    続きを書きました。 Ruby Advent Calendar 22日目の記事です RroongaというRubyで使える全文検索エンジンがあって愛用しているのですが、使う前の準備でカラム指定やデータ型を指定したり、全文検索のためのインデックステーブルを作るのが少し大変でした(大規模なアプリケーションの時はしっかり定義出来るので便利なのですが)。 普段使いで全文検索するために、実験的にRubyのArrayのように使えるようにしてみました。 インストール Rroongaを使うにはgemのインストールが必要です。他の全文検索エンジンと違ってそれ以外のソフトウェアのインストールが不要なのがいい所です。Windowsでも問題なく動きます。 $ gem install rroonga 今回書いたコードは以下にまとめてあります。 ongaeshi/grn_array - GitHub $ git clon

  • The rumors of Bundler’s death have been greatly exaggerated

    07 Dec 2013 The rumors of Bundler's death have been greatly exaggerated So this week there was some excitement on Github, Hacker News, and Ruby Weekly about the news that Bundler will (eventually) be merged into Rubygems. Before that comment, which was a side point on a different topic, the idea of merging the two projects had not been announced or explained. As lead of the Bundler project, I’d li

    o_show
    o_show 2013/12/13
    「RubyGemsとBundlerは合流して同一コードベースの同じプロジェクトになる事に合意した。でも1年や2年そこらではすぐできない。Bundlerは当面、これからもSemantic Versioningに従ってリリースを続けていくよ」
  • 【Ruby】階層の深いHashを作る方法を知って考えてみた。 - 訳も知らないで

    rubyでプログラムしているとhashのvalueがhash、みたいな 階層の深いハッシュを作る場合結構ありますよね。 ※極端な例 { :hoge => { :fuga => { :piyo => { :foo => { :bar => {:baz => 1 } } } } } } ただその場合いちいちハッシュを定義するのがめんどくさい。 2階層のハッシュをいきなり定義する方法 それを楽に定義する方法が書いてありました。 〜大変参考になりました!〜 階層の深いHashを作成するときに知っておいたら便利なこと - (゚∀゚)o彡 sasata299's blog ハッシュを定義する場合に、 hash = Hash.new { |h,k| h[k] = {} }と定義しておけば、ハッシュの値がハッシュという変数ができます☆ これはここ(Hash.newについて)を参照してもらうとわかるのですが

    【Ruby】階層の深いHashを作る方法を知って考えてみた。 - 訳も知らないで
    o_show
    o_show 2013/10/18
    n階層でもデフォルトをHashに定義する方法
  • Ruby geocoderがすごい - もぎゃろぐ

    住所を緯度経度に直したり、緯度経度から住所を求めたりする操作をgeocodingと言って、Google Maps APIを使うとまあたいていのことはできる。 ロケタッチAPIとか、Yahoo!ジオコーダAPIという手もある。 それはともかく、そのへんをパチパチ叩くコードを書いていて、「こんなのもうとっくに誰かが書いてんじゃないかなー」と思ってぐぐってみたらなんかすごいのが出てきた。 Ruby Geocoder 住所と緯度経度の相互変換はもちろん、距離や範囲の扱い、Google以外のAPIへの対応、キャッシュ処理など、「実装しようかなー。でもめんどくさいよね」とか思って先送りしていたような機能がほとんど全部実装されている。 住所の取得 require 'geocoder' # 日語ロケールに設定 Geocoder.configure( :language => :ja, :units =>

    o_show
    o_show 2013/10/12
  • 社長が訊く『すれちがい通信中継所』|ニンテンドー3DS|任天堂

    はい。そこで、今回はインフラに 「クラウドサービス」(※20)の利用を検討しました。 具体的には、AWS(※21)を利用しています。 これによって、 何台のサーバーを使おうと決めた時点で、 その日のうちに新しいサーバーが使えるという とても便利な仕組みが利用できるようになりました。 ※20「クラウドサービス」=仮想サーバーやストレージ、ネットワークなどの計算資源を、必要な時に必要な分だけインターネットを通じて利用できるサービス。 ※21AWSAmazon Web Services。Amazon.comが提供するウェブサービス。国内外の数多くの企業がこのサービスを利用している。

    社長が訊く『すれちがい通信中継所』|ニンテンドー3DS|任天堂
    o_show
    o_show 2013/09/06
    るびまにも「任天堂がRubyを使っている」というお話が載りましたが、公式なところでも触れられてる! そして具体的なツール名も
  • これは凄い!RubyでPhotoshopファイルを解析·PSD.rb MOONGIFT

    PSD.rbはRuby製のオープンソース・ソフトウェア(MIT License)です。 Webやアプリのデザインの際にPhotoshopを使う事がよくあります。そんな時に出来上がった画像を分析してコーディングに落とし込んだりします。それの自動化さえできるようになるのではないかというライブラリがPSD.rbです。 インストールはRubygemsで行えます。 適当なPSDファイルを読み込んでparse!を実行します。trueが返ってくれば解析完了です。処理はファイルサイズにもよりますが結構重たいです。 treeで木構造を出力します。こちらもファイルが大きければ膨大になります。 PSD.rbでは構造、サイズ、レイヤー/フォルダサイズと名前、フォントデータ、カラーモード、ベクターマスク、フラットな画像データなどが読み取れます。Photoshopのファイルを使ったサービスが捗りそうです。 MOONG

    これは凄い!RubyでPhotoshopファイルを解析·PSD.rb MOONGIFT
    o_show
    o_show 2013/08/14
  • Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について

    ─ 問題1 ─ data.csvファイルには、5人のプレイヤー(Alice, Bob, Jimmy, Kent, Ross)が二種類のゲーム(gameA, gameB)をプレイした結果が次のような形で格納されている。各ゲームの平均点を求めよ。 data.csv player,gameA,gameB Alice,84.0,79.5 Bob,20.0,56.5 Jimmy,80.0,31.0 Kent,90.5,15.5 Ross,68.0,33.0 data = File.read('data.csv') headers, *scores = data.lines.map { |line| line.chomp.split(',') } scores # => [["Alice", "84.0", "79.5"], ["Bob", "20.0", "56.5"], ["Jimmy", "80

    o_show
    o_show 2013/07/06
    るりま「日本語の CSV ファイルを扱う場合はあまり使いません。」とある。optionに指定されるheader_convertersがデフォルトで:symbolなためヘッダに対してgsub(/\W+/, "")っていう処理をする。:header_convertersにnilを指定すれば良い?
  • チーム内にRuby製のツールを広める時にはGemにしておくべき - Qiita

    もしかしたら、Rubyに慣れてない人には気付いていない人も居るかと思ったので、 カジュアルにRubyGemsを活用する事のメリットについて書いておきます。 普通、Rubyのgemパッケージは、gem installでインストールできるようにrubygems.orgにホスティングしておくのが基です。 とは言え、世界的に公開されるものなので、ちゃんとgemとしての体裁を整えておかないと何か恥ずかしいし、説明とかも英語でちゃんと書いとかないと、って考えると面倒なレベルのツールとかあると思います。 API叩くための簡易コマンドとか、社内ツールの処理自動化とか。 しかし、Bundlerとgitのおかげで、現在はそういった事を余り気にする必要が無くなっています。 Bundlerは、gitリポジトリから直接コードをクローンして、パッケージ化されたgemと同様に扱う事ができます。 参考: Bundler

    チーム内にRuby製のツールを広める時にはGemにしておくべき - Qiita
  • RubyでExcelデータをJSON形式に変換するには|TechRacho by BPS株式会社

    Excelで作った表データをJavaScriptであれこれしたい時に,ExcelデータをJSONに変換したいことがあったので,さっくり書いてみました.特徴としては,セル内改行があっても正しくデータが取れるので,CSVやTSVに比べるとデータに自由が効く点があります.HTMLを入れてみたり,JavaScriptを入れて読み込み側でeval()してみたりと色々応用が利くと思います. 動作環境 動作環境はRuby 1.9.3,ActiveSupport 3.2.13,roo 1.11.2です.Mac環境でのみ確認しています.ご利用は自己責任でお願いします. 利用方法 まず,以下のgemをインストールします. $ gem install active_support roo その後,以下のコードをexcel2json.rbとして保存します.Excelデータのファイル名は適宜変更してください. #

    RubyでExcelデータをJSON形式に変換するには|TechRacho by BPS株式会社
  • rbenv のメカニズム - @kyanny's blog

    rbenv 環境下で実行された Ruby プログラムの中から他の Ruby プログラムを起動するときに、 rbenv 環境をリセットしたい―要するに別のバージョンの Ruby で外部プログラムを実行したい―という事情があったので rbenv のメカニズムについて調べた。 rbenv 環境下で ruby コマンドを実行するとき、実際にコンパイルされた ruby バイナリが直接実行されているわけではない。 rbenv 環境をお膳立てした上で ruby バイナリを exec するラッパーのシェルスクリプトが実行される。こういうものを binstub と呼ぶ。 binstub である ruby という名前のシェルスクリプトの中身をみてみると、最終的に rbenv exec というサブコマンドを呼び出している。 rbenv のサブコマンドはリポジトリでいうと libexec ディレクトリ以下にある。

    rbenv のメカニズム - @kyanny's blog
  • 「だから、作れ」と_whyは言った:Rails Hub情報局:エンジニアライフ

    Ruby/Railsと直接関係ありませんが、かつてRubyコミュニティで愛された_why氏の名言を紹介したいと思います。 when you don’t create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create. – Why the lucky stiff (何も作っていないとき、人は自分の能力よりも好みによって特徴付けられることになる。好みは世界は狭め、他人を排除するばかりだ。だから、作れ) これは2005年頃から2009年にかけてRubyコミュニティで「Why the lucky stiff(_why)」のペンネームで活躍していた、ある多才なRubyistのツイートです。 発言の文脈が分からないので、もし

    「だから、作れ」と_whyは言った:Rails Hub情報局:エンジニアライフ
    o_show
    o_show 2012/04/30
  • Objects on Rails is Retired - avdi.codes

    If you’re reading this, you have my permission to nag me to write up an actual post about why I’m no longer distributing Objects on Rails. In the meantime, feel free to sign up for my free email course about how most of what they told me about object-oriented programming was wrong: Lies of Object-Oriented Programming in Ruby and Rails

    Objects on Rails is Retired - avdi.codes
  • Getting the Most out of Bundler Groups - iain.nl

    Did you know you can create as many groups in Bundler as you like? You can and I think you should! Let me show you some ways I use groups to clean up my Gemfile. Why groups? Speed: Requiring gems can get slow, even more so when you have a lot of them. Groups help you require the gems only when they are needed. This is especially true if you use Ruby 1.9.2. In this version of Ruby, the require stat

    o_show
    o_show 2012/03/15
    groupの使い方。
  • Yokohama.rb #18 LT 大会で「Ruby Kaja のご提案」という発表をしました - ruby trunk changes

    土曜日の Yokohama.rb #18 はいつもとは異なる会場で LT 大会ということで、わたしも「Ruby Kaja のご提案」という発表をしてきました。ちなみにこの会場はみなとRubyKaigiの会場予定地だそうで、たいへん立派な建物でしたが SoftBank と emobile の電波が入らなくて困りました。ネットワーク環境の課題がありそうですね。 発表したのは Ruby Kaja というイベントの提案です。 Ruby Hero Awards というコミュニティに貢献したRubyistを表彰するサイトがあります。でも2011年度まで日人の受賞者は0ですね。 RubyKaigi2010 (テーマは「衝突と解決 Conflicts and Resolutions」)でもパネルディスカッションで日Rubyistと海外Rubyistとの断絶という話題がありました。最近はソーシャルコ

    Yokohama.rb #18 LT 大会で「Ruby Kaja のご提案」という発表をしました - ruby trunk changes
    o_show
    o_show 2012/03/13
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • Welcome to nginx!

    If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

    o_show
    o_show 2012/02/27
    Rubyで作られたエディタ。Rubyでプラグインを書いて拡張できる
  • Ruby拡張ライブラリ作成チュートリアル

    目次 準備 まずはC言語プログラムを呼び出す 簡単な数値のやりとり NArray配列を渡す Swigを使ってお手軽変換 参考文献 準備 このチュートリアルではRuby 1.8系列の使用を前提にしています。 確認はすべてRuby 1.8.4 [i386-Cygwin]で行いました。 NArrayはVersion 0.5.8を用いています。 またそれ以外に以外に以下のものが必要です。 Cコンパイラ Rubyのコンパイルに用いたものと同じものが必要です。 バイナリパッケージを導入した場合はどのコンパイラでビルドされたものか 知る必要がありますが、UNIX系ではたいていgccです。 ruby.h, mkmf.rb Rubyをソースコードから自分でビルドした場合はインストールされていると 思いますが、バイナリパッケージを導入した場合はruby.hやmkmf.rbがあるか 確認する必要があります。開発

    o_show
    o_show 2012/02/26
  • 第146回Asakusa.rb (2012-02-21)

    Akira Matsuda @a_matsuda @pragdave Yes, surely! You mean, you can attend? Then please come and visit us. It's really exciting having you as our special guest! 2012-01-22 13:49:25

    第146回Asakusa.rb (2012-02-21)
    o_show
    o_show 2012/02/26