+ JavaScript の質問用スレッド vol.134 +at HP
+ JavaScript の質問用スレッド vol.134 + - 暇つぶし2ch450:Name_Not_Found
18/07/20 12:51:34.92 .net
type number で stepを1にしておけばデスクトップでは整数入力になるでしょ
その後念の為数値を|0すればいいんじゃない

451:Name_Not_Found
18/07/20 13:05:26.86 .net
>>417
async関数外でもawait使えるようになる予定あんの!?
nodeにそういうモジュールあるのは見たけど

452:Name_Not_Found
18/07/20 13:12:55.90 .net
>>446
URLリンク(github.com)
現在stage2

453:Name_Not_Found
18/07/20 13:13:30.10 .net
>>444
文字列なんだから普通に正規表現でいいんじゃないの

454:Name_Not_Found
18/07/20 14:33:56.02 .net
>>445
ありがとうございます
しかも最大最小チェックまでできるんですね
JSで値チェックして確認するアクションを作ろうとしてしてたんですけど必要なくなったので嬉しい
HTML5すごいですね
>>448
自分にとっては正規表現は普通じゃないんです
あんな意味不明な文字列かけるの理系のエリートだけじゃないの?

455:Name_Not_Found
18/07/20 16:09:20.52 .net
> あんな意味不明な文字列かけるの理系のエリートだけじゃないの?
バレターカ

456:Name_Not_Found
18/07/20 16:44:08.15 .net
そんな大したもんじゃないけどな
まずはワイルドカードの豪華版と考えて使い始めてみては?

457:Name_Not_Found
18/07/20 18:12:35.14 .net
便乗で質問
html5のstepで0.100ってやりたいけど
0.1になってしまう
変更されるたびに0付け足さないとだめな感じ?

458:Name_Not_Found
18/07/20 18:44:20.13 .net
html5のstepの意味が分からないので力になれない

459:Name_Not_Found
18/07/20 19:14:29.13 .net
ゼロ固定の小数2位、3位を表示させたい必要がわからない
0.001じゃだめなの

460:Name_Not_Found
18/07/20 19:23:49.36 .net
>>454
stepとは別の挿入する定数が0.123とか1.234で
で、リセット値は0.100
stepを0.001ではあまりに細かすぎるので
固定値挿入後に0.123→リセット→0.100→step 0.2→固定値 1.234
みたいに桁数がころころ変わる

461:Name_Not_Found
18/07/20 19:50:48.14 .net
てかそもそも例えば
0.111のあとにstep0.100したら0.2になったわ・・
0.211になるかと思ってたけど。

462:Name_Not_Found
18/07/20 19:51:47.17 .net
そこまで拘るんならもうPaintAPIとか使って好きなカスタム要素を0から作るしか無いだろうね

463:Name_Not_Found
18/07/20 19:55:38.65 .net
よくわからんけど、常に末尾に 00 を付けたいなら
それ専用の要素を配置して重ねればいいじゃない
00固定でもいいし、*1000して%100した値で更新し続けてもいいし

464:Name_Not_Found
18/07/20 20:07:41.00 .net
こちらの都合上、むしろ挙動は>>456で構わないけど
00省略は、数字が真ん中や右揃えだとぴょこぴょこなってちょっとだけ気になる
>>458
別の設定値 や step0.1で1.0が1になったり があるので末尾00固定は難しいけど
そもそも小数点使わない方法だと設定値の数字見た目そのものに意味があるので若干扱いづらい
(例えば3.14みたいな)
>>457
もう妥協することにしたわ
そこまで使用頻度高くないし

465:Name_Not_Found
18/07/20 20:15:54.12 .net
どうせ妥協するなら諦めなくとも
elem.onchange=e=>{e.target.value=e.target.valueAsNumber.toFixed(2)}
とかで妥協しても良いんじゃない?

466:Name_Not_Found
18/07/20 20:23:14.02 .net
>>460
なんじゃこりゃ初めて知った

467:Name_Not_Found
18/07/20 20:49:13.79 .net
>>460
自分の環境だけかもしれないがinputの上下矢印にmouseONのままclickだと最初しか反映されず
mouseOUTすると反映
キーボードからは常時反映で良い感じ
外部からjqueryのvalで値を変更すると無反応

468:Name_Not_Found
18/07/20 21:40:17.15 .net
イベントトリガには深い闇があってな

469:Name_Not_Found
18/07/20 22:01:16.21 .net
まあ今回はそんな闇は関係ないが

470:Name_Not_Found
18/07/20 22:37:47.58 .net
結局セミコロン;はつけるの?つけないの?

471:Name_Not_Found
18/07/20 22:48:33.59 .net
今どきはスタイルの制限というものはない
公開される時には整形で揃うから

472:Name_Not_Found
18/07/20 22:57:18.49 .net
>>447
thx便利になるな

473:Name_Not_Found
18/07/20 22:58:40.09 .net
配列とかリストとか最後のアイテムにカンマつける?

474:Name_Not_Found
18/07/21 06:12:04.43 .net
>>467
誤解してるんじゃない?
ただ単にモジュールの非同期読み込み時にもawaitが使えるというだけだぞ
大抵はDOMContentLoadedを待ったりするだろうしそんな便利になるようなものではないよ

475:Name_Not_Found
18/07/22 09:30:47.82 .net
明言してくれても良いのよ?
URLリンク(www.atmarkit.co.jp)

476:Name_Not_Found
18/07/22 10:46:42.18 .net
次のガンはSafari

477:Name_Not_Found
18/07/23 12:14:45.42 .net
ブラウザ用でもnode.jsでもいいのですが
英語の形態素解析ライブラリってないですか?
検索の時に活用のゆらぎを吸収するのに使いたいです
madeもmakeでヒットするようにするなど

478:Name_Not_Found
18/07/23 12:56:01.18 .net
それは形態素解析と言わない

479:Name_Not_Found
18/07/23 13:09:56.05 .net
いや形態素解析で出来ますよね?
原形が分かるので。
品詞を分析しない単純な置換だと、本来正規化する必要のない語まで置き換えかねないので
形態素解析でやる方がいいと思います

480:Name_Not_Found
18/07/23 13:31:29.98 .net
形態素解析では出来ない
それは解析結果を使ってるだけ。形態素解析でやってるわけではない。

481:Name_Not_Found
18/07/23 19:59:38.03 .net
いや解析結果を使うには形態素解析が必要ですよね?
ようは形態素解析ライブラリがあれば万事解決なんですよ
しょうもない詭弁はいらないんです

482:Name_Not_Found
18/07/23 20:14:55.31 .net
はやく形態素解析ライブラリだしてくださいよ
期限は今週中なんですよ

483:Name_Not_Found
18/07/23 20:15:36.29 .net
形態素解析ではできないよ

484:Name_Not_Found
18/07/23 20:53:46.76 .net
>>477
いやなりすましはやめて下さい
>>478
出来ますよ
アホなんですか?

485:Name_Not_Found
18/07/23 21:08:27.24 .net
Web Assemblyが主流になればjavascript終わるの・・?

486:Name_Not_Found
18/07/23 21:09:02.95 .net
形態素解析には辞書が不可欠だけどブラウザ稼動で辞書読み込ませるん?

487:Name_Not_Found
18/07/23 21:19:10.06 .net
>>479
出来ないよ。
新幹線で大阪まで行って道頓堀に飛び込むことは出来るけど、
新幹線で道頓堀に飛び込むことはできないよ。
日本語を勉強しよう。
質問は相手に伝わらないと意味がないよ。

488:Name_Not_Found
18/07/23 21:24:19.44 .net
wasmって要するにこれだよな
何やってるプログラムなのか読むのがものすごくめんどいjavascript

489:Name_Not_Found
18/07/23 21:39:10.94 .net
自分も形態素解析興味あるので横からだが
まとめると、例えば下のような文章があったとすると
【文章】
 「私の名前は学(まなぶ)です。」
 「私は歴史を学ぶ。」
【辞書ライブラリ】
 学 - 学ぶ - 学んだ
【やりたいこと】
 人名の 「学」 を 「學」 に置換したい
 それ以外の 「学」 は置換したくない
 ので、形態素解析にまず通して、人名だけ抽出
 辞書ライブラリに通して、人名の「学」だけを抽出
みたいなこと?(あくまで一例だが)

490:Name_Not_Found
18/07/23 21:40:46.34 .net
>>482
頭良さそうだなお前

491:Name_Not_Found
18/07/23 22:02:05.85 .net
例えば簡単な暗号化を返したいとき
(1)入力された文字列
(2)文字列をリバース、md5に通してリバース、さらにmd5
(3)前から10文字だけ返す
みたいなことをしたかったら
javascriptの生ソースで置いて読み込んでたらバレバレなのは当たり前だけど
バラしたくなければ、例えばサーバーサイド言語で(2)(3)の部分だけを
サーバに置いてコールバックで受け取る、みたいなのが今までの手法?
でもwasmだと(2)(3)の部分がコンパイル済みなので
ハッキング以外にはバレない、みたいなことが可能なのでしょうか・・?
そうであればウェブ言語だけでシリアルナンバーとか生成できそうで便利だと思ったのですが

492:Name_Not_Found
18/07/23 22:06:58.17 .net
逆汗されたら無力だけど気軽には見られないよね
程度の認識がいいと思う

493:Name_Not_Found
18/07/23 22:12:44.37 .net
なるほど・・
おそらく逆汗封じというか、極力わかりにくくするような技もあるんでしょうね

494:Name_Not_Found
18/07/23 23:44:45.33 .net
ないよ。まったく無駄。そういうことのために用意された訳じゃない。

495:Name_Not_Found
18/07/24 00:16:52.66 .net
>ウェブ言語だけでシリアルナンバーとか生成できそうで便利だ
この結論部分が何言ってんのか全く理解できない

496:Name_Not_Found
18/07/24 00:49:46.84 .net
>>490
(仮に)逆汗無しという前提であれば
(1)シリアルキー発行するwasm
(2)(1)のシリアルキーを認識できる圧縮解凍フォーマットwasm
を用意すれば
ウェブ系の言語だけでとか、オフラインでもとか、ブラウザのみでとか
それぞれ(サインアップなど必要とせず)プロテクト付きのコンテンツをやり取りできそうで便利、
という意味
でもアンチ逆アセンブラは無理そうなのでタラレバですね

497:Name_Not_Found
18/07/24 00:58:28.90 .net
バカか。そんな前提無意味。winやmacのネイティブアプリがシリアルキー発行してるか?
常識で考えろバカ。
クラッカーに「いや逆アセンブル無しでお願いします」言ってまわんのかバカが。

498:Name_Not_Found
18/07/24 00:59:16.40 .net
md5で?md5で?
「シリアルキー発行」をwasmすなわちクライアント側がやってどうすんの?
圧縮ないし暗号化されたものを、伸張ないし復号化された後のものをどうこうされたら無駄では?

499:Name_Not_Found
18/07/24 01:06:52.60 .net
通信量やロード時のコストは変わるかもしれないけど実際の処理速度は変わらんのだろ
当たり前だけど
じゃあ他に何が良いかって、javascript以外の記述が使えることを除けばあとは
難読化よりももう少しバレにくい、以外無いじゃん
バレたくないどんな処理をさせるつもりだよ
どんな処理させられてるかわからないコードなんて受け入れたくないわ

500:Name_Not_Found
18/07/24 01:14:20.13 .net
ウェブ言語というものからしてもう誤解してそう
知ったか系SE

501:Name_Not_Found
18/07/24 01:23:47.60 .net
バレにくくするために用意された仕組みではありません。
お前のような泡沫ザコプログラマ以外にとっては、コンピューターで現実時間で解析的に解ける難読化は無いのと一緒です。

502:Name_Not_Found
18/07/24 01:35:20.03 .net
>>492
>クラッカーに「いや逆アセンブル無しで
仮に、逆汗無し=逆汗ができないとすると
という意味です・・・
できてしまうというのはなんとなく流れでわかりました
なので 仮に です
>>493
md5どうのこうの例は単に説明のために簡単な例をあげただけなので・・・
(適当にmd5を選んだだけです)
例えば、とか、みたいな、って結構強調したつもりなんですけどねぇ・・・
>復号化された後のものをどうこうされたら無駄では?
もちろん復号化されたデータが拡散されたら終わりですし
シリアルキーが流出したら終わりです
(どんなコンテンツかにもよりますが)
>>496
はい、>>489もみましたしそのタイミングで>>490のレスが来たので
答えるとすれば>>486時点での認識で「仮の」話をしなきゃいけなかったのです
なのでそれ以降、例えばとか仮にとかクドいかなと思いつつ書きまくったんです

でもこのありさまなんですよねぇ・・・
「例えばもしも」から話してるのに
投げ返された会話のボールが妙にズレている気がしてなりません・・・

503:Name_Not_Found
18/07/24 01:39:39.81 .net
意味の無いしょうもない仮定に付き合う必要はない。
「もし朝起きたときチンコが松茸になっていたとして~」
このあとは聞く必要はない。そういうこと。

504:Name_Not_Found
18/07/24 01:40:15.06 .net
簡単な例が云々とか説明のため云々はいいから
md5で何をどうやって?

505:Name_Not_Found
18/07/24 01:42:18.42 .net
クライアントサイドでシリアルナンバー発行とお考えになった理由はノータッチなんですか

506:Name_Not_Found
18/07/24 01:45:18.19 .net
ジャップ真でくれ

507:Name_Not_Found
18/07/24 01:47:03.57 .net
スレをミスったわ

508:Name_Not_Found
18/07/24 01:48:40.27 .net
なーにが会話のボールだ
ボールにウンコ付けて投げといて相手がキャッチしないとブー垂れるバカかww
取るわけねーだろバーカwwww

509:Name_Not_Found
18/07/24 01:58:15.59 .net
「解析されにくい」が前提にあればできることなら
例えばflashなどで実現されてたはずの手法ってことにならんかね
あれわりとブラックボックスだろ

510:Name_Not_Found
18/07/24 02:00:08.75 .net
>>499
>>486は入力された文字列をトリップみたいなもので返してほしいな、
程度の話で、>>486の最後の行と>>491のシリアルキーのくだりはmd5云々とは別の話です
シリアルのくだりを強いて言うなら例えば、
(1)シリアルキーを発行するwasm
  例)「3284443」や「7138751」という素数シリアルキーを発行する
(2)シリアルキーを解読できる圧縮解凍フォーマットwasm
 例)「3284443」や「7138751」を素数判定して解凍
みたいな感じです
仮に、素数も(1)(2)のソースコードもバレなければ、復号化が難しい
みたいな感じです
ただし、シリアルコードが流出することや復号化されたデータが流出することには対応できません
みたいな感じです
さすがにくどいと思いますが、もちろんシリアルキーが素数というのはあくまで例なので
そのままの意味で受け取らないでくださいね
もっと良い例があると思うので脳内変換してください
あとこのレスは>>498の通りです



512:Name_Not_Found
18/07/24 02:01:45.44 .net
訂正
>仮に、素数も(1)(2)のソースコードもバレなければ
仮に、みんな素数も知らず、1)(2)のソースコードもバレなければ
でした

513:Name_Not_Found
18/07/24 02:10:35.73 .net
素数……ソース……
ふふっ

514:Name_Not_Found
18/07/24 02:20:40.25 .net
URLリンク(blog.mbaas.nifcloud.com)
ちなみにこの記事
>WebAssemblyとは?
>バイナリ、つまりコンパイルされていますのでソースコードが読まれることはありません。
てあるけど

515:Name_Not_Found
18/07/24 02:22:34.44 .net
>>505
見事に「ウェブ言語だけでシリアルナンバーとか生成」が意味不明なままなんだが
コンテンツに対するプロテクトのくだりだけ拾っても
>シリアルキーを認識できる
>シリアルキーを解読できる
ってどんな処理を想定してんの
暗号化分野に関わらないほうがいいと思う

516:Name_Not_Found
18/07/24 02:23:05.83 .net
「ソースコードが」読まれないからなんだっつーんだよ

517:Name_Not_Found
18/07/24 02:37:49.65 .net
はじめから最後まで処理フローを書き起こしてみると問題点がわかるようになると思うよ
書く能力があるならね

518:Name_Not_Found
18/07/24 02:57:14.70 .net
>>509
>ってどんな処理を想定してんの
一言でいうと、コンテンツのプロテクトです
まず、>>505の(1).wasmと(2).wasmをみんながインストール?する
(例えばchromeの拡張でもアプリでもなんでもいいので読み込む)
Aさんがコンテンツをアップロード(アップロード先の指定なし)
その際、(2).wasmで圧縮(や暗号化など) → 暗号化されたコンテンツA
(コンテンツAは公開されており、不特定多数がコンテンツAをダウンロードできる状態(*1)。
が、内容の閲覧はシリアルキーがないので、できない)
BさんがAさんのコンテンツを購入
→(1).wasmによりシリアルキーが発行される
→コンテンツAをダウンロード
→(2).wasmに従い、コンテンツAを復号化
これが可能ならば従来のデータサーバと決済プラットフォームの集中型BtoCではなく
(1).wasmと(2).wasmと購入→発行.wasmを配布するコストだけなので、
決済もデータサーバも場所にこだわらないCtoCが可能なのではと思いました
(もちろんBtoCかつ、データだけ別というのもあり)
もちろんこのままだとコンテンツA以外のどのコンテンツ(BCDE、、、)も同じシリアルキーで閲覧できてしまうので
今はパス付きzipみたいなものとの差別化、程度です
もっと深い解決策は賢い人に任せます
(*1)コンテンツ自体は暗号化せず、シリアルキーをログインに必要なデータにしてもよい

519:Name_Not_Found
18/07/24 03:00:24.39 .net
あと、購入→(1).wasmではなく、購入→認証→(1).wasmです

520:Name_Not_Found
18/07/24 03:54:20.50 .net
>>512-513
他人の企画にタダで添削してあげる趣味はないんだけど
あえて言うと
原則的にファイルとしての取得をさせずブラウザ上でのみ閲覧/使用等が可能、
・・・と出来なければ、絵に描いた腐った餅では
それをなんとかできないのであれば
「.wasm・シリアルキー・暗号化済み製品コンテンツ、以上3つが揃わないとコンテンツを復号化できない」
という仕組みにする意義がない
既存の方法の改悪に過ぎなくなり、>>512の5段目などは根拠に欠ける論理飛躍となる

あと、そんな仕組み想定だとて「ウェブ言語だけでシリアルナンバーとか生成」「シリアルキーを解読できる」は意味不明のまま
説明スキルの欠如なども鑑みると、正直いって企画・設計に携わらないほうが良いと言っておきたい

521:Name_Not_Found
18/07/24 04:26:11.26 .net
擁護レスが皆無

522:Name_Not_Found
18/07/24 04:46:47.64 .net
> >>512の5段目などは根拠に欠ける論理飛躍となる
あれ・・?そうですかね
例えばBtoCサービスによるCtoCの補助サービスな感じで
.wasmの生成や配布が企業により保証されていれば、ハードルが低いというか
「うちのサービス使うならこのアプリ使ってね」や
「こちらからユーザに紐付いたコンテンツ別の.wasmを生成してね」
なんかは自然な流れだと思いますね
完全CtoCかつ個人で決済もシリアル発行も、は利用者のリテラシ上ハードルは高そうです
ですが、上にも書いたよう.wasm生成・配布サービスが保証されていれば
インストールする前に、企業連携でハッシュ値の確認をすればいいだけのような
>ウェブ言語だけでシリアルナンバーとか生成
そもそも始まりの、自分の認識が
「WebAssemblyのソースコードって読めちゃうの?」
「逆汗で中で何やってるか丸わかりなの?」
みたいなところから来てるのでとくに深い意味もなく
説明としては>>491ですね
要は、webassembly使えばお手軽にシリアルキー発行できるか否か
程度の話です
>シリアルキーを解読
これはよくあるプロダクトキーの照会と捉えていいかもですね
ただ、キーを.wasmに投げた後の処理が照会→キーの解析→閲覧などあります
コンテンツ売買のくだりも、企画設計を想定しているというか
>ってどんな処理を想定してんの
という質問が来たので、例えばこういうのできたら面白そうだなと
即席で考えた感じです。もっと単純に言えば
「複数のIDが事前に登録されており、ランダムにechoするだけの.wasm」
これが実行される前に
・バイナリデータから全登録IDを取得できるのだろうか?
・逆アセで全登録IDはバレバレ(丸見え)なのだろうか
というが知りたかっただけです

523:Name_Not_Found
18/07/24 04:55:28.73 .net
単純な話、
ウェブ上でみんな同じファイル(.wasm)を読み込んでいるのに
キー発行のアルゴリズムがバレずに独自キーを発行できる
って何かすごい気がする
と思っただけというか

524:Name_Not_Found
18/07/24 05:18:24.34 .net
今の心境を語るなら、仕様バグに突っ込みを入れたときの、担当者の言い分を聞いている感覚に似ている

525:Name_Not_Found
18/07/24 07:05:47.46 .net
>>484
そうです
自分がやりたいのは英語の置換なので、
英語の活用形と何の繋がりもないのに綴りが同じ名詞がないこともないだろうと。
あと単純に、形態素解析なら、原形に置換するための辞書を用意する必要がないというのもあります
一度で、二度おいしい

526:Name_Not_Found
18/07/24 07:11:45.90 .net
ということで今週中にお願いします
納期が迫ってるんです

527:Name_Not_Found
18/07/24 08:31:42.95 .net
while( !answer ){
you.hair.fallOut();
if( xday < (new Date()).now() ) you.die();
}

528:Name_Not_Found
18/07/24 08:58:56.23 .net
>>520
だからやりすますのやめて下さい
納期なんてないです

529:Name_Not_Found
18/07/24 09:32:01.79 .net
if(you.hair.empty())

530:Name_Not_Found
18/07/24 12:35:18.76 .net
確かにWASMにすればソースコードはわからないけど、
バレたくないのって特許的なアルゴリズムだったり、計算に纏わる各種数値でしょ
そのくらいであれば簡単に解析できるよ
バイナリとは言えasm.jsを圧縮したようなもんだから、アセンブリとは違って逆コンパイルも単純だし
その状態でも確かにメモリアクセスを理解するのはやや煩雑だがロジックは簡単に読める

531:Name_Not_Found
18/07/24 12:53:58.23 .net
WASM側(jsの方がわかりやすいので)
var atari={
'Z3845fHc':'アマギフコード1',
'83F8y838':'アマギフコード2',



];
JavaScript側
//WASM読み込み&ためのコード
 console.log( instance.exports.atari[id] );
//WASM(ry
例えばこういうのでもWASMのバイナリコードを読み込んだ時点で
事前にアマギフコードが全部バレちゃうってこと?

532:Name_Not_Found
18/07/24 12:57:15.24 .net
訂正 atariは}で閉じ

533:Name_Not_Found
18/07/24 13:13:19.76 .net
WebAssembly Studioみる限りそのままコードをバイナリにしてるぽいので
>>525の変換後も普通に突っ込めばできそうなんだが今ちょっと試せない

534:Name_Not_Found
18/07/24 17:28:23.75 .net
この長文の人って>>502と同一?
構ってもらえる訳ないだろ

535:Name_Not_Found
18/07/24 17:56:48.27 .net
今ちょっと試せないで草

536:Name_Not_Found
18/07/24 20:31:27.96 .net
そのままコードを置き換えてるという点では
既存のミニマライザ程度の難読化効果はあるだろうがそこまでだからな
その状態でも通信すれば内容は抜けるし
どんなに難読化しようと最終的にCanvasに書き出せばそれは簡単に取得できる
そしてでっかいABをメモリに見立てて使うと言う点では
その1つのABさえ監視しておけば全ての重要なデータがそこに含まれてるのだから
ネイティブのゲームなんかのハックでCheat Engine使ってプロセスメモリ解析するようにABを解析するようにすれば、
むしろミニマイズされたコードの流れをデバッガで必死に追いかけていくよりもチートが容易いかもしれない
既存のチート対策のようにメモリ管理を丸ごと自前で構築して
頻繁に割当を移動させるだとか、値をXORしたりする方法はあるかもしれない
でもWASMの問題は逆コンパイルが容易でそういうコードもバレやすいし、ランタイムの改ざんも非常にしやすい

537:Name_Not_Found
18/07/24 20:54:41.14 .net
つまりjavascriptの難読化するやつは悪人ってことですね

538:Name_Not_Found
18/07/24 21:19:13.81 .net
さらにもうちょい具体的に知りたいです
例えば
URLリンク(webassembly.studio)
(上タグのBuildでmain.wasm化できます)
入力値をnとすれば
instance.exports.main(n);
1を入力したら120
3を入力したら360
10を入力したら1200
という具合に、単にnに120掛けているだけ
というのは予測できるが、
nに 2*3*4*5 を掛けているのか、60*2 を掛けているのかetc
かどうかは、Build後のmain.wasmからは読み取れない
という認識で合っていますでしょうか?

539:Name_Not_Found
18/07/24 21:21:04.42 .net
協力会社の人に聞くことにします

540:Name_Not_Found
18/07/24 21:23:19.06 .net
強力な協力会社です

541:Name_Not_Found
18/07/24 23:22:50.84 .net
>>532
コンパイル最適化で定数の120にされるのでそれはわからない
わからないと言うか実際はただ120をかけてるだけ
でもそこが分かっても分からなくても大したこと無いだろうよ

542:Name_Not_Found
18/07/24 23:37:44.04 wx4nKfcH.net
今ふと思ったのですが、power shell で.jsファイルを実行することって
可能なんですかね....
ちょっとやってみたら、もちろんprintはできませんでした

543:Name_Not_Found
18/07/24 23:44:40.87 .net
.pyならpythonコマンドを、.jsならnodeコマンドを呼べば出来るだろ。シェルをなんだと思ってるんだ。
すぐ制御戻ってくるのが嫌ならStart-Process -Wait使え

544:Name_Not_Found
18/07/25 00:11:41.90 .net
>>535
>コンパイル最適化
なるほど ありがとうございました

545:Name_Not_Found
18/07/25 10:13:39.34 .net
JavaScript Lemmatizer
URLリンク(github.com)
このライブラリは英語の動詞や名詞の原形を取得できるものですが
URLリンク(takafumir.github.io)
このサンプルページを実行しても、今のchromeだとエラーになって動作しません
どうすればいいのでしょうか?

546:Name_Not_Found
18/07/25 12:41:54.47 .net
変換テーブルだけ使わせてもらうのもアリかと思い>>539のソースを見てみたのですが、
どういう基準が選ばれたのか分からない、不思議な連語が結構含まれていて、謎みがあります
おそらく、元になったライブラリから流用されたものだと思いますが。
それでふと思ったのですが、語を一つ一つ英和辞典で引くことでも、変換テーブルは作成可能ですよね?
英和辞典なら、複数形で引けば単数形が出るし、過去形で引けば現在形が出るはずです
コマンドラインで引ける(プログラムから引きやすい)英和辞典はないものでしょうか?

547:Name_Not_Found
18/07/25 12:43:23.16 .net
自演臭い

548:Name_Not_Found
18/07/25 13:31:39.30 .net
そんなどこの馬の骨とも分からんような未メンテ放置のライブラリよりnaturalのstemmer使えよ。
URLリンク(github.com)

549:Name_Not_Found
18/07/25 13:59:21.77 .net
>>541
「JavaScript 英語 動詞 原形」とかで検索したら最初に出てくるページですが?
>>542
ありがとうございます
語幹だけを取り出すプログラムはstemmerっていうんですね
そういうキーワードになる術語も知らなかったので助かります

550:Name_Not_Found
18/07/25 14:57:21.24 .net
IPFSで簡単なサイト作ってみようとして疑問に思ったことがあります
ajaxでよくある、クロスドメインの問題です
IPFSにjsファイルをアップロードして読み込む場合、
これはブラウザ側で許可する以外に方法はないのでしょうか?

551:Name_Not_Found
18/07/25 15:10:29.40 .net
ajaxでよくある、クロスドメインの問題です
ぐぐりましょう

552:Name_Not_Found
18/07/25 16:16:40.48 .net
node.jsのnaturalっていうのは、自然言語関係の一般的なアルゴリズムを集めたもので
辞書は含まれていないようですね
すべてをアルゴリズム的に処理するので、不規則動詞を原形にしたりは出来ないようです
WordNetにアクセスするモジュールもあったので期待したのですが
WordNeは意味を中心に語を体系づけたものなので、語の外形についての情報はないっぽいです・・

553:Name_Not_Found
18/07/25 17:25:53.97 .net
そうかそりゃすまんかった

554:Name_Not_Found
18/07/25 20:26:13.96 .net
いえいえ、キーワードを知れただけでも助かりました、ありがとうございます
WordNetというキーワードからPDICという辞書ソフトを見つけて
それ用の辞書はCSVとして出力可能なので、データソースとして使えるかも?というあたりまできました

555:Name_Not_Found
18/07/25 20:28:11.18 .net
これなら今週中の納期に間にあうかな?

556:Name_Not_Found
18/07/25 20:34:28.97 .net
というかwebapiに丸投げとかしちゃいけないの?

557:Name_Not_Found
18/07/25 21:49:37.98 .net
どうせならTensorFlow.jsでモデル作ろうぜ

558:Name_Not_Found
18/07/25 22:11:01.44 .net
>>551
不規則動詞を原形にするのにニューラルネット使うなんてミスマッチ過ぎるw
はやりに踊らされるディープバカ。

559:Name_Not_Found
18/07/26 06:38:06.00 .net
ニューラルネットってWebと相性が良いと思う
データの量にかかわらず指定したサイズと計算負荷のモデルを作ることができるし
それを蒸留してモバイル向けにサイズと計算負荷が1/5のものを用意するとかも簡単にできる

560:Name_Not_Found
18/07/26 08:36:01.63 .net
ディープバカwwww

561:Name_Not_Found
18/07/26 14:38:27.64 .net
JavaScriptの正規表現でgスイッチを使うと
グループ化が機能しないことに気づきました
console.log("0123ABCD".match(/\d+(\w)/));
=>["0123A", "A"]
console.log("0123ABCD".match(/\d+(\w)/g));
=>["0123A"]
gスイッチもグループ化、どちらもが配列で返すので、
機能的にバッティングしているのが理由かと思いますが
そこは配列の配列を返せばいいだけのような?
違いますか?

562:Name_Not_Found
18/07/26 15:11:24.15 .net
法廷ドラマみたいな問い質し方でワロタwwwww

563:Name_Not_Found
18/07/26 17:59:31.42 .net
>>555
console.log("0123AB456CD".match(/\d+(\w)/g));
=>["0123A", "456C"]

564:Name_Not_Found
18/07/26 19:41:58.68 .net
>>555
str = "11A22B33C"
reg = /\d+(\w)/g
ary = [...Array(str.match(reg).length)].map(_=>reg.exec(str))
// [["11A", "A"], ["22B", "B"], ["33C", "C"]]

565:Name_Not_Found
18/07/26 20:11:46.36 .net
>>558
なぜ2回、matchするんだ?

566:Name_Not_Found
18/07/26 20:34:38.81 .net
言う前に先越されたかw
>>558
そんな、RegExpの挙動をちゃんと知らないと理解できないような
読み解くのに時間がかかるようなコードかかないで
分かりやすくかけよ。だから>>559みたいなレスが来る
ary = [...Array(str.match(reg).length)].map(_=>reg.exec(str))
// ...Array 大好き人間かよ。 新しい技を手に入れたらそればっかり使いたくなる癖は直したほうが良いぞ
ary = str.match(reg).map(_=>reg.exec(str));
// 短いがこれも分かりづらい。_を捨てて何故動くんだよ?ってなる

reg1 = /\d+\w/g
reg2 =/\d+(\w)/
ary = str.match(reg1).map(i=>reg2.exec(i));
// 推奨。わざわざ変数に入れなくてもよいが

567:Name_Not_Found
18/07/26 20:37:34.81 .net
> // 推奨。わざわざ変数に入れなくてもよいが
変数に入れなくて良いのは正規表現ね
ary = str.match(/\d+\w/g).map(i=>/\d+(\w)/.exec(i));
ということ

568:Name_Not_Found
18/07/26 20:39:22.88 .net
>>555
var arr = "11ABC22BCD33CDEF".split(/(\d+(\w))/);
// arr.shift();arr.pop();
console.log(arr);

569:Name_Not_Found
18/07/26 20:43:23.88 .net
Ruby なら、
str = "11A22B33C"
reg = /\d+(\w)/
str.scan(reg).to_a
#=> [["A"], ["B"], ["C"]]

570:Name_Not_Found
18/07/26 20:45:08.53 .net
>>563
数字消えとるやんw まあ残せとか書いてないけどさ

571:560
18/07/26 20:51:23.28 .net
うーん、でも普通(?)にwhile使えば正規表現処理は1回ですむんだよな
これもう少しうまくかけないかな
str = "11ABC22BCD33CDEF"
var reg = /(\d+(\w))/g;
var ary = [];
while (a = reg.exec(str))


572:{  ary.push(a); } console.log(ary);



573:Name_Not_Found
18/07/26 21:09:10.20 .net
>>565
それが基本
>>560も無駄が多い

574:Name_Not_Found
18/07/26 21:13:22.78 .net
え?>>560の無駄って?
言えないなら黙ってろよw

575:Name_Not_Found
18/07/26 21:22:47.40 .net
>>566
IDちゃんと見ろよ。
>>565>>560は同一人物だ

576:Name_Not_Found
18/07/26 21:29:30.54 .net
>>555
var arr = "11ABC22BCD33CDEF".split(/(\d+(\w))/).filter((_,i)=>(i%3!==0));
console.log(arr);
//=>["11A", "A", "22B", "B", "33C", "C"]

577:Name_Not_Found
18/07/26 21:29:46.43 .net
>>568
同一人物だからいってる
正規表現処理の回数を気にしてるぐらいだし、伝わると思うが

578:560
18/07/26 21:35:53.24 .net
RegExp.exec()がコールバック関数を受け取れば良いのかなー
第二引数に関数が渡されていればmapのような挙動をするとかいう仕様なら
互換性保ちながら拡張できそうだと思った
str = "11ABC22BCD33CDEF"
var reg = /(\d+(\w))/g;
var ary = reg.exec(str, a => a)
console.log(ary);

>>570
正規表現の処理的には無駄が多いってわかってるから>>565を書いたんだけど?
そんな俺が言ったことを復唱するようなレスされてもなーw
>>560の本質は、無駄かどうかじゃなくて、分かりやすくかけよって話だから

579:559
18/07/26 21:47:25.05 .net
>>571
知らんがな
そう思うなら、>>560で推奨なんて書くなよ
>559に絡めて、代弁者にでもなったつもりか

580:Name_Not_Found
18/07/26 22:00:20.09 .net
>>559
> なぜ2回、matchするんだ?
matchは二回してないぞw
> ary = [...Array(str.match(reg).length)].map(_=>reg.exec(str))
このクソ分かりづらいコードが、クソ分かりづらいことを
証明するために説明してあげる。こんな説明が必要だからクソってことね
ボコボコにするから>>558は泣くなよ?w
まず [...Array(str.match(reg).length)] と map(_=>reg.exec(str)) に分ける
前半の部分 の [...Array(str.match(reg).length)] は実は str.match(reg) でよい
Array(・・・.length) は、「正規表現でマッチした配列」のlengthだけを使い
「正規表現でマッチした配列」と同じサイズの「空の配列」を作るという意味
普通はこんなことせずに、空の配列に変換せずにそのまま正規表現でマッチした配列を使えばよい
そして、[...空の配列] は 空の配列をカンマ区切りの引数にして配列に戻している
つまり[ary[0], ary[1], ary[2],・・・] と同じ。配列を展開して配列に戻す無意味な処理ってこと
知ったばかりの [...Array]という技を使いたがってるだけというのはこういうこと
はい、前半部分で2つ意味不明な処理が入ってましたw

581:Name_Not_Found
18/07/26 22:00:54.30 .net
結局前半部分は、なんのために存在するかと言うと、後半部分を正規表現でマッチした数だけ繰り返すため
match において reg = /\d+(\w)/g のキャプチャ部分は意味を持たないようだ。
reg = /\d+\w/g と一緒。ついでに後半部分の exec では今度は/gが意味を持たないようだ
つまり前半部分は、 /\d+\w/g という意味で使い、 後半部分は /\d+(\w)/ という意味で使っている
このような、無視されることで書いたものとは違う解釈がされることを前提にしている。これも分かりづらい点の一つ
で、後半部分は、結局 reg.exec(str) を配列でマッチした数だけ繰り返すという意味でしか無い
だから _ は不要。regオブジェクトは状態を持っていて、
reg.exec(str) 1回目・・・["11A", "A"]
reg.exec(str) 2回目・・・["22B", "B"]
reg.exec(str) 3回目・・・["33C", "C"]
というふうに異なった値を返す。
このよう挙動はregオブジェクトのexecメソッドは起きる。
先のmatchメソッドは、strのメソッドであることに注意

582:Name_Not_Found
18/07/26 22:04:36.72 .net
>>572
関数型風のコードの書き方としては>>560 推奨で問題ない
>>565は手続き型風のコード。だからコードが長くなってしまっている。
根本的な解決方法は>571なのだろう

583:Name_Not_Found
18/07/26 22:23:22.04 .net
「手続き型だからコードが長くなる」
待遇を取って、
「コードが短ければ手続き型ではない(≒関数型である)」
これはそうとは限らない(アセンブラなど)、つまり偽だから命題は否定された。

584:Name_Not_Found
18/07/26 22:23:39.78 .net
原因はjavascriptのregexpがクソということでok?

585:Name_Not_Found
18/07/26 22:33:02.73 .net
もともと関数型言語じゃないからな。
最近のトレンドが入ってきてJavaScriptでも
mapとかreduceとか使えるようになったけど、
それすらも昔は無かった関数

586:Name_Not_Found
18/07/26 22:33:45.01 .net
>>558
どうせならこうしようぜ
str = "11A22B33C"
reg = /\d+(\w)/g
ary = str.match(reg).map(_=>reg.exec(str))
// [["11A", "A"], ["22B", "B"], ["33C", "C"]]
圧 倒 的 ス マ ー ト

587:Name_Not_Found
18/07/26 22:37:33.92 .net
関数型言語じゃないけど、長い間メインストリーム言語の中で唯一関数型言語である条件のひとつ、関数が第一級オブジェクトである、を満たしている言語だった(過去形)

588:Name_Not_Found
18/07/26 22:37:38.07 .net
>>560に書いてあるやん
> ary = str.match(reg1).map(i=>reg2.exec(i));

589:Name_Not_Found
18/07/26 22:39:57.35 .net
>>581
そっちはそっちで正規表現オブジェクト2つ使ってて無駄というか
直球回答じゃないそもそも論的なやつじゃん

590:Name_Not_Found
18/07/26 22:44:57.78 .net
while > 正規表現2回のうち片方省コスト化 > 正規表現2回
ってだけのことだろ
そもそも論の直球回答としては>>577で完全終了してしまう

591:Name_Not_Found
18/07/26 22:51:38.19 .net
>>582
だから論点は無駄かどうかじゃなくてわかりやすいかどうかだって
メソッドによって違うように解釈されるような使い方したらいかんよ
知らない人が見たらmatchでキャプチャされた文字部分を繰り返すとか読めてしまうだろ

592:Name_Not_Found
18/07/26 23:28:22.43 .net
>>560
i=>reg2.exec(i)のiって何の略なのかおしえてください

593:Name_Not_Found
18/07/26 23:31:43.78 .net
インデックス(index)です

594:Name_Not_Found
18/07/26 23:36:40.38 .net
要素、要素のインデックス、回してる配列の順なのに要素の名前にiを使うというセンスの無さが光る。
jQueryのと混乱してるのだろうか?

595:Name_Not_Found
18/07/27 00:37:13.02 .net
>>585
イテレーター

596:Name_Not_Found
18/07/27 01:14:44.84 a94F3qFI.net
コンストラクタに入れ子にしたメソッドを示すにはどのようにすれば良いですか?
どうやらthis.はコンストラクタを示してしまい、メソッド自身を示せない様です

597:Name_Not_Found
18/07/27 02:14:14.59 .net
>>588
iと同じくjもよく使われてますがこのjはなんですか?

598:Name_Not_Found
18/07/27 02:16:46.36 .net
>>586
残念
イテレーター(iterator)だね

599:Name_Not_Found
18/07/27 02:17:46.70 .net
単に、i, j, k と、アルファベット順

600:Name_Not_Found
18/07/27 02:30:38.31 .net
URLリンク(developer.mozilla.org)
string のreplace には、コールバック関数を渡せる。
match には渡せないけど

601:Name_Not_Found
18/07/27 06:18:22.10 .net
ここまで matchAll 無し
[..."11A22B33C".matchAll(/\d+(\w)/g)]
// [["11A", "A"], ["22B", "B"], ["33C", "C"]]

602:Name_Not_Found
18/07/27 06:27:28.83 .net
phpではphp4の時代からpreg_match_allが使えたのにね

603:Name_Not_Found
18/07/27 06:52:14.30 .net
matchAllって何なのかと思ったらまだStage3か
でももう一つステージが上がったら以後はこれのポリフィルを使うでFAだな

604:Name_Not_Found
18/07/27 07:18:17.87 .net
また読み込むJavaScriptファイルが増えるのか

605:Name_Not_Found
18/07/27 09:19:26.93 .net
やったね

606:Name_Not_Found
18/07/27 12:33:44.69 sDvYZF1o.net
JavaScriptをはじめて触ろうとしている初心者で右も左もわからず途方に暮れております。
どうかググり方のヒントだけでもよろしくお願いします。
【環境】 windows7 / firefox62
【条件】 ページ内に特定の文字列が存在する場合にimacrosを起動させたい
     URLリンク(detail.chiebukuro.yahoo.co.jp)
【何をしたいのか】ページ内に「陽性反応」の文字列が存在する場合に、「iimPlay("#Current1");」というコマンドでimacrosを起動させたい
【期待する結果】・ページ内に「陽性反応」の文字列が存在する場合に<input type="button">を押して次のページへ進む
          ・ページ内に「陽性反応」の文字列が存在しない場合には「何もしない」

607:Name_Not_Found
18/07/27 12:44:57.83 .net
最低でも99$か・・・

608:Name_Not_Found
18/07/27 14:10:16.80 .net
>>589 こういうことではなく?
class Hoge {
constructor(){
this._fuga1 = function(){ console.log('_fuga1') };
}
fuga(){ console.log('fuga') }
}
hoge=new Hoge();
hoge.fuga(); // fuga
hoge._fuga1(); // _fuga1

609:Name_Not_Found
18/07/27 14:25:32.56 .net
ほげー
ふがー

610:Name_Not_Found
18/07/27 14:47:55.62 .net
フランケン
ざますー
ざますー

611:Name_Not_Found
18/07/27 15:02:11.00 .net
怪物くんかよオッサン過ぎるだろ

612:Name_Not_Found
18/07/27 15:45:36.27 .net
香取慎吾主演ドラマ
2010年だよ
おっさんじゃねーよ
みてねーけどな

613:Name_Not_Found
18/07/27 17:54:47.47 .net
>>599
コードを作ってくださいなのか
自分でやりたいので出来るための道筋たててくださいなのか
どっち?
基礎からやればすぐ出来るレベルの話なんだけど

614:Name_Not_Found
18/07/27 18:09:07.05 .net
>>599
お箸を持つ方が左で、お茶碗を持つ方も左です。

615:Name_Not_Found
18/07/27 19:02:17.19 .net
お箸を持つほうが右で
コップを持つほうが左
ナイフは右で、フォークは左
スプーンは状況に応じて右だったり左だったり

616:Name_Not_Found
18/07/27 19:10:01.29 .net
>>608
イタリア人は(スプーン使わず)フォーク1本でスパゲッティ食うが、その時はほとんどの人が普通に右で持ってたはず。

617:Name_Not_Found
18/07/27 19:20:33.03 .net
鉛筆は右で、消しゴムは左
電卓は左で、テンキーは右

618:Name_Not_Found
18/07/27 19:34:37.81 .net
マウスは右で、左手はちん

619:Name_Not_Found
18/07/27 20:46:05.85 .net
>>599
XPath, text()
URLリンク(developer.mozilla.org)

620:Name_Not_Found
18/07/28 00:29:58.66 .net
>【何をしたいのか】ページ内に「陽性反応」の文字列が存在する場合に、
>「iimPlay("#Current1");」というコマンドでimacrosを起動させたい
ページ内という表現があいまい。
F12 開発者ツールを起動して、XPath, CSS セレクターで、どの要素か特定する
<div id="abc">陽性反応あり</div>
id は、# で指定できるから、jQuery なら、#abc
jQuery のCSS セレクターを勉強すれば?

621:Name_Not_Found
18/07/28 01:17:07.29 VfG+xZou.net
100

622:Name_Not_Found
18/07/28 01:51:20.21 .net
var resAry = [];
function replacer(match, p1) { resAry.push(p1); };
var oldStr = "11A22B33C";
var reg = /\d+(\w)/g;
// 第2引数は、コールバック関数
oldStr.replace(reg, replacer);
console.log(resAry); // ["A", "B", "C"]

623:Name_Not_Found
18/07/28 08:29:21.48 .net
数値の後に続く英字だけが欲しいならこう書けるよ
"111A222B333C".match(/(?<=\d+)[A-z]/g); // ["A", "B", "C"]

624:Name_Not_Found
18/07/28 09:00:55.34 .net
とりあえず、それだとちょっとだけ記号が引っかかっちゃったりしないか
[a-zA-Z]ではなく[A-z]だとASCII表的に [ ] \ とかが

625:Name_Not_Found
18/07/28 09:27:25.75 .net
元の\d+(\w)も「123」とかにもマッチしちゃうし細かいことはいいんじゃない?
実際は条件が限定されてるだろうしそれに合うように適当に書けばいいと思うよ

626:Name_Not_Found
18/07/28 10:04:14.18 .net
言われてみりゃ確かに

627:Name_Not_Found
18/07/28 13:28:14.83 .net
そうそう。細かい仕様は言ってないので、
そこを変えてあれこれいっても意味ない
ただ出されたコードに明らかに無意味なことをしてる
分かりづらいコードがあったから
それを指摘しただけ(>>573-574)

628:Name_Not_Found
18/07/28 13:30:03.36 .net
そうかよくやった!君は偉いねぇ

629:Name_Not_Found
18/07/28 13:38:05.81 .net
偉いつもりはないが、そう見えたならそうなんだろう

630:Name_Not_Found
18/07/28 14:09:44.62 .net
javascriptで後読み言明って使えるん?
手元のfirefoxとchromeでは使えなかった

631:Name_Not_Found
18/07/28 14:18:07.92 .net
こんにちは、諸葛孔明です。

632:Name_Not_Found
18/07/28 14:21:14.53 .net
カエレ

633:Name_Not_Found
18/07/28 15:07:04.13 .net
>>623
Chromeでは62から使えるらしい
URLリンク(www.chromestatus.com)
ES2018
URLリンク(github.com)

634:Name_Not_Found
18/07/28 15:29:38.49 .net
カエザル

635:Name_Not_Found
18/07/28 15:30:19.34 .net
先にある文字があるかどうかなのになぜ先読みではなく後読みになるの?おかしくない?

636:Name_Not_Found
18/07/28 15:31:29.37 .net
あいう
いの前にあがあるよね。そして
いの後にうがある。おかしい!

637:Name_Not_Found
18/07/28 16:01:47.02 .net
>>628
(?<=\d+)
なら数値の後ろの位置にマッチする
後ろを見る→lookbehind→後読み
「後読み」ではなく「後ろ見」と覚えると良い

638:Name_Not_Found
18/07/28 20:17:19.45 .net
lookbehindそのままが一番勘違いしないわこれで覚えます

639:Name_Not_Found
18/07/28 23:35:26.12 .net
str="りんご03の値段は、100円です。";
100円の数値部分だけreplaceするとき、
円まで上書きせずに正規表現するにはどうしたらよいのでしょうか?
(?<=...)この表記の直後版みたいな感じです
\d+(?<=円)とかやってみましたがうまくいきません

640:Name_Not_Found
18/07/28 23:59:07.07 .net
str.replace(/\d+(?=円)/,'20')
//"りんご03の値段は、20円です。"

641:Name_Not_Found
18/07/29 00:00:23.72 .net
もしくはこう
str.replace(/\d+(円)/,'20$1')
//"りんご03の値段は、20円です。"

642:Name_Not_Found
18/07/29 00:04:35.37 .net
そうです! >>634>>633みたいにしたかったんです!
ありがとうございます すっきりしました

643:Name_Not_Found
18/07/29 00:54:51.57 .net
var oldStr = "りんご03の値段は、100円です。";
var reg = /(\d+)円/;
// 第2引数は、コールバック関数
var newStr = oldStr.replace(reg, "50円");
console.log(newStr); // りんご03の値段は、50円です。

644:Name_Not_Found
18/07/29 01:36:13.95 0NVc570g.net
そこまでするなら、そもそもりんごの値段変更のためのプログラムだから
古い値段の広告
新しい値段の広告=古い値段の広告.置換(値段変更のためのルール,"50")
console.log(新しい値段の広告)
とかの方がわかりやすくない?
具体的な変数名はまったく思いつかないけど

645:Name_Not_Found
18/07/29 02:27:56.88 .net
連続してajaxで画面内用かえたいんだけど2回目以降どうしたらいいの?
<div id="ajax">
<script>
var onsubmit = () => {
var xhr = new XMLHttpRequest();
// data
xhr.send(dta);
xhr.onreadystatechange = () => {
if( xhr.status == 200 ) {
getElementById("#ajax").innerHTML=xhr.responseText;
}
}
return false;
}
</script>
<form onsubmit="onsubmit()">
//入力
</form>
</div>
みたいな内容を毎回サーバーから返しても
formの部分は変化するけどJSの部分は認識されない
JSの内容も動的にかえるって無理なのかな
必要な処理は最初に全部定義しておかないとダメなのかな

646:Name_Not_Found
18/07/29 02:44:32.18 .net
.innerHTML=xhr.responseTextのところで、<script>うんたら</script>みたいなのも返ってきて実行したいってこと?

647:Name_Not_Found
18/07/29 05:41:58.32 .net
hoverとマウスオーバーは同じ意味と考えていいですか?

648:Name_Not_Found
18/07/29 08:00:50.59 .net
>>640
no

649:Name_Not_Found
18/07/29 08:30:39.51 .net
具体的にどこが違うんですか?

650:Name_Not_Found
18/07/29 09:55:50.73 .net
>>639
そうです!!!

651:Name_Not_Found
18/07/29 10:53:03.95 .net
>>638
> JSの内容も動的にかえるって無理なのかな
無理ではないが、良くないやり方。
JSの内容は静的に最初にページを表示させた時に
すべて読み込んでおく

652:Name_Not_Found
18/07/29 11:01:38.36 .net
どうしても動的にスクリプトを読み込みたければ
一番マシなのはimport()メタ関数を使うことだな

653:Name_Not_Found
18/07/29 11:04:06.82 .net
>>642の質問に答えられる人はここにはいないのでしょうか?

654:Name_Not_Found
18/07/29 11:44:22.80 .net
hoverは擬似クラスだからマウスが継続して乗っかり中であるという状態区分を表しているが
mouseoverはマウスが乗ったという瞬間のイベントという違いがある

655:Name_Not_Found
18/07/29 11:46:49.87 .net
>>647
なるほど
分かりやすい説明ありがとうございました

656:Name_Not_Found
18/07/29 12:53:11.02 .net
>>638
JavaScript にあるかどうか知らないけど、他の言語では、
eval でソースコード文字列を、そのまま実行できる
ただし、他人の文字列を実行するのは、危険!

657:Name_Not_Found
18/07/29 12:55:20.19 .net
>>638
そもそも、ajax は、jQuery を使ってよ
素のJavaScript は、可読性が低い

658:Name_Not_Found
18/07/29 13:01:52.16 .net
>素のJavaScript は、可読性が低い
jQuery慣れしてるだけ
他言語から初めてJavaScriptきた人間ならそうは思わない

659:Name_Not_Found
18/07/29 13:15:50.99 .net
jQuery覚えるの面倒くさい
本職はバックエンドだし
あまり色々覚えるの嫌なんだわ

660:Name_Not_Found
18/07/29 13:17:37.44 .net
>>650
内容以前に書き方がくっさい

661:Name_Not_Found
18/07/29 13:19:27.68 .net
jQueryは害悪でしかない
百害あって一利なし
触れない方がいい

662:Name_Not_Found
18/07/29 13:26:03.48 .net
jQueryは多言語から来た人には分かりにくいんだろうね
ウェブのフロントバッチリやって来た人なら有用性は自明なんだけども
俺は教育的配慮から他言語から来た人にはjQuery使わないと死ぬような案件をワザと降っている
そうでないと覚えてくれないからね

663:Name_Not_Found
18/07/29 13:36:09.41 .net
$.ajax(selector).on('click', req).done().fail().always()
何このマヌケなコード
if elif else関係をif if ifでやってんのか

664:Name_Not_Found
18/07/29 13:56:36.29 .net
ちゃんとルビふらなきゃ
いやがらせ
教育的配慮

665:Name_Not_Found
18/07/29 14:05:04.33 .net
要素数が10万のハッシュをJavaScriptに持たせても、
性能的に問題ないでしょうか?
(通信速度は別として)

666:Name_Not_Found
18/07/29 14:11:11.31 .net
>jq使わないと死ぬ案件
それ「ゼロから設計し直して書き直したほうが早い」案件では

667:Name_Not_Found
18/07/29 14:12:28.31 .net
私大文系が偉そうに教育的配慮www
ヴァ~カ!

668:Name_Not_Found
18/07/29 14:17:05.51 .net
そろそろfetch使おうぜ

669:Name_Not_Found
18/07/29 14:26:29.91 .net
>>659
フロント1ページ作るのに設計?

670:Name_Not_Found
18/07/29 14:27:38.82 .net
$.ajax(selector).on('click', req).done().fail().always()
何このマヌケなコード
if elif else関係をif if ifでやってんのか
形を変えてelse使うヴァカ
何も考えてない屑の証拠

671:Name_Not_Found
18/07/29 14:28:43.23 .net
>>662
jQuery使わないと死ぬような案件って、超絶しょっぼい案件ってことなの?

672:Name_Not_Found
18/07/29 14:28:57.76 .net
>>644,645,649
基本的にはできないんですね
bookmarkletみたいにクリック先のJSを毎回実行するみたいなイメージ想像してたけど…
ありがとうございました
>>650
jQueryって何ができるんですか?
ちょっと前は jQuery じゃないとできないことがおおかったけど
今 pure JS でもわりといろいろサポートされてて
書き方が違うだけでできることほとんどかわらなくなったから覚えなくていいっていわれたんですけど

673:Name_Not_Found
18/07/29 14:30:20.13 .net
どんな案件でも設計は重要
似非PGには理解できないだろうが

674:Name_Not_Found
18/07/29 14:32:07.58 .net
荒らしてる奴、マー版から出てくるな
>>282
>ヴァカに混じってJSをやる事になったのだが
>Angularのドキュメント書いた奴氏ねよ

>私大文系が格好付けてワザと分かりにくく書いてるだろ
>何言ってるのかさっぱりだわ

>ヴァカに文章かかせるなよ
Angularの説明文も理解できない低知能が何言ってるのか。

675:Name_Not_Found
18/07/29 14:32:51.08 .net
マー板ってなに

676:Name_Not_Found
18/07/29 14:34:08.06 .net
>>668
プログラマー版

677:Name_Not_Found
18/07/29 14:34:33.26 .net
>>669
「マ板」なら知ってるけど

678:Name_Not_Found
18/07/29 14:35:35.62 .net
司法試験に一発且つ首席で合格するのと10歳でフィールズ賞を受賞するのはどっちの方が凄いですか?

679:Name_Not_Found
18/07/29 14:36:50.25 .net
十で神童十五で才子二十過ぎればただの人

680:Name_Not_Found
18/07/29 14:37:02.04 .net
プログラマー版にはライブラリーをライプラリーと書いたヴァカもいたよな

681:Name_Not_Found
18/07/29 14:37:29.66 .net
>>667
よう!私大文系ww

682:Name_Not_Found
18/07/29 14:37:40.84 .net
プロプライエタリと混ざったんじゃねーの(適当)

683:Name_Not_Found
18/07/29 14:38:37.02 .net
プログラマー版はaccessだのvbだの屑の巣窟
アホだらけだよ

684:Name_Not_Found
18/07/29 14:39:51.87 .net
平均的な囲碁棋士と平均的なプリンストン大生はどっちの方が賢いですか?

685:Name_Not_Found
18/07/29 14:42:11.05 .net
ヴァカ沈黙www
勝利

686:Name_Not_Found
18/07/29 14:46:21.22 .net
こちらはJS如きで労力使いたくねーんだよ
jQuery覚えろ?
まっぴらごめんだわ

687:Name_Not_Found
18/07/29 14:58:02.39 .net
jQueryは害悪でしかない
百害あって一利なし
触れない方がいい
触れるとヴァカになる

688:Name_Not_Found
18/07/29 15:10:23.13 .net
>>659
>>jq使わないと死ぬ案件

>それ「ゼロから設計し直して書き直したほうが早い」案件では
普段何やってんの?
俺はreactだけど、jqは認めてるぞ
ゼロから設計ってなんだそりゃ?

689:Name_Not_Found
18/07/29 15:12:07.25 .net
プログラムをちょっと齧っただけの知識でドヤ顔してるニートが多いから頓珍漢なレスばかりになる

690:Name_Not_Found
18/07/29 15:37:34.14 .net
いや俺がreactだ

691:Name_Not_Found
18/07/29 16:20:23.17 .net
>>652
> jQuery覚えるの面倒くさい
覚えるの面倒くさい VS 長いコード書くの面倒くさい
俺は後者だな。自分で書いたらその分テストをしなきゃいかん

692:Name_Not_Found
18/07/29 16:21:18.30 .net
>>681
> 俺はreactだけど、jqは認めてるぞ
jQuery覚えるの面倒くさいなら、
Reactも覚えるの面倒くさいってことだよ
自分でガシガシ書く面倒くささを取るってさ(笑)

693:Name_Not_Found
18/07/29 16:24:28.99 .net
>>663
> $.ajax(selector).on('click', req).done().fail().always()
> 何このマヌケなコード
> if elif else関係をif if ifでやってんのか
ただのPromiseの書き方の親戚じゃん
promise.then().catch().finally()
これがわからないってことはjQueryがわからないんじゃなくて
JavaScriptも知らない。ただの初心者ってことだろ

694:Name_Not_Found
18/07/29 16:45:07.37 .net
jqueryも使えない爺さんワロタw
ネット使えるなら初見でも余裕なのに

695:Name_Not_Found
18/07/29 17:09:29.07 .net
>>665
jQuery のソースコードは、1万行!
無数のデバイスに対して、何十箇所もパッチを当てている。
これを人力でやるのは無理。
単純に、10個のデバイスに対応するだけでも、無理
もし、jQueryを使わなかったら、色々なデバイスで誤動作する

696:Name_Not_Found
18/07/29 17:26:01.68 .net
そういうデバイスは動かないで自然淘汰されていけばいいと思うよ

697:Name_Not_Found
18/07/29 17:27:20.15 .net
全てのサイトを動かなくするのは不可能だろw
ほとんどのサイトは見れるのだから淘汰されない。
ただお前のサイトだけ見れないって判断されるだけ

698:Name_Not_Found
18/07/29 17:28:09.36 .net
YouTubeぐらい影響力があるサイトなら
見れないから新しいのに買い替えとかあるかもしれんがね(笑)

699:Name_Not_Found
18/07/29 17:28:20.74 .net
古いブラウザーは切り捨てろよ
ヴァカ

700:Name_Not_Found
18/07/29 17:33:55.59 .net
Androidスマホを買い換えろとでも言う気か?

701:Name_Not_Found
18/07/29 17:35:21.47 .net
売り上げ何百億のサイトだとシェア率1パーセントのブラウザー切っただけで数億円の損失なんだけど?
お前代わりに払ってくれるのか

702:Name_Not_Found
18/07/29 17:42:46.29 .net
一番簡単な考え方として、非モダンブラウザはJS無効組の扱いにすればいいだけだと思うけどな
1万行くらいのコード良く外様ライブラリ使わずに書くけど
Chrome向けだけで書いててFirefoxとか別のモダンブラウザでいきなり試しても
1箇所手を加えるくらいで完璧に問題なく動くよ
というかどういうところで非互換性が問題になるのかが良く分からない
モダンブラウザ間でDOMの基本的な操作のAPIに非互換性は無いはずだ
多分CSSやら色々適応したり見た目に凝ってるところなんだろうけど
自分はそういうところは躊躇なくCanvasを使ってる
Canvas APIの表示互換性はテキスト周りを除いて極めて高い
ただ粒度が大きいから、Houdiniが普及したらPaint APIとかでやりたいね

703:Name_Not_Found
18/07/29 17:48:29.54 .net
>>694
サポートを切ったところでそのサイトにアクセスできなくなったり
画面が真っ黒になったりするわけではあるまい
大げさだよ
でも最近大手サイトがTLS1.0や1.1のサポートやめたじゃん
そういうのはJSのサポートなんかとは比べにならない
本当の意味で「切った」ってことだけど
お金�


704:謌黷ナはなく悪いものを排除するってことは ネット社会上大切な技術者の義務だよ



705:Name_Not_Found
18/07/29 17:57:27.75 .net
間を取れば良いんじゃない
プログレッシブエンハンスメントってやつ
JSが無効でも最低限見れるべきだし
老体のPCに乗ってる老体ブラウザに大きなライブラリ載せて
若者と同じリッチな体験をさせようというのにも無理があると思う
何でもポリフィルしたりライブラリで抽象化するのがよいとは思えない
それよりも段階的なサポートを提供すべき

706:Name_Not_Found
18/07/29 18:00:00.50 .net
>>695
> 一番簡単な考え方として、非モダンブラウザはJS無効組の扱いにすればいいだけだと思うけどな
非モダンブラウザの判定が大変そうですな(笑)

707:Name_Not_Found
18/07/29 18:00:59.32 .net
>>695
> というかどういうところで非互換性が問題になるのかが良く分からない
そりゃそうだろ。一見モダンブラウザに見えて問題なく動くように見えて
マイナーな例で問題があるのがバグなんだから。
想定外の挙動なんて、わかるわけないよ

708:Name_Not_Found
18/07/29 18:02:40.05 .net
>>696
> でも最近大手サイトがTLS1.0や1.1のサポートやめたじゃん
そうだね。使われなくてって、切っても問題ないと判断してから
切らないといけないよね。
古いスマホを使っている人がいなくなってから切らないと大問題になる

709:Name_Not_Found
18/07/29 18:08:31.91 .net
そもそもWebで想定内だなんておこがましい
お前さんのサイトはAppleWatchの今度のブラウザで見ても想定内な見え方
動作の仕方する自身があるのか
そしてそこで問題が出たとき、ライブラリに頼り切ってるお前さんは修正できるのか

710:Name_Not_Found
18/07/29 18:12:32.87 .net
そこまで互換性に拘るのなら尚更jQueryは良くないと思うな
React Native for Webくらいのフレームワークを使うべきだと思う

711:Name_Not_Found
18/07/29 18:13:30.32 .net
何をどこまでサポートしてコストを払うかのサポートポリシーは各自で決めてよ
他人にどうこう言われるもんじゃ無い

712:Name_Not_Found
18/07/29 18:19:24.43 .net
>>701
自信ないよ?だからjQueryとか使うんじゃん。

713:Name_Not_Found
18/07/29 18:20:57.64 .net
以前jQueryがFirefoxの何バージョンも前の不具合に対応してることを誇らしげに述べてるやつが居たが
じゃあお前はそれぞれのブラウザが6週間ごとに更新されてjQueryが対応したら
即座に全てのjQueryを最新版に差し替えてるのかと問いたいわ
CDNが更新されるのを待っていたら間に合わないぞ
自分で適当にパッチがあたったところで落として検証しないといけない
そこまでして初めて>>699「一見モダンブラウザに見えて問題なく動くように見えてマイナーな例で問題がある」
とやらにライブラリで対応できるということになる

714:Name_Not_Found
18/07/29 18:22:02.96 .net
>>702
でもreact重いじゃん。jQueryよりも重いものを
使わないといけないの嫌だし
結局サポートブラウザ減るんだよね

715:Name_Not_Found
18/07/29 18:25:21.36 .net
>>705
> じゃあお前はそれぞれのブラウザが6週間ごとに更新されてjQueryが対応したら
> 即座に全てのjQueryを最新版に差し替えてるのかと問いたいわ
いや、jQueryのバージョンが更新されない限り
差し替える必要ないでしょう?
6週間?jQueryは安定してるから(その安定性の高さも重要)
最新版のjQuery 3.3.1がリリースされてから半年たってるよ24週間な

716:Name_Not_Found
18/07/29 18:45:38.81 .net
結局の所彼にとってjQueryが対応した範囲がサポートすべき範囲で
彼にとってのサポートとはjQueryを導入することなんでしょ
本当にただそれだけ
ブラウザが六週間で更新され新しいデバイスだって無限に生まれてて
Webは安定していないのでそういう思考停止は良くないのではというようなことを言われてるのに
平気でjQueryは安定してるからと言う
安定してるのではなく付いてこられていないのに気づいてない

717:Name_Not_Found
18/07/29 18:50:41.95 .net
多分住んでる世界が違うんだろ
JQがなければ死ぬ案件とか言ってるし
実際そういう案件しか来ない過酷な環境で生きてるとそういう思考になるんだろ

718:Name_Not_Found
18/07/29 18:56:38.24 .net
アンチjQueryの人って極論多くないか。
本気で言ってんの?
過酷な環境と言えば過酷だが、少なくとも業界の超大手で人から笑われるような会社じゃないつもりだ。

719:Name_Not_Found
18/07/29 19:00:54.63 .net
大手ほどヴァカが多いんだよ。
私大文系でプログラム書けない奴がPMやら何やら名乗って高い給与とって、手を動かす現場の人間はみな腐っているのさ。
ジャップランドのITはみんなそう。
大手=無能。学歴主義のヴァカの集団。

720:Name_Not_Found
18/07/29 19:03:08.53 .net
>>709
ふーん。あなたは普段どんな仕事やってんの?

721:Name_Not_Found
18/07/29 19:06:32.66 .net
>>708
> 結局の所彼にとってjQueryが対応した範囲がサポートすべき範囲で
それ以上対応したければ、その部分だけ対応するコードを書けばいいだけでは?
> ブラウザが六週間で更新され新しいデバイスだって無限に生まれてて
> Webは安定していないのでそういう思考停止は良くないのではというようなことを言われてるのに
なんか勘違いしてないか? jQueryの差し替えの話だっただろ
新しいバージョンが出てないんだから、jQueryは差し替えなくていい。
そしてなに?お前、ブラウザが六週間で更新され新しいデバイスだって無限に生まれてるから、
それに対応するために、頑張ってるの?言ってることめちゃくちゃじゃない?
jQueryを差し替えるてるのか?と頑張ってることに驚く一方で
自分で新しいブラウザとデバイスに対応するのに頑張ることは普通なんだろ?
どうみてもお前のほうが頑張ってるんだが
> 即座に全てのjQueryを最新版に差し替えてるのかと問いたいわ
なんで、差し替えてるのかと問いたくなってんだ?
頑張ることが良いことなのか良くないことなのか、はっきりしろよw
行きあたりばったりで、いちゃもんつけるよやめなよ。

722:Name_Not_Found
18/07/29 19:08:56.37 .net
>>712
ただのニートに一票
jQuery使うなんて要件から間違ってて作り直しなんて言っちゃう君なんだから
まともに仕事なんてしてないだろうな

723:Name_Not_Found
18/07/29 19:10:29.25 .net
>>658の件ですが
indexeddbを使ったら少なくとも全てオブジェクトに入れるよりはメモリの節約になるのでは?
と思いました
そうでしょうか?

724:Name_Not_Found
18/07/29 19:15:27.44 .net
結論から言うと、jQueryを使わなくても、
サポートを切ったはずの古いブラウザでも
動いちゃうかもしれないんだよね
いつまでも古いブラウザサポートするの?と言われても
動いちゃうものはしょうがない

725:Name_Not_Found
18/07/29 19:16:05.51 .net
「jQuery使うなんて、ゼロから設計し直して書き直したほうが早い案件」
これはWeb制作板の名言として後々まで残すべき。
凄いですよ!

726:Name_Not_Found
18/07/29 19:17:25.71 .net
>>717
ヴァ~カ!!!

727:Name_Not_Found
18/07/29 19:17:53.04 .net
どんだけ恥さらさせるんだよw

728:Name_Not_Found
18/07/29 19:19:56.78 .net
難しくてよくわからない話になってきたけど
jQueryなら >> 638 の2回目以降 $(#ajax).html(...)
ってうごくの?

729:Name_Not_Found
18/07/29 19:20:41.44 .net
>>717
立てた
後々まで残しましょう
馬鹿 「jQuery使う?設計し直したほうが早い案件」
スレリンク(hp板)

730:Name_Not_Found
18/07/29 19:21:00.58 .net
>>721
thx

731:Name_Not_Found
18/07/29 19:22:19.71 .net
jq便利じゃん
使えるものは使って如何に時間、労力を減らすかも能力の内でしょ
いろんな派閥あるし今までどんな教育者に当たってきたかにもよるから別にjq否定派がいることに驚かないけど
否定してる人の数倍使ってる人がいるから更新され続けてるのが現状なんじゃないか

732:Name_Not_Found
18/07/29 19:33:51.63 BwzzkSUT.net
jquery使うなって言われてるのは
フレームワーク使った時に直接DOMをいじったら整合性が取れなくなるからで
jqueyで操作しようが直接DOMをいじろうが同じことなので
jqueryは本質的な問題じゃないですよね?
しょうもない話を延々続けてる人達は何なんですか??

733:Name_Not_Found
18/07/29 19:37:06.44 .net
URLリンク(w3techs.com)
URLリンク(w3techs.com)
2015年ごろに脱jQuery、古い、オワコン、有害などと一部で話題になったが
2018年7月のw3techsの統計によるとJavaScriptライブラリを使用しているサイトが
前年より0.9%増加し、97.1%になったことが判明した。
またウェブ全体のjQueryのシェアは前年から0.6%伸び73.3%となり
JavaScriptを使用してないサイトは0.1%へって24.4%となった。
jQueryに次いでBootstrapの17.7%、Modernizrの11.5%と続いている。
jQueryの代替になると噂される、Angularは0.4%、Reactは0.1%と
jQueryに大幅な差をつけられている状態である。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


734:Name_Not_Found
18/07/29 19:38:30.92 .net
>>724
> しょうもない話を延々続けてる人達は何なんですか??
流行りで何も考えずにjQueryディスってしまって後に引けなくなった人達

735:Name_Not_Found
18/07/29 19:39:18.48 .net
>>724
その通りだよね。
『SPAの時はDOMの直接操作やめましょう。つまりjQuery使うと便利に出来るようなヤツ』ということに過ぎないのに、何故かjQueryは害悪みたいに言い出してる。
ネイティヴのJSでもDOMの直接操作したらjQueryと同じ。
SPAのコンセプトを誤解してるだけじゃないのかなぁ。

736:Name_Not_Found
18/07/29 19:48:24.66 .net
angular理解出来ない人が
流行にのってjQuery否定だけをしてるんかな
偉そうなこと言うなら、ちゃんと勉強してから来いよ

737:Name_Not_Found
18/07/29 21:19:26.08 .net
jQueryの役目はquerySelectorが入った時点で終わってる

738:Name_Not_Found
18/07/29 21:20:45.39 .net
旧環境を切らず旧環境のサポートは考えても
javascript:OFFにしているユーザは切るの?
セキュリティ等の理由でOFFにしている人は
新旧環境に関わらず一定数いるけど

739:Name_Not_Found
18/07/29 21:41:26.77 .net
>>686
if elif elseとcatch finallyを一緒にする阿呆
.done().fail().always()のうちalwaysはfinallyに相当するからまあいいとしよう
というかそのツッコミしてくる阿呆は絶対いるだろうなと思った

740:Name_Not_Found
18/07/29 22:23:35.21 .net
>>729
いや、jQueryの実行速度はquerySelectorが入ることで
さらに速くなったというべきだろ。パフォーマンスアップ。鬼に金棒
jQueryはセレクタエンジンが素晴らしいのではなくて、
セレクタに"処理を適用できること"が素晴らしいんだよ

741:Name_Not_Found
18/07/29 22:25:29.73 .net
>>731
そもそも、ajaxのdone,fail,alwaysは
if elif else ではないというツッコミを使用か?
done,fail,always は
then,catch,finallyと同等
違うのは、if elif else

742:Name_Not_Found
18/07/29 22:30:37.69 .net
>>729
俺も今ではNodeListで十分な印象だな

743:Name_Not_Found
18/07/29 22:38:06.29 .net
でもこの先ExtensibleWebが進んでHoudiniとかバンバン使った
ブラウザを低レベルから仕切り直したフレームワークがでてくると
結局FlashやSilverlight使ってた時代と対して変わらなくなるのでは?

744:Name_Not_Found
18/07/29 22:39:21.77 .net
ただしNodeListは罠があるので注意という落ちw
ブラウザによって使える書き方が違うから気をつけろ

745:Name_Not_Found
18/07/29 22:41:00.37 .net
Array.fromっていつからサポートされてるんだっけ?
スマホとか大丈夫?
NodeListをどう使うのが多くのブラウザに
対応できるのかわからないよ

746:Name_Not_Found
18/07/29 22:41:37.00 .net
NodeListのforEachって全部のブラウザで使えるんだっけ?

747:Name_Not_Found
18/07/29 22:42:19.02 .net
NodeListはmapが無いからなぁ

748:Name_Not_Found
18/07/29 22:44:29.54 .net
これが一番安全なのでは?
Array.prototype.slice.call(document.querySelectorAll("a")).forEach( function(e){ console.log(e.href)})

749:Name_Not_Found
18/07/29 22:45:44.90 .net
NodeListは ES6の for of で回せるけどFirefoxでしか使えなかったんだっけ?

750:Name_Not_Found
18/07/29 22:47:29.59 .net
全てのa要素を赤にする書き方
$('a').css({color: 'red'})
VS
Array.prototype.slice.call(document.querySelectorAll("a")).forEach( function(e){ e.style.color = 'red'})

751:Name_Not_Found
18/07/29 22:49:25.01 .net
>>741
Chromeでも回せる

752:Name_Not_Found
18/07/29 22:49:58.66 .net
>>743
え? Androidスマホで動かなかった記憶があるけど?

753:Name_Not_Found
18/07/29 22:51:04.49 .net
よくこの例みるけど全てのa要素を赤にするとか使いどころ無さすぎ
任意のタイミングでstyle変えたい要素に専用classつけとけばいいんじゃないの

754:Name_Not_Found
18/07/29 22:51:21.90 .net
いつから動くようになったんだっけ?
確認するの面倒くさいな

755:Name_Not_Found
18/07/29 22:52:02.96 .net
>>745
はい、どうぞ
$('a').addClass('hoge')

756:Name_Not_Found
18/07/29 22:52:13.66 .net
>>735
Silverlight使ってた時代は俺には無かったわ

757:Name_Not_Found
18/07/29 22:53:30.20 .net
>>747
サンドイッチが欲しいと言われてパン関係食品全部持ってくるやつ

758:Name_Not_Found
18/07/29 22:53:54.49 .net
flashってなんで消えたんだっけ

759:Name_Not_Found
18/07/29 22:55:06.13 .net
>>744
なぜAndroidが出てくるんだよ
@@iteratorを拡張したら?

760:Name_Not_Found
18/07/29 22:55:14.78 .net
>>749
お前はサンドイッチだけで生きてるのか?
実際の開発ではもっといろいろ使うだろうって話だ

761:Name_Not_Found
18/07/29 22:56:08.39 .net
>>751
> なぜAndroidが出てくるんだよ
Androidスマホにもテレビにもブラウザは搭載されてるんだよ。
NodeListにいろんな書き方が割るのがわかったが、
ちゃんと動くことを確認しないといけない。
そうしないとサポートできるのかどうかもわからないだろ

762:Name_Not_Found
18/07/29 22:57:00.74 .net
結局動かなくても構わないって思ってるやつが
NodeList使うんだろうな

763:Name_Not_Found
18/07/29 22:57:52.76 .net
NodeListをそのまま使うから冗長になる
ラップすればいいだけ。
ラップして便利にしたものがjQueryだ

764:Name_Not_Found
18/07/29 22:59:32.42 .net
>>753
forEachにもいえるけど、Arrayのそれを流用すれば、Polyfillを簡単に書けるじゃない

765:Name_Not_Found
18/07/29 23:00:31.70 .net
>>756
車輪の再発明?

766:Name_Not_Found
18/07/29 23:05:10.36 .net
それぞれのサポートポリシーが違うところで議論したって意味ないよ
自分はモダンブラウザの最新版と考えるよ、そこで動けば十分だよ

767:Name_Not_Found
18/07/29 23:05:41.30 .net
ただ補助輪が欲しいってとき
もう一台自転車を買ってきてデッカイ車輪を付けるか
車輪部分だけ材料買ってきて作って付けるか
俺は後者の方を選ぶけどね

768:Name_Not_Found
18/07/29 23:07:20.27 .net
真面目な話IEを切り捨てるのなら最初からjQueryを導入する必要はない
モダンブラウザなら普通に書けばあってもちょっとの修正で済むのだから

769:Name_Not_Found
18/07/29 23:07:56.16 .net
今乗ってる自転車じゃ進めないときは自転車かついで徒歩でいけばいいじゃない理論

770:Name_Not_Found
18/07/29 23:09:08.87 .net
>>759
例えがおかしい。
自分で補助輪作るか、大手メーカーの補助輪使うかの違いでしょ?

771:Name_Not_Found
18/07/29 23:09:58.24 .net
障害者に優しくないサイトだっつって訴訟起こされた会社があったな

772:Name_Not_Found
18/07/29 23:10:25.73 .net
>>760
> 真面目な話IEを切り捨てるのなら最初からjQueryを導入する必要はない
でもさ、jQuery使わないでも、IEを切り捨てることなんてできないんだよ。
JavaScript使って書いてもIEで動いちゃう
IEで動くのに一部動きませんって苦情くるよね?
どうせ切り捨てられないなら、動くほうが良いじゃない

773:Name_Not_Found
18/07/29 23:11:01.74 .net
>>760
> モダンブラウザなら普通に書けばあってもちょっとの修正で済むのだから
ちょっとの修正で動く
 VS
何も修正しないで動く
なら後者を取るなぁw

774:Name_Not_Found
18/07/29 23:11:39.45 .net
1箇所で使い始めると使うのを止めるのが面倒なのがjquery

775:Name_Not_Found
18/07/29 23:12:47.57 .net
>>766
大丈夫。jQueryは、生JavaScriptとの互換性が高いから、
混ぜて使うことが簡単にできる。
そこがAngularやReactとの大きな違い。
だからjQueryをやめる必要がない。

776:Name_Not_Found
18/07/29 23:13:23.51 .net
>>766
jQuery便利すぎるもんな。
一回使うと便利すぎて
やめられない、とまらない 状態になってしまう。

777:Name_Not_Found
18/07/29 23:14:17.72 .net
>>762
どこかの有名なポリフィル使うという話ならそうだが
jQueryは補助輪レベルじゃないじゃん

778:Name_Not_Found
18/07/29 23:15:00.98 .net
そろそろflash見直してもいいんじゃないかと思いかけたがappleがなあ

779:Name_Not_Found
18/07/29 23:15:56.50 .net
>>764
それはIEを特別視し過ぎ
単なるシェアの問題ならもうちょっと待っててよ
その内消えるから

780:Name_Not_Found
18/07/29 23:16:25.94 .net
Flashは別にオーサーリングツールとしては生き残ってるでしょ
出力がsfwなのかhtmlなのかが重要なわけで

781:Name_Not_Found
18/07/29 23:16:53.75 .net
>>769
補助輪だよ。便利すぎる補助輪

782:Name_Not_Found
18/07/29 23:17:15.28 .net
>>771
IE消えても古いスマホは消えないだろうからな。

783:Name_Not_Found
18/07/29 23:18:23.02 .net
オーサーリングw

784:Name_Not_Found
18/07/29 23:20:08.57 .net
jQueryとDOM APIは組み合わせて
使えるってところが強い
普段は便利なjQueryを使ったコードを書いて、
jQueryではできない所だけDOM APIを使う
そしてDOM APIとjQueryはシームレスにつなげることができる

785:Name_Not_Found
18/07/29 23:21:49.37 .net
上でTLSの話があったけどTLS1.1で接続掛けてくることよりもサポート切れてるIEを使ってる方が危険でしょ
そんでもう1年でサポート切れるwin7を除きサポートが続くIE11が乗ってるwindowsにはEdgeという素晴らしいものが乗ってるんだからさ
うちではIEからのアクセスは「microsoft-edge:」で飛ばしてEdgeを開かせるようにしてる
それが唯一のIEサポート

786:Name_Not_Found
18/07/29 23:22:05.14 .net
どうでもいいがDOMってたまにDQNに見えるよな
俺だけじゃないよな

787:Name_Not_Found
18/07/29 23:23:41.30 .net
>>777
すいません。今TLSの話はしてないんです。

788:Name_Not_Found
18/07/29 23:24:27.09 .net
え?古いJavaScriptは危険でしょ?
JavaScript使うの辞めてjQuery使わなきゃ!

789:Name_Not_Found
18/07/29 23:24:48.42 .net
そういう話をしたくてTLSを出したんでしょ?

790:Name_Not_Found
18/07/29 23:24:58.03 .net
>>773
エンジンもエアバッグもライトもついてる補助輪だろ
無駄なんだよ
補助輪だけで良いのに

791:Name_Not_Found
18/07/29 23:25:09.69 .net
いえ、だからTLSは


792:関係ないんです。



793:Name_Not_Found
18/07/29 23:25:56.52 .net
ie11はまだいいよ
少なくともサポート外の環境をサポートする義理は無いってだけで

794:Name_Not_Found
18/07/29 23:27:07.22 .net
いやIE11はEdgeに飛ばしたほうが良い
IE11をサポートするしないは超絶に違う

795:Name_Not_Found
18/07/29 23:27:40.23 .net
>>782
補助輪って言ったから、あなた混乱しちゃったのかな?
あれはたとえであって補助輪は忘れましょう
ブラウザだってたくさん機能持ってるよね?
でもクッキーだけ使えればばいいんですってはならないよね?
少なくともウェブの世界では機能は多いほうが便利なんだよ。

796:Name_Not_Found
18/07/29 23:28:33.67 .net
IE11をサポートするしないは
生JavaScriptで書くと
超絶に仕事の量が違う

うーん、ならやっぱりjQueryを使ったほうが良いのでは?

797:Name_Not_Found
18/07/29 23:29:45.23 .net
そうか。そもそもjQueryを使わないから、
古いブラウザ切って、NodeListが正しく動くコードはどれで
ポリフィルはいれなきゃいけないなーって話になってるのか

798:Name_Not_Found
18/07/29 23:30:40.55 .net
>>788
そうだね。今話題になってる(そしてこれからも話題になる)
問題の元凶はjQueryを切り捨てようとするからだよ
jQueryを使っていれば問題はそもそも発生しない

799:Name_Not_Found
18/07/29 23:32:29.20 .net
>>787
IE11をサポートするならその通り

800:Name_Not_Found
18/07/29 23:33:15.78 .net
切るなら要らない

801:Name_Not_Found
18/07/29 23:36:53.71 .net
そこで第三の選択肢がでてくる。
IE11を切るがjQueryは使うという選択肢だ
これのメリットは名目上はIE11を切っているため
サポートする必要はないが、jQueryを使っているため
IE11を含めて多くの環境で、同じように動くことが保証される
その上仕事の量も減って開発コストも減るということだ
頭が固い人は、サポートを打ち切る = あえて動かなくすることだと考えるが
jQueryを使わなくても、JavaScriptは古いブラウザで動いてしまう。
そこで頭が固い人は、古いブラウザ動かなくするためにコストを支払うわけだ。
IE11をサポートしないが動いてしまうのは受け入れるという選択肢
それが一番いい方法だ

802:Name_Not_Found
18/07/29 23:37:14.14 .net
別に古いブラウザではJS動かさなきゃ良いんじゃない?
どうせJS切ってる環境でも動くようにするんだろうし
自分はもうtype="module"使ってnomoduleでChromeのDLリンク出してるよ

803:Name_Not_Found
18/07/29 23:38:26.94 .net
>>793
テレビにchromeをインストールする方法を教えてほしい
インターネット対応のテレビなんだ

804:Name_Not_Found
18/07/29 23:38:38.21 .net
そもそもおれたちってなんでprototype.jsからjQueryに推し変したんだっけ・・?

805:Name_Not_Found
18/07/29 23:39:26.49 .net
>>757
代入文を1行書く程度のコードを「車輪の再発明」というならそうかもね

806:Name_Not_Found
18/07/29 23:39:26.64 .net
jQueryで多くの環境で同じように動くというのが良く分からない
最近のブラウザではDOM操作のAPIに差はほぼ無く
ほかのWeb APIやCSSの差の方が大きいだろう

807:Name_Not_Found
18/07/29 23:40:33.65 .net
>>796
お前の仕事は、代入文を一行書くだけで終わる仕事なのか?
ここでの少ないサンプルコードだけで判断するな。
仕事ではもっと多くのことをやる。
だからライブラリを使うんだよ

808:Name_Not_Found
18/07/29 23:41:29.79 .net
>>797
> jQueryで多くの環境で同じように動くというのが良く分からない
最近のブラウザであってもバグがあって挙動が違うところがあるんだよ
そういうバグに対応している。

809:Name_Not_Found
18/07/29 23:41:38.19 .net
jQuery使ったほうがはやいの?
昔 Rails 使ってメモリバカ食いで高級鯖契約することになってひどいめにあったから
FWなしですむ単純な仕様はなるべくつかわないようにしてるけど
パフォーマンスメリットがあるなら今度から使うわ

810:Name_Not_Found
18/07/29 23:43:11.15 .net
>>794
君の古い環境ではJSが働かない軽快なページが表示されるから安心するといいよ
どうしても入れたくばUSBデバッグを有効にして入れれば良いんじゃない
大抵UIに問題出たりするから運次第だけど

811:Name_Not_Found
18/07/29 23:44:23.15 .net
>>799
確かそれ24週間だか前の話でしょ?

812:Name_Not_Found
18/07/29 23:47:21.79 .net
>>800
パフォーマンスって測るの難しいけど
DOM操作はたいしたことないと言うか
色々なデバイスがアクセスするWebで
そこでギリギリの性能を追求するもんじゃない
やっぱ一番はネットワークかな
ServiceWorker入れてSPAにするのが一番手っ取り早いよ

813:Name_Not_Found
18/07/29 23:48:52.31 .net
>>795
prototype.jsとjQueryでは後者のほうが洗練されており
セレクタが使えるのでHTML/CSSとの相性がよく
圧倒的にコードが短く書けるという違いがあった
prototype.jsの方が先にリリースされていたが純粋に
ライブラリ同士を比較すると最初からjQueryの方が優れていた
それでも先にリリースされていたprototype.jsはそれなりに使われていた
両者拮抗している中、jQueryの圧倒的普及を決定づけたのは、
prototype.jsがウェブの標準を壊してしまうという出来事
prototype.jsが提供する Array.prototype.reduce が
ウェブ標準で追加されたそれと互換性がないということ
この結果、ブラウザでは多くの実行環境が存在し、ユーザーが使う
実行環境(ブラウザ)を制限できないため、ブラウザの基本オブジェクトを
拡張してしまうと、予期せぬ問題が発生することが認知された
その結果prototype.jsからjQueryへ多くの人が流れた

814:Name_Not_Found
18/07/29 23:49:15.05 .net
>>798
ライブラリ任せの人には分からないだろうけど、@@iteratorの拡張に長いコードは不要

815:Name_Not_Found
18/07/29 23:50:33.00 .net
>>802
> 確かそれ24週間だか前の話でしょ?
なんの話してるの?
24週間の間には新しいバグが見つかってないから
jQueryはバージョンアップしてないってだけで
24週間よりも前に見つかったバグはたくさんあるんだよ
そういうバグに対応している

816:Name_Not_Found
18/07/29 23:51:07.36 .net
>>805
じゃあ短いコードが必要なんですねw
@@iteratorの拡張に対応してないブラウザはどうするんですか?w

817:Name_Not_Found
18/07/29 23:52:07.11 .net
>>800
jQueryが速いのは開発速度
それでいて、ReactやAngularよりも圧倒的に
メモリ使用量が少なく速い。ライブラリのサイズも小さい

818:Name_Not_Found
18/07/29 23:52:17.99 .net
うーん
@@iteratorを拡張するより
queryAll()みたいな自作関数を用意する方が良くない?
結局document.querySelectorAll()ってクソ長いしさ
map使いたくて[...]すればもっと長くなるし

819:Name_Not_Found
18/07/29 23:52:49.25 .net
そして>>809の考えを発展させたのがjQuery

820:Name_Not_Found
18/07/29 23:55:22.38 .net
>>807
forEachを使えばいいでしょ
元々、Androidを引き合いに出していたくせに都合が悪くなると、条件後出し
格好悪いよ

821:Name_Not_Found
18/07/29 23:59:12.04 .net
>>806
なんでそんな適当な嘘つくの?
ブラウザは毎日沢山のバグが見つかってるしjQueryのissuesにもいくつもの報告が挙がってるし
一方とっくに解決された問題も数多あるのにただjQueryが更新されてないだけでしょ
jQueryは6週間のサイクルに全然追いつけてない
いい加減認めたほうが良いよ

822:Name_Not_Found
18/07/30 00:01:31.13 .net
>>812
> ブラウザは毎日沢山のバグが見つかってるしjQueryのissuesにもいくつもの報告が挙がってるし
それを手動で対応するは大変だな。
そんな事やってるの?
お前が自分で作ったものは毎日たくさん修正が必要だってことなんだなw

823:Name_Not_Found
18/07/30 00:06:42.31 .net
このスレにはアホとバカとマヌケしかおらんのかえ

824:Name_Not_Found
18/07/30 00:08:33.54 .net
>>813
そうだよ?ってかそうじゃないの?
毎日色んなバグ報告チェックしてトラッキングしてブラウザのバージョンアップ前には
ベータ版で確認して毎日のようにブラウザやライブラリにissuesを飛ばす
そして毎日カット入れて更新する それが毎日の仕事でしょ
君毎日何してるの?

825:Name_Not_Found
18/07/30 00:10:09.52 .net
>>812
ちょっと興味ある
詳しく聞きたい

826:Name_Not_Found
18/07/30 00:14:51.93 .net
>>815
ん?言い方が悪かったな。
お前が書いたJavaScriptのコードは
毎日のようにブラウザのバグに対応する修正を
してるのかって話だよ。

827:Name_Not_Found
18/07/30 00:15:44.03 .net
>>816
どうせきっと関係ないバグの話を持ち出してくるぜーw みてな。

828:Name_Not_Found
18/07/30 00:19:09.46 .net
どこぞのブラウザのバグに対応するなんて
本質的じゃない仕事は他人に任せて
自分がやるべき仕事をしたいな
だからライブラリを使う

829:Name_Not_Found
18/07/30 00:20:14.20 .net
>>817
勿論するよ
テストもターゲット環境も毎日変わるし
ブラウザやフレームワークもbetaやdev版も使ってるから毎日何か発見があるからね
そこで今動いていても将来的に不味そうならきちんと修正する
殆どはブラウザ側やライブラリ側の問題で
そういうときは基本的には報告したりパッチを書いて向こうに直してもらうけどね

830:Name_Not_Found
18/07/30 00:20:22.19 .net
>>815
屁理屈で相手を打ち負かそうとしてるのか知らんが下手すぎだろw

831:Name_Not_Found
18/07/30 00:21:11.18 .net
>>820
だからー、お前が書いたJavaScriptコードを
修正しているかどうかに、はい か いいえ で答えろよ。

832:816
18/07/30 00:22:15.25 .net
網羅的でなくても(できれば日本語だとうれしいけど)このURL見ろでも良い
それを元に/それに対して批判や意見書くつもりはない
普段jQueryほとんど使わないんで知識がないから
参考程度でも事例を知りたいというだけだから

833:Name_Not_Found
18/07/30 00:22:21.95 .net
>>753 -> >>757 -> >>798 -> >>807
論点に一貫性がない奴だな
食いつけそうな場所を見つけて反論してるだけで、前に発言した持論をガン無視

834:Name_Not_Found
18/07/30 00:22:44.35 .net
>>824
で?

835:Name_Not_Found
18/07/30 00:24:20.23 .net
わずか12秒半

836:Name_Not_Found
18/07/30 00:24:31.95 .net
ライブラリを使わないやつって、毎日のように
あのブラウザで動かなかった、このスマホで動かなかったと
特定のブラウザに対応するために修正してるんだなーって思った
大変だなーって思った

837:Name_Not_Found
18/07/30 00:24:56.79 .net
自作自演バレバレw

838:Name_Not_Found
18/07/30 00:25:09.41 .net
>>825
ただの感想
実にいい加減な奴だと思った

839:Name_Not_Found
18/07/30 00:25:33.99 .net
>>828
あぁ、理解できないんだねw

840:Name_Not_Found
18/07/30 00:25:41.01 .net
ライブラリとかUAのバグとかで悩まなくて良い方向に持ってく努力

841:Name_Not_Found
18/07/30 00:26:23.58 .net
ライブラリを使わないやつの仕事は
各ブラウザのバグや互換性のなさに
対応するコードを書くことなんですよ。
一体いつの時代に仕事なんですかねw

842:Name_Not_Found
18/07/30 00:27:08.90 .net
>>831
じゃあjQueryなどのライブラリを使えば良いのでは?
毎日の無駄な仕事から解放されるよ。

843:Name_Not_Found
18/07/30 00:28:46.44 .net
気づいてないようだけど、ブラウザのバグを報告して正しく
動くようになれば、jQueryも正しく動くようになる
だからjQueryをバージョンアップする必要はないってことになるんやで?

844:Name_Not_Found
18/07/30 00:29:21.93 .net
>>824
彼は逃亡中だから、そっとしておいてあげて

845:Name_Not_Found
18/07/30 00:29:23.71 .net
>>833
全員が全部のライブラリ使えるわけじゃないし
学習コストを各人のオフの時間に転嫁するのは倫理的にどうかと思うからな

846:Name_Not_Found
18/07/30 00:30:21.37 .net
なお報告しても正しく動くようになることは決して多くなかったIE

847:Name_Not_Found
18/07/30 00:31:04.97 .net
>>836
誰も全部のライブラリを使えるようになれなんていってませんー
よく使われてるライブラリ
URLリンク(w3techs.com)
この上位3つぐらい使えるようになってれば十分だろw

848:Name_Not_Found
18/07/30 00:32:30.72 .net
開発コスト > 学習コスト
これが成り立たないのが初学者なんやでプロじゃない
プロは開発コストを減らすために学習する
だけど素人は開発しないので学習コストのほうが高く見える

849:Name_Not_Found
18/07/30 00:33:02.75 .net
ブラウザの互換性問題なら、PolyfillとBabelで十分だな

850:Name_Not_Found
18/07/30 00:33:23.86 .net
w3techsの統計がよく挙がるけど
w3techsの統計って検証可能なの

851:Name_Not_Found
18/07/30 00:35:27.33 .net
>>841
可能
FAQにどうやってデータを集めているか書いてある
URLリンク(w3techs.com)
> How do you know which technologies are used by a site?
>
> Primarily, we use information provided by the site itself when downloading
> web pages. In other words, we fetch web pages very much like a search
> engine, and analyze the results. Additionally, we use publicly available
> information from sources such as Alexa, Google, Microsoft and ipinfo.io.

852:Name_Not_Found
18/07/30 00:37:43.75 .net
>>840
そこで解決したならば、jQueryも問題なく動くっつー訳やな

853:Name_Not_Found
18/07/30 00:38:21.25 .net
>>842
データ提供元が書かれてるだけだし、publicly available informationっていっても具体的に何よ?と
Alexaって度々個人情報関係で問題起こしてたり、サイトランキングとか言って出鱈目なアクセス数出してるところでしょう
GoogleやMicrosoftがデータを出してるなら、
GoogleやMicrosoft自身がjavascript利用状況の統計を出してそうなものだけど

854:Name_Not_Found
18/07/30 00:39:13.37 .net
> GoogleやMicrosoft自身がjavascript利用状況の統計を出してそうなものだけど
なんのために?

855:Name_Not_Found
18/07/30 00:39:19.27 .net



856:w3techsが自前で収集したというデータがあるんだったら それが何らかの形で独立して公開されてないと検証不可能



857:Name_Not_Found
18/07/30 00:40:44.00 .net
>>846
じゃあ自分でデータ集めて解析すれば良いんじゃないですかね?

嘘か本当かわからないから、
俺は信じない!じゃだめでしょw

858:Name_Not_Found
18/07/30 00:41:57.20 .net
私の感を信じてください!

859:Name_Not_Found
18/07/30 00:44:06.62 .net
せめて対象サイト一覧ぐらいは無いと、同じようにデータを集めるということができないんじゃね

860:Name_Not_Found
18/07/30 00:44:23.98 .net
>>843
問題なく動くことと採用することは等価ではない

861:Name_Not_Found
18/07/30 00:45:06.30 .net
>>850
はい。知っています。
動かない場合があっても採用しますよ。
どうせ生JavaScript使っても
動かない場合があるんですから

862:Name_Not_Found
18/07/30 00:46:19.33 .net
>>849
> せめて対象サイト一覧ぐらいは無いと、
URLリンク(w3techs.com)
> Which websites do you count? Do you crawl all the web?
> For the surveys, we count the top 10 million websites according to Alexa,
Alexaのトップ1000万ページだってさ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch