21/12/13 22:53:21.18 dhjmiKBp0.net
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
スレリンク(tech板)
■関連スレ
C#, C♯, C#相談室 Part94
スレリンク(tech板)
■コードを貼る場合は↓を使いましょう。
URLリンク(ideone.com)
URLリンク(dotnetfiddle.net)
■情報源
URLリンク(docs.microsoft.com)
URLリンク(docs.microsoft.com)
URLリンク(docs.microsoft.com)
URLリンク(referencesource.microsoft.com)
URLリンク(source.dot.net)
・Insider.NET > .NET TIPS - @IT
URLリンク(www.atmarkit.co.jp)
・DOBON.NET .NET Tips
URLリンク(dobon.net)
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2:デフォルトの名無しさん
21/12/14 15:04:57.66 DHQEOVX70.net
stringデータの容量を小さくしてソフトのAPIに送りたいのですが
APIの都合でstringのまま送らなければならない場合、
これ以上容量を小さくする手段はありませんか?
圧縮したバイナリデータをどうにか送信できないかと調べたのですが無理そうで……。
3:デフォルトの名無しさん
21/12/14 17:52:43.39 vmKXmndG0.net
何らかの方法で圧縮できたとして
受け取る方のソフトは圧縮されたデータを伸長できるの?
4:デフォルトの名無しさん
21/12/14 17:56:17.81 WeLzug3DM.net
uudx / uuex か?
5:デフォルトの名無しさん
21/12/14 18:19:29.34 DHQEOVX70.net
>>3
圧縮して送りたいのはただのセーブデータなのですが、
サーバー側の保存形式がstringを使ったkeyValueで作られているので文字列形式でしか保存できないみたいで。
保存しておいた文字列をこちらで読み込んでからデコードすればいいのでstringのまま圧縮できればよくて、
どうせ日本語までしか扱わないデータなのでSHIFT-JISをutf-8で圧縮……みたいなことができれば理想なのですが
そんなピンポイントなのあったりしませんよね、と……。
>>4
解釈があってるかはわからないのですが、
一応圧縮したバイナリデータをBase64でConvertみたいなことは試してみたものの
容量を減らすという目的ではむしろ文字数が増えてしまって。
何か手段がないかなあと思っている次第です。
6:デフォルトの名無しさん
21/12/14 18:26:30.90 QT7QgCvlM.net
使用できる文字に番号振って
圧縮したバイナリを文字に割当る
いわゆる復活の呪文方式
文字が足らなければ32bitsバイナリを31bitsにずらしていくなど工夫してみな
7:デフォルトの名無しさん
21/12/14 18:35:23.50 70QYvgE2a.net
>>5の文章はユニコード(utf16)で720バイト、ユニコード(utf8)で921バイト
>>5の文章をzip圧縮したらバイナリで678バイト。その圧縮バイナリを2文字ずつ(utf8)にしたら2倍の1356バイト(圧縮したらバイト数が増えた)
でも前スレ(utf16で348,236バイト)を圧縮したらバイナリ104,639バイト、圧縮utf8で209,278バイト。圧縮したバイナリをテキストにしたほうが小さい
送りたいデータ次第じゃ一度圧縮してから無理やりテキストにした方が容量小さくなるから
どっちが有利か生と圧縮を自動選択しながら送る手もある
8:デフォルトの名無しさん
21/12/14 19:00:02.18 DQcTzC4QM.net
通常のデータ圧縮は8ビットフルに使うので、
そのままでは難しいのでuuと組み合わせて作ったら?
9:デフォルトの名無しさん
21/12/14 19:40:08.80 vmKXmndG0.net
UTF-8でバイナリ化してdeflate圧縮してBase64化した後2文字ずつを1つのcharに詰める
まあ基本ライブラリで手軽にやるならこんな感じじゃない?
10:デフォルトの名無しさん
21/12/14 20:14:03.30 4rMew3mV0.net
7zかなにか圧縮率の高い奴で圧縮しておいてbasE91だな。
URLリンク(base91.sourceforge.net)
11:デフォルトの名無しさん
21/12/15 07:44:21.38 viWcJGha0.net
圧縮することによっぽどのメリットがないと無駄にややこしくなるだけだぞ
サーバー側が必要に応じて圧縮するのが筋かと
UTF-8に変換して送信とか脆弱性の問題もあってサーバー側で禁止してることもある
12:2
21/12/15 08:20:09.42 KIyi4EVP0.net
皆さんありがとうございます! Base64化したものを自分でさらに詰めるというのは思いつきませんでした……なるほど……。
BasE91もまさに机上論こねくり回してるときに欲しかったものの気配がするので中身覗いて調べてみます!
>>11
こちらは利用する側なのでサーバーの仕様を変える事はできず、
用意されたフォーマット(これが文字列形式での送信)従うしかないやつですね。
ユーザー毎に使用可能なデータの容量が決められていて(しかもそれがやたら少ない)、
少しでも軽減するためにこちら側でデータを小さくできないかと画策しています。
13:デフォルトの名無しさん
21/12/15 08:43:57.49 doly6UKJ0.net
ビットマップ間で部分的に画像コピーするのはDrawImageでできますが
コピーする際に左右を反転してコピーする方法はないでしょうか?
検索でビットマップ全体をまるごと反転する表示はたくさん出てくるのですが
DrawImageの部分コピーで反転するのは見当たらないのです
14:デフォルトの名無しさん
21/12/15 09:39:43.96 SWORTfJ40.net
g.ScaleTransform(-1, 1)
描き出す先の座標も反転するから座標指定注意
15:デフォルトの名無しさん
21/12/15 10:18:47.15 IF/hKOzS0.net
できました、ありがとうございます
16:デフォルトの名無しさん
21/12/15 20:55:12.09 KtX6zlRp0.net
DrawImageに渡すWidthやHeightを負の数にするだけで反対向きに描画するよ
17:デフォルトの名無しさん
21/12/15 22:41:30.07 9OkRwsNs0.net
LinuxでC#でソフト作りたいのですが
.Net 6とmonoは同じものでしょうか?
18:デフォルトの名無しさん
21/12/15 22:58:53.71 RALnEWNsa.net
monoは.NET4.6か4.7相当
19:デフォルトの名無しさん
21/12/15 23:37:58.07 9OkRwsNs0.net
ありがとうございます
.Net 6をインストールしました
20:デフォルトの名無しさん
21/12/16 12:03:30.27 GoezKG390.net
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
keyCode = (int)e.KeyCode;
}
public void button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
anThread(); // ここをtest();に変えると直接実行になる
}
private void anThread()
{
Task task = Task.Run(() => {
test();
}
}
private void test() {
int dt;
while (true) {
if (keyCode!=0) {
dt = keyCode; // ここにブレークポイントを置く キーが押されると止まる
return;
}
Thread.Sleep(10);
}
}
21:デフォルトの名無しさん
21/12/16 12:04:03.26 GoezKG390.net
このプログラムbutton1押しで開始して、キーが押されるとループ中のブレークポイントで止まるものなんですが
これで一般文字キーを押すとちゃんとブレークポイントで止まりkeyCodeが確認できます
Enterキーを押した場合はなぜか止まりません
anThread();のように別スレッドから動かさずに直接test();で呼ぶと
一般文字キーもEnterキーの時も止まりkeyCode 13が確認できます
別スレッドで動かした時に、Enterキーの時だけForm1_KeyDownさえ呼ばれなくなるのは
どうしてでしょうか?
22:デフォルトの名無しさん
21/12/16 12:25:18.98 6kTxk0Gya.net
直接呼びで停まる?
直接呼ぶと無限ループに入って、keycode変数が変化しないから(代入が行われるのはループの外だから代入が起きない)
ブレークポイントに入ることもないんじゃないかな?
ここに書き込む過程でコードを書き換えたなら、そこで略した部分に問題ありそう
23:デフォルトの名無しさん
21/12/16 12:36:40.33 GoezKG390.net
いえ止まるというのはブレークポイントで止まるので正常に機能しているということです
直接呼びの時はEnterキーでもkeycode変数が変化するのです(正常)
別スレッド呼びにした時にEnterキーだけ変化しないようになります 文字キーは変化します
button1にEnterキーが吸収されてるのではないかと思い
button1.Visible = false;
button1.Enabled = false;
さらにForm1.KeyPreview=true;
としたのですが、結果は変わりませんでした
24:デフォルトの名無しさん
21/12/16 12:59:19.79 6kTxk0Gya.net
デバッグ開始する
ボタン押す
enter以外のキーを押す=止まる
再開する
enterを押す=止まらない
って順番ということ?それならreturnで抜けてるから
デバッグ開始する
ボタン押す
enterを押す=止まらない
enter以外のキーを押す=止まる
って順番ということ?
25:デフォルトの名無しさん
21/12/16 13:04:12.22 GoezKG390.net
そうですね、デバッグ実行は毎回やりなおしてますが
enterを押す=止まらない ここのところですね問題は
Enterキー故に何かわからないですがviewのどれかに吸収されてるんではとも考えられるんです
26:デフォルトの名無しさん
21/12/16 13:11:56.87 GoezKG390.net
inr fs;
public void button1_Click(object sender, EventArgs e)
{
if (fs==0) {
button1.Visible = false;
button1.Enabled = false;
anThread(); // ここをtest();に変えると直接実行になる
}
fs=1;
}
27:デフォルトの名無しさん
21/12/16 13:12:29.66 GoezKG390.net
もっとボタンのとこ具体的にかくと上のようにして一度しかtest()呼ばれないようにしてます
28:デフォルトの名無しさん
21/12/16 13:19:59.88 6kTxk0Gya.net
なら
KeyPreview=true;
protected override bool ProcessDialogKey(Keys keyData)
{
return false;
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
}
29:デフォルトの名無しさん
21/12/16 13:24:57.28 GoezKG390.net
おおEnterキーでもブレークポイントで止まるようになりました
ありがとうございます
30:デフォルトの名無しさん
21/12/16 13:28:58.72 lYga0rvW0.net
Formに配置したbuttonがEnterキーの制御を奪うから
その前にFormでキーを取得したいならPreviewKeyDownイベントを使う
31:デフォルトの名無しさん
21/12/16 14:09:04.68 i/INwEgL0.net
docs.microsoft.com/ja-jp/dotnet/api
にバージョンとかあって.NET 6とか選択するじゃないですか?
これって、どれを選べばいいのでしょうか?
自分のPCにどの.NET入ってるか調べる方法はありますでしょうか?
よよろしくおねがいします。
32:デフォルトの名無しさん
21/12/16 14:38:33.33 k8cIynuMM.net
自分のPCではなくユーザーの環境を考えて選ぼう
Windows2000なら2.0
WindowsXPなら4.0までしか使えない
33:デフォルトの名無しさん
21/12/16 15:37:50.09 y2oCKs8P0.net
今から始めるなら.NET 6選んでおけば問題ない
34:デフォルトの名無しさん
21/12/16 17:43:59.24 i/INwEgL0.net
Environment.Versionだと6.0.0
RuntimeEnvironment.GetSystemVersionだとv4.0.30319でした
35:デフォルトの名無しさん
21/12/16 17:53:32.89 i/INwEgL0.net
System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription
だと.NET 6.0.0-rtm.21522.10でした
36:デフォルトの名無しさん
21/12/16 17:56:18.18 i/INwEgL0.net
clrver.exeだと、こう
PS C:\Users\a\source\repos> clrver.exe
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation. All rights reserved.
Versions installed on the machine:
v2.0.50727
v4.0.30319
37:デフォルトの名無しさん
21/12/16 18:05:33.14 6CYDlCWX0.net
URLリンク(i.imgur.com)
38:デフォルトの名無しさん
21/12/16 20:33:18.00 SBcuHk850.net
mauiって流行りますか?
39:デフォルトの名無しさん
21/12/16 20:45:26.99 9+J81CzA0.net
Xamarinって流行ったか?つまりそういうことだ
40:デフォルトの名無しさん
21/12/16 20:53:46.41 p4ec86X90.net
人脈が無い人には無理
41:デフォルトの名無しさん
21/12/16 21:37:09.74 nAiVmB6z0.net
mauiも期待はしてるけどいつも通りなんだろうなあ。。
42:デフォルトの名無しさん
21/12/16 22:11:02.45 6kTxk0Gya.net
マルチプラットフォームっていう目的での利用は流行らないだろうな
でも普通にGUIアプリ作る一手段としては使われるんじゃないかな
43:デフォルトの名無しさん
21/12/16 23:26:32.48 el7qs11a0.net
言語仕様が多すぎてうんざり。
44:デフォルトの名無しさん
21/12/17 00:31:22.94 A3/Tt7aa0.net
Linuxに本気で移行しようと思う。
45:デフォルトの名無しさん
21/12/17 01:19:48.74 OxYtcTfz0.net
>>44
おっ、.NET Core + Linux いいね
46:デフォルトの名無しさん
21/12/17 01:35:44.89 0Acfg8Fxd.net
これからMSワールドの外へ出てみたら実感すると思うけど、MSスタックは全部MSで揃えて他には見向きもしなくていい状態にこそ意義があるんだよ
いったん外にはみ出し始めちゃって歯車が狂うとたちまち不便なところばかりが目につくようになって、気がついたらMS成分は跡形も残らない、という結果になるのがオチだ
MSスタックをディスるつもりはなくて、これはむしろ最大限の賛辞だ
47:デフォルトの名無しさん
21/12/17 08:09:16.08 GkoM7wOP0.net
あれ?MAUIのターゲットにLinuxが入ってない。。。
URLリンク(docs.microsoft.com)
48:デフォルトの名無しさん
21/12/17 08:24:00.59 ObFlVNVZM.net
LVGLを使え。という託宣。
49:デフォルトの名無しさん
21/12/17 08:44:31.07 dbqWYop50.net
>>47
linuxはコミュニティによってサポートされます
50:sage
21/12/17 11:45:19.21 2+pcMu4G0.net
C:\Users\a>dotnet --info
.NET SDK (global.json を反映):
Version: 6.0.100
Commit: 9e8b04bbff
ランタイム環境:
OS Name: Windows
OS Version: 10.0.19042
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\6.0.100\
Host (useful for support):
Version: 6.0.0
Commit: 4822e3c3aa
.NET SDKs installed:
6.0.100 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET runtimes or SDKs:
URLリンク(aka.ms)
51:デフォルトの名無しさん
21/12/17 13:11:43.35 2+pcMu4G0.net
c#を勉強しはじめたのですが、メモリ関連でヒープとスタックというのがあるのを知りました。
で、C#で型がstaticのデータはヒープ領域に格納されるのですか?それともスタック領域に格納されるのですか?
52:デフォルトの名無しさん
21/12/17 13:38:19.99 g/fCEX7wa.net
スタックって日常でも使うことあるけど、積み重ねるって意味だからな
積み重ねちゃってるから下にあるものを無理に取り出そうとすると崩れてぐちゃぐちゃになる
だから下にあるデータは上にあるのがなくなるまで取り出せない
データは上下関係なく好きなところにあるデータにアクセスしたいものだからスタックにはしない=ヒープ
でもスタックとかヒープとか覚えなくていいよ
C#のテスト問題にそんなのが出たら「もっとまともな問題出せ」って回答用紙に書いときゃいいし
C#の本やサイトにそんなのが出てるなら投げ捨てときゃいい
53:デフォルトの名無しさん
21/12/17 13:41:20.99 eUY6ZgLC0.net
メモリの確保と開放って元々C言語の概念だったよね
Javaではなくなったようだけど
54:デフォルトの名無しさん
21/12/17 14:24:53.34 A3/Tt7aa0.net
メモリを確保するのはアセンブラでもそうだよ。開放するのは動的に使うってことだよ。
スタックはCPUの基本機能、ハードで実装、提供されてるものだよ。だから高速。
SPレジスタ書き換えるだけだからね。速いコード書く人はスタック、ヒープは常に意識してる。
55:デフォルトの名無しさん
21/12/17 15:05:27.40 g/fCEX7wa.net
そんなの意識するわけないだろ。どう意識するんだよw
アセンブラならpush/pop使うこと多いけど、C#じゃそんなの意識して組むのは非常に困難
意識するのは例えばこれはList<int>よりも基本通りint[]でいった方が速度有利だけど、こっちはListでいいとかそういう(ヒープの)使い方程度だよ
56:デフォルトの名無しさん
21/12/17 15:35:53.88 Uf0Oj/NFd.net
Marshal.AllocHGlobal使うときとかヒープ意識するな
57:デフォルトの名無しさん
21/12/17 15:38:33.74 8qM/JwoR0.net
大昔独自のC言語使った組み込み開発で、StaticはROMにマッピングされるやつが有った
いやあ、確かに便利だけど言語仕様くらい守れよとは思った
58:デフォルトの名無しさん
21/12/17 16:30:31.61 xwFg4/y80.net
ただしstack overflowはバイブルな。
これさえあれば、大抵のことは何とかなる
59:デフォルトの名無しさん
21/12/17 17:26:57.23 OLbNm50pa.net
>>51
ちょっと検索した感じだとstaticな「変数」(あくまで変数ね)は
ヒープに置かれるって意見とヒープでもスタックでもないって意見があって
はっきり分からんねw
個人的にはstaticな「変数」は一度staticコンストラクタが呼ばれて
作られてしまった後は管理が不要なので後者の方が正しいように感じるがどうだろう
60:デフォルトの名無しさん
21/12/17 19:03:20.75 FDMn0ZP00.net
MSスタックどころかWindowsフォームしかできないのがMSワールドの外に出ることなんて不可能だろうな
61:デフォルトの名無しさん
21/12/17 19:14:42.55 25ZW3+3Or.net
C#は適当にGC呼び出せば適切なところでメモリ解放がんばってくれるじゃん
62:デフォルトの名無しさん
21/12/17 20:16:20.89 hfvLzPNZ0.net
>>51
メモリ領域にはヒープとスタックとコードがある
staticはコード領域に確保される
コードていうのはそのまんまの意味で命令が書かれてる場所
ちなみにC#のヒープはGCが管理してる特殊な領域
63:デフォルトの名無しさん
21/12/17 20:53:34.58 2+pcMu4G0.net
これ??
PS C:\Users\a\source\repos\stack\stack\bin\Debug\net6.0> dumpbin /headers stack.exe
Microsoft (R) COFF/P
64:E Dumper Version 14.30.30706.0 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file stack.exe PE signature found File Type: EXECUTABLE IMAGE <<中略>> SECTION HEADER #3 .data name 14F8 virtual size 24000 virtual address (0000000140024000 to 00000001400254F7) A00 size of raw data 21C00 file pointer to raw data (00021C00 to 000225FF) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers C0000040 flags Initialized Data Read Write
65:デフォルトの名無しさん
21/12/17 21:35:28.65 IQClZtiS0.net
>>62
>staticはコード領域に確保される
これはあってんの?
66:デフォルトの名無しさん
21/12/17 21:40:51.67 A3/Tt7aa0.net
xpSP2以降、自己書き換え禁止されたはずだから嘘だと思うけど
67:デフォルトの名無しさん
21/12/17 22:19:09.70 RGFXVjzf0.net
嘘つきはMicrosoftの始まりって聞いたで
68:デフォルトの名無しさん
21/12/17 22:37:03.33 ePonqmC10.net
>>64
ざっくりだけどあってる
AppDomainのLoaderHeapのHigh Frequency Heapと呼ばれる場所に
MethodTable Strucureの一部として確保される
Heapと名前がつくがGC HeapやLarge Object Heapとは別で
GCはされずAppDomainがアンロードされるまで生きてる
AppDomainをざっくり言えばコード領域
69:デフォルトの名無しさん
21/12/17 23:21:12.45 g/fCEX7wa.net
ざっくり曲げすぎ。そもそもいわゆるコード領域はリードオンリーだよ
70:デフォルトの名無しさん
21/12/18 01:21:58.30 4KhQcFRSr.net
とにかくGC連打
メモリ管理をどうこうしようなんて考える必要なし
71:デフォルトの名無しさん
21/12/18 01:27:31.41 5vur9Hw60.net
結局、Dispose()だらけで汚いコードだらけみたいな。
72:デフォルトの名無しさん
21/12/18 01:36:05.34 T7YxQHIHa.net
いやいや。disposeは必ずしろよ・・・
73:デフォルトの名無しさん
21/12/18 01:51:37.69 pciZCSWm0.net
某現場で提供されてたDB接続クラスがIDisposable持ってるからusingで書いたら全然動かん
よく見たらdispose内でロールバック処理が入ってて目を疑った
74:デフォルトの名無しさん
21/12/18 02:07:40.04 hd7cWOei0.net
それどうなったの
75:デフォルトの名無しさん
21/12/18 02:38:11.15 pciZCSWm0.net
>>73
周りに聞いたらみんなusing使わないようにしてた
ライブラリは別部署からの提供品で、修正してもらう手続きがめんどくさいから・・・
76:デフォルトの名無しさん
21/12/18 03:04:40.74 +EDLAGXQ0.net
usingはMSの提供品ならアリ
それ以外のライブラリでは信じるに値しない
精々努力目標がいいとこ
77:デフォルトの名無しさん
21/12/18 03:11:34.73 4KhQcFRSr.net
>>72
何そのトラップw
作った奴アホだろ
78:デフォルトの名無しさん
21/12/18 03:25:01.34 rlJS0/xAa.net
>>75
別にDisposeの実装だけが特別バグりやすい理由はどこにもないので、
それは羹に懲りて何とかそのものだねw
79:デフォルトの名無しさん
21/12/18 03:48:54.74 +EDLAGXQ0.net
別にStreamWriterのusingも疑えって言ってるわけじゃない
ただ、チェックされてる保証がないモノを無条件に信じるのはやめろってこと
少なくともMS提供品以外のusingは使うなら一度はdisposeの実装に目を通したほうがいい
ブラックボックスのライブラリはメモリリークしてても不思議じゃないから場合によっては
別プロセスにしてキックしないといけないかもしれない
80:デフォルトの名無しさん
21/12/18 04:00:36.02 +EDLAGXQ0.net
そもそもなまじガベコレなんてあるから
綺麗な後始末にはヘルプをよく読まないといけないクラスが多い気がする
まあ、その前にアプリを終了してしまえば問題は起きないが
サービスとかだとこいつが牙をむく場面が多い
81:デフォルトの名無しさん
21/12/18 04:43:58.91 QLDMMuZWa.net
>>78
人の話聞かない人?
だから、同じことはDispose以外の全てのメソッドについても当てはまるでしょ。
他人の作ったものは全て信じられないから使わない。
これなら偏執狂的ではあっても論理的に一貫している。
しかしDisposeだけ疑うのは羹に(
82:デフォルトの名無しさん
21/12/18 05:17:14.21 4kEqj5670.net
>>68
厳密にいうと微妙に違う属性みたい
SECTION HEADER #1
.text name
1830C virtual size
1000 virtual address (0000000140001000 to 000000014001930B)
18400 size of raw data
400 file pointer to raw data (00000400 to 000187FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
60000020 flags
Code
Execute Read
83:デフォルトの名無しさん
21/12/18 07:53:04.33 EMtIeou+0.net
>>72
トランザクション処理を行っていたらロールバックする仕様は普通じゃね?
84:デフォルトの名無しさん
21/12/18 08:55:44.41 +EDLAGXQ0.net
>>80
まあ、確認対象に入るだけとも言うな
85:デフォルトの名無しさん
21/12/18 08:59:22.77 +EDLAGXQ0.net
>>82
失敗してないのにやるんじゃない?
usingを正常に抜けるための何らかの条件があってそれがされてないと
disposeで失敗とみなしてロールバックするんじゃね?
その条件はソースを見るか組んだやつしかわからんが
86:sage
21/12/18 09:13:54.47 4kEqj5670.net
>>55
以下ソースで30000ちょっとでスタックオーバーフロするから、
それなりに意識する必要のある人もいるように思われ
企業が作るデカイアプリとか
public class Hello
{
public static void a(int n)
{
System.Console.WriteLine(n);
a(n + 1);
}
public static void Main()
{
a(0);
System.Console.WriteLine("hello world!");
}
}
87:デフォルトの名無しさん
21/12/18 10:36:30.21 rkAxz2WM0.net
URLリンク(dotnetfiddle.net)
ランダムで0~100までの数値を出して0~50と50~80、80~100の場合に分けてそれぞれを表示するプログラムです
場合分けを増やすとどうしてもforが複数回繰り返してしまいます、2回目以降の
for (int i = 0; i < 5; i++)
を1回に抑えたいのですが何かいい方法はありませんか?
88:デフォルトの名無しさん
21/12/18 10:42:34.52 /Zq/GLbL0.net
なんかの
89:デフォルトの名無しさん
21/12/18 10:43:28.05 /Zq/GLbL0.net
なんかのデータ構造を3つ用意して一回のループで分けるとか
一回全部ソートして前から見ていくとか
90:デフォルトの名無しさん
21/12/18 10:46:28.80 T7YxQHIHa.net
linqなんかを使うって方法もあるけど実質同じだからなしだよな
stringをいくつか用意しといて、最初のforの中でconsole出力するんじゃなくてstringに値を格納
for抜けてからconsole出力するとか?
91:デフォルトの名無しさん
21/12/18 11:37:28.63 5vur9Hw60.net
普通にcommitしてからdispose()すればrollbackしないんじゃねーの?
原因不明で途中終了されたらrollbackするのは普通に見える。
とにかくデストラクタがC++と同じタイミングで走ってくれれば
C#にdisposeはいらなかったんじゃないのかと初心者のボクは思うわけですよ。
92:デフォルトの名無しさん
21/12/18 11:57:23.73 EMtIeou+0.net
>>86
宿題っぽいから単純にメソッドを分けてみたよ
URLリンク(dotnetfiddle.net)
93:デフォルトの名無しさん
21/12/18 12:12:33.65 5vur9Hw60.net
速度重視なのかメモリ効率重視なのかによるよな。
普通は分けたデータは再利用するので3つ分の配列を作ってそこに入れるかな。
なら場合分け処理は最初の1ループ一回しかしないで済む。
94:デフォルトの名無しさん
21/12/18 13:11:47.91 Y+I1/Zg80.net
自分も分離と利用を分けるかな。
こんな感じ。
URLリンク(dotnetfiddle.net)
95:デフォルトの名無しさん
21/12/18 14:04:14.85 GkRVZLhXa.net
>>86
その例なら単純にdata[]を昇順にソートしてから
var i = 0;
Console.Write("0以上50未満:");
for (; data[i] < 50 && data[i] >= 0; i++) { ... }
Console.Write("50以上80未満:");
for (; data[i] < 80 && data[i] >= 50; i++) { ... }
とかでいいんじゃないの?
96:デフォルトの名無しさん
21/12/18 14:32:27.17 iUN/Cy1s0.net
>>90
disposeでrollbackするのはConnectionじゃなくてTransactionだと思う
いずれにしても動かなくなるのは使う側の問題だね
97:デフォルトの名無しさん
21/12/18 14:56:48.68 yfxR8FS90.net
>>90
正確には、コミットしたあと、何もない処理をロールバックするんじゃないかな
実質何もしないのと同じ
未コミットあるかないか確認するのが丁寧ではあるだろうけど
なんにせよIDisposableなDB接続クラスを未コミットでDisposeするのは使い方が悪いわ
98:デフォルトの名無しさん
21/12/18 18:11:55.26 iUN/Cy1s0.net
>>95
うー、俺が間違ってたわ
URLリンク(docs.microsoft.com)
99:デフォルトの名無しさん
21/12/18 22:12:35.26 4kEqj5670.net
ここってスキル高そうな人いるみたいだけど、以下でランキング入りできますか?
paiza.jp/botchi/ranking
paiza.jp/steins_gate/ranking
paiza.jp/logic_summoner/top/ranking
100:デフォルトの名無しさん
21/12/18 23:03:36.27 rkAxz2WM0.net
色々ありがとうございます、自分に合ったものを探してみたいと思います
101:デフォルトの名無しさん
21/12/19 14:12:33.67 XEu/0Ow00.net
1.jpg
10.jpg
2.jpg
を
1.jpg
2.jpg
10.jpg
のように自然順ソートできるライブラリありませんか?
Windows,Mac,Linuxで動かせるものがほしいです
102:デフォルトの名無しさん
21/12/19 14:34:22.80 O/qDX0wZ0.net
ライブラリはないと思うよ
君の言う自然順の定義が適当すぎるからね
103:デフォルトの名無しさん
21/12/19 14:37:18.67 pYj8pB6Ua.net
>>100
古い記事だけど参考まで
今は標準で実装されてるかも
URLリンク(wiki.dobon.net)
104:デフォルトの名無しさん
21/12/19 14:38:55.11 n0pWJPWXa.net
nugetとかgoogleで「natural sort」
105:デフォルトの名無しさん
21/12/19 14:48:02.86 wbja7KXrM.net
漢数字やローマ数字は?
全角は?
106:デフォルトの名無しさん
21/12/19 15:12:30.82 n0pWJPWXa.net
全角ぐらいならnatural sortにCompareOptions.IgnoreWidth渡せばできる
漢字はやりたきゃ自分でやるか日本語対応のを探すしかないだろうな
107:デフォルトの名無しさん
21/12/19 15:24:46.95 JBr0bC1G0.net
漢数字やローマ数字対応してもICompareを実装するのにおそらく10分。
108:デフォルトの名無しさん
21/12/19 16:12:08.38 3MHXzmFiM.net
こういう手合いは追加要件が出てくるのが基本だから最後には自分で実装しろって回答になってるはず
109:デフォルトの名無しさん
21/12/19 16:56:47.20 EE70Ra2ja.net
なんか頭おかしい奴が大量に湧いてるけど、少なくとも2000年代の前半には
「自然順ソート」という概念はあった。
何が「こういう手合い」だバカw
ウンコはお前の方だろ。
110:デフォルトの名無しさん
21/12/19 17:14:52.86 kxTQmf/60.net
なるほど。
URLリンク(ja.wikipedia.org)自然順
111:デフォルトの名無しさん
21/12/19 17:29:08.07 n0pWJPWXa.net
"2.jpg" "123.jpg" "500.jpg" "百日紅(さるすべりの花).jpg" "百.jpg"
用途によっては漢数字も数字としてソートしたい場合もある
今回は漢数字不要だろうけど、「こういう手合い」になることは多い
112:デフォルトの名無しさん
21/12/19 17:50:05.64 TLyD+52gd.net
ソート順って問題になることが多いからな
特に日本語は色んな文字を使うので厄介
カナとか漢字あたりの動作がめちゃくちゃでいいならライブラリなんていくらでも見つかるだろうけど後からケチ付けられないようにしとくのは大事
113:デフォルトの名無しさん
21/12/20 05:46:43.82 3MMk62pZa.net
タブコントロールの色ってフォームのデザイナーから変えられないの?
114:デフォルトの名無しさん
21/12/20 10:32:55.78 f5rUAgGLd.net
職場でcsc.exe使ってフォームアプリつくろうと思ったけど
コマンドプロンプト自体制限されてて使えなかったなり
115:デフォルトの名無しさん
21/12/20 14:19:05.77 qyvCBTAG0.net
csc.exeのショートカット作って、
プロパティでオプションやソースファイル指定するとか
116:デフォルトの名無しさん
21/12/20 14:20:33.92 zxhyAyTl0.net
自然順ソートっ標準で搭載されている言語って結構少なかったんですね
PHPから入ったので当たり前に貼るものだと思ってました
頂いた情報で組んでみます
117:デフォルトの名無しさん
21/12/20 14:24:01.64 wYqxvWvia.net
chartコントロールについてですが、折線グラフを使用したときにデータポイント間の線上の任意のX位置を取得してその箇所のY値を取得することは可能でしょうか
118:デフォルトの名無しさん
21/12/20 14:26:28.21 BkeSeNUYa.net
線の中にPoints[]があってそこにXValueとYValueがあるからそれ読めばいい
119:デフォルトの名無しさん
21/12/20 14:35:19.70 /nEC48Zya.net
>>117
ありがとうございます
ちょっと試してみます
120:デフォルトの名無しさん
21/12/20 14:39:36.28 I6RlAoqPa.net
116の人が聞いてるのはいわゆる「内挿」ってやつのことだと思うけど、
そんな気の利いた機能がchartについてるかな。
使ったことないから知らんけどついてないと思うw
121:デフォルトの名無しさん
21/12/20 14:49:56.05 BkeSeNUYa.net
ああ、そういう意味か。それはないな
読めるのは追加した点だけ
122:デフォルトの名無しさん
21/12/20 15:38:01.47 EVpX0LdIa.net
>>116です
そうですか。。できませんか
では取得した位置の近いほうのデータを使うことにします
ありがとうございました
123:デフォルトの名無しさん
21/12/20 15:58:56.17 hpQP1bPDd.net
>>113
powershell使えば
124:デフォルトの名無しさん
21/12/20 17:33:26.35 I6RlAoqPa.net
>>121
でも求め方は中一レベルの数学だから難しくないでしょ
125:デフォルトの名無しさん
21/12/20 18:59:07.12 /usP9Uara.net
>>123
あっ。そうですね。2点のXYデータがわかるわけだから折線だったら計算でだせますね。ありがとうございます
すみませんがもう1点だけ質問いいでしょうか
グラフの拡大縮小をしたときにX軸にスクロールバーがでると思いますが、それを元の表示に戻したいときにスクロールバーの横の小さいボタンを押すと戻りますが、これを自前のボタンイベントで実装するにはどうしたらいいでしょうか
126:デフォルトの名無しさん
21/12/20 19:19:36.55 I6RlAoqPa.net
>>124
AxisScaleView.ZoomReset ?
使ったことないのであってるかどうか知らない。
127:デフォルトの名無しさん
21/12/20 22:05:52.14 4d89Imwra.net
>>125
ありがとうございます!
期待通りの動きが確認できました
128:デフォルトの名無しさん
21/12/21 19:30:29.17 smn5oieg0.net
海外の12歳の少女が、NFTで1億8000万円を稼ぐ
12歳のナイラ・ヘイズ氏のNFT(※)コレクションが、数時間で160万ドル(約1億8000万円)
を稼ぎ出したと、米メディアの『Business Insider』が報じている。
ヘイズ氏は4歳で絵を描き
129:始め、9歳のときにスマートフォンを使って彼女の代表作 「Long Neckie Ladies」を描いたという。このシリーズは3333点からなる、首の長い 多種多様な女性を描いたコレクションだ。出品後わずか数時間で売り切れとなり、 総額は約1億8000万円にのぼるという。 「アートは私が自分自身を表現し、言葉では不可能なやり方で人々を 驚かせるのためのもの」と述べている。 これまでにヘイズ氏は、NFTで1394ETH(約6億6000万円)を稼ぎ出してきた。 若きアーティストのさらなる活躍に期待しよう。
130:デフォルトの名無しさん
21/12/21 20:26:03.81 A1/tNWXn0.net
>>127
マネーロンダリング定期
131:デフォルトの名無しさん
21/12/21 23:18:04.09 F5aAVbmG0.net
c# winForms webView2
Form1にウェブビューとボタンを配置しました。
表示したwebサイトの方のボタンを、コードで指定して押させたいんだけどできますか?
(フォームに配置したボタンを押すと、HTMLの方のボタンが押される)
132:デフォルトの名無しさん
21/12/22 00:11:20.30 jK1jR4AH0.net
できます
133:デフォルトの名無しさん
21/12/22 00:15:56.40 3dt5vZu90.net
ありがと!
お手数おかけしますがどなたか教えてください
134:デフォルトの名無しさん
21/12/22 00:20:23.33 3dt5vZu90.net
>>129ですが
実装の仕方を知りたいです...
135:デフォルトの名無しさん
21/12/22 00:31:14.60 b3HiuJNda.net
form上のボタン押したら、web上のボタンを押すためのjavascriptをwebview2に突っ込む
詳しくは WebView2.ExecuteScriptAsync をぐぐれば出てくる
136:デフォルトの名無しさん
21/12/22 08:04:47.48 UZclHfmg0.net
JavaのSpringフレームワークみたいにウェブサービス関係を学ぶにはASP.netでいいのですか?
net coreとかnet6とか用語が新しくできてASP.NETは廃止されたりしてませんか?
137:デフォルトの名無しさん
21/12/22 12:23:03.79 Af2fhJsR0.net
>>134
されてません
138:デフォルトの名無しさん
21/12/22 12:47:15.14 xFuE7Z410.net
>>134
今ならASP.net coreですね
139:デフォルトの名無しさん
21/12/22 13:17:51.59 UZclHfmg0.net
>> 135 >>136
ありがとう。
140:デフォルトの名無しさん
21/12/22 16:32:03.68 Gb4RQ3pz0.net
.NET 6 のASP.NET Core Web Apiでの質問です。
[ApiController]
[Route("[controller]")]
public class UserController : ControllerBase
{
private readonly ILogger<UserController> _logger;
private readonly IConfiguration _config;
public UserController(ILogger<UserController> logger, IConfiguration config, IBearerTokenValidater bearer)
{
_logger = logger;
_config = config;
}
[HttpGet(Name = "GetUsers")]
public string Get()
{
★ var _ = Request.Headers.TryGetValue("Bearer", out var apiKey);
return apiKey;
}
}
というControllerを作りました。
★の処理を本当はコンストラクタで行いたいのですが、移動すると以下のエラーが出ます。(もしくはもっと前に行いたい)
System.NullReferenceException: 'Object reference not set to an instance of an object.'
Microsoft.AspNetCore.Mvc.ControllerBase.Request.get が null を返しました。
★の処理をコンストラクタ(もしくはもっと前)で行うにはどうすればいいでしょうか。
(コンストラクタではHttpcontextを参照できないのでしょうか。エラーになるのは起動時ではなくRequestで到達した時です。)
141:デフォルトの名無しさん
21/12/22 17:24:08.56 GlBmoaYS0.net
>>138
Requestヘッダにアクセスするユーティリティクラスを作ってそれをDIする
142:。 ちょっとstackoverflow検索すれば出てくると思うが。 https://stackoverflow.com/questions/24024291/web-api-read-header-value-in-controller-constructor まぁAPIキーを調べたいなら、いちいちControllerでやるより StartUpの段階で検証処理を割り込ませておくのが定石だと思うが。
143:デフォルトの名無しさん
21/12/22 19:57:47.15 gZ1M8pW10.net
char[] str = { 'A', 'A', 'A', '\0' };
Span<char> span = str.AsSpan();
char[]型からSpan<char>型へは、AsSpan()を使って取り出せるのですが、
Span<char>型からchar[]型へ、取り出す方法はないのでしょうか?
SpanのToArray()は新しい配列を作ってしまうので、それではないです
144:デフォルトの名無しさん
21/12/22 20:11:28.65 LzRptcUf0.net
List〈staring〉の中に複数四角の座標点が入っていて、四角と四角重なってるものを再計算して重なりがなくなるまで繰り返したいんですが、これは無限ループですよね?
重なった時の再計算方法は別にしてコードの構成ってどうやってやるのか教えて欲しいです。
145:デフォルトの名無しさん
21/12/22 20:18:40.21 epvDktEA0.net
>>141
よくわからないけど
List<Rect>みたいな感じ?
146:デフォルトの名無しさん
21/12/22 20:25:56.04 svF48xPZM.net
>>141
重なりは無くならないのですか?
無くなるのなら無限ではありませんね
147:デフォルトの名無しさん
21/12/22 20:54:43.67 ASx8K7vaa.net
2つの四角が重なってたら最大5つの四角に分割するってことなのかな
こんな関数用意して全組み合わせのstaringが分割しなくなるまでぶんまわす
List<staring> 分割処理(staring a, staring b)
{ (aとbが重なってたら分割して返す)}
148:sage
21/12/22 21:36:42.01 3dt5vZu90.net
>>133
ありがとうございます
149:デフォルトの名無しさん
21/12/22 22:51:01.68 LzRptcUf0.net
携帯なので伝わるかあれですが、まず元リスト(oLst)を
昇順に並び替えた上で下記のループを通すと1個に対して1個の重なりに関しては問題ないんですけど、2個3個と重なるともちろん無理なんですけど、、、、
======================
for oLst ループ
※数値変数格納
if nLst.Countが0はoLst[i]をadd
else
for nLstのloop
※数値変数格納
※oLst変数とnLst変数で重なり計算
計算結果でnLst書き換え、追加
======================
150:デフォルトの名無しさん
21/12/22 23:11:35.00 jK1jR4AH0.net
ロジック(頭)の問題だからスレチ
151:デフォルトの名無しさん
21/12/23 00:31:07.80 OWAFmQuW0.net
重なってたらどうするん?
重なってたら重ならないように移動って処理なら無限ループありえるよ
そもそも与えられた領域に対して四角形の面積のが大きかったらどう処理しようが重ならないようにするのは不可能でしょ
152:デフォルトの名無しさん
21/12/23 01:52:30.77 xiJKAqfg0.net
質問者c#使う気ナッシングでワロタ
153:デフォルトの名無しさん
21/12/23 06:06:41.21 9nVKwS0QM.net
学校の課題が出る季節なのか?
154:デフォルトの名無しさん
21/12/23 09:21:59.12 QC2UxaCs0.net
>>139
返信ありがとうございます。
やっぱりどこかで取ってからDIしたほうがいいですよね
.NET 5 まではStartupでいろいろやってたんですが、
.NET 6 のASP.NET Core WebだとStartup.cs自体やConfigure周りがないんですよね・・・
(少なくともプロジェクト作成時点で)
なので起動後、URLアクセス時点でコントローラに直に行ってるように見えます・・
.NET 6のググラビリティもそんな良くないですが、
DI自体はbuilder.Services.AddTransientあたりでできているので、そっちで出来ないか、
最悪はStartupを自作出来ないかまた調べてみます!
155:デフォルトの名無しさん
21/12/23 09:47:09.94 lsirm1I00.net
>>140
君はspanの実態がchar[] strと知ってるかもしれないけど言語側からはそんなこと分からないからそれは無理だね
char[]含めマネージ型はアンセーフな方法で作る事は不可能なので、もしそのspanの実態がstackallocとかだとしたら大変な事になるし
どうしてもやりたいならMemory<T>を使えばできる
156:デフォルトの名無しさん
21/12/23 14:18:00.17 D5zS0GJt0.net
>>151
.NET6でもStartupがC#9.0のトップレベル構文に変わってProgram.csに組み込まれただけでしょ?
例えばJWTならProgram.csで以下のように検証処理を登録可能じゃないのかな
using (var serviceScope = app.Services.CreateScope())
{
services.AddAuthentication( JwtBearerDefaults.AuthenticationScheme ).AddJwtBearer( options => ほげほげ);
};
でservice取得して.NET5以前のConfigureServices相当の処理が出来ると思うが。
(というか出来ないと困るw)
157:デフォルトの名無しさん
21/12/23 14:20:58.23 D5zS0GJt0.net
services取得する文が抜けてた失礼
using (var serviceScope = app.Services.CreateScope())
{
var services = serviceScope.ServiceProvider;
services.AddAuthentication( JwtBearerDefaults.AuthenticationScheme ).AddJwtBearer( options => ほげほげ);
};
158:デフォルトの名無しさん
21/12/23 16:52:51.25 QC2UxaCs0.net
>>153
ありがとうございました。
コードまで書いてもらってすみません。
Jwtでのやりかたは
URLリンク(www.c-sharpcorner.com)
のやりかたで出来ました(サービスのDIみたいな。staticですが)
ですが今回は、JWTでなく独自のランダム文字列で、DBで検証したいと思っています。
AddAuthenticationは参考になりました!
.NET 5 ではAuthenticationHandlerを継承しHandleAuthenticateAsyncをオーバーライドしてrequestを処理してました。。
いまだにHttpContextをコンストラクタ前に参照するやり方がわかりませんが、悩んでみます。
しかし、requestHeaderを全URLでDBで解析したいってだけなので、本来複雑になるのもおかしいんですよね・・・
FilterもちょっとアレですしJwtにしても複雑になっててちょっとな・・・
159:デフォルトの名無しさん
21/12/23 17:22:50.07 ZRc9iK9X0.net
>>152
なるほどです、ご解説ありがとうございます
Memory<T>の方も調べてみます
160:デフォルトの名無しさん
21/12/24 13:32:10.30 XCrVpQjR0.net
オブジェクトをバイナリで直列化するにゃ結局どうすりゃええんじゃ。
binaryFormatterはASPじゃ使えんし、nugetで見つけたBinarySerializerも
すぐ無限ループで止まるし遅いしで使えなさそう。
JsonSerializer感覚で使えるバイナリのシリアライザは無いんか……
161:デフォルトの名無しさん
21/12/24 14:34:05.08 dgPpP4/Qa.net
バイナリであることに意味があるとは思えないので(だって全てはバイナリだから)
要するに吐き出すサイスが小さい and/or 高速であればいいんだよね?
いや答えは持ってないけどw
162:デフォルトの名無しさん
21/12/24 14:52:18.99 QunxCEetM.net
MSは廃止されたWCFの代替としてgrpcを推奨してるから、バイナリ形式のシリアライザはprotobufでいいんじゃね
163:デフォルトの名無しさん
21/12/24 16:56:42.12 XCrVpQjR0.net
>>158
せや。今ワイは差分データを管理してオブジェクトグラフの去就を眺められるようなアプリを作っとるんやが、
バイナリにすりゃ20バイトのデータがJsonを経由すると5倍とかに膨れてまうんや。
そんだけ差があると1000オブジェクトの各1000差分で100MBとか差が出ちまうわけで。
ここをもっと高圧縮+高速展開できるフォーマットにしたいんや。
164:デフォルトの名無しさん
21/12/24 16:58:00.07 hnRiR98X0.net
し、し・・・尻洗い座
165:デフォルトの名無しさん
21/12/24 16:59:17.78 dl4nCBdHa.net
あのclassもこのclassもなんでもかんでもシリアライズしたいんだ、じゃなくて特定のデータか
ならbinarywriterで十分だろ
というか、binaryformatterよりもはるかにいいだろ
166:デフォルトの名無しさん
21/12/24 17:03:08.03 XCrVpQjR0.net
binaryWriterでやりくりするにもインスタンスが持ってる別のオブジェクトの参照をどうするか問題が面倒すぎるやろ。
binaryFormatterならその辺はスルーできるわけで。
167:デフォルトの名無しさん
21/12/24 18:37:43.23 7pq3d27z0.net
>>163
MessagePack for C#
168:デフォルトの名無しさん
21/12/25 11:18:28.56 /ADmtxYCd.net
フォームにいろいろ書き込んだ内容を印刷したんですけど、フォーム直印刷だとリストビューとかあるので見きらないんで、なんかいい方法ないですか?
Excelに貼るとかですかね?
169:デフォルトの名無しさん
21/12/25 13:13:26.63 R3AeJQpZ0.net
>>160
速度、データサイズ共に最高な汎用シリアライズフォーマットはGoogleが開発したProtocol Buffers
170:デフォルトの名無しさん
21/12/25 15:24:03.77 sZ4+jXNJ0.net
>>161
パナソニックがお勧め。
171:デフォルトの名無しさん
21/12/25 16:31:25.59 lta8bYVGa.net
>>165
GDI+の印刷は多少面倒くさいけど別に難しくはない。
好きなように自分で実装するのが一番じゃないの?
172:デフォルトの名無しさん
21/12/25 18:32:48.38 R611sM/xr.net
WinFormsのデスクトップアプリ開発でデスクトップアプリ内に組み込むデータベースはSQLiteしかないですか?
むしろSQLiteが最適ですかね?
173:デフォルトの名無しさん
21/12/25 18:57:35.10 uQo3kTST0.net
>>169
accessのファイル形式のmdbとかaccdbとか
174:デフォルトの名無しさん
21/12/25 19:33:35.62 bx014roB0.net
>>169
LiteDBもSQLiteと同じシングルファイルだから運用楽でオススメ
175:デフォルトの名無しさん
21/12/25 19:57:51.53 R611sM/xr.net
>>170
>>171
ありがとうございます!
その後調べてSQLiteが定番っぽいですね
信頼性と速度も速いですし
176:デフォルトの名無しさん
21/12/25 20:10:02.35 /fiswOOz0.net
>>172
馬鹿って人の言うことに耳を傾けないから馬鹿なんだよな
177:デフォルトの名無しさん
21/12/25 20:37:46.29 gvd3przGa.net
こいつが部下だったらちょっとキレるかもしれんw
178:デフォルトの名無しさん
21/12/25 20:42:32.18 5ppS8Aaq0.net
理系ってバカ文系にいくら説明しても無駄だと散々経験してるから無視するよね。
179:デフォルトの名無しさん
21/12/25 20:43:40.19 Ba+2nHZ/a.net
litedbとかaccessよりsqliteの方がよほどいいからな。注意しないと激遅だけど
180:デフォルトの名無しさん
21/12/25 20:46:17.70 R611sM/xr.net
>>173
なんか変なこと言いました?
教えてくれた4つを調べて比較したんですが
181:デフォルトの名無しさん
21/12/25 20:48:41.15 FMuPTmPe0.net
redisを使うのです
182:デフォルトの名無しさん
21/12/25 21:00:27.06 5ppS8Aaq0.net
正直、褒めてるのかディスってるのか分からないレスだよな。
183:デフォルトの名無しさん
21/12/25 21:00:28.06 KekUyy+Z0.net
信頼性いうならSQL Server LocalDBじゃないの
184:デフォルトの名無しさん
21/12/25 21:21:27.23 PUQlITfY0.net
>>180
それ組み込みDBじゃないから
SQL-Server Compact Edtion はまだ提供されてるけど開発止まっちゃてるしねぇ
185:デフォルトの名無しさん
21/12/26 11:01:59.91 bwDwv7pP0.net
ブラウザとか、たいていのアプリは、SQLite
186:デフォルトの名無しさん
21/12/26 11:39:00.73 /Mcnum8Y0.net
アプリの設定の保存に便利とか?
187:デフォルトの名無しさん
21/12/26 11:43:30.10 Ep2AbKxF0.net
そもそもVisual Studio自体がSQLite使ってるし
URLリンク(qiita.com)
188:デフォルトの名無しさん
21/12/26 11:50:44.60 /Mcnum8Y0.net
そういえばATOKのジャストシステムって、内部DBは昔から自社で抱え込んでるだけだっけ?
189:デフォルトの名無しさん
21/12/26 12:01:04.09 +dhDC6900.net
ちなみにSQLiteはWindowsならwinsqlite3.dllとして組み込まれてるから別途dllをダウソする必要なくDllImport("kernel32.dll")と同じ感覚で使える
winsqlite3はstdcallだから尚更何も設定せずに呼べる
逆にオフィシャルsqlite3.dllはcdecl呼びなので注意
まぁ今時ネイティブ呼びなんて一々する奴はおらんか
190:デフォルトの名無しさん
21/12/26 12:35:17.11 CeLvnh/P0.net
個人的にはFirebirdがEmbeddedでもC/Sでも使い方変わらなくてとても扱いやすいけど
まあ誰も使ってないからなあ
191:デフォルトの名無しさん
21/12/26 14:15:59.80 3V1vzGfad.net
>>186
nugetでラッパークラス持ってこればいいだけでしょ
192:デフォルトの名無しさん
21/12/26 18:59:54.98 XSCzp0/m0.net
チキンマックナゲット?
あれバーベキューソース以外はうまくないよね
193:デフォルトの名無しさん
21/12/26 19:19:54.19 0tkG5TaRd.net
>>189
C#er でnuget知らないのはモグリだね
194:デフォルトの名無しさん
21/12/26 19:21:20.78 za+d+iaN0.net
>>189
マスタード結構好きやで
195:デフォルトの名無しさん
21/12/27 09:55:41.47 wVOMt1/ia.net
me too
196:デフォルトの名無しさん
21/12/27 11:45:32.82 vQCGjWOK0.net
マックはやっぱり朝マック
ソーセージマフィンとハッシュポテト最高
197:デフォルトの名無しさん
21/12/27 11:50:50.36 70kYKKIvM.net
ここ1年ぐらいで急に最近もの忘れが増えた
なんでだろう
カルボナーラのレシピ間違えて大失敗
(´Д`)ハァ…
198:デフォルトの名無しさん
21/12/27 23:31:50.52 j+U+mLOY0.net
>>194
シチューじゃないんだけど
シチューでも美味しいだろ?w
199:デフォルトの名無しさん
21/12/28 03:27:40.46 fTNrE9qna.net
キャラメルみたいな奴:それはヌガーや
Xファイルの...:それはドゲットや
>>194
フルスクラッチで作らんでもレトルトで十分おいしいねw
ベーコンとブラックペッパーを足せば
200:デフォルトの名無しさん
21/12/28 14:41:54.41 KhNUA+lU0.net
.Net 6 を利用してlinuxで開発することは不可能ですか?
ほとんどWindowsの記事しかないのですが、できないと考えていいでしょうか?
201:デフォルトの名無しさん
21/12/28 14:42:14.18 KhNUA+lU0.net
.Net 6 を利用してGUIソフトをlinuxで開発することは不可能ですか?
ほとんどWindowsの記事しかないのですが、できないと考えていいでしょうか?
202:デフォルトの名無しさん
21/12/28 15:07:47.70 x0tKn+Lqa.net
.net6はlinux対応してるし、linux対応のvscodeなんかもあるから十分linux完結でできるだろ
やったことないからどんなトラブル起きるか知らないけど
203:デフォルトの名無しさん
21/12/28 15:48:12.29 nNq9VLvH0.net
コンソールとかならできると思うけど、GUIはどうなんだろう?
Xamarin.Formsとかでいけるんかね?
204:デフォルトの名無しさん
21/12/28 16:09:42.66 onzdS06W0.net
unoというUWPアプリを作ると、スマホやリナックス、webに翻訳してくれるソリューションがあるな
205:デフォルトの名無しさん
21/12/28 16:26:15.60 I0zktY0qM.net
AvaroniaUIってどうなったんだ
マイナーすぎて消えた?
XAMLじゃ流行らんよな。。。
206:デフォルトの名無しさん
21/12/28 16:29:45.08 x0tKn+Lqa.net
mauiすら忘れ去られてる感じだな
207:デフォルトの名無しさん
21/12/28 16:39:43.27 X7A0KCITM.net
XamlもBlazorも微妙なんでXMLリテラル導入してJSXパクってCSXとかやれば良いのに
208:デフォルトの名無しさん
21/12/29 00:23:49.09 CdP0np+t0.net
>>202
最近 git credential manager で採用されたから君も実は使ってるんじゃない?
209:デフォルトの名無しさん
21/12/29 00:52:47.99 O0eaohY80.net
guiはラズパイでwinformが起動はしたけどちょっと動かしただけでアレがねーコレがねーでコケまくったので諦めた
コンソールアプリはサーバ用途でcから置き換えたりと普通に使ってる
210:デフォルトの名無しさん
21/12/29 10:57:21.23 BXs4L8uGr.net
なんでGUIって一向に解決しないんだろ
WinFormsがゴミだったからIEObjectかなんかでブラウザ表示させてそこにhtmlとcssのGUIをつくったことあったけどそれも手間で微妙だった
211:デフォルトの名無しさん
21/12/29 11:23:01.28 8IhoLKLed.net
>>207
MS的には既にツール系はElectron、業務系はWebで解決してるからだよ
本気でWinUIが成功するとか社内でも誰も信じてなさそう
212:デフォルトの名無しさん
21/12/29 12:23:55.88 Ra2a7YlyM.net
エレクトロンは遅いからなー
見た目もそこそこで速くて開発が楽なフレームワークならまだ需要あると思うけど
213:デフォルトの名無しさん
21/12/29 12:34:02.62 YT6dcuk4a.net
一時期はGUIアプリのuiをwebにするの流行ったけどそれも消えたな
結局素のwinformで十分
マルチプラットフォームでのGUIアプリはそもそも需要がない
214:デフォルトの名無しさん
21/12/29 13:49:36.52 FEkVVVGta.net
15年以上迷走してる最大の原因はたぶん大企業病だね
バルマーさんが「デベロッパー」連呼しなくなった頃でもあるよね
あと、ラピッドリリース的なアメリカ人好みの「ノリ」もよくない。
使えねーから利用者が増えず利用者が増えないから~の悪循環の原因になってる。
たまたまC#と.NETは割とうまくいったけど他はだいたいこれで消えてるよね
215:デフォルトの名無しさん
21/12/29 15:42:21.72 CdP0np+t0.net
>>208
TeamsはElectronを捨ててWebview2に移行したし、MSはそういう流れだよ
216:デフォルトの名無しさん
21/12/29 17:53:05.01 BXs4L8uGr.net
GUIはWebでいいから裏はc#ってのはないの?
Electron.Netってあったみたいだがどういうのかは知らん
217:デフォルトの名無しさん
21/12/29 18:55:45.23 CdP0np+t0.net
>>213
Webview2
218:デフォルトの名無しさん
21/12/29 19:14:43.10 BXs4L8uGr.net
>>214
ガワはWinforms、フロントGUIはWebView2でReact、裏側はc#って可能?
219:デフォルトの名無しさん
21/12/29 19:21:08.49 CdP0np+t0.net
>>215
できるよー
URLリンク(itnext.io)
220:デフォルトの名無しさん
21/12/29 20:00:49.32 BXs4L8uGr.net
>>216
ありがとう!
素晴らしすぎる!
これで長年求めていたものがすべて作れそうだ
221:デフォルトの名無しさん
21/12/29 20:52:17.04 Nt8x11Lh0.net
間違いなく理解力しとらんだろうな
222:デフォルトの名無しさん
21/12/29 22:09:38.99 1mZddh0b0.net
MSはwinformsをブラッシュアップするだけでいいのに
他のことに気を取られてばかり
223:デフォルトの名無しさん
21/12/29 22:54:54.27 BXs4L8uGr.net
>>218
よく読んだらちょっと違うかも
実行環境にわざわざNode.jsをインストールしないといけない時点でElectronより面倒
あとバックエンドがc#ならNodeはなんのために入れるんだ?
224:デフォルトの名無しさん
21/12/29 23:14:59.32 wkYL84Sf0.net
>>220
そんなもの要らんだろ。
create-react-appで作ったアプリをそのまま実行する気なの?
いわゆるガワネイティブにするならaspnetcoreを使う必要も無い。
225:デフォルトの名無しさん
21/12/29 23:31:22.38 qvydRR790.net
>>210
消えてない消えてない
BADUSBがあるからUSB経由でデータが持って来れないから
WEB画面でデータ登録させるのは現役よ
ルータ設定みたいな画面出る
226:デフォルトの名無しさん
21/12/29 23:32:05.16 a/yruJDS0.net
>>221
バックエンドはC#で書きたいという要件なんだからそんなこと言っても意味ない
227:デフォルトの名無しさん
21/12/30 00:18:07.99 bIp4jvLE0.net
>>223
別にasp.net coreで受けんでもC#のメソッドとWebView2内のJavaScriptのinteropはできる。
228:デフォルトの名無しさん
21/12/30 00:41:07.70 zcLz16Vn0.net
>>224
そういうことじゃなくてサーバーサイドのDB処理などのビジネスロジックをC#で書きたいとか普通にある要望だろ
229:デフォルトの名無しさん
21/12/30 00:57:41.55 aPDyoOjbr.net
あーすまんやっぱできそうだね
URLリンク(qiita.com)
>>225
そうそう
バックエンドはc#でフロントはjs + React + bootstrapなどのcssフレームワークがいい
別にNode.jsでもいいんだがそれだともはやElectronになってしまうしこのスレ的に意味がない
とにかくWinFormsだとGUIが限界だしかといって今更wpfやuwpは使いたくない
230:デフォルトの名無しさん
21/12/30 03:45:43.54 bIp4jvLE0.net
あ、これはすまん、完全に誤解してたわ。
231:デフォルトの名無しさん
21/12/30 05:11:02.37 X93R+eJ50.net
いいってことよ
232:デフォルトの名無しさん
21/12/30 05:24:01.14 ULSEZSm40.net
優しい世界
233:デフォルトの名無しさん
21/12/30 14:43:07.83 SV8D0i0R0.net
ツールバーはアイコン集めと選択が面倒で好きじゃない
234:デフォルトの名無しさん
21/12/30 15:52:58.20 bIp4jvLE0.net
しかしWebView2、割と良いな。
XamarinのWebViewもEdgeベースになってるので、ガワネティブはホントに捗るかも。
235:デフォルトの名無しさん
21/12/30 18:29:16.67 fY9tDQGH0.net
WebView2ってhtmlやcss、javascriptの知識が必須でしょ?
一から覚えるのは少し敷居が高すぎるんだよなぁ
236:デフォルトの名無しさん
21/12/30 19:10:45.85 X93R+eJ50.net
cssはなくてもええんやで
237:デフォルトの名無しさん
21/12/30 19:31:49.55 5ETdhzffr.net
htmlやcssやったことがないならムリだろうね
俺は25年くらいやってるからむしろ何も考えずに作れる
238:デフォルトの名無しさん
21/12/30 19:34:16.23 bIp4jvLE0.net
>>232
XAMLで日本地図書いてホクホクしてた連中にとっては割と朝飯前だと思うぞ。
239:デフォルトの名無しさん
21/12/30 20:30:29.11 Q51k9VIp0.net
どっちにしても今時htmlとjsは避けて通れないやろ
スクレイピングツールの一つや二つは作るだろうし
240:デフォルトの名無しさん
21/12/30 20:32:40.49 JgkxYzDs0.net
bootstrap5は使えないの?
241:デフォルトの名無しさん
21/12/30 20:41:45.42 eW25y3/J0.net
表 html css javascript
裏 C#
で開発するのって効率的なのか?
242:デフォルトの名無しさん
21/12/30 20:46:42.24 Zu0xfojoM.net
フロント開発はReactが多分ベストなんで仕方なくJSかAltJSを使います
バックエンドは強い制約がないので好きな言語を使えばいいでしょう
そして自由に選べるならC#より快適な言語なんてありません
243:デフォルトの名無しさん
21/12/30 20:47:53.26 QTRHqfCgM.net
>>238
まあ開発効率はともかく、今更XAML系のゴミを覚えるよりはスキルの価値を加味すればマシなんじゃないかな
JSに慣れたらそのうち裏もTypeScriptで書きたくなるだろうけど
244:デフォルトの名無しさん
21/12/30 20:53:16.32 eW25y3/J0.net
時代遅れのWindowsフォームからそろそろ逃げ出す先がほしいってことだよね
Web技術が好きならReact Native for Windows + macOSが選択肢になるんじゃないかな
245:デフォルトの名無しさん
21/12/30 23:12:19.19 ULSEZSm40.net
c#スレですよ
c#で積み上げたライブラリを別言語で書き直すのヤダ!派に救いの手を
246:デフォルトの名無しさん
21/12/31 00:36:27.02 geAImU1qr.net
>>238
リッチなGUIにしたいときだけかな
247:デフォルトの名無しさん
21/12/31 03:13:26.16 AHpR20H50.net
何年か前からだけどC#は目的がはっきりしてる人が使う言語になった感じがする
スキルの価値とか気にする人には全く向かない
システムプログラミング用の言語とスクリプト言語だけあればいい世界になってきた感じ
C#のような立ち位置の言語の利用シーンが広がっていくことはないのではないだろうか
248:デフォルトの名無しさん
21/12/31 03:41:36.53 ScgFuRuP0.net
何故そう思ったのかわからん
全然ピンとこない
249:デフォルトの名無しさん
21/12/31 09:41:30.53 ApQoIWIb0.net
>>238
いずれWebでやる前提ならいいけど、スタンドアロンで動かすだけなのに
わざわざそんな構成にするのは手間が増えるだけだな。
250:デフォルトの名無しさん
21/12/31 09:45:47.30 1BOJjA0/0.net
>>246
スタンドアロンの話はしてないだろ
251:デフォルトの名無しさん
21/12/31 09:48:56.35 XRzC6nSy0.net
スタンドアロンの話だろ
252:デフォルトの名無しさん
21/12/31 09:50:52.09 i/j6j8jEa.net
角が丸い四角や吹き出しや、そういうのGUIを純粋なC#で作るの面倒なんだよ
そういうときにhtml/css/javascript使うと簡単に作れる。スタンドアロンでもそういう構成にすると手間が減るんだよ
俺は手間かけてc#でやる方が好きだけど。html使いだすとソースがごちゃごちゃして最悪だしオーバーヘッドも大きいから
253:デフォルトの名無しさん
21/12/31 10:03:43.42 xJV3dJ+lM.net
URLリンク(zenn.dev)
これはどう?
254:デフォルトの名無しさん
21/12/31 10:54:23.68 7PtxpeiFr.net
>>250
良さげ!
255:デフォルトの名無しさん
21/12/31 13:24:39.29 FNrpfdyG0.net
>>246
手間が増えるだけか?
俺は楽だけどな、この方法。
256:デフォルトの名無しさん
21/12/31 14:04:55.17 i4wD88hA0.net
WinFormsで何の問題もない
257:デフォルトの名無しさん
21/12/31 14:36:27.18 e+iXUqyka.net
>>249
それはちょっと変な話で、自分の手でゼロベースで作るなら
C#の方がはるかに簡単で可読性も高いと思うw
258:デフォルトの名無しさん
21/12/31 14:43:15.34 e+iXUqyka.net
>>252
こういう話は「コードは書く物だ(つまり書いたら終わり)」
と思ってる人と「コードは読む物だ(つまり他人に理解しやすくなければ無意味)」
と思ってる人で意見が割れるw
259:デフォルトの名無しさん
21/12/31 14:52:08.44 AHpR20H50.net
コードで角を丸くするのってそんな大変だったっけ・・・
260:デフォルトの名無しさん
21/12/31 15:02:56.34 PZrDxaJGa.net
角丸めるだけなら簡単だなw
でも丸めるだけだとダサいだろ。そういうデザインのことだよ
261:デフォルトの名無しさん
21/12/31 15:04:09.93 ONP3ZHucM.net
こういうビジュアルデザインの実装に対する方法論って、ガチのWeb開発をやったことがある奴とない奴とでは話が通じにくいんだよね
この線とこの線は何ptの太さで間に何ptの隙間があって色は#aaff12でとか指定されるんだぞ
262:デフォルトの名無しさん
21/12/31 15:13:44.40 +14EUf560.net
やっつけ専用言語にデザインこだわってもなぁ。
263:デフォルトの名無しさん
21/12/31 15:42:51.31 ApQoIWIb0.net
そもそも、一貫したUIガイドラインに沿うべきGUIと、それぞれのサイトで独自色を出したいWebの方法論って
かなり方向性がq違うからあまり混ぜないでほしいがなぁ。
264:デフォルトの名無しさん
21/12/31 15:43:49.86 2Zk/vij+0.net
混ぜたのはマイクロソフトでは?
265:デフォルトの名無しさん
21/12/31 15:45:01.75 AHpR20H50.net
>>258
その程度なら普通にできない?
266:デフォルトの名無しさん
21/12/31 15:52:24.59 2Zk/vij+0.net
今年は厚生労働省が「マスクの供給は十分です」と発表したのでマスク買い溜めて、厚生労働省が「トイレットペーパーは無くなりません」と発表したので即座にトイレットペーパー買いだめしたので、一年中ウンコできたわ。
来年もこの調子で厚生労働省の流すデマに惑わされないよう生きようと思います。
267:デフォルトの名無しさん
21/12/31 16:13:21.59 ONP3ZHucM.net
>>262
できるかできないかで言えばそりゃできるだろうね
今日の折込チラシのうちで一番凝ったデザインのものを完全再現した画面を作るのを想像してみ
で作って見せたらここの角はやっぱり丸くしないとか影付けて強調したいとか変更が入るんだよ
WinFormsだと技術的に対応しにくい例をあげるとすれば、例えばテキストボックスを角丸にしたとして、
統一感を持たせるためにその隣りにあるボタンも同様のデザインにしたくなったとする
こういうのはCSSなら一瞬だけど、WinFormsなら一大事だよね
268:デフォルトの名無しさん
21/12/31 16:14:58.78 FNrpfdyG0.net
>>255
これはわかる。
俺はロジックではない部分は積極的に外に出してしまいたいし、誰でもできるようにしておきたいなと思う。
そういう部分で、HTML+CSSでテンプレート作るのは滅茶苦茶ラクだよなぁって思ってる。
角丸ぐらいだったら良いんだけど、みんな無茶言ってくるからな。
269:デフォルトの名無しさん
21/12/31 16:16:21.80 2Zk/vij+0.net
その程度なら問題なくない?
270:デフォルトの名無しさん
21/12/31 16:17:05.46 2Zk/vij+0.net
カレーは飲み物って人は?
271:デフォルトの名無しさん
21/12/31 16:30:43.26 ApQoIWIb0.net
>>252
まずC#とJSの2つの言語を使うってだけでもディスアドバンテージでかいと思うがな。
デバッグやテストも手間が増えそうに思うけど、UIフレームワークは何を使って?
272:デフォルトの名無しさん
21/12/31 16:47:15.22 AHpR20H50.net
まだ時代遅れのWinForms使ってる人いたのか
あれはデザイン性やUXを捨てたものしか作れないから使わないほうがいい
273:デフォルトの名無しさん
21/12/31 16:56:22.55 4KQ1p4JtM.net
デザイン性www
UXwwwww
274:デフォルトの名無しさん
21/12/31 16:57:44.41 FNrpfdyG0.net
>>268
実のところここは凄く楽になる。
C#側は正しくデータを入出力できる事を確認すれば良い。
JS側(というかHTML側)は与えられたJSONなりを検証して画面を正しく構築して、C#側から何かjsをevalする可能性があるならそれを全てこなせることを確認するだけ。
パキッと分けられるしどちらも自動化できる。
UIのフレームワークは業務ではReact使うことが多いけど、メンツ的な問題で個人的にはガワネイティブにはVueの方が楽だと思ってる。
流行に乗るならSvelteでも良いのでは?
275:デフォルトの名無しさん
21/12/31 17:03:51.48 AHpR20H50.net
HTML以下でしょWinFormsは
276:デフォルトの名無しさん
21/12/31 17:10:31.19 ApQoIWIb0.net
>>271
それってただのWebでは?
俺はC#のGUI(Forms or WPFもWeb(React+express)もやってるけど、デバッグやテストはやっぱり
スタンドアロンのC#の方が楽だと感じている。
それが>>238みたいにGUI側をhtmlにしてもっと楽になるんであればと思って訊いてみたけどどうも違うようだな。
277:デフォルトの名無しさん
21/12/31 17:20:57.32 FNrpfdyG0.net
>>273
UIがWebかどうかなんかあんまり関係ないのでは?
ローカルのリソース使うんだし実際あんま関係ないと思うが。
CordovaやelectronをWebと言うかどうか、みたいな問題に聞こえる。
正直WPF以降であれば、慣れの問題では?と思うけどなぁ。
278:デフォルトの名無しさん
21/12/31 18:17:17.40 ApQoIWIb0.net
定義はどうでもよくて、気になったのはのは実際にFormsやWPFより楽になるのかなんだが。
スタンドアロンアプリの話をしているわけじゃなさそうだからもういいけど。
279:デフォルトの名無しさん
21/12/31 18:37:19.76 CE1IM8E70.net
>>258
むしろそこまでキッチリ指定されてるなら面倒ではあるけど難しくはないだろ
280:デフォルトの名無しさん
21/12/31 19:00:48.11 FNrpfdyG0.net
>>275
スタンドアロンアプリの話してるよ。
ガワネイティブ理解してないだけでは…?
281:デフォルトの名無しさん
21/12/31 19:06:50.70 54dO0PUs0.net
C#で作られたDLLでSafeFileHandleを返す関数があるんだけど
C++で呼び出すラッパーDLLを作ろうと思うんだけどどうするのがベターなんだろうか
ラッパー側でSafeFileHandleを格納するvectorとか作っておいて
Openで格納、Closeで削除するって感じでいいのだろうか
282:デフォルトの名無しさん
21/12/31 19:07:51.75 ApQoIWIb0.net
Svelte使うスタンドアロンアプリってのは興味深い。
283:デフォルトの名無しさん
21/12/31 19:11:37.16 DclmO4XRd.net
>>278
C++/CLIだったら変に集中管理とかしないで普通にRAIIなラッパークラス作ればよくね
284:デフォルトの名無しさん
21/12/31 19:18:48.86 FNrpfdyG0.net
>>279
それ自体は既にある。
WebView2でやるのがちょっと面倒なだけで。
URLリンク(dev.to)
285:デフォルトの名無しさん
21/12/31 20:06:32.82 ApQoIWIb0.net
それでどこまで楽になるのか興味深かったんだが
>WebView2でやるのがちょっと面倒なだけで。
本末転倒やん
286:デフォルトの名無しさん
21/12/31 20:09:14.87 +14EUf560.net
楽なのはVB6、winformあたりが限界で
それ以上何かやろうとしてもどんどん面倒になるだけだな。
287:デフォルトの名無しさん
21/12/31 20:11:29.60 FNrpfdyG0.net
>>282
お前は本当に何も理解してないんだな。
WPFでつくる方がよっぽど面倒なんだよ、そもそも。
BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
デザイナー×制作にでも作れるんだから。
288:デフォルトの名無しさん
21/12/31 20:12:57.99 FNrpfdyG0.net
>>283
MSがあれだけBlendを振り回して叫んでた「デザイナーと技術者で役割分担」という絵空事を解決したのは結局これというね。
289:デフォルトの名無しさん
21/12/31 20:14:09.02 +14EUf560.net
昔はASP案件が多かったから経験ある人はWEBまわりの学習コストが下がるがWPFはね。
290:デフォルトの名無しさん
21/12/31 20:26:28.10 AHpR20H50.net
このスレは能力低い人が多いからWinForms以外をすすめても意味がない
あれしか理解できない
291:デフォルトの名無しさん
21/12/31 20:29:05.37 F5O9+7Cr0.net
WinFormsで事足りる案件をそれ以上でやる意味なんてないからな
292:デフォルトの名無しさん
21/12/31 20:47:01.32 ScgFuRuP0.net
なんかwinformに一族を滅ぼされた人がいるっぽいな
293:デフォルトの名無しさん
21/12/31 20:54:49.37 ApQoIWIb0.net
>WPFでつくる方がよっぽど面倒なんだよ、そもそも。
>BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
つまりhtml+jsの方が楽ってのはこういうふうにカスタムコントロールを作る前提での話なのかい?
それとも、それがなくてもhtmlの方が簡単っていうことなのかい?
こんなふうにどんどん後付け条件が出てくると話が迷走していけない。
294:デフォルトの名無しさん
21/12/31 20:59:35.03 FNrpfdyG0.net
>>290
ほとんど全ての場合だよ。
カスタムコントロール作らない事の方が珍しいだろ。ペタペタと直接、素のコントロール置いて作ってるとか狂気の沙汰じゃん。
後付け条件も何も俺は最初からその想定で言ってる。
お前がどんどん原始的な例ばっかり挙げて後付け条件出してるんでは?
295:デフォルトの名無しさん
21/12/31 21:04:02.72 +14EUf560.net
コモンコントロール以上の何かがほしいってそれはもうRICHなGUIですよ。
アナログメーターだのバーコードだのね。
296:デフォルトの名無しさん
21/12/31 21:13:20.91 2Zk/vij+0.net
>>289
それはお気の毒に。
仇討ちするなら助太刀いたしますぞ。
297:デフォルトの名無しさん
21/12/31 21:48:59.01 M0GZ3VlB0.net
WPFは結局見た目重視の癖に他のデザインツールとの連携がゴミカスだったからな
お前に食わせられるデータって何のアプリで作れるの?っていう根本的な問題が解決しない
298:デフォルトの名無しさん
21/12/31 22:31:41.34 DunWig+Gr.net
flutterみたいにGUIが整備されていればいいだけなのにマイクロソフトには作れないのか
URLリンク(codezine.jp)
299:デフォルトの名無しさん
21/12/31 23:02:04.13 M0GZ3VlB0.net
つか、データ内容から言ってイラレとの連携が必須なのにそこの対応がおざなりなのがいけない
そして見た目にこだわらせるツールなら
全コントロールカスタマイズ可能にしろ
もちろんイラレのデータで
これができんからwebview2なんて使ってんだろそいつも
300:デフォルトの名無しさん
21/12/31 23:38:40.48 FNrpfdyG0.net
なんでイラレなの?XDとかFigmaとかでは?
Storyboardで見ながら全カスタマイズ出来て当然かと。
デザイナーや制作にもそれができるからWebView2とかelectron使うんだが。
301:デフォルトの名無しさん
22/01/01 00:03:57.34 s/VzubKG0.net
>>297
いや、俺が最近のツール知らんだけ
まあ、アドビ製品で作れないと辛いと思うなってことで
302:デフォルトの名無しさん
22/01/01 00:04:02.95 s/VzubKG0.net
>>297
いや、俺が最近のツール知らんだけ
まあ、アドビ製品で作れないと辛いと思うなってことで
303:デフォルトの名無しさん
22/01/01 00:05:29.75 pK4dI97g0.net
>>298
最近はAdobe製品あんまり人気ないよなって感じしてる。
デザイナーの人、だいたいFigmaかなぁ。人によっては直でCSS書いてくるよ。
304:デフォルトの名無しさん
22/01/01 05:34:40.61 zdHw19Xx0.net
>>292
メーターはCommunity Toolkitにあるな
305:デフォルトの名無しさん
22/01/01 08:49:17.03 pK4dI97g0.net
このあたりが出来るのが楽。
URLリンク(observablehq.com)
JSのエコシステムは割と手厚くて、結構色々できる。
変わり種だと最近はこれも使った。今までだったら相当大がかりな仕組みになってた。
URLリンク(modelviewer.dev)
IEベースのWebViewだったら出来なかったんよね、これ。
306:デフォルトの名無しさん
22/01/01 16:57:15.57 cbVZORXia.net
何の話で盛り上がってるんだっけ?
結局MSは今後デスクトップは何使えって言ってるんだっけ?
もうWin32を追放してUWPで統一する計画は頓挫してたよね?
307:デフォルトの名無しさん
22/01/01 17:38:08.24 lDil4oeBr.net
MSは何も示せなくてユーザーたちが独自になんとかしようともだえてる
308:デフォルトの名無しさん
22/01/01 17:52:27.24 cbVZORXia.net
>>304
やっぱりあいかわらずそうなんだね。
今後はこういう展開をしていきます、みたいなの(横文字で何って言ったっけ?)
も一切ないんだっけ。
309:デフォルトの名無しさん
22/01/01 17:56:51.18 gOXFnTf60.net
UWPってアレ結局なんなん?
MSのうさんくさい説明見ても正体がさっぱり掴めんわ
ちなXAML使い
310:デフォルトの名無しさん
22/01/01 19:05:01.23 Je/lt7i4a.net
>>302
IEコンポーネントは初期設定がIE6になってるだけで、その制限解除するだけで使えるんじゃないのかな?
設定しないと使えないのは多かったけど、設定して使えないものがあった覚えはないな
311:デフォルトの名無しさん
22/01/01 19:09:06.13 pK4dI97g0.net
>>307
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。
WebGL 2.0は全くダメだし。
そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。
312:デフォルトの名無しさん
22/01/01 19:38:20.84 FXZWUiqn0.net
そういえば、IEのコンポーネントって他プロセスから普通にDOM掴めたけど今のはそんなこと無いよな、さすがに。
313:デフォルトの名無しさん
22/01/02 02:26:12.88 XjOyUWVU0.net
>>308
VML使えや
314:デフォルトの名無しさん
22/01/02 08:39:01.25 i8dUNFkB0.net
>>309
今のIE11でも変わらない。Chromium Edgeは無理。
315:デフォルトの名無しさん
22/01/03 00:27:24.71 qrnm2syfM.net
結局DelphiやVB6を超えられなかったね
316:デフォルトの名無しさん
22/01/03 09:45:55.35 eQW2AhJK0.net
ということにしたいのですね
317:デフォルトの名無しさん
22/01/03 09:53:42.79 Nty+tcHi0.net
もったいないので私にください
318:デフォルトの名無しさん
22/01/03 10:54:19.16 SmC4rDQma.net
はつみみです。
319:デフォルトの名無しさん
22/01/03 13:30:35.98 lKbCt2OW0.net
C#でNewtonsoft.Jsonを使用して
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000]
のようなJSONを作成できますか?
(数値と文字列の混合配列)
320:デフォルトの名無しさん
22/01/03 13:46:53.86 AMytSBf5a.net
名前なしのカンマ区切りだったらそれはcsvとして処理した方がはやいんじゃないのか
321:デフォルトの名無しさん
22/01/03 14:44:00.30 5Qqik4MO0.net
>>316
全部文字列でいいじゃん
322:316
22/01/03 15:23:04.22 lKbCt2OW0.net
echartsのガントチャートのデモです。
URLリンク(echarts.apache.org)
このデモ用のデータが
URLリンク(echarts.apache.org)
なんですが、これをバックエンドのC#から渡したいのです。
>>316はJSON構造の一部で、他に名前付きのデータも渡します。
なのでCSVはそぐわないかと思われます。
323:デフォルトの名無しさん
22/01/03 16:42:23.19 JMA8ZT+Nd.net
>>319
CSV一行分をjsonのValueとして持てばいいんだよ
324:デフォルトの名無しさん
22/01/03 17:00:56.51 0xi3No7I0.net
var objs = new {
hoge = "hoge",
fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" },
};
var json = JsonConvert.SerializeObject(objs);
できない理由はないけどなんか他に条件とかありそうでアレだな
325:デフォルトの名無しさん
22/01/03 18:09:00.90 lKbCt2OW0.net
>>321
おお、出来るんですね。
ありがとうございます、試してみます
326:デフォルトの名無しさん
22/01/03 18:12:39.51 TMV+x4l+0.net
var json =
結局何の型だよってイライラくるよね
327:デフォルトの名無しさん
22/01/03 18:57:22.48 GjMIBEAT0.net
>>323
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ
328:デフォルトの名無しさん
22/01/03 20:14:18.47 pwAwOJBp0.net
var: 無能発見機
329:デフォルトの名無しさん
22/01/03 22:52:28.05 TMV+x4l+0.net
型が分からなくてもソースが読み書きできる人が羨ましいわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの?
昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って
最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。
330:デフォルトの名無しさん
22/01/03 22:59:05.73 /qjDMXVn0.net
右辺見ろよ
331:デフォルトの名無しさん
22/01/03 23:54:17.33 /ROio/0MM.net
インテリセンスとAPIデザインが優秀って前提はあるだろうね
適当に.で繋げてけばなんとなくコードが出来上がる
間違ったらコンパイルエラーになる
だったらもうそれで型名は書かなくてもいいじゃない
型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる
332:デフォルトの名無しさん
22/01/04 00:14:59.85 fY9OVGa4a.net
>>326
いや、型がメソッド名や右辺式から推測しづらいと思ったら
var使うなという方針は基本的には間違ってないと思うよw
333:デフォルトの名無しさん
22/01/04 00:16:29.87 2Grj8syS0.net
>>326
なんでvarの上にカーソル持って行かないの?
334:デフォルトの名無しさん
22/01/04 00:23:52.35 ufcanjsed.net
>>330
俺はvar推奨派だが、コードレビューでGitHub上で読むとかあるだろ?
コード工の数が多いといちいち全部pullしてVSで開くとかやってられない
335:デフォルトの名無しさん
22/01/04 02:20:28.03 f9obKWjH0.net
>>326
わからないままに何かしてない。
よめばわかるだろ。
336:デフォルトの名無しさん
22/01/04 09:52:16.17 2gpItayR0.net
326はC#の話じゃなくてジャバスクとかの話してるんだろ
337:デフォルトの名無しさん
22/01/04 10:52:36.05 +AHJD1dV0.net
inai inai var !
338:デフォルトの名無しさん
22/01/04 11:04:23.12 Qpyz6D0Nd.net
>>333
そういうことか
型推論は型が確定してるのに意味不明なこと書いてるなと思ってた
339:デフォルトの名無しさん
22/01/04 11:48:21.13 Oz0E0ZFa0.net
型が分からないとほんとイライラくるよな。
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。
ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…
340:デフォルトの名無しさん
22/01/04 11:52:23.41 Hrzc5R7N0.net
>型が分からないとほんとイライラくるよな。
varは型が確定しています
イライラしているのはあなたがバカなだけ
341:デフォルトの名無しさん
22/01/04 11:56:22.08 698Ta9DA0.net
>>337
“いつ”確定するの?
342:デフォルトの名無しさん
22/01/04 11:58:40.79 Oz0E0ZFa0.net
ジャバスクの話だ!!! varは型が確定している!!! ほんと馬鹿かこいつら…
343:デフォルトの名無しさん
22/01/04 12:00:45.54 K01QBlyFd.net
>>338
コーディングした時点で確定してるよ
varの上にカーソル持って行ったら確認できるだろ
344:デフォルトの名無しさん
22/01/04 12:01:01.01 g8h7/5Pi0.net
>>321から>>323ときてジャバスクとか後付感半端ないわ
こういうのとは仕事したくねーわw
345:デフォルトの名無しさん
22/01/04 12:07:12.39 kSsP1HEHa.net
>>323見たときに
var json =
こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ!
って話かと思ったら全然違った。なんだこの流れ・・・