トップページ > プログラム > 2015年11月29日 > +8PPW4GA

書き込み順位&時間帯一覧

2 位/200 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000000231410111014



使用した名前一覧書き込んだスレッド一覧
◆tAo.kQ2STk
デフォルトの名無しさん
スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
OSの作り方を教えてください [転載禁止]©2ch.net
スレを勃てるまでもないC/C++の質問はここで 24 [転載禁止]©2ch.net

書き込みレス一覧

スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
498 : ◆tAo.kQ2STk [sage]:2015/11/29(日) 14:20:57.51 ID:+8PPW4GA
>>494
日本で二番目に偉い法律の一つ「刑法」によると、

刑法第二百三十四条の二 人の業務に使用する電子計算機若しくはその用に供する電磁的記録を損壊し、
若しくは人の業務に使用する電子計算機に虚偽の情報若しくは不正な指令を与え、又はその他の方法により、
電子計算機に使用目的に沿うべき動作をさせず、又は使用目的に反する動作をさせて、人の業務を妨害した者は、
五年以下の懲役又は百万円以下の罰金に処する。

とある。要するに「コンピュータの動作を混乱させて通常業務が行えない状態にする」事が刑法234条の要件。
罪名は電子計算機損壊等業務妨害罪。
http://law.e-gov.go.jp/htmldata/M40/M40HO045.html

あとは経済産業省によるコンピュータウイルスの定義が、
第三者のプログラムやデータべースに対して意図的に何らかの被害を及ぼすように作られたプログラムであり、
(1)自己伝染機能 (2)潜伏機能 (3)発病機能のうちいずれかの機能を有するもの
ってなってる。
http://www.meti.go.jp/policy/netsecurity/CvirusCMG.htm

つまりPrime95を勝手にインストールして動かすだけのプログラムはアウトに近いセーフ
ユーザーが最近アクセスしたファイルを書き換えるだけのプログラムはセーフに近いアウト
と判定される可能性が高い。
スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
499 : ◆tAo.kQ2STk [sage]:2015/11/29(日) 14:35:58.57 ID:+8PPW4GA
ちなみに法的にアウトかセーフかを判定する人の事を判事って言うんだけど
判事になった人は法解釈のスペシャリストだけどコンピュータについては素人って場合が殆どで
ちゃんと「自分が行ったこと」と「その範囲に於けるコンピュータ界隈の常識」の両方を強く主張しないと
いつの間にか罪人になってることもあるので注意が必要。
図書館のデータベースを作成しようとした人が誤認逮捕された事件(Librahack事件)とかが有名。

あと仮に逮捕されてしまった場合、初審と第二審と最終審で議論の焦点が違うから
第二審で議論すべき事案を初審で喋るようなアホなことしても意味が無かったりするので
グレーなことやるつもりがあるんならその辺の「法律系齧ってりゃ常識的な事柄」も
頭に入れておくべき。
スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
500 : ◆tAo.kQ2STk [sage]:2015/11/29(日) 15:14:52.41 ID:+8PPW4GA
>>494
> この前ウイルス販売してた高校生だかが逮捕されてたけど
これちょっと調べてみたらウイルスはウイルスでもマルウェアじゃなくてスパイウェアの方か。
そういう意味だと刑法168条第2項から第3項(不正指令電磁的記録に関する罪)が該当するかな?

第百六十八条の二 正当な理由がないのに、人の電子計算機における実行の用に供する目的で、
次に掲げる電磁的記録その他の記録を作成し、又は提供した者は、三年以下の懲役又は五十万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、
又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか、同号の不正な指令を記述した電磁的記録その他の記録
2 正当な理由がないのに、前項第一号に掲げる電磁的記録を人の電子計算機における実行の用に供した者も、
同項と同様とする。
3 前項の罪の未遂は、罰する。
第百六十八条の三 正当な理由がないのに、前条第一項の目的で、同項各号に掲げる電磁的記録その他の記録を取得し、
又は保管した者は、二年以下の懲役又は三十万円以下の罰金に処する。

まぁ要するに「ユーザーの意図に反する動作を故意に起こすプログラム」を作った人と配った人はアウトって事だね。
「正当な理由」ってのは一般人にとっては本当に例外中の例外だと思っていい(例えば担当の警察官が事件の詳細を調べる為、とか)。

曲解するなら「README書いときゃオッケイ」とも取れるけど、それを判断するのは(第二審の)判事なので悪しからず。
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
43 :デフォルトの名無しさん[sage]:2015/11/29(日) 15:21:16.51 ID:+8PPW4GA
> たぶん今僕がやってる書き方が一番きれいだと思うんだけどなー
いろんな方法で書いてみないと比較できないんじゃね?
スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
502 : ◆tAo.kQ2STk [sage]:2015/11/29(日) 15:32:14.76 ID:+8PPW4GA
>>501
その「伝染」やら「発病」やら「被害」やらの意味する所はこの事件では何か?
を争うのが第二審。
刑事裁判なら多分高等裁でやる内容。

刑事事件になる時点で誰かが被害被ってて訴えられて捕まってるわけで、
初審は有罪判決確定だと思っていいよ。
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
46 :デフォルトの名無しさん[sage]:2015/11/29(日) 16:52:01.83 ID:+8PPW4GA
もうソーティングの話は良いよ、仕事で使う大抵の言語ではライブラリとして用意されてるんだから。
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
48 :デフォルトの名無しさん[sage]:2015/11/29(日) 17:29:39.96 ID:+8PPW4GA
10件程度のソートならソーティングネットワークによるソーティングが一番速いから
十分少ない要素数に対してはそいつを呼び出して終わりだろ。

書いてないだけだろうけど。
OSの作り方を教えてください [転載禁止]©2ch.net
5 :デフォルトの名無しさん[sage]:2015/11/29(日) 17:31:59.39 ID:+8PPW4GA
MonaOS -- 2ch発のフリーなOS
http://monaos.org/
OSの作り方を教えてください [転載禁止]©2ch.net
6 :デフォルトの名無しさん[sage]:2015/11/29(日) 17:34:21.26 ID:+8PPW4GA
あるいはLFSとか?
http://lfsbookja.osdn.jp/7.8.ja/
スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
504 :デフォルトの名無しさん[sage]:2015/11/29(日) 17:44:57.78 ID:+8PPW4GA
>>503
ぶっちゃけソースコードが入手できるなら
> CPUアーキテクチャ毎にコンパイラをいっぱい作ればいいんじゃないの?
これで十分。何故ならソースコードレベルでは互換性がある(事になってる)から。

ソースコードが入手できず、しかしバイナリだけは入手できる場合には、そのバイナリを実行するには
そのバイナリをなんとか変換して自分のマシンで動くようにするか、あるいはエミュレートするしかない。
Javaがやってるのはまさに後者な訳で、Javaのコンパイラがソースコードを仮想マシンのバイナリにコンパイルするから、
そのバイナリをエミュレートする仮想マシンをCPU・アーキテクチャ毎に用意して動かしてる。
メリットとしては
・ソースコードが駄々漏れしない(但し仮想マシンの抽象度レベルが高いので逆コンパイルはなんとか出来てしまう)
・コンパイラ毎の微妙な違いを気にする必要が無い
・環境毎にコンパイルしなおさなくて良い
といった所かな。
スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
505 :デフォルトの名無しさん[sage]:2015/11/29(日) 18:31:33.87 ID:+8PPW4GA
あぁ、あとは、ソースコードレベルでは互換性がある事になっているって書いたけど、
例えばC言語の場合は仕様書見りゃ分かるけど「実装依存」「未定義(undefined)」「未定義(unspecified)」の嵐で、
その3つをただ一覧にしただけで20ページ以上になる。

例えば
#include <stdio.h> // このincludeディレクティブが実際にどこのファイルを読み込むかは実装依存
// int型のサイズは実装依存
// main関数の引数として(void)及び(int, char*[])以外が使えるかどうかは実装依存
// main関数の引数として(int argc, char* argv[])を指定した場合でも、引数として渡される文字列がどう分解されているかは実装依存
int main(int argc, char* argv[]) {
printf("Hello, world!\n");
return 0;
}
このくらいポータブルなプログラムを組むのは難しい。
スレを勃てるまでもないC/C++の質問はここで 24 [転載禁止]©2ch.net
6 :デフォルトの名無しさん[sage]:2015/11/29(日) 20:15:17.63 ID:+8PPW4GA
>>4
(1)については、
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf
の、3.7.4.2.3に
If a deallocation function terminates by throwing an exception, the behavior is undefined.
って書いてある。だから例外投げるデストラクタの存在は無視して良いと思う。

あとnewは例外を投げるとすればstd::bad_alloc以外は投げない事になってるのと、
その場合にはそのサイズのメモリの確保は出来ない事になってるので
素直にstd::terminate投げるなりexit呼ぶなりしても良いと思う。

(2)については、(const_cast出来るって意味で)本当に書き換え不能な領域を実行中に作るのは無理なので
書き換えしないでねって他のプログラマに表明する以上の意味は無いと思う。
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
52 :デフォルトの名無しさん[sage]:2015/11/29(日) 21:25:34.60 ID:+8PPW4GA
>>49
> イテレータの実装を考えると再帰はちょっと無理があるんじゃないかと思う。
問題はデータ構造の方じゃなくて言語の方だと思う。
というのも、yieldを持つ言語なら再帰を使ったやり方が最も簡潔に書けるから。

-- language:lua
function traverse(node)
 if node then
  traverse(node.left)
  coroutine.yield(node.value)
  traverse(node.right)
 end
end

co = coroutine.create(traverse)
not_end, value = coroutine.resume(co, node)
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
54 :デフォルトの名無しさん[sage]:2015/11/29(日) 22:12:36.39 ID:+8PPW4GA
>>53
一部ってのはどういう風に探すのん?
特定の属性を持ってるタグを探す感じ?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。