19/06/10 19:55:32.78 MrgpB0NP0.net
抽象化されたソースから追えないゴミカスコードをどうやってコピペしたらいいですか?
インターフェース同じやつ片っ端から貼りまくればいいですか?
36っこありますね
→ウンコですね New!
391:デフォルトの名無しさん
19/06/10 19:59:23.27 +AzPxr5na.net
コピペできないって悩むってことはやっぱり抽象化が正解なのか
いかに下っ端コーダーにコピペをさせないかがプロジェクト成功の鍵だからな
392:デフォルトの名無しさん
19/06/10 20:07:55.28 MrgpB0NP0.net
>>385
バカじゃん
まるごとコピペして名前だけ変えて放置だっつの
こんなキタネェコード付き合ってらんねーよ
1クラス1ファイルで書いてあるけどこんなゴミにこんなファイル数いらねーよ
Xxx.csに全部ツッコんでやった
まとめてゴミ箱だw
アンチパターン「マトリョーシカ」「たけのこの皮」「玉ねぎの皮」「マズイミルフィーユ」とか名付けたい
くだんねー薄皮クラス全部いんねっつーの
393:デフォルトの名無しさん
19/06/10 20:09:50.35 +AzPxr5na.net
>>386
はいリジェクト
ばいばい
394:デフォルトの名無しさん
19/06/10 20:37:44.89 MrgpB0NP0.net
逃げたか
395:デフォルトの名無しさん
19/06/10 22:36:29.43 aFtuMg1K0.net
>>382
そこまでしないと実装できないんですね。
Enabled=False
でできればよかったのですが、うーんどうしよう。
396:デフォルトの名無しさん
19/06/10 23:01:39.91 mjEnv2YNd.net
>>389
サンプルの
DataGridViewDisableButtonCell
をコピペで持ってきたらいいだけじゃん
397:デフォルトの名無しさん
19/06/10 23:28:43.62 MrgpB0NP0.net
でも正直なんでこんな面倒臭いの?ってぐらい作ったやつのセンスが悪いよね
398:デフォルトの名無しさん
19/06/10 23:40:05.50 ZWxvLRT60.net
C#は Visual Studio のサポート機能が無いと、コード書ける気しないわな。
399:デフォルトの名無しさん
19/06/10 23:57:56.14 aFtuMg1K0.net
>>390
それすら面倒だけどやってみます。
MSが普通にEnable実装しておけば、俺たちは True Falseの設定だけでできたのに。
400:デフォルトの名無しさん
19/06/10 23:58:17.24 s/X+Cj/I0.net
>>392
最近よくVisual Studio Codeで書いてるよ
401:デフォルトの名無しさん
19/06/11 00:20:18.
402:49 ID:eYjHCkmz0.net
403:デフォルトの名無しさん
19/06/11 00:27:16.57 KO5Z5H7da.net
WinFormsのコントロール全般だけど、MSとしては>>390程度のことは
自前で継承して作り込んで使ってくれっていうスタンスだからなあ
(MSDNのドキュメントもそれ前提の書かれ方だし)
作りこむのが面倒であればGrapeCityとかが売ってる高機能なコンポーネントを使えばいいわけだし
404:デフォルトの名無しさん
19/06/11 00:29:30.86 VMcLTapW0.net
>>395
ちょっとでも使われ方の検討したのかよ
ってレベルじゃね?これ
405:デフォルトの名無しさん
19/06/11 01:03:45.60 8NPGWhvc0.net
>>395
そういう問題じゃなくて、ボタンにEnable False True入れるなんて常識だろ。
それ位実装しとけよ。くそMSって話。
406:デフォルトの名無しさん
19/06/11 01:12:02.27 fTJbh9kM0.net
>>398
こいつWebアプリ開発させられたら発狂しそう
407:デフォルトの名無しさん
19/06/11 01:38:08.73 ogrGMDt8a.net
今日のNGはこれか
VMcLTapW0
真っ赤にして待ってろ
408:デフォルトの名無しさん
19/06/11 01:45:34.19 VMcLTapW0.net
なんか普通のことが普通にできなくなって開発者からそっぽ向かれてない?
wpfなんかこんなののオンパレードだし俺ら工場のおっさん向けアプリ作ってるだけなんに
必要のない変な機能多すぎ
その割にこんな簡単な機能は未実装って
未完成ってレベルじゃないよね
409:デフォルトの名無しさん
19/06/11 01:48:32.42 p0Xp2yNy0.net
>>401
そんなに同意して欲しいなら同意してやるからもう寝なよ
410:デフォルトの名無しさん
19/06/11 01:51:14.95 VMcLTapW0.net
>>402
むしろお前こそ言いたいことがあるならハッキリ言うべき
無言でユーザだけ減ってる状態に苦労してると思うぞmsは
411:デフォルトの名無しさん
19/06/11 02:17:35.18 FGV57sZTd.net
>>403
言いたいことはお前が無能ってことだよ
412:デフォルトの名無しさん
19/06/11 02:19:21.88 AmszXiFy0.net
お前みたいな馬鹿が尻の穴嘗めてくれるからウハウハだぞバカ
413:デフォルトの名無しさん
19/06/11 02:28:30.43 VMcLTapW0.net
多分、日本はwindowsで作った資産があるけど
そうでない国はお金がないからわざわざWindowsを使わない
そんな状態が続いたもんだからlinuxの資産が貯まってしまって
お金を持っても今度はWindowsには移行できない
そんな事情のある最近のlinuxに寄り添ってる理由だろ
昔はその作りやすさから王者だったけど
最近そーでもねーのが致命的になってんじゃねーのか?と
414:デフォルトの名無しさん
19/06/11 02:33:30.92 mh1wU8omM.net
クソ長文書いてねえで寝ろクズ
415:デフォルトの名無しさん
19/06/11 03:14:41.06 aZcuYhl50.net
HTML のボタンには、disabled 属性もある
416:デフォルトの名無しさん
19/06/11 07:09:30.30 nARElikq0.net
もうwebオンリーで行くかなと思ったけどバーコード使いたいと言われるとFormeアプリ使わんとダメだよね
XAMLは流行る予感がしないから触る事ないな
417:デフォルトの名無しさん
19/06/11 08:52:13.44 eYjHCkmz0.net
Webでバーコード扱えるけど
418:デフォルトの名無しさん
19/06/11 10:34:45.11 q+xysia0d.net
Shape Detection APIな。
PCのChromeでも動けば動作検証楽なのになぁ、あれ。
419:デフォルトの名無しさん
19/06/11 14:05:54.20 6dm7scj8M.net
リーダーをUSBに差せばWebでも使えるやで
420:デフォルトの名無しさん
19/06/11 14:08:24.54 8NPGWhvc0.net
ふぅーDataGridViewのボタンの非活性できた。
MSはその程度実装しておけよ
421:デフォルトの名無しさん
19/06/11 14:27:25.63 irqLdUAC0.net
CheckBox も同様だけど、Visible と Enable くらいは実装しとけよ、って思うよなぁ
WinForms に対しては全くやる気ないみたいだけど
422:デフォルトの名無しさん
19/06/11 14:41:17.27 8NPGWhvc0.net
>>414
実装もそこまで時間かかるとは思えないんだよな
なんか詰めが甘いというか・・・
しかもVS2017になっても未実装って
423:デフォルトの名無しさん
19/06/11 15:25:57.49 irqLdUAC0.net
x64 のときは Form_Load の中での例外はスルーするバグも絶賛放置
(x86 だったら、ちゃんと例外を捕捉する)
424:デフォルトの名無しさん
19/06/11 15:57:17.26 dpi3ASg30.net
Windows Formなんてとっくに見捨てられてるからね。メンテナンスフェーズかも知れん。WPFですら10年前だし。ということでUPF使え。
…ってMSは思ってるかもだが、Formなにかと楽なんだよなあ
425:デフォルトの名無しさん
19/06/11 16:23:20.80 8NPGWhvc0.net
俺がゲイツなら首にするわ
426:デフォルトの名無しさん
19/06/11 18:42:14.00 a3rgTFI7d.net
.NET Core3.0リリース後にちゃちゃっとPR書けば?そんなに簡単なら
427:デフォルトの名無しさん
19/06/11 20:32:19.05 3Y+SR7BCM.net
悪いけど、FullFx版のWinFormsとの互換性を損なうようなコミットは全部リジェクトだと思うよ
forkして弄るのは勝手だけど
428:デフォルトの名無しさん
19/06/11 20:58:05.88 fTJbh9kM0.net
>>420
.NET Core3.0後にどうなるかはまだ不透明
現状はそうだけどね
429:デフォルトの名無しさん
19/06/11 21:10:59.72 HH9jnqHSa.net
どのみちMS自身が今後WinFormsに機能追加をすることはありえないんだから、縛りのきつい公式リポジトリに拘る意味がないでしょ
WinFormsをクロスプラットフォーム化するコミュニティプロジェクトは必ず立ち上がるから、それに参加したらいい
430:デフォルトの名無しさん
19/06/11 21:15:40.32 GAHoXfWar.net
>>422
WinFormsのクソな部分がそのまま移植されるとは思わないから別物になると思う
汎用的な部分だけ移植なら整合性が合わなくなるからそもそも新しいの作るだろ
431:デフォルトの名無しさん
19/06/11 21:40:49.66 HH9jnqHSa.net
>>423
残念ながらベタ移植だよ
ほとんどのソースはオリジナルからコピーしてきてヘッダコメントを変えただけ
WinFormsをCoreでビルドできるように手直ししただけの代物だ
WPFなんかC++/CLIにべったり依存してるからもっと酷くて、
WPFをビルドするためだけにVCのコンパイラに限定的なCoreサポートを追加して無理矢理ビルドしてる
そんな不毛なことするくらいならネイティブ部分を書き直せと批判されてしばしばissueが炎上してるが、MSはガン無視
432:デフォルトの名無しさん
19/06/12 09:44:54.85 jI3pneRO0.net
DataGridView_hoge.AllowUserToResizeColumns = false;
列幅変更出来ない様にしたつもりですが、普通にドラッグしてサイズ変更出来てしまいます。
何が原因でしょうか???
433:デフォルトの名無しさん
19/06/12 10:24:07.46 0xThtXZC0.net
行ヘッダ列はAllowUserToResizeColumnsじゃなくてRowHeadersWidthSizeModeで設定しないといけないけど
それ以外の列ってことなら何か変なことやってるんじゃないのとしか言えないなぁ
434:デフォルトの名無しさん
19/06/12 10:29:24.57 jI3pneRO0.net
>>426
RowHeadersWidthSizeMode
ためしてみます。
435:デフォルトの名無しさん
19/06/12 21:10:32.82 MR/XkF+FM.net
なんかWindowsアップデートで動かなくなったりするから
Windowsやめようぜって方向になってるぞ
436:デフォルトの名無しさん
19/06/12 21:27:03.90 1sqooHn/0.net
どうぞ
437:デフォルトの名無しさん
19/06/12 23:03:21.43 AKIxT99i0.net
どうぞどうぞ
438:デフォルトの名無しさん
19/06/12 23:30:47.47 uj0EyW6pd.net
バイバーイ(^.^)/~~~
439:デフォルトの名無しさん
19/06/13 12:45:58.94 jjdzM/JQd.net
WPFの将来性ってどうですか?
今から勉強する価値ありますかね
440:デフォルトの名無しさん
19/06/13 15:02:14.86 5cAqIW1CM.net
>>432
将来性はない
勉強する価値もない
441:デフォルトの名無しさん
19/06/13 17:22:47.41 7q1+HOWFa.net
たぶん現状のまま放置されるって意味では将来性ないけど
Silverlightみたいに事実上使えなくなることは恐らくないから
勉強して無駄になることもないと思うよ
そいうや、何年か前にWin32を廃止する計画を読んだ記憶があるけど
例によって軌道に乗ってるように思えんねw
442:デフォルトの名無しさん
19/06/13 18:14:02.25 EM2pYCLsp.net
>>434
win32廃止したら、Windowsじゃ無くなるじゃん
443:デフォルトの名無しさん
19/06/13 22:23:06.18 tGgsvZyOd.net
>>435
win64 APIのみにするってことでしょ
444:デフォルトの名無しさん
19/06/13 22:27:30.58 dTdyRg7kM.net
ARM使い「そうか」
445:デフォルトの名無しさん
19/06/14 09:46:05.42 v6Wc7xsI0.net
>>436
Windowsから互換性取ったらMacとの優位性が崩れてしまうわ。
446:デフォルトの名無しさん
19/06/14 10:19:55.42 Qm4arTEGM.net
う互換性
447:デフォルトの名無しさん
19/06/14 13:28:36.75 Js4PARtC0.net
GDIとかいつまで残ってんだろ
448:デフォルトの名無しさん
19/06/14 13:36:31.53 Io9qelQj0.net
APIとしてはWindowsがある限り残るだろ
内部的に別の仕組みの描画フレームワークに渡すだけになる将来はあるかもしれんが
449:デフォルトの名無しさん
19/06/14 19:05:00.84 B1OfNWTta.net
独自OSはやめてLinux M$ディストリになったら最高なんだけどね
450:デフォルトの名無しさん
19/06/15 00:33:09.29 8CcGi59t0.net
while(i<=1000000)
{
i++;
}
こういうお手製のループって結局invokeと同じ機能なんですかね?
待つという意味では
451:デフォルトの名無しさん
19/06/15 02:59:58.42 h/MXyyEj0.net
質問です。
JSONシリアライズなんですけど
{ "foo": "bar" }
としたいのに、DataContractJsonSerializerに
Dictionaryをシリアライズさせると
{ "key": "foo", "value":"bar" }
となってしまいます。
何かいい方法ないですか?
どういうキーワードでググればいいかも分からなくて。
452:デフォルトの名無しさん
19/06/15 06:29:12.34 izWNJzhX0.net
>>443
何のinvokeの話なのか知らないけど
ほとんどのInvokeメソッドとは全く違うんじゃないかな
>444
DataContractJsonSerializerSettings.UseSimpleDictionaryFormat
453:デフォルトの名無しさん
19/06/15 07:12:02.05 +UtdpkHU0.net
ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>
のようなデータ構造で、Value部の付け外しにlock機構って必要ですか??
var cd = new ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>();
lock(_lockObj)
{
if(!cd.TryGetValue ・・・)
{
var child = ConcurrentDictionary<int, string>();
cd.TryAdd(Guid.NewGuid(), child);
}
}
2つのスレッドがほぼ同時にアクセスしたとき、
最初に追加したValue部(ConcurrentDictionary<int, string>)を潰したくないです。
lock使うなら、普通にDictionaryでいいんですかね・・ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
454:デフォルトの名無しさん
19/06/15 07:35:12.58 IMLKv0k+0.net
getとaddが不可分操作じゃないから要る
455:デフォルトの名無しさん
19/06/15 09:17:07.61 6PSH/Imja.net
>>446
TryAddがfalseを返したら処理を最初からやり直せばいい
それならロックは不要
楽観的排他制御ってやつだ
456:デフォルトの名無しさん
19/06/15 14:37:59.48 qro2r2SGM.net
HttpClientもWebClientもHttpWebRequestもまともじゃないのは一体なんなんだ
457:デフォルトの名無しさん
19/06/15 14:47:05.46 hWID9DJjM.net
>>449
具体的には?
458:デフォルトの名無しさん
19/06/15 14:49:08.14 2Fwz82J/0.net
>>449
HttpClientはstaticなインスタンスでセッション使い回し。
このくらいの注意点は知ってるけどどう駄目なのか参考に教えてよ
459:デフォルトの名無しさん
19/06/15 15:37:24.10 CD9ImjzWM.net
>>449
KWSK
460:デフォルトの名無しさん
19/06/15 15:42:35.91 h/MXyyEj0.net
>>445
ありがとうございます!
461:デフォルトの名無しさん
19/06/15 18:51:55.25 Tm2el/yWa.net
>>449
これを使っている限りバグが出る可能性が排除できない
まともな設計で作り直してほしい
462:デフォルトの名無しさん
19/06/15 19:28:03.88 hWID9DJjM.net
>>454
具体的には?
463:デフォルトの名無しさん
19/06/15 19:39:46.98 2Fwz82J/0.net
具体的なことは言えないレベルでなんとなく否定してるに1票
464:デフォルトの名無しさん
19/06/15 20:17:44.79 p9QrGiGS0.net
まあHttpClientFactory使えってなるよね、最近は
465:デフォルトの名無しさん
19/06/15 20:49:10.87 Tm2el/yWa.net
HttpWebRequestやWebClientは確実にゴミ
例えば非同期でいろんなサイトからダウンロードするアプリを作ろうとしても
実インスタンスが一つなので各サイトに合わせて設定できない
HttpClientはまともにusingできない使いまわし前提で管理が面倒でバグりやすい
466:デフォルトの名無しさん
19/06/15 21:25:13.03 p9QrGiGS0.net
>>458
>>457
467:デフォルトの名無しさん
19/06/15 21:28:36.81 403fYel+0.net
いや知ってりゃ使えるだろってのはわかるんだが
なんでどれもこれも罠が満載なの? っていう話ね
468:デフォルトの名無しさん
19/06/15 23:31:09.76 2Fwz82J/0.net
>>457
なにこれ?ナウなやつ??
469:デフォルトの名無しさん
19/06/15 23:31:12.45 TLpy9Lqp0.net
MacのCore2.1でデリゲートのシリアライズを試してるんだけどさあ、これって動くプラットフォームもあるってことなの?
class Program
{
static void Main(string[] args)
{
Func<int, int> A = i => i + 1;
BinaryFormatter formatter = new BinaryFormatter();
var tempStream = new MemoryStream();
formatter.Serialize(tempStream, A);
//System.Runtime.Serialization.SerializationException がスローされました
//"Serializing delegates is not supported on this platform."
}
}
レファレンスだとMacで動かないとか特に書いてはいなさそうだけど、どこを見たらそういう情報ってわかるんだぜ?
URLリンク(docs.microsoft.com)
470:デフォルトの名無しさん
19/06/15 23:37:24.81 eE+hzs3Oa.net
>>462
ないでしょ
だってそれ、変数を一切キャプチャしないラムダ式以外では問題が起こるんじゃない?
471:デフォルトの名無しさん
19/06/15 23:54:10.26 ioIpgNFD0.net
デリゲートをシリアライズするっていう発想がそもそもなかったわ
472:デフォルトの名無しさん
19/06/16 00:04:36.79 IRiSsL3Z0.net
ダメか、ありがとう
473:デフォルトの名無しさん
19/06/16 00:06:06.77 j15M4OK0a.net
デリゲートのシリアライズはFullFWなら可能
.NET Remotingで通信先からRPCするために使う機能だ
.NET Coreでは.NET Remotingが廃止されたから、.NET Coreで使えないのは当然
そもそもBinaryFormatterはそれ自体が廃止された.NET Remotingの一部であり、互換性のためだけに残されてる遺物
今更新規に使っちゃダメ
474:デフォルトの名無しさん
19/06/16 00:12:52.39 G7NVDdhd0.net
>>461
うん、HttpClientのイケてないとこをラップして使いやすく(間違いを犯しにくいように)したやつ
475:デフォルトの名無しさん
19/06/16 00:22:01.61 IRiSsL3Z0.net
>>466
正直、これが出来るとリモートプロシージャコールの受け側がif/switch羅列になるのを避けられると思っていました
しかし、これはもろに時代に逆行していたんですね・・・・
廃れたと言うことは今流のやり方もあるんですか?
476:デフォルトの名無しさん
19/06/16 00:27:11.51 j15M4OK0a.net
.NET CoreでRPCしたいならRESTかgRPC使えとMS様は仰ってるね
477:デフォルトの名無しさん
19/06/16 01:01:25.28 IRiSsL3Z0.net
gRPCを使用する場合でも、サーバからグローバルIPを持たないクライアントのメソッドを呼びたい場合にデリゲートシリアライズ化は有用なように思えてしまいます
接続を切らずにStreamで独自形式の命令を送り続けることになり、クライアント側では送られてきた命令を解析するためのswitch/if文だらけのコードになってしまうからです
でもif文羅列で正しいのかな・・・・どうなんだろう・・・・
478:デフォルトの名無しさん
19/06/16 01:18:24.92 WGBivVxV0.net
プログラミング未経験からC#を勉強して1週間程の者です
疑問に思うことがふたつあるのでよかったら教えてください
ひとつめは配列の宣言について、宣言は省略せずにきちんとしたほうがいいのでしょうか?
また宣言する場合に
string[] array = new string[3];
と変数名を最初にstringで指定しているはずなのに、配列の数をstringで再び書くのはなぜでしょうか?
ふたつめは、
Console.Write("a は {0}, b は {1}", a, b);
と書くのは
Console.Write("a は " + a + ", bは " + b);
と書くより見やすいためでしょうか?
479:デフォルトの名無しさん
19/06/16 01:25:53.37 G7NVDdhd0.net
>>471
ひとつめ:varが使える場所ならvarを使った方がいい
ふたつめ:前者だと、文字列をconstやリソースファイルで保持してパラメーターだけ入れ替えられる(=使いまわしできる)。
ただ、最近はよほどパフォーマンスにシビアだったりリソースを再利用したい箇所でなければstring interpolationを使うことの方が多い(圧倒的に見やすいしバグも発生しにくいから)。
480:デフォルトの名無しさん
19/06/16 01:27:37.22 G7NVDdhd0.net
Console.Write($"a は {a}, b は {b}");
こうすると読みやすいしパラメーターの位置を間違える可能性が減る
481:デフォルトの名無しさん
19/06/16 01:52:02.63 z9IiVZ7F0.net
C# は、面倒だな
Ruby の式展開(interpolation)では、
ダブルクォート文字列内に、#{式} で書くと、式の結果を文字列に変換してくれる
puts "a は #{ a }, b は #{ b }"
482:デフォルトの名無しさん
19/06/16 02:00:09.86 yJ9OuDHU0.net
>>474
C#にもあるだろ。直ぐ上でも出てる。
$"a は {a}, b は {b}"
483:デフォルトの名無しさん
19/06/16 02:05:52.16 G7NVDdhd0.net
1つ上のレスくらい読んでくれよ…
484:デフォルトの名無しさん
19/06/16 02:12:46.91 WGBivVxV0.net
string interpolationは参考にしておいたサイトでは見たことがなく初めて知りました
確かに圧倒的に見やすいですね
varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います
ありがとうございました
485:デフォルトの名無しさん
19/06/16 02:40:38.10 G+0AwVAf0.net
Rubyの人 おかえりはこちらです
486:デフォルトの名無しさん
19/06/16 02:49:49.58 U3MUj56p0.net
>>467
いいね!使ってみる。
487:デフォルトの名無しさん
19/06/16 05:00:17.20 wxDeKJDL0.net
interpolation 略して inpo
488:デフォルトの名無しさん
19/06/16 08:33:51.55 59NNwAx00.net
>>470
WebSocketとかSignalRとか使ったらサーバーからの通知対してにライブラリが適切なメソッドを呼んでくれるのでは
489:デフォルトの名無しさん
19/06/16 08:38:40.27 xspDtD2o0.net
>>458
httpClientをusingする方が間違いでは?
接続先ごとに作るもんだと思ってた。ヘッダとか共通にしたい粒度と同じ粒度で。
490:デフォルトの名無しさん
19/06/16 09:55:00.36 X9An2SCta.net
>>482
だから…
usingするのは間違いだがじゃあどうやって使いまわすかでバグりやすい
使いまわすのをどこかに任せて使う側は自由に使えるようにしてないと
本当に使いにくい
491:デフォルトの名無しさん
19/06/16 12:12:22.08 NdAq/MEw0.net
>>480
+1
492:デフォルトの名無しさん
19/06/16 12:20:15.94 xspDtD2o0.net
>>483
そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。
URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
493:デフォルトの名無しさん
19/06/16 12:29:55.12 +FeN72guM.net
staticなインスタンスを持つという行為がオブジェクト指向にそぐわないのだろう
494:デフォルトの名無しさん
19/06/16 12:35:21.44 WIm6t9KAd.net
じゃあDIによるシングルトンで
495:デフォルトの名無しさん
19/06/16 16:29:01.69 xspDtD2o0.net
>>486
それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。
そういう意味では、完全にstaticな訳ではなくて、多分MVCならコントローラごとに、宛先ホストやデフォルトヘッダー別のHttpClientを持てば充分なので、特に長寿命になる訳でも、広範囲に露出する訳でも無いんじゃないかな。
毎回作るようなusingで囲む事をするのはよろしくないだけであって、適宜作ってDisposeする分には問題ないっしょ。
だからデストラクタでDisposeできるようにIDisposableなんじゃ?
496:デフォルトの名無しさん
19/06/16 17:56:30.01 yX0oMZwqa.net
Disposeは要らんかった
惑わされる
497:デフォルトの名無しさん
19/06/16 17:59:45.19 IRiSsL3Z0.net
デリゲートのシリアライズについて色々試したところ、WindowsやUbuntuのCore.2.2ではデリゲートのシリアライズは可能でした
まさかMac版だけ違うとは・・・・
>>481
WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
498:デフォルトの名無しさん
19/06/16 18:56:40.91 ikomc5kEr.net
>>488
絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
499:デフォルトの名無しさん
19/06/16 19:03:24.48 xspDtD2o0.net
>>491
xxxxAsyncはだいたいスレッドセーフだよ。
500:デフォルトの名無しさん
19/06/16 19:13:58.14 6Ugz9fj30.net
httpClientの設計がまずいのは周知の事実だろ
オプションとしてならいいけどさ
まともな通信用のクラスをなぜ作れんのだ
501:デフォルトの名無しさん
19/06/16 19:20:45.53 xspDtD2o0.net
んー、なんか俺の返事がズレてる気がする。
1つのホストの1つ用途に対して使い回すのは良いんだけど、
別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、
1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。
そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、
捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
502:デフォルトの名無しさん
19/06/16 19:22:37.45 xspDtD2o0.net
>>493
結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
503:デフォルトの名無しさん
19/06/16 19:24:29.05 ikomc5kEr.net
その管理を誰がやるのか?
低級プログラマがそれを考えて使えるのか?
使えないなら管理をどこかでちゃんとやる仕組みを作れ
504:デフォルトの名無しさん
19/06/16 19:27:19.28 ikomc5kEr.net
そもそもの仕組みは簡素なつもりなんだろうけど
結局考えてコーディングしなければバグってしまってアプリを使ってる人にはその理由がわからない
505:デフォルトの名無しさん
19/06/16 19:36:40.16 G7NVDdhd0.net
>>496
だからHttpClientFactoryなんだろ何回も言わせんな…
506:デフォルトの名無しさん
19/06/16 19:51:24.02 ikomc5kEr.net
.NET Frameworkは?
507:デフォルトの名無しさん
19/06/16 19:58:59.39 xspDtD2o0.net
>>496
そんな字が書けなくても小説が書けるノートを寄越せみたいな事言って何になるの?
508:デフォルトの名無しさん
19/06/16 20:01:51.47 ikomc5kEr.net
.net core 3.0でWPFサポートはいるけど
それまではWPFなどで作る場合.NET Frameworkだろ
ずっと放置しといて.net coreで入ったからいいなんて思うなよ
509:デフォルトの名無しさん
19/06/16 20:02:01.46 xspDtD2o0.net
>>497
簡単な事だと思うんだけど、考えてコーディングすれば良いだけでは?
考えずにコーディングする方がどうかしてるんじゃないの?
くもんのドリルとか、早指しの将棋じゃねえんだから。
510:デフォルトの名無しさん
19/06/16 20:24:08.68 +fU13JTma.net
>>490
へー
もちろん、ラムダ式で変数キャプチャーやメソッドやプロパティーにアクセスしたり、
そもそもデリゲートがメソッドを参照してる場合はNGだよね?
511:デフォルトの名無しさん
19/06/16 21:07:08.31 6Ugz9fj30.net
まず通信のためのインスタンスを保持しておく必要があるって点が意味不明
なんで一通信毎に一インスタンスを使い捨てさせてくれないんだ?
512:デフォルトの名無しさん
19/06/16 21:11:11.53 2a6zi2hA0.net
ないなら作ればとしか思わんけど
513:デフォルトの名無しさん
19/06/16 21:15:37.29 0NEzhhkla.net
Keep Aliveの為に必要なんですよ
514:デフォルトの名無しさん
19/06/16 21:27:28.53 2mY5Onwd0.net
HttpClientに関連して、NetworkCredentialのダイジェスト認証バグもどうにかしろよって感じです。
GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。
散々ググって、どうやら解決方法が自前実装しかないと辿り着くまでに時間かかった。。
今どきダイジェスト認証って感じで放置されてるのかもですが、
Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
515:デフォルトの名無しさん
19/06/16 21:35:16.94 WJsnIQ8z0.net
半端なライブラリはこれだから
Javaみたいに産廃レベルだと「じゃあ俺が最強のHttpClientを作ってやる」ってのが出てくるのにね
516:デフォルトの名無しさん
19/06/16 21:41:01.31 +fU13JTma.net
web系は仕事で触ったことないからまったく分かんないやw
どっかにいいチュートリアルとかある?
でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
517:デフォルトの名無しさん
19/06/16 22:05:12.05 6Ugz9fj30.net
>>507
そんなんあるんかよ…
つまりヘッダを自分で組み立てるしかないってこと?
518:デフォルトの名無しさん
19/06/16 22:20:27.61 gEahNK3la.net
結局MSはWPFをどうしていくんだろうか
519:デフォルトの名無しさん
19/06/16 22:25:47.52 wD0NHooaM.net
C
520:#プログラミング初心者です Form実行時の各イベントの発生順序について質問させてください Form実行時にどういう順番でどういうプログラムが処理されていくのかよくわかりません Formを実行したときFormのコンストラクタが設定されイニシャライズ内の各コントロールが配置されるという認識で合ってますか? あと実行時に一番最初に処理されるのはProgram.csですか? コンストラクタとイニシャライズの意味がよくわかっていないかもしれません よろしくお願いします
521:デフォルトの名無しさん
19/06/16 22:33:03.04 gLoRAJ8t0.net
>>512
もう十年やってる俺の認識と一致してんじゃん
後は強く生㌔
522:デフォルトの名無しさん
19/06/16 22:47:40.58 Qo3kD6WQ0.net
>>512
コンストラクタはFormもそうだけどクラスのインスタンス生成時に最初に呼び出される
InitializeComponent()は単なるVisualStudioが用意しているデザイナのためのメソッド
コンストラクタ内などで自分で用意してもいい
一番最初に処理されるのはProgram.csでなくその中に書いてあるclass ProgramのMain(エントリポイント)
とりあえずこの辺から読んでみたら。特に理解しなくてもコードは書けるけども
[雑記] エントリーポイント URLリンク(ufcpp.net)
[基礎] C#のプログラムの基本構造 URLリンク(ufcpp.net)
523:デフォルトの名無しさん
19/06/16 22:58:44.87 wD0NHooaM.net
>>514
親切にURLまで貼っていただきありがとうございます
とてもわかりやすかったです
助かりました
524:デフォルトの名無しさん
19/06/17 11:09:57.31 aKGiWlYO0.net
なんかメモリーがどんどん減ってくんですが。
525:デフォルトの名無しさん
19/06/17 11:41:26.98 KqnEIU5BM.net
それは痴呆だよ
526:デフォルトの名無しさん
19/06/17 11:45:08.07 d6mw/rQbp.net
観測した途端にメモリーが足りなくなる不思議
527:デフォルトの名無しさん
19/06/17 12:01:39.02 KqnEIU5BM.net
記憶がだんだん遠くなる
528:デフォルトの名無しさん
19/06/17 13:56:49.50 JXiMVUT0M.net
観測しなければいいじゃん
529:デフォルトの名無しさん
19/06/17 14:00:02.92 i1zZ44t70.net
足りないのに無くならない不思議
530:デフォルトの名無しさん
19/06/17 14:07:34.68 fWv+7syLd.net
WPFデビューしようと思って色々調べてるんだけど情報少なすぎない?
Prismが便利らしいけど公式サンプルがちょこっとあるだけだし全然使えなさそう
531:デフォルトの名無しさん
19/06/17 14:20:39.66 a0UOupWUd.net
それはWPFじゃなくてPrismの問題だろw
532:デフォルトの名無しさん
19/06/17 17:13:19.75 d6mw/rQbp.net
WPFはFormと同じ名前のまんまのメソッドやプロパティ使えたら不人気にならなかったはず。
微妙に違ったりするから混乱するんだよな。
533:デフォルトの名無しさん
19/06/17 23:14:24.82 js38FdP50.net
class test
{
byte i = new byte();
public void calc() {
...
}
...
}
こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね?
どこかに解説はありませんか?
534:デフォルトの名無しさん
19/06/17 23:24:08.75 qS39OOn20.net
>>525
書き方として有効でも普通はそんなことやらない
URLリンク(docs.microsoft.com)
>new 演算子は値型のパラメーターなしのコンストラクターの呼び出しにも使用します
535:デフォルトの名無しさん
19/06/17 23:54:16.01 dLLbEhJJM.net
構造体の引数無しのnewはdefaultと同じ
newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある
フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
536:デフォルトの名無しさん
19/06/18 05:55:07.37 LmNIdt8j0.net
C# でDB勉強中なんですが、以下のケースでは、更新/挿入/削除するべきレコードの判定はどうすればよいでしょうか?
元テーブル
--------------------------
id | item_name | item_location |
--------------------------
1 item1 1
2 item2 1
3 item3 2
--------------------------
これをDataGridViewに読み込んで、以下のように修正するとします。
--------------------------
id | item_name | item_location |
--------------------------
1 item3 2 ← item1がitem3に変更
2 item1 3 ← item2がitem1に変更されてlocationも変更
3 item4 1 ← item4 追加
4 item5 1 ← item5 追加
-------------------------- ※item2は削除
この処理の場合、insert・update・deleteするべきレコードの判定はどうやって行ったらよいでしょうか?
537:デフォルトの名無しさん
19/06/18 06:10:50.02 +H1sBCCVM.net
キー項目は何?無ければ作る
538:デフォルトの名無しさん
19/06/18 06:12:13.77 d6M+0/F+0.net
洗い替えがいいんじゃない?
元テーブルを裏で保持してて対象レコードを全部削除する
修正後を全部INSERT
539:デフォルトの名無しさん
19/06/18 06:13:19.34 3nOE2mBA0.net
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
スレリンク(tech板)
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
540:デフォルトの名無しさん
19/06/18 07:41:47.49 HGOf7fkO0.net
WPFが流行らないまま時代はスマホアプリに
541:デフォルトの名無しさん
19/06/18 10:24:27.14 MvE0vXDO0.net
>>528
件数にもよるけど全体より修正が少なければ、最初にトラン作っておいて、編集がかかるたびにupdate/insert/delete。
確定時にコミット。
そうでなければ>>530
542:528
19/06/18 12:27:38.88 LmNIdt8j0.net
>>530 >>533
神様!ありがとうございます!!
543:デフォルトの名無しさん
19/06/18 14:34:26.70 H7tttB9U0.net
C# でセレニウム(Chrome)を操作しています。
この時に
ページを復元しますか?
Chromeは正しく終了しまsんでした
障害レポートと使用統計データ・・・
というメッセージが出て邪魔です。
これを出ない様に出来ないでしょうか?
544:デフォルトの名無しさん
19/06/18 15:07:21.28 6gzOVRYwd.net
>>535
再現可能な必要最小限のプロジェクトを共有して
545:デフォルトの名無しさん
19/06/18 16:06:35.49 H7tttB9U0.net
>>536
再現しないですかね?
普通にC#+ChromeDriverです。
546:デフォルトの名無しさん
19/06/18 16:35:19.94 6gzOVRYwd.net
しないよ
547:デフォルトの名無しさん
19/06/18 18:08:04.60 WG6tLdsV0.net
ずーっとセレニウムと格闘してんねw
548:デフォルトの名無しさん
19/06/18 18:35:30.59 lLW7uP7d0.net
>>537
ChromeDriverのことはChromeDriverのForumで聞けよ
URLリンク(groups.google.com)
549:デフォルトの名無しさん
19/06/18 19:51:09.93 9LNNY8IFM.net
C#でDB操作時かつトランザクション使用時のコミットやロールバックを書く場所と、例外発生時の処理の止め方について質問させてください
DB内のデータをC#のDataGridViewにバインドし編集したのち登録や削除を行う課題をしているのですが、
コミットやロールバックを書く場所や、例外発生時に処理を止める方法がよくわかりません
今までメソッドの処理を中断するときはreturnを使えば良いと思っていたのですが、私に課題を出していただいてる方にそのやり方ではないと言われました
どうやらthrowを使うパターンもあるらしいのですが調べてもよくわかりません
わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです
どうかよろしくお願いします
550:デフォルトの名無しさん
19/06/18 20:01:43.07 z/sE9uve0.net
>>541
throwはこれ。例外を投げて場合によってはメッセージを入れるなどして呼び出し元でcatchさせたりする
URLリンク(docs.microsoft.com)
551:デフォルトの名無しさん
19/06/18 23:02:13.66 PmBejiWq0.net
Ruby で、Selenium WebDriver を使えば?
Chrome Driver は、ちょくちょく変わるよ。
それに、Chrome も、知らない間に、バージョンアップされてる!
自分のChromeが、バージョンアップされた時に、
新しいChrome Driverにしていないと、バージョンの不一致により、エラーで落ちる!
自分のChromeのバージョンを見て、もしバージョンアップされていれば、
そのバージョンに合った、Chrome Driverに変えてください!
552:543
19/06/18 23:13:17.82 PmBejiWq0.net
それと、5ch みたいに、空のHTML を送ってきてから、
Ajax で内容を取得するようなサイトは、
30秒ぐらい待たないと、内容が取得できないこともある
それと、5chはバグが多いから、ある日、突然動かなくなる。
IE では、フリーズするし
サイトのバグで動かなくなることも多いから、
example.com とか、色々なサイトで、使ってみる事!
553:デフォルトの名無しさん
19/06/18 23:17:03.81 H7tttB9U0.net
>>543 >>544
Chromeがマスト条件なんですよね。。。
554:デフォルトの名無しさん
19/06/19 00:25:52.80 SHnWP/2E0.net
>>545
そいつは自分の言いたいことを言うだけだから、会話しようとしても無駄だぞ
555:デフォルトの名無しさん
19/06/19 00:43:45.23 cBT9gst5a.net
chromeコンテナ使えよ
556:デフォルトの名無しさん
19/06/21 10:51:14.98 +Ex9QBom0.net
DataGridViewの列にDataGridViewImageColumnを設けています。
ネットからダウンロードしたエロ画像をローカルに保存して
DataGridViewのその列に1.jpg~5.jpを一覧表示します。
DataGRidView.DataSource = ero_DataTable;
参照している画像
c:\dat\downloaded_files\1.jpg ~ 2.jpg
再び別の画像をダウンロードし
DataGridViewにレンダリングする為に、まず最初にローカル画像を削除しようとすると
「別のプロセスで使用されているため、プロセスはファイル '1.jpg' にアクセスできません。」
というエラーメッセージが表示されてしまいます。
ローカルの画像を削除した後で、新しい画像をネットからダウンロードしてローカルに保存し
1~***.jpgとして保存し、DataGridViewから参照したいのですが、何か良い方法はないでしょうか?
557:デフォルトの名無しさん
19/06/21 10:52:25.51 LVq54M8sp.net
とりあえずcloseだな。
558:デフォルトの名無しさん
19/06/21 11:05:23.63 +Ex9QBom0.net
>>549
Closeはインテリセンスにいずれも出ませんでした。。。
困ってます。教えてくださいm(_)m
559:デフォルトの名無しさん
19/06/21 11:11:30.32 LVq54M8sp.net
じゃあ、usingで括る
560:デフォルトの名無しさん
19/06/21 11:23:43.41 kqcCd+WN0.net
DataTableの画像列をtypeof(Image)とかtypeof(Bitmap)でやってるなら、
代わりにtypeof(byte[])にして、
行を追加するときにBitmapオブジェクトを追加するんじゃなくて
File.ReadAllBytesしたバイト配列を追加するようにする
561:デフォルトの名無しさん
19/06/21 11:46:36.87 +Ex9QBom0.net
ありがとうございます。
試してみます!
因みに現在は、こういう感じのコードでDataGridViewには画像を表示しています。
int i_data_count = 5;
for (int i = 1; i <= i_data_count; i++)
{
dgv_erogazou["ERO_IMAGE", i - 1].Value = new Bitmap("C\data\" + i.ToString() + ".jpg");
}
562:デフォルトの名無しさん
19/06/21 12:56:06.44 LVq54M8sp.net
C#あるあるだな。
いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね?
関数が中でなんとかすれば良いのに融通がきかなよなw
563:デフォルトの名無しさん
19/06/21 13:31:59.07 +Ex9QBom0.net
>>554
はい。
しゃーないので、アプリ起動時にすべてのローカルファイルを削除する処理を入れることにしました。
再取得時には、 ファイル名をプラス1インクリメントしてローカルに保存しまくります。
564:デフォルトの名無しさん
19/06/21 14:05:44.74 oHxDGzCo0.net
いや、不要になった時点でファイルをちゃんと閉じればええやん
565:デフォルトの名無しさん
19/06/21 16:12:50.06 g5FK/rwid.net
>>554
横着せずに不要になったら自分で閉じろよ
566:デフォルトの名無しさん
19/06/21 21:14:35.05 41J0QDC70.net
>>553
DataSourceにするのなら>>552が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
URLリンク(dobon.net)
他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
567:デフォルトの名無しさん
19/06/21 21:53:59.45 LVq54M8sp.net
ファイル操作とbitmap操作を別々にやればいいんだろ?
分かってるよめんどくさいんだよ。
568:デフォルトの名無しさん
19/06/21 21:55:05.08 LVq54M8sp.net
むしろ取り出したら閉じてくれよ糞仕様だよな。
569:デフォルトの名無しさん
19/06/21 22:09:21.22 +Ex9QBom0.net
>>558
DataGridViewの中のImageColumnだからそれだとできないのでは?
570:デフォルトの名無しさん
19/06/21 23:28:05.29 JQSabSWL0.net
その後使うのに勝手に閉じるほうがクソ仕様じゃん
用途理解せず間違った使い方して仕様に文句言うってw
571:デフォルトの名無しさん
19/06/21 23:32:45.71 fAAfMpwpa.net
>>560
お前さんの思うようにならないこの世の中は、糞仕様の最たる物だろうね
572:デフォルトの名無しさん
19/06/21 23:50:02.71 r7op1kHj0.net
使うのは画像データで、読み取ったファイルは要らないから閉じてよ。
って話だろ?
573:デフォルトの名無しさん
19/06/22 00:10:22.86 0zozUz1q0.net
>>561
Bitmapを入れるだけだからできないってのはありえない
例えばImageConverter経由で直に入れる場合
dgv_erogazou["ERO_IMAGE", i - 1].Value = (Bitmap)new ImageConverter().ConvertFrom((byte[])System.IO.File.ReadAllBytes("C:\data\" + i.ToString() + ".jpg"));
574:デフォルトの名無しさん
19/06/22 00:22:05.59 RCotbW9/0.net
>>565
詳しいですね。試してみます。
575:デフォルトの名無しさん
19/06/22 09:51:37.11 sRxgpvPlM.net
>>564
画像データ変更してSaveするかも知れんだろ
SaveとかしないんならFileStream作ってコンストラクタに渡せばいいだけ
もちろんFileStreamは自分で閉じろよ
576:デフォルトの名無しさん
19/06/22 20:13:32.14 RCotbW9/0.net
>>565
ありがとうございます!!!出来ました!!
すばらしい!!そういう方法があったのですね!!!
しっかり画像の削除できました!!!
577:デフォルトの名無しさん
19/06/22 20:22:58.28 kyoGZvmZ0.net
えっちな奴め
578:デフォルトの名無しさん
19/06/22 20:25:30.34 oSCB+4xW0.net
えっち駆動開発の何が悪いんですか
579:デフォルトの名無しさん
19/06/22 20:36:08.
580:91 ID:Ox8nDO+0M.net
581:デフォルトの名無しさん
19/06/22 21:32:06.83 q0mPajE40.net
我がエロは永久に不滅です
582:デフォルトの名無しさん
19/06/22 21:36:35.73 RCotbW9/0.net
よしこれでエロ画像クローラーできる
583:デフォルトの名無しさん
19/06/23 15:09:33.41 4oGZ8zjy0.net
WEBのエロ画像収集のためのエロボット作るのにC#は向いてますか?
向いていないなら何言語や何のフレームワークがオススメですか?
584:デフォルトの名無しさん
19/06/23 15:41:05.03 4589uE1UM.net
>>574
エロは偉大だからな。
当然C#で可能。
585:デフォルトの名無しさん
19/06/23 19:50:32.93 XYuZEt+Z0.net
>>574
AngleSharpっていう便利なライブラリを使うと色々と捗るよ
586:デフォルトの名無しさん
19/06/24 07:04:12.89 INU2Nep40.net
>>576
こんなエロボットフレームワークがあるんですね
もう爆発寸前なので助かります
さー調査と設計だ
587:デフォルトの名無しさん
19/06/25 00:07:05.16 UHHkgEL+0.net
Guid構造体はなぜnullと比較可能なんでしょうか?
588:デフォルトの名無しさん
19/06/25 01:31:20.19 KoYuAQ6u0.net
>>578
nullの比較できるというのは気のせいだね
589:デフォルトの名無しさん
19/06/25 03:29:25.92 4JR3abKur.net
どの値型でもnullと比較する式は書けるが
Nullable以外だと結果は常に非null、じゃなかったっけ
590:デフォルトの名無しさん
19/06/25 10:31:07.49 6gRatuk7p.net
構造体なんて無いから。
常に実体がやり取りされているんだからnullの状態なんか無いよ。
591:デフォルトの名無しさん
19/06/25 11:54:15.85 M3mY4uqKd.net
構造体はあるやろ
592:デフォルトの名無しさん
19/06/25 11:56:21.92 S47SJWtZM.net
ガイジに話しかけるな
593:デフォルトの名無しさん
19/06/25 12:24:38.17 hYWx9HjQ0.net
なつくぞ
594:デフォルトの名無しさん
19/06/25 12:26:46.14 fHxE1RgIa.net
WPFちょっとやってみたけどクソめんどくさく感じるんだけど慣れるとformアプリではもうやらないってなるもん?
595:デフォルトの名無しさん
19/06/25 12:59:02.90 dhEdiy5y0.net
そこまでではないけどFormsでListViewにバインディングできないことにうんざりするぐらいには
596:デフォルトの名無しさん
19/06/25 13:05:18.68 kPWnGZLKM.net
>>585
やればやるほど新たに面倒臭い概念が出てきて余計に面倒臭くなるよ
コントロールテンプレート、依存関係プロパティ、ルーティングコマンド、ルーティングイベント、デコレータ、エフェクト、VSM、色空間、Drawing系API、等々、WPFの魔境は果てしなく続く
現代における典型的なセカンドシステム症候群の事例としては貴重だから、どんな概念があるかを一通り眺めてみる分には損はない
一つ一つのアイデア自体は非常にスマートなもので、なるほどと感心するようなものが多く、フロントエンド設計の勉強にもなるしね
597:デフォルトの名無しさん
19/06/25 19:00:07.49 jHEFOU5uM.net
>>587
ちょっと書きづらいよね
あとから見る時も見辛いし
プリプロセッサでも作ろうかな
598:デフォルトの名無しさん
19/06/25 19:02:33.37 vtQg0q3N0.net
.NET Standardの中で.NET Coreから呼び出されたかどうか判断できます?
Environment.GetCommandLineArgs().First()の拡張子で判断くらいしか思いつかず
明確な方法があれば助かります
599:デフォルトの名無しさん
19/06/25 19:26:07.17 zsZioWuM0.net
>>589
なんでそんなことがしたいの?
600:デフォルトの名無しさん
19/06/25 19:46:04.41 vtQg0q3N0.net
>>590
HttpWebRequestの実装が恐ろしいので何かしら対策しようとしています
601:デフォルトの名無しさん
19/06/25 20:18:45.64 H0q3OQVA0.net
URLリンク(docs.microsoft.com)
これでどう?
602:デフォルトの名無しさん
19/06/25 20:28:52.74 vtQg0q3N0.net
>>592
ありがとうございます
Assemblyを辿ってそれっぽいのも見つかったのですが、こちらの方が簡単なので
参考にさせてもらいます
603:デフォルトの名無しさん
19/06/26 04:29:08.46 eFojmlDc0.net
>>585
慣れても仕事とかだと普通にwinform使う
なんだかんだとwpfはめんどくさく
学習コスト高いから
習熟した開発者が少なくて安易に使えない
604:デフォルトの名無しさん
19/06/26 08:07:26.56 u3TFQ+4na.net
>>587
>>594
ありがとう
開発手法としては理にかなってて割と好きではあるんだけども勉強してみて学習コストが高いと言われるているのはよくわかった。。
もう少し書籍なり充実してて将来性も有望なら頑張れそうだけど早くも心折れかけてる
605:デフォルトの名無しさん
19/06/26 08:16:17.91 PhRSMRl5d.net
仕事だとテストのしやすさが重要なファクターだからWPF一択だな
テストしなくていいよってとこならWinforms
606:デフォルトの名無しさん
19/06/26 09:16:39.11 xtHmKE3cM.net
WPFとMVVMを採用したからといってビューをテストしなくてよくなるわけじゃない
それWinFormsじゃ難しいッスwwサーセンww
が通用しなくなってビューの仕様が膨張しがちな分だけ、まず例外なくテスト工数は増えるよ
Passive Viewのような設計パターンを学べばWinFormsでもビューロジックの単体テストは可能
607:デフォルトの名無しさん
19/06/26 09:26:06.98 QHgmuWluM.net
ズレた会話を補正できるフレームワークをください
608:デフォルトの名無しさん
19/06/26 09:26:37.90 PhRSMRl5d.net
「テストのしやすさ」な
609:デフォルトの名無しさん
19/06/26 09:27:18.92 PhRSMRl5d.net
別にWinformsはテスト不可って言ってるわけじゃない
610:デフォルトの名無しさん
19/06/26 09:48:33.88 HSzkoapr0.net
.mobi もしくは .azw .azw3 のファイルを解凍?するライブラリってありませんか?
611:デフォルトの名無しさん
19/06/26 10:08:27.28 RqqyhRb10.net
nugetで検索してみればmobiはいくつか見つかるな
612:デフォルトの名無しさん
19/06/26 18:48:22.15 mLhKuAUca.net
言うほどお前らテスト書いておらんやろ
613:デフォルトの名無しさん
19/06/26 19:20:20.18 PhRSMRl5d.net
書いとるよー
614:デフォルトの名無しさん
19/06/26 19:22:39.39 UJGyHIPed.net
ビューのテストって何をテストするの?テキストがはみ出さないかとか?
615:デフォルトの名無しさん
19/06/26 19:25:49.92 sx0u8G1v0.net
asp.netのSQLServerアクセス部分でユーザーのアクセスが重なるとどうもDBアクセスに失敗するみたいなのですが、DBアクセス処理をstaticメソッドで書くのは悪手だったりするでしょうか?
616:デフォルトの名無しさん
19/06/26 19:31:19.63 fmXddalaF.net
lock と retry 汁
617:デフォルトの名無しさん
19/06/26 19:40:03.93 PhRSMRl5d.net
>>606
コード晒してみ
618:デフォルトの名無しさん
19/06/26 19:46:46.69 sx0u8G1v0.net
>>608
会社かつ前任者のコードなので晒すのは難しいのですが、ASP.NETのようなwebアプリでstaticメソッドとか大丈夫かなと思いつつもダメな理由は説明できず
メモリ領域共有するんじゃなかったかな程度の認識です
619:デフォルトの名無しさん
19/06/26 19:52:43.34 sx0u8G1v0.net
ASPの者ですが、問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います
呼び出し先のターゲットでエラーをキャッチしました
程度のログしか残って無いので、現象再現が難しく困っております
620:デフォルトの名無しさん
19/06/26 19:52:48.15 bHDlLtN30.net
アメリカ製品を著作権で保護する義務は無い。プロテクトをはずしたコピー
の流布を何人たりとも妨げてはならない。
福島原発爆発させたアメリカ人は、日本人に慰謝料を払え。
日本人は大切な農地を失った。一兆円の一億倍の金額を日本人に払う義務がある。
621:デフォルトの名無しさん
19/06/26 19:53:56.64 bHDlLtN30.net
頭がいい日本人は、プロテクトをはずし、流布できる。
アメリカ人に金を払う義務も義理も無い。
622:デフォルトの名無しさん
19/06/26 19:58:15.93 Yg3jjeyya.net
コピペマン参上!!!まで読んだ
623:デフォルトの名無しさん
19/06/26 19:58:53.91 PhRSMRl5d.net
>>609
どうやってDBにクエリ投げてるかも見ずに判断はできないよ
624:デフォルトの名無しさん
19/06/26 20:03:19.28 U8omILn4p.net
>>606
コネクションのクローズしとる?
625:デフォルトの名無しさん
19/06/26 20:04:01.32 Ah/Hy021a.net
Connectionインスタンスも共有してるというオチだろ
626:デフォルトの名無しさん
19/06/26 23:23:25.13 PXDML4haa.net
コネクション自体がstaticとか、コネクションがSessionに突っ込まれてるとかありそう
Librahack事件みたいなクソソースになってるんじゃなかろうか
627:デフォルトの名無しさん
19/06/27 07:00:32.10 nNrp6UFx0.net
エラーメッセージを取得して、それで検索すれば?
DB の実行計画を見るとか
一方が読み取りでも、他方が同時に書き込みしていれば、その間ロックされる
特定の時間帯に、時間の掛かるバッチ処理で、
長時間に渡って、表を更新しているかも知れないし
628:デフォルトの名無しさん
19/06/27 07:07:10.17 C3eSzJbL0.net
>>618
楽観的排他制御なら読み込みは出来るかなと思ってましたが色々確認しないとダメなのですね
629:デフォルトの名無しさん
19/06/27 08:45:24.16 v58kjs08M.net
レコードロックとテーブルロックを機能ごと指定させられたことあるけど
落ちないだけで本当に適切な仕様は自分で考えてねって設計書に書いてあった
フィールドに全体の件数と合計から算出する要素があって明らかに徒労なのに頑張った
630:デフォルトの名無しさん
19/06/27 08:49:39.03 S3Pv/OFX0.net
>>602
無かったのでKindleUnpackのPythonソースを読みながら自分でコード書いた。
画像データの取り出しだけなら簡単だったよ。
631:デフォルトの名無しさん
19/06/27 11:02:50.04 te5kXF0fF.net
>問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います
史上稀に観るアホ
触っちゃいけないレヴェル
632:デフォルトの名無しさん
19/06/27 12:10:15.36 8RLu6j/60.net
string str_url_test = "URLリンク(www.rarara.co.jp)
//正規表現を定義
string anchor = "URLリンク(www.rarara.co.jp)(?<code>.*?)/.*";
code の後の abcdefg
を抽出する正規表現を定義しました。
一応動いていますが、この正規表現の定義はスマートでない気がします。
Regex re = new Regex(anchor, RegexOptions.IgnoreCase | RegexOptions.Singleline);
for (Match m = re.Match(str_url_test); m.Success; m = m.NextMatch())
{
string str_test = m.Groups["asin"].Value;
Console.WriteLine(str_test);
}
スマートな定義を教えてください。
633:デフォルトの名無しさん
19/06/27 12:32:07.51 cRVxwV8ZM.net
まずスマートの定義をくれ
634:デフォルトの名無しさん
19/06/27 14:09:30.43 Q2Oxmr0fM.net
>>624
あーウゼー
635:デフォルトの名無しさん
19/06/27 14:20:45.08 nNrp6UFx0.net
Ruby で作った
[^/]+ は、/ 以外の文字が、1つ以上続く。
正規表現のスレで、聞いた方がよいかも
# 正規表現を、%r!~! で囲むことで、/ を、\/ と、自動的にエスケープする。
re = %r!^URLリンク(www.rarara.co.jp)([^/]+)!
str = "URLリンク(www.rarara.co.jp)
md = str.match( re )
puts md[ 1 ] #=> abcdefg。md[ 1 ] は、capture 部分
636:デフォルトの名無しさん
19/06/27 14:27:06.21 2+uL3o0i0.net
¥エスケープは@で
初心者を困らせる輩はrubyスレに消えて
637:デフォルトの名無しさん
19/06/27 14:45:42.13 A3w8sjPHF.net
仕様を小出しにするなカス
死ね
638:デフォルトの名無しさん
19/06/27 14:54:33.49 8RLu6j/60.net
>>626
ありがとうございます。
正規表現がシンプルでいいですね!
私も正規表現を極めたいものです。
639:デフォルトの名無しさん
19/06/27 14:57:15.00 8RLu6j/60.net
正規表現は苦手なんだよな。
いろいろなパターンで試して勉強するしかないかな。
効率的に勉強する方法はある?
640:626
19/06/27 15:07:03.52 nNrp6UFx0.net
Ruby, JavaScript あたりの正規表現のページを読めば、十分じゃないの?
先読み・後読みは、難しいから無視する。
その代わりに、[^a]+ みたいな、a以外の文字が、1つ以上続くなどの表現を使って避ける
641:デフォルトの名無しさん
19/06/27 22:42:48.18 EN7VAxwO0.net
DataGridViewなんですが、Win10で描画がものすごく遅いのは何とかなりませんか?
もちろんオンボのおんぼろノートなのが悪いのですが
Win10上のゲストXPのほうが断然早いのは納得できません
642:デフォルトの名無しさん
19/06/27 23:12:47.92 oiNM/LxL0.net
>>632
DoubleBufferedプロパティをtrueにする
643:デフォルトの名無しさん
19/06/28 00:28:54.58 DioESCVe0.net
C# +Selenium で headless でブラウザを開くと遅くないですか???
644:デフォルトの名無しさん
19/06/28 06:58:11.47 D2ExxOf/0.net
Windows10, Ruby, Selenium WebDriver で、どのブラウザでも、
最初の起動には、10秒ぐらい掛かる。
2回目以降は、5秒ぐらい
645:デフォルトの名無しさん
19/06/28 07:27:31.58 +Ee2NvDr0.net
DataGridView触る仕事とかしたくねーなー
近々消される運命のものを覚える程のキャパは無いぜ
646:デフォルトの名無しさん
19/06/28 08:12:54.55 l8i4Vkx00.net
>>636
だったら何ならいいんだよって話
今更どうこうされるとも思わない
javaのspringあたりが実はいいのかもしれん?
647:デフォルトの名無しさん
19/06/28 11:24:55.63 NfHf96pi0.net
そもそも消されるというのは何を言ってるのか
わざわざ.NET Standardにぶちこんだのに
今更改善はされんだろうが
648:デフォルトの名無しさん
19/06/28 11:52:47.07 DioESCVe0.net
セレニウムでヘッドレスモードで
Ajaxを使っているページを取得しようとすると
xpathが見つからないです。
また、ヘッドレスモードだとデータ取得がブラウザを表示する場合と比べて遅くないですか?
649:デフォルトの名無しさん
19/06/28 12:44:42.09 lDUutk93d.net
>>637
Springわろた
650:デフォルトの名無しさん
19/06/28 14:44:09.62 MTNOQapr0.net
>>639
C#関係ないから別スレで聞いてね
651:デフォルトの名無しさん
19/06/28 14:51:29.52 DioESCVe0.net
>>641
URLはって
そいたら移動する
652:デフォルトの名無しさん
19/06/28 15:05:19.30 NRtGoyzNp.net
そんな事書いてると、ウィルスサイトに誘導されるだけだぞ。
653:デフォルトの名無しさん
19/06/28 17:21:43.81 a5iu9xEpM.net
>>640
でも絶対消えないだろ
VMあるし動き続けるぞ
654:デフォルトの名無しさん
19/06/28 17:58:15.08 lioMzEvpd.net
Springはおっさん達にはいい反面、これからの人材育成のコストが高い。この事実により減ってく気がする。
655:デフォルトの名無しさん
19/06/28 18:05:48.87 jvOF1fHl0.net
スレタイとテンプレ読めないのおまえら
656:デフォルトの名無しさん
19/06/28 22:23:15.24 9V6DEbDgM.net
愚問だな
たぶん愚問も読めないぞ
657:デフォルトの名無しさん
19/06/28 23:46:40.47 kc3OO/mk0.net
おろかもん?
658:デフォルトの名無しさん
19/06/29 02:04:31.50 CfES0TXk0.net
char * を引数にとるdllの関数に対して、stringを渡しているのですがこの時エンコードはどうなってしまっているのでしょうか?
659:デフォルトの名無しさん
19/06/29 02:41:22.49 U4J3X9fn0.net
>>649
URLリンク(ufcpp.net)
660:デフォルトの名無しさん
19/06/29 02:43:08.25 CfES0TXk0.net
>>649ですが自己解決しました。(質問した時点では自分の悩みも理解できていませんでしたが…)
まずstringで渡る文字列のエンコードは
ansi or unicode(utf-16)になる。どちらになるかはDllimport文で指定する。
でした。
ところで結局自分が渡したかったのはutf-8だったので困ってしまったのですが
stringstringではなくbytes[]を引数にすれば好きなエンコードで渡せるので解決しました。
661:デフォルトの名無しさん
19/06/29 02:44:55.06 CfES0TXk0.net
>>650
入れ違いになってしまいましたがありがとうございます。
質問する前の粘りが少し足りてませんでした、すみません。
662:デフォルトの名無しさん
19/06/29 12:00:26.90 hssGSTafa.net
>>651
.NET Framework4.7以降が対象なら
UnmanagedType.LPUTF8Str もある
663:デフォルトの名無しさん
19/06/29 13:09:26.51 SmRBL5H90.net
でもC#はByte型やByte[]型配列の機能弱いからなぁ
何か加工しようと思ったらフルスクラッチするか、
String型にイチイチ変換するしか無いんだよなぁ
664:デフォルトの名無しさん
19/06/29 13:22:08.44 TBOm/90P0.net
unsafe
665:デフォルトの名無しさん
19/06/29 16:56:21.59 eBTnp91s0.net
c#で枠のないフォームっていうのが簡単に作れるけど
これって歴史的に言えば、10年前からできたんですかね?
技術的にとてつもないことだと思うんですが、こういう事まで機能として
提供して大丈夫なんですかね
666:デフォルトの名無しさん
19/06/29 17:29:11.42 ptlXP7M80.net
>>656
何か大丈夫じゃなくなることってあるの?
枠無しどころかフォームの形も自由に作れるけど
URLリンク(dobon.net)
URLリンク(dobon.net)
667:デフォルトの名無しさん
19/06/29 17:30:51.20 dztqrfzza.net
>>656
20年前にはできてたな
668:デフォルトの名無しさん
19/06/29 17:33:57.14 hssGSTafa.net
>>656
Win32APIのCreateWindow()でdwStyleを変えれば枠なしウィンドウを簡単に作れるし
そのAPIはMicrosoft DocsによるとWindows 2000時代にはサポートされていたわけだが
669:デフォルトの名無しさん
19/06/29 17:48:17.59 18j8PEbp0.net
>>656
技術的にはタイトルバーと枠を省くだけだから
とてくもないことということはないと思うけどな
描画的にはタイトルバーと枠を描画しないだけだし
動作的にはそれらが機能しないだけだし
670:デフォルトの名無しさん
19/06/29 17:53:44.15 AOeCR8Fo0.net
>>656
何を心配しているの?
671:デフォルトの名無しさん
19/06/29 17:55:17.63 FzKXrugu0.net
Xの目玉とか、伺かとか知らない世代か…
672:デフォルトの名無しさん
19/06/29 18:04:14.38 rlA57Q8P0.net
webbrowserコントロール使ってページ遷移してる時に
ページによってはアラートのメッセージボックス出してくるとこがあるんですが
そうなるとプログラムの制御がそこで固まってしまい進めません。
アラートをプログラムで自動的に閉じるにはどうしたらいいんでしょうか?
メッセージボックスつかまえてEnterキーが押された感じにするとかですかね?
673:デフォルトの名無しさん
19/06/29 18:20:19.05 18j8PEbp0.net
>>663
webbrowserのIEのバージョンを最新のIE11Edgeモードにすると
余計なアラートが出て来なくなったと思う
レジストリに設定しないといけないのが面倒だが
デフォルトだとIE7バージョンでレンダリングになり
たびたび
674:アラートが出てくる 何年か前に使った時の記憶でスマン 詳しくはググってみて
675:デフォルトの名無しさん
19/06/29 18:24:09.63 hssGSTafa.net
>>663
WebBrowserのScriptErrorsSuppressedプロパティにtrueを設定すれば
(このプロパティ名であるにもかかわらず)全てのポップアップ系統を表示させないように出来るんだけど
これで要件満たせるならどう?
676:デフォルトの名無しさん
19/06/29 19:36:33.60 eBTnp91s0.net
>>658-661
20年前って本当?
何が怖いかって、デスクトップの背景に紛れたら
わからなくなるじゃないですか、それが怖い
こんな機能問題ないのかなって思うんだよね
677:デフォルトの名無しさん
19/06/29 19:59:02.78 H6Ncr62l0.net
>>666
ウインドウズには昔からフォームを表示しないプロセスすら当たり前にあるんだから
プログラムの前にPCの基本知識から勉強したほうがいいよ
678:デフォルトの名無しさん
19/06/29 20:09:37.55 rlA57Q8P0.net
>>664 >>665
すみません。説明が悪かったかもしれません。
その種のエラーアラートではなくてサイトにアクセスした時に
サイト側のスクリプトが確認のメッセージボックスを出したりして
それで動きが止まってしまうので、自動でOKボタンをクリックするなどして
メッセージを閉じたいってことなんです。
ウェブブラウザコントロールのScriptErrorsSuppressedはOFFにしてますね。
確かにこれOFFにしてないと大量のエラーがでますよね。
679:デフォルトの名無しさん
19/06/29 21:34:15.51 FVFUaXhq0.net
ポインタって現役のころから考えても
業務で使うことはほぼなかったな~
680:デフォルトの名無しさん
19/06/29 21:35:50.78 B3n0CVhg0.net
>>669
デカい画像を扱うときって必須じゃね?
まあ、アクセス用の関数も作るけどさ
681:デフォルトの名無しさん
19/06/29 21:41:55.57 FVFUaXhq0.net
ポインタなんて使わなくても必要な機能は
幾らでも実装出来る。
無駄な機能だよな。ポインタって。初めてポインタと出会った時はすんげー混乱させられて
プログラム嫌になりそうだったw
682:デフォルトの名無しさん
19/06/29 21:59:39.78 KuifYO5q0.net
アセンブラやってたらインクリメントを有効に使いたくなっちゃうじゃないですか!
配列のアクセスに毎回アドレス計算するなんて無駄じゃないですか!
683:デフォルトの名無しさん
19/06/29 22:07:30.42 FVFUaXhq0.net
アセンブラなんて全案件の1%にもみたないだろ
684:デフォルトの名無しさん
19/06/29 22:08:51.59 kjDvto4M0.net
>>666
20年前と言えばWindows98の時代だよな。
余裕であったぞ。
というかWindows3.1の時で既にあったと思うが。
685:デフォルトの名無しさん
19/06/29 22:12:57.86 5rmy1SGLa.net
Windowsのコントロールはそれ自体独立したウィンドウなんですよ、
ってWindowsプログラミングで最初に覚えることだよねw
686:デフォルトの名無しさん
19/06/29 22:28:44.63 KuifYO5q0.net
つーか、簡単に作れない言語って何?
687:デフォルトの名無しさん
19/06/29 22:30:06.98 kjDvto4M0.net
>>676
何が?
688:デフォルトの名無しさん
19/06/29 22:37:21.27 KuifYO5q0.net
タイトルバーと枠を省く
689:デフォルトの名無しさん
19/06/29 22:42:33.28 kjDvto4M0.net
>>678
Win32API使えない言語なら出来ないかもしれないけど。
殆どの言語で簡単に出来るんじゃね?
690:デフォルトの名無しさん
19/06/29 22:54:55.71 /qzOxQgj0.net
>>676
(>>656にとっては)C# 以外
691:デフォルトの名無しさん
19/06/29 23:13:33.63 71VA6rcX0.net
>>675
WPFは違うけどね
692:デフォルトの名無しさん
19/06/30 03:06:57.70 0m2pCA80a.net
自分で作ったアプリのデバッグファイルを実行しようとすると
WindowsDefenderから「Program:Win32/Bearfoos.A!mlが検出されました」と表示されて削除されてしまうのですが
全然心当たりがないのだけど誤検出でしょうか?
693:デフォルトの名無しさん
19/06/30 03:28:32.51 0m2pCA80a.net
インデントしたらなぜかウイルス検出されなくなりました
不思議ですね
694:デフォルトの名無しさん
19/06/30 06:51:24.27 8pd04p7x0.net
最近のブラウザなんかでよくあるタイトルバーとタブコントロールの耳が一緒になったやつは
やっぱり簡単には作れないんでしょうか
695:デフォルトの名無しさん
19/06/30 09:47:08.97 FNFqG6N10.net
>>674
そうなんですね
高級な機能を公開することってメリットあるんですかね?
誰でも難しいことができたらプログラミングのありがたみがなくなるというか
でもなんでこんな機能が豊富すぎるC#ってプログラミング教育に普及しないんでしょうかね
まだ凄さがばれてないだけでしょうかね?
696:デフォルトの名無しさん
19/06/30 09:55:02.73 FNFqG6N10.net
なんか怖くなってきた
小学生が全員C#に興味持ち始めたら仕事奪われないか…
20年間もこんな便利な言語が学生にばれない理由はなんだ…
697:デフォルトの名無しさん
19/06/30 09:55:32.27 RF81+/n00.net
>>684
それはC#の機能としては無いので自分で作らなければならない
タイトルバー部分を自分で描画する(これもC#の機能としては無い)か本来のタイトルバーを非表示にして自分で代替になるものを用意するか
>>685
C#のプログラムの質問じゃなければ相談室あたりでやって
698:デフォルトの名無しさん
19/06/30 09:56:01.29 q5qKi1vt0.net
何言ってんだコイツ
699:デフォルトの名無しさん
19/06/30 09:56:57.70 q5qKi1vt0.net
>>687
相談室に来られても厄介者扱いでしょ
700:デフォルトの名無しさん
19/06/30 09:59:02.48 KTHcpQ7y0.net
>>686
あんまり自由が効かない
みんながよく使ってるスマホアプリも
c#ですんなり作れるわけじゃないし
親からiphone渡されてるお坊ちゃんの
対象からは外れちゃうだろ
701:デフォルトの名無しさん
19/06/30 09:59:46.59 VDp+hLNV0.net
>>685
いや、高級でも何でも無いし難しくもない。
それにC#の話じゃなくてライブラリの問題でしょ。
枠のないフォームを作れるようにライブラリに機能を含めるかどうかの問題。
702:デフォルトの名無しさん
19/06/30 10:05:08.56 FNFqG6N10.net
>>690
でもC#からjavaやphpへの変換ってとても簡単なわけじゃないですか
小学生の大半がプログラミングできるようになったらどうなるんだろうか…
プログラマが工場並の自給になるとか??
703:デフォルトの名無しさん
19/06/30 10:10:59.47 KTHcpQ7y0.net
>>692
なるね
っていうか義務教育でできるレベルにしないと
現場の業務改善がシステムがいじれないと自分じゃ何もできんしね
704:デフォルトの名無しさん
19/06/30 10:20:26.50 VDp+hLNV0.net
ならね―と思うぞ。
昔、シグマプロジェクトというのがあってだな...
とっても笑えるから調べてみることを勧める。
705:デフォルトの名無しさん
19/06/30 10:35:29.86 KTHcpQ7y0.net
>>694
いや、そうじゃなくてプログラム組めないと業務改善できんから邪魔なんだよ
それにエンドが気づいてきてる
706:デフォルトの名無しさん
19/06/30 10:39:39.86 VDp+hLNV0.net
>>695
プログラマーが工場並の時給にはならね―と言ってる。
707:デフォルトの名無しさん
19/06/30 10:40:12.23 7SgHXn8q0.net
荒しはプロバイダー一括NGでも、やむをえない
708:デフォルトの名無しさん
19/06/30 10:43:10.19 KTHcpQ7y0.net
>>696
え?工場のが高いよ
っていうか工場って高いじゃん
709:デフォルトの名無しさん
19/06/30 10:47:20.73 7bkM+Qgs0.net
>>688
安心しろ
多分どこもデスマだらけだから
710:デフォルトの名無しさん
19/06/30 11:00:24.44 qr5fQsK40.net
>>692
小学生が授業で習ってできるようになる程度のことしかできないなら仕事奪われても仕方ないな。
ウィンドウの枠が消せるだけで高機能だなんて、いったいこれまでどんなプログラムを書いてたんだ? コピペ定型文の切り貼りしかできないなら、それこそやる気のある小学生の方が将来性があるだけ価値が高いよ。
711:デフォルトの名無しさん
19/06/30 11:04:08.71 VDp+hLNV0.net
>>700
切り貼りでOKと思ったからシグマプロジェクトが計画されたわけ。
プログラミングはそんなもんじゃね―から失敗したわけだ。
712:デフォルトの名無しさん
19/06/30 11:
713:49:19.06 ID:KTHcpQ7y0.net
714:デフォルトの名無しさん
19/06/30 11:50:28.34 KTHcpQ7y0.net
現にdobonのコピペで大抵のモンが作れるっしょ?
715:デフォルトの名無しさん
19/06/30 11:59:22.77 EwrgGmh50.net
もともとプログラミング自体は別に難しいことじゃない。天才に作らせたって凡才に作らせたって同じようなものができる。ちゃんとした設計が用意されてれば頭を使う必要も少ない。
IT業界でもうかるのはプログラマーじゃなくて例えばシステムコンサルとかでしょ。
716:デフォルトの名無しさん
19/06/30 12:09:11.51 zyEEOjR60.net
>>704
要件定義・仕様書作成、メンテナンスもな
717:デフォルトの名無しさん
19/06/30 12:48:03.77 7bkM+Qgs0.net
デスマだらけで現場去りたい人間の方が多いから
全然ウェルカムでしょ
718:デフォルトの名無しさん
19/06/30 12:56:26.01 mVPaCc77F.net
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
719:デフォルトの名無しさん
19/06/30 12:58:19.90 mVPaCc77F.net
URLリンク(www.eicar.org)
ここの
eicar.com.txt
ダウンロード
720:デフォルトの名無しさん
19/06/30 13:04:10.30 mVPaCc77F.net
import urllib2
a='URLリンク(www.eicar.org)'
b=urllib2.urlopen(a).read()
open('EICAR_COM.txt', 'wb').write(b)
721:デフォルトの名無しさん
19/06/30 13:31:58.71 VDp+hLNV0.net
>>702
部品を切り貼りでプログラム組むというのはレベル低すぎでしょ。
寧ろ創造的なセンス無いとダメでしょ。
722:デフォルトの名無しさん
19/06/30 14:03:06.81 3lNMnNY50.net
>>694
有賀㌧
勉強になった
スレリンク(tech板)
ここのが一番うまくまとめてると思う
723:デフォルトの名無しさん
19/06/30 14:04:32.41 3lNMnNY50.net
貼り間違えたω
URLリンク(www.pro.or.jp)
724:デフォルトの名無しさん
19/06/30 14:04:43.61 e6YddI/ba.net
>>685
大勢が保守的だからだろうね。
少し勉強すれば便利な道具が手に入るのに面倒がるし目先の時間を惜しむ。
些細な欠点を挙げつらって全体の利便性を大きく損なっているのに気がつかない。
今の社会の問題点でもあるのかな。
725:デフォルトの名無しさん
19/06/30 14:11:13.91 KdxwvvZva.net
何そのネットde真実みたいな謎の思考回路ww
726:デフォルトの名無しさん
19/06/30 16:40:30.93 KTHcpQ7y0.net
>>712
え?たった250億円で引いちゃうの?
ITの投資にしては安すぎるんちゃうの?
桁が2つは足りん気がした
727:デフォルトの名無しさん
19/06/30 16:42:04.87 KTHcpQ7y0.net
日本株に毎年7兆入れる前にもっと必要なもんあるっしょ
728:デフォルトの名無しさん
19/06/30 16:42:31.43 QU2Ls1X60.net
30年前ならそんなもんかもな
729:デフォルトの名無しさん
19/06/30 16:44:40.48 QU2Ls1X60.net
NTTの電話加入者設備設置負担金の踏み倒しは犯罪レベル
単純に一世帯4人でも2500万件x7万円で
会社の回線とか入れたら1億件で済まんと思うが
仮に1億として少なく見積もっても1億件x7万円だ
7兆円どころかおそらく数十兆円をNTTはネコババしやがった
730:デフォルトの名無しさん
19/06/30 16:49:39.92 VDp+hLNV0.net
そもそも、部品の切り貼りで誰でも作れるようにするって所に無理がある。
その上、誰でも作れるようにして安くするための部品を今収入を得ているプログラマーに作らせるなんて、自分の首を絞めるようなことを皆がやると思ってるあたり本当に笑える。
731:デフォルトの名無しさん
19/06/30 16:50:17.77 OdVPY/Nu0.net
「C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください」
雑談したいならマ板とか他でやれ
732:デフォルトの名無しさん
19/06/30 19:52:37.97 QC0zonMJ0.net
その注意書きの問題点として馬鹿ほど読めないことを忘れてる
733:デフォルトの名無しさん
19/07/01 05:55:39.89 ruCUwUIS0.net
C#のインターフェイスにデフォルトのメソッドを実装できるようにしてほしいんだけど・・・・
なんでそういう機能をつけてくれないの?
734:デフォルトの名無しさん
19/07/01 06:21:17.99 5cohzUkGa.net
>>722
9月予定のVisualStudio2019アップデートでC#8が使えるようになる予定だけど
その中にまさに Default Interface Methods がある
735:デフォルトの名無しさん
19/07/01 08:21:58.47 Dtbq/zM3a.net
ところが default interfafe implementations は .NET Core のみの機能で、.NET Framework では利用できないんだ。
そして、.NET Framework は 4.x が最後のバージョンとなり、今後フィーチャーアップデートは提供されないことが決定している。
つまり君達ドカタグラマには永遠に利用できない機能なんだ。残念ながら。
736:デフォルトの名無しさん
19/07/01 09:04:55.02 Zsrv75FU0.net
そもそも言語に機能欲しけりゃ提案すればいい
737:デフォルトの名無しさん
19/07/01 14:51:03.28 DDYeQXuRd.net
xUnitでテストしようとすると、NuGetアダプターを参照しろとかな何とかってメッセージが出てテスト出来ないんですけど何が原因ですか?
MSTestは普通にできました
738:デフォルトの名無しさん
19/07/01 18:11:06.57 DDYeQXuRd.net
自己解決しました
739:デフォルトの名無しさん
19/07/01 22:13:22.48 n69WBZRQ0.net
>>725
もう提案しても.NET Frameworkには反映されない
740:デフォルトの名無しさん
19/07/01 22:37:00.61 mdlnYL3Ka.net
>>728
.NET Frameworkで動くILを出力する範囲なら
C#の新機能は使えるんじゃないの
RangeやIndexなど、.NET Frameworkには入らないだろう型に依存する機能でも
ポーティングすればおそらく動くだろうし
過去の例: URLリンク(ufcpp.net)
741:デフォルトの名無しさん
19/07/01 22:45:08.02 mQ8xp1mF0.net
ランタイムに修正が必要ないものなら動くよ
742:デフォルトの名無しさん
19/07/01 22:56:47.38 YzHO/9WRd.net
タプルとかawait/asyncみたいに古いFramework向けの拡張ライブラリがnugetでインストールできるようになるでしょ
743:デフォルトの名無しさん
19/07/01 23:30:00.86 n69WBZRQ0.net
言われてみれば、大抵のものはコンパイラーやライブラリで実現出来るな
ただ、個人的に楽しみにしてたfast Spanとインターフェースのデフォルト実装は来ないこと確定…
744:デフォルトの名無しさん
19/07/02 12:06:26.19 L8oVJAH90.net
C#+Slenium(Chrome)の操作に詳しい方に質問があります。
Chromeを user_test1 ~ user_test5 の5アカウントで立ち上げているとします。
この時に user_test3 のChromeブラウザだけ終了させるにはどういうコードをかけばいいでしょうか?
Chromeの Process を落とすと、全てのブラウザが落ちてしまうので困っています。
何か方法はありませんか?
745:デフォルトの名無しさん
19/07/02 12:20:36.47 dJ0Zw08U0.net
URLリンク(rooter.jp)
746:デフォルトの名無しさん
19/07/02 15:04:09.04 uMGeffjZ0.net
Ruby, Selenium Webdriver では、user_test3 は、配列要素の0~4 の内の、2
all_handles = driver.window_handles
driver.switch_to.window( all_handles[ 2 ] ) # user_test3 へ移動する
例えば、user_test3 がタイトル名で、タイトル名でタブを探すとすると、
driver.switch_to.window で、all_handles[ 0 ]から[ 4 ]へ移動しながら、
1つずつタイトル名をチェックしていく
すべてのタブのタイトル名を、もっと簡単に取得できれば良いのだが、漏れにはわからない。
ひょっとしたら、JavaScript で出来るのかも知れないけど
Get title of window without switching in selenium webdriver
URLリンク(stackoverflow.com)