10:51:09 >wtnabe< いつまで経っても Nostalgy の save が move だと気づけ ない 10:54:31 >wtnabe< うっかり save してその後、うわぁしまったって慌てて move 先で該当メールを検索して copy し直さないといけない。 10:54:37 >wtnabe< なんで save なんて名前にしたの。
10:51:09 >wtnabe< いつまで経っても Nostalgy の save が move だと気づけ ない 10:54:31 >wtnabe< うっかり save してその後、うわぁしまったって慌てて move 先で該当メールを検索して copy し直さないといけない。 10:54:37 >wtnabe< なんで save なんて名前にしたの。
DP版ユーザーとして先走って3ヶ月前から使っていました。たぶん修正されないであろう問題があったので、ここに書いておきます。 MacPortsやRubygemsが怪しい挙動を示すんですね。MacPortsが依存を解決せずに中断したり、gems が モノによっちゃrequireできなかったり・・・。この二つ、開発者にとっちゃ致命的な問題。MacPortsはpkgのバージョンチェックでこけたので自分でビルドしたんですが、それが悪いのかと思って調べていたところ、海外の方に既に報告されていました。(日本だと全く情報がありませんでした) 参考 evolution - Snow Leopard with legacy macports and rubygems 超訳 LeopardのユーザーはおそらくOSに載っている標準のRubyを使っていて、既に大量のmacportsとrubygemsがあることだと思
What Pikl is an image librarry for JPEG, PNG and Bitmap. Pikl’s API is designed to process the image easily with method chain. Installing Windows $ sudo gem install pikl Linux Linux requires libjpeg and libpng. Install These libraries with yum or apt-get. $ sudo yum install libjpeg $ sudo yum install libjpeg-devel $ sudo yum install libpng $ sudo yum install libpng-devel And use gem command. $ su
複数人で作業をしていると、ふとWebサーバを使いたくなるときがあります。 簡単なファイルの受け渡し等、ローカルマシンですぐにWebサーバを起動させることができると結構便利です。 でも、Apacheみたいな専用のWebサーバをわざわざインストールするほどでもない・・・。 そんなときにローカルマシンにRubyかPythonがインストールされていれば、コマンド一発(ワンライナー)ですぐにWebサーバを起動させることができます! Python編 Pythonでは、バージョン2.4以降で追加されたモジュールをスクリプトとして実行できる"-m"オプションを活用します。 $ python -m SimpleHTTPServer上記のような感じでコマンドを実行すると、デフォルトの8000番ポートで、実行時のカレントディレクトリをドキュメントルートとしたWebサーバが起動します。Pythonコマンド1つでW
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
■ [ruby] RubyからJavaScriptのテストも行うためのライブラリあれこれ RailsなどのWebフレームワークでは、「rake test」一発でWebアプリのテストが走ってくれて楽ちんなわけですが、 JavaScriptのテストは手作業でやってたりしませんか? 「rake test」でJavaScriptのテストもやってしまうためのライブラリがいろいろ出てきてるようなので、列挙してみました。 ブラウザを使うもの 実際にブラウザを起動し、それをRubyからコントロールすることでWebアプリのテストを行う。 Selenium 有名ですね。 調べてないんだけど、Rubyからも使えるし、JavaScriptを操作したりもできるんじゃないですかね(投げやり)。レポート求む。 Watir (RubyForge) #どっちが公式サイトなんだろう Rubyからブラウザを起動し、操作する。
■ この世界のメロディーはなるべくiTunesに入れておこうと思っている。 で、最近は部屋の片隅にあるMac miniをファイルサーバとして、mp3やらなんやらを置いているので、できればiTunesも、このMac上のものを利用したい。ただ、mp3を置くたびにいちいちMacの前まで行って、iTuneをぽちぽち操作するのは、ちょっと面倒。できれば、スクリプト一発で、mp3をiTunesに登録できるようなツールやらライブラリはないものかと、探していたら、RubyOSA なるもの発見。 これは、Ruby上からAppleScriptを操作できるものらしい。AppleScriptならiTunesを色々いじれるはずだ。だったら初めからAppleScriptを直接使えよ、という気もするが、いまいちよくわからないもので……。 さて、RubyOSAを使うには、まずgemを利用してインストールすればよい。 $
http://github.com/technohippy/Pongo/tree/master 先週のRubyKaigi2009で「Rubyで*1何か作りたい欲」を激しく刺激されたので、前から欲しかった物理エンジンをRubyに移植してみた。本気アプリならChipmunkのRubyバインディングでFAっぽいけど、ピュアRubyのもあればあったで嬉しいっしょ。 物理エンジンと言えば前にBox2DのAS3版をJSに移植したことがあるんだけど、Rubyの場合はJSみたいに単純に置換ってわけにいかないから難度高すぎ。30分ソース眺めて諦めた。で、もうちょっとシンプルそうなエンジンということで移植のターゲットとしてはAPE (Actionscript Physics Engine)を選択。ちなみに今回は置換じゃなくてちゃんと目視&手打で移植したっす。 移植してみて分かったのは、APEはホントにシンプル
おはようございます。 うちだです。 みなさんテストコード書いてますか? 私はテストと言われると、どうもやる気がおこりません。 そこでBDD! 今回はBDD初心者の私が、やってみた過程を綴ります。ツッコミ大歓迎 BDDとは? Behavior Driven Development 振舞駆動開発 テスト駆動開発ではテストのためにコードを書く 振舞駆動開発では振舞(仕様)のためにコードを書く 結果的にやる事はほぼ一緒 言い方でモチベーションがかなり変わる スペック!スペック! 各言語のBDDフレームワーク Ruby RSpec .NET NSpec Java JBehave PHP PHPSpec 10ステップでやってみるBDD 1. インストール $ sudo gem install rspec 2. スペックを書く # spec/hello_spec.rb require 'hell
これまで、ウェブアプリを作るような仕事ではRailsを使ってきたのだが、簡単なCGI、特にバックエンドサーバの設定や状態管理などを行うだけでDBが必要ないようなケースとかは、Railsではややオーバースペックである。RailsはDBへのコネクタなしで動かす方法が分からなかった(たぶん存在するんだとは思いますが…)り、いちいちコントローラを分けて書くのはちっさいアプリだと面倒くさかったりして、フィットしない場合も多い。 で、Rails以外のフレームワークということで、最近はSinatraを使い始めている。開発せずともわかるメリットとして、Sinatraは Pure Rubyで動くのでインストールが楽 sinatraとrackを同梱してしまえばrubygemsなしで動くのでインストールが楽 CGIでもまともな速度で動く というようなものがある。 インストールが簡単なのは非常に重要である。インス
Rubyで半角カナ入りのテキストを、(NKFとかKconvで)JIS(ISO-2022-JP)からほかの文字コードに変換すると、文字化ける場合があったので、調べてみました。 まずISO-2022-JPで半角カナを表す正式な方法はないようです。非公式な方法として ESC ( Jを使って8ビットコードを使用する方法 SO/SIを使って7ビットコードを使用する方法 ESC ( I を使って7ビットコードを使用する方法 があるらしいです(この辺参照)。 で、問題のテキスト(具体的にはcottonから送信されたIRCのメッセージ)の半角カナは1番目の方法を使ってるんですが、NKFは3番目の方法にしか対応してないらしく、文字化けたのでした*1。 というわけでお手軽な対処法として s= s.gsub(/\e\(J/n, "\e(I").unpack("C*"). map(){ |c| (c & 0x7f
Gitを企業のプロジェクトで採用するケースが増えている。とは言えまだGUIツールが弱く、操作がしづらいのが実情ではある。特に最近はWebアプリケーションが流行っていることもあってGUIよりもWebブラウザベースのツールが増えているようだ。 WebベースのシンプルなGitブラウザ Githubのようなリポジトリブラウザは良いと思いつつも、企業では使いづらいだろう。そこで使いたいのがGinatraだ。 今回紹介するオープンソース・ソフトウェアはGinatra、Sinatra製のGitリポジトリブラウザだ。 GitにはGitWebというWebブラウザベースのGitブラウザがあるが、GinatraはそれのSinatraベースのクローンになる。個人的には印象としてはGinatraの方がごく簡単に導入できるように思える。何せGemを入れてGinatraを立ち上げ、reposディレクトリに見たいリポジト
スクレイピングのチュートリアルを書いてみた。 参考:http://nokogiri.rubyforge.org/nokogiri/Nokogiri.html まだまだたくさんのクラスやメソッドがあるが(読んでない)、HTMLのスクレイピングに限定すれば多分これくらいで十分。 2014-02-16追記 なんかたくさんブックマークされていることに気づいたので、サンプルコードのRuby1.9/2対応のアップデート。 Mechanize周りも修正。WWW::Mechanize → Mechanize 等 (0) 前提知識 Ruby、HTML、DOM、CSSセレクタまたはXPath (1) クラス構造の理解 Nokogiri::HTML::Document < Nokogiri::XML::Document < Nokogiri::XML::Node < Object Nokogiri::XML::
Ruby blog with daily news, links, code and tips Webサービスが多様化する中、最近のWebサイトやWebアプリケーションにはより多くのHTTPリクエストを並列に処理する必要が求められているかもしれない。とくにTwitterのように細かいメッセージを頻繁にやりとりするようなサービスを構築する、またはそうしたサービスに対応するとなると、システム側も高速な並列HTTP処理が必要になる。 Ruby InsideにおいてTyphoeus: A High Speed, Parallel HTTP Library for Rubyのもと、Rubyで活用できる高速並列HTTPライブラリ「Typhoeus」が紹介されている。Rubyデベロッパは一度チェックしておきたい。組み込みのNET::HTTPライブラリと比較してもHTTPartyよりも多種多様なHTTPリ
GMailのSMTPサーバーに接続し、メールを送信するサンプルです。 TMail利用してメールを作成。 これを使うと、日本語メールや添付ファイル付きメールもさくっと作成できるみたいです。 メールの送信はRuby付属のNet::SMTPで。 GMailのsmtpサーバーでは、TLSによる暗号化が必要なので「tlsmail」を利用して対応します。 あと、認証も必須です。 require 'rubygems' require 'tmail' require "tlsmail" # tmailでメールを作成 mail = TMail::Mail.new mail.to = 'foo@var.com' mail.from = 'foo@gmail.com' mail.subject = 'test mail' mail.date = Time.now mail.mime_version = '1.0
ネットワークプログラミングで面倒なのが、通信相手にバイト列しか送れないためプロトコルをシリアライズ方法から考えないといけないかったり、複数のクライアントに対応しようとするとスレッドやらイベント駆動やらを考えないといけないところで、なかなか本質的なロジックの実装に手を付けられずもどかしくなります。 そのあたりの面倒な部分をまとめて良きに計らってくれるRPCライブラリを作っておくと良さそうです。 とはいえ、RPCレイヤーはネットワークプログラミングの中でも速度と信頼性に大きく影響する部分でもあります。実装を丸々隠蔽されてしまうと、後になってカスタマイズできずに困ったことになるかもしれません。 最初のプロトタイピングとして簡単に使えるが、カスタマイズも効くような柔軟性が欲しいところです。 そこでRubyの高速なイベント駆動IOライブラリであるRevと、バイナリベースのシリアライズ形式であるMes
MacPortsにruby186が追加されていました。今年の1月に追加されたようです。 New port - lang/ruby186, Ruby at version 1.8.6 for those who need it for compatibility reasons (not heavily tested) Changeset 45292 for trunk/dports/lang/ruby186 – MacPorts 古いRailsアプリケーションを動かすのに1.8.6を使いたいことがあるんですが、これでローカルリポジトリを作らずに済むようになりました。 以下作業手順。 ローカルリポジトリを消す。 この記事で作成したローカルリポジトリを消します。 うまくいかなかった時に戻せるようにgitで現状を保存しています。最近はバックアップディレクトリを作る代わりにgitを使ってみてるんで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く