sequelでデフォルトのDateTime入れる
いろいろあるらしいが
DB.create_table? :threads do primary_key :id String :title DateTime :created_at, :null => false, :default => Sequel::CURRENT_TIMESTAMP end
でいける。create_table?と?をつけると、存在しない時だけ作成するようになる
sequel動かなかったのでメモ
mysqlでdb作ってサンプルを実行しても
LoadError: cannot load such file -- mysql (Sequel::AdapterNotFound)
が出るので、とりあえずmysql2をgemでインスコしようとしたらエラー出た
http://qiita.com/s_osa/items/34d1814b5b213ca29af7 の通り
sudo apt-get install libmysqld-dev
するとmysql2インスコできた
それでもエラーが起きるので、conenct文を変えて
Sequel.connect(:adapter => 'mysql2', :user => 'username', :password => "passw0rd", :host => "xxx.xxx.xxx.xxx" , :database => "test_database")
の形式にしたら動いた
ffmpegでfmsにストリーム配信する
ffmpeg -re -i /home/user/tmp/foo.mp4 -acodec libfaac -ar 22050 -vcodec libx264 -s svga -b:v 500k -b:a 96k -f flv rtmp://localhost:1935/live/livestream
サーバ起動
sudo /opt/adobe/fms/server start
rubyでamazonAPIの検索URL生成
require 'time' require 'openssl' require 'base64' require 'cgi' host = "ecs.amazonaws.jp" path = "/onca/xml" seckey = {シークレットキー} def build_params(params) res = "" params.keys.sort.each {|key| prefix = (res.length > 0 ? "&" : "") res += "#{prefix}#{key}=#{CGI.escape(params[key])}" } res end def create_timestamp Time.now.strftime("%Y-%m-%dT%H:%M:%SZ") end def create_signature(key, data) Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), key, data)).strip() end params = { :Service => "AWSECommerceService", :AWSAccessKeyId => {アクセスキーのID}, :AssociateTag => {なんたら-22みたいなやつ}, :Operation => "ItemSearch", :SearchIndex => "Books", :Title => "鳴子ハナハル", :Timestamp => create_timestamp(), :Version => "2010-09-01" } param_string = build_params(params) sign_string = "GET\n#{host}\n#{path}\n#{param_string}" signature = create_signature(seckey, sign_string) url = "http://#{host}#{path}?#{param_string}&Signature=#{CGI.escape(signature)}" p url
amazonのAPIアクセスするにはキー取得が必要だったりして色々めんどい。
シークレットキーとアクセスキーIDの取得方法は
http://www.ajaxtower.jp/ecs/
にかいてある
Signature作るときにキーの順序をバイトコード順にしないといけなかった
Padrinoでエラー時に別ページが出るのを防ぐ
class Hoge < Padrino::Application register Padrino::Rendering register Padrino::Mailer register Padrino::Helpers enable :sessions # ↓2つの設定をいれると出なくなる disable :raise_errors disable :show_exceptions end
SequelのDateTimeをto_jsonするとパースできない形になる
Sequel.datetime_class = DateTime
の処理を入れるとUTC表記が抜けて、パースできる形になる