Rubyでハッシュのキーをシンボルに変換


# ハッシュのキーを再帰的に全てシンボルに変換
def key_to_hash hash
	hash.inject({}) do |r,entry|
		if entry[1].instance_of? Hash
			entry[1] = key_to_hash(entry[1])
		end
		r.store( entry[0].to_sym, entry[1])
		r
  end
end

a = { 'hoge'=>'piyo', :foo => { 'bar' => 'BAR' } }
p key_to_hash(a)
#=> {:hoge=>"piyo", :foo=>{:bar=>"BAR"}}
Filed under: 未分類 — hikaru 9:40 PM  Comments (2)

RubyでグローバルIPを取得する方法。

IP判別のどこかのサーバーを利用した。


require 'net/http'
require 'rexml/document'
require 'yaml'

p YAML.load(REXML::Document.new(Net::HTTP.get('checkip.dyndns.org','/')).elements['/html/body'].text).values.first

#ちゃんとかいてみた
dist = 'checkip.dyndns.org'
html = Net::HTTP::get(dist,'/')
doc = REXML::Document.new(html)
yaml_str = doc.elements['/html/body'].text
yaml = YAML.load(yaml_str)
ip = yaml.values.first
p ip
Filed under: 未分類 — hikaru 3:54 AM  Comments (2)

DxRubyにfillRect

Rubyは後付でメソッド追加できるから、他人のライブラリも改変することなく自分好みにすることができる。
DxRubyでfiilRectメソッドを追加してみるテスト。

(続きを読む…)

Filed under: 未分類 — hikaru 2:05 AM  Comments (2)

P3:PeraPeraPrvを使ってみた

Javaでかかれた、マルチプラットホームのTwitterクライアントP3:PeraPeraPrvをインストールしてみた。
環境はUbuntu9.10。

jarをvmで実行するとエラーが出る。
どうやら、設定のxmlファイルが認識されていないみたいだ。

P3_Resourcesをホーム直下におき、+Propertiesのプラスをとったりしたらなおった。

後はこいつを自動起動に登録しておけば素敵なつぶやきライフが送れることだろう。

Filed under: 未分類 — hikaru 9:47 AM  Comments (0)

ActiveRecordの低レベルな使い方メモ

データーベースとコネクションを春

Activerecord::Base.establish_connection('development')

任意のSQLを実行する

ActiveRecord::Base.connection.execute “sql”

SQLの実行結果を処理する

execute(sql_str)の返り値のresult型のインスタンスを処理する

result#eachで一行のレコードに対応するArrayを取得できる

テーブル一覧を取得する

ActiveRecord::Base.connection.tables

テーブルのスキーマを取得する

ActiveRecord::Base.connection.table_structure

Filed under: 未分類 — hikaru 5:54 AM  Comments (0)

ActiveScaffoldが入らない(Rails2.3.5)

Railsのプラグイン、ActiveScaffoldがインストールできない。
Railsのバージョンは2.3.5
ActiveScaffoldにはsvnとgitで公開しているが、2系に対応しているのはgit版だけらしい。
インストール方法は、ほぼすべての解説サイトで以下のコマンドを入力すると書いてある。

 script/plugin install git://github.com/activescaffold/active_scaffold.git

しかし、私の場合は上記のコマンドを入力しても、一切のメッセージも表示されずにインストールされない。
vender/pluginの中を見ても何も増えていない。
とあるサイトには、

 script/plugin install git://github.com/activescaffold/active_scaffold.git -r
 script/plugin install git://github.com/activescaffold/active_scaffold.git -master

とか書いてあったが全然関係ないみたいだ。
と言うわけで、実際にgithubのプロジェクトページへ行って、ダウンロードしてきたzipを解凍して、active_scaffoldというフォルダ名にリネームしてvender/plugin/active_scaffoldにつっこんだら動いた。

非常に苦労した。gitとかRailsのプラグインの仕組みとかあまり知らないので非常に苦労した。

追記

原因は、gitコマンドをインストールしていなかったため。gitコマンドをインストール後に試してみたら、なんの問題もなく入りました。

Railsのscript/plugin をgitから使う場合はgitをインストールしてからということを忘れないようにしよう。

Filed under: 未分類 — hikaru 4:19 AM  Comments (3)

Android(HT-03A)カスタムメモ

先日、HT-03Aが壊れたの直すために色々情報収集していると、いろいろ非公式な改造方法が出てきたので、それらをメモ。(自分用)

書き途中。

(続きを読む…)

Filed under: 未分類 — hikaru 4:37 AM  Comments (0)

Androidでapk形式のパッケージをインストールする

アプリケーションのインストールは通常マーケットから行うのでこんなことをする必要はないのだが、マーケットに登録されていないアプリケーション(自作のものや、開発中のもの)は次の手順でインストールする

前提:PCとUSB接続する

コマンドプロンプトなどから、次のコマンドでインストールできる。

SDK/tools/adb.exe install アプリケーション.apk
Filed under: コンピュータ,メモ,各種サービス — hikaru 2:03 AM  Comments (0)

AndroidをUSBデバッグモードでPCと接続

Androidをいろいろいじるためには、取りあえずPCと接続しなければいけないようだ。その手順のメモ。

環境:HT-03A,WindowsXP

  1. AndroidのSDKをインストールする
    1. SDKをダウンロードする→http://developer.android.com/intl/ja/index.html
    2. setup.exeを実行する
    3. USBdriverとか、色々パッケージを入れる。
  2. 携帯の接続設定でUEBデバッグモードをオンにする
  3. PCと接続する。
    1. 接続する
    2. 新しいデバイスのインストールメニューから、SDKの中のUSBdriverをインストールする

      すでに、ドライバが入っている場合はデバイスマネージャからUSB太陽量記憶装置を削除

  4. SDK/tools/にあるddms.batを実行
  5. ここで実機の端末が表示されていることを確認
Filed under: 未分類 — hikaru 1:53 AM  Comments (0)

Android(HT-03A)が起動しない

Androidのバージョンを1.6に上げてから初めて電池切れを起こしてしまった。
いつものように、USB充電をしながら電源を入れる。
すると、Androidのロゴとホーム画面を勝手に行き来するだけで延々と起動が終わらない。ホーム画面のときには、まともな操作は不可能だ。

と言うわけで、泣きながら解決策を探した。

もはや、出荷当初に戻すしかないと思ったが、肝心の戻し方がわからない。FOMAカードやMicroSDを抜いて電池を外してもダメだ。当たり前か。

リカバリーモードの起動

諦めて、調べてみるとHOME+電源ボタンで電源を入れ、ロゴが出ているときにもHOME+電源ボタンを押すことで、リカバリーモードに入れるみたいだ。

リカバリモードのメニューから初期化が出来た。

Filed under: コンピュータ — hikaru 11:37 AM  Comments (1)