この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
スレ立てるまでもない質問はここで 160匹目
■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
542アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:51:03.95ID:LZk+uw73 スロットっていうことは、タイマー使ってクルクル回した方がいいのか?
543アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:58:07.37ID:LZk+uw73 フォームにタイマーを配置。
フォームが初期化されるときに0.33秒間隔のタイマーを起動。
タイマーイベントが発生したら、スロットの文字列をランダムな数字で更新。
フォームが初期化されるときに0.33秒間隔のタイマーを起動。
タイマーイベントが発生したら、スロットの文字列をランダムな数字で更新。
544アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:59:20.33ID:LZk+uw73 判定ボタンを押したらタイマーを停止。
終了ボタンを押したらフォームを閉じる。
終了ボタンを押したらフォームを閉じる。
545アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:00:55.62ID:LZk+uw73 待てよ、スロットは規則正しく動かすべきか、それともランダムに変えるべきか。
546デフォルトの名無しさん
2022/07/27(水) 02:02:44.06ID:qI+Uo5vp >>541
Dim inp1 As Integer
Dim inp2 As Integer
Dim inp3 As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
ということで大丈夫ですか?
Dim inp1 As Integer
Dim inp2 As Integer
Dim inp3 As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
ということで大丈夫ですか?
547アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:05:27.70ID:LZk+uw73549デフォルトの名無しさん
2022/07/27(水) 02:10:38.30ID:kUpgZ120550デフォルトの名無しさん
2022/07/27(水) 02:12:35.54ID:kUpgZ120 >>548
つまり
Label1.Text = CStr(Int(Rnd() * 99))
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
ということですか?
つまり
Label1.Text = CStr(Int(Rnd() * 99))
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
ということですか?
551アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:13:43.00ID:LZk+uw73554アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:20:59.51ID:LZk+uw73 スロットマシンのような動作を期待しているのであれば、タイマーを使ってクルクル回す必要がある。なんなら音を出して、カジノのような演出も必要かも知れない。
出題者の意図をよく理解するんだ。
出題者の意図をよく理解するんだ。
555デフォルトの名無しさん
2022/07/27(水) 02:22:17.13ID:kUpgZ120 >>553
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
それがこの状態だとまだ出来ていませんか?
その関数はintとはまた別なのですか?
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
それがこの状態だとまだ出来ていませんか?
その関数はintとはまた別なのですか?
556デフォルトの名無しさん
2022/07/27(水) 02:23:41.61ID:kUpgZ120 >>554
基礎レベルなので多分それは大丈夫だと思います
基礎レベルなので多分それは大丈夫だと思います
557アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:24:32.42ID:LZk+uw73 inp1 = Label1.Text
の左辺は整数変数。右辺は文字列。
型の不一致。
inp1 = CStr(Int(Rnd() * 99))
の左辺は整数変数。右辺はCStrの値なので文字列。
型の不一致。
の左辺は整数変数。右辺は文字列。
型の不一致。
inp1 = CStr(Int(Rnd() * 99))
の左辺は整数変数。右辺はCStrの値なので文字列。
型の不一致。
558アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:26:47.85ID:LZk+uw73 CIntかValを使えば文字列を数値に変換できる。
559アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:29:56.55ID:LZk+uw73 あとはいくつかのIf文で差を比較し、場合分けして得点表示.Text に適当な文字列を代入すればいい。
560デフォルトの名無しさん
2022/07/27(水) 02:32:21.15ID:hUPssU1v >>558
inp1 = Val(Int(Rnd() * 99))
Label1.Text = CStr(inp1)
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
こういうことですか?
inp1 = Val(Int(Rnd() * 99))
Label1.Text = CStr(inp1)
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
こういうことですか?
561アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:33:05.88ID:LZk+uw73 絶対値を求める関数はAbs
562デフォルトの名無しさん
2022/07/27(水) 02:36:13.30ID:hUPssU1v >>561
Absは宣言されていないと出てしまいます
Absは宣言されていないと出てしまいます
563アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:37:16.50ID:LZk+uw73 System.Math.Abs
564デフォルトの名無しさん
2022/07/27(水) 02:41:06.00ID:QfftK3Ne >>563
すみませんそれだけ書かれてもよくわかりません
すみませんそれだけ書かれてもよくわかりません
565アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:41:25.80ID:LZk+uw73 廃止予定のVB.netを教材に使うなんて学校はひどいことをしますなあ。
566アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:43:48.59ID:LZk+uw73 inp3 = System.Math.Abs(inp1 - inp2)
567デフォルトの名無しさん
2022/07/27(水) 02:46:02.40ID:mBvV44nn >>566
ありがとうございます
ありがとうございます
568デフォルトの名無しさん
2022/07/27(水) 02:48:16.34ID:mBvV44nn これで前提条件は完成ということで大丈夫なのでしょうか?
569アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:51:54.76ID:LZk+uw73570デフォルトの名無しさん
2022/07/27(水) 02:57:24.54ID:AEbD6U5/ >>569
エラーは出ませんでした
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 > inp2 Then
Label2.Text = "10点"
ElseIf inp1 < inp2 Then
Label2.Text = "5点"
End If
下はこのようなコードなのですがtextboxに何も入力せずにボタンを押すと10点と出てしまいます
また比較の段階ではinpは既にvalで数値化しているのでvalをつけなくても問題ないという認識で間違っていないでしょうか?
エラーは出ませんでした
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 > inp2 Then
Label2.Text = "10点"
ElseIf inp1 < inp2 Then
Label2.Text = "5点"
End If
下はこのようなコードなのですがtextboxに何も入力せずにボタンを押すと10点と出てしまいます
また比較の段階ではinpは既にvalで数値化しているのでvalをつけなくても問題ないという認識で間違っていないでしょうか?
571アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:58:18.78ID:LZk+uw73 ※実行結果が間違いかどうか判定するのは、初心者なら自分自身だが、上級者はテストを自動化できる。
572アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:01:09.00ID:LZk+uw73 テキストボックスに何も入れない、ということは.Textが空文字列になる。空文字列をValに渡すとどうなるか?
空文字列かどうか判定する必要があるかも知れない。
空文字列かどうか判定する必要があるかも知れない。
573アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:02:49.33ID:LZk+uw73 数値化しているものを数値化するとは意味をなさない。
574アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:05:17.77ID:LZk+uw73 2つの数値の差がinp3だろ?
575デフォルトの名無しさん
2022/07/27(水) 03:10:08.15ID:jODmrfct >>574
はい
はい
577デフォルトの名無しさん
2022/07/27(水) 03:11:50.99ID:jODmrfct 自動でデバッグが必要ということもわかるのですが
まず 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
が上手く書けなくて困っています
まず 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
が上手く書けなくて困っています
578アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:13:29.52ID:LZk+uw73 そういうときに便利な「数直線」。
数直線を紙に書いて、場合分けを考える。
数直線を紙に書いて、場合分けを考える。
579アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:15:18.50ID:LZk+uw73 絶対値は常にゼロより大きいのでカンタンだね。
580アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:17:08.97ID:LZk+uw73 *絶対値は常にゼロ以上なのでカンタンだね。
581アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:19:32.96ID:LZk+uw73 If文に複数の条件式を指定したい場合は、AndかOrを使って条件式をつなげる。
582デフォルトの名無しさん
2022/07/27(水) 03:19:51.93ID:yKrJTn5K >>580
正直遠回しに言われても理解できないので
どこを直したらいいのか直接的に教えてもらえませんか?
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 <> inp2 And inp3 = 10 Then
Label2.Text = "10点"
ElseIf inp1 <> inp2 Then
Label2.Text = "5点"
ElseIf inp1 <> inp2 Then
Label2.Text = "0点"
正直遠回しに言われても理解できないので
どこを直したらいいのか直接的に教えてもらえませんか?
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 <> inp2 And inp3 = 10 Then
Label2.Text = "10点"
ElseIf inp1 <> inp2 Then
Label2.Text = "5点"
ElseIf inp1 <> inp2 Then
Label2.Text = "0点"
583デフォルトの名無しさん
2022/07/27(水) 03:20:32.16ID:yKrJTn5K >>581
それはわかります
それはわかります
584アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:25:42.03ID:LZk+uw73 答えだけ教えたら勉強にならないでしょう。
2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示
→
ElseIf Inp3 <= 10 Then
10 点をフォーム上に表示。
2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示
→
ElseIf 10 < Inp3 And Inp3 < 20 Then
5点をフォーム上に表示
2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
→
ElseIf 20 <= Inp3 Then
0 点をフォーム上に表示
2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示
→
ElseIf Inp3 <= 10 Then
10 点をフォーム上に表示。
2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示
→
ElseIf 10 < Inp3 And Inp3 < 20 Then
5点をフォーム上に表示
2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
→
ElseIf 20 <= Inp3 Then
0 点をフォーム上に表示
585アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:27:25.65ID:LZk+uw73 最後に
End If
End If
586アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:29:58.17ID:LZk+uw73 フォームに表示が共通しているから、数値の差から得点を返す関数を作れば、コードが合理的になる。
587デフォルトの名無しさん
2022/07/27(水) 03:31:50.09ID:yKrJTn5K >>584
ありがとうございます
ありがとうございます
588デフォルトの名無しさん
2022/07/27(水) 03:33:08.65ID:yKrJTn5K >>586
なるほど
なるほど
589アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:37:40.83ID:LZk+uw73 時間があったら、その得点判定関数の単体テスト用の関数を書いてみろよ。
いくつかの使用例を想定して、2つの数値と得点数の組を記述するんだよ。
いくつかの使用例を想定して、2つの数値と得点数の組を記述するんだよ。
590デフォルトの名無しさん
2022/07/27(水) 03:41:16.49ID:yKrJTn5K591アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:47:12.89ID:LZk+uw73 >>590
サイバー世界に夜はない。人助けをしないとここから脱出できないものでな。しかたなくやってるだけさ。
サイバー世界に夜はない。人助けをしないとここから脱出できないものでな。しかたなくやってるだけさ。
592デフォルトの名無しさん
2022/07/27(水) 03:56:10.31ID:OAxBWYWr どんな脱出ゲームなんだよw
593デフォルトの名無しさん
2022/07/27(水) 16:11:49.73ID:zAtculQV 単体テストをmockitoを使って書いてますが、一時的なオブジェクトをモックするには
どうしたらいいでしょうか。例えば以下のようなmethod1()をテストするとき
Obj2 method1() {
Obj1 obj1 = mendo_na_shori();
return betsu_no_shori(obj1.hoge());
}
mendo_na_shori()は外部APIを呼ばないといけない、あとobj1の初期化にも深入りしたくない
ので、obj1.hoge()が適当な値を返すようにモックしたいのですが
betsu_no_shori()だけテストすればいいようにも見えてしまいますが、例がうまくないということで
どうしたらいいでしょうか。例えば以下のようなmethod1()をテストするとき
Obj2 method1() {
Obj1 obj1 = mendo_na_shori();
return betsu_no_shori(obj1.hoge());
}
mendo_na_shori()は外部APIを呼ばないといけない、あとobj1の初期化にも深入りしたくない
ので、obj1.hoge()が適当な値を返すようにモックしたいのですが
betsu_no_shori()だけテストすればいいようにも見えてしまいますが、例がうまくないということで
594デフォルトの名無しさん
2022/07/27(水) 16:29:49.90ID:sRAKzK8I595デフォルトの名無しさん
2022/07/27(水) 16:35:46.22ID:zAtculQV >>594
なるほど、なんだかテストのためにデザインを変えるようで躊躇していたのですが
むしろそれがいいデザインだったりするということでしょうか
あるいは「テストしやすい」ということを良いデザインの1要件として考えるということでしょうか
なるほど、なんだかテストのためにデザインを変えるようで躊躇していたのですが
むしろそれがいいデザインだったりするということでしょうか
あるいは「テストしやすい」ということを良いデザインの1要件として考えるということでしょうか
596デフォルトの名無しさん
2022/07/27(水) 17:17:41.95ID:sRAKzK8I597デフォルトの名無しさん
2022/07/27(水) 17:53:16.59ID:nrHcrDPL API作る費用がないから他の会社が作ったシステムのリードレプリカDB見てデータを取ってこいって流れになってるからなんとか阻止したいのですが、有名なアンチパターンとか何かないですかね?
598デフォルトの名無しさん
2022/07/27(水) 18:51:26.26ID:5n9aUkym 久々にプログラミング復帰しようとして色々ソース見ようと思ったんだけど
昔存在したkodersとかGoogle Code Searchみたいなソースコード検索エンジンってない?
昔存在したkodersとかGoogle Code Searchみたいなソースコード検索エンジンってない?
599デフォルトの名無しさん
2022/07/27(水) 18:53:20.17ID:RFLOe/ZA >>593
セオリーで言うとmethod1が含まれてるクラスのコンストラクタに
mendo_na_shori()を含むクラスのインスタンスを渡す形にしてそいつをモックする
method1がobj1を受け取る形にしたほうがいいかどうかは
純粋にmethod1の責務から考えたほうがいい
セオリーで言うとmethod1が含まれてるクラスのコンストラクタに
mendo_na_shori()を含むクラスのインスタンスを渡す形にしてそいつをモックする
method1がobj1を受け取る形にしたほうがいいかどうかは
純粋にmethod1の責務から考えたほうがいい
600アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 19:24:01.19ID:LZk+uw73601デフォルトの名無しさん
2022/07/27(水) 19:32:17.60ID:5n9aUkym602デフォルトの名無しさん
2022/07/27(水) 20:48:10.95ID:8I1dQN/H VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
603デフォルトの名無しさん
2022/07/27(水) 20:48:27.26ID:8I1dQN/H VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
604デフォルトの名無しさん
2022/07/27(水) 20:51:57.34ID:rf18Rv/q 2回書いたので失格
605デフォルトの名無しさん
2022/07/27(水) 21:08:44.11ID:8I1dQN/H VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
606デフォルトの名無しさん
2022/07/27(水) 21:09:20.89ID:8I1dQN/H 書き込めませんでしたというメッセージを出すmateが悪い
607アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 21:09:43.67ID:LZk+uw73 3回書いたので、敗者復活(ぴろぴらぴろ~ん
608デフォルトの名無しさん
2022/07/27(水) 21:17:11.63ID:E+Dd+vMH 専ブラで書込失敗したら本当に失敗したか汎ブラで確認するだろ普通は
自分は悪くないとか言ってるとダメだよ
自分は悪くないとか言ってるとダメだよ
609デフォルトの名無しさん
2022/07/28(木) 02:37:06.41ID:RAA7k8hU ポート番号7番でうけるエコーサーバーのソースコードを
調べたいのですが、githubのどこにあるのでしょうか?
bsd,linuxどちらでも構いません
回答よろしくおねがいします
調べたいのですが、githubのどこにあるのでしょうか?
bsd,linuxどちらでも構いません
回答よろしくおねがいします
610デフォルトの名無しさん
2022/07/28(木) 08:36:13.31ID:ktot2FQ5 >>609
echoサービスってあったなあ。あれはinetd自体がやってたはず
なのでinetdもしくはxinetdのソースを探すべし
ソケットプログラミングとか知ってたらすんごい当たり前のことしかやってないと思うけど
echoサービスってあったなあ。あれはinetd自体がやってたはず
なのでinetdもしくはxinetdのソースを探すべし
ソケットプログラミングとか知ってたらすんごい当たり前のことしかやってないと思うけど
611デフォルトの名無しさん
2022/07/28(木) 09:49:49.09ID:m+r+vKYc612デフォルトの名無しさん
2022/07/28(木) 11:19:00.87ID:RAA7k8hU >>610
回答ありがとうございます
文字境界をまたいだとき、またぐ時
どんな処理をすべきなのかわからなくて
調べようとしたときエコーサーバーのソースに
たどりつけず質問させていただきました
実験環境
windows10 + python3.9
# わざと少ないバイト数にする
BUFSIZE = 4
# どんな文字列がくるかわからない
s = input()
#ここでわざと境界をまたぐ6バイトの文字列(utf-8)を入力
s = "ああ"
# 送受信する
サーバー側:recv(BUFSIZE) / クライアント側:send(BUFSIZE)
#この時サーバー側でUnicodeDecodeError例外が発生する
あとどうすれば
>あれはinetd自体がやってたはず
>なのでinetdもしくはxinetdのソース
上記のような回答をできる人になれますか?
回答ありがとうございます
文字境界をまたいだとき、またぐ時
どんな処理をすべきなのかわからなくて
調べようとしたときエコーサーバーのソースに
たどりつけず質問させていただきました
実験環境
windows10 + python3.9
# わざと少ないバイト数にする
BUFSIZE = 4
# どんな文字列がくるかわからない
s = input()
#ここでわざと境界をまたぐ6バイトの文字列(utf-8)を入力
s = "ああ"
# 送受信する
サーバー側:recv(BUFSIZE) / クライアント側:send(BUFSIZE)
#この時サーバー側でUnicodeDecodeError例外が発生する
あとどうすれば
>あれはinetd自体がやってたはず
>なのでinetdもしくはxinetdのソース
上記のような回答をできる人になれますか?
613デフォルトの名無しさん
2022/07/28(木) 12:55:50.00ID:anuMbnBg >>612
改行コードとかメッセージの最後まで読んでから処理するのが一般的だと思うけど
バッファサイズ単位で処理したいならバッファ内の最後の文字境界を自分で見つけて処理するしかない
境界判定のビルトインの関数はあるかどうかしらないけど
UTF8のエンコーディング仕様から簡単に作れるよ
改行コードとかメッセージの最後まで読んでから処理するのが一般的だと思うけど
バッファサイズ単位で処理したいならバッファ内の最後の文字境界を自分で見つけて処理するしかない
境界判定のビルトインの関数はあるかどうかしらないけど
UTF8のエンコーディング仕様から簡単に作れるよ
614デフォルトの名無しさん
2022/07/28(木) 13:02:24.91ID:6VdmJHz7 じゃあ簡単ならここで作って
615デフォルトの名無しさん
2022/07/28(木) 13:04:30.10ID:4pySRXlJ そもそもUTF8の文字列なのに何故適当なバイト数でデータを送るのかと・・・
そんな事する必要ある?
そんな事する必要ある?
616デフォルトの名無しさん
2022/07/28(木) 14:34:28.40ID:xT3NfTao >>614
もしかして難しかった?
もしかして難しかった?
617デフォルトの名無しさん
2022/07/28(木) 16:36:20.49ID:ktot2FQ5 >>612
>あとどうすれば
おじさんが学生の頃は 1) UINX系雑誌の記事 2) 情報科学の授業 3) 自分で inetd
を設定する 4) 各種フリーUnixの開発に参加 とかそういうので覚えた
>あとどうすれば
おじさんが学生の頃は 1) UINX系雑誌の記事 2) 情報科学の授業 3) 自分で inetd
を設定する 4) 各種フリーUnixの開発に参加 とかそういうので覚えた
618デフォルトの名無しさん
2022/07/28(木) 18:08:38.84ID:XOOrQuM3 何番のポートをどのプログラムが使ってるのか調べられない状態を解決すべきやろ
619デフォルトの名無しさん
2022/07/28(木) 19:17:44.93ID:I6yUEl7R 何番のポートをどのプログラムが使ってるのかどうやって調べますか?
620デフォルトの名無しさん
2022/07/28(木) 20:06:49.78ID:Hv8PyQaz UTF8は1byteずつ読んだときに上位bitでそれが
UTF8の1文字での何byte目か(少なくとも1byte目かそれ以外=コードの途中)が判るのと
その1文字を表すのに全体が何byte必要とするかも判るで
もし最後の1文字が途中で終わってるならそれを処理せずに先送りとして
その1文字(の途中のbyteまで全て)を次の読み込みのバッファの先頭に移動する
UTF8の1文字での何byte目か(少なくとも1byte目かそれ以外=コードの途中)が判るのと
その1文字を表すのに全体が何byte必要とするかも判るで
もし最後の1文字が途中で終わってるならそれを処理せずに先送りとして
その1文字(の途中のbyteまで全て)を次の読み込みのバッファの先頭に移動する
621デフォルトの名無しさん
2022/07/28(木) 20:11:33.62ID:Hv8PyQaz622デフォルトの名無しさん
2022/07/28(木) 21:51:39.57ID:RtxUWi1z >>620
最後の1文字は途中で終わってるかどうか判定せずに必ず次のイテレーションに回すと楽ちんだよ
最後の1文字は途中で終わってるかどうか判定せずに必ず次のイテレーションに回すと楽ちんだよ
623デフォルトの名無しさん
2022/07/29(金) 08:15:17.32ID:cNymJqdP おはようございます
色々アドバイスいただきありがとうございます
inetd関連のソース見ることができました
https://www.web-dev-qa-db-ja.com/ja/linux/inetd%E3%81%8A%E3%82%88%E3%81%B3echo%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/960332980/
https://github.com/freebsd/freebsd-src/tree/main/usr.sbin/inetd
ちらりとみてみただけですが
https://github.com/freebsd/freebsd-src/blob/main/usr.sbin/inetd/builtins.c
にあるecho_stream関数を見るとBUFSIZEで8192がinetd.hに定義されており
バッファのサイズが問題とならないのかなと考えます
で、マルチバイト文字列のバッファサイズのまたぎ問題は、
このソースを見ても解決せず
皆さんの書き込みを元に自分で解決するしかないのでしょうか?
サーバー側でうまく処理してると勝手に思い込んでいました
色々アドバイスいただきありがとうございます
inetd関連のソース見ることができました
https://www.web-dev-qa-db-ja.com/ja/linux/inetd%E3%81%8A%E3%82%88%E3%81%B3echo%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/960332980/
https://github.com/freebsd/freebsd-src/tree/main/usr.sbin/inetd
ちらりとみてみただけですが
https://github.com/freebsd/freebsd-src/blob/main/usr.sbin/inetd/builtins.c
にあるecho_stream関数を見るとBUFSIZEで8192がinetd.hに定義されており
バッファのサイズが問題とならないのかなと考えます
で、マルチバイト文字列のバッファサイズのまたぎ問題は、
このソースを見ても解決せず
皆さんの書き込みを元に自分で解決するしかないのでしょうか?
サーバー側でうまく処理してると勝手に思い込んでいました
624デフォルトの名無しさん
2022/07/29(金) 10:42:45.13ID:+KqLS8gA ものすごく適当なこと言うけどechoは内容を解釈しないから、単に読み込みのバッファなんじゃないか?
全部読んでから処理しなきゃならない謂れはないはず
全部読んでから処理しなきゃならない謂れはないはず
625デフォルトの名無しさん
2022/07/29(金) 10:50:48.96ID:nIcw6oQb >>622
最後の一文字かどうかはどうやって判定してんの
最後の一文字かどうかはどうやって判定してんの
626デフォルトの名無しさん
2022/07/29(金) 11:06:47.79ID:cNymJqdP627デフォルトの名無しさん
2022/07/29(金) 11:12:07.00ID:pXf+MkzI >>612
一般的にはそこには少なくとも二つのレイヤがある
一つは文字コードなどの意味解釈を行わずに純粋にバイト列として扱う(相対的に)下位レイヤ
もう一つは文字コードなどの意味解釈を行ないそれを扱う(相対的に)上位レイヤ
上位レイヤでは文字コードなど意味のある塊が揃った時点で揃った分を扱う
下位レイヤでは単なるバイト列として自由な区切りで意味を考えずに扱う
つまり下位レイヤを扱う関数ならばUTF8等の途中であろうがバイト列として扱うのみなのでエラーは起きない
一方で上位レイヤを扱う関数ならばUTF8等の途中を渡してはいけなくエラーとなる
一般的にはそこには少なくとも二つのレイヤがある
一つは文字コードなどの意味解釈を行わずに純粋にバイト列として扱う(相対的に)下位レイヤ
もう一つは文字コードなどの意味解釈を行ないそれを扱う(相対的に)上位レイヤ
上位レイヤでは文字コードなど意味のある塊が揃った時点で揃った分を扱う
下位レイヤでは単なるバイト列として自由な区切りで意味を考えずに扱う
つまり下位レイヤを扱う関数ならばUTF8等の途中であろうがバイト列として扱うのみなのでエラーは起きない
一方で上位レイヤを扱う関数ならばUTF8等の途中を渡してはいけなくエラーとなる
628デフォルトの名無しさん
2022/07/29(金) 11:18:11.34ID:Ft0zsWoe629デフォルトの名無しさん
2022/07/29(金) 11:24:44.18ID:6gtXfrq1630デフォルトの名無しさん
2022/07/30(土) 09:04:08.72ID:WotJou7a csvファイルからグラフを生成する、チェックボックスのONOFFで動的に動くものを作りたいと思っています。
javascriptなんか作りやすそうなイメージがあるのですが、javascriptよりもおすすめの言語があったら教えてほしいです。
Excelは持っていないのでそれ以外でお願いします。
javascriptなんか作りやすそうなイメージがあるのですが、javascriptよりもおすすめの言語があったら教えてほしいです。
Excelは持っていないのでそれ以外でお願いします。
631デフォルトの名無しさん
2022/07/30(土) 09:57:21.27ID:paa5jUiA python + streamlit
632デフォルトの名無しさん
2022/07/30(土) 10:01:26.70ID:DT45UaHm633デフォルトの名無しさん
2022/07/30(土) 13:47:23.91ID:YFPQRSdb >>630
google sheets
google sheets
634デフォルトの名無しさん
2022/07/30(土) 15:11:27.72ID:8gKCOMRQ 「javascript チャート ライブラリ」で検索!
D3, Chart.js など
ファイルを読み込む、サーバー側はRuby on Rails, Node.js, Electron など?
サーバー無しで、ブラウザだけで読み込めるかな?
D3, Chart.js など
ファイルを読み込む、サーバー側はRuby on Rails, Node.js, Electron など?
サーバー無しで、ブラウザだけで読み込めるかな?
635デフォルトの名無しさん
2022/07/30(土) 16:32:24.03ID:WWl3Q6b+ .NET系の言語なら何も入れずに表示できるけど
javascriptのが圧倒的に簡単そうに思う
javascriptのが圧倒的に簡単そうに思う
636デフォルトの名無しさん
2022/07/30(土) 21:39:12.32ID:iw5u05vO >>630
Python+Flask+matplotlib
最近そういうのをこれで作ったけど、JavaScriptのが楽かもしれない
https://matplotlib.org/stable/gallery/user_interfaces/web_application_server_sgskip.html
Webアプリでいいならだけど
Python+Flask+matplotlib
最近そういうのをこれで作ったけど、JavaScriptのが楽かもしれない
https://matplotlib.org/stable/gallery/user_interfaces/web_application_server_sgskip.html
Webアプリでいいならだけど
637デフォルトの名無しさん
2022/07/31(日) 02:32:21.12ID:EDJ4BvE5638デフォルトの名無しさん
2022/07/31(日) 11:10:30.18ID:oFxEgVvh 企業独自の外字とかいうゴミ廃止して欲しい
639デフォルトの名無しさん
2022/07/31(日) 12:26:17.57ID:8xjafgfh >>630です。
.NETとpythonはjavascriptよりも手間がかかりそうとのことなので
javascriptかgoogle sheetsのどちらかで作ろうと思います。
javascriptってhtmlやcss同様クライアントサイドで動くと思うのですが
グラフのフレームワークを使う場合は例外でサーバーサイドも意識しないといけないってことはないですよね?
公開することは考えておらず自分が見れればいいという感じです。
.NETとpythonはjavascriptよりも手間がかかりそうとのことなので
javascriptかgoogle sheetsのどちらかで作ろうと思います。
javascriptってhtmlやcss同様クライアントサイドで動くと思うのですが
グラフのフレームワークを使う場合は例外でサーバーサイドも意識しないといけないってことはないですよね?
公開することは考えておらず自分が見れればいいという感じです。
640デフォルトの名無しさん
2022/07/31(日) 13:07:59.98ID:73140SZc641デフォルトの名無しさん
2022/07/31(日) 15:11:27.41ID:3aGOnqYZ >>639
VSCode の拡張機能・Open in Browser では、
右クリックメニューから、HTML ファイルをブラウザで表示できる
まあ普通に、HTMLファイルをダブルチェックしても、ブラウザで見れる
file:///C:/Users/Owner/Documents/test/a.htm
拡張機能・Live Server を使うと、サーバーを立ててくれる。
http://127.0.0.1:5500/test/a.htm
CORS 対策としては、サーバーを立てた方が無難。
file:///〜 はローカルファイル・アクセスとなり、
何かのリソースがアクセス不能になる場合もあるから
VSCode の拡張機能・Open in Browser では、
右クリックメニューから、HTML ファイルをブラウザで表示できる
まあ普通に、HTMLファイルをダブルチェックしても、ブラウザで見れる
file:///C:/Users/Owner/Documents/test/a.htm
拡張機能・Live Server を使うと、サーバーを立ててくれる。
http://127.0.0.1:5500/test/a.htm
CORS 対策としては、サーバーを立てた方が無難。
file:///〜 はローカルファイル・アクセスとなり、
何かのリソースがアクセス不能になる場合もあるから
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 4:44:44.444
- 神様(*'🙏'*)!どうか明日秋葉原でレトロゲームを買わない勇気をください(*'ω'*)
- 【愛国者悲報】ナマコ、中国、香港、台湾しか食ってない...台湾はいいけど他ってどーなんの?漁師はどこに売ればいいんだこれ... [856698234]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- そもそも日本て中国に日沈む国だとか無礼な事言ってたよね
- アニメでよく日本人キャラなのに目の色だけ変えたりしてるのあるじゃん?
