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

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

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

次スレは>>980が立てること
798デフォルトの名無しさん
垢版 |
2021/05/22(土) 23:54:19.73ID:aF1HHEjB
結城浩はウツ病らしいですよ。
1990年代に心の病系ホームページの掲示板に書き込みをよく見た。
2021/05/22(土) 23:58:52.64ID:B4OaYn/w
>>797
QZは何の病気なんですか?
2021/05/23(日) 07:34:45.90ID:zmSGPUw1
C++ でも、Scott Meyers のEffective 本があるけど、
デザインパターンを簡単に書けない、その言語特有のハック。
古臭い技術で、他の言語に転用できないのが欠点

一方、Ruby では、ほとんど実現されているから、背景にある考え方を学ぶ方が大事

例えば、MVC で、モデルに実装したら、モデルが肥大化した(Fat Model)ので、
サービスオブジェクトに分けましたとか

1つの関心事につき、1つのクラスとか
2021/05/23(日) 18:55:47.64ID:cyPeT6Ng
>>799
スキゾフレニア
802デフォルトの名無しさん
垢版 |
2021/05/23(日) 20:26:45.52ID:Wj1m5SX3
これってなんの言語ですか?
パイソン?
https://i.imgur.com/xlefspP.jpg
803デフォルトの名無しさん
垢版 |
2021/05/23(日) 20:53:33.13ID:GSf5lhyc
Yep
2021/05/23(日) 21:01:04.62ID:RNjOm9Rv
ペェソン
2021/05/23(日) 21:39:22.51ID:Te3MIS70
PythonとかJavaとかCとか
なにが違うの?言語によって作れる作れないがあるの?
806デフォルトの名無しさん
垢版 |
2021/05/23(日) 21:42:02.74ID:C7srCdl0
>>803-804
サンキュー
2021/05/23(日) 22:00:15.34ID:w+wJvB0G
>>805
Pythonはインタプリタ言語で、JavaとCはコンパイル言語。Javaは仮想マシンで動作し、C言語は機械語に翻訳されて実行される。
2021/05/23(日) 22:03:22.43ID:w+wJvB0G
簡単で柔軟な処理を書きたいならPython。機械やOSに近い処理をしたいならC言語。実行環境を自由にしたいならJava。
2021/05/23(日) 23:09:32.89ID:Te3MIS70
>>807
はえーよくわかんないけど
教えてくれてありがとう
810デフォルトの名無しさん
垢版 |
2021/05/23(日) 23:21:58.20ID:egmLXi/j
Kotlin もよろしく。
2021/05/24(月) 00:08:07.95ID:gquLa7i5
ttps://pubgmap.io/erangel.html?/v2/30/4ftla8/BLeG
こんな感じのローカルで使えるアプリを作りたいのですが開発も保守もなるべくお手軽に済ませたいです
良さそうなフレームワークとかあったら教えてください
現状ネイティブアプリにするかWebアプリにするかも決まっていません
2021/05/24(月) 03:53:11.11ID:uBa1LY8b
ゲームエンジンなら、Unity
2021/05/25(火) 12:50:06.92ID:eFv7Fs8Z
設計思想とかデザインパターンとかの技術書の種類が豊富な電子書籍サービスありますか?
本当は技術書は紙媒体の方がいいんだろうけど満員電車にスマホで読むつもりなんで電子書籍がいいです
2021/05/25(火) 13:00:39.43ID:wv0vSqE+
cygwinのsetupで、library パッケージをインストールする時、
括弧書きの中にdevelopmentやruntimeと書かれているものが有るけど、
違いは何?
2021/05/25(火) 14:04:06.95ID:L5PEm/bx
>>813
オライリー
2021/05/25(火) 18:03:25.58ID:kHXG2r5z
>>814
runtimeが実行用の本体
developmentは開発用でヘッダーファイル等
コンパイルするのに必要なファイル群
runtimeのファイルを含むかは知らない
2021/05/26(水) 03:13:01.88ID:d9C9piab
>>816
有難う。
ところで、clangがリンク段階でエラーになってしまうのが直らない。
cygwinは64BIT版のみになってしまったけど、clangは32BIT版のライブラリを
必要とするかららしい。
考えてみれば、64BIT版の実行ファイルを作成すればいいのかな。
818デフォルトの名無しさん
垢版 |
2021/05/26(水) 03:24:50.15ID:d9C9piab
>>817
実際は、むしろ逆に64BITの実行ファイルを作成しようとしていて、
cygwin64 で、
$ clang -v t.c
とした時、
/usr/bin/ld: cannot find crtbegin.o: No such file or directory
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: cannot find crtend.o: No such file or directory
と出るので、-v で verbose してみたら、

Target: x86_64-unknown-windows-cygnus

"/usr/bin/ld" -m i386pep --wrap _Znwm --wrap _Znam --wrap _ZnwmRKSt9nothrow_t --wrap _ZnamRKSt9nothrow_t --wrap _ZdlPv --wrap _ZdaPv --wrap _ZdlPvRKSt9nothrow_t --wrap _ZdaPvKSt9nothrow_t -Bdynamic --tsaware -o a.exe /usr/lib/crt0.o crtbegin.o -L/usr/lib/gcc/x86_64-pc-cygwin/9.2.0 -L/usr/x86_64-pc-cygwin/lib -L/usr/lib -L/usr/lib/w32api /tmp/t-c40327.o -lgcc_s -lgcc -lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32 /usr/lib/default-manifest.o crtend.o

と出た。crtbegin.o や、libgcc などがないということらしいけど、どうやったら直るんだろう。
2021/05/26(水) 05:04:07.54ID:d9C9piab
>>818
自己レスだが、その後、調査したら、

/lib/gcc/x86_64-pc-cygwin/10

に crtbegin.o や、libgcc.a があることが分かり、

$ clang -L /lib/gcc/x86_64-pc-cygwin/10 -B /lib/gcc/x86_64-pc-cygwin/10 t.c

とすると直ったわ。
2021/05/26(水) 06:55:25.77ID:XGTO2klA
Windows 10 Home, WSL2, Linux, Docker,
VSCode(拡張機能・Remote WSL, Remote Container)もある。

Windows Home版でも、Dockerを使えるようになった

WSL2 は、本物のLinux サーバーが動く。
ただし、CUI のみ。GUI は無い

メモリは、16GB は欲しい
2021/05/26(水) 12:49:08.85ID:Qr9i9spQ
>>820
サイズがでかすぎてインストールするのが辛い。
というか自分の環境では現実的に不可能。
822820
垢版 |
2021/05/26(水) 21:05:36.83ID:XGTO2klA
YouTube で有名な、雑食系エンジニア・KENTA のサロンでも、
Ruby on Rails で、今の未経験者は、Linux, Docker, VSCode が必須

Docker Compose までが初心者用コース。
各学校のカリキュラムもそう

Dockerできないと採用されない。
それどころか、AWS Fargate, Terraform まで言われている

よって開発用PC のメモリが、
Windows 10 では16GB 以上、Mac で32GB以上になった。
Windowsでも、32GBが推奨

8GBじゃ、Docker Composeがキツイから
823820
垢版 |
2021/05/26(水) 21:13:33.60ID:XGTO2klA
未経験者のRuby on Rails では、

YouTube で有名なKENTA のサロン、
AWS のくろかわこうへいのサロン、
Udemy などで教育革命が起きて、

今の未経験者は、Linux, Docker, VSCode が誰でもできる。
10年以上のプロよりも、技術力が上になってる!

さらに、AWS Fargate, Terraform まで言われている。
この辺が、未経験者の主戦場

米国年収でも、Railsは、1,300万円で、
AWS Solution Architect は、1,400万円でRailsを超えた!

Node.js は900万円だけど、Railsの2倍の求人がある
2021/05/26(水) 22:31:02.16ID:Gw0GQCqH
知ってる!KENT!サロン有名!ユーチューバーサロンKENT!
2021/05/27(木) 15:34:12.18ID:nhyDHcNr
Excelに日々追加されていく発注データをよその部署と共有したい。
データは極力いじってほしくなくて、複数箇所から同時に開くことができて、その部署の人間に有用なデータのみ加工して表示したい。

ということでエクセルデータを読み込んで表示できるhtmlファイルを用意して共有フォルダに入れとくのが良いかもしれんと思ったんですが、やはりhtmlだけじゃなくjavascriptを書く必要がありそうですかね?
2021/05/27(木) 15:41:44.56ID:PvZCRO+r
>>825
GoogleスプレッドシートとGoogleフォームでいいよ
Office365入れてるならそれでもいける
プログラミングなんぞ不要
2021/05/27(木) 16:11:02.44ID:iyj+Su0Y
htmlやcsvでエクスポートしたら?
見るだけでいいならpdf
2021/05/27(木) 16:20:25.70ID:6XTubEPX
その手のはGSuiteやOffice365の他にもSalesforceとかKintoneとか腐るほど選択肢がある
自分で作り込むのは論外として、会社で既に契約してるサービスを使えないかをまずは確認してみては
2021/05/27(木) 17:03:14.36ID:goD1Dj5M
>>825
用件定義が曖昧なので必要な処理が良く分からないけど、表示できるhtml
ファイルって言うのはエクセルファイルのリンクURLを書いたファイルを想定して
いるのかな?
だとしたら何か条件を満たすために書く必要があるのはjavascriptではなくて、
エクセルのマクロとかVBAスクリプトじゃないかな
共有フォルダに入れるならhtmlファイルを用意しなくても読み込み専用なら
エクセルファイル直でも良い気がする

データ極力いじらないっていうのは通達でルール化するとかなら分かるけど、
機械的にやるならいじれる人/いじれない人を明確に定義して、ファイルの
アクセス権設定するのかなって話でスクリプトの話じゃないかなとか、
エクセルファイル共有してみんなでいじると競合が発生しないようにする
必要があるとか

部署の人間に有用なデータのみ加工して表示したいは、それこそエクセルの
中身をいじる話なのでjavascriptではないかなとか

>>828のいうように社内で使っているソリューションとかにエクセルファイルを
読ませて要件に合った処理をしてくれるものを探すのが良いと思うけど、
まずはやりたいことを明確(極力とか有用なみたいはフワっとした感じじゃ
なく)にしないと何が必要か言えないかな
2021/05/27(木) 17:09:43.03ID:lb8CrCgA
GraphQLって関数のサポートってある?
例えば、あるプロパティに文字列が入ってるんだけど、これを大文字に変換して取得、みたいな感じ
もちろん、実際には大文字化どころでなく、もっと複雑な計算が必要になる
GQLで取得したのをJSかTSでまた変換して〜てな感じでやるしかないかな?
2021/05/27(木) 17:40:00.59ID:VvsV/KIv
>>825です。
元の表は外注先・商品名・社内担当者・納品日などなどのデータベースです。データ入力の担当者以外は直接参照しないように言われてます。
進行状況をグラフィカルに知りたい人たちがいたので、この表からガントチャートを作って表示できるVBAマクロを作りましたが、shapeを大量に表示するのでやや重くて不評でしたので簡便に表示できる方法を探していました。
老人たちが多すぎて「ここをダブルクリックすると見られます」以上に複雑な説明は不可能なので、今使ってないサービスを新規に利用するとか、元表の運用方法自体を変えるってのはナシの方向です。
状況が特殊なので、自分で調べてなんとかします。
すみませんでした。
832デフォルトの名無しさん
垢版 |
2021/05/27(木) 18:06:17.50ID:oUYWih0l
だからexcel をhtmlとして保存するだけだろ
2021/05/27(木) 21:25:46.25ID:uWNxEgvG
>>725
リモートワークに対応している企業
F#(38)
Haskell(35)
Purescript(13)
https://github.com/erkmos/haskell-companies
834デフォルトの名無しさん
垢版 |
2021/05/28(金) 20:40:09.32ID:yAnFtbcz
SPAっていうのが流行ってるみたいだから
Vue.jsでやってみたんだけど、v-forでデータ取り出す部分だけ遅くなって不自然になった
これって改善できるの?

あといちいちJSONにしなきゃいけない理由もわからない。
Laravelでそのまま渡せた
2021/05/28(金) 21:46:10.68ID:NBcE/coZ
PHPなんてCGIに毛の生えた化石じゃん
2021/05/29(土) 09:48:03.20ID:nTYZXgcl
PHPはもとからCGIを使わないのが売り
2021/05/29(土) 11:59:05.69ID:T6353Tmf
それ自身がスクリプトを動かすCGIとして書かれてるだろPHPは
そりゃ他のCGIつかわんのは当然
2021/05/29(土) 12:02:51.01ID:DLhoEVoU
他のCGIってなんだよw
2021/05/29(土) 12:07:50.02ID:T6353Tmf
PHPだけで済ませるから他のCGIプログラムをホストしてつかわんという意味だよ
2021/05/29(土) 13:01:47.18ID:nTYZXgcl
>>837
PHPが登場した当初にアピールしていたのは
CGIではなくApacheモジュールを使うから高速であるということ
CGIの仕組み自体を使っていない
2021/05/29(土) 13:15:02.83ID:HJC/ZOcF
CGIに毛の生えた化石という論評の是非はさておき、それに対して、元からCGIを使わないのが売りという反応は噛み合ってないな
2021/05/29(土) 14:27:55.78ID:ehKbAfuY
>>834
日本6位、YouTube で有名な雑食系エンジニア・KENTA のサロンでは、

Ruby on Rails, Linux, Docker, Node.js(Webpack, Babel), Bootstrap,
VSCode(拡張機能・Remote WSL, Remote Container)、データベース、
Heroku, CircleCI までが初級カリキュラム

さらに最近では、AWS Fargate, Terraform, SPA(React, Vue.js), TypeScript も入る

女性1人で、Rails, Heroku, Bootstrapで起業していたのが、
最近では、Fargate, Terraform, SPA も必須になってきた

どこかの学校が新技術を採用したら、転職の競争上、すべての学校も採用せざるを得ない。
今では、1年の未経験者が、10年以上のプロよりも、技術力が上になってる!
843デフォルトの名無しさん
垢版 |
2021/05/29(土) 16:36:36.98ID:eCdX3xcf
cgi.rb : えっ君らこれ本気で使ってるの?
2021/05/29(土) 23:55:16.84ID:nTYZXgcl
>>841
登場時点でCGIを使わないという本質的に違うものに対して
CGIに毛が生えた程度というのはおかしいってことだよ
2021/05/30(日) 00:08:47.75ID:ClvkxSVZ
はいはいCGI2.0ね
2021/05/30(日) 00:24:47.48ID:iekbxZ9w
>>844
CGIを使わない⇒本質的に異なるとな?
自分でも苦しいと思わないのだろうか
ありがちな例文「素人に毛が生えたような役者」の場合でいうと、素人≠役者(プロ)でも使えるのは自明じゃん
CGIとPHPの役割や立ち位置が同じだと元の発言者が思ったならこの表現は成立するし、反論するならそっちの妥当性だろ
2021/05/30(日) 12:47:19.86ID:DbVDrryp
>>846
本人がそう思ったからで成立するなら
CGIとGoogleのクラウドサービスも役割や立ち位置が同じだから
GoogleのクラウドサービスはCGIに毛が生えた程度のものっていう理屈も言えるんだが?

どちらにしろCGIに毛が〜って言ったやつが
技術を何も知らない素人だという証明にしかならん
技術を知っていればCGIとそうでないものを同一視したりしないんだよ
2021/05/30(日) 13:09:31.06ID:ClvkxSVZ
>>847
「ところで、カモノハシが卵を産むのは知っているか?」
2021/05/30(日) 14:03:12.70ID:b5JrJ9vZ
>>847
「反論するならそっちの妥当性だろ」としたとおり
俺はPHP(の用途や役割)がCGIに毛が生えたものという主張が妥当かどうかには興味ないよ
これまでも論旨自体に賛否を一切示してないことをもう一度強調しておくわ
筋違いのズレた反論をしているからズレてると指摘しただけだ
命題が真が偽かということと、CGI≠PHPであるという前提の中で、語の用法が適切で文として成立しているかどうかは別のこと
プログラミングしたことあるなら流石にわかるよな?
いやときどきこういう区別が本当に理解できてるのかあやしいやつ結構いるよな…
2021/05/30(日) 14:34:27.31ID:DbVDrryp
>>848
知ってるけどそれが今の話となにか関係あるの?w
2021/05/30(日) 14:36:11.80ID:DbVDrryp
> 俺はPHP(の用途や役割)がCGIに毛が生えたものという主張が妥当かどうかには興味ないよ
興味がないならお前には関係ないじゃん

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

ウェブページを表示する仕組みの中で、とても遅い仕組み
だから今では使われていない
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というのは何が優れているのでしょうか
2021/05/30(日) 15:01:19.37ID:DbVDrryp
>>853
DIを文字通り依存関係を注入するものだと思っているからわからない
下手なやつが使うと日付オブジェクトまで外部から注入しようと考えるからアホらしいw
DIは基本的にビジネスロジックに使うもの

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

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

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

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

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

そのほうがテストしやすいとか
開発環境でダミーを使うときに便利とか
そんなのは二次的なメリットでしかない
2021/05/30(日) 16:18:12.11ID:Hj1QGeYh
おまえら・・・
酷いな

>>853
参照する記事が悪すぎる
とりあえずwikipediaを読んで分からなかったら戻ってくればいい
https://ja.wikipedia.org/wiki/依存性の注入
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しても消えないのだけどこれはいったいどうしたらよいのでしょう?
2021/05/30(日) 18:24:28.22ID:r7/HTnYk
>>851
興味がないという単語に対して部分否定と全否定を区別できず、脊髄反射で反応
そういうところだぞ
2021/05/30(日) 18:27:08.70ID:QVEYwMBG
>>865
その後の本題にはレスしないのかよw

それこそ脊髄反射
2021/05/30(日) 22:17:51.61ID:XTsG4vqP
>>864
node_modulesの中身消しても無理?
2021/05/30(日) 23:47:19.92ID:Hj1QGeYh
>>864
エラー自体はTapable.prototypeがundefinedなのが原因

undefinedになるのはmaterial-uiのdependencyでtapableが新しくなって
古いバージョンのenhanced-resolveと合わなくなったからだと推測する
その14行目のコードが残ってるのは相当古いバージョンだったので
webpackのバージョンを見直したほうがいいと思う
2021/05/31(月) 08:58:39.96ID:sBIewd8V
たとえばwindows付属のメニューバーの色やメニューバーの文字の色、
書き込む部分の白い色、スクロールバーの色だけを狙って変更したい。
windowsのテーマを変更するとかという方法ではなく。
具体的にどのようにしたらいいか。
870デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:08:18.00ID:wgV7aZpD
アプリの製作元と交渉してソースファイルを入手し必要な箇所を書き換えて再構築する
2021/05/31(月) 13:25:33.66ID:siYzGVpE
IMEのシステム辞書の中身って書き出せませんか?
2021/05/31(月) 13:26:27.46ID:R3lKsytn
>>869
メニューバーについては、hBrushにWin32のBRUSHオブジェクトを作成しておいて
以下の様にすれば可能。

https://stackoverflow.com/questions/215211/changing-win32-menu-colors

MENUINFO mi = { 0 };
mi.cbSize = sizeof(mi);
mi.fMask = MIM_BACKGROUND|MIM_APPLYTOSUBMENUS;
mi.hbrBack = hBrush;

HMENU hMenu = ::GetMenu(hWnd);
SetMenuInfo(hMenu, &mi);
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
2021/05/31(月) 13:32:51.23ID:R3lKsytn
>>873
Menuの文字の色については、WM_DRAWITEM、MF_OWNERDRAW、MFT_OWNERDRAW
などを使えば可能 :

https://groups.google.com/g/comp.os.ms-windows.programmer.win32/c/IArldfiTyFs
875デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:40:36.18ID:R3lKsytn
>>871
辞書自体は、imjp10u.dic にあるらしいので
2021/05/31(月) 13:41:10.64ID:sBIewd8V
>>869
補足
自分が作るアプリではなく、
すでに起動しているアプリ、例えば起動しているメモ帳のメニューバーやスクロールバーの色を変えたかった。
AutoHotKey等を使おうと思っているが、原理というかすでに起動しているソフトの色は変えることができるのか知りたかった。
なお、ウィンドウタイトルを名指ししてウィンドウを透明化することはできた。

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

>>879
ありがとう。なんとかやってみる。
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
);
882デフォルトの名無しさん
垢版 |
2021/05/31(月) 14:07:44.18ID:siYzGVpE
>>871
申し訳ありません、取り下げます
著作権を考慮してなかった
2021/05/31(月) 15:41:46.83ID:JG/9UOlz
>>881
詳しすぎて怖い
884デフォルトの名無しさん
垢版 |
2021/05/31(月) 16:03:21.67ID:RzB7O/B5
MVCでGUIアプリ作ってるとして
たとえばclickbuttonでupdateview()するとき

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

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

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

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

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

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

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

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

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

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

プログラミングの筋が良くなるから。
全言語の底上げになる
2021/06/02(水) 13:37:04.27ID:TLQmjHpv
Rails案件も減ってRubyの人気も低迷してしまっているこのご時勢にあえてRailsから入る奴はいないよな
他の言語ではRails以降に作られた優秀なフレームワークがあるんだし
897デフォルトの名無しさん
垢版 |
2021/06/02(水) 17:40:34.57ID:qtmfAhQ7
vue.js
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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