Rubyに関するarakashのブックマーク (21)

  • Rubyでシェルもどきを作る - tmtms のメモ

    Ruby でシェルのようなものを作ってみると、Ruby とシェルやシステムコールの理解ができて、研修の課題とかにいいんじゃないかと10年くらい前に思ってたのを、ふと思い出したので書いてみます。 基 シェルの動作を簡単に説明すると次のような感じです。 プロンプトを出力 標準入力からコマンドラインを読み込む 読み込んだコマンドを実行する コマンドの終了を待つ 1 に戻る これをそのまま Ruby で書いてみます。 while true print '-> ' # プロンプト表示 cmd = gets or break # コマンド入力 cmd.chomp! # 末尾の改行削除 pid = Process.fork do # 子プロセス生成 Process.exec [cmd, cmd] # コマンド実行 end Process.waitall # 子プロセスの終了待ち end Process

    Rubyでシェルもどきを作る - tmtms のメモ
    arakash
    arakash 2013/10/09
    Rubyの勉強ネタとしてよさげ ついでにシェルの知識もつきそう
  • 遺伝的アルゴリズム(GA)によるサーバの自動チューニング - Qiita

    遺伝的アルゴリズム(GA)でサーバの自動チューニングをします。 GAを機械学習を一つと書いてしまいましたが違うようなのでタイトルを変更させて頂きました。 遺伝的アルゴリズムについては↓の動画が分かりやすいです http://www.youtube.com/watch?v=yZJ1V-zv_gU まずは通常の負荷テストができるところまで準備する必要があります。攻撃用のサーバをターゲットと(ネットワーク的に)近い場所に用意してください。負荷を掛ける側(Attacker)にも相応のスペックは必要です。 ストレスツールはコマンドラインから利用出来るものでしたらなんでもかまいません。ab(Apache Bench)などは最初から入っているので手軽ですが、今回は「グリーン破壊」というソフトを利用しました(グリーン破壊のインストール方法は家サイトに譲ります) 自動チューニングを行うにあたり、ターゲット

    遺伝的アルゴリズム(GA)によるサーバの自動チューニング - Qiita
    arakash
    arakash 2013/06/19
    発想がおもしろい
  • 第2弾!知って得する12のRubyのトリビアな記法

    (追記:2013-08-16) 記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 半年くらい前にちょっとトリビアだけど、知っていると意外と便利なRubyの記法を21個紹介したよ。 知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby 今回はその第2弾だよ! ちょっと数が少ないけど、知らないものがあったらへーとかほーとか、得したとか言ってもらえるとうれしいよ。 1.Enumerator#with_index 任意のリストを標準出力するときに連番を同時に振るとしたら、普通はEnumerable#each_with_indexを使うよね。 names = Module.constants.take(10) names.each_with_index {

    arakash
    arakash 2013/06/06
    Rubyのトリビア記法 第2弾
  • seleniumでスクレイピング [Ruby] - 酒と泪とRubyとRailsと

    RubyからChrome/Safari/IE/Firefoxを操作してスクレイピングする方法として、『Selenium』を使う方法があったので、ちょっと試してみました。今回はその時のメモです。 Rubyからブラウザを操作する方法としては、他にGem『Watir』を使う方法もあるので、よかったらこちらもご検討下さい!

    arakash
    arakash 2013/05/30
    最近のWebページは、AJAXとかで表示画面を作成するので、素のHTTPだと、表示画面全ての情報が取得できない経験があったが、この方法はWebブラウザ経由で画面情報を取ってくるっぽいので、色々便利そう
  • Code Climate - Build the AI-native software organization your enterprise needs

    Your AI transformation needs more than an adoption dashboard. Code Climate gives leaders the data, context layer, and playbooks to build the AI-native software organization their enterprise needs. Your CEO wants to know if the AI investment is making a real difference in how your company builds software. You don't have a defensible answer. The tools your company already runs measure activity. They

    Code Climate - Build the AI-native software organization your enterprise needs
    arakash
    arakash 2013/04/10
    Rubyのソースに点数をつけてくれる リファクタリング後の評価につかえそう
  • オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (Ruby 4.0 リファレンスマニュアル)

    [edit] マニュアルは Ruby の公式日語リファレンスマニュアル (Ruby Reference Manual、通称「るりま」/ rurema)です。 Ruby オフィシャルサイト https://www.ruby-lang.org/ja/ version 4.0 対応リファレンス 原著:まつもとゆきひろ 最新版URL: https://www.ruby-lang.org/ja/documentation/ 使用上の注意 組込みクラスのリファレンスはほぼ揃っています。標準添付ライブラリのリファレンスは一部未完成です。それ以外のドキュメントについては、まだまだ書き直しが必要です。 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト: オブジェクト クラス プロセスの実行: Ruby プログラムの実行 終了処理 スレッド Ruby の文

    arakash
    arakash 2013/04/04
    Rubyリファレンスマニュアル
  • Rails 4のturbolinksについて最低でも知っておきたい事

    Rails 4のturbolinksについて最低でも知っておきたい事 (追記)turbolinksに関するセキュリティ上の懸念について turbolinksとは、ページ遷移をAjaxに置き換え、JavaScriptCSSのパースを省略することで高速化するgemで、Rails 4からはデフォルトで使用されるようになります。 高速化は大歓迎なのですが、JavaScriptのイベントの起き方が変わるため、Rails 3までの書き方をしているとまず間違いなく問題が起きます。しかも、Rails 4ではデフォルトの機能ですので、最新版を使いたいなら必ず知っておかなければいけません。 エントリではturbolinksを使うために絶対に知らなければいけないことを分かりやすく紹介したいと思います。 動作 turbolinksの動作は、すごく大雑把に言うと以下の通りです。 リンクのclickイベントをフッ

    Rails 4のturbolinksについて最低でも知っておきたい事
    arakash
    arakash 2013/03/12
    Rails4からのturbolinksの話
  • Assets Pipeline - web-k.log

    この記事は 基Ruby on Rails Guides: Asset Pipelineの訳ですが簡略化や自分の解釈で意訳した部分が多々あります。気になる点あったらコメントください。 Assets Pipelineとは Asset(アセット)とは、訳すと「資産」のこと。Assets Pipelineは画像やJavaScriptCSSを高速でリクエストを捌けるようにしたRails 3.1より標準搭載された仕組みです。 Assets Pipelineで出来ること Fingerprinting コンテンツベースのファイル名に更新することによるキャッシュ支援 Precompileを利用した高レベル言語でのコーディング CSSに対してSass/SCSS/LESS、JavaScriptに対してCoffeeScript等の中間言語が使用可能 ERBも使用可能 Assetの連結 複数のJavascri

    arakash
    arakash 2013/03/05
    Assets Pipelineの日本語訳
  • Railsで、簡単に静的コンテンツのみを別サーバから配信する方法 - 元RX-7乗りの適当な日々

    Webサービスでは、JavaScriptファイルや、スタイルシート(CSS)ファイル、画像ファイルなど、細々とした多くの静的コンテンツ(静的ファイル)を扱う場合が多々あるかと思います。 そんな中、公開しているサービスへのアクセスが少し多くなってきた場合、静的コンテンツの配信サーバを、アプリケーションが稼動しているサーバとは別のものにしたくなりますよね。 また、画面内でアイコン画像を多数扱う場合等、多くの静的コンテンツを配信している場合などは、複数の静的コンテンツ用の配信サーバを準備し、負荷分散させることを考えますし、Amazon EC2など、海外のサーバを利用してサービスを展開する場合、どうしてもネットワークの遅延がネックとなりますので、細かい静的コンテンツの配信のみは、国内のサーバを使ったりしたくなる場合もあるかと思います。 そんなとき、Railsでは簡単に設定1つで切り替えられる仕組み

    Railsで、簡単に静的コンテンツのみを別サーバから配信する方法 - 元RX-7乗りの適当な日々
    arakash
    arakash 2013/03/05
    静的コンテンツを別サーバから配信する方法
  • 知って得する!55のRubyのトリビアな記法

    Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt

    arakash
    arakash 2013/03/05
    トリビア記法
  • RailsアプリケーションのセキュリティチェックするRails Brakemanを試してみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    RailsアプリケーションのセキュリティチェックするRails Brakemanを試してみる - Qiita
    arakash
    arakash 2013/02/20
    Rails用のセキュリティチェックツール
  • Rails の高速化についてググったり - 偏見プログラマの語り!

    Rails の練習ってことでちまちまとアプリを作ってました。作ってたのはまぁ Twitter と連携するちょっとしたアプリ。しかしどうも、作れば作るほどアプリケーションの遅さが気になってきました。で、ぐぐってみると Rails の高速化テクがいくつもヒットしました。 いくつかピックアップして紹介します。(Rails 2 系など古い記事も含まれてます) 1. 『Ruby on Rails を高速化する』IBM DeveloperWorks N+1 クエリー問題 の解決アプローチです。これは Rails のしくみを使って db へのクエリ回数を減らすテクニックですね。Rails で何も考えずにコーディングするよりもある程度知識をもってコード書くだけでクエリを劇的に減らせるってことがわかります。RDB の遅さを緩和することによる高速化ですね。 2. 『現実の世界の Rails、第 2 回:高度な

    arakash
    arakash 2012/03/30
    Rails高速化のまとめサイト
  • 実録!Railsのはまりポイント10選

    【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発

    実録!Railsのはまりポイント10選
    arakash
    arakash 2012/03/29
    Railsのはまりポイント
  • Rails3.2ってどう変わるの?

    1. Rails3.2って どう変わるの? 2012/03/06 第1回渋谷Edge Rails勉強会 大仲 能史 a.k.a. onk thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD

    Rails3.2ってどう変わるの?
    arakash
    arakash 2012/03/07
    3.2の変更点
  • 【翻訳】EventMachine入門

    dan sinclairさんのEventMachineの入門記事(PDF)を翻訳しました。 原文はここからダウンロード可能です: http://everburning.com/news/eventmachine-introductions/ (翻訳の公開と画像の利用は人より許諾済みです) 翻訳・内容の間違い等があればブログコメントやTwitterなどで遠慮無くご指摘ください。 EventMachine入門 Introduction うん、これから何を学ぶことになるのか、この導入のくだりがスタート地点として役に立つと思う。EventMachine とは何だろう。そしてそれは私たちのために何をしてくれるのだろう。さて、最初の部分は簡単だね。EventMachine は Reactor パターン(*1)の高性能な実装さ。 すげえ、いや、ちょっと待て、Reactor パターンって何だ? Wiki

    【翻訳】EventMachine入門
    arakash
    arakash 2011/12/01
    EventMachine入門の翻訳
  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
    arakash
    arakash 2011/11/18
    GCのタイミングを制御することでパフォーマンスチューニング
  • スクレイピングのためのNokogiri利用メモ - それはそれ、これはこれ

    スクレイピングのチュートリアルを書いてみた。 参考:http://nokogiri.rubyforge.org/nokogiri/Nokogiri.html まだまだたくさんのクラスやメソッドがあるが(読んでない)、HTMLスクレイピングに限定すれば多分これくらいで十分。 2014-02-16追記 なんかたくさんブックマークされていることに気づいたので、サンプルコードのRuby1.9/2対応のアップデート。 Mechanize周りも修正。WWW::Mechanize → Mechanize 等 (0) 前提知識 RubyHTML、DOM、CSSセレクタまたはXPath (1) クラス構造の理解 Nokogiri::HTML::Document < Nokogiri::XML::Document < Nokogiri::XML::Node < Object Nokogiri::XML::

    スクレイピングのためのNokogiri利用メモ - それはそれ、これはこれ
    arakash
    arakash 2011/09/20
    Nokogiriの使い方色々
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    arakash
    arakash 2011/08/11
    RubyからFirefoxを操作できる Crawlerにも使えるかも
  • はてなブログ | 無料ブログを作成しよう

    2025年8月台湾・高雄ってまじいいんだよな~女一匹14日間(ちょっとだけ台中女二匹)記 みんな~~~~~~~!先に言うけど高雄は最高!!!!!!!!! 可愛いアイスクリームも「そうだ そうだ」と言っています 台湾自体は何度も行ったことがあるんだけど、高雄は2度目です。 去年夏休みに初めて10日滞在してめちゃくちゃ好きになってしまったので、今年…

    はてなブログ | 無料ブログを作成しよう
    arakash
    arakash 2011/05/30
    大量データ生成の高速化
  • will_paginateに移行 - ひげろぐ

    will_paginateのアップデートによってインストール方法など一部の情報が古くなっています。 関連:will_paginateもgithubに行ってた この間Rails2.0に移行したときにいったん放置したwill_paginateへの移行を行ったのでメモ。 それほど手間ではなかった。 ぐーぐる先生が教えてくれたページやREADMEを読みつつ作業。 プラグインのインストール さくっと。 $ script/plugin install svn://errtheblog.com/svn/plugins/will_paginate コントローラの修正 以下のようにコードを修正。コメントアウトしたものは修正前のもの。 def list # @pages, @items = paginate(:items, :conditions => ["deleted = 0"], :order => '

    arakash
    arakash 2011/02/24
    ページングのパラメータ詳細