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…

rubyでsqlファイル作る時にエスケープに使えるやつ

https://github.com/sonots/ruby-sql-makerよい

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生成

amazon検索のAPIの検索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 =…

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表記が抜けて、パースできる形になる

SpringRestClientでキャメルケースの変数名保ったままJSON受け取る

AndroidAnnotationsと一緒にSpringRestClient使っていて、 スネークケースで返ってくるJSONに対して、キャメルケースで受けなければならないが自動でやってくれない。 変数名をスネークケースに合わせるのはやりたくなかったのでハマっていた。結構AndroidAn…

padrinoでjsonパラメータはparamsに入らない

ほとんどsinatraと同じなので post "/api" do request.body.rewind # 既に読まれているときのため data = JSON.parse request.body.read "Hello #{data['name']}!" end が適用できるhttps://github.com/letmein/padrino-json 使うと良いかもちなみにAndroidA…

padrinoのdatamapper使ってる時にテスト環境のmigrateする

padrino rake -e test dm:auto:migrateずっと落ちるのでappname_test.db見たら空になっていてmigrateされてないことに気付いた eで環境名を指定するが、rakeの後に打たないとダメ。一番後ろだと無視されるので注意

mochaをcoffeescriptでやるやつ

mocha --compilers coffee:coffee-script hoge.coffee

apkのインストールは完了してません的なエラー

提供元不明なアプリを通す設定にしてても ダウンロード介してapkインストールするのは署名つけないとダメだった

AndroidAnnotationsのRestClientでJSONをパースするとエラーが出る

@Restをつけたinterface部分に RestTemplate getRestTemplate(); を加えた後Clientを使っている場所で @RestService HogeRepository hogeRepository; // 省略 RestTemplate restTemplate = hogeRepository.getRestTemplate(); ArrayList<HttpMessageConverter<?>> httpMessageConver</httpmessageconverter<?>…

javascriptでget_orを簡単に書く

get_orみたいなのを綺麗にかけることに気づいた var get = function(v){ var or_when_f = function(or_v){ return or_v; }; var or_when_t = function(or_v){ return v; }; if (v == undefined || v == null) { return { or : or_when_f }; } else { return …

pythonのmongoengineでmodelをjsonにしたい

mongoengineを触っている。 Documentをjsonにするメソッドが用意されてなかった。https://gist.github.com/285017 を見つけたが、listの変換がなかったので改変した。 import copy, datetime, time, json # class Doc(Document): def to_json(self): def _co…

mysqlをUTFにするやつ

character-set-server=utf8 だった

cで定数+charの文字列結合

char hoge[strlen(CONSTANT_A) + strlen(str)]; sprintf(hoge, "%s%s", CONSTANT_A, str);

c++でエラー: ‘hogehoge’ が再定義されています

structとかの記述があるヘッダファイルを複数回読み込むと再定義されて起きる #pragma onceヘッダファイルの先頭に書くと解消される

AndroidのWebViewを透過する

前はhtmlの背景色とかをいじれば良かったが 今は WebView webView = new WebView(hoge); webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); しないといけない。レイアウトだと <WebView android:layerType="software" /> こういう指定API Level11以降の変更らしい。前のも対応するときは判定が</webview>…

ubuntu12.04でopencvインストール, c++でコンパイル

インストールコマンド sudo apt-get install libcv-dev sudo apt-get install libcv2.3 sudo apt-get install libcvaux-dev sudo apt-get install libcvaux2.3 sudo apt-get install libhighgui-dev sudo apt-get install libhighgui2.3 sudo apt-get instal…

scalaでFM-index

前に実装したWaveletTreeを使ってFM-indexを作った これからは速度向上に専念する https://github.com/myatsumoto/fumi

scalaでMath使うとwarning出る

Math.min ではなく math.min

scalaでBWT変換

val str = "mississippi" (0 until str.size).map(i => (i, str.drop(i) + str.take(i)) ).sortWith(_._2 < _._2)

scalaでwavelet tree

https://github.com/myatsumoto/wabi とりあえず作った。速度や細かい処理に関しては後々修正する

jsでエラーを継承する

var HogeError = function(){ Error.apply(this, arguments); }; HogeError.prototype = new Error; try { throw new HogeError(); } catch(e) { if (e instanceof HogeError) { console.log("success"); } else { console.log("failure"); } }

scalaのBitVector

import scala.collection.mutable.BitSet class SuccinctBitVector(str:String) { var vector = new BitSet() for (i <- 0 until str.size) { if ("1" == str(i).toString) vector += i } println(vector(0)) def rank(b:Int, index:Int) : Int = { var coun…

expressでhttp/https判定

req.connection.encrypted がundefinedならhttpらしい

scalaでHuffmanTree

facadeするのダサい感ある import scala.collection.mutable.HashMap class HuffmanTree(str: String) { abstract class Node { val count: Int } case class Leaf(str:String, count:Int) extends Node case class Branch(left: Node, right: Node) extends…

ScalaでVerticalCode

とりあえず作った import scala.collection.mutable.BitSet class VerticalCode(nums:Array[Int]) { val length = 32 var data = Array[BitSet]() this.insertNums(nums) def insertNums(nums:Array[Int]) = { for (i <- 0 until nums.length) { val diff = …

Scalaで範囲付き二分探索

これは文字列の探索。dankogai氏のblogのjsを見ていじった。 object TryBinarySearch { def main(args:Array[String]) { var strs = Array[String]("a", "ab", "abc", "abcd", "cc", "dd", "ee") // sort済 val (found, head, tail) = binarySearch(strs, "a…