Gmailで複数箇所からPOPでアクセス

Gmailを複数箇所からPOPでアクセスすると、サーバにメッセージを保存していても差分だけしか受信出来ないみたい。ヘルプによると、以下のようにすればいいとのこと。

 例えば、test_xxxx@gmail.com というアドレスだったら、受信のアカウントのところに recent:test_xxxx@gmail.com という風にして、サーバにメッセージを残すようにすれば良いみたいです。

 あと、gmail のアカウントは、test_xxxx+apple@gmail.com みたいに、+ を使うと擬似的に色んなアドレスを作る事が出来て便利ですよねー。

Gmailで複数箇所からPOPでアクセス

ipconfig /flushdns が出来ないとき

Windows でDNSのキャッシュをクリアしたいときは、コマンドプロンプト上で以下のようなコマンドを実行する

ipconfig /flushdns

だけど、実行したら以下のようなエラーが出た

Could not flush the DNS Resolver Cache: 関数は実行中に失敗しました。

調べてみると、DNS Client が動作していないときに起きる現象みたい。サービスを起動すればなおる。

スタート -> ファイル名を指定して実行 -> services.msc

サービスの一覧が表示されるので、”DNS Client” を右クリックして、開始を選択。

これでサービスが問題なく立ち上がれば ipconfig /flushdns が実行出来る。

ipconfig /flushdns が出来ないとき

Mac で Returning nil _server

screen で gvim を立ち上げたら、 Returning nil _server って出てものすごい重くなって使えなかったけど、これは screen で立ち上げるといけないっていう問題らしい。

 他にも、screen で synergy 立ち上げると同じようなエラーになったりするらしいので、同様の現象に見舞われたときは screen 外でやればいいってことみたいだ。

Mac で Returning nil _server

RubyAMF を使ってみる

 よりよい家計簿を目指して、RubyAMFを使ってみる。Rails + Flex3.0 でやろうと。

インストール(Rails側)

$ script/plugin install --force http://rubyamf.googlecode.com/svn/trunk/rubyamf/

設定

 インストールすると config/rubyamf_config.rb が出来るので、ここで設定を行う。

無視したいフィールドがあったら、下記のように指定する。

ClassMappings.ignore_fields = ['created_at','created_on','updated_at','updated_on']

ActionScript側で、変数名をキャメルにするかアンスコ区切りにするか。

ClassMappings.translate_case = false

public var created_at:Date;

ClassMappings.translate_case = true

public var createdAt:Date; // created_at in rails

AS側で、動的にRailのモデルと関連づけを出来るようにするか。ARから派生したモデル以外でも使えるみたい。

ClassMappings.assume_types = true

指定は、以下のようにする。
# Flash:: fl.net.registerClassAlias(‘User’,User)
# Flex:: [RemoteClass(alias=’User’)]

ClassMappings.assume_types = false のとき、以下のようにしてRails側とAS側のマッピングをするか。

ClassMappings.register(:actionscript => 'Address', :ruby => 'Address', :type => 'active_record')

とすると、
Ruby側

class Address < ActiveRecord::Base

AS側

[RemoteClass(alias="Address")]
public class Address {

デフォルトだと、ASから送られてくる日付は Time オブジェクトになるが、これを DateTime オブジェクトにするかどうか。true で DateTime, false で Time。

ClassMappings.use_ruby_date_time = true

これを true にすると、associationを eager load してくれるみたいです。false にすると、いちいち設定する必要があります。

ClassMappings.check_for_associations = true

AS側で保存したときに、Rails側でどのように受け取るかの設定。

ParameterMappings.scaffolding = false

として、AS側でsaveしたとき

save(context);

Rails側では、以下のように受け取ります。

def save
  @context = params[0]
ParameterMappings.scaffolding = true

として、AS側でsaveしたとき

save(
   {context:context}
);

Rails側では、以下のように受け取ります。

def save
  @context =
     params[:context]

書きかけ。

RubyAMF を使ってみる

ModelファイルにDBのフィールド一覧を挿入する

annotate_models っていうRailsプラグインを使うと、rake の task として DBのフィールド一覧を各 Model ファイルの先頭にコメントとして挿入してくれる。

インストール

$ script/plugin install http://repo.pragprog.com/svn/Public/plugins/annotate_models/

使い方

$ rake annotate_models

Modelファイルの先頭に色々書いちゃうと変なことになるから、 Schema Information の下あたりから手書きのコメントを書き始めたほうがいいね。

ModelファイルにDBのフィールド一覧を挿入する