Entries

スポンサーサイト

続 swfの縦横のサイズ ruby

swfの縦横のサイズ rubyの方法で、圧縮されたswfを読み込むと正しい値がでなかった。なので、訂正版を記す。今回は、require "image_size"を使う。#!/usr/local/bin/rubyrequire 'rubygems'require "image_size"require 'zlib'file=ARGV.shiftf=File::open(file,'rb')header=f.read(8)if /CWS/=~header then buf= Zlib::Inflate.inflate(f.read) header.sub!(/^C/,'F') #なくてもOKelse buf=f.readendf.closeis=ImageSize.new(h...

クロスブラウザ

クロスブラウザにうんざり。なので、Objective-C始めました。...

C言語はDeepCopy

#include <stdio.h>int main(){ int a; int b; a = 5; b = a; a++; printf("%d\n",a); printf("%d\n",b); return 0;}実行結果は、56C言語ってDeep Copyなんですね。Shallow Copy(浅いコピー)のような事がしたい場合は以下のように書く。#include <stdio.h>int main(){ int a; int *b; a = 5; b = &a; a++; printf("%d\n",a); printf("%d\n",*b); return 0;}実行結果は66※See alsoruby 変数の概念Perlは深...

自作アップローダ

http://upotu.sakura.ne.jp自作アップローダです。Windowsのエクスプローラを模して作りました。rubyのcgiでhttp+javascriptで出来ています。●使い方・アップロード アップロードしたいディレクトリ上で右クリック→アップロード。 ファイルを選択し必要であれば、パスワードを設定して[アップロード]ボタンを押す。・ダウンロード ダウンロードしたいファイル又はディレクトリを選択して右クリック→ダウンロード。 ※ディレクト...

【safari】kCFErrorDomainCFNetwork error 303

chunkで送ると、safariは受け付けてくれなかった。しかし、chunkの終端を示す0の後に空行(CR+LF)を付けると上手くいった。#!/usr/local/bin/ruby#うまく動作する例STDOUT.binmodetext=<<EOFStatus: 200 OKTransfer-Encoding: chunkedContent-type: text/plainContent-Disposition: attachment; filename="hoge.txt"3aaa3bbb3ccc0EOFtext.each do |line| print line.chomp + "\r\n"end#!/usr/local/bin/ruby#うまく動作し...

httpのページからhttpsのページへcontentWindow.document.body.innerHTML

httpのページにiframeで埋め込んだhttpsのページのソースを取得しようとすると、うまくいかない。<html><body><script type='text/javascript' src='prototype.js'><iframe id='iframe' src='https://xxx.ne.jp/xxx.txt'><script type='text/javascript'>Event.observe($('iframe'), 'load',function(ev){ try{ alert($('iframe').contentWindow.document.body.innerHTML); }catch(e){ alert('err');...

【javascript】破壊的メソッドchomp! chop!

javascriptにはrubyの様な文字列の破壊的メソッドが無い。→欲しいなら作れば良い。<html><body><script type="text/javascript" src="prototype.js"></script><script type='text/javascript'>var Str = Class.create({ initialize: function(arg){ this.array = new Array(arg.length); for(i in arg){ if(!arg.hasOwnProperty(i)) continue; this.array[i] = arg[i]; } }, toString: ...

トリッパー解析

2ちゃんのトリッパーのパスワードが簡単に解析されている。http://bbs.lv3.net/test/read.cgi/memo/1255229968/l50スレッドを見ると依頼を受けてから、8バイトのパスワード解析で12時間程度で解析が終了してるのもある。wikipediaのトリッパーについての解説を以下に一部抜粋する。---- ここから ----  現在の10文字トリップの場合、パスワードの組み合わせは28京8230兆3761億5171万1744 (258) 通りあるとされており、同一のトリッ...

【ruby】Dir.foreach

カレントのファイルをリストする様なとき、Dir.foreachを使うのだが、毎回、毎回パスが".."または"."だったら次へ飛ばす処理を書くのにあきたので、Dir.foreachをoverrideしてみた。class Dir class...

【ruby】class CGI

rubyのclass CGIで違和感を感じるところがある。cgi=CGI.new()で作ったオブジェクトcgiは[]にクエリーのキーを与えると値を返してくれるのだが、クエリーにそのキーがなかった時は、''を返してくところだ。nilを返してくれた方が好み。なので、書き換えてみた。require 'cgi'class CGI module QueryExtension alias :bracket_org :[] def [](key) return nil unless self.has_key?(key) bracket_org(key) end ...

prototype.jsを使ってruby風にリフォーム

ランダムな文字列を返す関数randomStr()をrubyで書くと、def randomStr(size) a=('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a Array.new(size){ a[rand(a.size)] }.joinendこんな感じ。カッコいいね。ではjavascriptで書いてみると、function randomStr(size){ var a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; var str = '' for(;size>0;size--){ //str += a[Math.floor(Math.ra...

FireFoxではprototype.jsのbindを使うと引数の数が一つ増える

下記は、何もアラートされない動作を期待して作ったが、FireFoxだけは、5とか-10などの意味不明な数字がアラートされる。Opera,IE,Chrome,safari,Sleipnirではそのような事はなかった。<html><body><script type='text/javascript' src='prototype.js'></script><script type='text/javascript'>var Hoge = Class.create({ initialize: function(){ setTimeout(this.piyo.bind(this),0); }, piyo: function(...

下りの暗号化(ajax+rubyでRSA+Blowfish)

こちらのシーケンスの通りに実装した。(RC5でなくてBlowfishで)RSA単体では、公開キーの長さ-11Byteまでしか暗号化できないので、こういう方法に落ち着くと思う。#!/usr/local/bin/rubyrequire 'cgi'require 'erb'require 'openssl'require 'rubygems'require 'crypt/blowfish'KEY_FILE = 'private_key.pem'rsa = OpenSSL::PKey::RSA.new(File.read(KEY_FILE))cgi=CGI.new('html3')if cgi.has_key?('key') then key=rsa.private...

【blowfish】サーバー(ruby)で暗号化しクライアント(javascript)で復号化

下りの暗号化で示したシーケンスを実現するまえに、共通鍵で暗号したデータの受け渡しの基礎検証をする。サーバー(ruby)で暗号化しクライアント(javascript)で復号化する事になるので、まずは、rubyのOpenSSL::Cipherで暗号化したデータを復号化できるjavascriptライブラリ探した。いくらでもあると思ってたRC-5のライブラリは見つからなかったので変わりにDES、AESをいくつも探しては、試したがrubyのOpenSSL::Cipherで暗号化...

Appendix

プロフィール

kovayashi

Author:kovayashi
・嫌いなもの
 →好きなもの

・インストール
 →バンドル
・バックアップ
 →アップロード
・努力
 →チート

最近のトラックバック

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。