C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら http://www.visualstudio.com/downloads/ ■コードを貼る場合はこちら http://ideone.com/ ■前スレ C#, C♯, C#相談室 Part94 http://mevius.2ch.net/test/read.cgi/tech/1492843013/ ■次スレは>>970 が建てる事 建てられない場合は他を指定する事。 pyhtonだと他のコマンドの出力をワンライナーで処理とかあるけど C#はまあ無理だな そういう所ですみわけされてる 適材適所 python だと標準でできて .net だとできないことって何かあるかな? getoptやargparseのようなものは欲しいと思ったな。その点ではMFCよりも退化してる。 ウェブサイトのリプレイスでPHPじゃなくてC#で書きたいので 上司を説得するために、PHPよりC#の方が言語的に優れてる点をまとめた 静的型付け 勝手に文字列、数値、真偽値等のプリミティブ型を変換しない ジェネリクス LINQ 名前空間名を指定してusing 非同期メソッド ラムダ式 拡張メソッド null条件演算子 逆にPHPの方が言語的に優れてる所ってなんだろう・・・ trait? 引数にタイプヒント付けるとnull安全になる所? 言語だけじゃなく、開発環境、ライブラリなど総合的に決めるべきやね。 結果は自明だが。 >>232 WebならC#は言語云々というよりプラットフォームの制約で選ばれるものだと思うぞ サーバーがWindowsならC#はMSが強く推奨する第一の選択肢であり、よほどの理由がなければ他を使うべきではない Linuxなら今では.NET CoreもあるけどPHP使ってるようなところの手に負えるもんじゃない PHP製サイトはフレームワーク使ってるけど 考えなしに機能拡張し過ぎたため 自分が入社した頃には既にコントローラーが大変なことになってて このままじゃヤバイから書き直す事になった >>234 なんか難しいのか 今時はDockerですぐ動く環境ができる感じじゃないの? .NET CoreはDockerで作ったことは無いけど PHPでテスト用の環境は作った事がある バックエンドだけC#で書いて Angular等をフロントエンドに使う事を推す人も居るけど RazorViewより良いの? AngularやReact、Vueは別にクライアント側でしか使えない訳じゃなくて node.jsでサーバーサイドでも使えるらしい Linuxでちゃんとした言語使いたいならJavaでいいだろ 言語機能が不満ならKotlin使えば>>232 は全部満たしてるぞ リプレースでやるにはDocker&.NET Core&C#全部新規導入なんてリスクが大きすぎるし、 成長という観点を込みにしてもそれだけのコストをかけるほど価値のある選択とは思えん DockerってことはAWSかなんかだろ? どうしてもC#に拘るんなら素直にWin鯖立てとけ SPAはサーバー負荷を抑えられるのが良いね。 せっかくのSPAフレームワークをわざわざSSRするのはメリットがよくわからん。 >>237 なぜDockerからAWSになるんやwww 言語に関してはKotlinに変えるのもC#に変えるのも同様にリスキーな気はする .NET Core 1.0が出てから1年半しか立ってないからエコシステムの充実度的には劣るかもしれないけど 何も無い訳じゃないよね Windows固有の物使ってなければ今までの物も移植可能な訳だし >>238 SEO的にはサーバーサイドレンダリングもした方が良いと聞く フロントエンドもバックグラウンドもtypescriptが一番まともな仕上がりになる 従事者数が全然違う フレームワークの開発者のレベルも違う asp.net coreが10年もつとは思えん MSがあっさり捨てて5年後はなくなってるかもしれない asp.net coreがこれからだと思うのはセンスない 今も死んでるのになんで選ぶ? そらマルチプラットフォームに対応せにゃ生き残れんからやろ あれ?Windowsじゃなきゃあんま美味しくねぇな? 詰んだな >>241 いまどき10年も同じテクノロジーを使えると思う方がおかしい 本当に素晴らしいテクノロジーは登場とともに コアなサポーターがつく 残念ながらasp.net coreは誰の噂にも上らない そもそも知られてない 多分web開発者が100人いるとしても知ってるのは3人ぐらいだろう web開発者の間ではASPというワードは別の意味でしかとらえられない ASP.NET Advent Calendarが2016年まであったけど2017年は消滅した >>246 どこのまともな大手企業がasp.net使ってるって? asp.net coreがこれからだとか web開発者の間で知名度が高いなんて思ってるほうがいかれてるわ 謙虚になって状況見ろよ 言語なんて主要なDBとORMに対応しててCRUDが書ければ 好きなの使えば良い 公式の.NET CoreのデバッガーはVisual Studio Code/Visual Studio/Xamarin Studioでしか動かせない 規約で禁止されてる https://github.com/dotnet/core/issues/505 JetBrainsのRiderは独自の実装を書いて動かしている .NET Coreはなんか中途半端なオープンソース化だな VSやXamarin Studio、Rider以外でデバッグするにはMonoしか無いって事なのか でもMonoだとライブラリの対応がどうなのか EF Coreで[ConcurrencyCheck]属性を使って同時実行制御をしたいのですが IQueryableをToList()で複数取得しようとするとTrackingされなくて困っています SingleOrDefault()ならTrackingされて正しく動作します やりたい事はデータをListで複数件取得して、それらの値を変更してUpdateRangeでまとめて更新したいです どなたか解決策を教えてください >>253 軽く試した範囲ではコンテキスト内ならListでもトラッキングされてるし コンテキストまたいでもUpdateRangeで変更としてマークされて更新されたけど 勘違いじゃなければミニマムコードどっかに上げて ASP.NET以外にWebフレームワークってある? Nancyぐらいしか見当たらない 他言語だと色々選択肢があるのに NancyがASP.NET MVCより良い点は この辺に書いてあった http://blog.jonathanchannon.com/2012/12/19/why-use-nancyfx/ https://codeopinion.com/why-use-nancy/ ・ルーティングが少ないコード量で書ける ・設定を出来るだけ少なくしている ・サーバーのレスポンスをテスト出来る ・TinyIOCで自動で依存関係を解決(他のIOCコンテナも一応使える) ・パイプラインフック(リクエストの前後で処理を実行) ・Content Negotiationで、ルートでResponse以外を返した時にResponseに変換 ・何処でもカスタマイズ・拡張可能 ORMとかは付いてないから自分で好きなのを選んで使うスタイル >>254 確かめて頂きありがとうございます あれから試行錯誤して、OrderBy()の前にTake()を使うとTrackingされないことが判明しました 何故このような動作になるのか、どなたかご教授ください >>260 そんな動作にはならないから お前の勘違いかお前が何か変な事してると思われ とりあえずコード晒せや 1月の月例アップデートのKB4055532がおそろしくバグってるらしい .net frameworkで文字化けしたり意味不明なエラーが連発したり突然アプリが落ちたりするそうだ 急にアプリの挙動がおかしくなったらまずそこに注意 今C#でゲーム作る時unity以外で作れるフレームワークある? UnrealEngine4が使える。 俺はエアプだけど。 3年前にXNAやってたけどもう意味ないよな?開発終了してるし、基礎勉強なら使えるかもしれないけど >>266 MonoGameがXNAのオープンソース化移植だからコードほぼそのまま動くで C#で書かれたライブラリをネイティブコードにコンパイルして他の言語から使うって出来るんですかね? ターゲットとなるアーキテクチャはIA32/AMD64系に限らずARM系なども含みます MonoはLLVMを使っているらしいので出来そうな気もしますがそのような記事を見つけられず・・・ 他の言語で使いたいライブラリはttps://github.com/vvvv/SVGです(SVGをレンダリングしたい) C#を動かすにはプロセス内でホストするなり別プロセスなりで必ずCLRを起動しなければならないので、 アンマネージコードから普通に呼べてクリーンで自己実行なライブラリを作るのはどうやっても無理 >>269 ありゃ、そうなんですか。.NET NativeやLLILC、SharpLangなどネイティブコードへコンパイルする処理系の があったらしいのでネイティブコード化できるのかなと思ったのですがそう上手い話はないのですね >>270 これはMono上で動いているライブラリを他の言語から使うラッパーでしょうか? Monoが動く環境でないとダメか・・・ ググったら普通にC++のSVGライブラリヒットするんだが・・・ >>271 ああそうか、「他の言語から使う」条件しか満たしてないね。 ネイティブコードにコンパイルしたいって書いてあったね。 しゅまん、これはmonoの上で動くやつ。 後出しだけど情報を小出しにするのも問題が大きいだろうから現状を。長文失礼 テキストなどの平易なベクターデータ(線、箱、円、文字など)をラスターデータに変換する ラスタライザーが欲しい。ラスタライズ動作をカスタマイズできるとなお良い ラスタライズ動作をカスタマイズしたい理由は最終的に欲しいラスターデータが2値モノクロなので アンチエイリアスの有無や線幅等を調整できる必要があるため 動作させるプラットフォームはWindowsやLinux等を考えているけどOS無しでの動作もあり得るかも 呼び出す側の処理系はCかインタプリタなどからC経由で呼ぶ予定 最初はHTMLのレンダリングエンジンを検討したけどChromiumにしろFirefoxにしろカスタマイズして 実装する的な例を見つけられなかったのと無題に大規模になることもあって断念 次点としてSVG単体での利用を検討しはじめてイマココ。ググってみるとSVGのレンダラーとして 見つかったのはlibrsvgと>>268 くらい。前者はGPL/LGPL故に一緒に使用可能なライブラリが制限されるし 後者はC#なのでネイティブで使えない? う〜む。MonoってOS無しで動作させたり出来るのだろうか・・・ >>272 C++なSVGレンダラーってあったっけ・・・参考までにどれでしょうか? >>274 OS無しも考慮するとなると、C#板ではキツイのでは? CまたはC++板での相談を推奨かな。 >>274 librsvg はlgpl2としても使えるように見えるけど、何か問題あるん? > テキストなどの平易なベクターデータ(線、箱、円、文字など)をラスターデータに変換するラスタライザーが欲しい。 WindowsならネイティブAPIのDirect2Dそのまんまなように思えるが (最近だと部分的にSVGのサポートも入り始めた) OS無しもとか言ってる奴に > WindowsならネイティブAPIのDirect2Dそのまんまなように思えるが とか人の話を聞く気がないのか壊滅的に理解力がないのかどっちなんだろ... そこまでのマルチプラットフォームを求めるなら、 俺ならAWS LambdaとかでWeb API 作ることを検討するわ >>279 > WindowsやLinux等を考えているけどOS無しでの動作もあり得るかも そもそもそのへんハッキリしねえから選択肢の一つとして紹介しただけだしなあ SVGの直接的なサポートは別としてレンダリングの細かい要求は満たしてるしね >>281 > Linux等を考えているけど って書いてあるのに、バカの上塗り? w >>282 こういう人に絡むだけで何も建設的なことを言わない(言えない)馬鹿、 生きてて楽しいのかね > こういう人に絡むだけで何も建設的なことを言わない(言えない)馬鹿 自己紹介乙 OSを動かせるハードウェアを用意して>>270 で行くかラスタライザーを新規作成するかのどちらかになるのかな >>277 LGPLの波及範囲は諸説あってはっきりしないのでライセンスがらみのトラブルを回避する上でも避けたいです MVC5で質問です。 スキャフォールディングのEditアクションでキー項目はテキスト それ以外のみinputにしようとしています ビュー作成直後は全てinputで作成されますが その後、キー項目だけテキストに変えるにはどうしたらよいでしょうか? EditorForをDisplayForに変えるとなにも表示されなくなりDisplayNameForに変えるとモデルのプロパティの属性のDisplayNameで設定した文字列が表示されてしまいます。 解決いたしました バインドされているモデルがnullなのが原因でした しかしnullなのにEditorForだと前の画面の値が引き継がれて表示されてるんですよね 腑に落ちないところもあるのですが、、 ありがとうございました 小さいrestサービスだからHttpListnerでWindowsサービスで作ったけど 素直にWebサーバー立てた方が幸せでしょうか 社内利用の小さいやつならべつにそれでいいんじゃない? クラウド使えよ AWS & API Gateway & Lambdaとかなら仮想マシンすら必要ないぞ クラウド使いたいけど私の会社はまだ許可されてないのです 多分来期予算取れるからその時移行出来るようにはしたい 今後はわからんですが今のところユーザー少ない&社内のみなのでこれでいいかなぁ 気になるのは同時に接続来たらそれぞれスレッドが別になるのでしょうか >>295 サーバーレスなら自分でサーバーやサービス作るよりよっぽど簡単だぞ 金も社内のみなら余裕で無料枠に収まる 答えられなくはないけどスレ違いと言われればそうだな 自分はPHPとJavaScriptしかやったことがないので、WindowsのGUIアプリ開発は初めてです。 WindowsフォームとWPFをちょっといじりましたが、 WindowsフォームはUIをマウスで配置して動作を与え、 WPFはHTMLのようにUIはMLで記述する感じであとはフォームとやることは同じかなって思ったのですが、 この両者の違いはフレームワークの違いだと思いますが、 自分的にはWebからきたのでWPFのほうがしっくりくるのですが、 調べると重いとかで流行ってないらしいので、情報量的にもフォームのほうがいいのでしょうか? UWPはインストールが面倒だったのでスルーしましたが、今からならUWPがいいですか? あとC#ではC++にあるらしいWin32プロジェクトは出来ないのでしょうか? どれ選べばいいのかわからなくて困っています。 Webの経験あるんならElectronでいいんじゃない? WinFormsもWPFもとっくの昔に開発終了してるから今更新しく入るのはお勧めできないな Electron使うならC#で在る必要性がないような・・・・ レスありがとうございます。 >WinFormsもWPFもとっくの昔に開発終了してるから それは衝撃です。 ビルドしてテストした感じ前者はビルド速度もリソース消費も良く、UIも期待通りで、 後者はビルドが遅くて、UIも表示通りにならなかったり、テストするのは面倒だなという印象でしたが、 もう改善が見込めないんですね。 UWPはWPFよりっぽいので、心配ですが、UWPをインストールして触ってみます。 いずれXamarinやUnity使ってみたいのもあって、C#の勉強をしてるので、 しばらくはVSでWindows用のアプリケーション作りながら頑張ってみます。 割と最近になってWinformsにHiDPI対応強化やWPFもスタイラス対応強化が入ったりしてるから とっくの昔に開発終了は語弊があるけどね とはいえMS自身の都合による突発的な更新という意味合いが強く 積極的にフィードバックを受けての修正や強化というフェーズはUWP以外終えてる感はある .NETという基盤やIDEは優れているのに肝要のGUIフレームワーク選びでgdgdになるのマジうんこ UWPとWPFは似たようなものだから、どっちから学習しても問題なし。 覚えたことは簡単にUWPからWPFまたはWPFからUWPに移行できる。 そりゃ、コントロールとか微妙に違ったりすりけど、大きな問題にならんだろう。 xamlの機能に違いがあったりと、高度な事をやろうとすると差がでてくるけど。 だから、学習フェーズの普通の事する分にはどっちから入っても問題なし。 >WinFormsもWPFもとっくの昔に開発終了してるから 後、WPFにもFluent Design対応ぐらいはくるんじゃないの? >>310 そういうお仕着せ的なものを持ち込むのはWPFの思想にそぐわないからそれはないよ WPF的には、開発者が望むならFluent Designを実装できるだけの機能を備えている、で十分 そういうDIYな思想こそがWPFが使い辛いと言われる最大の原因でもある 去年のBuild2017のセッションの資料に明言じゃないけど、それをにおわせる ような事が書いてあったんだけどね >>311 備えているならせめてForm時代と同じことさせてくれよ なんでListViewの罫線自分で描かなきゃいけないんだよ WPFはおわったんだ それをまた何十人〜何百人のチームを作ってわざわざ新しいものを実装するだろうか? .Net Frameworkのバージョンアップの内容追うと、WPFも地味に改良されてるけどね。 開発が終わったとか時代が終わったとか言われても趣味でやる分にはWinFormが一番楽 仕事でやる人は逆に何でも対応しなきゃならないだろうし winformしたできんのだけどどうしたらええねん コマンドラインのオプションを解析・パースするエレガントなLinqを教えてください 例えば、 -i "hoge.txt" -i "fuga.txt" -o "hogefuga.txt" というコマンドを受け取った時、 { "i" : [ "hoge.txt", "fuga.txt" ], "o": [ "hogefuga.txt" ] } こんな結果に変換したいです GroupBy()を使えば出来そうな気がするのですが上手くいきませんでした 標準Linqだと辛いので拡張書くかな 少なくともコマンドラインオプションとオプションの引数をひとまとめにするやつは欲しい感ある クラス使わないと非常に汚いことになるし オプションの設定を渡さないといけないのでlinqだけでは不可 たとえば-sがオプション必須かどうかがパーサーにはわからない a.exe -s a.txtが (a.exe)(-s a.txt)か (a.exe)(-s )(a.txt)か c#ができたころからコマンドラインオプションの話はずっと言われてる 昔から独自実装したものはあちこちにある .NET Coreのdotnetコマンドのビルドが遅い 速くする方法は無いの? 初歩的なことなのですが・・・ ドット(.)を使って他所のメソッドやクラスを引用?してくるのをよく見かけますが それがメソッドなのかクラスなのか見分けるにはどうすれば良いですか? (クラス).(メソッド) の場合もあれば (メソッド).(変数) の場合もあるのですよね・・・? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる