タグ

programmingとrubyに関するudyのブックマーク (29)

  • railsコマンドを追う - 旧gaaamiiのブログ

    Ruby on Railsというフレームワークを使うとrails new Hogeとかでアプリケーションのひな形ができちゃって、rails serverでサーバーが立ち上げられたりするわけですが、これは一体どうなってるんだというのを追っていけたらなと思います。誰にでもわかるように書きたいです。今回こそはくじけずに書ききりたい。 railsとbin/railsの違い railsはシステムにインストールされたrailsコマンドを呼ぶ(/Users/ユーザー名/.rbenv/shims/railsみたいな)。 bin/railsはそのプロジェクト下のbin/railsのコマンドを呼ぶ。 bin/rails Railsプロジェクトを作ると、binというディレクトリの中にrailsというファイルがある。これをエディタで開いてみる。 $ vim bin/rails 中身はこんな感じ。 #!/usr/b

    railsコマンドを追う - 旧gaaamiiのブログ
  • レコメンドなどで使われる類似度計算をRubyで自動化 - Qiita

    レコメンドやデータ分析に使われることも多い類似度計算を簡単にできるmoduleを作りました。 対応している類似度は以下の3つ。 コサイン類似度 JacCard係数 Dice係数 多少汎用的に算出ができるように、配列とハッシュに対応。 ① 二つの配列を渡すと類似度が返ってくる ② 二つのハッシュを渡すと類似度が返ってくる ③ モデルとカラムを渡せば類似度を全てのレコードの組み合わせの類似度を算出してくれる(未完成) ※③は、例えばUserテーブルを持っていたとしたら、Userというクラス名と、Userモデルから取得できるデータやカラム名と重みを渡すだけで、user-user全ての類似度を算出してくれたら便利だなと思って作ってみました。 ①、②については以下のsimilarity_generator.rbで算出できる module SimilarityGenerator #data1,data

    レコメンドなどで使われる類似度計算をRubyで自動化 - Qiita
  • Rails入門 | Rails日本語ドキュメント | Ruby STUDIO

    Ruby on Rails Guidesの内容を翻訳して作成したガイドです。 誤訳や誤記があると思いますのでその点についてはご了承ください。 もし、誤訳などの間違いを見つけましたら、 @tomof まで教えていただければ幸いです。 訳注:Rails4の「Getting Start」からは、scaffold(スキャフォールド)の説明がとり除かれたようです。 これは、おそらくscaffoldを使用することで、かえって初心者の理解を妨げる要因になると考えられてのことだと思われます。 scaffoldの事が知りたければ、Rails入門(Rails 3)を参照してください。 Railsの入門ガイドです。 このガイドを読むことで、次の事が学べるはずです。 Railsのインストールし、Railsアプリケーションのプロジェクト生成、データベース接続 Railsアプリケーションの一般的なレイアウトについて

  • 最強の情報収集術!初心者向けRuby+NokogiriでWebスクレイピング徹底解説 - サラリーマン休日副業で月10万円以上目指すページ

    はじめに 情報氾濫の時代、インターネット上には数えきれないほどの情報で溢れています。効率よく情報収集を行うことができたら・・・そんなあなたにオススメしたいのはWebスクレイピング。 プログラミングを使って自動でWeb情報をクローリングし、加工した上で必要な情報を効率よく収集します。 プログラミングと聞いて顔が曇った方も多いかも知れませんが、現在はプログラミングの敷居もかなり下がっています。 Rubyは日語製のスクリプト言語。和製ゆえにドキュメントも豊富です。今回はWindowsな方向けにRubyの導入から実際にサンプルプログラムを動かしてみる所まで詳説したいと思います。 Rubyのインストール Ruby InstallerのHPから「Ruby 2.0.0-p***」をダウンロードします。 RubyInstaller - Homepage インストーラーを実行してください。 日語を選択。

    最強の情報収集術!初心者向けRuby+NokogiriでWebスクレイピング徹底解説 - サラリーマン休日副業で月10万円以上目指すページ
  • あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい

    3年ほど前に、Ruby製のクローラー"anemone"を紹介しました。その当時から完成度が高く、Rubyでクローラーを使う場合はanemoneを利用してきました。最近、他に新しくて良いのがないか調べましたが、機能面の網羅性という意味でanemoneを超えるものは見つけられませんでした。そこで改めてanemoneのソースを読んでみたところ、クローラーが必要とする機能を必要最小限で実装され、やはり中々良い出来です。冬休みの宿題ではないですが、勉強の意味を兼ねてソースを追っていくことにします。 Anemoneが利用しているライブラリ一覧 anemoneが利用しているライブラリは、4種類に分類できます。 Ruby標準or一般的なライブラリ データ取得で利用しているライブラリ データ解析で利用しているライブラリ データ保存で利用しているライブラリ この分類別に構造をみるとわかりやすいので、順番に追っ

    あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい
  • monoweb.info - このウェブサイトは販売用です! - monoweb リソースおよび情報

    このウェブサイトは販売用です! monoweb.info は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、monoweb.infoが全てとなります。あなたがお探しの内容が見つかることを願っています!

  • Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介

    Perl基礎文法最速マスターをだいたいそのまま、Rubyに置き換えてみました。 他の言語をある程度知っている人はこれを読めばRubyの基礎をマスターしてRubyを書くことができるようになる…かも知れません。無保証です。 参考: オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.9.2) オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.8.7) ■ 1. 基礎 インタラクティブRuby (irb) irbを使うと、Rubyのプログラムを簡単に練習することができます。 /Users/yhara $ irb irb(main):001:0> puts "hello" hello => nil irb(main):002:0> 1 + 1 => 2 以下の説明は、irbを起動して、自分で試しながら読むと習得が早いと思います。 表示 (print,

    Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • Loading...

  • プログラミング言語Ruby ― ありえるえりあ

    方針 Rubyをまったく知らない前提で始めます JavaJavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al

  • RubyCocoa 入門

    RubyCocoa とは? RubyCocoa は、Mac OS X アプリケーションを開発するためのフレームワークです。 RubyCocoa によって、 OS X アプリケーションを作ること Ruby から拡張ライブラリとして Cocoa を利用すること ができるようになります。 RubyCocoa のインストール Tiger の場合、以下の URL から最新版の dmg をダウンロードして、インストールしてください。 http://sourceforge.net/project/showfiles.php?group_id=44114 Leopard では、RubyCocoa は OS に標準添付されているので、インストールの必要はありません。 はじめての Mac OS X アプリケーション では、さっそくアプリケーションを作ってみましょう。 まず、Xcode を立ち上げます。(/De

  • 第1回 軽量さと堅牢さを兼ね備えたメッセージング | gihyo.jp

    はじめに みなさん、はじめまして。 今回からRubyによるオープンソースのメッセージングライブラリ、AP4Rの連載をさせていただくことになった加藤です。一緒にAP4Rの開発を進めている篠原とともに 4回にわたってご紹介させていただきます。 筆者らはフューチャーアーキテクト株式会社にて、自社製のJavaによるメッセージングミドルウェアの開発、メンテナンスを行なってきました。大小さまざまなプロジェクトで稼動してきたものであり、数十台規模での導入実績もあります。そこで培った実装や経験をもとにRubyで書きあげたものが、AP4Rです。Ruby 会議 2007でも取りあげてもらえたので、名前くらいは聞いたことあるよ、という方もいるかもしれません。以下、RubyForgeのプロジェクトサイトと日語ホームページのURLです。 AP4R のホームページへようこそ! RubyForge: AP4R: Pr

    第1回 軽量さと堅牢さを兼ね備えたメッセージング | gihyo.jp
  • Ruby

    ■はじめに - いろいろ思うところ - 最後に更新した日からはや5年の月日がたった。Rubyのバージョンも当時は1.4くらいだった気がする。 現在2008年2月28日のRubyの最新バージョンは1.9となりRubyを取り巻く社会的状況もだいぶ変わった気がする。 Ruby on Railsというキラーアプリも登場したこともあってか、世界的にユーザー数も増え、業務アプリケーションを Rubyで作成する人も多くなってきたのではないだろうか。 私個人の変化はというと、研究のデータ処理にもっぱらRubyを活用しているせいか、原核細胞がミトコンドリアと 共生しだして離れられなくなったのと同様に?すでにRubyなしでは研究を進められない状況に陥っている。 別にPerlでもPythonでも慣れれば似たような処理はできるだろうし、最近はPCの性能も高いのでどれをつかっても速度的に 劇的に変化すると

  • 数学のためのRuby入門

    はじめに このサイトは、プログラミング初心者にスクリプト言語Rubyを使えるようになってもらうことを目的としています。多くの入門書や解説ページと違い、プログラミングの主眼を数学に置いています。 解説の内容や順番は、もちろん数学をするために必要なものを優先しています。それだけでなく、例や演習問題にも、数学っぽいことを多く採り入れていく予定です。数学のトピックとして難しいと感じたところは飛ばして読んでもらって構いませんし、興味があれば調べてみるのもいいでしょう。 なお、プログラミングの解説ということもあり、OS(WindowsLinuxなど)の基的な動作や、ディレクトリ、圧縮ファイルの解凍といった程度の基礎知識は仮定します。そのあたりでつまずいているのでしたら、まずはそれらの基操作を学ぶことをお勧めします。解説は主にWindowsを基調としていますが、Linuxでもあまり問題はないと思い

  • 10分でできる初めてのRubyプログラム:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • 逆引きRuby - 逆引きRuby

    逆引きRubyRubyを使ってやりたい事から、その方法を調べられる逆引きのリファレンスです。 逆引きRubyはもともとWikiで運用していました。このため、サイトのコンテンツは私以外の多くの方によって作成・編集されたものです。 2017年に静的HTML(jekyll)の管理へ移行しましたが、2018年10月からScrapboxへ移行しました。どなたでも編集いただけますので、ご協力いただける方はよろしくお願いします。 逆引きRuby (https://scrapbox.io/rubytips/逆引きRuby)

  • Ruby スクリプトのユニットテスト・チュートリアル - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 少し前に公開した Ruby 用 JSON クラスに数多くのバグを仕込んでしまい(たいへんご迷惑をおかけしました m(_ _)m)、テストの重要性を改めて痛感している今日この頃です。今後も開発を続けるにあたって、現在の行き当たりばったりなテスト方法ではとてもやっていけないと危機感を持ちまして、きちんとしたユニットテストの方法を調べてみました。 で、実際に試してみたと

  • 【ハウツー】Rubyでも継続的インテグレーション!! - Ruby版CruiseControlを使ってみよう (1) CruiseControl.rbが正式リリースに (MYCOMジャーナル)

    ビルドツールの代表的なものと言えばUNIXプラットフォームにおけるMakefileや、Java開発で使われるAntやMavenが挙げられる。これらのツールにお世話になっているデベロッパーは多いだろう。しかし、複数のデベロッパーが共同でアプリケーションを開発するとなると、それらのツールでは対応できない場面も出てくる。 そこで、ベンダーやオープンソースコミュニティでは、共有リポジトリ上にプログラムを格納するだけでビルドを自動的に実行するツールを開発している。そういった統合ビルドツールは「継続的インテグレーションツール」と呼ばれ、大抵は、ビルド結果をまとめたレポートを生成し、Webページやメール、メッセンジャーなどで自動配信する機能も備わっている。チーム開発を進めるうえで大変重宝するはずだ。ここでは、そのうちの一つとして、最近新しいエディションがリリースされた「CruiseControl」を紹介

  • netswitch! | RubyInlineがすごい

    Posted by nanki Mon, 12 Mar 2007 05:14:00 GMT Rubyコード中にCのコードを埋め込めるRubyInlineを使って、 ボトルネックとなっているメソッドを置き換える。 # rubyinline.rb def benchmark s = "a" * 10000 test = Test.new t = Time.now 1000.times{test.string_xor(s, s)} Time.now - t end class Test def string_xor(str1, str2) result = str1.clone str1.length.times do |i| result[i] ^= str2[i] end result end end b1 = benchmark begin require 'inline' class T