ふらっと C#,C♯,C#(初心者用) Part130 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
2017/07/18(火) 06:40:45.47ID:mH9qbH+m0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part129
http://mevius.2ch.net/test/read.cgi/tech/1497000961/

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/09/06(水) 15:39:28.12ID:rdtIk74+M
普通 Redis
913デフォルトの名無しさん (ワッチョイ 6311-ygYq)
垢版 |
2017/09/06(水) 18:48:35.84ID:yZhXwa1n0
@ 記憶媒体からデータを読み込む。読み込んだ順番を保ちつつリストを作成する
A ゲーム開始→終了
B @のリストの先頭から見て行き、新しい記録より大きい要素の1つ前に挿入する。(挿入した位置が順位)
C 表示処理
D リストデータを記憶媒体へ書き込む

ソートは不要。
DBを使う要件がないのであれば記憶媒体はtxtファイルで十分。
2017/09/06(水) 19:04:59.84ID:s9ZfYQxla
>>906
テキストファイル名に名前秒数を適当な区切りを入れて保存

山田,60,田中,75,伊藤,81.scr

エクスプローラーからF2で編集可能
エディタもいらない
もちろんファイル名に使えない文字はあらかじめ除外だ
915デフォルトの名無しさん (ワッチョイ 6f6d-bdum)
垢版 |
2017/09/06(水) 23:29:32.24ID:kZeUfc0W0
ネットを見ていたら、インターフェースで依存性を排除するコードが
例として出ていたのですが「コンストラクタでengineに実装を注入する」とある部分は、どのように書けるのでしょうか?

インターフェースには実装が書けず、コンストラクタでメソッドを書くこともできないので見当がつきません

よろしくお願いします

public interface Engine
{
void start();
}

public class Car
{
public Engine engine;
public Car()
{
// コンストラクタでengineに実装を注入する
}
public void go()
{
engine.start(); // <- Engineはインターフェースなので依存性がなくなった
}
}
2017/09/06(水) 23:38:07.92ID:ygscOEFy0
Engineインターフェースを実装したエンジンのインスタンスを
何らかの手段で手に入れてengineに代入しろってことだな

つまり、君の買った車にはエンジンが付いてないので
買ってくるか、自分で作るか、好きにしてもらったらよいが
エンジン作る部分までは説明しないよ、ってことだな
2017/09/06(水) 23:53:04.33ID:tZ2T0w/m0
>>915
CarはEngineに依存してるよ
インターフェース使えばEngineの実装には依存しないようにできるけど
インターフェースなので依存性がなくなったというのは認識として間違ってると思う

んで実装を注入する方法はいくつかあって、例えばコンストラクタ・インジェクションなら
Carインスタンスを生成するときにEngine実装のインスタンスを渡してあげるイメージ

public Car(Engine engine)
2017/09/07(木) 00:04:50.83ID:25clT2YI0
>>915
要はインターフェースの使い方が分からないってことかな。
https://ideone.com/sUlQuj
2017/09/07(木) 00:30:22.69ID:jomVuFMWa
>>915
依存性云々はとりあえず今は聞き流して、インターフェイスの使い方を覚えるのがいいねw
2017/09/07(木) 00:35:28.14ID:n13wzRyY0
>>915
基本的にフィールドをpublicにしちゃだめ
メソッド名はPascal

質問とは無関係だけど
2017/09/07(木) 01:19:40.93ID:/528PZB30
>>915
なんで依存性を無くしたいの?
変更が必要になったら変更に必要なお金を貰えばいいじゃない?
君が依存性を無くした機能が将来的に役に立つ可能性は100%なの?
2017/09/07(木) 06:29:42.71ID:yYQdIYqd0
>>921
こういう質問からズレた的はずれなこと言うやつってどこにも湧くよな
yahoo知恵袋とかにも多いけど
2017/09/07(木) 06:52:28.02ID:/528PZB30
初心者スレだし
意味のないことをやってる人間を止めるのも優しさだろ
明らかに意味がない
2017/09/07(木) 07:06:09.22ID:jEqK5EjrM
>>921
将来保守される保障あんの?
で、突き詰めたらメインメソッドだけで良いという結論に行き着きそうだな
2017/09/07(木) 07:21:08.70ID:/528PZB30
>>924
実際、機能10個作って10年で内3つしか変更が入らないときって
残りの7つに費やした依存性解消の時間って無駄じゃね?
いつ精算できんの?

変更することになってからゆっくり金貰って変更すればいいよ
予めやっておく必要も金も時間も欠片もない
2017/09/07(木) 07:32:44.67ID:oeWMtJN8M
>>921
え?ユニットテストしないの?
まじかよ
2017/09/07(木) 07:33:51.36ID:j+BNBbb90
>>915 を書き直すとこういう感じだろうか
public class Car
{
 private Engine engine;
 public Car(Engine engine)
 {
  // engineのインスタンス生成は外部で行い、
  // その参照をEngineインターフェースの変数として保持する
  // (渡されたクラスにEngineインターフェースが実装されているか
  //  どうかしか感知しない)
  this.engine = engine;
 }
 public void go()
 {
   // コンストラクタで渡されたEngineを使うので、
  // インスタンスの実装には依存しない
  // (実際に渡されるクラスで変更があっても、
  //  それがEngineインターフェースに関わらない部分なら影響がない)
  engine.start();
 }
}

あと、↓に従ってくれると、他の人からも読みやすい

インターフェイスの名前付けのガイドライン
https://msdn.microsoft.com/ja-jp/library/cc433279(v=vs.71).aspx
"インターフェイス名には、この型がインターフェイスであることを示すために、プリフィックス I を付けます。"

メソッドの名前付けのガイドライン
https://msdn.microsoft.com/ja-jp/library/cc433282(v=vs.71).aspx
"Pascal 形式を使用します。"
2017/09/07(木) 07:41:56.97ID:KHq0qyGqd
>>921
いつの時代の話だよ
2017/09/07(木) 07:43:59.67ID:KHq0qyGqd
>>927
命名規則持ち出すんなら、メソッド名もPascalにしろよ
それからフィールドはreadonlyにして_engine、thisは消せ
2017/09/07(木) 07:46:39.37ID:NVMcPyFE0
>>926
依存先を先に作ればいいだけだよ
まさかDI使うプロジェクトは作るクラス全部疎結合にするとでも思ってるのか?
2017/09/07(木) 08:00:06.40ID:oeWMtJN8M
>>930
それ結合テスト
2017/09/07(木) 08:02:41.36ID:j5w9yEfWM
下位のモジュールを結合した状態で単体テストするのはおかしなことではないでしょ
MSだって普通にクラスの中でnewしてるよ
見境なくDIすると結合したときとのギャップが大きくなりすぎる
○○サービスと呼べるような粒度の低いクラスだけにとどめるのがいいと思ってる
2017/09/07(木) 08:10:18.52ID:oeWMtJN8M
>>932
対象を選ぶのは当たり前
2017/09/07(木) 08:13:41.08ID:KHq0qyGqd
>>930
こいつUnitTestしたことないだろ
2017/09/07(木) 08:17:23.55ID:oeWMtJN8M
粒度も基準としてはあるが
自前のコードで完全に制御できないものはどこかで注入したほうがいいな
注入は別にインターフェースでなくてもいい
単にoverrideでもdelegateでも用途(今の文脈だとユニットテストか)に合えば良い
古い言語だとテスト用のモジュールをリンクしたり
マクロやインクルードで注入することもある
2017/09/07(木) 08:50:12.82ID:j5w9yEfWM
>>934
単体テストと結合テストの違いはテストケース
単体でも通るテストか、結合してないと通らないはずのテストか、それだけのこと
開発順序の都合とかネットワークに依存しててクソ遅いとか意図的に発生させるのが難しいエラーがあるといった特別な理由がない限り、
単体でも通るテストを結合して動かすことはなんら単体テストの意義を損なうものではないよ
2017/09/07(木) 10:51:28.81ID:KHq0qyGqd
>>936
素人おつ
2017/09/07(木) 10:57:46.90ID:eu6mSuii0
職場はユニットテスト何それ?だから1メソッドが数百行どころか千行超えるコードざらに見かけます・・・
2017/09/07(木) 12:10:02.38ID:tK2euLNeM
>>936
結合してテストして失敗したら
テスト対象が悪いのか依存先が悪いのか切り分けが面倒だろ
やれやれだぜ
2017/09/07(木) 12:18:14.16ID:CjGXGOTyM
>>938
作り直しレヴェルだろw
2017/09/07(木) 12:23:19.06ID:tK2euLNeM
>>938
レビューしないの?
2017/09/07(木) 12:30:07.79ID:j5w9yEfWM
>>939
よく考えよう
それ結合テストで起きる問題を先送りにしてるだけだろ?
むしろ単体テストレベルで見つかったほうが範囲が絞られてる分原因を特定しやすいよね
2017/09/07(木) 12:42:10.15ID:SGJxgazo0
ワッチョイ b769-ZN1Y)
ワッチョイ 236e-nkYL)
ブーイモ MM26-nkYL)

2017/09/07(木) 12:47:41.77ID:lOf9v6000
>>938
わかる
汎用機型のプログラミングから抜け出せなかった企業はこれからどんどん終わってくよね
2017/09/07(木) 12:52:28.11ID:/528PZB30
>>926
それしないとユニットテストってできないの?
無駄なことやってない?
使い方知らないの?
2017/09/07(木) 12:58:50.81ID:vdmBVUrpa
質問者そっちのけで盛り上がってるねw

>>915が読んだ記事の著者のいう依存性の排除っていうのは恐らく、
Enineのコードが修正されてもCar側のコードがその影響を受けないようにする、
っていう程度の意味。(CarとEngineは別の人やチームが書いてると考えて)

そのための手段として、Carのコードでは具体的なクラスEngineではなく、
Car側のコードを書いている人、または第三者が定義したIインターフェイスEngineを使い、
EngineにはIEngineの実装を強制する。

そうすればEngineを書いている人はIEngineによって拘束され、
Car側(Engineを使う側)のコードが動かなくなるような変更はできなくなる。

まあたぶんこんな感じ。
だけど、下位の側のコード(この場合はEngine)を拘束するために
わざわざインターフェイスを使って抽象度を上げる(つまり可読性は下がる)必要が
本当にあるのかは、個人的にはかなり疑問。鶏を割くのに牛刀を使う感がある。

まあ質問者に確実に言えるのは、上にも書いたけど
依存性云々なんて理解しなくても問題ないから安心して読み飛ばしていいよってことw
2017/09/07(木) 13:03:19.68ID:NBIMX30y0
依存性をどっかで断ち切らないと、変更の影響が波及し過ぎるからだよ

その例で言うなら、Carの実装内容がEngineに直接依存してると
Engineを修正した時に、Carも修正しなくちゃならなくなるので、それを断ち切りたい訳だ

実際には、その2クラス間にしか依存関係が発生しないなら纏めて修正でもそこまで困らないんだけど
クラスAにクラスBが依存、クラスBにクラスCが依存、クラスCにクラスDが依存……って連鎖してく様な形になってると最悪で
クラスAを修正した結果、クラスB〜Dも全部修正とかになる可能性がある
2017/09/07(木) 13:04:43.74ID:vyrcxkNNM
>>944
汎用機は
2017/09/07(木) 13:06:37.62ID:vyrcxkNNM
すまん
汎用機は細かくプロセス分けて作るから単体テストはわりと容易だよ
そのノリでVBやJavaモノリシックなアプリを作ろうとしたところでおかしくなった
2017/09/07(木) 13:39:50.81ID:/528PZB30
>>947
設計変わってねぇのに
テスト数が増える話してんの?
ないとは言い切れないないけど考慮に入れるには頭悪くね?
2017/09/07(木) 15:14:35.43ID:EkI2HYTy0
ここにはまともな人ほとんどいないのな
2017/09/07(木) 15:21:06.66ID:MHVyagna0
まともな人は質の低いところには集まらないからな
2017/09/07(木) 15:27:09.98ID:/528PZB30
>>951
まともじゃない人って
何年もビジネスでやってるのに
金にならないプログラム組む人?
2017/09/07(木) 15:34:12.42ID:QW6AKtGa0
ID:/528PZB30 (6回)
2017/09/07(木) 15:38:11.33ID:QvUFBIyZ0
未だにVB5の保守案件を手放せていない俺は、きっとまともじゃないです
2017/09/07(木) 15:44:45.27ID:/528PZB30
>>954
単発に言われてもねw
2017/09/07(木) 16:48:04.48ID:CjGXGOTyM
1秒毎にボーリング処理するなかであるクラスのメソッドを呼び出す場合、毎回newするのは悪手ですか?staticが基本でしょうか?
2017/09/07(木) 17:29:06.04ID:wvM1rF390
自分で分かってるくせに

中身をしらん俺には答えは分からんがな
2017/09/07(木) 17:37:51.97ID:hyVDvgFsa
>>957
staticってのは意味不明だけど(フィールドじゃないの?)
基本的にどっちでも書きやすい方でOK

もちろん高価な共有リソースを使う場合は別
2017/09/07(木) 17:42:49.39ID:1h1pdgP4M
>>957
重いリソース抱えてないなら毎回インスタンス作って良いよ
2017/09/07(木) 19:00:31.87ID:eu6mSuii0
>>957
new のコストが重いならこんな手も

方法: ConcurrentBag を使用してオブジェクト プールを作成する
https://msdn.microsoft.com/ja-jp/library/ff458671(v=vs.110).aspx
2017/09/07(木) 19:18:39.04ID:KSI/qa2l0
>>957
そのメソッドをアクセスしやすい場所に置けばいいだけじゃないの?
単純に使うクラスにメソッドをコピーするか必要なメソッドだけ分離してクラスにして今まで使っていたクラスではフィールドで持っておけばいい
2017/09/07(木) 21:02:39.11ID:EkI2HYTy0
>>957

>>958の言うとおり
1秒毎にポーリングする処理というだけでは
毎回newするのが悪手かどうかstaticメソッドにするのがいいかどうかは誰も分からない

1. どういう選択肢があるのか考える(調べる)
2. それぞれのメリット・デメリット/トレードオフを理解する
3. 状況や目的に最も適している選択肢を選ぶ

こういう選択思考を繰り返すのが設計・コーディング時の考え方の基本
他にも選択肢あるから怠けず1.からやるのがいい
状況や目的をきちんと提示すればいいアドバイスが貰えるかもね
2017/09/07(木) 21:13:30.58ID:/528PZB30
もう実際にやってパフォーマンスモニタでログでもとってみりゃいーじゃん的な
2017/09/07(木) 21:29:02.21ID:EkI2HYTy0
パフォーマンス的に問題ないかを確認するのが目的ならね。
2017/09/07(木) 21:51:07.93ID:rUDH3LDL0
JSON のシリアライズで教えてください。
派生先クラスのインスタンスを、派生元クラスのシリアライザで処理できないでしょうか。

こんなクラスがあるとします。 (書き方については大目に見てください)
class Data;
class ItemData : Data;

これをこんなことは出来ない物でしょうか。
var data = new ItemData();
(new DataContractJsonSerializer( typeof( Data ) )).WriteObject( stream, data );

この場合なら、こんな風に回避できるのですが。
(new DataContractJsonSerializer( data.GetType() )).WriteObject( stream, data );

こんなクラスのインスタンスに (AssemblyDataのインスタンス).data = new ItemData(); でシリアライズしようとすると実行時にエラーになります。
class AssemblyData
{
public Data data {set; get;}
}

ネットで見た範囲では DataContractJsonSerializer は多態に対応していると書かれた記事もあったのですが、どうにもうまくいかず。
方法があるようでしたら教えてください。
2017/09/07(木) 21:51:39.39ID:f+yzxXuh0
EventArgsとか毎回newしてるし全然問題ないでしょ
2017/09/08(金) 00:31:12.15ID:VpThhHIU0
>>966
例外メッセージにどうすれば良いか書かれてると想うけど
> DataContractSerializer を使用している場合は DataContractResolver を
> 使用することを検討するか、静的に認知されていないすべての型を既知の型の
> 一覧に追加してください。このためには、たとえば KnownTypeAttribute 属性を
> 使用するか、シリアライザーへ渡される既知の型の一覧にこれらの型を追加します。
2017/09/08(金) 07:43:59.68ID:F2F5K69aM
newの質問したものです。
newにかかるオーバーヘッドの時間調査して、パフォーマンスを比較するのを怠ってましたが、やはりやってみないとわかりませんね。
やります。皆さん色々アドバイスありがとうございます。
2017/09/08(金) 10:31:16.74ID:y+E+UDjYa
いやいやいや、それはどっちかというと頓珍漢な言い掛かりの部類でアドバイスじゃないと思うよw
今年は何年よw

コンストラクタ呼び出しが時間的に高コストなんてよっぽど特殊なクラス以外ありえないよwww
µsオーダでもmsオーダーでもなく、たった1回/秒の呼び出しなんだからw

だから最初から言ってるように、普通は書きやすい方法で書いて何も問題ないよ本当。
2017/09/08(金) 11:43:10.75ID:b0hnqFHTH
いわゆる無駄な最適化の部類だとは思うが
まぁ自分で検証するというのれは良いことなのでどんどんやるといい
2017/09/08(金) 13:15:47.36ID:bqhsPJxB0
>>970
いや、気にしてるのはnew連発の穴ボコメモリだろ?
そのうちosがうまいことやってくれるのはなんとなくわかるがそのコストって具体的にどうよ?
ってのが本当に知りたいことだろ?
環境次第だしパフォーマンスモニタ動かしてみろよって話

3日も動かすと5秒だけ動作が止まるような動きをするってなったらそれが運用上許容できるのか?バグるのか?
それもやっぱりやって見なきゃわからないんちゃうん?
2017/09/08(金) 13:55:53.86ID:y+E+UDjYa
>>972
何がいやか分からないけど、だから最初から
高価な共有リソースを使う場合は別だと言ってるでしょ
今頃何を言ってるのかね

そういう例外的なケースを除けば、毎秒数個のオブジェクトを使い捨てにしたって
問題なんか起こらない。
そんなのXPの時代だってそうだから
2017/09/08(金) 14:00:38.33ID:0UBMFtit0
データベースへのコネクションを using で括ると
コネクションプールが機能しなくなる?
2017/09/08(金) 14:30:27.51ID:bqhsPJxB0
>>973
問題起こらないってどういう範囲で言ってるの?
何度も確保したnewの領域をosがどう処理するから問題ないって言ってるの?
仕様によっては問題起きるよ
1つはメモリ限界ギリギリまでガベコレしないときは定期タスクの動きを止めてメモリ処理するよ
1分以上止まっちゃってたことあるよ
2017/09/08(金) 15:23:04.74ID:Ej7G00WUa
>>975
具体的にどうぞ。
君が問題が起こる具体的な一例を挙げればそれで話は終わる。
もちろん、極端な特殊例でなくどこでもありうるような一般的なものでお願いしますよ。

あのねえ、今はPC-98の時代じゃないんですけどw
2017/09/08(金) 15:38:29.56ID:bqhsPJxB0
>>976
は?
で?何が問題ないって?
2017/09/08(金) 15:40:34.40ID:bqhsPJxB0
とりあえずガベコレ動くときにプログラムの動作止まっちゃうよって1つあげてるよね
2017/09/08(金) 16:26:18.98ID:VL+fdMeQM
>>978
すぐに使い捨てるなら確実にGen0GCで回収されるから止まる原因になることはないよ
2017/09/08(金) 16:45:28.16ID:Ej7G00WUa
こっちは具体例上げるけど、もっと高頻度(例えば10回/秒とか)で
画面を更新する必要があるアプリなんてごく普通にあるわけで、
そういう場合、例えばGDI+なら、ペンとかブラシとかデバイスコンテキスト(普通は作るのはシステム側で
ユーザーコードじゃないけど)とか、描画ごとに使い捨てすることになるけど、
こんなのが問題を引き起こすなら使い物にならないよ。

実際.NET1.1の時代に今じゃ考えられないような貧弱なWin98のマシンで
そういうアプリをテストしたことあるけど、何の問題もなかったよ。
当たり苗だけどw
2017/09/08(金) 17:11:08.88ID:bqhsPJxB0
>>979
とりあえず解決した方法は
10分に一度程度で強制ガベコレ実行することで解決したよ
溜めるとガベコレの時間は長くなるっぽい
やってみた感じね
パフォーマンスモニタでもメモリリークしてる?ってぐらい増えてく
ガベコレが動くと解消される
でもそのとき10秒タスクなんかは動かない
小刻みに強制ガベコレを実行しておくとそれが解消される
そんな動きをしている

その動きをされると困るときに小刻みに強制ガベコレを実行する必要がある
2017/09/08(金) 17:14:12.49ID:bqhsPJxB0
これが問題があったときな
これを問題ないって言われちゃうとどう返していいかわからんけどね
2017/09/08(金) 17:19:26.30ID:bqhsPJxB0
ちなみに趣味でゲームも作ってるけど
頻繁に強制ガベコレを動かさないと
重いガベコレを実行されるときがある

ゲームでは多少重い動作をした程度なので問題にならないが
これを周期的にデータを収集するタスクを動かしてるときにやられると不味いときがある
2017/09/08(金) 17:23:06.63ID:dMUjO8jT0
だから具体的にどんなサイズのオブジェクトを
どういう頻度でインスタンス化したのか教えてくれないと
そういうどんくさい実装も可能だろうね
でも一般的な話じゃないよねとしか言えないんだよ
2017/09/08(金) 17:34:00.33ID:bqhsPJxB0
>>984
それがわかったところでだからどうなの?
何がしたいん?
2017/09/08(金) 17:36:30.75ID:bqhsPJxB0
まあ、今回の件がどうなのかパフォーマンスモニタで測ってやってみんのが一番いいよね
そのアプリが連続実行される要件に合わせてって話だけど
2017/09/08(金) 18:02:05.09ID:mcCYyLIS0
>>980
描画ごとに使い捨てにするのはデバイスコンテキストのハンドルで
デバイスコンテキスト自体じゃないじゃないんじゃないのかな?
少なくとも一般的には

あとスレ立てヨロ
2017/09/08(金) 18:15:42.38ID:Ej7G00WUa
>>987
立てたよ
https://mevius.2ch.net/test/read.cgi/tech/1504861931/l50

少なくともマネージドオブジェクト(Graphics)は毎回使い捨てだと思うよ。


スレ立てのために久しぶりにブラウザで表示したらずいぶんデザイン変わってるんだな。
こんなくだらないことするのなら専用ブラウザなんか使わなくても
もっと使いやすいようにすりゃいいのに...

まあ、もう2ch亡くなっても誰も困らんか
2017/09/08(金) 19:40:16.45ID:wFGdJLM3a
nmecabに例の辞書入れて動かしてたら時々遅くなって何かと思ったらガベコレだった
サービスにぶっこんでて気付かなかった
2017/09/08(金) 19:46:39.40ID:hqG5pPGU0
>>970
これがゆとりかぁ。
2017/09/08(金) 19:50:01.67ID:KtAqYxG/0
質問者がいなくなった後の要件のはっきりしない議論とか次に持ち越すなよ
>>988
スレたて乙
2017/09/08(金) 20:23:30.10ID:Ej7G00WUa
>>990
いや、君が人間的に幼稚なだけ。
どうでもいいけど、反論するなら事実で反論してよ
2017/09/08(金) 20:26:02.00ID:Ej7G00WUa
つーか、今時毎秒オブジェクトを使い捨てしたぐらいで何か問題が起こると
真顔で主張するって、大丈夫かしらん。

普段どんなコード書いてるのかねw
2017/09/08(金) 20:32:43.87ID:bIIt/y+7a
そもそもポーリング処理じゃなくて

ボーリング処理だからな

何が行われてるのかさっぱりわからない
2017/09/08(金) 20:38:17.46ID:HXP4jN1T0
>>994
これは恥ずかしい
ポーリング(polling)とは、通信やソフトウェアにおいて、
競合を回避したり、送受信の準備状況を判断したり、
処理を同期したりするために、複数の機器やプログラムに対して
順番に定期的に問い合わせを行い、一定の条件を満たした場合に
送受信や処理を行う通信及び処理方式のことである。
2017/09/08(金) 20:38:39.24ID:hqG5pPGU0
キミの用途はそうではなくても、常識としてnewやstringは遅いという認識を共有してくれないかな。
今時とか、普段とか、遅くて使い物にならなかった昔のJava屋のセリフそのままじゃないか。
どんな時代でもCPUのリソースは有限なんだよ。
2017/09/08(金) 20:39:35.74ID:HXP4jN1T0
>>994
ボーリングってなんだよwww
2017/09/08(金) 20:49:45.90ID:13cy/HVma
>>995
>>997
元のレスをよく見ろよ

>>957
2017/09/08(金) 21:00:17.89ID:Ej7G00WUa
穴を掘るだけの簡単なお仕事です
2017/09/08(金) 21:03:18.12ID:Ej7G00WUa
>>996
上から目線で頓珍漢なことを言ってるお型を見るほど滑稽な物はないなw
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 52日 14時間 22分 33秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況