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

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

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

738774さん:2008/11/07(金) 20:53:54 ID:CENbthlg0
せっかくSleipnirにハック、じゃなくてフックするためのDLLを導入できたんだから何とかしたい。
何をするといわれても困る。
取り敢えず、Sleipnirから渡されるオブジェクトから利用できる関数を列挙せねば・・・

739774さん:2008/11/07(金) 23:00:55 ID:CENbthlg0
まとめてみた。
左からアドレス,RET *。
多分COMだから、最後にthisポインタをプッシュしている。

004CF9D0 //バージョン 8
004CF970 //8
004CF940 //4
004D3DF0 //4
004CF910 //4
004CF6E0 //QueryInterfaceっぽいけれども・・・? 0C
004D32B0 //QueryInterfaceっぽいけれども・・・? 0C
004D5590 //8
004CF390 //4
004D03B0 //8
004D0EE0 //GetSpecialFolderみたいな? 0C
004D2C50 //ttp://とかと比較している 10
004D2910 //上と同じような感じ 14
004D25A0 //上と同じような感じ 1C
004D4CA0 //10
004D4C80 //8
004D4630 //14
004D4610 //0C
004D5A50 //10
004D5850 //14
004D3F90 //8
004CF4A0 //8
004CF430 //8
004D0980 //8
004D0860 //14
004D0810 //GetMenuItemCountを呼び出している 4
004D06F0 //GetMenuItemCountを呼び出している 0C
004D0660 //GetMenuItemCountもGetSubMenuを呼び出している 8
004D3EF0 //上と同じ 14
004D53B0 //0C
004D0250 //GetWindowとGetClientRextとClientToScreenを(ry 14
004D0460 //4
004D0450 //4
004D0440 //4
004D0430 //4
004D0420 //4
004D0410 //4
004D0400 //4
004D03F0 //4
004D0210 //8
004D0200 //4
004D01F0 //4
004D01E0 //4
004D01D0 //4
004D3EA0 //10
004D01C0 //4
004D01B0 //4
004D5C70 //内側でなんかSleipnir.APIの登録っぽいものをやっているっぽい気がする 0C
004D5C50 //上のことと、なんか内側でsleipnir,_document,_windowの登録を行っている気がする 0C
004D5C20 //なんかスクリプトの実行ですか? 18
004D5BF0 //上に同じ 18
0042EE10 //なんかfreeしている 4
0042EDE0 //上に同じ 4
0042EBA0 //上に同じ 4

740774さん:2008/11/07(金) 23:02:12 ID:CENbthlg0
ブレークポイントを設置してそれぞれの呼び出しについて研究すべきだと思う。

741774さん:2008/11/08(土) 20:12:29 ID:CENbthlg0
Sleipnir3のブックマークがデータベースで管理されるようになったので、某巨大掲示板で独自バイナリより早いんじゃない?とか言っていたが、間違えなくデータベースの方が遅いと思う。
ただ、現状では一度読み込んだらそんなに頻繁に読みに行っていないと思うので、そんなに速さに違いは無いと思う。
つまり一度読みに言ってメモリ上に保存していると。
だけれどもこれだと沢山ブックマークがあるとメモリをとりすぎる。まあ、データベースの方がかなり楽だし、スクリプトからも弄くれるのでウマーということです。
明らかにXML的に弄くるよりも楽。
だけれどもSQLを勉強しなければいけないのは大変だorz...

742774さん:2008/11/08(土) 20:13:03 ID:CENbthlg0
上のほうに出てきたやつ。
SQL講座 [Smart]
http://www.rfs.jp/sb/sql/

743774さん:2008/11/08(土) 23:03:35 ID:CENbthlg0
正直SleipnirでもFirefoxでも何でも良いんですよ。
ちゃんとブラウザとして利用できるならば。
だけれども、俺がSleipnirにこだわる理由はと聞かれても困る。
正直趣味の問題だ。

744774さん:2008/11/08(土) 23:15:39 ID:CENbthlg0
取り敢えず、最近思った要望。
検索バー、アドレスバーにフォーカスがあるときは、クライアントにフォーカスを移さない。

745774さん:2008/11/08(土) 23:27:01 ID:CENbthlg0
SQLをちゃんと勉強しよう!
C#もちゃんと勉強しよう!
Javaもちゃんと勉強しよう!
国語もちゃんと勉強しよう!
英語もちゃんと勉強しよう!
古典もちゃんと勉強しよう!

746774さん:2008/11/09(日) 01:14:12 ID:CENbthlg0
簡単なSQLならば出来そうな気がしてきた。
別にテーブルの結合(JOIN)なんて覚えなくても良いよね。
覚えればそれはそれで使えるのだが。

747774さん:2008/11/09(日) 01:22:45 ID:CENbthlg0
SELECT ParentId, AVG(Id) FROM FenrirBookmark GROUP BY ParentId
こんな意味の無いSQLを書いてみたり・・・?
どちらにせよ、この技術はそのままMySQLとかのサーバー用のソフトウェアにも利用できるので、覚えておいてそんは無いと思う。

748774さん:2008/11/09(日) 01:24:31 ID:CENbthlg0
SELECT ParentId, AVG(Id) FROM FenrirBookmark WHERE ParentId != -1 GROUP BY ParentId
今更ながら、WHEREとかGROUP BYにはちゃんと指定する順番があるようである。

749774さん:2008/11/09(日) 01:25:04 ID:CENbthlg0
SELECT ParentId, AVG(Id) FROM FenrirBookmark WHERE ParentId != -1 GROUP BY ParentId ORDER BY ParentId DESC
なるほどなるほど・・・

750774さん:2008/11/09(日) 01:27:05 ID:CENbthlg0
Sleipnir3では消したはずのお気に入りがデータベース上には残ったままになっているので、
DELETE FROM FenrirBookmark WHERE Deleted == 1
見たいなSQLを実行すればいいと思う。

751774さん:2008/11/09(日) 01:31:13 ID:CENbthlg0
上は間違え
DELETE FROM FenrirBookmark WHERE Deleted = 1
が正しい。
-----
また、
UPDATE FenrirBookmark SET Deleted = 0 WHERE Deleted = 1
とすれば復元も出来るがArrayNumberが被らないように注意。
此れは頑張れば、SQLだけで出来るかも。
MAXとかSELECTとかの合わせ技で。

昆布だし(ry

752774さん:2008/11/09(日) 01:33:16 ID:CENbthlg0
キー(でよかったっけ?)を演算子の対象に出来るのは面白い。

753774さん:2008/11/09(日) 01:33:32 ID:CENbthlg0
ベクトルっぽいね。

754774さん:2008/11/09(日) 20:59:51 ID:CENbthlg0
MSXMLを本当に簡単に弄くったんだけれども、面倒すぎるだろ。
まあ、簡単な方法もあるんだけれども、一応ネイティブのC++だけで触ってみたかったので。

#include <iostream>
#include <windows.h>
#include <windowsx.h>
#include <tchar.h>
#include <shlobj.h>

#include <msxml.h>

int main(int argc, char **argv){
HRESULT hr = CoInitialize(NULL);
if(SUCCEEDED(hr)){
IXMLDOMDocument *pDoc;

hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC, IID_IXMLDOMDocument, (void **)&pDoc);
if(SUCCEEDED(hr)){
IXMLDOMElement *pRoot;
hr = pDoc->createElement(OLESTR("root"), &pRoot);
if(SUCCEEDED(hr)){
VARIANT_BOOL b;
pRoot->hasChildNodes(&b);
IXMLDOMNode *pRootNode;
pDoc->appendChild(pRoot, &pRootNode);
BSTR p;
pDoc->get_xml(&p);
int i = 0;
i++;
}

pDoc->Release();
CoUninitialize();
}
}
}

755774さん:2008/11/09(日) 21:02:21 ID:CENbthlg0
本当ならばpRootとかpRootNodeとか全部Releaseしなきゃいけないのかなあ?

756774さん:2008/11/10(月) 20:55:02 ID:CENbthlg0
Lunascapeいいなあ。
だけれどもデザインにこだわりすぎ。
俺的には場所をとらないほうがいいのだが、デフォルトでそういうのがない。
でも、いいところ一杯。

757774さん:2008/11/10(月) 20:56:37 ID:CENbthlg0
>>751
ほんの少し最後のところについて頑張ったんだけれども、やっぱり無理っぽい。
SQL使えねえ。
せっかくネイティブで動くんだから、複雑なところはSQLにやらせたいところである。

758774さん:2008/11/10(月) 21:11:09 ID:CENbthlg0
MessageBoxをやると、モーダルダイアログボックスが出るわけだが、このモーダルダイアログボックスってどうやって動いているのだろう。
非常に気になったり気にならなかったり。
なんか最近プログラミングをしたくない。
というかSleipnirのPDKが出るまでなんか書きたくない。
まだ何も決まってないのだけれども、なんかSleipnirハック的なものを書きたいと思っている。多分。

759774さん:2008/11/10(月) 21:14:21 ID:CENbthlg0
最近はFirefoxも落ちるしSleipnirも落ちるんだなあ。
Sleipnirは~FValue+0x09で落ちてる。
なんか、[eax]を参照している命令だった気がする。
開放したのに読み込みに言っているのかな?しらないけれどm。

760774さん:2008/11/11(火) 20:20:32 ID:CENbthlg0
取り敢えず、何時落ちても良いように、OllyDbgでアタッチしておく。

761774さん:2008/11/11(火) 20:25:05 ID:CENbthlg0
やっぱり、デストラクタはdeleteに指定されている型を見て、呼び出せているんだよなあ。
だからvoid*にキャストして渡すと、呼び出されない。

762774さん:2008/11/11(火) 20:27:43 ID:CENbthlg0
やっぱり、デストラクタはdeleteに指定されている型を見て、呼び出せているんだよなあ。
だからvoid*にキャストして渡すと、呼び出されない。

763774さん:2008/11/11(火) 20:28:13 ID:CENbthlg0
二重書き込みしてしまった・・・

764774さん:2008/11/11(火) 20:38:18 ID:CENbthlg0
C/C++でプログラミングを書くとmain関数から始まるが、此れ以前に実は他のソースコードが走っている。
何故ならば、argc,argvを得るためのソースとかが必要だからであり、またCのライブラリとか、グローバル変数の初期化などが行われるためである。
つまり、本当のエントリーポイントは別にあるということだ。

765774さん:2008/11/11(火) 20:40:28 ID:CENbthlg0
こうすると、mainに入る前に、testと表示される。当たり前である。

#include <iostream>

int a = (std::cout << "test" << std::endl, 0);

int main(int argc, char **argv){
//std::cout << a << std::endl;
}

766774さん:2008/11/11(火) 20:52:42 ID:CENbthlg0
前も見たことあるんだけれども、これで動くもんなあ。
int main(){
char *p = "\xC3";
((void(__cdecl *)(void))p)();
}

767774さん:2008/11/12(水) 17:48:38 ID:CENbthlg0
[CSS]ブラウザのスタイルをリセットするスタイルシート集 | コリス
http://coliss.com/articles/build-websites/operation/css/1799.html
C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/11/12/003/index.html

768774さん:2008/11/12(水) 18:16:15 ID:CENbthlg0
C++0xの仕様書を読んでいるのだが、英語むずい。

769774さん:2008/11/12(水) 18:51:17 ID:CENbthlg0
まあ、いい。
Wikipediaで俺には十分だ。
それにしてもラムダ式にはかなりそそられる所がある。
JavaScript的に(本当はLispだが、俺は使えない。)
somefunc(function(){
//なんとかかんとか〜
});
とかかけるのが美味しすぎる。

770774さん:2008/11/12(水) 18:56:09 ID:CENbthlg0
template<typename LHS, typename RHS>
[]AddingFunc(const LHS &lhs, const RHS &rhs) -> decltype(lhs+rhs) {return lhs + rhs;}
-----
微妙だよなあ。格好じゃなくて、lhs + rhsというのを二回書かなきゃいけないのが。

771774さん:2008/11/12(水) 18:57:02 ID:CENbthlg0
つまり、これからのC++は“->”とか“decltype()”とか“[]”が頻出なんですね。

772774さん:2008/11/12(水) 18:58:35 ID:CENbthlg0
どのようにアセンブリに落とされるのかがkwtk。
[=]とかにすると、とても重そう。
[]とか[&]だったら、問題なさそうなんだけれども。
多分&はESPをコピーするだけで良いし、[]に関しては何もコピーしなくていい。
だけれども[=]は全てコピーしなければいけない。(まあ中で何も利用してなかったらコピーしないだろうし、必要な数だけしかコピーしないと思うのだが。)

773774さん:2008/11/12(水) 19:01:56 ID:CENbthlg0
concept,concept_mapおもしろー。

774774さん:2008/11/12(水) 19:02:44 ID:CENbthlg0
ちょwwwwwwwwwww
コンセプトマップのテンプレートとか。

775774さん:2008/11/12(水) 19:04:55 ID:CENbthlg0
全ての機能を使い込む自信ないなあ。

776774さん:2008/11/12(水) 19:05:57 ID:CENbthlg0
スタンダードコンセプトマップライブラリとか出ないかなあ。
デフォルトで、いくつかのコンセプトが入っているとか、そういうのが良いなあ。

777774さん:2008/11/12(水) 19:10:14 ID:CENbthlg0
コンストラクタの委譲が出来るようになるのだが、多分コンパイラでは派生コンストラクタを呼び出すかどうかの引数をプッシュして行うようなシステムになるのだろう。
つまり、現状でも一つ引数を渡すようになる場合がある(仮想継承)のに更に増えるということか。
まあ使わなければそんな事は一切無いのだけれども。

意味分からない文章でスイマセン。
それとVC++だけけもね。そういう実装をしているのは。

778774さん:2008/11/12(水) 19:30:24 ID:CENbthlg0
typenameはNoDoubleだけれども、int型しか渡せないよ。
-----
struct NoDouble
{
void f(int i);
template<class T> void f(T) = delete;
};

779774さん:2008/11/12(水) 19:34:21 ID:CENbthlg0
標準ライブラリで正規表現を使えるのは美味しいよなあ。

780774さん:2008/11/13(木) 18:40:48 ID:CENbthlg0
うーん。
Sleipnirでタブを400ぐらい開くテスト中なんだけれども、開けば開くほど遅くなる。
Firefoxならばそんなこと無いのに・・・
だから俺はFirefoxにのりかえるかも?

781774さん:2008/11/13(木) 18:45:11 ID:CENbthlg0
Firefoxだと、クライアントの場所でマウスを動かしても6%ぐらいしか使わないけれども、Sleipnirは60%も使う。
フックをしているせいですかね?

782774さん:2008/11/13(木) 18:48:34 ID:CENbthlg0
Sleipnirはタブを開きすぎると消えるよー

783774さん:2008/11/13(木) 19:28:16 ID:CENbthlg0
やっぱりSleipnirは捨てられない。
タブ右クリックからタイトルとURLコピーが無いのは痛すぎる。

784774さん:2008/11/14(金) 01:34:14 ID:CENbthlg0
ゲームプログラミングの一歩として、単純なパズルゲームを作ってみたい。
まずは画像集めから入る。

785774さん:2008/11/14(金) 01:34:31 ID:CENbthlg0
まあ、今日は寝るんだけれども。

786774さん:2008/11/14(金) 01:39:39 ID:CENbthlg0
なんかC++0xのソースコードを考えるだけでwktkする希ガス。
-----
#include <iostream>

[]main() -> int
{
std::cout << "test" << std::endl;
}
-----
これでコンパイルが通るんだよね。まあ、まだ実験できないんだけれども。
他にも
-----
#include <iostream>
#include <string>
[]main(int argc, char **argv) -> int
{
[]show(char *str){std::cout << str << std::cout}
show("test");
}
-----
でもコンパイル通るんだよね。
きもい><

787774さん:2008/11/14(金) 01:45:37 ID:CENbthlg0
ラムダ!ラムダ!ラムダ!ラムダ!
Lispからの拝借ありがとうございます><

auto func = [](int c){return c};
とするとfuncの型は
int (*)(int)
なんだよね。
auto func = [&](int c){return c};
とすると、書き下せなくなるはず。
(void *)でキャストできるようになるかな。
もしかして、
decltype([&](int c){return c}) func = [&](int c){return c};
とかいけるんですか?どうなんですか?

788774さん:2008/11/14(金) 01:46:52 ID:CENbthlg0
>>784
書くならばJavaScript+Canvasになる予定。
つまりIEでは動かない。
GoogleからCanvasのライブラリが出ていたので、それを使えば何とかなるのかもしれない。
だけれども、此れまでの俺の感じから行くと、作らない気がしてならない。
それが俺のクオリティー。

789774さん:2008/11/14(金) 01:49:38 ID:CENbthlg0
>>787
どちらにせよ、このおかげでクロージャとか出来るようになってうまー。
別に[&]だったら、現在のebpとかespをコピーするだけだからそんなに速度の低下も無いだろうし、
[]だったら、今までの関数と何一つ変わらない。
[=]は、とても重たそうです。

[=]で疑問なのは、そのラムダ関数の中で値を変更したら、次にそのラムダ関数を呼んだときにその値が保持されているかということである。
なんか、保持されていない気がするが、まあ、そっちの方が良い場合の方が多い気がするのでそれで良いのです。

790774さん:2008/11/14(金) 01:52:05 ID:CENbthlg0
というか
-----
template<typename T, typename U>
[]Func(T t, U u) -> decltype(t + u)
{
return t + u;
}
-----
とか書くのは二度手間だから、
-----
template<typename T, typename U>
[]Func(T t, U u) -> decltype(t + u)
{
}
-----
だけで、returnに達しない場合はt + uをreturnするようにして欲しい。
何か問題があるんですか?そうですか。知らないけれども。

791774さん:2008/11/14(金) 01:54:47 ID:CENbthlg0
だけれども、別に
-----
template<typename T, typename U>
decltype(t + u) Func(T t, U u){
return t + u;
}
-----
でも今のコンパイラは困らないと思うんだけれども。
どうせ、最初に全ての変数をチェックしてから、上から翻訳するだろうから。
だから、多少戻るのは問題ないと勝手に思っている。

それとtemplateはスタティックライブラリ化できないから、ヘッダとかで持つしかないのが困るなあ。
まあ、それは仕方ないことなんだけれども。
だけれども、HINSTANCEとかvoid *とかで別々の実体を持つのはどうにかならないものか。

792774さん:2008/11/14(金) 01:55:25 ID:CENbthlg0
どうせ、同じポインタ同士なんだから、一括で管理できるでしょ、というお話な訳です。
まあ、CPUによっても違うのだろうが。

793774さん:2008/11/14(金) 18:48:11 ID:CENbthlg0
CSS 3における新しいレイアウト手法:ボックスレイアウト - builder by ZDNet Japan
http://builder.japan.zdnet.com/sp/css-firefox-safari/story/0,3800083423,20383633,00.htm

794774さん:2008/11/14(金) 19:04:19 ID:CENbthlg0
HTMLがぬるぬる動くときもいなwww

795774さん:2008/11/14(金) 19:51:02 ID:CENbthlg0
window.onload = function(){
var canvas = document.getElementById("base");
var width = canvas.width, height = canvas.height;
var c = canvas.getContext("2d");

var size = 10;
var x = size, y = size;
var speed_x = 3, speed_y = 2;

window.setInterval(function(){
c.clearRect(0, 0, width, height);

c.beginPath();
c.rect(0, 0, width, height);
c.stroke();

c.beginPath();
c.arc(x, y, size, 0, Math.PI * 2, false);
c.fill();

x += speed_x; y += speed_y;

if(x - size < 0){
x = size;
speed_x *= -1;
}else if(x + size > width){
x = width - size;
speed_x *= -1;
}
if(y - size < 0){
y = size;
speed_y *= -1;
}else if(y + size > height){
y = height - size;
speed_y *= -1;
}
}, 1);
};

796774さん:2008/11/14(金) 20:10:58 ID:CENbthlg0
オブジェクト指向にしてみた。withも使ってみた。

window.onload = function(){
var canvas = document.getElementById("base");
var width = canvas.width, height = canvas.height;
var c = canvas.getContext("2d");

var ball = function(c, size){
this.size = size;
this.c = c;
this.x = this.y = size;
this.speed_x = this.speed_y = -1;

this.Next = function(){
with(this.c){
beginPath();
arc(this.x, this.y, this.size, 0, Math.PI * 2, false);
fill();
}

this.x += this.speed_x; this.y += this.speed_y;

if(this.x - this.size < 0){
this.x = this.size;
this.speed_x = Math.floor(Math.random() * 16) + 1;
}else if(this.x + this.size > width){
this.x = width - this.size;
this.speed_x = -(Math.floor(Math.random() * 16) + 1);
}
if(this.y - this.size < 0){
this.y = this.size;
this.speed_y = Math.floor(Math.random() * 16) + 1;
}else if(this.y + this.size > height){
this.y = height - this.size;
this.speed_y = -(Math.floor(Math.random() * 16) + 1);
}
};
};

var a = [];
for(var i = 0; i < 10; ++i)
a.push(new ball(c, i));

window.setInterval(function(){
with(c){
clearRect(0, 0, width, height);

beginPath();
rect(0, 0, width, height);
stroke();
}

for(var i = 0; i < a.length; ++i)
a[i].Next();
}, 1);
};

797774さん:2008/11/14(金) 20:43:09 ID:CENbthlg0
>>796を実際に動かしてみるサンプル。
http://mimizu.karou.jp/static/javascript/00001/

798 ◆rCEzuNnL0g:2008/11/14(金) 20:49:07 ID:CENbthlg0
>>797
実は微妙に改変しているのだが、気にしない。

799774さん:2008/11/14(金) 21:03:58 ID:CENbthlg0
取り敢えず、一個のマスで何pixelとるかを考えて、画像を用意して、適当に表示できるようにして、
setIntervalでまわしまくる、と。

ああ、だけれどもそれだといけないか。
まあ、色々と頑張ろう。

800774さん:2008/11/14(金) 21:07:53 ID:CENbthlg0
IEで動かすと、滅茶苦茶CPU時間をとるっていう。
まあ、良いか。
さて、風呂でゆっくり考えるか。
明日の土曜学習の時間もあるし、随分と設計に時間をかけれそうである。

ちなみにパズルゲームとか言ってますが、多分あんまり知らないゲームだと思います。
兄と最近遊んでいて作りたくなっただけなのです。
くねくね動く奴も作るか?

801 ◆rCEzuNnL0g:2008/11/14(金) 21:40:06 ID:CENbthlg0
単純なsetTimeoutにすると62fpsぐらいになってしまう。
さて、どうしよう。

802 ◆rCEzuNnL0g:2008/11/14(金) 21:47:42 ID:CENbthlg0
うーん。
五十個玉を動かしただけで32fpsから40fpsぐらいまで下がってしまう。
やっぱり、少し滑らかじゃないけれども、30fpsで作ったほうが良いな。

803 ◆rCEzuNnL0g:2008/11/14(金) 21:52:15 ID:CENbthlg0
1000個動かしたら8fpsになった。

804 ◆rCEzuNnL0g:2008/11/14(金) 21:59:13 ID:CENbthlg0
10000個動かしたらFxだと0.8fpsぐらい。
Google Chromeだと3.3fps出た。
Google Chromeはえええ

805 ◆rCEzuNnL0g:2008/11/14(金) 22:01:20 ID:CENbthlg0
お。やっぱりGoogleChromeはそれぞれのタブが、別々のプロセスになってるんだな。
早いわけだ。

806774さん:2008/11/14(金) 22:30:24 ID:CENbthlg0
色々実験してたら、Sleipnirのバグを発見した。
document.titleでタイトルを弄くっても上のタブに反映されないって言う。
なんか上の0002を二つ開くと再現する。
もうちょっと簡単なコードに落とせると良いかもしれないが、別にそこまでして調べようとは思わないので、暇があったら調べよう。

というか、なんかタブの再描画自体が行われてないみたいだ。此れは酷いバグwwww

807774さん:2008/11/14(金) 22:31:01 ID:CENbthlg0
http://mimizu.karou.jp/static/javascript/00002/
二つ目。
これからどんどん増えていくよ。多分。

808774さん:2008/11/15(土) 18:24:29 ID:CENbthlg0
循環参照を含むオブジェクトのディープコピー - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20081115/1226739628
-----
面白いけれども、何故循環するオブジェクトを作る?

809774さん:2008/11/15(土) 18:28:53 ID:CENbthlg0
シングルクォートもきちんとエスケープする - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20081113/1226573185

810774さん:2008/11/15(土) 19:17:14 ID:CENbthlg0
std::copy(ar.begin(), ar.end(), std::ostream_iterator(std::cout, "\n"));
---
これはありだな。

811774さん:2008/11/15(土) 19:19:43 ID:CENbthlg0
こう書けば、

for(std::vector<int>::const_iterator it = ar.begin(); it != ar.end(); ++it){
std::cout << *it << "\n";
}
std::cout << std::flush;
とか書かなくて良い!

812774さん:2008/11/15(土) 19:21:40 ID:CENbthlg0
letsboost::array
http://www.kmonos.net/alang/boost/classes/array.html
-----
vectorじゃなくても上見たいのがあるから、良いね!
使ったこと無いが・・・

813774さん:2008/11/15(土) 19:25:38 ID:CENbthlg0
std::copy(ar.begin(), ar.end(), std::ostream_iterator<int>(std::cout, "\n"));
だな・・・

814774さん:2008/11/15(土) 19:26:42 ID:CENbthlg0
#include <iostream>
#include <iterator>
#include <algorithm>
#include <boost/array.hpp>

int main(){
std::ostream_iterator<int> oi(std::cout, "\n");

boost::array<int, 100> a;

for(int i = 0; i < 100; ++i)
a[i] = i;

std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, "\n"));
}

815774さん:2008/11/15(土) 19:32:21 ID:CENbthlg0
iter/ostriter.cpp
http://www.josuttis.com/libbook/iter/ostriter.cpp.html
-----
ということだ。

816774さん:2008/11/15(土) 20:49:31 ID:CENbthlg0
高校生サーバー管理者の考察日誌 - CNET Japan
http://japan.cnet.com/blog/isidai/
-----
前も張ったけれども、やっぱり凄いなあ。
俺の一つ上みたい。

817774さん:2008/11/15(土) 20:53:49 ID:CENbthlg0
Windowsに潜むデフォルト設定の落とし穴(上):ITpro
http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20021129/1/?ST=security

818774さん:2008/11/15(土) 21:11:25 ID:CENbthlg0
FirefoxとSafariのCSS徹底検証:特集 - builder by ZDNet Japan
http://builder.japan.zdnet.com/sp/css-firefox-safari/

819774さん:2008/11/16(日) 09:56:27 ID:CENbthlg0
初回起動は圧倒的にFirefoxよりもSleipnirの方が早い。

820774さん:2008/11/16(日) 13:12:52 ID:CENbthlg0
取り敢えず、Sleipnir頑張れ。
今Minefield使ってる。Lunascape?何それ。

821774さん:2008/11/16(日) 14:30:59 ID:CENbthlg0
上から下にかけて早くなった(in Firefox)。
ballという関数は、半径の指定した大きさの円を描いたcanvasエレメントを返す関数。実装は一番下。
beginPathとfillを最初と最後に行ったほうが遅くなったのは意外。
-----
x++;
for(var i = 0; i < 1000; ++i){
drawImage(ball(7), i * 7 * 2, x);
}
/*
for(var i = 0; i < 1000; ++i){
beginPath();
arc(i * 7 * 2 + 7, x, 7, 0, Math.PI * 2, false);
fill();
}
*/
/*
beginPath();
for(var i = 0; i < 1000; ++i){
arc(i * 7 * 2 + 7, x, 7, 0, Math.PI * 2, false);
}
fill();
*/
------
var ball = function(){
var objs = {};
return function(size){
if(objs[size + ""]) return objs[size + ""];

var ca = objs[size + ""] = d.createElement("canvas");
ca.width = ca.height = size * 2 + "";
var c = ca.getContext("2d");
with(c){
beginPath();
arc(size, size, size, 0, Math.PI * 2, false);
fill();
}
return ca;
};
}();

822774さん:2008/11/16(日) 14:33:17 ID:CENbthlg0
Google Chromeだとあんまり変わらない感じ。

823774さん:2008/11/16(日) 14:35:08 ID:CENbthlg0
Operaだと全部重い感じ。

824774さん:2008/11/16(日) 14:35:56 ID:CENbthlg0
>>821
違うね。下の方が遅かったんだよね。
何書いているんだ、俺・・・

825774さん:2008/11/16(日) 14:37:22 ID:CENbthlg0
まあ、これでdrawImageが随分と軽いことが分かったので、いっぱい使える感じ。
頑張って作るか・・・
だけれども、まだ何もソース書いてない・・・

826774さん:2008/11/16(日) 14:39:11 ID:CENbthlg0
きっと一フレームごとに1000回もdrawImageは使わないと思うから、案外軽いかもしれない。
ちょっと期待。

827774さん:2008/11/16(日) 14:42:00 ID:CENbthlg0
梅田ではたらく社長のblog : iPhone アプリケーションの開発を始めます。
http://blog.excite.co.jp/tabbrowser/8918455/
-----
今頃気づいた。

828774さん:2008/11/16(日) 15:32:32 ID:CENbthlg0
同時消し:6個以上同時に消す
http://www.intsys.co.jp/game/panepon/p03/douji/doji_6.html
-----
>このページはNetscapeでご覧になることを推奨します。
時代を感じるなあ。ネスケはもう開発終了したもんなあ。

829774さん:2008/11/16(日) 16:25:23 ID:CENbthlg0
INTELLIGENT SYSTEMS CO., LTD. ゲームソフト
http://www.intsys.co.jp/company/gamesoft/index.html
-----
結構知ってるソフト作ってる。

830774さん:2008/11/16(日) 16:33:26 ID:CENbthlg0
C++が分かっている人の為のJava講座、とかC#講座とか無いのか。
まあ、組み合わせがありえないくらいになってしまうが。

831774さん:2008/11/16(日) 18:39:33 ID:CENbthlg0
ダックタイピングはいい気もするし、悪い気もする。

832774さん:2008/11/16(日) 18:46:05 ID:CENbthlg0
最近はSleipnir2 portableでRSS購読して
Sleipnir3 alphaで閲覧して、
遅い場合はMinefieldで閲覧している。
結局、俺は拡張なんて必要ないわけだ。

833774さん:2008/11/16(日) 19:36:23 ID:CENbthlg0
取り敢えず簡単なJavaとC#なら読めるようになりました。

834774さん:2008/11/16(日) 20:16:18 ID:CENbthlg0
やっぱり、パイプという観念が分からない。
というか、もうパイプというのをCの標準で取り入れて貰ったほうがいい気がする。

835774さん:2008/11/16(日) 20:18:03 ID:CENbthlg0
8-2. プロセス間通信とバックドア
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_02_main.html
-----
こういうの良い。

836774さん:2008/11/16(日) 20:18:47 ID:CENbthlg0
IPA ISEC セキュア・プログラミング講座
http://www.ipa.go.jp/security/awareness/vendor/programming/intro.html
----
IPAだから吹いたww

837774さん:2008/11/16(日) 20:29:22 ID:CENbthlg0
8-1. Windowsパス名の落とし穴
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_01.html
-----
やっぱり、なんかセキュリティー系の講習会は行ったほうがいいかもしれない。
滅茶苦茶重要だわ。
後で読む。
あとでよむ的なタグでも・・・


新着レスの表示


名前: E-mail(省略可)

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

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

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

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