[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/05 07:14 / Filesize : 281 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2022/02/12(土) 22:44:40.76 ID:AqYcq6TN.net]
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

【前スレ】
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
次スレは>>980が立てること

194 名前:デフォルトの名無しさん [2022/02/24(木) 21:16:15.58 ID:NBv0zeLR.net]
>>190
命名とか設計で検索してたw
失礼した

195 名前:デフォルトの名無しさん [2022/02/24(木) 21:36:16.86 ID:sqPOmgLf.net]
>>134です。
皆さん、回答ありがとうございます。
動的なサイトというのは、具体的に言うと、巨大画像掲示板群サイトを作ろうとしているのですが、
それを作るために必要な言語などは以下のものだけで良いでしょうか?

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

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

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

回答よろしくお願いします。

196 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:48:59.13 ID:ydRUnLFS.net]
html、PHP
(phpじゃなくてほかのでもいいけど)この二つがあれば作れる。その他は必須じゃない
「php 掲示板 作り方」なんかでぐぐって意味わからなくていいからコピペでまずは文字の掲示板を適当に作るところからかな

197 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:49:45.68 ID:JxtsCxtE.net]
巨大画像掲示板は転送量代で月に何十万、何百万もかかるからそのつもりで

198 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:55:35.90 ID:82W7j8jp.net]
前スレの、>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 する

次へ続く

199 名前:195 mailto:sage [2022/02/24(木) 21:56:18.77 ID:82W7j8jp.net]
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 })

次へ続く

200 名前:195 mailto:sage [2022/02/24(木) 21:57:06.88 ID:82W7j8jp.net]
# 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

次へ続く

201 名前:195 mailto:sage [2022/02/24(木) 21:58:12.15 ID:82W7j8jp.net]
# つまり、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 # 出力したコマンドプロンプト画面を閉じないようにする

以上です!

202 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 22:03:05.14 ID:82W7j8jp.net]
>>175
文字列を連結して、SQL 文を作ると、SQL injection される

だから、Ruby on Rails では、O/R マッパーを使う。
place holder を使って、? の所に、変数を埋め込む



203 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 22:05:37.73 ID:WpNQdEVr.net]
これって触っちゃいけないやつ?

204 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 22:36:56.77 ID:iDpw9I/7.net]
>>200
Ruby を NG

205 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 01:02:54.98 ID:Eg3DloqN.net]
>>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

206 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 01:13:59.96 ID:kML1EznR.net]
句読点の付け方が全く同じだ

207 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 07:45:38.34 ID:nHsHzaxy.net]
>>202
これだけ一生懸命宣伝して見返りはないって笑うなw

208 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 08:37:45.79 ID:nHsHzaxy.net]
>>192
こういうのよく見るけど
なんでいきなり巨大なの作ろうとすんのw
しかも群

209 名前:175 mailto:sage [2022/02/25(金) 10:56:25.38 ID:cHKC+7di.net]
>>175
ワイ175やけど結局みんな手探りなのね
プレースホルダは当然やるけど、予約語のバリデーションは独自でやってるんやね
(出来ればDBにアクセスする前、バインド(prepare)する前に、アプリで弾きたい)

210 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:08:11.28 ID:gEwvZxtg.net]
SQLに投げる前にバリデーションなんてしない
バリデーションはプレゼンテーション層〜ドメイン層のどこかでやること

211 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:43:57.59 ID:SuduBg90.net]
>>206
どんなGUIか知らないけどフリーキーワードをちまちま入れないといけない時点でもう使いづらい。
動的にチェックボックスや候補ワードが先回りして出るくらいでないと。
キーワードを投げたはいいがヒット0とか、今どきはダサいよ。

212 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:44:18.05 ID:Ttq2k6xT.net]
>>206
プレースホルダ使っててなんのためにバリデーションしてるんだ?
変なデータが入るのが嫌と言うならそれは要件次第だろとしか言えないし



213 名前:175 mailto:sage [2022/02/25(金) 11:59:13.95 ID:cHKC+7di.net]
>>208
>>209
問い合わせフォームとか応募フォームなんだけど、
こないだbot投稿に遭ってとりあえずreCapchaは入れて止めた
だけど、いくつかはDBまでSQL文がtextとしてinsertされちゃったんよねw(where〜とかが名前とかのカラムに入った)


じゃあなんかのバリデーションするかってことで普通はどうするかな、て

214 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 12:08:01.02 ID:GobJHqAk.net]
インジェクションできるかチェックされてるか、どこか文字列で直にやってる

215 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 12:51:38.11 ID:0LOdeZPu.net]
問い合わせの内容としてSQL文が必要ならサニタイズして入れとけばいいよね?
prepared statement使ってるのにユーザー入力を保存するカラム以外に
ユーザー入力が保存されてたんならなんか使い方間違ってると思う

216 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 12:53:33.76 ID:gEwvZxtg.net]
>>210
そういうのはWAFの仕事

217 名前:202 mailto:sage [2022/02/25(金) 12:58:38.12 ID:Eg3DloqN.net]
MVC のRuby on Rails では、
Controller のstrong parameter で、更新される列・必須列をチェックする

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

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

Rails以外のフレームワークを選ぶと、勉強の教材がないから、
プロになるのは、まず無理

218 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 13:59:36.28 ID:isep1BZs.net]
>>213
WAF使ったことないでしょw

219 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 14:21:18.61 ID:gEwvZxtg.net]
>>215
あるよ

220 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 16:15:30.34 ID:xc5sID1o.net]
SQSやKinesisはどういう場合に使うのでしょうか?
あと、これを使う場合って送信用サーバと受信用サーバの2つが必要になりますよね?

221 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 16:30:52.94 ID:VyHl6qUM.net]
>>210
これってSQLに値を渡したい場合、文字列結合ではなくプレースホルダだけ書いておいてパラメータとして与えましょうという初歩の話じゃないの?

222 名前:175 mailto:sage [2022/02/25(金) 16:50:08.00 ID:ilyzPMTz.net]
>>218
いやその後のハナシで
バリデーションとかエスケープとかサニタイズしても、
結局文字列としてInsertされるから、それを防ぎたいってハナシ
氏名:selectさんとかそういうデータが出来るのを防ぐのどうしてるのかなて

まあ



223 名前:DBに限るハナシでもないけど []
[ここ壊れてます]

224 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 17:25:32.08 ID:GobJHqAk.net]
175が言う通りの実装してるなら、必要なのは「SQLインジェクション対策」じゃなくて
「不正な名前入力対策」=氏名チェック用の正規表現
日本人限定で組むなら常用漢字な人名用漢字、ひらがな、カタカナだけだから
単純に半角英数字記号が含まれてたら弾くようにすればいい。外国人含むならシラン

225 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 17:42:11.20 ID:qQXuMGT2.net]
selectさんとかを防ぐことで得たいと思っているビジネス的な価値が何なのか知りたい
クオーテーションとか危ない感じのを弾きたいと言うからSQLインジェクション対策かと思ったけど、そういうわけでもないってこと?
でもそれならクオーテーションを弾くのはデメリットしかないし、何か混同しているんだろうか

226 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 17:44:59.19 ID:qQXuMGT2.net]
認証不要のフォームでアタックの痕跡によってゴミが大量に溜まるのが迷惑だから事前にフィルタリングしておきたいってことかな

227 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 17:54:52.96 ID:+PfgW030.net]
>>219
そういうのをバリデーションできてないって言うんだぞ
正規表現教えて君する以前に仕様を決めろ

228 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 18:17:54.50 ID:qbQTiRzp.net]
GoogleスプレッドシートやGoogleMeetの検索ってあの膨大なデータからどうやって検索してるんだ?
とくにMeetのほうは曖昧検索っぽい
GCPでビッグデータの検索関連サービスってあるの?

229 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 18:26:10.37 ID:Eg3DloqN.net]
Ruby on Rails の文字列検索は、Elasticsearch

230 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 18:33:34.96 ID:Eg3DloqN.net]
>>217
Queue は一番昔からある、基本的なサービス

その時に同期処理をすると時間が掛かるので、
一旦、キューに入れて、後から処理する。非同期処理

月3千円ぐらいのくろかわこへいのAWS サロンへ入れば?
Amazon なら、3日で21万円とか高い

231 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 21:21:26.02 ID:CV/dWopv.net]
>>224
inverted index

232 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 08:12:42.19 ID:vbSsEIAE.net]
>>227
それだとものすごい数のレコードを作成してるんだね
例えば、GoogleMeetの1メッセージが300文字あったとして、形態素解析しつつ名詞を分割してそれぞれを行として格納
しかし部分一致とあいまい検索は完璧ではない

と思ったらスプレッドシートはCloud Search使ってると書いてあった
膨大なデータを分解して格納ってすごい技術だ



233 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 08:23:05.81 ID:wWFTGeHR.net]
kakasiの頃よくインデクサを使っていたけど、しょせんテキスト情報なんで大したことないよ

234 名前:デフォルトの名無しさん [2022/02/26(土) 08:45:38.69 ID:R1ubXlLS.net]
プログラムが何故動くのか?についてわかりやすく解説しているサイトってないですか?

ググっても「プログラムを機械語に翻訳して、機械がわかるように翻訳しているから動く」
的な説明ばかりなんですが、知りたいのはそういうことではなくて、
じゃあ最初から機械語で完璧に書いたとして、なぜそれで動くのかがわからないんです。

別の表現すると、異世界転生で電卓のない世界に行ったとして、
そこで電卓を開発して一儲けしようとしたときに、
どうやって電卓内部で「1+1」の処理をさせるかのイメージがつかないんです。
結局「プログラム」と言う概念が先にないと無理なんじゃないのか?みたいな・・・
鶏と卵の話みたいに感じてしまいます

235 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 09:09:24.95 ID:e5W/1zqv.net]
サイトじゃなくてCPUについて技術解説してる書籍でも漁っとけ

236 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 09:10:39.17 ID:wWFTGeHR.net]
>>230
レジスタ(フリップフロップ)のことは分かるのかね
ハード寄りのことから理解しないとマシン語はわからないよ

237 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 09:12:33.77 ID:sjesp9D9.net]
>>230
コンピュータはなぜ動くのか、読めば?

238 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 09:33:18.46 ID:GBHX3kX2.net]
「1+1」だけなら半加算器あたりが分かればなんとか

239 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 09:42:33.04 ID:wWFTGeHR.net]
>>230
フリップフロップはソロバンの珠と思えばよい。
ソロバンは珠が元の位置か、動いたかをメモリーする装置である。
動いている珠を1、元の位置なら0とみなして、動かすルールによって複雑な計算をする。
フリップフロップの場合は電気によって、今のON/OFFをメモリーできる。
そのON/OFFを1と0にみなして、機械的なルールで計算を行う。
例えばいちばんわかりやすいのがビットシフトである。
二進数01011を左に一桁ずらす「機械的操作」をすると10110となり、これは元の数を二倍する「計算」をしたことになる
逆に右に一桁ずらすと2で割るという「計算」をしたことになる
01011 → 0101(余り1)

240 名前:デフォルトの名無しさん [2022/02/26(土) 10:30:44.32 ID:FEw16ZgO.net]
マインクラフトでコンピュータ作ってみた みたいな動画見りゃ理解できるべ

241 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 13:40:22.88 ID:/yaZQ1xu.net]
Ruby on Rails, Amazon は、Elasticsearch。
Railsの形態素解析は、kuromoji

Google は、Chrome の翻訳もひどかったけど、
ここ2か月ぐらいで、かなりDeepL に近づいた

DeepLを、パクったのかも

242 名前:デフォルトの名無しさん [2022/02/26(土) 14:14:47.64 ID:1jHkYGS8.net]
CPU/GPU作ってみたみたいな動画面白いよ



243 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 14:26:16.75 ID:R/0GMSS/.net]
普通にコンピュータアーキテクチャの教科書を読めばいい

244 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 15:17:19.82 ID:xS/SyeLk.net]
トランジスタがあって
フリップフロップがあって
論理回路、順序回路があって
リングカウンタあたりがあって
機械語がある

この辺を順番にググると
上から下までわかるようになるのでは?
大学のシラバスが外から見えるので
その辺からキーワードを取り出して
ググれば独学も可能

245 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 15:21:10.00 ID:ZdFqztpZ.net]
>>240
COMET/CASL アーキを自力で実装する系の、きちんとした教科書があったことを記憶しています…

246 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 15:51:20.85 ID:/yaZQ1xu.net]
電験三種、組み込みの資格のテキスト

電気電子回路、交流の複素数の複素平面。
ネイピアe(2.72)のiπ乗 = -1

3D では、虚数のquaternion とか結構、虚数が出てくる

247 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 16:26:27.41 ID:ZdFqztpZ.net]
>>242
厳しいことをいいますが、交流=正弦波が複素数により代数的に処理できるのはなぜか?
本来受動素子の作用は解析的=微分積分、で定義されるのですが、そういう世界が代数的=足したり引いたり掛けたり割ったりで処理していい理由、というのをはっきりさせないまま安直に使うのは知的誠実さにかける、と私は非難します…

248 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 16:56:03.31 ID:1vnMKgVV.net]
>>230
トランジスタとダイオードの組み合わせでAND/OR/NOT回路を作るとこからから勉強かな

加算器とかフリップフロップがAND/OR/NOT

249 名前:の組み合わせでできるから
そいつらを組み合わせれば2進数入出力の電卓ぐらいは作れる

使ってるものはトランジスタとダイオードと抵抗(と装置外部の入出力にスイッチとLED)だけ

現代のCPUのトランジスタ数は60億とかなので無制限だと思っていい
[]
[ここ壊れてます]

250 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 17:37:16.16 ID:g1NcYQAb.net]
>>230
どこまで知りたいか?によるかな

「便利な性質を持った小さなモジュール達」は既にある前提で、それを組み合わせると足し算ができます、程度の薄い理解でいいならこのスレで出てるキーワードでググればいい

でもじゃあ「便利な性質を持った小さなモジュール達」をどうやって作るの?って疑問を解きたいなら物理学をある程度、学ぶ必要がある
俺は半導体の基礎を大学三年生で学んだけど、それぐらいやる気があるなら好きに勉強すればいいんじゃないかな

異世界転生してゼロから作るにはどうすればいいの?って疑問なら
科学知識だけでなく歴史や経済、ありとあらゆる知識が必要だろうな
なんたって異世界はたぶん、産業革命より前の世界だろ?
ならまずはそこからだな

251 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 17:52:39.86 ID:wWFTGeHR.net]
この動画(白い巨塔)の6分目くらいだけど
https://youtu.be/j4TdXIxmBtU

里見先生が機械式の計算器を使っている
考えてみると50年前はまだ普通にソロバンや計算尺が一般的だった
50年後はどうなるんだろうね

252 名前:ハノン mailto:sage [2022/02/26(土) 17:57:15.21 ID:ZdFqztpZ.net]
>>242
厳しいことをいいますが、交流=正弦波が複素数により代数的に処理できるのはなぜか?
本来受動素子の作用は解析的=微分積分、で定義されるのですが、そういう世界が代数的=足したり引いたり掛けたり割ったりで処理していい理由、というのをはっきりさせないまま安直に使うのは知的誠実さに欠ける、と私は非難します…



253 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 18:25:10.25 ID:joT9B4PU.net]
>>246
40年前でも普通にそろばん使ってたよ
そもそも普通の会社でパソコン使うようになったのは1990年代だからそれまではそろばん使うしかなかった
加減算は慣れれば電卓よりそろばんの方が速いし

254 名前:242 mailto:sage [2022/02/26(土) 19:17:41.93 ID:/yaZQ1xu.net]
電験三種の積分回路・微分回路・時定数ぐらいから始めないといけない

255 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 19:38:34.77 ID:1vnMKgVV.net]
>>249
>>230 が求めるものはLRC回路の知識じゃねえだろ

256 名前:デフォルトの名無しさん [2022/02/26(土) 23:23:55.13 ID:wmCNPHUF.net]
すみません…
pythonでtkinterというのでstartとstopボタンを作って
それぞれからdef start():などを作ってコマンド=startみたいに呼び出しています。

startの中でマルチスレッドを使ってスレッドをつくりスタートさせたいと思っています。
そのスレッドが使う関数の中でwhile flag==true:としてflagがfalseまでは無限にスクリーンショットを撮り続けたいと思っています。

このような作りですと、startのボタンで固まってしまってstopが押せません。うまくいかない原因についてアドバイス頂けたら嬉しいです。

よろしくお願いします。

257 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:51:56.70 ID:wj1ibNBr.net]
スレッドの中はwhile flag==true:でスクショ撮影
startボタンの中はスレッド作ってスレッド実行するだけで終わり
ってすりゃ固まらないはず。固まるということはそうなっていない
スレッドでなくボタンの中でwhileしてるとか、ボタンの中でスレッドが終わるのを待ってたりしてる

258 名前:デフォルトの名無しさん [2022/02/27(日) 00:28:06.43 ID:EPp3U+v4.net]
スクショやったことないけど
一回あたりの撮影・保存にsleepとか挟んでないせいで
わずかなハングが連打されて固まってみえるんじゃないか

259 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 02:20:57.99 ID:JWOh4lwS.net]
このスレよりも、Python スレで聞いてください!

260 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 06:23:12.98 ID:3CMfh7zd.net]
1と0だけで音を表現出来るってのがイマイチ理解できません

一瞬を切り取ったらそこには人の声、風の音、カラスの鳴き声、

261 名前:車の音などが入ってると思うのですがそれらを全部1と0で表現するって魔法じゃないですか? []
[ここ壊れてます]

262 名前:蟻人間 mailto:sage [2022/02/27(日) 07:46:15.41 ID:I53qp4JM.net]
1600年代マイクロホンが考案され、音声を電圧に変換できた。また、スピーカーは電圧を音声に変換できた。1877年、エジソンは音声をレコードのみぞの深さで記録した。
人間の聴覚には可聴域(20Hzから20,000Hz)というものがあって聞こえる音域と音量には限界がある。
だから可聴域以外の情報は無視できる。レコードのみぞの深さや電圧の変化というのはアナログ値の変化であり、
これを単位時間で区切って離散化してデジタル信号に近似することは可能である。よくわからないのであればPCM音声を研究してみるといい。



263 名前:蟻人間 mailto:sage [2022/02/27(日) 07:57:15.03 ID:I53qp4JM.net]
音声の波形というのは足し算・引き算ができる。しかし全体を見るとアナログ値の変化でしかない。
音声には指向性というものがあるが、聴覚には無関係である。

264 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 08:02:04.17 ID:uWHjNeVw.net]
>>255
フーリエ級数を勉強しなければ理屈はわからないので、理系の大学に行くのが早道

265 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 09:09:16.90 ID:yPfzj2SQ.net]
ある音をカラスの声だと認識するのは、周波数ごとの音の強さと、声の長さやビブラートなどの時間的変化のパターンによる
和音のメロディの楽譜のように近似的に表現できる
ただし自然音はドレミのような一定の階調ではなく、ドとレの間には無数の段階があるし、和音の音符数も楽器なら3や4だけどこれも無数にある
この無段階・無数の楽譜をアナログからデジタルに変換する方法は、ざっくり言うと写真をドット絵で表現することと同じアイデアでいい
ドット絵ならドット単位に絵を分割して65536階調などの近似色を求めてあげれば、その集合が絵に見える
楽譜なら縦軸は周波数成分、横軸は時間経過として、ドットごとに音の強さを示してあげればいい
音は波なので互いに重なり合い、いろんな音があっても足し引きできるという話は、多数の物体が同じ絵の中に置いてある状況と似ている
実際にはこれだけだとデータ量が多くなるのでいろいろ数学を使って工夫する

266 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 09:53:12.54 ID:6fl1teDT.net]
>>255
音楽なんて色々な音の集合だけど、それを楽譜で紙に表現できるし、楽譜から音楽に戻せる
それと同じだよ。まさに魔法

267 名前:デフォルトの名無しさん [2022/02/27(日) 15:44:32.52 ID:1y5GAeJx.net]
>>252
>>253
ありがとうございます。
スタートボタンを押したら実行される関数で、テキストボックスから値をとってきたりもNGなんでしょうか?
下記ではstart後にstopが押せず5秒ごとに永遠にスクショを取り続けてしまいます。。


スレッドで実行する関数
def getSSActiveWindow(Groupname, INTERVAL_SS):
global ON_LOOP
while ON_LOOP:
hdwd = win32gui.GetForegroundWindow()
rect = win32gui.GetWindowRect(hdwd)
SS_JPG = ImageGrab.grab()
croped_screenshot = SS_JPG.crop(rect)
mkdir_SS(Groupname)
croped_screenshot.save("./" + Groupname + "/" + str(fname(Groupname)))
time.sleep(INTERVAL_SS)

スタートボタンを押したら実行される関数
def Start():
global ON_LOOP
ON_LOOP = True
Group_name = text.get()
Interval_time = float(text2.get())
thread_main = threading.Thread(target=getSSActiveWindow(Group_name, Interval_time))
thread_main.start()

スタートボタン生成とStart()の呼び出し
start_button = tkinter.Button(app, text="start", command=Start)

268 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 16:14:19.43 ID:aJU8qXKh.net]
フーリエ級数よりもサンプリング定理だな
人間が聞こえる周波数は有限
有限の周波数は計算の結果
一定以下の時間間隔で測定すると
完全に元の音を再現できる
私も最初に知った時はびっくりした

269 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 16:25:00.03 ID:1y5GAeJx.net]
afterというものでスタートでスクショをとる関数を呼び出し、
その中で自分自身を数秒後に呼び出す というやり方をしたら上手くいきました。
ただ、スレッドの方がかっこいいですよね。。。

270 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 16:27:31.85 ID:Um/y+g9Y.net]
率直な疑問だけどそこまで再現出来るならもっと流暢に話せるソフトとか生まれないのかな
最新のボイスロイドとかだとめちゃくちゃ流暢になってたりする?

271 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 16:30:27.57 ID:Um/y+g9Y.net]
まぁイントネーションとかは関係ないかこの件とは

272 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 16:45:20.50 ID:6fl1teDT.net]
流暢にしゃべってる音声を記録して再生するのは簡単でも
それを参考に似たようなものを作って再生するのは難しいからな



273 名前:デフォルトの名無しさん [2022/02/27(日) 16:58:48.49 ID:aA44qZEv.net]
>>194
初心者の疑問なのですが、JavaScriptはクライアントサイドスクリプトなので、
ブラウザ側で処理が実行されるのでサーバーへの負荷があまりかからない。
それに対して、PHPはサーバーサイドスクリプトなのでサーバーへの負荷が
クライアントスクリプト以上にかかるということは、
PHPよりやっぱりJavaScriptで画像掲示板を作った方が、
相当サーバー代を軽減することができると思ったのですが、違いますか?
もしそうならやっぱりJavaScriptで画像掲示板を作るべきなのでしょうか?

274 名前:デフォルトの名無しさん [2022/02/27(日) 17:01:40.18 ID:aA44qZEv.net]
PHPかJavaScript、どっちで画像掲示板を作るか迷います・・・・・・・

275 名前:デフォルトの名無しさん [2022/02/27(日) 17:04:43.61 ID:EPp3U+v4.net]
>>261
ごちゃごちゃしてわからんくなったらシンプルな形で試してみよう
tkinter自身は「外部からのキル信号を受ける別threadのwhileループ」を表現できる
afterが動いてwhileがハングするなら、そのループはmainloop側で回ってるわよ、たぶん
こういうのがやりたいんだしょ?

import tkinter as tk
import threading
import time

def on_start():
__sub_thread = threading.Thread(target=job)
__sub_thread.start()

def on_stop():
__global flg
__flg = False

def job():
__done = 0
__while flg:
____done += 1
____print(done)
____time.sleep(1)

root = tk.Tk()
flg = True
start = tk.Button(root, text='start', command=on_start).pack()
stop = tk.Button(root, text='stop', command=on_stop).pack()
root.mainloop()

あとtk/tclスレか(あんのか?) pythonスレで続きやろう

276 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 17:45:06.89 ID:ZB2g0s0a.net]
>>267
phpだろうがjsだろうが画像は各サーバーから各クライアントまで転送されるからその分の転送料がかかる

277 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 18:29:14.26 ID:aJU8qXKh.net]
>>267
パフォーマンスの問題が出るほど接続数が多いことが見込まれるなら
別の方法かサーバーの増強を考えないとダメ
まずは動かすことだろうな

278 名前:デフォルトの名無しさん [2022/02/27(日) 21:05:55.36 ID:9Ko2k5KG.net]
Rstudioで100個のtxtファイル
(中身はTsvで3万行2列、1列目は全ファイル共通)
を3万行、101列のマトリクスファイルにしようとしています。

left_joinで1列目をキーにして結合するためにデータを100個読み込む際に
lf <- list.files(full.names = T)
data <- lapply(lf,read.delim)
を用いたのですが、
mat <- full_join(data)で結合させようとすると
'full_join' をクラス "list" のオブジェクトに適用できるようなメソッドがありません
となってしまいました。
別の関数でこのような結合が可能でしょうか。

279 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 21:13:18.98 ID:JWOh4lwS.net]
tkinter の話題は、このスレじゃない。
Python のスレで続けてください!

このスレに書き込んでも、捨てられるだけ。
後で探せない

280 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 21:15:26.19 ID:JWOh4lwS.net]
RStudio の話題は、R のスレへ書き込んでください!

281 名前:202 mailto:sage [2022/02/27(日) 21:26:59.31 ID:JWOh4lwS.net]
>>268
>>202
に書いた

プロになりたい初心者皆、KENTA のサロンで、Ruby on Rails を学ぶ。
月千円で、日本6位の3千人が入っている
(1位はキングコング西野で、数万人)

Scala, PHP は、KENTAがオワコン認定したから、
もう新規のプロジェクトは無くなる

日本全体の進路は、KENTAが決めているから

今は、KENTAが決めたカリキュラム、
Linux, Docker/Kubernetes, CircleCI, Github Actions, AWS Fargate, Terraform が必須

だから、AWSのくろかわこうへいのサロンにも、入る必要がある

新規プロジェクトで、Windows サーバも無くなった。
日本では、KENTAのカリキュラムから外れたものは、新規プロジェクトで採用されない

282 名前:デフォルトの名無しさん [2022/02/27(日) 22:16:01.89 ID:dUSKNsnB.net]
ID:JWOh4lwS
死ね



283 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 22:34:00.21 ID:nGlHhzSe.net]
ケンタッキーへのステルスマーケティングしてる人がいるらしい

今日買いに行ってしまった...

284 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 23:15:51.83 ID:HuUTW9GQ.net]
あーあ 28日ならお得な鳥の日パックがあるのに

285 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 23:49:20.24 ID:qL3cQNIf.net]
いいかげんmatzに怒られろ

286 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 00:40:30.67 ID:+jodUMqY.net]
ギットハブてなんでこんなに見にくいんだ?
必要なjsとcssだけもっとわかりやすく置いておけよ

287 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 01:52:04.90 ID:z7zrbR1W.net]
githubに文句言う前にもう少しシステム開発について勉強してきた方がいいと思います

288 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 22:48:19.10 ID:6UxLKqli.net]
匿名掲示板でここの10倍ぐらい盛り上がっていて技術系の雑談が出来るところってありますか?
4chanの/G/が良さげでしたが英語以外でも知りたいです

289 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 22:55:04.52 ID:sWQNFkIW.net]
That's done.

290 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 05:59:16.53 ID:Q1UH7sz1.net]
VisualStudioでPictureBoxにpngもしくはbmpファイルをドロップしてきた時に
pictureBox1_DragDrop内でその画像のwidthとheghtを取得したいのですがどこを参照すればいいのでしょうか

291 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 07:49:11.41 ID:Pqyb4TZy.net]
ファイルをbmpオブジェクトにすれば取得できたはず
10年前にやったときの記憶だが

292 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 08:29:44.06 ID:FuAp7249.net]
ドロップされたらファイルパスが分かるから、imageとして読み込んでそのwidth、heightを見るのが確実
読み込むのが嫌ならファイルパスからShell32のファイルプロパティを取得して見る



293 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 08:53:10.57 ID:Q1UH7sz1.net]
ありがとうございます

System.Drawing.Bitmap bitmap;
bitmap = new Bitmap(ファイルパス);
で、ここからwidthとheight取得できました

294 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 08:56:18.36 ID:RNWoyucI.net]
ファイルヘッダー読んだほうが100倍速い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<281KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef