+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/12/21(水) 21:56:53.30ID:xYX0mlO/
プログラマ板の趣旨にあわせてブラウザ限定ではなくサーバーサイドJavaScriptや
トランスパイラなどの関連技術の話題も取り扱うように変わりました。
ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。

ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
http://kangax.github.io/compat-table/es5/
http://kangax.github.io/compat-table/es6/ (= es2015)
http://kangax.github.io/compat-table/es2016plus/
http://kangax.github.io/compat-table/esnext/

JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。

※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467906819/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
+ JavaScript の質問用スレッド vol.131 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1478053599
前スレ + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1472401404
2021/02/28(日) 17:10:11.84ID:Q5fErzsB
>>339
XY Problemやな
他の言い方もあるかもしれんが
2021/02/28(日) 17:39:42.80ID:9R7SDbz1
動画へのリンクで十分だよな
製品に埋め込みたいならその分の容量枠や更新手段を最初に検討できてない時点で負け
動画の入手経路を考えればWAN未設定時の代替手段もいくらでもあるから諦めが肝心
2021/02/28(日) 17:40:01.29ID:G1RvtxsJ
>>338
それはしらないです。言葉通りなら100個の画像キャッシュならできるのではないのでしょうか。


とりあえず322の要件が伝わったという感じになるでしょうか。
ちなみに自分の見解を付け加えると336の意見にかなり近く『セキュリティの都合から出来ない』が322に対する回答です。
ファイルAPIなど直近どうにかしたいならローカルファイルのアクセス抜け道はあるが2020年後半には塞がれるですかね。
2021/02/28(日) 18:15:30.26ID:lfmYNzsQ
>>325,329で結論ついてるじゃん
もう話すこと無いよ
2021/02/28(日) 20:23:52.54ID:njw+GWFe
単に動画再生するためだけにWebサーバー立てられちゃうユーザーは堪ったもんじゃないなw
2021/02/28(日) 20:32:21.83ID:njw+GWFe
設定を分かりやすく解説するために動画ヘルプ作ったはいいが今度は動画を再生出来ない問題が頻繁

動画を再生方法を解説する動画を作って配布するんだ!

そのくらいバカバカしい仕組みだね
2021/02/28(日) 21:13:24.57ID:/P0BCCvA
JSからローカルファイルにアクセスし放題なブラウザ作っちゃいなよ
2021/03/01(月) 01:53:17.41ID:6RQFswOZ
動画は、YouTube に置いて、それを見て下さいだけで良いのでは?
それか、動画をダウンロードして下さいとか

なぜ動画とアプリを関連付けるのかが、分からない

動画・アプリは別々の製品・サービスだから、作れる。
疎結合

それをアプリ内に、動画の機能を持たせるのは、密結合で、
動画の機能を、自分で作らないといけない

車内に、買ってきたテレビを置くのは、疎結合だから出来る。
車に、テレビが映る機能を作るのは、無理

車のメーカーは、テレビなどを作っていない
348347
垢版 |
2021/03/01(月) 02:00:29.40ID:6RQFswOZ
君が作るのは、動画機能じゃない。
アプリだけ

動画機能を作るのは、何十年も掛かる

動画は、YouTube に置いておけば良い。
念のため、ダウンロード用の動画も置いておけばよい
2021/03/01(月) 03:13:13.19ID:UPXhvHyB
>>340
それだ。前にも同じようなことがあって
あれなんていうんだっけなーってずっと悩んでた。
また忘れそうだけどw
2021/03/01(月) 20:41:55.17ID:lUjHuGPy
前にも言ったけどアプリでええやんw
何故web上でjavascriptでどうにかしようと思うんだw
2021/03/02(火) 07:45:39.50ID:sS2h8+iB
結局テストするのって
ブラウザしかないの?

HTMLで呼び出さなきゃだめよね
2021/03/03(水) 15:56:34.46ID:JOte4nlz
>>351
ブラウザで実行した結果を確認したいわけじゃなければブラウザ使わずにテストできるでしょ
メジャーなテストフレームワークのドキュメント読めばやり方書いてるよ
353160
垢版 |
2021/04/24(土) 23:31:11.53ID:m7PvuqLk
メモリ確保と開放を任意でできないの?ガベージコレクション要求出してもメインガベージコレクション動かないんだけど
354デフォルトの名無しさん
垢版 |
2021/06/19(土) 18:46:42.99ID:jcrqZRsR
JavaScriptのストレージを解説している専門書を教えて下さい。
355デフォルトの名無しさん
垢版 |
2021/06/19(土) 20:21:53.77ID:jcrqZRsR
Indexed Database APIがよく分かりません。

お願い致します。
2021/06/19(土) 21:03:10.24ID:yJFBMMPB
Web Storage なら有るけど、Indexed Database は知らない

この板よりも、web制作管理板の方へ書き込んでください!
このスレは荒らしが出た時に、一時的に使っていたものだから
2021/06/19(土) 22:22:16.15ID:p3/Sr9CP
>>354,355
ググれば出てくるだろ。まあ以下だが。
https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API
https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB


上記とその関連ページを一通り全部読んで分からないようなら諦めろ。
プログラミング言語一般ではリファレンスを読んで分かる奴(=中級者以上)しか基本的には相手にされてない。
これは、学校で言えば中1程度で、それ以下、
つまり四則演算や基本的な読み書きから教えてもキリがないし、分かっている奴からすると逆に迷惑だからだ。
言い方を変えれば、プログラミングに於いての中級者(=他言語であってもいいが、一通りはプログラミング出来る)であり、
APIを知らないだけであれば、MDN等のリファレンスを読めば出来るようにはなってるし、その程度までは整備されてる。
(これは、他言語も全てそう。PHPは例外かも)

だから、リファレンスを読んで分からないような奴(=初心者)相手には、今後ともIndexedDB関連が整備されることはない。
IndexedDBはそもそも初心者が使うものではないから、MDNではこれ以上初心者向けに整備される動機がない。
書籍は初心者が好んで買うものだが、だいたい超初心者向け(var a = 1; が代入式等から)なので、IndexedDBまで至ることはない。
それ以上の書籍があるかどうかだが、俺は知らないし、探したこともない。が、多分無い。
理由は簡単で、書籍が超初心者向けばかりなのは、そっちの方が人数が多くて売れるからだ。
MDNを読めば分かる奴は、書籍ではなくMDNを読むことをほぼ確実に選択する。
書籍では情報が古すぎ、間違いも修正されず、MDNを開くだけの方が本屋/本棚に行くより楽だからだ。
だから君が望む、超初心者ではないが中級者にも至ってない、極めて中途半端なレベル向けの書籍は、基本的に無い。
そんな奴はほぼ居ない(=売れない)からだ。
(これは、他言語も同じ)
2021/06/19(土) 22:22:45.46ID:p3/Sr9CP
なお、超初心者向けには、MDNにも超初心者用チュートリアル(以下等)
https://developer.mozilla.org/ja/docs/Web/Tutorials
が用意されており、これらを読んで、実践し、中級者になれば、今のMDNで全て事足りる、という算段になっている。
だからまあ、MDNとしてはこれで良し、程度にはなってる。

なお、これに対し不満を述べるなら、君自身が書くことを許可されているから、
IndexedDBを使ってみて、こういうページがあれば助かったのに、と思うのをMDNに参加して書き足すことだ。
なお勿論書籍を書くのもありだ。(が、まあ、売れないとは思うが)
2021/06/19(土) 22:51:19.11ID:jcrqZRsR
返信ありがとうございます。

英語版なら出版されてるのですが、残念です。
2021/06/19(土) 23:16:09.90ID:p3/Sr9CP
>>359
なら英語版を読め。

それも単純な理由で、英語版だと対象が34億人(だっけ?)に増えるから、
書籍化した場合の損益分岐点が日本語(1.2億人)に比べて大幅に下がるから。
だから、「中途半端なレベル向け」の本は、
今現在も今後ともどのプログラミング言語でも、日本語で出版されることは稀だよ。

いわゆる「名著」とされるものは大概翻訳されるが。
(逆に言えば、翻訳されてない=大した本ではない、とも言える)

この英語だけ有利な点は今のところどうしようもないね。
ただし最近は自動翻訳でも読めるようになってきてるから、今後は消失するのかもしれんが。

英語を勉強する気があれば、英語版をそのまま読むのもありだろうさ。
ただ、そんなことをやっていてもキリがないから、
プログラミング能力を鍛えてMDNで十分行けるレベルに成る方が本質的な解だけど。
(英語も必要ではあるから勉強するのは無駄ではないが)
2021/06/19(土) 23:18:29.74ID:yJFBMMPB
そもそも、ウェブ系は、Ruby on Rails, AWS Fargate, Aurora みたいなものを使うから、
バックエンドとして、Node.js を使う事もない

開発環境としては使うけど
362デフォルトの名無しさん
垢版 |
2021/06/19(土) 23:57:49.94ID:0AcJPfX0
よろしければ、JavaScriptの地雷本を教えて下さい
よろしくお願いします
2021/06/20(日) 00:46:12.42ID:G7EAyIzA
>>362
全部だね。
(この後Ruby馬鹿が何か言うのも含めて)


理由は簡単で、まず本自体については
1. 外国人著者で名著→翻訳されて日本でも手に入る(それなりと判断されてるから翻訳されてる)
2. 外国人著者で糞→翻訳されないし、日本でも入手しにくい
3. 日本人著者→全部糞、理由は職業プログラマじゃない奴が書いてる為、本質的にズレてるから
となる。だからより正確には、

A. 外国人著者の翻訳本は問題なし
B. 外国人著者の非翻訳本は糞(翻訳する価値無いから翻訳されてないだけ)
C. 日本人著者なら、その著者が職業プログラマ(コードを書くのが本業で、本を書いたのは偶々)なら問題なし
D. 本を書くのが本業(=作家)の著者のプログラミング本は、全部糞
(複数の本を出しすぎ/プログラミングスクール等に所属/最近はマネージメントしかしておらずコードを書いてない等々全部含めて)

となる。そして見れば分かるがCはほぼあり得ないから、日本人著者は全部Dであり、全部糞。
ちなみに>>359はAではなくてBなので、糞の可能性が高い。
それでも読んだり参考にするのも自由だが。

ただし問題は、本は、書くのに1年ほど、翻訳するのにも1年ほどかかるということ。
つまり、日本人著者で1年、外国人著者で2年のタイムラグが発生する。
これを許容出来るレベル(=基礎の基礎であり、数年経ったところで変わりもしない)のなら問題ないのだが、
JavaScriptについては、数年前にIEが死んでくれて世界も変わりつつあり、
それ以前に書かれた本は今から学ぶには余計に邪魔でしかない。
この辺の事情も今後とも変わらないから、JavaScriptでは本で学ぶこと自体が駄目だと認識した方がいい。

だからさっさとそこら辺の超初心者向けの本かMDNのチュートリアルをこなして、実際にコードも書きまくって、
出来るだけ早くMDNだけで問題ないレベルに上がることを目指すのが良いと思うよ。
2021/06/20(日) 09:52:09.20ID:G7EAyIzA
思うに多分、本で学べると考えること自体がアナログで、
デジタルの世界では捨て去るべき価値観なのだろうよ。
それが出来ないのなら老害だし、プログラミングには向いてない。

紙は現時点でおそらく最も優れた媒体だが、前述の通り、本になると改訂に1-2年以上かかる。
だから、それより短いスパンで改訂される事を学ぶのには不向きだ。
高校までは、人類的には100年以上前に確定していることばかりだから、紙の教科書が最適だし、実際そうなってる。
大学では、これが無理だから、その都度プリントを配るなり、パワポやpdfだったりするだろ。

MDNが読みにくいと感じるのは、慣れの問題でしかない。
現実として、他の選択肢もないから、慣れるしかない。
どうしても受け付けないのなら、JavaScriptを諦める方が妥当な選択だと思う。


なおプログラミングの基本中の基本、今でいうメジャー言語ならほぼ全部共通の部分までは、紙でもいい。
これは、代入、比較、配列、オブジェクト指向、ラムダ、とかだね。
これらはメジャー言語では全て同じノリで使えるので。
その先の、各種フレームワーク/API等まで紙を望むのは間違いだ。
出版される頃には既に変更されてるし、使い物にならないよ。
365デフォルトの名無しさん
垢版 |
2021/06/20(日) 11:07:46.62ID:zvxzA8cD
>>363
「オレは英語が読めない!」まで読んだ
366デフォルトの名無しさん
垢版 |
2021/06/20(日) 11:20:41.36ID:k/IiEMCn
>>364
「紙の本しか知らない老人だけど、それが何か?」まで読んだ
2021/06/20(日) 13:16:46.79ID:NcuC8mZv
>>364
アドバイスありがとうございました。
2021/06/20(日) 13:44:40.93ID:G7EAyIzA
>>366
電子書籍なんて尚更意味ないと思うけどな。
端末持ってるのなら、それでMDN読んだ方が早いし。

ただ確かに、俺は電子書籍を読んだことがない。
例のサイ本とか、電子版はサブスクライブ制で週に1度はアップデートされてて、
今ならPromiseは勿論asyncも完全にカバーしてたりするのか?
だとすると、それもいいだろうね。



ただまあ、やはり、ゆとりに回答したのは俺が間違ってた。
俺はこういう理由でこう考える、と明示しているのだから、
意見が異なるのであれば、「この点についてはどう思うか」と普通に反論/質問すればいいだけなのに、
お前らはいちいちマウント取りにくるからウゼーだけだ。
だからゆとりが一匹居るだけで質問スレすら維持出来ず、崩壊する。
Web板の質問スレもついに廃棄されたようだし。

俺も回答するのをもっと控えるようにする。
やっぱゆとりはきっちり殺しきらないと駄目だ。ゴキブリと同じ。



>>367
なお俺はお前の態度も気に入らない。
それは長期的に見て繁栄する姿勢ではない。
君らには理解出来ないとは思うけど。
君らの根本的な問題はそこだよね。対人能力が低すぎる。
369362
垢版 |
2021/06/20(日) 16:31:25.22ID:7xMQ0xSh
>>363の人
>>364の人
>>368の人

ありがとうございました

別スレにも書きましたが、JSは普及率の割に良い入門書が本当に少ないです
インプレスのいちばんやさしいとソフトバンクの超入門を買ったのですが、
2冊とも俺には合いませんでした

しかしサイ本以外にも数冊これはいいかもって本を見つけました
例えば、スラスラわかるという本です
ちょっと古い本ですが分かりやすそうです

サイ本もリファレンスも、入門者にはとても読みこなせないので、
何とか良い本を見つけたいです
2021/06/20(日) 16:33:22.38ID:5F1jaIsU
善意の押し売りからのもっと感謝しろからの対人能力にこじつけ
おまえのは自己顕示欲だから感謝されない
TPOを弁えろ
そういうとこだぞ、おまえが老害なのは
自分が気持ちよくなりたいだけのゴミカス
いい歳こいてんなら弁えなさい
2021/06/20(日) 21:32:14.36ID:G7EAyIzA
>>369
それでいい。それがここでの正しい姿勢だ。

なお>>370は典型的な馬鹿ゆとりだ。
何が問題かすら理解出来ておらず、全部相手のせいにする。
俺だけの問題なら、俺が居ないスレは繁盛するはずだが、そうなってない。
それはゆとり側に問題があるって事だ。
でも絶対にゆとりはこれを直視しない。この辺がゴミクズ過ぎる。

だからまあ、もう放置か、と思っていたのだが、
369が素晴らしく立ち回ったので、何が正解か教えておいてやるよ。
2021/06/20(日) 21:32:40.72ID:G7EAyIzA
ネット上にはいろんな奴が居る。
勿論、感謝して欲しいだけの奴もいるし、俺ツエーしたいだけの奴もいる。
ゆとりの問題はここで、人間関係の幅が狭すぎて、自分と同じタイプしか想定出来ないことだ。
そして俺が上記のどちらかだと決めつけ、370みたいなことになる。
それは実は370の自己紹介でしかないことに気づけてない。

実際はどうかというと、俺ツエーしたいだけ(自己顕示欲の固まり)の奴は、通常はコテになる。
或いは、そもそもログイン制(知恵袋/teratail等)を選ぶ。
匿名掲示板での名無しなんて、彼等にとっては訴求力がなさ過ぎる。

感謝して欲しいだけの奴も確かにいる。
ただ、こいつらも基本的に「○○さんはいい人」と見られたがっているので、通常はコテを選ぶ。
また、少なくとも言葉遣いは丁寧だ。わざわざ嫌われるようなことはしない。

では俺はどうか?どちらにも明確に当てはまらないだろ。
それをゆとりは「ぼくがしってるねっとのひとたちはこう」と勝手に決めつけるからおかしな事になる。

お前らゆとりは、お前らが思ってるほどにはネットを理解出来てない。
実際問題として、ゆとりよりも上の世代は、ゆとりよりも先にネットを使っているし。
(プログラミング界隈なんてほぼ全部これで、そいつらがネットを作り上げてきたからこそネットが存在してる)

今時の匿名掲示板には馬鹿が多すぎて、今もそうだが、無駄に罵倒合戦になって時間を食う。
だからこれを嫌う奴はログイン制等、馬鹿を除外しやすい場所に移動する。
逆に見れば、未だに残っている奴は、そこでは駄目だからこそ、こんなところで罵倒合戦しつつ居残っているわけだ。
その理由を考えなければならない。
2021/06/20(日) 21:33:14.23ID:G7EAyIzA
多くの場合は、「情報を得ること」だ。
つまり、質問者を人肉検索エンジンとして使用し、何かしらの新着情報を得る可能性を試してる。
この場合、感謝の言葉は明確に不要だ。情報として価値がないからだ。
(ただし、感謝して欲しい奴も居るから、書くこと自体は質問者の戦術としてはありだが)

匿名掲示板上に於いては基本的に質問者も回答者も対等であり、
長期的に発展する為には、どちらも「来てよかった」を得られる場所でなければならない。
質問者の求める物は「回答」だと明確に分かっている。だから回答すればいい。
(よって、回答しない癖に文句を言うだけの奴 >>370 は死ね、でしかない)
ところが回答者の求める物は人により様々だ。
だから質問者は相手を見極めて、相手が望む物を差し出さなければならない。

とはいえ、質問者側が出せる情報なんてろくな物ではない。
が、それも分かってて勝手に回答しているのだから、質問者は堂々と持っているカードで勝負すればいいのだ。
つまり、今369がやった事だ。
こういう状況で、自分ではこう考えて、こうしようとしている、まさにそれでいい。
そこに間違いが含まれていようが、少なくとも本人がそう思っているのなら、それを堂々と言えばいい。
2021/06/20(日) 21:34:07.37ID:G7EAyIzA
で、ついでにさらに回答しておくと、
> JSは普及率の割に良い入門書が本当に少ないです
> 何とか良い本を見つけたいです
これが間違いだ。
C全盛期の1992年頃、C/C++は合わせて92%のシェアを持っており、今のJSどころではなく普及していた。
(当時のC++は今のC++からすれば「それはC」でしかないので合算で問題ない)
ところが、その状況ですら入門書の良書なんて1冊もなかった。
だから、入門書の良書が存在する、と考えること自体が間違いだ。

理由は、そもそも入門書を書く奴がプログラマではない奴ばかりで、本当に中身がデタラメだからだ。
プロ中のプロレベルのプログラマは、通常は本なんか書かずにコードばかり書いてるし、
本を書くにしても、もっと上位の内容を書くので、入門書なんて書きたがる奴が居ない。
結果、ここは永遠に改善されない。

ただし、言語を作った奴自身が最初に布教用に書く本だけは例外だ。
著者のレベルはプロ平均よりも断然上だし、布教用だけに比較的初心者向けに、しかも網羅的に書いてある。
Cの場合はこれがK&Rで、30年経った今でも絶賛と罵倒で議論されてたりするが、名著なのは確かだ。
ところがJSにはこれがない。ブレンダン・アイクが書いた本がないのだ。ここはJSの不幸なところだとは思う。
実際、既存概念の寄せ集めで、難しい部分もないので、書く必要もなかったし、読む必要もない、という
簡単な言語を目指したのは事実だし、成功してもいるが、それにしても書いておけよ、とは思う。
(とはいえK&Rも「既にプログラミング出来る人が初めてCを触る時」向けに書かれているので、
それを渡されて撃沈した超初心者からは怨嗟の声が上がりまくりだが)

だから、本探しは諦めて、さっさと手を動かしてサイトを作ることだ。
目的と手段の混同はよく陥る落とし穴だが、君もそうなっている。
本なんてどれでもいいからコードを書け。
そして上達すれば、君が参考にした本が実は糞だった、と実感出来るようになる。
その後、君自身が初心者向けの本を書くのもありだ。
(実際はサイトを作る方が儲かるから、結局誰も初心者用の本を書かないわけだが)
2021/06/20(日) 21:35:21.42ID:G7EAyIzA
が、まあ、今回はうっかり間違って回答してしまった。これは俺のミスだな。
本件終わったら、忘れずに回答対象スレから外しておくことにする。
君らも俺の回答が無くなることを望んでいるし、お互いこれで幸せだ。
(半年ほどは出てこない予定)
2021/06/20(日) 22:36:01.01ID:9RfDAD0a
文章から溢れ出る独善オナニーが臭すぎる
2021/06/20(日) 23:08:03.84ID:bGnn/scA
既に、YouTube で有名な、雑食系エンジニア・KENTA が言ってる、
初心者はRuby から始めて、Go へ行けとか。
PHP は一生やる必要ありませんとか

C/C++ みたいなポインター言語や、
JavaScript みたいなプロトタイプ宣言も、時間の無駄

「たのしいRuby」は、2週間ぐらいで読める。
継承チェーンも、プロトタイプみたいに自作しなくてよい。
言語に継承機能があるから

以下のサイの表紙の2冊のサイ本とか、カーニハン・リッチーとか、どれほど面倒くさいか

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

プログラミング言語C 第2版、Kernighan & Ritchie

だから、KENTAは東大合格マンガ・ドラゴン桜。
最も短時間の勉強で、効率的に稼いでしまう

Ruby on Rails, Docker Compose, AWS Fargate。
こういう技術の組み合わせで

米国年収で、Rails が1,300万円、
それを抜いたのが、AWS Solution Architect で1,400万円

日本で、KENTA, Udemy の山浦清透、AWSのくろかわこうへいなどが、
ウェブ系の教育革命を起こしたから

Rubyの女神・女優の池澤あやかも、同じことを言ってる。
大学でC を学ぶと、プログラミングが嫌いになるので、Ruby から始めろって
378377
垢版 |
2021/06/20(日) 23:14:36.06ID:bGnn/scA
MicroSoft 自体も、主戦場がLinux・AWS・クラウドに移行しているのを分かっている。
Windows 10 にも、WSL2 でLinux, Docker を入れたし

もう、Windowsには、クラウド開発の端末・タブレットの意味しかない
379369
垢版 |
2021/06/21(月) 02:04:22.95ID:2xpQb3sK
>>371-375
ありがとうございます

ただ1つだけ言わせて頂くと、やはり本選びは大事だと思います
(Webで勉強するならサイト選び)
分かりやすく説明してくれてある本もあれば、手抜きで内容スカスカの本も
あるからです
また、自分のフィーリングに合う、というのも重要な要素だと思います
380369
垢版 |
2021/06/21(月) 02:13:23.27ID:2xpQb3sK
>>377
時間の無駄も何も、クライアントサイドで動きのあるサイトを作りたければ
JSを使うしかないだろ

Rubyがお勧めというのも時代遅れになりつつある
サーバーサイドで使われる言語が、日本でもPythonに取って代わられつつある
(スレチですいません)
このことは勝又氏も動画で言及している
2021/06/21(月) 09:40:06.75ID:Gse5YA3Y
>>379
既に言ったけど、その価値観が老害なんだよ。

一応言っておくと、ゆとりは自分が「若い」から「老害」ではない、と安全地帯に逃げ込んでいるが、そうじゃない。
老害ってのは、古い価値観を引きずったまま、それを他人に押しつけて邪魔になる人のことだ。
なるほどお前らは若いから今はまだ「押しつける」事は出来ず、直接的には「老害」にはなってないのだろうけど、
その価値観で後輩/同僚を指導したらその瞬間から老害でしかない。完全に老害予備軍だ。
(だからさとりはゆとりが老害だという前提で構えておくべきだ、と俺は言っているわけだ)

プログラミングも今は、IDEでオンライン前提の状況になってる。
大多数の人にとって、それが最も良いと認識されてるから、そうなってる。
なら、お前もそれを採用するのが妥当。初心者なら尚更。
そして大半は慣れの問題だから、やれば慣れるだけ、やらない限り慣れないだけ。

何故そこまで本に拘るのかは不明だが、リファレンスでは網羅的に知識を得にくいことは確かだ。
これは本来はphp.netのように、目次を綺麗に整備すればいいだけなのだが、MDNはそうなってない。
なら、グダグダ言わずに全部読むしかない。
多少は時間がかかるだろうけども、本屋でいい本を探す事に時間を費やすよりは、有意義だろうよ。

それ以前に「網羅的」である必要も、最早なくなりつつある。
仕様はどんどん膨らんでおり、APIなんて使いもしない物も多く、
今は「覚えておく」「知っておく」という老害価値観ではなく、「使いたい時に調べて使う」だから。
学校でテストを受ける為の勉強(=暗記)ではないし。

ちなみに「サイ本」も、糞の中では比較的マシというだけで、名著扱いなんてしてる奴は居ない。
https://jp.quora.com/JavaScript-no-sai-hon-fun-atsushi-sugi-ma-sen-ka-zenbu-doku-nde-ko-do-wo-uchi-komi-n-da-nin-wo-chi-tte-i-masu-ka
https://srad.jp/~ozuma/journal/542145/
心配せずとも、普通に使ってれば、7割くらいは勝手に網羅される。
残りの3割を埋めたいかは、その後でいい。
精々50行程度しか書けない初心者の段階で、色々知識を仕入れたところで、どうせ身には付かないよ。

まあこれも含めて、どういう戦略で行くかは君の判断だし、結果となるのだけど。
2021/06/21(月) 10:16:18.41ID:yklhUjiD
さすがは老害
1年以上前にES2020ベースの第7版が出てるのも知らず
10年前の批評を読んで自己正当化

こうはなりたくないね
2021/06/21(月) 16:35:48.18ID:nRUnvH3c
JavaScriptはC++よりも難しい。

誰だJSが初心者向けの簡単な言語などとデマを吹いてるやつは。
2021/06/22(火) 00:24:35.18ID:PTcNDkdq
>>382
まあそりゃ実際知らないからな。

読んでもないし、読む気もない。だからこういう機会でもなければ調べもしないから、知らない。
この意味では、俺は検索の「契機付け」として質問を使っている。
まあ、最新の出版事情を知ってれば老害ではない、と思うのならご自由に。

合理性の欠けた意見に対し、お前らより若い連中が何故同調してくれると思えるのか。
ゆとりはそこら辺が根本的に傲慢すぎる。
2021/06/22(火) 00:25:17.50ID:PTcNDkdq
ただ見たところ、第7版はまだ翻訳されてないようだ。
英語が得意なら英語版で問題ないが、それなら英語圏の掲示板で質問するから、
ここで質問する一通りも出来ない初心者には、英語版は薦められないよ。
しかしまあ、内容は大幅にアップデートされてるらしい。

> ES6, ES2016, ES2017, ES2018, ES2019 and ES2020
> MDN見た方が早いからリファレンスを削って400ページ削減した
> 構成を大幅に変更。JSとNodeを大幅増加、WebPlatformを半減
> document.write()やattachEvrnt()は不要なので削除。jQueryは省ごと削除 --- (A)
> class基本に変更 --- (B)
> Map/Set/TypedArray/Date/JSONを追加 --- (C)
> https://davidflanagan.com/2020/05/03/changes-in-the-seventh-edition.html
10日間の立ち読みも可能らしい。
https://www.oreilly.com/library/view/javascript-the-definitive/9781491952016/

まあ内容が刷新されているのはいいとして、
(A)の前半はいいが、jQueryを全削除していいのかね?
現実として使われてもいるので、網羅するつもりなら、知らないわけにも行くまい。
(B)については他スレでもclass要らないんじゃね?みたいに話題になってるが、技術的にはその通り。
むしろclassの方が使いにくい(というより意図的にそうしてる)ので、今後は微妙ではある。
(C)に関しては、もしかして第6版ってこれが丸々抜けてたのか?なら今となっては完全にゴミだね。
かといって、今学びたい奴にいつ出るか分からない第7版の訳本を待て、ってのも微妙ではある。

上記、第6版がゴミ化したのはアップデートが間に合ってないからで、
確かに第7版はしばらくは問題ないだろうが、その後は同様にゴミ化する運命だ。
どうやっても出版物はMDNの更新速度には付いていけない。
早い段階でMDNに慣れるしかないと思うけどね。
本に数千円ずつ出すくらいなら、さっさと2画面にして片方はMDN専用にしとけ、と思うよ。
2021/09/13(月) 15:11:44.90ID:1UYrFVx4
xamppのローカル上ではjQueryが動作してくれるのですが、そのファイルをエックスサーバーに上げると動作してくれません、、
調べてもindex.phpで動作させる方法の検索結果が無いのですが、駄目なのでしょうか?

教えていただきたいのは
以下の端折ったjQueryを読み込ます一文の位置とjQuery本体を記述する位置です
script src="https:ajax.google /jQuery/3.4.1

宜しくお願い致しますm(_ _)m
387160
垢版 |
2021/09/24(金) 20:45:45.12ID:Bb+dt6q4
jQeryローカル上でも作ったサーバ上でもお好きな方で動かせますよ?
388デフォルトの名無しさん
垢版 |
2022/06/08(水) 23:58:13.22ID:YvahfHwm
WordPressにも正式採用されているのにjQueryはオワコンって何を根拠に?
2022/06/21(火) 00:32:42.51ID:92uCDaVH
htmlなんですが
動的にタグが追加された事を検知するイベントってありますか?
2022/06/21(火) 00:37:32.08ID:vPUtup+N
>>389
MutationObserver
2022/06/21(火) 08:44:24.88ID:92uCDaVH
>390
ありがとうございます
392デフォルトの名無しさん
垢版 |
2022/06/21(火) 12:05:25.30ID:d0h44aeg
メソッドの引数にあるアロー関数(コールバック関数)って
関数内の処理結果が関数内の引数に返される、で合ってます?

配列.メソッド((関数内の引数) => { 関数内の処理 });
2022/06/21(火) 12:39:29.95ID:rSaY5HO9
filterとかのことか?
引数に指定するものがfilterならfilter内で利用される(呼ばれる)感じだが
filterだとそれが評価式につながるからどう呼ばれるかは気にする必要が無い
2022/06/21(火) 12:46:03.98ID:NKVGlY0U
>>392
合ってないよ
395デフォルトの名無しさん
垢版 |
2022/06/21(火) 13:27:49.69ID:d0h44aeg
>>393
そうです、findとかfilterとか
どこにreturnされてるとか考えなくていいんですね

>>394
違ってたんですね、この部分の仕組みについてなかなか理解できなくて
2022/06/21(火) 13:57:27.26ID:IfnWGDab
MDNをよく読もう
2022/06/21(火) 14:23:21.03ID:0nVTsM6B
MDNしばらくぶりに見たら関数シグニチャが見にくくなってるな
Try itを頭に持ってくる意味が良くわからん
2022/06/21(火) 14:49:47.59ID:xELEw2uC
例えば、Ruby では以下の、ブロック・メソッド名・ラムダのどれでも、
大文字に変換された、 ["A", "B"] が返ってくる

ary = [ "a", "b" ]

l = ->(ch) { ch.upcase } # lambda

p ary.map { |ch| ch.upcase }

result = ary.map do |ch|
ch.upcase
end
p result

p ary.map( &:upcase )

p ary.map( &l )
2022/06/21(火) 14:56:42.71ID:OU3MBE3J
コレクションに対して関数を適用する感覚がわからないようなら
とりあえずはループを回して1つ1つの要素に対して受け取った関数を実行してると考えればいいんじゃないかな

for文で簡易的にfindやfilterを実装したらこんな感じ
どちらもif (fn(x))のところで受け取った関数を使ってる
https://ideone.com/ewhTIh

渡した関数の戻り値がどこにreturnされるかは特に意識する必要がない
関数がどう使われるかと関数の型は意識する必要がある
2022/06/22(水) 17:32:29.82ID:ibFRpwhC
旬ネタに便乗してプログラムを書いてみた
javascriptはほぼ触ったことがないので、添削してくれると勉強になる
より効率化したいです

github.com/unvirus/make_hasan_list
2022/06/22(水) 20:50:56.89ID:VdtVfq6N
varをletに置換
new Array("",""..,)は["",""...]にするかnew Array(11).fill("")
Promiseチェーンが書きにくいならasync/await使うとか
今回は書き捨てコードだから気にしなくていいけどdocument.writeとかは非推奨
2022/06/22(水) 21:17:23.95ID:4zRgP72m
>>400
・javascriptとは直接関係ないけど、各種の「名付け」が雑過ぎて読みにくい(max_loop→MAX_PARALLEL_FETCH、など)
・厳格モード('use strict';)を使おう
・varは祟りの元。letを使おう
・hasan_detaile_get()には、あらかじめ分割したplaceを渡した方がシンプルになる(endをjson.lengthで代替)
・detail.phpのfetch結果からのデータ抽出は(substringではなく)match結果の分割代入で良さそう(正規表現を事前定義しておいて利用する)
・何度もブラウザで実行するコードの場合は「ブックマークレット化(各種エスケープが必要)+結果をクリップボードに反映」がオススメ
2022/06/23(木) 12:55:36.14ID:1Q6pPiUu
401、402 
コメントありがとうございます
指摘内容自体がいまいち理解できてない部分もありますが調べてみる
404デフォルトの名無しさん
垢版 |
2022/07/20(水) 11:10:33.10ID:U2chffz0
https://www.google.com/search?q=javascript&newwindow=1&sxsrf=ALiCzsYVTXuOX_Koud_rGUMyTDgKxJQ1pg%3A1658281669093&ei=xV7XYu6BBfHN2roP0dujqAg&ved=0ahUKEwiu-MrOrIb5AhXxplYBHdHtCIUQ4dUDCA4&uact=5&oq=javascript+%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE+%E3%81%8D%E3%82%8A%E3%81%A8%E3%82%8A&gs_lcp=Cgdnd3Mtd2l6EAMyBggAEB4QBDoHCAAQRxCwA0oECEEYAEoECEYYAFCaBljzCmDCDWgBcAF4AIABbIgBtwKSAQMxLjKYAQCgAQHIAQrAAQE&sclient=gws-wiz

⬆のグーグルのURLから検索ワードのみ抽出したいんだけどどうすればいいですか?

var query = decodeURI(url.match(/q=.*&?/))

とやってみたのですが ⬇のように&newwindow以降の全てがついた状態で抽出されてしまいます
q=javascript&newwindow=1&sxsrf=ALiCzsYVTXuOX_Koud_rGUMyTDgKxJQ1pg%3A1658281669093&ei=xV7XYu6BBfHN2roP0dujqAg&ved=0ahUKEwiu-MrOrIb5AhXxplYBHdHtCIUQ4dUDCA4&uact=5&oq=javascript+正規表現+きりとり&gs_lcp=Cgdnd3Mtd2l6EAMyBggAEB4QBDoHCAAQRxCwA0oECEEYAEoECEYYAFCaBljzCmDCDWgBcAF4AIABbIgBtwKSAQMxLjKYAQCgAQHIAQrAAQE&sclient=gws-wiz
2022/07/20(水) 11:51:09.39ID:FTSdvIyb
const url = new URL("https://~;")
const params = new URLSearchParams(url.search)
params.get('q')
406デフォルトの名無しさん
垢版 |
2022/07/20(水) 12:33:39.55ID:U2chffz0
>>405
こんな事できるようになってたんですね
しらなかったです
2022/07/20(水) 16:16:19.89ID:nJadibDm
これ便利だね、すげー
2022/08/05(金) 16:27:44.94ID:IB0bw9w9
window.print()を使ってAndroidとiOSから印刷かける時に、cssの@media printで指定したデザインが適用されません
PCからはデザインが適用されているのですが…
2022/08/05(金) 17:22:51.04ID:gtbFxVnL
onbeforeprintとonafterprintで解決しました
2022/09/14(水) 10:34:12.60ID:DtZXqSNh
JavaScriptでマルチバイトの文字列をカウントするのってどうするのが適切なのでしょうか?

特定の文字数で長文を折りたたみ/展開させたいと考えています
調査すると注意ポイントとして文字列の組み合わせとかサロゲートキーとか(同じ注意点かも)Intl.SegmenterはFirefox対応していないとか、網羅的に注意記述のある記事が見つからなくてどのような選択をすればよいか分かりませんでした

対象ブラウザは厳密に決まっていないので古いものであれば切ってしまっても構わないと考えていますが、
Chrome,Edge,Firefox,Opera,Safariの最新には対応していてほしいです

標準的なカウントライブラリでもありそうなのですが、それすら見つけられてない状況です
ご教示お願いします
2022/09/14(水) 14:15:41.41ID:iDP3YBLw
サロゲートペア程度なら[...'文字列'].lengthでいける模様
絵文字の合成も考慮するとなると別の方法を考えないとだけど
2022/09/14(水) 15:13:51.29ID:B9/iJ2aV
>>410
zwjや異字体セレクタが実行環境において"正しく"使われている前提であれば、入力文字列の「zwjとそれに続く任意の1文字、FVS、SVS、IVS」を空文字に置換したstrを [...str].length すれば、表示と一致する文字数が得られるはず

zwjなしに結合する「地域指定用(国旗指定用)のアルファベット」に対応したい場合は、上記置換に加えて「2連続の同アルファベット」を任意の1文字に置換するといい
2022/09/14(水) 16:18:42.24ID:DtZXqSNh
zwjですか
また新しい考慮ポイントがw

頂いた情報を元に調査したところ
https://github.com/flmnt/graphemer
で分割/文字数のカウントを実施してslice()で表示文字数を制限できそうです

助かりました
ありがとうございました
2022/09/14(水) 16:22:54.92ID:DtZXqSNh
あ、微妙にダメかも...
https://github.com/flmnt/graphemer/issues/3
2022/09/15(木) 01:00:37.64ID:awD9eQHs
リガチャーとかもあるので、まあ描いて長さ測った方が確実だと思うよ。
2022/09/15(木) 05:57:34.81ID:3CMEGOgP
>>415
ブラウザ上の描画(?)を制限したいのだからそれが一番正しい気がするけどやり方がわからんかった
どんなキーワードで調べると良い?
2022/09/15(木) 07:54:26.97ID:44CSBTA1
こういうアプローチかね
https://www.w3docs.com/snippets/javascript/how-to-calculate-text-width-with-javascript.html
2022/09/15(木) 08:18:21.60ID:xgLdFTlX
目的が「文字数のカウント」ではなく「1行テキスト要素の表示幅を一定にしたい」ってことなら、そんな処理を書かずともCSSで要素サイズを指定or制限すれば良いだけ
要素末尾端については a) text-overflowとwhite-spaceで省略表示、b) mask-image(chromium系は-webkit-mask-image)でフェードさせる、のいずれかを充てれば文字が見切れることもなくなる
2022/09/15(木) 08:47:23.29ID:3CMEGOgP
>>417-418
ありがとう
XY問題なやつだったみたいですね

頂いたアドバイスを元に調査し直してみます
2022/09/15(木) 13:01:04.75ID:RnQNK9Ip
スマホでタッチしてその場で指を離したときにtouchendとmouseupのどちらも反応するけど
mouseupが反応するのはバグなのでしょうか?
タッチしながら指を移動させてから指を離す場合はtouchendのみでmouseupは反応しませんでした。
2022/09/16(金) 01:15:41.14ID:ltLjgw3Z
スマホでmousedownイベントは発火した?
2022/09/16(金) 13:37:36.12ID:G8bkDvWT
スマホのタッチ操作でmouse系イベントが反応するのがおかしいって
言ってるなら歴史的経緯からしょうがないんじゃないの?としか
そうでないならもう少し詳しく説明してくれないと
2022/09/16(金) 14:54:53.25ID:OHD9WqSY
>>420
toutchendとmouseupそれぞれのリスナーの登録先要素は同一ってこと?
2022/09/17(土) 17:40:09.60ID:KeOmbx+c
結局なんでバグだと思ったのか分からずじまいか
2022/09/17(土) 18:45:19.49ID:KtpACeiA
>>421
しました
>>423
event_list = ["mouseup","touchend"];
for(let n=1;n<=event_list.length;n++){
element.addEventListener(
event_list[n-1],
function(e){
alert(event_list[n-1])
}
);
}
のようにやりました
2022/09/17(土) 18:53:13.89ID:hgMFE00Z
>>425
nousedownが発火したならmouseupも発火するのが当然だと思うけど
mousedownが発火したのもバグだと思ってるの?
2022/09/17(土) 21:37:01.55ID:Rws9F9Uc
ブラウザ上で音を合成するのに Web Audio を試してるところなんだけど、AudioContext の createBuffer で取得したバッファに波形を作り出して再生することはできた。
ただこれだと最初にバッファ長を決めないといけなくて、音の長さが有限になっちゃう。
途切れることなく延々と波形合成と出力をしたいんだけど、どうやればいい?
出力バッファの残りが少なくなったらコールバックで追加データを補充するような作りにできると都合がいいけど、とりあえずヒントになりそうなメソッド名だけでも助かる。
2022/09/17(土) 22:15:56.60ID:sjslDz3b
ググったらそれっぽいデモが出てきたけど参考にならないだろうか
https://weblike-curtaincall.ssl-lolipop.jp/portfolio-web-sounder/webaudioapi-basic/demos/demo-08
解説はこっち
https://weblike-curtaincall.ssl-lolipop.jp/portfolio-web-sounder/webaudioapi-basic/audio

そしてデモの一番最後にmouse系イベントとtouch系イベントをUAによって切り替えてる処理が書いてあって
バグかどうかはともかく同時にリスナー登録するべきではないのだろうということで>>420の件も片付きそう
2022/09/17(土) 22:33:23.87ID:KtpACeiA
>>426
タッチのときは
event_list = ["mousedown","touchstart"];で登録して
スマホだとtouchstartのみ発火でmousedownは発火しませんでした。
PCのクロームでF12キー押してスマホモードで確認しました
>>428
同時にやらない方がいいのですか
2022/09/17(土) 23:30:53.36ID:sjslDz3b
>>429
サンプル作ってみた
https://jsfiddle.net/ju1af0zk/
PCだとmousedownとmouseupのみが発火
Chromeのスマホモードとスマホ実機はそれに加えてtouchstartとtouchendも発火したけど
君の方でも試してもらえる?
2022/09/18(日) 12:49:02.81ID:KvWBek5z
>>430
スマホモードでタッチして1秒以内に指を離すと
mousedown,touchistart,mouseup,touchend全て発火ししましたが、
タッチしてから1秒以上経って指を離すとtouchstartとtouchendのみ発火でした。
2022/09/18(日) 13:29:46.60ID:LU3Ach7F
>>431
1秒以上押下でmouse系が反応しないのはタッチとマウスの操作性の違いを考慮しての挙動と思われる

>>429でmousedownが発火しなかったのはおそらくalertを使用していたのが原因
マウスやキーボードのイベントハンドラのデバッグでalertを使用すると後続のイベントに影響が出るので
consoleなどに置き換えた方がいいと思う

で、>>420のスマホでもmouseupイベントが反応するのはバグか?という問いに対しては
スマホがtouchイベントにしか反応しないとmouseイベントで書かれたページを操作できなくて困る
そのことに対する救済措置でありバグではないと推測するがどうだろうか
2022/09/18(日) 14:53:23.29ID:/WFyUhKA
そう短タップをクリックとみなすためのものだよ
ただし短タップ判定のためmousedown/mouseup/clickはtouchstart/touchendより若干ラグがある
touchstart/touchendで処理した際にマウスイベント発火させたくないならpreventDefaultする方法がある
2022/09/18(日) 19:49:26.31ID:KvWBek5z
>>432-433
なるほど、そういうことですね
ありがとうございました
2022/09/19(月) 10:20:03.23ID:e358EEgk
そもそもそんなメジャーなプロダクトをちょっと触っただけで発生するような現象を
バグだと疑ってかかるのはいかがなものかという話
436427
垢版 |
2022/09/20(火) 01:26:00.73ID:bmdVYeZu
>>428
うまくいった!
BufferSource.start には再生開始時刻を指定できるから、適当な時間で分割したバッファを開始時刻をずらして start しておくことと、
BufferSource 再生終了時イベント onended で新たなバッファを追加していけばいい。
2022/09/20(火) 07:14:05.18ID:U+nxunP6
触ったことない領域だったから的外れなものを紹介しちゃったかなと思ってたけど
役に立ったようなら何より
2022/09/25(日) 18:19:36.24ID:NBkQ89dh
#test{
width:80%;
heigh:auto;
}

このような記述のcssがあった場合cssからwidthやheightを取得したいです
この場合widthが80%、heightっがautoと表示されればOKです
2022/09/25(日) 18:37:13.46ID:6wI0gbs/
getComputedStyle()使えば良いのでは?
2022/09/25(日) 20:48:47.27ID:NBkQ89dh
>>439
それだとpx値に変換されてしまいました。
cssに書いてあるそのまんまの値を取得したいんです。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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