FC2ブログ
2015
10.08

[ruby][ActiveRecord] ArgumentError - invalid byte sequence in UTF-8

Category: 未分類
なんでやねーんやんでやねーん

とりあえずエラーメッセージでぐぐってみたけど、そうじゃないってのが多かった

のでソース読んだ。
/XXXXX/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:615:in `block in pk_and_sequence_for'

def pk_and_sequence_for(table)
execute_and_free("SHOW CREATE TABLE #{quote_table_name(table)}", 'SCHEMA') do |result|
create_table = each_hash(result).first[:"Create Table"]
if create_table.to_s =~ /PRIMARY KEY\s+(?:USING\s+\w+\s+)?\((.+)\)/ # この行
keys = $1.split(",").map { |key| key.delete('`"') }
keys.length == 1 ? [keys.first, nil] : nil
else
nil
end
end
end


ほうほう、CREATE TABLE 文をパースしてるのね。

で、Exception返すテーブルを mysql で SHOW CREATE TABLE table_name してみた。





あああああああああ


これだああああああああああああ



コメントが文字化けしちょる・・・・
これだ、間違いない


修正してもらったら直ったよ!Exception出なくなったよ


これは ActiveRecord 側にレポートすべきかねぇ、、、


あと、はじめからソースちゃんと読むべきだね・・・ええ


Comment:2  Trackback:0
2015
07.15

test

Category: 未分類
$hoge = 0.4;
$base = $hoge;
my @out;

for(0..63){
$i = $_;

print "no: " . $i . "\n";
print "base: " . sprintf("%.100f" , 2 ** -($i)) . "\n";
print "hikaku" . sprintf("%.100f" , $base) . "\n";
#next;
$n = true;
$r = 2 ** -($i);
$o = 0;

if(($base - $r) > 0){
$base = $base - $r;
print "hiita:" . sprintf("%.100f" ,$base) . "\n";
$o++;
}
push @out,$o;
print "\n";
}


print join("",@out);
Comment:0  Trackback:0
2015
06.19

[sinatra] ルータの書き方とかメモ

Category: 未分類
use あるいは map
http://qiita.com/abey1192/items/f2fef02e12ea2bea3f89

ROUTES 使う
これは map 使うのと内部的には同じ?よくわかんないけどこれ採用
http://studio3104.hatenablog.com/entry/2014/10/03/013500

use は、use したクラスの before を全て実行してくれてしまうのでちょっと面倒かな。。
なので、他のBaseClass作って、それを使いたいルータ用のクラスそれぞれに継承させたい場合はかなり厳しい。

ROUTERS なら、マッピングされたパスに対してしか使われないので楽ちん。

気が向いたらもうちょいちゃんとまとめるけど、とりあえずメモ・・・

Comment:0  Trackback:0
2015
02.26

[debian][ruby][passenger][sinatra] で簡単サイトをつくろうとしたがエラー

Category: 未分類
stable でやってみたけどなんかあれだったので、dist-upgrade して tesging にしたった。
ruby が 2.1系になってくれたので、passenger 作り直し。そしたら、

# ruby -v
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]

あ、ビルドはまぁまたね・。・

# passenger-install-apache2-module
.....
/usr/bin/ruby1.9.1 /usr/local/bin/rake RELEASE=yes apache2:clean apache2

違う!そうじゃないいいいい! ruby のバージョンがちがううううう

とりあえず、一旦 passenger 消していれなおし
# gem uninstall -a passenger
# gem install passenger

# passenger-install-apache2-module
.....
# /usr/bin/ruby2.1 /usr/local/bin/rake RELEASE=yes apache2:clean apache2

もっとスマートな方法ありそうだけど、とりまおけおけ

で、ごにょごにょしたらエラー出る

App 35971 stderr: [ 2015-02-26 19:42:13.9143 36049/0x00000001bea1f8(Worker 1) utils.rb:84 ]: *** Exception NameError in Rack application object (uninitialized constant Rack::Request::SCRIPT_NAME) (process 36049, thread 0x00000001bea1f8(Worker 1)):
App 35971 stderr: from /var/lib/gems/2.1.0/gems/rack-1.6.0/lib/rack/request.rb:21:in `script_name'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/rack-1.6.0/lib/rack/showexceptions.rb:69:in `pretty'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:30:in `rescue in call'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/passenger-4.0.59/lib/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/passenger-4.0.59/lib/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/passenger-4.0.59/lib/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
App 35971 stderr: from /var/lib/gems/2.1.0/gems/passenger-4.0.59/lib/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'



知るかボケぇといいたいとこだが、追っかけてみよぅ。

/var/lib/gems/2.1.0/gems/rack-1.6.0/lib/rack/request.rb:21
def script_name; @env[SCRIPT_NAME].to_s end

おそらくこのenvが取れてない???
てか、これ @env["SCRIPT_NAME"].to_s じゃなくていいのかな?
変えたけど他のとこでまたエラー出て追いかけるのだるくなったし
よくわかんないので、rack 1.6.0 を消して、1.4.0 を使うようにしたら動いた・・・!
動いたよ!!!!!!!!!

終わり!




Comment:0  Trackback:0
2015
01.04

図書館情報学を学ぶ際に便利なサイト集(メモとか)

Category: 未分類
メモだし、途中

図書館法
http://law.e-gov.go.jp/htmldata/S25/S25HO118.html

図書館情報学メタデータデータベース
http://www.asu-lism.jp/lism/lismindex.html

NDCnavi
http://jasmine.media.osaka-cu.ac.jp/ndc_navi/

CiNii 日本の論文を探す
http://ci.nii.ac.jp/

図書館について 日本図書館協会
http://www.jla.or.jp/library/tabid/69/Default.aspx

Web NDL Authorities 国立国会図書館典拠データ検索・提供サービス
http://id.ndl.go.jp/auth/ndla



ほかによさそうなのあったら追記予定




Comment:0  Trackback:0
back-to-top