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

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

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

次スレは>>980が立てること
2021/07/11(日) 22:28:02.90ID:lZiRxAj0
画像チェック機能なしにするの?

Ruby on Rails のActive Storage で、
S3 へ画像をアップロードするとか、調べてください!
136128
垢版 |
2021/07/11(日) 22:36:38.00ID:ROy10d1B
みなさん、ご回答ありがとうございます。

>>133を使って自作を試みてみます。

>>130
以後、気を付けます。
2021/07/11(日) 23:19:57.13ID:9u9MeYv0
>>134
違法コンテンツとか、攻撃の踏み台ってわかる?
138デフォルトの名無しさん
垢版 |
2021/07/12(月) 22:36:26.12ID:YLoUVXD1
ビジネスが破綻する大半の原因は、 ”ビジネスを始める人の大半が、真の意味での
「起業家」ではなく、 起業したい、という熱に浮かれた「職人」として働いているに過ぎない。”
という事実にあります。
「職人」によって運営されているビジネスは、ビジネスが働くのではなく、彼ら自身が毎日働くこと
によって、成り立っています。
彼らは毎日、自分がやり方を知っている仕事を一生懸命にこなしていますが、「起業家」としての
視点が無いために、成長に限界が生まれます。
そして、生計を立てるために、彼ら自身がずっと働き続けないとならないのです。

誰もが必ず陥る罠
私が見ている限り、起業熱にうなされる人たちは、必ずと言ってもよいほど誤った
「仮定」を置いてしまうようだ。実は、のちに彼らが苦難の道を歩むことになるのは、
この、「仮定」が致命的に間違っているからなのである
致命的な仮定とは・・・「事業の中心となる専門的な能力があれば、事業を経営する能力は
十分に備わっている」ということである
私がこの仮定を致命的だと書いたのは、この仮定が間違っているからにほかならない
事業の中で専門的な仕事をこなすことと、その能力を生かして事業を経営することは
全く別の問題である。高い専門能力を持つ人にとって、独立は他人の為に働くという苦痛から
解放されるということを意味していた。それにもかかわらず、前提となる「仮定」が致命的とも
いえるほど間違えているために、彼らは自由になるどころか、自分が始めた事業に苦しめ
られるようになってしまうのである
マイケルEガーバー「はじめの一歩を踏み出そう」P28~29
2021/07/13(火) 02:02:18.68ID:nZiTM0Ei
興味本位の質問で申し訳ないのですが1つ

google翻訳の音声出力ってあるじゃないですか
あれのen出力って、検索結果画面から出力した場合とページを開いてから出力した場合で音に違いがあるんですよね
ページを開いてから出力した場合の音声はGoogle Text To Speech APIで動いているようなのですが、検索結果画面から出力した場合の音声はどこから出力されているのでしょうか
知っている方がいれば教えてください
2021/07/13(火) 21:08:43.80ID:aO3Sze2Q
データベースへの書き込み、読み出しを行うアプリケーションは接続時にテーブルの存在チェックなどは基本的にやるべき?
2021/07/13(火) 21:36:54.89ID:kDn3q6a/
そこで自前でチェックしたとして、エラーだったらどうしたいかを考えればいい
チェックしなかった場合と結果がどう変わるのかを検討する
「○○テーブルがありません」と、万に一つもありえないケースのためにエラー処理とメッセージを設計して、その奇跡のメッセージを目にしたユーザーは幸運であると祝いたいだろうか
チェックしなければSQLを受け取ったDBMSはテーブル不在時にエラーコードを吐き、使っているドライバは例外を投げるかもしれない
そのログをどこかに吐いてユーザーには想定外エラーと伝えるだけでいいなら事前の自前チェックは無用の長物になる
2021/07/13(火) 22:24:41.47ID:QsXB5/qu
>>140
ユーザーが自由にテーブル名を入力できる場合や
テーブル名が動的に生成される場合を除いて普通はチェックしない
なければエラーになるだけ
2021/07/13(火) 22:30:48.89ID:aO3Sze2Q
ありがとう
10年近く前に作られたプログラムを見る機会があったんだけど、データベースと接続したあとにテーブルのレコード数を確認することでテーブルが正常か異常かをチェックしてる箇所があって、このやり方が一般的なのだろうかと思っていたんだ
2021/07/14(水) 14:24:51.40ID:QC3eIOjv
スマホアプリ(マルチP)で書式やインライン要素(箇条書きの点、リンク、画像)などを扱えるリッチなテキストエリアが欲しいんだけど良いライブラリあります?
できればワードみたいに入力中にもリッチな表現にしたい
無理なら入力中はただのテキストエリア、非入力中はリッチテキスト表示(Markdown風)でも可
2021/07/15(木) 02:12:29.61ID:Bg4t7qF5
ACID特性も二層コミットなどITパスポートレベルの言葉すら出て来ないとか、このスレのレベル落ちたな
2021/07/15(木) 11:03:54.58ID:YvGaZ0G0
メソッドは単機能にして短く記述すべきってのは出来るだけ意識してる
でも例えば「あるテーブルのアップデート」って処理があったとして○○条件の場合は□□レコードを更新とか、分岐を含んで行数が嵩んだ場合は各条件毎にメソッドを切り出したほうが作りとしてはいいの?

個人的には「あるテーブルのアップデート」っていう単一の機能しか持ってないからここから更に切り出すとかえって可読性が落ちるのかなあとも思うんだけど綺麗な作りとしてはどっちなんだろうか?
2021/07/15(木) 11:52:41.02ID:53A1iuau
名前を見ただけで何やってるかわかるような、適切な命名さえできるならどこまで細かく分けてもいい
名前が思い付かないなら分けるな
2021/07/15(木) 12:24:06.60ID:Whn2w6xi
>>146
条件によって更新対象を決定
更新
更新を保存
この3つは分けるのが基本だよ

foo = 更新対象の検索()
foo.DoSomething()
保存(foo)
2021/07/15(木) 12:28:34.62ID:BCsPZE5b
データベースだとコミットでは?
2021/07/15(木) 15:01:31.10ID:38KkMSUU
>>146
クラス分割と同じで責務の分割とか関心事の分離と言われる視点が最優先
行数とかは二の次

与えられた条件によって更新対象を判断するという役割が
「あるテーブルをアップデート」するという役割の中に完全に隠蔽されるべきものなのかどうか
2021/07/15(木) 18:25:48.78ID:nUmkW7e9
>>148
>>150
言いたい事は何となく分かる
出来れば分けたいけど、テーブルをアップデートする処理に隠蔽される(必要なもの?)気もする


変数名は適当だけどこんな感じの処理を書いてる(C#)
やりたい事は配列内の要素の状態によってアップデートする内容を変えたい
これが10レコード分あってレコードが増える事は無い
似たような処理だから出来れば関数化したいけど、条件分岐する要素の数がレコードによって違ったりする(ifの中身が1つの時や3つの時もある)からこれを切り出す良い方法が思いつかない…

// 1レコード目の更新処理
var query = db.change_statuses.Single (x => x.id == 1)
if(bol[100]) query.enable = 1;
else query.enable = 0;

if(bol[35]) query.state = 1;
else{
if(bol[40] || bol[41]) query.state = 2;
else if(bol[42] || bol[43]) query.state = 3;
else query.state = 0;
}

db.SaveChanges()
2021/07/15(木) 19:42:34.78ID:Whn2w6xi
>>151
データアクセスに隠蔽されるべき分岐というのはあるよ

例えばポリモーフィックなオブジェクトの保存処理とかだね
派生クラスAはテーブルAに
派生クラスBはテーブルBに
それぞれ保存したい
しかしメソッドの引数は基底クラスで受け取ってどちらも同じように使えるようにしたい
とかね

こういった要求はデータアクセスの実装の都合によるものだ
その知識はデータアクセスの責務を担うクラスとメソッドが引き受けるべき
そのために分岐が必要なら分岐させるのが正しい
153デフォルトの名無しさん
垢版 |
2021/07/15(木) 19:53:56.12ID:fWs3lP2K
Udemyの無料コースって登録し放題ですか?制限ありますか?
2021/07/15(木) 19:58:19.23ID:Whn2w6xi
>>151
int CalcEnable(bool[] bol) => bol[100] ? 1 : 0;

int CalcState(bool[] bol) {
if (bol[35]) return 1;
else if (bol[40] || bol[41]) return 2;
else if (bol[42] || bol[43]) return 3;
else return 0;
}

void UpdateFoo(Foo obj, bool[] bol) {
obj.Enable = CalcEnable(bol);
obj.State = CalcState(bol);
}

var foo = db.change_statuses.Single(x => x.id == 1);
UpdateFoo(foo, bol);
db.SaveChanges();
2021/07/15(木) 20:19:53.45ID:nUmkW7e9
>>154
すごい
分かりやすいしちゃんと分離出来てる

重ねて申し訳ないんだけど
>>151のコードを例にした場合、処理するレコードによって条件分岐の式(ifやelse ifの中身)が変わるときは、それぞれにメソッドを作るべき?
オーバーロードってやつを使えば良いんだろうか

// 2レコード目の処理
if(bol[36]) query.state = 1;
else{
//3つの要素を確認
if(bol[44] || bol[45] || bol[46]) query.state = 2;
//3つの要素を確認
else if(bol[47] || bol[48] || bol[49]) query.state = 3;
else query.state = 0;
}

// 3レコード目の処理
if(bol[37]) query.state = 1;
else{
//1つの要素を確認
if(bol[50]) query.state = 2;
//2つの要素を確認
else if(bol[51] || bol[52]) query.state = 3;
else query.state = 0;
}
2021/07/15(木) 20:32:04.05ID:Whn2w6xi
>>155
CalcEnable1 省略
CalcEnable2 省略
...

CalcState1 省略
CalcState2 省略
...


UpdateFoo1
 obj.Enable = CalcEnable1(bol);
 obj.State = CalcState1(bol);

UpdateFoo2
 obj.Enable = CalcEnable2(bol);
 obj.State = CalcState2(bol);


つうかその前にちゃんと意味が理解できる名前をつけたほうがいいよ
bol[35]はなんの真偽を表す値なの?
bol[40]の意味は?
1行目のレコードって何なのさ?
2行目とは何が違うの?
2021/07/15(木) 20:52:37.75ID:38KkMSUU
bolの知識に依存してるから
bolかbolをwrapしたクラスに聞けば
stateを答えてくれるようにするといい
(bolってなんか知らんけど)

テーブルをアップデートするメソッドは
stateやenableのような変数だけ受け取れば十分
2021/07/15(木) 21:08:05.11ID:nUmkW7e9
>>156
CalcEnableとCalcStateは中身に応じて複数作る必要があるってことだね

名前はごめん
ここに書くために適当な名前にしてる
bol[]は256点のビット信号を格納してる
例えばbol[1]は○○センサ、bol[2]は□□センサのON/OFFをtrue/falseで格納してるイメージ

データベースのテーブルは
id,name,enable,state
の構成になってて
1行目は1,機械A,0,0
2行目は2,機械B,1,0
みたいになってて
Aがテーブルのアップデートに参照するのはbol[35,40,41,42,43]
Bがテーブルのアップデートに参照するのはbol[36,44,45,46,47,48,49]
って違いがある
2021/07/15(木) 22:14:53.86ID:hgbJVeFb
GoFのテンプレートパターンかストラテジーパターンで綺麗に共通化できるよ
enableとstateの取り方を教えてくれるインターフェースを定義する
それをレコードごとに10個分実装する
更新ロジックはそのインスタンスとクエリーidだけ引数か何かで渡して貰えば、ひとつに集約できる
2021/07/15(木) 22:37:11.33ID:38KkMSUU
センサの信号の羅列を
アプリケーションにとって意味あるモデルに変換するのは
誰が担うべき責務なのかを考えるといいんじゃない?

DBにおけるリポジトリみたいにセンサの詳細を隠蔽するクラスを用意してそれにやらせるか
アプリケーション層に変換ルールを管理するクラスを用意して明示的に変換処理を挟むか
いずれにしろ永続化層でやる処理ではなさそう
161デフォルトの名無しさん
垢版 |
2021/07/16(金) 21:41:12.04ID:DRuxLTuc
なにも作成しない、更新もないパターンがあるとき
コードはif使って仕組みを明示すべき?
サンプルコード見てると、わりと空打ちできるように作ってあって全部通すのを見るけど

(1)
if make_data():
__update()

(2)
new = make_data()
if new:
__update(new)

(3)
update(make_data())

(4)
make_data()
update()
2021/07/16(金) 22:18:52.61ID:J3IrN4Ey
>>161
make_data()って名前で何も作成しないのはちょっと勘弁

まあfind_hoge()としてhogeに変更を加えてrepository.update(hoge)する場合なら
updateにnullやempty的なものは渡さないので(2)が一番まとも
関数の役割分担や責任範囲をどう考えるか次第なのでケースバイケース

(1)や(4)のようにレシーバーも指定せずに暗黙的に共通リソースを変更するのはあまり良くない
2021/07/16(金) 22:28:44.32ID:VW9BmXd5
>>161
そんなのは業務要件次第だよ
164デフォルトの名無しさん
垢版 |
2021/07/16(金) 22:35:19.90ID:DRuxLTuc
>>162
なるほど
了解しました
2021/07/16(金) 23:11:44.68ID:HlFxDsxb
windowsで複数ソフトをまとめてインストールして
システム環境変数を設定するプログラムを作成したいと思いますが、
どういった方法が良いでしょうか?
2021/07/17(土) 00:14:51.29ID:xmQE+uIu
タスクランナー・環境構築ツール

Linux, AWS なら、主にRuby 製のツール。
Vagrant, Chef, Itamae, Kumogata

Go 製のTerraform とか

Mac なら、Homebrew とか。
これも元々は、Ruby製

Windows なら、Chocolatey と言うのを聞いたことがあるけど、漏れは知らない。
漏れは、WSL2, Ubuntu 18.04, Docker を使うから
167デフォルトの名無しさん
垢版 |
2021/07/17(土) 15:06:40.88ID:eTC1af8g
>>165
ム板的には
https://docs.microsoft.com/ja-jp/windows/msix/desktop/desktop-to-uwp-third-party-installer
2021/07/19(月) 23:55:11.42ID:jyJepTNx
>>166-167
たくさんそれ用のアプリがあるんですね。
ありがとうございます!
2021/07/20(火) 00:02:07.78ID:Pdhee8xy
>>166
一つ伺いたいんですが、DockerからWindowsアプリのインストール、使用環境構築など出来ますか?
初心者なため、アプリ開発環境の構築などアプリ開発者向けのツールだとばかり思ってました。
2021/07/20(火) 00:35:56.82ID:8+mWqGJv
dockerは基本的にリナックスのツールだよ
Windowsコンテナもあるけど使ってる人見たことないねぇ
2021/07/20(火) 23:40:50.39ID:/fp0B2mS
基幹システム(のUIというかユーザー側)ってどんなんが多いの?
Windowsアプリ?Web?
2021/07/21(水) 07:13:32.21ID:8pbFLQqb
基幹が何を指すのかにもよるだろうけど社内の業務系システムはほとんどWebだろ
2021/07/21(水) 07:53:06.92ID:eN61x/pR
個々の端末にインストールが不要でOSを問わないから他の方式に変わる未来はないな
2021/07/21(水) 08:37:52.19ID:KG1goB3t
そうでもないぞ
クラサバ(クライアント側はWindowsアプリ)も多いし、アポロ計画さながらの黒背景に緑色の文字(いわゆるバカ端末)なんてのもまだまだ生き残ってる
2021/07/21(水) 08:49:23.26ID:eN61x/pR
んな特殊すぎるクライアントは一般業務じゃ使わないかな
ちなみに特殊というのは開発者しか使わないA5:SQLみたいな類のクライアントを含む
2021/07/21(水) 08:56:59.33ID:KG1goB3t
一般業務という謎用語は知らんが、例えば一般的なERPパッケージでもWindowsクライアントアプリは普通に使われるぞ
177デフォルトの名無しさん
垢版 |
2021/07/21(水) 11:53:18.71ID:cUhe3977
デフラグメンテーションとメモリコンパクションの違いはなんですか?
178デフォルトの名無しさん
垢版 |
2021/07/21(水) 12:16:23.37ID:DbniEar0
>>174
dumb terminal のことを(バカ端末)と言っているのだろうけど
直訳通りのバカではないぞ
179デフォルトの名無しさん
垢版 |
2021/07/21(水) 12:20:36.78ID:DbniEar0
>>177
花見の場所取りと風呂敷で例えると
風呂敷を隙間なく詰める操作がデフラグ
相席をお願いするのがメモリコンパクション
180デフォルトの名無しさん
垢版 |
2021/07/21(水) 12:31:22.08ID:cUhe3977
>>179
列が複数か1つかってことなんですかね?
2021/07/21(水) 15:34:47.29ID:+gtmguIj
基幹システムって訊いてるのに一般業務向けシステムの回答が多いのは何故なんだぜ
基幹システムはWeb全盛ってことはないな
一部の社員しか使わないからインストールのコストが比較的小さい
入れ替えスパンが長いのでトレンドに左右されにくい
どちらかというと外部から接続させたくない類のシステムなのでWeb化の動機が薄い
画面内にデータをなるべく詰め込みたい
キーボードを多用するのでショートカットキーもニーズがある
てなわけでクライアントアプリにオーナードローでキビキビと一覧やグラフを出したほうが顧客に訴求しやすいと思う
2021/07/21(水) 15:45:09.63ID:UcFQB6f9
Googleの基幹系システムはどういうシステム?
Amazonの基幹系システムはどういうシステム?

基幹系という分類が役に立つ時代ではない
2021/07/21(水) 16:23:29.94ID:eN61x/pR
社内システムのクライアントもwebな時代に何言ってんだと
インストール不要ってことは、アプリのアップデートもサーバだけで行うから配布コストが激減という理由からwebでという要望になる

金融だと勘定系はやったことないんだけど、どうなんだろ?
基幹システムって何?という話になってくる
2021/07/21(水) 19:32:46.47ID:yQY7BCFe
>>177
似たようなものだが
デフラグは断片化したファイルが連続になるようハードディスクで適用
メモリコンパクションはガベージコレクションのことで
空き領域を削除してつめること
ファイルの断片化はそのファイルにアクセスした場合パフォーマンスが低下する
空き領域を削除するのは要するにメモリ空き領域の改善
185デフォルトの名無しさん
垢版 |
2021/07/21(水) 21:05:05.86ID:Uy9noatQ
Web標準とやらのサポート期限がいつまでとか決まってるの?
2021/07/21(水) 21:42:16.70ID:1PajC+dW
AWS は、Amazon の基幹システム

元々、自社で使っていたものを、
クラウドとして貸し出す、業務を始めた
2021/07/21(水) 21:56:58.47ID:1PajC+dW
基本、システムはLinux でCUI のみを使う。
画面・GUI を使わない

Winows 10, WSL2 も、AWS と同じ。
Linux でサーバー・CUIしか使わないから、パソコンならWSL2 が良い

それに、Winows 10 Home 版でも、Docker を使えるようになった

コンテナをカスタマイズして、それをDockerイメージに保存して、
別の所へ持っていって使える。Import/Export

任意のLinuxディストリビューションをWSL2で動かす Clear Linux OSを動かすまで
ttps://impsbl.hatena@blog.jp/entry/ClearLinuxOnWSL2

(注意。はてなブログの一発アク禁回避のために、念のために、URL 内に、@を入れました)

だから最近のPC は、メモリ16GB 以上が必須(32GB推奨)。
8GBじゃ、キツイ
2021/07/21(水) 23:13:25.03ID:eN61x/pR
>>185
コンピュータとかインターネットのサポート期限と同じ
189デフォルトの名無しさん
垢版 |
2021/07/24(土) 03:15:13.97ID:mxtYPh7F
pythonを学び始めようと思っている高校生です。
webサイトでの支払いができないので、書籍を使い学習しようと考えているのですが、初心者には厳しいでしょうか?
また、学習の進め方や、得た知識をアウトプットする方法を教えていただけると幸いです。
190デフォルトの名無しさん
垢版 |
2021/07/24(土) 03:17:00.45ID:mxtYPh7F
将来的には機械学習に触れてみたいと思っています
2021/07/24(土) 04:05:29.93ID:2jz91/WX
>>189
できるようになるかどうかは個人差があるからなんとも言えないけど、さっさと本屋で入門書を買ってやってみれば良いよ
まずは1冊、分かりやすそうなのを買ってみて、ただ読むのではなく書かれているコードを自分でも実際に書いて動かしてみる。ただ真似るだけでなく、ここを変えたらどうなるか、こうなるはず、なぜそうならないか、など考えながら理解を深めていくといい
あとは、目標には簡単に到達できなくて当たり前、時間のかかるものだというのは初めに覚悟しておくこと
2021/07/24(土) 04:27:14.45ID:bQJ+pJ3Q
>>189
書籍を買うくらいなら、まずはネットに転がってる資料をGoogle Colab で動かしてみるといい
深層学習も TensorFlow の公式は Colab でチュートリアルしてる
2021/07/24(土) 04:43:09.87ID:bQJ+pJ3Q
>>189
深層学習はColab使ってればいいけど、いずれは無料GPUの時間制限が気になってくる
そうしたらPCにAnaconda入れてCUDA対応TensorFlowライブラリとか入れてJupiterNotebookを整備すればいい
194デフォルトの名無しさん
垢版 |
2021/07/24(土) 04:46:00.91ID:mxtYPh7F
>>191
ご回答ありがとうございます。勉強への姿勢は気になっていたので助かります。
特に目標達成は簡単ではないという考え方は、継続の励みとなるので非常に参考になりました。
2021/07/24(土) 04:51:32.29ID:bQJ+pJ3Q
まあ、Python嫌いだから深層学習以外に使う気は起きない
一つの事をやるのに何十と違う書き方があって、ブログやら記事やらサンプルコードやら読んでも役に立たないし
書き方もPythonのバージョンが違ってると動かないケースもざらな、そびえ立つクソ
196デフォルトの名無しさん
垢版 |
2021/07/24(土) 04:54:28.67ID:mxtYPh7F
>>192 >>193
ご回答ありがとうございます。
初心者なのでGoogle ColabやAnacondaなどの有用な知識は非常に参考になります。
それぞれ調べてみて、まずは優先順位が高そうなものから触ってみようと思います
197デフォルトの名無しさん
垢版 |
2021/07/24(土) 05:05:02.85ID:mxtYPh7F
>>192
度々失礼いたします。
素人質問で申し訳ないですが、「ネットに転がってる資料」というのはどういったものを指すのでしょうか?
また、その資料をどのようにしてGoogle Colabで扱うのかも教えて頂きたいです
2021/07/24(土) 07:31:30.24ID:bQJ+pJ3Q
>>197
例えばPython解説記事にはサンプルコードが必ずある
それを丸コピして動かしてみて、ある程度分かってきたらそれを改造してみる

Colabを勧める意図はMarkdownでメモとか書けるし、グラフライブラリでグラフとか画像出力も見れるし、Googleドライブに幾らでも保存して後で見れる
コマンドラインでPythonを叩くより自前の虎の巻を育てる方が勉強になり、colabで作ったノートブックはファイルなので実際に動作する資料として公開できる
199デフォルトの名無しさん
垢版 |
2021/07/24(土) 07:39:46.91ID:mxtYPh7F
>>198
ご回答ありがとうございます。
Colobの利用価値が大まかに理解できました。非常に分かりやすい説明ありがとうございます。
2021/07/24(土) 07:41:39.88ID:bQJ+pJ3Q
>>197
colab 初心者 でググると
https://kakedashi-engineer.appspot.com/2020/02/13/colab/
とか
https://engineers-career.info/blog/%E3%80%90%E5%9B%B3%E8%A7%A3%E3%80%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%88%9D%E5%BF%83%E8%80%85%E3%81%93%E3%81%9Dgoogle-colaboratory%E3%82%92%E4%BD%BF%E3%81%8A%E3%81%86/
といった記事があるから読むといい
201デフォルトの名無しさん
垢版 |
2021/07/24(土) 08:15:49.17ID:mxtYPh7F
>>200
参照してみました。具体的な操作方法まで紹介してあったのでとても役に立ちました。
ありがとうございます。
202デフォルトの名無しさん
垢版 |
2021/07/24(土) 10:33:03.70ID:a8zY8PyN
>>128
もう観てないと思うけど sprintf
2021/07/24(土) 10:46:21.23ID:Ce0VItIV
web系ってなんのアプリを作る人なの?
2021/07/24(土) 11:10:42.65ID:T4NKgITq
人によるだろ
今日の朝飯何食べたの?って質問と同じレベル
2021/07/24(土) 11:17:12.53ID:Ce0VItIV
>>204
なるほどw
ありがとう
2021/07/24(土) 12:41:15.90ID:zz8rVX09
web系でも、web制作はホームページを作るアルバイト。
販売システムなどではなく単純なもの。
Linux サーバーを知らない、画面だけを作る人

一方、web開発・自社開発系は、食べチョクみたいな若い女の子が、
1人で起業して、Linux で販売システムを作るような、複雑なもの

皆が勉強するシステムは、Ruby on Rails, Linux, Heroku, AWS。
よく知らないけど、Shopify で、お店を作れるかも

YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、

基本情報技術者資格、Rails, Linux, Docker Compose, Node.js, Bootstrap
VSCode, Heroku, CircleCI、データベース

KENTA の本かサロン、動画を参照
207デフォルトの名無しさん
垢版 |
2021/07/25(日) 11:53:06.99ID:e5avA9Jr
ケンタの本とは?
208206
垢版 |
2021/07/25(日) 21:22:58.22ID:Ie3kKwwU
21世紀最強の職業 Web系エンジニアになろう
AI/DX時代を生き抜くためのキャリアガイドブック

勝又 健太、2020/11

YouTube・雑食系エンジニア・KENTA のサロンは、日本6位の2千人。
こんなニッチな領域で、2千人も入るのは前代未聞

KENTAは数万人も入っている、キンコン西野のサロンを目指している
2021/07/26(月) 15:10:53.20ID:H5g87deE
アプリ1はHogeのA, Bを更新したい
アプリ2はHogeのB, Cを更新したい
この場合クリーンアーキテクチャで言うところのUseCaseはどう作るのがベター?

こんな感じ?
UpdateHogeAAndBCommand { public int A ; public string B; }
UpdateHogeBAndCCommand { public string B; public DateTime C; }
UpdateHogeUseCase {
public void Handle(UpdateHogeAAndBCommand cmd) { ...
public void Handle(UpdateHogeBAndCCommand cmd) { ...

それともMapで属性名と値を渡すようにして1つにまとめちゃったほうがいいのかな
2021/07/26(月) 15:37:47.44ID:GiNSwniz
>>209
その2つを同じUseCaseに入れる意味がわからない
別のユースケースなら別でいいだろ
2021/07/27(火) 13:30:44.53ID:X5wO1kbR
OSはWin10 Pro 64bit 言語はC#(.net Framework 4.7.2)で、
アプリの設定をファイルベースのDBに保存したいのですが、SQLite と SQL Server 2016 LocalDBのどちらにするかで迷っています。
INSERT/UPDATE/DELETEは殆どなく、処理の90%以上がSELECTです。
テーブル数は27・カラムは合計179、最もレコードが多いテーブルでも2万レコード程度(増減は殆どしない)です。

SQLite と SQL Server 2016 LocalDBのどちらがよいでしょうか?
2021/07/27(火) 14:35:42.48ID:y5dQxW9i
SELECTはSQLiteがぶっ飛びで速い
2021/07/27(火) 14:45:19.08ID:TzN/PNfp
LocalDBはSQL Serverサービスを常時運用しなくても必要なときだけ立ち上がる開発用のSQL Serverサブセットで、実運用に使うようなもんじゃないぞ
MSに生涯の忠誠を誓い、実運用でSQL Serverを使うつもりである場合にのみ意味がある
214211
垢版 |
2021/07/27(火) 15:04:07.96ID:X5wO1kbR
>>212-213
ありがとうございます!
気持ちがlocaldbに流れかけてたので本当に助かりました。
215デフォルトの名無しさん
垢版 |
2021/07/28(水) 00:46:59.21ID:zPjSIPPt
2004年頃、UMLmemoというクラス図が描ける無料ソフトがありました。
これの進化版のような無料ツールがあれば教えて下さい。

※今で言うところのEnterpriseArchitectみたいなツールの無料版です。

必須の機能
・クラス図同士を矢印で繋げられる
・PowerPointのように図を縦や横で整列できる ←この機能はUMLmemoには無い
・クラス図自体は小さいが、クラス図をダブルクリックすると窓が開いて(外部ファイルを貼れたり)詳細について書ける ←この機能が欲しいです

今調べたところ、draw.ioには詳細を書ける機能はありませんでした。
お願いします。
216デフォルトの名無しさん
垢版 |
2021/07/28(水) 10:20:47.51ID:I0vZ6ZDJ
GraphViz
2021/07/28(水) 11:32:06.53ID:zPjSIPPt
>>216
ありがとうございます。
GraphVizでコーディングするのは大丈夫です。
しかし、GraphVizで親が子を持つような入れ子構造を実現できますか?
今、検索してみましたが、そんな機能は見つかっていません。

↓ここが詳しいですが、そんな機能は見つかりません:
https://qiita.com/rubytomato@github/items/51779135bc4b77c8c20d

イメージで言うと
https://renenyffenegger.ch/notes/tools/Graphviz/examples/index
Nested clusters
の起動後はParentだけ見えて
ParentをクリックするとChild oneとChild twoが見えて
Child oneをクリックするとaとGrand-Child oneとGrand-Child twoが見えるように出来ますか?
2021/07/28(水) 12:39:01.45ID:v8tX95iU
plantumlおぬぬめ
2021/07/28(水) 17:18:56.22ID:zPjSIPPt
>>218
PlantUMLは親が子を持つような入れ子構造を実現できますか?

検索してみましたが、そのような機能は見つかっていません。

クラス図
https://plantuml.com/ja/class-diagram
2021/07/28(水) 19:12:32.57ID:J8YGj+mJ
マルチコア環境でのマルチスレッドで同じ変数にアクセスする場合、
変数が32bitで書き込みをするスレッドが1つでも排他制御したほうがいいんですか?
2021/07/28(水) 19:28:35.22ID:JafAKvAD
>>220
場合によるけど、そんな質問をするレベルならおそらく排他制御は必要
変数の読み書きがアトミックかどうかと処理がスレッドセーフかは別問題であって、
明示的な排他制御を行わないマルチスレッド処理はかなり高度なタスクなので君にはたぶんまだ早い
2021/07/28(水) 21:54:14.08ID:DIkQ/nRv
変数の命名規則でローマ字を使うことってある?
業務アプリなんかで世間一般的な言葉じゃない用語を翻訳した英語の変数名にすると馴染みがなくてかえって分かりづらい部分もあるのかなと思うんだけどこの辺はケースバイケースって感じ?
個人の考えやプロジェクトの決まり事にも寄るんだろうけど…
2021/07/28(水) 22:12:52.01ID:3xUlZNw3
ない
2021/07/28(水) 22:23:17.66ID:lXzRz4D2
当然あり
特定の会社の独特な語彙や業界用語は必ずしも英語に訳せない
訳すと却って意味不明になる
KaroshiやSushi、Hentaiを英語で言い換えてもニュアンスが伝わらなくなってしまうのと同じ

プロジェクトはある程度の期間アサインされる
最初のうちはローマ字を見て悪寒が走ったとしてもすぐに気持ちよくなって自分から使いまくるようになるさ
225デフォルトの名無しさん
垢版 |
2021/07/29(木) 08:37:32.88ID:DRuxLTuc
そりゃプロジェクトでいえば
xx03p325n0021みたいなやつもあるしな
関数名ファイル3巻の325ページの21番目
馬鹿だなとは思うけどカタカナだって全然あるでしょ
226デフォルトの名無しさん
垢版 |
2021/07/29(木) 08:38:23.73ID:DRuxLTuc
お?
偶然か?
227デフォルトの名無しさん
垢版 |
2021/07/29(木) 11:25:11.94ID:IP7To/2+
UIの質問です。
DBから取得したデータをDataGridViewに表示して、
[〇〇の昇順/降順] というソートと、[〇〇が××] という絞り込みをするUIを作りたいのですが、
ソート項目も絞り込み項目もかなり多い(両方30以上ある)為、それらを一覧表示すると目が痛くなるような状態です。

そういう多数の項目をスマートに表示されているサンプルを教えていただけないでしょうか。
Webサイトでもいいです。
2021/07/29(木) 12:36:17.53ID:Bm0Z0U0B
VSCode の拡張機能なら、

GrapeCity のExcel Viewer
RainBow Query Language(RBQL) を使った、Rainbow CSV
Edit csv
2021/07/29(木) 14:07:51.75ID:J3IrN4Ey
>>227
ソートはDataGridViewColumnSortModeのAutomaticでいいのでは?

絞り込みUIのメジャーな形式は以下の3種類
1. Excelのオートフィルタな的なUI
2. 検索ボックスで「拡張子:txt」みたいな式を受け付けるUI(Windowsのエクスプローラ)
https://support.hp.com/jp-ja/document/c03278508
3. フィルタ条件を可変個追加できるUI(MacのFinder)
https://support.apple.com/ja-jp/guide/mac-help/mh15155/mac

↓DataGridにExcelのオートフィルタ的な機能を追加するライブラリ
https://github.com/davidegironi/advanceddatagridview
2021/07/29(木) 14:31:53.72ID:EOE1n8Rl
>>229
自分は227じゃなく単なる通りすがりだが為になった、ありがとう

既に227に似たDBとUIを作れてて、絞り込み項目を2個作ったが、
絞り込み項目は全部で15個必要なんでどう表示しようか迷っていたところ
オートフィルタ的なのでもいいし、MacのFinder形式でもいいな
2021/07/29(木) 15:10:25.07ID:J3IrN4Ey
そう言えばWebだとハンバーガーメニューのようなドロワーを使うケースもよく見るね
2021/07/29(木) 15:23:47.61ID:EOE1n8Rl
>>231
ああ、確かにハンバーガーメニュー = ドロワーメニューはよく見るね
それも検討しよう、ありがとう
233デフォルトの名無しさん
垢版 |
2021/07/29(木) 17:01:14.73ID:tRu2KZQa
Accessの選択フィルタが好き

まあ、右クリックなんてイマドキ無理か
2021/07/30(金) 01:22:58.69ID:bAotqF4s
webUIは右クリックに頼れないからなぁ
機能を画面内に押し込むのに毎回腐心してる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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