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

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

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

1345774さん:2009/01/30(金) 18:52:16 ID:fHt2HuPQ0
とくまるひろしのSession Fixation攻撃入門 - ockeghem(徳丸浩)の日記
http://d.hatena.ne.jp/ockeghem/20090130/p1

1346774さん:2009/01/30(金) 19:01:11 ID:fHt2HuPQ0
iPhoneでC#アプリが審査に通るワケ − @IT
http://www.atmarkit.co.jp/news/200901/29/mono.html

1347774さん:2009/01/30(金) 19:10:54 ID:fHt2HuPQ0
Vistaとはドコが違うの!?:Windows 7 β版の注目ポイント“7” (1/3) - ITmedia +D PC USER
http://plusd.itmedia.co.jp/pcuser/articles/0901/30/news027.html
-----
期待。

1348774さん:2009/01/31(土) 21:16:37 ID:fHt2HuPQ0
gccでWindowsプログラミングなんてするものじゃないと思った。

1349774さん:2009/02/01(日) 11:24:52 ID:fHt2HuPQ0
http://code.google.com/intl/ja/apis/chart/
-----
QRコードが作れるって言う。

1350774さん:2009/02/01(日) 15:45:20 ID:fHt2HuPQ0
EternalWindows
http://eternalwindows.jp/index.html

1351774さん:2009/02/01(日) 15:57:35 ID:fHt2HuPQ0
GetSystemMenu 関数
http://msdn.microsoft.com/ja-jp/library/cc364748.aspx
-----
これを使えば、タスクバーとかを右クリックしたときに出てくるメニューが書き換えられるのか?

1352774さん:2009/02/01(日) 16:05:49 ID:fHt2HuPQ0
CPU使用率はこうすれば調べられる。
-----
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <string>
#include <numeric>

#include <windows.h>
#include <pdh.h>

#pragma comment(lib, "pdh.lib")

int main(int argc, char **argv){
HQUERY hQuery;
PdhOpenQuery(NULL, 0, &hQuery);

HCOUNTER hCounter;
PdhAddCounter(hQuery, "\\Process(sleipnir#0)\\% Processor Time", 0, &hCounter);

PdhCollectQueryData(hQuery);

Sleep(10000);

PdhCollectQueryData(hQuery);

PDH_FMT_COUNTERVALUE FmtValue;
PdhGetFormattedCounterValue(hCounter, PDH_FMT_DOUBLE, NULL, &FmtValue);

std::cout << FmtValue.doubleValue << std::endl;

PdhCloseQuery(hQuery);
}
-----
via http://eternalwindows.jp/windevelop/pdh/pdh00.html

1353みみず ◆rCEzuNnL0g:2009/02/01(日) 16:36:04 ID:fHt2HuPQ0
今更思ったのだが、普通に何もしていなければ、GUIのアプリケーションはCPU使用率は明らかに0%になるよな?
何故、あんなにCPUを使いまくっているグラフがとれるのかが今の僕には理解できない。
一秒間に二十回ぐらいCPUの測定しているんですかね?あほとしかおもえれませんわい。
暇なので、Sleipnirの使用率をはかるソフトを作った人の戯言でした。

1354774さん:2009/02/01(日) 16:36:49 ID:fHt2HuPQ0
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <string>
#include <numeric>

#include <cstdio>

#include <windows.h>
#include <pdh.h>

#pragma comment(lib, "pdh.lib")

int main(int argc, char **argv){
DWORD wt = 1000;
const char *ss = "\n";
if(argc >= 2){
ss = argv[1];
if(argc >= 3){
wt = std::atol(argv[2]);
}
}

HQUERY hQuery;
PdhOpenQuery(NULL, 0, &hQuery);

HCOUNTER hCounter;
PdhAddCounter(hQuery, "\\Process(sleipnir#0)\\% Processor Time", 0, &hCounter);
PdhCollectQueryData(hQuery);

std::ostream_iterator<double> oi(std::cout, ss);

for(;;){
Sleep(wt);
PdhCollectQueryData(hQuery);

PDH_FMT_COUNTERVALUE FmtValue;
PdhGetFormattedCounterValue(hCounter, PDH_FMT_DOUBLE, NULL, &FmtValue);

*oi = FmtValue.doubleValue;
}
}

1355みみず ◆rCEzuNnL0g:2009/02/01(日) 16:40:01 ID:fHt2HuPQ0
出来るだけ忘れなければ、ハンドルネームは付けることにしよう。
まあ、俺はクッキーなど残さない設定にしているので、大抵は忘れてしまうだろうが。

>>1354
全部のソースはこれだけ。
下手にGUIにするより、直接データを吐いた方が楽&処理がしやすいのでこういうことにしておく。
リダイレクトすれば簡単にファイルにも落とせるし。

だから、コマンドラインで、データ毎に挿入される文字列も設定できるようにしたし、データの取得間隔も設定できるようにしたので、ある程度扱いやすいと思う。

1356みみず ◆rCEzuNnL0g:2009/02/01(日) 16:41:38 ID:fHt2HuPQ0
exename , 5000 > out.cvs
とかすると良いかもね!
だけれどもexcelだと読み込めないけどね!
改行の文字コートがコマンドラインで渡せないのがいけないんだと思うよ!

1357みみず ◆rCEzuNnL0g:2009/02/01(日) 16:47:13 ID:fHt2HuPQ0
cvsじゃなくてcsvだったorz...
exename > out.csvでも良いね!

1358みみず ◆adhRKFl5jU:2009/02/01(日) 16:47:35 ID:fHt2HuPQ0
トリップを変えることにしよう。

1359みみず ◆adhRKFl5jU:2009/02/01(日) 16:55:45 ID:fHt2HuPQ0
五秒平均で取ってみると、Sleipnirの平均CPU使用率は10%ぐらいで、使うととたんにMax.70%までいく。
5秒間隔での平均で測定した結果。

1360みみず ◆adhRKFl5jU:2009/02/01(日) 16:56:24 ID:fHt2HuPQ0
===========================================================
Sleipnir Version: 2.8.4 クライアント情報
Unicode Edition (Number. 2804412)
-----------------------------------------------------------

■ マシン
OS: Windows XP Home Edition Service Pack 3 (build 2600) (Japanese)
IE(Trident): 7.0.5730.13
CPU: 1 of INTEL (Intel(R) Pentium(R) M processor 1.73GHz)
RAM: 502MB (154MB Free)
FlashPlayer: 10.0.12.36
FireWall: Trend Micro Personal Firewall

■ 有効なプラグイン
Active Gecko Browser: 1.0.0
Cyclone: 0.1.8
ExtendedMenu: 1.0.0
PersonalChannel: 0.1.1
Sagittarius Dock: 0.3.0
ScriptBlock: 0.5.1
ShowDock Action: 0.0.1
ShowPanel Action: 0.0.1
ShowToolBar Action: 0.0.1
SleipnirShake: 0.1.8
StyleEditor: 0.0.7
UserAction Extension: 1.0.1

■ 使用中のスキン
elegance: 1.0.0
===========================================================

1361みみず ◆adhRKFl5jU:2009/02/01(日) 17:00:49 ID:fHt2HuPQ0
Web側だけで、Lunascapeを吹き飛ばす方法が無いかなあ?とか思う。

1362みみず ◆adhRKFl5jU:2009/02/01(日) 17:09:59 ID:fHt2HuPQ0
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 5356.6ms +/- 2.5%
--------------------------------------------

3d: 777.2ms +/- 11.0%
cube: 274.4ms +/- 16.7%
morph: 239.0ms +/- 16.0%
raytrace: 263.8ms +/- 16.3%

access: 728.6ms +/- 7.2%
binary-trees: 109.4ms +/- 2.9%
fannkuch: 253.4ms +/- 12.3%
nbody: 282.8ms +/- 14.2%
nsieve: 83.0ms +/- 16.1%

bitops: 450.4ms +/- 1.2%
3bit-bits-in-byte: 71.4ms +/- 4.0%
bits-in-byte: 115.0ms +/- 2.0%
bitwise-and: 80.2ms +/- 3.2%
nsieve-bits: 183.8ms +/- 3.1%

controlflow: 56.8ms +/- 4.5%
recursive: 56.8ms +/- 4.5%

crypto: 393.2ms +/- 2.7%
aes: 148.2ms +/- 7.8%
md5: 122.2ms +/- 1.3%
sha1: 122.8ms +/- 1.3%

date: 497.0ms +/- 7.8%
format-tofte: 190.0ms +/- 1.0%
format-xparb: 307.0ms +/- 12.8%

math: 598.2ms +/- 11.7%
cordic: 201.2ms +/- 7.6%
partial-sums: 280.0ms +/- 23.8%
spectral-norm: 117.0ms +/- 1.5%

regexp: 545.2ms +/- 7.5%
dna: 545.2ms +/- 7.5%

string: 1310.0ms +/- 4.5%
base64: 172.6ms +/- 1.9%
fasta: 239.8ms +/- 7.2%
tagcloud: 387.4ms +/- 9.9%
unpack-code: 225.8ms +/- 23.3%
validate-input: 284.4ms +/- 14.9%

1363774さん:2009/02/01(日) 17:50:05 ID:fHt2HuPQ0
TridentではかるとやっぱりSleipnirでもLunascape5rcでもかわらねー。

1364みみず ◆adhRKFl5jU:2009/02/01(日) 18:55:04 ID:fHt2HuPQ0
Firefox高速化の切り札「FasterFox」でブラウザ魔改造 :教えて君.net
http://www.oshiete-kun.net/archives/2009/01/post_409.html
-----
はいはい。RFC無視無視。

1365みみず ◆adhRKFl5jU:2009/02/03(火) 18:18:43
某JavaScriptの演算子の紹介ページに!==と===が無いとはどういうことだ!

1366774さん:2009/02/03(火) 22:55:09
本格的なシューティングゲームを実現するタスクシステム:CodeZine
http://codezine.jp/article/detail/297?p=1
近代的タスクシステムの構築 - やねうらお−よっちゃんイカを食べながら年収1億円稼げる(かも知れない)仕事術
http://d.hatena.ne.jp/yaneurao/20090203#p1
(cache) 近代的タスクシステムの構築 - やねうらお−よっちゃんイカを食べながら年収1億円稼げる(かも知れない)仕事術
http://s01.megalodon.jp/2009-0203-2253-48/d.hatena.ne.jp/yaneurao/20090203

1367774さん:2009/02/03(火) 22:58:28
SleipnirAPIの
string IResult::FieldName(long column)
が空文字を返すという突っ込みを、2chに居る作者に入れようとしたが、何故か憚られたのでやめた。
だけれども、これが無いと一々特殊化した物を作らないといけないから面倒だなあ。

1368みみつ ◆adhRKFl5jU:2009/02/03(火) 23:00:04
JOI2006本選 一括@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090203/1233658901

1369みみつ ◆adhRKFl5jU:2009/02/03(火) 23:14:52
アフォBlog C言語勉強したけどゲーム作れないぞコラって人向けに
http://afoafodayo.blog84.fc2.com/blog-entry-549.html

1370みみつ ◆adhRKFl5jU:2009/02/03(火) 23:28:47
liveイベント - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20090202/1233581353
-----
liveイベントは、後からノードが追加されても、そのノードにイベントを追加したかのような反応をするイベントらしい。

つまり、
$.live("li", "click", function(){
alert("click");
});
document.getElementsByTagName("body").item(0).appendChild(document.createElement("li"));
とかやっても、最後に追加した、liをクリックしてもアラートが出るようになるらし。

1371みみつ ◆adhRKFl5jU:2009/02/04(水) 19:33:06
C++TMPを使ってコンパイル時に多倍長フィボナッチ計算。 - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090204/1233733232

1372みみず ◆adhRKFl5jU:2009/02/04(水) 19:34:45
Microsoft、Windows 7のエディションを発表 - ITmedia News
http://www.itmedia.co.jp/news/articles/0902/04/news024.html

1373みみず ◆adhRKFl5jU:2009/02/04(水) 19:36:15
http://anond.hatelabo.jp/20081025202001
http://anond.hatelabo.jp/20081030224457
-----
絶対コンパイル時に決定する必要性が無い。

1374みみず ◆adhRKFl5jU:2009/02/04(水) 19:56:21
絶対もしかしてジェネレータがあると思って検索したら、案の定あったので作るのはやめよう。

1375774さん:2009/02/05(木) 18:05:27
CSSでさくっと作れるグラフいろいろ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜
http://www.ideaxidea.com/archives/2009/02/css_graphs.html
NYTimes.comがAPIを提供開始!280万記事のデータベースで何を作る!? - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜
http://www.ideaxidea.com/archives/2009/02/nytimescom_api.html

1376 ◆adhRKFl5jU:2009/02/06(金) 17:43:53
ああ、サーバーがあったら色々なことが出来そうなんだけれどもなあ。

1377 ◆adhRKFl5jU:2009/02/06(金) 17:52:03
素晴らしいjQueryのチュートリアル45選 | CREAMU
http://blog.creamu.com/mt/2009/02/jquery45.html

1378774さん:2009/02/06(金) 19:13:43

//IResult::FieldNameが空文字を返すので、あきらめる。
result.Rewind();

var fields = [];
var i, j, len_row, len_field;
for(i = 0, len_field = result.NumFields(); i < len_field; ++i){
fields.push(result.FieldName(i).toString());
}
var ret = [];
var a;
for(i = 0, len_row = result.NumRows(); i < len_row; ++i){
ret[i] = {};
a = result.FetchArray();
for(j = 0; j < len_field; ++j){
ret[i][fields[j]] = a.At(j);
}
}

return ret;

1379774さん:2009/02/06(金) 20:34:16
自分はクラス設計者であり、使用者である、というスタンスが一番プログラミングしやすいんじゃないかと思う。
で、それで書いたら、実装部分が二百行以上で、使用部分が四行ぐらいになった。

1380774さん:2009/02/06(金) 22:03:33
ソースコードって直ぐに三百行超えるね!

1381774さん:2009/02/06(金) 22:04:12
7.88 KB (8,071 バイト)・・・
全然少ないね!

1382774さん:2009/02/06(金) 22:55:10
function todo(s, DB, set, w, d){
var db = new DB(set.dbName);

var canvas = d[d.compatMode == "CSS1Compat" ? "documentElement" : "body"];

w["_" + s.ScriptName + "_"] = true;

var base = d.createElement("div");
with(base.style){
position = "absolute";
top = (canvas.scrollTop + 10) + "px";
left = "100px";
width = "500px";
zIndex = "100000";
border = "solid 1px blue";
filter = "alpha(opacity=10)";
}
w.setTimeout(function(){
w.alert(db.TrimTag(["tets"]));
}, 1000);

var title = d.createElement("div");
with(title.style){
backgroundColor = "#ccf";
margin = "3px"
}
title.innerHTML = "<b>色々とテスト中です。</b>";

base.appendChild(title);

var client = d.createElement("div");
with(client.style){
margin = "3px";
backgroundColor = "#ffffff";
}
client.innerHTML = "testtest";

base.appendChild(client);

d.getElementsByTagName("body").item(0).appendChild(base);
}

1383 ◆adhRKFl5jU:2009/02/06(金) 22:56:17
JScriptは他の場所に参照があっても、オブジェクトの定義が無くなったら、上手く動作しなくなるらしい。
全面的にソース書き直さないといけないかな?

1384 ◆adhRKFl5jU:2009/02/06(金) 22:56:48
だが、sleipnirオブジェクトが残りっぱなしなのが気になるなあ。

1385 ◆adhRKFl5jU:2009/02/09(月) 17:54:58
情報オリンピック本選いってきました - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090208/1234099579

1386774さん:2009/02/10(火) 20:35:31
あー。
数日前に数日かけて書いたソースを消してしまったorz.....
まだ復旧に間に合うか?

1387774さん:2009/02/10(火) 20:40:37
よかった、復旧できた・・・

1388 ◆adhRKFl5jU:2009/02/10(火) 21:02:46
全くリークされた情報を聞いていないのだが、Sleipnirの次の正式版は、GeckoとかWebkitが取り込みやすくなっているのではないかと。
あくまでもプログラミング面から見ての話である。

以前も書いたはず(探したけれども見つからない・・・)だが、一つプラグインを作って、それがIEだけの対応だったら意味が無い。
つまり、一つブラウザを弄くるプラグインを書いたら、レンダリングエンジンが何であろうと動いてくれないと、プラグインを作成する人にとっては、最悪三倍資料を探さなければいけないし、最悪三倍近くソースを書かねばならないかもしれない。
しかし、そこの部分をSleipnirが上手くラップ(wrap)してくれると非常に良いわけだ。
そして、今IEBrowser.fxを結構書き直しているようだが、恐らくそれをやっているのではないかと勝手に期待しているわけだ。

新しくSeaHorse.fx公開されたが、これももしや将来的にはGeckoやらWebkitでも動くようになるのかもしれない。

もし俺のこの予測が外れていたら、結構ショックである。
もしも、ラッパーを作る気が無かったならばそれはSleipnirに失望すること間違いなしである。

1389 ◆adhRKFl5jU:2009/02/10(火) 21:10:08
>>1388は下記のような記述から書いた、憶測記事です。
-----
 なんだかねw - Kei_9 なげやりにっき
http://d.hatena.ne.jp/Kei_9/20090205/1233844499
---
>新しいIEBrowser.fxの正体を知れば2chとか某所においては納得させれる部分もあるのでしょうけど、ソレすら公式にはまだお披露目には早いという判断なんでしょうかね。
>もしくは公開のための場所限定であってもなにがしかの情報開示があればそれなりの反応が得られるのではないかとおもうのですけどね。
>そういったアナウンスすら無いままPrototypeとの融合版をtest版として投下されたとしても既存の環境において不具合てんこ盛りを訴えるユーザに対してどのような処理するのだろうか...
-----

1390774さん:2009/02/12(木) 18:48:20
vimで効率的にコードを書くための小技 - bonar note
http://d.hatena.ne.jp/bonar/20070415/1176651778

1391774さん:2009/02/12(木) 20:55:16
var isDrag = false;
var po;
title.attachEvent("onmousedown", function(){
isDrag = true;
po = {};
po.x = w.event.clientX + canvas.scrollLeft;
po.y = w.event.clientY + canvas.scrollTop;
});
title.attachEvent("onmouseup", function(){
isDrag = false;
});
d.getElementsByTagName("body").item(0).attachEvent("onmousemove", function(){
if(isDrag){
if(w.event.button & 1){
var _po = {};
_po.x = w.event.clientX + canvas.scrollLeft;
_po.y = w.event.clientY + canvas.scrollTop;
base.style.left = (_po.x - po.x + parseInt(base.style.left)) + "px";
base.style.top = (_po.y - po.y + parseInt(base.style.top)) + "px";

if(parseInt(base.style.left) + parseInt(base.style.width) > canvas.clientWidth){
base.style.left = (canvas.clientWidth - parseInt(base.style.width)) + "px";
}
if(parseInt(base.style.left) < 0){
base.style.left = "0px";
}

po = _po;
}else{
isDrag = false;
}
}
});

1392 ◆adhRKFl5jU:2009/02/12(木) 21:02:22
SleipnirScriptで確りとしたUIを付けようと思ったので、色々と試行錯誤中。
取り敢えず、エレメントをドラッグするための関数を作らなければいけない。
>>1391は取り敢えず適当に書いたサンプル。
表示領域(HTML全体)の大きさを取得したいのだが、取得の方法が分からない。
適当に資料を探してみなければいけないなと再確認。
調べたら、JavaScript備忘録を久しぶりに更新しようかなあと思っているが、非常に面倒である。

1393 ◆adhRKFl5jU:2009/02/12(木) 21:02:43
で、情報オリンピックの結果まだー?

1394 ◆adhRKFl5jU:2009/02/13(金) 18:09:30
結果は十五日のようだ。

1395 ◆adhRKFl5jU:2009/02/14(土) 15:13:33
昨日の夜、ふと思ったのだが、JavaScriptのエンジンとレンダリングエンジンは別々なんだから、Trident+V8とか無理なんですかね?とか思った。
それが出来たら最強かもしれない。
まあ、Tridentのレンダリングスピードが遅かったら意味が無いが。

1396774さん:2009/02/14(土) 15:29:53
---------------------------
情報
---------------------------
データがオープンできません 書き込みの権限が無い可能性があります。(Headline-Reader Plugin)
---------------------------
OK
---------------------------

1397 ◆adhRKFl5jU:2009/02/14(土) 17:12:02
Linuxにはstraceとか言うシステムとレースできるコマンドがあるのだが、Windowsには無いのか!
まあ、動作から明らかだが、Headline-Reader Pluginは非同期でファイルを読み書きしているので遅い。
もっと早く、というのはハードウェアの問題だから無理だが、非同期で読み込むようにすれば、処理が止まるって言うことは無いぞ!
おい、プロなんだからメッセージとか考えろよー。

1398 ◆adhRKFl5jU:2009/02/14(土) 17:13:39
お、調べたら滅茶苦茶簡単に見つかった。
-----
IntellectualHeaven - Products - StraceNT - Strace for Windows
http://www.intellectualheaven.com/default.asp?BH=projects&amp;H=Strace.htm

1399 ◆adhRKFl5jU:2009/02/14(土) 17:25:21
今の僕には使いこなさないw
ReadFile(Ex)だけトレースしたいのにどうすれば良いのだ・・・
やっぱりデバッガでやるか。

1400 ◆adhRKFl5jU:2009/02/15(日) 18:33:59
SDL - Wikipedia
http://ja.wikipedia.org/wiki/SDL

1401 ◆adhRKFl5jU:2009/02/15(日) 19:30:35
SDL使えばマルチプラットホームでかけるんだ・・・

1402 ◆adhRKFl5jU:2009/02/15(日) 20:03:44
JOI産物 - slender(足跡45)の日記
http://d.hatena.ne.jp/sle/20090208/1234096933
-----
よく一時間半でゲームかけるなあ。
俺一個もゲーム作ったこと無いぜ・・・

1403774さん:2009/02/15(日) 20:23:45
決めた。
東方っぽいシューティングゲームを適当にでも作る。
SDLの方向で行こう。

1404 ◆adhRKFl5jU:2009/02/15(日) 20:24:10
ははうえと息子とハイパーな日々
http://d.hatena.ne.jp/hahaue/

1405 ◆adhRKFl5jU:2009/02/16(月) 19:21:34
> JOI 2008-2009本選の成績通知を2月15日に行いました (2009.2.15)
度数分布表を早く出してくれないかね?

1406 ◆adhRKFl5jU:2009/02/16(月) 23:19:34
満点三人もいる。
すげええええええええ

1407 ◆adhRKFl5jU:2009/02/17(火) 19:24:57
本番で満点を取ることが凄いのだ。多分。

1408 ◆adhRKFl5jU:2009/02/17(火) 19:25:31
解答聞けば誰でも満点取れるね!

1409 ◆adhRKFl5jU:2009/02/18(水) 20:44:02
適当にソースを書いているのだが、閉じるボタンを押したらそれなりに閉じなければいけないし、なんか色々と面倒そうである。
通常必要な処理を纏めた関数でも作れば良いかな?
適当にISecene::Defaultとか言う奴でも作ってやったれば良いかと思っている。

1410 ◆adhRKFl5jU:2009/02/18(水) 21:15:24
そんなこんなでSDLの基本を押さえつつ適当に作っている。
透過pngが僅か五行で表示できるよ!

1411 ◆adhRKFl5jU:2009/02/19(木) 17:01:42
TridentでHTMLを解釈される前にHTMLを変更する方法は無いのかな?
有れば色々と面白いことが出来そうだが・・・。

1412 ◆adhRKFl5jU:2009/02/19(木) 17:22:30
動的にFixedをTridentで生成しようとすると、普通の場所で表示されるのは何とかして欲しいところ。

1413 ◆adhRKFl5jU:2009/02/19(木) 17:56:27
適当にISceneを継承して色々と実装すれば良いようにしてみた。

1414 ◆adhRKFl5jU:2009/02/19(木) 17:57:22

http://www.tacoworks.jp/software/SDLdoc-jp/html/index.html

1415 ◆adhRKFl5jU:2009/02/19(木) 18:16:30
酷い設計である。
-----
#include "SceneTitle.hpp"
#include "Game.hpp"
#include "FPSTimer.hpp"

/*==========*/
bool
SceneTitle::Initialize(){
return true;
}

/*==========*/
Scene
SceneTitle::Start(Game *game){
SDL_Surface *sc = game->GetSurface();
FPSTimer timer(60);
for(;;){
if(!IScene::DefAllPollEvent()){
break;
}
timer.Wait();
}

return SC_NULL;
}

/*==========*/
bool
SceneTitle::Finalize(){
return true;
}

1416 ◆adhRKFl5jU:2009/02/19(木) 18:24:43
FPSTimerとか言っているが、実際のところ1000との公約数のfpsしか正確に計れないという仕様。
出来るだけ整数で済ませようとしているのが間違いである。

1417 ◆adhRKFl5jU:2009/02/19(木) 20:17:54
という事で、もうちょっとちゃんと作ろうかなと。
出来るだけ整数だけで計算したいので、一秒ごとにグルグルする、関数でも作って適当に割り振ることにしよう。
ちょうど、割り算すると切り捨てられるのでそこらへんを上手く利用。

1418 ◆adhRKFl5jU:2009/02/19(木) 20:18:14
#include "FPSTimer.hpp"
#include <SDL/SDL.h>

/*==========*/
FPSTimer::FPSTimer(unsigned int fps)
: m_fps(fps)
, m_dis(1000 / fps)
, m_shouldSkip(false)
{
Start();
}

/*==========*/
void
FPSTimer::Start(){
m_start = m_last = SDL_GetTicks();
}

/*==========*/
void
FPSTimer::Wait(){
//49日間も実行されないだろう・・・
unsigned int next = m_last + m_dis;
unsigned int now = SDL_GetTicks();

m_shouldSkip = false;

printf("WaitTime: %d\n", next - now);

if(now == next){
m_last = now;
}else if(next > now){
//SDL_Delayの精度が10msぐらいかなとか。
if(next - now > 10){
SDL_Delay(next - now - 10);
}
for(;;){
now = SDL_GetTicks();
if(next <= now){
break;
}
}
m_last = now;
}else{
m_shouldSkip = true;
m_last = now;
}
}

/*==========*/
bool
FPSTimer::ShouldSkip(){
return m_shouldSkip;
}

1419 ◆adhRKFl5jU:2009/02/19(木) 20:18:47
#ifndef FPSTIMER_HPP
#define FPSTIMER_HPP

class FPSTimer{
private:
const unsigned int m_fps;
const unsigned int m_dis;
unsigned int m_start;
unsigned int m_last;

bool m_shouldSkip;

public:
void Start();
void Wait();

bool ShouldSkip();

unsigned int GetStartTicks();

FPSTimer(unsigned int);
};

#endif

1420 ◆adhRKFl5jU:2009/02/19(木) 20:20:59
テンプレートでプログラミングしたいなあとか思った。
適当に考えてみるか。

1421 ◆adhRKFl5jU:2009/02/19(木) 20:21:23
だけれども配列が扱えない・・・
配列っぽく扱いたいんだがな・・・

1422 ◆adhRKFl5jU:2009/02/19(木) 20:41:42
1000とfpsの最小公倍数を考えれば精度がよく出来そうだが、どうせ人間なんて1msの違いなんて分かるはずがない!

1423 ◆adhRKFl5jU:2009/02/19(木) 20:57:52
という事であんまり作ってないがもう寝よう。
明日からはテスト勉強頑張りましょう。

1424 ◆adhRKFl5jU:2009/02/20(金) 19:14:25
finally がマイブーム - IT戦記
http://d.hatena.ne.jp/amachang/20090220/1235094949

1425 ◆adhRKFl5jU:2009/02/20(金) 19:19:19
「\(^o^)/オワタ」も一発変換 辞書を共有するソーシャルIME、慶大生が開発 - ITmedia News
http://www.itmedia.co.jp/news/articles/0902/20/news051.html
Social IME 〜みんなで育てる日本語入力〜
http://www.social-ime.com/
nokunoの日記
http://d.hatena.ne.jp/nokuno/
-----
後はP2P化だ!

1426 ◆adhRKFl5jU:2009/02/20(金) 19:26:26
Windows上でもPDFファイルのパスワードを総当たりで解析できるフリーソフト「PDFCrack」 - GIGAZINE
http://gigazine.net/index.php?/news/comments/20090219_pdfcrack/

1427 ◆adhRKFl5jU:2009/02/20(金) 19:26:48
ナビゲーションのUIはこれで完璧かもなjQueryプラグイン集:phpspot開発日誌
http://phpspot.org/blog/archives/2009/02/uijquery.html
HTML、CSS、JavaScriptの練習に最適な便利ツール『rendur』 - 100SHIKI 〜 世界のアイデアを日替わりで 〜
http://www.100shiki.com/archives/2009/02/rendur.html

1428 ◆adhRKFl5jU:2009/02/21(土) 17:41:32
今年一番笑った。
ヤバい、凄すぎるwwww。
-----
日本発セキュアOSのTOMOYOがLinuxカーネルに標準採用:アルファルファモザイク
http://alfalfa.livedoor.biz/archives/51434353.html
-----
今日ふと、上の記事を見たんだ。するとTOMOYO Linuxと言えばこの前講演していた人の作っているOSじゃないか!と思って記事を読んだわけだ。
-----
> 2 名刺は切らしておりまして :2009/02/18(水) 02:04:48 ID:H7ZiDWgl
>
> トモヨって・・・まさかアレじゃないよな?
---
> 17 名刺は切らしておりまして :2009/02/18(水) 02:24:54 ID:3z/xgrMt
>
> >>2
>残念ながらたぶんそれです、本当にありがとうございました。
-----
続きは上の記事で読んで貰えば分かるが、この名前の付け方はカードキャプターさくらじゃないかと。
-----
Linux「はにゃ〜ん♪」化計画
http://i-love.sakura.ne.jp/tomoyo/#sakura
-----
もう駄目だこいつ・・・
それだけのお話でした。

1429 ◆adhRKFl5jU:2009/02/21(土) 17:52:31
事前情報を集めて、カードキャプターさくらは好きですか?とか聞いたら面白かったかも知れんなwwww

1430 ◆adhRKFl5jU:2009/02/21(土) 17:56:15
人工無能の作り方
http://www.x68uec.org/other/press/2008/text/inazu_kazuma/index.html

1431qnighy:2009/02/21(土) 18:21:31
>>1428
ttp://hp.vector.co.jp/authors/VA022513/guchi.html#88

ttp://d.hatena.ne.jp/qnighy/20090215/1234706173

1432 ◆adhRKFl5jU:2009/02/21(土) 18:45:24
>>1431
俺涙目><

1433 ◆adhRKFl5jU:2009/02/21(土) 18:48:59
一応CCSは全部ポータブルハードディスクに入っているんだけれども、やっぱり面白いよCCSは。
でも流石に「26.7 GB (28,741,535,300 バイト)」は無いわ・・・

まだ、見てない人は絶対見るべきだ。
別に動機は何でも良いと思うよ。

1434 ◆adhRKFl5jU:2009/02/21(土) 18:57:41
ふと、ページに含まれているリンクが貼られている画像の一覧が欲しかったので。
-----
(function(){
var a = document.getElementsByTagName("a"), s = "";
for(var i = 0; i < a.length; ++i){
if(a[i].href.match(/\.(?:png|jpg|jpeg|gif)$/)){
s += a[i].href + "\n";
}
}
var div = document.createElement("textarea");
div.value = s;
document.getElementsByTagName("body")[0].appendChild(div);
})();
-----
javascript:(function(){var a=document.getElementsByTagName("a"),s ="";for(var i=0;i<a.length;++i){if(a[i].href.match(/\.(?:png|jpg|jpeg|gif)$/)){s+=a[i].href+"\n";}}var div=document.createElement("textarea");div.value=s;document.getElementsByTagName("body")[0].appendChild(div);})();
-----
後はURLから落とすスクリプトを書くだけ。
-----
キラ速-KIRA☆SOKU- 空の画像を貼らないか?
http://kamisoku.blog47.fc2.com/blog-entry-861.html
-----
のアダルト広告うぜええええええええええええええ
Firefox + Adblock Plus?知らんな。
なんかIから始まるソフトがあった気がするが別に良いんだ。作れば。

1435 ◆adhRKFl5jU:2009/02/21(土) 19:14:54
さっきまで動いてたソースが動かなくなった!不思議!

1436 ◆adhRKFl5jU:2009/02/21(土) 19:27:34
原因がよく分からなかったので書き直した。
-----
(function(){
var a = document.getElementsByTagName("a"), s = "";
for(var i = 0; i < a.length; ++i){
if(a[i].href.match(/\.(?:png|jpg|jpeg)$/i))
s += a[i].href + "\n";
}
var t = document.createElement("textarea");
t.value = s;
document.getElementsByTagName("body")[0].appendChild(t);
})();

1437 ◆adhRKFl5jU:2009/02/21(土) 19:31:02
javascript:(function(){var a = document.getElementsByTagName("a"), s = "";for(var i = 0; i < a.length; ++i){if(a[i].href.match(/\.(?:png|jpg|jpeg)$/i))s += a[i].href + "\n";}var t = document.createElement("textarea");t.value = s;document.getElementsByTagName("body")[0].appendChild(t);})();

1438 ◆adhRKFl5jU:2009/02/21(土) 20:34:44
上手くいかないなあとか思ったら、改行コードの問題だった。
-----
(function(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
if(fso.FileExists("list.txt")){
var list = fso.OpenTextFile("list.txt", 1, false).ReadAll().split("\r\n");
var log = fso.OpenTextFile("log.txt", 2, true);
for(var i = 0; i < list.length; ++i){
if(list[i]){
var url = list[i], filename = url.split("/").pop();
if(Download(url, filename)){
log.WriteLine(url + ":" + "成功");
}else{
log.WriteLine(url + ":" + "失敗");
}
}
}
}else{
WScript.Echo("list.txtがありません。");
}

Download("http://blog-imgs-32.fc2.com/k/i/r/kirasoku4/vip20ch26210.jpg&quot;, "vip20ch26210.jpg");

function Download(url, filename){
//WScript.Echo("url: " + url + "\n" + "filename: " + filename);
try{
var http = new ActiveXObject("Microsoft.XMLHTTP");
http.open("GET", url, false);
http.send(null);

var file = new ActiveXObject("Adodb.Stream");
file.type = 1;
file.open();
file.write(http.responseBody);
file.savetofile(filename, 2);
}catch(e){
return false;
}

return true;
}
})();

1439 ◆adhRKFl5jU:2009/02/21(土) 20:38:11
テスト用のソースを残したままにしてしまった。
-----
(function(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
if(fso.FileExists("list.txt")){
var list = fso.OpenTextFile("list.txt", 1, false).ReadAll().split("\r\n");
var log = fso.OpenTextFile("log.txt", 2, true);
for(var i = 0; i < list.length; ++i){
if(list[i]){
var url = list[i], filename = url.split("/").pop();
if(Download(url, filename)){
log.WriteLine(url + ":" + "成功");
}else{
log.WriteLine(url + ":" + "失敗");
}
}
}
}else{
WScript.Echo("list.txtがありません。");
}

function Download(url, filename){
//WScript.Echo("url: " + url + "\n" + "filename: " + filename);
try{
var http = new ActiveXObject("Microsoft.XMLHTTP");
http.open("GET", url, false);
http.send(null);

var file = new ActiveXObject("Adodb.Stream");
file.type = 1;
file.open();
file.write(http.responseBody);
file.savetofile(filename, 2);
}catch(e){
return false;
}

return true;
}
})();

1440 ◆adhRKFl5jU:2009/02/21(土) 21:21:16
>・ 合宿までに勉強しておいて欲しいこと
まだー?
それにしても、合宿の問題は俺には到底解けるものではないと思った。
多分全部0点になるお!

1441 ◆adhRKFl5jU:2009/02/22(日) 11:56:52
ソースを書くと、段々設計を変えたほうが良いように思えてくる・・・

1442 ◆adhRKFl5jU:2009/02/22(日) 13:28:17
#include <iostream>
#include <cstdlib>
#include <cstdio>

using namespace std;

int main(){
FILE *in = fopen("score.in", "r");
if(!in)return -1;
//FILE *out = stdout;
FILE *out = fopen("score.out", "w");
if(!out)return -1;

unsigned int n;
fscanf(in, "%u", &n);

unsigned int *vec = (unsigned int *)malloc(n * sizeof(unsigned int));
unsigned int sco[101] = {0};

for(unsigned int i = 0; i < n; ++i){
fscanf(in, "%u", &vec[i]);
sco[vec[i]]++;
}

unsigned int rank[101] = {0};
rank[100] = 1;
for(unsigned int i = 99; i != 0; --i){
rank[i] = rank[i + 1] + sco[i + 1];
}
rank[0] = rank[1] + sco[1];

for(unsigned int i = 0; i < n; ++i){
fprintf(out, "%d\n", rank[vec[i]]);
}

fclose(in);
fclose(out);
}

1443 ◆adhRKFl5jU:2009/02/22(日) 13:47:06
二問目間違えて階乗を求めてまった。
素因数分解しないといけないのにorz....

1444 ◆adhRKFl5jU:2009/02/22(日) 14:15:58
どうすればよかったんだっけなあ。
素因数分解は出来たんだけど。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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