タグ

関連タグで絞り込む (193)

タグの絞り込みを解除

rubyとRubyに関するhkjのブックマーク (300)

  • ruby/ruby#495日本語解題

    三行で卜部って口だけ野郎でどうせたいしたもん書けないんでしょ? [1] [2]→ 見せてやんよゴラァ→ ごらんの有様教訓: 陰口は人に聞こえない所で。さすがに名指しはまずい。 どういうパッチかRubyのオブジェクトサイズを変更(大きく)する。そのことにより第一義的にはCPUキャッシュミスヒットが削減される。副次的作用として大きくなった余剰の領域にデータを詰め込めるので中間構造体を減らしてメモリアロケーションが最適化される。それらの総合的な結果として全体に高速化する。 前史とはいえこのアイディア、べつに最近涌いて出たものでもない。というか、俺がまだ大学院でNetBurstと戯れてたころの発想だから、かれこれ7~8年物だな。しかもこの間べつに秘密にしてたわけでもなくて、Rubyのオブジェクトって素数幅でいくなくね?ってのは、わりと口頭では折に触れて言ってたので、聞いたことがある人もいるはずか

    ruby/ruby#495日本語解題
    hkj
    hkj 2014/01/10
    イケメンとはこういう事か・・・凄いにもほどがある。
  • Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った - ブログのおんがえし

    続きを書きました。 RubyでただのArrayだと思って・・の続きです。正月中に整備してgem化しました。 GrnMini ongaeshi/grn_mini Groonga(Rroonga)を簡単に使えるようにラップしたものです。 カラム指定不要でデータを追加することが出来ます。 永続化、高度な検索クエリ、ソート、グループ化(ドリルダウン)、スニペット、ページネーションなどを簡単に使うことが出来ます。 検索エンジンがすぐに作れます。 インストール $ gem install grn_mini 基的な使い方 実体はRroongaの薄いラッパーですが難しいことを考えずに使えるよう工夫しています。 require 'grn_mini' array = GrnMini::Array.new("test.db") 初めてデータを追加する時にカラム種類を類推して作成します。追加するデータが文字列の

    Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った - ブログのおんがえし
  • Rubyのnet/http でHTTPリクエスト/レスポンスをdumpする方法 - ( ꒪⌓꒪) ゆるよろ日記

    俺得メモ。もう3回くらい同じこと調べたんでいい加減メモ残しておく。 Net::HTTP にset_debug_outputってメソッドがあってコイツに出力先を渡せばいい。残念ながらこのset_debug_outputはドキュメントには載ってないのでnet/httpのソース見てね。 require 'net/http' Net::HTTP.version_1_2 http = Net::HTTP.new("d.hatena.ne.jp", 80) http.set_debug_output $stderr http.start{|http| req = Net::HTTP::Get.new('/yuroyoro') res = http.request(req) print res.body } irbでやると irb(main):001:0> require 'net/http' => t

    Rubyのnet/http でHTTPリクエスト/レスポンスをdumpする方法 - ( ꒪⌓꒪) ゆるよろ日記
    hkj
    hkj 2014/01/04
  • Rubyとか使ってクローリングやスクレイピングするノウハウを公開してみる! - 病みつきエンジニアブログ

    今まで何度もスクレイピングとかクローリングをしてきたので、マエショリストの端くれとしてコツを公開すべきかなあ、と思い、公開します。 今日の題材は、CNET Newsです。私はウェブ文書にタグ付けをするという研究をしているのですが、そのための教師データとしてクローリングをします。 photo by Sean MacEntee 要件定義 CNET Newsから全ニュースを保存し、その文をデータベースに保存します。これは、次のようなフローに書き下すことができます。 全URLを取得し、データベースに保存 データベースにある全URLをダウンロードする 保存した全ページを解析して、文をデータベースに保存する という流れです。これらは独立していますから、それぞれどの言語で解析しても構いません。しかし後述しますが、「あとから追いやすくする」「適材適所」といったあたりを気をつけて、言語選択をするべきだと

    Rubyとか使ってクローリングやスクレイピングするノウハウを公開してみる! - 病みつきエンジニアブログ
  • 現在使っているRubyにインストールしているgem群を他のRuby環境でも使えるようにインストールする方法 - Qiita

    rbenvとかで複数のバージョンのRubyを使っているときや、新しいRubyがリリースされたとき、今まで使っていたRubyのgemを新しいRubyで一括インストールしたいなと前々から思っていたのですが、普段Rubyを使っていないのでやり方が分かりませんでした。 で、Ruby2.1.0がリリースされたおかげか、ネットサーフィンを見ていたらたまたまそのやり方が書いてあるエントリを見つけたので、そこからほぼ引用でやり方書いてみます。 gem list --no-versions > /tmp/gemlist rbenv global 2.1.0 gem install `cat /tmp/gemlist` ポイントはgem listを--no-versionsオプション付けて実行するところですね。普段Ruby使ってないのでこのオプション知らなかったのですが、普段から--helpとか実行して役立ち

    現在使っているRubyにインストールしているgem群を他のRuby環境でも使えるようにインストールする方法 - Qiita
    hkj
    hkj 2013/12/29
  • パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 - - I am Cruby!

    この記事はパーフェクトRuby Advent Calendar 2013 - Adventar の9日目です。 前の日のエントリーはパーフェクトRuby Advent Calendar 2013(8日目) Let's Sinatra Life - たちブログです。 まだ参加できますので、みなさまもぜひ。 パーフェクトRuby Advent Calendar 2013 - Adventar パーフェクトRubyRubyの仕様に大変詳しい同僚への献をインターセプトして読ませていただきました。 さまざまな機能をまとめたとてもよいだと思います。 著者のみなさまの苦労が偲ばれました。パーフェクトRuby (PERFECT SERIES 6)作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/1

    パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 - - I am Cruby!
    hkj
    hkj 2013/12/09
  • Ruby geocoderがすごい - もぎゃろぐ

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

    hkj
    hkj 2013/10/11
    本当に凄かった
  • Ruby 1.8/1.9/2.0 系の違い - 君の瞳はまるでルビー - Ruby 関連まとめサイト

    Heroku の基 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 僕がつまずいた Ruby 1.8/1.9/2.0 系の環境の差異をまとめていきます。 概要 具体的な内容に言及する前に体感(≒経験則)をまずざっと書きます。 Ruby 1.8 と 1.9 の差異 最も大きいのは「多言語化(M17N)対応」の有無である。 マルチバイト文字列の扱いに互換性がない。 そのため対応を考慮せず書いたプログラムは、片方のバージョンでしか動かない。 Ruby 1.8 から 1.9 への移行、そ

    hkj
    hkj 2013/10/08
  • Railsでカスタムmarkdownを実装する - たのしい人生

    2013-09-19 Railsでカスタムmarkdownを実装する Railsでブログ実装したくなることないですか? その際に記法の選択肢の一つにmarkdownが出てくると思います。 redcarpetを使うと簡単にmarkdownを実装できるので、その方法をまとめました。 Redcarpetでmarkdownを実装する Gemfileにredcarpetを追加 gem 'redcarpet' helperにメソッドを作る app/helpers/markdown_helper.rb など作って、 module MarkdownHelper def markdown(text) unless @markdown renderer = Redcarpet::Render::HTML.new @markdown = Redcarpet::Markdown.new(renderer) e

  • 第27回 #p4d 参加した:omniauth-twitter - 納豆には卵を入れる派です。

    前回の続き。おかげさまで、Iteration 周りは自力でも進められそうな感じになってきたので、Twitter でユーザーがログインする機能を作りたいとおもった。 omniauth-twitter を使えば楽にできるけど、楽に出来すぎてよくないので OAuthからちゃんとやった方がいいですよというアドバイスを頂き、どっちがいいのかなあと思っていたのだが、あまり時間もないので omniauth 使うことに。今回、@katton さんに教えていただいたのですが、 OAuth とは?というところからわかりやすく教えていただき、だいぶカバーされた感じなので、下記おすすめ書籍を読んで理解深めたい。 また、@katton さんは、リアルタイムでエディタでお題を書きながら、そのメモをエディタ上で見せながら進めてくださり、さらにそのメモを帰宅後送って下さるなど、大変ありがたく、またこの方法は教えるのに大変

    第27回 #p4d 参加した:omniauth-twitter - 納豆には卵を入れる派です。
  • RubyでGUIアプリを作るならJRuby JavaFX Rawrで決まり!

    Ruby大好きな私としては、一般配布するGUIアプリケーションとかもRubyで書きたい訳です。しかし、Windowsには標準でRubyは入っていないし、Macもバージョンが古い1.8.7が標準だしで、普段プログラミングなんかしない一般ユーザーさんでも簡単に起動できるアプリケーションを作るのがなかなか難しいという問題があります。 そういった問題から、クロスプラットフォームな言語・ライブラリ、例えばC++のQtなんかに一時期浮気したりもしたのですが、やっぱりRubyで書きたい。だってRubyが好きだから。 そして、色々調べまくった結果、はい、ついに「これだ!」と思えるRubyによるGUIアプリケーション開発環境を揃えることができました。それは… JRuby JavaFX jrubyfx Rawrこの組み合わせです…!それぞれ解説していきましょう。 JRuby … JavaRubyJRuby

  • Route 477(2013-04-01)

    ■ [ruby] RubyでUTF8-MACUTF-8に直す プレビュー.appからMacVimにコピペしたら、「はじめに」が「はし゛めに」みたいになってしまって困ったので、 Rubyのワンライナで直してみた。 $ ruby -e 'print File.read(ARGV[0], encoding: "utf8-mac").encode("utf-8")' a.txt > b.txt Ruby(>= 1.9)便利。 ■ [ruby] RubyでMagic commentが必要なファイルを列挙する Ruby 2.0からスクリプトエンコーディングのデフォルトがUTF-8になったので、文字列リテラルに日語を使うときもマジックコメントを書かなくて良くなりました。 …というのは嬉しい変更なんですが、そうすると今度は「手元のRuby 2.0では動いてるけど、サーバのRuby 1.9.3で動かした

    Route 477(2013-04-01)
    hkj
    hkj 2013/07/04
  • JPEGのフレームヘッダを読んでwidthとheightを取り出す - 昼メシ物語

    突然ですが、JPEG の構造はだいたい下記のような感じになってます。 今回は libjpeg 等のライブラリを使わずに、JPEGファイルから画像の width と height を取り出したいと思います。この width と height の情報は、上図におけるフレームヘッダセグメントに入っています。 基礎知識 フレームヘッダセグメント フレームヘッダセグメントの中身は、以下のとおりです。 データ サイズ(bit) フレーム開始マーカー 16 フレームヘッダのサイズ(byte) 16 サンプル精度 8 height 16 width 16 省略 あとは、サンプリングファクタとかが延々と続くんですが、今回は不要なので省略しています。 ヘッダセグメント フレームヘッダ以外のヘッダセグメントには、EXIFデータやサムネイルなど、画像のデコードに直接関係ないメタデータが入っています。 JPEGでは

    JPEGのフレームヘッダを読んでwidthとheightを取り出す - 昼メシ物語
    hkj
    hkj 2013/07/04
    rubyでJPEGファイルを扱っている
  • 澳门六合官网-澳门六合官方官网

    澳门六合官网【官方直营-信誉品牌】澳门六合官网实力打造全网顶级信誉、高赔率、最稳定的娱乐服务平台,24小时客服在线,首充就送,提现秒到账,澳门六合官网欢迎您的加入...

  • Jekyll • Simple, blog-aware, static sites

    No more databases, comment moderation, or pesky updates to install—just your content. How Jekyll works → Static Markdown, Liquid, HTML & CSS go in. Static sites come out ready for deployment. Jekyll template guide → Blog-aware Permalinks, categories, pages, posts, and custom layouts are all first-class citizens here. Migrate your blog →

    Jekyll • Simple, blog-aware, static sites
  • RubyでGroonga使って全文検索 - ラングバ

    ラングバプロジェクト ラングバプロジェクトはカラムストア機能も備える高速・高機能な全文検索エンジンGroongaを用いた全文検索システムを提供するプロジェクトです。Groongaの機能をRubyから利用するためのライブラリ、様々な文書から検索対象のテキストを抽出するユーティリティ、検索用Webインターフェイスなどを提供します。提供する機能の一覧は以下の通りです。 Rroonga: Groongaの機能をRubyから利用するためのライブラリ ActiveGroonga: RroongaをWebアプリケーションから使いやすくするためのライブラリ ActiveGroonga Fabrication: FabricationにActiveGroongaサポートを追加するライブラリ racknga: 検索用Webアプリケーションの構築・運用を支援するユーティリティ Packnga: 多言語対応ドキュ

  • ニコニコ動画の動画をダウンロード - Qiita

    ニコニコ動画の動画をダウンロードするコードを書いたので説明 動画の保存場所の入手 動画の保存場所を入手するgetflvというAPIがあります http://flapi.nicovideo.jp/api/getflv/sm#{id} ニコニコ動画のAPIを使う準備としてとりあえず、ニコニコ動画にログインする ログインをしてるCookieとその動画へのアクセスが無いと動画などを保存しているURLなどを返してくれない 楽がしたいのでとりあえずmechanize require 'rubygems' require 'mechanize' mail = "ニコニコ動画に登録してるメールアドレス" pass = "ニコニコ動画に登録しているパスワード" agent = Mechanize.new; agent.post("https://secure.nicovideo.jp/secure/logi

    ニコニコ動画の動画をダウンロード - Qiita
  • Mac を使っているなら必ず使うべき2つの機能 "Automator" と "サービス" - kurainの壺

    Automator ってなんか超高機能なマクロみたいなイメージがありますが、とても便利なのでご紹介。 もともとは、会社の上司Windows から Mac に移行したのだけれど、"秀丸みたいに選択範囲を ruby で evalできないの" とおっしゃっており、しかも Emacs は微妙とのことなので、Automator でどうにかしてみた。Service でできるんじゃないかねと教えてくれた同僚に感謝。 追記(2013/02/24) デバッグ方法を別エントリに書きました できること 文字列選択して Ctrl+= を押すと選択文字列が ruby で実行されます。編集可能なテキストエリアならだいたい何処でも。 作り方 アプリケーション ディレクトリにある Automator を起動します。 新しくサービスを作ります ユーティリティ > "シェルクスクリプトを実行"というアクションを選んで右の

  • RubyでTwitterにつぶやいてみるまでのメモ - Qiita

    概要 Ruby のGem Twitter を利用して、簡単な設定ファイルを用意し、自分専用アプリとしてRuby インタプリタ上で自分のタイムラインにつぶやきを投稿してみる。 おおまかな手順としては、 Twitter Developers にアクセスし、アプリケーションを登録する。 Atoken4Me にアクセスし、アクセストークンを取得。 Ruby gem Twitter をインストール。 アクセストークンなどをRubyスクリプトとして保存し、それを利用してRuby インタプリタ上でつぶやく。 Twitter Developers でアプリケーション登録 まずはTwitter Developersにアクセスし、Twitter アカウントでサインインします。(アカウントがなければ先に登録から。) ここでは、アプリケーションの登録とアプリケーションのアクセス権限の設定を行います。 アプリケーシ

    RubyでTwitterにつぶやいてみるまでのメモ - Qiita
  • 今年の冬休みに電子書籍であなたがRubyを習得しなければいけないたった一つの理由

    冬休みです。多忙なあなたがまとまった自由時間を取れる唯一のチャンスです。こんなときは、遊んではいけません。なぜならその消費方法があなたの未来を決定付けるからです。もちろん、家族や両親や犬の世話をしてもいけません。寝正月などもっての外です。それはあなたの未来のための時間なのです。 そう、この時間を使ってあなたは学習するのです。 今年の冬こそはプログラミング言語を習得するのです。なぜならプログラミング言語を習得すれば、お見合いのときに「LispとRubyを少々」という相手に対して臆することなく「ほほぅでは関数型にも興味をお持ちかな?」などと返すことができるのです。 プログラミング言語といったら「Ruby」です。なぜならそれは日人が作った言語だからです。国語の勉強をせずにいきなり外国語を学ぶ人はいません。事情はプログラミング言語の世界でも同じです。ですからまずは国産言語「Ruby」を学ぶべきな