タグ

RubyとProgrammingに関するyukimori_726のブックマーク (146)

  • 必要最小のgemの作り方とインストール - ザリガニが見ていた...。

    gemは、Rubyのライブラリ管理のコマンド。Rubyのライブラリを検索・インストール・アップデート・削除など、苦労最小で操作する仕組みを提供してくれる。今までgemを使って、多くの素晴らしいライブラリをインストールしてきた。しかし、自分が作ったものをgemでインストール可能な形式で公開したことはなかった...。 できることならgemでインストールできるようにしてみたい。では、自作のRubyコードは、どうすればgemでインストールできるようになるのか?果たして、簡単にできることなのか?調べてみた。 作業環境 MacBook Pro Retina15 OSX 10.9.5 Rubyバージョン $ ruby --version ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13] Gemバージョン 最新のG

    必要最小のgemの作り方とインストール - ザリガニが見ていた...。
  • Ruby嫌いがアンダースタンディングコンピュテーションを読んで - ぐるぐる~

    アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで 作者: Tom Stuart,笹田耕一(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2014/09/18メディア: 大型この商品を含むブログ (2件) を見る 一番最初にはっきりさせておきますが、Rubyは嫌いな言語です。 が、このRubyが嫌いな自分でもいいだと言える*1でした。 自分が対象読者に入っているかどうかは実際に読んでみるまで微妙かな、と思っていましたが、とても楽しめました。 以下、書評です。 Rubyという選択 説明用のコードとして書はRubyを使っていますが、 これに関してはその理由が1章にあります。 私はその明瞭さと柔軟さに魅かれてRubyを選びました また、続けて 書にはRuby独自の機能に依存しているところはありません。 そのため、もしあなたにとってわか

    Ruby嫌いがアンダースタンディングコンピュテーションを読んで - ぐるぐる~
  • Javaエンジニアがいまさら始めるRuby開発環境 - Qiita

    Editorは、人によって大きく違うと思うけど、大体こんな感じだと思います。 Rubyでは、Vim,Emacsなどのエディタ + Plugin + 開発支援なgem Javaでは、Eclipse,NetBeans,IntelliJなどのIDE Javaの人はIDEが無いと辛いと思うかもしれませんが、Vim Pluginや開発支援するgemを使えば、IDEと遜色なく使えるのではないかと思います。 例えば、エディタ上で以下のことはできます。 コード補完 ブレイクポイントを置いて、ステップ実行 カーソル上のクラスやメソッドに飛ぶ(gemRuby体のC言語も含む) 知りたいクラスやメソッドなどのドキュメントやソースの表示 保存時にコーディング規約違反の表示 homebrew mac標準のrubyでまずはhomebrewをインストールします。 $ ruby -e "$(curl -fsSL ht

    Javaエンジニアがいまさら始めるRuby開発環境 - Qiita
  • Rubyによるクローラー開発技法の目次 - プログラマでありたい

    るびきちさんとの共著である「Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例」が今週末(8/23,24)くらいから、屋さんの店頭に並ぶようです。経緯や執筆スタイルなどは別途まとめたいと思いますが、ようやくここまで辿り着けたというところです。 AmazonとSBクリエイティブさんのページを見ても、8/21現在では詳細の目次が無いようです。手元にあったデータを貼り付けておきますので、参考にしていただければと思います。 Rubyによるクローラー開発技法 目次 Chapter 1 10分クローラーの作成 1-1 イントロダクション 2 1-1-1 クローラーとは 2 1-1-2 Rubyとは 2 1-2 クローラー 「GNU Wget」3 1-2-1 Wgetとは 3 1-2-2 インストール 4 1-2-3 Wget の簡単な使い方 7 1-2-4 クローラーとしての Wg

    Rubyによるクローラー開発技法の目次 - プログラマでありたい
  • アンダースタンディング コンピュテーション

    書は計算理論をRubyでわかりやすく紹介する書籍です。コンピュータサイエンスの主要なテーマである「計算とは何か」という問いに対して、難しい数学の知識を利用をせず、Rubyを使って実際にプログラムを作りながら解説します。さらに、なぜこれらのアイデアが大切なのか、そしてそのアイデアは我々の日常的なプログラミングにどう関係していくのかを解き明かしていきます。日語版ではまつもとゆきひろさんによる「日語版まえがき」を収録。プログラミングの根底にある理論を学ぶことで、より広く深くプログラミングを考えたいプログラマ必携の一冊です。 監訳者によるサポートページ 目次 日語版まえがき はじめに 1章 Rubyひとめぐり 1.1 対話型 Rubyシェル 1.2 値 1.2.1 基データ 1.2.2 データ構造 1.2.3 Proc 1.3 制御フロー 1.4 オブジェクトとメソッド 1.5 クラスと

    アンダースタンディング コンピュテーション
  • rbenv を利用した Ruby 環境の構築 | DevelopersIO

    こんにちは、クラスメソッドの稲毛です。 複数バージョンの Ruby を切り替えるだけでなく、ローカルディレクトリ毎に Ruby のバージョンを指定できる「 rbenv 」がとても便利だったので、インストール方法などを記しておきます。 ビルド環境の構築 Ruby をビルドする環境が構築されていない場合は、下記 ruby-build の Wiki を参考にビルド環境を構築する。 Suggested build environment rbenv + ruby-build のインストール rbenv で Ruby のインストールを行うので rbenv のプラグイン「 ruby-build 」を併せてインストールする。 Linux の場合 ここでは既に Git がインストールされているものとします。 $ git clone https://github.com/sstephenson/rbenv.

    rbenv を利用した Ruby 環境の構築 | DevelopersIO
  • パーフェクトRuby on Rails

    2014年6月6日紙版発売 2014年11月1日電子版発売 すがわらまさのり,前島真一,近藤宇智朗,橋立友宏 著 B5変形判/432ページ 定価3,168円(体2,880円+税10%) ISBN 978-4-7741-6516-5 ただいま弊社在庫はございません。 →書の新版が発行されています。 このの概要 Ruby 2.0の対応を見据え,MVCフレームワークRuby on Railsも4系になり,より高機能なWebアプリケーションフレームワークへと進化しました。書は,RubyRailsに関する基的なことから開発や運用に活用するツール,Railsを拡張する方法など現場で役立つ知識を中心に,最新のRails4.1.1に対応した書籍です。初心者から中上級者までをカバーした実践的なWebアプリケーション開発手法を解説します。 こんな方におすすめ 普段Ruby on Railsを使って

    パーフェクトRuby on Rails
  • [Ruby] バックトレース(stacktrace)を取得する方法 · DQNEO日記

    Rubyで任意の場所でわざと例外を発生させてstacktraceを表示させる方法。 こんなコードを任意の場所に埋め込めばできるっぽい。 begin raise Exception.new rescue Exception => e STDERR.puts e.backtrace.join("\n") end ※Ruby初心者なのであまりちゃんとわかってないです。もっと他によい方法があるかも。

    [Ruby] バックトレース(stacktrace)を取得する方法 · DQNEO日記
  • 最強の情報収集術!初心者向け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/Python][AOJ 0129]

    『幅優先探索』をRuby/Pythonで解いてみました。AIZU Online Judgeで対応している問題は『Seven Puzzle』です。 🏀 概要深さ優先探査の説明は『通勤・通学中に理解する深さ優先探索と幅優先探索』、 『アルゴリズム図鑑:iOS & Androidアプリ』が分かりやすかったです。 要点は次のとおり。 根ノードで始まり隣接した全てのノードを探索。階層(根ノードからの距離が近い順)にルートを調べる 🐯 サンプル問題(AOJ)Seven Puzzle Aizu Online Judge。1-7までの数字と、1つ空白のあるパズルをとく問題。 😀 Rubyコード 01234567がそろった状態(ゴール)からスタートして、0を移動させる 幅優先探索で過去に到達していない状態になったら、手数(移動数)を記録 すでに到達済の状態であれば、スキップ(幅優先探索なら手数が同等か

    幅優先探索 | アルゴリズム[Ruby/Python][AOJ 0129]
  • 開発用プロキシ、「CocProxy」が便利 - プログラマでありたい

    CocProxyというツールがあります。名前の通りプロキシサーバーなのですが、用途が開発用です。置換プロキシと言うらしいですが、これがとっても便利です。例えば、クローラーの開発や、HTML,CSS,JavaScriptの修正をする際に、このCocProxyを利用するとダウンロード待ちのイライラが解消され、効率アップ間違いなしです。ローカルのみで完結するのと、Webへのアクセスが必要とするのでは、スピードが数十〜数百倍違います。一回だけでみたら、数百ミリSecの差ですが累積で考えると大きいですよ。 CocProxyとは? Ruby製のProxyServerです。かつ標準ライブラリで動くことを目標としているので、Rubyの環境があれば、ダウンロードして直ぐに使えます。また基的には1ファイルで完結するので、導入も簡単です。Ruby1.9をベースにしていますが、Ruby 2.0でも特に問題なく動

    開発用プロキシ、「CocProxy」が便利 - プログラマでありたい
  • s3pw.com

    This domain may be for sale!

  • Rubyをより良く書けるようになるための課題演習のつくりかた | mah365

    実戦的なコードの書き方は、どのようにして身に付くものなのでしょうか? 文法を覚えること? それともオブジェクト指向言語であれば、オブジェクト指向自体を学ぶこと? 見方を変えて、関数型のエッセンスを学ぶこと? アンチパターン プログラミングを学ぼうとするときに、プログラミング言語自体を完璧に学ぼうとするのは、無駄ではないのですがそんなに効率的ではない気がしています。 Ruby技術者認定試験【Gold】模擬問題 例えば上記の問題集をきっちり解けるようになると、Ruby自体の振る舞いについては、はっきり分かるようになりますよね。ただ、仕様を聞いて「これを作ろう!」と思ったときに、やり方に困るのではないでしょうか。 「Rubyでプログラミングできるようになりたい」という要望は、「Rubyというプログラミング言語を学びたい」のではなく、「Rubyという生産性が高いと言われている言語を使ってプログラミ

    Rubyをより良く書けるようになるための課題演習のつくりかた | mah365
  • UNIXドメインソケットを試す - Qiita

    UNIXドメインソケットは、異なるプロセス間で情報のやり取りを行う方法のひとつ。あるプログラムでファイルのようにして .sockファイル UNIXドメインソケットをどこかに置いておき、もう一方のプログラムでそのファイルに向けて接続すれば、やりとりが行える。試しに使ってみた。 サーバのコード。 require 'socket' time = 0 count = Thread.new do loop do time += 1 Thread.pass sleep 1 end end sock = Thread.new do Socket.unix_server_loop('server.sock') do |sock, addr| p sock Thread.new do loop do begin sock.write(time.to_s + "\n") rescue Errno::EPIPE

    UNIXドメインソケットを試す - Qiita
  • Rubyのirbでなんとなく「クラス」とか「メソッド」とかに触れる

    追記:なんか後になって読み返してみたら、オブジェクト指向の説明として全く適切じゃないように思えてきました。ただ、プログラミング初めてみたけど何がなんだかよくわからんというレベルの人(この記事を書いた時の僕くらいの人)がRubyのクラスやらメソッドやらを初めて扱う上でこういう記事があってもいいんじゃないかなと思ってタイトルを変えて残しています(変更前はオブジェクト指向入門みたいな記事タイトルでした)。 ソフトウェア設計としてしっかりとオブジェクト指向を学びたい人には、オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)というがおすすめです。 最近、オブジェクト指向をどう教えればいいのかという記事をよく目にします。僕も昨年の今頃はオブジェクト指向なんてさっぱりだったし未だにちゃんと理解しているか怪しいくらいなのですが、自分の理解のために一度こういう文章にしておきたい

    Rubyのirbでなんとなく「クラス」とか「メソッド」とかに触れる
  • Rack解説 - Rackの構造とRack DSL - Qiita

    Rackとは RackはRubyによるWebアプリケーション開発のHTTP送受信処理を担当するモジュール(gem)で、Ruby on Railsを始めとする多くのWebフレームワークの一番下のレベルで利用されています。 https://github.com/rack/rack http://rack.github.io/ 稿ではRackの基的な部分を中心に説明します。 簡単なRackアプリケーション まず基を理解するため説明用の簡単なアプリケーションを作成します。 最初にrack gemのインストールが必要ですが、Ruby on Railsをインストールしている場合はすでに必須モジュールとして入っています。単独でインストールする場合は次を参考にして下さい。 http://qiita.com/higuma/items/b23ca9d96dac49999ab9#2-3 次にconfig.

    Rack解説 - Rackの構造とRack DSL - Qiita
  • 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 - プログラマでありたい
  • RSpec初心者向けの資料まとめ[Ruby][Everyday Rails書評]

    最近、RSpecやCapybaraでRailsのテストを書くたびに、ちょっとした書き方がわからずググったり、冗長なテストを書くことに結構悩んでいました。ということで、思い切ってRSpec再入門として、『Everyday Rails - RSpecによるRailsテスト入門』を読みました! Rails/Rubyはどんどんバージョンアップするので、紙媒体の書籍だと情報が古くなってしまっている場合があります。この書籍は著者や訳者さんが、しっかりとアップデートを続けてくれているので、最新の入門チュートリアルとしてRSpecの実践的な使い方を習得できる書籍です。 またこのを読むにあたってRSpecのドキュメントやWebサイトを読みなおしたので、合わせてRSpec初学者向けのマトメを作りました! 🎉 RSpec 3初心者向けの資料まとめRSpec 3初心者向けの資料まとめ[Ruby] ちなみにその

    RSpec初心者向けの資料まとめ[Ruby][Everyday Rails書評]
  • Rubyで学ぶデザインパターン - Iterator - Qiita

    Wantedlyエンジニア新人研修(設計)の1回目 チェックポイント ArrayはIteratorを使っているか? HashはIteratorを使っているか? 自分でIteratable(Enumerable)なクラスは書けるか? Rubyでインターフェースは存在しないがどう置き換えられているか? 1. どういう時に使うか 集合の要素を全走査したいとき。 Rubyで言えば XXX.each でループを回せる部分。 2. メリット (+デメリット) メリット 個々の要素とその集合という概念を扱えるようになる。 デメリット 特になし。 3. このパターンを使わないとどうなるか 配列やDB的なidがあるものに関してはfor (int i = 0; i < x.size(); i++)というような決まり文句で代替が効く。 文字列をKeyにした集合だと、そのkeyの配列などがない限り個々の要素にアク

    Rubyで学ぶデザインパターン - Iterator - Qiita
  • なぜRubyと違い、PHPの正規表現で^$の利用は致命的な問題ではないのか?

    (Last Updated On: 2018年8月13日)Rubyデフォルトの正規表現では^は行の先頭、$は改行を含む行末にマッチします。PHPPCREとmbregexでは^はデータの先頭、$は改行を含む行末にマッチします。 この仕様の違いはデータのバリデーションに大きく影響します。 参考: PHPer向け、Ruby/Railsの落とし穴 の続きの解説になります。こちらのエントリもどうぞ。 なぜ^と$が行の先頭と行の末尾にマッチするのか? そもそも正規表現はテキスト検索を行うステートマシーンとして設計されました。通常テキストには改行があります。特定の行に一致するかどうかテストするように設計するのが自然です。この為、正規表現の^と$は行の先頭と末尾にマッチするように設計されたと考えられます。 正規表現をバリデーションに利用することは可能です。しかし、そもそもは正規表現に一致する「テキスト」

    なぜRubyと違い、PHPの正規表現で^$の利用は致命的な問題ではないのか?