タグ

rubyに関するred_snowのブックマーク (11)

  • メール回りのテストやデバッグには「MailCatcher」が便利ですぞ | 東北ギーク

    こんにちは。リスペクトの木村です。 今日は、「MailCatcher」というRubyで使うGemライブラリの話をお送りします。 MailCatcher とは Samuel Cochran氏が開発した、シンプルなSMTPサーバーです。特に細かい設定は不要で、起動するだけでSMTPサーバーが起動します。(ポートは1025番) これだけであればよくあるSMTPサーバーなのですが、MailCatcherの特徴は「SMTPサーバーを経由したメールをブラウザ上から確認できる」という所にあります。送信しようとしたメールはMailCatcherのSMTPサーバーから先には送信されません。 Webサーバーが同時に起動(ポートは1080番)するので、ブラウザからアクセスすると下記のような画面が表示されるので、そこから確認できます。 届いたメールはほぼリアルタイムで受信トレイに表示されるため、リロードの必要はあ

    メール回りのテストやデバッグには「MailCatcher」が便利ですぞ | 東北ギーク
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

  • 開発サーバに chef を入れるときの 11の方法 - Hack like a rolling stone

    タイトルは釣りです。11個もやり方をしらないまま書き始めます。 最近 chef が流行っていますが、みなさんどうやって各サーバに chef をインストールしていますか? ここでは僕がいままで紆余曲折していた方法を紹介します。 列挙だけするとこんな感じです。 vagrant の VM イメージに入っているもの omnibus installer を使う knife solo を使う OS の ruby 環境に chef を入れる RVM 環境を作って chef を入れる rbenv 環境を作って chef を入れる roundsman を使って chef を入れる vagrant の VM イメージに入っているもの vagrant の VM イメージには、大抵 ruby と chef がインストールされています。 veewee を使ってあたらしい VM イメージを作成すると必ずインストールさ

    開発サーバに chef を入れるときの 11の方法 - Hack like a rolling stone
  • Vagrant - naoyaのはてなダイアリー

    先日 Vagrant を触ってみたら便利すぎて鼻血が出ました。しばらく見ないうちに色々進んでるもんですねえ、いやはや参っちゃいました。 Vagrant は仮想マシンの VirtualBox のフロントエンドに相当する、ruby で書かれたツールです。vagrant コマンドなどを使ってコマンドラインから簡単に新しい VM を作れる。 % gem install vagrant % vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box % vagrant init centos % vagrant upこれだけで CentOS の Linux box をローカルマシン内に立ち上げることができる。*1 *2 なにこれすごい。 % vagra

    Vagrant - naoyaのはてなダイアリー
  • ImpArt » HomebrewでRubyの最新版を入れる

    portsの流れるコンパイルも眺めていて面白いけど時間かかる…..。 homebrewだと最新バージョンのサポートも早いし インストールも早いし、表示も整理されているので移行することにした。 下準備 前にmacportsを導入していたのであれば アンインストールしbrewに絞ったほうがよい。 http://guide.macports.org/#installing.macports.uninstalling インストール 公式サイトに乗っているコマンドで一発インストール。 sudoを使わなくてもよい。 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" Rubyの最新版を入れる $ brew install ruby gemもアップデート $ sudo gem update --

  • 非 Rubyist に送る、失敗しない ruby 実行環境構築方法 - tomykaira makes love with codes

    OS や、動かしたいアプリケーションに依りますが、ruby の実行環境の構築は大変です。 というのも、ruby 体、rubygems、各 gem などのバージョン指定が交錯していて、ruby の ecosystem に慣れていない人にとっては、なにがなんだかわからないからです。 こっちのツールを動かそうとすると、こっちが動かなくなる、みたいなことになります。rubyists は、バージョンの問題を吸収するためのツールを使ってこの問題に対処していますが、ruby に詳しくなくて、ただ ruby 製のツール(たとえば Redmine)を使おうとしている人は分からないでしょう。 そういう人が ruby に挫折しないように、事実無根な中傷をしないように、最近流行のツールで、バージョンミスマッチの問題をおこさない方法を説明します。この説明が対象としているのは UNIX,LINUX 系の環境だ

  • ゼロからRails入門するよ〜 - mizchi log

    Railsは「命名規約によって、DSLから機能を動的に生成するもの」でいいのかな? 某記事で声がかかった企業のうち、面談行ってるのが3社で、そのうち2社がRailsつかってるので、前々から興味あったし手を出すことにした。勉強するならよそでやれ(棒)なんて話、流行ってますね。僕はどっちでもいいけど。 これはRuby on Rails 3.1で簡単なブログっぽいシステムを作ってみるテスト。 | Ginpen.comを読みながら勉強しつつのメモなので、間違ってる箇所があったら教えてください。この記事は全部一通りやりました。 主にPython使ってたので、Rubyはあんま詳しくないです。 インストール ひさしぶりにRubyを使うので、gem体のアップデートから。 sudo gem update --system sudo gem install railsrailsが3.2.1が入った。gem

    ゼロからRails入門するよ〜 - mizchi log
  • PHPより気軽に、Rubyで簡単ウェブ開発 - m.igrs.jp

    元旦に rack-server-pages というものをリリースしました。 元旦リリースしました。僕からのお年玉です。 > rack-server-pages j.mp/uNthnL #ruby — Masato Igarashi (@migrs) January 1, 2012 実は数年前からずっと作りたいと思っていたもので個人ToDoリストに長らく居座っていたものがやっと着手できた。 Ruby で WEB開発といえば Ruby on Rails というデファクトスタンダードを筆頭に MVCフレームワークを利用するのが一般的ですが、現状フレームワークを利用しないという選択肢がほとんど無いんですよね。 フレームワークというキーワードを聞くだけで「よく分からない」「プログラマの為のもの」 感覚になってしまう人も多いはずです。 たとえシンプルで軽量といわれている Sinatra ですら。 PH

  • PHP しか書けなかった僕が Ruby を始めたころに思ったこと10点 « blog.udzura.jp

    RubyKaigi とか色々あって、ふと、僕がプログラミングを始めたころのことを何となく思い出したので走り書きしておきます。特に PHP に関しては記憶が曖昧なところがおおいので、 PHPer モヒカン族によるツッコミを歓迎します。 配列とハッシュが違う PHP においては、配列も連想配列もすべて array() と言う関数で生成する。むしろ、配列というものがキーを数字にしているだけの連想配列と言う位置づけだと思う。 Ruby ではもちろん、主たるコレクションには Array と Hash の二種類が存在し、区別される。最初はこの区別に若干戸惑いを覚えた。 ちなみに Python だとリスト・タプル・辞書ともっと増えるわけで、Javaのコレクションクラスに至ってはさらに多いし、この辺はどの実装が正しいとか適切とかではなく慣習なのかなあ、と思ったりする。 型(クラス)がより厳格 PHP では

  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

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

  • Big Sky :: ReverseHttpで誰よりも速く「はてなブックマーク」に反応するツール書いた。

    ReverseHttp面白いですね。 ReverseHttp Tunnel HTTP over HTTP, in a structured, controllable, securable way. Let programs claim part of URL space, and serve HTTP, all by using an ordinary HTTP client library. http://www.reversehttp.net/ ただ勘違いされやすいのが「何がReverseなの」という部分。通常ブラウザからリクエストが送信され、それに対する応答がサーバから返されます。ReverseHttpはサーバで何かアクションが起きた場合に、ブラウザ側がその通知を受信する...なんて事が出来るプロトコルです。仕組みはcometというlong pollに似た仕組みで、サイトのdemo

    Big Sky :: ReverseHttpで誰よりも速く「はてなブックマーク」に反応するツール書いた。
  • 1