したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

1みみず★:2008/08/10(日) 23:28:15
あまりにもプログラミングの内容が増えすぎた。
よって隔離スレの中を更に隔離。

488 ◆rCEzuNnL0g:2008/09/27(土) 18:12:46
えっと、
寝るといってOS自作入門を読んで、逆に眠気が増えた。
でも作るのも面白そう。
ソース上での最適化の技術も面白いし、なんだかアセンブリ言語が書きたくなる本である。
取り敢えず、全部読み終わったので、CDを使ってそのOSで遊びたい。

それにしても
gccとかNASMとか勉強したい。
ついでにコマンドラインも本格的に使えるようになりたい。
Linuxコマンドもね。

489 ◆rCEzuNnL0g:2008/09/27(土) 23:27:19
Linuxコマンド
http://cyberam.dip.jp/linux_command/command/com_main.html
viを使い倒そう
http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html

490 ◆rCEzuNnL0g:2008/09/28(日) 14:18:47
#include <iostream>
#include <string>
#include <sstream>

bool Brainfuck(std::basic_istream<wchar_t> &s, std::basic_ostream<char> &out, std::basic_istream<char> &in){
std::wstring wstr;
s >> wstr;

static unsigned char data[100000];
memset(data, 0, sizeof(data));
const wchar_t *pstr = wstr.c_str();
unsigned int ptr = 0, c = 0;
unsigned int length = wstr.length();

for(; c < length; c++){
switch(pstr[c]){
case L'>': ptr++; break;
case L'<': if(ptr) ptr--; break;
case L'+': data[ptr]++; break;
case L'-': data[ptr]--; break;
case L'.': out << data[ptr] << std::flush; break;
case L'[':
if(!data[ptr]){
unsigned int m = 0;
while(1){
switch(pstr[++c]){
case L'[': m++; break;
case L']': if(!m--) goto out1;
}
}
out1:;
} break;
case L']':
if(data[ptr]){
unsigned int m = 0;
while(1){
switch(pstr[--c]){
case L'[': if(!m--) goto out2;
case L']': m++; break;
}
}
out2:;
} break;
case L',': break; //TODO:
}
}

return true;
}

int main(int argc, char **argv){
std::wstring wstr;
while(1){
std::wstring buff;
std::getline(std::wcin, buff);
if(buff == L"end") break;
wstr += buff;
}
std::basic_istringstream<wchar_t> buff(wstr);
Brainfuck(buff, std::cout, std::cin);
}

491774さん:2008/09/28(日) 15:58:37
CreateProcess 関数
http://msdn.microsoft.com/ja-jp/library/cc429066.aspx
---
>>CreateProcess 関数は、新しいプログラムを実行するために使います。WinExec 関数や LoadModule 関数も利用できますが、これらは内部で CreateProcess 関数を呼び出す形で実装されています。
-----
な、なんだってー!

492774さん:2008/09/28(日) 16:02:40
あ。
LoadModuleとLoadLibraryを間違えていたwwww

493774さん:2008/09/28(日) 16:51:19
exit関数は内部でExitProcessを読み出しているんだなあ。
予想通り過ぎてつまらない。

494774さん:2008/09/28(日) 17:14:41
ホワイトハッカー道場:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070927/283156/?ST=csirt

495774さん:2008/09/30(火) 20:28:06 ID:CENbthlg0
本当の最近のSleipnirの更新はしょぼいので、もうちょっと頑張ってほしい。
ユーザーが楽しくない。

496774さん:2008/10/02(木) 19:40:12 ID:CENbthlg0
RFC1321のソース読んでた。
分からん。

497774さん:2008/10/02(木) 19:59:12 ID:CENbthlg0
なるほど。
MDInit

MD_CTX context;
を初期化。
MDUpdate (&context, buffer, len);
で、contextを更新。
で内部では、必要な分contextの中に溜まったら、実際に演算を行う。
それよりも少なかったら、バッファに溜める。
変換する文字列はbufferに、lenにはその長さ。
文字列とは限らないので、必要なのである。
で、最後に
MDFinal (digest, &context);
として、バッファに溜まった分と、その他の処理を行って、結果を(ここでは)digestに格納していると。
おおすげえ、此れならばワーキングメモリーはほぼバッファの分だけ。
他には今までに処理を行った文字数(64bitとMD5で決められている)の分だけであるw
すごい。此れがプロの犯行という奴か。

498774さん:2008/10/02(木) 20:21:09 ID:CENbthlg0
と、言うことで、此れを参考にしながら書いてみる。
まあ、殆どそのままコピペになりそうだけれどもw

499774さん:2008/10/02(木) 20:28:04 ID:CENbthlg0
おお、すげえええええ。
ちゃんとrol命令に最適化されている・・・

500774さん:2008/10/02(木) 20:43:14 ID:CENbthlg0
やっぱり時間があったときにしよう・・・

501774さん:2008/10/02(木) 21:35:06 ID:CENbthlg0
Amazon.co.jp: 実例で学ぶゲーム3D数学: Fletcher Dunn, Ian Parberry, 松田 晃一: 本
http://www.amazon.co.jp/exec/obidos/ASIN/4873113776/

502774さん:2008/10/02(木) 21:38:46 ID:CENbthlg0
map、filterなどを使う時の便利な関数(__noSuchMethod__) - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20081002/1222940338
----
bind

503774さん:2008/10/02(木) 21:40:04 ID:CENbthlg0
明後日ぐらいにはWizerd Bibleでるかな。

504774さん:2008/10/02(木) 21:40:40 ID:CENbthlg0
Wizard Bibleだた。。。

505774さん:2008/10/02(木) 23:41:43 ID:CENbthlg0
こんな風にすれば、百分の一度(degree)刻みで、sin/cosを
1/2^32の精度で得られるねえと。
-----
#include <iostream>
#include <cmath>

#define PI 3.141592653589793238462643383279

int main(int argc, char **argv){
unsigned int sinm[9000] = {0};
for(int i = 0; i < 9000; ++i){
sinm[i] = (int)(sin(((double)i / 100) / 180 * PI) * 0xFFFFFFFF);
}

unsigned int cosm[9000] = {0};
for(int i = 0; i < 9000; ++i){
cosm[i] = (unsigned int)(cos(((double)i / 100) / 180 * PI) * 0xFFFFFFFF);
}
}

506774さん:2008/10/02(木) 23:49:09 ID:CENbthlg0
少なくとも10^-9ぐらいの精度はあるようだ。
間違いなくこんな精密である必要性は無い。
こっちのソースの方が更にいいかな
-----
#include <iostream>
#include <cmath>

#define PI 3.141592653589793238462643383279

int main(int argc, char **argv){
unsigned int sinm[9000] = {0};
for(int i = 0; i < 9000; ++i){
sinm[i] = (unsigned int)(sin(((double)i / 100) / 180 * PI) * 0xFFFFFFFFU);
}

unsigned int cosm[9000] = {0};
for(int i = 0; i < 9000; ++i){
cosm[i] = (unsigned int)(cos(((double)i / 100) / 180 * PI) * 0xFFFFFFFFU);
}
}

507774さん:2008/10/02(木) 23:51:29 ID:CENbthlg0
こっちだと1/2^64の精度。
だけれども、ここまで行くとlong doubleの精度が追いついてない。
-----
#include <iostream>
#include <cmath>

#define PI 3.141592653589793238462643383279

int main(int argc, char **argv){
unsigned __int64 sinm[9000] = {0};
for(int i = 0; i < 9000; ++i){
sinm[i] = (unsigned __int64)(sin(((long double)i / 100) / 180 * PI) * 0xFFFFFFFFFFFFFFFFU);
}

unsigned __int64 cosm[9000] = {0};
for(int i = 0; i < 9000; ++i){
cosm[i] = (unsigned __int64)(cos(((long double)i / 100) / 180 * PI) * 0xFFFFFFFFFFFFFFFFU);
}
}

508774さん:2008/10/02(木) 23:53:33 ID:CENbthlg0
理論上10^-19ぐらいの精度があるようです。
どんな綿密なゲーム作る気だよwwwww

509774さん:2008/10/02(木) 23:56:11 ID:CENbthlg0
C++でシューティングゲーム、特に綺麗に弾を動かしたいんだったら、
起動時点の初期化ルーチンでarctanのマップを作っておいたほうが良いかもしれない。
sin/cosも良く使うから、それもあったほうが良いかもしれない。
tanは要らないと思う。

510774さん:2008/10/03(金) 00:02:02 ID:CENbthlg0
それと、普通に幾何学の中学ぐらいまでの知識は必須らしい。
まあ、三平方とか押さえておけば良いかと。
俺が思うに、全ての座標は2^16しておくと良いと思う。
だけれども出力の度に2^-16は手間かなあ・・・
だけれどもdoubleとかそのままで計算するよりかは早いと思うからお勧め。
二乗しても多分オーバーフローはしないと思う。

511774さん:2008/10/03(金) 00:04:31 ID:CENbthlg0
と、思ったら普通にしやがる。
まあ、2^5倍でも0.05以上の精度があるから、大丈夫だと思うけれども。
此れならば800px画面とってもオーバーフローしないね!

512774さん:2008/10/03(金) 00:11:09 ID:CENbthlg0
二乗するのは何故かって?
円形の当たり判定を持つ弾と自分の当たり判定には、ピタゴラスの定理しかないだろ。
ということです。
if(x^2 + y^2 < (自機の半径 + 弾の半径)^2){当たった!}
かな。
だけれどもx^2+y^2はオーバーフローするかもしれないので、右辺に移項したほうが良いかも。
もっと良い判別方法もあるのかな?
まあ、それより前に、かすり判定もしなきゃいけないけれども、右辺に適当な値を足せば良いと思う。

513774さん:2008/10/03(金) 17:56:45 ID:CENbthlg0
JavaScript と SVG で swf ファイルを再生する JSplash が凄すぎる件について - IT戦記
http://d.hatena.ne.jp/amachang/20081003/1223006976
-----
すげーなー。すげーなー。

514774さん:2008/10/03(金) 23:19:05 ID:CENbthlg0
どうでもいいけれども、
Cだったら何も起きないだろうと思うことでも、C++やJavaScript+DOMだったらあったりする。
それが仕様というものだ。

515774さん:2008/10/03(金) 23:22:55 ID:CENbthlg0
C++は、演算子のオーバーロードが可能である。
だから、
Class c;
c = c;
とか言う代入でも、副作用が発生する可能性がある。
JavaScript+DOMだったら、
a.href = a.href;
というのが、とても意味がある場合がある。
まあ、ここまで来ると、ハックというレベルになるのだろうw

516774さん:2008/10/03(金) 23:43:24 ID:CENbthlg0
今日のJOI:JOI2006年模擬試験1 問題1@C++(88) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081003/1223038024
今日のJOI:JOI2006年模擬試験1 問題2@C++(87) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081003/1223039382
今日のJOI:JOI2006年模擬試験1 問題3@C++(86) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081003/1223041517

517774さん:2008/10/03(金) 23:54:51 ID:CENbthlg0
バーコードと二次元コードの知識
http://www.phoenix-denshi.co.jp/page/series.htm

518774さん:2008/10/03(金) 23:56:03 ID:CENbthlg0
QRコード - Wikipedia
http://ja.wikipedia.org/wiki/QR%E3%82%B3%E3%83%BC%E3%83%89

519774さん:2008/10/03(金) 23:58:19 ID:CENbthlg0
日本工業標準調査会:データベース-JIS詳細表示
http://www.jisc.go.jp/app/pager?id=110947
-----
QRコードの規格

520774さん:2008/10/04(土) 00:00:02 ID:CENbthlg0
>誤り訂正レベル (Error Correction Level)
>QRコードに汚れなどがあっても正確に読み取れるように、読み取り不能や読み取り間違いのモジュールを 修正するために付けられる誤り訂正語のデータ語に対する割合。下記の4レベルがある。
> レベルL - コード語の約7%が復元可能
> レベルM - コード語の約15%が復元可能
> レベルQ - コード語の約25%が復元可能
> レベルH - コード語の約30%が復元可能
レベルを高くして、適当なロゴマークとかを入れればQRコードにロゴマークが入れれるね。

521774さん:2008/10/04(土) 00:01:59 ID:CENbthlg0
携帯で確実に読み込めるのは、バージョン10までらしい。

522774さん:2008/10/04(土) 01:20:39 ID:CENbthlg0
Flash不要!JavaScriptで派手なWebデザイン
http://ascii.jp/elem/000/000/176/176751/

523774さん:2008/10/04(土) 01:45:01 ID:CENbthlg0
ニコニコ動画の、無限にマイリストガ拡張できる奴があるけれども、あれは簡単じゃん。
データベースの書式は、evalするだけでデータが取得できるようになっているので、
小学生でも弄くれると思うよ。
まあ、小学生でもアセンブリを操ることも出来るだろうから。
本当にそんな風にちゃんと使える奴は居るのか?

524774さん:2008/10/04(土) 01:52:39 ID:CENbthlg0
Firefox4ではXPCOMを使わないとか。
XPCOMはクロスプラットホームクラスオブジェクトモデルだったかな?

525774さん:2008/10/04(土) 18:29:52 ID:CENbthlg0
WinAsm Studio, The Assembly IDE - Free Downloads, Source Code
http://www.winasm.net/

526774さん:2008/10/04(土) 18:31:16 ID:CENbthlg0
目次
http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html
-----
PEヘッダ関連

527774さん:2008/10/04(土) 18:35:26 ID:CENbthlg0
特集:Windows 9x or Windows 2000 ?
http://www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/

528774さん:2008/10/04(土) 21:14:19 ID:CENbthlg0
ん?
LoadLibraryでEXEを読み込むと、IATが初期化されない?

529774さん:2008/10/05(日) 18:57:19 ID:CENbthlg0
digital hole ≫ Blog Archive ≫ Sleipnirの検索ボックスのホイール動作を無効化
http://mofmof.nsf.tc/soft/?p=122

530774さん:2008/10/05(日) 22:00:49 ID:CENbthlg0
俺のポータブルハードディスク内にあるSleipnirでRSSを購読した後終了すると、保存動作が行われるので終了がとてつもなく遅い。
で、俺はもう一つSleipnirをパソコンに入れている。
でも、違うSleipnirでも他のSleipnirが終了中には起動できない。
此れは困る。
という事で、改造した。説明が難しいので省略ですが・・・

531774さん:2008/10/05(日) 22:25:05 ID:CENbthlg0
Sleipnir.ips
50 41 54 43 48 0D 58 27 00 08 67 EB 4B 8B 84 24 F4 01 0D 58 30 00 3B 00 56 C6 00 01 57 33 C0 8D 74 24 0C E8 D0 AA FB FF 8B C6 E8 59 A4 FB FF 84 C0 5E 8D 4C 24 04 75 0E E8 31 80 F6 FF 83 F8 02 8D 4C 24 04 75 11 E8 0D AA FB FF 32 C0 5F 81 C4 EC 01 0D 58 6C 00 1E 00 C2 04 00 E8 FC A9 FB FF 57 FF 15 60 18 40 00 57 FF 15 5C 18 40 00 B0 01 5F 81 C4 EC 01 0D 58 8B 00 04 00 C2 04 00 45 4F 46

532774さん:2008/10/05(日) 22:27:29 ID:CENbthlg0
>>531は他のSleipnirが終了処理中でも起動するようにするパッチ。
Unicode版じゃないと動きません。

533774さん:2008/10/05(日) 23:32:14 ID:CENbthlg0
取り敢えず、サイドバーにニコニコ動画の動画を表示させれるようにしてみた。

534774さん:2008/10/06(月) 01:03:45 ID:CENbthlg0
Nicovideo.MiniPlayerオブジェクトさえ手に入れば何でも出来るな。
mp.variables["fv_autoplay"] = 1;
とすれば、自動再生が出来るね!

535774さん:2008/10/06(月) 01:08:32 ID:CENbthlg0
主要部分のソースはこれくらい。
-----
function main(){
s = w.sleipnir;
init_nv(); //initialize window.Nicovideo
override_nv(); //override window.Nicovideo.MiniPlayer.prototype.write

var mp = GetMiniPlayer("sm2959233");

mp.variables["fv_autoplay"] = 1;

var div = d.createElement("div");
div.innerHTML = mp.getHTML();
d.getElementsByTagName("body").item(0).appendChild(div);

var ob = d.getElementsByTagName("object").item(0);

}

function GetMiniPlayer(id){
var http = s.CreateObject("MSXML2.ServerXMLHTTP");
http.open("GET", ["http://ext.nicovideo.jp/thumb_watch/&quot;, id].join(""), false);
http.setRequestHeader("Referer", "http://www.nicovideo.jp/&quot;);
http.send(null);

var aod = s.CreateObject("ADODB.Stream");
aod.Type = 1; //adTypeBinary == 1, adTypeText == 2
aod.Open();
aod.Write(http.responseBody);
aod.Position = 0;
aod.Type = 2;
aod.Charset = "shift_jis";

var t = aod.ReadText();

//aod.Savetofile("C:\\Documents and Settings\\Owner\\デスクトップ\\test__.txt", 2); //adSaveCreateNotExist == 1, adSaveCreateOverWrite == 2

aod.Close();
http = null;
aod = null;

w.eval(["(function(){", t, "})();"].join(""));

return g_mp;
}

function override_nv(){
var old_write = Nicovideo.MiniPlayer.prototype.write;
Nicovideo.MiniPlayer.prototype.write = function(){
g_mp = this;
this.write = old_write;
}
}

536774さん:2008/10/06(月) 01:23:40 ID:CENbthlg0
//Nicovideo.MiniPlayer::variablesの設定について
//fv_autoplay : false == 自動再生しない, true == する
//fv_no_logo : false == 上に出るニコニコ動画のロゴを表示する, ture == しない
//fv_no_link : false == 画面をクリックすると動画のページに飛ぶ, true == 飛ばない
//fv_new_window : false == 動画に飛ぶときの推移ウィンドウが_top, ture == _blank
//fv_watch_ref : 不明
//他は下のほうの設定で分かる

537774さん:2008/10/06(月) 01:25:57 ID:CENbthlg0
正直、ここまで設定を用意しておいてくれるなんて、ニコニコ動画の中の人って優しすぎるだろ・・・

538774さん:2008/10/06(月) 01:36:38 ID:CENbthlg0
取り敢えず、Sleipnirの左側のパネルで、色々と無限マイリストとかの管理がしたかったりする。
特に意味は無い。

539774さん:2008/10/06(月) 20:42:17 ID:CENbthlg0
掲示板用アップローダー - sub_chon_uljp00050.png ダウンロード
http://www6.uploader.jp/dl/sub_chon/sub_chon_uljp00050.png.html
-----
取り敢えず、他のウィンドウに動画を表示させることは出来るようになりました。
自動再生もします。
swfを逆コンパイルして解析した。
でその結果が、>>536である。
まあ、上の画像のように表示させてみたが、特に意味は無い。

なんだか文字化けするのが気になる・・・

540774さん:2008/10/06(月) 20:43:44 ID:CENbthlg0
ソースのほうは、完成したら載せます。
まあ、>>535が全てなんだけれども。

541774さん:2008/10/07(火) 16:53:19 ID:CENbthlg0
mylist[0].id = sm1433582
mylist[0].v = false
mylist[0].t = ニコニコ動画の創り方 - 戀塚昭彦さん
mylist[0].c =
mylist[0].tags =
mylist[0].reg = Thu Apr 3 20:28:05 UTC+0900 2008
mylist[1].id = sm2795744
mylist[1].v = false
mylist[1].t = 避暑地
mylist[1].c =
mylist[1].tags =
mylist[1].reg = Thu Apr 3 20:30:44 UTC+0900 2008
mylist[2].id = sm2398881
mylist[2].v = false
mylist[2].t = 20Hz〜20kHz 可聴域の音を発生中!
mylist[2].c =
mylist[2].tags =
mylist[2].reg = Thu Apr 3 20:32:13 UTC+0900 2008

542774さん:2008/10/07(火) 18:00:20 ID:CENbthlg0
ちょっと作ったら遊ぶ。
それが、俺のプログラミング。

543774さん:2008/10/07(火) 18:01:58 ID:CENbthlg0
再生用のウィンドウは複数出ないほうが良いよね・・・
出すならば自動再生は無いほうが良い。
そこらへんの仕様を固めてからちゃんと作りこむ。

動画の表示の大きさも指定できると尚良いと思っている。

544774さん:2008/10/07(火) 18:04:10 ID:CENbthlg0
誰かそこらへんの仕様を考えてー
まあ、ちゃんと作るかわからないが。
取り敢えず、HTMLファイルでどんな感じのHTMLを打ち出すかを決めてから、JavaScriptの製作に取り掛かったほうが良いかな。

545774さん:2008/10/07(火) 20:59:49 ID:CENbthlg0
JOI2006年模擬試験2 問題1@C++(65) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081006/1223296283
JOI2006模擬試験2 問題2@C++(58) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081007/1223375095

546774さん:2008/10/08(水) 16:49:28 ID:CENbthlg0
Black Hat Japan 2008:ブラックハットジャパン2008
http://www.blackhat.com/html/bh-japan-08/brief-bh-jp-08-speakers.html#Aiko
--
>愛甲健二
>ネットエージェント株式会社 取締役。
-----
取締役wwww

547774さん:2008/10/08(水) 21:57:59 ID:CENbthlg0
スピードダイアルで、ポップアップが出るのだが、
あれ、どうやって消しているのかなあと。
だって、他の場所を押すと消えるからあれの実現方法が分からない。

548774さん:2008/10/09(木) 19:47:46 ID:CENbthlg0
うーん、
何だか、上手くいかない。
CSSは適用されているのに、文字の大きさがおかしい。

549774さん:2008/10/09(木) 20:02:41 ID:CENbthlg0
右クリックのメニューでここまで苦戦するとは・・・

550774さん:2008/10/09(木) 20:35:23 ID:CENbthlg0
取り敢えず、今日は早く寝て明日の朝、早くから勉強するよ!

551774さん:2008/10/10(金) 04:01:43 ID:CENbthlg0
今朝だから、勉強してるよ!

552774さん:2008/10/10(金) 04:52:16 ID:CENbthlg0
漸く文字が大きくなる理由が分かった。

553774さん:2008/10/10(金) 05:37:39 ID:CENbthlg0
function ShowPopup(menus, x, y, cl){
if(typeof(cl) == "undefined") cl = "";

//documentを渡すと、要素を返す
var create = function(d){
var div = d.createElement("div");
var objs = [];
div.className = cl;

var i, c;
for(i = 0; c = menus[i]; ++i){
var div_ = d.createElement("div");
objs.push(div_);
div_.innerText = c.str;
div.appendChild(div_);
}

return {ele:div, menus: objs};
};

if(menus && menus.length){
//必要な要素の大きさを測定
var div = create(d);
with(div.ele.style){
position = "absolute";
top = left = "0px";
}

body.appendChild(div.ele);
var size = {w: div.ele.offsetWidth, h: div.ele.offsetHeight};
body.removeChild(div.ele);

//本処理
var p = w.createPopup();

with(p.document){
open();
write("<!DOCTYPE html>\r\n");
write("<html><head></head><body></body></html>");
close();
}

var popup_html = p.document.getElementsByTagName("html").item(0);
var popup_body = p.document.getElementsByTagName("body").item(0);

var i, len = d.styleSheets.length;
for(i = 0; i < len; ++i){
var sheet = p.document.createStyleSheet();
sheet.disabled = d.styleSheets[i].disabled;
sheet.cssText = d.styleSheets[i].cssText;
}
var list = create(p.document);

for(i = 0, len = list.menus.length; i < len; ++i){
with({c: menus[i]}){
with(list.menus[i]){
onclick = function(){
c.func();
p.hide();
};
onmouseover = function(){
className += " popup_hover"
}
onmouseout = function(){
className = [" ", className, " "].join("").replace(" popup_hover ", "");
}
}
}
}

popup_html.style.overflow = "hidden";
popup_html.onselectstart = function(){return false};
popup_body.appendChild(list.ele);

p.show(x, y, size.w, size.h + list.menus.length + 1, body);
}

return false;
}

554774さん:2008/10/10(金) 05:39:24 ID:CENbthlg0
withを多用しているのは、最近のパソコンじゃあそんなに遅くならないだろうと思ったから。
結構汎用的に書いたので、IEの環境ならば、色々な所に移植可能。
window.createPopup()を利用しているので、クライアント領域以外にも描画可能。うまー。

555774さん:2008/10/10(金) 05:45:47 ID:CENbthlg0
掲示板用アップローダー - sub_chon_uljp00052.png ダウンロード
http://www6.uploader.jp/dl/sub_chon/sub_chon_uljp00052.png.html
-----
今まで作ってこんな感じ。
まだ、表示方法は暫定的。まあ、このままでいくと思うが。
今回実装したのは、そこに出ているメニューっぽいものね。
それを表示するだけで、上の量のソースが要るって言う。

556774さん:2008/10/10(金) 05:46:44 ID:CENbthlg0
空行とかコメントとか、コピペとか一杯あるけれども、626行ぐらいだそうです。

557774さん:2008/10/10(金) 05:49:09 ID:CENbthlg0
>>553は以下のように呼ぶ。
項目は一杯あるけれども、殆ど未実装。
-----
ShowPopup([
{
str: "大きさを指定して再生",
func: function(){

}
},
{
str: "Sleipnirで開く",
func: function(){
w.open(video_url);
}
},
{
str: "編集",
func: function(){

}
},
{
str: "削除",
func: function(){

}
},
{
str: "リロード",
func: function(){
w.location.reload(true);
}
}
], x, y, "s_popup");

558774さん:2008/10/10(金) 16:01:19 ID:CENbthlg0
管理機能を付けないといけないけれども眠たいから取り敢えず寝る。練る。

559774さん:2008/10/10(金) 16:13:16 ID:CENbthlg0
全体の5%も出来てない。
678行。17.2 KB (17,616 バイト)。文字符号化方式はUTF-8(BOM付き)。

560774さん:2008/10/10(金) 16:23:47 ID:CENbthlg0
document.cookie の覚え書き - Ci.nsIZIGOROu - Mozilla 拡張機能勉強会
http://moz-addon.g.hatena.ne.jp/ZIGOROu/20081001/1222845305
-----
複数の値の書き込みは出来ないんだ・・・

561774さん:2008/10/10(金) 16:35:17 ID:CENbthlg0
JOI2006模擬試験2 問題3@C++ lizanの指摘により書き直し(46) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081009/1223560919

562774さん:2008/10/11(土) 08:45:53 ID:CENbthlg0
JOI2008本選 問題1@C++(44) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081010/1223646925

563774さん:2008/10/11(土) 09:55:58 ID:CENbthlg0
シャープ変数(sharp variables) - FAX
http://d.hatena.ne.jp/brazil/20060901/1157079631

564774さん:2008/10/11(土) 16:41:11 ID:CENbthlg0
JOI2008本選 問題2@C++(39) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081011/1223694845

565774さん:2008/10/11(土) 20:16:05 ID:CENbthlg0
TopCoder
http://pc11.2ch.net/test/read.cgi/tech/1177344510/

566774さん:2008/10/11(土) 22:18:25 ID:CENbthlg0
>>564
ソートしながら比較する方法は思いつかないなあ。
自分で思いついたとしたら凄いし、他のところで見たとしたらそれを俺が読みたい。

567774さん:2008/10/11(土) 22:19:02 ID:CENbthlg0
>>564>>566
後で読む
重要
文字列比較

568774さん:2008/10/12(日) 10:25:14 ID:CENbthlg0
開成高2年の保坂君が「金」 国際情報五輪 - MSN産経ニュース
http://sankei.jp.msn.com/life/trend/080822/trd0808221324004-n1.htm

569774さん:2008/10/12(日) 10:51:03 ID:CENbthlg0
JOI2008本選 問題3@C++(31) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081012/1223772143
-----
頭良い!
まず、一番目に0点を入れて、後ろに全てのデータを配列に置く。で、ソート。
一番最初に0があるので、それはその回は投げないということである。
で、次にそのデータを全てそれぞれ足した、配列を用意する。
で、ソート。
これで、二回投げたときに得られる全ての値を得られる。
よって、次に最大の値から一つの値を引いて、それを超えない値を探す。
で、一つ上の行を二回投げたときに得られる全ての値について演算すると上のようになると。
素晴らしい。

だけれども4つの時にしか利用できないのが玉に瑕。
ま、そのときは再帰的呼び出しで何とかなるからいいや。

570qnighy:2008/10/12(日) 11:02:55 ID:R6/9FCOo0
リンクされているようなので説明を補足させてもらいます。
>>569
日記のほうにも追記しましたが、実は本選終了後に解説された公式の解答です・・・
>>564
これは自分で思いつきました。本選当日はJavaで組みましたが、今回はC++です。

571774さん:2008/10/12(日) 11:03:12 ID:CENbthlg0
JOI2006模擬試験2 問題4@C++(30) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081012/1223776259
----
違う問題を見ながらソースを見ていたから、悩んだし。
頭いいなあ。本当に。此れで俺より二つ下だから困る。

572774さん:2008/10/12(日) 12:06:21 ID:CENbthlg0
>>570
あっ、態々来てくださるとは感動です><

公式の解答ですか。
だけれども、ちゃんとソースにちゃんと起こすのは凄いです。

自分はC++な人なんですが、自分で構造体を作ってそれをvectorで格納して
std::sortで並び替える発想は全然浮かびませんorz...
>>564のソースは見た瞬間、「これ時間かかるんじゃね?」とか思ってましたが、自分の部屋で考えていたら、
sortする間に段々似た文字列が集まってくるから、効率的に比較が出来るということに気が付いて、
すげえ天才だとか思ってました。(バブルソートとかで実装されていたら駄目ですがwww)
ポテンシャルが違いすぎますorz....

573774さん:2008/10/12(日) 12:09:19 ID:CENbthlg0
Amazon.co.jp: Robert Sedgewick: 本
http://www.amazon.co.jp/%E6%9C%AC/s?ie=UTF8&amp;rh=n%3A465610%2Cp_27%3ARobert%20Sedgewick&amp;field-author=Robert%20Sedgewick&amp;page=1
-----
値段たけえwwwwwwwwwwwwwwwww

574774さん:2008/10/12(日) 12:15:04 ID:CENbthlg0
相手のサイトに書き込まないのは、俺が小心者だから。
俺プギャーwww

575774さん:2008/10/12(日) 17:28:02 ID:CENbthlg0
高校生サーバー管理者の考察日誌 - CNET Japan
http://japan.cnet.com/blog/isidai/

576774さん:2008/10/12(日) 17:29:57 ID:CENbthlg0
JOI2006模擬試験2 問題5@C++(25) - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20081012/1223799878

577774さん:2008/10/12(日) 17:52:23 ID:CENbthlg0
JOI 2006 模擬試験2 問題5解説
http://www.ioi-jp.org/joi/2005/2006-m2-prob_and_sol/2006-m2-t5-review.html
-----
あれ、ヤバいな。数学の問題すら分からなくなっている。
CとHについての関係は分かっているが、最後の二行の意味が分からない。まあいいか。

578774さん:2008/10/12(日) 17:54:17 ID:CENbthlg0
今更ながら、解説間違っているだろwwwww

579774さん:2008/10/12(日) 17:55:05 ID:CENbthlg0
>さて,上述の (n + r - mn - 1) ! / {(n - 1) ! × (r - mn) !} は n+r-1Cr に等しい.
凄いね!凄いね!物凄く大きくなったね!

580774さん:2008/10/12(日) 18:00:28 ID:CENbthlg0
>さて,この問題は条件 0≦a_i≦r を m≦a_i≦r に変えたものであるが,b_i = a_i + m とおくと条件は 0≦b_i≦r (i = 1, ..., n), b_1 + ... + b_n = r - mn と同値である.よって,n+r-mn-1Cr-mn が求める箱の個数である.
この発想はないわ・・・
まあ、考えれば当たり前なんだけれどもね。数式の上で操作するとちょっと俺の頭がオーバーフロー。

今更ながら、やっぱりリファラーはあんまり残さないほうが良いかなとか思ったり、思わなかったり。
まあ、此れが俺のブックマークみたいなものだから、仕方ないといえば仕方ないが。

581774さん:2008/10/12(日) 18:01:46 ID:CENbthlg0
つまり、初めにmn個をm個ずつ、n種類のビーズに割り振っておいて、残りについて行っているだけなんだけれども。
数学の組み合わせを復習しておく必要性があるな。

582774さん:2008/10/12(日) 18:03:41 ID:CENbthlg0
やっぱり、他人のソースを見ると、とても勉強になる。
それが自分より年下とか、年上とか関係なくて、やっぱりその技術だけを純粋に見るべきである。
でもすげえええええええ

583774さん:2008/10/12(日) 18:06:14 ID:CENbthlg0
まあ俺的には、平凡などっかの私立の中学とか高校とかに行っていない分際で、どこらへんまで行けるのかなということだ。
孤独って辛いね。誰とも競わずに。
まあ、それが俺の好みでないわけではないが、他のものと比較した事が無いので分からないっていう。

584774さん:2008/10/12(日) 23:18:52 ID:CENbthlg0
図書館に行ってアルゴリズム系の本を借りてこようとしたら案の定置いてなかったので、暗号の本を借りた。
ハッシュ関数とか、そこらへんの知識があったんだけれども、全部読んで電子書名の意義とかが理解できた。
電子署名は、自分でこの文章の正当性とか、自分で書きましたとか言うことをを保障しますという印である。
だから、自分が信頼している人の署名が付いた文章とか、その公開鍵とかは信用しても大丈夫という考え方、
そんな方法があるらしい。 PGPというのも、そんな考え方で実装されているとか、書かれていたように思う。
やっぱり、暗号とかのアルゴリズムは一般に公開されているものを改変せずに利用したほうが、安全である、
ということを再確認した。

585774さん:2008/10/13(月) 09:19:49 ID:CENbthlg0
JavaScriptで画像の本来の幅と高さを取得する - inamenaiの日記
http://d.hatena.ne.jp/inamenai/20081011/p1
-----
小技っぽいな。
後者の方法の方が俺的によさげ。

586774さん:2008/10/13(月) 10:17:26 ID:CENbthlg0
ニコニコ動画のマイリストの奴2%ぐらい出来た。

587774さん:2008/10/13(月) 10:19:50 ID:CENbthlg0
掲示板用アップローダー - sub_chon_uljp00053.png ダウンロード
http://www6.uploader.jp/dl/sub_chon/sub_chon_uljp00053.png.html


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板