17/01/28 16:47:59.00 op86qfG/.net
■過去スレ
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
スレリンク(tech板)
C#, C♯, C#相談室 Part89
スレリンク(tech板)
C#, C♯, C#相談室 Part90
スレリンク(tech板)
3:デフォルトの名無しさん
17/01/28 20:11:01.67 op86qfG/.net
すいません、前スレは実質Part92でこのスレ番はPart93でした…
>>2に追加
C#, C♯, C#相談室 Part91
スレリンク(tech板)
4:デフォルトの名無しさん
17/01/29 09:06:59.65 yBayvk76.net
おつ
5:デフォルトの名無しさん
17/01/30 06:23:24.90 pve8veDd.net
ストアドでダラダラと数千行も書くクズは仕事やめてくれ
6:デフォルトの名無しさん
17/01/30 07:26:13.95 tWAIhpxB.net
>>5
C#でCOBOLみたいなコード垂れ流されるよりはマシじゃね?
7:デフォルトの名無しさん
17/01/30 13:37:08.05 aat2bJqh.net
SQLおじさんか
でもまぁDB内に閉じた処理なら長い処理でも
ストアドでいいと思うけどな
8:デフォルトの名無しさん
17/01/30 17:43:50.02 N6dz8FOe.net
ストアドの方がマシだろう
9:デフォルトの名無しさん
17/01/30 23:35:25.12 pve8veDd.net
SQLはどこベンダもデバッガがカスじゃん
10:デフォルトの名無しさん
17/01/31 10:33:19.74 OaREUEOV.net
デバッガがないからと言ってシェルスクリプトを書かないひとはいない
11:デフォルトの名無しさん
17/01/31 14:32:45.02 tcQh4bsA.net
書かなくて済むなら書こうとはしない
12:デフォルトの名無しさん
17/02/01 00:11:53.74 rMgcMaj2.net
webアプリの開発をASP.NET MVCで始めてみようと思うのですが、一般用Windows機で社内用(20名以上)の公開になるとライセンス違反になるのでしょうか
また、linuxで.NET Coreの開発にすればライセンスは何も気にしなくていいものなのでしょうか
いまいち良くわかっていないので変な質問でしたらすみません
13:デフォルトの名無しさん
17/02/01 00:55:27.94 SIRn8MTv.net
何の話だよ。もっときちんと謝れ
14:デフォルトの名無しさん
17/02/01 00:59:00.68 GoSmMZCV.net
>>12
スレチ
15:デフォルトの名無しさん
17/02/01 01:44:48.27 wmVXAizR.net
>>12
その規模のASP.NET MVCのサーバーをWindowsのクライアントOSで構築して運用すると明確なライセンス違反になる。
サーバーライセンスとCALをケチるなら、Linuxで.NET Core+ASP.NET Core+WEBサーバー。
16:デフォルトの名無しさん
17/02/01 07:23:50.51 /3Lab+Ym.net
少ない初期投資で手軽に始めてみたいならAWSかAzure使うのも検討したら?
Windows Serverも時間課金で使えるよ
17:デフォルトの名無しさん
17/02/01 07:35:30.80 QtOB6vhP.net
.NET CoreゆうてもVisual Studioは業務利用で有料じゃろ?
VSCodeじゃまだ開発しにくいよインテリセンスイマイチだし
18:デフォルトの名無しさん
17/02/01 08:19:50.66 y670B3So.net
>>17
Editionによるだろ
19:デフォルトの名無しさん
17/02/01 08:23:46.42 SIRn8MTv.net
>>12が言ってるのはVSじゃなくてWindowsのライセンスのこと
Windows ServerでないWindowsをサーバーとして使い、かつ、20台以上から同時接続されるならそれはライセンス違反
20:デフォルトの名無しさん
17/02/01 12:00:03.24 +pDV2e5Z.net
同時じゃなければいいんだ
21:デフォルトの名無しさん
17/02/01 14:06:30.13 UvWC25bF.net
すいません、C#を使用し、NV12色空間のバイナリデータをRGBに変換する方法を教えてください。
私なりに色々なサイトから情報を集めてサンプルのメソッドを作ったのですが、成果物が思ったように出力できません。
どこが悪いかもわからず…困っております。
どなたか、このコードのどこに問題があって正常に表示されないのかご教示いただけないでしょうか。
【コード】
URLリンク(ideone.com)
【その他資料】
URLリンク(upup.bz)
【背景】
DirectShowでMP4動画の任意の位置の静止画を取得したい。DirectShowのサンプルフィルタのDumpFilterを使用し、IMediaSampleからダンプファイルを取得し、NV12からRGBに変換したいのだがうまくいかない・・・
お手数をお掛けしますが、何卒よろしくお願いします。
22:デフォルトの名無しさん
17/02/01 14:49:28.30 jnCvpXDY.net
>>21
横方向は色が連続してるから、wが絡んだインデックスの計算で誤りがあんじゃね
23:21
17/02/01 14:57:10.29 UvWC25bF.net
>>22
凡ミスでした・・・・
var y = nv12Binary[h * width + h + cnt];
ではなくて、
var y = nv12Binary[h * width + w + cnt];
でした・・・・
すいませんお騒がせしました;w;
24:デフォルトの名無しさん
17/02/01 18:32:14.02 fkh8yjaM.net
>>19
だからスレチ
25:デフォルトの名無しさん
17/02/01 19:46:14.74 W7n/VPVl.net
>>12です
スレチの質問すみませんでした
レスして頂いた皆さんありがとうございました
参考意見助かりました
26:デフォルトの名無しさん
17/02/01 23:00:42.87 ekCEdBsk.net
短いSQLの間に別の手続型言語を挟むような作りと長い一発SQLとは、処理速度が数十倍~数百倍違うこともあるからしょうがない
だって、DBエンジンは自動的にマルチタスク処理してくれるのに、別言語で処理するってことはシングルスレッド化するんだから
それにSQLは長くても、うまければむしろ読みやすく書ける(手続型言語より短いステップでシンプルに書ける場合が多い)
ただし頭の中に複数のマス目をイメージできない人が読むと呪文に見えるらしい
常に低レベルなプログラマに合わせて標準化する利点はあるだろうけど
27:デフォルトの名無しさん
17/02/01 23:29:02.19 Q5WgQ/3w.net
クソ長いSQLは設計ミスったバカなDB固有の現象なんだぜ
100行超えたらなんか致命的にやらかしてるって疑った方がいい
28:デフォルトの名無しさん
17/02/01 23:45:22.94 tYeJxlUS.net
SQLとか長くて6行だろ
29:デフォルトの名無しさん
17/02/01 23:47:28.74 r1Eq5mSG.net
SQLは軽くしとかないと負荷分散し辛いだろ
30:デフォルトの名無しさん
17/02/02 00:06:00.36 335RX4F5.net
100行のSQLって何してんだよw
31:デフォルトの名無しさん
17/02/02 00:22:55.82 NP4cqTts.net
前スレ995に言ってくれ
32:デフォルトの名無しさん
17/02/02 00:33:35.95 Xhr9HRot.net
SQLがクソ長くなるのはだいたい横持ちのせい
33:デフォルトの名無しさん
17/02/02 00:38:43.68 jMAutYAP.net
100行ぐらいのSQLなら常人が読める程度にこなれているだろ
問題は、4つも5つもくっつけて集計したものを更に集計ている呪文のようなViewだな
「誰がこんなもの作ったんだよ」と、過去の自分に説教したくなることが偶にあるだろ
34:デフォルトの名無しさん
17/02/02 01:06:08.80 mPNRvOCD.net
SQLは再帰CTEの登場でチューリング完全な言語になったからな
URLリンク(wiki.postgresql.org)
35:デフォルトの名無しさん
17/02/02 04:14:19.22 gxIOcfsw.net
select *でなく
select a,
b,
d,
....などはよくある行数稼ぎw
36:デフォルトの名無しさん
17/02/02 11:36:33.30 K/b9EIy4.net
行数で語るのはSIer脳
37:デフォルトの名無しさん
17/02/02 22:58:09.73 JuktWcDi.net
>>33
初心者って集計を嫌うよね
集計を覚えるとSQLの表現力がグッと上がるのにもったいない
38:デフォルトの名無しさん
17/02/02 22:59:25.89 cdo4XHzT.net
集計はよく使い方が分からない
39:デフォルトの名無しさん
17/02/04 16:36:50.15 sbknHPFF.net
ファイルサイズを高速に取得したいのですがFileInfoだと遅くて・・・
何か良い方法は無いものでしょうか。
40:デフォルトの名無しさん
17/02/04 16:45:50.00 atHQASm/.net
>>39
なぜ高速に取得したいの?
どうい�
41:、アプリケーションを想定? エクスプローラ?
42:デフォルトの名無しさん
17/02/04 16:49:01.93 sbknHPFF.net
>>40
はい。そのようなものです。
43:デフォルトの名無しさん
17/02/04 16:52:42.09 94H9RTyk.net
dir実行してパイプで取り込むとかw
44:デフォルトの名無しさん
17/02/04 16:53:28.40 ypmLJyxS.net
インデックス
45:デフォルトの名無しさん
17/02/04 17:03:20.16 atHQASm/.net
DirectoryInfoのEnumeateFilesとかでも遅いかな
46:デフォルトの名無しさん
17/02/04 17:33:34.62 sbknHPFF.net
>>44
DirectoryInfoで速くなりました。ありがとうございます!
47:デフォルトの名無しさん
17/02/04 21:24:06.70 znmRetLn.net
>>45
こういう処理はどれが正解って訳じゃないけど、見通しがついてよかったぬー
48:デフォルトの名無しさん
17/02/04 22:20:54.73 SpK5IAIQ.net
44が的確ですごいな
49:デフォルトの名無しさん
17/02/05 00:02:27.35 PGIZ+KFZ.net
>>44
GJ!!
50:デフォルトの名無しさん
17/02/05 13:44:40.26 jpxF0hW7.net
lock()と言うのがありますが、マルチスレッドの処理で
誰かが何らかのオブジェクトをlockしているかどうか知る方法はありますか?
if(IsLocked(obj)){
}else{
}
みたいな処理をしたいのですが。
51:デフォルトの名無しさん
17/02/05 13:51:41.71 QLCXp5gV.net
>>49
Monitor.IsEntered(obj)とか?
52:デフォルトの名無しさん
17/02/05 14:09:45.29 PGIZ+KFZ.net
>>49
lock は System.Threading.Monitor クラスを使うように展開されるみたいだからこいつの TryEnter( ) とか使えばいいんじゃね?
URLリンク(ufcpp.net)
53:デフォルトの名無しさん
17/02/05 14:22:39.19 jpxF0hW7.net
>>50>>51
Monitor.TryEnterで上手く出来ました。
ありがとうございました。
54:デフォルトの名無しさん
17/02/14 20:20:16.10 9KVRWgtp.net
RxのSubjectで初期値のないBehaviorSubjectはないですか?
subscribeした時点でまだ一度もonNextをしていなければonNextするまでコールバックを呼ばず、
一度でもonNextされていれば最後の値をコールバックに渡す感じです
55:デフォルトの名無しさん
17/02/14 20:49:20.54 pU7mkQJz.net
>>53
Rxなんか使わずに単純に最後の値を変数に入れといてそれを読めばいいのでは
56:デフォルトの名無しさん
17/02/14 21:07:29.79 9KVRWgtp.net
>>54
変更通知…
rxが楽
57:デフォルトの名無しさん
17/02/14 23:32:57.72 sZcA1Jdu.net
マスコットキャラが作れると聞いて始めたのですが、
まったく、作れません。
軽く何かを教えてくださいお願いします。
58:デフォルトの名無しさん
17/02/14 23:42:59.54 jF3NlhZ4.net
不定形 ウィンドウ でググって、あとはタイマーで絵や座標を更新するとかかな
59:デフォルトの名無しさん
17/02/15 13:44:40.41 6MEGowR3.net
>>56
Unityちゃんでもいじってみ
60:デフォルトの名無しさん
17/02/15 14:22:29.43 fYC4NdgN.net
visual studio2012を使っています
c#でdatagridviewを使っていて、headertextを2行にしたいのですが、方法を教えてください
61:デフォルトの名無しさん
17/02/15 14:38:33.74 IaTHaUdU.net
>>59
改行コード入れればいいんじゃないか?
62:デフォルトの名無しさん
17/02/15 18:06:53.63 fYC4NdgN.net
GUI
63:デフォルトの名無しさん
17/02/15 18:08:07.82 fYC4NdgN.net
>60
GUIからだと入れることができませんでしたが、
コードから直接入れることができたので、
コードから入れました。
64:デフォルトの名無しさん
17/02/15 19:46:34.50 IaTHaUdU.net
>>62
俺も玉にはいい事言うよね。
65:デフォルトの名無しさん
17/02/16 19:46:27.37 3MqMajas.net
formアプリでformの大きさを小さくしたら配置してるコントロール全てがformの大きさ�
66:ノ比率縮小されるっての出来ないですよね?
67:デフォルトの名無しさん
17/02/16 20:07:17.83 yaBP1ZBT.net
自前で比率計算すればできる
実装がめんどくさければGrapeCityのComponentOne買えばOK
68:デフォルトの名無しさん
17/02/16 20:12:31.55 C8TUip5w.net
WPFなら出来たけど、Winformはどうなんだろ
69:デフォルトの名無しさん
17/02/16 20:34:36.40 Dw9/ZFHg.net
URLリンク(m.chiebukuro.yahoo.co.jp)
検索くらいしろよ
70:デフォルトの名無しさん
17/02/16 22:06:01.73 x6Naqncr.net
地道に力技でやるしかない
この辺りはformアプリは苦手
71:デフォルトの名無しさん
17/02/16 22:16:06.79 7GOAgwDK.net
メモ帳作ってるけど外観はできても中身ができなくて困ってる
クリックイベントは大丈夫なはずなんだけど、
開くや新規作成 検索とか、探してたら、
開くだけで、8行ぐらいコードが必要なんだけど?
1行で呼び出す、コードとか無いの?
72:デフォルトの名無しさん
17/02/16 22:32:47.75 /R92/z+7.net
8行でできるならいいじゃん
まとめたいならこれ
Process.Start("notepad.exe");
73:デフォルトの名無しさん
17/02/16 23:25:56.09 7GOAgwDK.net
>>70
どうも
初心者だから、妥協しようか迷ってたんだけど
当面はそちらで行かせて貰う
74:デフォルトの名無しさん
17/02/16 23:30:09.61 Dw9/ZFHg.net
いいのかよw
75:デフォルトの名無しさん
17/02/17 08:32:40.56 MUR4QGae.net
>>65-67
ありがとうござます
助かりました。調べて頑張ってみます
76:デフォルトの名無しさん
17/02/17 08:33:43.24 MUR4QGae.net
>>68
すみません。抜けてました。レスありがとうございます
77:デフォルトの名無しさん
17/02/18 11:09:32.83 cWaaGg3V.net
sqlの定義文をC#のソースにするのが面倒なんだが、気の利いたツールとかエディタの拡張とか知りませんか?
create tabale hoge ([hage] text) → "create table hoge " +"([hage] text)";
78:デフォルトの名無しさん
17/02/18 11:15:39.58 MSmTE/VQ.net
>>75
逐語的リテラル文字列
あとは補完文字列なんてのもあるが、SQLインジェクションには注意
79:デフォルトの名無しさん
17/02/18 12:10:46.00 52dA0McO.net
>>75
> create tabale hoge ([hage] text) → "create table hoge " +"([hage] text)";
変換規則がわからん
単にこれだけをやりたいだけなら正規表現でもできそうだが
80:デフォルトの名無しさん
17/02/18 12:17:17.23 rCytLmz9.net
>>75
スクリプトファイルの読み込みじゃいかんのか?
81:デフォルトの名無しさん
17/02/18 13:26:45.21 oikc5OUx.net
>>75
矢印が逆じゃあないの?
最終的には連結した一つの文字列にしたいんだろ?
82:デフォルトの名無しさん
17/02/18 14:07:01.72 uqTw3F8T.net
>>75
作れば
83:デフォルトの名無しさん
17/02/18 14:25:52.73 XkQA6zD3.net
>>75
そのサンプルだと両端にダブルクオーテーション付けて最後にセミコロン付けるだけでよくね?
わざわざ文字列を分割する必要性無いと思うんだけども
84:デフォルトの名無しさん
17/02/18 18:29:25.18 367vvwff.net
フォームを色分けしたいんですが、どうしたらいいでしょうか。
例えば半分から上は黒で下は白のようなものです。
現状panelを使ってそのように見せているんですが、いい方法あったら教えてください
85:デフォルトの名無しさん
17/02/18 19:51:04.90 d0hejx53.net
panelを2つ貼ってbackgroundcolourを設定しろよ
86:デフォルトの名無しさん
17/02/18 19:58:44.57 M4R1Zp6s.net
それやってるって書いてあんじゃん。読めよw
無理やりオーナードローかform捨てるしかないだろな
87:デフォルトの名無しさん
17/02/18 20:00:20.55 n/aPn98B.net
>>82
なんの目的があるかわからん。
色が分かれていても、別のものを表示している訳ではないの?
88:デフォルトの名無しさん
17/02/18 20:24:06.51 jkd676sQ.net
パネルじゃなくて、ラベルとか影響の少ないコントロールを Z オーダーの一番下に張るのとか出来なかったっけ。
89:デフォルトの名無しさん
17/02/18 20:44:32.17 n5oO6gvO.net
上にコントロール重ねること考えたらパネルが一番楽で無難なんじゃね
フォーム(パネル)の背景設定でもいいけど
>>86
パネル以外だと上にコントロール重ねたら下が見えなくならないかな
90:75
17/02/18 22:28:19.09 cWaaGg3V.net
sqliteで作るときに、テーブルをツールで定義してからそのsqlをC#のソースに変換するのが面倒だっから
ツールが有ったら使いたいなと思い聞いてみました
他のDBだと、ソースにテーブル定義を書くなんて無いからちょっと混乱させちまいましたね
面倒でも手でやるのが一番早そうだ
91:デフォルトの名無しさん
17/02/18 22:56:35.91 XkQA6zD3.net
EntityFramework でググれば幸せになれるよ
92:デフォルトの名無しさん
17/02/18 23:07:16.07 rCytLmz9.net
>>88
だからファイル詠み込めよ
なんで動的sqlでもないのにコードに書くんだよ
93:デフォルトの名無しさん
17/02/19 00:04:30.14 TkpsmKBX.net
>>82
サイズ変えないならFormのBackgroundImageに
色分けしたBitmap貼るとかいいんでないの?
好きな背景にもできるぞ
94:デフォルトの名無しさん
17/02/19 00:14:46.31 PjLfAeqZ.net
>82です。みなさんありがとうございます。
説明補足すると、メッセージボックスを自作していて、メッセージボックスのような背景を作りたかったんです。
95:デフォルトの名無しさん
17/02/19 07:54:46.40 ngALvOwB.net
>>88
> 他のDBだと、ソースにテーブル定義を書くなんて無いから
SQL-SERVER 使ってるけど一時テーブル作ったりで普通にあるけど?
96:デフォルトの名無しさん
17/02/19 08:47:37.68 iOIH+Q4P.net
>>92
似たようなことはDock=Top, AutoSize=FalseとしたLabelでよくやる。
97:デフォルトの名無しさん
17/02/19 10:11:31.31 93wksAh/.net
>>89
sqliteでEF使うと致命的に遅いから無理ですわ
>>90
何故に喧嘩腰?
>>93
俺はあまり一時テーブルに頼らずにviewでなんとかするのが好きだから、そこまで思い当たりませんでしたわ
たしかに一時テーブルが正義の場合だって少なくないだろうが
98:デフォルトの名無しさん
17/02/19 10:23:29.24 TZ/mXSM2.net
一時テーブルは保守性が下がりパフォーマンスもスケーラビリティも多くの場合悪くなるのでやめてください
99:デフォルトの名無しさん
17/02/19 10:32:03.79 kiv7S6GK.net
>>96
そう言って糞長いストアド作りまくった挙句に保守できなくなった案件があったと、DBコンサルが笑い話のネタにしてたな
一時テーブル=害悪はどこの文化なんだろ
100:デフォルトの名無しさん
17/02/19 10:41:13.77 98lVckOm.net
一時テーブルは使うけど実行時にcreateするってのは経験ないなぁ
101:デフォルトの名無しさん
17/02/19 10:41:38.21 7Avz8j0c.net
そういうのは結局は開発者の能力の問題
一時テーブルかストアドかはそれほど重要ではない
102:デフォルトの名無しさん
17/02/19 11:34:46.47 gpMreema.net
>>95, >>97
一時テーブルとビューとかストアドとは使いどころが違うと思うんだが何故に比較してるんだろ?
>>98
セッション内でのみ有効な一時テーブルとか使ったことないの?
103:デフォルトの名無しさん
17/02/19 11:42:57.76 98lVckOm.net
>>100
あったあった。そう言われると1度だけ。
あのときは言われたとおりやっただけだから忘れてた。
104:デフォルトの名無しさん
17/02/19 11:52:35.81 TZ/mXSM2.net
>>97
一時テーブルなんてなくてもクソ長くならないし
そもそもストアドなんて保守性の低いものをむやみに使う必要もない
リレーショナルデータベースとは何か勉強しなおしてこい
105:デフォルトの名無しさん
17/02/19 12:29:51.72 LQaPeC4X.net
普通はefを使うもんなの?
106:デフォルトの名無しさん
17/02/19 12:40:55.60 zEbYND7D.net
テーブルがシーケンシャルファイルにしか見えないCOBOL世代の人なんかは一時テーブルとかストアド好きだよね
結局は自分の慣れ親しんだ領域に持って行ってやるのがその人にとってはベストなんだよ
どうせ保守するのは自分じゃないし自社ですらないことも多いからその場でその人員でできるベストを採用しなきゃビジネスとして悪手
流行りや有名コンサルに乗せられて意識たかそうなコードをメンバーのスキルもないのに書こうとする
これが最悪の選択肢
列挙型とswitchで分岐しまくるほうがメンバーにとって理解しやすいならそれがいい
そういう現場では多態性を利用したコードは生産性が落ちる
一時テーブルとストアドも同じでメンバーが理解しやすいというなら保守を受注する会社あるいは保守担当の同僚に心の中で懺悔しつつ採用すべきだ
107:デフォルトの名無しさん
17/02/19 12:43:22.84 OMGCNA7z.net
スレチ
108:デフォルトの名無しさん
17/02/19 12:55:43.81 LQaPeC4X.net
>>104
>テーブルがシーケンシャルファイルにしか見えないCOBOL世代の人なんかは一時テーブルとかストアド好きだよね
新しい世代の人にはどう見えるの?
dbの操作はどういう手法が普通なの?
109:デフォルトの名無しさん
17/02/19 12:58:51.41 7Avz8j0c.net
>>106
大抵の処理は積極的にJOINを使えば1パスで済ませることもできる
110:デフォルトの名無しさん
17/02/19 13:05:26.33 NYetswUU.net
あとは、DBを永続化されたオブジェクトの単なるストレージと見做して
ORMを活用してほとんどC#の中でやってしまうスタイルもある
111:デフォルトの名無しさん
17/02/19 13:10:17.55 93wksAh/.net
速度が問題にならない場面でも速度ばかり気になるのは何故なんだろうな?
だから10倍遅くなるEFはあまり好きじゃない
エントリーみたいなものならEF使ったほうが良いとは思うんだけどね
112:デフォルトの名無しさん
17/02/19 13:13:51.67 LQaPeC4X.net
>>108
そのormというのは75みたいなsql文を実行するんですか?
113:デフォルトの名無しさん
17/02/19 14:09:14.55 zEbYND7D.net
>>106
別に新しくもなんともないけど普通は行あるいは命題の集合に見える
操作は当然DMLで行う(データ操作言語だからね)
114:デフォルトの名無しさん
17/02/19 14:24:55.62 7Avz8j0c.net
近年ではビッグデータ界隈で古典的なバッチ処理が最新技術として復活したけどね
処理を行単位ではなくテーブルからテーブルへの射影と考える粗粒度なバッチ処理は
分散処理や糞遅いスクリプト言語との相性がいい
115:デフォルトの名無しさん
17/02/19 15:04:35.19 rTEdd30o.net
最近EntityFrameworkじゃなくてDapperばっか使ってるわ
116:デフォルトの名無しさん
17/02/19 15:09:45.51 MFFmnvDE.net
真っ当な判断能力があるなら必然的にそうなる
117:デフォルトの名無しさん
17/02/19 15:11:31.44 OMGCNA7z.net
DbExecutor使ってるけど全然更新されなくて悲しい
118:デフォルトの名無しさん
17/02/19 16:48:08.70 LQaPeC4X.net
>>113
Dapperと言うのを調べてみたのですが生のSQLを実行するのと
何が違うのか良く分かりません。Dapperと言うのを使う場合でも
SQL文を実行するんですよね?
何が違うんですか?
119:デフォルトの名無しさん
17/02/19 16:55:48.71 JyXmk48j.net
>>116
Dapperは主にクエリ結果をオブジェクトにマッピングするためのライブラリ
Dapperを使わない場合でもDataTableやDataReaderをそのまま使わずに型安全なオブジェクトに変換してから処理をするだろう?
それを楽に書きたい人のためのものだよ
120:デフォルトの名無しさん
17/02/19 17:11:25.76 LQaPeC4X.net
>Dapperを使わない場合でもDataTableやDataReaderをそのまま使わずに型安全なオブジェクトに変換してから処理をするだろう?
Dapperを使わない場合ですが、DataTableに読み取ったあと、カラムの型は自分では分かっているので順番にデータを取り出して、
その型にキャストして読み出すのはダメですか?
それとも私何か勘違いしていますか?
121:デフォルトの名無しさん
17/02/19 18:11:13.51 7Avz8j0c.net
>>118
それを自動でやってくれるのがDapper
122:デフォルトの名無しさん
17/02/19 20:35:23.16 LQaPeC4X.net
>>119
なるほど。ありがとうございました。
123:デフォルトの名無しさん
17/02/19 20:41:40.94 +HIMLleH.net
Dapper気軽そうでいいね。
124:デフォルトの名無しさん
17/02/19 21:16:27.26 PjLfAeqZ.net
>94
なるほど、ありがとうございます
125:デフォルトの名無しさん
17/02/19 22:55:47.64 L+LZlPn0.net
35:54
↓
10:40
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
126:デフォルトの名無しさん
17/02/22 23:33:37.07 yhciyQan.net
質問させてください。
なにかの処理中にフォームなどを起動させておく、以下の処理について。
while(xxx.HasExited == false) //xxxはインスタンス
{
Applcation.DoEvents();
System.Threading.Thread.Sleep(200)
}
この処理はwhile文で回していますが、DoEventsとSleepは、なにか処理が行われるたびに呼び出されると思ってよいのでしょうか。
起動中に
なにか処理する→0.2秒とまる→なにか処理する→0.2秒とまる→… みたいな。
またこのSleepは、現在起動中の処理を一時的に止めると思ってよいでしょうか。
ご教授お願いします。
127:デフォルトの名無しさん
17/02/22 23:52:38.18 d6y2GeKl.net
>>124
何を見たのか誰に教えてもらったのか知らないが、まずはそんなクソコードは忘れよう
DoEventsはVB時代の遺物であり、使用は推奨されない
今時は時間のかかる処理をGUIをフリーズさせることなく実行したい時は
await Task.Run(() => {
何かの処理
});
と書く
128:デフォルトの名無しさん
17/02/22 23:56:30.83 huuz+PNn.net
その処理だと、全力でDoEventsと0.2秒休むを繰り返すだけだよ
つか、今どきDoEventsとか存在を忘れたほうがいいんじゃないかねえ
129:デフォルトの名無しさん
17/02/22 23:57:19.06 954rYVtd.net
>>124
そのセットは別スレッドの入力待ちのテンプレ
・・・Application.DoEvents()って必要だったっけ?w
それはあいまいだけど、キー入力待ちか外部exeからの返り値待ちで使われている
130:デフォルトの名無しさん
17/02/23 01:32:48.34 zQR1bKXh.net
>124です。みなさんありがとうございます。
最近は推奨されないんですね。
理解としては>127さんのとおり、イベント発生したらDoEventsが実行されると思ってよいのでしょうか。
131:デフォルトの名無しさん
17/02/23 01:40:04.09 l1pCIGHb.net
逆
DoEventsが実行された時に貯まってるイベントを処理する
132:デフォルトの名無しさん
17/02/23 14:52:23.00 daVfofu2.net
C#をCGIぽく使うベストプラクティスとかないだろうか。
普段はcentOS+nginxでJavascriptとRuby/PHP、一部バッチにC#って感じでWebサービス開発してる。
リクエスト毎にサーバ側でC#アプリケーションを引数添えて実行して、戻り値を取得するのは出来るんだけど・・ 。
とても実用には耐えなさそうだし、Webホストとか使うのかと思ったがわからず困ってる。
133:デフォルトの名無しさん
17/02/23 15:24:59.57 0G6iEay4.net
なぜ実用に耐えなさそうだと思うの?
そう思うからには理由あるんでしょ。そこ解決すればいい
134:デフォルトの名無しさん
17/02/23 19:34:00.47 osMc+8cA.net
毎回プロセスつくんの?
135:デフォルトの名無しさん
17/02/23 20:12:55.31 OJm2Ca4N.net
じゃあC#でWebサービス作ればいいじゃないか
136:デフォルトの名無しさん
17/02/23 20:13:27.60 u2e4Httf.net
そんなごちゃ混ぜで�
137:ソゃんと保守できるの?
138:デフォルトの名無しさん
17/02/24 01:33:54.44 eab+BK9O.net
>>130
ASP.NET Web API
139:130
17/02/24 11:37:39.67 dB0UjfyS.net
みなさん、回答ありがとう。
毎回プロセス作るのはオーバーヘッドでかいから、常駐型になるのかな?
その時のやり取りの仕方をSendMessageだったり、ファイル常時監視してキューファイル投げるとかしか知らないんだ。
WebサービスとかASP.NETで調べてたら、やっぱりC#としての回答はこれなのかなって気がしてきたわ。
個人的な宗教上の理由で避けたかったけど、検討してみる。。ありがとう。
140:デフォルトの名無しさん
17/02/24 12:36:59.04 YZGHPd2K.net
>>136
> 毎回プロセス作るのはオーバーヘッドでかいから
それが問題になるようなサイトなのか?
141:デフォルトの名無しさん
17/02/24 15:11:03.84 nwaeFCKh.net
ASP.NET MVCって案外重たいよ
142:デフォルトの名無しさん
17/02/24 15:50:26.31 pDljuoBB.net
そらそうやろ
143:デフォルトの名無しさん
17/02/24 16:13:46.51 0wjaf/O/.net
C#でWindowsフォームアプリケーションを作るための良い解説書はあるでしょうか?
独習C#はもう読み終えたので基本的なことはわかっていると思います。
144:デフォルトの名無しさん
17/02/24 16:41:06.62 nwaeFCKh.net
ゲームしたいです。ゲーム機とゲームソフト買いました。どっちのマニュアルも読みました
早く遊びたいです。次はどんな攻略本読んだらいいでしょう?
ゲームじゃこういうのないのに、プログラミングじゃ多いよな
基本わかったなら何故始めないw
145:デフォルトの名無しさん
17/02/24 16:48:06.10 0wjaf/O/.net
>>141
独習C#ではWindowsフォームの説明がいっさいなかったので、コンソールアプリしか作れないのです。
フォームに特化した解説書かサイトがあればと思い質問しました。
146:デフォルトの名無しさん
17/02/24 17:08:33.80 pp6ofCfh.net
本なんか一冊も読んでないけどWinFormアプリいくつも作っている
就活で役立てたいのならマ板に行って聞いたら?
趣味でやっているのなら向いていない
147:デフォルトの名無しさん
17/02/24 17:45:41.09 LZq2xNz5.net
Formアプリもコンソールアプリもコードベースで作るなら同じって慣れれば分かるけど、最初は分からないよねー
javaのswingで同じこと経験した
148:デフォルトの名無しさん
17/02/24 17:57:21.18 m8N/tmCl.net
本読むやつはプログラミング向いてない
149:デフォルトの名無しさん
17/02/24 18:16:02.45 2lTW2QAE.net
amazonでC#マガジンの海を渡ればWinFormの本が見つかる
150:デフォルトの名無しさん
17/02/24 18:26:49.22 2HxY6Dp6.net
まだWinFormの時代なんだなw
151:デフォルトの名無しさん
17/02/24 18:27:42.45 0tWWIcvC.net
>>145
悪かったな、読んでるよ。
152:デフォルトの名無しさん
17/02/24 18:44:16.34 ZTtaAqVi.net
きちんと勉強したいなら本代はケチんなってばっちゃが言ってた
153:デフォルトの名無しさん
17/02/24 18:44:46.20 WmxnDnjh.net
WPFの本出しても売れないのは明らかだしな
154:デフォルトの名無しさん
17/02/24 18:47:19.91 JpyYS2dN.net
コンソールアプリは明確にmainというエントリポイントがあるが、
GUIはイベントベースから最初の最初は戸惑うだろ。
(どこにコードを書くのかわからない)
ただ、1回やれば分かるが。
で、そのレベルならMDSNのチュートリアルで十分だと思うよ。
URLリンク(msdn.microsoft.com)
これで駄目なようなら向いてないってのは事実だよ。
本買って本格的に学ぶ内容ではない。
(これはWPFだけどどうせ違いも分かってないでしょ。
古いバージョンのを探せばフォームのチュートリアルもあるはずだし)
155:デフォルトの名無しさん
17/02/24 18:49:16.49 CB55ejbI.net
ダブルクリックしてれば何とかなる
156:デフォルトの名無しさん
17/02/24 20:32:10.23 DIkdt+H/.net
肥大化するForm
157:1.cs
158:デフォルトの名無しさん
17/02/24 20:55:52.19 2lTW2QAE.net
ソリューションエクスプローラでファイルを入れ子にする
URLリンク(wiz.came.ac)
159:デフォルトの名無しさん
17/02/24 21:52:47.57 KBFO5tFR.net
form動かすのは簡単だけどformのコードを破綻させずに書くのは難しい
少なくとも日本の大半の職業プログラマには無理
悲しいね
160:デフォルトの名無しさん
17/02/24 22:19:08.66 ezpXAtZb.net
動きゃいい
161:デフォルトの名無しさん
17/02/24 23:22:45.93 WdGON0E4.net
最近はウェブでなんとかなるんだが、きちんと本で勉強するべきだと思う。
C++長かったからC#楽勝と思ったけどラムダ式が読めない。
今更独習C#はと思ったが読んでよかった。
162:デフォルトの名無しさん
17/02/24 23:40:01.37 nwaeFCKh.net
ラムダ式使えなくって作りたいものは作れるからな
言語を学びたいのか、プログラミングしたいのか、だな
163:デフォルトの名無しさん
17/02/25 00:07:49.88 Hh3bBfOP.net
ラムダ?
登場してから60年以上たってもLISPが普及してないのが答え。いらん。
164:デフォルトの名無しさん
17/02/25 00:27:59.19 N0RLU+6x.net
俺が使っているのはJavaScriptなんだが、ラムダは超絶便利だぞ。
ただし使わなくても書けるし、いちいちクラスにしてしまう手もあるし、どうにでもなるのも事実だが。
本で学ぶことが必要なのではなくて、いろいろな道具があることを知るのが重要。
今時の言語は全てラムダ使えるんだから、他言語少しでも学んでいればラムダは使えたはず。
その点、C++は古い言語だったのも事実。
ただどう見ても142はそれ以前だろ。
そもそもWPF(というよりHTML)やったほうがいいんじゃないかと思うし。
165:デフォルトの名無しさん
17/02/25 00:54:21.20 N9ovtMND.net
ストラテジー用のインターフェース定義とかいちいちめんどくさい
Func、Action、ラムダでスパッと実装したい
166:デフォルトの名無しさん
17/02/25 00:58:33.11 Jm21gNIW.net
スパッと書く書式、
スパっと書くアルゴリズム、
スパッと書くクラス設計・・・
いつまで経ってもプログラミング始めれず勉強の毎日だぞ
167:デフォルトの名無しさん
17/02/25 01:18:47.75 N0RLU+6x.net
めんどくさい人にはマジでJavaScriptオススメ。
あのデタラメッぷりには最初戸惑ったが、慣れてしまうと相当いい。
ラムダに慣れたいだけなら、スクリプト言語系(JavaScript/Python/Ruby)がマジでいいと思う。
C#のデリゲートって使う前にいろいろ準備が要って面倒だし、
あるのを知ってても使う気にならないでしょ。
俺もVC++しか使ってないころは全く興味なかった。
でもJavaScriptでお気楽にラムダ使いまくった後は、VC++でも使いたくなる。
だってそのほうが楽だと知ってしまったから。
ただ、いちいち型を合わせないといけないのが面倒だったりする。
168:デフォルトの名無しさん
17/02/25 01:26:56.21 N9ovtMND.net
インテリセンス弱いスクリプト系言語は怠け者には向かない
169:デフォルトの名無しさん
17/02/25 01:40:08.63 N0RLU+6x.net
まあIDEに関してはC#が一番上なのだろうね。それは思うよ。
170:デフォルトの名無しさん
17/02/25 01:45:57.08 Hh3bBfOP.net
winform使うにしもてwin32の知識は必要。結局win32ラップだし。
171:デフォルトの名無しさん
17/02/25 01:46:38.10 FbflVc2K.net
ラムダはインテリセンスあってこそやね。
172:デフォルトの名無しさん
17/02/25 02:39:26.60 ByE41wZl.net
これからC#でGUIするんならWPFにしたらいいんじゃない。フォームは古いし。
但し、WPFの本はない、あるけど使えないと云うか価格に見合ってない。いい本あったら教えてもらいたい。
173:デフォルトの名無しさん
17/02/25 07:34:49.62 JxD18xMy.net
WPFやってみたけどやっぱりformのほうがお気楽だから戻ってきてしまった
174:デフォルトの名無しさん
17/02/25 07:54:43.41 fA+zhTaO.net
javascriptのラムダって例えばどんなヤツよ?
175:デフォルトの名無しさん
17/02/25 08:03:07.91 vx9FCuam.net
>>1
176:70 今のJavaScriptは (x, y) => x + y のようなC#と全く同じ構文の(というかC#をそのまま真似したんだろうけど)ラムダが使えるよ もちろん従来の function(x, y) { return x + y; } でもいいし
177:デフォルトの名無しさん
17/02/25 10:39:52.17 TcOntMIt.net
JSだとインテリセンスが弱い?TypeScript使おうぜ
178:デフォルトの名無しさん
17/02/25 12:04:24.91 N0RLU+6x.net
JavaScriptのラムダがC#を真似したと言うのは自意識過剰すぎ。(短縮記法の()=>は真似してる)
インテリセンスはMS発なんだしはっきり言えば全員C#を真似しているからVS環境のTSではよくて同等まで。
JavaScriptは文法的な意味で関数とラムダを区別してない。
だからさらっと書いてそれだけ。
var count = 0;
var count_up = function(){count++;};
var show_count = function(){console.log(count);};
count_up();
count_up();
show_count(); // 2
見りゃ分かるが具しか書いてない。だから論理的にこれ以上お手軽なのはない。
(短縮記法は出来るがあれはタイプ数がケチれるだけ)
ついでに階層もクラスも関数で記述するというデタラメッぷり。
だからそもそも「ラムダなんて使いません(キリッ」みたいなことが出来ない。
(階層がラムダ)
知らなければ意味不明だと思うが、とにかくそういう世界だ。
その状況で慣れると、心理的な障壁が取り除かれる。
ラムダ嫌いって要するにこれだろうし。
179:デフォルトの名無しさん
17/02/25 12:12:40.17 TcOntMIt.net
ES6ならclass構文(内部では関数に変換されるけど)あるからかなり楽になったぞ
180:デフォルトの名無しさん
17/02/25 12:24:18.16 S4wbN3RD.net
ラムダは真似というか普通に輸入だろ
ES6の策定にはMSも主導的な立場のメンバーとして当然参加してるし
181:デフォルトの名無しさん
17/02/25 12:26:33.18 IfKbzrsT.net
>>173はjavascriptやったことない奴でも初見で何してるか分かる
でもこんなの書かれたら初見で見破るの無理でしょ
var res = ((Func<int, int, bool>)((i, j) => i == j))(5, 3);
ラムダ嫌いはラムダが嫌いなんじゃなくて、読みにくいラムダが嫌いなんでしょ
「ラムダなんて使いません(キリッ」じゃなくて「読みにくいラムダなんて使いません(キリッ」なんだよ
182:デフォルトの名無しさん
17/02/25 12:31:25.09 N0RLU+6x.net
>>174
あんなもん所詮慣れ。俺は従来のJavaScriptの構文でも苦労してない。
そしてラムダも所詮慣れ。慣れればどうって事は無い。(難しくは無い)
ただし使わなくても実装できるのは事実で、わざわざ慣れる必要があるかは微妙。
183:デフォルトの名無しさん
17/02/25 12:45:06.30 S4wbN3RD.net
>>176
関数の即時評価はJSでは非常によく使われるテクニックだよ
C#のラムダなんて、本来の副作用がない使い方をするのがほとんどだから可愛いもんだ
JSではガンガン副作用書いていくから超複雑だよ
184:デフォルトの名無しさん
17/02/25 13:25:03.75 Hh3bBfOP.net
>>176
パラダイムが違うものごっちゃにして何がしたいんだ?
やたらカタカナ使う田中康夫やルー大柴の日本語みたいなものだ。
185:デフォルトの名無しさん
17/02/25 13:29:41.99 N0RLU+6x.net
>>176
それは型情報を付加しようとしているから見た目複雑になる。
型情報が無いJavaScriptなら以下になる。
var func = function(i,j){return i==j;};
var res = func(5,3);
もちろん1行でも書けるが、これはJSer以外にはすこぶる評判が悪い。
var res = (function(i,j){return i==j;})(5,3);
そしてこれをアロー関数(短縮記法)で書いたらC#の型情報を落としたものと同じになる。
var res = ((i,j)=>i==j)(5,3);
そもそも「お手軽にやろうぜ」というノリなら型情報が無いほうがよく、
その点がC#だとどうに�
186:焜tィットしない。 ただしラムダ使い全般が馬鹿なのか、 あるいはJavaScript含めた関数系一般に言える傾向なのかは定かではないが、 おかしな記述で余計複雑にする馬鹿、まさに「木を見て森を見ず」はよく見かける。 奴らは「木」つまり一箇所の記述を最小限にすることに異常にこだわり、 「森」つまり全体を最小限にすることを考えていない傾向がある。 だからラムダ(キリッな奴が出してくるコードが糞なことも多く、 これがラムダを知らない連中にとってラムダを学ぶ価値があるように見えない理由だと思う。 対してオブジェクト指向は「森」を「林」に小分けする手法だから、 オブジェクト指向をきちんと出来ている連中から見れば余計に馬鹿に見えてしまうし。
187:デフォルトの名無しさん
17/02/25 13:31:51.44 Hh3bBfOP.net
これだからemacs使いは嫌われるんだよ。
188:デフォルトの名無しさん
17/02/25 14:43:31.03 Qzh8dVTL.net
関数呼び出しでデリゲート渡すところをラムダ式で書いたりするのが便利だし、プログラムが小さくなり、関連ある記述がまとまり、慣れると読み易い。
まあ、伝統的と云うか、平均以下のレベルに合わせたコーディング規約が幅をきかせているプロジェクトでは忌み嫌われる。
189:デフォルトの名無しさん
17/02/25 15:18:03.16 IvVV1H8V.net
var res = (5 == 3)
それ関数使わなくてもいい例だから
もうちょい違うのなかったかな
190:デフォルトの名無しさん
17/02/25 15:39:38.73 9TfgDVOx.net
保守性や可読性でラムダを嫌う人がいるのはまあ良いんだけど
経験的にそういう人のコードが優れてるかっていうとそうでもない
同じような構造のループ処理を大量生産したり
try catch log出力を延々と全てのメソッドに書いたりする
191:デフォルトの名無しさん
17/02/25 15:44:53.00 3ZNX7OqZ.net
>>183
今日のとんちきレス大賞
192:デフォルトの名無しさん
17/02/25 15:46:20.53 TcOntMIt.net
ラムダは静的なダックタイピングにするべきだったと思う
長くなる時はエイリアス設定するとかにして
193:デフォルトの名無しさん
17/02/25 15:46:55.92 TcOntMIt.net
>>183
ガイジかな?
194:デフォルトの名無しさん
17/02/25 16:24:58.90 N0RLU+6x.net
>>182
つかそういう問題じゃない。C++なら例があるが。
> auto 型推論とラムダ関数を使用すると、コードをすばやく記述して、それを引き締め、より的確に把握することができます。
> URLリンク(msdn.microsoft.com)
この2つのコードで下のほうがいいと思えるかどうかだよ。
正直、俺にはどうでもいい範囲だよ、これは。
こんな局所的部分で活用(キリッしたところで大して意味が無い。
確かにコードは減るけど、バグる確率が減るわけじゃないでしょ。
そして関数型()の連中が出してくる「ラムダの優位性(キリッ」なコードはほぼ全てこの類であり、
巨大プログラムを分割して直接的に単純化する「オブジェクト指向」と比べて、訴求力に乏しい。
理由は簡単で、そもそもラムダは「糖衣構文」でしかないから。
実体は「関数ポインタ+変数」であり、
Cなら構造体ポインタを引数に取る関数、
C++なら関数オブジェクトまたはクラスで表現できる。
(見にくいが元々記述できる。これがストロウストラップがラムダ導入に反対していた理由だと聞いた)
だからJavaScriptの文法が関数=ラムダ=階層=クラスなのも自然ではあるし、
Rubyが匿名関数(ラムダ)を匿名クラスで表現するのもこのため。
結局、ラムダを導入したところで出来ることは増えず、本当の意味での「エレガント」なコードにはならない。
ところが関数型()の連中は「エレガント」=「短い」or「ラムダ使ってる」と勘違いしている馬鹿が多くて、
上記URLのコードなら「下側がイイ!」「下側じゃ無いと許さない!」とか言い出すからおかしくなる。
「自転車置き場の議論」と同じで、馬鹿なりに見える範囲で考えたんだろうが、所詮馬鹿でしかない。
プログラミングにおける「エレガント」は数学と同じで、
「こう考えればこんなに簡単に解けるんだ!」であり、
糖衣構文でしかないラムダは本質的には全く効果が無い。
ただし、俺自身も慣れる前はラムダを選択肢に入れていなかった=思考を狭めていた。
これはまずいので、通常の選択肢として考えられるほどには慣れておく必要はある。
ただ、それ以上の意味は無い。
195:デフォルトの名無しさん
17/02/25 16:25:31.63 N0RLU+6x.net
余談だが、JavaScriptのプロトタイプとダックタイピングはこの意味で面白い。
出来ることが増えているので、直接的にもっと「エレガント」を探求できる。
以前話題になっていた拡張メソッドの継承もJavaScriptなら最初から出来る。
ただし、何でもかんでも出来ればいいものでもなく、馬鹿に使わせたら余計におかしくなるのも事実。
その点、C#はいいバランスを目指していていい。
ただしこの意味で「封印済み」の場所もあるから、
C++やJavaScript等「何でもあり系」言語に親しむのも悪くないと思う。
196:デフォルトの名無しさん
17/02/25 16:30:23.41 IvVV1H8V.net
>>185,187
ほう? じゃ>>176のこのコードがどういう場合に有用なのか教えてくれ
>var res = ((Func<int, int, bool>)((i, j) => i == j))(5, 3);
197:デフォルトの名無しさん
17/02/25 16:39:02.64 TcOntMIt.net
>>190
C#とJSのラムダの比較の為に出しただけであって、有用なのかは今関係ない
198:デフォルトの名無しさん
17/02/25 16:39:23.68 3ZNX7OqZ.net
>>190
誰も処理内容の話なんかしてないぞ
みんなはアメをくるむ包装紙の話をしてるのに君だけアメの味を話題にしてる
199:デフォルトの名無しさん
17/02/25 16:41:51.21 TcOntMIt.net
例え上手い
200:デフォルトの名無しさん
17/02/25 17:09:31.56 fb/41uG4.net
>>190
まじasp
201:デフォルトの名無しさん
17/02/25 17:21:54.68 WB0pRnLv.net
変更されることがない前提のList<int>を複数のスレッド
でforeachするのは問題があるでしょうか。
やっぱりlockすべき?
202:デフォルトの名無しさん
17/02/25 17:22:56.07 N0RLU+6x.net
>>186
コードを最小限にするためには
・型=なし
・多重継承=あり
・ダックタイピング=あり
がいい。この点JavaScriptは、型無し、多重継承は手動で可能、ダックタイピングあり、なので向いている。
一方C#は、型あり、多重継承禁止、ダックタイピングなし、なので
「コード量」よりは「きっちり書くこと」を目指しており、
「手抜き」が主な目的のラムダとどうにも相性が悪い。
ここでダックタイピングだけ導入しても余計に混乱すると思う。
つかね、C#って「一文字でもケチりたい」奴用の言語ではなくて、
「型なし言語では堅牢なアプリは作れない」と考える連中用の言語だし。
203:デフォルトの名無しさん
17/02/25 17:30:35.48 IvVV1H8V.net
はあ?
包装紙の不要な物を包装紙でくるんでこんな包装の仕方はダメじゃって言ってる人に
包装紙の良し悪しについて平然と議論しつづける神経のほうがわからんよ
204:デフォルトの名無しさん
17/02/25 17:43:27.22 Hh3bBfOP.net
C#は業務系で使われたいのか、やっつけアプリ用に使われたいのかって話だ。
業務系で使われたいならシンタックスを増やすなって話だが、どうやら後者らしいので、c#はキティ用言語といえる。
205:デフォルトの名無しさん
17/02/25 18:38:47.74 ByE41wZl.net
>>195
lock不要に一票。
追加削除ないなら配列じゃダメなの。
206:デフォルトの名無しさん
17/02/25 18:53:44.75 ByE41wZl.net
C#はちゃちゃとプログラムにも業務にも使える優れもの。
シンタックス変えてない。拡張だろ。
LInqなんか追加されてホント便利になってる。
207:デフォルトの名無しさん
17/02/25 19:22:21.24 FbflVc2K.net
>>180
めっちゃ読みづらい。
いやスペースがないせいだけどw
208:デフォルトの名無しさん
17/02/25 20:01
209::05.66 ID:lRvoFyV9.net
210:デフォルトの名無しさん
17/02/25 20:48:05.07 kVUREvkV.net
>>199,202
ありがとう。
foreachによって実は内部的な変化が行われていたらまずいのではと
考えていました。
211:デフォルトの名無しさん
17/02/25 20:49:00.75 IvVV1H8V.net
>>195
AsReadOnly()とか使って使う側が変更しないことを保証しといたら?
ImmutableList<T>を使うともっと堅い
212:デフォルトの名無しさん
17/02/26 03:14:38.88 0YrJqBhk.net
ID:N0RLU+6xはもっと要点をまとめて端的に書き込めよ・・・
お前の言う「ラムダの優位性(キリッ」をC#で言ってる人なんてそうそう見ないぞ
変にプログラミング言語一般のラムダについて述べるせいで論点がブレブレだ
213:デフォルトの名無しさん
17/02/26 04:03:21.89 0YrJqBhk.net
日本語が苦手なのかもしれないが、「文法的な意味で関数とラムダを区別してない」とか「関数=ラムダ=階層=クラス」とかはよくないでしょ
初心者にjavascriptの関数が全てラムダみたいな誤解を与えかねない
>Rubyが匿名関数(ラムダ)を匿名クラスで表現するのもこのため。
Rubyの匿名関数(無名関数の方が一般的な呼び名だけど)は匿名クラス(無名クラスの方が一般的だけど)じゃなくて「Procオブジェクト」
214:デフォルトの名無しさん
17/02/26 10:41:00.28 /Q8k6Dmd.net
C#のラムダ式は、どっちかというと式木が目的で導入されたんじゃないの?
てか、いい加減スレ違いでしょ、この話題。
215:デフォルトの名無しさん
17/02/26 11:19:59.83 TMS4+8Av.net
>>207
式木はdynamicと関係あるだろ
ラムダ式はLINQのメソッド形式では必須
216:デフォルトの名無しさん
17/02/26 11:26:13.98 a7NPBA4e.net
いやメソッド形式では(事実上はラムダ式必須であっても)匿名メソッドでも代用はできる
式木は意味的に匿名メソッドが式にならないからラムダ式が必須だよ
匿名メソッドで式にできるように言語拡張しても良いけどそれってラムダ式そのものだし
217:デフォルトの名無しさん
17/02/26 11:33:24.17 asTjjGDY.net
どうでも良いがJavaScriptのfunctionとアロー関数は
等価じゃないぞ。
乱用してバグこしらえるパターンだな。
218:デフォルトの名無しさん
17/02/26 11:36:25.80 H7bo/69j.net
>>210
functionだとself定義しないといけなくて面倒だけどアローは楽だよな
219:デフォルトの名無しさん
17/02/26 11:36:30.05 Q2GAsSXo.net
式木の説明読んでみたが、言ってることが関数型()の連中と全く同じでワロタ
220:デフォルトの名無しさん
17/02/26 11:44:07.89 LLZCcrhN.net
>>208
式木はもともとdynamicとは全く関係ないよ
DLRプロジェクトで動的コンパイル用のASTが作られたが、System.Linq.Expressionsと被ってるということでそれを拡張する形で統合された
結局DLRは頓挫してコアの部分だけがCLRに導入され、そこに乗っかって実装されたのがdynamic
221:デフォルトの名無しさん
17/02/26 11:49:23.90 0YrJqBhk.net
>>212
(多少関連のある使い方ができるかもしれんが、)全然違うだろ
どこを読んだらそんな変な読み取りができるんだ?
222:デフォルトの名無しさん
17/02/26 11:59:43.17 LLZCcrhN.net
>>212
式木やdynamicのあたりは今時のミーハーな関数型()とはだいぶ色が違うと思う
LispのマクロとかMOPとかの影響を受けた、かなりガチなマニアックな設計思想の
223:デフォルトの名無しさん
17/02/26 12:33:17.61 Q2GAsSXo.net
>>215
てか式木っていったい何がやりたかったの?
超高速Evalか?
224:デフォルトの名無しさん
17/02/26 12:57:05.99 LLZCcrhN.net
>>216
式木の目的は、C#で書かれた式を独自に解釈して処理すること
例えばラムダ式を変換してExcelの数式を生成したりできる
文字列を使うのに比べて解釈が楽、型や構文の静的チェックが可能、インテリセンスが効くといった利点がある
225:デフォルトの名無しさん
17/02/26 13:49:21.90 Q2GAsSXo.net
>>217
おそらくLISP信者も同様にそのポテンシャルに魅了されているのだと思うのだが、
具体的に何に活用できるのだ?
何にでも使えそうだが、いざ何に使えば「他では達成できないほど」の結果を引き出せるのか分からない。
> 例えばラムダ式を変換してExcelの数式を生成したりできる
なるほど素晴らしい。しかしExcelシートを別に用意した方が楽だし、
通常の数式ならC#側で「テキスト」として出力するのも難しくは無い。
(もちろん出力パーサの再開発になるから、MS謹製自動変換のほうが楽だが、その程度)
> インテリセンスが効くといった利点がある
これは利点ではあるが、主な目的のうち大半は「手打ち」ではないだろうから、この際あまり関係ない。
> 文字列を使うのに比べて解釈が楽、型や構文の静的チェックが可能
これを「ユーザ側」の利点とするなら、ユーザー側でのパーサ生成、
つまりメタメタプログラミングを想定していることになるが、そうなのか?
結果的にLISPで成功したプロジェクトといえるのはemacsのみだ。
対してCはほぼ全てのPC世界を再構築しているに近い。
理由付けはいろいろ出来るだろうが、結果的に誰もLISPを選ばなかったということではある。
他でもっと簡単に目的を達成できる方法があるのなら、誰もより複雑な方式での解決なんてしない。
結果的に、何でも出来るLISPは誰にも使われなかった。式木の雰囲気も見た目これに近い。
ExcelはExcelで、C#はC#で、で誰も文句は無い。
(その分簡単になっていて、Excelは非プログラマでも十分使える)
そこを統合するのは学術的には意味があるが、現実的には意味が無い。
HaskellやPrologみたいにアカデミック向けなら分かるが、C#はそうではないし。
226:デフォルトの名無しさん
17/02/26 14:12:54.65 AZYnfb42.net
メタプログラミングで便利
以上
227:デフォルトの名無しさん
17/02/26 14:23:30.18 Q2GAsSXo.net
しかし現実的には、通常のプログラミング:メタプログラミング=100:1、位の分量しかないだろ。
どうでもいい箇所の高速化をやってる馬鹿と同じ。そこにこだわっても効果ないよ。
228:デフォルトの名無しさん
17/02/26 14:36:14.18 0YrJqBhk.net
>>220
リフレクションの代わりにして高速化するとかの目的で結構使われてる
アプリケーションで使うよりもライブラリの内部とかで使うことが多い
229:デフォルトの名無しさん
17/02/26 14:37:28.54 bMNV8RU5.net
一度時代から消えたような無用な機能を言語オタクが復活させてみんな迷惑してるいう状況。
230:デフォルトの名無しさん
17/02/26 14:38:28.84 BapL/ZVi.net
他言語からの移植が楽
可読性悪くなるから使うことはないな
231:デフォルトの名無しさん
17/02/26 15:03:16.38 bMNV8RU5.net
はるか昔、C++ vs Objective-Cの戦いで瞬殺されたObjective-Cを
コード書けないジョブスが引っ張り出してきて、みんなが迷惑してるレベル。
それがC#とヘジ。
232:デフォルトの名無しさん
17/02/26 16:19:53.46 cWe1Zi+O.net
C++が勝ったのはCとの互換性で、ジョブズがObjective-Cを選んだのはC++が美しくなかったからだと思う。
しかし、O-CはAppleだけだから、やらされる身からすると迷惑なんだろう。
233:デフォルトの名無しさん
17/02/26 16:33:51.40 bMNV8RU5.net
はるか昔、BASIC vs Pascalの戦いで、激戦の末、BASICが市場を制した。
にも関わらず、BSDにOSX、iOSなどと名前詐欺するように、PascalにDelphiなどとかっこいい名前をつけて売り出した男がいる。
ヘジである。
とある事業でMSの独占だと将来に保守するリスクが高まるのでDelphiを採用した開発があった。
Delphiは一瞬市場で人気は出たもののすぐに消えた。あのとき大量に作られたコードは今も保守されてるんだろうか。
市場から一度消えた古い技術を引っ張り出す輩はほんと迷惑である。
234: ◆QZaw55cn4c
17/02/26 17:17:53.27 1LlUyF33.net
pascal はいい言語だよ,LL(1) なんて美しいじゃないか
235:デフォルトの名無しさん
17/02/26 17:26:34.35 cWe1Zi+O.net
アルゴリズム+データ構造=Pascal
これが私の原点だ。
でも、生活の為に、いまだCやってる。
ヘッダファイルが面倒、C#はヘッダファイルなくていいね。
236:デフォルトの名無しさん
17/02/27 08:50:13.59 DR1RgDtx.net
式木は実行時コンパイルできるという利点もあるよ
実行時コンパイルはシリアライザの高速化に使用されている
237:デフォルトの名無しさん
17/02/27 12:29:20.61 4XW6lmAf.net
ラムダ式使ってたけど、>>104みたいな理由で自分以外保守できなくなったから.NET2.0時代の表記に戻したな
いくら便利でも周りが使う気無いなら意味ねえわ・・・
238:デフォルトの名無しさん
17/02/27 13:39:39.07 v0Y8eGO4.net
技術者の1割しか理解してないものを仕事で使用できるわけがない。
C#とVBでVBが選ばれるのも仕方がない。仮にC#なんか選んでしまうと一部の技術者に負担がすべていく。
するとC#にしろ、ラムダ、LINQOKにしろ、WPFにしろと言ってた輩が無責任に最初に転職していく。
残された奴らじゃとても保守は無理。
239:デフォルトの名無しさん
17/02/27 13:47:01.73 BO1ZZ84r.net
便利だから楽だからって言い張るから導入した途端
その人が辞めていく法則
240:デフォルトの名無しさん
17/02/27 17:10:34.62 ToRYKJiY.net
そういうのはマ板でやってくれ
241:デフォルトの名無しさん
17/02/27 18:55:42.34 bS39cZCs.net
業務では言われたことを適当にこなして定時で帰れば良い
お家に帰ってからが楽しいプログラミングの時間だ
誰にも足を引っ張られないで好きなことをできる
悲しいね
242:デフォルトの名無しさん
17/02/27 19:12:51.30 bir6oLGv.net
>>230-232
俺はそれでいいと思うけどね。
結果的に「従来記法しかしない会社」と「意識高い記法をする会社」で市場で勝敗つければいい。
本当に「生産性が高い」のなら相手を容易に駆逐できるはず。
出来ないのならその程度だってこと。
まだらになっている方が生産性が悪い。分離して競わせるのが正しい。
多分、ラムダ、LINQ、WPFには相手を駆逐できるほどのインパクトは無い。
対してメモリ保護、GCはかなり劇的に楽になるのでCはシェアを落としつつある。
ちなみに俺はHTMLはフォーム/WPFを駆逐できると思う。
243:デフォルトの名無しさん
17/02/27 19:15:16.04 Ftr1v2iE.net
ラムダとリスト操作系関数は少し慣れればかなり便利
WPFは、WEBフレームワークに似てるからそっち系の人は良いのでは
244:デフォルトの名無しさん
17/02/27 19:17:31.38 Ehytdfgf.net
>>235
ごちゃ混ぜで語りすぎてる。
ラムダ、LINQなんてちょっと学習するだけやん。
請負、派遣業界に無理なのは分かるがw
245:デフォルトの名無しさん
17/02/27 19:47:36.34 RCbBwD75.net
書籍代は幾ら有っても足んね~
みんなは、どうしてる?
図書館は、全くと言って良いほどロクな書籍が無い
後はグーグル書籍で、漁る位だし……。
246:デフォルトの名無しさん
17/02/27 19:55:43.62 GaZbolX8.net
APRESSから買っている
247:デフォルトの名無しさん
17/02/27 20:15:06.48 RCbBwD75.net
ほむ
248:デフォルトの名無しさん
17/02/27 20:17:13.08 zuqOpmfm.net
>>238
MSDNのリファレンスを全部プリントアウトしたほうが安いんじゃね?
249:デフォルトの名無しさん
17/02/27 20:46:05.22 RCbBwD75.net
>>241
その発想は無かった
因みに get setの使い道が微妙なんだけど、
具体的な使用例とか、教えてくれ><
250:デフォルトの名無しさん
17/02/27 20:55:40.51 SheqW2pp.net
>>242
カ
251:プセル化
252:デフォルトの名無しさん
17/02/27 21:04:36.29 bir6oLGv.net
>>236
WPFざっくり見てみたが、HTML/CSS/JavaScriptの再開発でしかない。
時期的な問題もあったのだろうが、
ここまで似せるなら最初からHTML/CSS採用しろよ、とWEB系からは見えるだろう。
WEB系の連中を引っ張り込みたいのなら、今からでも全面採用して、
HTML/CSS/C#出来るようにするべきだろう。
見た目、WEB系はC#よりも新技術の使い捨てが酷くて、余裕が無い。
彼らにとってWPFは簡単だが、学ぶのが面倒であり、その価値もないから、
Electron(HTML/CSS/JavaScript)でデスクトップアプリを作る方を選択するだろう。
面倒だから学ばない、というのはラムダもLINQも同じ。
元々無くても出来るのだから、それで苦労してない人には同期付けが無い。
その辺がメモリ保護/GCと根本的に異なる。
253:デフォルトの名無しさん
17/02/27 21:14:29.75 Ehytdfgf.net
>>244
相変わらず馬鹿だな。
254:デフォルトの名無しさん
17/02/27 21:19:28.45 QfkRDmsT.net
ざっくりじゃなくて、もう少しちゃんと使って理解してから評価しなよ。
255:デフォルトの名無しさん
17/02/27 21:22:26.99 aCjjvIHm.net
15年ぐらい前htmlviewでui作るの流行ったな。もうすっかり見かけなくなったがw
256:デフォルトの名無しさん
17/02/27 21:34:20.63 sVGz7y9C.net
html5ならUWPにあるから良かったじゃん
257:デフォルトの名無しさん
17/02/27 21:39:40.07 Ftr1v2iE.net
>>244
Electronは遅すぎる
258:130
17/02/27 22:16:01.34 8x434lFb.net
>ここまで似せるなら最初からHTML/CSS採用しろよ、とWEB系からは見えるだろう。
>WEB系の連中を引っ張り込みたいのなら、今からでも全面採用して、
>HTML/CSS/C#出来るようにするべきだろう。
ASP.NET MVCってまさにこれ?
259:デフォルトの名無しさん
17/02/27 22:49:12.00 bir6oLGv.net
>>248
> UWP
名前しか聞いた事無かったけど、これは良いね。
HTML/JavaScriptならElectronと同じコンセプトが可能か?
HTML/C++で使いたいんだが、この組み合わせは無理なのか、、、
260:デフォルトの名無しさん
17/02/27 23:22:57.99 ENJIvJC4.net
妄想だけでよく書くなほんと
261:デフォルトの名無しさん
17/02/27 23:40:54.02 o2MHRqlI.net
>>238
最近の本は安くなってるよ。
一番高かったのは2000年当時、Windows関連書籍で一冊1万越えもあった。
平均7、8千円かな、5千円だと安いと感じた。
本代はケチらずばんばん買ってる。
飯の種だし、1日悩んでたら人件費何万になる?
本買って解決すれば安上がり。
262:デフォルトの名無しさん
17/02/28 00:00:06.65 8+bIkryZ.net
>>251
WPF → UWP という進化だよw
263:デフォルトの名無しさん
17/02/28 00:13:12.42 3lr7jZCG.net
一応最終的には全ての組み合わせが出来ることを目指してるんだろ?
看板付け替えただけ、という見方かもしれんが、俺は進化でいいと思うぞ。
264:デフォルトの名無しさん
17/02/28 00:17:57.53 C4A7F+ay.net
>>251
MFCでだいぶ前からhtml/c++はできるじゃん。
265:デフォルトの名無しさん
17/02/28 19:37:38.52 yxAUZLha.net
テキストファイル中の、特定の行だけを読み込むにはどうしたらいいでしょうか?
読みたい行が何行目かは決まってるんですが、
1.1行目からその行までに含まれる文字数
2.読みたい行からファイルの末尾までの行数
は不定です。
FileStream.Seekの、バイト数ではなく行数指定出来るものがあればいいんですが。
266:デフォルトの名無しさん
17/02/28 19:42:51.05 9Xdv30xY.net
>>257
ループ回して対象行のカウントでホゲホゲすれば?
267:デフォルトの名無しさん
17/02/28 19:44:38.27 yxAUZLha.net
>>258
ありがとうございます。
うまくできました。
StreamReader reader = new StreamReader(file,Encoding.Default);
for(int i = 0; i < 10; i++)
{
reader.ReadLine();
}
268:this.listBox1.Items.Add(reader.ReadLine());
269:デフォルトの名無しさん
17/02/28 20:23:35.47 K7hLR7oh.net
>>259
実践で使えないコード過ぎてイラっときた
気分で改行したら終わりって
270:デフォルトの名無しさん
17/02/28 20:29:23.68 +WocOs48.net
>>260
読みたい行が何行目かは決まってるのに気分で改行したがるその仕様無視にイラっときた
271:デフォルトの名無しさん
17/02/28 20:35:19.50 K7hLR7oh.net
本当はキーワードがありそうじゃん
n行目ってのはあくまで質問者が宿題を読んだ感想文なわけで
272:デフォルトの名無しさん
17/02/28 20:37:44.89 Fq1JMnLG.net
>>262
エスパーさんはいらないから
汎用性のないコードだってのならともかく「本来はこんな問題のはず」とか議論しても何もならん
273:デフォルトの名無しさん
17/02/28 21:08:18.23 pIiGTdLD.net
>>260
どこが実践で使えないんだ(笑)
274:デフォルトの名無しさん
17/02/28 21:15:58.55 wrouDyFM.net
とんちき臭がする
275:デフォルトの名無しさん
17/02/28 21:19:57.27 BFmlECVl.net
ClosedXMLを使って、2行分のデータとスタイル(罫線等)を、任意の2行へコピーしようとしています。
CopyToを使って動かしてみると、マージされているセルなどが思った通りにはコピーされないようです。
worksheet.Range(rowno + 2 + ":" + rowno + 3).CopyTo(worksheet.Range(rowno + 4 + ":" + rowno + 5));
お助けください
276:デフォルトの名無しさん
17/02/28 21:34:46.83 A2md68KB.net
2 + ":"
こういうの気持ち悪い
277:デフォルトの名無しさん
17/02/28 21:59:17.96 39alJvfi.net
>>259
StreamReaderをCloseしようね
内部的には同じだけどFile.ReadLines()を使ってElementAt()とかで目的の行が取れるよ
278:デフォルトの名無しさん
17/02/28 22:08:38.41 s47hQ+GZ.net
>>264
じゃ、お前んとこってテキストファイルの行数でデータ定義するの?
279:デフォルトの名無しさん
17/02/28 22:11:57.45 39alJvfi.net
ログファイルの1行目と2行目はヘッダーだからみたいな定義は十分ありえるだろ
280:デフォルトの名無しさん
17/02/28 22:14:30.88 pIiGTdLD.net
>>269
普通にID管理だけど、チートやバグが発生した場合に行数管理で正常か
どうか判断する局面も有るけど?
281:デフォルトの名無しさん
17/02/28 22:24:32.74 +WocOs48.net
>>269
測定データ1分1行で定義されてて、1日置き=1440行ごと読み出しとか、行数でのデータ取扱なんてざらだよ
282:デフォルトの名無しさん
17/02/28 23:03:34.74 s47hQ+GZ.net
>>272
面倒でも日時入れるわ
データがないとき(?)って空白出すの?
超面倒じゃん
データがないって判定もヤバそう
283:デフォルトの名無しさん
17/02/28 23:10:22.11 AHF/JWRt.net
>>268
ReadLinesは全部メモリに読むから、ファイルがでかい可能性があるなら避けたほうがよいかも
284:デフォルトの名無しさん
17/02/28 23:12:03.23 z/77EZzb.net
メインフレームのシーケンシャルファイル(固定長レコードのバイナリファイル)ですら件数で判断なんかやらねえわ
運用が面倒臭すぎる
285:デフォルトの名無しさん
17/02/28 23:25:18.45 39alJvfi.net
>>274
読まないよ
全部読むのはReadAllLines
286:デフォルトの名無しさん
17/03/01 01:43:58.56 jez9uqUV.net
自分もテキストでハマってるわ。
テキスト読み出しながら、登録したキーワードに引っかかったらreplaceする必要があるんだけど、(足りない脳味噌の範囲で)どうやってもクッソ遅い。
287:キーワードと置換後文字はDictionaryで管理してるけど、そもそもキーワードが8200程ある上に、テキストも1ファイルあたり平均約2.7万文字あってもう無理(テキストファイルは1日あたり1600ほど生産されてる) 速度は諦めるしかない?
288:デフォルトの名無しさん
17/03/01 01:54:31.83 XgpeB6sR.net
>>276
すまん、そうだった
289:デフォルトの名無しさん
17/03/01 04:22:26.99 uGJVx5D1.net
>>277
どのくらいで遅いって言ってるのか次第じゃない?
キーワードにマッチする単位で単語分割できてれば入力の単語単位で辞書にぶつけるのが効率よさそう
ただ3万文字程度ならキーワードの数だけ入力を走査しても言うほど時間かからない気がする
290:デフォルトの名無しさん
17/03/01 07:58:17.12 ElQ6OcG3.net
>>277
キーワードを予め文字単位でツリー化しておいて辿っていけば?
1文字読むたびに最大でもキーワードの最大文字数と同じ数だけのツリーのポインタを1歩進めるだけで済む
291:デフォルトの名無しさん
17/03/01 08:04:58.33 SJrJxNnQ.net
>>268
> StreamReaderをCloseしようね
そこは using だろ
292:デフォルトの名無しさん
17/03/01 08:26:19.47 mkeal5qn.net
トライ木か
293:デフォルトの名無しさん
17/03/01 14:31:13.79 UzmiTiRe.net
System.Net.CookieのDomainについてですが、RFC 6265の4.1.2.3が実現できないように思えます
Domainのスコープを設定するにはどうすればいいでしょうか?
294:デフォルトの名無しさん
17/03/01 15:36:27.74 yuocqMDO.net
キーワード「ねこ・こねこ」があるとき、「こねこ」はどちらに該当する?
また、キーワード「こね・ねこ」があるとき、どちらに該当する?
295:デフォルトの名無しさん
17/03/01 17:28:21.57 9PjUMtQQ.net
初心者質問すみません
フォームにボタンAとボタンBの二つのボタンがあります
ボタンAをクリックすると、ある反復処理が延々と繰り返されます
ボタンBをクリックしてこの反復処理をストップさせるには通常どのような記述をするのでしょうか
296:デフォルトの名無しさん
17/03/01 17:33:43.62 kRYqKFSr.net
>>285
反復処理の中に条件付き中断処理を入れる
もう一つのボタンを押したときに中断処理用のフラグをセットする
もちろん別スレッドじゃないとボタン押せないけど
297:デフォルトの名無しさん
17/03/01 17:36:44.01 kRYqKFSr.net
連レスごめん
反復処理中にApplication.DoEvents入れてもボタンの入力受けるけど
反応悪くなるし、今時はまず使わないだろうな
298:デフォルトの名無しさん
17/03/01 19:13:43.54 1ptPBH8r.net
>>285
CancellationTokenSource cancellationTokenSource;
async buttonA_Click()
{
this.cancellationTokenSource = new CancellationTokenSource();
while ( this.cancellationTokenSource.Token.IsCancellationRequested )
{
await Task.Run( () =>
{
// 何か
}, this.cancellationTokenSource.Token );
}
}
private void buttonB_Click()
{
this.cancellationTokenSource.Cancel();
}
299:デフォルトの名無しさん
17/03/01 19:21:54.77 z3LIBqaM.net
>>279に一票。
300:デフォルトの名無しさん
17/03/01 19:31:02.44 CFmNTLsk.net
>>277
ソース上げたら誰かみてくれるよ
301:デフォルトの名無しさん
17/03/01 19:53:57.57 SJrJxNnQ.net
正規表現に 8,200個も連結して検索させたら死ぬかな?
302:デフォルトの名無しさん
17/03/01 20:31:55.65 r70GDLNP.net
>>291
not Defined
303:デフォルトの名無しさん
17/03/01 21:37:40.58 PGtJZLdC.net
C#から2chに書き込みたいんだけど、
「At2chLib」が使用できなくなってて困っています。
なにか良いライブラリとか有りますか?
304:デフォルトの名無しさん
17/03/01 21:39:56.43 PR7YLHWZ.net
HttpClient
305:デフォルトの名無しさん
17/03/01 21:46:15.04 RAuT14LS.net
荒らしツールは日本では違法だぞ。
306:デフォルトの名無しさん
17/03/01 22:01:49.72 r70GDLNP.net
いやぁ……海外でもダメだろ
307:デフォルトの名無しさん
17/03/01 22:08:23.90 PGtJZLdC.net
荒らしじゃなく、荒らし駆除的なの作りたいんだけどなー
308:デフォルトの名無しさん
17/03/01 22:31:30.38 78O8EuSm.net
荒らしに構う奴も荒らしだぞ
309:デフォルトの名無しさん
17/03/01 22:38:28.52 fB20izlq.net
>>295
違法だったら良いのにな…
もし違法だったらVIPで埋めまくってる奴逮捕されていなくなるはずなのにな…
はぁ…
310:デフォルトの名無しさん
17/03/01 23:00:18.14 U2Od4VRx.net
VIPなんぞ行かなくてよろしい
311:デフォルトの名無しさん
17/03/01 23:13:49.83 fB20izlq.net
ゲ雑…
312:デフォルトの名無しさん
17/03/01 23:57:19.29 6tJnN0su.net
>>287
1処理1個挟むんじゃなくて100処理か1000処理に1回ぐらいでお願いします
313:デフォルトの名無しさん
17/03/02 00:33:44.50 IBdXO0OO.net
>>277
どこが遅いか分析が足りてないな
キーワードにヒットしたら番地とヒットしたキーワード格納して置換はしないでみたら?
置換って頭使わないと最悪な方法で処理してくれてる気がする
abcを見つけたらdefghijkに変換してくれる処理って
c言語だったら変換後の配列のサイズの計算からしなきゃいけないわけで
それをc#ってreplaceしやがったら配列の再確保余裕でしたみたいなことするアホだろ
その辺は考慮に入ってる?
314:デフォルトの名無しさん
17/03/02 00:54:02.49 FuaoIGJx.net
やっとらおまえらも実装してはじめてMSのWordが糞遅い理由を理解してくれたか。
315:デフォルトの名無しさん
17/03/02 00:54:51.19 IBdXO0OO.net
ならば文字列をつなげていくかとして
str1 + str2
みたいなことするとこれも合体後の文字列の長さで配列を再確保する
3万文字もある文字列だと1回文字列連結をするだけでヤバイ
変換に使用するキーワードの使用回数から最終的な文字列の長さを算出する必要があるかも
ってそれも考慮済みだろうか?
316:デフォルトの名無しさん
17/03/02 00:58:24.20 FuaoIGJx.net
string使ってるという馬鹿なオチかよ。これだからC言語できない奴は。
317:デフォルトの名無しさん
17/03/02 01:07:45.83 B13E3oAw.net
アルゴリズムの問題。stringだろうと*だろうと同じだろ。これだから自称C使いは・・・
318:デフォルトの名無しさん
17/03/02 01:09:29.82 FuaoIGJx.net
アホに世界常識を教えてやる。
stringは糞遅い。
だからMSは最初から別のクラスを用意してる。ググレカスども。
319:デフォルトの名無しさん
17/03/02 01:14:29.76 oXaAut0o.net
ボディービルダーになれば良いらしいのか
320:デフォルトの名無しさん
17/03/02 01:18:09.17 iFkNWUjs.net
興味があるならどうぞ StringBuilderのReplace
URLリンク(referencesource.microsoft.com)
URLリンク(referencesource.microsoft.com)
321:デフォルトの名無しさん
17/03/02 01:20:26.39 iFkNWUjs.net
>>308
Replaceのパフォーマンスはそんな変わらないよ
ググレカス
322:デフォルトの名無しさん
17/03/02 01:22:58.33 o9lMs6ta.net
ここはWinFormsだし、10年前のインターネッツだな。
323:デフォルトの名無しさん
17/03/02 01:23:22.99 FuaoIGJx.net
おれがコード書けば瞬殺レベルの高速化できる案件。
最後のヒントな。
大山札
324:デフォルトの名無しさん
17/03/02 02:04:51.98 ggH8M0CB.net
>>313
もしかしてあらかじめ領域を準備して,自分で足していく,とか‥
325:デフォルトの名無しさん
17/03/02 02:30:07.47 4HioNM+3.net
>>299
違法と犯罪は違うぞ
326:デフォルトの名無しさん
17/03/02 02:41:55.30 iFkNWUjs.net
>>313
>>280
327:デフォルトの名無しさん
17/03/02 06:45:07.41 JZiPjSZc.net
言語だのStringBuilderだのという小手先のテクニックの問題ではないだろ
>>280のアルゴリズムで実装したら100倍とかのオーダーで速くなるはず
328:デフォルトの名無しさん
17/03/02 07:40:36.76 WqhQkxL/.net
口だけならなんとでも言え
329:る 実装して計測してコードと計測結果を晒してから主張して
330:デフォルトの名無しさん
17/03/02 07:52:06.73 Ct6l/xwh.net
>>317
280は検索で遅いとき
置換で遅いときはstringbuilderをキッチリサイズ指定する方法でやらないとダメ
まず切り分けかな?
331:デフォルトの名無しさん
17/03/02 08:49:47.79 oX3M/pPf.net
検索が8,200あるのに、マッチするのはそのうち1つ有るかどうかなんだから
圧倒的に検索の問題になるだろうね
普通は
332:デフォルトの名無しさん
17/03/02 09:05:00.59 Ct6l/xwh.net
>>320
いや3万文字を置換のたびに1回1回stringのreplaceしてたらその度に3万文字分の配列を再確保
これが致命的
stringのreplaceはやってはならない
stringbuilderで
これも使い方悪いと速度出ないので正しい感じで
333:デフォルトの名無しさん
17/03/02 09:06:59.45 Ct6l/xwh.net
キーワードの検索の方はdictionary使ってるって言うし十分早いんじゃないかと予想
334:デフォルトの名無しさん
17/03/02 09:07:18.82 cjA1b3op.net
ツリーポインタに文字列中の開始インデックスをセットで持たせておいて、
終端ノードまで来たら開始インデックスから後を削除し、終端ノードに持たせてある置換文字列を付加し、現在のツリーポインタを全て破棄
こうすれば280で置換も効率的にやれるよ
335:デフォルトの名無しさん
17/03/02 09:17:20.56 cjA1b3op.net
>>321
それ文字列が長ければreplaceのための線形探索がネックになるはずで、StringBuilderは直接関係ないでしょ
簡単に効率を改善するんなら、全キーワードのうち最長のキーワードの文字数と同じサイズのバッファを持っといて
そこに対して置換をかけりゃいい
もちろんその置換結果を最終出力の文字列として連結していくところはStringBuilderを使うべきだけど
336:デフォルトの名無しさん
17/03/02 10:02:53.43 xcfTeAxl.net
問題は用途が不明だから、仕様が決まらない
に限定されると思ふ ノ ヽ(・ω・)/ズコー
337:デフォルトの名無しさん
17/03/02 12:13:19.52 63yIksCz.net
いいからコード書いて結果出そうぜ
338:デフォルトの名無しさん
17/03/02 13:30:45.83 NvG2Ox0H.net
ある程度の個数だとキーワードを全部つなげた正規表現を作るのが定石っぽいけど、
一万近いとどうなんだろうか
339:デフォルトの名無しさん
17/03/02 13:39:24.58 Ct6l/xwh.net
>>324
置換後に短くなっても駄目っぽいけどね
340:デフォルトの名無しさん
17/03/02 13:42:21.47 j0RdOmJS.net
8200のうちマッチが1つあるかどうかなのか、マッチがたくさんあるのか
で方法変えた方がいいな
341:デフォルトの名無しさん
17/03/02 16:45:48.51 yzi1qiN6.net
>>277
そんな変な処理をしなければいいだろ。
解決!
342:デフォルトの名無しさん
17/03/02 19:36:05.41 tOCPWbBv.net
こういうアルゴリズムのボトルネックってどうやって探すんだ?
343:デフォルトの名無しさん
17/03/02 19:43:30.86 j0RdOmJS.net
アルゴリズムのというか、処理のボトルネックはパフォーマンスプロファイルで出る
344:デフォルトの名無しさん
17/03/02 19:47:35.64 eNjjKtZ0.net
味見すりゃ分かるだろ。
それ以前にベタにやっても余裕だと思うが。
345:デフォルトの名無しさん
17/03/02 19:54:31.82 Ct6l/xwh.net
>>331
プロファイラ使えるようになるのが一番いいね
ただ、それじゃわかりにくいときもあるから知恵をつけるのも大事だと思う
346:デフォルトの名無しさん
17/03/02 20:14:46.47 eNjjKtZ0.net
ちなみに今回のはプロファイラでは分からんぞ。
例えばString.Replaceと出て終わり。
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
その先の解像度は一般的に無いでしょ。(俺はC#のプロファイラを使ったことは無い)
だからここでやってるみたいにCLR内の動作を考える必要がある。
347:デフォルトの名無しさん
17/03/02 20:23:23.74 j0RdOmJS.net
>>335
それはプロファイラの考え方を間違ってる(使ってないみたいだから知らないのは当然かもしれんが)
replaceがネックって出れば�
348:サれでいいんだよ
349:デフォルトの名無しさん
17/03/02 20:34:59.52 Ct6l/xwh.net
>>336
そうだね
さらにgoogleで
replace 遅い c#
なんてキーワードで検索かければもう解決方法も見つかったようなもんだね
350:デフォルトの名無しさん
17/03/02 20:42:38.33 eNjjKtZ0.net
>>336
いや俺は他言語(JavaScript)ではプロファイラ使いまくりだぞ。
そしてプロファイラ自体は見た目ほぼ同じだし。当たり前だが。
というか今回は20行程度のプログラムで2重ループするだけだろ。
ベタでやった場合、String.Replaceが出るに決まってるだろ。
お前はアホの子か?
問題はそれをどう変えたらどう改善されるかの見通しを立てることだろ。
それはここでみんながやってるように、自分で考えないと分からない。
とはいえここで案を出してもらってるんだし、後はがんばれでしかないが。
351:デフォルトの名無しさん
17/03/02 20:44:03.61 maE+uJIv.net
>>338
馬鹿は一生js書いてろ
くせえから出歩くなクソが
352:デフォルトの名無しさん
17/03/02 20:49:46.45 rlmCwDYA.net
javascriptのプロファイリングは大切だからねえ
品質の悪いライブラリと品質の悪い人材によって書かれているから
すぐsucks so muchになるんだ
353:デフォルトの名無しさん
17/03/02 21:44:03.77 eNjjKtZ0.net
>>340
いやJavaScriptはJITがエグイからでしょ。(同じ傾向はC#にもあるはずだが)
例えばHTMLの特殊文字を変更する場合、string.replace(Regex,func)で纏めるよりも、
数個なら string.replace().replace().replace() とかハードコードした方が速かったりする。
ボトルネックがソースから予測しづらいからプロファイラを使うしかない。
その点、Cは最初から見えた状態で書くからいい。
ただこのあっさり感、C#ならString, StringBuilder, Regexで試して、
それ以上は諦める文化なのかもしれんね。そういう用途の言語ではあるし。
C的アプローチで限界速度を追求するのではなくてね。
354:デフォルトの名無しさん
17/03/03 07:07:46.01 GM13pkfI.net
やっぱここで質問したのが間違いでした
ろくな解決策が出ないので
もう結構です
355:デフォルトの名無しさん
17/03/03 07:16:35.43 cZXazyZL.net
なあ、、、
文字列探索アルゴリズムの問題だと思うのは俺だけかな?
そこを自前で実装すれば高速化できると思うのだけど
356:デフォルトの名無しさん
17/03/03 07:22:10.27 4qcBtzlj.net
>>343
それは>>280で出てる
357:デフォルトの名無しさん
17/03/03 07:22:40.42 cZXazyZL.net
URLリンク(developer.hatenastaff.com)
置き換え後、どこに格納するかはたいして重要じゃないはず。
状況に応じた探索アルゴリズムを使用することが重要。
自前実装は辛いけど。
358:デフォルトの名無しさん
17/03/03 07:31:45.18 ELiKOyhw.net
誰か>>280を実装してみてよ
359:デフォルトの名無しさん
17/03/03 07:34:13.74 4qcBtzlj.net
>>345
その「状況」は単純に探索をどうするかだけではないよ
置換処理に適したアルゴリズムを使用することが重要
その意味ではトライ木を使った方法(280)はリアルタイムで読んだそばから置換できるから目的に合ってる
360:デフォルトの名無しさん
17/03/03 07:50:58.21 pVtcQ1mY.net
そもそも何が目的なのか説明しろよ
361:デフォルトの名無しさん
17/03/03 07:54:40.78 a7lwSDS4.net
アフィ目的って気づけよバカども
362:デフォルトの名無しさん
17/03/03 07:56:17.33 pVtcQ1mY.net
アフィって何よ?
363:デフォルトの名無しさん
17/03/03 08:06:18.44 hxiWJWmX.net
>>347
検索された文字列から変換後の文字列を求める手間の話?
8,200個くらいならたいしたことないと思う
364:デフォルトの名無しさん
17/03/03 08:19:11.00 ELiKOyhw.net
誰も実装できないの?
365:デフォルトの名無しさん
17/03/03 08:30:26.60 LqKyLlg1.net
>>352
できるのわかってるし
正直、対象の文字列に対してdictionaryでまとめてある群からヒットさせるならそこまで変わらないと俺は思ってるので興味ない
さらに話題提供者は明確な仕様を出したわけではないので現状では「組めない」が正解
さらにこの問題は対象のデータの持ち方で解決する方法もあって多くの場合そっちのほうが楽なので
あまりこのスレで出たような解決方法を適用することは無いかも
366:デフォルトの名無しさん
17/03/03 08:56:05.96 LqKyLlg1.net
例えば対象の文字列がソースコードのように人間の目視できる文字数で改行が必ず入り、
キーワードが改行を含まないのであれば
行ごとにreplace処理して文字列の統合だけstringbuilderを使えばこれだけで十分な速度が出ると思われる
(1行300文字程度と想定)
とかね
僕のカコイイスペシャルエディタでも作らない限りはフォーマット自体に特有の癖があるもんで
大抵の場合は独自の解決方法を考えたほうが早い
367:デフォルトの名無しさん
17/03/03 09:35:42.12 velk9AIH.net
テキスト読み出しながらって書いてあるからすでに行単位でやってると思うが
368:デフォルトの名無しさん
17/03/03 13:45:46.60 hf3TFoOq.net
>>346
UNIXのShellのコマンド解析の実装がそんな感じ。
ただしスイッチ文の嵐だが(一文字目がCならCPを検査とか・・・
369:デフォルトの名無しさん
17/03/03 15:59:24.43 GTe30Tvn.net
あーアフィかぁ 超納得
1ファイルの文字数がやたら少ないし何の目的か全くわからんかった
>>346,352がアフィ本人だね
370:デフォルトの名無しさん
17/03/03 16:00:23.77 GTe30Tvn.net
間違えた
>>342,346,352がアフィ本人
371:デフォルトの名無しさん
17/03/03 16:00:55.70 oAXP4RlZ.net
>>352
アホの子なの?
372:デフォルトの名無しさん
17/03/03 16:02:40.13 nP8cPyWm.net
IT速報かな?
373:デフォルトの名無しさん
17/03/03 16:54:07.87 Loi48FLt.net
>>352こう煽ると情報出て来ること多いからな。いい手w
374:デフォルトの名無しさん
17/03/03 17:00:38.87 nP8cPyWm.net
C#で自動コメント投稿スクリプト作ってIT速報荒らすンゴwwwwwwwwwwww
375:デフォルトの名無しさん
17/03/03 19:35:06.90 MASUg06L.net
まーたカニンガムの法則を証明してしまったのか
376:デフォルトの名無しさん
17/03/04 00:57:57.14 V1fO2YUM.net
>>352
馬鹿かこいつ。
377:デフォルトの名無しさん
17/03/06 15:15:15.66 c2C1QaOD.net
俺に実装出来ないものなどない
実装しないだけだ(´・ω・`)
378:デフォルトの名無しさん
17/03/06 16:53:48.94 HdaZCaDT.net
うっせ!消えろ!
(´・ω・`).Dispose();
379:デフォルトの名無しさん
17/03/06 17:04:44.11 gswSb9xJ.net
void Dispose(){
throw new GenjyuminException("お兄ちゃん僕を消さないで");
}
380:デフォルトの名無しさん
17/03/06 18:04:17.43 fLI2L2/v.net
while(true){
if((´・ω・`)==null)break;
}
これでどや、消えるまで永久に彷徨え
381:デフォルトの名無しさん
17/03/06 18:06:58.06 SM9wIIjZ.net
int (´・ω・`) = 0;
こういうのエラーになっちゃうんだけど、ならないのあるかな
382:デフォルトの名無しさん
17/03/06 18:10:04.79 gswSb9xJ.net
>>369
とうふさんをすころう🙋
383:デフォルトの名無しさん
17/03/08 07:21:50.44 0djAud0F.net
ASP.NETでEntityFrameWorkを
使い始めてデータエンティティの設計を
意識するようになったのですが
論理ER図とクラス図がほとんど同じ
ようなエンティティになるのは
良いのでしょうか?
使ってる言語がC#なだけで
OOPの話になっているみたいで
恐縮ですが
384:デフォルトの名無しさん
17/03/08 07:57:43.96 j5hWWAog.net
>>371
オブジェクト指向原理主義的に言うなら、最初にデータ
385:設計ありきで作ったのが間違い DB構造はオブジェクトを抽出した上でその永続化層として結果的に導出されるもの その結果、テーブル構成がクラスと一対一になるのはおかしくはない
386:デフォルトの名無しさん
17/03/08 09:10:06.96 4zQ1zZR+.net
>>371
>論理ER図とクラス図がほとんど同じ
>ようなエンティティになるのは
それをEFと言うんじゃないか?
殆ど同じじゃなく完全一致するんじゃないの?
387:デフォルトの名無しさん
17/03/08 11:04:45.08 WDLIW5bb.net
処理文より定形文の方が多くなる問題
皆さんはどうやって解決してますか?
388:デフォルトの名無しさん
17/03/08 11:21:49.05 j5hWWAog.net
>>374
メソッドやクラスを適切に使って使い回せばそんなことにはならない
389:デフォルトの名無しさん
17/03/08 12:38:38.92 xVFA2xmi.net
>>375
適切とは?
390:デフォルトの名無しさん
17/03/08 12:46:41.42 FTYppI6w.net
>>376
例えばこうしろってだけでしょ
method(0); method(1); method(2); method(3);・・・method(x);
↓
for (int i =0; i <= x; i++) method(i);
ただいくらそうしたって作るものによっては定形だらけになるからな。そんなの気にするなとしか言えん
391:デフォルトの名無しさん
17/03/08 13:31:44.38 WDLIW5bb.net
>>377
それに、クラスとリターン、ラベル貼るから一行より長くなるんです
392:デフォルトの名無しさん
17/03/08 14:05:18.27 pm5pCz2z.net
>>373
EDM理解してる?
393:デフォルトの名無しさん
17/03/08 14:35:54.93 jFDZ8cwh.net
絵が描けなくても無料・有料とわず素材なんて腐るほどいっぱいあるんだから
リアルでカードゲームやボードゲーム作ってゲームマーケットで売ろう
個人利用、商用利用も可の198,381 個の無料ベクター画像
URLリンク(jp.freepik.com)
オシャレ感をプラスできる手書きのアイコン50選
URLリンク(blog.nest-online.jp)
無料素材:ヴィンテージ感がおしゃれ!デザインソフトのツールアイコン49個セット
URLリンク(switch-box.net)
無料素材:魔法陣の文様が描けるユニークな英語フリーフォント「MagicRing」
URLリンク(switch-box.net)
ねくらファンタジーマップチップ素材集
URLリンク(piposozai.blog76.fc2.com)
ひぽやマップチップ
URLリンク(piposozai.blog76.fc2.com)
クオリティの高いゲーム用のモンスター素材画像が手に入るフリー素材サイト5つ
URLリンク(agency-star.com)
ファンタジー世界地図を簡単に作れる「Inkarnate Worlds」をゲーム制作に活用しよう
URLリンク(www.moguragames.com)
QRコード・クトゥルフ神話・24世紀などユニークすぎるデザインてんこ盛りのサイコロ「Dice Empire」レビュー
URLリンク(gigazine.net)
駆け出し奮闘記「ゲームチップ・他小物類の作り方」
URLリンク(yuofc2.blog72.fc2.com)
394:デフォルトの名無しさん
17/03/08 16:48:47.00 EwGirieA.net
c#初心者なんですが
URLリンク(www.ibm.com)
>実際、作成された実行可能ファイルを別のシステム、おそらくWindowsが稼動しているシステムにコピーして、そこでそのまま
395:実行することができます。 Linuxで動くexeファイルがwindowsでもそのまま動くのはなぜですか? 本来、実行可能形式に互換性はありませんよね? Javaだと.jarファイルでjavaが関連付けられてるからどこでも動作するというのは分かるんですが
396:デフォルトの名無しさん
17/03/08 17:05:53.57 FTYppI6w.net
>>381
javascripはテキストファイルなのに実行できるってのと同じで、exeという拡張子だけど中身はスクリプトって考えりゃいい
linux側は「mono example.exe」のように実行するのはexeでなくmonoでしょ
397:デフォルトの名無しさん
17/03/08 17:10:53.01 CceDL3fb.net
>>381
Linuxはexeが実行ファイルという訳でもなし、mcsがPE互換でも吐いてるんじゃない?
C#はそもそも中間言語にコンパイルされるし、.NET Framework(あるいは互換ランタイム)を通して
色々な操作を行うので、DllImportとか除けばコード部分はプラットフォーム依存にはならない、Javaと一緒
398:デフォルトの名無しさん
17/03/08 17:41:17.11 4q4g4kgy.net
>>373
やはりそう思いますよね
自分もデータエンティティと
クラス図が一致してしまって
アンチパターンしてないか
不安になったもので
クラス図要らないじゃん
てことになって良いのかなと
399:デフォルトの名無しさん
17/03/08 17:56:23.47 EwGirieA.net
>>382
わかりました
linuxでもx window systemとかGUIシステムで
拡張子とプログラムの関連付けがあるみたいだけど
.exeをmonoに関連付けるのは少し疑問です
.jarみたいな固有拡張子じゃないので
windowsだと関連付け関係無く実行可能形式として動くんだろうけど
他のOSでは特定のプログラムから起動しなければならないというのが
非対称的でクロスプラットフォーム感欠けてるような気がします
400:デフォルトの名無しさん
17/03/08 18:12:34.14 ZazPDLJU.net
Windowsでもexeの中にあるMSILを
特定のプログラムでコンパイルしないと動かないぞ
401:デフォルトの名無しさん
17/03/08 18:13:37.64 NpQQdkRq.net
>>385
クロスプラットフォームにこだわるのならC#使わない方がいいだろ
>>383に書いてあるようにDllImportとか入っていたらどうしようもないんだから
402:デフォルトの名無しさん
17/03/08 20:03:39.84 VZtOnmtc.net
EF使いたいけど仕事での開発は腐りきったDBと手続き型の権力者が支配しててうまくいかないよ
ビジネスロジックはほとんどSQLとストアドに書かれ
ホスト言語はデータセットをUIとバインドするだけ
マイクロソフトは業界の現実を見据えたフレームワークを提供してほしい
403:デフォルトの名無しさん
17/03/08 20:08:18.13 jS0zQn/F.net
ジャップローカルな業界標準なんか基準にしても仕方ねーだろ
404:デフォルトの名無しさん
17/03/08 20:25:11.68 q0ZuMA54.net
今後は品質を上げるためにC#やめてJavaにするってさ
品質を上げるために
誰だよJavaオワコンとか言ってたの
Javaつよすぎんだろ
405:デフォルトの名無しさん
17/03/08 20:37:42.27 WDLIW5bb.net
新しく、C++,C#,Javaを超える言語の誕生を切に願う
406:デフォルトの名無しさん
17/03/08 20:43:44.50 YCUi9zWw.net
>>390
実際Javaは周辺技術はすごい
世界中の叡智が結集して糞を料理し、なんとか食えるものにしてる
407:デフォルトの名無しさん
17/03/08 20:50:23.47 YUr8l1RF.net
Java人にとってWindowsは周辺ではなく僻地です。
408:デフォルトの名無しさん
17/03/08 21:09:03.23 psTqZ+Sc.net
なんか中国人みたいだな
409:デフォルトの名無しさん
17/03/08 21:32:29.32 U5noIHdN.net
javaはoracleの時点で将来どうなるか判らないって不安がつきまとう
golangもgoogleだから不安がつきまとう
swiftもappleだから�
410:粕N後の未来も予測出来ない でも不思議とc#とmsの場合はあんまそういう不安が無い
411:デフォルトの名無しさん
17/03/08 21:39:55.81 Uljnsbub.net
>>388
>ビジネスロジックはほとんどSQLとストアドに書かれ
最適化のためにしかたなくストアド化することはあっても
ビジネスロジックまるごととかあるんだね
おいたわしゅう
412:デフォルトの名無しさん
17/03/08 21:49:14.72 YUr8l1RF.net
Javaが糞遅いからC#じゃないのか。
Javaと同じ設計をしたいならJavaを使えばいい。
413:デフォルトの名無しさん
17/03/08 21:51:54.89 MEKWLPl8.net
Windowsで趣味で遊ぶのにC#より楽な言語が無い
414:デフォルトの名無しさん
17/03/08 22:28:25.34 gllfe4Ss.net
みんな仕方なくうんこなJava使ってるだけだから。
大人の事情。
415:デフォルトの名無しさん
17/03/08 23:15:48.59 nWki5I6G.net
>>397
いやJavaが使われるような分野ならJava(やその周辺のライブラリ類)は糞速い
クライアントじゃビチグソだが
416:デフォルトの名無しさん
17/03/08 23:21:37.62 YUr8l1RF.net
高速ライブラリはすべてC++とアセンブラで書かれてます。
417:デフォルトの名無しさん
17/03/08 23:31:16.51 RgWWdtUJ.net
結果的には現実的な判断だったと思うよ。
OracleにはJavaを伸ばすほどの能力はない。
環境の互換性に固執した結果、エコシステムがブラッシュアップされたのならそれでOK。
あとはC#で実験済みの便利機能を順に採り入れていけばいい。
C#がJavaに滅ぼされない為には数歩先を走り続けるしかない。
そのうちにJavaと同レベルのエコシステムが揃えられればJavaを食えるかもしれないが、
これはかなり厳しいとは思う。
418:デフォルトの名無しさん
17/03/09 00:10:57.40 x6aOWZGA.net
Javaのエコシステム!?
今Javaの一番メジャーなパッケージマネージャって何?
rubygemsやnpmみたいなのないって聞いたら
Mavenでpom.xmlって言われて愕然としたことがある
419:デフォルトの名無しさん
17/03/09 00:43:02.76 zrZoqbyp.net
>>403
Mavenで用は足りるし、LLっぽいのがお好みならGradleも人気
420:デフォルトの名無しさん
17/03/09 07:33:43.82 i1kRuTOP.net
>>388
EFって何がいいの?
そんなの使わなくてもsql実行すればいいんじゃないの?
421:デフォルトの名無しさん
17/03/09 19:18:10.50 NWFSmelL.net
>>405
ORMでググれ
422:デフォルトの名無しさん
17/03/09 19:27:05.21 kp/XS3en.net
operational risk management
業務運営リスク管理
sqlを文字ではなくオペレーションとして記述できるからsqlコマンド記述ミスによるバグやsqlインジェクションに強くなり
リスク回避に繋がるソース運営や管理ができる
423:デフォルトの名無しさん
17/03/09 19:28:46.08 ekX4ZlFq.net
C言語って何がいいの?
そんなの使わなくてもアセンブラ使えばいいんじゃないの?
35年前の会話