タグ

rubyに関するf-miyajiのブックマーク (54)

  • styleguide/ruby.ja.md at master · cookpad/styleguide

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    styleguide/ruby.ja.md at master · cookpad/styleguide
  • Sensuを使って自由度の高い監視システムの構築を行う方法

    SensuとはSensuはhttp://sensuapp.org/で公開されているオープンソース(MITライセンス)のモニタリングフレームワークです。 特徴以下のような特徴があります(公式サイトの記述を整理) シンプルで融通が効き拡張性があるモニタリングフレームワークエージェント、メッセージバス、イベントプロセッサーの機能を提供要件にあわせて他のツールとの組み合わせが可能クラウドを意識して開発自動でクライアント(監視対象)を登録コミュニティが活発RubyのEventMachineを使って作られているコードはGitHubホストされ、テストコードは高いカバレージ。TravisCIで継続的インテグレーションを実施Nagiosのプラグインを再利用可能設定はすべてJSONファイルで行うRabbitMQを使ったメッセージ型のアーキテクチャーオムニバスインストーラーを提供個人的な見解としては、Sens

    Sensuを使って自由度の高い監視システムの構築を行う方法
  • あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい

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

    あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい
  • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

  • Excelデータを最速でWebアプリ(Heroku)にする<del>10</del>9のステップ

    ローカルには映画の視聴記録とかべ歩きのお店評価とか投資履歴とかガラクタコレクションリストとかの自身の活動記録的なデータが溜まります。そしてどういうわけかそれらのデータは大概表計算ソフト「Excel」の上に置かれているのです。その結果、溜めたはいいが有効に活用されない、場合によっては見ることすらしないという事態に陥ります。それらのデータが来的に置かれる場所が「データベース」であり、その活用によりデータ価値が向上するということに誰も異論はないとしても、データはExcelに置かれるのです。 理由は一つ。そう、データベースは敷居が高いのです。 データベースの敷居が下がれば、みんながローカルのデータをもっともっと大量に公開して世の中はもっと便利になるに違いありません。 まあ、実際のところはよくわかりませんが。 そんなわけで… データベースの敷居を下げるべく、CSVデータを簡単にデータベース化する

  • Kageを使う時にやっておくと便利なこと - まめ畑

    先ほど、Kageというgemが公開されました。 https://rubygems.org/gems/kage https://github.com/cookpad/kage このgemは、クライアントからのリクエストを複製し、バックエンドの複数のサーバに同じリクエストを送る事が出来ます。これを使うことで、これから番に適用するコードの負荷試験や、書き込みをDummyDBに逃がして、slaveを番に接続するなどして番データを使用した負荷テスト、ミドルウェアのバージョンアップのテストを行うことが出来ます。 実際にクライアントに返されるレスポンスデータはproductionサーバとして指定されたサーバから返却されるため、番のリクエストを使用してテストが簡単に行えるようになります。 実際に番のアクセスを流す方法にはいくつかあると思います。Kageが導入されたサーバに直でトラフィックを流す方

    Kageを使う時にやっておくと便利なこと - まめ畑
  • mrubyで簡単にグラフィカル&インタラクティブなアプリケーションが作れるRubyKokubanを作りました - ブログのおんがえし

    mrubyを使ってグラフィカル&インタラクティブなアプリケーションが作れるRubyKokubanというものを作りました。 mrubyで何かやりたいなあと思いこつこと書いていたのですが、少し触れるようになってきたので公開します。 def draw text 'Hello, rubykokuban!', 100, 100 circle 350, 100, 50 end 最小限のコードでゲームのようなものが作れることを目指しています。 インストール 今はコマンドラインからの実行環境のみ用意されています。対応プラットフォームもOSXのみです。 RubyGemsからインストールします。 $ gem install kokuban まずは最新の実行用アプリケーションをインストールしましょう。 $ kokuban install --latest インストールされていることを確認します。 $ kokub

    mrubyで簡単にグラフィカル&インタラクティブなアプリケーションが作れるRubyKokubanを作りました - ブログのおんがえし
  • Ruby中級入門

    Ruby中級入門 1. Ruby中級入門 @shokai 2013年8月5日(火) @masuilab 2. 私 •@shokai (しょうかい) •趣味料理、glitch 3. ある程度大きなアプリケーションを作 っていると、部品に分割したくなると 思います。アプリ内ライブラリやgem の作り方を説明します。Rubyの機能を 活用した使い勝手の良いライブラリの デザインについて考えます。 4. • アプリ内ライブラリの作り方・gemの作り方 • サンプルコードとテスト • ライブラリのデザイン • API • DSL • 泥臭い小手先の技 • 例外・エラーの通知 • ドキュメント コンテンツ 5. ライブラリを作る 例:LeapMotionを自作アプリに組み込むための アプリ内ライブラリを作る 6. • LeapMotionはport 6437にWebSocket 接続するとJSONで

    Ruby中級入門
    f-miyaji
    f-miyaji 2013/08/05
    上級になると、A4ペライチの「仕様書」というものを書くだけで何でもできるようになる。
  • Chef Essentials - Chef - Opscode Open Source Wiki

  • MurakumoによるElastic Network Interfaceのフェイルオーバー - so what

    Murakumo 0.4.5をリリースしました。 https://rubygems.org/gems/murakumo/versions/0.4.5 今回はKeepalived/Heartbeatのような冗長化機能を追加しました。 Elastic Network Interfaceを使った冗長化の例 ■概要 アクティブなサーバのMySQLが落ちたとき・サーバ自体が落ちたときに、バックアップ側にENIを付け替える例です。 ■準備 まずVPCにインスタンスを用意します。 server-01にENIをアタッチして、ルーティングテーブルを設定します。 server-01 [root@server-01 ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 169.254.16

  • #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語

    Rubyist達の夏フェスであるところのRubyKaigiが今年も開催され、猛暑の練馬が大いに盛り上がりました。今回が最後の開催とのことで、関係者各位は素晴らしい会議を当にどうもありがとうございました。 さて、今年のRubyKaigi2011での各セッションで紹介されたgemのうち、気になったものをピックアップしてみました。 1. fakeweb fakewebは、指定したURLのHTTPレスポンスを偽装する、テスト用のライブラリ。外部サービスと連携するプログラムのテストを書くにはとても便利ですね。 Engine YardのAndy Delcambre氏による「Toggleable Mocks and Testing Strategies in a Service Oriented Architecture」という発表で紹介されました。 以下、サンプルコードです。(READMEより) F

    #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語
  • Rubyでディレクトリ・ミラーツール rbsync - それマグで!

    よくやるファイルミラー処理をまとめたrubyクラスを作った rsync がアレコレ覚えること多くて気に入らない。Rubyでミラーツール作ってんだ。 サイトの更新作業や、デジカメのバックアップ、PC環境など、よくつかうパターンがある。コレに合わせrsync を考えたり漏れのないロジック考えるのが。毎回考えるのが面倒になってきた. さくっと出来るように。Rubyでクラス書きました. こんな悩みにオススメ ファイル同期のこんな悩みにオススメです. 上書きされた.ファイル消えた・・・ 送信先でファイル名が変わってて、ゴミファイルが増えた 送信先のファイルを別名にしてから、転送する 同じファイルが別名でいくつもある 更新日付の新しいモノだけを転送したい。 ファイルの中身をみて同期してほしい。 rbsyncで解決 ファイル名が変わっていても、同期する。 ファイル名が衝突したら,別名で転送する。 これだ

    Rubyでディレクトリ・ミラーツール rbsync - それマグで!
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

    皆様、はじめまして。2010年9月に入社した並河です。 インフラ周りの話題を・・・ということで、今回はサーバの構築やシステム管理作業を楽にしてくれるツールである「Chef」について紹介します。 ■ Chefとは「Chef」は、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるRuby製のシステム管理ツールで、オープンソースとして公開されており、既に、37signalsやEngine Yard、RightScaleなどでも使われており、利用実績も出始めています。 Ruby製のシステム管理ツールといえば「Puppet」を思い浮かべる方も多いのではないでしょうか。ChefはPuppetの競合ソフトウェアとなる位置付けで、出来ることだけでいうと、特別大きな差はないと感じていますが、Puppetは外部DSLとして設定を記載するのに対し、Chefは

    『サーバの構築作業やシステム管理を自動化する「Chef」』
  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

    RubyDropはRuby製のオープンソース・ソフトウェア。個人的にDropboxはとても便利に使っている。これなしの生活は考えられないくらい便利だ。有料であれば50GBまで使えるが、無料版の2GBでは物足りないと感じる人も多いだろう。だがお金は払いたくないという人もいるだろう。 サーバ起動中 そこで考えたいのが自分だけのDropbox構築だ。重要なのは自動的に同期されるシステムであること、バージョン管理されること、複数のコンピュータ間でデータが同じ状態に保てることだろう。それらを実現するのがRubyDropだ。 RubyDropはRuby1.9系で動作するソフトウェアだ。簡単に言えば、特定のフォルダに関してRubyDropが監視を行う。そして変更があると内容をリモートのGitリポジトリにアップデートする。Gitリポジトリ側で変更があれば、Pullする仕組みだ。 自動的に同期されている G

  • GNU screen を簡単に外側から操作できるようにする Ruby ライブラリ easy-screen - P A R A G R A P H S

    http://github.com/tily/ruby-screen http://github.com/tily/ruby-easy-screen screen をよく使っているんだけど、起動したあとの vi を開いたり、必要なログを tail したり、あらかじめ余分に bash をいくつか開いておいたり、といった動作を自動化できたら便利だろうなと前から思っていた。 (detach しておけばいいんだろうけど OS を再起動すると消えてしまうので、もっと確実な手段が欲しかった) via nbqx さんのこの辺を見ていたらそんなようなことができそうだったので色々試していたんだけど、なんかライブラリみたいのができたので公開してみる。 こんなのを書くと、 require 'rubygems' require 'screen' Screen('admin') { window('vi') { e

    GNU screen を簡単に外側から操作できるようにする Ruby ライブラリ easy-screen - P A R A G R A P H S
  • 札幌Ruby会議01に行ったらLinuxからExcelが使えるようになった話 - aike’s blog

    札幌Ruby会議01行ってきました。最初から最後まで面白い話ばかりでしたが、感想を書くのが苦手なのでプログラム書きます。 まず興味深かったのが、artonさんの話。ActiveScriptRubyWindows向けに便利な機能がいろいろあるらしい。HTAの中身をRubyで書いたり、Windows固有のOLE操作とかできるって、なんかすげー。 それから関さんのdRubyの話。dRubyって名前から機能が想像できなくて全然中身を知らなかったんだけど、リモートでメソッドを呼べるってことだそうな。面白い。 ん?てことは、これらを組み合わせるとLinuxマシンからリモートでWindowsのOLEを操作したりってのがRubyでできたりするのかな。 やってみよう。 できた。 リモートでExcelを操作して計算結果を得るクライアントの例 excelcl.rb #!/usr/bin/ruby requir

  • MOONGIFT: » チェック必須!Rails新時代の到来か?「Passenger(mod_rails for Apache)」:オープンソースを毎日紹介

    待ちに待ったソフトウェアがついに登場した。Railsは生産性の高さについては定評があるが、その設置、運用方法についてはJava並みに敷居が高かった。レンタルサーバなどでは利用に耐える設置が難しかった。 Passengerのトップページ だが、これで時代は変わるかもしれない。そんなソフトウェアがついにリリースされた。 今回紹介するオープンソース・ソフトウェアはPassanger、mod_rails for Apacheだ。 Passangerはgemからインストールするソフトウェアで、これをインストールし、必要な諸設定を行ったら後はMongrelのようなアプリケーションサーバを立ち上げることもなくRailsが利用できるようになる。 インストール中 Apache2.2系(恐らく…)ではdeny from allの設定を消す必要があるが、それさえ消せば問題なくRailsが動作する。プロキシも何も

    MOONGIFT: » チェック必須!Rails新時代の到来か?「Passenger(mod_rails for Apache)」:オープンソースを毎日紹介
  • まつもと直伝 プログラミングのオキテ 第19回 HTTPとCGI:ITpro

    Webアプリケーションが流行しています。Webブラウザ上で何でも実行させる昨今の風潮はいかがなものかと思いますが,これも時流なのかもしれません。Webプログラミングに習熟する前段階として,今回は基礎となるHTTPとCGIについて学びます。 WWW(World Wide Web)はもともと欧州合同素粒子原子核研究機構(CERN)で開発された,相互リンクした技術文書を参照する手段でした。文書間のリンクが世界中をクモの巣(Web)のようにつなぐありさまをもってWWWと名づけられました。 WWWが最初に登場した時点では,基技術は次の3つしかありませんでした。 (1)HTML(HyperText Markup Language),相互にリンクされた構造を持つ文章を記述するマークアップ言語。 (2)URL(Uniform Resource Locator),各地のサーバーに分散した,文書を指定する記

    まつもと直伝 プログラミングのオキテ 第19回 HTTPとCGI:ITpro
  • 高反発マットレスの選び方 | アフィブログに騙されない為の高反発マットレス手記

    ウレタン系高反発マットレスでよく言及されるのが密度です。それを頑張って分かりやすく説明してみます。

  • 漢字を類似度検索可能にする (polog)

    アイデアとしては単純で、画像情報に落としたあとで全漢字pairに対して全pixelの一致数をカウントするだけ。 これの時にはリアルに全漢字でやろうとしてたんだけど、2万字=>4億ペアなので断念した。常用漢字1945文字を対象とする。 ActiveRecordやら何やら使いたかったけど、普通にやると結構面倒だったのでrailsプロジェクト作ってscript/runnerした。 ファイル rake db:migrateで create_table :chars do |t| t.column :char, :string t.column :byte, :integer end add_index :chars, :char add_index :chars, :byteこんなのと create_table :similarities do |t| t.column :c