リーダブルコードとは
・読みやすさ、理解しやすさを追及したコードのことです
・読みやすいということはメンテナンス性も高いということです。
・理解しやすいコードはコードレビューも楽になります。
・理解しやすいコードはバグも少なくなります。
・短いほうが優れていることが多いですが、必ずしも短いほうがいいとは限りません。
俺ルール
・書き方の勝負であり、言語の勝負をしないでください。
・標準、非標準に限らずライブラリを使いましょう。
・なければ自分で関数を作りましょう。関数はなるべく汎用的に。
こういうコードを読みやすくするにはどうすればいいでしょうか?
というようなことを語るスレ。需要ありますかね?
探検
リーダブルコーディング技術スレ
■ このスレッドは過去ログ倉庫に格納されています
2013/10/11(金) 01:06:21.56
331デフォルトの名無しさん
2014/12/12(金) 08:57:20.70ID:bKiv2VYA 勉強になるわあ(´・ω・`)
332デフォルトの名無しさん
2014/12/12(金) 09:27:52.69ID:E/liDhvH メモリなどの制約があるからやるのであって、
それをするのが常識な業界であっても
その目的は「リーダブル」ではないことに注意ね。
それをするのが常識な業界であっても
その目的は「リーダブル」ではないことに注意ね。
333デフォルトの名無しさん
2014/12/12(金) 15:16:05.63ID:tymqzhoh >>330
グローバル(スコープの話)と動的確保(メモリー領域の話)をごっちゃにするなよ...
グローバル(スコープの話)と動的確保(メモリー領域の話)をごっちゃにするなよ...
334デフォルトの名無しさん
2014/12/12(金) 18:32:11.35ID:qq9LAV1Z 言語の話としては、スコープ(可視範囲)とエクステント(生存期間・寿命)な。
スタックに確保するかヒープに確保するかは、それらの実装の話。
スタックに確保するかヒープに確保するかは、それらの実装の話。
335330
2014/12/12(金) 22:14:49.55ID:Znidw3Lc いやあ、結構可読性が変わってくるよ。
動的確保系の処理って、寿命管理にそれなりの設計というかコードを書く必要があるし、
未確保の場合の条件分け処理だとか。
グローバルにすればそういう系のコードが排除出来てすっきりするんで。
今、組み込みで動的確保バリバリのプロジェクトに関わってて。
本来大丈夫なはずの所まで、大量の未確保時の例外処理を入れまくって、
可読性?なにそれ?なソースを相手にしているところww
動的確保系の処理って、寿命管理にそれなりの設計というかコードを書く必要があるし、
未確保の場合の条件分け処理だとか。
グローバルにすればそういう系のコードが排除出来てすっきりするんで。
今、組み込みで動的確保バリバリのプロジェクトに関わってて。
本来大丈夫なはずの所まで、大量の未確保時の例外処理を入れまくって、
可読性?なにそれ?なソースを相手にしているところww
336デフォルトの名無しさん
2014/12/12(金) 23:24:59.05ID:OvrU0/Qj337デフォルトの名無しさん
2014/12/12(金) 23:30:21.77ID:JABIbbJk >>336
C言語の問題になるが、例外というものがなく
エラーは戻り値で返ってくるので、
ちゃんとしたコードを書こうと思ったら原則的に
このように書かないといけない。
int ret;
ret = printf('Hello');
if (ret < 0) {
return ret;
}
ret = printf('World');
if (ret < 0) {
return ret;
}
C言語の問題になるが、例外というものがなく
エラーは戻り値で返ってくるので、
ちゃんとしたコードを書こうと思ったら原則的に
このように書かないといけない。
int ret;
ret = printf('Hello');
if (ret < 0) {
return ret;
}
ret = printf('World');
if (ret < 0) {
return ret;
}
338デフォルトの名無しさん
2014/12/12(金) 23:32:27.88ID:SFp8/UEn トンチンカンすぎんべ…
339デフォルトの名無しさん
2014/12/12(金) 23:35:05.15ID:OvrU0/Qj >>337
だからグローバル使えばどうすっきりするのかと
だからグローバル使えばどうすっきりするのかと
340デフォルトの名無しさん
2014/12/12(金) 23:35:23.81ID:Znidw3Lc ポインタのヌルチェックとかな
341デフォルトの名無しさん
2014/12/12(金) 23:43:14.66ID:Znidw3Lc オブジェクト指向系言語だったらヌルオブジェクト使ってヌルチェックを不要に出来るし、
どのタイミングで動的確保されるかとかはクラスで隠蔽出来るんだが
どのタイミングで動的確保されるかとかはクラスで隠蔽出来るんだが
342デフォルトの名無しさん
2014/12/12(金) 23:44:06.16ID:OvrU0/Qj コードで示してくれない?
グローバルでもチェックが不要になる訳じゃないよね?
グローバルでもチェックが不要になる訳じゃないよね?
343デフォルトの名無しさん
2014/12/12(金) 23:46:39.06ID:Znidw3Lc ?
ポインタをグローバルに持つとかじゃないよ?念のため。
普通に、ごく普通にプリミティブ型やら構造体変数をグローバルに持つだけなんだが。
ポインタをグローバルに持つとかじゃないよ?念のため。
普通に、ごく普通にプリミティブ型やら構造体変数をグローバルに持つだけなんだが。
344デフォルトの名無しさん
2014/12/12(金) 23:53:59.93ID:Znidw3Lc イメージ的には、様々な動的確保情報を全て確保した状態のヒープを、
最初から固定でグローバルに持っておく、という感じ。で伝わるかな。。
最初から固定でグローバルに持っておく、という感じ。で伝わるかな。。
345デフォルトの名無しさん
2014/12/12(金) 23:54:55.17ID:ADDM5Suo (やべえ何度読み直しても分からねえ…何が分からないのかさえ分からねえ…)
346デフォルトの名無しさん
2014/12/12(金) 23:56:53.96ID:9Ma9oPly347デフォルトの名無しさん
2014/12/12(金) 23:58:05.91ID:SUQ8ZHc4 >>343-344
ごめん、マジで伝わらん
ごめん、マジで伝わらん
348デフォルトの名無しさん
2014/12/12(金) 23:59:06.81ID:bKiv2VYA やり取りの内容がまだ理解できるレベルではないが
奥がふかいんですねえ
やっぱcだけじゃなくjavaあたりもやっといた方がいいのかな
奥がふかいんですねえ
やっぱcだけじゃなくjavaあたりもやっといた方がいいのかな
349デフォルトの名無しさん
2014/12/13(土) 00:01:01.37ID:54ajxy39 >>346
ヒープ ⇔ スタティック の話なの?
ヒープ ⇔ スタティック の話なの?
350デフォルトの名無しさん
2014/12/13(土) 00:02:55.00ID:uQ37H43s おそらく最初から動的と静的の話なんでしょうよ
351デフォルトの名無しさん
2014/12/13(土) 00:05:24.55ID:54ajxy39 そうなんだろうな...
352デフォルトの名無しさん
2014/12/13(土) 02:19:46.63ID:WvyZJyoU そうだな
353デフォルトの名無しさん
2014/12/13(土) 05:42:46.74ID:xVemfz4a 書いてみた
http://ideone.com/3l8aq6
http://ideone.com/3l8aq6
354デフォルトの名無しさん
2014/12/13(土) 10:22:39.34ID:xVemfz4a と思ったら終わってたのね、話
355デフォルトの名無しさん
2014/12/13(土) 10:25:53.22ID:/4slIr06356デフォルトの名無しさん
2014/12/13(土) 10:31:24.66ID:xVemfz4a357デフォルトの名無しさん
2014/12/13(土) 10:36:24.43ID:JDqKcE2X 十年ROMれ
358デフォルトの名無しさん
2014/12/13(土) 10:40:39.82ID:xVemfz4a あぅぅ
2014/12/13(土) 23:21:18.25ID:K/9GRqnp
10年後に2chがなくなってなきゃいいが…
360デフォルトの名無しさん
2014/12/18(木) 20:59:16.69ID:IPlfnya6 c言語である程度プログラムが大きくなってくると関数の数も増えて来るし
どの関数がどの関数を呼び出してるとか色々増えて来ると思うんだけど
こういうのってどういう管理が一般的なんだろか
どの関数がどの関数を呼び出してるとか色々増えて来ると思うんだけど
こういうのってどういう管理が一般的なんだろか
361デフォルトの名無しさん
2014/12/18(木) 22:04:19.41ID:PpZ3cpAI >>360
> どの関数がどの関数を呼び出してるとか色々増えて来ると思うんだけど
増えていかないようにモジュール化する
> こういうのってどういう管理が一般的なんだろか
増えちゃったとか不幸にもぐちゃぐちゃのソースを解析するなら Doxygen とか、金があるなら Imagix とかで見るとか
> どの関数がどの関数を呼び出してるとか色々増えて来ると思うんだけど
増えていかないようにモジュール化する
> こういうのってどういう管理が一般的なんだろか
増えちゃったとか不幸にもぐちゃぐちゃのソースを解析するなら Doxygen とか、金があるなら Imagix とかで見るとか
362デフォルトの名無しさん
2014/12/18(木) 23:37:34.74ID:mulBDlyx 関数がある程度増えたら、それを小さく分割するってことを
しないからどんどん増えるんだよね。
なんで過去のコードを修正しないのか?
簡単なうちにすぐ手を付けないから、あとから手遅れになるんだけど。
しないからどんどん増えるんだよね。
なんで過去のコードを修正しないのか?
簡単なうちにすぐ手を付けないから、あとから手遅れになるんだけど。
363デフォルトの名無しさん
2014/12/18(木) 23:47:41.58ID:LWfoPtOf あまり小さく分割すると見通しが悪くなる派
364デフォルトの名無しさん
2014/12/19(金) 14:45:53.53ID:YQiCmoKD >>363
それは分割の仕方が間違ってる派
正しいやり方は
長い関数があった時、その中で汎用的に使える所をシンプルな関数に
抜き出しながら全体を短くするというやり方。
間違ったやり方だと
長い関数があった時、その一部。例えば前半分と後ろ半分みたいに分けて
汎用的ではない関数(というよりもルーチン)を増やすやり方。
”見通しが悪くなる" という言葉がうまく表している。
間違ったやり方は、汎用的ではない関数ができるから"見ないといけない"
「処理があちこちにジャンプして見にくい」など言うのはまさにこれが原因
正しいやり方ならは、汎用的でシンプルだから(一度見るだけで)あとは見なくて良くなる。
見るべきコードが減って処理も分割されないので、あちこちにジャンプすることもなく、見通しが良くなる。
それは分割の仕方が間違ってる派
正しいやり方は
長い関数があった時、その中で汎用的に使える所をシンプルな関数に
抜き出しながら全体を短くするというやり方。
間違ったやり方だと
長い関数があった時、その一部。例えば前半分と後ろ半分みたいに分けて
汎用的ではない関数(というよりもルーチン)を増やすやり方。
”見通しが悪くなる" という言葉がうまく表している。
間違ったやり方は、汎用的ではない関数ができるから"見ないといけない"
「処理があちこちにジャンプして見にくい」など言うのはまさにこれが原因
正しいやり方ならは、汎用的でシンプルだから(一度見るだけで)あとは見なくて良くなる。
見るべきコードが減って処理も分割されないので、あちこちにジャンプすることもなく、見通しが良くなる。
365デフォルトの名無しさん
2014/12/19(金) 23:26:05.82ID:wb+cst2b >>364
以上、本ばかり読んでてコード書いたことのない自称できるプログラマーの意見でした
以上、本ばかり読んでてコード書いたことのない自称できるプログラマーの意見でした
366デフォルトの名無しさん
2014/12/19(金) 23:29:01.15ID:YQiCmoKD >>365
なんにも言い返していない所がウケるw
なんにも言い返していない所がウケるw
367デフォルトの名無しさん
2014/12/19(金) 23:44:37.90ID:cAPBq6kb なかなか難しいところだ脳。
やっぱコード書く前にしっかり設計やってからやるべきなのかね。
趣味だけども
やっぱコード書く前にしっかり設計やってからやるべきなのかね。
趣味だけども
368デフォルトの名無しさん
2014/12/19(金) 23:57:59.54ID:wb+cst2b369デフォルトの名無しさん
2014/12/20(土) 01:22:27.35ID:+b2U+9C3 このスレの忘年会みたいな軽いノリで、リーダブルじゃない現場コードの晒し合いとか愚痴晒し合いとかしませんか
言語問わずなんでもありで
丁度上司のunreadableコードと戦っててもうね
出所バレない感じに整形したりしてるんですがもうね
言語問わずなんでもありで
丁度上司のunreadableコードと戦っててもうね
出所バレない感じに整形したりしてるんですがもうね
370デフォルトの名無しさん
2014/12/20(土) 01:41:00.69ID:acQ5HpBR 再帰関数使いたいけど無名関数じゃ再帰できないようだからしぶしぶprivateメソッド化して細切れになる現象
371デフォルトの名無しさん
2014/12/20(土) 05:18:20.39ID:dWuhsWfV372デフォルトの名無しさん
2014/12/20(土) 09:26:41.56ID:z0Uvrlhl >>370つ Yコンビネータ
って全然リーダブルじゃねーか
って全然リーダブルじゃねーか
373デフォルトの名無しさん
2014/12/20(土) 10:07:02.21ID:KOv8i75g void isReadable()
374デフォルトの名無しさん
2014/12/20(土) 10:10:00.30ID:KOv8i75g new codeClone[num_of_func]
375デフォルトの名無しさん
2014/12/20(土) 12:02:33.91ID:F1BtQojg376デフォルトの名無しさん
2014/12/20(土) 12:12:29.43ID:cUhMXe+F377デフォルトの名無しさん
2014/12/20(土) 12:16:04.49ID:F1BtQojg >>371
> ワンストップ・サービス(窓口)のFacadeはどうなる?
その例から何を言いたいのかよくわからないよ。
何か俺が言ったことを勘違いしていそうだから、
勘違いしていそうなところの補足をしておく。
> 間違ったやり方だと
>
> 長い関数があった時、その一部。例えば前半分と後ろ半分みたいに分けて
> 汎用的ではない関数(というよりもルーチン)を増やすやり方。
この前半分と後ろ半分にわける間違ったやり方というのは、
例えば一つの工程をA、Bの二つに分けた時、
Bの内容(引数・戻り値じゃなくて"内容")を見ないと
Aが最終的にどうなるかわからないようなもののこと。
Facadeみたいにそれぞれの独立した工程に処理を渡して
引数・戻り値といった最小限の情報だけでやり出来るものは関係ない。
> ワンストップ・サービス(窓口)のFacadeはどうなる?
その例から何を言いたいのかよくわからないよ。
何か俺が言ったことを勘違いしていそうだから、
勘違いしていそうなところの補足をしておく。
> 間違ったやり方だと
>
> 長い関数があった時、その一部。例えば前半分と後ろ半分みたいに分けて
> 汎用的ではない関数(というよりもルーチン)を増やすやり方。
この前半分と後ろ半分にわける間違ったやり方というのは、
例えば一つの工程をA、Bの二つに分けた時、
Bの内容(引数・戻り値じゃなくて"内容")を見ないと
Aが最終的にどうなるかわからないようなもののこと。
Facadeみたいにそれぞれの独立した工程に処理を渡して
引数・戻り値といった最小限の情報だけでやり出来るものは関係ない。
378デフォルトの名無しさん
2014/12/20(土) 12:18:32.86ID:F1BtQojg >>376
区別できているかできていないかの前に
質問に答えてよ。
俺は「無限の時間と労力をかけてでもやれ」なんて一言も言っていない。
でもまあ、仕事(作業)するなら時間がかかるのはあたりまえだよ。
(その時間内で)適切なやり方をやれって言っているだけだが
どうして無限の時間をかけるって話になったのさ?
区別できているかできていないかの前に
質問に答えてよ。
俺は「無限の時間と労力をかけてでもやれ」なんて一言も言っていない。
でもまあ、仕事(作業)するなら時間がかかるのはあたりまえだよ。
(その時間内で)適切なやり方をやれって言っているだけだが
どうして無限の時間をかけるって話になったのさ?
379デフォルトの名無しさん
2014/12/20(土) 12:21:24.19ID:F1BtQojg 「適切なやり方をやれ」って言っただけなのに
それを「無限の時間と労力をかけてでもやれ」と勘違いしてしまうのは
「適切なやり方をやったら、俺は無限の時間がかかるんだ。適切なやり方=無限の時間なんだ」って
>>368が言っているようにみえるのは仕方ないでしょw
それを「無限の時間と労力をかけてでもやれ」と勘違いしてしまうのは
「適切なやり方をやったら、俺は無限の時間がかかるんだ。適切なやり方=無限の時間なんだ」って
>>368が言っているようにみえるのは仕方ないでしょw
380デフォルトの名無しさん
2014/12/20(土) 13:02:04.48ID:lS6KGt9L381デフォルトの名無しさん
2014/12/20(土) 13:09:20.32ID:z0Uvrlhl382デフォルトの名無しさん
2014/12/20(土) 13:22:29.06ID:cUhMXe+F だから正論に反論なんてできないよ
「適切なやり方やればいい」
間違ったことは言ってないからな
でも、そんなことは小学生でも言えるわ w
「適切なやり方やればいい」
間違ったことは言ってないからな
でも、そんなことは小学生でも言えるわ w
383デフォルトの名無しさん
2014/12/20(土) 14:21:29.36ID:qyYbVqEq >>382の上司「無限の時間をかけてでも適切なことをやれ!でも給料はいつも通り!」
って言われてるからここで愚痴ってるんでしょ
って言われてるからここで愚痴ってるんでしょ
384デフォルトの名無しさん
2014/12/20(土) 22:26:54.94ID:F1BtQojg >>382
だから変なのは「無限の時間」って話が出てきた所だけだよ。
正論言ってるんだから、俺が言った内容に反論できないのはわかってるよ。
俺が言った内容ではない話が、どこからできたんだ?って言ってるだけ。
だから変なのは「無限の時間」って話が出てきた所だけだよ。
正論言ってるんだから、俺が言った内容に反論できないのはわかってるよ。
俺が言った内容ではない話が、どこからできたんだ?って言ってるだけ。
385デフォルトの名無しさん
2014/12/20(土) 22:56:28.88ID:cUhMXe+F386デフォルトの名無しさん
2014/12/20(土) 23:25:50.20ID:F1BtQojg >>385
誰が誰の立場でできませんっていうんだよ?
わけわからんわ。
時間内に出来るかどうかはケースバイケースなんだし、
出来るところまでやればいいだけだろ。
それに技術力を上げれば時間内にできることも多くなるぞ。
何も努力しないでコピペばかりするから技術力も上がらなくなる。
誰が誰の立場でできませんっていうんだよ?
わけわからんわ。
時間内に出来るかどうかはケースバイケースなんだし、
出来るところまでやればいいだけだろ。
それに技術力を上げれば時間内にできることも多くなるぞ。
何も努力しないでコピペばかりするから技術力も上がらなくなる。
387デフォルトの名無しさん
2014/12/21(日) 00:56:33.95ID:XZ/0moqW >>385
上司「何言ってるんだ土日があるだろ。ただしそれはお前の能力不足が原因だから残業代は出ないからな。」
上司「何言ってるんだ土日があるだろ。ただしそれはお前の能力不足が原因だから残業代は出ないからな。」
388デフォルトの名無しさん
2014/12/21(日) 11:05:47.64ID:ikKWfd9P389デフォルトの名無しさん
2014/12/21(日) 13:01:56.36ID:XZ/0moqW >>388
上司「俺は土日をつかえなんて指示はしていない。そんな計画を承認したはずもない。
ただお前が業務時間内に間に合わないなら土日や深夜や自宅時間も使わざる負えないだろうということだ。そんなこともわからんのか。」
上司「俺は土日をつかえなんて指示はしていない。そんな計画を承認したはずもない。
ただお前が業務時間内に間に合わないなら土日や深夜や自宅時間も使わざる負えないだろうということだ。そんなこともわからんのか。」
390デフォルトの名無しさん
2014/12/21(日) 14:38:18.36ID:dx70AcKS391デフォルトの名無しさん
2014/12/21(日) 14:40:57.90ID:dx70AcKS あ、もしかして俺なら(上級者なら)時間内にできる仕事を
どれだけ時間があっても出来ないって言いたい人なのかな?
俺にはいくら時間があっても仕事できないよって。
どれだけ時間があっても出来ないって言いたい人なのかな?
俺にはいくら時間があっても仕事できないよって。
392デフォルトの名無しさん
2014/12/21(日) 14:50:49.21ID:dx70AcKS まあ、ここいらでリーダブルコーディングの話に戻すか。
仕事が遅い人って見ていると、自分で自分を苦しめてるんだよね。
自分でぐちゃぐちゃなコードを書いて、
正しく動かない、バグが直せないって言ってる。
自分が書いたコードと戦っているわけさw
リーダブル、つまり読みやすいコードを書けるように
自分を鍛えれば、自分が書いたコードと戦うことは少なくなっていく。
でも仕事が遅い人って、自分が書いたコードと戦うことに精一杯。
時間がないを言い訳にしてレベルを上げようとしないから、
戦う敵を量産するだけで、更に時間をなくしてる。
コードは読むものなのだが、どうもレベルが低い人にとっては
解析する物になっているようだ。解析した後その謎を片付けないでそのままにして
さらにコードを追加するから、書けば書くほど謎が深まっていく
だから仕事をするばするほどかかる時間が増えていく。
あ、だから無限の時間って話になるのかw
仕事が遅い人って見ていると、自分で自分を苦しめてるんだよね。
自分でぐちゃぐちゃなコードを書いて、
正しく動かない、バグが直せないって言ってる。
自分が書いたコードと戦っているわけさw
リーダブル、つまり読みやすいコードを書けるように
自分を鍛えれば、自分が書いたコードと戦うことは少なくなっていく。
でも仕事が遅い人って、自分が書いたコードと戦うことに精一杯。
時間がないを言い訳にしてレベルを上げようとしないから、
戦う敵を量産するだけで、更に時間をなくしてる。
コードは読むものなのだが、どうもレベルが低い人にとっては
解析する物になっているようだ。解析した後その謎を片付けないでそのままにして
さらにコードを追加するから、書けば書くほど謎が深まっていく
だから仕事をするばするほどかかる時間が増えていく。
あ、だから無限の時間って話になるのかw
393デフォルトの名無しさん
2014/12/21(日) 15:48:14.53ID:wuWkedhz >>391-392
話の流れも読めてないバカ乙
話の流れも読めてないバカ乙
394デフォルトの名無しさん
2014/12/22(月) 21:28:40.57ID:ndw8Yqnw 流れが読めないのはリーダブルでないのの典型
395デフォルトの名無しさん
2014/12/22(月) 22:36:05.51ID:bXw2G98F と責任転嫁w
396デフォルトの名無しさん
2014/12/27(土) 23:32:28.76ID:OlYxJx97 自作のソフト、ネタ尽きてきたからコードの簡略化してたら5時間くらいたってた
397デフォルトの名無しさん
2015/10/14(水) 23:40:08.29ID:DmhFYPJM クリエイティブじゃないやつはリファクタリングして仕事した気になってる勘違いが多い
398デフォルトの名無しさん
2015/10/15(木) 01:26:25.23ID:h4rpxLqO ぎくっ
399デフォルトの名無しさん
2015/10/15(木) 12:52:24.82ID:fomBTPP1 はい
400デフォルトの名無しさん
2016/05/01(日) 16:37:41.94ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1^
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1^
401デフォルトの名無しさん
2016/11/11(金) 16:02:24.59ID:dP+cWDA6■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【給食無償化】国が全額負担 自維公3党、近く合意へ [ぐれ★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★6 [お断り★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★3 [七波羅探題★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★6
- ブレイキングダウンの試合前挑発タイムでくも膜下出血 朝倉未来の責任は [279254606]
- 味の素会長「日本の冷凍餃子は安すぎる。価値に見合った価格を」 [573472858]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★5
- 高市早苗「子どもがいる世帯への扶養控除廃止は私の意向ではなく自民党の意向で仕方ない」与党爆笑 [245325974]
- IDにSexキタ━━━━(゚∀゚)━━━━!!
