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

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

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

1247774さん:2009/01/12(月) 23:28:48 ID:fHt2HuPQ0
親ついてくんなwwwwwwwwwwwwwwww

1248774さん:2009/01/14(水) 21:56:18 ID:fHt2HuPQ0
JavaScriptファイルやCSSファイルを圧縮して高速化する「YUI Compressor Online」 - GIGAZINE
http://gigazine.net/index.php?/news/comments/20080113_yui_compressor_online/

1249774さん:2009/01/14(水) 23:40:00 ID:fHt2HuPQ0
どうしてこうも回線は安定しないかねえ・・・

1250774さん:2009/01/14(水) 23:56:12 ID:fHt2HuPQ0
PD最近更新無いんだよな。
クラック版が出てしまったからなのかな?
だけれども、あの修正ぐらいは楽勝で出来ると思うんだが。
ただ単に適当にメモリを動的に取得して、ポインタで管理するようにして、読み書きするときはなんか適当にXORとってやればいいじゃん。
で、取得するたびに場所を変えてみたりとかして、色々とやってやれば、すぐに攪乱できると思うのだが・・・
まあ、それくらい今のパソコンの処理の量に比べたら全然だと思う。

1251774さん:2009/01/15(木) 19:09:54 ID:fHt2HuPQ0
今更ながら、データベースの本質はJOINにあると思った。

1252774さん:2009/01/15(木) 20:14:51 ID:fHt2HuPQ0
そしてサブクエリも重要であると思った。

1253774さん:2009/01/15(木) 20:46:08 ID:fHt2HuPQ0
サブクエリ使えば色々と出来そうだな。
特にSETの部分で使えば・・・ゴクリ

1254774さん:2009/01/16(金) 21:34:23 ID:fHt2HuPQ0
今日は以前受けた衝撃と同じぐらいの衝撃を受けた。
まあ、それは後から張ることにしよう。

ブラウザ間の差異を気にせず、自由自在にレイアウトできるようになるjQueryのプラグイン『jQuery UI.Layout Plug-in』 - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜
http://www.ideaxidea.com/archives/2009/01/jquery_ui_layout_plugin.html
JavaScript版スーパーマリオブラザーズがすごすぎ :教えて君.net
http://www.oshiete-kun.net/archives/2009/01/javascript.html
スタイル - 素人がプログラミングを勉強するブログ
http://d.hatena.ne.jp/javascripter/20090116/1232092269
エクセルシートをHTMLテーブルに変換しちゃう君 (ββ)
http://styleme.jp/tool/xls2html/
Amazon.co.jp: エッセンシャル WPF:Windows Presentation Foundation (Programmer’s SLECTION―Microsoft .net Development Series): Chris Anderson, 星 睦: 本
http://www.amazon.co.jp/exec/obidos/ASIN/4798114200/
Amazon.co.jp: いまどきのプログラム言語の作り方: randy: 本
http://www.amazon.co.jp/dp/4839919232

1255774さん:2009/01/16(金) 21:40:26 ID:fHt2HuPQ0
では本題。
今日は、以前Lispのようなインタプリタを作っている中学二年生か忘れたが、そんな人がいることにかなりの衝撃を受けたのであるが、また、それと同じ衝撃である。
ただ、今度は同じ学年の人である。
-----
プログラミング言語Cyan
http://www.geocities.jp/takt0_h/cyan/index.html
takuto_hの日記
http://d.hatena.ne.jp/takuto_h/
Cyanを設計した高校生、5カ月で5つの言語を習得 − @IT自分戦略研究所
http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/03/01.html
-----
とてつもなく凄い。やはり開成高校は伊達じゃない(関係ないか)。
最近はインタプリタを書くことが格好いいのだろうか。
やはり、ちゃんとプログラミング言語は沢山触れなければいけないようである。
やっぱり、一度コンパイラとかリンカとかそういうことを勉強しなければいけないなと思う。
だから、定額給付金が出たら、幾らかは本に注ぎ込む予定。
麻生さんありがとう(結局何が言いたいのか分かりません><)。

1256774さん:2009/01/16(金) 21:46:00 ID:fHt2HuPQ0
>>1255の人が参考にしたと言う資料一覧
Amazon.co.jp: いまどきのプログラム言語の作り方: randy: 本
http://www.amazon.co.jp/dp/4839919232
Singletonのサブクラス化
http://www.hyuki.com/techinfo/singleton.html
callcc と coroutine と semi-coroutine - まめめも
http://d.hatena.ne.jp/ku-ma-me/20070807/p1
Wiki っぽい場(あるいは 疑似脳内ネットワーク)
http://sumim.no-ip.com:8080/wiki

1257774さん:2009/01/16(金) 22:22:43 ID:fHt2HuPQ0
Cyanの文法おもすれえええええ

1258774さん:2009/01/16(金) 22:40:20 ID:fHt2HuPQ0
同じ学年って、同じ年度に生まれただけなんだからね><

1259774さん:2009/01/16(金) 23:07:41 ID:fHt2HuPQ0
JOI2007本選 問題4@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090116/1232112087
-----
要検討。
トポロジカルソート。

1260774さん:2009/01/16(金) 23:21:37 ID:fHt2HuPQ0
Headline-Readerは使いやすいのだが、にきいいいいいいいいいいいいいいいいいいい

1261774さん:2009/01/17(土) 18:56:48 ID:fHt2HuPQ0
ASP.NET AJAXを使って簡単なWebサービスを実装する方法 - Qu記(仮)
http://d.hatena.ne.jp/quolc/20090116/1232117245

1262774さん:2009/01/17(土) 19:24:46 ID:fHt2HuPQ0
ネット上の児童ポルノを強制的に遮断 総務省が新対策「ブロッキング」の導入検討:アルファルファモザイク
http://alfalfa.livedoor.biz/archives/51420009.html
-----
どうやってけんしゅつするんですか?

1263774さん:2009/01/17(土) 19:25:22 ID:fHt2HuPQ0
JavaScriptでかんたんAIRアプリに挑戦 - ぼくはまちちゃん!(Hatena)
http://d.hatena.ne.jp/Hamachiya2/20090116/air
-----
備忘録
-----
サンクリ申込者(漫画・原画・歌手)名簿・スタッフ名簿が流出 まとめwiki - トップページ
http://www24.atwiki.jp/suncre/
-----
つこうた!

1264774さん:2009/01/17(土) 19:26:32 ID:fHt2HuPQ0
Headline - [Programming][ASP.NET][Ajax]ASP.NET AJAXを使って簡単なWebサービスを実装する方法
file:///H:/Add_Soft/PortableSleipnir/settings/All%20Users/headlinereader/temp/hdesc26.html

1265774さん:2009/01/17(土) 19:26:53 ID:fHt2HuPQ0
ASP.NET AJAXを使って簡単なWebサービスを実装する方法 - Qu記(仮)
http://d.hatena.ne.jp/quolc/20090116/1232117245
-----
こっちだ

1266774さん:2009/01/17(土) 21:20:32 ID:fHt2HuPQ0
MSXML2.ServerXMLHTTPはHTTPリクエストの結構高レベルなAPIなのだけれども、任意のデータを送れない。
今はスクリプトでPOP3クライアント、若しくはIMAPクライアントを作りたいので、もっと低レベルなAPIが欲しいところだ。
もしかしてMSXML2以下にはそのようなものが有るのかもしれないが、そんなこと知ったこった無い。
どのようにデータを収集すればいいのだろうか・・・

1267774さん:2009/01/17(土) 21:25:26 ID:fHt2HuPQ0
XMLHttpRequest を作成する (mixi 日記アーカイブ)
http://loafer.jp/mixi/diary/class.xsp?2006-07-20-22-26
---
MSXML は XMLHttpRequest の実装を 2 種類用意している。
それは、「XMLHTTP」と「ServerXMLHTTP」だ。

XMLHTTP は、WinInet と呼ばれる、
従来から長く使われている API を基盤とした実装だ。
WinInet はキャッシュや Cookie の管理機能も提供するので、
Internet Explorer などをはじめとする、
数多くのプログラムは WinInet を利用している。

問題は、WinInet を使うプログラムが、
キャッシュや Cookie を共有していることだ。

XMLHTTP を使って自動化プログラムを作成した場合、
利用者が意図しないところで、
Cookie や履歴の情報を使用してしまう危険があるし、
逆に自動化プログラムがアクセスした情報が、
利用者の履歴として残ってしまう問題もある。
(まあ、ある程度は制御できるのだが)

ServerXMLHTTP は、比較的新しい
WinHTTP と呼ばれる API を基盤とする実装だ。
WinHTTP は、当初はサーバ間の HTTP 通信のために作成され、
WinInet よりもセキュリティ面で安全なように、
Cookie やキャッシュなどの情報は一切共有しない。
-----
ここまで引用。
面白い。面白い。

1268774さん:2009/01/17(土) 22:48:16 ID:fHt2HuPQ0
The raw socket in program on the JScript (VBScript)
http://www.board74.ru/gui_for_script/dialog/socket.html
-----
これを見つけたんだけれども、TCPIPってどこで定義されているんだ?

1269774さん:2009/01/18(日) 20:59:30 ID:fHt2HuPQ0
SytleEdior然り、Cyclone然り、読み込みが終わって、レンダリングが終わった後に処理を行っているのが気になる。
出来るならば、プロクソミトロンみたいに、処理を仲介してもらった方が良い。
文字列の処理の方がレンダリングの時間に比べたら短いと思うからである。
出来ないならば、プロクソミトロンの代替にはならない。間違いない。
この際、Sleipnirにプロクソミトロンを取り入れるようなプラグインを使った方が移行が楽な気もする。
ニコ厨を引き寄せる材料にもなるかもしれない。
その設定の一覧とかを出力して簡単にウェブ上から取り入れられるようにすればなおよい。

1270774さん:2009/01/18(日) 21:05:59 ID:fHt2HuPQ0
全くの未確認情報によれば、
-----
809 :名無し~3.EXE:2009/01/18(日) 17:11:19 ID:apRdm+V/
>>802
いまSDKのクローズドテストやってる。
今月末に2.9と合わせて公開予定だそうだ。
かなり充実した出来になっているので、プラグイン作りたい人は期待していいかも。
---
Sleipnir Part215
http://pc11.2ch.net/test/read.cgi/win/1231176311/809n
-----
とのことなので、ちょっと期待。
だが、入試勉強を加速しなければいけない。
ついに三百六十五日を切った。
後、三百六十四日か?

1271774さん:2009/01/18(日) 22:00:43 ID:fHt2HuPQ0
Web屋のためのVim設定・Tipsまとめ 1/2 - ナレッジエース
http://blog.blueblack.net/item_340

1272774さん:2009/01/18(日) 22:03:09 ID:fHt2HuPQ0
vim の text-object をより便利に使えるプラグイン - surround.vim - 川o・-・)<2nd life
http://d.hatena.ne.jp/secondlife/20061225/1167032528
-----
vimつえええええええええええええええええええええええ

1273774さん:2009/01/18(日) 22:10:20 ID:fHt2HuPQ0
JOI2007本選 問題1@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090118/1232272717
JOI2007本選 問題5@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090118/1232271387
-----
5より4の方が難しいと思うのは僕だけですか?
1の発想は浮かばなかったorz

1274774さん:2009/01/18(日) 22:11:26 ID:fHt2HuPQ0
JOI2007本選 問題1@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090118/1232272717
JOI2007本選 問題2@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090115/1232014913
JOI2007本選 問題3@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090115/1232020162
JOI2007本選 問題4@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090116/1232112087
JOI2007本選 問題5@C++ - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090118/1232271387
-----
まとめ。

1275774さん:2009/01/19(月) 19:49:14 ID:fHt2HuPQ0
IPA職員に停職3カ月の懲戒処分 「Winny」「Share」情報流出で - ITmedia News
http://www.itmedia.co.jp/news/articles/0901/19/news085.html
-----
軽い、軽すぎる。

1276774さん:2009/01/19(月) 23:22:47 ID:fHt2HuPQ0
同年代の凄い人々 - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090119/1232369410

1277774さん:2009/01/19(月) 23:48:14 ID:fHt2HuPQ0
glutにはThreadの関数が無い。
何故だ。
Mutexとか用意しなければならないからか。

1278774さん:2009/01/20(火) 20:41:28 ID:fHt2HuPQ0
フィボナッチ数列に関する3つのアルゴリズムの速度比較@Ruby - 簡潔で覚えやすいタイトルを3秒で思いつく程度の能力
http://d.hatena.ne.jp/qnighy/20090120/1232446370
----
リアルにlog(n)で解ける理由分からなくて、俺涙目w

1279774さん:2009/01/20(火) 20:42:52 ID:fHt2HuPQ0
Matrixのコードを読めばいいか。

1280774さん:2009/01/20(火) 20:44:40 ID:fHt2HuPQ0
発見。
-----
def ** (other)
if other.kind_of?(Integer)
x = self
if other <= 0
x = self.inverse
return Matrix.identity(self.column_size) if other == 0
other = -other
end
z = x
n = other - 1
while n != 0
while (div, mod = n.divmod(2)
mod == 0)
x = x * x
n = div
end
z *= x
n -= 1
end
z
elsif other.kind_of?(Float) || defined?(Rational) && other.kind_of?(Rational)
Matrix.Raise ErrOperationNotDefined, "**"
else
Matrix.Raise ErrOperationNotDefined, "**"
end
end

1281774さん:2009/01/20(火) 20:50:57 ID:fHt2HuPQ0
ああ!
思い出した。
2でどんどんと割っていけば良いじゃん!(分かる人にしか分からない。)

1282774さん:2009/01/20(火) 20:52:57 ID:fHt2HuPQ0
2^23 = (2 ^ (2 * 2 * 2 * 2)) * (2 ^ (2 * 2)) * (2 ^ 2) * 2

こんな感じか。

1283774さん:2009/01/20(火) 20:55:24 ID:fHt2HuPQ0
つまり、2の四乗を計算するんだったら、2を四回そのままかけるんじゃなくて、2の二乗を二乗した方が計算が少なくて済むね!っていうこと。

メモリを食わないようにするんだったら、結構時間かかる気がする。
そんなこと無いか?

どちらにせよ、一度二進法に展開してごにょごにょ。

1284774さん:2009/01/20(火) 22:09:09 ID:fHt2HuPQ0
こうか。こうか。
汎用的な1の作り方が分からないって言う。
だから、s / sにしてやった。
まあこれなら0^0とかやったらあぼーんするので妥当か。
-----
template<typename T>
T pow(const T &s, unsigned int o){
if(o == 0){
return s / s;
}else if(o == 1){
return s;
}

T b = s, r = s / s;

while(o){
if(o & 0x00000001){
r *= b;
}
b *= b;
o /= 2;
}

return r;
}

1285774さん:2009/01/20(火) 22:12:13 ID:fHt2HuPQ0
0.0 / 0.0 はエラーにならないね。
まあ精度の問題もあるしね。

1286774さん:2009/01/21(水) 16:34:38 ID:fHt2HuPQ0
Eclipse 3.4プラグインのインストール/設定方法 〜Eclipse 3.4入門〜 :CodeZine
http://codezine.jp/article/detail/3446

1287774さん:2009/01/21(水) 16:36:19 ID:fHt2HuPQ0
>>1285
エラーにならないというのは、例外にならないということです。

1288774さん:2009/01/21(水) 18:09:19 ID:fHt2HuPQ0
CreateAcceleratorTable 関数
http://msdn.microsoft.com/ja-jp/library/cc410683.aspx
-----
アクセラレータは動的に生成できるようだ。
リソースは全て動的に生成できるみたいだなあ。
まあ、リソースがどのように管理されているかは知らないのだが。

1289774さん:2009/01/21(水) 18:10:30 ID:fHt2HuPQ0
typedef struct tagACCEL {
#ifndef _MAC
BYTE fVirt; /* Also called the flags field */
WORD key;
WORD cmd;
#else
WORD fVirt; /* Also called the flags field */
WORD key;
DWORD cmd;
#endif
} ACCEL, *LPACCEL;

1290774さん:2009/01/21(水) 18:10:55 ID:fHt2HuPQ0
typedef struct tagPAINTSTRUCT {
HDC hdc;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL fIncUpdate;
BYTE rgbReserved[32];
} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;

1291774さん:2009/01/21(水) 18:33:59 ID:fHt2HuPQ0
CopyAcceleratorTable 関数
http://msdn.microsoft.com/ja-jp/library/cc410676.aspx
-----
HACCELからACCEL構造体への変換。エントリの数を調べることも可。

1292774さん:2009/01/21(水) 18:38:46 ID:fHt2HuPQ0
GetDoubleClickTime 関数
http://msdn.microsoft.com/ja-jp/library/cc364628.aspx

1293774さん:2009/01/21(水) 18:54:16 ID:fHt2HuPQ0
TTBase - 単体では 常駐するだけのソフト
http://ttbase.sourceforge.jp/
-----
TTBASEとか言うソフトが有るんだ。
俺がいたずら用に作ったようなソフトと一緒だなw
発想のレベルが低いと言うことか。

1294774さん:2009/01/21(水) 20:38:14 ID:fHt2HuPQ0
Subversionの基礎練習
http://www.hyuki.com/techinfo/svninit.html
-----
遊びたい。

1295774さん:2009/01/21(水) 21:00:32 ID:fHt2HuPQ0
C:.
│ format
│ README.txt

├─conf
│ authz
│ passwd
│ svnserve.conf

├─db
│ │ current
│ │ format
│ │ fs-type
│ │ txn-current
│ │ txn-current-lock
│ │ uuid
│ │ write-lock
│ │
│ ├─revprops
│ │ └─0
│ │ 0
│ │
│ ├─revs
│ │ └─0
│ │ 0
│ │
│ ├─transactions
│ └─txn-protorevs
├─hooks
│ post-commit.tmpl
│ post-lock.tmpl
│ post-revprop-change.tmpl
│ post-unlock.tmpl
│ pre-commit.tmpl
│ pre-lock.tmpl
│ pre-revprop-change.tmpl
│ pre-unlock.tmpl
│ start-commit.tmpl

└─locks
db-logs.lock
db.lock

1296774さん:2009/01/21(水) 21:17:43 ID:fHt2HuPQ0
取り敢えず、書いてあることは一通りやってみた。
面白い。
svn checkout URI
だけ使えれば、十分実用には耐えられる。

1297774さん:2009/01/21(水) 21:25:51 ID:fHt2HuPQ0
svn checkout URI DirectoryName
でURIの内容をDirectoryNameに貰ってくる。一番最初にやる。

svn update
で更新された内容を貰ってくる。作業前にはやった方が良い。

svn commit -m "comment"
更新した内容を送信する。
これくらい?

svn mkdir directoryname
でsvnの管理に追加しながらフォルダを作成。
ファイルを追加する方法が有るかもしれないが分からない。

svn status
ワークコピーとサーバーを比べてコミットしてないファイルが有るかとか、svnで管理していないファイルが無いかとかそういうのを出力してくれる。

svn add filename
svnの管理下にfilenameを置く。

-----
俺の感覚的にはこんな感じ。

1298774さん:2009/01/22(木) 20:55:20 ID:fHt2HuPQ0
http://extensions.tabbrowser.jp/plugins/files/spec100/UserActionExtension.si
-----
AddFolderがおかしい。

1299774さん:2009/01/24(土) 20:06:52 ID:fHt2HuPQ0
漸く情報オリンピックから資料が送られてきた。
音沙汰無いのは怖すぎる。

1300774さん:2009/01/24(土) 21:32:12 ID:fHt2HuPQ0
これからC++でlog用の関数を作るときは、
-----
void log(std::function<void (void)> func){
#define DEBUG
func();
#ifdef
}
-----
とすれば良いんですね。分かります。
-----
void log(std::std::reference_closure<void (void)> func){
//同様
}
-----
の方が最適化されやすいか?
実際に試してみないと分からんな。

1301774さん:2009/01/24(土) 21:36:03 ID:fHt2HuPQ0
呼び出す時は、
-----
log([](){
return "やらないか?";
});
-----
みたいに?
じゃあ、void (void)
じゃなくて、
std::string (void)
だわ。

1302774さん:2009/01/24(土) 21:40:48 ID:fHt2HuPQ0
これならば、文字列の生成が、Release版の時に行われなくなっておいしい。
まあこの例だと全く良いところが無いのだが。
でも文字列生成ならば普通にprintf使えばよくね?

std::string (void)
じゃなくて
std::string && (void)
の方が良いですね。はい。

1303774さん:2009/01/24(土) 22:56:01 ID:fHt2HuPQ0
俺は正確なtemplateの仕様を理解してなかったようだ。

C++ Labyrinth
http://www.fides.dti.ne.jp/~oka-t/cpp-labyrinth.html

1304774さん:2009/01/24(土) 23:34:35 ID:fHt2HuPQ0
うーん。
ゲームとか作るんだったら、プログラミング言語(インタプリタ)を書けないといけないのかな?
そっちの方が拡張が楽なようだが。
だけれども、毎回文字列を解析していたら時間がかかるし、ILを使うのもやっぱり重くなりそうだ。

C/C++と同じぐらいの速度が出て簡単にプログラムが書けるようなものが有ったらとても嬉しいのだが。

1305774さん:2009/01/25(日) 14:10:14 ID:fHt2HuPQ0
プロジェクトを実行しようとしているときにエラーが発生しました。デバックを開始できません。 結合ハンドルが無効です。
http://blogs.wankuma.com/trapemiya/archive/2005/12/19/20096.aspx
-----
これでC#がデバッグできるようになった。
全然出来なくてC#を敬遠していたがこれで開発が出来るようになるだろう。きっと。

1306774さん:2009/01/25(日) 17:04:11 ID:fHt2HuPQ0
glutでシューティングゲームは作れるのだろうか。
無理か?
いや可能だろう。
だが、60fpsに合わせる方法が分からない。
出来ることならばタイマーは使いたくないのだが・・・
無理か。

1307774さん:2009/01/25(日) 17:08:11 ID:fHt2HuPQ0
今思えば、C++0xではthreadが使えるじゃん。
だけれどもSleepはなしですか?

1308774さん:2009/01/25(日) 17:13:10 ID:fHt2HuPQ0
あった。あった。

std::this_thread::sleep_for(std::chrono::milliseconds(10));

タイプ量大杉だろwwwwww

1309774さん:2009/01/25(日) 17:20:13 ID:fHt2HuPQ0
言語仕様にもっと高性能タイマーが有ると便利なのだがなあ。

1310774さん:2009/01/25(日) 17:34:19 ID:fHt2HuPQ0
くわあああああああああああああああああああああああああああああああああ
なんだかバージョン管理ソフトが無性に利用したくなって、物凄くVisualStudioが見劣りするぜ!
viは俺的に使いづらいので、Emacsでも使ってみるか?
Windows版有るのか?

1311774さん:2009/01/25(日) 17:35:53 ID:fHt2HuPQ0
くわああああああああああああああああああああ
普通のフリーソフトみたいに落とさせろ!
そっちのバージョン管理とかコンパイルとかやりたくねええええええええええええええんだよ!!!!

1312774さん:2009/01/25(日) 17:38:47 ID:fHt2HuPQ0
VC++からコマンドプロンプトが直接利用できないのがいけないんだよ!
もっと低レベルにしろ、こんにゃろう。

1313774さん:2009/01/25(日) 17:46:18 ID:fHt2HuPQ0
暫くの間は、VC++からおさらばしよう。

1314774さん:2009/01/25(日) 17:52:58 ID:fHt2HuPQ0
>>1308
間違いなく
void thread_sleep(unsigned int time){
std::this_thread::sleep_for(std::chrono::milliseconds(time));
}
という関数を皆が書くだろう。

1315774さん:2009/01/25(日) 17:55:44 ID:fHt2HuPQ0
あるzipを解凍していて、残り20時間とか出ると萎えるわ・・・

1316774さん:2009/01/25(日) 18:10:23 ID:fHt2HuPQ0
と思ったら、普通に十分ぐらいで解凍できたって言う

1317774さん:2009/01/25(日) 18:15:28 ID:fHt2HuPQ0
emacsを使う計画が、Eclipseに転がり込んでいる件について。

1318774さん:2009/01/25(日) 18:19:12 ID:fHt2HuPQ0
便利になったものだ。

1319774さん:2009/01/25(日) 19:59:08 ID:fHt2HuPQ0
漸くEclipseでコンパイルからデバッグに持って行けるようになった。
かなり時間かかった。
いやはや・・・

1320774さん:2009/01/25(日) 20:07:49 ID:fHt2HuPQ0
Eclipse重すぎる。
ポータブルハードディスクに入れているためか。

1321774さん:2009/01/25(日) 20:15:55 ID:fHt2HuPQ0
これで、本戦のうちの一つの環境を手に入れることを出来たぜ。

1322774さん:2009/01/25(日) 23:50:04 ID:fHt2HuPQ0
逆汗したのをC++ソースに落とした。
-----
bool ExpendSar(FILE *fp, int *p/*?*/){
//2112bytes Allocation
FILE *l4 = 0;
void *l3 = 0;
BYTE l1_3 = 0;

wchar_t l528[260];
GetTempPathW(260, l528);

char l398[1024];
if(!fgets(l398, 1024, fp)) return false;

//ebx == 1

for(;;){
if(!strspn(l398, "CheckSum=")){
int l2 = atol(l398);

wchar_t l142[260/*正確には不明*/];
wsprintfW(l142, L"%s/Sleipnir_Sar_Temp_%08d", l528, *p);

if(FMisc::IsWinNT()){
if(!FMisc::IsFileExist(l142)){
SECURITY_ATTRIBUTES sa;
memset(&sa, 0, sizeof(sa));

SECURITY_DESCRIPTOR sd;

InitializeSecurityDescriptor(&sd, 1);
SetSecurityDescriptorDacl(&sd, 1, 0, 1);

DWORD l5 = 0;

HANDLE hFile = CreateFileW(
l142,
GENERIC_WRITE | GENERIC_ALL,
FILE_SHARE_READ | FILE_SHARE_WRITE,
&sa,
CREATE_ALWAYS,
FILE_ATTRIBUTE_ARCHIVE,
NULL
);

FlushFileBuffers(hFile);
CloseHandle(hFile);
}
}

FILE *l4 = _wfopen(l142, L"wb");
if(!cfp){
if(l3) free(l3);

return false;
}

l3 = malloc(l2);

if(!l3){
if(l4) fclose(l4);
if(l3) free(l3);

return false;
}

if(fread(l3, 1, l2, fp) != l2){
if(l4) fclose(l4);
if(l3) free(l3);

return false;
}

if(fwrite(l3, 1, l2, l4) != l2){
if(l4) fclose(l4);
if(l3) free(l3);

return false;
}

free(l3);
fclose(l4);

if(fread(l398, 1, 1, fp) != 1){
if(l4) fclose(l4);
if(l3) free(l3);

return false;
}

l1_3 += l2; //MOV AL,BYTE PTR SS:[LOCAL.2]
//ADD BYTE PTR SS:[LOCAL.1+3],AL
++(*p);

if(!fgets(l398, 1024, fp)){
if(l4) fclose(l4);
if(l3) free(l3);

return false;
}

}else{
if(l1_3 != atol(l398 + 9)){
if(l4) fclose(l4);
if(l3) free(l3);

return false;
}else{
return true;
}
}
}
}

1323774さん:2009/01/26(月) 19:54:24 ID:fHt2HuPQ0
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <cctype>
#include <climits>

#include <windows.h>

int main(int argc, char **argv){
FILE *in = std::fopen("input.sar", "rb");
if(!in) return -1;

try{
unsigned char checksum = 0;

for(;;){
int c = std::fgetc(in);
if(c == EOF){
throw std::exception("fgetcがEOFを返した");
}
if(std::isdigit(c)){
//atol的な何か。
unsigned int size = 0;
do{
if(UINT_MAX / 10 - (c - '0') < size){
throw std::exception("オーバーフロー");
}
size = size * 10 + (c - '0');
c = std::fgetc(in);
if(c == EOF){
throw std::exception("fgetcがEOFを返した");
}
}while(std::isdigit(c));

checksum += size;

if(c != 0x0A){
throw std::exception("sar形式のファイルでない");
}

std::fpos_t fpos;
if(std::fgetpos(in, &fpos) != 0){
throw std::exception("fgetpos() Error");
}
fpos += size;
if(std::fsetpos(in, &fpos) != 0){
throw std::exception("fsetpos() Error");
}

c = std::fgetc(in);

if(c != 0x0A){
throw std::exception("sar形式のファイルでない");
}
}else{
if(c == 'C'){
char cs[8];
std::fread(cs, 1, 8, in);
if(std::memcmp(cs, "heckSum=", 8) == 0){
unsigned char f_cs = 0;
for(;;){
c = std::fgetc(in);
if(c == EOF){
throw std::exception("fgetsがEOFを返した");
}
if(!std::isdigit(c)){
break;
}
if(UCHAR_MAX / 10 - (c - '0') < f_cs){
throw std::exception("オーバーフロー");
}
f_cs = f_cs * 10 + (c - '0');
}
if(c != 0x0A){
throw std::exception("sar形式のファイルでない");
}

//最後に実行される

if(checksum == f_cs){
std::cout << "OK!" << std::endl;
}else{
std::cout << "NG!" << std::endl;
}

break;
}else{
throw std::exception("sar形式のファイルでない");
}
}else{
throw std::exception("sar形式のファイルでない");
}
}
}
}catch(std::exception &e){
std::cerr << e.what() << std::endl;
std::fclose(in);
return -2;
}
}

1324774さん:2009/01/27(火) 19:46:12 ID:fHt2HuPQ0
Emacs初心者向け記事へのリンク集 - ’(rubikitch wanna be (a . lisper))
http://d.hatena.ne.jp/rubikitch/20090127/emacsnewbies

1325774さん:2009/01/27(火) 20:44:56 ID:fHt2HuPQ0
さっき初めてC言語にバイナリサーチの関数が有ることを知った。

1326774さん:2009/01/27(火) 23:04:59 ID:fHt2HuPQ0
書いたけれども、意味がない
-----
#include <windows.h>
#include <map>
#include <vector>
#include <algorithm>
#include <boost/utility.hpp>

class SolidBrushManager : boost::noncopyable{
private:
std::map<COLORREF, HBRUSH> buff;

~SolidBrushManager(){
std::map<COLORREF, HBRUSH>::iterator it = buff.begin();
for(; it != buff.end(); ++it){
DeleteObject((*it).second);
}
}

public:
static
SolidBrushManager &
GetInstance(){
static SolidBrushManager sbm;
return sbm;
}

HBRUSH
GetBrush(BYTE r, BYTE g, BYTE b){
COLORREF color = RGB(r, g, b);

std::map<COLORREF, HBRUSH>::iterator it = buff.find(color);
if(it != buff.end()){
return (*it).second;
}

HBRUSH hBrush = CreateSolidBrush(color);
if(hBrush){
buff.insert(std::make_pair(color, hBrush));
}
return hBrush;
}
};

1327774さん:2009/01/27(火) 23:11:14 ID:fHt2HuPQ0
暫くの間、プログラミングはやめよう。

1328774さん:2009/01/28(水) 18:49:36 ID:fHt2HuPQ0
【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/articles/2009/01/27/perftools/index.html

1329774さん:2009/01/28(水) 21:13:22 ID:fHt2HuPQ0
新しいgccを入れたので、以前のバージョンのgccでコンパイルするには、
-----
gcc -V 3.4.5 -b mingw32
-----
とする必要がある。

1330774さん:2009/01/28(水) 21:16:06 ID:fHt2HuPQ0
何故これのコンパイルが通らないのかが、今の僕には理解できない。
-----
C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc5rATQY.o:test.cpp:(.text+0x19): undefined refe
rence to `std::cout'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc5rATQY.o:test.cpp:(.text+0x1e): undefined refe
rence to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <st
d::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char
const*)'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc5rATQY.o:test.cpp:(.text+0x26): undefined refe
rence to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std
::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc5rATQY.o:test.cpp:(.text+0x2e): undefined refe
rence to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc5rATQY.o:test.cpp:(.text+0x47): undefined refe
rence to `std::ios_base::Init::~Init()'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc5rATQY.o:test.cpp:(.text+0x6a): undefined refe
rence to `std::ios_base::Init::Init()'
collect2: ld returned 1 exit status

1331774さん:2009/01/28(水) 21:49:32 ID:fHt2HuPQ0
-lstdc++
をつけるか、
g++
でコンパイルすれば良いみたい。

1332774さん:2009/01/28(水) 21:54:44 ID:fHt2HuPQ0
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Owner>cd "C:\Documents and Settings\Owner\デスクトップ
\"

C:\Documents and Settings\Owner\デスクトップ>gcc
gcc: no input files

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0xd): undefined refer
ence to `std::string::size() const'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x60): undefined refe
rence to `std::string::operator[](unsigned int) const'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x9e): undefined refe
rence to `std::string::operator[](unsigned int) const'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0xcc): undefined refe
rence to `std::string::operator[](unsigned int) const'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x133): undefined ref
erence to `std::cout'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x138): undefined ref
erence to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <s
td::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char
const*)'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x140): undefined ref
erence to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, st
d::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x148): undefined ref
erence to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x171): undefined ref
erence to `std::ios_base::Init::Init()'
C:\DOCUME~1\Owner\LOCALS~1\Temp/cc1A8umX.o:test.cpp:(.text+0x18c): undefined ref
erence to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp libstdc++
gcc: libstdc++: No such file or directory

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp libstdc++
gcc: libstdc++: No such file or directory

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp -llibstdc+
+
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -llibstdc++
collect2: ld returned 1 exit status

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp -lstdc++

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp -lstdc++
test.cpp: In function `int main(int, char**)':
test.cpp:8: error: no matching function for call to `getline(std::istream&, std:
:string)'
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_s
tring.h:2362: note: candidates are: std::basic_istream<_CharT, _Traits>& std::ge
tline(std::basic_istream<_CharT, _Traits>&, std::basic_string<_CharT, _Traits, _
Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::al
locator<char>]

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp -lstdc++

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe test.cpp -lstdc++

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe -O3 test.cpp -lstdc
++

C:\Documents and Settings\Owner\デスクトップ>gcc -o test.exe -O3 -Wall test.cpp
-lstdc++

C:\Documents and Settings\Owner\デスクトップ>

1333774さん:2009/01/28(水) 21:55:17 ID:fHt2HuPQ0
C:\Documents and Settings\Owner\デスクトップ>type test.cpp
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char **argv){
cout << "test" << endl;
string str;
getline(cin, str);
}

1334774さん:2009/01/28(水) 21:59:27 ID:fHt2HuPQ0
別に全てをCUIでやる必要なんて無くて、CUIの方が早くできることをCUIでやればいいのだ。
微妙に違う適材適所と言うことだ。適地適作。

1335774さん:2009/01/28(水) 22:30:38 ID:fHt2HuPQ0
gcc -o test.exe -O3 -Wall test.cpp -lstdc++
-----
-lは後ろに付けたものをリンクするようである。
C++をgccでコンパイルするには必要。
g++では不要。

1336774さん:2009/01/28(水) 22:37:26 ID:fHt2HuPQ0
恐らく、g++は-lstdc++とかを付けて呼び出しているだけだ。
と某所に書かれていた。
ああ、emacs使いたい・・・

1337774さん:2009/01/28(水) 23:25:38 ID:fHt2HuPQ0
emacs使いにくい。
vimを少しでも触ったためか・・・

1338774さん:2009/01/29(木) 18:35:57 ID:fHt2HuPQ0
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <cctype>
#include <climits>

#include <windows.h>

int main(int argc, char **argv){
FILE *in = std::fopen("input.sar", "rb");
if(!in) return -1;

try{
unsigned char checksum = 0;

for(;;){
int c = std::fgetc(in);
if(c == EOF){
throw std::exception("fgetcがEOFを返した");
}
if(std::isdigit(c)){
//atol的な何か。
unsigned int size = 0;
do{
if(UINT_MAX / 10 - (c - '0') < size){
throw std::exception("オーバーフロー");
}
size = size * 10 + (c - '0');
c = std::fgetc(in);
if(c == EOF){
throw std::exception("fgetcがEOFを返した");
}
}while(std::isdigit(c));

checksum += size;

if(c != 0x0A){
throw std::exception("sar形式のファイルでない");
}

std::fpos_t fpos;
if(std::fgetpos(in, &fpos) != 0){
throw std::exception("fgetpos() Error");
}
fpos += size;
if(std::fsetpos(in, &fpos) != 0){
throw std::exception("fsetpos() Error");
}

c = std::fgetc(in);

if(c != 0x0A){
throw std::exception("sar形式のファイルでない");
}
}else{
if(c == 'C'){
char cs[8];
std::fread(cs, 1, 8, in);
if(std::memcmp(cs, "heckSum=", 8) == 0){
unsigned char f_cs = 0;
for(;;){
c = std::fgetc(in);
if(c == EOF){
throw std::exception("fgetsがEOFを返した");
}
if(!std::isdigit(c)){
break;
}
if(UCHAR_MAX / 10 - (c - '0') < f_cs){
throw std::exception("オーバーフロー");
}
f_cs = f_cs * 10 + (c - '0');
}
if(c != 0x0A){
throw std::exception("sar形式のファイルでない");
}

//最後に実行される

if(checksum == f_cs){
std::cout << "OK!" << std::endl;
}else{
std::cout << "NG!" << std::endl;
}

break;
}else{
throw std::exception("sar形式のファイルでない");
}
}else{
throw std::exception("sar形式のファイルでない");
}
}
}
}catch(std::exception &e){
std::cerr << e.what() << std::endl;
std::fclose(in);
return -2;
}
}

1339774さん:2009/01/29(木) 18:49:18 ID:fHt2HuPQ0
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <algorithm>
#include <vector>

#include <windows.h>

int main(int argc, char **argv){
std::vector<int> vec1, vec2;

for(int i = 0; i < 100; ++i){
vec1.push_back(i);
}

std::copy(vec1.begin(), vec1.end(), std::back_insert_iterator<std::vector<int> >(vec2));
}

1340774さん:2009/01/29(木) 20:54:05 ID:fHt2HuPQ0
gist: 54503 - GitHub
http://gist.github.com/54503

1341774さん:2009/01/29(木) 21:00:59 ID:fHt2HuPQ0
[JS]わずか「12文字」でIEを判別するスクリプト | コリス
http://coliss.com/articles/build-websites/operation/javascript/js-detecting-ie-in-12-bytes.html
-----
IE='\v'=='v'
これは酷い・・・

1342774さん:2009/01/29(木) 21:03:40 ID:fHt2HuPQ0
The Spanner - Detecting browsers javascript hacks
http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/
-----
//Firefox detector 2/3 by DoctorDan
FF=/a/[-1]=='a'
//Firefox 3 by me:-
FF3=(function x(){})[-5]=='x'
//Firefox 2 by me:-
FF2=(function x(){})[-6]=='x'
//IE detector I posted previously
IE='\v'=='v'
//Safari detector by me
Saf=/a/.__proto__=='//'
//Chrome by me
Chr=/source/.test((/a/.toString+''))

B=(function x(){})[-5]=='x'?'FF3':(function x(){})[-6]=='x'?'FF2':'\v'=='v'?'IE':/a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':'Op'

1343774さん:2009/01/29(木) 21:05:11 ID:fHt2HuPQ0
The Spanner - A tool for designers dealing with programmers dealing with designers…
http://www.thespanner.co.uk/

1344774さん:2009/01/30(金) 18:45:28 ID:fHt2HuPQ0
痛いニュース(ノ∀`):「Winny/Shareファイル流出監視サービス」 初期費用30万円、月額基本料金10万円
http://blog.livedoor.jp/dqnplus/archives/1212521.html
-----
P2Pをするだけで金になるなんて、俺でも出来るお。

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


新着レスの表示


名前: E-mail(省略可)

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

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

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

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