X



スレ立てるまでもない質問はここで 156匹目

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
2021/02/20(土) 17:17:54.73ID:56yjs2OO
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

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

次スレは>>980が立てること
0851デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:36:11.80ID:DbVDrryp
> 俺はPHP(の用途や役割)がCGIに毛が生えたものという主張が妥当かどうかには興味ないよ
興味がないならお前には関係ないじゃん

PHPの役割がCGIに毛が生えたものじゃないって話をしてるんだから
PHPの役割例・・・wikipedia、wordpress
0852デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:38:05.79ID:DbVDrryp
そもそもCGIというのがなにかわかってないんだろう
言語じゃないぞ。

ウェブページを表示する仕組みの中で、とても遅い仕組み
だから今では使われていない
0853デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:49:12.26ID:x7z1bfzn
DI(dependency injection)について質問です
どうも存在価値がわからないのです
世間一般ではよく使われているので、自分の理解が足りていないのは自覚しています。
DIの何が便利なのかを教えてほしいです。

kotlinの以下の記事を使わせて頂きます。
https://qiita.com/klriutsa/items/3989b280ce659df18e2c
この記事には以下の3種類のコードが提示されています。
・1.依存性の注入が無いAndroidのコード例
・2.DIを使わずに書いた場合
・3.DIを使って書く

1番目を2番目にする事は理解出来ます
2番目から3番目にする事が「DI」と呼ぶらしいですが、メリットが分からないです

差分を取ってみました。
https://i.imgur.com/yDX4Pdh.jpg
「ArticleClient().create()」だった部分がDIを使ったコードだと「service」の変数一つになっているのは理解できますが
それ以外にinjectする処理が増えて、トータルではマイナスになっているように見えます。
DIのメリットで「テスト時に処理を差し替え出来る」とも聞きますが、この例ですとDI前も後もArticleServiceクラスに依存していて何も変わっていないように見えます。

インスタンスを呼び出すメソッドを作ってインスタンスを呼び出す事に比べて、DIというのは何が優れているのでしょうか
0854デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:01:19.37ID:DbVDrryp
>>853
DIを文字通り依存関係を注入するものだと思っているからわからない
下手なやつが使うと日付オブジェクトまで外部から注入しようと考えるからアホらしいw
DIは基本的にビジネスロジックに使うもの

DIを理解する前に前に適切な設計というのを理解しないといけない
適切な設計というのはクラスごとの役割・責務がちゃんと分離されているということ

そういう場合にこのクラスのビジネスロジックは、別のクラスのビジネスロジックを"利用する"という時に、
別のクラスをテスト用のクラスに差し替えられるようにしておけば、別のクラスを使わずに単体テストが可能になる
テストというのはなるべく小さな状態で行うもの。そうしないとどこに原因があるのかわかりづらくなる

テストクラスへの差し替えが簡単にできる言語であればDIは必要ないが
そういう場合でもDIを使っていれば、ここで差し替えてテストすることを意図してるんだなとわかる
0855デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:07:57.29ID:McAyMcZB
>>853
君の疑問はもっともで、この記事が悪い
ArticleServiceが具象クラスなら特にDIを使って注入する意味はない
DIする場合、普通ArticleServiceはinterfaceにしておいて、場合によってバックエンドAPIからArticleを取得する実装と、テスト用のモック実装とを差し替えたりする
0856デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:21:52.08ID:x7z1bfzn
>>854-855
うーん、とりあえずわかりました。
テスト(等)時に実装の差し替えを、最低限のコストで行う手段 と、覚えておきます。

確かに現状はテストも何もなく 実装コードを書くだけで満足してますが
ちゃんとテストを書いて、最低限の変更で実装を切り替えするようになれば理解出来る・・かな
0857デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:28:54.83ID:QVEYwMBG
DIは依存関係を減らすというものだが
実際それが必要なのはテストぐらいだよねってこと
0858デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:38:52.15ID:XTsG4vqP
DIなんて普通の開発ではまず使わない
そもそもこれって簡単に機能を切り替えられる仕組みってだけだし
0859デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:42:57.18ID:B0xK2QHY
>日本語訳では依存性の注入と呼ばれていますが、実際はオブジェクトの注入が正しいです。

この筆者はなんか誤解してる気がする。DIで言う依存性ってのはSOLID原則のDと基本的に同じだろ。
オブジェクト間の依存関係とかじゃなくて具象型への依存をコードの外に出す話。
0861デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:56:27.36ID:McAyMcZB
>>859
インスタンスをシングルトンにするみたいなDIコンテナによるライフタイム制御のことを言ってるんじゃないの
DIとは無関係と言ってもいいオマケ機能なわけだけど、この筆者は使い方だけ教わって変な理解しちゃったんだろうな
0862デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:59:39.65ID:mZRTgvtG
DIってのは単純な話で
今取り組んでるクラスにとって本質ではない処理を
都合のいいインターフェースで切り出して外部化へ追い出すことにより
そのクラスの本質だけを残すことによって
開発や保守をしやすくする
ということだよ

そのほうがテストしやすいとか
開発環境でダミーを使うときに便利とか
そんなのは二次的なメリットでしかない
0864デフォルトの名無しさん
垢版 |
2021/05/30(日) 17:18:26.56ID:EoN0M48D
Reactの環境を整えて最初は普通にbluid出来ていたのに、試しにmaterial-uiを導入してbuildしてみたら

(プロジェクト名)\node_modules\enhanced-resolve\lib\Resolver.js:14
Resolver.prototype = Object.create(Tapable.prototype);

TypeError: Object prototype may only be an Object or null: undefined
at Function.create (<anonymous>)
at Object.<anonymous> ((プロジェクト名)\node_modules\enhanced-resolve\lib\Resolver.js:14:29)
(グレーアウトされたエラーメッセージ)
at Object.<anonymous> ((プロジェクト名)\node_modules\enhanced-resolve\lib\node.js:5:16)

というエラーが出るようになってしまってmaterial-uiをremoveしても消えないのだけどこれはいったいどうしたらよいのでしょう?
0865デフォルトの名無しさん
垢版 |
2021/05/30(日) 18:24:28.22ID:r7/HTnYk
>>851
興味がないという単語に対して部分否定と全否定を区別できず、脊髄反射で反応
そういうところだぞ
0868デフォルトの名無しさん
垢版 |
2021/05/30(日) 23:47:19.92ID:Hj1QGeYh
>>864
エラー自体はTapable.prototypeがundefinedなのが原因

undefinedになるのはmaterial-uiのdependencyでtapableが新しくなって
古いバージョンのenhanced-resolveと合わなくなったからだと推測する
その14行目のコードが残ってるのは相当古いバージョンだったので
webpackのバージョンを見直したほうがいいと思う
0869デフォルトの名無しさん
垢版 |
2021/05/31(月) 08:58:39.96ID:sBIewd8V
たとえばwindows付属のメニューバーの色やメニューバーの文字の色、
書き込む部分の白い色、スクロールバーの色だけを狙って変更したい。
windowsのテーマを変更するとかという方法ではなく。
具体的にどのようにしたらいいか。
0870デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:08:18.00ID:wgV7aZpD
アプリの製作元と交渉してソースファイルを入手し必要な箇所を書き換えて再構築する
0873デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:29:19.34ID:R3lKsytn
>>872
スクロールバーについては、以下の様にすれば可能 :
case WM_CTLCOLORSCROLLBAR:
if(HIWORD(lParam)==CTLCOLOR_SCROLLBAR) {

SetBkColor(hdc,(LRESULT)CreateSolidBrush(RGB (color[0],color[1],color[2])));
return (LRESULT)CreateSolidBrush(RGB (color[0],color[1],color[2])) ;
}
return TRUE;

参考 :
https://docs.microsoft.com/en-us/windows/win32/controls/wm-ctlcolorscrollbar
https://social.msdn.microsoft.com/Forums/vstudio/en-US/486105a1-9e9c-4f8d-9978-5cf575126660/how-to-set-scrollbars-color?forum=vcgeneral
0875デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:40:36.18ID:R3lKsytn
>>871
辞書自体は、imjp10u.dic にあるらしいので
0876デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:41:10.64ID:sBIewd8V
>>869
補足
自分が作るアプリではなく、
すでに起動しているアプリ、例えば起動しているメモ帳のメニューバーやスクロールバーの色を変えたかった。
AutoHotKey等を使おうと思っているが、原理というかすでに起動しているソフトの色は変えることができるのか知りたかった。
なお、ウィンドウタイトルを名指ししてウィンドウを透明化することはできた。

>>872からの説明感謝
0877デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:43:48.44ID:sBIewd8V
>>876
追加、なおWindowsのテーマを変更して(つまり全体的に色を変えることはしない)の色変更ではなく。
0878デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:45:34.90ID:siYzGVpE
>>875
それは見つけ出したけど、その先がどうにもならんのですな
せめてユーザー辞書に変換できればいいんだけど、ままならにぃ…
0879デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:47:13.65ID:R3lKsytn
>>876
それは、
SetWindowsHookEx() という Win32 API を使って、そのアプリの WindowProc
をフックして >>872 から書いた方法で処理すれば可能は可能。
0880デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:49:03.09ID:sBIewd8V
>>877
重要なのか聞忘れてた、本来はスクロールバーを削除したかった。
(技術的に出来るかどうかはわからないけれど。なので色変更で見た目だけでも変えようと思っていた)

>>879
ありがとう。なんとかやってみる。
0881デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:57:05.62ID:R3lKsytn
>>880
削除するのは、ScrollBarを持っている Window Handle(HWND) を見つけ出して、
その HWND の style の WS_VSCROLL BIT を OFF にすると良い。
それには、次の 2 つの関数を、nIndex = GWL_STYLE にして呼び出して、
C の BIT 演算子 & を使って、
SetWindowLong( hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_VSCROLL );
のような感じにすると良い。

LONG GetWindowLong(
HWND hWnd, // handle to window
int nIndex // offset of value to retrieve
);

LONG SetWindowLongA(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
0882デフォルトの名無しさん
垢版 |
2021/05/31(月) 14:07:44.18ID:siYzGVpE
>>871
申し訳ありません、取り下げます
著作権を考慮してなかった
0884デフォルトの名無しさん
垢版 |
2021/05/31(月) 16:03:21.67ID:RzB7O/B5
MVCでGUIアプリ作ってるとして
たとえばclickbuttonでupdateview()するとき

buttonはVに置いてあって
イベントハンドラとview作成・更新関数はどちらもCに置かれると思うんですが、
特にview作成・更新系はviewの側にある方がわかりやすくないですか? なぜCなのですか?
なんかctrl内で全部viewの操作だけしてる関数書いてると、これviewに置いて呼んだらいいんじゃ…ってなるんですが
0886デフォルトの名無しさん
垢版 |
2021/05/31(月) 16:52:44.20ID:yuRQ4tlS
>>884
viewの作成と更新は別
クライアントサイドのMVCの場合、viewの更新はview自身で行う

viewはmodelをobserveしておいて更新通知があれば
modelのデータを参照して自身の表示を更新する
0887デフォルトの名無しさん
垢版 |
2021/06/01(火) 18:07:08.61ID:TvRQnady
いまファイラーみたいなの作ってるんですが
もしかしてWindowsと macて並び順ルール違う…?
0888デフォルトの名無しさん
垢版 |
2021/06/01(火) 18:46:29.83ID:jlPUop4R
あれwindowsだけが特殊なんだっけ?
unixとlinuxとappleが同じ?
0889デフォルトの名無しさん
垢版 |
2021/06/02(水) 09:40:46.56ID:GaQmuxPP
Windowsでも違うよ
fatとntfs
win2000とwinXPのエクスプローラー
0890デフォルトの名無しさん
垢版 |
2021/06/02(水) 10:09:42.28ID:qtmfAhQ7
國際的な統一ルールって無いだろ
ある意味ソート順は文字コードより深刻
0892デフォルトの名無しさん
垢版 |
2021/06/02(水) 10:57:53.92ID:OB6uFVNq
>>884
V でプログラミングしては、いけない。
コード・ロジックを書いちゃいけない。
単純なものだけを書く

C でも同じ。
ビジネスロジックは、M に寄せる

そうすると、Skinny Controller, Fat Model になるので、
サービスオブジェクトなどに分ける

Ruby on Rails ではデザインパターンを、10年以上論争してる
0894デフォルトの名無しさん
垢版 |
2021/06/02(水) 12:46:41.93ID:sSbsV05j
俺はMにV渡さないで
パーツインスタンスをまとめたVC作って
VCでV系のコードを書くのが好き
そうするとVとMでいい感じのコードバランスになる
C自体はユーザーからのアクションの受けだけする
0895892
垢版 |
2021/06/02(水) 13:14:23.79ID:OB6uFVNq
Ruby on Rails では、

V は単純に、M はDB とのインターフェースだから、
C にビジネスロジックを書いていた。
そこで、Cが肥大化した

そこで、ビジネスロジックをモデルに移した。
それが、Skinny Controller, Fat Model。
そこで、Mが肥大化した

それで、サービスオブジェクトへ分離するようになった

フォームオブジェクト・サービスオブジェクトなどは、
Railsが作ったデザインパターン

Railsは議論・デザインパターンの宝庫だから、
初心者が最初に学ぶべきフレームワークとして推奨されている

プログラミングの筋が良くなるから。
全言語の底上げになる
0896デフォルトの名無しさん
垢版 |
2021/06/02(水) 13:37:04.27ID:TLQmjHpv
Rails案件も減ってRubyの人気も低迷してしまっているこのご時勢にあえてRailsから入る奴はいないよな
他の言語ではRails以降に作られた優秀なフレームワークがあるんだし
0897デフォルトの名無しさん
垢版 |
2021/06/02(水) 17:40:34.57ID:qtmfAhQ7
vue.js
0898デフォルトの名無しさん
垢版 |
2021/06/03(木) 00:45:27.16ID:KAyuKPOb
LLVM なんかの external hidden 属性の意味が分からん。
static int s_a;
と書いた場合、そもそも、s_a のシンボルは、そのファイルの *.o の外には
export されないので、他の object からは extern しても見ることが出来ない。
なら、external hidden とは何をやっているんだろう。
リンカに -shared を指定して、複数の *.so を 1 つのshared library libaaa.so
にまとめた場合の話なんだろうか?
libaaa.so の外には export されないが、libaaa.so の中に入っている *.o
同士では見えるというような?
0899デフォルトの名無しさん
垢版 |
2021/06/03(木) 12:04:35.12ID:QPjYtuh2
情報流出のニュースがよく流れてるが
ブラウザやフレームワークはかなり安全になってるし脆弱性を作り込むことあるかね?
0900デフォルトの名無しさん
垢版 |
2021/06/04(金) 02:46:12.39ID:T0+OILo8
JSで月を入力して日数を表示するようにしたいんだけど
nisssu = [0,31,28,31,30,31,30,31,31,30,31,30.31];
tuki = prompt("月を入力してください");
alert(nisssu[i]);
この構文だとエラーが出て正しくはalertt(nisssu[tuki]);になるらしいだけど、入力した値からnissuの配列に合わせたiを表示させたいって考え方って間違ってる?
正解の(nisssu[tuki]の流れが腑に落ちないんだけど
0901デフォルトの名無しさん
垢版 |
2021/06/04(金) 07:16:14.42ID:HA+SG9aG
iはどこから来たのか
tukiはどこへ行くのか
表示したいのは何者か

何ひとつ腑に落ちない
0903デフォルトの名無しさん
垢版 |
2021/06/04(金) 08:41:42.14ID:5QdjaX9T
iを配列の添字の変数だと思っているのかな
for文でみんな説明もなくiを使うから……
0904デフォルトの名無しさん
垢版 |
2021/06/04(金) 09:40:51.24ID:6dOQNCq3
データを置く階層は深いところよりも浅いところの方がプログラムの処理速度は速いですか?

例えば、C:\Users\xxxxx\Documents\Product_A\Lot_B\Each_C\の下の\Dataフォルダよりも
C直下に置いた\Dataフォルダの方がプログラムの処理速度は速いですか?
それとも処理速度は同じですか?

コンパイル後に
C:\Users\xxxxx\Documents\Product_A\Lot_B\Each_C\ が
直アドレスに変換されているなら速度は同じだと思うんですが・・・
0905デフォルトの名無しさん
垢版 |
2021/06/04(金) 09:53:20.89ID:BzCokzlM
>>904
理論的には、ファイルパスが長いとその分ファイルパス自体に対するメモリアクセスが僅かに遅くなったり、
ディスク上のインデックスを探索してファイルを探すのが経路が伸びて僅かに遅くなったりする可能性はある
しかし現実にはファイルの中身の読み書きの方が圧倒的に時間がかかるため、「全く」影響しない
0906デフォルトの名無しさん
垢版 |
2021/06/04(金) 15:52:56.72ID:T0+OILo8
>>901-903
別の問題の配列に5,3,7,8,9を入れて全ての数字を表示させなさいっていうのでは、numの{}内の数がiに置き換わってるんだけどこれはどういうこと?
num = [5,3,7,8,9];
for(i=0; i<5; i++) {
alert(num[i]);
}
これに倣って>>900のnissuの[]内もiに置き換えることが出来るんだと思ってしまったんだけど
0907デフォルトの名無しさん
垢版 |
2021/06/04(金) 15:55:44.80ID:T0+OILo8
すみません、タイプミスしてたんでもう一度投稿しました
>>901-903
別の問題の配列に5,3,7,8,9を入れて全ての数字を表示させなさいっていうのでは、numの[]内の数がiに置き換わってるんだけどこれはどういうこと?
num = [5,3,7,8,9];
for(i=0; i<5; i++) {
alert(num[i]);
}
これに倣って>>900のnissuの[]内もiに置き換えることが出来るんだと思ってしまったんだけど
0908デフォルトの名無しさん
垢版 |
2021/06/04(金) 17:15:35.77ID:T0+OILo8
すまん、理解した
for文だとカウンタ変数としてiが使われるけど[]内が全てiに置き換えられるわけじゃないってことか
流れで勉強してたからごちゃごちゃになってしまった
どうもありがとうございました、すっきりしました
0909デフォルトの名無しさん
垢版 |
2021/06/04(金) 18:48:06.96ID:0c0chM5J
やっぱり最初は変数宣言が必須の言語
がいいね
0910デフォルトの名無しさん
垢版 |
2021/06/04(金) 23:39:50.39ID:6dOQNCq3
>>905
何億回とアクセスするので、その僅かが気になるんですけどね。
パスの長さで差があるのであればやはり短くします。
ありがとうございました。
0911デフォルトの名無しさん
垢版 |
2021/06/05(土) 00:15:38.71ID:Bf3C1+0O
そんな質問してる程度のレベルならそんな無意味なオナニーよりももっと他にいくらでも遥かに速くできる余地があるはず
まあその辺の感覚はいずれわかってくる
0912デフォルトの名無しさん
垢版 |
2021/06/05(土) 00:27:10.73ID:f5S9H8yw
>>910
>>905に書いてるのはファイルアクセスのたびに差が出る項目じゃないでしょ
本当に気になるなら実測すればいい
0914デフォルトの名無しさん
垢版 |
2021/06/05(土) 01:27:20.96ID:wpsN2NXu
1
1,000 = K
1,000,000 = M
1,000,000,000 = G

1秒間に 1,000,000,000 回命令を実行できるんだYO!
1,000,000,000 っていうのは 10億回だYO!
0917デフォルトの名無しさん
垢版 |
2021/06/05(土) 10:38:59.26ID:5ExJ61TU
ほんとうの問題点は、プログラマたちが誤った場所と誤った時点での効率について苦労して、多くの時間を浪費してしまったということにあります。プログラミングでは、時を得ない最適化は諸悪の根源なのであります。(すべてではないにしても、少なくとも悪の大部分と言えるでしょう。)
─ドナルド・クヌース
0920デフォルトの名無しさん
垢版 |
2021/06/05(土) 11:17:55.32ID:5ExJ61TU
コンピュータサイエンスに限らず、実測してみる、定量的に判断する、そういう科学的なリテラシーが身に付かなかった人は伸び悩むと思う
0921デフォルトの名無しさん
垢版 |
2021/06/05(土) 11:35:19.11ID:wpsN2NXu
>>917
> プログラミングでは、時を得ない最適化は諸悪の根源なのであります。

可哀想なことを言うなよ・・・
Googleだって自分らがやってることに意味があるんだって
必死に最適化した理由をひねり出してるんやで

Google、「Chrome 91」は23%高速化 V8エンジン改善で
https://www.itmedia.co.jp/news/articles/2105/31/news070.html
>  Googleは「これらの新機能により、Chromeは最大23%高速になり、
> 毎日のCPU時間を17年間以上節約できることになる」としている。

ほらな、最適化することで毎日のCPU時間を
17年間以上も節約できるんや。17年間やで17年間。
凄いやろ?


Chromeユーザー33億人全員の累計時間だけどな
17年=536,112,000 秒 ÷ 30億人 = 一人あたり1日 0.18秒の節約
0923デフォルトの名無しさん
垢版 |
2021/06/05(土) 13:40:34.07ID:Fz1ER27V
>>921
ネタにマジレスですまんけど、それは時を得ないという前提条件を満たしてないな
性能とセキュリティ、プライバシーは現代のブラウザシェア争いの主戦場でもある
それとも>>904が作るプログラムがChrome並に世界中で稼働するという主張かな?
0925デフォルトの名無しさん
垢版 |
2021/06/05(土) 18:25:56.31ID:wpsN2NXu
>>923
ん?何の話をしてるのかわかってない?

1日でたったの0.18秒しかCPU時間が減ってないのに
それを大幅にCPU時間の削減したように見せかける
Googleの涙ぐましい努力(笑)って話をしてるんだけど
0926デフォルトの名無しさん
垢版 |
2021/06/05(土) 19:09:17.63ID:ZdF2Vraf
>>925
俺の引用に対して「可愛そうなこと言うなよ」という話の持って行き方は噛み合ってなくて無理があるってツッコミだよ
改善の結果が技術的には小さなものだっとしても顧客や市場が好意的に反応するならその戦略は正しくペイしている
もし市場が好意的な反応を示さなかったことが判明しているならGoogleがアワレな言い訳をしているという主張にも理解するよ
Chromeの話が個人的に面白いと感じて誰かに言いたかったんだろうなということはよく伝わった
0927デフォルトの名無しさん
垢版 |
2021/06/05(土) 20:04:48.90ID:wpsN2NXu
Googleが誤った場所と誤った時点での効率について苦労して、多くの時間を浪費してしまってるってことが
わかってないのか。

1日でたった0.18秒の節約。たった
0929デフォルトの名無しさん
垢版 |
2021/06/05(土) 21:07:38.83ID:wpsN2NXu
"毎日"17年間節約っていうのを疑問に思わなかったんだろうなw
原文見ればどういう計算なのか明らか
0930デフォルトの名無しさん
垢版 |
2021/06/06(日) 05:32:12.41ID:sH+YYhze
DBサーバーからデータ取得する際、多数の項目で絞り込みが必要になってます。
例えば、ユーザーマスターから、下記条件を満たすユーザーを検索する場合です。
※全部 AND です。

・登録日がA月B日〜C月D日の間
・パスワードの最終更新日時がA月B日〜C月D日の間
・都道府県IDが1〜10の間 (都道府県コードは1(北海道)〜47(沖縄県)みたいに割当)
・誕生日がA月B日〜C月D日の間
・結婚日がA月B日〜C月D日の間
等々・・
こういう場合、一番最初の WHERE の条件で、出来るだけ絞り込むのがいいと思うのですが、
どの条件で一番絞り込めるのか不明な場合、どうすればよいのでしょうか?
0931デフォルトの名無しさん
垢版 |
2021/06/06(日) 06:16:52.71ID:XtTAwPVN
順番は関係ないし、DBMSのオプティマイザがよしなにやってくれる。
選択性の良いインデックスが張られている列に条件をつけているかどうかは考慮した方がいいが。
0932デフォルトの名無しさん
垢版 |
2021/06/06(日) 11:21:12.75ID:9mmqAG88
>>910
ネタだろうけど
path長いのが嫌だからって
全部rootとか浅いところに持って来て
一つのディレクトリ内のエントリ数増え過ぎると
アホみたいにパフォーマンス落ち始めるときもある
0933デフォルトの名無しさん
垢版 |
2021/06/06(日) 11:23:17.64ID:9mmqAG88
>>920
++
0934デフォルトの名無しさん
垢版 |
2021/06/06(日) 22:11:28.49ID:dJTGKVPN
デザインパターンとか設計思想とか全く分からないんだけど入門?としてこれ見るといいよってサイトとか書籍あれば教えて
0935デフォルトの名無しさん
垢版 |
2021/06/07(月) 10:56:46.23ID:BLDePS2Q
>デザインパターンとか設計思想とか

普通の人は入門が済んでから手をつける
0936デフォルトの名無しさん
垢版 |
2021/06/07(月) 11:53:04.81ID:TrlL7E54
分かりづらくてすまん
デザインパターンの入門としておすすめの物が知りたい
プログラムはjava silverレベルで書ける
0937デフォルトの名無しさん
垢版 |
2021/06/07(月) 11:53:34.78ID:pl6618+T
デザインパターンの宝庫は、MVC(Model/View/Controller)のRuby on Rails。
15年ぐらい、ずっと議論してる

MVCの他に、Form オブジェクト・Page オブジェクト・Service オブジェクトとか、
MVCが肥大しないように、どんどん分離していってる

ただし、Railsはプロ用。
自社開発Web 系へ転職する人用

YouTube で有名な、雑食系エンジニア・KENTA のサロンが有名。
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

他にも、Udemy の山浦清透も、Railsを推奨している。
AWS Fargate を使うのなら、AWSのくろかわこうへいのサロン
0938デフォルトの名無しさん
垢版 |
2021/06/07(月) 13:32:28.41ID:7qZ7vyBh
disp1に入力があればstate=loadedなので
if displ1.get():
__loaded時の処理
みたいなコードがそこそこあるんですが

is_loaded():
return bool(disp1.get())
みたいな関数作るのってどうですか。ダメですか?読みやすくなるけど…
0939デフォルトの名無しさん
垢版 |
2021/06/07(月) 15:15:53.66ID:ZOzskMEE
AGPLライセンスのライブラリを使いたいのですがどこまでソースコードを公開すればよいのでしょうか?

1, moduleA.js - AGPLのライブラリを利用
2, moduleB.js - AGPLのライブラリは不使用
3, app.js - ルーティング処理
0941デフォルトの名無しさん
垢版 |
2021/06/07(月) 15:22:58.27ID:TK3hG12A
>>938
disp1.get()に副作用がないならそういうメソッド抽出はありだと思うが
def is_loaded(self):
__return self.state == ‘loaded’
みたいに書ける設計のほうがベターだと思う
0942デフォルトの名無しさん
垢版 |
2021/06/07(月) 16:49:27.94ID:ZOzskMEE
>>940
moduleBも公開しないとだめなんですね
ありがとうございます
0943デフォルトの名無しさん
垢版 |
2021/06/07(月) 22:40:04.08ID:qUd3zbRZ
ttps://twitter.com/ozuma5119/status/1401851808939606022
これはどういう意味なのでしょうか?
https://twitter.com/5chan_nel (5ch newer account)
0945デフォルトの名無しさん
垢版 |
2021/06/08(火) 00:53:14.54ID:u53qbkBm
ローカルネットワーク上のWindowsマシン同士でシンプルなTCP通信を行うプログラムを作成しているのですが、
ポート番号はどの範囲を使えばよいのでしょうか?

wikiによると、

0〜1023:一般的なポート番号
1024〜49151:登録済みポート番号
49152〜65535:自由に使用できるポート番号

となっており、49152〜65535を使えば良いかと思ったら
そこはWindowsが動的ポートとして使っているので使えないという情報があり、
それじゃあ全部使えないじゃないか、となっています・・・。
0947デフォルトの名無しさん
垢版 |
2021/06/08(火) 06:48:16.57ID:dOMi6vvz
環境変数・コマンドライン引数で渡すとか、YML などの設定ファイルに書いておけば良い

そうすれば、ユーザーが自由に変えられる
0948945
垢版 |
2021/06/08(火) 08:32:05.82ID:Ke53ZRWk
>>946-947
そういうことだったんですね!
ありがとうございました!
0949デフォルトの名無しさん
垢版 |
2021/06/08(火) 17:27:58.53ID:l2BAfpwt
>>945
基本的には>>946の言う通りなんだけど、サーバプログラム側の待ち受けポートに
0-1023は原則的に使ってはいけない
Wellknownポートといってシステムが使う範囲ということになっているので
0950945
垢版 |
2021/06/08(火) 21:05:01.68ID:Ke53ZRWk
>>949
ありがとうございます!
さすがにそこは避けようと思ってました^^
0951デフォルトの名無しさん
垢版 |
2021/06/08(火) 21:07:05.99ID:/pGHNa0l
既得権益を、、、ぶっ壊す!
レス数が950を超えています。1000を超えると書き込みができなくなります。

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