+ JavaScript の質問用スレッド vol.134 + at HP
[2ch|▼Menu]
[前50を表示]
350:Name_Not_Found
18/07/13 19:59:33.00 .net
っていうか自分の質問の原因のコードと
自分が質問のために書いたコードなのに、可能性があります ってなんや

351:Name_Not_Found
18/07/13 20:36:49.17 .net
何れにせよ単純なミスっぽいし
まずはエラーメッセージを見て確認してみるのが
正攻法として勉強になると思うよ

352:Name_Not_Found
18/07/13 21:42:43.41 .net
なにもしてないのに、全角になったんです。

353:Name_Not_Found
18/07/13 22:00:51.87 .net
なにもしてないのにjavascriptがこわれた

354:Name_Not_Found
18/07/13 22:13:54.69 .net
なにもしてないのに〜が壊れたの90割は何かしてる

355:Name_Not_Found
18/07/13 22:27:47.72 .net
>>349
何もしてないのに「コピペする過程で全角になってしまった可能性があります」と書けるのか
それとも、何もしてないのに、そう書いていたのか
結論「何もしてなかった」

356:Name_Not_Found
18/07/13 22:27:48.65 RFgBSoyz.net
>>340 - >>348
var i = Math.floor(Math.random()*5+1);
var num = i.toString();
aud.attr('src', "URLリンク(xxx.xx"+num+".mp3"));
で解決することができました!!皆様本当にありがとうございました!!!

357:Name_Not_Found
18/07/13 22:35:34.20 .net
>>353
それ、toString() は要らんのだがね
原因「なにもしてないのに、全角になったんです。」

358:Name_Not_Found
18/07/13 22:38:43.81 RFgBSoyz.net
>>339の者ですが>>349>>350は私の投稿ではないです
5が5と全角になった理由としては当初random()*5はrandom()*2であり、
「1の値のみが返ってくる原因として
Math.floor()以降の数字が小さい数字であるのでは」という疑問を解消するため大きい数字を入れて
テストしていました。その後投稿する際に日本語入力のまま2を5に変更したため5が全角に
なってしまったのだと思います。混乱を招いてしまい、すいませんでした。。。

359:Name_Not_Found
18/07/14 00:06:04.24 .net
テストと投稿が関係あるとしたら
投稿時に書き直す必要はないし、そもそも全角の5に気づかないって何のテストになったんだという話
テストと投稿が関係ないんだったら
投稿時に2を5に変える必要がどこにもないよね

360:Name_Not_Found
18/07/14 00:32:27.87 .net
ええやん別に
お前らもうちょい優しく甘くなろうぜ
おかんやないんやから

361:Name_Not_Found
18/07/14 00:38:38.21 .net
>>357
概ね同意だけど、おかんはどっちかって言うと「何もしてないのに〜」って言う側やろ

362:Name_Not_Found
18/07/14 01:01:39.32 .net
なにもしてないのに怒られた

363:Name_Not_Found
18/07/14 01:36:50.75 .net
なにもしてないから怒られる

364:Name_Not_Found
18/07/14 03:30:24.67 .net
で、結局>>343の原因はなんだったの

365:Name_Not_Found
18/07/14 03:41:12.33 .net
複数安価で355がNGなってただけで原因みれたわ

366:Name_Not_Found
18/07/14 04:01:09.95 .net
Canvasでクロスフェードをしたいのですが、思うようにいきません
具体的には、例えば2枚の画像A,Bを半分ずつ重ねた状態を作るには、
アルファを0.5同士で重ねると良いように思えますが実際にそれをすると背景が透けます
0.5A画像+0.5B画像ではなく、
0.5(0.5背景+0.5A画像)+0.5B画像になってしまうということです
画像だけ分けて合成してから背景と合わせればいいだろうと思うかもしれませんがそれも上手くいきません
AB合成画像のαが(1-(1-(1-0)[無背景]*(1-0.5)[A画像])*(1-0.5)[B画像])=0.75[AB合成画像]となってしまい背景が0.25混じってしまうためです
解決方法を思いつかれた方はご教授ください

367:Name_Not_Found
18/07/14 04:11:43.68 .net
てかよくよくみたら原因は、全角のみじゃん。
ふつう「単に全角になってただけでした、すいません笑」みたいな返しが自然だが
>>353時点で、全角が原因だとまだ気づいてない or 別の原因があったことにしたい風なテンションはなんなん・・?

368:Name_Not_Found
18/07/14 07:58:32.00 .net
>>363
javascriptじゃなくそういう画像作れば?

369:Name_Not_Found
18/07/14 12:27:23.78 .net
<div id="a"></div>
スクロール必要な長いソースコードが続く
<div id="b"></div>
こういう状態で#bにいったときにアクションをしたいのですが
検出方法やどういったイベントを使うのでしょうか?

370:Name_Not_Found
18/07/14 12:32:48.65 .net
#bにいったときって?

371:Name_Not_Found
18/07/14 12:35:00.85 .net
マリア「なにもしてないのに子どもが出来ました!」

372:366
18/07/14 12:37:34.38 .net
>>367
縦スクロールです
例えばこのスレを開いて>>1からスクロールしていって
>>366のところで画面にalertをジャンと出すような感じです



374:Name_Not_Found
18/07/14 12:50:56.79 .net
>>363
ユーザーの目

画像A(50%)

背景
この時点でユーザーからは背景と画像Aが1:1で混ざった状態に見えるのは分かる?これに画像Bを50%で更に足すと、それにさらに1:1で混ざった画像になっちゃうわけ。背景:画像A:画像B=1:1:2
背景が透けて見えるのがおかしいと認識してるんだから、次のようにすればいいと分かるよね?
ユーザーの目

画像B(50%)

画像A(100%)
↓(以下は見えない)
背景
割合を変更するには、画像Bのところだけをいじる。画像A:画像B=95%:5%にしたいなら画像Bのアルファを0.05(5%)にする。画像Aはいじらない。

375:Name_Not_Found
18/07/14 13:00:16.18 .net
>>369
>>366のところって?

376:366
18/07/14 14:10:13.38 .net
#bの位置yを取得して
window全体をscrollイベントで現在の位置y'を監視して
yがy'になったら発火で良さそうですが
これだと常時scrollイベントが発生するので(位置yになったら解除するにしても)
環境によっては重い 電池消耗が激しいなどの問題に見舞われるので
そのへんうまくできないかなと思ったのですが

377:Name_Not_Found
18/07/14 16:10:47.05 .net
YouTube とか、その要素が表示されたら、画像を読み込むとかだろ
その要素が表示されたらとか、そういうイベントは無いの?

378:Name_Not_Found
18/07/14 17:07:28.37 .net
>>365 >>370
ご回答有り難うございます
確かに同形同位置の2枚の画像のフェードの場合はおっしゃる通りなのですが
実際は透過部分を持った不定形不定位置不定数枚のpngが動的に現れたり消えたりし得るというフェードであります
つまり、画像Aに画像Bを重ねる場合
画像Aを100%のままにしておくと画像Bが重ならない部分に問題が出てしまうということです
フェードが50%に達した段階では、
画像Aの画像Bに重ならない部分は背景と1:1で交わってほしく
画像Bの画像Aに重ならない部分は背景と1:1で交わってほしく
画像Aと画像Bの重なる部分はそれぞれ1:1で交わって背景は交わらさせたくないということです
ここからはフェードが同期的に始まったという場合で例を書きますが
もし画像Aのアルファが元々0.5である部分Дと、画像Bのアルファが元々1である部分Бが背景部分Gの上で交わるときは
フェードが50%に達した段階で0.25Д+0.5Б そしてのこる 0.25の部分がGとなってほしいです
もし画像Aのアルファが元々0.6である部分Дと、画像Bのアルファが元々0.7である部分Бと、
画像Eのアルファが元々0.8である部分Ёが背景部分Gの上で交わるときは
フェードが50%に達した段階で0.3Д+0.35Б+0.4Б これは1を超えるので、全ての係数の形が1となるように調整し
Gは全く含まれない、というような挙動にしたいです
要するに、αはフェード段階と画像のアルファに基づいて各画像分加算し、色もフェード段階と画像のアルファに基づき単純に加算する
ただしそのときαの合計が1を超える場合、αを1とし色の合計を調整して、最後に背景と重ねる
というようなうまくいくかどうか分からないアルゴリズムまでは考えたのですが
ピクセル操作などを行わずこういうようなことが簡単にできませんかね
ライブラリのフェードも試してみましたが、やはり問題は起こるようです(少しちらつくというか、浮くように見える)
今まで他の方はどうやって対処されてきたのでしょうか

379:Name_Not_Found
18/07/14 17:47:49.01 .net
>>374
これは見てる?
URLリンク(developer.mozilla.org)

380:Name_Not_Found
18/07/14 17:51:26.77 .net
画像をうまいこと願望どおりに重ねたい、っていうのにjavascript関係ある?

381:Name_Not_Found
18/07/14 18:11:11.87 .net
>>375
まさにこういったことでできるのであれば良いと思っているのですが、
どう使ったら良いのか検討もつかないので色々試しても上手くいきません
このオプションごとにどういう計算式が使われてるかが分かればまだやりようがあるかもしれません

382:Name_Not_Found
18/07/14 18:38:30.94 .net
そもそもcanvasでないといかんのかね?
css の transition で済むように思えるが

383:Name_Not_Found
18/07/14 18:49:22.19 .net
>>378
フルCanvasのゲームなので何とも……
ビュー層をHTMLにしたこともありますが
パフォーマンスや表示互換性、スクリーンショットなどの機能の実現の容易さから
今はCanvasを使って進めています

384:Name_Not_Found
18/07/14 21:01:41.87 .net
読み込むjavascriptのファイルを1つに統一することって出来ますか?
出来るならどんな風にやったらいいでしょう?
変数や関数名がかぶったりすると思うのでそこを解決しないといけないのと
あとライセンス的にどうなのかなという問題もありますが
/***
なんたら.js
author Nantara
URLリンク(nantara.example.com)
MIT License
**/
/***
うんたら.js
author Untara
URLリンク(untara.example.com)
Apache License
**/
こんなかんじで同ファイルに列挙すればいいのかとか

385:Name_Not_Found
18/07/14 21:18:43.89 .net
>>380
ごくごく一般的に行われています。
なぜならhttp1.1では一つにまとめたほうがセッションを節約でき大抵の場合パフォーマンスも良くなるからです。
複数のjsファイルを一つにまとめたものはバンドルファイルなどと呼んだりします。
ツールはたくさんあります。
私はwebpack使ってますがcssや画像もバンドルできたりするカオスツールなのでもっとシンプルで使いやすいの選んだほうがいいかもです。

386:Name_Not_Found
18/07/14 21:57:18.23 .net
>>381
どうもありがとうございます
さっそくwebpackがどういったものか調べて
類似ツールでよさそうなの探してみます

387:Name_Not_Found
18/07/15 05:43:29.99 .net
なぜ類似ツールを使う?w

388:Name_Not_Found
18/07/15 10:45:05.39 .net
コピペした時に半角数字を全角に自動変換するにはどうすればいい?

389:Name_Not_Found
18/07/15 15:30:26.71 .net
charCodeAt(0) + 0xFEE0でググレ

390:Name_Not_Found
18/07/16 01:40:30.93 .net
たった10個しか無いんだから列挙すべきだと思うけどな
判定処理+
String.fromCharCode(n.charCodeAt()+0xFEE0)
より
"0123456789"[n] || n
の方が明らかに良いだろ

391:Name_Not_Found
18/07/16 15:12:04.25 .net
違うドメインで発生したjavascriptのエラーを捕捉することって


392:できませんか?



393:Name_Not_Found
18/07/16 16:03:17.03 .net
違うドメインでエラー発生した際にキャッチしてシリアライズルール決めてjsonで送信
受け取ったらデシリアライズしてスロー

394:Name_Not_Found
18/07/16 16:55:16.11 .net
文字も混同した場合の>>384をやりたかったので>>386を参考に
var str="あ3い45う6え6 お2かき47く8け";
var newstr=str.replace(/[0-9]/g, n=>'0123456789'[n]);

395:Name_Not_Found
18/07/16 19:14:23.03 .net
横からですまんが
n=>'0123456789'[n]
この記法なんていうの?
無名関数で置き換えるとどんなかんじかな?

396:Name_Not_Found
18/07/16 19:23:33.88 .net
>>390
アロー関数 (n)=>n
function(n){ return n; }
function(n){ return '0123456789'[n]; }

397:Name_Not_Found
18/07/16 19:27:43.20 .net
文字列型の\dを投げてるのに本来整数型のindexとしてそのまま扱うのはちょっともにょる
この例では問題が出ないだろうとはわかっていても

398:Name_Not_Found
18/07/16 22:33:44.44 .net
>>390
ありがとう
少し賢くなった

399:14
18/07/16 23:17:40.53 .net
分かってはいたけど人いなかった
スレリンク(hp板)
誰か分かる方あっちのvue.jsスレで助けてください
今日はプロジェクト一回消して明日やり直します

400:Name_Not_Found
18/07/17 12:58:33.17 .net
>>392
JSの全てのプロパティは文字列型じゃないの?

401:Name_Not_Found
18/07/17 19:04:47.34 .net
stringとsymbol

402:Name_Not_Found
18/07/18 08:17:48.34 .net
>>387
青島「事件(エラー)はサイトで起こってるんじゃない。ブラウザで起こってるんだ!」

403:Name_Not_Found
18/07/18 08:59:43.72 .net
>>387
違うドメインから目的のドメインに送れ
URLリンク(developer.mozilla.org)

404:Name_Not_Found
18/07/18 10:37:04.38 .net
>>387-388
非同期処理は、異なるコンテキスト(流れ)だから、
例外機構は使えないので、戻り値などで知らせてもらうしかない

405:Name_Not_Found
18/07/19 02:49:03.03 .net
ジャバスクリプトに
スリープがない合理的な理由って何かあるの?
ブラウザの表示が目的だから、
表示を止めないために
必ず処理をする仕様だとか
そんなもんなのかな。

406:Name_Not_Found
18/07/19 02:55:01.39 .net
まあ、理屈上は内部でsetTimeoutみたいに扱えばいいだけだとも思えるんだけどね

407:Name_Not_Found
18/07/19 03:00:57.70 .net
>>401
使いにくいんですよね。
よくあるスリープの代替手段は
メモリ食うし。
スリープ実行でメモリ食うとか、最悪ですよ。

408:Name_Not_Found
18/07/19 08:54:56.43 .net
>>400,402
sleepを使う合理的理由がないから

409:Name_Not_Found
18/07/19 09:05:22.92 .net
sleepって何に使うんだろうな?
待たせたい時?何を?

410:Name_Not_Found
18/07/19 09:09:53.62 .net
「真のプログラミング言語にはSleepなど必要ない」ワロタwww
ruby信者のruby擁護みたいな言い種wwwww

411:Name_Not_Found
18/07/19 10:33:26.69 .net
sleep代わりにpromiseじゃだめなの?
直接的ではないにしろ事足りよね

412:Name_Not_Found
18/07/19 11:04:04.96 .net
>>404
スリープを使うメリットは
メモリの使用量を減らしたいときとか
ブラウザが固まらないようにとか
任意のタイミングで処理を実行したりとか
とにかくあれば便利だ
まあ、私が初心者というのもあるけど
ジャバスクリプトは、すごくやりづらいです

413:Name_Not_Found
18/07/19 11:45:20.15 .net
>>407
これはひどい転嫁。
ブラウザが固まらないようにsleep??
pythonなど他の言語でも10秒sleepしたら10秒固まるのでは?
任意のタイミングで処理を実行??
まさにsetTimeoutやsetIntervalの出番では?

414:Name_Not_Found
18/07/19 12:47:47.80 .net
async関数使えば
例えば
for(){
await fetch()
await sleep(1000)
}
みたいに出来るよ
場合によっては良い感じになると思うし

415:Name_Not_Found
18/07/19 13:29:04.12 .net
>>407
sleepとpromise(コールバックなど含む)の違いは、
sleepは他の処理が終わってようが終わってまいが、
指定された時間ただ待つだけ
promiseなどは他の処理が終われば即座に
それがわかるわけで待つやり方としてはこっちのほうが良い
他の処理の完了を効率よく待つのはsleepでは実現できないんだけど
なんでsleepがいるの?

416:Name_Not_Found
18/07/19 13:32:03.57 .net
>>405
> 「真のプログラミング言語にはSleepなど必要ない」ワロタwww
実際そうじゃね? ただ単に待つだけの処理なんて意味ないよ
他の何かが準備できるまで待ちたいなら、
他の何かが準備できたら通知してくれる方が良い
他の何かが準備できるのを待つことに対してはsleepはいらないんだから、
じゃあ他に何にsleepを使うのかと

417:Name_Not_Found
18/07/19 14:18:47.41 .net
さすがに「ちょっとしたデバッグのために」とかじゃないよな・・
それこそコンソール使えばいいし

418:Name_Not_Found
18/07/19 14:51:26.03 .net
何のためにsleepを使うか
重い処理をやってるときに途中途中で画面に反映したいとき
setTimeoutでもなんとかなるけどsetTimeoutの再帰呼出では迂遠になるケースがある
処理Aと処理Bの間にちょっとウェイトを入れたいとき
アニメーションとか。setTimeoutでできるんだけど重なると面倒だしsleepの一行でできると楽

419:Name_Not_Found
18/07/19 14:53:28.90 .net
というか他言語でのsleepも原則「他処理にいったん明け渡したい」用途がデフォじゃない?
待つ用途で使うというよりも

420:Name_Not_Found
18/07/19 15:01:30.30 .net
>>413
そういう処理ならsleepの一行じゃ無理じゃん。ループの中に書かないと。
一方のjsはsetInterval一発なのであったw

421:Name_Not_Found
18/07/19 15:05:08.99 .net
>>415
例の前者のほうはループ必要だけどサブルーチン化は原理的には必要ない
setTimeoutやsetIntervalはサブルーチン化を強いられる
しかも再設定と離脱の仕組みを入れなきゃいけない分、どうしても複雑になるだろう
例の後者のほうはループ不要

422:Name_Not_Found
18/07/19 15:18:34.74 .net
>>409も書いてるけどsleepくらい自分で定義して使えば?
async関数で囲ってIIFEにして使うのが気に入らないかもしれないけどそのうちトップレベルawaitが入るとそれも要らなくなる。
ちなgoogle様謹製のsleep実装↓
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));

423:Name_Not_Found
18/07/19 15:24:56.78 .net
まあそういう風にやっちゃえば良くもあるんだけどね
ms待機とms以上待機とは厳密には違うということもあるけど実際そうそう問題にならないし
ただ、言語側で用意しようよという話

424:Name_Not_Found
18/07/19 15:47:06.82 .net
使いやすいところにsleep()があって気軽に使えるようになると
全体的にみればページロード完了までの所要時間が伸びるから
それを嫌ったのが実際のところじゃないかと

425:Name_Not_Found
18/07/19 17:33:33.33 .net
>>413
> 何のためにsleepを使うか
>
> 重い処理をやってるときに途中途中で画面に反映したいとき
sleepなんだからそこで処理は止まりますよ?
画面に反映する処理もしませんよ
だってsleepして止まってるんだから
ほんと何言ってるんでしょうかw

426:Name_Not_Found
18/07/19 17:35:39.13 .net
>>414
> というか他言語でのsleepも原則「他処理にいったん明け渡したい」用途がデフォじゃない?
今どきのOSはマルチタスクなんでー
sleepなんかしなくても他処理に明け渡されます。

427:Name_Not_Found
18/07/19 19:00:57.33 .net
昔のゲーム宜しく
sleep(10); //これを挟むとなぜか動く
でもやりたいんか

428:Name_Not_Found
18/07/19 19:03:26.23 .net
setInterval(hogehogefunction, 0); //こうするとなぜか動く

429:Name_Not_Found
18/07/19 19:06:21.42 .net
別にsleep使えばいいじゃん
自分で1行で定義すればasync関数内でそれっぽく使えるんだからさ
勿論setTimeoutというか、ブロッキングが気になるなら
requestIdleCallbackのようなものも検討していいケースもあると思うよ
でもsleep=悪ってことは無いと思うね
例えば同じように悪だと言われるevalよりも遥かに有用なテクニックだろうよ

430:Name_Not_Found
18/07/19 19:11:14.34 .net
>>422
sleep10秒挟むとなぜか動くってなに
興味がわいてしょうがないんだが

431:Name_Not_Found
18/07/19 19:34:06.30 .net
>>425
昔のゲームはOSなど無いに等しくハードウェアを直接操作していた。
そしてハードウェアの特定の命令は処理に時間がかかり
命令を出してから一定時間たたないと処理が終わらないことがあった
そういう場合はちゃんとハードウェアの仕様として最低Nミリ秒待つなどと書かれていた
しかし今の時代ハードウェアはOSやドライバが処理し、そのような処理に
一定時間かかるような、割り込みによって完了が知らされるようになった。
これにより処理が終われば通知されるため、スリープのように待ちすぎるようなことも無くなった。
もちろんブラウザでもOSやドライバ、それらを経由して
何かの処理に時間がかかるような場合は、コールバック関数が呼ばれることとなった
そのためブラウザでsleepは不要となった。またsleepは処理が止まり、
表示されたページも固まるのでユーザーインターフェースとしても不適切であり
避けるべきものとなった

432:Name_Not_Found
18/07/19 19:34:10.33 .net
10秒じゃなくて10ミリ秒だろ
つうか今でもJSみたいなイベント駆動じゃなくて
その対極に位置するポーリングタイプの言語環境では
ビジーループ回してsleepしながらポーリングするっていうのは普通になされていること
例えばゲームではコントローラーの状況をループでずっと確認し続けて
前回と変わっていれば変化があったと見なす
そういうのは普通に行われていること

433:Name_Not_Found
18/07/19 19:40:53.35 .net
>>423
直前にdomを操作する処理がある場合、非同期のため、hogehogefunction()とそのまま呼ぶとdom更新前に実行されてしまうことがある。
setInterval 0でラップするとdomが安定した状態で実行させることができる。
サイ本に書いてある。

434:Name_Not_Found
18/07/19 19:44:58.75 .net
>>427
だから何度も言ってるけど、sleepしたら処理が止まるだろ
画面書き変わらなくなるぞ

435:Name_Not_Found
18/07/19 19:46:43.57 .net
>>428
> 直前にdomを操作する処理がある場合、非同期のため、hogehogefunction()とそのまま呼ぶとdom更新前に実行されてしまうことがある。
違う。逆
直前にdomを操作する処理がある場合、同期処理のため、hogehogefunction()とそのまま呼ぶとdom描画前に実行される。

436:Name_Not_Found
18/07/19 20:01:46.29 .net
ああミリ病を想定してたのか
細かいのはsleep(0)とかusleepを使うもんだとばっかり

437:Name_Not_Found
18/07/19 20:04:17.34 .net
ゲームじゃなくても今のPCハードでも
イベントが軸になってるフレームワーク使わないで普通にcで書くと
sleepさせないで重い処理すると「応答がありません」ってなるんじゃないんか

438:Name_Not_Found
18/07/19 20:05:17.30 .net
sleepは秒指定だよな・・・

439:Name_Not_Found
18/07/19 21:09:54.86 .net
>>430
えっ? 自分の書き込み良く読み直してごらんよ。
直前のdomを操作する処理がもし同期処理なら、hogehogefunction()とそのまま呼んでもdom更新後に実行されるでしょ。
そうではなく非同期だからsetTimeout でくるむテクニックがあるわけで。

440:Name_Not_Found
18/07/20 00:13:54.37 .net
>>434
じゃあなんか再現する例出してみなよ
DOMの操作は同期処理。
だから何か操作した後にすぐに参照しても操作後のデータが得られる。
ただしDOM描画は同期じゃないがな

441:Name_Not_Found
18/07/20 00:15:46.72 .net
> そうではなく非同期だからsetTimeout でくるむテクニックがあるわけで。
非同期とか関係なく、他の操作によるDOMの画面更新の後に処理したいからsetTimeoutを使う

442:Name_Not_Found
18/07/20 06:17:27.61 .net
>>429
sleepを使う言語の多くにおいて描画スレッドは別だろ
むしろ他のスレッド、プログラムにCPUを明示的に明け渡さないと
プログラムはフリーズするしPCも重くなる

443:Name_Not_Found
18/07/20 06:42:35.75 .net
最近のブラウザで言うと正確には操作の時点で同期処理とは限らないよ
例えば要素の形を変えたりするような操作は非同期である程度まとめて扱われる
もしgetClientRectsを読んだりするとその時点でブロックして構築・計算される

444:Name_Not_Found
18/07/20 07:05:01.10 .net
「操作の時点で同期処理とは限らない」ってことは、同期なものも非同期なものもある、ってことだよな
DOM「操作」そのもので、非同期なもの・非同期になる場合って
具体的にどのブラウザの何?
getClientRects()は操作側じゃなくて描画側の今現在の状態取得なんだから例として不適切では

445:Name_Not_Found
18/07/20 07:11:46.85 .net
>>437
仕様を読めば分かると思うが、JavaScriptはHTMLパーサに割り込んで同期的に処理されるぞ

446:Name_Not_Found
18/07/20 07:21:08.93 .net
そのレス先jsの話じゃなくね

447:Name_Not_Found
18/07/20 12:01:40.14 .net
>>437
> sleepを使う言語の多くにおいて描画スレッドは別だろ
そうだよ? だから描画スレッドでsleepは使えないって言ってるんだが?
だから何度も言ってるけど、(描画スレッドで)sleepしたら処理が止まるだろ
画面書き変わらなくなるぞ

448:Name_Not_Found
18/07/20 12:42:54.29 .net
認めない系jser

449:Name_Not_Found
18/07/20 12:44:03.61 .net
入力フォームが整数かどうかチェックする関数ってないですか?
isNaNは文字列だとダメみたいだしありそうなのに出てこない

450: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の問題は逆コンパイルが容易でそういうコードもバレやすいし、ランタイムの改ざんも非常にしやすい


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

34日前に更新/270 KB
担当:undef