ページ

2011年3月12日土曜日

[HTTP] [API] microsoft translator http api 使用してみた

このエントリーをはてなブックマークに追加

http://api.microsofttranslator.com/V1/Http.svc/Translate?appId=[AppID]&text=i%20am%20rai&form=en&to=ja

テキスト情報のみが返ってくる. 制限は500文字みたい.

[JavaScript] [API] microsoft translator ajax api を使用してみた.

このエントリーをはてなブックマークに追加

<!-- 翻訳制限は500文字みたい -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">

<script>

// 翻訳元言語
var languageFrom = "ja";
// 翻訳先言語
var languageTo = "en";

function translate() {

// 翻訳先テキストを受け取るコールバック関数
window.mycallback = function(response) {
// 翻訳先テキスト表示
document.getElementById('response').innerHTML = response;
}

// 翻訳元テキスト
var text = document.getElementById('text').value;

// scriptタグの作成
var s = document.createElement("script");
//===================================
// method
//-----------------------------------
// oncompete : コールバック関数の名前
// appId : Bing Developers AppID
// form : 翻訳元言語
// to : 翻訳先言語
// text : 翻訳元テキスト
//===================================
s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=[your key]&from=" + languageFrom + "&to=" + languageTo + "&text=" + text;
// scriptタグの追加
document.getElementsByTagName('head').item(0).appendChild(s);
}

</script>


</head>
<body>
<textarea id="text" style="width:300px; height:300px;"></textarea>
<br>
<button onClick="translate();" style="width:300px; height:80; font-size:20px;">SEND</button>
<!-- 結果の表示 -->
<div id="response">response</div>
</body>
</html>


参照 :
MSDN Translate Method

2011年1月24日月曜日

[code] RSA暗号の学習

このエントリーをはてなブックマークに追加

// 平文 (法を超えることは許されない、法と同値は許されない)
A1 = 7, A2 = 24

// 素数
Q = 3, P = 11

// 法
N = Q * P = 33

// 公開鍵
E = 3

//============================================
// 暗号化 :
// 公開鍵の整数分だけ計算を繰り返す
// (なぜ?32bitの領域を超えると困るので)
//============================================
B1 = ((A1 * A1) mod N) * A1 mod N = 13
B2 = ((A2 * A2) mod N) * A2 mod N = 30

//============================================
// 秘密鍵の生成 :
/============================================
D = (1 * (Q - 1) * (P - 1) + 1) / E = 7

OR

// N = {1, 3, 11, 33} この4つと互いに素な数値の個数を求める
// φ(N) = {1,2,4,5,7,8,10,13,14,16,17,
// 19,20,23,25,26,28,29,31,32}
// もしNが素数ならば φ(N) = N - 1
φ(N) = (Q - 1) * (P - 1) = 20
E * D ≡ 1 (mod 20)
D = 7

//===========================================
// 複合化
// 暗号鍵の整数分だけ計算を繰り返す
// (なぜ?32bitの領域を超えると困るので)
//===========================================
((((((B1 * B1) mod N) * B1 mod N) * B1 mod N) * B1 mod N) * B1 mod N) * B1 mod N = 7 = A1
((((((B2 * B2) mod N) * B2 mod N) * B2 mod N) * B2 mod N) * B2 mod N) * B2 mod N = 24 = A2


参考 :
サルにもわかるRSA暗号、
http://www.maitou.gr.jp/rsa/rsa01.php

暗号化アルゴリズム、
http://fussy.web.fc2.com/algo/algo9-3.htm

2011年1月15日土曜日

[windows] [UAC] [VC++] 管理者権限を与える。

このエントリーをはてなブックマークに追加

/MANIFESTUAC (UAC 情報をマニフェストに組み込む) :
http://msdn.microsoft.com/ja-jp/library/bb384691.aspx
を参考にUAC Level(リンカ マニュフェストファイルを開く)を上昇させて以下のテストコードを組んでみた。

//===============================================
// test.cpp
//===============================================

#include<iostream>
#include<string>

int main(){

FILE * fp;
std::string buf = "ABCDEF";

fopen_s(&fp, "C:\\Program Files\\test", "wb");
fwrite(buf.c_str(), 1, buf.length(), fp);
fclose(fp);

system("pause");

return 0;

}

//===============================================
// 結果
//===============================================

Release版のEXEを起動した結果、見事にProgram Files内にファイルを書き込むことができた。

2011年1月14日金曜日

[windows] [gadget] Google Language API を利用したWindows Gadgetを公開

このエントリーをはてなブックマークに追加

06/2010 頃に作成した翻訳ガジェットが埋れていたのでSource付きで公開しました。 サンプル画像

downlaod : http://www21.atpages.jp/~lyrycal/download.html

・Virusチェック or MD5を参照してください。

by Raisana.

2011年1月13日木曜日

[BMP] [PNG] [GIF] 可逆型でも有効bit数を変えると劣化する

このエントリーをはてなブックマークに追加

今回はtest.bmp(24bit)を作成して他の可逆型のフォーマット(PNG, GIF)にエンコードしてからデコードした。

予想 : 有効bit数が変化すると劣化すると予想した。


1. BMP(24bit) → PNG(24bit) → BMP(24bit) このタスクは画像が劣化しなかった。(BMPのエンコードする前のバイナリとデコードする前のバイナリは等しい)

2. BMP(24bit) → GIF(8bit) → BMP(8bit) このタスクは画像が劣化した。(BMPのエンコードする前のバイナリとデコードする前のバイナリは等しくはない。)


結論 : 可逆型でも有効bit数を変えると劣化するという予想通りの結果である。

実験の為に作成した画像(BMP, PNG, GIF)はこちら
ちなみに、今回作成した画像はバイナリを見てもらえばわかる通り、1pixel毎にすべての色が違う。

2011年1月11日火曜日

[windows] [bat] [console] コンソールからサービスの開始・停止・自動・手動・無効

このエントリーをはてなブックマークに追加

//==============================================
// 開始・停止しているサービスの閲覧
//===============================================
// 開始
net start
// 停止
net stop


//===============================================
// サービスの自動・手動・無効(start= X 符号と値の間のスペースは必須)
//===============================================
// 自動
sc config mysql start= auto
// 手動
sc config Apache2.2 start= demand
// 無効
sc config Apache2.2 start= disabled


//=============================================
// mysqlとapacheの起動 && 停止 batファイルの作成
//=============================================
// start.bat
sc start Apache2.2
sc start mysql

// stop.bat
sc stop Apache2.2
sc stop mysql

# batファイルを実行する場合は管理者権限で起動してくだい。

参考 : Sc.exe を使用して Windows サービスを作成する方法 - http://support.microsoft.com/kb/251192/ja