1 名前:デフォルトの名無しさん [2022/02/12(土) 22:44:40.76 ID:AqYcq6TN.net] この板はプログラムを作る人のための板です。 あらゆる質問はまず スレ立てるまでもない質問はここで スレにしてください。 【前スレ】 スレ立てるまでもない質問はここで 158匹目 https://mevius.5ch.net/test/read.cgi/tech/1635193843/ 次スレは>>980 が立てること
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倍速い
295 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:42:29.63 ID:MQDieCXt.net] C#やってんのにバイナリデータをライブラリに任せず自力はありえんだろ
296 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:33:07.41 ID:EpD94JbB.net] r
297 名前:eact 指定のコンポーネントおよびその子孫コンポーネントが所持するreact制御下の状態(useState、useReducerなどなど全て)をシリアライズ、デシリアライズする方法はありますか? [] [ここ壊れてます]
298 名前:デフォルトの名無しさん [2022/03/02(水) 20:23:26.03 ID:8AC+tKeH.net] MIT Licenseのソフトウェア(バイナリ)をインストール時にダウンロードしてきて利用する場合、どうやってライセンス表記するのがいいですか? インストール用のスクリプトはPowerShellで書いてます 使いたいソフトウェアはこれです https://github.com/winsw/winsw/
299 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 21:11:09.16 ID:1sVpSP3s.net] ダウンロードしたのにLICENSE.txt入ってればそれを実行ファイルと一緒に保存しときゃいいし なければソースの方からそれダウンロードして一緒に入れときゃいい