2ch勢いランキング アーカイブ

+ JavaScript の質問用スレッド vol.142 +


Name_Not_Found [] 2019/09/17(火) 18:55:20.16:TLBaKhfW
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレはが(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 ttp://http://jsdo.it/ ttp://http://jsbin.com/ ttp://http://jsfiddle.net/ ttp://http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです

■前スレ
+ JavaScript の質問用スレッド vol.141 +
ttps://mevius.5ch.net/test/read.cgi/hp/1562318008/
Name_Not_Found [sage] 2019/09/17(火) 18:56:31.80ID:???
2 名前:Name_Not_Found[] 投稿日:2019/05/19(日) 16:08:41.33 ID:2J4OYdDV
■FAQ

◆開発者ツール(Developer Tools)の基本的な使い方
 ▼諸注意
  - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
  - Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
  - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
  ttp://https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
 ▼要素を検証
 1. ページ上で右クリックして [要素を検証]
 2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
 3. 右側のサイドバーから知りたいステータス名のタブを選択する
   - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
   - [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
   - [Properties] タブ … 選択したDOMノードのプロパティを表示
 ▼コンソール
 1. JavaScript コード上で console.log('Hello, World!'); と入力
 2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
 3. [Console] パネルに "Hello, World!" と表示される
 (※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
Name_Not_Found [sage] 2019/09/17(火) 18:57:42.72ID:???
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に ttp://http://jsperf.com/ (githubのアカウントが必要です)にコードをUPしてブラウザ毎に速度計測する事を推奨します。

例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証(要出典)されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。

■各種仕様
◆ Standard ECMA-262
ttp://http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
ttp://http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
ttp://http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
ttp://http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
ttp://http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
ttp://http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
ttp://http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
ttp://http://www.whatwg.org/specs/web-apps/current-work/multipage/
ttp://http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
Name_Not_Found [sage] 2019/09/17(火) 18:58:47.61ID:???
■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
ttp://http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
ttp://http://www.w3.org/TR/uievents/ (UI Events)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
ttp://http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
ttp://http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
ttp://https://developer.mozilla.org/ja/docs
◆ MSDN Library
ttp://https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
ttp://http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
ttp://http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
ttp://http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
ttp://http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
ttp://http://www.json.org/json-ja.html

■テンプレ案
ttp://http://fiddle.jshell.net/fH4cC/180/show/light/

■FAQ
ttp://http://fiddle.jshell.net/vSqKr/44/show/light/
Name_Not_Found [sage] 2019/09/17(火) 19:00:44.07ID:???
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は ttp://http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
Name_Not_Found [sage] 2019/09/17(火) 19:04:58.20ID:???
■各種仕様
◆ Standard ECMA-262
ttp://http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
ttp://https://www.ecma-international.org/ecma-262/9.0/ (ECMAScript 2018)
ttp://https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
ttp://http://www.whatwg.org/specs/web-apps/current-work/multipage/
ttp://http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)

◆ ES5(削るべきか要審議)
ttp://http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
ttp://http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
ttp://http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
ttp://http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
Name_Not_Found [sage] 2020/06/10(水) 10:49:23.78ID:???
electronは凝ったインターフェースが難しいのですか?
2dキャラを動かす物を作りたいのですが
Name_Not_Found [sag] 2020/06/15(月) 09:43:14.73ID:???

難しくはありませんよ
普通の人には簡単に使えるようになっています
Name_Not_Found [sage] 2020/06/15(月) 20:44:32.83ID:???
ttp://https://github.com/mdn/webextensions-examples/tree/master/borderify

githubでダウンロードするにはどうしたらいいんでしょうか
ダウンロードボタンがないです
Name_Not_Found [sage] 2020/06/15(月) 22:31:34.54ID:???

一部じゃなくて全部ダウンロードしろ
一つ上に上がれ
ちゃんとしろ
Name_Not_Found [sage] 2020/06/15(月) 22:55:17.86ID:???

$ svn export ttp://https://github.com/mdn/webextensions-examples/trunk/borderify
Name_Not_Found [sage] 2020/06/15(月) 23:38:40.33ID:???
普通は、プロジェクトを丸ごと、git clone するけど、

こんなに大きいと、ダメだな
Name_Not_Found [] 2020/06/16(火) 13:49:34.63:+kHD6bzC

あえてsvnとは
Name_Not_Found [sage] 2020/06/16(火) 15:35:00.41ID:???

一番簡単にディレクトリ以下のみをダウンロードできるから
gitだと同じこと出来ない

gitでやるならこんな感じ
.git/以下を取得するから単にダウンロードするのとは違う
$ cd <path>
$ git init
$ git remote add origin ttp://https://github.com/mdn/webextensions-examples
$ git sparse-checkout set borderify/
$ git pull --depth=1 origin master
Name_Not_Found [sage] 2020/06/16(火) 21:49:07.80ID:???
ローカルサーバを立てるとはどういうことですか?
なぜwindowsのフォルダをそのまま使えないのでしょうか?
サーバ特有の機能があるのでしょうか?
Name_Not_Found [sage] 2020/06/16(火) 21:51:16.24ID:???

>ローカルサーバを立てるとはどういうことですか?
ローカルにサーバーを立てること

>なぜwindowsのフォルダをそのまま使えないのでしょうか?
何に使えないの?

>サーバ特有の機能があるのでしょうか?
あるよ
Name_Not_Found [sage] 2020/06/16(火) 22:22:21.21ID:???

理由は2つある
1つはサーバーが無いと実現できないことがある
でも大抵のコンテンツは関係ない
もう1つは、わざとローカルファイル間のアクセスが制限されている
セキュリティのため
何もできないわけではないけれど不便なのでサーバーをたてる
nodeを使った超簡易ローカルサーバーが幾つかあるから
それらを試してみるのがオススメ
Name_Not_Found [sage] 2020/06/17(水) 04:18:45.79ID:???
ブラウザ環境は、クロスドメイン禁止(CORS)だから、
自分のPC 内にサーバーを立てて、サーバー上に、HTML を置く

一番簡単なのは、VSCode の拡張機能、Live Server

Ruby なら、コマンドプロンプト・PowerShell から、1-liner で、
Ruby製の遅いウェブサーバー、WEBrick が起動する

ruby -run -e httpd . -p 8080

そのフォルダ内に、index.html があれば、これでブラウザからアクセスできる
ttp://http://localhost:8080
Name_Not_Found [sage] 2020/06/17(水) 06:01:42.61ID:???

webアプリが動かなかったりするのではないですか?
よくxamppなどを開発用に使うと思います
しかしxamppは自分の環境で不具合あるんですよね、、、


例えばどのようなコンテンツでしょうか?
簡易ローカルサーバとはxamppなどと何が違うのでしょうか?
Name_Not_Found [sage] 2020/06/17(水) 10:28:20.28ID:???

webアプリはwebサーバー上で動くように作ったアプリケーションなんだから
サーバー立てずに動かそうとする意味がわからない

xamppもwebサーバーの一種
おま環で不具合あるならそれを解消するか違うの使えばいいだけだよね
Name_Not_Found [sage] 2020/06/17(水) 10:48:44.16ID:???
twitter自動リフォローツールってどういう環境で作るのでしょうか。1つおもいつくのはブラウザーアドオンです。
ローカルアプリでtwitterを操作したりもできるんでしょうか?


つまりWEBアプリを作るライブラリ(アンギュラーなど)などがサーバを建てないと動かないという認識にしておきます。
ありがとうございますた
18 [sage] 2020/06/17(水) 23:21:07.14ID:???
XAMPP/MAMP, Ruby on Rails も、サーバーを含んでいるのは同じ

単に、PC 内のHTML をダブルクリックして、ブラウザを実行環境にすると、
クロスドメイン禁止(CORS)になるから、その部分が動かないだけ

そういう場合に、自分のPC内に、サーバーを立てて、そこからHTMLを配信する。
そうすると、普通のネット上のサーバーから配信したのと同じになる

一番簡単なのは、VSCode の拡張機能、Live Server
Name_Not_Found [sage] 2020/06/17(水) 23:42:59.99ID:???
初心者に間違った用語の使い方を教えるのは遠慮してくれないか?

まずクロスドメインではなくクロスオリジン
そしてCORSはクロスオリジン通信を実現する仕組みなどの
名称であって禁止という意味は含まない

そしてローカルファイルでクロスオリジン間の通信が制限されるわけではない
クロスオリジン間の通信が制限されるのはデフォ
ローカルファイルでは自己ファイル以外は別オリジンとしてみなされたり
ブラウザによってよりキツイ制限がかされるというだけ
Name_Not_Found [sage] 2020/06/17(水) 23:52:34.96ID:???
突っ込むところそこかよっw

HTMLファイルとWebアプリの違いがわかってないのにそんな小難しいこと言っても無駄
Name_Not_Found [] 2020/06/18(木) 00:46:40.94:GRK9NtOB
使った用語の間違いの訂正なんで
質問者ではなく、回答した人へのアレだろう
俺も少し気になってた
Name_Not_Found [sage] 2020/06/18(木) 01:08:05.62ID:???
まあrubyキチはスレを荒らすのが主目的ですし
Name_Not_Found [sage] 2020/06/19(金) 05:18:14.13ID:???
例えば簡単な2dゲームエンジンを作るとしたら、python guiよりjs electronのほうが適していますか?テクスチャを動かしたりアニメーションしたりするのはjsのほうが得意ですよね。
Name_Not_Found [sage] 2020/06/19(金) 09:44:42.20ID:???

そりゃ断然JSよ
pythonのguiはオモチャだから他の言語できるやつはまずやらない
Name_Not_Found [sage] 2020/06/19(金) 09:49:36.25ID:???

その動きにかかわる部分というのはguiライブラリの差というより、cssやjqueryの差ではないのですか?jsだとフルスクラッチのゲームとかありますよね。
Name_Not_Found [sage] 2020/06/19(金) 10:09:26.25ID:???
一般的には、Unity。
Python っぽいものなら、Godot

ttp://https://www.emanueleferonato.com/

このイタリア人は、phaser ばっかり。
昔は、Cocos2d-x も使っていたけど
Name_Not_Found [sage] 2020/06/19(金) 10:32:33.16ID:???
godotはソースはc++ですよね
Name_Not_Found [sage] 2020/06/19(金) 11:13:37.62ID:???

意味不明
Name_Not_Found [sage] 2020/06/19(金) 11:23:33.78ID:???

例えばテクスチャを単純に動かすくらいならpythonでもできると思いますが、フェードさせたりブラーをかけたり、こういう処理はjqueryのあるjsが有利なのではないか、ということです。
30 [sage] 2020/06/19(金) 11:50:03.07ID:???
7 Most Popular JavaScript Libraries 2020
ttp://https://www.youtube.com/watch?v=qugY8axtvWY

Anime.js, Howler.js, Chart.js, Reveal.js,
Three.js(WebGL 3D), Pixi.js(WebGL 2D), Video.js(HTML5 Video)

Phaser は、Pixi.jsをコアにして、サウンドや衝突判定や物理演算などを追加した、
2Dゲーム開発フレームワークです
Name_Not_Found [sage] 2020/06/19(金) 11:50:18.70ID:???

JSの場合はブラウザにしてもElectronにしても
HTML/CSSのレンダリングエンジン前提だからGUIライブラリが標準でランタイムに入ってるのと同じ
その標準のGUIライブラリであるHTML/CSSを操作するサードパーティのライブラリも腐るほどある

pythonユーザーに向けて2dゲームエンジンを作りたいというニッチなニーズを除けば
jsとpythonの二択でpython選ぶのはあり得ないよ
Name_Not_Found [sage] 2020/06/19(金) 12:36:14.31ID:???
jQueryでゲームエンジンはないやろ
どうせcanvasでグリグリ描くことになる
Name_Not_Found [sage] 2020/06/19(金) 13:05:49.48ID:???

なんとなくjsのほうがいいということはわかりました
ありがとう
作るならelectronですね
Name_Not_Found [sage] 2020/06/19(金) 13:45:26.33ID:???
electronについて質問いいですか?
vs codeやatomはテキストエディタと比べるともっさりしてますけど、これはelectronに起因しているのでしょうか?
大抵のテキストエディタより多機能ではあるのですが
Name_Not_Found [sage] 2020/06/19(金) 14:26:43.38ID:???
なんつうか頭悪すぎて相手してられない
Name_Not_Found [] 2020/06/19(金) 21:24:39.40:gLl9aCQq

起動以外は気にならんじゃろ
起動が遅いのとメモリ持ってかれるのは
ElectronというかChromiumのせい
Name_Not_Found [sage] 2020/06/20(土) 18:29:39.34ID:???
reactはguiフレームワークであって(jqueryのような)WEBフレームワークと呼ばれるものではないのですよね?
そうであれば会員制サイトにはjsは使われないのでしょうか?
WEBフレームワークだと勘違いしてました。

pythonとphpが多いようですね。


そうですね、起動だけですが、随分もっさりしています。
Name_Not_Found [sage] 2020/06/20(土) 18:54:43.30ID:???
スマホないとスマホアプリ作るのはむずいですよね
Name_Not_Found [sage] 2020/06/20(土) 19:06:42.41ID:???
各種エミュレータがあるから作れないことはないけどモチベーション続かないだろ…
Name_Not_Found [sage] 2020/06/20(土) 20:55:46.86ID:???
jQueryのどこがWebフレームワーク()なんだw
よくも悪くもDOM操作ライブラリじゃねーかwww
Name_Not_Found [sage] 2020/06/20(土) 21:36:08.88ID:???
仮想DOMが(一時的に)流行しているせいでDOM操作(jQuery含む)と
相性が悪いのがWebフレームワークって感じになってる

Webフレームワークを使うと直接DOMを操作するなって言われる
Webフレームワークのやり方に依存しまくるしかなくなるので
あとで技術的負債になりやすい
Name_Not_Found [sage] 2020/06/20(土) 22:43:21.82ID:???
Ruby on Rails, React, Vue.js などが有名なフレームワークだけど、
Reactは厳密には、コンポーネント・部品を作る、ライブラリ・モジュール

だからフレームワーク中で、ある部品だけを使うために、
Rails + React, Electron + React みたいな、組み合わせが多い
Name_Not_Found [sage] 2020/06/20(土) 22:51:45.16ID:???
バカ過ぎワロタwwwww
Name_Not_Found [sage] 2020/06/21(日) 00:07:09.32ID:???
フロントエンドのフレームワークとサーバーサイドのフレームワークは分けて考えたほうが良くない?
「Web」フレームワークっていやどっちもそうなのかもしれないけど括りが大きすぎる気がする
Name_Not_Found [sage] 2020/06/21(日) 04:58:01.53ID:???

guiの部品といいますがhtml cssがあるのになぜ必要なんでしょうか?
Name_Not_Found [sage] 2020/06/21(日) 04:58:36.16ID:???

reactとdjangoという組み合わせもありなんですね
djangoはサーバを操作するものですよね
Name_Not_Found [sage] 2020/06/21(日) 06:39:27.26ID:???
例えば、React で、こういうコンポーネントをファイルに定義して、
そのファイルを別のファイルで読み込むと、
<Layout /> という要素で、その部品を使える

Ruby のERB で、各コンポーネントを、別々のファイルに定義して、読み込むのと同じ

export default class Layout extends React.Component {
render() {
let name = "あいう";

return (
<div>
<h1>Welcome!</h1>
<h1>{name}</h1> // 式展開
</div> );
}
}
51 [sage] 2020/06/21(日) 06:45:32.83ID:???
Rails + Vue.js は、少ない。
これは、フレームワーク同士だから、両方の規則を守るのが、うっとおしいから

一方、Rails + React は多い。
これは、Railsフレームワーク中で、
Reactというモジュール・GUI 部品を使うだけで、分かりやすいから

もちろん、Rails + Bootstrap も多い
Name_Not_Found [sage] 2020/06/21(日) 10:51:26.78ID:???
rubyガイジも今年で61歳か…
Name_Not_Found [] 2020/06/21(日) 10:54:17.35:CjJ82i6l

HTMLやCSSは材料で
その加工手法や調理道具がフレームワークやライブラリなんだよ
Name_Not_Found [sage] 2020/06/21(日) 11:28:28.38ID:???
サクッときれいな表現をするためのものですよね
reactで会員制サイトのようなものを作れると勘違いしてました
djangoなどとは違うもんですね
Name_Not_Found [sage] 2020/06/21(日) 11:48:45.13ID:???
そうめんを食うたびに麦を挽くところからやるのは面倒
茹でればすぐ食えるようにしてくれたのがライブラリ
ttp://https://www.ama
zon.co.jp/dp/B014FB62ZG

そうめんを食うたびに竹を割るところからやるのは面倒
必ず使うものや手順は予め用意してくれてるのがフレームワーク
ttp://https://www.ama
zon.co.jp/dp/B07DFZ7M4V

お客さんにいっぱいそうめん貰った
そこで、このキットポチろうかさっきからずっと悩んでる…
Name_Not_Found [sage] 2020/06/21(日) 12:22:36.17ID:???

Rubyガイジが嫌がらせをやめられないのは爺さんだからか。
年取るとどんどん幼児化していくらしいから気をつけないとな
Name_Not_Found [sage] 2020/06/21(日) 12:46:03.28ID:???
嫌がらせって、別にダメージ0でしょ
何かを実現するのに100%JSでやらないといけないという決まりはないし
別にRubyを5%10%使っても良いわけじゃん?

言語としてもRubyに良いところがあるならそれを参考にしようというくらいの
甲斐性や柔軟性がJSにはあるよ

あれくらいのレスをわざわざ突っ込んでそれこそスレの目的と関係ない
流れが続くほうが良くないと俺は思うんだけど、どうかな
Name_Not_Found [sage] 2020/06/21(日) 12:55:56.01ID:???

そんなことはみんなわかってる
だがスレ違いだって理解しろよ
それはRubyスレでやればいいことだ
Name_Not_Found [sage] 2020/06/21(日) 12:56:08.77ID:???
右も左もわからない初心者にRuby本を勧めて遠回りさせるとか嫌がらせでなかったら何なんだ?
Rubyガイジはjs住人には認められたみたいだから、ruby、js以外のスレには出てこないでくれ
Name_Not_Found [sage] 2020/06/21(日) 13:00:54.96ID:???

ダメージ0じゃないやつもいるってことよ
どういうやつかは察してやれ
Name_Not_Found [sage] 2020/06/21(日) 14:30:13.90ID:???
ここにRubyの情報書かれてもクソの役にも立たん
参考になるかならないかで言えばならない

どうでも良いRuby情報をクソ改行とクソ句読点で何行も書き込むくらいなら
「こうすればいい」か「jsでは出来ない」と一言二言書けば済む話

Ruby では、とかスレチが語り出さなくて良い
Name_Not_Found [sage] 2020/06/21(日) 14:47:39.18ID:???
名前欄にRubyって入れてくれればいいんだよ
見たい人は見るし
見たくない人はあぼーんするし

誰も損しない
Name_Not_Found [sage] 2020/06/21(日) 14:48:22.88ID:???
rubyスレで同じ事しても大丈夫だって言うんならフェアな話だし考える余地があるんだがな
ダメージ0なんだろ?rubyの柔軟性を見せてくれよ
Name_Not_Found [sage] 2020/06/22(月) 10:35:05.97ID:???
ttp://https://zenpen.io/
何らかのWEBサービス作るにしてもサーバが必要ですよね
こういうサービスの場合、データはキャッシュに保存されている感じで、サーバではないのでしょうか?
Name_Not_Found [sage] 2020/06/22(月) 11:47:26.14ID:???
お前の質問はおかしい
お前は何故か基本的にデータの保存にサーバーが必要だろうと思っている
でも何故かそのサービスはサーバーを利用していないだろうと知っている
そういうお前が俺たちに聞くことなんて何もないだろ
51 [sage] 2020/06/22(月) 11:50:59.59ID:???
React JSX は、Ruby, JavaScript でも、シームレスに使える。
ボタン・フォームなどの、単なるコンポーネント・部品だから

ボタンを部品化して、フォームも部品化して、
そのフォーム中で、そのボタンを読み込んで使ったりもできる。
つまり、2つの別々なファイルに、各部品を記述できる

その部品・部品群を、Rails, Electron で読み込んで使える

Ruby のERB と同じ。
各部品を、別々のテンプレートファイルで定義して、
それを大本のHTML に読み込む感じ
Name_Not_Found [sage] 2020/06/22(月) 11:55:41.49ID:???
データをサーバーに保存しない場合は、

WebStorage API(LocalStorage)で、ブラウザにキャッシュさせる
Name_Not_Found [sage] 2020/06/22(月) 23:39:19.30ID:???
なにか口から言葉を出す前にキャッシュの意味くらい勉強したほうが良い
Name_Not_Found [sage] 2020/06/22(月) 23:48:10.91ID:???

そんなウブな赤子が2chに迷い込んでくるわけ無いだろ!
ここは魑魅魍魎が跋扈する場所だぞ
本なんて進められたら無視するくらいの奴しかそもそもお呼びでない
Name_Not_Found [sage] 2020/06/23(火) 01:01:56.07ID:???
中二病とかガイジとかrubyに惹きつけられるのはキモいやつばかりだな
Name_Not_Found [sage] 2020/06/23(火) 04:53:45.49ID:???
【悲報】先日英語版が刊行されたサイ本第7版、旧版にはあったjQueryの章が丸々カットされていたwww
Name_Not_Found [sage] 2020/06/23(火) 04:55:45.59ID:???
もとから乗ったこともないフレームワークもあるしなw
Name_Not_Found [sage] 2020/06/23(火) 05:03:09.17ID:???
7版にReactのコードちょこっと載ってるね。なぜか項題はJSXだけどw確かに間違いじゃないけどさぁw
Name_Not_Found [sage] 2020/06/23(火) 10:57:13.69ID:???
おー
第七版出たのか
インテリアとして買うか
Name_Not_Found [sage] 2020/06/24(水) 04:51:28.82ID:???
ttp://https://zenpen.io/
こういうテキストエディタってどうやって作るんでしょうか?
ライブラリナシですか?
Name_Not_Found [sage] 2020/06/24(水) 06:04:02.02ID:???
このサイトに、そのURL を入力して、そのページを分析してみれば?
ttp://https://builtwith.com/

Ruby on Rails 6 では、Action Text という機能が追加されたが、
Trix と言う、WYSIWYG エディタが含まれている
Name_Not_Found [sage] 2020/06/24(水) 06:08:57.08ID:???
どれだかわからん
Screenfull.jsというやつかな、、、?
Name_Not_Found [sage] 2020/06/24(水) 06:09:15.91ID:???
ライブラリなしならフォームを使用して作るもんでしょうか?
Name_Not_Found [sage] 2020/06/24(水) 06:23:23.19ID:???
ここに来る前に1年くらいHTMLに基礎くらいは勉強してこい
右も左も分からない人が掲示板で覚えるのは難しい
contenteditableくらい知っとけ
Name_Not_Found [sage] 2020/06/24(水) 07:29:12.00ID:???
ありがとう
そんなのあるんやね
77 [sage] 2020/06/24(水) 09:24:20.65ID:???
Ruby on Rails 6 の、Action Text という機能で、
Trix と言う、WYSIWYG エディタを使う理由

ほとんどのWYSIWYGエディタは、HTMLのcontenteditableやexecCommand APIのラッパーです。
ブラウザの実装ごとに独自のバグやおかしな動作が発生しています

TrixではcontenteditableをI/Oデバイスとして扱うことで、こうしたブラウザ間の動作のぶれを回避しました。
エディタに独自の方法で入力されると、Trixはその入力を内部のドキュメントモデル上での編集操作に変換してから、
ドキュメントをエディタ上で再レンダリングします

これにより、Trixはあらゆるキーストロークで発生するものを完全に制御し、
execCommandを使う必要性をすべて回避しています
Name_Not_Found [sage] 2020/06/24(水) 09:27:42.85ID:???
Trix.jsすごいJavaScriptすごい
77 [sage] 2020/06/24(水) 10:53:31.52ID:???
Trix は、Ruby on Rails の作者・DHH のBasecamp 社製

そもそも、JavaScript に影響を与え続けているのは、Rails
Name_Not_Found [sage] 2020/06/24(水) 11:24:55.46ID:???
そんな人でもTrixはJavaScriptでしか実装できなかったんだね。JavaScriptすごい
Name_Not_Found [sage] 2020/06/24(水) 11:42:13.74ID:???
ブラウザ上でDOMをいじれる言語が他にあるのかよww
頭悪いにもほどがある
77 [sage] 2020/06/24(水) 12:06:49.27ID:???
Ruby on Rails 6 では、webpack の薄いラッパー、webpacker もあるw
そのまま、node.js を使っているw
yarn も使う

例えば、React, Bootstrap を使うなら、

.bin/rails webpacker:install:react
yarn add jquery popper.js bootstrap

JavaScript も、Rails 内の部品
Name_Not_Found [sage] 2020/06/24(水) 12:31:36.21ID:???
正規表現で含むと含まないの複合条件ってできるのでしょうか?
Name_Not_Found [sage] 2020/06/24(水) 12:47:39.99ID:???
ttp://https://zenpen.io/
これってデータはどこに保存してるんでしょうか?
キャッシュですか?
77 [sage] 2020/06/24(水) 12:56:53.22ID:???
S3 じゃないの?


のリンクに、そのサイトのURL を入れて、分析してみ
Name_Not_Found [sage] 2020/06/24(水) 13:00:34.21ID:???
つまりJavaScript使わないと何もできない
Name_Not_Found [sage] 2020/06/24(水) 13:04:56.92ID:???

条件によってできたりできなかったりします
現状lookbehindはchrome系しか対応してないし
うまくできない時は素直に複数回に分けましょう


上でLocalStrageって答え貰ったでしょ
Name_Not_Found [sage] 2020/06/24(水) 13:12:09.55ID:???

キャッシュ削除しても保存されてますね
すみません
Name_Not_Found [sage] 2020/06/24(水) 14:04:50.66ID:???
chrome系しかって言うけど、
現状chrome系が大多数じゃん
Name_Not_Found [sage] 2020/06/24(水) 14:53:47.75ID:???
大多数だからと言ってiOS除外してもいいならね
Name_Not_Found [sage] 2020/06/24(水) 20:32:20.14ID:???
ttp://http://codepad.org/I322LIfG
sessionstrageで保存してもundifinedになるんですが、なぜ保存されてないのでしょうか?コンソールログで表示させているのですが、、、
Name_Not_Found [sage] 2020/06/24(水) 20:43:13.16ID:???
sessionstorage.setitemに戻り値はありません
保存されたかどうかは開発ツール
Chrome:Applicationタブ→Strage→Session Storage
Firefox:ストレージタブ→セッションストレージ
で見れ
Name_Not_Found [sage] 2020/06/24(水) 21:10:23.98ID:???
ttp://https://techacademy.jp/magazine/32870
引数はあるようです

インスペクタで確認できるのは知りませんでした
Name_Not_Found [sage] 2020/06/24(水) 21:24:27.04ID:???
ttp://https://developer.mozilla.org/ja/docs/Web/API/Storage/setItem
公式でもそう書いていますが、どうなんでしょうか
Name_Not_Found [sage] 2020/06/24(水) 22:11:34.32ID:???
あるからなんなのさ
savedataじゃなくてloaddataを出力しろよ
Name_Not_Found [sage] 2020/06/24(水) 22:27:19.80ID:???
戻り値と言われて引数と理解する能力やばいですね
Name_Not_Found [sage] 2020/06/25(木) 06:15:45.30ID:???
会話になってないよな
プログラミング言語の前に日本語やったほうが良い
Name_Not_Found [sage] 2020/06/25(木) 11:13:53.08ID:???
そういえばみなさん普段は
「戻り値」って言う?それとも「返り値」?
Name_Not_Found [sage] 2020/06/25(木) 11:41:31.07ID:???
リターン値、リターンバリュー
Name_Not_Found [sage] 2020/06/25(木) 12:22:16.40ID:???
それキルして
返り血どうだった
Name_Not_Found [sage] 2020/06/25(木) 12:34:02.01ID:???
contenteditableのvalueを取得できますか?
innerhtmlを使用するのですか?
Name_Not_Found [sage] 2020/06/25(木) 13:32:45.40ID:???
本物のガイキチが定住すると簡単にNGできるルビキチとか全く気にならなくなるな
Name_Not_Found [sage] 2020/06/25(木) 14:56:24.86ID:???
何の問題もない質問者とか元々10スレに1人くらいしか来ないよ
ここは掃き溜めなんだから
Name_Not_Found [sage] 2020/06/25(木) 19:37:00.89ID:???
jsによって挿入されているhtmlなんですが、どのjsによって挿入されているか調べる事はできますか?
firefoxのインスペクタです
Name_Not_Found [sage] 2020/06/25(木) 19:49:57.74ID:???
できません
Name_Not_Found [sage] 2020/06/25(木) 19:58:02.30ID:???

編集可能になるだけで
UI(フォームの部品)になるわけじゃないのよ
Name_Not_Found [sage] 2020/06/25(木) 20:07:55.37ID:???

mutation observerで挿入される要素の親(先祖でもいいけど)を監視して要素追加されたときログに書き込むようにしとけば確認できる
Name_Not_Found [sage] 2020/06/25(木) 20:09:07.65ID:???
ごめんwどのjsによって、だったか。こりゃ検索機能で当たるしかないね
Name_Not_Found [sage] 2020/06/25(木) 21:45:06.66ID:???
調べる事はできますか?
っていう質問は真面目に意味がわからない

デバッガを使いこなして調べるのはお前自身だろ
お前自身が可能かどうかを質問されても困る

もしも音声認識で問いかけたらデバッガが教えてくれることを
期待しているのならそれはできない
Name_Not_Found [sage] 2020/06/25(木) 22:01:23.10ID:???
まとめると
インスペクタだけでは調べることは出来ないがデバッガを使えば調べることは可能
ただし君には無理
Name_Not_Found [sage] 2020/06/26(金) 12:35:15.36ID:???
真面目に答えるとステップ実行
Name_Not_Found [sage] 2020/06/26(金) 21:04:51.29ID:???
スマホ無くてスマホアプリ作れるかしら
Name_Not_Found [sage] 2020/06/26(金) 21:10:25.05ID:???
作れるけどやっぱあったほうが断然いいよ。つらい。
Name_Not_Found [sage] 2020/06/26(金) 21:46:54.74ID:???
スマホなんて馬鹿が使うからスマートなんだよ
Name_Not_Found [sage] 2020/06/26(金) 21:58:09.17ID:???
わけわからん
Name_Not_Found [sage] 2020/06/27(土) 04:24:53.62ID:???

ですよね
エミュレータはありますけど
Name_Not_Found [sage] 2020/06/28(日) 00:19:19.83ID:???

俺は最初JSをガラケーのフルブラウザで覚えたからクソ辛かったが
Canvasが使えないから1pxのdivを敷き詰めるラッパー作ったり
少ない機能や性能の中作るのは勉強になった

でも今どきのスマホは外部キーボード用意すれば画面が小さいくらいで
むしろカメラマイクモーションGPSとか、色々試すのには多機能でしょ

最近は慣れれば音声入力でキーボードと同じくらいの速度でコーディングできるし
アプリの形式としてPWAだってあるから無くても十分なんとかなるよ
Name_Not_Found [sage] 2020/06/28(日) 03:02:28.03ID:???
うるさい!
Name_Not_Found [sage] 2020/06/28(日) 06:51:07.60ID:???
スマホアプリ作成するには何の言語がいいんですか?
reactありますけど、WEB技術で作れるのは学習コストが低くてありがたい
でも一般的にはjavaなんですよね アンドrの場合
Name_Not_Found [sage] 2020/06/28(日) 07:37:45.95ID:???
Node.jsで、毎日一定の時間に実行できるような記述方法やライブラリはありますか?
例えば5chのIDみたいに0時に自動的にIDが更新されるような感じです。
Name_Not_Found [sage] 2020/06/28(日) 08:42:40.38ID:???

>最近は慣れれば音声入力でキーボードと同じくらいの速度でコーディングできるし


できる…のか?
Name_Not_Found [sage] 2020/06/28(日) 09:12:54.29ID:???
タブ・タブ・タブ・タブ・タブとかで
簡単に音声でインデントできるぞ
ダブルクォートとかな
Name_Not_Found [sage] 2020/06/28(日) 09:19:26.25ID:???
"hogehoge" と打つのと
「ダブルクォートほげほげダブルクォート」と言うの、果たして同じくらいのコーディング速度なのだろうか?
「タカシーゴハンヨー」もバックスペースで消さなきゃならんし…
Name_Not_Found [sage] 2020/06/28(日) 09:23:03.43ID:???
width問題が気になる
Name_Not_Found [sage] 2020/06/28(日) 12:04:05.72ID:???
キーボード打つのが絶望的に遅いのだろう
Name_Not_Found [] 2020/06/28(日) 12:47:57.43:717hlWnC
JSONのラベルってストリングじゃなくてもいいの?
Name_Not_Found [sage] 2020/06/28(日) 13:26:38.71ID:???
JSONは文字列じゃないとダメ。
JSONはJavaScript Object Notationの略で、つまりは元々はJavaScriptのオブジェクトリテラルの記法を参考に"発明"され普及したわけだが、機能的にはサブセットと言っていい。
なのでJavaScriptのオブジェクトリテラルでは文字列以外でもシンボルが使えたり、""がいらなかったりいろいろ制限が異なる。
JSONでは文字列じゃないとダメ。""も必須。
Name_Not_Found [sage] 2020/06/28(日) 13:28:31.72ID:???
↑プロパティ名についてのことね。値はまた別よ?
「ラベル」ってプロパティ名のことでいいんだよな?
Name_Not_Found [] 2020/06/28(日) 13:40:31.32:717hlWnC

そすプロパティ名のことです
JSON.parse()したあとのオブジェクトはJSONではないんですね

オブジェクトリテラルでプロパティ名が""で囲んでないのは文字列だけど省略されているということですか?
Name_Not_Found [sage] 2020/06/28(日) 15:19:13.94ID:???

ttp://https://www.youtube.com/watch?v=U-NZjzDj-Xk
Name_Not_Found [sage] 2020/06/28(日) 17:26:05.18ID:???

はい
Name_Not_Found [sage] 2020/06/28(日) 19:01:44.81ID:???
ttp://https://www.moongift.jp/2012/08/20120814-3/?amp=&amp=
要素の並び替えというのはjqueryを使うのが普通ですか?マインドマップのようなものを考えていますです
Name_Not_Found [sage] 2020/06/28(日) 19:54:12.40ID:???

時と場合による
Name_Not_Found [sage] 2020/06/28(日) 23:37:56.04ID:???

JSON モジュール・関数などは、
JSON文字列・JavaScript(JS) のオブジェクトを、相互変換するもの

JS内では、文字列よりも、オブジェクトの方が処理しやすい。
一方、JS外では、文字列で通信する(serialize)

Deep Copy する(参照を断ち切る)ために一旦、JSオブジェクトを文字列に変換してから、
その文字列から、新たなJSオブジェクトを構築することもある

そうすれば、新たに構築されたオブジェクトは、
元のオブジェクトと無関係で、内部に同じ参照を持たない
Name_Not_Found [sage] 2020/06/28(日) 23:49:09.57ID:???

よく知らないけど、SortableJS というライブラリがあるみたい

【jQueryUIを使わずにドラッグ&ドロップを実装したい】Javascriptライブラリ「Sortable」を使ってみた
ttp://https://qiita.com/AVELWP/items/536c797a63c081cf7bc0
Name_Not_Found [sage] 2020/06/28(日) 23:50:40.03ID:???
rubyキチガイの癖に珍しく嘘・勘違い・デタラメは言ってないな。
まあ全然質問に対する答えにはなってないが。
ただ知ってることしゃべってるだけ。
Name_Not_Found [sage] 2020/06/29(月) 01:20:29.99ID:???

やっぱマウス使うんだな(笑)
Name_Not_Found [sage] 2020/06/29(月) 05:14:12.62ID:???


どうも。ライブラリに頼るのも学習コストが高いかなーと思ってて
125 [sage] 2020/06/29(月) 07:32:26.19ID:???
node-scheduleというnpmパッケージがあったのでそちらを採用しました
一応報告とさせていただきます
Name_Not_Found [sage] 2020/06/29(月) 12:51:48.36ID:???

一応ってなんだよ
125 [sage] 2020/06/29(月) 13:02:50.08ID:???
Nodeの質問でしたし、誰も反応がなかったのでスレチかとも思ったのですが、もしそうでなかった場合、すでに解決済みで今後の解決策の提案は必要ない、という意味での報告と、万が一同じような質問者があったときのために「一応」報告という意味ですが。
Name_Not_Found [sage] 2020/06/29(月) 13:07:38.54ID:???
えらい!
Name_Not_Found [sage] 2020/06/29(月) 13:09:19.95ID:???
スマホなくてスマホアプリ開発してもいいですか?
エミュあるんで
Name_Not_Found [] 2020/06/29(月) 13:21:55.60:nbLc851f
たいていのスマホアプリメーカーやウェブ制作会社は
スマホ実機を何十台も揃えてる理由を考えれば
Name_Not_Found [sage] 2020/06/29(月) 13:23:03.24ID:???
個人開発者はどうしてると思いますか?
Name_Not_Found [sage] 2020/06/29(月) 13:42:22.56ID:???
個人開発者でも1台も実機持ってないやつはいない
実機じゃないと検証できないことが多々ある
多くの機種でテストしたければ実機テストサービスを利用する
Name_Not_Found [sage] 2020/06/29(月) 13:54:51.23ID:???
じゃあ普通にWEBアプリとして作ります
reactnativeなど使えば、無駄にはならないと思うので
Name_Not_Found [sage] 2020/06/29(月) 13:58:31.09ID:???
reactnativeで作ってる人もflutterで作ってる人も実機確認は普通にしてるが…
あんま関係ないよ何で作ろうが。
もはやのがれることはできんぞ
Name_Not_Found [sage] 2020/06/29(月) 15:48:52.03ID:???
同じChromeでも音声鳴らしたりだとか、
色んな所でモバイルとデスクトップの制限や
APIの振る舞いの差で躓く
まあ、たいてい数個の修正で住むから
モバイルからエラーログを集めて対処するって
いうのもありだが
タッチでの使いやすさ見やすさなんかは
やっぱ実機が手元にあったほうが良い
Name_Not_Found [sage] 2020/06/29(月) 20:51:19.47ID:???
reactのイメージがよく分からんのですが、自分が欲しい機能として、ドラッグアンドドロップがあります。
ttp://https://reactjsexample.com/drag-drop-grid-layout-in-react/
こういうのはjs生でやると大変なんでしょうか?

実機なしでやります じゃあ

ヒッキーなので親の金で買ったガラケーなんですよ
Name_Not_Found [sage] 2020/06/29(月) 21:34:39.60ID:???
ガントチャートみたいなものを考えています
Name_Not_Found [sage] 2020/06/29(月) 21:53:34.15ID:???
なんでNODE.jsってfetchできないんですか?
Name_Not_Found [sage] 2020/06/29(月) 23:33:27.21ID:???
fetchってブラウザがコンテンツを取って来る流れを抽象化したものだから。
nodeに凄くなじまないとは言わないが、凄くなじむものではない。
よってデフォルトでは入っていないが、必要なら適当なライブラリがあるんじゃないか?
それかなんちゃってfetchくらいならすぐ作れるだろうし。
逆に、まあなんでnodeでfetchしたいのかって聞いてみたいね。
Name_Not_Found [sage] 2020/06/30(火) 00:08:33.23ID:???
node-fetchやisomorphic-fetchつかえばいいだろ。
Name_Not_Found [sage] 2020/06/30(火) 00:33:54.16ID:???

promiseの使い方に慣れたくてfetchが実用的たがら練習にいいかと思ってfetchしたいです


npm とかyernとか使い方わからんのですaptで入れられます?
Name_Not_Found [sage] 2020/06/30(火) 01:02:28.30ID:???
npmもyarnも覚えたくないなら事実上無理だね。
それどころかnodeで普及してるライブラリはほぼ使えないと思った方がいい。
事実上と言ったのはnpmまたはyarn覚える何倍もの苦労をしていいならソース取ってきて適切に配置することでできないこともないからだ。あ、依存するライブラリも全部ね。依存関係バージョン完璧に。
誰もやらないのは、言ったようにそっちの方が何倍も大変だからだ。
Name_Not_Found [sage] 2020/06/30(火) 01:17:07.51ID:???

ただfetch使いたいだけなら今この場でF12キー押して試してみればいいじゃない
でもpromiseに本当に慣れようと思ったら一度大きなアプリケーション作って見たほうが良い
そうすればロジック的ないろいろなパターンも分かるし
プロミスをキャッシュしたり、イベントと組み合わせてオブザーバブル的なものを作ったり
運用上のパターンも分かってくる
Name_Not_Found [sage] 2020/06/30(火) 01:47:53.17ID:???

覚えたくないわけでわないです
インストールしてみます
npmよりyarnの方が上位互換って認識であってます?

ブラウザのデバッガでやればできるのですね
アプリケーションを作るというレベルにはまだいけてないです
Name_Not_Found [sage] 2020/06/30(火) 02:24:17.31ID:???
npmはnodeの付属物だからnodeが正常にインストールできてるならすでに入ってるよ。
yarnはこだわりが強い人がnpmの代わりに使うため追加インストールするもの。当然npmのほうが基本でyarnを使ってる人もnpmの使い方を知った上で使っている。
一方機能的にnpmで事足りるならyarnは必ずしも必要ではない。
短くいうと、右も左も分からない段階の今ならなにも考えずに普通にnpmだけ使ってればよい。
Name_Not_Found [sage] 2020/06/30(火) 02:32:51.56ID:???
なんか読んでるとクライアント側やりたいみたいだな。
じゃあ実行環境はブラウザになるんだからnodeでfetchなんて考える必要ない。ブラウザでは何もしないでもfetch API備えてるんだから。MDNでも参考に読みながら普通に書くだけ。
Name_Not_Found [sage] 2020/06/30(火) 06:43:36.56ID:???
javascriptで表みたいなものは作れますか?その表にブロックをドラッグしていけるようなものです。
Name_Not_Found [sage] 2020/06/30(火) 06:45:16.17ID:???

HTML ドラッグ&ドロップ API
ttp://https://developer.mozilla.org/ja/docs/Web/API/HTML_Drag_and_Drop_API

「drag and drop event html」で検索!


Ruby on Rails など、すべてのweb開発で、VSCode, Node.js, npm/yarn, git clone などは必須

Windows 10, WSL, Ubuntu 18.04 では、
VSCode の拡張機能、Remote WSL も使う

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
多言語のバージョン管理では、anyenv, asdf も必須。
一々、各言語で、バラバラなバージョンマネージャーを使うのは面倒
Name_Not_Found [sage] 2020/06/30(火) 09:36:24.39ID:???
安定のrubyキチガイ
Name_Not_Found [sage] 2020/06/30(火) 11:29:46.98ID:???
reactをfirefoxアドオン開発に使うことは可能ですか?
この辺のことよく分からんです

こういう並び替えはライブラリを使うのが普通なんですかね
Name_Not_Found [sage] 2020/06/30(火) 12:42:42.54ID:???
はrubyガイジと言って聞き齧ったこと適当に書き込むだけのうんこ製造機兼botだよ
140 [sage] 2020/06/30(火) 12:50:03.72ID:???

にも書いたけど、Sortable.js とか?

アニメーションもあるし、自作は不可能だろう。
React, Vue.js などのフレームワークなら出来ると思う
Name_Not_Found [sage] 2020/06/30(火) 13:27:18.04ID:???

ありがとう
reactでいく
スマホアプリにも役立つし

ライブラリはガンガン使うスタンスのほうがいいよね
140 [sage] 2020/06/30(火) 14:24:05.03ID:???
Ruby on Rails でも、Bootstrap か、React が多い

スマホでは、React Native + Expo もあるから、
React をやっておくのが良いかも
Name_Not_Found [] 2020/06/30(火) 14:36:22.85:uTbgPl4m

aptとnpmの違いなんて
ビーフカレーとチキンカレーくらいのもんだぞ
Name_Not_Found [sage] 2020/06/30(火) 14:59:35.85ID:???
お前ん中ではな。
Name_Not_Found [sage] 2020/06/30(火) 15:28:39.14ID:???
JavaScript, Node.js は、Ruby on Rails の影響が強い

npm/yarn も、RubyのBundler の影響
Name_Not_Found [sage] 2020/06/30(火) 16:04:11.94ID:???

そうする
Name_Not_Found [sage] 2020/06/30(火) 21:34:30.18ID:???

レベルとかそういうことじゃないから
絵を勉強していない子供でも絵は楽しく書けるでしょ

私は未熟だから、まず直線を10万回描きます、円を100万回描きます
そんなことしてて楽しいか?
そんなの数回ずつ描けば筆の使い方、手の動かし方など最大限頭で理解できるんだよ
逆に言うとそれ以上頭で理解することはそうそうできることじゃないの
それが人間の性質

つまりちょっと練習をやったらあとはひたすら本番をやって
パターンを体に覚えこませていくしか無いの
脳って言うのはパターン構築機なんだから、うだうだ考えずに信じてそれに任せればいいの
プログラミング言語も言語であって、別に頭で考えなくても言語っていうのは身につくものなの

いい?
プログラミング言語でやることは計算だが、
プログラミング言語自体は計算して書くものではないの
たまには推敲したりすることもあろうが、
基本的には常識と直感で無意識にスラスラ書いていくものなの

逆に言うとどれだけ自然に自分の中からパターンが出てくるかが重要で
自分の中にどれだけパターンが染み付いているのかが大事なの
要するにぐだぐだ言ってないで手を動かせ 無理なことはない 無理そうなら最初から言わないから
Name_Not_Found [sage] 2020/06/30(火) 21:37:21.36ID:???

ターミナルでnpm initしようとしても入ってないって出ます

nodeのREPLでやろうとしてもoutsideでやれって出ます
Name_Not_Found [sage] 2020/06/30(火) 22:15:26.42ID:???
環境は?windows?mac?linux?バージョンやディストリビューションは何?
nodeのある場所出すコマンド教えてそこからnpm入ってる場所推測しようにもそれ書いてくれないと。
Name_Not_Found [sage] 2020/06/30(火) 22:45:10.42ID:???
Linuxです。Manjaro18を使っています。
Name_Not_Found [sage] 2020/07/01(水) 06:43:02.91ID:???
初歩的な質問になるんですが
親要素のoverflowで要素がクリップされているかを判別するには
どのようなアプローチを取れば実現できます?
Name_Not_Found [sage] 2020/07/01(水) 07:13:57.83ID:???

Ubuntu20.4です


パターン繰り返すのが大事なんですね
Name_Not_Found [sage] 2020/07/01(水) 08:05:23.09ID:???
漏れは、Windows 10, WSL, Ubuntu 18.04 で、VSCode の拡張機能、Remote WSL を使う。
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
asdf も、anyenvと同様のツール

which ruby
/home/ユーザー名/.anyenv/envs/rbenv/shims/ruby

which node
/home/ユーザー名/.anyenv/envs/nodenv/shims/node

node --version
v12.16.2

まず、apt-cache show nodejs で、バージョンを調べると、かなり古いので使えない!
Version: 8.10.0
(注意、node ではなくて、nodejs を使っているディストリビューションもある)

NVM というバージョンマネージャーを使う人もいるけど、多言語をインストールする際、
各言語でバージョンマネージャーの使い方が異なるので、面倒。
だから、anyenv, asdf を勧める

ソースコードからコンパイルするには、
build-essential, openssl, readline, zlib などのパッケージもいるかも知れない

Linux 板のUbuntu のスレで聞いた方がよいかも
125 [sage] 2020/07/01(水) 10:33:30.56ID:???

プログラム以前の話っぽいから出直せ
"ubuntu npm"とか"apt 使い方"とか"linux 環境変数"とか、
調べることはたくさんあるから、そういう当たり前の基礎を理解して、自分で環境構築できるようになってから言語について質問して。
Name_Not_Found [sage] 2020/07/01(水) 10:43:27.97ID:???
スケジュール表みたいなものもライブラリを使って作るのが普通なんでしょうか?時間割みたいなもんですね。
時間割の中にブロックを自由に配置するようなものですね。
Name_Not_Found [sage] 2020/07/01(水) 10:57:07.63ID:???
まあ確かに自分の使ってるOSの知識が足りてないのが根本原因でnode以前の問題ではあるね…


とりあえずコンソールで
which node

which npm

echo $PATH
の結果貼ってみて。
Name_Not_Found [sage] 2020/07/01(水) 11:07:42.70ID:???

詳しく聞いてみないと分からないけど
そう言うのを自前で用意することは見直した方が良い
例えばグーグルカレンダーを使って埋め込んだりリンクするので十分間に合うんじゃないか?
Name_Not_Found [sage] 2020/07/01(水) 11:39:48.97ID:???

再開発は徹底的にやらないほうがいいと?
googleカレンダー使ってみましたけど、確かにワイがやる必要ないですねぇこれ

オリジナリティ出せるのって結局アート系だけなような気がします
Name_Not_Found [sage] 2020/07/01(水) 11:42:09.60ID:???
カレンダーまわりは魔境だからな。言語問わず。マゾなら自分で作ればよい。
Name_Not_Found [sage] 2020/07/01(水) 13:09:16.56ID:???
firefoxアドオン作るです、、、
Name_Not_Found [sage] 2020/07/01(水) 20:05:51.64ID:???

再開発をするなというつもりは全くない
俺はむしろ再開発はどんどんやれ派

だけどスケージュール表というのは限りなく実用的なものでしょう?
例えば特にカレンダーというものは特殊で昔から世界中で形が同じなのよ
スケージュール表も、独自性を出して本当に嬉しいことになるのか?ってこと

その予定を見た人が、自分の予定に追加したり、フォローしたいと思うかもしれない
残念なことに現状これがデファクトと自身を持って言えるくらいのサービスはないが、
まあGoogleカレンダーとか、連携機能がついてるものに頼っておくのが賢いんじゃないかということ
Name_Not_Found [sage] 2020/07/01(水) 20:26:34.63ID:???
プログラミンはどんどんコピペすべきですか?
Name_Not_Found [sage] 2020/07/01(水) 20:33:02.17ID:???
理想はそう
だけど現実的にはコピペされる方もする方も理想とは程遠いので不可能

だからモジュールやライブラリという単位がある
再利用可能なものはパッケージかしてその一部を使う
それが現実的な考え方
Name_Not_Found [] 2020/07/01(水) 20:36:34.33:Cw3NETZq
ttps://pastebin.com/ETHMjGbq

init()を定義しているのにinit()が無いとエラーを吐かれます。
何か書き方が間違っているのでしょうか?
Name_Not_Found [sage] 2020/07/01(水) 21:50:15.91ID:???
よう分からんがとりあえず下の記述が怪しい感じ

ctx.font = "16px 'MS Pゴシック'");
ctx.fillStyle = fillcolor[movtble[id][dir]];
Name_Not_Found [] 2020/07/01(水) 23:56:03.05:f8DMACrG

慣れると意外と簡単なんだけどな
00年代前半にJSやFlashで狂ったように色々作った思い出
125 [sage] 2020/07/02(木) 08:05:32.53ID:???

直した
ttp://https://jsbin.com/bohodolopi/1/edit?html,console,output

余計なアドバイスかもしれないけど使ってるエディタとか選んだほうが良いと思う
VSCode に貼り付けるだけで以下のが全部エラー行として出力されてた

直した箇所
 ・script タグ直下の <!-- を削除
 ・/script タグ真上の --> を削除
 ・38行目の "16px 'MS Pゴシック'"); の不要な ) を削除
 ・54行目の movtble を movtbl に修正
140 [sage] 2020/07/02(木) 09:34:47.01ID:???

Drag and Drop Sortable Lists in Ruby on Rails
ttp://https://www.youtube.com/watch?v=r884jAqAbHY

この外人は、Railsで、Sortable, Stimulus を使っている
Name_Not_Found [sage] 2020/07/02(木) 12:45:28.08ID:???

1. doctypeがない
2. meta charsetは意味がないので書かないこと
3. scriptの中の!----は意味がないので書かないこと
4. エラーは全部読んで最初のものから対処すること
5. ctx.font = "16px 'MS Pゴシック'"); の)はミス

initを定義しているのに、initが無いとエラーを吐かれる

initを定義しているつもりだけどできていない

構文ミスでパースエラーになっている

こう考えないとデバッグは進まない
その前にエラーを全部読めというのは言うのもおこがましいが
Name_Not_Found [sage] 2020/07/02(木) 14:03:54.45ID:???
この将棋のコード以前にも見たけど何かの本に載ってるのかな?
だとしたらもう少しまともなコードが載ってる本を選んだほうがいいと思うぞ
Name_Not_Found [sage] 2020/07/02(木) 14:36:49.59ID:???
Intersection Observerについて
•交差ルートのあふれた部分が切り取られていた場合、ルート交差矩形はルート要素のコンテンツ領域になります。
•それ以外の場合は、ルート交差矩形は交差ルートのクライアント矩形 (getBoundingClientRect() を呼び出して返されるもの) です。

とあるが、クリップした途端コンテンツ領域になってボーダーその他は無視されるの?なんで?
あとルートの親要素によってルートがクリップされているかは考慮しないの?
Name_Not_Found [] 2020/07/02(木) 19:07:29.72:avuw5sLM

ありがとうございます。
タイプ間違いがそこにあったのですね。
お手数をおかけしました。


デバッグの方法教えて頂きありがとうございます。
firefoxのデバックモード(F12)ではinit()が定義されてないとしかエラーがなかったので
助かります。


日経ソフトウェア編
いろいろ動かしながら学ぶ!プログラミング入門という本に書かれています。
Name_Not_Found [sage] 2020/07/02(木) 19:51:25.18ID:???
FirefoxでもChromeでもinitが無いだけじゃなくて
Uncaught SyntaxError: unexpected token: ')'
エラーも出るよ?
Name_Not_Found [sage] 2020/07/02(木) 20:58:34.51ID:???

ttps://momdo.github.io/html/semantics.html#charset
>HTML文書がBOMで開始せず、かつそのエンコーディングがContent-Typeメタデータによって
>明示的に指定されず、かつ文書がiframe srcdoc文書でない場合、エンコーディングは
>charset属性をもつmeta要素、またはエンコーディング宣言状態のhttp-equiv属性をもつ
>meta要素を使用して指定されなければならない。

「meta charsetは意味がないので書かないこと」とか、なにオレオレルール語ってんだよこのど素人が
Name_Not_Found [sage] 2020/07/02(木) 22:49:52.32ID:???

そこに書いてあるとおりだが?
あっても無くてもutf-8として解釈されるのだから文字通り書く意味がないだろう
こだわりで潔癖なHTMLを書きたいのなら止めないから君だけでやれ

君はまずを読むこと
・回答には多様性があります。他人の回答を尊重してください
自分が人と違う意見を持つなら質問者に自分なりにレスしてやりなよ
俺に煽りレスを飛ばしてどうなる?何がしたいんだ?
Name_Not_Found [sage] 2020/07/02(木) 23:18:34.85ID:???
俺は書くぞ
Name_Not_Found [sage] 2020/07/03(金) 00:14:40.47ID:???

Encoding標準は、UTF-8文字エンコーディングの使用を要求し、それを識別するために"utf-8"エンコーディングラベルの仕様を要求する。
とあるだろ

「UTF-8以外ダメなら書く必要がないからといって、じゃあ書かなくていいよねって
解釈してはいけません。絶対に書きなさい」
がルールだ

お前がルール違反上等だからといって、他人にすすめるな
Name_Not_Found [sage] 2020/07/03(金) 01:27:29.30ID:???

> あっても無くてもutf-8として解釈されるのだから文字通り書く意味がないだろう

あっても無くてもutf-8として解釈されるのは誰が決めたの?
お前のオレオレルールの紹介はしなくていい。
Name_Not_Found [sage] 2020/07/03(金) 01:28:49.27ID:???
正直、俺が持ってるブラウザはUTF-8として解釈されるんだから
世界中のブラウザは古いもの含めてぜんぶそうなってる!
俺が証拠!
っていいはるやつは馬鹿だと思う
Name_Not_Found [sage] 2020/07/03(金) 07:16:27.85ID:???

大前提として、俺がどう勧めるのかは俺の権利でありが決めることであって君に制限されることではない
そして、WHATWGは法律ではなくWeb制作にそこに従わないといけないという免許がいる訳でもない

WHATWGの仕様は過去の仕様の寄せ集めであり、未来の「Webのこうあるべき姿」も含まれているが、
基本的には現在のデファクトをそれとなく反映させた、現在のWebの姿を反映させものであり、
どうして近年utf8で行くことを決めて、書いても書かなくてもutf-8としたのに、
書くことを強いているのかというと、正しく認識できない環境があり得るから

だが俺はそんな環境は淘汰されるべきで、utf8で統一しようという動きを個人的に強く応援しているから
あえて書かないようにしようと事ある毎に布教して回っているわけ
だけどもそれは、Webはみんなで作るものであり、逆に言うとみんなが作ったものがWebになって責任が生じる
未来のより良いWebを作っていくための俺なりの良心で言っていること

ルール、ルールというが、この部分は明らかに将来無くなる記述なの
俺はWHATWGに書かれている文字一語一句にしたがって、
明日WHATWGが書き換えられたら急に方針転換するのはおかしいと思うから
俺なりのやり方と良心でWebをどう作っていくべきかを人に教える

それは俺の権利であって、他人にとやかく言われることではない
君が今Webはなぜそうなっているかも、これからWebをどうしていきたいかもどうでもよくて
Web制作はただ書かれている文字に従って作るべきだと思っているのなら、そう人に勧めたらいいだけ
125 [sage] 2020/07/03(金) 07:43:56.96ID:???
SEO 的に意味が無いから lang 属性は書かない、みたいな記事は見たことがあったけど、
charset 属性 を省略するっていう意見はここで初めて読んだ。

個人的には"書かなくて済むものは書かない"っていう考え方は理解できるけど、
MDN のこの記事では charset 属性を使用して文字エンコーディングを明確にすることを強く推奨しているね。
ttp://https://developer.mozilla.org/ja/docs/Web/HTML/Element/meta

以下引用 (改行は加えている)
この属性を使用して文字エンコーディングを定義することを強く推奨します。
ページで文字エンコーディングを定義しない場合は UTF-7 fallback cross-scripting technique のような、
ページの利用者を攻撃するクロスサイトスクリプティング手法が実現する可能性があります。


可能性がある、っていうだけで実証されたのかは知らないけど、
charset="utf-8" 書いておくだけでこういう危険性が排除できるのなら、自分はしばらくは書いておこうとは思った。
Name_Not_Found [sage] 2020/07/03(金) 09:32:02.66ID:???
lang, charset が無いと、スペイン語を中国語へ翻訳しますか?
などが表示されて、言語判定を間違う

最初の数十文字で、言語を判定するから、
複数言語に該当する場合は、誤判定してしまう
Name_Not_Found [sage] 2020/07/03(金) 10:38:10.80ID:???
誤判定するのはブラウザが悪い
そういうブラウザを使ってる人はサイト見るのお断りって言えばいいだけ
SEOもGoogleだけでいいし、Googleがちゃんと読み取れなければ
Googleが悪いってだけ
Name_Not_Found [sage] 2020/07/03(金) 12:34:45.44ID:???
今のHTML仕様ってどんなときでも書かないといけないタグはない
だけどtitleタグのように実質必須とされてるものは多い
だけどそれを書かないことも多い

初心者に仙人になる事を求めるのは間違い
仙人になる人は勝手に仙人になる
ここでは所謂常識を教えたほうがいい
Name_Not_Found [sage] 2020/07/03(金) 15:39:36.04ID:???
日本語のページなのにポルトガル語判定されて日本語に翻訳しますか?って聞かれるサイト多いよなwww
Name_Not_Found [sage] 2020/07/03(金) 18:28:58.84ID:???
cssの:hoverによって要素が変化したことを検知するにはどうやるんでしたっけ?
Name_Not_Found [sage] 2020/07/03(金) 21:40:01.30ID:???

IEでは再現可能
ターゲットサイトにutf7で読んだときにスクリプトタグとなる文字列を埋め込むことができれば
utf7指定された攻撃者サイトを踏ませることで
そこに埋め込まれているiframe先のターゲットサイトもutf7と解釈させて
任意のスクリプトを実行することが可能になる
Name_Not_Found [sage] 2020/07/04(土) 04:15:12.77ID:???
新edgeってwin7や8.1にも自動配信されるんだな
IEサポートする理由がまた一つ減るのは有難い
Name_Not_Found [sage] 2020/07/04(土) 10:38:30.16ID:???
scriptタグにtype='text/javascript'とかcharset='utf-8'とかつけてるなら、
いい加減無駄だからやめとけというけどね

つーか、納品前にクライアントから入れといてと渡される計測用タグや全社共通フッター挿入コード
いまだにscriptの中身<!-- -->で囲んでたり、document.write使ってたりで
いい加減やめてほしいんですけど
Name_Not_Found [sage] 2020/07/04(土) 10:49:34.10ID:???
scriptタグ内の<!-- -->ってどういう意味があるの?
過去のバッドノウハウ的な感じですか?
Name_Not_Found [sage] 2020/07/04(土) 11:43:33.65ID:???

ttp://http://www.tohoho-web.com/js/oldstyle.htm
Name_Not_Found [sage] 2020/07/04(土) 12:39:16.45ID:???

テキストビューアに近いような貧相なブラウザで内容が表示されないようにするため
Name_Not_Found [sage] 2020/07/04(土) 12:40:47.34ID:???

ありがとうございます
Name_Not_Found [sage] 2020/07/04(土) 16:18:53.28ID:???

それは発注先を選ぶ段階での間違いなのでは…
Name_Not_Found [sage] 2020/07/06(月) 04:20:26.48ID:???
ResizeObserverの実装状況がよろしくないので自力で組むんだが、
変化を検知する為にどのイベントをリスナーすべきか。
"resize"は当然として他に見ておくべきイベントは?
Name_Not_Found [sage] 2020/07/06(月) 06:46:38.95ID:???
youtube_dlはfirefoxのアドオンに使えるんですかね
既存のアドオンがどうしてるのかわからんですが
Name_Not_Found [sage] 2020/07/06(月) 09:26:27.17ID:???
コマンドラインのツールをfirefoxのアドオンって一体何言ってるの?
しかも激しくスレチじゃね??
Name_Not_Found [sage] 2020/07/06(月) 13:01:09.98ID:???
動画ダウンロードはどうするのかなと
Name_Not_Found [sage] 2020/07/06(月) 15:35:14.13ID:???
firefoxにダウンロード機能があるんですかね。
Name_Not_Found [sage] 2020/07/06(月) 18:19:38.29ID:???

既存のpolyfillがすでにあるのに自分で書くってことは、それらは試した後で、
不満な点や改良すべき点もはっきりしてるものではないのか?
Name_Not_Found [sage] 2020/07/06(月) 18:25:47.57ID:???

firefoxスレで聞いてこいよガイジ
Name_Not_Found [sage] 2020/07/07(火) 11:20:32.64ID:???

React などの仮想DOM なら、差分更新も自動

元の配列を浅くコピーして、
コピーした配列を変更して、setState で設定するだけ

これだけで、元の配列との差分を把握して、自動更新する

浅いコピーだから、変更していない要素には、コピーは作られていない
Name_Not_Found [sage] 2020/07/07(火) 16:12:28.35ID:???

ポリフィルはmouse,key,animation,transition、Mutationまでがっつり監視しているが、
実際問題ここまでイベント監視したら監視コストが高く付くのでは?という疑問。
特にbodyに対してMutation噛ませるのは監視コールバック発火しっ放しになるのではないか。
Name_Not_Found [sage] 2020/07/07(火) 19:00:39.33ID:???
ポリフィルってそんなもんだよね
だからNativeで実装されてるんで
Name_Not_Found [sage] 2020/07/07(火) 19:43:44.98ID:???
基本必要だから監視してると思うけどなあ
ユースケースを限定できるなら話は別だけど
Name_Not_Found [sage] 2020/07/07(火) 22:27:57.02ID:???
nvm と n 
ならどっちが良いですか?
Name_Not_Found [sage] 2020/07/07(火) 22:56:26.70ID:???
俺むかしにnodebrewにしちゃってそのまんまなんだよなぁ。
今後のメンテ続くか心配…
ド素人が書いたnvm→nodebrew乗り換え記事なんて参考にせずずっとnvm使い続けりゃよかった…
Name_Not_Found [sage] 2020/07/08(水) 00:06:08.01ID:???
俺もずっとnodebrewで特に困ってないんだけど
nvmの方がいいのん?
Name_Not_Found [] 2020/07/08(水) 11:17:48.58:n7GNmSv7
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う

Windows側からのブラウザアクセスは、
VSCodeの拡張機能・open in browser ではローカルファイルアクセスとなるので制限されるが、
VSCodeの拡張機能・Live Server では、サーバーを立ててのアクセスとなるので制限されない

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある

NVM, n などの個別ツールを選んだ場合、各言語での使用方法が異なるので、面倒くさい
Name_Not_Found [sage] 2020/07/08(水) 12:54:05.97ID:???
フラグ設定メニューからは消えたように見えるけど
実際は別にサーバー立てなくても
起動フラグ指定すればローカルファイルアクセスできる
Name_Not_Found [] 2020/07/09(木) 16:26:24.07:Hxa+89d6
DOM操作しているロジックで
以下のようなロジックがあり、
srcElementにはボタン属性が入るんですが、
.extractionとは何でしょうか
if (! srcElement.extraction)
{
element.style.height = "auto";
element.style.overflow = "visible";
srcElement.value = "スクロールあり";
srcElement.extraction = true;
} else
{
element.style.height = getDisplayAreaHeight();
element.style.overflow = "scroll";
srcElement.value = "スクロールなし";
srcElement.extraction = false;
}
Name_Not_Found [sage] 2020/07/09(木) 16:46:51.97ID:???
srcElementにボタン属性を入れてるコードを出せ
Name_Not_Found [sage] 2020/07/09(木) 18:08:34.45ID:???

ボタン要素にextractionなんてプロパティないから独自に追加してるんじゃない?

コードを見る限りそのコードを通るたびにトグルさせるフラグ
extractionにどういう意味を込めたかったのかは書いた人じゃないとわからない
Name_Not_Found [sage] 2020/07/09(木) 19:06:49.62ID:???
definePropertyじゃねえの?
Name_Not_Found [sage] 2020/07/09(木) 22:53:57.29ID:???
>>.extractionとは何でしょうか
見ての通り、フラグです。

というか人の書いたコードの意味を聞くのは間違っています
自分で見て理解できないものを人から聞いて理解できるわけがないからです
Name_Not_Found [sage] 2020/07/10(金) 05:14:37.89ID:???
そもそも、DOM を操作しているソースコードがあっても、
元々のソースコードを、React, Vue.js などのフレームワークで作っているかも知れないので、
変換後のソースコードを見ても、意味が分からないと思う

直接プログラマーが書いたソースコードを、確実に入手する必要がある

まず、こういうサイトにURL を入力して、そのページが使っている技術を分析すべき
ttp://https://builtwith.com/ja/
Name_Not_Found [sage] 2020/07/10(金) 06:54:50.26ID:???
フラグを使ったことがあればひと目でフラグだと分かるし
使ったことがなければ端的に説明されても理解できないだろう
そういう問題だと思う
Name_Not_Found [sage] 2020/07/10(金) 08:39:49.07ID:???
webpackで取り込んだFont awesomeのアイコンを疑似要素で表示する方法ありますか?
ググっても全く出てきませんです
Name_Not_Found [sage] 2020/07/10(金) 08:43:26.03ID:???

画像ソースの場所はわかるんだから
それを使えばいいじゃない

そんでそれはJSではなくCSSの話だからスレ違いだね
Name_Not_Found [sage] 2020/07/10(金) 09:07:21.61ID:???
ttp://https://ideone.com/0fWamo
firefoxアドオンを作成しています
ポップアップメニューにアラートが出ないんですが、こういう設定ではだめなんでしょうか?
htmlとjsファイルは同じフォルダにおいています。
こういう場合の原因の特定方法を教えて下さい。
Name_Not_Found [] 2020/07/10(金) 10:54:28.03:ZPqjvtbH
フラグというのですね、ありがとうございました。
一般的なフラグというのはしっていますが、
Javascriptでは使ったことがありません。
extractionを文字列検索しても出てこなかったので
なぜかと思っていたのですが、
変換後のソースコードでは出ない場合もあるのですね
勉強になりました。
Name_Not_Found [sage] 2020/07/10(金) 12:01:03.10ID:???

インラインスクリプトは禁止されてるのでonclick属性に書くのもだめ
popup.js側でイベントハンドラ仕込んでね
Name_Not_Found [sage] 2020/07/10(金) 13:21:18.71ID:???
禁止なんかされてないし
書き方としてもreactのJSXやsvelteなんかでは普通にインラインスタイル
Name_Not_Found [sage] 2020/07/10(金) 13:35:57.35ID:???

知らんのに無理すんな
Name_Not_Found [sage] 2020/07/10(金) 15:51:04.52ID:???

イベントリスナーのことですか?onclickもインラインになるんですかね。
Name_Not_Found [sage] 2020/07/10(金) 19:37:23.40ID:???
そう書いてあるじゃん
Name_Not_Found [sage] 2020/07/10(金) 21:32:53.94ID:???
リファレンス読まない人は滅びいていいと思うの
ttp://https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy#Inline_JavaScript
Name_Not_Found [sage] 2020/07/10(金) 21:42:49.27ID:???
リファレンスどころか常識でしょ
WebAPIとブラウザの歴史は一通り勉強しないと
Name_Not_Found [sage] 2020/07/10(金) 21:49:37.37ID:???
リファレンスどころかすら読めてなくてオウム返ししてるからねw
Name_Not_Found [sage] 2020/07/10(金) 22:24:59.22ID:???

WebExtensionの話してるんだけどw
君もリファレンス読まない(もしくは読めない)タイプだね


onclickについては擁護しようがないが
イベントハンドラとイベントリスナーが同じかどうかを聞き返すのは別にそれほど不思議じゃない
その2つを区別する言語もあるし、JSでも呼び分けてる人がいるかもしれない
それにaddEventListener()だからイベントリスナーって用語のほうがわかりやすいんでしょ
Name_Not_Found [sage] 2020/07/11(土) 00:24:40.36ID:???
皆様はリファレンス読み終わるのにどれくらいかかりましたか?最近勉強を始めた自分は膨大な量があって挫けそう
Name_Not_Found [sage] 2020/07/11(土) 00:38:56.68ID:???
一挙に読み切るようなものじゃない
疑問が出たり問題に直面したら都度読む癖をつける
後は電車の中とか飯食ってる時とかいつでもいいからちょくちょく見とけば良い

試行錯誤してそれでも解決できなければここで聞けばいい
質問するにしても自分がやろうとしてることとか試したことを書いた上で質問すべきだけどね
ttp://https://www.ranvis.com/articles/smart-questions.ja.html
Name_Not_Found [sage] 2020/07/11(土) 05:45:55.10ID:???

ttp://https://www.sejuku.net/blog/61631
どうやってonclickなしでクリックを検知するんでしょうか。
ボタンのidを取得していますが。
Name_Not_Found [sage] 2020/07/11(土) 05:52:24.76ID:???
ポップアップメニューでクリックして、コンソールにメッセージ表示をしたいです
しかし、コンテンツ部分とポップアップ部分では、コンソールが別なんですよね?
Name_Not_Found [sage] 2020/07/11(土) 07:53:20.52ID:???

どういうことができるのか、どういうことができないのかだけを知っておけばいい
どうやって使うかはその都度調べればいい
関心を持っていて日々色々なニュースを収集してWebを追っていれば自ずと
こういうことはこういうリファレンスにこういう記述があるはずだという目星がつくようになる
そのうちリファレンス自体も、はっきり記憶していなくともこういうリファレンスがあるはずだという目星がつく
そうなると困らない
Name_Not_Found [sage] 2020/07/11(土) 09:55:16.45ID:???
jQueryでイベントリスナの登録
ttp://https://qiita.com/takahiro_itazuri/items/8d7375576323b49dd4b7

こういうように、HTML に書かないで、
<input type="text" id="mytextbox" onchange="myfunc()">

HTML をこう書いて、
<input type="text" id="mytextbox">

DOM が読み込まれた後に、#mytextbox 要素に対して、
jQuery でイベントリスナーを登録することもできる
$('#mytextbox').on('change', function() { 処理 });
Name_Not_Found [sage] 2020/07/11(土) 09:58:40.00ID:???
addEventLiptener とかモダンなjs でできるのになんでjquery使うんですか
Name_Not_Found [sage] 2020/07/11(土) 10:05:50.77ID:???
紅茶かな?
Name_Not_Found [sage] 2020/07/11(土) 10:08:42.97ID:???
開発コストが減るから
jQueryを使うと半分〜1/3以下のコード量で同じことが実現できる

できるできないの話をするなら、九州から青森にだって徒歩でいけるよ
なんで徒歩でいけるのに飛行機なんか使うんですかって言ったらバカだろう?
Name_Not_Found [sage] 2020/07/11(土) 10:33:17.13ID:???
さすが、一般人は車で十分なのに飛行機を所有するような人が言うことは違う
Name_Not_Found [sage] 2020/07/11(土) 10:33:46.84ID:???

ベントリスナーを使う方法の所に書いてあるでしょ
document.getElementById("downloadbutton").addEventListener("click", myfunc);
絶対に1つしかイベント登録しないというなら
document.getElementById("downloadbutton").onclick = myfunc;
でもいいけど

browser_actionやバックグラウンドスクリプトのconsole.〜が表示されるのは
about:debuggingにある個別の拡張の調査から開くコンソールかctrl+shift+jの方のブラウザコンソール
Name_Not_Found [sage] 2020/07/11(土) 11:35:16.97ID:???
時間を無駄に使ってもそれ相応の価値があるなら良いと思うけど
そんな価値ないだろうけど
Name_Not_Found [sage] 2020/07/11(土) 11:53:01.55ID:???

どうもです
Name_Not_Found [sage] 2020/07/11(土) 11:59:40.02ID:???

飛行機は場所を取るとか金がかかるという話であれば
jQueryにはまったく当てはまらないので、それは的外れですよw
Name_Not_Found [sage] 2020/07/11(土) 12:01:10.93ID:???
要は例えがまずかったんだな
Name_Not_Found [sage] 2020/07/11(土) 12:05:14.37ID:???
一般的に短いサンプルであればjQueryを使っても
対して短くなってないように見えますが、

それでもこれが
document.getElementById("downloadbutton").addEventListener("click", myfunc);

このように短くなる上に
$("#downloadbutton").click(myfunc);

複数のクラスに割り当てる場合でも量が変わらず
$(".downloadbutton").click(myfunc);

動的に要素が増えたりする場合でも短くかけるわけです。
$(document).on("click", ".downloadbutton", myfunc);

コードの量が多くなればなるほど
jQueryの恩恵は大きくなります。
Name_Not_Found [sage] 2020/07/11(土) 12:06:57.41ID:???

例えっていうのは、わかりやすく伝えるために使うもの
否定するときに使うものじゃないんだよ
否定の用途に使うと必ず、まずい点を指摘されることになる。
Name_Not_Found [sage] 2020/07/11(土) 12:34:54.39ID:???
短くなれば可読性が向上するっていうもんでもないし、querySelector() もある。
今から何か作ろうっていう時に今更 jQuery を採用しようとは思わないわ。
bootstrap とか使うなら仕方なく入れるだろうけど bootstrap5 からは jQuery 不要になるし。
Name_Not_Found [sage] 2020/07/11(土) 12:36:56.86ID:???

短くないけどjQueryを使わないほうが可読性が高いコードの例を一つでも上げられますか?
それができないとただの机上の空論ですよ。
Name_Not_Found [sage] 2020/07/11(土) 12:53:43.28ID:???
jquery馴染みない自分は可読性でもaddEvntListenerの優位あるし多少の文字数などideの補完でチャラでさ
Name_Not_Found [sage] 2020/07/11(土) 12:54:34.42ID:???
ネイティブの js の方が可読性が高いなんて一言も書いてないけど
自分なら今更使わない、っていう一意見。

$('#downloadbtn').click(func);

const dlbtn = document.querySelector('#downloadbtn');
dlbtn.addEventListener('click', func);

どちらで書かれていようが可読性に言及するほどの違いなんて自分にとっては出ていないっていうね
この程度の差で可読性ガーなんて言い出したらそもそも根本的に読む力が無さすぎると思うわ

言ってしまえばただの個人の好き嫌いレベル
短い方が好きなら jQuery の方が好きだろうし、そうでなければ行を分けて説明的に記述できるネイティブの方が好き、程度の話。

まぁ jQuery おじさんは「1行で書けるものが2行になってる!可読性が!」とか騒ぎだすんだろうけど正直ただの好き嫌いの下らない話だからどうでもいい。
勝手にしてくれ。
Name_Not_Found [sage] 2020/07/11(土) 12:57:02.54ID:???
jQuery 3.5 でも、ソースコードを読むと、
addEventListener, attachEvent の両方に対応している

これを、addEventListener で書くと、attachEvent に対応できない
Name_Not_Found [sage] 2020/07/11(土) 13:02:02.15ID:???
$は別の変数が使用しているので
jQueryはどいて下さい
Name_Not_Found [sage] 2020/07/11(土) 13:02:38.53ID:???

バグが有る。
もしdownloadbtnがない場合はエラーになる
そういった所までちゃんと書くように
Name_Not_Found [sage] 2020/07/11(土) 13:03:32.20ID:???

$.noConflict();を使えばいいだけでは?
Name_Not_Found [sage] 2020/07/11(土) 13:06:17.03ID:???
jquery「俺はどかない」
Name_Not_Found [sage] 2020/07/11(土) 13:08:04.44ID:???
HTMLスレ荒してたjQueryおじさんに火が付き始めたか?ww
Name_Not_Found [sage] 2020/07/11(土) 13:08:22.15ID:???

どちらも差がないなら、わずかに優位なjQuery一択では?w
Name_Not_Found [sage] 2020/07/11(土) 13:10:51.39ID:???

優位もクソも無いでしょ
自分からすればわざわざ導入して帯域やリソース消費する時点で±0
結局好き嫌いレベルの話しか出来ないのねw
Name_Not_Found [sage] 2020/07/11(土) 13:16:02.64ID:???

その理屈だとjQueryよりも重いJavaScriptフレームワークは使えませんね
Name_Not_Found [sage] 2020/07/11(土) 13:16:46.82ID:???
帯域やリソース消費するよりも
自分が仕事でつかれる方を選ぶって
社畜だと思うw
Name_Not_Found [sage] 2020/07/11(土) 13:19:05.78ID:???
間違いなくjqueryには帯域やリソースを消費する価値は無いだろうね
他のフレームワークと同列に語る方がおかしい
Name_Not_Found [sage] 2020/07/11(土) 13:21:14.72ID:???

ネイティブのjs書いて疲れるってレベルひっくいなjQueryおじさんwww
Name_Not_Found [sage] 2020/07/11(土) 13:26:29.37ID:???
今度はこのスレで始めるのか
Name_Not_Found [sage] 2020/07/11(土) 13:43:00.32ID:???

疲れるじゃんんw
何度も同じようなループを書いて
結局オレオレライブラリを作ることになるんだろう?
Name_Not_Found [sage] 2020/07/11(土) 13:49:57.55ID:???
質問者はブラウザ拡張作ろうとしてるんだからWebページ以上にリソース消費には気を使った方がいいと思うがね
Name_Not_Found [sage] 2020/07/11(土) 14:04:31.41ID:???
どっちかに偏った思考しかできない時点で
どっちもどっち

レベルの低い三流同士の言い争い
Name_Not_Found [sage] 2020/07/11(土) 14:04:32.88ID:???
$('hoge')おじさんは今度はここに生まれたの?
Name_Not_Found [sage] 2020/07/11(土) 14:09:16.15ID:???

流れ的にjquery厨が突っかかってるだけだけどね
Name_Not_Found [sage] 2020/07/11(土) 14:30:02.26ID:???
bootstrapまで脱jqueryして開発者どもがお祝いまでしてたからイライラしてんだろ。察してやれwww
Name_Not_Found [sage] 2020/07/11(土) 14:34:19.02ID:???
歴史はは繰り返すなあ
00年台前半も若い子が
jQなどの台頭してきたライブラリを使わないおじさんをディスってた

またしばらくしたら
今ディスってる子たちがおっさんになって
馬鹿にされる側になるんだなあ

世の中おもしろい
Name_Not_Found [sage] 2020/07/11(土) 14:39:27.92ID:???
人は過ちを繰り返す
Name_Not_Found [sage] 2020/07/11(土) 16:07:21.10ID:???
現実 なんで今年になってからjQueryのシェアの増加が加速したんでしょうかね
ttp://https://w3techs.com/technologies/history_overview/javascript_library/all/y

2011年1月 28.3%
2012年1月 42.8%
2013年1月 54.5%
2014年1月 57.4%
2015年1月 61.5%
2016年1月 68.3%
2017年1月 71.9%
2018年1月 73.1%
2019年1月 73.6%
2020年1月 74.2%
2020年7月 76.0%
Name_Not_Found [sage] 2020/07/11(土) 16:40:14.24ID:???
wordpressがデフォで差し込んでるからだね。
wordpress凄いなぁwww
Name_Not_Found [sage] 2020/07/11(土) 16:41:50.72ID:???
これで加速してるの?
Name_Not_Found [sage] 2020/07/11(土) 16:44:33.64ID:???

bootstrapを理由にするのやめたの?

まあ確かにbootstrapが0.9%しか増えてないのに
倍のjQueryは1.8%も増えてるしね

wordpress?wordpressは0.2%しか増えてないよ。
ttp://https://w3techs.com/technologies/history_overview/content_management/all

つまり最低でも0.7%はjQueryのみのシェアが増えたってことだね
Name_Not_Found [sage] 2020/07/11(土) 16:45:05.61ID:???

その他見てみ。
0.1%ですら増えてない
Name_Not_Found [sage] 2020/07/11(土) 17:35:18.18ID:???
見てるサイトでDOMセレクトしてみたりするときjQuery入ってりゃ使うんだが
最近$でもjQueryでも出てこないサイトに当たることが昔に比べたらすごく多くなった。
少なくとも右肩上がりで増えてる実感がまったくないんだけど は本当にどういうカラクリなんだ?
Methodologyの説明ページとかないの?
Name_Not_Found [sage] 2020/07/11(土) 18:22:24.61ID:???
すごい謎だな

イメージ的にはjQueryは2013~14年頃がピークでES6以降は減ってると思ってた
PC向けのサイトだと使わないところは確実に増えてる

top 10mに入るモバイルサイトが増えて
モバイルだとjQueryの使用率が高いとかならまあ納得はできるが自分の感覚とは全く異なる

それにその統計だとバージョン2, 3を使ってるところが少なくて大半がバージョン1
バージョン1使うってIE対応だよね?
Name_Not_Found [sage] 2020/07/11(土) 18:47:37.65ID:???
近年のネット社会で初心者が増えたということではなかろうか?
かくいう私も初心者で、なんかよくjqueryを勧められる
Name_Not_Found [sage] 2020/07/11(土) 18:47:55.21ID:???
IE11のサポートはWindows 10の一般向けで2025年まで。企業向けだと2029年まで。
機能に違いがないのにあえて旧ブラウザ切り捨て版を使う意味ないやろ?
ttp://https://www.atmarkit.co.jp/ait/articles/1503/11/news134.html
Name_Not_Found [sage] 2020/07/11(土) 21:25:31.51ID:???
jQuery公式に言ってやれよ
というかIE11は3系で問題ないやろ
Name_Not_Found [sage] 2020/07/11(土) 22:10:04.13ID:???
ゴミ糞アフィサイトを自動量産しているからだよ
毎日数万のサイトを生成してるから相対的に増えている
Name_Not_Found [sage] 2020/07/11(土) 22:20:44.69ID:???
ttp://https://w3techs.com/technologies/details/js-jquery
これみるとバージョン3は11.5%のようだ
Name_Not_Found [sage] 2020/07/11(土) 22:41:44.01ID:???

attachEventってIE8までだろ
そりゃそんなもんに対応せざるを得ない状況なら、誰だってjQuery使うでしょ
それくらいしか価値がないんだから
Name_Not_Found [sage] 2020/07/11(土) 22:49:06.92ID:???
いやjQueryの価値は、複数(0個以上)の要素に対して
CSSと同じようにあってもなくても宣言的に処理を適用できるという
ウェブ技術との相性の良さだよ
Name_Not_Found [sage] 2020/07/11(土) 22:58:13.08ID:???
JSもoptional chainingできるようになったから
Name_Not_Found [sage] 2020/07/12(日) 02:18:51.00ID:???

対応してないブラウザへの対応は?
ほらjQuery使った方が楽でしょ?
Name_Not_Found [sage] 2020/07/12(日) 03:20:28.72ID:???
まだやってんのかよw
Name_Not_Found [sage] 2020/07/12(日) 08:18:29.11ID:???
jQueryのAPIモデルってなんであんなに聳え立つゴミなの?
これ見てやべぇと思えない奴はプログラマとしてのセンスが終わってるよね
Name_Not_Found [sage] 2020/07/12(日) 08:52:22.35ID:???

babel
Name_Not_Found [sage] 2020/07/12(日) 09:32:01.14ID:???
コードも脳もjQueryに依存してるようなやつと
babelやTypeScriptを使いこなしてるようなやつとは
作ってるものも違えば技術者としてのレイヤーも違うから
まともに相手したところで不毛だよ

jQuery自体が悪いわけじゃない
Name_Not_Found [sage] 2020/07/12(日) 10:22:09.53ID:???
そもそも当然の如くIE対応する空気じゃなくなって来てる
顧客が希望するなら応相談ってトコでしょ
Name_Not_Found [sage] 2020/07/12(日) 11:39:20.51ID:???

両方やってる人が多き気がするんだがなあ

書く人の1番のボリューム層って
腐るほどある請負サイト制作の制作会社社員と
さらにその下請けのフリーランスだと思うけど
好き嫌い言ってられんもん
Name_Not_Found [sage] 2020/07/12(日) 14:59:08.31ID:???

> jQueryのAPIモデルってなんであんなに聳え立つゴミなの?

もともとのDOMのAPI仕様が原因
DOM APIは仮想DOMとかいう仕組みがない
DOM要素を直接操作する。

jQueryはそのDOM要素の直接操作を便利にしただけだから
本質的にはDOM APIと変わらない
全ての欠点はウェブの標準仕様にある
Name_Not_Found [sage] 2020/07/12(日) 15:07:12.78ID:???

> コードも脳もjQueryに依存してるようなやつと
> babelやTypeScriptを使いこなしてるようなやつとは

jQueryはbabelやTypeScriptと一緒に使う
ちゃんとjQueryにもモジュールやビルドに対応する機能が搭載されてる。

ttp://https://github.com/jquery/jquery/blob/master/build/fixtures/README.md

Including jQuery
Browser
・Script tag
・Babel

Browserify/Webpack
・AMD (Asynchronous Module Definition)

Node
Name_Not_Found [sage] 2020/07/12(日) 15:11:48.96ID:???
jQueryおじさんがその辺使いこなしてれば
反応も多少違うんだろうにな
Name_Not_Found [sage] 2020/07/12(日) 16:05:03.85ID:???
普通に使いこなしてるんだが何いってんだ?
Name_Not_Found [sage] 2020/07/12(日) 17:17:57.43ID:???
insertAdjacentHTMLで追加したDOMを消すにはどうしますか?
Name_Not_Found [sage] 2020/07/12(日) 17:52:38.51ID:???

他のDOMと同じく、どうにかやって取得してremoveChildなりで消すだけだろ
つーか、消すかもしれないことがわかってるなら、insertAdjacentHTML使わないで
他の方法にしとけよ
Name_Not_Found [sage] 2020/07/12(日) 18:14:11.07ID:???

DOMっていうかノードでした
消すには普通にremovechildですかね
ではどのメソッドを使えば追加したノードだけを消せますか?
Name_Not_Found [sage] 2020/07/12(日) 19:34:35.78ID:???

それならお前がこうあるべきというDOM API教えてくれ
Name_Not_Found [sage] 2020/07/12(日) 21:19:08.87ID:???
DOMの発祥は町田
Name_Not_Found [sage] 2020/07/12(日) 22:36:13.02ID:???
それはDOMDOMバーガー
Name_Not_Found [sage] 2020/07/12(日) 22:50:50.63ID:???

>ちゃんとjQueryにもモジュールやビルドに対応する機能が搭載されてる

importの書き方をREADMEで紹介すると
対応する機能が搭載されてることになるんだね
さすが自称使いこなしてる人
Name_Not_Found [sage] 2020/07/13(月) 00:58:49.81ID:???

> それならお前がこうあるべきというDOM API教えてくれ

結論を先に言えばjQueryなんだが、
CSSと相性がいい宣言的なAPIであるべき

DOM APIはCSSよりも前にできたのだから仕方ないと思うが
手続き型なんだよ。要素に対して(一つずつ)処理をするしか無い

CSSは例えば。.my-class { color: red } のように宣言的に記述できる。
これは.my-classに該当する要素が0個以上あれば、
それに対してスタイルを適用する。宣言的であるためループなどの処理が存在していない。

jQueryも同等のことが行える。 $(".my-class").style({color: "red"})
これは上記のCSSと同等のことを行う。同じように宣言的でループなどの処理が必要ない。
Name_Not_Found [sage] 2020/07/13(月) 01:00:09.88ID:???

対応する機能が搭載されてるのは事実でしょ?
何がいいたいのかわからん。

お前の論点は対応しているかどうかではなく
その証明方法が論点になってる
Name_Not_Found [sage] 2020/07/13(月) 01:03:13.23ID:???
関数にまとめてるだけ。中でループしてるじゃん。俺でも書けるわそんな関数
Name_Not_Found [sage] 2020/07/13(月) 01:05:35.30ID:???

お前がかけるかどうかは論点ではない。
DOM APIはどうあるべきかと聞かれたから
こうあるべきと答えただけ
論点わかってるか?
Name_Not_Found [sage] 2020/07/13(月) 01:30:09.50ID:???

お前の理想なんかそれこそどうでもいいわ
それが理想だと思うなら、さっさとECMA internationalにproposalあげてこいよ
Name_Not_Found [sage] 2020/07/13(月) 01:37:40.57ID:???

なぜproposalをあげないといけないの?
ライブラリで解決できることでしょう?
Name_Not_Found [sage] 2020/07/13(月) 02:32:26.13ID:???
解決できないよ。ライブラリDOM API呼んでるだけだもん。
せっかくjsは非同期なのに、DOMは同期APIばっかってんで、非同期API検討されてなかったっけ?どうなったんだ?
Name_Not_Found [sage] 2020/07/13(月) 03:33:23.43ID:???
> 解決できないよ。ライブラリDOM API呼んでるだけだもん。

その理屈だとどんなフレームワークもDOM APIを呼んでるだけですね(笑)
一体何がいいたいのでしょうか?
Name_Not_Found [sage] 2020/07/13(月) 06:09:48.80ID:???
jqueryおじさん必死だねぇw
終わっていくものにしがみついてるのって本当にみっともないね
Name_Not_Found [sage] 2020/07/13(月) 07:09:08.69ID:???
とまあこのように「人」についてイチャモンつけることしかできないわけで
まともな議論なんて無理だろうな。あなたがしたい話題は「俺の話」ですか?
Name_Not_Found [sage] 2020/07/13(月) 07:28:49.65ID:???

対応する機能とは何かを説明出来るんだよね?
Name_Not_Found [sage] 2020/07/13(月) 07:40:19.27ID:???

わざわざ導入することの手間と、取り回しの悪さを言ってるんだが
あ、言い訳はしなくていいからね
Name_Not_Found [sage] 2020/07/13(月) 07:46:57.70ID:???

クッソ効いててワロタwww
Name_Not_Found [sage] 2020/07/13(月) 07:51:58.92ID:???

最初に
> jQueryにもモジュールやビルドに対応する機能が搭載されてる
といってリンク出しただろ?

なんですぐ上を読まない?
Name_Not_Found [sage] 2020/07/13(月) 07:51:59.16ID:???
質問者が jquery を採用しているならともかく
「jquery なら〜〜」はただの余計なお世話でしかない
その後も延々とシェアがどうだとかそんなことはこの「質問スレ」で誰も聞いちゃいない

有名な「Rubyガイジ」とさして変わらない害悪さだな
Name_Not_Found [sage] 2020/07/13(月) 07:52:44.43ID:???
>348
> わざわざ導入することの手間と、取り回しの悪さを言ってるんだが

「わざわざ導入することの手間」がどれくらいあるか
知っていて言ってるの?
どんな手間があるのか言ってみてよ
Name_Not_Found [sage] 2020/07/13(月) 08:01:54.92ID:???

jQ専用の質問スレ (ttps://mevius.5ch.net/test/read.cgi/hp/1466750494/) あるのに
わざわざ出張してきてまで「jQなら簡単なのに」
みたいなどうでも良い論点でふっかけてくるからな
マジで老害

ここで騒ぎ立ててないで向こうのスレで2月29日から放置されてる質問に答えてやれよww
Name_Not_Found [sage] 2020/07/13(月) 09:53:35.24ID:???

そうだよ。だからECMAに提案なりしてDOM APIから変えないとライブラリで何やっても無駄。最終的にDOM API呼ぶだけなんだから。頭悪いね。
Name_Not_Found [sage] 2020/07/13(月) 10:02:28.42ID:???
こうあるべきだと思うDOM APIの話と、それを標準仕様にする話は別の話
標準仕様にならなくても、あるべきだDOM APIの話をすることは可能だし
意見があるならばそれに反対することも可能。反対の話は出てないようだが
Name_Not_Found [sage] 2020/07/13(月) 10:04:05.24ID:???

何がいいたいのかわからん時点でもう終わってるから

>jQueryはbabelやTypeScriptと一緒に使う
>ちゃんとjQueryにもモジュールやビルドに対応する機能が搭載されてる。
↑使ってる人は絶対こんなこと言わない
Name_Not_Found [sage] 2020/07/13(月) 10:09:41.44ID:???
> 使ってる人は絶対こんなこと言わない
なぜでしょうか?
Name_Not_Found [sage] 2020/07/13(月) 10:14:51.57ID:???
説明できないのに主張だけするやつが多いなとか
Name_Not_Found [sage] 2020/07/13(月) 10:43:26.24ID:???
Ruby on Rails でも、Node.js が必須

Webpack の薄いラッパー・Webpacker で、
bootstrap は、jquery, popper.js に依存しているから、

yarn add bootstrap jquery popper.js

React + Bootstrap でも同じで、最初からjQuery が入る。
違いは、Reactが仮想DOM で、jQueryが実DOM を更新することだけ

jQueryでの更新のタイミングは、仮想DOM に合わせないといけない。
nextTick とか
Name_Not_Found [sage] 2020/07/13(月) 10:55:55.13ID:???
ガイジ勢ぞろいかよww
Name_Not_Found [sage] 2020/07/13(月) 11:03:18.62ID:???
マウントが目的なので中身は空っぽよ
Name_Not_Found [sage] 2020/07/13(月) 11:06:05.90ID:???
わざわざ出張してまで宣伝しないといけないくらいには下火なんだってことが理解できた
Name_Not_Found [sage] 2020/07/13(月) 12:42:12.78ID:???

そのリンク先の何処に「jQueryの機能」が書いてあるんだ?
ビルドするのに機能とやらが必要なんて初耳だけど
Name_Not_Found [sage] 2020/07/13(月) 12:45:31.53ID:???


例えばこれ

> Babel
> Babel is a next generation JavaScript compiler. One of the features is the ability to use
> ES6/ES2015 modules now, even though browsers do not yet support this feature natively.
>
> import $ from "jquery";

なにも工夫されてないモジュールがこんなふうに読み込めたりしない
読み込めるのはBabelなどに対応する機能がjQueryに実装されているから
Name_Not_Found [sage] 2020/07/13(月) 12:50:03.21ID:???
ソースコードを見てもわかる
ttp://https://code.jquery.com/jquery-3.5.1.js

if ( typeof module === "object" && typeof module.exports === "object" ) {

// For CommonJS and CommonJS-like environments where a proper `window`
// is present, execute the factory and get jQuery.
// For environments that do not have a `window` with a `document`
// (such as Node.js), expose a factory as module.exports.
// This accentuates the need for the creation of a real `window`.
// e.g. var jQuery = require("jquery")(window);
// See ticket #14549 for more info.
module.exports = global.document ?
factory( global, true ) :
function( w ) {
if ( !w.document ) {
throw new Error( "jQuery requires a window with a document" );
}
return factory( w );
};
} else {
factory( global );
}
Name_Not_Found [sage] 2020/07/13(月) 12:50:30.06ID:???
もう一つ

// Register as a named AMD module, since jQuery can be concatenated with other
// files that may use define, but not via a proper concatenation script that
// understands anonymous AMD modules. A named AMD is safest and most robust
// way to register. Lowercase jquery is used because AMD module names are
// derived from file names, and jQuery is normally delivered in a lowercase
// file name. Do this after creating the global so that if an AMD module wants
// to call noConflict to hide this version of jQuery, it will work.

// Note that for maximum portability, libraries that are not jQuery should
// declare themselves as anonymous modules, and avoid setting a global if an
// AMD loader is present. jQuery is a special case. For more information, see
// ttp://https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon

if ( typeof define === "function" && define.amd ) {
define( "jquery", [], function() {
return jQuery;
} );
}
Name_Not_Found [sage] 2020/07/13(月) 13:06:12.28ID:???
よくあるライブラリのようにamdに対応させてあるだけでしょ。で?
Name_Not_Found [sage] 2020/07/13(月) 13:20:02.57ID:???
で?とか言われて困るんだが、じゃあ最初の本題に戻りましょう


> コードも脳もjQueryに依存してるようなやつと
> babelやTypeScriptを使いこなしてるようなやつとは

jQueryはbabelやTypeScriptと一緒に使う
Name_Not_Found [sage] 2020/07/13(月) 13:25:30.07ID:???
anyだらけになりそうだなw
tsの意味ねぇ〜www
Name_Not_Found [sage] 2020/07/13(月) 14:47:45.66ID:???

>読み込めるのはBabelなどに対応する機能がjQueryに実装されているから

Babel関係ないやんwww
それにBabelやES6が出てくるより前の古いjQueryでもimportできるから
Name_Not_Found [sage] 2020/07/13(月) 15:16:02.20ID:???
これで「対応してる」とか「一緒に使う」とか言ってたの?
Name_Not_Found [sage] 2020/07/13(月) 20:19:36.26ID:???
え?一緒に使いますよね?
Name_Not_Found [sage] 2020/07/13(月) 20:19:53.03ID:???
ぐぐって使ってる人もい普通にいますし
Name_Not_Found [sage] 2020/07/13(月) 20:25:02.21ID:???
そうでちゅねー
Name_Not_Found [sage] 2020/07/14(火) 05:37:29.25ID:???

お前がjQueryを作ったわけじゃねえんだから勝手に他人の能力を自分の能力として使うなよガイジ
Name_Not_Found [sage] 2020/07/14(火) 06:09:07.05ID:???
お前がJavaScriptを(以下同文)
Name_Not_Found [sage] 2020/07/14(火) 07:02:38.99ID:???
ReactとかVueも、あれもフレームワークがないと作れないようなのはなくすべきだよな
DOM APIに標準搭載したほうがいい
Name_Not_Found [sage] 2020/07/14(火) 08:36:17.48ID:???
まだやってんの?さっさとかっそ過疎の巣に帰れよjq
Name_Not_Found [sage] 2020/07/14(火) 11:20:39.88ID:???
Ruby on Rails 6 のwebpacker では、
設定ファイル内で、ProvidePlugin を使って、グローバルに定義する

これで、各ファイルに、
import $ from 'jquery'
と書かなくてもよい

$: 'jquery',
'window.$': 'jquery',

jQuery: 'jquery',
'window.jQuery': 'jquery',

_: 'lodash',
'window._': 'lodash',
Name_Not_Found [sage] 2020/07/14(火) 12:45:59.71ID:???
クソどうでもいい
Name_Not_Found [sage] 2020/07/14(火) 14:50:38.48ID:???
snowpackが出たからwebpackはオワコン。
チャンク分けが後付けされたとは言え、基本的にひとつのバンドルにまとめるという思想がhttp1.1時代の時代遅れの化石。
加えて設定APIがクソかつすぐ変わるゴミ。
Name_Not_Found [sage] 2020/07/14(火) 15:36:55.51ID:???
でも最近の納品先、AWS使ってるのがふえてきてるけど、
管理者がぼんくらでHTTP/2有効になってないとこ多いよ
おかげでヘテムルやXserverの安物共用レンサバにパフォーマンスで負けてるの

受託の下請け仕事は、10年前のバックエンド環境でも大丈夫なように作らないとね
いまだにPHP5.2とか使っててのけぞることも年に1回はあるし
Name_Not_Found [sage] 2020/07/14(火) 21:58:41.59ID:???
HTTP/2?
もうHTTP/3の時代だろ
Name_Not_Found [sage] 2020/07/15(水) 01:51:18.68ID:???
WEB2.0
Name_Not_Found [sage] 2020/07/15(水) 03:27:03.98ID:???
ヘテムルやXserverの安物共用レンサバはHTTP/2有効なので
HTTP/2無効のAWSに勝てるといことな

流石にどちらもHTTP/2無効で共用レンサバのほうが
性能がいいってことはありえないw

AWSがどれだけ高いマシン使ってるんだって話だよ
Name_Not_Found [] 2020/07/15(水) 11:49:10.43:MuqDlGGr
自分以外の兄弟要素を取得するにはどうすればいいんでしょうか?
Name_Not_Found [sage] 2020/07/15(水) 12:10:15.56ID:???
$(self).siblings();
Name_Not_Found [sage] 2020/07/15(水) 12:21:57.47ID:???


const brothers = (myself => {
return Array.prototype.filter.call(myself.parentNode.children, b => b !== myself);
})(document.querySelector('#myself'));
Name_Not_Found [sage] 2020/07/15(水) 12:57:27.05ID:???
ありがとうございます^^
Name_Not_Found [sage] 2020/07/15(水) 13:04:00.92ID:???
結局jQuery最強か
Name_Not_Found [sage] 2020/07/15(水) 14:18:32.59ID:???
宣伝ご苦労様です
さっさと巣に帰れ
Name_Not_Found [sage] 2020/07/15(水) 14:30:44.22ID:???
Error: '$' is not defined.
Name_Not_Found [sage] 2020/07/15(水) 15:04:38.63ID:???
bはbrotherのb!

ワロタ
Name_Not_Found [sage] 2020/07/15(水) 15:25:52.95ID:???
VSCodeスレでもjQueryおじさんが害悪扱いされてて草
Name_Not_Found [sage] 2020/07/15(水) 16:50:57.61ID:???
siblingsという一般的な言葉を使わずに
brothersとか使うやつだからなぁ
Name_Not_Found [sage] 2020/07/15(水) 17:02:15.22ID:???
mario siblings
Name_Not_Found [sage] 2020/07/15(水) 17:07:02.31ID:???
プログラムソースにもジェンダー論争入れちゃうの
Name_Not_Found [sage] 2020/07/15(水) 18:16:29.42ID:???
jq害悪さんはしょうもない荒らししか出来なくなってきた?w
もともとしょうもないかw
Name_Not_Found [sage] 2020/07/15(水) 18:21:41.93ID:???
386 名前:Name_Not_Found[] 投稿日:2020/07/15(水) 11:49:10.43 ID:MuqDlGGr
自分以外の兄弟要素を取得するにはどうすればいいんでしょうか?

387 自分:Name_Not_Found[sage] 投稿日:2020/07/15(水) 12:10:15.56 ID:???
$(self).siblings();
Name_Not_Found [sage] 2020/07/15(水) 19:43:49.30ID:???
アロー関数ってスコープが区切られてないんですか?
Name_Not_Found [sage] 2020/07/15(水) 20:06:29.32ID:???

ふつうのfunction関数もアロー関数もスコープは関数スコープとブロックスコープを作るよ。
だから作るスコープの観点では、両者に違いはない。
もし、function関数とアロー関数に構文以上の違いは無いんですかという質問だったなら話は別だが。
Name_Not_Found [sage] 2020/07/15(水) 20:15:14.71ID:???

スコープは一緒なんですか
クラスのメソッドでthis使う時
アローだと関数内で使えてfunctionだとnot definedなるのはなぜですか?
Name_Not_Found [sage] 2020/07/15(水) 20:23:01.70ID:???

意味が分からないのならthisを使うな
ttp://https://blog.uhy.ooo/entry/2020-05-30/this/
Name_Not_Found [sage] 2020/07/15(水) 20:29:12.43ID:???
ww
Name_Not_Found [sage] 2020/07/15(水) 20:44:27.91ID:???

勘違いしがちだけどthisは変数じゃないんだよ
なので変数のスコープと並べて考えちゃいかん

実際むしろ逆で
thisを持つスコープともたないスコープがあるんだが
いきなりそこから理解するのも難しいと思うので

とりあえず最初は、大雑把ですまんが
スコープや状況に応じてバインドされるものが変わるもの
程度に考えてみるのがいいかもしれない

そんでthisを使い倒して理解できた気になったら
改めてECMA Scriptの仕様書を読むと
より深く理解できると思う
Name_Not_Found [sage] 2020/07/15(水) 20:59:32.28ID:???

>5. 変数アクセス・プロパティアクセス以外の方法で得られた関数の場合
>(0, obj.method)(); // true が表示される
>(0, obj.strictMethod)(); // true が表示される

↑この書き方なんなの?
「コンマ演算子を経由することでReferenceではなく値にする」とあるけど??
Name_Not_Found [sage] 2020/07/15(水) 22:01:57.71ID:???

function f() {
console.log('this in f:', this);
}
function g() {
'use strict';
console.log('this in g:', this);
}
f(); //=> this in f: グローバルオブジェクト ( ブラウザ環境なら window )
(0, f)(); //=> this in f: グローバルオブジェクト ( ブラウザ環境なら window )
g(); //=> 'this in g: undefined
(0, g)(); //=> 'this in g: undefined
var obj = {f, g};
obj.f(); //=> this in f: obj
(0, obj.f)(); //=> this in f: グローバルオブジェクト ( ブラウザ環境なら window )
obj.g(); //=> 'this in g: obj
(0, obj.g)(); //=> 'this in g: undefined

ガンマ演算子の神業。
Name_Not_Found [sage] 2020/07/15(水) 22:28:16.78ID:???
カンマ演算子ってminifyしたコードではよく使われてるけど
自分で意識して使ったことなかったわ
Name_Not_Found [sage] 2020/07/15(水) 22:46:13.69ID:???

Reference型はJSの基本中の基本なのでここで抑えとくのが吉

簡単に説明すると、「 . 」演算子はReference型を作る
要するにo={p:42}のとき、o.pが返す値は実は42ではない
o.pはReference型を返す

そのReference型にはどういう情報が含まれているかというと、
oというベースに対してpという値がアクセスされてますよという内容

もしそうなっていないと、
function method(){return this}
obj = {method}
のとき、
methodとobj.methodが区別がつけれなくなる

methodとobj.methodがReference型によって区別がつくようになっているから
method()とobj.method()としたときに
呼ばれる関数はベースをthisとして受け取って振る舞いを変えるといったことが可能になる

そして「 , 」演算子はこのReference型を解決してしまうということ
Name_Not_Found [sage] 2020/07/15(水) 23:12:26.81ID:???
値として観測されると重ね合わせが壊れて情報が失われるってことでしょ?
Name_Not_Found [sage] 2020/07/15(水) 23:16:25.22ID:???

横からだが勉強になった
Name_Not_Found [sage] 2020/07/15(水) 23:32:15.16ID:???
call, apply, bind使った方が万人に意図が明確に示せていいと思う。
Name_Not_Found [sage] 2020/07/16(木) 00:48:08.73ID:???

疑問に思ったのはそこじゃなかったんだが勉強になった

ただthisのbindingを知るという目的だと
コールサイトでのレシーバの有無だけで十分理解できるので
ちょっと実装の詳細に入り込みすぎてる気もした

You don’t know JSでthisのbindルールが
以下の4ルールでまとめられてて個人的にはわかりやすかったかな
1. new binding
2. implicit binding (called with context)
3. explicit binding (call/apply)
4. default binding (global/undefined)
Name_Not_Found [sage] 2020/07/16(木) 00:56:57.90ID:???

thisはすべての関数の引数についていると考えればいいのよ。

ここでいう関数っていうのはfunctionのこと
functionと書いた場合、第ゼロ引数とでも呼ばれるものがあると考えればいい
つまり function foo(this, a, b, c)

で、アロー関数は、function使わないだろ?だから第ゼロ引数のthisは存在しない
Name_Not_Found [sage] 2020/07/16(木) 00:58:08.82ID:???
pythonのメソッド記述方式が正解だったか…
Name_Not_Found [sage] 2020/07/16(木) 01:10:48.50ID:???
pythonは他のいろんな使いづらい点が多いからな
Name_Not_Found [sage] 2020/07/16(木) 09:47:09.85ID:???
可能な限りthisを使わないのが正解
Name_Not_Found [sage] 2020/07/16(木) 10:09:32.79ID:???
めんどうだからといって避けていてよいのだろうか?
Name_Not_Found [sage] 2020/07/16(木) 11:47:32.98ID:???
Ruby は一々、self を渡さなくても良いように、実装で頑張った

JavaScript のthis は、window を指したりする場合があるなど、ややこしいから、
jQuery, Haxe などでは、this の挙動が変えられた
Name_Not_Found [sage] 2020/07/16(木) 12:18:59.64ID:???

that = this とかやってるレガシーなコードに触るときくらい
それ以外はclassの中くらいにしておいた方が良い
初心者は特に
Name_Not_Found [sage] 2020/07/16(木) 19:11:14.75ID:???

のようにケースベースで覚えようとするから理解できない
仕様ベースで覚えれば簡単に理解できる
Name_Not_Found [sage] 2020/07/16(木) 21:32:07.99ID:???
ブラックジョークならぬJSジョークw
Name_Not_Found [sage] 2020/07/17(金) 04:39:55.87ID:???
むしろ内部仕様を理解しようとせずパターンで覚えようと言う方が無理がある
Name_Not_Found [sage] 2020/07/17(金) 04:49:33.21ID:???
> functionと書いた場合、第ゼロ引数とでも呼ばれるものがあると考えればいい
> つまり function foo(this, a, b, c)

どういうことかと言うと

function foo(this, a, b, c) {
  $(element).on('click', function(this, event) {
    // thisはなにか?
  });
}

こういうこと。この書き方でthisが何かというと、そりゃ
呼び出し元が渡したオブジェクトに決まってるだろ?
引数にあるんだから当たり前。渡す方は自由にthisの内容を変えて渡せる

一方、アロー関数はfunctionがないのだからthisは存在しない

function foo(this, a, b, c) {
  $(element).on('click', event => { } );
}

その場合のthisはfoo関数に渡されたthisに決まってるだろ?
こういう話。thisは全てこれで説明できる。

内部の実装とか仕様とか考えてないで、一番単純な方法で理解しよう
Name_Not_Found [sage] 2020/07/17(金) 04:53:00.70ID:???
こうやってthisは引数で呼び出し側が渡す値って理解すれば、
Javaなどの言語とJavaScriptはthisが全く同じであることが理解できる
違うのはthisではなく呼び出し側なんだよ。


function foo(this, a, b, c) { } という関数をJavaScriptで呼び出す場合
一般的には obj.foo(a, b, c) という呼び出し方をする。

このfooのドットの左側、これがthisとして渡される。
これはJavaなどでも同じなんだよ

な?thisの仕様は同じだろ?


違いはJavaScriptは。obj.foo だけではなく obj.call や obj.apply で
thisを変更して呼び出す方法があるってこと
Name_Not_Found [sage] 2020/07/17(金) 06:36:30.33ID:???
未経験からバックエンドエンジニアは無理で、フロントエンドからやるべきなんですか?
Name_Not_Found [sage] 2020/07/17(金) 06:45:09.52ID:???

板違い
プログラム板じゃなくてプログラマ板にでも行け
ttps://medaka.5ch.net/prog/
Name_Not_Found [sage] 2020/07/17(金) 10:05:31.55ID:???
jqおじさんの理解の仕方じゃすぐバグるな
Name_Not_Found [sage] 2020/07/17(金) 10:58:59.78ID:???
thisは呼び出し元が渡すと言うのは良い解釈
実際の所は関数呼び出し時にthisArgが何になるかはReference値に依存していて
呼び出し方や呼び出し元などが本質的に結びついているわけではないが、
Reference値を壊さずに関数呼び出しを行う形は限られてくるので
superなど一部を除いて実際コード上の位置関係と形で考えることができる
Name_Not_Found [sage] 2020/07/17(金) 11:41:54.18ID:???
thisが難しいのは状況によって何がthisとして渡されるかが様々に変化するってところだからな

,425の説明は
何がthisとして渡されるのかは理解してるけれど
アロー関数のthisが理解できませんという激レアさん以外に意味あるのかな
Name_Not_Found [sage] 2020/07/17(金) 13:52:00.72ID:???

なぜ、アローの方が簡単なのか良くわかる、素晴らしい説明!

JavaScript の場合、非同期処理をよく使うから、
上の方は、外側・内側の関数のコンテキストが異なることが多い

だから、this が鬼門

jQuery は、that = this みたいに書いてるけど、これが分かりやすい
Name_Not_Found [sage] 2020/07/17(金) 14:00:19.10ID:???
かといってthisを説明するのに
さらに分からないReference値なるものを
定義も示さず連呼するのに比べれば
わかりやすく説明しようという努力の分だけマシだと思う
Name_Not_Found [sage] 2020/07/17(金) 17:15:15.50ID:???
自分が分からないことを自分で勉強しようとしない人にはこのスレは向かないね
Name_Not_Found [sage] 2020/07/17(金) 18:12:59.12ID:???
物事をわかりやすく説明できるのはその本質を理解してる人だけ

説明がわかりにくい人はその物事を真には理解していない
Name_Not_Found [sage] 2020/07/17(金) 19:04:44.53ID:???
って言うけど違うよね。
それで分かったつもりになっちゃって僕は原子炉に詳しいんだ爆発だしw
Name_Not_Found [sage] 2020/07/18(土) 03:37:18.64ID:???
分かりやすく説明できる <- 説明能力
物事をものすごく理解していても説明能力に欠ければ分かりやすい説明はできない
例えばすーぱーぷろぐらまー(宇宙人)が宇宙語で人間にがんばって説明しても理解されない
辞は達するのみ

そして相手がチンパン並みの理解力ならいくら分かりやすい説明しても無駄
結局は双方のバランスが大事
Name_Not_Found [sage] 2020/07/18(土) 12:30:06.17ID:???
Referenceについて述べている は丁寧に概要を説明してるし
は質問に対する回答をしているわけじゃないでしょ

の言うように単に連呼してる人なんて実際にはいない
ただ自分がこれだけの説明を聞いても理解できないし、かと言って調べるのも面倒で
その苛立ちから横槍を入れているようにしか見えない

自分が聞きたいことがあるならそれを素直に質問すればとかが教えてくれるだろうに
なんで回答者が自分から聞かれてないことまで解説しないといけないのさ?
ここは自ら学ぶ為のスレだよ?
Name_Not_Found [sage] 2020/07/18(土) 14:20:04.37ID:???

そんなにイライラしなくてもw
Name_Not_Found [sage] 2020/07/18(土) 14:26:13.36ID:???
知らない人に対して、知らない人が知らないであろう言葉で説明するのは未熟者
自分がちゃんと理解してないから説明できない
Name_Not_Found [sage] 2020/07/18(土) 15:04:09.90ID:???
そうした説明では相手に本当に理解させることはできない。
仮に相対性理論をゴルフで説明できたところで、相手は木星まで光速の70%で行って戻ってきたときの時間の遅れを計算できるようにはならない。理解したつもりにさせられてるだけだからだ。
こんなものは詐欺師のテクニックや催眠術みたいなもの。
そうして僕は原子力に詳しいんだ爆発が起きる。
知ったか量産の害悪でしかない。
Name_Not_Found [sage] 2020/07/18(土) 16:36:31.42ID:???
相手に本当に理解させる必要なんてないからね

技術者は正確性を重要視するあまり聞き手にとって不要な詳細を語りたがる
相手を見て情報の取捨選択が出来ない
常に実装の詳細がダダ漏れの設計と同じ
Name_Not_Found [sage] 2020/07/18(土) 16:37:35.97ID:???
でもQiitaのワイの記事はいつもお世話になってるで
Name_Not_Found [sage] 2020/07/18(土) 17:44:41.98ID:???

相手に本当に理解させることは目的ではない
なぜいきなり100点を取らせようとするのか
Name_Not_Found [sage] 2020/07/18(土) 17:45:13.80ID:???
そうした説明では相手に本当に理解させることはできない。
そういって数学とは何たるかを小学一年生に語るのであった。
Name_Not_Found [sage] 2020/07/18(土) 18:18:49.33ID:???
「泥団子と泥団子を合わせるとひとつの泥団子になるだろ?だから1足す1は1なんだ!」
Name_Not_Found [sage] 2020/07/18(土) 19:09:36.34ID:???

逆に詳細を聞きたがる人もそれなりにいるよね

話しても良いけど
理解できる知識と経験ないでしょ?と思う
Name_Not_Found [] 2020/07/20(月) 06:36:16.72:AbiLizkP
if( !( x+y<a+b ))とif( x+y>a+b )の違いを教えてください
Name_Not_Found [sage] 2020/07/20(月) 06:59:18.94ID:???
!
(
<
)

間違い探しの答えは5箇所!
Name_Not_Found [] 2020/07/20(月) 07:05:44.21:cg5o0Tfr

そうですね!
Name_Not_Found [sage] 2020/07/20(月) 14:02:28.31ID:???
x+yとa+bが等しい場合に前者のif節は実行されるが後者のif節は実行されない。
if( !( x+y<=a+b ))とif( x+y>a+b )または
if( !( x+y<a+b ))とif( x+y>=a+b )なら、
論理的には同じ。
Name_Not_Found [sage] 2020/07/20(月) 14:15:01.80ID:???
単純化すれば!(x < y)と(x > y)の違い
Name_Not_Found [] 2020/07/21(火) 17:52:53.75:hLCTOl+m

なるほど!ありがとうございます
Name_Not_Found [sage] 2020/07/21(火) 21:12:55.69ID:???
拡張子の.jsと.mjsってどう違うんですか?
Name_Not_Found [sage] 2020/07/21(火) 21:19:58.72ID:???
node.jsでcommon jsモジュール(requireで使うやつ)として扱うファイルとesモジュール(importで使うやつ)として扱うファイルを区別するために追加された拡張子のルール。
旧来のcommon jsモジュールは.jsのまま。esモジュールにするなら.mjs
Name_Not_Found [sage] 2020/07/21(火) 22:09:11.40ID:???

理解できるもできないも
理解しようとするもしないも
すべて質問者の責任
回答者がオシメの面倒まで見てやる必要はない
Name_Not_Found [sage] 2020/07/21(火) 22:32:45.28ID:???

急にどうしたwww
Name_Not_Found [sage] 2020/07/22(水) 08:07:00.90ID:???
知ってるふりしてるのがバレて悔しかったとかかな
Name_Not_Found [sage] 2020/07/22(水) 12:34:21.00ID:???
アンテナサイトというのはRSSリーダーを使用しているのでしょうか?
ライブドアブログで作成されているものなど
Name_Not_Found [sage] 2020/07/22(水) 12:54:41.76ID:???

知ってるフリかどうかなんて結局お前の第六感しか根拠のない思い込みの話でしょ?
客観的に回答のここが間違ってると言うのなら分かるが
Name_Not_Found [sage] 2020/07/22(水) 12:59:27.10ID:???
おや?図星だったようですね
Name_Not_Found [sage] 2020/07/22(水) 15:35:14.25ID:???
「お前クソみたいに下手な説明してんな」

「俺は間違ってない!」
Name_Not_Found [] 2020/07/22(水) 16:26:52.54:EJG77R/f

まあそんなところ、RSSでなくATOMとかも

ただあのアンテナサイトの存在価値は
現在のあれが登場した時から一向に理解できん
Name_Not_Found [sage] 2020/07/22(水) 16:43:41.73ID:???

きっちりジャンル分けされていればまだ使えるかもしれませんね
Name_Not_Found [sage] 2020/07/22(水) 16:51:56.80ID:???
jquery rssとか普通のブログサービスで使ってもいいんでしょうかね。
google apiのものですけど
Name_Not_Found [sage] 2020/07/22(水) 20:32:02.71ID:???
cdnというのはローカルで使えないでしょうか?
ttp://https://ideone.com/07df2i
ライブドアブログでは動いたのですが、ローカルではだめでした

コンソールを見てもエラーは出ないです
Name_Not_Found [sage] 2020/07/22(水) 21:55:12.37ID:???
失せろガイジ
Name_Not_Found [sage] 2020/07/22(水) 22:00:51.51ID:???
ライブドアとローカルでは、環境が異なるのだろう。
CDN は、ライブドアとしか契約していないのかも

契約すれば、使えるかも知れないけど
Name_Not_Found [sage] 2020/07/22(水) 22:14:01.92ID:???
ローカルではダメってどうやって確認したんだ?
どうせメモ帳にhtml書いて、ダブルクリックで開いて、読み込まれない!って言ってんだろw
Name_Not_Found [sage] 2020/07/23(木) 00:21:52.42ID:???

importの仕方がrequireからimport fromに変わるだけですか?
Name_Not_Found [sage] 2020/07/23(木) 01:57:31.45ID:???
exportの仕方も変わるぞ
Name_Not_Found [] 2020/07/23(木) 07:12:12.66:XC/k/wGV
$("div").click(function(){
$(this).css('background','red');
})

のこの$(this)が$("div")を指す理由はなんですか?
Javaではthisというのはそれを定義したクラスのインスタンスを指すと習いましたが。
Name_Not_Found [] 2020/07/23(木) 07:14:04.69:XC/k/wGV
thisの正体を見分けるコツはないですか?
Name_Not_Found [sage] 2020/07/23(木) 07:42:12.54ID:???

こっちで回答した

JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net
ttps://mevius.5ch.net/test/read.cgi/tech/1449440793/
Name_Not_Found [sage] 2020/07/23(木) 11:16:15.91ID:???

とりあえずMDNの説明を一通り読むのを勧める
ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/this#As_a_DOM_event_handler
Name_Not_Found [sage] 2020/07/23(木) 11:41:45.02ID:???
ttp://https://www.nanigoto.com/gy%E5%9C%B0%E5%9B%B3%E5%A4%89%E6%8F%9B/
yahooマップでembedした地図を、googleマップに置き換えられる言語というのはありますか?どのようにするのかあまり想像できません。
スクレイピングでしょうか?
Name_Not_Found [sage] 2020/07/23(木) 11:44:10.60ID:???

ない。しかもライセンス違反
Name_Not_Found [] 2020/07/23(木) 15:10:18.04:6qya1rK1

一般的にthisが何にバインドされてるかは
その関数と状況によって変わる

たとえばイベントリスナの場合は
jQueryのonも、標準のaddEventListenerでも
eventTargetになってる


そんでJSでは、callやapplyを使って
お好みのものをthisにバインドすることができる

それを利用してjQueryは
onの中ではeventTargetを
eachの中ではアイテムをthisにバインドしている
Name_Not_Found [sage] 2020/07/23(木) 15:29:24.22ID:???
$("div").click(() => {
$(this).css('background','red');
})
エラーになるけど?
Name_Not_Found [sage] 2020/07/23(木) 15:52:27.22ID:???
けど何?
Name_Not_Found [sage] 2020/07/23(木) 17:06:17.65ID:???

これがjQueryと同じようにエラーになる理由わかりますか?
なぜDOM APIはjQueryと同じなのでしょうか?

target.addEventListener(() => {
this.style.background = 'red';
})
Name_Not_Found [sage] 2020/07/23(木) 17:11:16.53ID:???
アロー関数に暗黙のthisは無いから、外側のスコープにも存在しなければエラーになる。
Name_Not_Found [sage] 2020/07/23(木) 17:53:39.98ID:???
そういうところの挙動もjQueryとDOM APIは同じなんだな
Name_Not_Found [sage] 2020/07/23(木) 18:07:06.93ID:???
そりゃjs自体の仕様だからjQuery側で変えようがない。
エラーになる理由はDOM APIとは関係ないしな。
Name_Not_Found [sage] 2020/07/23(木) 18:40:27.29ID:???
やっぱjq房はクソ
専用スレに消えてくれ
ttps://mevius.5ch.net/test/read.cgi/hp/1466750494/
Name_Not_Found [] 2020/07/23(木) 20:47:07.53:6qya1rK1


それについてはの人の説明がわかりやすい
Name_Not_Found [sage] 2020/07/23(木) 23:10:04.59ID:???
を読んで思ったが
そもそもが質問してるクラスのメソッドでthisを使う場合に
通常関数だとundefinedになるケースってどういうの?
Name_Not_Found [sage] 2020/07/24(金) 00:31:27.03ID:???
undefinedをthisとして渡して呼び出した時だろ
Name_Not_Found [sage] 2020/07/24(金) 01:52:06.76ID:???
class Foo {
arrow = () => this
normal() {
return this
}
}

var foo = new Foo()
foo.arrow() //=> ?
foo.normal() //=> ?

もクラスのメソッドと
どう関係あると思ったのか俺にはよくわからん
Name_Not_Found [] 2020/07/24(金) 02:54:55.10:ToJd7q+J
なんかおかしくね?
Name_Not_Found [sage] 2020/07/24(金) 06:22:40.27ID:???
きみの頭だねそれは
Name_Not_Found [] 2020/07/24(金) 06:55:07.50:tlDtaDmV
毛がないじゃないか
Name_Not_Found [sage] 2020/07/24(金) 07:11:55.52ID:???
植えてあげよう
Name_Not_Found [] 2020/07/24(金) 08:38:27.82:tlDtaDmV
ぜひそうしてあげて。ハゲはかっこわるい。
Name_Not_Found [sage] 2020/07/24(金) 08:52:11.80ID:???

functionだと"use strict"の場合か関数にundefinedをbindした場合にthisがundefinedになる。
アロー関数はそもそもthisを持たないが、クロージャなんで外のスコープにthisがあればそれが使われる。
Name_Not_Found [sage] 2020/07/24(金) 14:12:00.56ID:???

それ「クラスのメソッドでthis使う時」と何か関係ある?
Name_Not_Found [sage] 2020/07/24(金) 15:14:25.27ID:???
「クラスのメソッド」といってもfunctionかアロー関数のどちらかなんだから関係ないわけがない。
Name_Not_Found [sage] 2020/07/24(金) 15:17:29.69ID:???

意味のない回答をして何か説明した気になるのはやめて欲しい
Name_Not_Found [sage] 2020/07/24(金) 15:25:55.74ID:???
はまさにへの回答だと思うんだが、逆にどこが理解できないのかさっぱり。
Name_Not_Found [sage] 2020/07/24(金) 16:00:14.81ID:???

質問者が理解してないポイントを知ろうとせずに
とにかく自分の知ってることを説明したがる独り善がりな人たちの存在で質スレは成り立ってる

ま、あきらめろ
Name_Not_Found [sage] 2020/07/24(金) 16:16:23.51ID:???
functionとアロー関数と「クラスのメソッド」が別物だと思い込んでるとみた。
Name_Not_Found [sage] 2020/07/24(金) 16:55:29.54ID:???
クラスのメソッド内で関数を定義する時どうなの?って話なら
class内はstrictモードです、で終了なんだがな
Name_Not_Found [sage] 2020/07/24(金) 17:50:24.30ID:???

なるほど
そこがわかってないから「クラスのメソッドでthis使う時」って言い方をしてるのか
Name_Not_Found [sage] 2020/07/24(金) 18:26:52.20ID:???


内部の実装はともかく、理解するのにはこれが一番シンプル

414 自分:Name_Not_Found[sage] 投稿日:2020/07/16(木) 00:56:57.90 ID:???

thisはすべての関数の引数についていると考えればいいのよ。

ここでいう関数っていうのはfunctionのこと
functionと書いた場合、第ゼロ引数とでも呼ばれるものがあると考えればいい
つまり function foo(this, a, b, c)

で、アロー関数は、function使わないだろ?だから第ゼロ引数のthisは存在しない
Name_Not_Found [sage] 2020/07/24(金) 18:34:33.81ID:???
何にも理解されなくね?
素で呼び出した時にthisに何が入るか、
オブジェクト.の後ろに付けて呼び出した時にthisに何が入るか、
第ゼロ引数と考えただけじゃ全然どうなるか分からない。
Name_Not_Found [sage] 2020/07/24(金) 18:57:48.72ID:???

すべて「呼び出したときに入れたやつ」で説明がつく
Name_Not_Found [sage] 2020/07/24(金) 19:22:28.99ID:???
>オブジェクト.の後ろに付けて呼び出した時にthisに何が入るか、

そこからかw
ちゃんとそう質問を書かないとだれもわからんぞ。
Name_Not_Found [sage] 2020/07/24(金) 19:28:49.54ID:???
thisという第ゼロ引数がある。という概念を取り入れると
組合せ爆発を避けられる

呼び出すときにthisとして何が渡されるかを知るだけでよくなる
Name_Not_Found [sage] 2020/07/24(金) 21:36:02.09ID:???
アロー関数と通常関数の違いを理解するためには
通常関数には第ゼロ引数としてthisがあると考えれば良い
という話ならよく分かる

でもthisが面倒くさいのは呼び出すときに何が渡されるかが状況次第で変わるところなので
そこをカバーせずに「これがthisを簡単に理解する方法だぜ(ドヤッ)」って言われるとそれは違うだろってなる
Name_Not_Found [sage] 2020/07/24(金) 21:42:25.92ID:???
> でもthisが面倒くさいのは呼び出すときに何が渡されるかが状況次第で変わるところなので
それはthisに限らない。第一引数だって何が渡されるか状況次第で変わる
Name_Not_Found [sage] 2020/07/24(金) 21:48:10.98ID:???

引数は全部明示的に渡すから呼び出し元を見れば理解できないやつはいない
JSの仕様で大半の場合暗黙的に渡されるthisとは違う
Name_Not_Found [sage] 2020/07/24(金) 21:58:29.21ID:???

だからこの問題はthisは暗黙に見えるが
指定して渡していると考えれば、難しいことは何もないという話
Name_Not_Found [sage] 2020/07/24(金) 21:58:48.27ID:???

状況次第で変わるという以外に何をどう理解したいわけ?それ書かなきゃ。
Name_Not_Found [sage] 2020/07/24(金) 23:02:13.03ID:???
質問があります。
a.html b.html c.js
三つのファイルが同一フォルダにあったとします。

a.htmlにあるbuttonタグををクリックすることでb.htmlに飛びb.htmlの背景色を変更するといった動作は可能でしょうか?
Name_Not_Found [sage] 2020/07/24(金) 23:08:38.11ID:???
ウィンドウが2つ開いてるってコト?
Name_Not_Found [sage] 2020/07/24(金) 23:19:07.34ID:???

何がthisとして指定されてるかどう判別するの?


「どういう状況であれば、thisが何になるのか?」
それが分からなければ役に立たないだろ
Name_Not_Found [sage] 2020/07/25(土) 00:10:30.73ID:???
一般的にthisが何になるか、どのカラクリはどういうものかは
このスレでこれまで散々色んな人が色んな抽象度で説明してきただろ

でも何がthisとして渡ってくるかは渡す側によって決められるのだから
DOM APIのイベントハンドラ上でのthisのように
APIによってthisがどんなものになるかは異なる
それは第一引数にどんなものが渡ってくるのかと同じで
そういうAPIの仕様として覚えないといけないこと

だけど基本的には"this"という名前が付いてるものなんだから
ハチャメチャな使いかたはせず比較的その名が示すに自然な使われ方がされるのが通常
何れにせよそこは理屈ではなく覚えるしか無い
それをみんな言ってるのよ
理解した?
Name_Not_Found [sage] 2020/07/25(土) 00:40:06.11ID:???
誰に言ってるの?
コミュニケーションの基本がなってない。
Name_Not_Found [sage] 2020/07/25(土) 02:20:17.16ID:???
縦書きで横スクロールが長いHTML文書で
読み込んだときに頭出し(文書の右端に移る)ができるようにしたいんだが。

大昔は html に 
 body onLoad="atamadasi()" と書いて、
スクリプトに
function atamadasi()
{  
   if(document.all)
document.all("atamadasi").scrollIntoView();
}
と書けばよかったが、いまはどうしたらいいんだろ。
ブラウザによってはCSSだけで頭出しするらしいが火狐はCSSだけじゃ文書の最後(左端)を表示してしまう。
Name_Not_Found [sage] 2020/07/25(土) 03:50:37.73ID:???
document.allとか懐かしいなぁ
Name_Not_Found [sage] 2020/07/25(土) 04:03:23.42ID:???
最近は縦書き簡単に扱えるのかと思ったら二年前でこのありさまか…
ttp://https://developer.hatenastaff.com/entry/2018/09/11/152905

今はまともになったんだろうか…
Name_Not_Found [sage] 2020/07/25(土) 04:44:28.71ID:???
大昔というかIE専用コードだな。
document.allに渡してる'atamadashi'ってID名だっけ?
だったら、
document.getElementById('atamadashi').scrollIntoView();

document.querySelector('#atamadashi').scrollIntoView();
で同等。
縦書きのブラウザごとの挙動は知らん。
518 [sage] 2020/07/25(土) 11:23:50.96ID:???

ありがとう。ID名だっけと念押しされて分かったわ。
doby onload=atamadasi() で読み込んで、h1 id="なんとか" とすれば動くんだな。

id を body とか div につけても動かない。
確かにコンテナがターゲットなら文書の末尾も対象だから動かなくても理屈にかなっている。
Name_Not_Found [sage] 2020/07/25(土) 11:37:22.00ID:???
scrollIntoViewの引数で上端か下端か制御できたはず
Name_Not_Found [sage] 2020/07/25(土) 11:38:09.28ID:???
ああ…縦書きだとどうなるんだろうな…
Name_Not_Found [sage] 2020/07/25(土) 13:53:29.88ID:???

去年一杯で仕様出揃って、今年前半で著名ブラウザは実装したから今はまとも
ただし例によってSafariを除く
Name_Not_Found [sage] 2020/07/25(土) 14:10:27.08ID:???
あ、Safariは除くっていうのはSafariではできないってことじゃなくて
別の対応をしないといけないってことね
Safari自体はHTML5ムーブメント直後に一番最初に縦書きに力を入れたブラウザだし
Name_Not_Found [] 2020/07/25(土) 15:56:01.80:mSXYFe7J
const isDark = this.getAttribute("is-dark") === "true" ? ture : false;

という書き方の最後の ? true : false;
はどういう意味ですか?
Name_Not_Found [sage] 2020/07/25(土) 15:59:31.72ID:???
全く意味がないコードです
Name_Not_Found [sage] 2020/07/25(土) 16:01:03.99ID:???
意味はない。そこを取って
const isDark = this.getAttribute("is-dark") === "true"
でも同じ

そもそも人間が書いたコードは人間が書いたものなんだから必ずしも崇高な意味がそこにあると思うな
たかが人間が書いたものなんだから
Name_Not_Found [sage] 2020/07/25(土) 16:32:54.97ID:???
三項演算子を知らないから聞いてるんだろw
アスペかよ
Name_Not_Found [sage] 2020/07/25(土) 17:33:53.22ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
三項演算子すらも知らない。
何が知りたいのかも具体的に書けない人はお呼びではありません。

それとこういう解答は誰のためにもならないので要りません。
に対してそれは三項演算子だよと答えてあげれば良いではありませんか。

教えてあげますが、が釣り質問レベルと思われてるから、
皆さん呆れてあえて率直な解答が付いてないのですよ。
それはアスペでなければ分かりますよね。
Name_Not_Found [sage] 2020/07/25(土) 17:45:27.37ID:???

三項演算子を知らないくらいでなんでそんなに人を馬鹿にするのかね?
Name_Not_Found [] 2020/07/25(土) 17:47:59.94:mSXYFe7J
釣りではないです 三項演算子はこう書くんですね
検索ワードが解らなくて困りました
なんとなく 文字列"true”をbooreanに変えたいと言うのは予想付きましたが
Name_Not_Found [sage] 2020/07/25(土) 18:04:07.15ID:???

ここがどこかお忘れで?
ここはサイト的にも板的にもスレ的にもスパルタ方針
甘々で大間違いの解答が欲しければ知恵遅れに行けば?


検索ワードとか要らないから
数年前からGoogle検索で記号も検索できる様になってるから
「?:」とかで検索すれば一瞬でわかること
現代人、特にプログラミングの世界に足を突っ込もうとする者の常識で
それくらいの検索スキルの無いもの、努力しないものはお呼びでない

そもそもJSのチュートリアルをやってれば絶対にわかること
チュートリアルもまともにやってないのに質問しに来るのが悪い
チュートリアルとしては微妙だがまずはMDNを10編読んで
その後に10個の適当なサイトでチュートリアルをこなして
最後にMDNを隅から隅まで読んでから質問しに来い

ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript
Name_Not_Found [sage] 2020/07/25(土) 18:50:04.49ID:???

君がある種の知恵遅れなことはよく分かった。
Name_Not_Found [sage] 2020/07/25(土) 20:05:20.62ID:???
必ずケンカしないと始まらないスレ
ある意味様式美
Name_Not_Found [sage] 2020/07/25(土) 22:10:25.41ID:???

アスペ呼ばわりされて悔しかったん?
Name_Not_Found [] 2020/07/26(日) 02:50:23.23:4PwEAk1n

WHATWGの創設&主要メンバーのはずなのに
いまいち対応が遅かったり特殊だったりするよなSafari
Name_Not_Found [sage] 2020/07/26(日) 03:12:52.99ID:???
SafariというかAppleは中国的気質を感じる
Name_Not_Found [sage] 2020/07/26(日) 03:24:47.57ID:???
Apple、プライバシー問題のため16ものWeb APIのSafariへの実装を拒否
ttp://https://css-tricks.com/apple-declined-to-implement-16-web-apis-in-safari-due-to-privacy-concerns/
Appleが実装拒否したAPI一覧:
- Web Bluetooth
- Web MIDI API
- Magnetometer API
- Web NFC API
- Device Memory API
- Network Information API
- Battery Status API
- Web Bluetooth Scanning
- Ambient Light Sensor
- HDCP Policy Check extension for EME
- Proximity Sensor
- WebHID
- Serial API
- Web USB
- Geolocation Sensor (background geolocation)
- User Idle Detection

俺ら下々の者のために日夜大企業のプライバシー侵害工作に抵抗してくださっているApple様に、敬礼!(^o^ゞ
Name_Not_Found [sage] 2020/07/26(日) 03:46:35.53ID:???
Safariのゴミ仕様直せないゴミエンジニアしかいないくせに
Name_Not_Found [] 2020/07/26(日) 03:52:47.58:4PwEAk1n

アップルは
ブラウザベンダーでありスマホメーカーでもあるから
ってとこだろうな…
Name_Not_Found [sage] 2020/07/26(日) 08:51:27.98ID:???

Safariだけが動かないっていうのが増えそうだよな
Name_Not_Found [sage] 2020/07/26(日) 09:01:29.88ID:???
IEがようやく引退に向かってると言うのに
ままならんなあ
Name_Not_Found [sage] 2020/07/26(日) 09:05:12.11ID:???

今WHATWGって機能してんのかな?
Name_Not_Found [sage] 2020/07/26(日) 10:38:59.92ID:???

Googleのほうが中国的気質を感じる
中国政府的な気質
Name_Not_Found [] 2020/07/26(日) 16:48:47.41:quDHg7ZZ

してないんかな?
今もHTML LSは更新され続けてる気はするんだが
Name_Not_Found [sage] 2020/07/26(日) 17:37:26.68ID:???
WHATWGのGithubレポ行ってissueやPR眺めてみれば活発にいろいろやってるのわかるでしょ
何言ってるの?
Name_Not_Found [sage] 2020/07/26(日) 18:01:56.53ID:???
w3cよりは動いてると思う
Name_Not_Found [sage] 2020/07/26(日) 18:13:09.10ID:???
見たら分かるとか調べりゃ分かるとか言うならコミュニティ不要
やってるよと優しく言ってやりゃいいのにツンデレか
Name_Not_Found [sage] 2020/07/26(日) 18:32:02.37ID:???

それらのAPIの幾つかは
他のブラウザでもインストールしないと使えなかったり
機能が制限されたり、うざいプロンプトが出たりするから

高機能なことがしたければChrome系ブラウザでインストールしてください
ということで当分は問題がないと思うよ
俺は普通のWebサイトとして公開してシリアルポート叩きたいんだという
人には我慢してもらわないといけないけどね
Name_Not_Found [sage] 2020/07/26(日) 18:33:51.05ID:???

Appleはまだブランドグループとしてひとくくりに言えても
Googleってその中縦割りで気質がバラバラだからひとくくりにできないでしょ
Name_Not_Found [sage] 2020/07/26(日) 19:28:44.87ID:???

5chで優しくとかキモすぎ
匿名掲示板上のただの文字に優しいとか厳しいとかないから
Name_Not_Found [sage] 2020/07/26(日) 20:41:45.97ID:???
昔に比べてどこもかしこも荒れてるような気がする。
Name_Not_Found [sage] 2020/07/26(日) 22:28:57.74ID:???
昔は凶悪犯罪なんてなかった!
→そんなことはなかった
2ちゃんは優しかった!5ちゃんは荒れてる!
→そんなことはなかった

おじいちゃん敗走w
Name_Not_Found [sage] 2020/07/27(月) 06:26:16.70ID:???
わざわざこんな殺伐としたスレに来て
おら、優しくしろよな、エスパーしろよな
とか無理がありすぎ
Name_Not_Found [sage] 2020/07/27(月) 12:37:44.88ID:???
2ch時代は玄人のためのスレだったでしょ
初心者オーラを出すだけでフルボッコか無視だった
だから別個に初心者向けスレと超初心者向けスレがあった
Name_Not_Found [] 2020/07/27(月) 13:28:11.28:3rIqIAPB

コミュニティが不足なのか
Name_Not_Found [sage] 2020/07/27(月) 13:42:26.86ID:???
最近の社会はコミューン不足
Name_Not_Found [] 2020/07/27(月) 13:50:20.07:3rIqIAPB

そうでもなかったような気もする

Macしか持ってなくてIEで動かないコードしか書けないのに、ひたすら答えたがるNullってコテとかいたし
今と変わらんような、ほのぼのしていたような

そんで奴を隔離するために初心者向けに
手取り足取り教えるJavaScriptスレに分岐したりもした思い出
Name_Not_Found [sage] 2020/07/27(月) 19:48:40.80ID:???
いつの時代も名物(ガイジ)いるもんだな
今はRubyガイジとjQueryおじさんかw
Name_Not_Found [sage] 2020/07/27(月) 20:05:04.37ID:???

そういうことあんまり言わんほうが良いで
今もしつこくこのスレに残ってるのはその「隔離」された側だからな
俺も全盛期は4,5人くらいの人格で1スレ200,300レスとか書いてたわ
自分の為の隔離スレも作ったし、同じくらい良いことをした
Name_Not_Found [sage] 2020/07/27(月) 20:05:57.36ID:???
サーバーサイドやってる人間は強い
jQueryは昔からサーバーサイドとの連携
(ページはサーバーサイドで動的に生成。JavaScriptはごくわずか)
だからこれからも主流であり続けるよ
Name_Not_Found [] 2020/07/27(月) 21:44:10.25:3rIqIAPB

>俺も全盛期は4,5人くらいの人格で1スレ200,300レスとか書いてたわ


なにそれ怖い( ;∀;)
Name_Not_Found [sage] 2020/07/28(火) 06:55:18.15ID:???
俺は今が全盛期!このスレは全部俺!
Name_Not_Found [sage] 2020/07/28(火) 07:12:41.05ID:???
ペース遅いぞ
スレ全盛期は冗談抜きで2、3日で1スレ埋まってた
Name_Not_Found [sage] 2020/07/29(水) 23:41:54.69ID:???
img loadingで遅延読み込みがネイティブ実装されたらさ、
Intersection Observerはもう不要なん?
Name_Not_Found [sage] 2020/07/30(木) 01:16:26.72ID:???
されたら?もうされとるが…
Name_Not_Found [sage] 2020/07/30(木) 01:48:32.02ID:???
IntersectionObserverは別にLazyLoad専用じゃないだろ
Name_Not_Found [sage] 2020/08/03(月) 18:18:33.49ID:???
もうこれからの時代はIntersectionObserverとかAPIゴリゴリ使って
アプリケーションのための内部動作のコードを書けないと
単純にサイトの外側はGPT-3の進化版みたいな自動生産機で作れるようになってしまうんだろうな
こりゃ20年後には人間がプログラミングする時代は終わってるかもしれんぞ
Name_Not_Found [sage] 2020/08/03(月) 21:11:16.95ID:???

ではそれらを使う「目的」を言ってください
手段と目的を履き違えないようにね(笑)
Name_Not_Found [sage] 2020/08/03(月) 21:32:46.73ID:???

20年前にJSメーリングリストで同じこと書いたけど
いつになったらそんな時代来るんだ( ;∀;)
Name_Not_Found [sage] 2020/08/04(火) 06:20:49.12ID:???
今でもその時代は来てるでしょ
20年前レベルのWebサイトならテンプレートやオーサリングツールで作れる
ただそれが将来に渡っても続くということで
いつまで進歩についていけるかという問題だ
Name_Not_Found [] 2020/08/04(火) 09:15:39.77:z9qUq9TR
質問なのですが

textareaに
a b c d
e f g h
i j k l
のように半角スペース区切りで任意の行を入力してbutton押下で
行区切りと半角スペース区切りで多次元配列に格納したいのです
最も効率的な書き方を教えていただきたいのです

結果として以下のようになるようにしたいです
hoge = [
[a, b, c, d],
[e, f, g, h],
[i, j, k, l]
];

よろしくお願い致します
Name_Not_Found [sage] 2020/08/04(火) 09:23:32.47ID:???
まずは自分ができる範囲で最も効率的なものを書いて、それよりもいい書き方があるか問うべきだと思う
Name_Not_Found [] 2020/08/04(火) 09:29:39.36:z9qUq9TR

ありがとうございます
おかげで自分で書けました

$('#submit').click(function() {
var data = $('#data').val();
var data = data.split('\n');

for (let i = 0; i < data.length; i++) {
data[i] = data[i].split(' ');
}

$('#result').text(data[1][1]);
});
Name_Not_Found [sage] 2020/08/04(火) 20:04:31.60ID:???
HHKBってなんであんなに高いんですか?
小さいし同じキーバインドで3000円のやつ作ったらバカ売れするんじゃないでしょうか
Name_Not_Found [sage] 2020/08/04(火) 20:08:57.73ID:???
キーボード自作キットがある
最近は3Dプリンタと組み合わせたらより柔軟に安価に作れる
Name_Not_Found [sage] 2020/08/04(火) 20:29:24.30ID:???

キーバインドは関係ない
メンブレンじゃなく独立したキースイッチでかつ静電容量無接点方式ってのが高い理由
ついでにキートップも安いキーボードに比べれば高品質

メンブレンのHHKB Liteなら昔は3000円台で買えた
バカ売れするなら販売終了にはならない
Name_Not_Found [sage] 2020/08/04(火) 21:43:26.67ID:???

Ruby で作った。
JavaScript にも標準か、Lodash に、map があるかも?

# 配列の配列。改行は削除して、空白で分離する
p ary = <<"EOT".lines( chomp: true ).map{ |str| str.split }
a
b c
d e f
EOT

出力
[ ["a"], ["b", "c"], ["d", "e", "f"] ]
Name_Not_Found [sage] 2020/08/05(水) 00:58:04.73ID:???

なるほどなー
liteっていうのが昔あったんですかそれほしかったな
むしろ売れすぎて、高い方が売れなくなって廃盤になった可能性もありますね、

他社が類似商品出せないのは不思議
Name_Not_Found [sage] 2020/08/05(水) 05:17:28.52ID:???
temper monkeyでinputボタンをクリックさせるにはどうしたらいいでしょうか
idのないinputボタンですし、どう指定したらいいんでしょうか?
Name_Not_Found [sage] 2020/08/05(水) 06:10:44.17ID:???
不可能 デス
Name_Not_Found [sage] 2020/08/05(水) 06:21:20.36ID:???

IDじゃなくてもCLASS名とか何かついてるだろ
とりあえずその周辺のソース全部貼ってみ
Name_Not_Found [sage] 2020/08/05(水) 06:38:30.99ID:???
著作権の心配があるので貼らないことにします
一般的な場合と思って幾つか解答を示してもらえれば、こちらで試して成否を言います
Name_Not_Found [sage] 2020/08/05(水) 06:45:42.51ID:???
ttp://https://imgmaze.pw/egqgKEkXTMKrUgvpYMQjtdN4NQ_28PBwGA.php
ここどす
tanyaたん
Name_Not_Found [sage] 2020/08/05(水) 07:29:31.67ID:???
何様だこいつ
Name_Not_Found [sage] 2020/08/05(水) 08:43:01.05ID:???
情報は与えねえからてめえらでエスパーして答えてみろや
俺様が使えるかどうか審査してやるからよ
てめえらが無駄な労力使っても俺様にはどうでもいいことなんだよ
Name_Not_Found [sage] 2020/08/05(水) 08:49:44.08ID:???


586ですが、585とは無関係です
Name_Not_Found [sage] 2020/08/05(水) 09:21:31.13ID:???
それは見ればわかると思う
Name_Not_Found [sage] 2020/08/05(水) 11:20:49.93ID:???
はい
Name_Not_Found [sage] 2020/08/05(水) 11:25:07.69ID:???
著作権www
だったらリンク貼れよ
Name_Not_Found [sage] 2020/08/05(水) 12:22:16.29ID:???
ソートについて質問なのですが…下の配列を
[
{team:'a',pt:4},
{team:'a',pt:2},
{team:'b',pt:3},
{team:'b',pt:6},
{team:'c',pt:0},
{team:'c',pt:2}
]

同じチーム内で点数順にソートしつつ、チームも点数順にソートする
ということをやるにはどうすれば良いんでしょうか?
下の並び順が理想です

[
{team:'b',pt:6},
{team:'b',pt:3},
{team:'a',pt:4},
{team:'a',pt:2},
{team:'c',pt:2},
{team:'c',pt:0}
]
Name_Not_Found [sage] 2020/08/05(水) 12:25:29.80ID:???
チームを点数順にソートってどういう意味?合計点?
Name_Not_Found [sage] 2020/08/05(水) 12:27:35.84ID:???

すみませんptの数値が多い順にという意味でした
Name_Not_Found [sage] 2020/08/05(水) 12:33:25.96ID:???
情報が少ない
1,2,3,4,5のチームと
0,0,0,0,5のチームは
どちらが上でもいいのかい?
Name_Not_Found [sage] 2020/08/05(水) 12:49:15.45ID:???

本当はptにはもっとバラバラな数値が入っています
ptの最高点が同じ場合はlocaleCompareを使ってソートしようとしていました
できませんでしたけど…
Name_Not_Found [sage] 2020/08/05(水) 12:52:18.63ID:???

ptが同じ時はteam名でソートするという意味です
Name_Not_Found [sage] 2020/08/05(水) 13:19:32.36ID:???
まずは日本語できちんと説明できるようになってから書きこんでね
Name_Not_Found [sage] 2020/08/05(水) 13:33:01.51ID:???

> ptが同じ時はteam名でソートするという意味です

いや違うでしょ。それでどうやったら
の結果になるのよ
Name_Not_Found [sage] 2020/08/05(水) 14:28:27.01ID:???
目的のものが自分でどういうものかわかっていないのに他人が作れるわけがない
Name_Not_Found [sage] 2020/08/05(水) 14:36:59.50ID:???
の答えが の予想通り合計点として、
var 下の配列 = [
{team: 'a', pt: 4},
{team: 'a', pt: 2},
{team: 'b', pt: 3},
{team: 'b', pt: 6},
{team: 'c', pt: 0},
{team: 'c', pt: 2},
];
// pt順に並べてからチームごとにまとめる
var result = Object.values(下の配列.sort((a, b) => b.pt - a.pt).reduce((acc, row) => {
acc[row.team] = [...(acc[row.team] || []), row];
return acc;
}, {}))
// チームを合計点数でソート
.sort((teamA, teamB) => teamB.reduce((acc, row) => acc + row.pt) - teamA.reduce((acc, row) => acc + row.pt))
// チームごとにまとめていたのを解除
.flat();
console.log(result);
// 結果↓
[
{team: "b", pt: 6},
{team: "b", pt: 3},
{team: "a", pt: 4},
{team: "a", pt: 2},
{team: "c", pt: 2},
{team: "c", pt: 0}
]
Name_Not_Found [sage] 2020/08/05(水) 14:37:17.44ID:???
ちなみに の、「ptが同じ時はteam名でソート」だとこうなる
var result = 下の配列.sort((a, b) => a.pt === b.pt ? -Intl.Collator('ja').compare(b.team, a.team) : b.pt - a.pt);
// 結果↓
[
{team: "b", pt: 6},
{team: "a", pt: 4},
{team: "b", pt: 3},
{team: "c", pt: 2},
{team: "a", pt: 2},
{team: "c", pt: 0}
]
Name_Not_Found [sage] 2020/08/05(水) 15:26:48.47ID:???
否定演算子と共にトグルに使用出来る数値型はboolだけでしょうか?
function onclick(){
img.style.display = !img.style.display;
}
これでは反転しないようです。
別にboolを用意するでしょうか?
Name_Not_Found [sage] 2020/08/05(水) 15:39:04.71ID:???
めちゃくちゃな理解の仕方だなw
Name_Not_Found [sage] 2020/08/05(水) 15:40:27.23ID:???

-Intl.CollatorはIntl.Collatorの間違い。a,b入れ換えのとき消し忘れた
Name_Not_Found [sage] 2020/08/05(水) 15:42:37.19ID:???

これは酷い
Name_Not_Found [sage] 2020/08/05(水) 15:43:35.12ID:???

プロパティの数値は2つとは限りませんものね
Name_Not_Found [sage] 2020/08/05(水) 15:51:24.52ID:???
さて本当に数値なのだろうか?
今の.displayの値をconsole.logで見てみな。
Name_Not_Found [sage] 2020/08/05(水) 16:15:36.00ID:???
input要素にidがない場合、click()メソッドは使えないでしょうか?
getelementbytagnameでinput取得してもclickは使えないようです
Name_Not_Found [sage] 2020/08/05(水) 16:35:18.46ID:???
getelementbytagnameなんてものはありません
Name_Not_Found [sage] 2020/08/05(水) 16:40:19.07ID:???

使えますよ
要素を指定する方法を学びましょう
Name_Not_Found [sage] 2020/08/05(水) 17:00:42.72ID:???
メソッドがないと怒られるんですが、、、
idだとclickが使えます
Name_Not_Found [sage] 2020/08/05(水) 17:04:18.66ID:???
type="button"で試してみたけど普通にclick()出来るが
本当に同じものを取得してる?
まさかHTMLCollectionをclick()してるとかないよね?
Name_Not_Found [sage] 2020/08/05(水) 17:14:49.67ID:???
getelementbytagnameなんてないから
Name_Not_Found [sage] 2020/08/05(水) 17:14:53.90ID:???
inputタグは一つしか設置していないですが、htmlcollectionから更に絞り込む必要があるでしょうか。
しかし絞り込む時にidなどの識別子がないといけないわけですよね。
Name_Not_Found [sage] 2020/08/05(水) 17:16:10.08ID:???
じゃcollection[0].click()で
Name_Not_Found [sage] 2020/08/05(水) 17:17:23.23ID:???
今はquerySelector()使ったほうがいいとは思うけど
Name_Not_Found [sage] 2020/08/05(水) 17:17:43.34ID:???
なるほど、配列になっているんですね。
Name_Not_Found [sage] 2020/08/05(水) 18:03:47.42ID:???

配列とはちと違うんだけどな

getElementsByTagName()

これよく見るとElementsって複数形になってるじゃろ
なので、該当する要素を詰め込んだコレクションていう
配列に似たオブジェクトで返ってくる

そんでもう書かれてるけど今となっては古いので
querySelectorか、querySelectorAll使う方がいい
Name_Not_Found [sage] 2020/08/05(水) 18:07:48.35ID:???

querySelectorAllの返り値は
コレクションではなくノードリストね

使い勝手はそれほど変わらんと思うけど
ノードリストは後発なだけに
持ってるメソッドが洗練されてる
Name_Not_Found [sage] 2020/08/05(水) 18:08:29.60ID:???
queryselecter使ってみます
調べましたが、要素でもidでもなんでも取得出来るみたいですね
Name_Not_Found [sage] 2020/08/05(水) 18:20:02.18ID:???

なっ、、、なんだってー!!?

> そんでもう書かれてるけど今となっては古いので
> querySelectorか、querySelectorAll使う方がいい

qiitaの要素取得を説明しているページだと

ttps://qiita.com/amamamaou/items/25e8b4e1b41c8d3211f4

querySelectorとquerySelectorAllは遅いと書かれてるんで出来るだけ使わないようにしてきたんだけどもどっちが正しいんだ……
Name_Not_Found [sage] 2020/08/05(水) 18:26:29.75ID:???
自己解決。ときと場合によりけりということか
Name_Not_Found [sage] 2020/08/05(水) 19:14:00.14ID:???

おおっ!ありがとうございます
回答頂いた「pt順に並べて…」のコード+flat();で大丈夫そうです
ただ、Array.reduceの所が難解すぎてなぜこの解になるのかわからないです
少し解説してもらえるとありがたいのですが
ググってヒットしたページをいくつか読んでもちんぷんかんぷんでした
Name_Not_Found [sage] 2020/08/05(水) 20:35:49.01ID:???
ttp://https://ideone.com/tUl75p
clickを使用して画像を消したいのですが、このコードの場合は上手く消えないです
しかしalertは動作します
何が原因かわかりませんか?
Name_Not_Found [sage] 2020/08/05(水) 20:43:01.44ID:???

なんで遅いと書かれたら使わないんだ?
Name_Not_Found [sage] 2020/08/05(水) 20:47:27.82ID:???
reduceはその機能を知ってる人でさえ書いてあるコードが読みにくなるもの
reduceはその他のアルゴリズムを実装するための基礎だと考えたほうが良い
Name_Not_Found [sage] 2020/08/05(水) 20:50:53.23ID:???

うそは言わないように
配列は配列
Name_Not_Found [sage] 2020/08/05(水) 20:51:17.97ID:???
ノードリストはreduce使えない

使えるのはforEachだけ!
Name_Not_Found [sage] 2020/08/05(水) 20:57:25.31ID:???
配列だからreduceが使えるはず
うそは言わないように
Name_Not_Found [sage] 2020/08/05(水) 20:57:55.68ID:???

うそは言わないように
配列風オブジェクトは配列ではない
Name_Not_Found [sage] 2020/08/05(水) 21:02:34.72ID:???

そのまま張り付けてみたけど消えるぞ?
ttp://https://jsfiddle.net/ho9uvj7x/
Name_Not_Found [sage] 2020/08/05(水) 21:04:29.37ID:???

初期状態のtoggleがtrueだからでしょ
Name_Not_Found [sage] 2020/08/05(水) 21:26:17.30ID:???

トグル操作は標準機能を使った方が間違いが少ない
ttp://https://jsfiddle.net/gwqh87v6/
Name_Not_Found [sage] 2020/08/05(水) 21:49:01.51ID:???
そこは、以下3ステップを1つにまとめている。
// (A) pt順(降順)に並べる
var result = 下の配列.sort((a, b) => b.pt - a.pt); // ここまでの結果↓
[
{ team: "b", pt: 6 },
{ team: "a", pt: 4 },
{ team: "b", pt: 3 },
{ team: "a", pt: 2 },
{ team: "c", pt: 2 },
{ team: "c", pt: 0 }
]
// (B) テームごとにまとめる
result = result.reduce((acc, row) => {
acc[row.team] = [...(acc[row.team] || []), row];
return acc;
}, {}); // ここまでの結果↓
{
b: [
{ team: "b", pt: 6 },
{ team: "b", pt: 3 }
],
a: [
{ team: "a", pt: 4 },
{ team: "a", pt: 2 }
],
c: [
{ team: "c", pt: 2 },
{ team: "c", pt: 0 }
]
}
// (C) チームごとにまとめるために使っただけなので、キーを捨て値だけで(配列の)配列にする。
result = Object.values(result); // ここまでの結果…は改行制限が厳しいので省略。かつ次レスに続く
Name_Not_Found [sage] 2020/08/05(水) 21:51:11.09ID:???
の続き
(B)のところが分かりにくいのだと思うので…

(B) テームごとにまとめる
result = result.reduce((acc, row) => {
acc[row.team] = [...(acc[row.team] || []), row];
return acc;
}, {});
は、以下for文を使ったプログラムと同じ意味。mapやreduceに慣れるとfor文あまり書かなくなってしまう…
var temp = {};
for (let row of result) {
if (!temp[row.team]) { // この条件式はプロトタイプをたどってしまうので !temp.hasOwnProperty(row.team) のほうがよい
temp[row.team] = [];  // 初めてのチームの場合、必ずこちらを通り、そのチーム名をキーとして空配列を値とするエントリーを作る
}
temp[row.team].push(row); // 上の条件式でtemp[row.team]は配列であることが確定しているので、push
}
result = temp;

分からなければconsole.logなど入れていろいろ見てみてください
Name_Not_Found [sage] 2020/08/05(水) 22:21:07.75ID:???

配列は配列
Arrayのインスタンスだけが配列なわけではない
TypedArrayだってあるし
本質的に違わないものをあえてグループ分けする意味はなんだ?
Name_Not_Found [sage] 2020/08/05(水) 22:36:05.45ID:???
,637
とりあえずArray.reduceの挙動はなんとかつかめました
後ろにあるデフォルト値の役割と最初の返値が空なことに気がつかないと意味不明ですねこれ…
ともあれ大変勉強になりました
手取り足取りどうもありがとうございました
Name_Not_Found [sage] 2020/08/05(水) 22:44:16.17ID:???

哲学の唯名論的には、説明や理解に便利だからだろう。
lengthプロパティとspliceメソッドがあれば配列、それ以外の配列っぽいのはarray-likeってのが実用的。

あれ?これなんでmapで失敗するの?
→配列じゃなくて配列風オブジェクトだからだよ

これで済む。
それに包み隠さず詳しく説明すべきだと言うなら、その説明は分類を進め詳細化の方向に進むはずで、どれもこれも配列だよ、のような統一化の方向には行かないだろう。
Name_Not_Found [sage] 2020/08/05(水) 22:51:15.73ID:???

ary = [
{team:'a',pt:4},
{team:'a',pt:2},
{team:'b',pt:3},
{team:'b',pt:6},
{team:'c',pt:0},
{team:'c',pt:2}
]

;[...ary.sort((a,b)=>b.pt-a.pt).reduce((m,v)=>m.set(v.team,(m.get(v.team)??[]).concat(v.pt)),new Map)].flatMap(o=>o[1].map(p=>({team:o[0],pt:p})))

console.log(ary)
// 0: {team: "b", pt: 6}
// 1: {team: "b", pt: 3}
// 2: {team: "a", pt: 4}
// 3: {team: "a", pt: 2}
// 4: {team: "c", pt: 2}
// 5: {team: "c", pt: 0}
Name_Not_Found [sage] 2020/08/05(水) 22:59:34.15ID:???

その理屈では型付配列は配列ではないということ?

これなんでmapで失敗するの?
→mapメソッドを持っていないから
となるのが普通では?

そもそもmapって繰り返しラップするメソッドなんだから
別に配列だけに強く結びついてるものと考えるのは変でしょ

例えばその概念はイテレータにだって適応できるわけでそういう提案もあるし
ttp://https://github.com/tc39/proposal-iterator-helpers

Mapに増やそうっていう議論も昔っからよくされて来たでしょ
ttp://https://github.com/tc39/proposal-set-methods#semirelevant-previous-discussions
Name_Not_Found [sage] 2020/08/05(水) 23:05:39.39ID:???
これはなぜこう呼ぶのか、こう呼ばないのか
そんなことに理由はないし、そんなことを一々考えて呼んだりしないだろ
今までそう呼んできたからそう呼ぶというだけで
そこに理屈を持ち出すのは間違い
だれが何をどう呼ぼうが呼ぶまいが自由で
ここはそれを議論する場所ではない
Name_Not_Found [sage] 2020/08/05(水) 23:07:41.08ID:???
実用的には誤解を招く表現は避けるべきってところじゃないかな
あと生きてる奴を配列で括るのは流石にマズくね?
Name_Not_Found [sage] 2020/08/05(水) 23:23:06.94ID:???
いいわけがましいうそつきだな

JavaScriptではarrayとarray-like objectをなぜわざわざ区別してるのかを考えればすむこと
Name_Not_Found [sage] 2020/08/05(水) 23:29:41.25ID:???
そしてどうでもいい議論にこういう勘違い君が乱入して最初の話がわからなくなるまでがこのスレのいつもの流れ
誰もarrayとarray-like objectの話なんてしてないでしょーがw
Name_Not_Found [sage] 2020/08/05(水) 23:39:21.51ID:???
がそのものだと思うが
Name_Not_Found [sage] 2020/08/05(水) 23:43:19.84ID:???
"Array"と"配列"を何をどう区別すべきかしないべきかという日本語の話をしてるんだと思うぞ
arrayとarray-like objectをまとめるべきかどうかというのとは違うでしょ
Name_Not_Found [sage] 2020/08/05(水) 23:47:04.30ID:???
そもそも何がArrayかってことすら難しい
例えばArray.isArrayに頼ろうと思っても
そいつは内部メソッドしか見てないから
全くArrayの振る舞いをしないオブジェクトでもtrueと判定してしまう
逆にProxyでその内部メソッドをそっくり真似たオブジェクトを作って
振る舞い性質は完全にArrayとおなじでもisArrayはfalseなわけだし
Name_Not_Found [sage] 2020/08/05(水) 23:53:13.19ID:???
@番の考え方
Array ≡ 配列
Array Like → 配列のような(配列ではない)
Arrayではない → 配列ではない

A番の考え方
Array ∈ 配列
Array Like → Arrayのような(Arrayではない)
Arrayではない → 配列ではあるかもしれない
Name_Not_Found [sage] 2020/08/05(水) 23:56:04.04ID:???
まだ続けるのかww
いいわけがましいやつだな
Name_Not_Found [sage] 2020/08/05(水) 23:57:54.37ID:???
日本語というか最早翻訳の問題
そんなんで人を嘘つきどうこう言ってどうすんのさ
Name_Not_Found [sage] 2020/08/06(木) 00:00:22.46ID:???
のHTMLCollectionは配列とはちと違うというレスに対して
がHTMLCollectionも配列だと主張したところから始まってる

JavaScriptやってる人ならどっちが正しいかなんてみんな知ってるよね
いいわけがましいやつ以外は
Name_Not_Found [sage] 2020/08/06(木) 00:02:31.17ID:???
arrayの日本語訳が「配列」
array-like objectの日本語訳が「配列風オブジェクト」

さてHTMLCollectionは配列ですか? 配列風オブジェクトですか?
それとも配列風オブジェクトとも呼ばれる配列w??
Name_Not_Found [sage] 2020/08/06(木) 00:03:25.51ID:???

君こそが勘違い君だぞw
Name_Not_Found [sage] 2020/08/06(木) 00:07:59.70ID:???

Arrayを配列と翻訳したとしても
配列がArrayと同一とは言えないのでは?
Name_Not_Found [sage] 2020/08/06(木) 00:11:09.19ID:???
単に言葉が足りないだけだろ
足りない言葉を定義しようというのが間違ってる
「プロトタイプ」と言ったとき少なくとも2通りは思い浮かべるように
言葉というのは一対一で結びついてるものではない
Arrayの配列に関しては「Array配列」と言えばいいだろ
Name_Not_Found [sage] 2020/08/06(木) 00:13:22.36ID:???
MDNではArrayをちゃんとArrayと書いている
ttp://https://developer.mozilla.org/ja/docs/Web/API/NodeList
配列と訳していない
Name_Not_Found [sage] 2020/08/06(木) 00:14:14.31ID:???
一応フォローするとあくまでJSでの表現であって他言語出身からすると違和感あると思う
ただ俺はHTMLCollectionを配列とは絶対呼ばない
次の瞬間length変わってるかも知れないのに
Name_Not_Found [sage] 2020/08/06(木) 00:15:31.76ID:???
"Array"は配列と訳さないでしょ
じゃあ"Date"は日付と訳すのかという事になる
そういうことじゃなくてJSで配列と言えばArrayを思い浮かべるし
Arrayといえば配列だなと考えるということでしょ
Name_Not_Found [sage] 2020/08/06(木) 00:18:07.08ID:???
じゃあ俺がまとめてやろう
間を取って
HTMLCollectionは配列ではない
NodeListなら配列である
これで今回はFA
Name_Not_Found [sage] 2020/08/06(木) 00:23:54.95ID:???
むしろHTMLCollectionなんて配列じゃねーのかよってなるやつだろ
Name_Not_Found [sage] 2020/08/06(木) 01:07:20.08ID:???
jQuery使いなよ。配列でもHTMLCollectionみたいな配列っぽいものでも
同じようにjQueryオブジェクト化できて、同じように扱えるようになってるぞ
Name_Not_Found [sage] 2020/08/06(木) 01:18:07.08ID:???

MDNはボランティアによって訳されています。

型の名前としての大文字始まりのArrayは訳さず使うという気持ちはよく理解できるが
Arrayを配列と訳してる箇所も多々ある(というか訳してるほうが多い)
ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array
ttp://https://developer.mozilla.org/ja/docs/Learn/JavaScript/First_steps/Arrays
Name_Not_Found [sage] 2020/08/06(木) 01:23:00.82ID:???

違う違う
Arrayは配列なのだからArrayを配列と説明するのは当然でしょ?
自分が言いたかったのはArrayとは違うよというのを配列とは違うよと説明してないということ
Arrayが配列であるとはみんな思ってるけど
配列をArrayしか認めないかどうかで議論になっているのだから
そういうコンテキストでのニュアンスを見ないとって思ったけど
もうどうでもいいけど
Name_Not_Found [sage] 2020/08/06(木) 03:55:05.57ID:???

Lodash を使った。
これは難問

const grouped_ary = _( data )
.groupBy( item => item.team ) // チーム名でグループ化する

// 各グループを、pt の最も大きいもので、ソートする。=> {team:'b',pt:6}
.sortBy( group => _.maxBy( group, 'pt' ).pt )
.reverse( ) // pt の大きい順
.value( )

// 各グループ内で、pt の大きい順にソート
grouped_ary.forEach( group => group.sort( ( a, b ) => b.pt - a.pt ) )

res = _.flatten( grouped_ary ) // 2 × 3 の配列を、1つの配列にする
console.log( res )
620 [] 2020/08/06(木) 06:47:50.26:wOuRb+I6

言わんとしてることはわからんでもないけど
広義で配列だと言いたいのでしょう
でも

const tmp = document.getElementsByTagName();

tmp.sort();
→ tmp.sort is not a function

tmp.pop();
→ tmp.pop is not a function

となったり

Array.isArray(tmp);
→ false

なわけだから
なんのエクスキューズもなくコレクションが配列だと言い張るのは
混乱の元だと思うな
620 [] 2020/08/06(木) 06:49:33.13:wOuRb+I6
配列という日本語は
特に断りがない限りArrayオブジェクトを指すものだと
一般的には考えられてると思うな、俺は

これは個人的な意見だが
Name_Not_Found [sage] 2020/08/06(木) 07:28:34.10ID:???

635
633
やりなおしてみまっす(´・ω・`)
Name_Not_Found [sage] 2020/08/06(木) 10:44:26.72ID:???

嘘つきさん、いつまで言い訳続けるの?
Name_Not_Found [sage] 2020/08/06(木) 12:11:08.43ID:???

自分が言いたいのは
array-likeを配列と積極的に認めろと言うことじゃなくて
最初の騒動見てて、確かにarray-likeは配列ではないといいきるのはどうかなと思ったから
配列だと言い切るのも配列でないと言い切るのも慎重にした方がいいんじゃないかな
ってくらいだよ
Name_Not_Found [sage] 2020/08/06(木) 13:03:12.39ID:???
まったく実用にならない。
禅問答なら寺でやれ。仕事の邪魔。
Name_Not_Found [sage] 2020/08/06(木) 13:36:49.70ID:???
仕事の邪魔ww
Name_Not_Found [sage] 2020/08/06(木) 14:26:10.52ID:???
ttp://https://sleazyfork.org/en/scripts/2641-imagehost-redirect/code
このimagehost redirectというコードなんですが、ロダのインプットタグをスキップ出来るというものです。これはどうやってスキップしているでしょうか?
少し古いもんですが、、、
Name_Not_Found [sage] 2020/08/06(木) 14:28:29.38ID:???
一番したでボタンでクリックさせているようですが、それだけでは上手く動作しないサイトが多いですね、、、対策されると無理なんでしょうか
Name_Not_Found [sage] 2020/08/06(木) 14:55:23.68ID:???

functionで定義されてる関数をそれぞれ見ていけばどうやってるかわかるでしょ

もしわからないようなら潔く諦めて
もう少しJSとWeb APIを勉強してから出直したほうが良いと思うよ
Name_Not_Found [sage] 2020/08/06(木) 16:23:19.51ID:???
分からないです
インプットタグを取得してclickだけで行けるとおもってtampermonkeyで試したんですが、上手くいかんです
Name_Not_Found [sage] 2020/08/06(木) 16:34:28.32ID:???
質問:どうやってるんですか
回答:見ればわかるだろ、わからないなら勉強しろ

見てわかるならこのスレに来ないと思うが
わからないなら勉強しろというならこのスレは何のためにあるのか
Name_Not_Found [sage] 2020/08/06(木) 16:52:16.07ID:???

どこを見ればいいかのちゃんと教えてるじゃん

function imageHasId(imageid){
var image = document.getElementById(imageid);
if(image != null){
window.location.assign(image.src);
}
}

例えばimageHasId()ならwindow.location.assign()を使ってる
もし上のコード見てもそれが理解できないなら勉強して出直したほうが良いよって話
Name_Not_Found [sage] 2020/08/06(木) 16:53:37.39ID:???

上手くいかない原因と、他人のスクリプトがどういう原理で動いているかは別の問題

上手くいかない原因が知りたいなら
自分の書いたスクリプトと対象サイトのURLを公開しないと誰にも相手にされないよ
Name_Not_Found [sage] 2020/08/06(木) 17:01:22.65ID:???
著作権の心配があるってのはコードの著作権のことじゃなく
著作権法上問題になりかねないサイトからコンテンツをダウンロードしようとしてるので
URLは開かせないってことだったのか

やっと理解できた
Name_Not_Found [sage] 2020/08/06(木) 17:55:32.20ID:???

まずターゲットのサイトを定めてから質問してくれ
URLに問題があるなら練習がてら無難なサイトを選べばいい
色んなサイトで上手く行きませんて言われても色んな可能性があるねとしか答えようがない
Name_Not_Found [sage] 2020/08/06(木) 19:02:39.51ID:???
,681,682
それだけ無駄レス書く隙あったらコードよこせコラ
Name_Not_Found [sage] 2020/08/06(木) 19:10:27.06ID:???

2chで手取り足取り聞こうとするな
時代遅れ野郎が
動画配信サイトで作業風景公開して
やってきた人に聞けばいいだろ
Name_Not_Found [sage] 2020/08/06(木) 19:38:22.55ID:???
昨日のArray.reduceの者です
いまjsfiddleでArray.reduceのコールバックの引数を
コンソールに表示して値の変化を見ているのですが
最後のaccとresultとでは要素の順番が違うのはなぜでしょうか
どこでソートされているのかわからない…
ログの順番が狂っているとしか思えないのですが

ttp://https://jsfiddle.net/76obhsdu/
Name_Not_Found [sage] 2020/08/06(木) 20:56:52.97ID:???
accは配列じゃなくてオブジェクト
オブジェクトの順序はややこしいので割愛するが
文字列キーの挿入順は保存されてる
Name_Not_Found [sage] 2020/08/06(木) 21:03:22.50ID:???
便乗して質問です。reduceはわかりづらく遅いのですが
あえてreduceを使う必要はあるのでしょうか?
Name_Not_Found [sage] 2020/08/06(木) 21:04:04.81ID:???
面倒くせぇけど一応補足しとくか
日本語ですがArrayとObjectのことです
Name_Not_Found [sage] 2020/08/06(木) 21:18:35.10ID:???
ややこしい?
ルールは単純明快な2つだけでしょ
Arrayのインデックスとして有効な数字キー
つまり0から2**32-2までの数値での数字キーが先に順番に列挙されて
その後は挿入順ってだけでしょ

これくらいがややこしいとか言う人はそもそもPCやスマホ使って
このサイト見ることすらできないでしょ
Name_Not_Found [sage] 2020/08/06(木) 21:50:29.65ID:???
いちいち罵倒してマウント取らないと補足してやれないのか
Name_Not_Found [sage] 2020/08/06(木) 21:50:30.54ID:???
いつものマウンティングゴリラさん乙
Name_Not_Found [sage] 2020/08/06(木) 21:50:49.96ID:???
ああー被った
Name_Not_Found [sage] 2020/08/06(木) 22:05:58.26ID:???
ふざけんな!ゴリラは森の賢者と呼ばれるほど温厚で賢い生き物なんだぞ!
Name_Not_Found [sage] 2020/08/06(木) 22:06:14.77ID:???

そういうつもりは無いんだけど
どこのどの言葉が罵倒だと思った?
意識して否定的な言葉書いてないんだけど

ややこしい?
いやそれはややこしそうと思ってるだけで
実際はほら簡単に考えたら簡単でしょ
って言いたいだけなんだけど
Name_Not_Found [sage] 2020/08/06(木) 22:07:01.60ID:???
日本ではイケメンゴリラが人気なんだぞ!
お前らよりも
Name_Not_Found [sage] 2020/08/06(木) 22:10:09.70ID:???
え?イケメンゴリラと結婚した人なんているの?
Name_Not_Found [sage] 2020/08/06(木) 22:15:52.09ID:???
あれが否定的でないと思えるとは
なかなかのブサイクゴリラ
Name_Not_Found [sage] 2020/08/06(木) 22:21:01.02ID:???

すまんね
仕様にもっと気軽に慣れ親しんでもらおうと思ってて
ひょうきんさを出しすぎたのかもしれない
素直に謝るわ
Name_Not_Found [sage] 2020/08/06(木) 22:22:01.30ID:???
謝れるゴリラは評価する
Name_Not_Found [sage] 2020/08/06(木) 22:25:28.48ID:???
彼は身長190cm BMI40
平均的ハゲ猿である
Name_Not_Found [sage] 2020/08/06(木) 23:38:48.40ID:???

基本的に、他人のサイトを解析している香具師は、不可能だと思うこと!

CORS で禁止されているかも知れないし、
簡単にクロスドメインアクセスできないだろ

例えば、VSCode の拡張機能の、open in browser と、Live Server の違い

URL を見れば分かるが、
前者はサーバーを立てずに、直接ローカルファイルへアクセスするから、クロスドメイン禁止で、
後者はサーバーを立てて、サーバー内のHTML からアクセスするから、OK

これが、web開発では、サーバーを立てるのが必須と言われる理由

他にも、ほとんどのサイトは、動的に、JavaScript(ajax)でページが作られるから、
Selenium Webdriver で実際のブラウザを操作しないと、要素が取れない

5ch みたいに、空のHTML を送ってきてから、
Ajaxで、ページの内容を取得しているようなサイト

しばらく待たないと、ページの内容が存在しない
Name_Not_Found [sage] 2020/08/06(木) 23:47:50.99ID:???
Rubyガイジフィルタが発動して見れない
Name_Not_Found [sage] 2020/08/07(金) 00:36:48.06ID:???

どういう設定にしたらこれ弾けるの?
Name_Not_Found [sage] 2020/08/07(金) 05:39:11.38ID:???
了解しました
Name_Not_Found [sage] 2020/08/07(金) 07:50:11.02ID:???

改行の数と句読点の数で正規表現とか?
あとは「漏れ」かな?
Name_Not_Found [sage] 2020/08/07(金) 08:16:02.91ID:???
次スレはワッチョイ導入で
Name_Not_Found [sage] 2020/08/07(金) 08:26:00.58ID:???

「香具師」や「selenium」も使えそうだね
Name_Not_Found [sage] 2020/08/07(金) 12:47:13.68ID:???

歴史を繰り返すな
一番栄えてたころ何度もid表示スレが分裂したが結局無くなった
今それをやったら完全におわる
Name_Not_Found [] 2020/08/07(金) 13:17:56.91:jMEzpgrG
なんで嫌がるんだろう
別に困ることもなかろうに
Name_Not_Found [sage] 2020/08/07(金) 15:01:29.06ID:???
id無いと不便じゃね?
だれがだれかわからなくなる
Name_Not_Found [sage] 2020/08/07(金) 15:16:21.67ID:???
それ本気で言ってる?
お前ら5chに右も左も分からない一見さんが
質問してくると思ってるのか?

きちんとコードを貼って質問できるサイトがたくさんある中で
こんな掲示板に書き込む奴は普通の奴では無い事は分かるだろ

ぶっちゃるとここは程度の低いでっち上げの質問と騙りあい、
そして時々馴れ合いで成り立ってるスレなんだよ
もう燃えカスがなんとかくすぶって持ってる状態なの

JSやWeb自体が発展段階で、敵も多かったころは
オタクが集まるこのスレが機能してたが
今はかつての思い出を懐かしんで
スレに帰ってきた人が駄弁ってるスレなんだよ

ここが本当に質問する為のまともなスレとして
成り立ってると思うやつは頭が残念だし
ましてやまともな質問スレに直せると
思ってるのだとしたらヤバいね
Name_Not_Found [sage] 2020/08/07(金) 16:00:29.05ID:???
俺分かってますアピールするゴリラ
Name_Not_Found [sage] 2020/08/07(金) 16:50:11.38ID:???
賢い
Name_Not_Found [sage] 2020/08/07(金) 17:42:33.32ID:???

ウホッ!ウッホウホウホ!ウッホッホ!!
Name_Not_Found [sage] 2020/08/07(金) 18:05:45.03ID:???
ぼくゴリラ
ウホウホウッホ
ウホウホホ
ウホウホウッホ
ウホウホホーイ
Name_Not_Found [sage] 2020/08/07(金) 19:20:37.83ID:???

ウホッ!ウッホウホウホ!ウッホッホ!!
Name_Not_Found [sage] 2020/08/07(金) 19:23:06.38ID:???
質問内容が間違っている
ここはアスペや粘着質な奴らが多いのだから
常人に聞いたら面倒くさくて相手にされないような
仕様の細かくて深いことを質問しに来るべき
Name_Not_Found [sage] 2020/08/07(金) 20:44:16.77ID:???

ウホッww
Name_Not_Found [sage] 2020/08/07(金) 21:02:50.76ID:???

>ここはアスペや粘着質な奴らが多いのだから

ウホウホブーメラウホッww
Name_Not_Found [sage] 2020/08/07(金) 21:14:43.85ID:???

ウホッ!ウッホウホウホ!ウッホッホ!!
Name_Not_Found [sage] 2020/08/07(金) 21:41:19.71ID:???
↑こういうゴミNGできるからidあったほうがいいやな
ワッチョイはいらんけど
Name_Not_Found [sage] 2020/08/07(金) 21:44:03.94ID:???
どうせIDは1日で変わる
スルースキルを付けな
Name_Not_Found [sage] 2020/08/07(金) 21:44:24.99ID:???
IDは変更できるのにどうやってNGにするの?
毎回見つけるたびにIDにしていくの?
Name_Not_Found [sage] 2020/08/07(金) 21:47:58.67ID:???
ウホッ!!ウホッ!!(ゴリラをNGにするにはウホをNGワードに設定するウホッー!)
Name_Not_Found [sage] 2020/08/07(金) 23:29:12.28ID:???
だからID意味ないよねw
Name_Not_Found [sage] 2020/08/08(土) 10:27:52.04ID:???
IDもワッチョイもIP(プロバイダ含む)もその気になればすぐに簡単に切り替えられるからな
Name_Not_Found [sage] 2020/08/08(土) 10:40:12.10ID:???
出すのにコストかかるなら無駄だからやめとこうというのは分かるがなーんもかからんからな。よし次はID付きで立てよっと。
Name_Not_Found [sage] 2020/08/08(土) 11:39:17.75ID:???
ID付きで立てるのは構わんが
みんなID無しスレに行って過疎っても最後まで責任を持ってメンテしなよ
Name_Not_Found [sage] 2020/08/08(土) 13:12:08.06ID:???
IDのホントとウソ

IDがあれば同じ人だとわかる
→ほぼ正しい(極稀にかぶることがある)

IDがあれば荒らしが書き込めなくなる
→荒らしは気にせず書き込む

IDがあればNGするのが簡単
→IDは簡単に変更できる

IDがあれば自作自演が防げる
→自宅とスマホ等で2つ以上のIDを使い分けられる

IDがあればNGにできる
→NGにした人は荒らしの発言が見えなくなるので反論ができなくなり
NGにしてない人は普通に見えるため、荒らしの発言力が大きくなる
Name_Not_Found [sage] 2020/08/08(土) 13:54:19.76ID:???
IDに反対する意味がわからん自演したいの?
Name_Not_Found [sage] 2020/08/08(土) 14:07:07.69ID:???
個人的にはどっちでもいいけど、IDに粘着してくるヤツとか居るしなぁ
IDってコテみたいなもんだからな
Name_Not_Found [sage] 2020/08/08(土) 14:41:41.53ID:???

自演する奴はID変えるぞ


それな
Name_Not_Found [sage] 2020/08/08(土) 15:03:21.91ID:???

自演で成り立ってるスレだから
Name_Not_Found [] 2020/08/08(土) 15:10:33.86:WiTJVoId
現状でもみんなID出さない時点で
ID出るだけでも良くはなるんじゃない?

IDやワッチョイ使ったあぼーんっていい機能だと思うんだよね
書いてる本人は気づかないけど
こっちは見なくて済む
誰も損しない
Name_Not_Found [sage] 2020/08/08(土) 15:15:32.42ID:???
IDとワッチョイに反対する奴は荒らし
これは真理
Name_Not_Found [sage] 2020/08/08(土) 15:31:13.50ID:???
IDとワッチョイあるスレでjQueryおじさんいなくなったか?
Name_Not_Found [sage] 2020/08/08(土) 15:32:26.94ID:???
少なくとも Ruby とか jqueryとかのやつ見つけ次第NGできるのは便利
Name_Not_Found [sage] 2020/08/08(土) 15:33:51.35ID:???
書き込むたびに毎回ID変えてるんだけど?w
Name_Not_Found [sage] 2020/08/08(土) 16:13:19.43ID:???
昔みたいに大事なレスが埋もれるくらい勢いがある時ならまだしも
過疎ってる今は絶対に不要
このスレの息の根を止める行為にしかならん

大前提としてまともな人は5chで質問も解答もしない
Name_Not_Found [sage] 2020/08/08(土) 16:18:20.21ID:???
そんなろくでもないスレなら消えたって良いやん
Name_Not_Found [sage] 2020/08/08(土) 16:25:10.62ID:???
まぁ、そもそも大して荒らされてるとは思ってないってのはある
Name_Not_Found [sage] 2020/08/08(土) 16:35:25.67ID:???

ろくでもないスレだけど
数スレに1度くらいは実りのある話が出るので
存続させてる意味がある
Name_Not_Found [sage] 2020/08/08(土) 16:38:02.31ID:???
IDいるかどうかのレスばかりで埋まるスレなんてそもそもいらないんじゃないか
Name_Not_Found [sage] 2020/08/08(土) 16:39:55.93ID:???

真理だが、ここはゴリラのために必要
他の箇所に出てこられたら困る
Name_Not_Found [sage] 2020/08/08(土) 16:44:54.76ID:???

お前もコテつけてくれよ
Name_Not_Found [sage] 2020/08/08(土) 17:03:46.26ID:???
多くの人にとって不要だからという理由で取り潰せるのなら
世の中の多くのものが無くなる
Name_Not_Found [sage] 2020/08/08(土) 17:20:40.73ID:???

ガイジ死ね
Rubyスレはなんのためにあるんだよ
Name_Not_Found [sage] 2020/08/08(土) 17:28:03.54ID:???
ID付きにしろとか言う割には
お前らID出さないよなw
Name_Not_Found [sage] 2020/08/08(土) 17:35:47.01ID:???
ID出すってどうやるの?
Name_Not_Found [sage] 2020/08/08(土) 17:39:36.68ID:???
ごく少数の人が必要性を主張しているからと言ってそれを大多数に押し付けることはおかしい
少数意見は否定されるべきではないが、多数派と独立して存在すればいいだけの話で多数派に少数派の意見を強要するのは間違っている
Name_Not_Found [sage] 2020/08/08(土) 17:44:43.91ID:???

ID出ないスレなんかほとんどないから普通は知らないし面倒だよな

メルアド欄のsageを書き換えるんだ



デフォで非表示だからそうしてるだけで多数派ではないし支持派が自演して多数に見えてるだけ
Name_Not_Found [sage] 2020/08/08(土) 17:54:51.36ID:???

それ言い出したら、ID出してない時点でどっちもどっち
Name_Not_Found [hage] 2020/08/08(土) 18:24:21.78ID:???

どっちか一方だとどっちかが押し付けたことになるから両方立てればいいだけの話

で、メール欄を書き換えたけど
Name_Not_Found [] 2020/08/08(土) 18:40:21.26:FFaHJX3J
空欄にするんだっけ?
Name_Not_Found [sage] 2020/08/08(土) 19:15:59.90ID:???
分裂して両方本家を名乗るからお家騒動になってみんなが混乱する
別スレとしてpart1からスタートする分には勝手にやれば良い
Name_Not_Found [sage] 2020/08/08(土) 20:11:51.11ID:???

お前大丈夫か?
Name_Not_Found [sage] 2020/08/08(土) 20:12:44.06ID:???
ID非表示が嫌ならsageをNG登録すればいいだけじゃないか
Name_Not_Found [sage] 2020/08/08(土) 20:13:37.68ID:???
つうかIDよりももっと大事なことがたくさんあるだろ
白骨化してるテンプレを片付けるとかさ
Name_Not_Found [sage] 2020/08/08(土) 20:42:36.79ID:???
それより全然JSの質問がないじゃないか
そっちのほうが問題だろ
Name_Not_Found [sage] 2020/08/08(土) 21:10:25.07ID:???
確かにここがイケイケのプログラマが集って
ドヤ解答するためのスレなら問題になるが

実際はここは自ら学びたいというやる気のある人が
気難しく偏屈な仙人たちの知恵を借りに来るための場所だから
基本的に静かなのは問題にならない
Name_Not_Found [sage] 2020/08/08(土) 21:30:46.74ID:???

お前まじでキモい
Name_Not_Found [sage] 2020/08/08(土) 21:36:58.19ID:???
不必要なマウンティングと
くだらない言い訳を垂れ流すしかできないゴリラに
「気難しく偏屈な仙人」を自称されても失笑しかできない
Name_Not_Found [sage] 2020/08/08(土) 21:49:18.11ID:???
お前が爆笑しようが失笑しようが知ったこった無いんだが
お前の行動を一々ここで報告しなくていいよ
Name_Not_Found [] 2020/08/08(土) 21:59:55.76:1I57jQoT
Ext.onReady( ( ) => {

let store = new Ext.data.JsonStore( {
autoLoad : true,
url : 'test.cgi',
root : 'root1',
fields : [ 'hoge' ]
});

let val
// ココ
store.on( 'load', ( store, rec ) => {
let record = rec[ 0 ]
val = record.get( 'hoge' )
console.log( data )  ← ちゃんと値が取れる。
return val
} )

console.log( val )  ← undefind
} )

スコープについて教えてください。
Ext JSを使用しています。
ココのイベント関数から、変数valに値をコピーしたいのですが、
グローバルvalにコピーできません。

どうすればグローバルvalにコピーできるのでしょうか。
Name_Not_Found [sage] 2020/08/08(土) 22:26:18.56ID:???
スコープの問題じゃないね。

let val
console.log( val ) //=> undefined
val = 'unko'

unkoって表示されません!
これは分かるよね?

let val
setTimeout(() => {
val = 'unko'
}, 1)
console.log( val ) //=> undefined

unkoって表示されません!
これは分かるかな?
Name_Not_Found [] 2020/08/08(土) 22:33:17.33:1I57jQoT
どうしてそうなるのでしょうか。
Name_Not_Found [sage] 2020/08/08(土) 22:42:13.22ID:???
valに代入するタイミングがvalを表示するタイミングより遅いからです。
オナニーしてから風呂に入るつもりが、
風呂に入ってからオナニーしていた。
なぜチンコが臭いのでしょうか?
と聞いているのと同じ。
Name_Not_Found [] 2020/08/08(土) 22:52:50.96:1I57jQoT
分かりたいですが、分かりそうにありませんので出直します。
Name_Not_Found [sage] 2020/08/09(日) 00:03:00.45ID:???

いつもドヤってるやつが自称仙人は確かに気持ち悪いな
Name_Not_Found [sage] 2020/08/09(日) 00:44:53.50ID:???
とても初心者的な質問ですいません

Javascriptのソースをjsに変えたいのですが、
(デコードとかエンコードとか言うのですか??)
どうすればよいか教えていただけませんか

以前海外のフリーサイトで
左側にJavascript でボタンを押すとjsに変換してくれる
サイトがあったような。。。
パソコンを再インストールしてうっかりそのサイト情報を消してしまいました

説明べたですいません お願いします
Name_Not_Found [sage] 2020/08/09(日) 00:51:35.06ID:???
用語がメチャクチャで質問内容が読み取れない。
jsはJavaScriptの略でファイルの拡張子にも使われる。あるいは女子小学生。
Name_Not_Found [sage] 2020/08/09(日) 01:00:12.23ID:???

非同期処理だろ

1秒後の処理を、キューに登録しているだけで、実際には実行されていない

登録しただけで、下の処理に進んでいるから、
下の処理の方が、先に実行される
Name_Not_Found [sage] 2020/08/09(日) 01:28:46.85ID:???

JavaScriptは単なるテキストファイルなので変換する必要なんてない
windowsなら拡張子表示する設定にしてファイル名弄るだけ
Name_Not_Found [] 2020/08/09(日) 01:30:02.97:bc9UsugS
typescriptかbabelかの話ではないのかな
Name_Not_Found [sage] 2020/08/09(日) 02:42:14.86ID:???
自覚症状ありありで
突っ込み満載間無質問にもかかわらず
アドバイスありがとうございました


大いに参考になりました
問題も解決しました ありがとうございます
Name_Not_Found [sage] 2020/08/09(日) 09:57:13.75ID:???
java(jsp)の文字列型の配列を、
javaScriptに設定することってできないでしょうか?

文字列は下記みないな感じで渡せました。

<%
String strJsp = "test1";
%>
<scirpt>
<!--
var tinko = <%= strJsp %>;
alert(tinko);
-->
</script>

こんな感じで配列を渡したいです。
代案等でもいいので教えてもらえればと思います。

分かりづらかったらすみません。
Name_Not_Found [sage] 2020/08/09(日) 10:19:16.49ID:???
java側で配列をjson文字列にシリアライズしてそのjson文字列をjavascriptに渡す
javascript側で受け取ったjson文字列をJSON.parseでデシリアライズすると配列に戻る
はず。
javaでjsonにシリアライズはjavaスレで聞いてねここjavascriptスレなので。
まあgsonかjackson使うんだろうけど。
Name_Not_Found [sage] 2020/08/09(日) 11:28:07.99ID:???

多分頭のいい人や経験豊富の人なら
色々なスレで少しずつ聞いたことをあわせられるのですが
私にはできそうにないです。

あまえてるようですみません。
Name_Not_Found [sage] 2020/08/09(日) 12:06:48.67ID:???
じゃこのjavascript質問スレでjavaの質問に答えられる人が来るのを気長に待つんだね。効率悪い解決方法だと思うけど。

サーバーサイドの言語がなんであれ、クライアントサイドはjavascriptしかないわけだから、その言語でサーバーサイドやってる人はjavascriptの接点に関する知識も持ってるわけ。

対してjavascriptやってる人がサーバーサイド作るときの言語の選択肢は無数にあるわけ。だからこのスレの回答者が必ずjavaの知識も持ってるかというと全然そんなことはないわけ。

だからjavaスレで質問するほうが効率よいので勧めたわけだけど。
Name_Not_Found [sage] 2020/08/09(日) 12:08:57.79ID:???
すみませんわかりました。
Name_Not_Found [sage] 2020/08/09(日) 12:36:15.85ID:???

Javaの質問はどれ?
Name_Not_Found [] 2020/08/09(日) 13:59:53.84:qRpRMPdU

JSPをデバッグしたいなら
素直にeclipseとか使いなよ
Name_Not_Found [sage] 2020/08/09(日) 14:26:06.00ID:???
ご無沙汰しております。計算機を作りたいのですが、
計算機といっても2chのトリップの出現確率を表示する計算機を作りたいのです。
そこで、みなさんのお力をお借りしたいと思いまして質問いたします。

htmlのイメージとしては↓(空欄に数字を記入し、◎を選択する)
  検索文字列   大文字小文字の区別  位置の指定    速度
┌─────┐                               ┌───┐      
│          │   ◎ なし          ◎ どこでも  │      │trips/s
└─────┘   ◎ あり           ◎ 前方    └───┘
                            ◎ 後方
 ┌──┐
 |決定|
 └──┘
      ┌──────┐
 結 果|            │
      └──────┘


↑検索文字列に探したいトリップを入力し、◎を一つ選択、速度にPCの検索速度を入力し、決定を押す
すると、結果にトリップ検索時間(平均値)を出力する計算機を作りたいのです。
ただ、5chトリップのトリップは、A-zの52文字、0-9の10文字、. / と2文字、合わせて64文字しか使えません。
また、トリップは◆ThinThinKYのように10文字で構成され、
しかも10文字目には.26AEIMQYcgkoswの16文字しかでません。
これ以外の時は結果にエラー表示をしたいのです。
みなさんの助言をお願いします。
Name_Not_Found [sage] 2020/08/09(日) 15:13:20.18ID:???
JSのコードって他人に見られるから難読化ってあるけど
逆に見た人を楽しませるような芸術化ってなんで無いんだろう?
例えばコードの挙動を保ったままAA作ったりできるツールって誰か知らない?
Name_Not_Found [sage] 2020/08/09(日) 15:33:27.33ID:???

何をしたいのかよくわからない

どの言語でもプログラムの設計ってのは
メインとなる関数のシグニチャと外部仕様を考えることから

>トリップの出現確率を表示する計算機を作りたいのです。
>トリップ検索時間(平均値)を出力する計算機を作りたいのです。
トリップの出現確率を表示するのとトリップ検索時間(平均値)を出力するのはどう関連してるのか?
トリップの出現確率とは?
トリップ検索時間とは?

JavaScriptでどう実現すればいいのかという問題にまで落とし込んでから
このスレで聞いたほうがいいと思うぞ
◆190094958431 [sage] 2020/08/09(日) 15:53:25.96ID:???
テス
Name_Not_Found [] 2020/08/09(日) 16:29:33.71:2PWDsrOE

海外ドラマ「ロズウェル」で出てきた宇宙人役のかわいい女の子テスのこと?
Name_Not_Found [sage] 2020/08/09(日) 17:03:06.41ID:???
ひゃい
Name_Not_Found [sage] 2020/08/10(月) 06:34:29.99ID:???

Ruby では、ERB というテンプレートエンジンで、あらゆる種類のテキストに埋め込める

<% 構文 %> で、構文を解釈するが、表示しない。
<%= 式 %> で、式を実行して値を表示する

<% ary = [ "ab", "あ" ] %>

<scr@ipt>
var ary = <%= ary %>;
alert( ary );
</scr@ipt>

Spring Boot のテンプレートエンジンなら、Thymeleaf とかだろ。
プログラム板のJava のスレで聞いてみれば?

スクリプトタグは書き込めないので、<scr@ipt></scr@ipt> の@を削除して
Name_Not_Found [sage] 2020/08/10(月) 09:00:54.85ID:???
いやー
素直にJSP側は配列をJSONで吐くAPI作って
JS側はそれを読みにいった方が良さそうな
まあ何をしたいのかにもよるけど
Name_Not_Found [sage] 2020/08/10(月) 09:05:08.94ID:???

JSPだつってんだろが糞カスぶっ殺すぞ
Name_Not_Found [sage] 2020/08/10(月) 10:10:25.22ID:???
こんばんは、
質問です。
textareaを使ったエディタを改造して、入力補完をできるようにしています。
ただ、補完された内容をtextareaに挿入すると、妙な位置にキャレットが移動してしまいます。
これを解決するにはどのようにすればいいでしょうか、教えてください。

function puttext(){
text = document.getElementById("area").value;
temp = text.substr(0, 10);
temp += "hoge";
temp += text.substr(10);
document.getElementById("area").value = temp;
}

<textarea id="area" onkeydown="puttext();" rows = "20" cols="100">
mogemoge
</textarea>
Name_Not_Found [sage] 2020/08/10(月) 10:38:44.85ID:???

selectionを使って
キャレットもコントロールするとよろし

ただしスクロールに癖があるから
その辺のノウハウはおググりください
Name_Not_Found [sage] 2020/08/10(月) 13:17:49.67ID:???
ブラウザー自体をタスクバーを含まないフルサイズサイズで
動的にリサイズしたいのですができません

opener.resizeTo(screen.availWidth+","+screen.availHeight);
674 [sage] 2020/08/10(月) 14:15:06.71ID:???
674です
界隈で相談にのってくれた皆様

今、解決出来ました〜!!!

皆さん、本当にありがとうございました
どの方のアドバイスもすごい参考になりましたが
その中で、解決の決め手になったのは


例えばimageHasId()ならwindow.location.assign()を使ってる
もし上のコード見てもそれが理解できないなら勉強して出直したほうが良いよって話
という、アドバイスでした

Imagehostのマニュアルを必死に読んでいたときに
これと同じことを指摘してくれた方がいて、その具体的方法を
アドバイスしてくれて、そしたら(とりあえず)Imagehostを取り入れなくても
希望が叶うことになったのです

ロダのインプットタグをスキップするのは無理だということが判り
直接ダウンロードできるURLを解析してリファラーなどを細工し
それから落とすという方法に落ち着きました

皆さん。本当にありがとうございました
(* ̄◎ ̄*)ぶっっちゅうううん♪
674 [sage] 2020/08/10(月) 14:16:29.15ID:???

あ、興奮のあまり、割り込んじゃってすみませんでした
もうとっくに話題は変わってるというのに
Name_Not_Found [sage] 2020/08/10(月) 14:58:43.85ID:???

昔は色々できたんだがな
それ使って悪さする奴続出してできなくなった
Name_Not_Found [sage] 2020/08/10(月) 21:43:24.11ID:???
var jet = new Image();
jet.src="images/jet.png";
var canvas1 = document.getElementById("canvas1");
var ctx1 = canvas1.getContext("2d");
jet.onload = function(){
ctx1.drawImage(jet,0,0,360,270);
imagedata1 = ctx1.getImageData(0,0,360,270);
for (i = 0; i < 388800; i++) {
if (i % 4 == 0) {
imagedata1.data[i] = Math.floor(1.5*imagedata1.data[i]);
if(imagedata1.data[i]>=255){imagedata1.data[i]=255;}
}
if (i % 4 == 1) {
imagedata1.data[i] = Math.floor(0*imagedata1.data[i]);
}
if (i % 4 == 2) {
imagedata1.data[i] = Math.floor(1*imagedata1.data[i]);
}
if (i % 4 == 3) {
imagedata1.data[i] = Math.floor(1*imagedata1.data[i]);
};
};
ctx1.putImageData(imagedata1,50,0,50,50,260,170);
}

canvasですが質問させてください。
愛用している旧operaでは画像フィルタがかかるのですが、
新しいchromeでは画像フィルタがかかりません、何故なんですか?
Name_Not_Found [sage] 2020/08/11(火) 02:56:46.68ID:???
最初の4行の順番を変えれば?

var canvas1 = document.getElementById("canvas1");
var ctx1 = canvas1.getContext("2d");

var jet = new Image();
jet.src="images/jet.png";

元のコードでは、jet.src に代入した後、
その後の2行よりも先に、jet.onload が呼ばれると、
ctx1 が定義されていないから、まずいのでは?

F12 開発者ツールのコンソールに、エラーが出ていないか?

それと、if よりも、switch を使った方が、可読性が高い

switch ( i % 4 ) {
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
}
Name_Not_Found [sage] 2020/08/11(火) 06:27:27.42ID:???
こういうことは100%起きない
>> 元のコードでは、jet.src に代入した後、
>> その後の2行よりも先に、jet.onload が呼ばれると、
>> ctx1 が定義されていないから、まずいのでは?
799 [sage] 2020/08/11(火) 07:43:10.69ID:???
そういうことは起きないのか

よく、タイミングのせいで、画像が読み込めたり読み込めなかったりする、アプリがあるので
Name_Not_Found [sage] 2020/08/11(火) 12:41:40.16ID:???

新しめのブラウザは鯖建てずにローカルでやると同じフォルダに置いてようがcrossorigin扱いになってしまうのでgetImageDataが弾かれる
Name_Not_Found [sage] 2020/08/11(火) 13:22:16.94ID:???
質問があります。
window.screen.widthを利用してスマホかどうか判断することは可能でしょうか?
Name_Not_Found [sage] 2020/08/11(火) 13:35:09.41ID:???
PCでブラウザ幅狭くしたらどうなるか考えろよ
Name_Not_Found [sage] 2020/08/11(火) 14:01:14.98ID:???

ブラウザの幅をどう変えようとも
window.screen.widthは固定値だと思います。
Name_Not_Found [sage] 2020/08/11(火) 14:21:18.03ID:???
なぜスクリーン解像度でスマホ判定できると思うのか
Name_Not_Found [sage] 2020/08/11(火) 15:18:00.09ID:???

判定出来る(かも)と書かれてたのと、
ttp://https://qiita.com/ryounagaoka/items/045b2808a5ed43f96607

自分のスマホで数値を見ても

screen.width = 360
screen.height = 780
devicePixelRatio = 4

と判定できそうだと思いました。
Name_Not_Found [sage] 2020/08/11(火) 17:19:06.35ID:???
判断することは可能だよ
その判断が正しいかどうかは知らないけど
Name_Not_Found [sage] 2020/08/11(火) 17:29:04.34ID:???
今でも普通の人は家では640×480ドットのブラウン管ディスプレイ使ってると思うけど…
Name_Not_Found [sage] 2020/08/11(火) 18:11:22.96ID:???

スマホ判定というか、PCではない判定は
タッチデバイスかどうかで頑張ってるわ
Name_Not_Found [sage] 2020/08/11(火) 19:48:45.97ID:???
PCでもタッチスクリーンあるじゃん
余計なところまで変な気を回して結局判定間違ってました、とかなるくらいなら大人しくユーザーエージェント見るだけで良さそう
Name_Not_Found [sage] 2020/08/11(火) 21:23:18.23ID:???
判断してどうするの、って話
Name_Not_Found [] 2020/08/11(火) 21:45:03.17:yr1WJfLC
初心者向けの言語にはjavascriptがお勧めとの記事をよく散見する。
でも、アセンブラ・javaの順で勉強してきた俺でもjavascriptにはかなり手こずっている。
全くの初心者にはかなりハードルが高いのではないだろうか?
マークアップ言語も必須だし。
Name_Not_Found [] 2020/08/11(火) 21:46:43.14:KtSgSaBw
ハードル高いよ
このスレ見ればわかるじゃん
初心者が質問しても罵倒するし
初心者はpythonがいいpythonやってからJSがいい
Name_Not_Found [sage] 2020/08/11(火) 21:58:05.83ID:???
JSはハードル高くないよ
ES3時代ならともかくES6以降はpythonなんかに比べるとずっと初心者向き
Javaがまともに出来るのにJavaScriptで苦戦してるなら学び方が悪いと思ったほうがいいよ

ここで質問してる人たちの大半は言語を学ぼうとしてるわけじゃなく
なんかエラー出たから解決策教えて欲しいっていう人たち
Name_Not_Found [sage] 2020/08/11(火) 22:30:38.13ID:???
JavaScript 第6版、2012、David Flanagan
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

これが有名な2冊の、サイの表紙のサイ本

Flanagan はRuby の本も書いてるけど、
Google の開発者の机には、必ず置いてあった本

こんなに分厚い本を、Googleの開発者でも、必要とするのが、JavaScript。
あまりに巨大過ぎて、普通人では絶対に読めない

Ruby なんて「たのしいRuby 第6版、2019」1冊読めば、
そこそこプログラミングできる
Name_Not_Found [] 2020/08/11(火) 22:33:18.93:7k12Alrp
「たのしいRuby」と並んで話題になる「みんなのPython」もいい本ですか?
Name_Not_Found [] 2020/08/11(火) 22:38:06.60:KtSgSaBw

何故か質問者をディスらずにいられないのがJSマン
pythonスレなら普通に教えてくれる
816 [sage] 2020/08/11(火) 22:40:41.56ID:???
みんなのPython 第4版、2017

は、昔の方が文法が多くて、良かった。
今のは、Jupyter Notebook, Anaconda の説明が増えて、プログラミングするには厳しい

パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020/6/1
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7/25

パーフェクトシリーズが、新しくなったので、
多言語をやってる人には、お勧め
816 [sage] 2020/08/11(火) 22:52:11.53ID:???
Ruby on Rails では、サーバー側がRubyで、
クライアント側が、React + Bootstrap も多いけど、

サーバー側をJavaScript(JS), Node.js にすれば、
言語が1つになるので、開発が楽になると主張する人もいるけど、

あまりに、JSは巨大だから、かえって難しくなる

だから、Rails では、Node.js, Webpack, Babel をコンパイルツールとして使っているだけ
Name_Not_Found [sage] 2020/08/12(水) 03:13:53.47ID:???

追記
初心者がいきなりマークアップ言語・DOM・プロトタイプチェーンを理解するのは
厳しいと思う。
Name_Not_Found [] 2020/08/12(水) 06:38:06.97:dcwvEswM

そう?
クソバカだった学生時代の俺でもなんとかなったんだから
賢い今の子ならサクッと覚えられそうな気もするんだけどなあ
Name_Not_Found [sage] 2020/08/12(水) 07:12:48.48ID:???

このスレは初心者用じゃないから
元々こことは別に、初心者スレと、更に手取り足取りスレがあった
ここは初心者お断りのスレ
Name_Not_Found [sage] 2020/08/12(水) 08:25:24.81ID:???
今の子供はコード書かないでプログラミングしちゃうんでしょ
文字打ってんのwwwとか馬鹿にされる時代が来るよ
Name_Not_Found [sage] 2020/08/12(水) 08:52:08.24ID:???

初心者お断りのスレなんて何処に書いてるんだよw
自称仙人のマウンティング野郎かww
Name_Not_Found [sage] 2020/08/12(水) 11:00:55.54ID:???

知的障害と境界知能は合わせて16%もいる。
世の中には割り算・因数分解すら理解出来ないひとは多い。
そう考えるとjavascriptは難しい部類に入ると思う。
オブジェクト・インタフェースの継承なんかもややこしい。
似たような用語が言語の概念を不要に難解なものにしてる感がある。
Name_Not_Found [sage] 2020/08/12(水) 11:20:22.88ID:???

そんなに多いのかよ
だからアヘの支持率が未だに35%あるんだな
Name_Not_Found [sage] 2020/08/12(水) 12:22:28.87ID:???
まさしく16%側の発言
Name_Not_Found [] 2020/08/12(水) 12:36:49.07:dcwvEswM

へーきへーき
俺なんて九九を覚えられなかったレベルだから
それでも国立工学部に入れたし
JSも書けた
要はやりようよ
Name_Not_Found [sage] 2020/08/12(水) 12:37:42.61ID:???

仙人云々は意味が分からんが道場規則は元々テンプレにあった
自分は別に今は初心者が来るなとは言わないけど
シリーズとして長く続いるのだからその空気と精神は残っている
そう思っている住人やそういう考えはちゃんと理解して尊重すべきということ
Name_Not_Found [sage] 2020/08/12(水) 12:46:44.67ID:???
JSは継承の言語じゃない
オブジェクトと移譲
この2つを抑えればJSの多くを理解できる
クラスだのインターフェイスだの
余計なこと考えると途端に難しくなる
Name_Not_Found [sage] 2020/08/12(水) 13:29:38.64ID:???

九九だってちゃんとやり方教わってやればできるようになるんでしょ
一定期間内にみんなと同じように自然にできるようにならなかっただけで
Name_Not_Found [sage] 2020/08/12(水) 15:05:55.20ID:???

JavaScriptの場合はプロトタイプチェーンを初期にきちんと理解してなくてもそこまで困らないよ
実際、理解せずに仕事で使ってるやつたくさんいる
ただどの言語でも遅かれ早かれプロトタイプチェーンやスコープチェーンに相当するものは学ぶ必要はあるけどね

初心者向きかどうかって絶対的なものじゃなく相対的なものだから
他にいい選択肢がなければ消去法で比較的初心者向きってことになる
Python+tkinterとかで学ぼうとしてるやつとかを見るとJS+HTML/CSSはかなり初心者向きだと思う
Name_Not_Found [] 2020/08/12(水) 15:14:36.99:TDtcPRQG

今でも足算してるよ
Name_Not_Found [] 2020/08/12(水) 15:17:34.05:TDtcPRQG
足算というか
たとえば7×8だったら
脳内でこういう絵が思い浮かぶ

○○○○○●●
○○○○○●●
○○○○○●●
○○○○○●●
○○○○○●●
●●●●●○○
●●●●●○○
●●●●●○○
Name_Not_Found [] 2020/08/12(水) 15:50:46.62:tAJU+2qv

そのあとどうやって7x8を計算しているんだ?
Name_Not_Found [sage] 2020/08/12(水) 18:31:36.41ID:???

返信ありがとうございます。

プロトタイプは後から学んでも良かったのですか。
私の場合は変に完璧主義な所があって、まず知識を目一杯頭に詰め込んで
資格試験に合格してからコードを書いて動かすという勉強方法をしています。
ちなみに今はHTML5プロフェッショナル認定試験レベル2の勉強中ですwwwww
Name_Not_Found [sage] 2020/08/12(水) 19:45:33.35ID:???

本当ならプロトタイプを先に学んだ方が絶対に簡単だし良い
問題は入門者向けにプロトタイプベースで解説してくれるサイトや本が皆無なこと
だから良い悪いではなく後から学ぶしかなく選択肢はない
Name_Not_Found [sage] 2020/08/12(水) 19:58:48.68ID:???
プロトタイプベース自体は簡単でしょ
一般論として用意されている仕組みをどう使うかっていうのは
長年かけて積み重ねる経験とも言えることでもあるしもちろん難しいけど、
プロトタイプベース自体はオブジェクトの素朴なイメージが
持てていさえすれば1日で理解できるでしょ

JSが関数を使ってどう旧クラスシステムを構築していて
new演算子がどういう振る舞いをするのかというようなことを細かく学ぶのは
確かに初心者には相当荷が重いよ

でもそういうことを一切抜きでObject.createか__proto__の振る舞いだけを
理解するのでもプロトタイプベースを理解したと言っていいと思うけどな
あくまでプロトタイプベース自体は素朴なもので、
それを隠蔽してやりくりするためのJSの旧クラスシステムが複雑なだけだからね
Name_Not_Found [] 2020/08/13(木) 01:30:00.33:nQ0LwsCC

丸の数数えてる
Name_Not_Found [sage] 2020/08/13(木) 01:53:22.03ID:???
2つの数字から1つの結果を出す足し算ができるのなら
2つの数字から1つの結果を出す掛け算ができない理由はない

それは単に覚えられないと信じ込んだせいで
本当に覚えられなくする回路が頭にできてしまっているだけ
でもそれは汎用的な回路ではない

左右盲の人がLRは分かることがあるように違う覚え方をすればいいだけ
「違うこと」というのは無数にあり得るので必ず覚えられるパターンが見つかる
そういうことをここまで誰にも教えられないで育ってきたとか可愛そうだな
Name_Not_Found [sage] 2020/08/13(木) 06:25:55.52ID:???
Object のプロトタイプ
ttp://https://developer.mozilla.org/ja/docs/Learn/JavaScript/Objects/Object_prototypes

簡単に言えば、1つ上(親)の階層に、定義すること

それによって、継承した場合に使えるようになる。
名前の探索チェーンに入ってくる。
子で見つからなければ、親で探す
Name_Not_Found [sage] 2020/08/13(木) 07:22:16.98ID:???

たぶんそうなんだよな
覚え方に自然に気づけなくて、他人に教わることも自分で考えることもなかったってだけで、やればどうにかなるんだと思うけど本人じゃないから何とも
まわりも馬鹿だからどうやったらできるか考えてあげられる人がいなかったんだろうね
Name_Not_Found [sage] 2020/08/13(木) 10:08:17.19ID:???
2つの数字から1つの結果を出す足し算ができるのなら
2つの数字から1つの結果を出す掛け算ができない理由はない
ただし足し算を理解してから掛け算を理解するまでは1年かかった
理解できない理由はないが、理解するのに学習と時間は必要であるということ





って、あたりまえやーーーー!
Name_Not_Found [sage] 2020/08/13(木) 10:19:01.99ID:???
どんどん抽象化していくとreduceになる
Name_Not_Found [sage] 2020/08/13(木) 10:50:13.31ID:???
どんどん分解していくとアセンブラになるし原子になる
それはわかりやすくなるということではない。むしろ逆

構成要素をそのまま使うのはわかりづらく
組み合わせて具体的なものを作ることで
より便利になるんだよ
Name_Not_Found [] 2020/08/13(木) 13:12:22.09:nQ0LwsCC

よくわかんないんだけど
九九を覚えた人は
掛け算する時に足算はしてないんでしょ?

その結果を暗記して
照らし合わせているだけで
Name_Not_Found [sage] 2020/08/13(木) 13:27:14.22ID:???
これは、算数障害だろうな。
最近、よく言われている発達障害に含まれる学習障害の一種

ttp://https://www.kobetsu.co.jp/cafeducation/futoko/article-448.html
Name_Not_Found [] 2020/08/13(木) 13:32:03.08:nQ0LwsCC

こんなのがあるのか…
九九覚えなかっただけで
算数は得意だったんだけどなあ
Name_Not_Found [sage] 2020/08/13(木) 14:05:40.81ID:???

こういう実例もある。言ってる通り
ようはやりよう。

ttp://https://www.ntv.co.jp/gyoten/backnumber/article/20190423_02.html
Name_Not_Found [sage] 2020/08/13(木) 16:18:40.62ID:???

3+3=6も3*3=9も同じ暗記じゃないか
熟語とか歌とかは覚えられるんでしょ?
だったら「さざんがく」とか覚えられない訳がないと思うが

というかが疑問なんだけど
足し算ができるのなら7*8なら7を8回足したほうが早いんじゃないの
そしてそれが高速にできるのなら実質九九が言えるってことで
暗記して無くてもほぼ掛け算できるってことになるけど
Name_Not_Found [sage] 2020/08/13(木) 16:21:46.41ID:???
数学ができるんだから別に7を8回足さなくても
7*8 → 7*(4+4) → (7+7)*4 → 14*(2+2) → (14+14)*2 → 28+28 → 56
くらいぱっとできそうなものだけど
Name_Not_Found [sage] 2020/08/13(木) 18:04:25.44ID:???
自分自身に上手く適合するアルゴリズムも考えつかない者が
人様の無理難題を叶えるアルゴリズムを考えつくはずがないので
少なくともプログラマになるのは辞めたほうがよい
Name_Not_Found [] 2020/08/13(木) 18:06:19.79:nQ0LwsCC

いや掛け算はできるよそりゃ
丸暗記しなかっただけで
Name_Not_Found [] 2020/08/13(木) 18:06:52.52:nQ0LwsCC

なぜそんな回りくどいことをw
Name_Not_Found [] 2020/08/13(木) 18:07:41.02:nQ0LwsCC

自分にフィットしたアルゴリズムがですよ
Name_Not_Found [sage] 2020/08/13(木) 18:08:18.73ID:???
流石にさんすうマウンティングは他所でやれよ
Name_Not_Found [sage] 2020/08/13(木) 19:00:34.08ID:???

丸暗記してて100%の自身を持って一目で結果がわかる人なんて少ないよ
7×8とか見たら過半数の人がしちは、ごじゅうろく
というのを思い出すと思うよ
Name_Not_Found [sage] 2020/08/13(木) 19:18:02.60ID:???
脳内でそういう絵が浮かぶというだけで実際に丸を1つずつ数えてるわけじゃないだろ
本当はできるしできてるのに俺はこういうやり方でしかできないと思いこんでいるだけ
Name_Not_Found (ワッチョイ 2f63-178q) [] 2020/08/13(木) 23:43:40.00:BM4P2Uzl0
win10,64bitです。

SaveAsでpdfをテキストへ変換する処理を作っています。
VBAからコールしています(ブラウザは使用していません)。

ファイルサイズが大きい場合は当然ですが時間がやたらかかります。
必要なのは最初の1pだけなのですが
その部分だけ変換する方法は無いでしょうか。
先頭◎ページだの◎バイトだの指定するオプションがあったら
と思いましたが見つけられませんでした。
Name_Not_Found [sage] 2020/08/13(木) 23:55:01.90ID:???
Ruby では、バイナリ読み込みで、
offset 位置に、seek して、そこから指定サイズ分だけ読み込める

binread(ファイルパス, length = nil, offset = 0) -> String | nil

でも、最初の1ページの、offset(1ページ目の始まる位置)やサイズが、どうやって分かるの?
Name_Not_Found [sage] 2020/08/14(金) 00:01:43.43ID:???
Pythonなら分かる
Rubyでは無理
Name_Not_Found [sage] 2020/08/14(金) 01:37:20.85ID:???

これ誤爆?

JS関係ないけどpdftkやpdftotextを使えば簡単にできる
Name_Not_Found [sage] 2020/08/14(金) 01:46:00.85ID:???

粘着し過ぎw
Name_Not_Found [sage] 2020/08/14(金) 10:55:59.31ID:???
もうさ、タイトルも「javascriptとrubyのスレッド」にしチャイナよ
Name_Not_Found [sage] 2020/08/14(金) 18:00:46.84ID:???
Rubyガイジが一番の粘着だろ
毎日早く死なないかなって思ってるよ
Name_Not_Found [sage] 2020/08/14(金) 21:58:52.52ID:???
スレに妖精が住み着くことは歓迎でしょ
本当に寂れたスレには妖精すら寄り付かない
Ruby君もスレがちょっと盛り上がったタイミングでいつも現れてるでしょ
目安になって丁度いい
Name_Not_Found [sage] 2020/08/15(土) 00:25:23.95ID:???
jQueryおじさんと呼ばれたが、今度は妖精かw
Name_Not_Found [] 2020/08/15(土) 03:30:36.02:PyGPFAAO
どっちにしろ次スレはIDとワッチョイつくから
好きな人はそのままにすればいいし
嫌いな人はNGすればいいから
もうこんなことで揉めることもなくなろう

誰も損しない
Name_Not_Found [sage] 2020/08/15(土) 03:54:46.96ID:???

本当の妖精とは違うんだけどね
本当の妖精は宣伝でも自己主張でもないけど
格別なレスを残していく異質な存在

jQuery厨やRuby厨はけしてそんな訳のわからない物ではないが
本物の妖精はもう何年も見なくなって寂しいので
仕方なくちっちゃな妖精ということにして気分をもり立ててるだけ
Name_Not_Found [sage] 2020/08/15(土) 03:58:20.94ID:???

世迷言を言う
懲りないねえ
若さかな?
Name_Not_Found [sage] 2020/08/15(土) 05:50:18.13ID:???

本物の妖精とか、実在するとでも思ってんのか?w
元から物語の中だけのものですよ
Name_Not_Found [sage] 2020/08/15(土) 06:05:02.43ID:???

君も一度見たら分かる
まあもうこの板で見ることは無いかもしれないが
Name_Not_Found [sage] 2020/08/15(土) 07:12:58.45ID:???
Rubyガイジの登場でスレの盛り上がり判定とかRubyガイジ以上のガイジだわ
Name_Not_Found [sage] 2020/08/15(土) 09:28:40.01ID:???
ガイジに反応するやつはガイジ
Name_Not_Found [sage] 2020/08/15(土) 10:19:48.76ID:???
自己紹介か
Name_Not_Found [sage] 2020/08/15(土) 10:34:18.94ID:???
ttp://https://w3techs.com/technologies/history_overview/javascript_library/all/y

jQuery
2017年 71.9%
2018年 73.1%
2019年 73.6%
2020年 74.2%
2020年2月 74.4%
2020年6月 75.5%
2020年8月15日 76.2%

流石にこれは異常とも言える増加量
代わりに減ってるのは None みたい
今まで使ってなかったサイトがjQueryを使い出したのか? 
Name_Not_Found [sage] 2020/08/15(土) 10:40:01.62ID:???
2011 28.3%
2012 42.8% (+14.5%)
2013 54.5% (+11.7%)
2014 57.4% (+2.9%)
2015 61.5% (+4.1%)
2016 68.3% (+6.8%)
2017 71.9% (+3.6%)
2018 73.1% (+1.2%)
2019 73.6% (+0.5%)
2020 74.2% (+0.6%)
2021 76.2% (+3.0%) 8ヶ月のデータからの予測
Name_Not_Found [sage] 2020/08/15(土) 11:05:28.68ID:???
ネットを使う限りGから逃げることはできない
Name_Not_Found [] 2020/08/15(土) 11:09:45.10:7IuKG5UM
ゴキブリ?
Name_Not_Found [sage] 2020/08/15(土) 15:37:48.31ID:???
でも使われてるのは8割が1.x.xなんだな
ttp://https://w3techs.com/technologies/details/js-jquery

最近WordPressが同梱のを3.5.1に上げたらしいので、少しは3も増えるんだろうね
Name_Not_Found [sage] 2020/08/15(土) 19:33:52.83ID:???

それは当たり前だと思うよ
俺らがウェブの最先端を引っ張っていくのじゃーなんて息巻いて
自他ともにそういう会社だねって認める会社なんてわずかしか無い

1.xと2.xの機能は完全に同じ。対応ブラウザが "2の方が" 減ってるだけ
だから今3.xだったとしても一つ前のバージョンぐらいの意味でしか無いよ

まあ2割でも他に比べれば相当多いんだがねw
Name_Not_Found [sage] 2020/08/15(土) 20:56:44.13ID:???
AMPとかの有名なフレームワークに含まれてしまってるから
全体的にいくつかのライブラリの割合が上がってるが
実際はjQueryを使ってる人は見ないな
Name_Not_Found [sage] 2020/08/15(土) 22:15:31.33ID:???
お前が見るとか見ないとか言っても
何の説得力もないだろ
「俺はたくさん見る」で反論になるんだしw
Name_Not_Found [sage] 2020/08/15(土) 22:17:09.73ID:???

> AMPとかの有名なフレームワークに含まれてしまってるから
それはなんか根拠あるの?

仮にAMPに「jQueryが含まれてしまってる」として、
それらのAMPに「その他のライブラリは含まれてない」から
こんなにシェアが大きく違うんだよね?
Name_Not_Found [sage] 2020/08/16(日) 01:12:42.01ID:???

そういうこと、他のライブラリは必要な所で必要なだけ使われてるが
jQueryは無駄に配られて決まっているということ
昔はまだCDNでキャッシュが効いてたが昨今ダブルキーイングになってからは
とにかくリソースの無駄遣いとして嫌われてるってわけよ
Name_Not_Found [sage] 2020/08/16(日) 02:48:52.90ID:???
> jQueryは無駄に配られて決まっているということ

AMP?とかで使ってるんだろ?
それは無駄っていわねーよ
Name_Not_Found [sage] 2020/08/16(日) 02:50:07.12ID:???
> 昔はまだCDNでキャッシュが効いてたが昨今ダブルキーイングになってからは
意味不明。その理屈ならリソースの無駄の原因はダブルキューイングだろ
jQuery以外にも当てはまるんだからさぁ
Name_Not_Found [sage] 2020/08/16(日) 07:36:37.48ID:???
使わないライブラリを載せててもCDNでキャッシュが効いてた頃は問題にならなかったと言う意味かと
Name_Not_Found [sage] 2020/08/16(日) 12:26:14.94ID:???
だからフレームワークが内部で使うんでしょ?使うから含まれてるわけで
Name_Not_Found [sage] 2020/08/16(日) 12:28:22.19ID:???
例えキャッシュが効かなくてもCDNで配布されてるなら
回線が高速ってことだし、自サーバーの負荷は減ることに変わりはない
みたいなのってただjQueryに狙いをつけて言ってみただけって感じがするよな
論理的な理屈が伴ってない
Name_Not_Found [sage] 2020/08/16(日) 12:31:55.16ID:???
フレームワークで使ってないんだよ!だからサーバーのディスク容量を圧迫するだけなんだよ!
使ってないからダウンロードしない。だけどリソースの無駄なんだよ
リソースの無駄ってえーとあの通信量?ダウンロードしないけどね!
どこからも使ってないからダウンロードしないけど外部から使ってるって検出できるんだ!
みたいな意味不明な理屈を言い出しそうだから先に指摘しておくね
Name_Not_Found [sage] 2020/08/16(日) 16:54:59.07ID:???

無駄なものを極力なくそうというのは良し悪し
マヨネーズやケチャップの底に溜まってる部分があるだろ
でもそのおかげで他の部分がスムーズに出るんだ
世の中の本質ってそんなもん
どうせ人間の時代なんてあと100年も続かずにAIに管理されるようになるんだからさ
宇宙のエントロピーをほんの僅か無駄に増大させてもいいじゃないか
適当に楽しく生きなよ
Name_Not_Found [sage] 2020/08/16(日) 16:58:13.67ID:???
俺のも溜まってるので肌の露出した女性を見るだけで少し出てしまいます///
Name_Not_Found [sage] 2020/08/16(日) 21:04:14.09ID:???
長いことこのスレにいるがjQuery厨はシェアガーシェアガーとはよく言うが
他と比べてこういうときにここが良いから選んで使ってるという話は見たことがない
Name_Not_Found [sage] 2020/08/16(日) 21:16:51.87ID:???

話してもいいよ?

まず標準のDOM APIと相性がいいということ
薄いラッパーで変なことはしてないから
ウェブの標準のやり方と大きく変わることがない
なんならDOM APIと混ぜて使える

それでいながら宣言的な記述のシンプルなインターフェースを備えており
HTML/CSSと相性が非常にいい。HTML/CSSとうまく組み合わせて使うと
JavaScriptのコードも大きく減らせる

今は役目を殆ど終えたが、それでもスマホなどのいくつかの端末用の
ワークアラウンドが含まれており、標準DOM APIを使うのに比べて安心ができる
1系、2系を使えば何も気にせず古いIEに対応することも可能

そしてファイルサイズはわずか30KB程度で高速なCDNで配布されてる

という話をしたんだからシェアがーという話だけをしてるなんて
今後はいわないでね。それはもう嘘になってしまうから
Name_Not_Found [sage] 2020/08/16(日) 22:08:37.81ID:???
jQuery 3.5 では、解凍すると、min 版で、90KB

Ajax などを省いた、slim 版で、70KB
Name_Not_Found [sage] 2020/08/16(日) 22:17:22.98ID:???

解凍することに何の意味があるんだ?
速度を意識してるなら通信レベルでgzip圧縮されるだろ
CDNの配布も普通にjsファイルを置いているように見えて
通信は圧縮されてる

ってことも知らない程度の知識の人かな?
Name_Not_Found [] 2020/08/16(日) 23:56:29.57:tqQt4m4V

今は当たり前過ぎて
気にしたことすらない人が一定数いるかもね

2ch閉鎖祭りを思い出すなあ
あの時も、今ほどではないが暑い夏だったなあ
Name_Not_Found [sage] 2020/08/17(月) 02:05:14.64ID:???
自分がアクセスするサイトだけで言えば
10年前は半数以上はjQuery使ってたが今は多く見積もっても2~3割

w3techs.comのデータはほんと謎
Name_Not_Found [sage] 2020/08/17(月) 02:18:38.26ID:???
そりゃお前が見るサイトが偏ってるからだろ
Name_Not_Found [sage] 2020/08/17(月) 03:18:55.66ID:???
Ruby on Rails 6 でも、Bootstrap, React などを使う

Bootstrap は、jQuery, Popper.js に依存しているから
Name_Not_Found [sage] 2020/08/17(月) 07:07:15.98ID:???
最近のJSエンジンはファイルをストリーミングでパース・評価できる
それを前提として圧縮していないとその恩恵が受けられない
通信速度も高速化しててせいぜい10ms程度しか節約できないのなら圧縮する意味がなくなる
だから近年の常識としては基本的にMB単位のファイルだけをBrotliで圧縮できる場合だけする
gzipは2G/3Gスマホのためには有効だからまだ世界的には標準だが、
日本では害の方が大きいので全部で使うくらいなら全部で使わない方が良い
Name_Not_Found [sage] 2020/08/17(月) 08:42:36.47ID:???
ttp://https://www.it-swarm.dev/ja/http/%E7%8F%BE%E5%AE%9F%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8Cdeflate%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%88%E3%82%8A%E3%82%82gzip%E3%82%92%E5%A5%BD%E3%82%80%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/957517037/

> 詳細については、このWebサイトを確認してください:
> ttp://http://web.archive.org/web/20120321182910/http://www.vervestudios.co/projects/compression-tests
>
> 仕様によると、Deflateは実際には zlib (Web経由でコンテンツをストリーミング
> するために特別に開発された圧縮形式)...これはdeflateのラッパーです。

なるほどね。最初からストリーミング対応で設計された圧縮方式を
ウェブでは扱われているわけだ
Name_Not_Found [sage] 2020/08/17(月) 08:43:44.71ID:???
つまりこういうことね

最近のJSエンジンはファイルをストリーミングでパース・評価できる
それを前提として圧縮していないとその恩恵が受けられない
ウェブで使われるgzip圧縮はそれを前提として圧縮しているため恩恵が受られる
Name_Not_Found [sage] 2020/08/17(月) 09:03:06.40ID:???
gzipではストリームダメだからbrotli作ったという話では?
Name_Not_Found [sage] 2020/08/17(月) 19:16:40.82ID:???
gzipと比べた時にbrotliに圧縮率が高い以外の特徴なんてねーよ
Name_Not_Found [sage] 2020/08/17(月) 19:18:01.42ID:???
そもそも展開時にストリーミングができない圧縮形式なんてあるのか?
圧縮時は全体眺めて同じデータを探す必要があるが
展開時は前から処理できるだろ
Name_Not_Found [sage] 2020/08/17(月) 19:40:24.55ID:???

一般的にデータ部分の展開は順次できるけど
まずデータ部分の場所を特定するのに一番最後を見ないといけない形式も多い
ZIPがその代表例

圧縮する側に立って考えてみたら分かる
圧縮する前に圧縮後のデータ量を知ることはできない
ファイルを順次圧縮して追加していって最後まで終わった段階で
ようやくファイル構造が確定するのでそれを末尾に乗せることができる

1ファイルだけを圧縮するgzipでもCRC32がデータの後に着くのが普通なので
ファイルが壊れているかどうか気にしないのでなければ受信途中で読み始めることはしない
だから普通はHTTPのチャンク機能を使ってデータを分割する(HTTP2ではまた別の機能)

ただし各チャンクのサイズを小さくするとオーバーヘッドが多くなりすぎるし、
かといってサイズを大きくすると、ストリーミングの効果が薄くなるので難しい
Name_Not_Found [sage] 2020/08/18(火) 00:10:56.75ID:???
へぇー詳しい
Name_Not_Found [] 2020/08/18(火) 03:21:23.48:Se4/81qh

勉強になりました
Name_Not_Found [sage] 2020/08/18(火) 05:52:12.84ID:???
んで、ウェブで使われているgzip形式っていうのは
データの最初から展開できるようになってる
Name_Not_Found [sage] 2020/08/18(火) 07:04:11.13ID:???
(汗)
Name_Not_Found [sage] 2020/08/18(火) 07:13:31.24ID:???

> 圧縮する前に圧縮後のデータ量を知ることはできない
> ファイルを順次圧縮して追加していって最後まで終わった段階で
> ようやくファイル構造が確定するのでそれを末尾に乗せることができる

先頭に入れても良いのでは?
Name_Not_Found [sage] 2020/08/18(火) 12:50:18.05ID:???
十分大きいバッファをメモリに持っておいて圧縮が終わってからディスクに書き込むのならできるだろうな
Name_Not_Found [sage] 2020/08/18(火) 12:56:49.88ID:???
もしかして今の若い人は一般的なファイルシステムだとファイルは末尾に追記するか真っ更から書き直すかしかないってことを知らないのだろうか
頭に追加しようと思ったら全部読んで退けておいて書き換えないといけないってことは常識かと思ってた
Name_Not_Found [sage] 2020/08/18(火) 13:06:59.59ID:???
数バイトオフセット取って書きはじめて最後に先頭にポインタ戻してサイズ書き込めばいいだけじゃんw
Cのファイル操作の基本でできるけどwww
Name_Not_Found [sage] 2020/08/18(火) 14:41:45.12ID:???
つーか、圧縮ファイルで先頭に何を書きたいのかわからん
ファイルの数とかか?そんなもん最初に書き込む領域数バイトを
ヘッダ領域として予約するだけじゃん
Name_Not_Found [sage] 2020/08/18(火) 20:36:22.27ID:???
当然各ファイルのデータ毎に(ほぼ)固定長のヘッダーはあるが
それだけではファイルの一覧を見るのに頭からお尻まで舐めないといけない
さらに、10000個目のファイルを見たいときに10000個辿らないといけない
だから、ファイルのデータ以外の情報がどこかに局所的に固まっていないといけないのだが
それを先頭に持ってくるのはいろんな理由で難しい

最初10個のファイルを書き込む予定が9個になるかもしれないし
5個の時点で設定容量に達して複数アーカイブに分割するかもしれない
そもそも圧縮を始める前に全てのファイル情報を読まないといけない

一方もし末尾に置くのであれば、この先のことを考えずに
今圧縮するファイルのことだけを考えて次から次へと圧縮を進めることができる
要するに圧縮がストリーミングでできる
そして全てのファイルの圧縮が終わった後にそれまでの結果を末尾に書けばいいだけだから楽だし安心
Name_Not_Found [sage] 2020/08/18(火) 20:42:56.31ID:???
すべてが終わったあとに予約しといた先頭に書けばいいだろ
Name_Not_Found [sage] 2020/08/18(火) 20:53:06.09ID:???
まさにそれがし難いという理由を書いたんだよ
Name_Not_Found [sage] 2020/08/18(火) 21:33:14.71ID:???
いつもの恥の上塗りっ子
Name_Not_Found [sage] 2020/08/18(火) 22:26:37.12ID:???

> 当然各ファイルのデータ毎に(ほぼ)固定長のヘッダーはあるが
> それだけではファイルの一覧を見るのに頭からお尻まで舐めないといけない

1つのファイルだけを圧縮する、httpでの配信でそれなんか関係あんの?
ファイルの頭に最初に処理するファイル名だけを格納するだけじゃん
Name_Not_Found [sage] 2020/08/18(火) 23:25:27.73ID:???
[JavaScript] reduceは可読性が悪くループで置き換え可能なので使うべきではない
ttp://https://qiita.com/standard-software/items/3254c19ed5229f3aba9a

正しい(笑)


reduceはsum関数などを作るための"材料"として使うもので
直接使うもんじゃないよ

そして材料としての役割はあるにしてもJavaScriptでは関数呼び出しで
遅くなるので最適化すると単純なループのほうが良くなるというね
Name_Not_Found [sage] 2020/08/19(水) 00:13:47.17ID:???
ヘッダーが固定長なら、問題ない。
abc を、axc に変えても、後ろに影響が及ばない

でも、可変長では、後ろのデータも上書きされてしまう。
abc のb をxy にすると、axy となり、cも消える

つまり、同じサイズじゃないと、バグる
925 [sage] 2020/08/19(水) 00:19:26.68ID:???
だから、ヘッダー・データを別々に作って、
データだけを一旦、ファイルに保存しておいて、
ヘッダーとデータを、cat で連結させて、新しいファイルを作る

でも、これは、ファイルコピーばかり、やってる事になるw
データが大きいと、無駄が多い
Name_Not_Found [sage] 2020/08/19(水) 00:33:50.05ID:???

安定のクソ記事だなw
Name_Not_Found [sage] 2020/08/19(水) 00:57:48.08ID:???
Ruby では、with_object(蓄積変数), with_index(auto increment) で、メソッドチェーンできる。
これで、変数をブロック内スコープに限定できる

text = <<'TEXT'
a
b
TEXT

# 1行ずつ処理する。index は、1 始点
ary = text.each_line.with_object( [ 5 ] ).with_index( 1 ) do | ( line, acc ), idx |
line.chomp! # 末尾の改行を削除する
acc.push [ idx, line ]
end

p ary # [5, [1, "a"], [2, "b"]]

もし、これで蓄積変数を使わないと、外のスコープへ広がる

ary = [ 5 ]

text.each_line.with_index( 1 ) do | line, idx |
line.chomp!
ary.push [ idx, line ]
end

p ary # [5, [1, "a"], [2, "b"]]

Elixir でも、for の内包表記を使うと、指定した回数分だけループできる

for cnt <- 1..length( 'abc' ), do: IO.inspect cnt # 1〜3
Name_Not_Found [sage] 2020/08/19(水) 07:06:08.98ID:???
豊富なメソッドがあれば便利っちゃ便利だけど
ぶっちゃけ、ゴリゴリにアルゴリズムが必要な場面以外ではありがたみが薄いし
ゴリゴリに必要な場面では最適化のために使いにくい
Name_Not_Found [] 2020/08/19(水) 12:21:22.75:jQI0+LSg
JavaScriptでサーバー内のバイナリファイルを読み込みたいのですがその手段はどのようなものですか?
調べたところクライアント側のローカルファイルの読み込みなら<input type="file">でfileオブジェクトを生成してイベントハンドラで読み込めることが分かったのですが結局のところ目的の達成ができていません。
C言語のfopen関数みたいにファイルを簡単に読み込める便利なAPIはないですかね
Name_Not_Found [sage] 2020/08/19(水) 12:35:15.57ID:???

ttp://https://nodejs.org/docs/latest-v13.x/api/fs.html
Name_Not_Found [sage] 2020/08/19(水) 14:14:51.82ID:???
nodejsとは言ってないしfetchかも
Name_Not_Found [sage] 2020/08/19(水) 14:36:22.83ID:???

だとしたらWebの基礎の基礎を全く理解してないことになるのでAPIの話をしても無駄だよね
Name_Not_Found [] 2020/08/19(水) 15:41:57.04:jQI0+LSg
レスくださった方々、ありがとうございます

node.jsは使用していませんがnode.jsのapiとweb標準のapiが違うということを知れました。勉強になりました
将来的にnode.jsの勉強もするかもしれないので目を通しておきます。ありがとうございました

探していたものはまさにこれでした。fetchでファイル処理ができそうです。ありがとうございます

c++から入った日曜プログラマーなのでご指摘の通りwebとjavascriptの理解が浅いです^^;
canvasでRPG作ったら勉強になるっしょってノリでゲーム作ってますが難しいですね
型がなかったり割とガバガバなコードでも通っちゃうので大混乱です。これを使いこなしてる人すげーなって思いました
ありがとうございました
Name_Not_Found [sage] 2020/08/19(水) 15:42:47.62ID:???
もう来んなよ
こんな所に
Name_Not_Found [sage] 2020/08/19(水) 18:07:04.72ID:???
日曜プログラマでCanvasでRPGとか糞バカだな
RPGとかこの世で作るのが一番難しいものの一つだろ
シナリオ・音楽・絵、マップそれらを全て他所から持ってくるにしても苦労するのに
それに加えてCanvas使ってプログラミングとかもはや273番目の地獄だわ

名付けてCanvasRPG地獄だ

そんなんができる根気と能力があったら日曜プログラマどころか
起業して日本のスティーブ・ジョブズになれるっつうの
いかに無謀なことしてるかよく考えたほうが良いぞ
がんばりな
Name_Not_Found [sage] 2020/08/19(水) 18:52:47.75ID:???
そうかあ?
小学生のクソ馬鹿だった俺でも
すごーくシンプルなのはBasicでなんとか出来たから
意外となんとかなるんじゃない?
根気はいると思うけど
Name_Not_Found [sage] 2020/08/19(水) 19:17:27.32ID:???
別に挑戦する分にはいいんじゃないの
生canvasはやめてライブラリの使用をおすすめするけど
Name_Not_Found [sage] 2020/08/19(水) 19:39:55.44ID:???
なんでスティーブ・ジョブズなん?
全く畑が違うやんw
Name_Not_Found [] 2020/08/19(水) 19:50:38.32:6mDmQvtv
正直スティーブ・ジョブズのどこがすごいか分からん。
たまたまiPhoneが出たときその会社のトップだっただけじゃないの?
頭はいいのだろうか?ちゃんと微分方程式の難しいの解けたり物理学の面白さを語れるんだろうか?あるいはプログラミングならデザインパターンをどう適応するのかちゃんと根本的な理解をしているのだろうか?
オレはこれらすべてできるが。
Name_Not_Found [sage] 2020/08/19(水) 20:21:10.02ID:???
自分を有名にする能力だけは間違いなくあるだろうな
Name_Not_Found [sage] 2020/08/19(水) 20:25:42.55ID:???

恥ずかしいから静かにしてたほうがいいよ
Name_Not_Found [sage] 2020/08/19(水) 20:41:55.22ID:???

プロ野球選手にどこがすごいの?レジ打ち遅いじゃんって言ってるようなもんだろw
Name_Not_Found [sage] 2020/08/19(水) 21:28:12.35ID:???
サーバー内のバイナリファイルを読み込みたいってのは
特定のURLでアクセス可能なWeb上のファイルを
クライアント側JavaScriptからダウンロードしたいということだったのか

え!?
Name_Not_Found [sage] 2020/08/19(水) 22:51:51.57ID:???
だったのかって、俺は読んでそうかなと思ったぞ
分かりにくい質問だったが、Nodeの質問が来る確率なんて極めて小さいでしょ

C10Kとか言ってNodeムーブメントが起きてた頃はちらほら質問が来てたが
そのころでもNodeやサーバーサイドと言わず当たり前のように質問する人はいなかったと思うぞ
Name_Not_Found [sage] 2020/08/20(木) 01:15:04.73ID:???
サーバー内のバイナリファイルって説明がなぁw
webで外部に公開されとるんかーいズコーってなもんよw
Name_Not_Found [sage] 2020/08/21(金) 03:03:47.19ID:???
質問です
CSVの行データから配列を作ろうと思ったのですが、
ダブルクォーテーションの中にカンマが入ったりするので思ったように分割できません
書いた正規表現は下記です

このコードの問題点は、文字列が入ってない部分は配列化されず無視されてしまうことです…
例えば000はその前にカンマがあるので配列上は二番目であるべき


var text=',000,"111",,"111,222",,,"111,222,333",,,,"111,222,333,444"';
var Array=text.match(/("[^"]*"|[^,]+)/g);

どなたかアドバイス頂けますでしょうか

JSfiddleは下記に作成しました
ttp://https://jsfiddle.net/0kj5oe9s/
Name_Not_Found [sage] 2020/08/21(金) 03:08:01.81ID:???

勉強のためにCSV読み込みを自作したいなら
まずクォートされてる範囲を取れるようにしたらいいよ
そうすれば、クォート内のカンマは無視できるようになる

ただ読み込みたいだけならライブラリもあるし
または、先にCSVをJSONに変換しておくのが楽だと思う
Name_Not_Found [sage] 2020/08/21(金) 03:20:33.64ID:???

正規表現は「単語はアルファベットの並び」などという定義をするためのもので
この順番に単語が出てきたらこれは動詞みたいな意味を定義するものではありません
つまり正規表現でCSVを解釈することはできません

CSVなどの文字列の意味を解釈するために使う道具が正規表現であって
CSVなどの意味を解釈するものはパーサーと言うんです
あなたはパーサーを作らなければいけないのに
それを作らずに正規表現でやろうとしています
Name_Not_Found [sage] 2020/08/21(金) 04:23:24.58ID:???



> 勉強のためにCSV読み込みを自作

そうですね、正規表現の勉強も兼ねてライブラリなしで読み込みたい感じです

JSfiddleを見てもらうとわかると思いますが
クォートの範囲を取ることは出来てます、あとクォートされてない文字列を取ることも
ただ、文字列がない部分を配列に格納することだけが出来ないので悔しくてこちらで聞かせて頂きました…
Name_Not_Found [sage] 2020/08/21(金) 06:33:59.00ID:???

正規表現でやる以上
マッチしないところは無理だわな

先頭から1文字ずつ追いなされ
Name_Not_Found [sage] 2020/08/21(金) 06:34:51.94ID:???
あとCSVのパースは
行ごとにやったら詰むよ
理由わかるね?
Name_Not_Found [] 2020/08/21(金) 08:00:27.93:tIJl3kn7

なぜかと聞いておるのだ
Name_Not_Found [sage] 2020/08/21(金) 08:03:37.70ID:???
クォートされた文字列は改行が含まれ複数行になってる可能性
Name_Not_Found [sage] 2020/08/21(金) 09:45:04.26ID:???
まず、クォート文字が優先度が高い。
クォート文字自体を使いたい場合は、クォート文字内で2つ重ねる。
"a""b" → a""b

クォート文字内では、行区切り・列区切り文字自体を、そのまま使える

また、クォート文字は機能が変わらなければ、省略できる
"ab"・ab は、同じ
Name_Not_Found [sage] 2020/08/21(金) 11:00:01.75ID:???
一文字ずつ読んで処理したら良いよ
Name_Not_Found [sage] 2020/08/22(土) 17:36:09.14ID:???
別に世界中のデベロッパに使ってもらうコードでもないし適当で十分
ここのスレ民は費用対効果を考えろよな
Name_Not_Found [sage] 2020/08/22(土) 18:10:15.62ID:???
CSVの文法は正規文法ではないから正規表現で表せないのは仕方がない。
Name_Not_Found [sage] 2020/08/22(土) 22:24:47.80ID:???
正規表現ならこんな感じで書けばいいだけじゃないの
カンマを「、」に置換してるけど、その辺りはやりたいことに合わせてどうにでもなるし

var Array=text.replace(/("[^"]*"|[^,]+)/g,function(group1){return group1.replace(/,/g,"、");});
Array=Array.split(',');
Name_Not_Found [sage] 2020/08/23(日) 03:11:05.34ID:???

自分で仕様を調べる能力が無いなら諦めて認めろ。
何度も言うが無理だ無理だ。
Name_Not_Found [sage] 2020/08/23(日) 04:30:07.06ID:???
正確な仕様に合わせたいなんて誰も言ってないんだから、
勉強のために色んな書き方を提示してあげればいい

質問に合った答えを簡単にさっと導き出せないCSVポリスは害悪でしかないでしょ
Name_Not_Found [sage] 2020/08/23(日) 04:54:49.19ID:???

改行が入ると詰むんじゃないか?
Name_Not_Found [sage] 2020/08/23(日) 06:33:28.22ID:???

勉強している人のために正規表現ではできないと教えています。
Name_Not_Found [] 2020/08/23(日) 08:32:56.35:/010DNri
わかりました。
正規表現はあきらめて
性器を露出して自由を表現することにします。
Name_Not_Found [sage] 2020/08/23(日) 09:58:26.13ID:???
専門のコマ講師やってた時

俺「正規表現ってのがあって〜」
生徒「クスクス」
俺「?」
俺「そんで正規表現ってのは〜」
生徒「クスクス」
俺「??」

てなったの思い出した
Name_Not_Found [sage] 2020/08/23(日) 10:49:29.29ID:???

JavaScriptのmatchが空文字列以外にマッチした次のマッチで1文字も読み進めずに空文字列にマッチしてしまうという話としては
戻り読みが使えれば使うか /"[^"]*"|[^,]+|(?<![^,])/g
あえて食わせて後で除くか .match(/"[^"]*",|[^,]*,/g).map(_=>_.replace(/,$/,""))
lastIndexを手動更新するか [...(function * (s, r=/"[^"]*"|[^,]*/g) { let _; while ((_ = r.exec(s))) { yield _[0]; ++r.lastIndex; } })(text)]
Name_Not_Found [sage] 2020/08/23(日) 10:53:53.09ID:???
あえて食わせて後で除くか .match(/"[^"]*",?|[^,]+,?|,/g).map(_=>_.replace(/,$/,""))
Name_Not_Found [sage] 2020/08/23(日) 12:26:29.92ID:???
値に改行やカンマ有の汎用CSVパーザとか初心者が練習で書くにはハードル高すぎるやろ
サーバーサイドでライブラリ使ってJSONに変換して返すAPIでも書いたほうが
はるかに実用的だし、練習としてもいいものになると思うよ
Name_Not_Found [sage] 2020/08/23(日) 14:25:34.30ID:???
パーサー書くほうが役に立つ面もあるから
勉強目的といってもその勉強自体の目的次第

ttp://https://stackoverflow.com/questions/8493195/
1つ目の回答が正規表現で頑張ってるタイプで
2つ目の回答が1文字ずつ読んで処理するタイプ
汎用度が高くなるほど2つ目のやり方のほうが楽になる
Name_Not_Found [sage] 2020/08/23(日) 15:41:22.10ID:???

ただ読みたいだけならそれでいいけど
文字列操作を覚えるならいいんでない?

そんで、正規表現にこだわらないで
先頭から1文字ずつ拾って
検証して行くのがいいんじゃないかなあと
個人的にはおもう

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ Web制作板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら