[過去ログ] C#, C♯, C#相談室 Part95 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
851: (ワッチョイ 122c-LiuO) 2020/02/16(日)22:47 ID:5EL9p8ON0(1) AAS
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
この本は、Ruby, Selenium WebDriver でのテスト手法を書いた本

例えば、Ruby, Selenium WebDriverで、
Yahoo への自動ログインするスクリプトは、下を参照

【VBScript】WSHについて話し合うスレ【JScript】
2chスレ:tech
852: (ワッチョイ 630c-OxJ8) 2020/02/16(日)22:59 ID:jBsklMHb0(1) AAS
そしてさも当然ように混じり込むいつものRubyキチ
853
(1): (ワッチョイ 477b-yNzz) 2020/02/16(日)23:43 ID:j/dbz9ZG0(8/8) AAS
>>844
だから君は意識が高すぎるんだよ。
誰もAPIを欲してないし、スクリプトを書きたいとも思ってない。
GUIを自動化したいだけ。

そして君だって、1つや2つのファイル名の変更は、普通にエクスプローラで行うだろ。
勿論APIは整備されていて、コマンドプロンプトでren fileA fileB と打つだけなのに。
GUIの方が簡単だから、GUIで済む場合はGUIを選択する、これが普通だ。
省15
854: (ワッチョイ 477b-yNzz) 2020/02/17(月)00:04 ID:afVseoTo0(1/7) AAS
>>845
それがすんなり行くかどうかはアプリの作りによる。
例えば、VSのコンパイル機能は csc.exe へのフロントエンドでしか無く、コマンドラインオプションを作るだけの物ではあるだろ。
こういう場合は至って簡単で、そのまま吐くだけで済む。

上手く行かなかったとしたら、前回の内部状態と混線したのだろうけど、ぱっとは思いつかないね。
普通にアプリを作ってしまえば当然再現性はあり、
どのボタンを押したかをそのまま記録/再生すれば当然同じ結果は生成される。
省7
855
(1): (ブーイモ MM0e-BzDP) 2020/02/17(月)00:55 ID:b+8cPYAUM(1) AAS
>>853
いやいや誰もUI操作を自動化したいとは思ってない
UI操作の背後で行われてる処理を使ってマクロを組みたいんだよ
ユーザーは無知だからUI操作をエミュレートする方法しか思いつかないんだろうけど開発者はそれじゃいけない

俺は名前変えるときでもコマンド打つけどねgit mv a bってさ
つうかそういう話じゃないよ
普段GUIで作業してようがなにしようがオートメーションしたいならGUI操作じゃなくAPIが整備されてたほうが嬉しい
省16
856: (ワッチョイ b7a7-sep5) 2020/02/17(月)01:21 ID:HQMlSi3n0(1/2) AAS
処理の冒頭だけで途中でメッセージボックスが表示されてさらにユーザの追加入力が必要な処理はこれ使えねぇだろ
まさにゴミだろキングオブゴミだろ
857
(1): (ワッチョイ 634b-cV5V) 2020/02/17(月)11:36 ID:7RiN2OZY0(1) AAS
ThreadPool を使って、非同期に処理を実行しています。
特定のタイミングで ThreadPool に溜まっている処理を全て削除したいのですが、どのようにすればよいでしょうか。

// Threadの登録
ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod));
// ThreadMethod の処理が終わる前に abort させたい

スレ違いなら、誘導してもらえると助かります。
858: (ワッチョイ f2cf-OxJ8) 2020/02/17(月)12:34 ID:7ui4xGiq0(1) AAS
古すぎるコード
859: (ワッチョイ ded6-dJav) 2020/02/17(月)13:00 ID:uup53KRg0(1) AAS
>>857
CancellationToken(CancellationTokenSource.Token)
860
(3): (アウアウウー Sac3-+wK4) 2020/02/17(月)13:25 ID:YCC5nnQ0a(1/2) AAS
>>850
なんか話が噛み合ってないね。

ボタンABCDEを全部クリックしたのと同じことが起るボタンが欲しい、という要件が発生した時、
その責務をモデルに持たせるべきか、むしろUIレベルでやってしまった方がよいかは微妙で
ケースバイケースだと思う。

俺は後者の場合の話をしています。
これまでの流れからそれは自明だと思うけど。
省4
861
(1): (アウアウウー Sac3-+wK4) 2020/02/17(月)13:37 ID:YCC5nnQ0a(2/2) AAS
まああれだ、ボタンクリックをシミュレートするなんてなんかダサい、という
中二病的な発想は(同意はできないけど)理解はできないでもない

そういう人は「プログラマの意図と実際のコードに乖離がある」 ことの方には気持ち悪さを感じないんだねw
っていうか理解できないのか。>>850の人もそうだと思うけど。

だから、プログラマの意図というか要件は「ボタンABCDE全部が押されたのと同じことを起こすボタンが欲しい」
なんだけど。
862: (ワッチョイ 1242-OxJ8) 2020/02/17(月)14:03 ID:/fXse39B0(1) AAS
俺なら「ボタンが同時に押されないように作る若しくは押されても一つだけ有効にする」で組む方を優先するわ
863
(2): (ブーイモ MM0e-BzDP) 2020/02/17(月)18:09 ID:qOh2XpnLM(1) AAS
>>860
微妙、ではなくモデルに持たせるのが正解
>>861
中2とか意味わからん理由ではなく実益をとっただけ
理解しやすさ、テスタビリティ、変更への耐久性、等を考えればボタンクリックは、無い

プログラマ意図をコードに反映することは良い習慣だが
判断を誤ったプログラマの意図をコードに反映させることを正当化してはいけない
省1
864
(1): (ワッチョイ ef7b-sg8N) 2020/02/17(月)18:50 ID:q0kZWH/L0(1) AAS
ワッチョイ 477b-yNzz
ブーイモ MM0e-BzDP
アウアウウー Sac3-+wK4
いつまで続ける気だよ役立たずどころかクソ迷惑
865: (ブーイモ MM0e-BzDP) 2020/02/17(月)19:14 ID:vEzx9LASM(1) AAS
>>864
C#のスレでFormsについて話し合うことの何が問題なんだ?
もともとはVC++だったけどこの話題はC#でも通じる話だからここで話してもなんの問題もないはずだ
866
(1): (ワッチョイ 477b-yNzz) 2020/02/17(月)19:45 ID:afVseoTo0(2/7) AAS
>>855
まあ君がどうしてもPowerShell推しなのはわかった。

> UI操作するオレオレDSLなんてまあバグだらけだろうな
それはオレオレDSLに無理に高度な機能を持たせすぎてるから。
つるんと書かれたDSLをただ上から順番に実行するだけ、しかもエミュレーションの時に、
何行のコードを追加し、何行の既存コードを変更する必要があると思ってるんだ?

面倒だから答えを言ってしまうが、追加が30-50行程度、既存変更は0行、つまり変更無しだ。
省9
867: (ワッチョイ 477b-yNzz) 2020/02/17(月)19:46 ID:afVseoTo0(3/7) AAS
あと、PowerShellにこだわりすぎて、強力なDSLなんてPowerShellでしか得られないと思ってないか?
気づいていないんだろうけど、「テキストファイルで操作する」というのはUnixのAPIであって、
そこに揃えるだけでUnix周りのツールが全て使えるようになるんだよ。
具体的に言うと、DSLソースをファイルではなく標準入力とすれば、
(一応言っておくがC#等GUIアプリもコマンドラインから起動すれば普通にパイプできる)
その前段のツールが標準出力に「CONTROL Button instancename Click」と吐きさえすれば自動化できるのだから、
PowerShellみたいな糞文法につき合う必要もなく、言語も選べる。当然、C#やPythonも使える。
省7
868
(1): (ワッチョイ 477b-yNzz) 2020/02/17(月)19:47 ID:afVseoTo0(4/7) AAS
>>860
一応調べてみたが、この場合は微妙だし、どっちでも良いと思う。
> 外部リンク:hinative.com
> 外部リンク:xcelgo.com
要は、中身まで模倣するのがemulationで、外面だけ合わせるのがsimulation。
よって実行速度は通常simulator>>>emulatorになる。

void Button_Clicked(Object^ sender, EventArgs^ e) {
省21
869
(1): (ワッチョイ 477b-yNzz) 2020/02/17(月)19:49 ID:afVseoTo0(5/7) AAS
余談だが>>850のUIテストが安定しないのはこの辺が大きい。
要は、GUIなんて所詮人間相手前提で組んであるのであって、
CPUの速度でイベントを積まれた場合にも正しく動くレベルまでのテストは為されていない事も多い。
技術的に見ればアプリが糞で組み方が悪いだけだが、そこまで保証する意味もないのも事実。
結果、「人間がやると動くが、CPUでやると動かない」なんてのは割とよく遭遇することになる。

だからまあ、「UIテストは安定しないから出来るだけ回避」も一つの戦術だが、
「UIテストも安定するようにちゃんと設計する」も一つの戦術なんだけどね。
省7
870
(1): (ワッチョイ 1fad-z23p) 2020/02/17(月)19:55 ID:Nkb49BjE0(1) AAS
議論が発散しててよくわかんないな。
何が何なの?全員、アブストを書いたらどうだ?
871
(1): (ブーイモ MM32-BzDP) 2020/02/17(月)19:56 ID:iNM+ZupGM(1) AAS
>>866
論点をずらそうとしてるね

クソみたいなUI操作オレオレマクロよりUI非依存のPSのが低コストで品質がいいねというだけの話だろ
例としてPSを出したが別になんだっていいよ

最も大きな問題はインタプリタの方ではなくUI操作でオートメーションサポートするというバカバカしい発想の方な
オートメーションをサポートするならUI非依存のAPIを整備しろ
それが正しい道だ
872: (スッップ Sd32-3blX) 2020/02/17(月)20:21 ID:YeNwIpPfd(1) AAS
話がまとまってないのに余談とか言っちゃって相手もそれに乗っかちゃって…
これを繰り返すからいつまで経っても収束しないし元の議題が何だったかわかりづらくなる
873: (ワッチョイ 477b-yNzz) 2020/02/17(月)20:24 ID:afVseoTo0(6/7) AAS
>>860
>>868訂正、結果的に>>869は間違いなのでよろしく
俺の見解では全部simulationになる。

確認してみたら、PerformClickは同期イベントだった。
呼び出し履歴見る限り、Button.PerformClick->Button.Onclick->Control.OnClick->イベントハンドラ なので、
OnClickもほぼ確実に同期だと思われる。
だから呼称は全て simulation の方が妥当となる。
省4
874
(1): (ワッチョイ 477b-yNzz) 2020/02/17(月)20:40 ID:afVseoTo0(7/7) AAS
>>871
> 論点をずらそうとしてるね
お前がだろ。

> UI操作でオートメーションサポートするというバカバカしい発想の方な
GUIの自動化ならGUIのエミュレーションが俺的に第一選択肢だ。
これについては既に>>842で言ったとおり、君が気に入らないのはどうぞご自由にだが、
最近話題のSeleniumでも同様なのだから、君が思うほど糞でもないんだよ。
省3
875
(1): (ブーイモ MM0e-BzDP) 2020/02/17(月)21:41 ID:zVw4OscHM(1/5) AAS
>>874
Selenium系はAPIを提供してないサイトのオートメーションをユーザーが苦労して泣く泣く自動化したい場合やテスト自動化で使うツールな
俺らが今議論してるのはユーザー目線じゃなくて提供者側なんだよ
提供者側がAPI実装を放棄してGUI操作をサポートするなど馬鹿なことだ
ユーザーに苦労を押しつけてはいけない
876
(2): (アウアウウー Sac3-+wK4) 2020/02/17(月)21:45 ID:HH3Dtgxka(1/5) AAS
>>863
複数のボタンを全部クリックした時の動作、なんていう下らない機能を
モデルに持たせることが正当化されるケースってむしろあんまりないと思うよw

ぱっと思いつくのは、ボタンABCDEをクリックした時の処理に共通する部分
(例えばファイルのopen/closeのような前処理後処理)があって、まとめてやる場合には
大幅な最適化が可能な場合。

この人本当にプログラマかな。
877: (アウアウウー Sac3-+wK4) 2020/02/17(月)21:49 ID:HH3Dtgxka(2/5) AAS
>>870
白鳥はすべて白い(PerformClickなんて100%イラネ)という人がいるので、
いやいや世界には黒い白鳥もいるんだよ、とまあそういう話
878
(1): (ブーイモ MM0e-BzDP) 2020/02/17(月)22:01 ID:zVw4OscHM(2/5) AAS
>>876
その糞設計だと要件変化ですぐにコードが汚染されるだろうなぁ
処理は今までどおり実行したいが特定のボタンだけ画面から削除したくなったせいで謎のHiddenボタンを置いたり
処理の結果で後続の処理を分岐したくなったせいで不自然な制御フラグフィールドが乱立したり
画面のデザイン変えただけなのになぜか処理の実行順序が変わったり
少し想像しただけでトラブルの兆しがするするでてくる
こういう発想はアマチュアらしくて微笑ましいけど業務で見かけたら説教しなきゃいけないぐらいだ
879: (ワッチョイ 932c-VKUZ) 2020/02/17(月)22:05 ID:dzSo2/zk0(1) AAS
>>863
各ボタンに割り当ててるコマンドをcomposite Commandで繋いで終わりじゃない?
880
(1): (アウアウウー Sac3-+wK4) 2020/02/17(月)22:08 ID:HH3Dtgxka(3/5) AAS
>>878
よく分からない妄想ワロタw
意味が分からないよ

>要件変化ですぐにコードが汚染される
まさにその通りw
君の設計方針だと必然的にそうなる。
881
(1): (アウアウウー Sac3-+wK4) 2020/02/17(月)22:09 ID:HH3Dtgxka(4/5) AAS
どーでもいい非必然的な機能をモデルに持たせることは、
UIにベタベタ処理を実装するのと同じ糞設計ですw
882
(1): (アウアウウー Sac3-+wK4) 2020/02/17(月)22:28 ID:HH3Dtgxka(5/5) AAS
一応言い訳しておくけど、>>876に書いたみたいに最適化の恩恵なんかなくても
複数の処理をまとめて一度にやるメソッドをモデルが持つことが自然なケースはもちろん存在すると思う。

っでも俺が言っているのは「黒い白鳥もいる」だからね。
「白鳥は全部白いは間違っている」と言ってるだけだから
883: (ブーイモ MM0e-BzDP) 2020/02/17(月)22:56 ID:zVw4OscHM(3/5) AAS
>>880
お前のやり方はではすぐにコードが汚くなるって言ってんの
俺のやり方はメンテナンスしやすいモデルを採用してるからコードの品質が維持される
884: (ブーイモ MM0e-BzDP) 2020/02/17(月)23:01 ID:zVw4OscHM(4/5) AAS
>>882
まとめて処理をする機能が要件にあるならそれをモデルに実装するのが王道で自然な方法
お前はそれをボタンクリックなどという大道芸的な方法で実装しようとしてる異端
885: (ブーイモ MM0e-BzDP) 2020/02/17(月)23:03 ID:zVw4OscHM(5/5) AAS
>>881
そうだ
だからまとめて処理をするという最小限の機能をモデルに実装せよと言ってる
ボタンクリックなどという余計なお遊びは入れなくていい
886
(1): (ワッチョイ b7a7-sep5) 2020/02/17(月)23:09 ID:HQMlSi3n0(2/2) AAS
こない未来を予測してる奴はバカ
絶対失敗する
しかも、最悪の形で
887: (ブーイモ MM0e-BzDP) 2020/02/17(月)23:18 ID:43uLIzGsM(1) AAS
>>886
来るかもしれない未来を考えないのも同じぐらい馬鹿だな
そして未来がわからんなら余計な拡張性を導入するのではなくコードを容易に改修できるようにシンプルに保つことが重要
つまりシンプルなモデルにやりたいことを素直に書けばそれでいい
それで済むものをわざわざボタンクリックなんていうやらなくていい遠回りな方法で実装するのは後で困る馬鹿の典型例
888
(4): (ワッチョイ 477b-yNzz) 2020/02/18(火)00:50 ID:/0BlMKgF0(1) AAS
>>875
だから君はちょっと意識が高すぎるんだよ。

自動化したいユーザーは、今やったのと同じ操作を100個のファイルに適用したいとかだ。
「ログに出てるコマンドをコピペすれば今やった操作を自動化出来ます」との情報を得て、ログを見たら、

CONTROL TextBox filename my000.jpg
CONTROL Button file_load Click
CONTROL Button filter_A Click
省12
889
(1): (ワッチョイ b7a7-sep5) 2020/02/18(火)00:57 ID:GPdxsdEp0(1) AAS
>>888
だからよ
1処理用の処理を連続で100回動かしたら確認ダイアログが100回出るだろーが
バカかテメーは
890: (アウアウウー Sac3-I9Fa) 2020/02/18(火)06:52 ID:fxDAJd/Ea(1) AAS
言い合いになるなら
構わなきゃいいのになあw
891: (ブーイモ MM32-BzDP) 2020/02/18(火)07:50 ID:LkwV7cyFM(1/3) AAS
>>888
意識は高くない普通の感覚だよ
当たり前のことを当たり前にやるだけだ
モデルに処理を書いてビューに紐付けるってごくごく自然なコードだろ

しかもそれすればほとんどタダでオートメーションサポート機能が手にはいるんだぞ
ボタンクリックとかわざわざ苦労してトラブルを持ち込んでくる意味わからねえわ
マゾなのか
892
(1): (JP 0H6e-1vH+) 2020/02/18(火)07:59 ID:ZOlvaa/TH(1) AAS
>>889
その程度の回避策が思いつかないようなバカがいるとは
893
(2): (ブーイモ MM32-BzDP) 2020/02/18(火)08:20 ID:LkwV7cyFM(2/3) AAS
>>888
ちなみにこのマクロでわかりやすいと思うのはお前だけだぞ
普通の人だったら
オートメーションなのなんでコントロールを操らないといけないんだ意味わからん
ボタンとかテキストとか書かれても何やってるか意味わからん
各行の関連性が意味わからん
操作してるインスタンスはどのフォームだよ意味わからん
省9
894: (ワッチョイ 63de-sep5) 2020/02/18(火)08:23 ID:didWPBin0(1) AAS
>>892
そこ工夫が必要ならこんなくだらんメソッド呼ばんわw
895
(1): (ブーイモ MM32-BzDP) 2020/02/18(火)08:43 ID:LkwV7cyFM(3/3) AAS
>>888
例えばさぁ
お前のオレオレうんこマクロでファイルが存在しなかった場合のハンドリング処理はどうやって書くつもりなんだ?
ファイルの形式が間違ってた場合は?
セーブに失敗したときどうする?
指定したディレクトリツリーのファイルすべて処理したいときはどう書くんだ?
896
(1): (ワッチョイ 167b-4wVb) 2020/02/18(火)21:08 ID:U5rnBvKT0(1) AAS
直のWINAPI(というか多分アンマネージ)が混ざる動作だとDebugとReleaseで動き変わること割りとあってめんどくさいな
897: (ドコグロ MM47-P13C) 2020/02/19(水)07:47 ID:bztKe272M(1) AAS
>>896
単なるお前のバグだろ
898: (ワイーワ2 FFdf-IPX/) 2020/02/19(水)11:28 ID:cGULNOoWF(1) AAS
WINAPIのはDebugだと0埋めされるんだろ
そりゃ動作変わるって(バグがあればω)
899: (オイコラミネオ MMff-oN3k) 2020/02/19(水)14:38 ID:xNHctau2M(1) AAS
0じゃなく埋められる数値は何種類かある
デバッグリリースで挙動変わるのはほぼ確実にメモリ周りでなんかやらかしてるね
900
(2): (ワッチョイ c37b-1Vd5) 2020/02/19(水)21:10 ID:1xSUjqPH0(1/3) AAS
>>893
俺はPowerShell知らんから推測文法で勝手に書くと
function apply_filterA(filename){ // (A)
echo CONTROL TextBox filename $finename
echo CONTROL Button file_load Click
echo CONTROL Button filter_A Click
echo CONTROL Button file_save Click
省16
901
(1): (ワッチョイ c37b-1Vd5) 2020/02/19(水)21:11 ID:1xSUjqPH0(2/3) AAS
君が間違えているのは、君が出来ているつもりになっている「レイヤー設計」だ。(>>819)
君の中ではPowerShell(中レベル)/アプリの2層しかないから
中レベルAPIをアプリ自体に求め、それで汎用性が全くなくなっている。
そうではなく、各言語向け中→低レベル変換ライブラリ(上記A,B等)を噛ませば、
各言語(中レベル)/各言語向けレベル変換ライブラリ/アプリ(低レベル)となり、
全ての言語で中レベルでも低レベルでも書ける状況になるだろ。

俺の好きなフォーマットで書かせろ、というのはいいが、それはAPIに直接求めるものではない。
省4
902
(1): (ブーイモ MMff-o/5i) 2020/02/19(水)22:47 ID:Z9/2no0YM(1/6) AAS
>>900
まる一日以上かけてそれかよ
そんな汚いわかりにくいコードをありがたがるのはお前だけだぞ

さて>>895に答えるのに何日かかるかなw
903: (ブーイモ MMff-o/5i) 2020/02/19(水)22:52 ID:Z9/2no0YM(2/6) AAS
>>901
ホント残念なやつだな
アプリの中にさらに層が別れてるに決まってんだろ
それぞれの層をスクリプティング用に公開することもほぼノーコストでできる
薄汚いオレオレラッパーを大量生産する苦痛とは無縁だ
そんなこた言わなくてもわかることなんだがわからなかったか
904: (ブーイモ MMff-o/5i) 2020/02/19(水)23:21 ID:Z9/2no0YM(3/6) AAS
>>900
つうかな自由とハックを混同するな
そういうのは黒魔術的な方向に進化してあっという間にカオス化して行く
そんなものはだれもありがたがらない
製造元が頭の悪いマクロしか提供していないから泣く泣くラップ作業に着手するってんならまあ話はわかるが進んでやりたいことじゃねえわな
905
(3): (ワッチョイ c37b-1Vd5) 2020/02/19(水)23:22 ID:1xSUjqPH0(3/3) AAS
>>902
まあもう一々答える気はないんだけどな。
本当に問題になることを突かれた場合は改善に繋がるから有用なのだけど、
君のレベルではそれは無理だし、実際に今回も恥ずかしいことになってるだろ。

多分君が根本的に間違っているのは、バグをバグと認識できてないことだ。
既に言ったがUIを噛ませて動作が不安定になるのは、明確にバグなんだよ。
それはCPUが余りまくっている暇人環境なら再現しにくいだけで、
省4
906: (ブーイモ MMff-o/5i) 2020/02/19(水)23:24 ID:Z9/2no0YM(4/6) AAS
>>905
答えられませんわかりませんって素直に言ったら?
潔さも時にはたいせつだよ
907: (ブーイモ MMff-o/5i) 2020/02/19(水)23:31 ID:Z9/2no0YM(5/6) AAS
>>905
つか不安定ってとこを拠り所にしてるようだが
仮に完全に安定しててもUI操作ベース貧弱文法のオレオレマクロなんて積極的に使う理由にならんからな
UI非依存のAPIを優先して他に何もなくてどうしてもUI操作せざるを得ないとなったらそこで初めて使うか別のツールに移行するか検討すんだよ
そこんとこはやく理解したほうがいいぞ
同僚や取引先にボタン押すオレオレマクロ機能をドヤ顔で提案して赤っ恥をかく前に気づいたほうがいい
これ本当に君が心配だから言ってる
908: (ブーイモ MMff-o/5i) 2020/02/19(水)23:36 ID:Z9/2no0YM(6/6) AAS
しかもな
もし仮に百万歩譲ってUI操作をサポートしなきゃならんとなったとしてもだ
そんなものはUIA、WinAppDriver、Seleniumに任せときゃいいんだよ
時間と金をかけて赤っ恥マクロを製造する必要はない
もうすでにゴミマクロの億万倍便利なライブラリがあるんだからそれつかいなよ
エンドユーザだってそっち使うよ当たり前だろ
909
(1): (ワッチョイ ff63-JjxG) 2020/02/20(木)00:55 ID:FY8QkcoV0(1) AAS
>>905
正常系だけ動けばいいマクロだったら人間用のUIを触るでもなんとかなるよ。
異常系もハンドリングしなければならないなら、何が出てくるかの一覧もないような、ダイアログに書かれてることを理解しなくちゃいけないんだから、網羅するのはめちゃくちゃ大変だと思わないかな。

人間用には問題を自然言語で全体的な説明する必要があって、
外部プログラム用には事前定義されたメッセージで問題を端的かつ詳細に伝える必要があって、
両者はプロトコルが大きく異なるんだから、人間用に外部プログラム用の伝え方をしたり、もしくはその逆ってのはどう考えても筋が悪い。

外部プログラムに人間シミュレーターをやらせたり、
省4
910
(1): (ワッチョイ c37b-1Vd5) 2020/02/21(金)23:28 ID:UQ40Zz5M0(1) AAS
>>909
ではまず、
・君的超最高な異常系ハンドリング方式、>>893と同様にコードで、と
・現状やたらあるタスクランナー等のどれ一つにもそれが採用されてない理由
を聞こうか。
911: (アウアウエー Sadf-o/5i) 2020/02/22(土)00:53 ID:eCNgUA1qa(1) AAS
こういう返しをしてくるということは数日かけても本当に思いつかなかったんだなwww
912: (ワッチョイ e397-JjxG) 2020/02/22(土)08:29 ID:lw7HhssO0(1) AAS
>>910
あなたは話を逸らす傾向にあるから、その前に、まず、
「自分のオレオレマクロでは正常系での動作しか考えられていなくて、
正常系で動かないのであれば、バグはバグなんだから修正する必要があると言っていた。
だが、異常系への対応までは考慮することができていなかった」
ということを暗に表明していることを認めてもらえるかな?
異論があるならどこが違うのか指摘してくれ。
913: (ワッチョイ ff63-ufZq) 2020/02/22(土)10:09 ID:hsz3eTB90(1) AAS
ガイジの相手をしているところが間違っているね
914: (アウウィフ FFe7-IPX/) 2020/02/22(土)14:22 ID:2qBDSHyDF(1) AAS
正常系と異常系がごちゃまぜで
どこが危なくてどこが危なくないのか全く区別がつかない
915: (ワッチョイ 937b-UH+R) 2020/02/22(土)14:33 ID:4D2R9AsT0(1) AAS
毎度毎度スレ違いどころか明後日の方向レスの応酬やっている連中は病院行け
916: (ワッチョイ ff2c-lQWV) 2020/02/22(土)14:53 ID:qQaAG+8d0(1) AAS
漏れは、スクレイピングに、Ruby, Selenium WebDriver, Nokogiri を使う。
ブラウザの自動操作もできるし

ただ、各サイトの解析が大変。
特に、Ajax で動的に読み込むものは、読み込み前には存在しないから
917: (ワッチョイ 232f-lQWV) 2020/02/23(日)21:04 ID:9ZBd+yN40(1) AAS
ところでこれ、既存の他アプリを操作するって話なの?
自分の既存アプリを多アプリが操作するって話なの?
多アプリで操作されるアプリを設計するって話なの?
918: (アウアウウー Sa0f-ymO9) 2020/03/09(月)14:45 ID:aNmrWQjka(1/3) AAS
こんな感じで

TestDataGridView.Columns.Add("Number", "No.");

TestDataGridView.Columns.Add("Item", "項目");

for (int i = 0; i < Max; i++) {

TestDataGridView.Rows.Add(1);
省9
919
(1): (ワッチョイ 4f7c-MjGO) 2020/03/09(月)15:04 ID:306ybdW+0(1) AAS
GCがバカバカ発生したってのはどうやって確認したの?
遅い理由がGCにあるってどうやって確認したの?
920: (アウアウウー Sa0f-ymO9) 2020/03/09(月)15:07 ID:aNmrWQjka(2/3) AAS
>>919
デバッグで起動して、右側の診断ツールのプロセスメモリのグラフに黄色のマークがどんどん現れたのです。
921
(1): (ワッチョイ 9f24-CBSz) 2020/03/09(月)15:52 ID:GI3THqg50(1/3) AAS
WinformsならSuspendLayout & ResumeRayout(true)で囲ってみては?
DataGridViewってItemsSourceに代入するとき以外は代入するたびに表示の更新されるよね、確か
922
(2): (アウアウウー Sa0f-ymO9) 2020/03/09(月)16:45 ID:aNmrWQjka(3/3) AAS
>>921
やってみましたが変わらずです。
11列×256行で最初の2列はそのままで以降の列に計測値と計算値を代入して、次の測定でクリアするのですが、一回目は瞬時クリアで2回目以降は20秒くらい待たされます。
自動調節などは入れていません。

今まで同様なソフト作っていて初めての事です。
923: (スッップ Sdbf-UVo+) 2020/03/09(月)17:12 ID:cFIy8do/d(1) AAS
プロファイラでどこが時間くってるか見てみれば?
924: (ワイーワ2 FF3f-g6LZ) 2020/03/09(月)18:10 ID:T4gz2l9RF(1) AAS
何らかの代入してる方に問題ありそう
925: (ワッチョイ cb7b-NDfE) 2020/03/09(月)18:28 ID:UntOhQUT0(1) AAS
>>922
ミニマムコード作って動かしてみれば
それでそんな動作になるのなら諦めるか改めてそのコード示して質問するか
一回目と2回目の動きが変わるとかGCが頻繁に動くとかちょっとありえないし
926
(1): (ワッチョイ 9f24-CBSz) 2020/03/09(月)18:28 ID:GI3THqg50(2/3) AAS
>>922
ちゃんと
TestDataGridView.SuspendLayout();
TestDataGridView.ResumeRayout(true);
って書いた?

これはコントロール毎にしか聞かないから、Form1のサスペンド呼び出しても子コントロールには効かない
927: (ワッチョイ 9f24-CBSz) 2020/03/09(月)19:15 ID:GI3THqg50(3/3) AAS
TestDataGridView.SuspendLayout();
//ここにTestDataGridViewの処理を書く
TestDataGridView.ResumeRayout(true);

いずれにしても20秒も掛かるとなると他に原因ありそうだな
一応自分はFlowLayoutPanelに自作コントロールをListViewのように並べるというソフト作ってた時、
1000個以上のアイテムを一気に追加すると数秒ラグってたのがこの手法によってほぼ一瞬で表示されるようにはなったが
928
(1): (スッップ Sdbf-UVo+) 2020/03/09(月)19:28 ID:JH2CO7i+d(1) AAS
デバッガ表示見てるんだからプロファイラで問題箇所特定が一番早くて確実
その上で最小再現コード作ったり他の設定いじったり試行錯誤してみればいい

なんで便利な標準ツールを使わずに他の手法を進めるのか理解できない
929
(1): (ワッチョイ 9f94-ymO9) 2020/03/09(月)21:38 ID:aWxXRkAf0(1/3) AAS
>>926
for文の前後に入れました。
930
(1): (ワッチョイ 9f94-ymO9) 2020/03/09(月)21:39 ID:aWxXRkAf0(2/3) AAS
>>928
すまん、使いこなせないのだ。
931: (ワッチョイ 9f94-ymO9) 2020/03/09(月)21:50 ID:aWxXRkAf0(3/3) AAS
>>929
Resumeの()にはtrueじゃなくて空でした。
駄目?
1-
あと 71 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s