VimでRubyのインデント設定を変える
Lionでgvimをインストールしてrubyのスクリプトを書きはじめてみると インデント幅が自分には大きすぎて、それにテキスト全体にインデントを適用する方法がわからなかったので調べました。 ...
Lionでgvimをインストールしてrubyのスクリプトを書きはじめてみると インデント幅が自分には大きすぎて、それにテキスト全体にインデントを適用する方法がわからなかったので調べました。 ...
rubyやpythonで書いたCGIを動かすためにやっぱりローカルでもテスト環境がほしいのでMacで使えるhttpdを探したら、BSDが元になってるのではじめからApacheが入ってるらしい。 「システム環境設定」→「共有」→「Web共有」をONにするだけでホームフォルダのしたに「サイト」というフォルダが自動的に作成されて、そこに http://localhost/~user/ でアクセスできるようになる様子。こりゃ楽だ。ひゃほーい。 全体の公開フォルダは /Library/WebServer/Documents /Library/WebServer/CGI-Executables の2つになるらしい。 とはいえこんなフォルダを使いたくないのでホームフォルダの下でCGIが実行できるように変更します。 sudo vi /private/etc/apache2/users/[ユーザ名].conf で設定ファイルを開いて <Directory "/Users/[ユーザ名]/Sites/"> Options All AllowOverride All Order allow,deny Allow from all AddHandler cgi-script .cgi .rb .py </Directory> のように書き換えて、 「Web共有」の設定を一旦切ってまたONにしてApacheを再起動。 cd Sites vi test.rb で「サイト」フォルダの下に新しいファイルを作って、その中に #!/usr/bin/ruby print "Content-Type: text/plain\n\n" print "hello" と書いて chmod 705 test.rb でファイルを実行可能にしてブラウザで http://localhost/~[ユーザ名]/test.rb で test と表示されれば成功です。 何故か途中から敬語になってますが、 参考 Apacheを起動する - Mac OS X LeopardでAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境 - futomi’s CGI Cafe http://www.futomi.com/lecture/macosx/apache.html CGI動作環境の構築 - Mac OS X LeopardでLAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境 - futomi’s CGI Cafe http://www.futomi.com/lecture/macosx/cgi.html ...
前回の記事の続きです。 NHK 語学のラジオ講座をさくらの VPS で自動ダウンロード http://hack.ironsand.net/2012/auto-download-nhk-language-mp3-by-vps/ 今回はさくら VPS にダウンロードした mp3 を Sugarsync にアップロードするについて解説します。 さくらの VPS 上に SugarSync や Dropbox を常駐させるのはできるのかどうかわかりませんでしたし、できてもメモリを食いそうなので今回は SugarSync が提供する API を使用します。 自動的に SugarSync にファイルをアップロードさせるための手順は以下の流れになります。 API を使うために SugarSync の Developer に登録 upload_nhkradio.rb の設定 cron の設定 1. API を使うために SugarSync の Developer に登録 まず SugarSync の API を使うために Developer として登録を行います。 http://www.sugarsync.com/developer/signup もし Sugarsync のアカウント自体を持ってない方がいたら、まず[こちら][1]から SugarSync 自体のアカウントを作ってください。 Developer 登録をすると Access Key ID と Private Access Key が手に入りますのでメモっていてください。あとで必要になります。 次に[Create App]から新しいアプリの登録を行いアプリケーションキーを取得してください。 新しいアプリの作成には以下の 5 つの情報を入力する必要があります。 ...
NHK ラジオの語学講座を毎週ダウンロードしてるんですが、 外国語を勉強してるのは海外に行くためでして、海外だとダウンロードができないことがよくあります。 なのでせっかくさくらの VPS をお金払って借りてるんだから 勝手にダウンロードするように設定しましたので参考にどうぞ。 月曜日の 12 時頃には決めておいたフォルダに mp3 ファイルができてます。 実際に先週から動かしてみてますが、こりゃ楽でいいです。 SugarSync にアップロードしてるので海外にいるときに iPhone があるだけで新しい音声を聞くことも出来ます。 記事が長くなるので今回の さくら VPS を使って自動的に NHK ラジオ講座をダウンロード 次回の さくら VPS にダウンロードした mp3 を Sugarsync にアップロードする の 2 つにわけて解説していきます。 自動的に NHK ラジオ講座をダウンロードするには以下の 4 つの手順が必要です。 flvstreamer のダウンロード、コンパイル Ruby のインストール CaptureStream の設定 cron の設定 1. flvstreamer のダウンロード、コンパイル flvstreamer をインストールするんですが、 まずさくらの VPS が 32 ビットなのか 64 ビットなのか確認します。 $ cat /proc/cpuinfo | grep flags して値に lm が含まれていれば 64bit の CPU です。 ...
Rubyで外部のプログラムを起動させて標準エラー出力を得るには open3 を使わないとできないが、 fork() を使ってるためWindowsでは代替の win32-open3 を使って実現する。 まず gem で win32-open3 をインストール C:\Users\tetsuya>gem install win32-open3 Successfully installed win32-open3-0.3.2-x86-mswin32-60 1 gem installed Installing ri documentation for win32-open3-0.3.2-x86-mswin32-60... Installing RDoc documentation for win32-open3-0.3.2-x86-mswin32-60... 次にわざとエラを出して標準エラー出力が受け取れるか確認する。 require 'rubygems' require 'win32/open3' stdin, stdout, stderr = *Open3.popen3('ruby -error') stderr.each{|line| print line } その結果 -e:1: undefined local variable or method `rror' for main:Object (NameError) 以上。 外部プログラムでエラーでしかほしい情報を返してくれないやつとかいるのでこれが使えると大変便利。
Python か Ruby のスクリプトを常駐させたかったので調べてみたら Ruby の方が簡単そうだったので試してみた。 環境 OS:Windows 7 ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] gem 1.3.4 Portable バージョンを使ってます。 Win32-Service のインストールC:>gem install win32-service するだけです。 ただうちの環境ではこんなエラーが出てしまいました。P:/Dropbox/bin/RailsPortable/App/Rails/bin/ruby.exe extconf.rb checking for strncpy_s()… yes creating Makefile nmake Microsoft(R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. P:\Dropbox\bin\RailsPortable\App\Rails\bin\ruby -e “puts ‘EXPORTS’, ‘Init_api’” > api-i386-mswin32.def cl -nologo -I. -I. -IP:/Dropbox/bin/RailsPortable/App/Rails/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_STRNCPY_S -c -Tcwin32/api.c cl : コマンド ライン warning D9035 : オプション ‘Og-’ の使用は現在推奨されていません。今後のバージョンからは削除されます。 cl : コマンド ライン warning D9002 : 不明なオプション ‘-G6’ を無視します api.c p:\dropbox\bin\railsportable\app\rails\lib\ruby\1.8\i386-mswin32\config.h(2) : fatal error C1189: #error : MSC version unmatch NMAKE : fatal error U1077: ‘“C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.EXE”’ : Stop. ...