スレ立てるまでもない質問はここで 156匹目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2021/02/20(土) 17:17:54.73ID:56yjs2OO
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

【前スレ】
スレ立てるまでもない質問はここで 155匹目
https://mevius.5ch.net/test/read.cgi/tech/1606439237/

次スレは>>980が立てること
0478デフォルトの名無しさん
垢版 |
2021/04/18(日) 21:50:22.92ID:H2FK2rvZ
javascriptで簡単なパズルゲームを作りたいと思っています
ゲーム内容の描画にはcanvasを使うつもりです

ここまでは決まっているのですが、最近Reactを公式のチュートリアルで少し勉強したのでせっかくなのでそれも取り入れたいと思いました

そこで気になったのですが状態の変更によって色々なコンポーネントを再描画するReactで単一のコンポーネントであるcanvasを管理するのって相性としてどうなのでしょうか

調べてみてもReactとcanvasを使ってゲームを作ってる人がいなかったのであまりいいやり方ではないのでしょうか
0479デフォルトの名無しさん
垢版 |
2021/04/18(日) 22:20:29.05ID:8qgOOFVo
どうなんだろ?
Reactは投げたクチなんで深いところは理解してないけど、仮想DOMでのコンポーネントの一般化が肝じゃないのか?
それに対してゲームで使うCanvasAPIはグラフィックコンテキストで描くAPIだからDOMとはレイヤーからして違うんじゃない?
0482デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:05:22.70ID:XxiWqLWU
PHPやってて、Laravelというフレームワークを使ってみたら
bladeとかあって便利だと思ったんですが
フロントエンドにVueとか、Reactとか使うメリットって何があるんですか?
表示するだけなら使わなくてもいい?
それとも使ったほうが便利になったりする?
0484デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:14:55.31ID:PUY12mOS
メリットはコンポーネントを作りやすいこと
あとはフロントエンドとバックエンドが綺麗に別れてるので理解しやすいこと
0485デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:18:22.21ID:7YJjHWKI
>>482
bladeである程度開発して経験してから再度質問してみてね
何も知らないのにVueの方が優れてるので今すぐ採用しましょうとか言っても
分からないかと思うので
0486デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:57:03.64ID:XxiWqLWU
>>485
もうLaravelでアプリ完成させたから
次の技術使ってみたいんだよね
bootstrapも使ってみて便利だった

だから、次はVueとか使ってみたいんだけど
何が便利なのか知りたいです

ちなみにJavaScriptとか、ほとんど使ったことないです
フロントエンドにあまり労力を使いたくない
ただ、bladeやbootstrapみたいに楽できるなら使いたいです
0488デフォルトの名無しさん
垢版 |
2021/04/20(火) 04:38:17.14ID:7xfghfsY
Ruby on Rails では、Bootstrap, jQuery, React、
規約だけのフレームワーク・Stimulus

Vue.js はほぼいないので、やらなくてよい
0489デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:10:44.80ID:ysyB9KS4
MySQLやJavaには有料版が有りますが、企業は、もし無料版で機能的に
足りる場合で、ライセンス的にも一見問題ないような場合でも
安心感やライセンス的なトラブルを避けるためなどのため
有料版を買いたがるものでしょうか?
0490デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:19:42.69ID:uATsLQNo
>>489
大きく「うん」
主には延長サポート目当て
問題発生時にお金で解決出来る可能性が高いのは大きい
0491デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:24:13.28ID:ysyB9KS4
>>490
「サポート」とは、電話やメールでの技術的な問い合わせのことでしょうか。
それとも、不具合があった時に「報告できる明確な窓口がある」程度でも
安心材料になるものでしょうか。
0492デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:29:55.07ID:Q3U1x8DZ
>>491
お前が担当者として全責任を取りますって宣言するか?
してもお前の価値次第だがな
0493デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:52:52.60ID:uATsLQNo
でも大昔は酷い所もあった
明らかなバグでOSが例外吐いて落ちるんだが、そのサポート回答(有料)が、「次のメジャーバージョンでは直っていますので購入してください」
潰れたんだがDEC
0494デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:54:06.25ID:ftz4Kapn
24時間無停止サーバーなんかだと「〇〇のケースは再起動は必要ですか?」
みたいな質問をサポートに投げなきゃいけない場合もある
再起動するだけの根拠をかき集めないといけない
それなりの規模でやってたらOracleでも不具合に当たってパッチ作ってもらうなんて年に1回ぐらいは当たる

社内でサポートセンター作って、そこから一本化してベンダーサポート結んでたりもあるよ
0495デフォルトの名無しさん
垢版 |
2021/04/20(火) 17:04:46.35ID:ysyB9KS4
無料版Javaは、GPLで、ソースさえ開示すれば何をやってもいいというライセンス
だったはずですが、「AndroidのJavaはこれまでの互換性のエコシステムを破壊した」
とされて、Googleは裁判に負けて一兆円を払うことになるかどうかの瀬戸際(?)
なようですが、無料版だとそのようなリスクが有ることも企業は直感的に警戒
しているのかも知れないと思うのですが、いかがでしょうか。
0497デフォルトの名無しさん
垢版 |
2021/04/20(火) 17:14:50.23ID:YwVDfnEJ
OSについて質問です

Windowsが入っている市販のPCに、Linuxをリブートするのは
リスキーでしょうか?
止めた方がいいでしょうか?
0500497
垢版 |
2021/04/20(火) 17:39:33.12ID:YwVDfnEJ
すいません、リブートでなくマルチブートでした…
リブートだと再起動になっちゃいますね
0502497
垢版 |
2021/04/20(火) 17:53:42.57ID:YwVDfnEJ
>>501
えっ?
0503デフォルトの名無しさん
垢版 |
2021/04/20(火) 18:12:55.11ID:7xfghfsY
Windows 10 Home 版でも、WSL2, Linux, Docker を使えるようになった

CPU-i7、メモリ16〜64GB ぐらいあれば
0509コルム
垢版 |
2021/04/20(火) 20:36:25.57ID:rvQsrFur
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10241982575についてご教授いただけないでしょうか?すみません。以下は、質問です。
「import32.lib」から呼び出すのは「MessageBox()」という機能の実体ではなく「利用する為」の呼び出しです。 「MessageBox()」という機能を利用する際「MessageBox()」というプログラムから「import32.lib」内にある情報を参照する必要があります。 つまり参照先のプログラムからさらに別のファイルの情報を参照しているだけです。画像の写真です。どういう意味でしょうか?ご教授いただけないでしょうか?すみません。
0511デフォルトの名無しさん
垢版 |
2021/04/20(火) 20:48:48.01ID:kRKfc0q4
messageboxはwindowsのuser32.dllにあるから
ダイナミックリンクになるしかない
としかわからない
0514497
垢版 |
2021/04/20(火) 23:13:02.84ID:YwVDfnEJ
お礼が遅くなってすいません
答えてくれた方ありがとうございました
ラズパイ検討しようと思います
0515デフォルトの名無しさん
垢版 |
2021/04/21(水) 01:03:58.47ID:SVTBKWZf
質問させて下さい

Linuxの仮想環境を作成したいと思い、調べながらやっていたのですが、
途中で詰まってしまいました…
具体的には、光学ディスク選択の箇所で、
ubuntu-ja-20.04.1-desktop-amd64.isoというisoファイルが表示されなければ
いけないみたいですが、表示されません

どうしたらよいでしょうか?
0518515
垢版 |
2021/04/21(水) 02:24:52.47ID:SVTBKWZf
返信ありがとうございます

はい、ubuntuのisoファイルは既にダウンロードしてあります
してあるのですが、候補に表示されないんです…

以下参考画像です
https://i.imgur.com/XTBl6LN.png
0519デフォルトの名無しさん
垢版 |
2021/04/21(水) 06:23:18.01ID:NCTKtzNH
>>518
左上の追加ボタンを押すとファイルダイアログが出ると思うので、それでisoファイルを置いたフォルダまで辿って選択してみて
0521デフォルトの名無しさん
垢版 |
2021/04/21(水) 09:18:40.91ID:NCTKtzNH
大規模な組織で水平展開するなら意味はあっても、個人での試用で使うにはちょっと……
導入自体にハードルあるよね?
0522デフォルトの名無しさん
垢版 |
2021/04/21(水) 10:50:11.03ID:a9YIoDQQ
母艦がLinuxとMacならハードルは全く無いよ
WindowsだとDockerと競合して動かない場合がけっこうあるからハードル高いね
0523デフォルトの名無しさん
垢版 |
2021/04/21(水) 13:16:09.98ID:P7LSpcTG
Linux の質問は、Linux板へ書き込んでください!

Vagrant を使うこともできる。
メモリ16〜64GB なら、Windows 10 Home 版, WSL2, Docker もある。
Mac なら、メモリ32〜64GB

山浦清透、1/15

Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
www.youtube.com/watch?v=lZD1MIHwMBY

Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,

Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI
0524デフォルトの名無しさん
垢版 |
2021/04/21(水) 18:05:15.35ID:n35Ewbnt
AJAXリクエスト発行するときひょっとして勝手にOPTIONSメソッドも実行される?
普通にGETメソッドを実行したつもりなんだけどエラーになってログみたらOPTIONSメソッドはサポートしてないって書いてある
0530デフォルトの名無しさん
垢版 |
2021/04/21(水) 19:42:11.53ID:YA3PmkpH
Docker使って仮想環境で色々勉強したいんだけどマシン自体のメモリって16GBじゃ不安?
仮想環境使ったことないからよく分からん
0531デフォルトの名無しさん
垢版 |
2021/04/21(水) 20:13:51.51ID:U7I+mJcY
普通にDocker Desktop for Windowsを使ってるなら問題ない
自分でVirtualBoxとかHyperVに仮想マシンを立てるなら苦しい
0532デフォルトの名無しさん
垢版 |
2021/04/21(水) 20:23:04.53ID:NCTKtzNH
16GBあるなら充分すぎる
でもDockerはコンテナだから仮想環境入門としてはどうなんだろ?
デスクトップ使うには X サーバ立ち上げて、X でログインしないとならないんじゃなかったか?
意味がわからないなら、VertualBox とかで仮想マシン立ち上げてそこにインストールして Linux を勉強すべき
0533デフォルトの名無しさん
垢版 |
2021/04/21(水) 20:28:38.12ID:NCTKtzNH
GUIじゃなくCUIならDockerでいいのか…?
でもコマンドしか使えないのは初心者的にどうなん?
それとも今時のDockerはGUIサポートしてるん?
0535デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:15:34.01ID:hZhPN+RC
最近SEからPLっぽい事やり始めたんですが、ステップ数の考え方で迷ってます。

例えば
コミット1、ファイルA:ソース1ステップ
コミット2、ファイルA:+50ステップ
コミット3、ファイルA:-49ステップ

のような場合、コミット毎に前回バージョンと比較してステップ数を累積するのと、
コミット1と3で比較するのとではステップ数が異なりますよね?
どちらで比較するのがスタンダードなのでしょうか?
0536デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:29:22.41ID:U7I+mJcY
>>535
論理ステップ数で比較するのが一般的です。

https://e-words.jp/w/%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%95%B0.html

ソースコード中の改行文字を単純に数え上げたものを物理LOC(Lines Of Code:コード行数)というが、
多くの言語ではコード中にコメントや空行など何も行わない行や、
コードブロックの開始や終了(中括弧{}やbegin/endなど)など実質的な処理を行わない行を記述できるため、
一定の基準を定めてこうした行を数え上げから除外する。こうして数えた行数がステップ数で、論理LOCとも呼ばれる。
0537デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:34:08.39ID:hZhPN+RC
>>536
すみません、論理ステップ前提です。
上の+50、-49は全て論理ステップと思って下さい。ちなみにcloc使ってます

前バージョン比較で累積すると新規50ステップ
1-3間で比較すると新規1ステップ

どちらでカウントするのが一般的かというのが知りたいのです
0538デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:36:02.33ID:NCTKtzNH
>>534
仮想環境の勉強とか言ってるレベルの人に、CUIしかない(と思う)環境を勧めていいのか?と言ってる
コマンド叩いてサクサク操作ができる人なら、そんなこと聞かないだろと思うから

いや、俺の認識が古くて今では GUI が使えるようになったのなら問題はないんだが
0539デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:37:54.75ID:U7I+mJcY
>>537
目的によります。

同じことを実現するのに
・ステップ数が多い(無駄が多い)方を評価したいなら、ステップ数が多い方を選びます。
・ステップ数が少ない(無駄が少ない)方を評価したいなら、ステップ数が少ない方を選びます。

ただし相手が評価されるのが嫌な場合は逆を選びます。
0540デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:41:26.40ID:U7I+mJcY
ちなみに、クソコードを50行消して
改善したコードを50行追加した場合、
その人は100行の素晴らしいコードを書いたことになります
クソコードを消すのはプラス評価です。
0541デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:42:31.42ID:hZhPN+RC
>>539
なるほど。
因みに目的はバグ密度やテスト密度、生産性などのメトリクス分析なんですが、
この場合あなたはどちらの比較が適してると思われますか?
0544デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:47:20.46ID:U7I+mJcY
クソコードを削除すると生産性は上がります。
この事実に結びつかないメトリクスは
意味がありません。
0545デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:49:51.23ID:hZhPN+RC
>>544
普通に組んでたから気持ちはわかるが暴論よ・・・
レビューの結果糞コードに変身する場合もあるんですよ><
0546デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:53:43.72ID:NCTKtzNH
近頃は面倒なんでカバレッジ率ぐらいしか見てないな
ステップ数は顧客に報告する時だけ…
0547デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:55:34.22ID:U7I+mJcY
ステップ数はただの「量」です。
家の中にモノがたくさんある。これはいいことでしょうか悪いことでしょうか?
モノはゴミかもしれません。多いことが良いことかどうかなんてわかりません。

メトリクスは量を除いて計測します。
そして良いものがこれくらいある。
ゴミがこれくらいある。という言い方しかできません

メトリクス分析するなら、量の概念は除いて計測します。
0549デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:59:45.21ID:YcNEV+yo
>>535
もちろんコミット1と3の差分でカウントするよ
一度書いたけど採用しなかったコードなんて計測する意味はない
最終的に採用したコードのステップ数に応じてテストの件数を計画・評価するんだから当然じゃん?
遠回りしようが近道しようが、同じだけの改変には同じだけのテストが要る
0550デフォルトの名無しさん
垢版 |
2021/04/21(水) 23:07:36.61ID:hZhPN+RC
>>549
ありがとう。
確かに無駄コード分、必要テスト数が増えてしまうもんね。
その方向でまとめてみる。thx!
0551デフォルトの名無しさん
垢版 |
2021/04/21(水) 23:53:32.96ID:n9Psf8QY
フローで評価したいならコミット1から現在のコミット3の間に発生した+50と-49の変化を分母にする
ストックで評価したいなら評価時に残ってる2ステップを分母にする

新規50ステップや新規1ステップはどっちつかずで微妙だし
必要テスト数を出すためにステップ数やテスト密度使うのも微妙だなぁって感じる
0552518
垢版 |
2021/04/21(水) 23:54:32.93ID:SVTBKWZf
>>519
出来ました!
ありがとうございました
0553デフォルトの名無しさん
垢版 |
2021/04/22(木) 04:38:17.22ID:gbeL+P6Z
ステップ数とテストの数に相関関係はないぞ
リファクタリングしてコードを減らしても
動作は変わらないんだからテストの数は変わらない
0554デフォルトの名無しさん
垢版 |
2021/04/22(木) 04:40:05.35ID:gbeL+P6Z
長いコードを関数に分けると関数呼び出しのためにステップ数は増えるが
長いコードに含まれるフローパターンの組み合わせが
関数にすることで減らすことが出来るのでテスト数は減る
0556デフォルトの名無しさん
垢版 |
2021/04/22(木) 09:30:25.81ID:pnqsiiWe
ifとかforの数を数えてプログラムの複雑さを表現する方法を
なんて言ったっけ?
0559デフォルトの名無しさん
垢版 |
2021/04/22(木) 10:13:50.59ID:WMdOWH0O
メトリクスは以前と比べてどう変化したかを見るのに使う分にはいい
数字を単独で見てそれが良いだの悪いだの言い出したらもうダメだな
0560デフォルトの名無しさん
垢版 |
2021/04/22(木) 10:38:59.64ID:Usd5IZeQ
まあステップ数が尺度として非常に劣った存在であることは確かなんだけどさ、それでしか評価・理解できない組織もあるし、伝わらない相手もいる
ステップ数とFPの両面からバグ密度やテスト密度を出して、説得力を増強できる場合もある
同じような人海戦組織が作れば同じようなステップ数が出る傾向はあるし、乖離があっても個別に説明がつけばいい

いずれにしてもステップ数の功罪なんて今回は聞かれてなくて、ステップ数を図って評価に使うなら最初と最後の差分で取りますよって話だ
0561デフォルトの名無しさん
垢版 |
2021/04/22(木) 10:40:44.97ID:Usd5IZeQ
最初の質問に対してこうも脱線話ばかり盛り上がるところを見ると、あのブランコ開発の風刺イラストを思い出すわ
0562デフォルトの名無しさん
垢版 |
2021/04/22(木) 11:05:13.74ID:fYKo/KH7
>>560
>ステップ数を図って評価に使うなら最初と最後の差分で取りますよって話だ

1000ステップ追加して1000ステップ削除したら差分はゼロってことなの?
0563デフォルトの名無しさん
垢版 |
2021/04/22(木) 11:35:08.43ID:WMdOWH0O
それでいいんじゃね
実質的に大して意味のない尺度なんだから、どうしても必要なんだったら手間が少ない方がいい
0564デフォルトの名無しさん
垢版 |
2021/04/22(木) 12:47:09.81ID:Usd5IZeQ
>>562
いやいや、削除分をどう算入するかという話と、差分の道のりを測定すべきか距離を測定すべきかというのは別の話だよ

たとえば機能Aを追加して、それとは別に同じ規模の機能Bを削除したとしたら、プログラム全体の規模を表すステップ数はプラマイゼロ
だけどその開発の品質評価に使うときは削除量は無視する
だってまるごと削除した機能のテストなんてほとんど要らないから、必要なテストはAの追加分に近似される

差分の取り方の話は、最初のコミットで100ステップ書いたあと、次のコミットでまさにその100ステップを消すことがある
この瞬間的な変動はカウント不要

ステップ数は糞ってことで思考停止してる人がいるけど、今書いた話はFPやほかのメトリクスでも換言できる
0565デフォルトの名無しさん
垢版 |
2021/04/22(木) 14:22:01.59ID:fYKo/KH7
>>564
それだと変更の意味解釈が必要になるから機械的には計算できないよね

意味解釈をやるのに一番簡単な方法は各コミットを変更内容で分類しておくことなので
結局差分の道のりを含めて集計することになる
0566デフォルトの名無しさん
垢版 |
2021/04/22(木) 15:01:23.09ID:FJ25hTkO
foo(); bar();
baz();

この2行のステップ数は3なんだが
gitの差分でそれがわかるわけがない
0570デフォルトの名無しさん
垢版 |
2021/04/22(木) 19:23:41.51ID:lA0hV636
まあ見積もりは相手を見てどれぐらい出せそうか判断してから決めるんだけどな
赤字が見込まれるのなら受けないだけ
0571コルム
垢版 |
2021/04/22(木) 19:47:43.53ID:JzuxwhsV
「import32.lib」から呼び出すのは「MessageBox()」という機能の実体ではなく「利用する為」の呼び出しです。 「MessageBox()」という機能を利用する際「MessageBox()」というプログラムから「import32.lib」内にある情報を参照する必要があります。 つまり参照先のプログラムからさらに別のファイルの情報を参照しているだけです。とはどういう事でしょうか?ご教授いただけないでしょうか?すみません。
以下のURLです。解説願います。ご教授いただけないでしょうか?
https://oshiete.goo.ne.jp/qa/12319888.html
0572デフォルトの名無しさん
垢版 |
2021/04/22(木) 20:28:48.34ID:weUUVdM3
>>571
実際に処理する実体はDLLというファイルに入っています
それを呼び出すためのサブルーチンがlibに入ってます
(DLLを呼び出さないサブルーチンもあります)

libはおおむね関数ごとのobjファイルを纏めたもので、ビルドの段階で自分のソースをコンパイルしたobjと、必要なobjをlibから取り出してリンクすることで実行ファイルを作ります

処理する実体をアプリに入れてしまうと実行ファイルは数MBに肥大したり、脆弱性が見つかる度にアプリをバージョンアップする必要があります
しかしDLLはWindowsUpdateでアップデートされるので、アプリ側では気にする必要がありません
同様の仕掛けはLinuxでも存在し、そちらはsoファイルと呼ばれます
0573デフォルトの名無しさん
垢版 |
2021/04/22(木) 20:45:39.32ID:114k4RtJ
ダイナミックリンクとスタティックリンクの話を
スタティックリンクの関数からダイナミックリンクの関数を呼び出す話で
説明してるからわかりにくい
0574デフォルトの名無しさん
垢版 |
2021/04/22(木) 23:41:16.34ID:j6FG0GAM
WindowsAPIを使う為の設定やらダイナミックリンクやら調べたら直ぐ分かりそうなのに
今時のプログラマはその辺理解出来ないのかw
VisualStudioで該当ヘッダ書いているのに未解決になるのは何故ですか?よりは
マシな質問なのかなw
0576デフォルトの名無しさん
垢版 |
2021/04/24(土) 00:45:39.02ID:3AAdU7vF
マルチポストイクナイ・・・はともかくとして
プログラマを名乗っている人でもリンカやローダーに理解がある人ってほとんどいなくね?
DLLの使い方は判っていても動作を説明せよと言われたらギブアップしてしまう人が大半に見える
その辺に限らず低レイヤーの解説記事はググってもほとんど出てこないし
0577デフォルトの名無しさん
垢版 |
2021/04/24(土) 19:39:30.97ID:7lpOLCJL
フォルダを参照して
処理用の関数に渡すための色々なデータを取得してひとつの変数に配列として格納した
この変数の名前はなんてつけるのが普通?
temp? database? container?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況