JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
+ JavaScript の質問用スレッド vol.123 +
http://peace.2ch.net/test/read.cgi/hp/1423915644/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
探検
+ JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/03/22(日) 16:19:45.75ID:nW67tQ7U
613デフォルトの名無しさん
2018/01/05(金) 12:56:13.85ID:u+R3cpJk 例えば手続き的にwordカウントするときkeyを単語、valueをカウンタにするじゃん。
objectなら o['hoge'] += 1 みたいな足しこみやインクリできるけど、Map だと明示的にget して1足してsetするのがセオリーなの?
objectなら o['hoge'] += 1 みたいな足しこみやインクリできるけど、Map だと明示的にget して1足してsetするのがセオリーなの?
614デフォルトの名無しさん
2018/01/05(金) 13:05:35.59ID:tDnoSwNP o.get("hoge").value++; ってすればいいよ
615デフォルトの名無しさん
2018/01/05(金) 14:55:32.34ID:w3P38fZ2 なるほど、そうやるのか。
ありがとうございました。
ありがとうございました。
616デフォルトの名無しさん
2018/01/05(金) 15:04:04.06ID:tDnoSwNP まあこのvalueが何者であるかに
気づけるかどうかが問題なんだがなw
気づけるかどうかが問題なんだがなw
617デフォルトの名無しさん
2018/01/05(金) 15:04:08.28ID:dWX0Moq5618デフォルトの名無しさん
2018/01/08(月) 13:36:18.81ID:TtlW0DEg React代替のライブラリとしてhyperappがqiitaで話題ですけど、
1kbのライブラリがReact+reduxと代替になるってすごいですよね。
逆になんでReactって単なるUIライブラリなのにこんなにサイズがでかいんですかね?
Reactの優位点ってエコシステムとしてって以外に何があるんですかね?
1kbのライブラリがReact+reduxと代替になるってすごいですよね。
逆になんでReactって単なるUIライブラリなのにこんなにサイズがでかいんですかね?
Reactの優位点ってエコシステムとしてって以外に何があるんですかね?
619デフォルトの名無しさん
2018/01/08(月) 15:48:15.94ID:fUd4CoSB Reactはまんまエコシステムじゃん
ReactNativeだってあるしReactNativeWebだってあるくらいだし
ReactNativeだってあるしReactNativeWebだってあるくらいだし
620デフォルトの名無しさん
2018/01/09(火) 11:23:44.59ID:3WGrgmwx 代替にならないからに決まってるじゃん
1KBのライブラリなら読めばいいのに
1KBのライブラリなら読めばいいのに
621デフォルトの名無しさん
2018/01/09(火) 11:39:04.13ID:6pl2SrRj >>620
機能だけを観るとreact+redux+非同期ミドルウェア
が1kbのライブラリに置き換わるというのが凄く魅力的なんですけど。
逆にReactにしかできないことが見当たらなくて、じゃあhyperappでいいじゃん
って思っちゃったんですよね。
もちろんiOSとかAndroidで使いたいとなったらReactNativeがある点で優位なんですけど、、、、、いまのところchrome-extensionで使う予定なんで、reactから移行してもいいのかもと思い始めた次第です。
機能だけを観るとreact+redux+非同期ミドルウェア
が1kbのライブラリに置き換わるというのが凄く魅力的なんですけど。
逆にReactにしかできないことが見当たらなくて、じゃあhyperappでいいじゃん
って思っちゃったんですよね。
もちろんiOSとかAndroidで使いたいとなったらReactNativeがある点で優位なんですけど、、、、、いまのところchrome-extensionで使う予定なんで、reactから移行してもいいのかもと思い始めた次第です。
622デフォルトの名無しさん
2018/01/10(水) 11:01:01.36ID:AcbVN6ZK hyperappでいいじゃんと言うけど
それWebAPIも発展してきたしフレームワークもライブラリもそろそろ要らないよねってことだぞ
ただ非同期周りとかちょっとまだ手が届かない所があるよねって感じ
chrome-extensionとか小規模なものだとそれこそ何にも要らないと思うぞ
それWebAPIも発展してきたしフレームワークもライブラリもそろそろ要らないよねってことだぞ
ただ非同期周りとかちょっとまだ手が届かない所があるよねって感じ
chrome-extensionとか小規模なものだとそれこそ何にも要らないと思うぞ
623デフォルトの名無しさん
2018/01/11(木) 03:04:00.15ID:A2H3qaeb Node.jsで
const exec = require('child_process').exec;
みたいに
モジュール自体じゃなくてモジュールのメンバを変数に代入する書き方がありますが
こういう書き方のメリットは関数名などが短くなることの他にありますか?
どっちみちモジュールを全部読んでから一部をエクスポートしてるだけなので
メモリの節約にはならないですよね
const exec = require('child_process').exec;
みたいに
モジュール自体じゃなくてモジュールのメンバを変数に代入する書き方がありますが
こういう書き方のメリットは関数名などが短くなることの他にありますか?
どっちみちモジュールを全部読んでから一部をエクスポートしてるだけなので
メモリの節約にはならないですよね
624デフォルトの名無しさん
2018/01/11(木) 06:06:01.73ID:aMgNRUKX メモリの節約にはなるよ
参照のないオブジェクトはGCされるから
参照のないオブジェクトはGCされるから
625デフォルトの名無しさん
2018/01/11(木) 10:35:44.35ID:A2H3qaeb なるほど…
じゃあ使うものだけを読む方が望ましいですね
ありがとうございました
じゃあ使うものだけを読む方が望ましいですね
ありがとうございました
626デフォルトの名無しさん
2018/01/12(金) 00:07:56.61ID:H+rlZVu0 var str = "1\r\n2\r\n3\r\n\r\n4";
var arr = str.split(/\r\n/);
ブラウザでこのarr.lengthを取得すると当然5になります
ですが、WSHのJScriptでarr.lengthを取得すると4になります
何故か空行が削除されてしまうのです
これをマトモに動かすにはどうすればいいのでしょうか?
Windowsは10ですか、多分Windowsのバージョンは関係ないですよね
var arr = str.split(/\r\n/);
ブラウザでこのarr.lengthを取得すると当然5になります
ですが、WSHのJScriptでarr.lengthを取得すると4になります
何故か空行が削除されてしまうのです
これをマトモに動かすにはどうすればいいのでしょうか?
Windowsは10ですか、多分Windowsのバージョンは関係ないですよね
627デフォルトの名無しさん
2018/01/12(金) 00:33:35.90ID:H+rlZVu0 >>626の件ですが
正規表現で文字列を split すると、できた配列から空の要素が消える
http://aligach.net/diary/20060707.html
>文字列で split すると JScript でも空要素は消えない。
というのがありました
これはひどいバグですね・・
正規表現で文字列を split すると、できた配列から空の要素が消える
http://aligach.net/diary/20060707.html
>文字列で split すると JScript でも空要素は消えない。
というのがありました
これはひどいバグですね・・
628デフォルトの名無しさん
2018/01/12(金) 05:29:30.16ID:HxZ583lI f(){ g(){h()}}
でhだけが非同期関数の時hが呼び出されるのはfかgのどっちの後ですか?
現在実行中の関数のあとしか書いて無くて、fもgも実行しているのでどちらか
わかりませんでした。
でhだけが非同期関数の時hが呼び出されるのはfかgのどっちの後ですか?
現在実行中の関数のあとしか書いて無くて、fもgも実行しているのでどちらか
わかりませんでした。
629デフォルトの名無しさん
2018/01/12(金) 08:41:18.56ID:bX2X9CX8 その書き方じゃ何を表しているのか正確に分からんし
順番が知りたければ関数にalertでもconsole.logでも置けばいいだけじゃないか
順番が知りたければ関数にalertでもconsole.logでも置けばいいだけじゃないか
630デフォルトの名無しさん
2018/01/12(金) 09:12:36.76ID:0Nl59GCZ 「js 非同期 promise」で検索!
631デフォルトの名無しさん
2018/01/12(金) 09:32:36.57ID:H+rlZVu0 非同期関数をその中に書いたら同期関数にできる関数があれば
何も考えずに同期化出来ていいのではないでしょうか?
そういうのはありますか?
何も考えずに同期化出来ていいのではないでしょうか?
そういうのはありますか?
632デフォルトの名無しさん
2018/01/12(金) 13:15:59.75ID:7wn4t2Jc 同期「的」に書ける方法はあるよ
でも理由があって非同期になってるわけだから、
それが他の部分と必ずしも結合できるとは考えない方がいいし
あんまりこねくり回すとタイミングバグが起きたりもする
その辺きちんと整理できる能力が必要
取り敢えずPromiseとメソッドチェーンを理解してからasync-await
でも理由があって非同期になってるわけだから、
それが他の部分と必ずしも結合できるとは考えない方がいいし
あんまりこねくり回すとタイミングバグが起きたりもする
その辺きちんと整理できる能力が必要
取り敢えずPromiseとメソッドチェーンを理解してからasync-await
633デフォルトの名無しさん
2018/01/12(金) 20:07:58.33 electronでVisualStudioみたいなドッキングやフロートとかができるパネルレイアウトを実現するものはありますか?
634デフォルトの名無しさん
2018/01/12(金) 20:12:02.87 質問変えます
VSCodeと同じレイアウト(右のパネル、タブ)を実現するものはありますか?
VSCodeと同じレイアウト(右のパネル、タブ)を実現するものはありますか?
635デフォルトの名無しさん
2018/01/13(土) 00:02:40.02ID:/br76GKn 同期的で思い出したけど、JavaScript・・・じゃないな
ブラウザのDOMの仕様からalert, confirm, promptって廃止されないの?
だってこれら同期的に動くクソだもの
ブラウザのDOMの仕様からalert, confirm, promptって廃止されないの?
だってこれら同期的に動くクソだもの
636デフォルトの名無しさん
2018/01/13(土) 00:20:03.56ID:UQ6+XXz2 NW.jsはビルドしたファイルを実行すると
ソースディレクトリがテンポラリディレクトリに展開されてそこで実行され
元のexeファイルのあるカレントディレクトリを取得できないという問題があります
ポータビリティを担保するためにカレントディレクトリにデータを保存したいので、
これは望ましくありません
Electronではこういうことはないのでしょうか?
ソースディレクトリがテンポラリディレクトリに展開されてそこで実行され
元のexeファイルのあるカレントディレクトリを取得できないという問題があります
ポータビリティを担保するためにカレントディレクトリにデータを保存したいので、
これは望ましくありません
Electronではこういうことはないのでしょうか?
637デフォルトの名無しさん
2018/01/13(土) 04:50:51.10ID:xaNBQnI8638デフォルトの名無しさん
2018/01/13(土) 05:57:23.59ID:Hqj5QnSW639デフォルトの名無しさん
2018/01/13(土) 07:41:37.13ID:9rLeDqe4640デフォルトの名無しさん
2018/01/13(土) 07:53:38.29ID:9rLeDqe4 >>636
Electron アプリは、Node.js によって実行される
その際、package.json という設定ファイルに、
"main": "main.js"
とか書くと、そのファイルから起動される
この本を読む
Electronではじめるアプリ開発
~JavaScript/HTML/CSSでデスクトップアプリを作ろう
野口 将人・倉見 洋輔、2017
Electron アプリは、Node.js によって実行される
その際、package.json という設定ファイルに、
"main": "main.js"
とか書くと、そのファイルから起動される
この本を読む
Electronではじめるアプリ開発
~JavaScript/HTML/CSSでデスクトップアプリを作ろう
野口 将人・倉見 洋輔、2017
641デフォルトの名無しさん
2018/01/13(土) 08:44:03.82ID:aBZLjG9C642デフォルトの名無しさん
2018/01/13(土) 12:13:53.04ID:v/Is/Qmn 的外れと言う割に的外れでない回答がない件
それもそのはず的外れでないであろう回答をエスパーして
基本的で曖昧な疑問に答えるのは大変すぎるから
だから皆取り敢えずコンテキストが近くて
具体的で為になりそうな点に絞って回答してるというのに
それを的外れというのはそれこそ的外れ
それもそのはず的外れでないであろう回答をエスパーして
基本的で曖昧な疑問に答えるのは大変すぎるから
だから皆取り敢えずコンテキストが近くて
具体的で為になりそうな点に絞って回答してるというのに
それを的外れというのはそれこそ的外れ
643デフォルトの名無しさん
2018/01/13(土) 13:33:46.15ID:UQ6+XXz2 >>640
ありがとうございます
ただそのくらいは知ってます・・
NW.jsもnode.jsとwebkitから作られていて
両者が非常に良く似ていることからした質問です
ビルドされたバイナリの挙動は実際に使ってみないと分からないので
ありがとうございます
ただそのくらいは知ってます・・
NW.jsもnode.jsとwebkitから作られていて
両者が非常に良く似ていることからした質問です
ビルドされたバイナリの挙動は実際に使ってみないと分からないので
644デフォルトの名無しさん
2018/01/13(土) 13:39:59.76ID:aBZLjG9C >583 名前:デフォルトの名無しさん[sage] 投稿日:2017/12/31(日) 19:02:39.26 ID:B2mtcXzM
>ないです
「的外れでない回答」はこれだろ?
>ないです
「的外れでない回答」はこれだろ?
645デフォルトの名無しさん
2018/01/13(土) 15:26:08.02ID:xaNBQnI8 こりゃ一本取られた
確かに矢を放たなければ外れようも無いわな
うまい!
確かに矢を放たなければ外れようも無いわな
うまい!
646デフォルトの名無しさん
2018/01/13(土) 15:42:03.82ID:lfCPm8HF クッサ
647デフォルトの名無しさん
2018/01/14(日) 00:54:38.03ID:O8f654ld 質問です!
初めてjavascriptでWEBアプリを作ってるんですが、時間によって変化するデータを記録してブラウザに表示させるために
グローバル変数を使用しているのですが、そのデータが50種類近くあり、全てグローバル変数に保持させています。
ネットで調べると、グローバル汚染なる言葉があり、グローバル変数は極力使用するべきでないとありました。
でも、50種類近くのデータを保持し、各関数の中で計算させたりブラウザに数値を表示させるにはグローバル変数でしか無理なんじゃ無いかと思います。
初心者な質問ですがよろしくおねがいします!
初めてjavascriptでWEBアプリを作ってるんですが、時間によって変化するデータを記録してブラウザに表示させるために
グローバル変数を使用しているのですが、そのデータが50種類近くあり、全てグローバル変数に保持させています。
ネットで調べると、グローバル汚染なる言葉があり、グローバル変数は極力使用するべきでないとありました。
でも、50種類近くのデータを保持し、各関数の中で計算させたりブラウザに数値を表示させるにはグローバル変数でしか無理なんじゃ無いかと思います。
初心者な質問ですがよろしくおねがいします!
648デフォルトの名無しさん
2018/01/14(日) 01:11:56.05ID:ShEBZxSB まあ別に幾らでもやりようはあるが、
その分だとまずコードを今の1/5から1/10ぐらいに減らすべきだろうな
無駄なコードが多すぎるだろう
その分だとまずコードを今の1/5から1/10ぐらいに減らすべきだろうな
無駄なコードが多すぎるだろう
649デフォルトの名無しさん
2018/01/14(日) 03:20:01.37ID:V1AuijCV electronでデベロッパーツールにログを出力するのはどうすればいいのでしょうか?
console.logするとシェルのコンソールにログが出力されますが
これだとソース版の実行時にしかログが見られません
console.logするとシェルのコンソールにログが出力されますが
これだとソース版の実行時にしかログが見られません
650デフォルトの名無しさん
2018/01/14(日) 07:16:23.50 ソース版?
651デフォルトの名無しさん
2018/01/14(日) 09:01:40.77ID:V1AuijCV 何と言うのか知りませんがバイナリにビルドする前の状態です
652デフォルトの名無しさん
2018/01/14(日) 09:37:43.17ID:Ljf3EvZ6 >>649
サンプル通り作ってあるなら
mainWindow.loadURL(`file://${__dirname}/index.html`);
というような感じでindex.htmlをロードして表示していると思うけど
このindex.html内でconsole.logすればデベロッパー内でログを見れる
サンプル通り作ってあるなら
mainWindow.loadURL(`file://${__dirname}/index.html`);
というような感じでindex.htmlをロードして表示していると思うけど
このindex.html内でconsole.logすればデベロッパー内でログを見れる
653デフォルトの名無しさん
2018/01/14(日) 11:41:12.08ID:V1AuijCV654デフォルトの名無しさん
2018/01/14(日) 12:42:53.06ID:V1AuijCV >>636の件ですが
Electronの場合はビルドしたバイナリでも、
実行時のカレントディレクトリが正しく取得できました
まぁ当たり前の動作ではありますが・・。
NW.jsの方が古いプロダクトのようですが、
Electronに架橋するのがその歴史的意義で、既に使命を終えたんじゃないかと思います
Electronを触ったらもうNW.jsに戻ろうとは思えません
Electronの場合はビルドしたバイナリでも、
実行時のカレントディレクトリが正しく取得できました
まぁ当たり前の動作ではありますが・・。
NW.jsの方が古いプロダクトのようですが、
Electronに架橋するのがその歴史的意義で、既に使命を終えたんじゃないかと思います
Electronを触ったらもうNW.jsに戻ろうとは思えません
655デフォルトの名無しさん
2018/01/15(月) 16:39:11.95ID:oyJFiKwa エディタのVS Code, Atom が、Electron 製だろ
これらのエディタを使ってみれば、Electron で、何でも出来ることが良くわかる
これらのエディタを使ってみれば、Electron で、何でも出来ることが良くわかる
656デフォルトの名無しさん
2018/01/15(月) 23:04:54.06ID:A1ZxBlI8 まあバイナリファイルの読み書きさえできれば
なんでもできるのは当たり前なんだけどなw
なんでもできるのは当たり前なんだけどなw
657デフォルトの名無しさん
2018/01/17(水) 13:55:03.66ID:ZK8OrRcg titleを書き換えるブックマークレットを作っています
chrome開発者ツールのconsoleで
document.title = 'test';
とすると、何の問題もなく書き換わります
が、これを
javascript:document.title = 'test';
としてブックマークに登録してブックマークレットとして実行すると、
titleだけでなくdocumentの内容自体がtestという文字列に置き換わってしまいます
何が間違っているのでしょうか?
chrome開発者ツールのconsoleで
document.title = 'test';
とすると、何の問題もなく書き換わります
が、これを
javascript:document.title = 'test';
としてブックマークに登録してブックマークレットとして実行すると、
titleだけでなくdocumentの内容自体がtestという文字列に置き換わってしまいます
何が間違っているのでしょうか?
658デフォルトの名無しさん
2018/01/17(水) 14:30:25.51ID:om4BnoKr 最後にreturn;を加えるといいかも
659愛知人
2018/01/17(水) 14:32:13.86 resList.forEach(resNumber => {
$(`.resListPanel li.resItem[data-number="${resNumber}"]`).clone().appendTo(resListTree);
});
resListの要素数が70個だと2秒もかかるんだがどうする?
$(`.resListPanel li.resItem[data-number="${resNumber}"]`).clone().appendTo(resListTree);
});
resListの要素数が70個だと2秒もかかるんだがどうする?
660愛知人
2018/01/17(水) 14:41:23.85 const resItemList = resList.map(resNumber => {
return $(`.resListPanel li.resItem[data-number="${resNumber}"]`).clone();
});
これでもほぼ同じ
return $(`.resListPanel li.resItem[data-number="${resNumber}"]`).clone();
});
これでもほぼ同じ
661愛知人
2018/01/17(水) 14:44:03.32 resList.map(resNumber => {
return $(`.resListPanel li.resItem[data-number="${resNumber}"]`);
});
これでもほぼ同じ
return $(`.resListPanel li.resItem[data-number="${resNumber}"]`);
});
これでもほぼ同じ
662デフォルトの名無しさん
2018/01/17(水) 14:54:28.73ID:ZK8OrRcg663デフォルトの名無しさん
2018/01/17(水) 15:09:47.60ID:ZK8OrRcg ブックマークレットはaタグのhrefにjavascript:と書いた時と
同じ動作をするもののようです
ここに書いたコードは返り値の返却が求められていることから、
ある種の関数として実行されていると推測します
ですがブックマークレットの解説が書かれたサイトには、
名前空間を汚染しないように即時関数で全体を囲む方がいいと書いてあります
しかしブックマークレットがすでに関数になっているのですから
即時関数にしなくても汚染は防げるのではないかと思ったのですが
どうなのでしょうか?
同じ動作をするもののようです
ここに書いたコードは返り値の返却が求められていることから、
ある種の関数として実行されていると推測します
ですがブックマークレットの解説が書かれたサイトには、
名前空間を汚染しないように即時関数で全体を囲む方がいいと書いてあります
しかしブックマークレットがすでに関数になっているのですから
即時関数にしなくても汚染は防げるのではないかと思ったのですが
どうなのでしょうか?
664デフォルトの名無しさん
2018/01/17(水) 15:28:35.60ID:57JGUXKI 逆に聞くけどなんですでに関数になってると思い込んだの?
665デフォルトの名無しさん
2018/01/17(水) 16:14:37.66ID:ZK8OrRcg666デフォルトの名無しさん
2018/01/17(水) 16:42:16.33ID:ZK8OrRcg <a href="javascript:var a = 1;return;">test</a>
と書いてみたら
SyntaxError: Illegal return statement
と出ました
ブックマークレットはaタグとは似て非なるもののようですね
と書いてみたら
SyntaxError: Illegal return statement
と出ました
ブックマークレットはaタグとは似て非なるもののようですね
667デフォルトの名無しさん
2018/01/17(水) 16:50:55.42ID:ZK8OrRcg javascript:var a=1;return;
というブックマークレットと
javascript:alert(a);
というブックマークレットを作り、
最初のブックマークレットを実行してから次のブックマークレットを実行すると
aはundefinedだと言われました
やはりブックマークレットは関数として実行されているようです
aタグの場合は、あるタグで宣言代入した変数を
他のタグのコードから参照できました
というブックマークレットと
javascript:alert(a);
というブックマークレットを作り、
最初のブックマークレットを実行してから次のブックマークレットを実行すると
aはundefinedだと言われました
やはりブックマークレットは関数として実行されているようです
aタグの場合は、あるタグで宣言代入した変数を
他のタグのコードから参照できました
668デフォルトの名無しさん
2018/01/17(水) 16:51:48.01ID:57JGUXKI >>665-666
なぜブックマークレットでエラーが出ないと思いこんでるの?
なぜブックマークレットでエラーが出ないと思いこんでるの?
669デフォルトの名無しさん
2018/01/17(水) 17:01:43.92ID:ZK8OrRcg670デフォルトの名無しさん
2018/01/17(水) 19:39:53.11ID:/Emd22Mw Chrome/Firefox/Edgeで試してみたがエラー出るんだが
671デフォルトの名無しさん
2018/01/17(水) 21:31:52.74ID:/j2ucEK2 chromeで試しましたが出ませんよ
ブラウザによって実装が異なる可能性もあるので他のブラウザは知りませんが
ブックマークレットという性格上、自分が使うブラウザで問題なければ別にいいです
ブラウザによって実装が異なる可能性もあるので他のブラウザは知りませんが
ブックマークレットという性格上、自分が使うブラウザで問題なければ別にいいです
672デフォルトの名無しさん
2018/01/17(水) 21:32:24.29ID:HnamRG99 JavaScriptは最終的にビルドしてWebAssemblyに
するのが常識になっていくんじゃないかなーって
思っているんだけどどうですか?
するのが常識になっていくんじゃないかなーって
思っているんだけどどうですか?
673デフォルトの名無しさん
2018/01/18(木) 07:04:32.02ID:iW6wdbys >>672
それは将来の素のJS≒TSをWASMにコンパイルしてリリースするのが常識になるかってこと?
既にトランスパイラやバンドラが使われているように、幾らか規模のある企業案件では良く使われることになると思うよ
あとはブラウザの拡張機能のようなパッケージ化されるものではそれが基本になると思う
だけど常識と言えるかどうかは分かんないね
2030年ごろにJSに実質的な寿命が来たとして、
その時に多くの言語から安全簡潔にWASM化する環境が整っていて、
ブラウザベンダー達が新しい言語を実装しないことを決定すればそうなるんじゃない?
それは将来の素のJS≒TSをWASMにコンパイルしてリリースするのが常識になるかってこと?
既にトランスパイラやバンドラが使われているように、幾らか規模のある企業案件では良く使われることになると思うよ
あとはブラウザの拡張機能のようなパッケージ化されるものではそれが基本になると思う
だけど常識と言えるかどうかは分かんないね
2030年ごろにJSに実質的な寿命が来たとして、
その時に多くの言語から安全簡潔にWASM化する環境が整っていて、
ブラウザベンダー達が新しい言語を実装しないことを決定すればそうなるんじゃない?
674デフォルトの名無しさん
2018/01/18(木) 15:48:38.59ID:kHRH5E2e electronてメインプロセスとレンダラプロセスのJSはディレクトリを分けた方がいいと思うのですが
どうディレクトリを分けるのがスタンダードなんでしょうか?
どうディレクトリを分けるのがスタンダードなんでしょうか?
675デフォルトの名無しさん
2018/01/18(木) 16:44:53.98ID:Ok9ZLYff >>674
サンプルはいくらでもあるんだからパクれば良いのよ
サンプルはいくらでもあるんだからパクれば良いのよ
676デフォルトの名無しさん
2018/01/18(木) 21:59:02.60ID:CTvnuGUK >>673
> その時に多くの言語から安全簡潔にWASM化する環境が整っていて、
その多くの言語からWASM化するってのはビルドですよね?
聞きたかったのはJavaScriptが生き残るかどうかじゃなくて
ビルドツールなしっていうのは考えられない世界になるのかなーって話です。
> その時に多くの言語から安全簡潔にWASM化する環境が整っていて、
その多くの言語からWASM化するってのはビルドですよね?
聞きたかったのはJavaScriptが生き残るかどうかじゃなくて
ビルドツールなしっていうのは考えられない世界になるのかなーって話です。
677デフォルトの名無しさん
2018/01/18(木) 23:08:03.44ID:4fewSOLi678デフォルトの名無しさん
2018/01/19(金) 08:45:48.44ID:679xh41H WASMが普及するとブラックボックス化して、Webへのアクセスの危険度が上がる気がする。メルトダウンとかが話題なくらいなんだから慎重に行かないとね。
とりあえずWASMはDOMに直接アクセスできないとか色々制限があるから
とりあえずWASMはDOMに直接アクセスできないとか色々制限があるから
679デフォルトの名無しさん
2018/01/19(金) 16:29:34.99ID:fVyCmoDl680愛知人
2018/01/19(金) 19:04:39.76ID:QV4koCPF 評価してください。
https://ideone.com/SxLQUO
https://ideone.com/SxLQUO
681デフォルトの名無しさん
2018/01/19(金) 19:52:16.50ID:IX0btOHh >>678
メルトダウンはCPUのバグなんだからそれを引き合いに出すのは無茶だと思う
ただタイミングアタックって言うのは事前の想定が難しい脆弱性攻略法だからね
例えばサーバでパスワードやハッシュが正しいかチェックする際
正解の文字列と==で比較するとそれ即ち脆弱性になる
なぜなら==は大抵の場合文字列の頭からの1文字1文字合っているか確認していって、
間違っている場合そこで打ち切るから、サーバのレスポンス時間の統計を取れば
現実的な試行回数で正解文字列が頭から推測できていってしまう
SQLインジェクションとかよく騒がれるので、外から来たデータの扱いは
個人運営のサイトでも必ず相当に気にすると思うが、
内の状態を外に微塵も漏らさないための気配りができている場合は少ない
今回のCPU騒動の対策としてperformance.now()の精度が100nsに落とされたりしたが
過去にあったJSで外部画像やiframeにフィルタを書ける際の処理の重さから内容を推測したりとか
数msの精度があれば十分に成功するものもある
Web標準規格者、ブラウザ開発者のような大勢の優秀な技術者でも度々見落としてしまうのが
この手のバグなんだから、ある意味で仕方がない
メルトダウンはCPUのバグなんだからそれを引き合いに出すのは無茶だと思う
ただタイミングアタックって言うのは事前の想定が難しい脆弱性攻略法だからね
例えばサーバでパスワードやハッシュが正しいかチェックする際
正解の文字列と==で比較するとそれ即ち脆弱性になる
なぜなら==は大抵の場合文字列の頭からの1文字1文字合っているか確認していって、
間違っている場合そこで打ち切るから、サーバのレスポンス時間の統計を取れば
現実的な試行回数で正解文字列が頭から推測できていってしまう
SQLインジェクションとかよく騒がれるので、外から来たデータの扱いは
個人運営のサイトでも必ず相当に気にすると思うが、
内の状態を外に微塵も漏らさないための気配りができている場合は少ない
今回のCPU騒動の対策としてperformance.now()の精度が100nsに落とされたりしたが
過去にあったJSで外部画像やiframeにフィルタを書ける際の処理の重さから内容を推測したりとか
数msの精度があれば十分に成功するものもある
Web標準規格者、ブラウザ開発者のような大勢の優秀な技術者でも度々見落としてしまうのが
この手のバグなんだから、ある意味で仕方がない
682デフォルトの名無しさん
2018/01/19(金) 21:15:34.22ID:acEC53C4 >>678
> WASMが普及するとブラックボックス化して、Webへのアクセスの危険度が上がる気がする。
スマホアプリと同じ状態になるだけだよ
危険度は今とまったく変わらないか、
ブラウザのセキュリティ内でしか動かないから
スマホアプリよりも安全
> WASMが普及するとブラックボックス化して、Webへのアクセスの危険度が上がる気がする。
スマホアプリと同じ状態になるだけだよ
危険度は今とまったく変わらないか、
ブラウザのセキュリティ内でしか動かないから
スマホアプリよりも安全
683デフォルトの名無しさん
2018/01/19(金) 21:17:41.12ID:acEC53C4 WASMはJavaScriptでできることしかできないから、
その意味でも安全といえる。
ソースコードが読みづらいってだけ
JavaScriptで難読化するのと変わらない
どうせ難読化されて無くても殆どの場合JavaScriptのコードを
なんて見ないんだから関係ない
よってWASMで危険になんかならない
その意味でも安全といえる。
ソースコードが読みづらいってだけ
JavaScriptで難読化するのと変わらない
どうせ難読化されて無くても殆どの場合JavaScriptのコードを
なんて見ないんだから関係ない
よってWASMで危険になんかならない
684デフォルトの名無しさん
2018/01/19(金) 21:47:23.03ID:IX0btOHh いや、JSのASTのバイナリのようなものというのはスタートラインであって
将来的には変わっていくと思うよ
現時点でも例えばSIMD APIを使ってSIMD命令を明示的に記述できるけど
もしここ関連でバグがあればより危険ってことになるからね
将来的には変わっていくと思うよ
現時点でも例えばSIMD APIを使ってSIMD命令を明示的に記述できるけど
もしここ関連でバグがあればより危険ってことになるからね
685デフォルトの名無しさん
2018/01/19(金) 22:01:13.91ID:acEC53C4 SIMD APIってJavaScriptでできることじゃん。やっぱりw
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/SIMD
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/SIMD
686デフォルトの名無しさん
2018/01/19(金) 23:04:17.50ID:IX0btOHh バカタレ
なんで俺がわざわざこれを選んで挙げたか少しは考えることもできないのか?
JavaScriptでもできることになる予定だったけど撤廃される流れになってるだろ
現にV8はサポートしないことを決めて削除した
https://bugs.chromium.org/p/v8/issues/detail?id=6020&desc=2#c3
そのくらいの時系列知っとけ
なんで俺がわざわざこれを選んで挙げたか少しは考えることもできないのか?
JavaScriptでもできることになる予定だったけど撤廃される流れになってるだろ
現にV8はサポートしないことを決めて削除した
https://bugs.chromium.org/p/v8/issues/detail?id=6020&desc=2#c3
そのくらいの時系列知っとけ
687デフォルトの名無しさん
2018/01/19(金) 23:10:30.90ID:IX0btOHh つかよく見たらそのページにも廃止されたって書いてあるじゃん
688デフォルトの名無しさん
2018/01/19(金) 23:18:11.42ID:acEC53C4 >>686
そこに撤廃されるなんて書いてないじゃんw
そこに撤廃されるなんて書いてないじゃんw
689デフォルトの名無しさん
2018/01/20(土) 00:23:54.23ID:IW3xR9PE690愛知人
2018/01/20(土) 00:25:29.74ID:sgAjbMHf 廃止された
691デフォルトの名無しさん
2018/01/20(土) 01:26:28.81ID:yU/e6vXO >>682
スマホアプリは一応アプリストアで管理されてるけどwebアプリは無理でしょ。
スマホアプリは一応アプリストアで管理されてるけどwebアプリは無理でしょ。
692デフォルトの名無しさん
2018/01/20(土) 02:09:47.09ID:87fvh5f6 検索って言う超巨大なアプリストアがあるんだけど知ってる?
PWA云々ってのもこの流れの中の一つ
PWA云々ってのもこの流れの中の一つ
693デフォルトの名無しさん
2018/01/20(土) 02:32:41.46ID:/fOBA6h7694デフォルトの名無しさん
2018/01/20(土) 10:26:21.47ID:L3x0kWif どれだけアプリストアでセキュリティチェックされようと
超低レベルなCPUにバグがあっちゃお終いだし、
もしくは人がチェックするのも無理だから
超高レベルな悪意も防ぎようがない
超低レベルなCPUにバグがあっちゃお終いだし、
もしくは人がチェックするのも無理だから
超高レベルな悪意も防ぎようがない
695デフォルトの名無しさん
2018/01/21(日) 01:14:29.51ID:NRBAbRyX JSからも攻撃可能なメモリの同じ部分への超連続書き込みで
隣接セルを書き換えるって言うのも根本的な修正策は無いしね
隣接セルを書き換えるって言うのも根本的な修正策は無いしね
696デフォルトの名無しさん
2018/01/21(日) 11:52:06.76ID:BpnGcMgt ElectronでネイティブのNodeモジュールを使う場合
リビルドが必要になりますが
このリビルドしたモジュールはアーキテクチャが同じなら
他のマシンでも使えるのでしょうか?
リビルドが必要になりますが
このリビルドしたモジュールはアーキテクチャが同じなら
他のマシンでも使えるのでしょうか?
697デフォルトの名無しさん
2018/01/21(日) 21:54:46.27ID:Ycn/1JW2 各OS で、コンパイル済みバイナリは異なるから、バイナリで持ち運べない。
ソースコードで持ち運んで、各OSでビルドする
Linux では、ディストリビューション間でも、バイナリが異なるかも知れない
ソースコードで持ち運んで、各OSでビルドする
Linux では、ディストリビューション間でも、バイナリが異なるかも知れない
698デフォルトの名無しさん
2018/01/21(日) 22:08:15.10ID:SRhvhCOq ただし例外もあって例えばUbuntuでコンパイルしたバイナリは
Windows上のWSL(Ubuntu)で動く
WSLがUbuntuでビルドしたバイナリを動く仕組みを提供しているからだ
Windows上のWSL(Ubuntu)で動く
WSLがUbuntuでビルドしたバイナリを動く仕組みを提供しているからだ
699デフォルトの名無しさん
2018/01/21(日) 22:29:06.24ID:bZyUZ2Tg OSが違う時に走らないのは仕方ないですが
OSとアーキテクチャが同じなら、普通の実行ファイル同様、他のマシンでも走りますよね
ありがとうございました
OSとアーキテクチャが同じなら、普通の実行ファイル同様、他のマシンでも走りますよね
ありがとうございました
700デフォルトの名無しさん
2018/01/21(日) 22:54:53.47ID:NRBAbRyX ネイティブモジュールは他の実行ファイルとは全く違う
V8のバージョンが変わると容易に壊れる
V8のバージョンが変わると容易に壊れる
701デフォルトの名無しさん
2018/01/22(月) 00:51:54.11ID:Q2QTYk20 実行ファイルというのはモジュールのことではなく、
バイナリビルドしたアプリのことでした
ネイティブモジュールのリビルドが必要なのはV8のバージョンアップなどとの擦り合わせなのですね
ありがとうございました
バイナリビルドしたアプリのことでした
ネイティブモジュールのリビルドが必要なのはV8のバージョンアップなどとの擦り合わせなのですね
ありがとうございました
702デフォルトの名無しさん
2018/01/22(月) 21:32:51.06ID:DF13VOU4 Single Page Applicationのデザインは
他のウェブサイトとは要件が少し違うと思います
ウェブページというよりもアプリケーションそのものなので。
SPAのデザインに関して参考になる本とかサイトとかありますか?
他のウェブサイトとは要件が少し違うと思います
ウェブページというよりもアプリケーションそのものなので。
SPAのデザインに関して参考になる本とかサイトとかありますか?
703デフォルトの名無しさん
2018/01/22(月) 22:58:59.23ID:pYe1Cwj7 ブラウザのhistory 関連とか、
戻るボタンには、どう対処するのかとか
戻るボタンには、どう対処するのかとか
704デフォルトの名無しさん
2018/01/24(水) 02:51:55.33ID:jTLtMl0d SPAって主にはただの普通のWebサイトにPjax導入した物を言うと思うぞ
それ以上の専用の設計がされているものはWebアプリって言う
それ以上の専用の設計がされているものはWebアプリって言う
705デフォルトの名無しさん
2018/01/25(木) 00:44:44.26ID:dhevK8dt electronで、現在ソースで実行されているのかバイナリで実行されているかを
コードの中で判断するにはどうすればいいのでしょうか?
ソースでの実行時のみにデベロッパーツールを開くようにしたいです
コードの中で判断するにはどうすればいいのでしょうか?
ソースでの実行時のみにデベロッパーツールを開くようにしたいです
706デフォルトの名無しさん
2018/01/25(木) 02:17:02.57ID:oIA0WROS AngularとReactどっちがいい?
707デフォルトの名無しさん
2018/01/25(木) 02:24:41.78ID:viLdLLlb708デフォルトの名無しさん
2018/01/25(木) 08:18:11.20ID:ix7/3m0P709705
2018/01/25(木) 09:59:15.16ID:ix7/3m0P __dirname+'/実行ファイル'
の有無を調べたのですがうまく動きませんでした
どうもビルドとは言っても実行ファイルの中にJSが組み込まれているわけではなく
resources/app配下のJSを実行しているようです
それなら上の上の上のディレクトリの実行ファイルの有無を調べればいいと思ったのですが
それも何故かうまくいかず。
(書き方が悪かっただけかもしれません。未検証)
他の方法はないかと探して
path.basename(app.getPath('exe')) == 'electron.exe'
なら開発環境と判別するという方法にたどり着きました
もっといい方法もあるのかもしれませんが
の有無を調べたのですがうまく動きませんでした
どうもビルドとは言っても実行ファイルの中にJSが組み込まれているわけではなく
resources/app配下のJSを実行しているようです
それなら上の上の上のディレクトリの実行ファイルの有無を調べればいいと思ったのですが
それも何故かうまくいかず。
(書き方が悪かっただけかもしれません。未検証)
他の方法はないかと探して
path.basename(app.getPath('exe')) == 'electron.exe'
なら開発環境と判別するという方法にたどり着きました
もっといい方法もあるのかもしれませんが
710デフォルトの名無しさん
2018/01/25(木) 21:01:11.78ID:swiRhF/5 Railsアプリケーションには、production、development、testの3種類の環境があるけど、
Electron には、そういう環境変数は無いの?
Electron には、そういう環境変数は無いの?
711デフォルトの名無しさん
2018/01/26(金) 00:11:29.64ID:blIs49uE ドキュメントのappやprocessやEnvironment Variablesをざっと見ましたが
それっぽいのは見当たりませんでした
ビルドと言ってもelectron.exe相当の実行ファイルの名前や属性が変わるくらいなので
本質的な違いはないという思想なのかもしれません
それっぽいのは見当たりませんでした
ビルドと言ってもelectron.exe相当の実行ファイルの名前や属性が変わるくらいなので
本質的な違いはないという思想なのかもしれません
712デフォルトの名無しさん
2018/01/26(金) 11:30:01.98ID:1vUlDhuw 初心者です。お願いします。
node.jsで以下のコードを実行したら、
TypeError: "callback" argument must be a functionというエラーが出ました。
var webclient = require("request");
function test(){
webclient.post({
url: "https://mevius.5ch.net/tech/subback.html"},
function (error, response, body){
console.log(body);
});
};
setInterval("test()",2000);
test()単体では動くのですが、定期的に実行するにはどうすればいいか教えてください。
node.jsで以下のコードを実行したら、
TypeError: "callback" argument must be a functionというエラーが出ました。
var webclient = require("request");
function test(){
webclient.post({
url: "https://mevius.5ch.net/tech/subback.html"},
function (error, response, body){
console.log(body);
});
};
setInterval("test()",2000);
test()単体では動くのですが、定期的に実行するにはどうすればいいか教えてください。
713愛知人
2018/01/26(金) 11:34:15.05 "test()"→test
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- とらせん IPあり
- 巨専】
- 【DAZN】ワールドカップ欧州予選総合 ★5
- こいせん 全レス転載禁止
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
- 日本政府、ネトウヨに媚びるために韓国との関係も悪化させてしまう [603416639]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
- 自閉症が「んなっしょい」と連呼するお🏡
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
