私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript & jQuery 質問用スレッド vol.5 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>700
速くなるが一般的に人間が体感できない程度しか速くはならない。
だから同じ速度を気にするならば、開発 "速度" の方を優先する方が賢い
何万回もループを回すような処理だと体感できる差が出ることもあるが
その場合はその部分だけを最適化すれば良い。
まずはベンチマークを行って、"実際のユースケース" で何秒の差が生まれるかを計測するべき。
よく何万回もループを回してそれぞれ5秒と10秒かかって2倍も速くなったと言うやつが居るが、
実際には1回しか実行しない処理で0.5ミリ秒しか違いがでないならやる価値がないわけで。
速くなるが一般的に人間が体感できない程度しか速くはならない。
だから同じ速度を気にするならば、開発 "速度" の方を優先する方が賢い
何万回もループを回すような処理だと体感できる差が出ることもあるが
その場合はその部分だけを最適化すれば良い。
まずはベンチマークを行って、"実際のユースケース" で何秒の差が生まれるかを計測するべき。
よく何万回もループを回してそれぞれ5秒と10秒かかって2倍も速くなったと言うやつが居るが、
実際には1回しか実行しない処理で0.5ミリ秒しか違いがでないならやる価値がないわけで。
>>700
こういう質問をしてくる人にjQueryより効率のいいコードを簡単にかけるとは思えない・・・
こういう質問をしてくる人にjQueryより効率のいいコードを簡単にかけるとは思えない・・・
本当に速度を気にしているならば自分で調べるわけで、
「些細な速度でも気にしている俺すごい」って考えてるだけなんだろうな。
「些細な速度でも気にしている俺すごい」って考えてるだけなんだろうな。
>>705
ゲームぐらいだろうねw
ゲームぐらいだろうねw
すみません、初歩的な質問ですが困り果てています。
どなたかご教授下さい。
アコーディオンの中にスライダーを入れたいのですが、
display:none;が悪戯をして上手く表示させることができません。
症状としてはアコーディオンを開くとスライダーが一切表示されず、
アコーディオンを開いたまま時間を置いたり、ブラウザを最小化→最大化すると表示されるようです。
アコーディオンは初期設定では全閉じです。
display:none;をはずして初期状態を全開にすればきちんと表示されます。
ただ全開だとアコーディオンの意味があまりないのでそれは避けたいです。
試しにと思ってcssからdisplay:none;をはずしてjavascriptに.css("display")=="none"というものを組み込んだのですが同様にだめでした。
何か上手い解決方法があればお教え下さい。
どなたかご教授下さい。
アコーディオンの中にスライダーを入れたいのですが、
display:none;が悪戯をして上手く表示させることができません。
症状としてはアコーディオンを開くとスライダーが一切表示されず、
アコーディオンを開いたまま時間を置いたり、ブラウザを最小化→最大化すると表示されるようです。
アコーディオンは初期設定では全閉じです。
display:none;をはずして初期状態を全開にすればきちんと表示されます。
ただ全開だとアコーディオンの意味があまりないのでそれは避けたいです。
試しにと思ってcssからdisplay:none;をはずしてjavascriptに.css("display")=="none"というものを組み込んだのですが同様にだめでした。
何か上手い解決方法があればお教え下さい。
display: none; を使わないでアコーディオンの
動作をするスクリプトにすればいいだけだと思う
動作をするスクリプトにすればいいだけだと思う
javascriptかjQueryなどで他のサイトのhtmlをデータとして
取得する方法があればヒントを教えて下さい。
取得する方法があればヒントを教えて下さい。
>>711
CORS, JSONP, Ajax, XMLHttpRequest, fetch
CORS, JSONP, Ajax, XMLHttpRequest, fetch
>>711
jquery.xdomainajax.js
jquery.xdomainajax.js
>>715
yahooのサイト見たら「ログイン」って書いてあるところがあるでしょ?
そこyahooにログインしていたら、ログインしているユーザー名になるんだよ。
で、そのユーザー名を勝手に取得できたらだめでしょ?
だから、自分の管理外のサイトは情報を取れないようになってる。
これが同一生成元ポリシーっていう制限。
基本的にドメイン(サブドメイン含む)が違うと情報は取れないと考えていい。
ただしドメインが違っても自分が管理しているサイトであれば、
httpヘッダーを追加するなどして情報を取ることは可能。
yahooのサイト見たら「ログイン」って書いてあるところがあるでしょ?
そこyahooにログインしていたら、ログインしているユーザー名になるんだよ。
で、そのユーザー名を勝手に取得できたらだめでしょ?
だから、自分の管理外のサイトは情報を取れないようになってる。
これが同一生成元ポリシーっていう制限。
基本的にドメイン(サブドメイン含む)が違うと情報は取れないと考えていい。
ただしドメインが違っても自分が管理しているサイトであれば、
httpヘッダーを追加するなどして情報を取ることは可能。
>>718
セキュリティ、道義上の理由
セキュリティ、道義上の理由
これを使えばこう言う手口で悪さができるな
って言うのも考えないとダメ
だからその穴を防ごうというセキュリティ意識が付く
って言うのも考えないとダメ
だからその穴を防ごうというセキュリティ意識が付く
>>718
>ブラウザからなら見れるのに
ユーザ(ブラウザのコード)からは見えるが、 js (サイトが用意したコード)からは「見えない」というのが重要
セキュリティとか普段考えたりしない一般人は、この二つの区別がつかなくとも無理はないだろう
>ブラウザからなら見れるのに
ユーザ(ブラウザのコード)からは見えるが、 js (サイトが用意したコード)からは「見えない」というのが重要
セキュリティとか普段考えたりしない一般人は、この二つの区別がつかなくとも無理はないだろう
悪い手口も考えないとダメよ
ウイルスの作り方考えて、それを防ぐ方法を考える
自分が作ったシステムを破壊する方法を考える
めっちゃ大切
ウイルスの作り方考えて、それを防ぐ方法を考える
自分が作ったシステムを破壊する方法を考える
めっちゃ大切
>>726
21世紀少年でよんだ。
21世紀少年でよんだ。
>>724
それは俺じゃないよ。お前は俺711のストーカーか!
それは俺じゃないよ。お前は俺711のストーカーか!
こういう普通のテーブルが有る場合に、
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
連続するカラムで同じ値が入っているのを見つけて、
<table>
<tr>
<td colspan="3">1</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
こんなふうにしたいのですが、jQueryか何かでうまくやる方法はありますか?
自分で思いつくのはfor loopで回して調べるくらいしか思いつきません。
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
連続するカラムで同じ値が入っているのを見つけて、
<table>
<tr>
<td colspan="3">1</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
こんなふうにしたいのですが、jQueryか何かでうまくやる方法はありますか?
自分で思いつくのはfor loopで回して調べるくらいしか思いつきません。
>>731
こんな感じかねぇ。
$('td').attr('colspan', function() {
return $(this).html() === $(this).prev().html() ? undefined : 1;
}).filter('[colspan]').attr('colspan', function() {
return $(this).nextUntil('[colspan]').length + 1;
}).end().remove(':not([colspan])');
連続するカラム=前のカラムと一緒 と考えて、
(1) 最初に前のカラムと違っていればとりあえずcolspan=1をつける。
(2) 次にcolspan=1した要素に対して、colspan属性がついている次の要素までの数でcolspanを更新する。
(3) 最後にcolspanがついていない要素を削除
これだけだと連続していない(=1個)の場合にcolspan=1が残るから消したいなら最後にこれを追加する。
.filter('[colspan="1"]').removeAttr('colspan')
ここまでくるとループにするかjQueryのeach()を使ったほうが分かりやすそうだ。
こんな感じかねぇ。
$('td').attr('colspan', function() {
return $(this).html() === $(this).prev().html() ? undefined : 1;
}).filter('[colspan]').attr('colspan', function() {
return $(this).nextUntil('[colspan]').length + 1;
}).end().remove(':not([colspan])');
連続するカラム=前のカラムと一緒 と考えて、
(1) 最初に前のカラムと違っていればとりあえずcolspan=1をつける。
(2) 次にcolspan=1した要素に対して、colspan属性がついている次の要素までの数でcolspanを更新する。
(3) 最後にcolspanがついていない要素を削除
これだけだと連続していない(=1個)の場合にcolspan=1が残るから消したいなら最後にこれを追加する。
.filter('[colspan="1"]').removeAttr('colspan')
ここまでくるとループにするかjQueryのeach()を使ったほうが分かりやすそうだ。
ループでやった方が無駄がないと思う
けど、行数減らすことに命懸けてる人に関わると面倒になることは想像にかたくない
けど、行数減らすことに命懸けてる人に関わると面倒になることは想像にかたくない
>>737
趣味でやっていた期間も含めれば18年ぐらいになるんじゃないかな?
いまは職業プログラマ、もちろんJavaScriptだけをやっていたわけじゃなく、
JavaScript以前にはC言語やBasicなどの経験もあるし、最近はPythonやRubyなんかも使ってる。
ここまで来るともう期間聞いても意味ないよw
プログラミングの勉強というより、仕事をしていた期間だからね。
あと期間聞くならjQuery歴を聞いたほうがいいかな。
jQuery以前と後ではコーディングスタイルががらっと変わった。
jQueryは2009年の1.3ぐらいからかな?その後2012年には今ぐらいになってたので
4年ぐらいかけてだらだら身につけていった。
これは世間のノウハウも情報もない時代から、仕事しながら身についたものなので
十分な情報がある今勉強として本気でやったら数週間~数ヶ月もあれば十分だと思うよ。
趣味でやっていた期間も含めれば18年ぐらいになるんじゃないかな?
いまは職業プログラマ、もちろんJavaScriptだけをやっていたわけじゃなく、
JavaScript以前にはC言語やBasicなどの経験もあるし、最近はPythonやRubyなんかも使ってる。
ここまで来るともう期間聞いても意味ないよw
プログラミングの勉強というより、仕事をしていた期間だからね。
あと期間聞くならjQuery歴を聞いたほうがいいかな。
jQuery以前と後ではコーディングスタイルががらっと変わった。
jQueryは2009年の1.3ぐらいからかな?その後2012年には今ぐらいになってたので
4年ぐらいかけてだらだら身につけていった。
これは世間のノウハウも情報もない時代から、仕事しながら身についたものなので
十分な情報がある今勉強として本気でやったら数週間~数ヶ月もあれば十分だと思うよ。
>>739
せめて勉強はしよう。言い返すのはそれからだ
http://okapies.hateblo.jp/entry/2015/12/07/022915
関数型プログラミング (functional programming) の利点を説く際によく持ち出されるのが、
QuickCheck の開発者の一人である John Hughes が 1984 年に著した論文
"Why Functional Programming Matters" だ。「なぜ関数プログラミングは重要か」という
題名で日本語訳もされているので、読んだことがある人も多いと思う。
関数型プログラミングの「利点」:
関数型プログラムには副作用(≒代入文)がないのでバグが減らせる
参照透明なので実行順序を気にしなくてよく、式をどの時点で評価してもよいのでプログラムをより数学的に扱える
せめて勉強はしよう。言い返すのはそれからだ
http://okapies.hateblo.jp/entry/2015/12/07/022915
関数型プログラミング (functional programming) の利点を説く際によく持ち出されるのが、
QuickCheck の開発者の一人である John Hughes が 1984 年に著した論文
"Why Functional Programming Matters" だ。「なぜ関数プログラミングは重要か」という
題名で日本語訳もされているので、読んだことがある人も多いと思う。
関数型プログラミングの「利点」:
関数型プログラムには副作用(≒代入文)がないのでバグが減らせる
参照透明なので実行順序を気にしなくてよく、式をどの時点で評価してもよいのでプログラムをより数学的に扱える
> 関数型プログラムには副作用(≒代入文)がないのでバグが減らせる
って書いてあるのになw
って書いてあるのになw
副作用(≒代入文)とやらがバグを生み出す原理を書いてない時点でダメ
比較的よく見るfor文のコーディングミス
for (var i = 0; i < 5; ++i) {
document.getElementById('hoge' + i).addEventListener('click', function () { console.log(i); }, false);
}
でも、これは設計の問題だよなあ
5つも新しい関数オブジェクトを生成するのが全く無駄だし、一つだけハンドラ関数を作ってhandleEventでiを渡せば済む話
for-letでも解決するが、ここで使うものでもないし
for (var i = 0; i < 5; ++i) {
document.getElementById('hoge' + i).addEventListener('click', function () { console.log(i); }, false);
}
でも、これは設計の問題だよなあ
5つも新しい関数オブジェクトを生成するのが全く無駄だし、一つだけハンドラ関数を作ってhandleEventでiを渡せば済む話
for-letでも解決するが、ここで使うものでもないし
> for文のコーディングミス
それはるfor文のコーディングミスではない。
クロージャーのコーディングミスだ。
それはるfor文のコーディングミスではない。
クロージャーのコーディングミスだ。
for文には問題ないから、for文の所を全く書き換えなくて直すことも出来る。
for (var i = 0; i < 5; ++i) {
(function(i) {
document.getElementById('hoge' + i).addEventListener('click', function () { console.log(i); }, false);
})(i);
}
for (var i = 0; i < 5; ++i) {
(function(i) {
document.getElementById('hoge' + i).addEventListener('click', function () { console.log(i); }, false);
})(i);
}
>>747
お前が言いたいことを、jQueryで(冗長に)書くと
こういうことだろう?
function onclick(event){
console.log(event.data.i);
}
for (var i = 0; i < 5; ++i) {
$('#hoge' + i).on('click', {i: i}, onclick);
}
お前が言いたいことを、jQueryで(冗長に)書くと
こういうことだろう?
function onclick(event){
console.log(event.data.i);
}
for (var i = 0; i < 5; ++i) {
$('#hoge' + i).on('click', {i: i}, onclick);
}
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript & jQuery 質問用スレッド vol.8 + (1001) - [98%] - 2019/2/9 14:00
- + JavaScript & jQuery 質問用スレッド vol.7 + (701) - [98%] - 2022/12/19 17:15
- + JavaScript & jQuery 質問用スレッド vol.7 + (993) - [98%] - 2017/11/10 8:15
- + JavaScript & jQuery 質問用スレッド vol.6 + (980) - [98%] - 2016/11/20 14:31
- + JavaScript の質問用スレッド vol.95 + (1001) - [72%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.75 + (1001) - [72%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.85 + (1001) - [72%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.135 + (1002) - [70%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [70%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.125 + (1001) - [70%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [70%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.93 + (1001) - [70%] - 2011/12/10 18:31
トップメニューへ / →のくす牧場書庫について