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

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

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

次スレは>>980が立てること
270デフォルトの名無しさん
垢版 |
2021/08/02(月) 21:04:03.31ID:qdvnGLBb
>>268
圧縮に時間かかっても良いならxz使うとか。圧縮率低くても速くやりたいならgzipとか。
2021/08/02(月) 22:09:29.23ID:2pS+scOh
>>269
ありがとうございます!
1文字を7ビットにするというのはどういった処理をしてやれば良いのでしょうか?
>>270
ありがとうございます
Wi-Fi経由での転送で30分以上かかったりしているクソバカコードを書いているので
圧縮にある程度時間がかかっても良いのですが
Swiftでxzの圧縮というのを調べても見つからなかったため、gzipが良いかもしれません
2021/08/02(月) 22:16:22.08ID:LkFRX9kv
>>271
ビットシフト演算です。
使わない最上位ビットを捨てて、余った1ビットに別の実データのビットをずらして格納する。
これでデータ量は約7/8倍。
2021/08/02(月) 22:25:56.44ID:lJJomUVT
>>271
SwiftならLZMAが使える(7zのやつ)
https://developer.apple.com/documentation/compression
2021/08/02(月) 23:35:00.18ID:2pS+scOh
>>272
ありがとうございます
不思議ですが、Asciiは1bitずらしても原型を保つのですね
勉強になります
>>273
gzipよりも圧縮率が高いみたいですね!
助かります、ありがとうございます!
2021/08/03(火) 01:15:30.36ID:+2OqpybX
WindowsCEのWordとExcelには
タッチペンで手書き入力出来てるんだから
マクロで作れないの?
2021/08/03(火) 06:39:47.81ID:juXUNReq
CDN でWEB高速化 コンテンツ圧縮(gzip)の設定と注意点
https://blog.redbox.ne.jp/cdn-gzip-compress.html

Can I use で調べると、HTTP header でgzipは、すべてのブラウザで対応している

gzip compression
This HTTP header is supported in effectively all browsers.
2021/08/03(火) 08:44:00.22ID:XGDJQv+W
Railsは、レンタルサーバーで動かすのは難しいという理解で合ってる?
1. rails serverが常駐する必要があること。プロセスの時間制限にひっかかり、
 勝手に kill されてしまうかも知れない?
2. rails をインストールする時、時間が掛かってkillされてしまうため、
 何度もやり直す必要があるが、ファイルが中途半端にインストールされて
 間違ったファイルがインストールされてしまうかもしれない?

一方で、Djangoは、CGI形式が使えるからレンタルサーバーでも
使い易い?
2021/08/03(火) 11:40:06.01ID:JFQNdtCB
Rails使いたいならHerokuとかのPaaSでいいだろ
向き不向き云々以前に、ベターな選択肢があるから誰も見向きもしないだけかと
2021/08/03(火) 12:57:09.95ID:acfXmXQL
vpsでいいし
280デフォルトの名無しさん
垢版 |
2021/08/03(火) 12:59:28.48ID:/S8mlA8D
if invalid_entries():
return

以下普通の処理

アーリーリターン用に否定を期する?関数書いた方が
一連の文章として自然な気がするんだけど、そもそも否定から入るって変な気もする
アリですか?無しですか? プロのグラマーではないので、普通はこうするみたいなのが分からないのです

if valid_entries():
_処理
__処理処理
___

else:
return

普通はこうだと思うんだけど,ネスト減らしたいし、アーリーリターンなのに遠くに行ったり
好きじゃないわという動機です
2021/08/03(火) 13:11:11.26ID:JFQNdtCB
>>280
アリというか基本そうすべき
一般に、異常系は真っ先に弾くのがベター
異常系の文脈を考慮しなければならない範囲を最小化することでテスト性可読性保守性が向上する
2021/08/03(火) 14:11:16.58ID:4EGDKMYd
not がある言語は if not is_valid()
ない言語は if is_not_valid() 作っちゃうな
否定演算子と== falseはなるべく使わない
invalidでもいいけどnotのがジャップにはわかりやすいと思うぞ(個人の感想です)
2021/08/03(火) 14:27:36.13ID:muBZNxXy
インポシブルとか
インポテンツとかわかるだろ
2021/08/03(火) 14:39:16.07ID:juXUNReq
>>277
Ruby on Rails は、レンタルサーバーでは動かない。
レンタルサーバーは、Word Press とか

食べチョクみたいな若い女の子が、1人で始める場合は、Heroku, Bootstrap。
食べチョクは、AWS だけど

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

KENTA, 2021/3

女性エンジニア&個人開発者のだむはさんにインタビュー
www.youtube.com/watch?v=ieljaqRC98A

Heroku, S3, 決済はStripe, Docker
2021/08/03(火) 19:45:52.89ID:I3gKaej4
is_valid() == false はないな
not is_valid(), !is_valid() は使う
わざわざ is_not_valid() なんて関数増やすのはどうかと思う
286デフォルトの名無しさん
垢版 |
2021/08/03(火) 22:33:44.64ID:/aKxYWHz
if not isvalid() より
if invalid()のが 認知負荷は少ないので
もしそのパターンしかないならinvalid書くかな
notにシンタックスハイライト当たるのもムカつく
2021/08/03(火) 22:37:30.02ID:QKCGXYxt
is_not_valid(笑)
頭カチ割ってやりたい気持ちになりましたね正直
2021/08/03(火) 22:55:03.63ID:xoYyuRFo
レシーバーや引数無しで書くから不自然なんだよ
if is_valid()とかif invalid()とかそのまま書くやつが出てくるぞ
2021/08/03(火) 23:02:58.88ID:4EGDKMYd
いやぁ地味に便利だよis_not〜

if !x.is_valid()
だとifを書いた時点で次にくるオブジェクトと判定メソッドを脳に積んで先に感嘆符が要るなーって素早く考えないといけない

if x.is_not〜
だとif x.is_まで書いたところであーそういや感嘆符忘れとったわー
追加でnotでそのままタイピング継続できる
感嘆符の位置まで戻らなくていい
290デフォルトの名無しさん
垢版 |
2021/08/03(火) 23:06:27.72ID:cINbFhg+
pythonのアーリーはこれがいいな俺は

if log := is_invalid_entries():
_foo(log)
_return
2021/08/04(水) 10:03:58.20ID:ir8s0NVf
暑くていやになるので涼しくなる言語ありますか
2021/08/04(水) 16:24:58.84ID:B4cig0qe
Rubyはずっと使っているのにRailsのネットのチュートリアルは日本語が
分かりにくかったり興味の無い説明が多くて時間が掛かりそうで
途中で読むのをやめていたが、Djangoのチュートリアルは1時間くらいで
Windowsにdjangoをインストールして実際に動作するページを作ることが出来た。
Railsは意味が分からなくて困っていたが、djangoは何をやっているのかが
分かるような気がした。
2021/08/04(水) 16:40:15.69ID:B4cig0qe
>>278 >>279
VPSでない安い共用サーバー(年間2,000円くらいの)で安定的に使いたいので、
Djangoにしようかなと思ってる。
Railsもgateway.cgiなるものを使えば出来るそうだけど、fastcgiを
インストールしてその中にしかそのファイルが無いので中身がどうなってる
かもまだ分からないし、なんか怖い。
2021/08/04(水) 17:26:31.18ID:vyTBmK5R
>>292
Rubyずっと使ってるは嘘だろww

RailsとDjango両方使うと分かるが明らかな劣化コピーで使い勝手が悪すぎる
みんなよく耐えてるなと思う
CGIで使うような用途なら悪いこと言わんからFlask系にしとけ
2021/08/04(水) 19:01:15.44ID:Wr7Y6Rg1
>>291
CHILL
2021/08/04(水) 21:42:37.54ID:B4cig0qe
>>294
Rubyはオフラインでスクリプト言語として良く使っている。
BATファイルの変わりに。
2021/08/04(水) 23:18:17.96ID:B4cig0qe
仮にちゃんと理解すればRailsが便利であるとしても、手っ取り早く
使いたいという要求に対しては構造や使い方が理解しにくいものであれば困るし、
そもそも安い共有サーバーに安定的に設置する方法が公式には存在していない
のであれば安く済ましたい貧乏な人にとっては候補にはなりにくい。
2021/08/05(木) 12:53:20.60ID:bqGeTZjz
Rails チュートリアルには、黒田努の3冊の本、
Rails ガイドには、パーフェクト Ruby on Rails が匹敵する

改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9/7
Ruby 2.5.1, Rails 5.2 の本

Ruby on Rails 6 実践ガイド、黒田努、2019/12/20 (これは、上の本の新版)
Ruby on Rails 6 実践ガイド[機能拡張編]、黒田努、2020/5

パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7
Ruby 2.6.6, Rails 6.0.3, (Windows 10, WSL 2 も)

正直バックエンドは、Linux コマンド・シェルスクリプト、
Heroku, AWS, Docker Compose の説明など、
プログラミングではなく、システム構築運用の話ばかりだから、しょーもない

でも、企業が欲しい人材は、LinuC などのLinuxの資格保持者とか、AWS Solution Architect。
AWS でシステム構築運用できる人

ちなみに、YouTube で有名な、雑食系エンジニア・KENTA の初心者向けサロンでは、
Node.js, Django は使われていない。
PHP は一生やらなくてよいと言ってる

どれも、Railsのシェアを取れなかったので、学んでも転職できない。
唯一の時給1万円コースの道筋は、Ruby → Go だけ
299298
垢版 |
2021/08/05(木) 13:00:45.73ID:bqGeTZjz
KENTA のサロンでは、日本6位の2千人の初心者が、Ruby on Rails を学んでいる。
AWS のくろかわこうへいのサロンでは、数百人の初心者が、AWSを学んでいる

日本最大の初心者コミュニティー・虎の穴だから、
ここに入って、やり方を聞いた方がよい

>>298
修正

>Ruby on Rails 6 実践ガイド、黒田努、2019/12/20 (これは、上の本の新版)
Ruby on Rails 6 実践ガイド、黒田努、2019/12/20
2021/08/05(木) 17:26:26.03ID:W8jB3mD1
>>298
世界でもアメリカでも、Railsの人気は下がってきていて、

アメリカ:
Django >> Rails = Laravel
世界:
Django = Laravel >> Rails
日本
Laravel = Rails > Django

位になってる
2021/08/05(木) 17:33:44.48ID:W8jB3mD1
色々調べたけど、Railsは、有料の本にはよさげなものがたくさんある。
黒田 努氏のその本もよさげ。
ただ、安い共有サーバーに設置できないかも知れないのがどうにもならないな、
貧乏な俺には。
2021/08/05(木) 18:25:45.67ID:dc4NdV+D
GoでWebAPI実装してFirebaseと静的なファイルと組み合わせてSPA作るならGCP無料枠で済むぞ
貧乏人にはGo!
2021/08/05(木) 20:17:44.34ID:W8jB3mD1
>>302
それ、自分のサイトでの会員のパスワード設定、ユーザー認証、ログイン機能
などは付けられるの?
ちなみにGoogleのパスワードの事じゃないよ。
2021/08/05(木) 21:09:20.97ID:KmCE1Afr
>>303
出来るが、そんなレトロな手段じゃなくGoogleやらでログイン(OAuth)の方が便利なんでパスワード認証は使ってない
2021/08/05(木) 21:14:35.23ID:KmCE1Afr
>>303
Firebaseの機能
あとデータはFirestoreに記録
2021/08/05(木) 21:26:11.42ID:W8jB3mD1
何か実際には貧乏人には一番向かないサービスなんじゃないかと思えてきたが。
Googleみたいなところは一番高くつくと思うし。
2021/08/05(木) 21:39:52.42ID:2qWbzkHh
思っただけ?
実際に比較した結果?
2021/08/05(木) 21:40:53.36ID:W8jB3mD1
間違いなく高くつくと思うよ。
普通のレンタルサーバーは、一月200円とかだし。
2021/08/05(木) 22:14:30.93ID:KmCE1Afr
無料枠だよ
2021/08/05(木) 22:52:14.26ID:KmCE1Afr
ただし一定時間アクセスが無いプロセスは切られる
停止からの復帰をスピンアップといって、これを前提としてプログラムを組まないとならないのが厄介
厄介な仕様ではあるけど、その分の時間は課金対象じゃないから毎年更新される無料枠で年中無休サイトが作れる
初年度のみ無料なアマゾンと違って今のところは貧乏人の味方
2021/08/06(金) 15:12:27.08ID:5iNp8vEV
DjangoとかRailsとかってデータベースにデータを書いているけど、
自分でデータベースにデータを書き込みたいときには、書き込んでいる
最中(色々な段階があるが)に、サーバーが故障などでダウンした場合の
ことも想定して、トランザクションログの仕組みと復旧の仕組みを
ちゃんと知っておかないといけないんだろうか?
そもそも、DjangoやRailsはそういうところまで配慮されてる?
2021/08/06(金) 15:20:22.35ID:5iNp8vEV
トランザクションログ自体が、ハードウェアのダウンなどで書き込みミスして
しまうこともあるだろうから、どうやってそれを防いでいるのかも気になる。
トランザクションログを記録しているファイルをTとしたとき、
Tを修正(追記など)する前に、いったんTをT'というファイル名でバックアップし、
してから、Tに追記すれば、Tをディスクにflushしてる間にシステムがダウンしても
T'には「多分」元のデータは残ってるんだろうな。絶対じゃないけど。
それで次に起動した時、Tにちゃんと書き込まれてない事をどうにかして検出すれば
T'をTにコピーしなおせば、今までの大事なログデータは元に戻せる。
しかし、「Tにちゃんと書き込まれていない事」をどうやって検出するか、
という問題は残る。
Tの先頭にこれから書くはずのバイト数を記録しておいて、それと実際のTの
バイト数が異なっていれば異常を検出できるかな。
バイト数だけでなく、ファイルの最後に眺めのENDマーク文字列みたいなものを
書いておけばさらに安心かな。
2021/08/06(金) 15:22:54.28ID:5iNp8vEV
TをT'にコピーしても、ディスクにフラッシュされているとは限らないから、
Tを書いているときにシステムがダウンした場合、TとT'の両方が駄目になって
しまう可能性も有るだろうな。
いったいどうやればいいのだ?
2021/08/06(金) 15:25:19.39ID:5iNp8vEV
>>312
Tの異常検出のためには、チェックサム的にCRC符号をファイルの先頭にでも
書いておけばさらに安心か。
しかし、>>313の問題は残るな。
難しい。
2021/08/06(金) 15:41:30.52ID:5iNp8vEV
ファイルTをT2にバックアップしようとして
$ cp T T2
としてから、T と T2の一致検査をしてもメモリーにキャッシュされたものを比較する
ことになるだけだから、T2が本当に物理ディスクに書き終わったかまでを確かめた
ことにはならないよね。難しい問題だ。
2021/08/06(金) 18:33:49.96ID:17Uw3aqR
普通なら別途読み出してチェックしないか?
2021/08/06(金) 20:13:30.92ID:5iNp8vEV
物理ディスク用にOSが持っているバッファって、遅延書き込みされるから
何秒間かはフラッシュされないけど、
「長くても15秒後くらいまでにはフラッシュされるようにしなければならない」
と聞いたことがあるので、15秒間待てば確実に物理ディスクに書き込まれた
と仮定して良いかもしれない。
あとは、Linuxだったら、syncコマンドを実行するとか。
syncコマンドが管理者権限無しで実行できるのかは知らないけど。
2021/08/06(金) 20:29:38.69ID:5iNp8vEV
https://www.postgresql.org/docs/current/wal-reliability.html

PostgreSQLの場合:

29.1。信頼性
信頼性は深刻なデータベースシステムの重要な特性であり、PostgreSQLは信頼性の高い動作を保証するために可能な限りのことを行います。信頼性の高い操作の1つの側面は、コミットされたトランザクションによって記録されたすべてのデータを、電力損失、オペレーティングシステムの障害、およびハードウェア障害(もちろん、不揮発性領域自体の障害を除く)から安全な不揮発性領域に格納する必要があることです。コンピュータの永続ストレージ(ディスクドライブまたは同等のもの)へのデータの書き込みに成功すると、通常、この要件が満たされます。実際、コンピューターが致命的な損傷を受けた場合でも、ディスクドライブが存続すれば、同様のハードウェアを備えた別のコンピューターに移動でき、コミットされたすべてのトランザクションはそのまま残ります。

定期的にディスクプラッタにデータを強制することは簡単な操作のように見えるかもしれませんが、そうではありません。ディスクドライブはメインメモリやCPUよりも大幅に遅いため、コンピュータのメインメモリとディスクプラッタの間にいくつかのキャッシュ層が存在します。まず、オペレーティングシステムのバッファキャッシュがあります。これは、頻繁に要求されるディスクブロックをキャッシュし、ディスク書き込みを結合します。幸い、すべてのオペレーティングシステムは、アプリケーションにバッファキャッシュからディスクへの書き込みを強制する方法を提供し、PostgreSQLはそれらの機能を使用します。(これがどのように行われるかを調整するには、wal_sync_methodパラメーターを参照してください。)
2021/08/06(金) 20:50:07.29ID:vJnUxy1T
>>311
DBAがいなくて運用もすべて担当するならトランザクションログや復旧の仕組みは知っておく必要あるよ
DBAがいるならアプリから見たトランザクション管理方法を知っておけば十分
(同時実行制御、ロック、分離レベルとかの知識は必須)
2021/08/06(金) 21:34:55.20ID:9Wm7dl2u
どうでもいいよ
今時DBなんかAWSのRDSみたいなマネージドサービスでポチるだけだ
クラッシュなんかまず起きないし、万一起きても再起動すりゃ勝手に復旧する
DBを自前で立てないことが一番大事
2021/08/06(金) 22:22:10.90ID:vJnUxy1T
>>320
おいおい
RDSがクラッシュするケースなんていくらでもあるし
自動で復旧できる場合もあればできない場合もあるから

結局中身のDBMSの仕組みをしらないとまともな運用はできない
2021/08/06(金) 22:45:59.27ID:n7mHPNpK
>>321
どんなときにクラッシュするの?
2021/08/06(金) 23:04:16.95ID:9Wm7dl2u
>>321
まあ突然のフェイルオーバーと再起動は俺も見たことあるからそれが実際にはクラッシュなのかもしれんが、
仮にRDSがクラッシュして自動復旧もできなかったとして、DBMSの中身の知識をどう活用して対処するんだ?
インスタンスへのログインもトランザクションログの解析も許可されてなくて、できることなんて結局スナップショットからのリカバリくらいしかないのに
2021/08/07(土) 13:03:59.56ID:0XNcHXej
>>323
PostgreSQLならトランザクションログなどは自由に見られるのでは。
結局ファイルの集まりだし、トランザクションログを人間が見安い形で
見る方法もあるのでは。
RDMS自体のソースが有るわけだからそれを調べれば仕組みも分かるだろうし。
お金の関わることをする場合、DjangoやRailsなどを使っていてもやっぱり、
データベースの成り立ちを知ってないと怖い気がするな。
2021/08/07(土) 13:18:26.48ID:AEz+LKNR
趣味ならともかくお金払ってやるならデータベースの仕組みを調べるより冗長構成とバックアップ体制と保守契約をちゃんとやるべき
2021/08/07(土) 15:36:26.59ID:JTijiKKd
それは顧客に言えとしか
自分が決定権もってるなんて恵まれた奴、そんなにいる?
2021/08/07(土) 15:47:08.13ID:AEz+LKNR
受注の話なの?
なら要求仕様書に書いてある通りに構築しなよ
まさかと思うけど顧客からトランザクションログの解析まで要供されてるのか?w
2021/08/07(土) 17:43:21.87ID:EnA6xjt7
データベースのマニュアル読めばいいのに
2021/08/07(土) 19:34:39.41ID:dYY2396a
セキュリティを気にしすぎるあまり
冗長性を許さないという顧客もいるようだが
330デフォルトの名無しさん
垢版 |
2021/08/07(土) 22:32:02.89ID:D2wyEaFr
ええ、LANポート接続禁止でインターネットもイントラネットも接続致しません。
もちろんUSBメモリーも外付けハードディスク等もいっさい接続禁止です。
2021/08/07(土) 22:37:44.78ID:44Jp+lmm
>>329
それはセキュリティというより
確実にデータを消せるようにするためだな…
2021/08/07(土) 23:00:09.86ID:OG1sVILn
>>324
RDSではトランザクションログを見る方法はない
サーバーのファイルシステムも一切見えない
RDS使ったことないなら黙ってりゃいいのに
2021/08/07(土) 23:29:09.83ID:+3xGsL1L
トランザクションやトランザクションログの仕組みを理解しろって話と
ログの中身を実際に見れるかどうかって話は全然違う話やろ
2021/08/08(日) 00:21:05.30ID:gE3xMaIA
main() でははなくて WinMain() で始まるプログラムを
ネットで調べ調べして作り始め、とりあえず期待通りの
.exe はできたのですが。この .exe にアイコンを付ける
方法がネットで調べてもわかりません。

わからない原因はライセンスの関係で Developer Studio 97
という化石のように古い開発環境を使っているため、
新しい開発環境とやり方が違うからだとは思うのですが、
もし Developer Studio 97 時代のアイコンを付ける方法
を思い出してアドバイスしていただけるエロい方が居ると
ありがたいです。

ちなみに、アイコンを変更できるというフリーソフトも
試してみましたが、それもうまくいきません。
2021/08/08(日) 00:44:48.08ID:fXmypV8H
>>333
そりゃ無理があるだろう
>>324はRDSでトランザクションログを見れるはずってはっきり言ってるわけで、少なくともそれは完全に誤り
そして、そこに拘るってことは恐らく「DBMSの内部の知識を活かした運用」をする上でトランザクションログを見れることは必須だと考えているんだろうね
2021/08/08(日) 02:29:09.38ID:aconubWq
>>335
そいつも君も論点ズレてるよって指摘だったんだかな
何と戦ってんのか知らないけどまあ頑張って
2021/08/08(日) 12:32:35.77ID:KyFDvIQY
DB側にトランザクションの記録ないのん?
2021/08/08(日) 15:03:09.93ID:8+EE5eS9
>>337
あるよ
トランザクションログのバックアップやリカバリはRDSが用意してる機能を使うから直接触る必要がないってこと

中身を見れるかどうかはDBMS次第だけど
見れる場合もそれ使って直接ロールフォワードするような操作は出来ない
2021/08/08(日) 18:52:14.48ID:K9eCOFZN
ローカルで使用するちょっとした計算アプリを簡単に作りたいです
例えば
入力フォーム、AとB
計算結果、C
AとBはインクリメンタル入力(つまり入力したそばからCが計算される)出来てSI接頭辞使用可
ひとまずHTML/JavaScriptで作り初めてみたのですが日本語入力を制御する手段がないようで
困っています(あるにはあるみたいだけど環境依存性が高い)
何かもうちょっと良さそうな方法はないですかね?
2021/08/08(日) 19:34:33.79ID:3Qhfl9FY
フォームという点からGUI必須、入力と同時に計算という点からイベント駆動
日本語入力制御がというのが意味フではあるけどさておき、HTMLはNG、簡単に作るという点からVCもNG
C#とかVBといった.Netか、Javaになるだろうね
他に有名どころではあるけどHSPはやったことないから入力イベント扱えるか知らない
2021/08/08(日) 19:44:20.38ID:3Qhfl9FY
日本語の意味フと言うのは、IME使うなんて要件は無いんだからinactiveにしとけば?という意味
342339
垢版 |
2021/08/08(日) 20:10:45.02ID:K9eCOFZN
>>341
Webブラウザで日本語入力は使うしタブやウインドウを切り替えてもその状態は維持されるような
というか作っていて別のタブで日本語入力をONにしてググった後に戻ってくると
日本語入力がONのままになっていてこりゃ制御できないと使いにくすぎるとなりました
2021/08/08(日) 20:26:21.38ID:7BKdY7dG
CSSで日本語入力状態を制御できないの?
2021/08/08(日) 20:35:50.34ID:3Qhfl9FY
できる
ime-mode: inactive
345339
垢版 |
2021/08/08(日) 20:48:40.53ID:K9eCOFZN
ttps://developer.mozilla.org/ja/docs/Web/CSS/ime-mode
ime-modeはobsoleteなんだが・・・しかもIEとFirefoxだけ
Electron界隈とかどうしているんだろとググってみても
これという解決策は出てこない気が
346339
垢版 |
2021/08/09(月) 01:31:14.35ID:bWVDlgk2
これだけのためにでかいIDEをインストールするのも・・・と考えつつググっていたら
Chrome系はinputmode='email'みたいな感じで日本語入力がOFFになるっぽいという情報が
引っかかってやってみたら確かにその通りになりました
ime-modeと併用することでChrome系とFirefox/IE系ともにそれなりに使えそうな感じになりそうです
ただし日本語入力はOFFになってくれるけどフォーカスが外れたときに自動でONに戻って
くれないのでそれは不便なままですが

このためだけにVS入れてC#を覚えるのも気が進まないし、ime-mode&inputmodeでお茶を
濁そうと思います。しかし未だにIE全盛期みたいな実装を使わなければならないのか・・・(しかも将来性不透明)

せいぜい150行程度のHTMLを作るのに結構な時間を潰してしまったorz
2021/08/09(月) 03:34:39.17ID:pGDDviy4
計算サイトは接頭辞までをも入力したりはしないで
コンボボックスで選択するんだけどな
2021/08/09(月) 10:39:58.44ID:Zs3Qsaso
emailとかnumberってIME状態復帰しないのかよ…ショックだ
まじアメリカ人ばかりに最先端の技術開発させてないで、CJKの国のみんなも頑張ってくれー
2021/08/09(月) 12:03:00.50ID:wbJLy1Ju
どうでもいいな
そのために技術の進歩が遅れるくらいなら極東猿の面倒な言語の都合なんかガン無視してくれていい
2021/08/09(月) 12:24:15.96ID:UR8L0HdQ
これで進歩が遅れるとか極論w
2021/08/09(月) 21:21:26.03ID:qrhzKsrp
アセンブリ言語(x86_64)を初めて触っています
gcc -Sで出力されたコードを見ていると、raxを1で初期化する操作を movl $1, %eax で行っているようです
movq $デカい, %rax を直前に書き足しても問題が起こらないので64bitを書き換えているようですが、これは仕様でしょうか?
2021/08/09(月) 21:23:43.79ID:qrhzKsrp
>>351
初期化するってのは変な書き方でしたね…すみません
2021/08/09(月) 22:26:18.86ID:ONkXNtnD
https://stackoverflow.com/questions/11177137/why-do-x86-64-instructions-on-32-bit-registers-zero-the-upper-part-of-the-full-6
2021/08/09(月) 22:55:44.24ID:qrhzKsrp
>>353
Intelのドキュメントに記載されているのですね
ありがとうございます!
2021/08/10(火) 00:45:23.63ID:YXwAmg8T
>>351
なんか知らなそうなので補足しておくと、そもそもx86-64を開発・実装したのはIntelではなくAMD
なのでリファレンスはIntelじゃなくAMDだし、AMDのサイトにはAMD64のプログラミングマニュアルが
公開されている。あとリリースされた当時はAMD64命令セットに関する解説記事もいろいろあった

AMD64 Architecture Programmer's Manual Volume 1: Application Programmingの29p
> 3.1.2.3 Zero-Extension of 32-Bit Results
読めば判るけどmovだけでなく32bitの算出演算命令なども同様に上位32bitはゼロ拡張される
356デフォルトの名無しさん
垢版 |
2021/08/10(火) 01:49:18.74ID:/z4Yiavc
現在高校生で将来はaiや機械学習を学ぼうと考えてるのですが、その一方で競プロにも興味があります。プログラミング自体への理解度を深める為競プロは役に立つという情報もありますが、ai開発が目標の場合も十分に有益でしょうか?初心者質問で申し訳ないです。
357351
垢版 |
2021/08/10(火) 01:59:49.68ID:2NkovIB1
>>355
なるほど、経緯から詳しくありがとうございます
アーキテクチャのマニュアルを確認します!
358デフォルトの名無しさん
垢版 |
2021/08/10(火) 08:36:33.20ID:vGxtUCly
>>356
いますぐAIと機械学習の勉強はじめるのが一番効率的
2021/08/10(火) 09:28:53.99ID:468EC6Yg
>>356
プログラミングは幅広い知識があるほうが有利
高校生なら時間ありそうだから競プロもやればいいよ
2021/08/10(火) 17:15:11.68ID:OMlKC5pQ
C++でゲームを作成してフレームごとにスクリーンショットをpythonのプログラムに送信しようと思っているのですが、
この際にスクリーンショットの受け渡し方法には何を選ぶと良いでしょうか?
TCP/IPで試していたところ1パケットの上限が65536で画像を転送するには取り扱いが不便だったので他の方法を探そうとしています
画像のサイズは最大でも8MB程度です
2021/08/10(火) 17:24:47.89ID:mO9F1ls8
C++からPythonの共有メモリ機能にアクセスする方法とかあるのか良くわからないけど
TCP/IPのデータは別に1パケットで渡さなければならない訳ではないよ
おりあえず「c++ python プロセス間通信」で検索してみて
2021/08/10(火) 18:46:04.80ID:9wi/dlAk
フレーム毎とは、1秒間に60回も処理するの?
Python では、そんなに速く処理できないでしょ

一旦、Amazon SQS, Redis, Memcached みたいなキューに入れてから、ゆっくり処理すれば?

>>351
LLVM も見た方がよい
2021/08/10(火) 18:49:39.04ID:beMLlP/1
>>360
もうちょっと詳しく書いた方が良いと思うよ
送信頻度とか、画像のサイズって全データの総量?フレーム単位の最大量?
シングルイベント時のスクリーンショットをPythonに渡すのと、60fpsで動作している
ゲームの全フレームをPythonに渡すのでは全然違うしね
後者は処理能力的に難しいと思うけど
2021/08/10(火) 19:00:12.07ID:OMlKC5pQ
>>361-363
ありがとうございます
やりたいこととしては60fpsで動作させたいのではなくて、1回の通信で1フレーム進める感じです
ゲームのキャプチャを送信(C++からpython) → pythonで解析して行うべき動作を決める → キー操作を送信(pythonからC++) → 操作を入れてゲームのフレームを進める
2021/08/10(火) 19:09:12.84ID:beMLlP/1
>>364
ということはパフォーマンスはかなり妥協できるのかな?
パフォーマンスは二の次で良いからお手軽にならテンポラリファイルが簡単そう
TCP/IP等のネットワークプロトコル経由でももちろん出来るかと。>>361氏も書いているけど
1パケットに収まらない分は自動で分割されて受け取った側で再結合される
ガチでやるなら「プロセス間通信」になるだろうね。PythonだとFFIでOSのAPIを叩く必要が
あるかもしれないけど
プラットフォームにもよるけど方法は結構あると思うよ。8MB程度ならクリップボードも使えるかも
2021/08/10(火) 19:40:17.30ID:8rfaPNuy
昔の大戦略的なやつかな
367デフォルトの名無しさん
垢版 |
2021/08/10(火) 20:48:06.38ID:PJ1bHB/F
簡単なのは
フォルダに投げてpyのwatchdogでバインドじゃね?
2021/08/10(火) 21:07:27.87ID:WX7p38hi
フォルダに投げてファイル名だけネットワークで通知するとか
2021/08/10(火) 23:58:22.82ID:OMlKC5pQ
すみません色々試してみたんですが、結局pythonからC++に通信が発生して同期もしたいのですべてTCP/IPでやることにしました
先頭4byteにデータサイズを送ることでファイルサイズの問題は解決しました
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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