寝る前の5分間でPython
string.maketransを使う.
In [1]: import string
In [2]: trans = string.maketrans('aug', 'AUG')
In [3]: mRNA = 'gaauaggcgccattagauaugguuuguuuugcgcauuaauauagcgauuuu'
In [4]: mRNA.translate(trans)
Out[4]: 'GAAUAGGcGccAttAGAUAUGGUUUGUUUUGcGcAUUAAUAUAGcGAUUUU'
ん?あっ!そうか!ですよね...勘違いした!アホだ! 「5分です!!」 では,おやすみなさい.
Install ImageMagick & RMagick
今日何度もImageMagickとRMagickのインストールに失敗したので個人メモをする. (実はREADMEを見ておけば,失敗することはなかった.)
$ sudo port install tiff -macosx imagemagick +q8 +gs +wmf
$ sudo gem install rmagick
新天地
いやぁ〜昨日から新天地でお仕事です. 今のところ仕事(タスク)はふられていないので,環境設定うんぬんというところなんですが,まだ慣れていないのでー自分が感じている以上に疲れているようです. まぁ〜ここんところだらけていたから余計ですかね.忙しくなる前までに調整していければなぁ〜と考えてます.
たまたま昨日今日と出勤が早くて…今まで起きていた時間に家を出るなんて感じです.その代わり朝食を取りながら「皆藤愛子(めざましテレビのお天気お姉さん)」に会えるのは幸せですね☆ 今日の愛ちゃん可愛いかったなぁ〜☆ 明日も会えるかなぁ〜☆ 俺の愛子☆
「早くお天気教えてぇ〜愛子ぉ〜〜〜〜〜☆」
ラスト
昨日で2年2ヶ月勤めていた会社を退社しました!お疲れさまでした! いや〜プログラムのプの字も知らない僕が…ワガママ三昧やってきましたよ! 問題の多い会社でしたが,素敵な人達に出会えたと感謝しております☆ 今後もこの素敵なお馬鹿さん達と長く付き合えたらと思っております.
よく昼間行っていた, TOOTH TOOTH に最後足を運ぶことができた(ちと行き辛かったんですが…). そしたら,nobu_ さん& kishi-r さんの時のお祝いが….僕にもあった! 実は,スタッフの方は自分がラストだと知らなかったんですがね….
今日はさらに夜に,先月末で退職した nobu さんと先週退職された kishi-r さんと自分を含めていただけた送別会があった☆ み〜んな面白いわぁ〜この飲み会になると,よー笑わせてもらえる.こっちが悔しいくらいに笑ってしまう.この素敵なお馬鹿さん達には勝てないな!
こちらでも,素敵なケーキを用意してもらえたのに…写真撮るの忘れた.
さらに,こんな僕にもこんなプレゼントをいただけた☆
こりゃー読んで勉強しなきゃ.
さて,ここんところ社会人らしからぬ生活を送っていたので,週末で気持ちをリセットして新しいところで頑張っていかなければ!
みなさん,ありがとうございました.そしてこれからもよろしくお願いします☆
単一テーブル継承
Rails「単一テーブルの継承」ってーのを利用して遊んでみたら,わけがわからなくなった. 単一テーブルの継承とは,同じようなテーブル(カラム)構成の時に複数のテーブルを作成するのを避けたりするときに,継承しちゃえー的な!
下記の例は,商品名と価格の情報を持つ食べ物(Food)と飲み物(Drink)を商品(Item)という1つのテーブルに任せましょ! だもんで,このitemsテーブルにはtypeカラムが必須となる.
・ テーブル作成.
$ vi db/migrate/001_create_items.rb
class CreateItems < ActiveRecord::Migration
def self.up
create_table :items do |t|
t.column :name, :string, :null => false
t.column :price, :integer, :null => false
t.column :created_at,:datetime, :null => false
t.column :updated_at,:datetime, :null => false
t.column :type, :string, :null => false #必須
end
end
def self.down
drop_table :items
end
end
・ Model Itemモデルを継承してあげるだけ.
class Item < ActiveRecord::Base
end
class Food < Item
end
class Drink < Item
end
では,実験.
$ ./script/console
>> Item.find(:all)
=> []
>> Food.find(:all)
=> []
>> Drink.find(:all)
=> []
>> Food.create(
?> :name => 'apple',
?> :price => 150
?> )
>> Item.find(:all)
=> [#<Food:0x229b088 @attributes={"name"=>"apple", "updated_at"=>"2008-02-17 00:00:00", "price"=>"150", "type"=>"Food", "is_active"=>"1", "id"=>"1", "created_at"=>"2008-02-17 00:00:00"}>]
>> Item.find(:all)
=> [#<Food:0x2297d5c @attributes={"name"=>"apple", "updated_at"=>"2008-02-17 00:00:00", "price"=>"150", "type"=>"Food", "is_active"=>"1", "id"=>"1", "created_at"=>"2008-02-17 00:00:00"}>]
>> Food.find(:all)
=> [#<Food:0x2294864 @attributes={"name"=>"apple", "updated_at"=>"2008-02-17 00:00:00", "price"=>"150", "type"=>"Food", "is_active"=>"1", "id"=>"1", "created_at"=>"2008-02-17 00:00:00"}>]
>> Drink.find(:all)
=> []
DBでは,
mysql> SELECT * FROM items;
+----+-------+-------+---------------------+---------------------+-----------+------+
| id | name | price | created_at | updated_at | is_active | type |
+----+-------+-------+---------------------+---------------------+-----------+------+
| 1 | apple | 150 | 2008-02-17 14:43:39 | 2008-02-17 14:43:39 | 1 | Food |
+----+-------+-------+---------------------+---------------------+-----------+------+
ここまではよかったんだが,実際にフォームを作ってWebアプリとして作成してみようとしたら,
# @tags = Tag.find(:all).collect {|t| [t.name, t.model]}
# => [['食べ物', 'Food'], ['飲み物', ''Drink]]
<% form_tag :action => "create" do %>
<%= text_field :item, :name %>
<%= text_field :item, :price %>
<%= select :item, :type, @tags %>
<%= submit_tag "Post" %>
<% end %>
てーな感じでフォームを作ろうとしたら,wrong argument type String (expected Module) てなエラーでて困った. ここ 見るとーtypeは駄目なんだと….でーも単一テーブルの継承するにはtype必要なんでしょ!?と思って名前を変えたりして無理矢理対応していたんだが….
よく考えるとー別にtypeでモデルを切り替えてーデータをつくるんだからー俺がtypeを意識する必要ないじゃん.つまり,意図的にtypeを params[:item] に含める必要がなかった….
まぁ結局俺がアホなだけですね.わけのわからんサンプルを作ってしまった.