16/11/22 01:12:38.73 62WBcce4.net
>>448
あのさあ。
なんで強引にそうむりやり解決するのかわからん。
db.close使うことなんかほとんど無くねえか?
当たり前のようにonsuccessでトランザクションcommitするだけじゃねえの?
ずーっと偉そうだけど、脳筋が知恵の輪を強引にバラしてドヤ顔してるように見えて仕方ない。
ラグビー部員かゴリラレベルだよ、それ。
451:デフォルトの名無しさん
16/11/22 23:13:11.58 bRc12BV/.net
oncomplete->onsuccessについては失敗した。
これは積み込みが早くなる(見た目終わったように見える)だけであって、
スループットは変わってない。
db.open->db.close間の時間を計測していたので間違えた。
意味としては並行トランザクションの数を増やせば同じだし、実際そんな感じだ。
onsuccessでやると他情報のライフタイムがずれるので、話が面倒になっただけだった。
452:デフォルトの名無しさん
16/11/22 23:23:12.59 bRc12BV/.net
>>444
いや愚直なパフォーマンスでいいんだが、それすら出てないから問題視しているわけで。
ファイルと等速かやや遅いくらいなら十分なんだが。
圧縮展開を自前でやるのはさすがに面倒だ。
というかそれが常に成り立つならその機能ごと組み込んでおけという話だし、
実際そうなっている感触だ。
だからバグ対策でなければ自前でわざわざやる意味はないはず。
IndexedDBに関しては、基本的には「キー」となるものを「全体を一覧」出来る場所に保存して、
「本体」への参照をそれに持たせればよいだけだから、
ちゃんと実装してあれば大型ファイルへのアクセスはほぼファイルと等速になる。
だからFireFoxがFileSystemAPIを実装しない理由も妥当なのだが、
全然そうなってないからあれ?ってことで。(まだchromeでしか試してないが)
キャッシュ用に設計されている場合も
大型ファイル本体へのアクセス速度は上記の通り大して変わらないはず。
ただIndexedDBのようなインデックス検索が必要ないからその分速いが、
今はそこが見えるほどの状況になっていない。
ちなみに後述するが読み出しは速い。
(絶対的に速いかは未確認だが、書き込みと比べて50倍速い)
453:デフォルトの名無しさん
16/11/22 23:24:53.24 bRc12BV/.net
>>445
いやIndexedDBは基本的に別スレッドで実行される。
いちいち "in a separate thread" って書いてあるだろ。
俺は使ったこと無いが多分Nodeと同じ。
> URLリンク(developer.mozilla.org)
ちなみにプロファイラーで確認したが、表スレッドは完全に遊んでいる。
60秒間で100ms程度動いていて、他はアイドル。
OS上のCPUメーターでも遊んでいるし、いずれにしてもCPUがらみで引っかかっている感じではない。
ただ、I/Oで引っかかるなら普通のファイルと同速になるはずなのだが、これがないから不思議に思っている。
> インデックス使わないと中身探すのに全舐めだよ。
> もし、挿入でなくupdateしてるなら絶対に必要。これはライブラリとか使ってなくて手で書いてたら気づいてると思うけど。
これはないよ。
普通にIndexedDBを実装する場合、外部キーもインデックスとして実装するでしょ。
今は更地(データベースそのものの構築、onupgradeneeded でバージョン1)から始めて9000ファイル書いている。
全舐めの問題なら1000個目のファイルと9000個目のファイルで9倍速度が落ちるはずだけど、それは全くない。
先にも言ったがインデックス検索はCPU時間(usオーダー)の話だ。
実際にそこも遅いのかも知れないが、今はそこが遅くても見えないほど他が遅い。
なおリードと勘違いしているのなら、今問題になっているのはライトだけ。
後述するが、リードはとりあえず十分な速度が出ている。
ちなみにIDBCursor.update()は使っていない。俺が使っているのはIDBObjectStore.put()。
454:デフォルトの名無しさん
16/11/22 23:34:52.08 bRc12BV/.net
一応パラメータ振ってみたが、
トランザクションの数を絞る(40->2)と目に見えて遅くなるので、並列はしているっぽい。
ただし増やしても速度は上がらない。
一つのトランザクション内のput数を増やしても明確な速度変化は見られない。(20->20-200)
問題点を整理すると、
・I/O律速ならファイルと同等程度になるはずだが、5-10倍遅い。(ライトだけ)
・CPU律速ではないように見える。CPUは空きまくり、スレッドもほぼ全てアイドル時間。
で、何が引っかかってこんなに遅いの?という話。
ちなみに読み出しは十分速く、IndexedDBの中身を丸ごとtarファイルにして出力するのに10秒程度。
格納に20分かかるのに、読み出しには10秒しかかからない。
(読み出しに10秒=中身を読みだしてtarファイルをblobとして作成するまでに10秒、
その後ダウンロードする時にさらに10秒かかる)
このtarファイルを7-Zipで更地に展開するには25秒。
cygwinで既にあるファイルシステムに上書き展開するのには2-3分かかった。(これが前の話)
格納だけ異常に遅いんだが、これって何?
単純比較するとリードと比べてライトが45-120倍遅い。
ただまあwriteが遅いのは事実のようだが、ここにあるように50k records for 10 sec ならいいんだが。
URLリンク(stackoverflow.com)
記事は古いがここ見る限り駄目なことはやってなさそう。
URLリンク(blog.nparashuram.com)
既に書いたとおり、コードはここと似たようなものだが、oncompleteを使っている。
URLリンク(nparashuram.com) based on Write
とはいえライトだけ50倍遅いのは俺の使い方に問題があるのだろう。
実装が如何にボロくてもここまでにはならないし。
というわけで高速書き込みのサンプルコードがあればURLよろしく。
455:デフォルトの名無しさん
16/11/23 00:39:24.04 Bkme+Kby.net
もう出来てる、だがなんだか知らんが、それ捨てたほうが良いとおもうわ。
普通はこう言うのオフラインモード持ったプロキシとして作る。
456:デフォルトの名無しさん
16/11/23 23:07:06.62 V62ycJbx.net
とりあえず自力で辿り着けそうな雰囲気になってきた。
速いコードを見つけた、というかMDNのそのままをコピペしてコンソールで試したら十分速かった。
確実にこちらのコードに何か原因があるのだろう。
もし調べてくれてたらありがとう。
457:デフォルトの名無しさん
16/11/24 15:10:21.36 Mx4OpUDM.net
この白痴
IDBを使うな、使うにしてもそう使うなと言われてるのに聞かないんだもんな
救いようがない
458:デフォルトの名無しさん
16/11/24 16:54:40.99 HdRBGkCM.net
なんともならんよなぁ。
何故クローム拡張を作らんか(jsで書けるし、妥当な保存方法だし、クロスドメインで苦労しなくても良いし、もし配布を気にしてるならzipでも蒔ける)
色んな疑問が湧く。
要は、ロスカット出来ない類の奴なんだと思うよ。
今まで掛けた工数が惜しいとか、自分が未熟だと認めるのが悔しい、とか、
自分は一番良い方法を考えてて、その中で「ちょっとだけドキュメントが未熟だから」実現方法が分からない事を聞いてるだけなのになんだこいつら、とか。
ベンチャーか中小企業の社長に居そうな奴。
5年目か10年目に破産する類の。
459:デフォルトの名無しさん
16/11/25 00:21:37.68 9S7zID8/.net
こちらは解決しつつある。今はテスト中だ。前と同様にとちっているかもしれないが。
とはいえ、俺はお前らが何でそこまで自信過剰なのかさっぱり分からない。
5-10年目に破産したベンチャーの社長を笑えるのは、
ベンチャーを起こして10年以上持たせた奴だけだぞ。
お前らがそうだとは到底思えない。
そんなんだからゆとりは意識高い系()とか言われるんだよ。
意識高いだけで中身がないからウザイだけ。
まあお前らに付ける薬もないのも事実だが。
俺に付ける薬もないのと同様にね。
お前ら、OSSに参加もしてないだろ。
よくもまあそれで、としか思えないけどね。
460:デフォルトの名無しさん
16/11/25 00:52:34.50 SsHeBd9H.net
>>459
メンテナしてるけどそれが何か、って話な位で、得意になるもんでも無いんじゃ?
参加とやらの程度にもよるけど、ある程度やってりゃ、プルリクくらい普通に出せるだろ。
コミッタって関わるにあたって特別な事なんもしてないと思うけど。
リポジトリ晒せと言われたら色んなものが傷つくからやらんが。
「お前らがそうとは到底思えない」
「してないだろ」
「よくもまあそれで」
ってまぁ意識たけえなぁ。
ベンチャー起こして10年も持たさんで良いだろ。
まともな会社でそれなりに勤めて、何度か転職して、それなりの立場にいる方が余程視野が広がるよ。
少なくとも金の算段を必要以上にせんで良いからな。
大→中堅→ベンチャー→大と転職して色んな良いところ悪いところ見てきたからわかるが、お前は悪いところの総和みたいな姿しとるよ。
461:デフォルトの名無しさん
16/11/25 01:07:59.74 bE83eHTG.net
一人が自信満々なのを否定するのと大多数が自信満々なのを否定するのは意味が違うからな
462:デフォルトの名無しさん
16/11/25 01:21:08.20 9S7zID8/.net
>>460
お前がそれならそれでいいよとしか言いようがない。
それがWeb系といわれる所以だろうし。
別に俺はお前に評価される必要なんてないし。
OSS云々ってのは、明らかにお前らは距離感がおかしいからだ。
OSSやってる連中は、限られたリソース(時間と金)の中でやりくりしている。
各自が今現在の状況で最大の効果が出るように考えている。
もちろん制約条件がそれぞれ異なるので、
君にとっての今の最適解が俺にとっての今の最適解でないこともよくある。逆も然り。
だけどそれはそういうものだから、いちいち文句は言わないし、言われない。
文句があるならお前がやれ、方針が違うならフォークしろ、の世界であるし。
だからお前らみたいな「俺の提案が神だからそれ以外は認めない」はないんだよ。
君は参加しているつもりになっているだけで、実際は観戦しているだけだよ。
参戦していない。
463:デフォルトの名無しさん
16/11/25 01:22:21.94 9S7zID8/.net
ただまあそれ以前に俺はお前らの提案がいいとも思わないけどね。
いちいち反論した方がいいのか?ならば言ってみてもいいが、
余りこんなのをやってもお互いに意味はないんだよ。
どうにもお前らはこういうのが好きなようだが。
>>458
CacheStorageはhttps縛りだから使えない。
クローム拡張にしない理由は、FireFoxもサポート対象だから。
並行して2つのソースを管理するほどリソースはない。GreaseMonkeyなら一つのソースで済む。
ここら辺は要するに楽な方をとっているだけ。
クロスドメインについてはGreaseMonkeyは独自拡張を持っていてスルー出来る。
配布なら苦労してない。
GreaseMonkey導入後の環境ならuser.jsリンクをクリックすればインストールされる。
zipすら要らない。リンク一つで済む。
掛けた工数云々は関係ない。
未来の工数も踏まえた上で、今現在の最善手を選んでいるだけ。
これは俺以外のOSSに関わる連中全員そのはずだが。
上記の通り、今現在何も問題ないし、移行のメリットもないのにするわけないだろ。
IndexedDBと同様、chrome拡張にもどんな落とし穴があるかも分からないわけだし。
これで満足か?
何でお前らがこんな点ばかりににこだわるのか俺はよく分からないが。
464:デフォルトの名無しさん
16/11/25 08:31:00.71 QZ3DaKSR.net
>>462
評価される必要はないのに、相手を下げて自分を高めようとえらく必死だな。
限られたリソースは現実であって、目指すべきものはそのリソースに縛られたものにすべきじゃない。
俺には手一杯だからとか、この部分俺あんまり強くないから、とかは、放置するんじゃなくて、明言する。
どんどんマサカリ投げて、どんどんプルリク投げて欲しくて、画像貼らせてほしい。
誰かのリソースが足りないのなら、そう書いて、他の誰かのリソースの援助を求めるべきなんよ。
リソースが足りてないから制約条件になります、はおかしいし、ここまで物言いがついたら、最適条件がなぜ最適条件なのか、くらいからもう一回ゆっくり考えるべき。
ソクラテスのいじめまがいの問答をもってでもやるべき。
「俺の提案が神だからそれ以外は認めない」?
俺はそんな事は言ってないが。
むしろ、お前がずーっと言ってる事じゃねえの?
>>463
httpsなんかなんとでもなるだろ。letsencryptもあるし、イントラなら証明書配れば良い。
並行して管理するのは画面周りで良いので、実際の管理工数は1.3倍程度になる。きっちり画面とロジックの設計をしてれば。
なら、むしろグリモン縛りなら、グリモンでプロキシ書いたらいかんのか?
あと、データは普通に、indexedDB使わんと、ファイルに書けんじゃん。
そのアーカイブとやらをBase64にして、前後にvar tmp=""つけてjsとして書き出して、選んで@requireで読み込むだけで良いんだが、なんかindexedDBの出番ある?
それこそインデックスだと思うけどね。
465:デフォルトの名無しさん
16/11/25 08:34:29.54 PtU3UTK5.net
いつも思うが、ここの質問者は複雑な背景がある質問をソースコードを出さずに質問するのは何故だ?
代替案が提案されるのは情報が出そろってないから
初めから全ての情報を出せばこんなことにはならない
アドバイスした人や否定意見を「お前等は分かってない」で一蹴してさんざん馬鹿にした上で去るのが常
お前が情報を出さないのが全ての原因
466:デフォルトの名無しさん
16/11/25 08:47:16.69 QZ3DaKSR.net
>>465
賢いつもりで、文句言ってくるやつは愚鈍だと言いたいんだろう。
そもそも相手を愚鈍にしておきたいから、ソース出さないんだと思うけどね。
俺なら早めに自分のリポジトリの上げて、声出して、便利そうだけどここで使い物にならんので、置いとく、とかやる。
個人の持ち物なら。
仕事や金儲けでやってたら、人の話聞かないと大怪我するのはわかってるしな。
467:デフォルトの名無しさん
16/11/25 09:05:01.87 cmXQyT89.net
いいんだよもう。
本当に心底困ってて、礼儀正しく質問してくる奴なんて幻なのだから。
俺すげーしたいやつ、ただここでアピールすることで興奮し、
不安を取り除いてやる気を出そうとするやつの話を聞いてやるのもこのスレの役目。
468:デフォルトの名無しさん
16/11/25 12:43:41.42 QZ3DaKSR.net
まぁ、拡張もクリック一つなんだけどね。
それが現状ベスト、ではなくて、それしか使えない、って白状すりゃいいのに、プライドの高いやつだなぁ。
469:デフォルトの名無しさん
16/11/25 13:19:56.25 1PQbLaAu.net
自分は万全に良く知ってて良く考えてると思ってるけど、
技術が圧倒的に足りないのもあってうまいこと行かず、
もやもやしたフラストレーションが溜まってるんでしょう。
要するに何か具体的に解決したいのではなくスッキリしたいだけ。
まあそれは結局自らの問題だから他人に言っても仕方ないんだけどね。
470:デフォルトの名無しさん
16/11/25 22:05:14.23 9S7zID8/.net
お前らがそういうことにしたいのならそれでいいけども、
お前らのレベルの低さは他言語スレ見たらすぐ分かると思うんだが。
とはいえWeb系()に付ける薬はないのは分かった。
そしてこの言葉が広まっているのはつまり皆が同感するからであり、
それを俺が何とかしようとしても、所詮俺如きではどうにもならないのも分かった。
まあせいぜいポストゆとりに殺されてくれ。
471:デフォルトの名無しさん
16/11/25 22:06:17.97 9S7zID8/.net
>>465
ここでのこういうやりとりは無駄であって、
その時間をソースコード開発に回すべきだと思っているから。
ここに晒したらいちいち反応しなければならなくなるだろ。
それは時間の無駄だ。結局今回も自力で辿り着いてしまったし。
俺も結局は最善手を選んでいるだけ。
ここでコードを晒して時間を浪費するよりは、
何か情報があればラッキー程度として、基本的に自力で解決することに賭けた。
これまでのやりとりを見る限り、君達には俺のコードは読めないし、解決する能力もない。
だからせいぜいサンプルコード発掘くらいだと思ってそうした。
書き込み速度のオーダーを知っていればその点の即答もあるかと思ったが、それもないし。
おそらく君らは俺がやっているほど負荷掛けた使い方をしていない。だから何も知らない。
オススメのCacheStorageのスループットも知らないだろ?要するに君らはその程度なんだよ。
それで何でそこまで自信過剰なのか俺には分からないのだが。
(俺もそれを知らないから俺が大したこと無いのももちろん事実だが、
君らも大したことはないんだよ、それを自覚しないといけない)
そもそも代替案なんて必要なかった。
もう対策は出来ていて、十分な速度は出ている。(以前と比べて50倍速以上)
本来あるべき回答は「その書き込み速度は明らかに遅すぎるから、お前のコードに問題がある」だった。
ただ君らは本来の書き込み速度自体を知らないから、これに答えられず、
「遅いのなら違う方法を試せ」という間違った回答をよこし、それを正解にしようとしている。
色々明らかにずれているんだよ。
472:デフォルトの名無しさん
16/11/25 22:07:04.84 9S7zID8/.net
とはいえここら辺のずれもこれまでどおりだから、
俺は君らからでも有効回答が得られる可能性を残しつつ、
無駄に巻き込まれないように出す情報も絞ってある。
それだけ。
ただ、やっぱり難癖付けられて巻き込まれてはいるが。
前も言ったが、こっちもどこまで出せばどれくらいの精度が期待出来るかは分かるから、
こちらが出していない部分については当然回答がないということで全く問題ないんだよ。
出している範囲で明らかにおかしければ指摘して欲しいし、問題ないならスルーでいい。
ただ今回は出している範囲でも明らかにおかしいのに誰も指摘出来てないだろ。
そしてさらにおかしな回答をよこしてそれを正しいと主張している。
お前らがそれで仕事しているらしいからWeb系()って怖いわ。
なお君は465=444か?
だったら俺は君の回答には不満はない。知っている範囲で答えた良い回答だ。
知らない奴が間違った主張をするからおかしな事になるわけであってね。
ただなんか知らんがJavaScriptの連中はこういうのが多いが。
473:デフォルトの名無しさん
16/11/25 22:36:44.21 TwCdHdIi.net
うーん、やっぱり、何かおかしいわ。
開発って長くやってりゃわかるけど、コード睨んでるより、飯食って風呂入って嫁とゴロゴロしてる時くらいに謎の天啓で解けるようなもんで、
ソースコード自体は「こう書く」と決めてから、ガーッと書いて半日位で終わるんだよなぁ。
ゴリラの知恵の輪見て、「お、解けてる、ゴールに辿り着いたな」と思うのは仏くらいだろ。
そのスループット、は背景がわからないと答えられないんよね。
グリモンでもバージョンによって違うし。
遅いなら違う方法試せ、は要は、「情報が足りなすぎてわからん。自分でやってみろよ」の糖衣文だろ。
やってるほど負荷をかけてない、って当たり前よ。
密航船の奴隷でもあるまいし。
普通は人数と航路に対して適切な船を選ぶか、船に対して適切な航路と人数を選ぶもんだ。
絞ったものには、絞ったなりの答えしか来ないよ。
WebはWeb屋、俺はイントラ屋と思ってるおっさんでも思うんだから、お前が馬鹿にしてる新進気鋭のWeb屋さんならもっとキツめに思うと思うよ。
少なくとも俺はそれはブラウザではやらん。
474:デフォルトの名無しさん
16/11/25 23:59:05.15 9S7zID8/.net
お前も話をすり替えるのな。それもWeb系()の悪い癖だわ。
多分すぐに「ポストゆとりの新進気鋭のWeb屋」に駆逐されるよ。
俺の知ったことではないが。
475:デフォルトの名無しさん
16/11/26 00:52:43.95 9lTBiZ7O.net
すり替えられた、何か攻撃されてる、それはWeb系()だからだ、と保身で揶揄してるままだと、それこそ新進気鋭に駆逐されるよ。
合理的だからね、彼らは。
最後から二つ目の段落に書いてあることも読めないくらいだから仕方ないけど。
476:デフォルトの名無しさん
16/11/26 01:30:19.73 S6y++TVv.net
もしかして理解できない事はどれだけ喩えて言われてもすり替えられてると思ってるのかな
477:デフォルトの名無しさん
16/11/26 02:26:09.31 bM77xh/N.net
>>471
お前が自分の都合しか考えない自己中な奴だという事が分かっただけだな
お前が情報を開示しない事で、他人がお前の状況を正確に把握できず、お前の求める答えが無ければ情報を後出しして非難するわけだ
お前と同じ環境を揃えなければ再現する事は不可能だ
仮に俺の環境で検証したとしても後出しでいろいろと情報を付け足して否定するのは目に見えている
再現性が限りなく低いと分かっている問題に時間をかける奴はいない
「君達には俺のコードは読めないし、解決する能力もない」といってるが、実際にはお前の説明能力の問題
478:デフォルトの名無しさん
16/11/26 05:01:06.08 RLAnsqoN.net
そもそも解決して頂こう、その努力をしようと思っていないしな。
こいつは人様を一体何だと思ってるんだ?
技術者として以前に人間として下手くそな奴だな。
479:デフォルトの名無しさん
16/11/26 11:38:59.71 EHtLgt8W.net
相変わらずゆとりの言い訳ばかり。本当にお前らどうしようもないな。
そうやって自己正当化ばかりしているからゆとりのままなんだよ。
まあそれをやり続けて数年後に死ねばいいと思うよ。
情報は後出ししてない。
最初の投稿>>441の時点で異常に遅いと分かるし、指摘出来る。
もちろん俺も異常に遅いと感じたから色々確かめていた。
とはいえコード自体は特に問題なさそうだったし、
そもそも俺はIndexedDBを初めて使うから速度のオーダーが分かってなかった。
だから聞いた。結果、誰も知らず、50倍遅いのを誰も見抜けなかっただけ。
結局お前らの実力ってその程度って事だよ。これは事実だよ。
他言語で50倍も遅いのに気づかないようだと殺される。
もちろん初心者ならいいけど、お前ら初心者じゃないつもりなんでしょ。
俺はそこら辺の勘違いを直せと言ってるんだよ。
とはいえ全く聞く耳持たないようだし、多分Web系()と言われる理由はそこなのだろう。
おそらく俺も他言語の技術者が既にやってきた指摘を繰り返しているだけ。
お前らがムキになって俺を悪者に仕立てるのもよく分からんが、そうしたければそうすればいい。
そんなことをしてもお前らの実力があることにはならない。
数年後にポストゆとりに殺されるか、
JavaScriptがもっとメジャーになって他言語の上級者が流入してきてお前らのゴミっぷりがばれて殺されるか。
あるいはWeb系()は今のままで低空飛行を続けられるか。
まあ俺の知ったことではないが。
480:デフォルトの名無しさん
16/11/26 19:29:29.83 RLAnsqoN.net
言ってることが無茶苦茶
ユーザースクリプトがワンクリックなんちゃらとか
拡張機能でもワンクリックで更新できますが?
そういった事が山ほどある
もう働きたくないでござる!働きたくないでござる!と言ってるようにしか見えない。
それとなんか、自分の正当性をペラペラ喋りまくることが正義だと思ってみたいだけど大間違い。
この世の正義とは、可愛げ・真摯さ・悪どさであって、
本当にひたむきに取り組むかは別にして、相手の意見を組んだことを示さなきゃ、
あれも嫌、これも嫌、じゃ最悪
お母ちゃんに駄々をこねる思春期少年のような態度を示されても困る
情報の後出し云々以前の問題
人間としてまともにコミュニケーション取れるようになってから来いよな
ほんと
481:デフォルトの名無しさん
16/11/26 20:26:02.31 9lTBiZ7O.net
説明力0だしな。
でかいファイルの更新、は、遅いよ。
levelDBの実装見りゃわかる。
482:デフォルトの名無しさん
16/11/26 22:27:36.04 EHtLgt8W.net
JavaScriptの環境にも色々問題があるのだけど、
お前らが上達してない最大の原因はお前らの人格だよ。
しかもそれを認めないと来てる。ゆとりは嫌われて当然だよ。
技術的なことは技術的に判断しないといけない。
>>473
一応言っておくけどお前もWeb系()以外の何者でもないよ。
50倍遅いコードを擁護するなんて他言語ではあり得ないから。
それを見抜けない奴を擁護することもね。
いや、正確に言えば、Web系ではサーバーサイドの連中も含まれてしまうので申し訳ない。
駄目なのは「ゆとりJavaScripter」と「その取り巻き」だね。
サーバーサイドでは処理性能が鯖コストに直結する為、50倍なんて当然認められない。
俺が遭遇したケースだと、Goの奴に「そんなところでString.replace使ってんじゃねーよ。
forで回して変換しろ」と言われたことがある。まあ正直、勘弁してくれよと思ったが。
フルスタック()とか言っているらしいけど、
俺が見る限りPHPの連中はお前らよりマシっぽいし、上記の通り環境もキツいので鍛えられる。
ポストゆとりを待つまでもなく、PHPerがフルスタック化すればお前らは殺されるよ。
まあPHPerには別の問題があるのかもしれないし、それも含めて俺の知ったことではないが。
483:デフォルトの名無しさん
16/11/26 23:21:05.86 9lTBiZ7O.net
>>482
なんだそりゃ。
鯖とかフルスタックの話するとなると、はっきり言って、
「使うべきでないものは最初から使わない」
に行き着くべきなんだが。
そんな事をするぐらいなら、札束でAWSのインスタンスをガンガン起こすSIerの発想の方がまだ正しいよ。
万能ナイフでビーフシチューは、作れないことも無いけど、作るべきじゃない。
その程度の次元の話。
あと、これはすり替えではなくて、無能に説明してる比喩表現だからね。
484:デフォルトの名無しさん
16/11/26 23:42:25.47 EHtLgt8W.net
>>483
お前は文脈が読めてないな。
JavaScriptの前に日本語を勉強した方がいい。
それと、
> 「使うべきでないものは最初から使わない」
に関しては俺も同意だが、そんなに議論したいのなら、>>464の馬鹿を何とかしろ。
CacheStorageを無理に使いたいからletesencryptを使ってサーバ絡ませて@require?
GreaseMonkeyでIndexedDBを直接扱えばそれで終わる話で、何でそんなことになるわけよ?
としか思えなかったが、人格に至らない点があるらしい俺からでは説得は無理だ。
素晴らしい人格と説明能力の持ち主である君から是非彼を説得してくれ。
485:デフォルトの名無しさん
16/11/27 01:20:07.95 bBkWJjxZ.net
>>484
あのさぁ。抗う言葉が無くなってきたからといって、それはなかろう。
全然同意してないじゃん。
してるならそのソース捨てなよ…。
文脈を読ませるのはお前の仕事だ。
逆に、書いてあることを書いてある通りに読み、書いてない事を読まないのもお前の仕事だ。
IndexedDBなんか使うな、と言っとろうが。464でも。CacheStroageを使えとも言ってない。
適当にファイルに落とせば?って言ってんの。
それしたいなら、拡張で書くか、プロキシとして実装しろ、と。
何で相手がお前以下だと、お前の発想を単に否定しているだけだと思いこむの?
モヒカンなの?
486:デフォルトの名無しさん
16/11/27 01:52:00.72 sEFEgE7T.net
>>485
ファイルに落とす機能はもう既にあって、動いていると>>443で言ってるだろ。
お前は本当に日本語が不自由な奴だな。
大体IndexedDBなんてただのストレージなんだし、どう使おうが問題ないだろ。
お前ら何で駄目だと思いこんでるんだ?
487:デフォルトの名無しさん
16/11/27 02:10:05.21 F1aOp1KR.net
ID:EHtLgt8W
この人、「お前ら」と一括りにして反論する癖があるのね
選民意識の強い人と言うべきか
この人の場合は「自分」と「自分以外」で選民している感が強い
全能感も強くてコミュニケーション能力に問題がある感じ
488:デフォルトの名無しさん
16/11/27 02:17:18.52 bBkWJjxZ.net
>>486
日本語が不自由とか自己紹介良いよほんと。
外部スクリプトで展開、とかアホな事言ってんじゃん。
なんでそれ直接読めるような鯖かかんの?って疑問。
そうすりゃ解決すんのに。
ただのストレージではないし、どう使っても問題ないものでは無い。
indexでアクセス出来る、indexが昇順で並んでいる、サブインデックスも張れる、本来はバイナリを入れるためのものでは無いものだよ。
だから、万能ナイフとかそういう喩えで話してんじゃん。
やろうと思ったら出来るけど、それやるくらいなら別のやり方するって言ってんの。
>>487
きれいな言葉で包んでやらんでも良かろう。
ただの自己愛性人格障害でしょ。
489:デフォルトの名無しさん
16/11/27 02:53:05.25 fRnX9irD.net
誇大性(空想または行動における)、賛美されたい欲求、共感の欠如の広範な様式で、成人期早期までに始まり、種々の状況で明らかになる。以下のうち5つ(またはそれ以上)によって示される。
自分が重要であるという誇大な感覚(例:業績や才能を誇張する、十分な業績がないにもかかわらず優れていると認められることを期待する)
>>全レス
限りない成功、権力、才気、美しさ、あるいは理想的な愛の空想にとらわれている。
>>概ね全レス
自分が “特別” であり、独特であり、他の特別なまたは地位の高い人達(または団体)だけが理解しうる、または関係があるべきだ、と信じている。
>>459 OSS発言、
過剰な賛美を求める。
特権意識(つまり、特別有利な取り計らい、または自分が期待すれば相手が自動的に従うことを理由もなく期待する)
>>471-472
対人関係で相手を不当に利用する(すなわち、自分自身の目的を達成するために他人を利用する)。
>>471-472
共感の欠如:他人の気持ちおよび欲求を認識しようとしない、またはそれに気としない。
>>全レス
しばしば他人に嫉妬する、または他人が自分に嫉妬していると思い込む。
>>459 意識高いだけ云々
尊大で傲慢な行動、または態度
>>全レス
フルビットで通院案件
490:デフォルトの名無しさん
16/11/27 05:35:11.63 mveO+vV3.net
人にケチ付ける前に自分のレスを見直した方がいい。
「IDBで一般的にこういうコードのケースで思ったようにパフォーマンスが出ないんだが」
この一言で済む話。
他は全て、私は怠惰です、短気です、プライドが高いです、とアピールしているようなもの。
もし一生懸命自分の中でやり尽くしたと思うのなら、
尚更一般的な話に落とし込んで問題提起しなくちゃ。
自尊心は、そういう前向きな回転を生み出すことで保つべきで、
自己肯定や他者否定に縋っちゃ駄目。
もっと頑張らなくちゃ。
491:デフォルトの名無しさん
16/11/27 10:33:33.02 sEFEgE7T.net
>>488
いやただのストレージだよ。
FireFoxは「FileSystemAPIなんて要らない。だってIndexedDBで事足りる」という立場だ。
当たり前だがこれは「FileSystemAPIの代わりにIndexedDBを使うことに何の問題もない」という意味だよ。
少なくとも彼等はそう思っている。
(俺はOSから透過のFileSystemAPIがあった方がいいと思っている)
Blobの格納も出来るようになってるだろ。
もっとも、駄目ならBase64使う奴もいただろうし、それも選択肢だよ。
インデックスも貼れるけど、使わなくても何も問題ない。
とはいえこれらには合意する必要はない。
俺のプロジェクトは俺が方針を決めるし、君のプロジェクトでは君が方針を決めるだけのことだ。
次の質問に移ろう。
何故君はそんなに教科書的使い方にこだわるのか?
IndexedDBはインデックスを使ってアスキーを入れないといけない?何故?
俺は装備を見比べて使えそうな物を使っているだけ。具体的には
IndexedDB, CacheStorage, FileSystemAPIの中で一番マシなIndexedDBを使おうとしているだけ。
> なんでそれ直接読めるような鯖かかんの?って疑問。
サーバに関しては完全に俺の管轄外だ。
ガチの勝手スクリプトだから、こちらの要求は基本的に通らない。
492:デフォルトの名無しさん
16/11/27 12:34:58.81 bBkWJjxZ.net
>>491
彼らって誰?
Blobが格納できるようになったのは、中期以降。
しかも、そんな一つあたりが大きいデータの為じゃない。
これは、LevelDB見てくりゃわかること。
貼らなくても問題ないことはないよ。キーっていうインデックスは出てくるわけだし、sortedなので、そのキーに長くてソートが不要なものは使うべきじゃない。
俺のプロジェクトだから、俺が決める、なんて言っちゃうなら、OSS発言は取り消しといてね。
対極の発想だから。それ。
教科書的な使い方にこだわってるんじゃないよ。
実装見て、それは遣い方が悪いってものに対して、おかしいよって言ってる。
管轄外ってなんだそりゃ。フルスタックじゃねえの?(笑)
は、置いといて。
単純に、Clientで動かすプロキシ書けばいいんだよ。
特定のURLの場合、ネットワークで取得せずファイルから見るような。
493:デフォルトの名無しさん
16/11/27 12:45:45.17 bBkWJjxZ.net
もしかして、鯖って書いたらサーバー側で動かすもの想像してたのかな。
こいつのフルスタックって何なんだ。
494:デフォルトの名無しさん
16/11/27 12:54:03.05 x2gPA/Jh.net
無知と怠慢。救いようがない
495:デフォルトの名無しさん
16/11/27 12:54:44.21 bBkWJjxZ.net
なんでこんな事言ってるかと言うと、テレホの時代に、同じような物沢山観たんだよね。
metagetaしかり、Vectorにいっぱいあるレベル。
自分が一番イケてると思ってるんだろうが、単に轍に乗ってるだけ。
496:デフォルトの名無しさん
16/11/27 13:12:59.65 bBkWJjxZ.net
ちなみに、IndexedDBで事足りる、とは言ってないんよね、Mozillaは。
ローカルファイルを使いたいなら今API策定してる、とも言ってるし。
割りと無難なブラウザオンリーな対応何は、ダウンロードしたそのアーカイブをドラッグアンドドロップやなんかでjsで受けてjsで開く事だと思うけど。すでにファイルとして出せるなら。
怠慢の方がマシ。
馬鹿な働き者は撃ち殺すしかないという典型例。
497:デフォルトの名無しさん
16/11/27 13:18:28.75 HGJqeK8l.net
もういいからROMって?
498:デフォルトの名無しさん
16/11/27 13:31:22.83 sEFEgE7T.net
>>496
お前はやはり日本語にどうにも問題がある。議論は無理だ。
とはいえお前にも分かる範囲の所は答えておく。
> 割りと無難なブラウザオンリーな対応何は、ダウンロードしたそのアーカイブをドラッグアンドドロップやなんかでjsで受けてjsで開く事だと思うけど。すでにファイルとして出せるなら。
その通りだ。そしてこれはもう実装出来ている。
そして別オプションとしてIndexedDBにも格納出来るようにしようとしている。
> 俺のプロジェクトだから、俺が決める、なんて言っちゃうなら、OSS発言は取り消しといてね。
> 対極の発想だから。それ。
違うんだな。お前はOSSに「参戦」していないからそれが分からない。
>>464なんて典型的な勘違いだぞ。
ただまあとにかく「参戦」してみろ。それだけでいろいろ分かるはずだから。
499:デフォルトの名無しさん
16/11/27 13:35:35.02 bBkWJjxZ.net
ムダそうだからROMるわ。すまんな。
>>498
メンテナじゃアホ。
500:デフォルトの名無しさん
16/11/28 05:41:09.72 sKwraRFT.net
一つ言えることは、この件についてやってみる価値がありそうなこと沢山あるのに、
めんどくさがって手を動かさないで口だけで反論するのでは前に進みようがないということだね
501:デフォルトの名無しさん
16/11/29 03:20:41.76 MuupHWfc.net
別オプションとしてindexedDBに…保存する意味がわからん
502:デフォルトの名無しさん
16/11/29 23:05:21.60 BntnGE9d.net
「FileSystemAPI が不要」なのは、ファイルの書き込み機能は
blob URL リンクにしてダウンロードで事足りるから、ではないのかな?
503:デフォルトの名無しさん
16/11/30 10:48:28.24 Sk/SQjO5.net
超初心者です。
PHPとJavaScriptでホームページ作っていますがJavaScriptの変数名の使い方で質問です
phpの場合
変数名 hoge1fuga hoge2fuga ……を使用する時変数iを使って
→ if(hoge'.$i.'fuga == 'abcd')
→ $h = 'hoge'
$f = 'fuga'
if($h$i$f == 'abcd')
のような書き方ができますがjavascriptの場合どう書けば良いのでしょうか。
var hoge = fuga1.checked
の時に var hoge = fuga + i + .checked の記述にするとエラーになってしいまい、変数名の使い方そのものに疑問が湧きました。
504:デフォルトの名無しさん
16/11/30 10:49:26.04 Sk/SQjO5.net
>>1読んでませんでした
上の質問無視してください
失礼しました
505:デフォルトの名無しさん
16/11/30 16:00:04.29 1swyBgvf.net
>>503
できないことはないが、行儀が極めて悪いことだとされるのでしない。
そういうときは、配列を使う。 つまり、
var fuga1, fuga2 ではなく、
var fuga = [] とする。 利用するときは、
var hoge = fuga[i].checked となる。
506:デフォルトの名無しさん
16/12/31 15:44:33.33 nUjD4DbZ.net
JavaScript死亡www
「WebAssembly」がITの未来に変革もたらす|Google、Apple、Microsoft、Mozillaが共同で開発した新概念
「WebAssembly」がWebブラウザに変革をもたらします。
Webブラウザは、もともとただテキストを表示するだけのところから始まりました。その出発点から、現在ではコミュニケーションやゲームまで幅広い表現を可能にしています。
そして今回、「Webブラウザ」に新しい概念が加わわることになりました。
それをもたらしたのが、ブラウザに関わりの深い世界規模の4社「Google」「Apple」「Microsoft」「Mozilla」が共同開発した、Webのためのバイナリーフォーマット「WebAssembly」です。
今回はその「WebAssembly」について、「スゴイところって何?」「何が起きるの?」をご紹介していきます。
WebAssemblyは「JS不要。コンパイラ言語だけで動的アプリが作れる」「どの言語でもWebブラウザ上にアプリを作ることができる」
WebAssemblyによってもたらされるスゴイところは次の4つ。
コンパイラ言語だけで、Webブラウザ上に動的なアプリが作れる
ほぼ機械言語にコンパイルされるからヌルヌル動く
OSを一切気にする必要がなくなる。気にするのはブラウザのみ
C,C 以外の言語でもWebAssemblyにコンパイルされる「クロスコンパイラ」の可能性が高まった
これまでWebブラウザで、ユーザからの入力情報を元に、動的なアプリケーションを実現するためには「JavaScript」が必須でした。
「インタプリター言語」であるJavaScriptは、その都度ソースコードを機械語に翻訳する必要があるため、予め機械語に近くコンパイルされる「コンパイラ言語」と比較すると動作が遅いという特徴があります(※)。
もしコンパイル後の機械語に近い形で、Webブラウザ上でコードが実行されたら。
JavaScript以上にヌルヌルに動き、しかもJavaScriptを気にする必要がなくなります。
それを実現したのがこの「WebAssembly」です。
URLリンク(mayonez.jp)
507:デフォルトの名無しさん
17/01/01 00:42:27.84 k8/wNRO9.net
あちこちに落としているようだが、誰一人として肯定して無くてワロタw
つかマジでJavaScript界隈の馬鹿共はこんなデタラメ記事書くのをいい加減止めた方がいいと思うのだが。
自浄作用が無いのは、お前らが叩かないからでもあるんだぜ。
嘘は叩かれるべき。
Cに関しては昔は間違い叩きがすごかったと聞くが、
結果的にWeb上での間違いは皆無となり、お互いの利益になってる。
JavaScriptに間違い記事が氾濫しているのは、第一義には書く奴が悪いんだが、放置されていることも問題だよ。
とはいえ、この記事には投稿欄が無いため、#mayonez編集部=馬鹿と覚えておくしかないが。
この点はQiitaのほうがかなりマシだな。
508:デフォルトの名無しさん
17/01/01 08:00:47.18 FrNRDqOE.net
>>507
素晴らしい指摘をしているであろうあなたの投稿を見たいからQiitaで使っているアカウントを教えてくれ
509:デフォルトの名無しさん
17/01/01 08:49:58.30 k8/wNRO9.net
>>508
ゆとり死ね
ツーかお前ら本当に池沼なのな。俺は「ゆとりBot」作れそうな気がしてきたよ。
510:デフォルトの名無しさん
17/01/01 08:55:22.46 2Xf0vibn.net
ID:k8/wNRO9 のような他人のダメ出ししか出来ない奴がまともな指摘をするとは思えないのでどうでもいい
511:デフォルトの名無しさん
17/01/01 08:59:00.51 k8/wNRO9.net
>>510
その通りだ。お前は正しい。
それが分からないからゆとりは池沼なのだし、嫌われる。
512:デフォルトの名無しさん
17/01/01 13:57:14.12 fINgyq7S.net
何かと理由を付けてQiitaアカウントを隠すとは思っていたが、意外とあっさり自分の非を認めるんだな
513:デフォルトの名無しさん
17/01/01 16:36:12.10 30cN+tVf.net
HTML+JavaScript+WebAPIの構成で認証処理したい場合ってこれでいいの?
ログイン画面
-- ユーザー名/パスワードを送信
-- パスワードが合ってればデータベースにユーザー名と認証トークンを保存
-- レスポンスヘッダーに認証トークンを書き込み
他の画面
-- リクエストヘッダーに認証トークンを書き込み
-- データベースの認証トークンを照会して合ってれば更新
-- レスポンスヘッダーに新しい認証トークンを書き込み
WebAPI
-- ajaxヘッダーに認証トークンを書き込み
-- データベースの認証トークンを照会して合ってたらapiを実行
514:デフォルトの名無しさん
17/01/01 17:38:52.36 QliWG2cV.net
>>513
トークンって何?
JWTみたいな署名したものの類?
であれば、ログイン画面以外はサーバ側の何も更新する必要無いのでは?
新しいものを発行しまくる必要が無いと言うか、どこでもそんな事すべきでは無い。
ログイン画面に当たるものと、トークン更新のAPIがあればそれで良い。
セッションキーならまた話は別だけど。
トークンの定義が適当すぎて答えられん。
515:デフォルトの名無しさん
17/01/01 17:39:50.17 k8/wNRO9.net
>>512
違うぞ。
> 何かと理由を付けてQiitaアカウントを隠す
隠してねえ。そもそも持ってねえ。
> 意外とあっさり自分の非を認めるんだな
そもそも俺に非はない。
506がデタラメだと分からない馬鹿はこのスレにはお呼びじゃない。
理由が分からないのなら、必死チェッカーで調べてみろ。
JavaScript/Java/C#(Xamarin)のいずれのスレでもそれぞれ別の理由で駄目出しされてる。
もちろんそれ以外にも駄目出し出来る。
508はコミュ症過ぎて受けようがない。それを咎めている。
もっともお前もコミュ症過ぎて分からないようだが。
508は反射レスだ。俺のレスが気に入らないから定型的に返してみただけ。
だけどそういうのがお前らの状況をより悪くしている。そのことにいい加減気づけ。
516:デフォルトの名無しさん
17/01/01 17:40:34.08 k8/wNRO9.net
506は明確に間違いを含んでいる。それが分からないような馬鹿とは俺は話したいとは思わない。
そして真面目に話したいのなら、いちいち無駄に煽る意味は無い。
あれでは他の誰かがQiitaアカウント持ってても、508みたいなゴミに教えようとは思わないだろ。
つまり、508は俺を叩くためだけの作用しかない。プラス作用は期待できないレスだ。
では俺が叩かれる理由があるか?それはお前らが考えるべきことだが、
俺は意図的に、
#mayonez編集部=馬鹿、つまり、
#mayonezはゴミサイトだ
と言っている。これは再度強調しておく。
俺はゴミ潰しをしているんだよ。俺が507で言ったとおりにね。
506の意図は不明だが、通常はこれだけ投下するのなら関係者が宣伝しているとかだ。
あんなデタラメを宣伝されても迷惑でしかないだろ。
だから俺は奴らが書き込む度に叩くことにより、書き込みを防ぐことを期待している。
分かるか?
書き込みを強制的に止めさせることはできない。
でも、「宣伝したい」のなら、カウンター「だって#mayonezって嘘ばかりのゴミじゃん」を合わせることによって、
相手に書き込みを止めさせることを期待している。
これを理解したうえで批判するのはお前の自由。
理解できずに反射レスしているような奴は馬鹿で、かつ加害者でもあることを自覚しろ。
お前らみたいな奴がいるから平気で506みたいな奴が沸くんだよ。
俺みたいな奴しかいなければ奴らはすぐ死滅する。他言語スレがそうだ。
JavaScriptのスレが糞なのは、お前らみたいなゆとりが馬鹿丸出しで口出ししてるからだよ。
スレの流れが読めないのなら自重しろ。
517:デフォルトの名無しさん
17/01/01 18:08:54.61 QliWG2cV.net
クソ長い説明はだいたいが間違ってる。
どっかのトランスパイル馬鹿と同じ。
518:デフォルトの名無しさん
17/01/01 18:42:12.80 8rzMeR7x.net
ID:k8/wNRO9 は自分の書き込みが参考にならない事を正しいと認めたのだからスルーしてあげるのが優しさだよ
519:デフォルトの名無しさん
17/01/01 18:49:08.37 QliWG2cV.net
なるほど、役には立たんことを逆説的に役に立つと言ってるから、
これが訳に立てば役に立たなくて、役に立てば役に立っていないのか。
難しい書き込みするなぁ。
520:デフォルトの名無しさん
17/01/01 18:50:49.14 QliWG2cV.net
>>519
二段落目が、表現上意味が繋がらんな。
書き込みが役に立てばスレの役に立たなくて、スレの役に立てば役に立たない書き込み、だな。
521:デフォルトの名無しさん
17/01/01 19:00:23.75 UZp8Mxmv.net
>>510を認めておいて何を小難しい解釈してるんだ?
読解力が足りない文盲はこれだから…
522:デフォルトの名無しさん
17/01/02 00:16:58.11 OVlW98VI.net
>>521
いや、お前が馬鹿すぎるから、矛盾する2つ以上の状況が出てくるだけ。
それに気づいていない時点でちょっと引くレベルでバカじゃん。
さらに指摘されても気づいてないとか。
頭の中のおがくず一回入れ替えてきたら?クワガタの幼虫程度の知能にはなれるんじゃない?
523:デフォルトの名無しさん
17/01/03 08:27:03.92 m68UQ04g.net
>>513
WebAPIじゃなくてRESTと言って。
WebAPIはJSから触れるAPIを指す言葉。
524:デフォルトの名無しさん
17/01/19 22:43:27.75 OV8X1StJ.net
クエリパラメータでURLを受けとってクエリパラメータを追加してそこの遷移するって危険?
画面Aで検索ボタン押す→画面Aのアドレスをクエリパラメータに追加して画面Bに遷移する
画面Bで検索を行い1つ選択して戻るボタンを押す→検索結果をパラメータにして画面Aに遷移する
こういう感じの入力支援機能を作りたいんだけど
525:デフォルトの名無しさん
17/01/20 00:35:32.81 H+FrkUCG.net
一つのページで上手く完結させたほうがきっと良い
526:デフォルトの名無しさん
17/01/20 01:04:21.61 vNxVJ868.net
俺もそう思う。
527:デフォルトの名無しさん
17/01/29 15:36:11.92 CHlx9RpS.net
JavaScript ベスト・オブ・ザ・イヤー 2016
URLリンク(risingstars2016.js.org)
JavaScriptコミュニティは日々進化しています。今日のトレンドも数か月後には陳腐化しているなんてことは日常茶飯事です。
2016年は終わってしまいましたが、何か重要なことを見逃したのではないかと感じているそこのあなた! 2016年の主要なトレンドをおさらいして、そんな不安を払拭しちゃいましょう。
過去12か月に獲得された Github のスター数を比較して、2016年に支持を集めたプロジェクトを数値に基づいて評価していきます。
2015年はなんといっても React でした。そして、Flux 実装を席巻したのは Redux でしたね。 2016年、JavaScript の人気プロジェクトはどのようなものだったのでしょうか?
528:デフォルトの名無しさん
17/01/29 18:44:38.75 M0HgmB1M.net
スタートアップで作ってるメンバーは気楽でいいよね
10年後か20年後かに腐りきったフレームワークに依存した数多のシステムを保守する人が憐れ
529:デフォルトの名無しさん
17/03/25 00:53:22.16 is8OgtpR.net
switch caseは嫌いだから
javascriptの時は配列で代用してるわ
switch (weather){
case "快晴":
return "f.png";
case "晴れ":
return "f.png";
case "くもり":
return "c.png";
case "雨":
return "r.png";
これより
Select =[
"快晴" : f.png,
"晴れ" : f.png,
"くもり" : c.png,
"雨" : r.png
]
Select(weather);
の方が見やすいやん
530:デフォルトの名無しさん
17/03/25 00:54:36.43 is8OgtpR.net
switchなんて所詮はif文の連続の糖衣構文だからな
javascript連想配列でデフオルト値設定する時は
if(hoge[x]===undefined)一文を付け加えるだでオケ
あと、普通はswitch case文でやりそうな
hoge = [
"快晴" : function(){ 処理1 },
"晴れ" : function(){ 処理2 },
"くもり" : function(){ 処理3 },
"雨" : function(){ 処理4 }
]
hoge[weather]();
みたいのもよくやるわ
それくらいswitch case使いたくない
531:デフォルトの名無しさん
17/03/25 01:04:50.07 U4euK7G2.net
突然マルチポスト?
スレリンク(tech板:783-784番)
532:デフォルトの名無しさん
17/10/29 07:37:41.42 Heo7FnD+.net
>switchなんて所詮はif文の連続の糖衣構文だからな
mjd!?
むしろ>>529式の配列の糖衣構文だと思ってたわ
caseの記述順序がパホーマンスに影響するのか㌧クス、
533:デフォルトの名無しさん
17/10/29 11:02:46.12 Heo7FnD+.net
質問なのですが、HTML5のcanvas要素が1ページ内に1000個あり、
それらに対してgetImageData()とputImageData()を周期的に行わねばならないとして、
(1) 「canvas iを処理するタイマイベントi」を1000個起こす
(2) タイマイベント1個の中でcanvas 1~1000を処理する
という2種類の実装方法の間でブラウザのレンダリング回数に違いは生じますか?
やっぱ(2)の方がパホーマンス上目に見えて有利?
534:デフォルトの名無しさん
17/10/29 12:15:24.08 EyB63P4N.net
>>533
(2)の方が効率的だと思うが、掲示されてない条件もありそうだし、速度は実装依存なので、実測するのが原則
複数のブラウザで実測するといい
535:デフォルトの名無しさん
17/10/29 12:35:01.00 WeryM17b.net
requestIdleCallback内で可能な個数だけを処理するのがいいと思うよ
536:デフォルトの名無しさん
17/10/29 12:48:10.75 tz+cuQEW.net
タイマイベント自体はどの程度の周期で発生するんだろ
短ければ短い程良いって感じなのかな
537:デフォルトの名無しさん
17/10/29 18:50:15.75 Heo7FnD+.net
1000個、というのが疑念(更新が間に合わない場合を含んでいるのでは等)を呼んでしまったようなので
質問を修正させていただきまする
Q1. canvas要素の書き換えは即座にブラウザの再レンダリングを招く?
それともハンドラが終了してからまとめて再レンダリングされるもの?
あるいはその他?(何か別のトリガーがある?)
Q2. ブラウザの再レンダリングがいつ起きたか直接的に確認する手段があればキボン
なおハンドラ内で行うのはcanvas内容の参照と書き換えのみとします。
(明白に再レンダリングを招くoffsetTop/Left/Width/Height等、要素の配置座標に関わる参照や書き換えは含まない。)
538:デフォルトの名無しさん
17/10/29 19:36:44.29 Oszg+7NJ.net
デバッガを使えば確認できる。基本的にディスプレイのリフレッシュ毎に一回。
539:デフォルトの名無しさん
17/10/29 21:04:51.00 EMf9PiJ4.net
(2)の方法なら終了するまでレンダリングが起きようがない
540:デフォルトの名無しさん
18/02/16 06:16:17.56 W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
541:デフォルトの名無しさん
18/05/23 21:23:56.11 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
5PLLK
542:デフォルトの名無しさん
18/07/05 00:34:01.49 RfoszcD2.net
4HA
543:デフォルトの名無しさん
19/03/09 13:19:47.50 jxJql+xc.net
受託の人たちでPWA対応って結構ある?
544:デフォルトの名無しさん
20/04/04 22:16:23.06 chSF5SQRn
【与沢翼】悪いですけど一流大学に行っても会社の「歯車」ですよ。成功者には中卒が多いですし
学歴なんて関係ないですよ。今を全力で生きれば必ず人生変えられます
URLリンク(www.youtube.com)
【与沢翼】金稼げなきゃ意味ないんですよ。周りの人達はただ足を引っ張ってくるだけです。
迷ってる暇があったら決断し行動しろ!稼げない奴は明確な目標がないんですよ
URLリンク(www.youtube.com)
【与沢翼】会社を作るのチョー簡単だから!25万くらいあれば誰でもできますよ。
個人だと舐められるし搾取されたくないならコレするしかない
URLリンク(www.youtube.com)
【与沢翼】起業するよりサラリーマンで成功する方が難しいですよ。
年収3000万くらいなら会社作って自分でやっちゃった方が早いです
URLリンク(www.youtube.com)
【堀江貴文】サラリーマンの無駄な仕組みと人生の消耗…もう辞めれば?
URLリンク(www.youtube.com)
【落合陽一&ホリエモン】会社に全てを奪われる!特別なメリットがない限り
組織に自分の手柄を全て取られてしまうだけ
URLリンク(www.youtube.com)
【与沢翼】起業は怖いとか言うバカに伝えたい「サラリーマンの方がリスクあります」
URLリンク(www.youtube.com)
545:デフォルトの名無しさん
20/05/04 16:17:26 A6B6l9Um.net
「Objectオブジェクトは、すべてのオブジェクトの基本オブジェクトである」
↑これJavaScriptのある本に書いてあったのだけど、どういうこと?(ワラ
546:デフォルトの名無しさん
20/05/04 22:21:44 D5tu2Ze6.net
>>545
そのまんまだろ
基本→基底でもいいが
C#のObjectと同じ立ち位置ということ
それで分からないのなら、無視でいい
アップキャストとか考える必要のある言語でもないし、どうせ使わない
他の静的型あり言語同様、全ての型は別物、と考えていても特段問題はない
プログラミング言語なんて「知識」よりも「技能」に近いから、分からないなら分からないなりに進めばいいだけ
元の書き方でも十分分かりやすい
それで分からないのは君がオブジェクト指向を理解出来てないからだが、
どのみち無視でいい
547:デフォルトの名無しさん
20/05/04 22:38:13 Zdi/ARyL.net
いやJavaはひととおりマスターしたから
オブジェクト指向はバッチリ理解している。
JavaScriptは気持ち悪いことが多すぎる。関数が変数に代入できることとか。
まるで物理で光が粒でもあるし波でもあるという二重性のことを習ったときのように頭が混乱する。
このへんの考え方について詳しくコツを教えていただけませんか?
548:デフォルトの名無しさん
20/05/04 22:39:31 Zdi/ARyL.net
Javaは体系的にスッキリしてるから実に分かりやすい。
この気持ち悪いJavaScriptは何なの?
549:デフォルトの名無しさん
20/05/04 22:52:19 eA9rrZ8d.net
オブジェクト指向の理解とは関係ないJavaScript固有の話だと思うがな。
前半部分は"Object"という名前のオブジェクトがグローバルに存在するということに
想像が及ばないと理解しづらいだろうし、後半は「基本オブジェクト」というwell-definedでない
言葉で説明しているが、これもオブジェクトが他のオブジェクトのプロパティを継承する
prototype継承を知らなければこの文章だけからは理解しにくいだろう。
550:デフォルトの名無しさん
20/05/05 00:28:49 esp/1iza.net
>>547
> 関数が変数に代入できることとか。
Javaも出来るようになっただろ
というかメジャー言語で出来なかったのはJavaだけで、それ以外の言語は全部出来てる
Cでもだ
コツ?そりゃお前が何も知らない馬鹿だとちゃんと自覚することだよ
他言語少しでもかじってれば、そんなところで引っかかることはない
(ただしJavaの連中はこのタイプ=他言語なんて全く知らない馬鹿も多いとは聞くが)
>>549
そうか?こいつは分かったつもりの馬鹿だと思うぞ
確認したが、JavaもObjectクラスあるし、使い方としてはJavaのObjectとも同じ立ち位置だ
> クラス ArrayList<E>
> java.lang.Object
> java.util.AbstractCollection<E>
> java.util.AbstractList<E>
> java.util.ArrayList<E>
> URLリンク(docs.oracle.com)
これを
> 「Objectオブジェクトは、すべてのオブジェクトの基本オブジェクトである」
と表現されて理解出来てないのだから、Javaもオブジェクト指向も分かってない馬鹿だよ
この部分はまだプロトタイプベースがどうとか以前の問題だ
まあ正直俺はプロトタイプベースに大して戸惑わなかったし、
今でもプロトタイプベースの方がクラスベースより表現範囲が広いので良いと思ってる
そしてこいつはいわゆる「クラス脳」で永遠とプロトタイプベースを理解出来ないのだろう
といっても実際にプロトタイプベースでないと組めないような事をするのは希だし、
クラス脳の為にクラス構文も入ったので、別段問題でもないけど
551:デフォルトの名無しさん
20/05/05 02:37:44 rwJ86+M0.net
class Abc
end
多くの言語では、このように継承元を書かずに、クラスを定義した場合は、
Object クラスから直接継承したとみなされる
普通は、継承チェーンを遡ると、Object クラスに突き当たる。
すべてのクラスの祖先
この板のJavaScript のスレは、荒らし対策で緊急避難用に作られたもの。
web 制作管理板のスレへ書き込んだ方がよい
こちらには、荒らししかいない
荒らしは必ず、2回書き込む。
自分のレスに、リンクを付けて「そうだよな」みたいに自演する
多くの人が言ってるように見せかける。
午前、3時とかでも、同時に2つのレスを書くw
552:デフォルトの名無しさん
20/05/05 02:42:45 rwJ86+M0.net
ほとんどの言語で、関数も変数に代入できる。
別名みたいなもの。Functor
変数 = f
変数 = f( )
上は、関数の代入で、
下は、関数の呼び出し
( ) が、関数呼び出し演算子
553:デフォルトの名無しさん
20/05/05 10:37:45.75 esp/1iza.net
>>551
Web制作板確認したが、相変わらずだな
まあ俺はこのレベルの馬鹿を引き取ってくれることには大賛成だから、どうぞよろしく、でしかないが
554:549
20/05/05 10:39:12.27 esp/1iza.net
>>549
お前もprototype継承を特別視過ぎ
> 前半部分は"Object"という名前のオブジェクトがグローバルに存在するということに想像が及ばないと理解しづらいだろうし、
Javaにも全く同じ立ち位置のObjectが存在してる
Javaを知らないか、知っててピンと来ない=単なる馬鹿か
> 後半は「基本オブジェクト」というwell-definedでない言葉で説明しているが
C#でも全く同じ表現だ
> Object クラス
> これは、全 .NET クラスの基本クラスであり、型階層のルートです。
> URLリンク(docs.microsoft.com)
prototypeベースだからクラスではなくオブジェクトとなっている
だからこの表現で正しいんだよ
> オブジェクト指向の理解とは関係ないJavaScript固有の話だと思うがな。
これもダウト
> 多くの言語では、このように継承元を書かずに、クラスを定義した場合は、Object クラスから直接継承したとみなされる (550)
ホントかよ、と思ったが、少なくともJavaとC#ではそうなるようだ(JavaScriptもだが)
これは本来は言語ではなくフレームワークの仕様であり、C++はそうなのだが、
少なくともJavaとC#は最初からオブジェクト指向大前提(のフレームワークを使う前提)でしか使えない仕様らしい
が、それはさておき、全ての型のルートを持ってボックス化出来るようになっており、それを利用する、というのは、
典型的なオブジェクト指向の使い方であって、JavaScript固有の話でも何でもない
というか、むしろ、JavaScript固有の話なんて何もない
prototypeも別にJavaScriptが発明したものでもない
初見だとそれなりに戸惑う、というだけ
ただしJavaScriptのオブジェクト指向なんてJava/C#のオブジェクト指向からすると全く使い物にならない物だし、
実際にボックス化やアップ/ダウンキャスト等を考える必要なんてほぼ無いだろ
お前自身もオブジェクト指向を正しく理解出来てないのだと思うぜ
555:デフォルトの名無しさん
20/05/05 10:56:56 ZXlt5r8n.net
「Objectオブジェクト」といきなり言われて、それがJavaのObjectクラスのようなものと
想像できなくても別に不思議はないかと。
556:デフォルトの名無しさん
20/05/05 11:16:54.06 esp/1iza.net
>>555
ねえよ
俺はそれは単なる馬鹿だとしか認識しない
少なくともこの馬鹿はJavaもオブジェクト指向もマスターしてるつもりなんだぜ
自分が何も知らないことを自覚できず、
> (ワラ
とかやってるから馬鹿のままなんだよ
こいつは既に老害化してる
JavaですらJava8(2014)から関数ポインタを使えるようになってる
こいつはこのことすら知らない
といっても実際Java界隈なんてその程度だとは思うが
オブジェクト指向を利用してコードを共通化しようとすると、どうしても
C++のように型消去するか、
JavaやC#やJavaScriptのObjectのような型階層のルートが必要になってくる
これらの言語で全てそれが「Object」という名前で統一されているのは偶然ではない
オブジェクト指向(=ObjectOriented)のルートだからObjectなんだよ
今時のメジャー言語は全てオブジェクト指向出来るようになってるし、
逆に、「Object」とかいう物が出てきたら、これか!とピンと来ない方がおかしい
つっても重ねて言うが、Javaの連中なんてその程度なのも事実だが
557:デフォルトの名無しさん
20/05/05 11:26:22.49 GGtHBQ+v.net
>>556
関数ポインタと参照は違うって知ってる?
558:デフォルトの名無しさん
20/05/05 11:39:37 esp/1iza.net
>>557
勿論知ってるぞ
Javaのが「関数ポインタ」ではなく「関数参照」だというのならそうなのだろう
見て分かるとおり、俺はJavaは使ってないからその辺は正確ではない
ただぶっちゃけ、ポインタと参照はほぼ等価だし、
C++のようにそれらが別物だと明示的な言語以外では混同してても全く問題ないと思うが
実際、JavaScriptにおいて「参照」を「ポインタ」と言い換えても何ら問題ないだろ
どう見ても俺の揚げ足取りをしようとしているように見えるが、
それが価値あると思うなら頑張ってどうぞ
ただし俺は馬鹿と話す意味はないと見たらすぐ降りる
その場合はお前の勝ちでいい
んで、関数ポインタと参照の違いを知っているお前は、どんな素晴らしい知見を披露してくれるの?
是非よろしく
559:デフォルトの名無しさん
20/05/05 11:48:55 n32zrCmj.net
> 実際、JavaScriptにおいて「参照」を「ポインタ」と言い換えても何ら問題ないだろ
だめ。ポインタは数値で置き換えられるアドレスであり
ポインタはアドレス加算などの演算ができるもの
アドレス加算ができない以上それは参照であってポインタではない
そしてJavaで参照はずっと前からできる
560:デフォルトの名無しさん
20/05/05 12:10:13 esp/1iza.net
>>559
> そしてJavaで参照はずっと前からできる
Java8で新しく出来るようになったのは、『関数』参照な
話をずらすな
そして>>547が理解出来てないのはこれだ
> ポインタはアドレス加算などの演算ができるもの
> アドレス加算ができない以上それは参照であってポインタではない
それはC++での定義な
RustやGoも「ポインタ」を扱えるが、こちらは最初から加算なんて出来ないようになっている(確か)
少なくともRustやGoの定義する「ポインタ」はそう
というか、C++の参照自体が「ポインタは危険なのでコンパイラ側で対策して『参照』と命名しました」でしかないし、
JavaやC#で言う参照も全くこれと同じなのだが、当然実体は「ポインタ」でしかなく、
当然関数呼び出しの引数にはまんま「ポインタ」が積まれる
というかそこら辺理解出来てないのはやっぱりJavaしか知らない馬鹿だからだ
ポインタと参照が実体は同じだ、ということを理解出来ないのも
(論理的な意味が違うだけで、物理的な意味や値は同じ)
いずれにしてもJavaってのはかなり簡素化された言語で、
コンピューターの実体(物理構造)を知らなくてもいいように出来ている
これ自体はいいことなのだが、
その程度の知識なのに「ポインタと参照は違う(キリッ」とかやるのは間違ってる
自分の知識が全く足りてないことを認めて、きちんと学んだ方がいい
ポインタはCの鬼門だとされているが、現実として、ポインタを扱った方が動作効率が圧倒的によく、
結果的にJavaでもJavaScriptでも、或いは他言語でも、内部動作はポインタで作られているので、
どうしてこういう動きをするのか、どうしてこういう仕様なのか、を理解するのは、ポインタの理解が不可欠だ
ある程度以上のプログラマになる為には、ポインタの理解から逃げているようでは無理だ
これが逆にJavaプログラマが相変わらず糞な遠因でもある
561:デフォルトの名無しさん
20/05/07 13:23:56.11 fANici3H.net
>>547
> いやJavaはひととおりマスターしたから
> オブジェクト指向はバッチリ理解している。
>548
> Javaは体系的にスッキリしてるから実に分かりやすい。
プログラミング言語をJavaしか使ったことないJavaおじさんか?
562:デフォルトの名無しさん
20/05/07 22:35:41 U9K3TqbR.net
>>561
この話題を続ける意味もないと思うが
Javaおじさんですらないはず
多分Java若者馬鹿老害
Java8で関数ポインタが導入された為、
それ以前に完全にJava7をマスターしている「Javaおじさん」なら導入するかどうかの大議論をしているはず
少なくともJavaの一線で働いている奴が知識を6年間もupdateしてないとは考えづらい
使ったことが無くても、また、(コーディングルール上)職場で使えないとしても、全く知らないというのはない(と思いたい)
そしてオブジェクト指向への理解も皆無だ、これは「Javaおじさん」ならあり得ない
最近の若者はプログラミング言語の選択肢が多く、若干戸惑っているように思える
ぶっちゃけ最初の最初の言語なんてどれでも大差ないのだが、「僕が選んで学んだ言語すごい=僕すごい」をやる奴が多すぎる
こいつも何らかの理由でJavaを選択し、「Javaすごい」とポジショントークをしているだけ
おそらく年齢は20代、プログラミング言語はJavaしか知らず、Java7の本でJavaを勉強した人だ
ただこの時点でこの老害っぷりは酷い
一応言っておくが、年齢ではなく、自分の考え方が絶対に正しいと固執し始めると老害になる
546はもうちょっと真摯にプログラミングをした方がいい
ただしJavaがスッキリ、というか、簡単なのは事実だ
だから大受けした
そしてPythonの方がもっと簡単だから、もっと大受けしつつあるだけ
ただ現実問題として、JavaScriptのオブジェクト指向なんてどうせ使い物にならないから、無視でいい
しかしまた現実として、今現在のシェアはJavaScript>Javaなのだから、
どうしてそうなったのかが理解出来ないうちは「Javaすごい=僕すごい」みたいな幼稚な考え方は止めた方がいい
Java自体が凄かったのも事実だが、それも過去になりつつある
563:デフォルトの名無しさん
20/05/12 13:08:44 4J1vnKbM.net
'(シングルクウォーテーション)と"(ダブルクウォーテーション)の使い分けに悩みます。
悩みを消しこれだと自信を持って使う考え方はありますか?
どっちを使ってもいい場合とどちらか限定の使い方があるので気持ち悪いですw
564:デフォルトの名無しさん
20/05/12 13:33:40 01D/nxpT.net
>>563
シェルスクリプトだと、'と"とは、展開の有無等であきらかに異なるから、
それにしたがって使い分ける。
どちらも同じって場合は、文字列に空白が含まれる場合や入れ子になる場合に"を使って、
その他、基本的には'でくくってる。
jsやpythonなんかがこれに該当。
"しか使えないバッチファイルは文句なしに"。
ただし、*nix由来のプログラムの場合、オプション内部で'を入れ子で使うことがある。
こんな感じ?
565:デフォルトの名無しさん
20/05/13 06:16:03.92 VSt/R8YQ.net
VSCode のデフォルトが、Beautify だろ。
拡張機能のPrettier とか
'・" かどうかは、これらの設定で変わる
HTML の属性が、" で囲むから、それらの文字列をさらに囲むには、' を使う
JavaScript の話は、web 制作管理板の方で聞いてください!
この板には、あまり人がいないから
566:質問者
20/05/13 13:14:18.33 5xfr/P29.net
こちらで良いかわかりませんが、
・web上でモニタリングをしたい
・10秒ごとに自動更新
・固定htmlに要素を用意。javascriptで変数を持ち、値によって要素の画像を切り替える。
getElementById(*).src=****
setTimeout(this,10000)
これをサーバーに置いて10人くらいがアクセスしたら、サーバーの負荷はどうでしょうか?
画像切り替えるときにサーバーにアクセスするので、やはりだめでしょうか?
わかる方いましたらお願いいたします。
567:デフォルトの名無しさん
20/05/13 13:59:35.07 VSt/R8YQ.net
数枚程度なら、すべての画像を送ってしまって、
ブラウザ側で、スライダーなどで切り替える
Google map みたいに、無数の画像があるなら、
ajax でサーバー側にアクセスして、必要な画像を送ってもらう
JavaScript の話は、web 制作管理板の方で聞いてください!
この板には、あまり人がいないから
568:デフォルトの名無しさん
20/05/13 14:02:19.06 WBibu7Ic.net
>>566
いろいろイミフ
>・web上でモニタリングをしたい
誰が何をどうやってモニタリングするの?
>・10秒ごとに自動更新
何を更新するの?
>これをサーバーに置いて10人くらいがアクセスしたら、サーバーの負荷はどうでしょうか?
クライアント側JavaScriptの話でサーバー負荷とどう関係があるの?
569:デフォルトの名無しさん
20/05/13 14:12:08.64 shZVwRy5.net
>>564
そうざますかありがとう
どっちみち慣れないうちは混乱しますね
JSだけのエンジニアなら当然その人の哲学や宗教により迷わず判断してると思うけど
こっちはJSは片手間でやっててさわるのが数年ぶりということがあるから混乱しますわ
570:デフォルトの名無しさん
20/05/13 14:14:46.69 URUm4HTQ.net
何の要素か知らんが、
「cssで作るスライドショー」とかでググったら答えが落ちてそう
571:デフォルトの名無しさん
20/05/13 14:21:07.89 WBibu7Ic.net
>>569
自分で決められないならとりあえずビッグネームのstyle guideに従っとけばいい
JavaScript =>single quote
HTML => double quote
CSS => single quote
URLリンク(google.github.io)
URLリンク(google.github.io)
URLリンク(google.github.io)
572:質問者
20/05/13 15:12:19.72 5xfr/P29.net
>>567
ありがとうございます。
>>568
>>・web上でモニタリングをしたい
>誰が何をどうやってモニタリングするの?
やりたい事は、100個のセンサや機械の情報をブラウザ上にリアルタイムで表示して、異常ならば、ブラウザを見てる人に通知したいということです。
>・10秒ごとに自動更新
センサーや機械の情報です。
>>これをサーバーに置いて10人くらいがアクセスしたら、サーバーの負荷はどうでしょうか?
>クライアント側JavaScriptの話でサーバー負荷とどう関係があるの?
javascriptで動的にイメージ画像を切り替えたら、結局サーバーにアクセスすることになってしまうのではと思ったのです。
画像イメージはサーバー上に置かれているので。一回アクセスしたらキャッシュされるかもしれませんが。
>>570
ありがとうございます。
573:デフォルトの名無しさん
20/05/13 15:52:15 WBibu7Ic.net
>>572
なるほど
サーバー側のセンサーや機械の状態更新を
クライアントからのアクセスによってトリガーする仕組みだと不味いけど
そうじゃなくてサーバー側ですでに存在してるデータに対して
10人くらいが数秒に1回アクセスするんなら
その負荷は微々たるものだよ
各状態に応じた画像は
最初にモニタリング用画面にアクセスした時に全部ダウンロードさせておいて
数秒に1回AJAXでサーバー側の状態のみ取得してその値によって画面表示を切り替えればいい
574:質問者
20/05/13 16:03:47.03 5xfr/P29.net
>>573
そうです。
>最初にモニタリング用画面にアクセスした時に全部ダウンロードさせておいて
この技術がわかりません。何をキーワードにして調べれば良いのでしょうか、すみませんが、お願いいたします。
575:質問者
20/05/13 16:51:28.10 5xfr/P29.net
すみません。解決しました。
最初にリロードしたときに正常な画像だけでなく、異常な画像もリンク(表示しない)しておけばよいのですね。
そうしておけばブラウザ側にキャッシュされるので。
576:デフォルトの名無しさん
20/05/13 17:25:36.80 WBibu7Ic.net
>>575
いろいろ方法あるけど一番堅いのはCSSスプライト
URLリンク(developer.mozilla.org)
他には
- visibility: hidden
- JavaScriptでページロード時に画像を読み込む
- 凡例として異常時の画像も一つ表示しておく
など
この辺の話はJSのプログラミングの話じゃないので
誰か書いてたけどweb制作板で聞いたほうがいいかも
577:質問者
20/05/13 17:50:05 5xfr/P29.net
>>576
本当にいろいろとありがとうございました。
578:564
20/05/13 18:01:05 VSt/R8YQ.net
>>569
>>565
にも書いたけど、
VSCode のデフォルトが、Beautify で、拡張機能のPrettier が有名
Ruby on Rails で有名な、Airbnb などのStyle Guide だろ
579:デフォルトの名無しさん
20/05/13 18:09:08 VSt/R8YQ.net
>>572
>画像イメージはサーバー上に置かれているので。一回アクセスしたらキャッシュされるかもしれません
確かに、同じファイルパスなら、キャッシュを使う
データは、ajax で、JSON でやりとりすることが定番
580:質問者
20/05/14 00:27:54.68 XcM6moP2.net
>>579
はい、ありがとうございます。
581:デフォルトの名無しさん
20/06/20 11:09:53 iiFnSxTf.net
できる訳ないだろうなと思いつつ聞くんだけど、javascriptでローカルのファイルを別のディレクトリに移動させたりすることってできる?
582:デフォルトの名無しさん
20/06/20 13:24:24 hfA4Ec7B.net
つNode
583:デフォルトの名無しさん
20/06/20 13:27:05 hfA4Ec7B.net
つcscript/wscript
584:デフォルトの名無しさん
20/06/20 20:45:20.50 iiFnSxTf.net
>>582
これはサーバサイドでjs書いたときの話だもんね
ユーザーがブラウザ操作してる時に動くブラウザ上のjsでファイル操作がしたいんだよなあ
そんなこと出来たらやべーからまあ無理なんだろうけど、なんか代わりの手段ないものか
585:デフォルトの名無しさん
20/06/20 21:17:03.49 hfA4Ec7B.net
>>584
プラットフォームとしてブラウザが欲しいのなら electron = chromium + node がそれだろ。
代表アプリはatomとVSCode。
サイトのJSでユーザーのローカルファイルを弄りたいというのなら、それが出来るようなら困るだろ。
586:デフォルトの名無しさん
20/06/20 21:21:46.31 hfA4Ec7B.net
>>584
あと、今現在使っていいか、使えるか、というのはあるが、技術的にはActiveX。
wiki読めば大体分かるはず。
587:デフォルトの名無しさん
20/06/29 12:03:45.83 Na3g7Gku.net
うんち
588:デフォルトの名無しさん
20/06/29 12:04:05.78 Na3g7Gku.net
htmlタグに書くonclick=の中には
JSの処理を直接書くこともfunction(){}と書いてその中に処理を書くことも、どちらもokですか?その違いはありますか?
589:デフォルトの名無しさん
20/06/29 12:07:23.28 Na3g7Gku.net
onclick=のあと関数名(関数が入った変数)を書く場合は()は書かないほうがいいですか?書くべきですか?
<button onclick='unko'> or <button onclick='unko()'>
unko=function(){
alert('unko!');
}
みたいなときです。
590:デフォルトの名無しさん
20/06/29 12:51:41.62 I7ZZ3pdS.net
最初に喧嘩売ってきてわろた
591:デフォルトの名無しさん
20/06/29 12:54:40.10 ze6DZkOI.net
>>588
こういう感じで、直接内容も書けるみたい
on@click='con@sole.log("abc")'
注意! 書き込めないため、@ を入れました
>>589
on@click='unko()'
みたいに、すべて( ) が付いている
それと、JavaScript の質問は、web制作管理板の方へ書き込んでください!
こちらの板は、web制作管理板が荒らしに荒らされた時に、
緊急避難的に立てられたものだから、今は使われていない
592:デフォルトの名無しさん
20/06/29 21:14:29 WKcpUWSm.net
>>587-589
オムツがまだ取れてなくてウンコ臭い初心者はWeb板へ
何度も言われていることだが
それ以前にお前レベルの超超超超初心者はそもそもここ(5ch)に来るべきではない
各自が勝手に意見を言ってるだけだから、それなりの確率で間違いや勘違いはどうしても発生する
それを自分で修正する能力がないうちは、5chを使うのは止めた方がいい
超超超超初心者なら、少なくとも間違っていたら訂正してもらえる場所、
つまり本か信頼出来るWebサイトを参考にするべきだ
なお俺はお前みたいなウンコお漏らし初心者用の本やサイトは知らない
というか、そんな、始めて3時間で通過するレベルの事柄を、ネットで質問しようとすること自体、かなり頭がおかしい
少なくともお前はプログラマには向いてないし、間違って就職しても浮きまくって仲間に入れず不幸な人生になるから止めとけ
それを教えてもらいたければ、「1週間の集中講座ででWebページ開設出来ます!」みたいなセミナーとかに行け
JavaScriptの部を始めて10分後にはそれについて教えてくれるだろう
593:デフォルトの名無しさん
20/06/30 01:12:09.33 l6PnVpoX.net
>>552
通りすがりだけどソレみて長年のモヤモヤがはれました、ありがとう。
594:デフォルトの名無しさん
20/07/23 00:01:42.43 qAfVnVsp.net
$("div").click(function())
595:デフォルトの名無しさん
20/07/23 00:02:03.83 qAfVnVsp.net
$("div").click(function(){
})
596:デフォルトの名無しさん
20/07/23 00:05:54.40 qAfVnVsp.net
$("div").click(function(){
$(this).css('background','red');
})
のこの$(this)が$("div")を指す理由はなんですか?
Javaではthisというのはそれを定義したクラスのインスタンスを指すと習いましたが。
597:デフォルトの名無しさん
20/07/23 00:38:57.14 cGFBf2BV.net
jQuery, Haxe のthis は、JavaScript/TypeScript のthis とは異なる。
this がwindow を指したり、おかしな部分があるので、それを変えている
それと、JavaScript の質問は、web制作管理板の方へ書き込んでください!
こちらの板は、web制作管理板が荒らしに荒らされた時に、
緊急避難的に立てられたものだから、今は使われていない
598:デフォルトの名無しさん
20/07/23 07:12:59.16 qAfVnVsp.net
>>597
「おかしな部分があるので、それを変えている」とは?
599:デフォルトの名無しさん
20/07/23 07:13:47.98 qAfVnVsp.net
thisの正体を見分けるコツはないですか?
600:デフォルトの名無しさん
20/07/23 07:32:15.26 /b5pS+w+.net
>>596
> のこの$(this)が$("div")を指す理由はなんですか?
DOM APIとの互換性
例えば、これのイベントハンドラの中身を書き換えるならば
$("div").click(function(){
$(this).css('background','red');
})
このようになる。(おまけで引数のjQuery eventを追加)
$("div").click(function(event){
this.style.background = 'red';
})
このイベントハンドラ(function)はDOM APIと互換性があるので全く同じように使える。
(引数のeventはjQuery eventではなくDOM APIの eventだがある程度の互換性がある)
divElement.addEventListener('click', unction(event){
this.style.background = 'red';
})
つまりイベントハンドラをDOM APIのものと互換性があるようにしているのが理由
そうすることで、コードを相互に変換しやすくなる。
例えば後からjQuery化するときなど少しずつ移植できる。
601:デフォルトの名無しさん
20/07/23 07:36:27.79 /b5pS+w+.net
>>599
thisは実行時に変わるからコードを見てもわからない
つまり呼び出されているコードを見てもわからない。
「誰が呼び出しているか?」を知る必要がある。
同じthisであっても「あれ」に登録して「あれ」から
呼び出されれば「それ」とは違うthisの場合がある。
だからthisが何かは仕様を調べるしかない
関数の引数にobjが入ってる場合、このobjの正体はなんですか?と
言ってるのと同じ質問だよ
602:デフォルトの名無しさん
20/07/23 07:39:49 /b5pS+w+.net
>596
Javaではthisを変えられることができないが
JavaScriptはthisは呼び出し側で与えるオブジェクト
JavaScriptだけではなくRubyやPerlなどいくつかの言語は呼び出し側でthisを変更できる
603:デフォルトの名無しさん
20/07/23 08:18:34.22 qAfVnVsp.net
>>600-602
ありがとうございます。
深いですね。
まだちゃんと理解できてないですが
ゆっくり吟味して考えてみます。
604:デフォルトの名無しさん
20/07/23 08:20:56.24 qAfVnVsp.net
this=eventとなっているということかな?
605:デフォルトの名無しさん
20/07/23 08:24:35.38 /b5pS+w+.net
>>604
違うぞ。eventはおまけ。thisの話とは直接関係ない
606:デフォルトの名無しさん
20/07/23 08:25:10.27 /b5pS+w+.net
ようするにjQueryはブラウザ標準のDOM APIと
互換性をもたせて作られているということ
607:デフォルトの名無しさん
20/07/23 20:38:07.50 QHkNbR5l.net
>>599
ID:/b5pS+w+ の言っていることは全面的に正しいが、補足すると、
> thisの正体を見分けるコツはないですか?
こんな事を言っている時点で糞サイト(或いはゴミ本)に騙されているから止めとけ。
見分ける必然性も意味もない。単なる暗黙の引数程度でしかなく、
実際にそれなりに組織的にコーディングするとcallはそれなりに使う。
DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、
つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた)
しかし現在はJavaで書く奴なんて一人もいないし、JavaScriptにおいてはe.targetを全面的に使うのが正しい。
理由は、
1. thisにはe.currentTargetが入っているが、マトモなサイトなら通常はbubbleを利用する為、e.target主体で書くことになる。
つまりこの仕様のthisでは使い物にならない。
2. e.currentTragetで役に立つ場合は、Elementに直接onXXXかaddEventListenerした場合だが、
こんな事をやっているのはjQueryを使っている程度の簡単なサイトだけ。
やれば分かるがbubbleを利用した方が実行効率もよく、コードも綺麗になるから、マトモなサイトは全部そうしてる。
ただし、Elementに直接貼った方が直感的で分かりやすいので、jQueryのような簡単/初心者向けの場合には活用される。
(なおjQueryでもbubble主体で書くことは可能ではあるが、それをやるとjQueryの意味がほぼ無くなるので普通はやってないと思う)
608:デフォルトの名無しさん
20/07/23 20:39:00.72 QHkNbR5l.net
3. それなりに組織的にコーディングすると、どうしてもイベントハンドラで共通の関数を使いたい要求が出てくる。
しかしイベントハンドラだとthisがe.currentTargetによって潰されているので、共通関数をクロージャ(最終段はグローバル)で掴むしかないが、
クロージャはクローズ(追加不能だしコード配置が限定される=C++で言うクラスはクローズ、namespaceはオープンと同じ意味のクローズ)ので、
現実的には使いにくく、俺はイベントハンドラを集めたオブジェクト(その中に共通関数も入っている)をthisとしてcallし直して、
イベントハンドラ内ではthis.my_sub_function()で共通関数を呼べるようにしている。
この場合、thisは単なるオブジェクトなので、継承出来るのがいい。(共通関数の共通関数を__proto__側に追い出せる)
どうせthisが使い物にならない仕様なので他の連中も同様にやっているとは思う。
なお俺はjQuery不要派だがjQuery自体は初心者には分かりやすく偉大だと思っている。
実際にjQueryを使っていて問題ないのなら使うこと自体も悪いことではない。
ただしそれは世の中のマトモなサイト≒ガチのプログラマーが本気で書いたサイトではほぼ使われていない手法だということも理解しておいた方がいい。
といっても今の君には分からないだろうが、イベントハンドラ内でthisをe.currentTargetとして利用することはガチのサイトではほぼ無い、ということ。
今はどうせ何も分かってない状態なんだろうから、それならイベントハンドラ内ではthisを使わずe.currentTargetを使う癖を付けた方が多分いい。
それ以前にbubbleを使うようにした方がいいが。
609:デフォルトの名無しさん
20/07/23 20:41:48.09 QHkNbR5l.net
といっても多分さっぱり何がなにやら、だと思うが、そういうものだと思っておいてくれ。
質問の質問を受けていたら話が進まないのでそれは断る。
610:デフォルトの名無しさん
20/07/23 21:58:10.24 k24nyzXR.net
>>607
> (なおjQueryでもbubble主体で書くことは可能ではあるが、それをやるとjQueryの意味がほぼ無くなるので普通はやってないと思う)
イベントのキャプチャフェーズとバブリングフェーズの話をしてるなら
jQueryはバブリングフェーズしか対応してません
jQueryの意味がなくなる?なぜですか?
そもそもIE8以前がキャプチャフェーズに対応してないので
それ以前からあるjQueryでは実装が不可能です。
(jQuery 4.0では実装されるらしい)
間違ったことを書かないでください
611:デフォルトの名無しさん
20/07/23 22:00:14.35 k24nyzXR.net
>>608
> 現実的には使いにくく、俺はイベントハンドラを集めたオブジェクト(その中に共通関数も入っている)をthisとしてcallし直して、
> イベントハンドラ内ではthis.my_sub_function()で共通関数を呼べるようにしている。
> この場合、thisは単なるオブジェクトなので、継承出来るのがいい。(共通関数の共通関数を__proto__側に追い出せる)
やめましょう。無関係のイベントハンドラをまとめることは
単一責任の原則に違反しています。
612:デフォルトの名無しさん
20/07/23 22:01:00.61 k24nyzXR.net
>>608
> イベントハンドラ内でthisをe.currentTargetとして利用することはガチのサイトではほぼ無い、ということ。
いいえ。殆どがthisを使っています。e.currentTargetは冗長なだけです。
613:デフォルトの名無しさん
20/07/23 22:41:43.25 k24nyzXR.net
>>607
> DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、
> つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた)
逆です。Javaではe.currentTargetを使い、thisは使えません。
(当時の)Javaでは言語仕様上の制限でイベントハンドラとして関数を使用することはできません。
イベントハンドラはオブジェクトである必要があります。
イベントハンドラ自体がオブジェクトであるため、thisはイベントハンドラオブジェクトになります。
そのためJavaでthisは使えません。
また昔のIEはaddEventListnerがなくattachEventを使いますが。
attachEventの場合thisはwindowでありe.currentTargetではありません。
つまり初期のIEのDOM APIはもちろんJavaでも使えますが
event.srcElement(e.currentTarget相当)しか実装されてないということです。
thisがe.currentTargetなのはJavaScriptのために作られた仕様です。
614:デフォルトの名無しさん
20/07/23 22:44:12.81 k24nyzXR.net
>>607
> JavaScriptにおいてはe.targetを全面的に使うのが正しい。
いいえ。e.targetは廃止されてます。
URLリンク(developer.mozilla.org)
わざと正反対のことを書いてるんですかね?
615:デフォルトの名無しさん
20/07/23 22:47:04.66 QHkNbR5l.net
>>610
キャプチャフェーズの話はしてない。
なお俺の判断では、キャプチャフェーズは余程のパッチ当て以外では使うべきではない。
あれは使わないでも十分組めるし、そもそもキャプチャフェーズを使わなければならないシチュエーションがまるでない。
だから俺は何であの仕様が入れられたのか不明なのだが、君はそれが分かるか?
具体的に、キャプチャフェーズのユースケースを知りたい。
> jQueryの意味がなくなる?なぜですか?
jQueryは基本的に
queryしたElementに何か(この場合はイベント追加)するのを宣言スタイルで短く分かりやすく書けるのが売りだろ。
バブル主体で書くとそもそもqueryしないから、jQueryを使う意味がないんだよ。
それはやれば分かる。分からないのはやってないからでしかない。
> やめましょう。無関係のイベントハンドラをまとめることは
> 単一責任の原則に違反しています。
無関係ではないんだよ。
そしてその考え方がJava的オブジェクト指向の限界であり、JavaでGUIを誰もやらない理由だよ。
いずれにしても、JavaのGUIなんてキングオブゴミだし、GUIに関してはJava的オブジェクト指向は一旦捨てた方がいい。
実際、.NETにしても、データはバインディングでグローバルストア方式になってるだろ。
(末端のオブジェクトにデータを持たせている風に見せているが、
現実問題としてそれだと状態のセーブが出来なくて(やりにくくて)いきなり詰むから、実際はバインディングでゴニョゴニョ出来るようにしている)
だからJava的な、末端のオブジェクトにデータもイベント関数も全部持たせる、というのがGUIに絶望的に向いてないんだよ。
だからJavaではろくなGUIが作れない、というよりは無駄に苦労するので誰もやらない。その結果が今だ。
> いいえ。殆どがthisを使っています。e.currentTargetは冗長なだけです。
それは君がbubbleを使ってないから。jQueryもだがフレームワーク等は仕様はDOMAPIに合わせているだろうけど、
実際にbubbleの場合はe.currentTargetなんて使い物にならないから当然thisも使わない。
これもやれば分かるだけのこと。君はやってないだけ。
616:デフォルトの名無しさん
20/07/23 22:49:01.44 k24nyzXR.net
>>615
> バブル主体で書くとそもそもqueryしないから
そういう意味ですか?
意味不明なので他のわかりやすいサイトを
探し出してください
617:デフォルトの名無しさん
20/07/23 22:49:21.91 k24nyzXR.net
×そういう意味ですか?
○どういう意味ですか?
618:デフォルトの名無しさん
20/07/23 22:50:10.57 k24nyzXR.net
>それは君がbubbleを使ってないから。
bubbleを使うとやらのコードを書いてください
619:デフォルトの名無しさん
20/07/23 22:53:40.02 k24nyzXR.net
Description: The current DOM element within the event 「bubbling」 phase.
URLリンク(api.jquery.com)
620:デフォルトの名無しさん
20/07/23 22:53:41.19 QHkNbR5l.net
>>613
いや俺はthisがオブジェクトそのものだと聞いたが、
まあJavaの仕様については俺は詳しくないし、いずれにしてもスレチだし、この話は止めよう。
>>614
それは初耳だが、
LS見た限り当然載っているから移動されただけではないか?
そのページのLSの所押すと割と丁度いい場所に飛ぶから見てみればいい。
やれば分かるが、バブルで組んだ場合にe.target無しでは組めない。
廃止されるにしても、名前が変わって何かが定義されるとかであって、丸々捨てられることはないよ。
そしてbubbleを使わずに一々全Elementにイベントを付けていくのは完全に旧式であって、
マトモなサイトでは誰もそんなことやってない。
それも確認してみればいい。
621:デフォルトの名無しさん
20/07/23 22:54:31.55 k24nyzXR.net
jQuery event.currentTarget
日本語訳 説明:イベントバブリングフェーズ内の現在のDOM要素。
622:デフォルトの名無しさん
20/07/23 22:55:20.17 k24nyzXR.net
>>620
だからjQueryはバブルしかサポートしてないし、
jQueryのevent.currentTargetは(DOM APIと同じで)
イベントバブリングフェーズ内の現在のDOM要素。
623:デフォルトの名無しさん
20/07/23 22:57:37.04 k24nyzXR.net
>>620
> そしてbubbleを使わずに一々全Elementにイベントを付けていくのは完全に旧式であって、
jQueryでは全Elementにイベントハンドラを使えずに、
ocumentエレメントにイベントハンドラを付ける場合このように書きます。
$(document).on('click', 'a', function() {
$(this).css("background": "red");
});
知ってましたか?w
624:デフォルトの名無しさん
20/07/23 23:16:41.69 k24nyzXR.net
URLリンク(jsfiddle.net)
例えばこの2つのコードはイベントハンドラをつけてるところは違いますが
同じよう動作をします。thisが使えない?何の話でしょうかねw
$("#id1").on('click', 'a', function() {
$(this).css("background", "red");
});
$("#id2 a").on('click', function() {
$(this).css("background", "red");
});
625:デフォルトの名無しさん
20/07/23 23:18:15.34 QHkNbR5l.net
>>622
君と話が通じないのは君がbubble主体で組んだことがないからだよ。
ただし、bubbleの重要性に触れた『初心者向け』サイトは皆無で、俺が知ってるのはuhyohyoだけ。
気になるならそこでも読むんだね。
或いはそこら辺のまともなサイト、ガチの商用サイトだとbubbleを使ってない方が珍しい(と思いたい)から、見てみるとか。
ただし日本のサイトは割とまじで糞で、20年前と同じですねー、ってのも普通にあるからそういうところは駄目だが。
(ここ5chもそうだし)
ちなみに2度目だが、フェースの話はしてない。
イベントがバブルするのを「イベントバブル」と言うんだよ。
これはWPF等でも使われているからJavaScriptのローカル用語ではなくてプログラミング用語だ。
(といっても俺が知っている限りイベントバブルを最初に実装したフレームワークはHTMLで、
それらをWPF等も採り入れたから当然同じ用語になっているだけだが)
そしてそれをbubbleと(短く短くとうるさいお前ら用に)略して言っているだけ。
もう一度言うが、フェーズの話はしてないし、そもそも既に書いたように俺はキャプチャフェーズの存在価値が分からない。
今のところの見方では、あれは不要な仕様だと思う。
jQueryでも対応してないのなら、実際それで困ることはないからだろ。
>>623
知ってる。そしてそれだとjQueryを使う意味が無い=生のDOMAPIでも同様に書けるだろ
だからみんなjQueryを捨て始めてるだけ。
勿論君のようにjQueryが無いと死んじゃう人がそれに抗っているのも知ってる。
626:デフォルトの名無しさん
20/07/23 23:21:08.33 k24nyzXR.net
もうわかりましたね? ID:QHkNbR5l はイベントデリゲーションのことを
バブルなんて言ってるわけです(笑)
URLリンク(developer.mozilla.org)
> event.target プロパティは、イベントデリゲーションを実装するために使用できます。
所詮オレオレ用語を使うレベルなんですよ
627:デフォルトの名無しさん
20/07/23 23:22:10.11 QHkNbR5l.net
>>624
だからそれ明らかにイベントバブル使ってないじゃん。
それを>>623形式で書いた時にe.targetが無いとどうしようもないでしょ。
それを言ってるんだよ。
628:デフォルトの名無しさん
20/07/23 23:22:48.51 k24nyzXR.net
>>625
> 知ってる。そしてそれだとjQueryを使う意味が無い=生のDOMAPIでも同様に書けるだろ
では生のDOM APIを使ってe.targetなしで書いてみてください。
できますか? jQueryはe.targetなしで書きました。
629:デフォルトの名無しさん
20/07/23 23:23:26.39 k24nyzXR.net
>>627
> だからそれ明らかにイベントバブル使ってないじゃん。]
最初に言ったよね?イベントバブル使うコードかけって
なんでお前かけないの?
630:デフォルトの名無しさん
20/07/23 23:24:31.81 k24nyzXR.net
>>627
1. jQueryのコードはイベントバブルしか使わない(使えない)
2. >>623のコードはe.targetを使ってない
ここまではいいですかねぇ(呆れ)
631:デフォルトの名無しさん
20/07/23 23:28:46.58 QHkNbR5l.net
>>626
まあ君との話はもうする価値がないから終わりにするけど、
イベントバブルはオレオレ用語ではないと思うよ。
イベントデリゲーションってのは確かにそこにあるが、初めて聞いたが。
e.targetについては、
> 複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。
> 複数の要素に同じイベントハンドラーを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。
と、重要だからか?まじで2回書いてあるし、それが廃止とか使用禁止とかにはならないよ。
URLリンク(developer.mozilla.org)