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

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

【前スレ】
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
次スレは>>980が立てること
2022/02/20(日) 22:04:23.11ID:uUEkIMOM
>>116
社長/上司/営業とエンジニアの軋轢の話はまた別
2022/02/20(日) 23:13:47.64ID:YMeF5ZiJ
つーか社長がそこまで技術的な部分に介入してくる会社の時点で地雷だろ
DBとかUI以前の問題
2022/02/20(日) 23:58:04.82ID:ws7MjhS+
思いつきをいうステークホルダーが一人だけでしかもある程度技術に興味があるなら時間を惜しまず説明すればいけそう
2022/02/21(月) 07:46:59.41ID:Gf4lGfIx
>>119
> 「ある程度」技術に興味がある
それ最悪やぞ
中身をよくわかってないのに思いつきでこうした方がいいとか言われて内心「それもう検討してダメってわかってるのに…」と思いつつ説明すると、いやこうすればいいだろって頓珍漢な代案出されて…
2022/02/21(月) 08:37:03.80ID:yf+sDODq
経験豊富なおれがいちばん大変だったのはコレ!って愚痴りたいまつり
2022/02/21(月) 08:39:06.68ID:lE+t15Lw
>>118
技術的な問題だから変更できない
なんて言う会社は外部から見ると無能の烙印押される
GAFA級にならないと
2022/02/21(月) 10:20:49.12ID:1BCnZvzG
おまえ(客)が金出さないからできないんだよ、よりも技術的な問題でできないんですの方が話がスムーズに進むんだよ
こっちが悪いと思ってなくてもすみませーんと謝るのと同じ
言葉通りに受け取るなって
2022/02/21(月) 10:36:05.50ID:g+AbY5XQ
>>120
これから先の世代の日本ではそういうお客様が爆発的に増えるだろうね
義務教育で中途半端に教えちゃうもんだから
2022/02/21(月) 13:12:10.99ID:hZ56K44U
>>122
いやそういう話じゃねーよ
社長がカラムやらインデックス云々言ってる時点で論外なんだよ

社長がやるべき業務は経営であって、そんな下流工程に気をつかうほど規模が小さい会社にそもそも入るべきじゃないってこと
2022/02/21(月) 13:20:58.55ID:hmj3zREZ
>>125
社長「実は先週から提携した顧客がいてまあまあ大手なんだがカラム追加して検索できたらうちのサービス利用してもらえるって言われたからすでに契約済みなんだよ」
「経営判断だからよろしく」
2022/02/21(月) 13:30:17.42ID:nzHPNFSp
検索用の読み取り専用RDB用意するだけだろ?
2022/02/21(月) 13:55:35.93ID:hmj3zREZ
>>127
社長「明日まで対応だからな。追加予算なんてない。そもそもカラム追加になんで検索用とか必要なんだよ!?俺が知らないと思ってバカにしてんのか!?」
2022/02/21(月) 14:40:04.74ID:EnKPT8cD
仕様変更、仕様の追加は別予算
これは社内、客にも徹底してもらわないと
2022/02/21(月) 15:25:09.72ID:hmj3zREZ
社長「そんな細かいことまでやってたら客を逃すんだよ!誰がお前の飯代払ってると思ってんだ!?いいから今すぐやれ!」
2022/02/21(月) 15:37:24.76ID:yoPE59bl
脳内社長のお人形遊び楽しい!w
2022/02/21(月) 22:30:28.08ID:isLiSRno
完全に0からゲームを作る場合はRPGツクールのような管理画面的なものから作り始めるのでしょうか?

それとも無の状態から1つずつ積み上げていく感じですか?
133デフォルトの名無しさん
垢版 |
2022/02/21(月) 22:40:28.89ID:ytqVjd2E
開発規模と経験と実績から自明
素人が無から手を出すならとりあえず書き下ろしで駄目になるとこまで書いてみよう
134デフォルトの名無しさん
垢版 |
2022/02/21(月) 23:58:22.13ID:NNYD5t07
動的なウェブサイトを作りたいということもあって、
JavaScriptの入門書(独習 JavaScript 新版とかいう本)を読んでいるのですが、
難しい上に長いから全然読み進められないのですが、
もっと良い感じの本は無いのでしょうか?
あったら教えてほしいです。
あと、やっぱりプログラミングの入門書は、最低一回は全てのページを読み終えた方が良いのでしょうか?
それとも、必要に応じて必要な箇所を見ながら実際にプログラミングをしていくという方が良いのでしょうか?
回答よろしくお願いします。
2022/02/22(火) 00:55:09.10ID:gr38xJ4b
作るのが目的なら本は検索のためのキーワード抜き出しに使う程度でいい。読む必要なし。ぐぐりながら作れ
2022/02/22(火) 02:13:21.92ID:1HzLyYNk
何が難しかったのかわからんと答えようがないな
いきなり本買うんじゃなくて立ち読みで狙いに合ってそうか確認しなよ
2022/02/22(火) 06:38:44.59ID:am1CpfzL
>>134
その本は捨てるか売っていい
どうせ読まないだろ

全て読めば動的サイトが作れるようになるわけではない
やりたいことをググりながら似たことを説明しているサイトを参考にして実現していく
それを繰り返していくこと
2022/02/22(火) 08:57:53.94ID:3U05PTVk
プログラマーが読むべき本ってリーダブルコード以外にありますか?
技術的な本は専門的なことじゃない限り公式リファレンスとかで十分な気がしてあまり読む気がおきません
2022/02/22(火) 09:47:20.11ID:AiPUeoxY
読む気が起きないなら読まなきゃいい
2022/02/22(火) 12:05:41.84ID:PJNd20tl
Code Complete
2022/02/22(火) 12:34:42.18ID:ysWljmej
>>134
ブラウザを作っているプロなどは、2冊のサイの表紙のサイ本を読む。
プロ用の本だから、Ruby の数倍も難しい。
10年ぐらいの歴史の変遷を追っかけるのが大変

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

ES3 とか、古い規格には皆、苦しめられてきた。
JavaScript 第6版、2012、David Flanagan

だから、jQuery, Type Script, Coffee Script など、無数のAlt JS が作られた。
JavaScript でプログラミングするのが非常に難しいから

可読性が悪くて、バグが多いから
2022/02/22(火) 12:51:31.55ID:hpMnYFXb
サイ本は7版が最近出たぞ
2022/02/22(火) 15:11:04.16ID:wBV0PE3F
継承が良くないとよく聞くが何が良くないんだ?
継承をやめた結果がtypeプロパティによる条件分岐ではむしろ悪化してない?
2022/02/22(火) 15:16:17.31ID:UezYZR62
>>143
継承は難しいから
階層が深くなるとまた苦しい
最初のクラス設計時に将来の拡張まで考えたカプセル化等のデザインを考えるのも難しい
型で分岐はアホの極み、悪化してる
そうじゃなくてhas-aの委譲や関数型プログラミングで対処する
2022/02/22(火) 15:26:36.59ID:wBV0PE3F
>>144
継承をhas-aで解決できるとは思えないんだが…
解決できるとしたらそれはモデル設計が最初から間違えていただけでは?
関数型でやろうとするとtypeでの分岐にならん?
似たようなのでパターンマッチというのも最近は目立つようなってきたけどこれもtype分岐が複雑化しただけ
2022/02/22(火) 16:14:07.81ID:8ePuCs7J
愚痴ってるヒマがあるなら言った仕事をちゃんとやれ
2022/02/22(火) 16:57:29.98ID:mb+8cMlg
>>145
継承するにしてもオブジェクトを最初に生成するタイミングでは具象クラス名を書く
このときに依存性やストラテジを注入すれば継承に限らず多態性を実現できるよ
2022/02/22(火) 17:19:43.47ID:wBV0PE3F
>>147
それは仮想関数テーブルを自前実装するようなものでは?
2022/02/22(火) 18:57:12.23ID:VUFBPNtu
>>148
大仰な仕組みのいらないごくありふれたデザインパターンだよ
2022/02/22(火) 19:00:06.74ID:VUFBPNtu
書き込むたびにID変わるのなんでだよ楽天さんよぉ
2022/02/22(火) 19:00:27.47ID:VUFBPNtu
お、変わんなかった
2022/02/22(火) 19:41:34.73ID:fgsAKQYY
>>149
ストラテジは動的にストラテジを切り替える場合(例 :設定値による切り替え)や
アルゴリズムの枠だけ用意してストラテジを利用者に選ばせる(例:map, filter)場合
に使うパターンであって継承とはまた違うものですね

継承の場合は業務をモデル化したときに静的に関係が決まるのでここにデリゲートをかまして動的にする意味はないです
普通に仮想メソッドでいいでしょう
2022/02/22(火) 19:43:13.61ID:qcDIuRpU
継承が良くないとよく・・・聞かないぞw
ケースバイケースだろ。なんでそこで使うんだよって良くないのはあるけど
2022/02/22(火) 19:47:41.41ID:fgsAKQYY
>>153
TypeScriptに関わると継承憎し、クラス憎しな人が結構な率で現れますよ
2022/02/23(水) 02:58:54.87ID:2ldPnMFv
すいません。初心者です。超初歩的な質問で恐縮です。例えば↓
void draw() {
if(cam.available() == false) {
return;
}
cam.read();
image(cam, 0, 0);
} というプログラムがあるとします。
この{}の次に「改行して書くやり方」が「生理的に受け付けないくらい気持ちが悪い」のです。これを↓
void draw() {if(cam.available() == false)
{return;}
cam.read();
image(cam, 0, 0);}
のように「ギッシリ詰めて書く」という事は可能でしょうか?
詰めて書いても実行に何の問題も無いですか?
生理的な問題で「ギュッ」と纏まってないと落ち着かないのです。
「人に見せる時に読みにくくなる」等の問題もあるでしょうが、動作に支障ないなら独自路線で頑張りたいのですが。
2022/02/23(水) 03:44:54.50ID:obqtoF8C
言語によるけどその言語(c#?)ならたぶん問題ないよ。改行なんて全部消して一行で書け
2022/02/23(水) 05:32:59.83ID:QMvGYxPa
良いんじゃね。
Pythonはインデントでたまにがっかりするが。
2022/02/23(水) 06:01:46.48ID:KFI2d+fo
人に見せる機会があるなら普通の書き方した方がよくね
まぁ仕事じゃなくて趣味の範囲ならどうでもいいけど
2022/02/23(水) 06:03:32.11ID:8XUT1BDs
趣味の個人開発ならアリだけど業務開発とかideの手助けを受けるなら苦労しそう
2022/02/23(水) 06:32:30.27ID:2ldPnMFv
>>156
ありがとうございます。丁度C#をやろうと思っていました。
本音を言えば「一行で書きたい」と思っていたので正に思っていたことをおっしゃっていただきありがとうございます。

個人的にゲームを開発し、人に見せる気は無かったのでこれでいこうと思います。
皆さん、ありがとうございました。
2022/02/23(水) 11:59:23.57ID:FxZT1eeT
8ビットPC時代の一画面プログラムかよw
2022/02/23(水) 12:23:25.05ID:PDfOakC2
無駄な空白も消してみんなぎゅっとしよう
void draw(){if(!cam.available()){return;}cam.read();image(cam,0,0);}
密だっていいじゃない
文字だもの
2022/02/23(水) 12:40:34.18ID:PssNo99E
1文で書けるなら改行なしでも違和感ないけどifとかwhileの制御構文が入ってくると可読性がヤバくなるからおすすめしない

どこまでのコード量なら1行に詰めるか自分用のルールは決めといた方がいい
2022/02/23(水) 13:58:35.34ID:wKfqGXJ0
Ruby on Rails の単一テーブル継承・STI(Single Table Inheritance)は有名。
主に、検索の利便性

例えば、会社・家表に、同じ住所項目がある場合、
住所表を作って、住所表から会社住所表・家住所表を継承させる

HomeAddress < Address
WorkAddress < Address

Railsが裏側で、住所表のtype 列が0 なら家・1なら会社と切り替える。
会社住所表・家住所表という実体はなく、住所表しか存在しない

会社住所または家住所が東京にある、顧客を検索する場合、
住所表1つだけの方が、検索性能が良い
165デフォルトの名無しさん
垢版 |
2022/02/23(水) 15:24:31.88ID:byGXC1Fx
なんかWEBサイトのjsみたい
2022/02/23(水) 15:33:38.24ID:wNcLFBxP
人に見せるときはフォーマッターを使って
人が見やすいように整形すればいいだけじゃないの
2022/02/23(水) 15:40:53.71ID:n4QLtIZ7
整形するなら高須クリニックみたいな所に通わないと
2022/02/24(木) 05:18:58.15ID:jcAfJg3X
新卒2年目のプログラマです

ループ処理を行う場合、基本的にforeachを使っているのですが、カウントが必要な単純なループでforを使った所
先輩からカウント用の変数を用意するかselectメソッド(c#です)を使って全部foreachで統一してと言われました
(コーディング規約にあるわけではないです)

わざわざカウント用の変数を用意するのも、速度的にfor使用時より遅くなるselectメソッドを使用するのもなんだかスッキリしないなあと思っています

他の現場を知らないのですが、これは開発の現場では当たり前の事なのでしょうか?
ちなみに皆さんはどうされていますか?
2022/02/24(木) 09:31:43.11ID:ycqMJ20y
理不尽なことを押し付けられるのは当たり前によくあること
いちいちなぜなのかとか逆らったりするのは労力の無駄
2022/02/24(木) 09:43:15.52ID:pVKiKajR
ケチ付けられたらコードを晒してくれなくちゃパイセンの擁護は出来ないな
2022/02/24(木) 09:57:04.10ID:5EPKB3Xk
思ったならその場で言えば良かったじゃん
何も言えず掲示板で愚痴った時点でこの勝負はお前の負けや
2022/02/24(木) 12:04:16.87ID:82W7j8jp
Ruby では、繰り返しにindex や、蓄積変数を付けたものがある。
または、each に付ける事もできる

つまり、書き方が決まっている

ary = [ "a", "b" ]
ary.each_with_index do |element, index|
p "#{ index }:#{ element }"
end

出力
"0:a"
"1:b"

ary = [ "a", "b" ]
# 初期値は1
ary.each.with_index( 1 ) do |element, index|
p "#{ index }:#{ element }"
end

出力
"1:a"
"2:b"

同様に、蓄積変数を付けたものもある。
each_with_object( obj ), with_object( obj )
2022/02/24(木) 12:31:55.94ID:D9/QhxEj
>>168
ここは技術板だから「先輩にどう対応したらいいか。プログラマ業界の他の職場ではどうなのか」って話は板違い。プログラマ板へどうぞ
2022/02/24(木) 12:33:04.26ID:2qhRGcQ8
>>168
頻出パターンだから拡張メソッドで一般化しておくのがいいと思う
foreachでカウント用の変数を都度用意してたらcontinueとかでバグる可能性もある
forの場合は将来的に要素へのindexアクセスが変な形で拡張されたりリファクタリングの妨げになる可能性がある
(メンテする技術者のレベル次第)

public static IEnumerable<KeyValuePair<int, T>> Enumerate<T>(this IEnumerable<T> collection){
int index=0;
foreach (var item in collection) {
yield return new KeyValuePair<int, T>(index++, item);
}
}

foreach (var (i, v) in foo.Enumerate()){

}

↑この拡張メソッドの場合はTがintの場合に(i, v)を(v, i)と勘違いしてバグる可能性はある
2022/02/24(木) 12:35:41.36ID:6X2WQPLr
SQLに文字列投げる前のバリデーションに使う正規表現で鉄板なの教えてください
英数字記号で、クォーテーションとかSQLだと危ないやつは弾く感じの
2022/02/24(木) 12:43:46.72ID:ycqMJ20y
sql命令を文字列として作らずパラーメーターとして渡す
2022/02/24(木) 12:48:01.07ID:jcAfJg3X
自分の書き方が悪くグチを言っているみたいになってしまいすみません

レスの最後の2行は先輩への対応方法を聞いているわけではなく、カウントが必要な単純なループを皆さんはどの様に対応されますかと言う質問でした

>>172
なるほど、Rubyはそうなんですね!
ありがとうございます!!

>>174
拡張メソッド良いですね!
自分なりに保守性を考慮して考えてみたいと思います
めっちゃ参考になりましたありがとうございます!
2022/02/24(木) 13:03:32.01ID:5we6KcaS
プログラミングは全てケースバイケース
そんな細かい所を統一する意味は全くないからその時に書きやすい方を使うのが正解だよ
2022/02/24(木) 13:47:22.35ID:7WoYZRJz
自分はforeachではないforが出てくるのは最終手段だと思ってるのでSelectさせる

インデックスを得る手段がもう少しマシな方法ほしいのだが
2022/02/24(木) 15:38:45.00ID:1DMGsg19
転職の言語要件に
@vb.netとc#ならわかるんですが
Ac#とjavaって書いてある所があり

括りとしてはどっちが正解なんですかね?
個人的には@かと思うんですが

Aの所は避けた方が良いですね?
2022/02/24(木) 15:46:25.40ID:5we6KcaS
せっかくだから俺はAを選ぶぜ
2022/02/24(木) 15:51:20.71ID:ycqMJ20y
javaはスマホ開発もするってのが多い
vb.net入ってる方が地雷だと思うぞ
2022/02/24(木) 17:03:20.09ID:+aDYy71x
foreachの中心的価値の一つはコレクションの最初から最後までもれなく処理対象としていることをアッピルする効果だと思う
forでは先頭の要素や末尾の要素だけ処理していないとき、バグなのか意図的なのか即座に判断できないことがある
foreachで統一的に書く方針には一定の合理性があると思う

俺はIDEの支援込みでfor文使ってた
カウンタの初期化とインクリメント文を書くのだるいなと思ったけど、for文でもカッコ内に同じことが書いてあるのでまあいい気もする
でもブロック末尾のインクリメントは書き忘れるんだよな
-1で始めてすぐインクリメントしてもいいけど微妙
2022/02/24(木) 17:10:25.79ID:ycqMJ20y
そんなあなたにfinally
2022/02/24(木) 18:33:43.52ID:+aDYy71x
really?
186デフォルトの名無しさん
垢版 |
2022/02/24(木) 20:18:19.15ID:MZJU+q2v
ジョブ運用管理のOSSって何が有名?
cronが多いのかな
2022/02/24(木) 20:27:03.32ID:5we6KcaS
sidekiqとか?
188デフォルトの名無しさん
垢版 |
2022/02/24(木) 20:51:05.92ID:NBv0zeLR
命名スレないっぽいのでここで聞きたいんだけど
デスクトップアプリケーション作ってて、ボタンは一箇所にまとめてある
入出力、テストや表示、操作など

app.___.load_btnとかapp.___.test_btnとかいう構造のとき、ボタンウィジェットの親の名前ってなんてつけるのです?
app.console.load_btn? cmdpanel? btns?
189デフォルトの名無しさん
垢版 |
2022/02/24(木) 20:52:39.24ID:NBv0zeLR
あ、ボタンは複数個あって親フレームにひとまとめに配置してある
この親フレーム名 は? という質問です
2022/02/24(木) 21:02:40.71ID:iDpw9I/7
>>188
> 命名スレないっぽいのでここで聞きたいんだけど
検索能力なさすぎだろ…

クラス名・変数名に迷ったら書き込むスレ。Part29
https://mevius.5ch.net/test/read.cgi/tech/1619427133/
191デフォルトの名無しさん
垢版 |
2022/02/24(木) 21:16:15.58ID:NBv0zeLR
>>190
命名とか設計で検索してたw
失礼した
192デフォルトの名無しさん
垢版 |
2022/02/24(木) 21:36:16.86ID:sqPOmgLf
>>134です。
皆さん、回答ありがとうございます。
動的なサイトというのは、具体的に言うと、巨大画像掲示板群サイトを作ろうとしているのですが、
それを作るために必要な言語などは以下のものだけで良いでしょうか?

HTML、CSS、PHP、JavaScript、MySQL、データベースについて

これ以外にも必要な言語などがあれば教えてください。
あと、やっぱり巨大画像掲示板群サイトを作るとなると、
JavaScriptは避けては通れないですよね?
JavaScript無しで作る事は不可能ですか?

そもそもプログラミングを始める順番は、HTML→CSS・・・の順で良かったのでしょうか?
自分は元々あまりコンピュータとかソフトウェアとかネットワークなどというものに対して
あまり詳しくないので、プログラミングをしたかったらもっと根源的なところから始めるべきなのでしょうか?
そこらへんについてもいろいろ教えてほしいです。

回答よろしくお願いします。
2022/02/24(木) 21:48:59.13ID:ydRUnLFS
html、PHP
(phpじゃなくてほかのでもいいけど)この二つがあれば作れる。その他は必須じゃない
「php 掲示板 作り方」なんかでぐぐって意味わからなくていいからコピペでまずは文字の掲示板を適当に作るところからかな
2022/02/24(木) 21:49:45.68ID:JxtsCxtE
巨大画像掲示板は転送量代で月に何十万、何百万もかかるからそのつもりで
2022/02/24(木) 21:55:35.90ID:82W7j8jp
前スレの、>928
Ruby で作ってみた。
Rubyスクリプト内で、7-zip を実行すると、

7-zipでは解凍する際、同名のフォルダが存在すると、
上書きするかどうかを聞いてくるので、そこで実行が止まる

それを避けるため一旦、現在日時から、
新しいフォルダ・dest_dir を作って、その中に解凍する

7-zipでは、同名のフォルダが存在しても、エラーにすることも出来ない。
そのフォルダ内に解凍しようとするから。
また事前に、アーカイブ内のフォルダ名を取得することも出来ない

dest_dir は、現在日時から作った、新しいフォルダ。
dest_dir内には、アーカイブを解凍した、decomp_root_dir と、
decomp_root_dirの末尾に、_out を加えた、out_dir の2つを作る。
out_dir内には、フォルダ階層を作りながら、処理した画像ファイルを入れていく

デスクトップには、ショートカットを作る。
リンク先には、Rubyの実行パスと、Rubyスクリプトファイルのパスを書く

リンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/Ruby/script.rb

作業フォルダ
C:\Users\Owner\Desktop

そのショートカットに、解凍したいアーカイブ、
C:/Users/Owner/Documents/data/z.zip を、Drag & Drop する

次へ続く
196195
垢版 |
2022/02/24(木) 21:56:18.77ID:82W7j8jp
require 'pathname'

# 7-Zipの実行パス。Program Files には半角空白があるので、要注意!
ZIP7_EXE_PATH = "C:/Program Files/7-Zip/7z.exe"

# expand_path で、Windows のパス区切り \ を、/ に変換する
src_arch_path = Pathname( ARGV[ 0 ] ).expand_path
#=> C:/Users/Owner/Documents/data/z.zip

# 現在時刻からディレクトリ名を作る際、名前が衝突しないように、念のため、1秒進める
sleep 1

# DateTime は非推奨なので、Time を使う
dest_dir = src_arch_path.parent + Time.now.strftime( "%Y%m%d_%H%M%S" )
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030>

dest_dir.mkdir( ) # ディレクトリを作る
print "#{ dest_dir.to_s } フォルダを作りました\n\n"

# 7z x -o(解凍先パス) (アーカイブパス)
# 解凍する。Program Files には半角空白があるので、"〜" で囲む
puts %x("#{ ZIP7_EXE_PATH }" x -o#{ dest_dir } #{ src_arch_path })

次へ続く
197195
垢版 |
2022/02/24(木) 21:57:06.88ID:82W7j8jp
# dest_dir の直下には、1つだけ解凍されたディレクトリがあると想定する
decomp_root_path = dest_dir.children[0]
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z>

decomp_root_dir = decomp_root_path.basename.to_s # ディレクトリ名。z

# 末尾に、_out を加えた、ディレクトリ名。z_out
out_dir = decomp_root_dir + "_out"

# decomp_root_path の末尾に、_out を加えたパス
out_root_path = dest_dir + out_dir
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z_out>

out_root_path.mkdir( ) # ディレクトリを作る
print "\n#{ out_root_path.to_s } フォルダを作りました\n\n"

# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
decomp_root_path.glob( "**/*.{png,jpg,jpeg,gif,bmp,webp}" ) do |full_path|

# decomp_root_dirの部分だけを、_out を加えて、out_dir に変えたもの
out_full_path = out_root_path + full_path.relative_path_from( decomp_root_path )

dir = out_full_path.parent # ディレクトリ
# ディレクトリが存在しなければ、親ディレクトリも含めて作る。mkdir_p
dir.mkpath unless dir.directory?

# ここに、各画像ファイルの変換処理を書く!
end

次へ続く
198195
垢版 |
2022/02/24(木) 21:58:12.15ID:82W7j8jp
# つまり、z フォルダの部分だけを、z_out に変えたものになる

#<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z/zz/a.jpg>
#<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z_out/zz/a.jpg>

# ZIP 形式のアーカイブを作る。-tzip
# 7z a -tzip (アーカイブパス).zip (アーカイブしたいフォルダ)
# 圧縮する。Program Files には半角空白があるので、"〜" で囲む
puts %x("#{ ZIP7_EXE_PATH }" a -tzip #{ out_root_path } #{ out_root_path })

puts "\n#{ out_root_path.to_s }.zip アーカイブを作りました。\n" +
"処理が終了したので、この画面を閉じて下さい"

sleep # 出力したコマンドプロンプト画面を閉じないようにする

以上です!
2022/02/24(木) 22:03:05.14ID:82W7j8jp
>>175
文字列を連結して、SQL 文を作ると、SQL injection される

だから、Ruby on Rails では、O/R マッパーを使う。
place holder を使って、? の所に、変数を埋め込む
2022/02/24(木) 22:05:37.73ID:WpNQdEVr
これって触っちゃいけないやつ?
2022/02/24(木) 22:36:56.77ID:iDpw9I/7
>>200
Ruby を NG
2022/02/25(金) 01:02:54.98ID:Eg3DloqN
>>192
YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails 初心者用コースでは、

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

今までは、Dockerまでが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も

だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!

KENTA、2021/4

2021年のWeb系エンジニア転職を成功させる3つの技術要素
https://www.youtube.com/watch?v=70VrB7LTe9g

2021/2

Web系エンジニアを目指す人のためのプログラミング学習ロードマップ
https://www.youtube.com/watch?v=0TABrlhci5M
2022/02/25(金) 01:13:59.96ID:kML1EznR
句読点の付け方が全く同じだ
2022/02/25(金) 07:45:38.34ID:nHsHzaxy
>>202
これだけ一生懸命宣伝して見返りはないって笑うなw
2022/02/25(金) 08:37:45.79ID:nHsHzaxy
>>192
こういうのよく見るけど
なんでいきなり巨大なの作ろうとすんのw
しかも群
206175
垢版 |
2022/02/25(金) 10:56:25.38ID:cHKC+7di
>>175
ワイ175やけど結局みんな手探りなのね
プレースホルダは当然やるけど、予約語のバリデーションは独自でやってるんやね
(出来ればDBにアクセスする前、バインド(prepare)する前に、アプリで弾きたい)
2022/02/25(金) 11:08:11.28ID:gEwvZxtg
SQLに投げる前にバリデーションなんてしない
バリデーションはプレゼンテーション層〜ドメイン層のどこかでやること
2022/02/25(金) 11:43:57.59ID:SuduBg90
>>206
どんなGUIか知らないけどフリーキーワードをちまちま入れないといけない時点でもう使いづらい。
動的にチェックボックスや候補ワードが先回りして出るくらいでないと。
キーワードを投げたはいいがヒット0とか、今どきはダサいよ。
2022/02/25(金) 11:44:18.05ID:Ttq2k6xT
>>206
プレースホルダ使っててなんのためにバリデーションしてるんだ?
変なデータが入るのが嫌と言うならそれは要件次第だろとしか言えないし
210175
垢版 |
2022/02/25(金) 11:59:13.95ID:cHKC+7di
>>208
>>209
問い合わせフォームとか応募フォームなんだけど、
こないだbot投稿に遭ってとりあえずreCapchaは入れて止めた
だけど、いくつかはDBまでSQL文がtextとしてinsertされちゃったんよねw(where〜とかが名前とかのカラムに入った)


じゃあなんかのバリデーションするかってことで普通はどうするかな、て
2022/02/25(金) 12:08:01.02ID:GobJHqAk
インジェクションできるかチェックされてるか、どこか文字列で直にやってる
2022/02/25(金) 12:51:38.11ID:0LOdeZPu
問い合わせの内容としてSQL文が必要ならサニタイズして入れとけばいいよね?
prepared statement使ってるのにユーザー入力を保存するカラム以外に
ユーザー入力が保存されてたんならなんか使い方間違ってると思う
2022/02/25(金) 12:53:33.76ID:gEwvZxtg
>>210
そういうのはWAFの仕事
214202
垢版 |
2022/02/25(金) 12:58:38.12ID:Eg3DloqN
MVC のRuby on Rails では、
Controller のstrong parameter で、更新される列・必須列をチェックする

モデルでも、バリデする。
valid_email2 で、正しい形式のメールアドレスかどうかとか

日本6位の初心者が3千人入っている、KENTA のサロンとか行かないと、ウェブ開発を学べない

Rails以外のフレームワークを選ぶと、勉強の教材がないから、
プロになるのは、まず無理
2022/02/25(金) 13:59:36.28ID:isep1BZs
>>213
WAF使ったことないでしょw
2022/02/25(金) 14:21:18.61ID:gEwvZxtg
>>215
あるよ
2022/02/25(金) 16:15:30.34ID:xc5sID1o
SQSやKinesisはどういう場合に使うのでしょうか?
あと、これを使う場合って送信用サーバと受信用サーバの2つが必要になりますよね?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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