+ JavaScript の質問用スレッド vol.121 + at HP
[2ch|▼Menu]
[前50を表示]
400:Name_Not_Found
14/12/04 00:22:45.66 .net
別に会話中にJavaScriptをJSなんて言わないよ

401:Name_Not_Found
14/12/04 03:04:54.51 .net
「はじめてのC」

402:Name_Not_Found
14/12/04 12:20:38.02 .net
Backbone.jsのViewで、classNameやidというプロパティは
スカラー値にすることも関数にすることも出来、
関数だった場合は返り値を設定したことになるそうですが
これナイスな方法ですね?

403:Name_Not_Found
14/12/04 21:07:51.79 .net
>>396
はい。ナイスな方法でよく使われます。
よく使われるので、汎用JavaScriptライブラリのlodashは
まさにそのための関数_.resultを用意しています。

URLリンク(lodash.com)

var object = {
'cheese': 'crumpets',
'stuff': function() {
return 'nonsense';
}
};

_.result(object, 'cheese');
// → 'crumpets'

_.result(object, 'stuff');
// → 'nonsense'

404:Name_Not_Found
14/12/04 23:36:21.48 .net
ほお
lodash使ってたのに知りませんでした
ありがとうございます

405:Name_Not_Found
14/12/04 23:42:39.22 .net
lodashはいい加減3.0をリリースして欲しい所。
全体のどれくらい終わったんだろうか。

406:Name_Not_Found
14/12/06 01:01:43.93 .net
qiitaに投稿した記事がやたらアクセス数が多い(3500超えた)と思ったら、
「Javascript 〜 〜」って検索すると一番上にqiitaに投稿した記事が来た
ストック6しかないのにな、業務とかでググってる人が多いのだろうか?

407:Name_Not_Found
14/12/06 02:28:32.81 .net
>>400
これか
URLリンク(qiita.com)
どこかのコミュニティで拡散されてるんじゃない?

408:Name_Not_Found
14/12/06 04:36:52.79 .net
backboneはドキュメントサイトが見にくいな
左フレームの幅が固定なのがアカン

409:400
14/12/06 08:36:37.42 .net
>>401
違います。特定されたかと思って焦ったじゃないか。

410:Name_Not_Found
14/12/06 10:14:53.95 .net
>>400-401
自作自演で宣伝ご苦労様でした

411:Name_Not_Found
14/12/07 17:11:41.77 .net
何qiitaって?お金になるの?

412:Name_Not_Found
14/12/08 03:24:15.57 .net
backbone.jsでset時にvalidateした場合、invalidな値がセットされることはありませんが
そうでない場合はsave時にvalidateされるので
invalidな値が属性に入ってくることになりますよね?
そうなるとinvalidな値を元にrenderすることになると思います
そうすると対応が面倒なので、バリデートはset時にするのが当たり前なのでしょうか?

413:Name_Not_Found
14/12/09 03:12:45.73 .net
テンプレートはHTMLにtext/templateとして書く方がいいのでしょうか?
そうなるとテンプレートの断片がHTMLの中に並ぶわけで、
それならJavaScriptファイル中に書くのと分かりやすさ大差なくね?
いやむしろJavaScriptファイル中に書いた方が分かりやすくね?
って思います。
HTML自体がテンプレートのようなものなので、
テンプレートの中にテンプレートの断片を入れているような気持ち悪さがあるのです

414:Name_Not_Found
14/12/09 03:52:40.21 .net
ドットインストールのbackbone.jsのレッスン見終わりました
やはり本を読んだりするより映像で学ぶのが一番効率いいと思います
もう少し詳しい学習をしたいのですが、そういうムービーどこかにないですか?

415:Name_Not_Found
14/12/09 07:30:50.53 .net
>>408の件ですが
英語の動画は沢山あるのですが日本語のものはないようですね
スライドを見ればある程度は何してるのか分かりますが
それなら最初からスライドを探した方がいいかもしれません

416:Name_Not_Found
14/12/09 22:09:50.18 .net
>>405
qiitaへの投稿のメリット
・自分の投稿した記事の内容を自画自賛して「オレすごすぎwww」ってなれる
・ググルト自分の記事がヒットするからいい感じになる。
・hddがあぼーんしてもqiitaに投稿した内容は消えない

qiitaのダメなとこはgood、badタグがないことだな。

JavaScriptでかっこよくthisを回避する
URLリンク(qiita.com)

↑例えば、どこがかっこよくthis回避なのか不明な記事とかにbadを押したく
なるときにできないのが難点

417:Name_Not_Found
14/12/10 06:42:57.68 .net
JavaScriptを独学で勉強しようと思うのですが、一番初めに見るおすすめの参考書はどれでしょうか?

418:Name_Not_Found
14/12/10 06:44:56.92 .net
observerパターンについてですが
ハンドラを解除しないままobserverの方を削除してしまったら
ハンドラが残り続けてメモリリークになるんじゃないかと思うのですが、
大丈夫なのでしょうか?
observerのデストラクタで解除するようにすればいいと思いますが
JavaScriptではデストラクタがないので、そういう方法は取れないと思います

419:Name_Not_Found
14/12/10 06:49:31.08 .net
>>411
中級者以上ならオライリーのJavaScriptがいいと思うけど
初心者向けとなると逆に何がいいか分からないな

420:Name_Not_Found
14/12/10 08:38:36.00 .net
qiitaにたまに芸能人の画像貼り付けてる奴がいるから通報してる

421:Name_Not_Found
14/12/10 11:42:29.48 .net
>>411
My UNIXシリーズの奴は解りやすかった。

422:Name_Not_Found
14/12/10 18:44:48.11 .net
backbone.jsのために
サーバ側から送るJSONのフォーマットが良く分かりません
ドキュメントにもそれらしき項目がないようですし
ガイドブックにも何故か見当たりません
どこ見たらいいですか?

423:Name_Not_Found
14/12/11 12:51:44.73 .net
>>416の件ですが、
ごく当たり前に記述する、で正解でした
fetchした直後にcollectionをlogしたら、lengthが0だったので、
JSONの記述の仕方を間違っているのかと思ったのですが
非同期で読まれるのでfetch実行直後にはまだ値が入ってないんですね

424:Name_Not_Found
14/12/11 16:14:00.90 .net
backbone.jsで、モデルを新規作成してsaveした時、
サーバサイドで割り振ったidをクライアントに反映すると思うのですが
どうやるのか良く分かりません
POSTのレスポンスとしてidを返すんでしょうか・・?

425:Name_Not_Found
14/12/11 22:10:22.43 .net
<div>
<div></div><div>★</div>..
</div>

★のところから自分のノードが親に対して1だという
ことはどうすればわかりますか?

426:Name_Not_Found
14/12/11 22:41:22.36 .net
★の2に対する子から親が1かどうかをしらべる

427:Name_Not_Found
14/12/11 23:23:09.04 .net
>>418の件ですが
普通に
{"id":100}
みたいなJSONを返せばいいだけでした
JSの癖で、キー名を""で囲まなかったのでエラーになってました

428:Name_Not_Found
14/12/12 00:50:56.80 .net
JSONライブラリ使えよ

429:Name_Not_Found
14/12/12 04:48:04.07 .net
面倒なので手書きしてました

430:Name_Not_Found
14/12/12 05:03:45.42 .net
手書きというのはライブラリを、ではJSONをという意味です
まだやり方をテストしてる段階なので

431:Name_Not_Found
14/12/12 18:52:01.28 .net
backboneを使うため、
lodashをunderscore buildにしたら
assignが使えなくなりました
ソースを見るとextendというエイリアスは生きているようです
別にバッティングするわけでもないのだから
assignを生かしておいても問題ないと思うのですが
なぜassignをなくしたのだと思いますか?

432:Name_Not_Found
14/12/12 19:39:02.71 .net
URLリンク(stackoverflow.com)

ここを見るとbackbone.jsに普通のlodashを使ってもほぼ問題ないようですね

433:Name_Not_Found
14/12/13 00:56:04.61 .net
質問です。
<dl>
<dt>dt 1
<dd>dd 1
<dl>
<dt>dt 1-1
<dd>dd 1-1
</dl>
<dt>dt 2
<dd>dd 2
</dl>
一番外の dl 直下の dt のみを取得したいと思います。つまり、「dt 1」と「dt 2」を取得したいです。
しかし以下のコードで取得しようとすると、「dt 1-1」まで取得してしまいます。当たり前と言えば当たり前ですが。
elm.querySelectorAll("dt"); //(elmは一番外のdl要素です)
もちろん、取得した後にフィルターを掛ければいい話ですが、あまりスマートではありません。
querySelectorAll()で一発で「dt 1」と「dt 2」を取得する方法はありますか?

434:Name_Not_Found
14/12/13 10:12:46.95 .net
childNodes[childNodes.length-1]

435:Name_Not_Found
14/12/13 10:48:32.28 .net
>>427
dl直下のdtというのなら、dl > dtでいいんじゃないの?
querySelectorAllがどこまで対応しているかしらないけど、
ブラウザによって動きは違うかもね。

こういう場合はjQueryを使ったら、古いブラウザ含めて対応できるよ。

436:Name_Not_Found
14/12/13 11:39:08.98 .net
>>429
dt 1-1もdlの直下なのでダメだね
最上位のdlが特定できればいいんだけど
idとかついてないの?

437:名無しさん@そうだ選挙に行こう
14/12/13 17:58:14.07 .net
>>429
ありがとうございます。
確かにjQueryでしたら簡単に実装できますね。ライブラリの使用も視野に入れてみます。

>>430
ループ処理しているので、唯一に特定できるidなどは何もついていません…。
elmに代入されているということだけが唯一の情報です。
やはりフィルター処理しかないでしょうか。

438:名無しさん@そうだ選挙に行こう
14/12/14 09:07:12.58 .net
querySelectorAllの前後でidの付け外しをするとか
(上書きのことを考えるとclassの方がいいか)

でもまあフィルタがいいと思うけど
jQueryにするんなら.filter() で結構簡単に書ける

439:名無しさん@そうだ選挙に行こう
14/12/14 16:24:43.80 .net
backbone.jsでは、イベントハンドラはviewに付けますが
モデルと関係ないようなイベントハンドラはどこで付ければいいんでしょう?
たとえば画面全体に対するmousemoveなど。
イベントハンドラを付けるために画面全体用のviewも作るんでしょうか?
それもなんか無駄な感じがします

440:名無しさん@そうだ選挙に行こう
14/12/14 18:22:46.55 .net
普通のMVCとかだとレイアウトやヘルパー、パーシャルなオブジェクトってのがあるんだから
(ってもCakeしかやった事ねーけどw)そーいう差し込み可能なユーティリティーってのが
backbone.jsにもあるんじゃね?知らんけどw
知らんからこれ以上はひっこむわw

441:名無しさん@そうだ選挙に行こう
14/12/14 18:35:26.65 .net
backbone.jsに同梱しているサンプルアプリを見ると
全体を包含するDOM要素をAppViewとして
var App = new AppView;
でアプリケーション自体を起動する感じでした

442:名無しさん@そうだ選挙に行こう
14/12/14 18:51:32.90 .net
じゃあそれ拡張してアタッチすりゃあいいのかな?
あ、出てきちゃったw

443:名無しさん@そうだ選挙に行こう
14/12/14 18:53:32.81 .net
ですね
サーバサイドMVCのコントローラっぽい感じです

444:Name_Not_Found
14/12/15 15:12:50.28 .net
backbone.jsのviewにeventsでイベントを設定する時
セレクタにwindowを設定することは出来ないのでしょうか?
出来ないとすると、eventsで設定したり、自前で設定したりして美しくないですよね
eventsの設計ミスとしか思えませんがどうなのでしょうか

445:Name_Not_Found
14/12/15 15:14:29.61 .net
セレクタにwindowを設定するという
設計がミスなんだろ。

446:Name_Not_Found
14/12/15 15:23:25.27 .net
実際にwindowにイベントハンドラをセットする必要があるので設計ミスではありませんが?
でもevents=viewが所有するDOMに付けるイベントを管理するもの、
と考えたら別にアグリーでもないかもしれません
ありがとうございました

447:Name_Not_Found
14/12/17 09:48:29.86 .net
backbone.jsにはコントローラがないので
それだとviewがやたらでかくなるのでは?
それともコントローラ的な部分は自前で用意するのか?
と悩んでいたのですがコントローラなどを用意したマリオネットっていうやつがあるようです
プレーンなbackboneではなくmarionnetteの方を使うのが今の感じなんですかね?

448:Name_Not_Found
14/12/17 11:26:57.98 .net
振分けられる処理は極力ModelやCollectionに振分けましょうって
思想みたいだけどようワカランね。
Routerは大した仕事はしなさそうだし。

サーバーサイドのMVCモデルのように間に何かが入る必要があるか?
を考えてみた方がよいのかも。

449:Name_Not_Found
14/12/17 12:48:17.23 .net
やっぱコントローラーとしての役割はRouterぐらいしか見当たらないな

サーバーMVCのView間の遷移なんてものが無いから出番もそんなに無いって事なのかも

450:Name_Not_Found
14/12/17 13:24:46.31 .net
質問です。Unix系のファイルで正規表現を書くときに
バックスラッシュを使いますが、これはWindowsで読む
とエラーになりますよね。あちらは\らしいですが、
どう回避してるのでしょうか?

451:Name_Not_Found
14/12/17 13:32:03.87 .net
なりませんよ

452:Name_Not_Found
14/12/17 15:14:30.78 .net
ファイル名じゃないから関係ないね

453:Name_Not_Found
14/12/18 18:43:47.24 ChiIDXGI.net
チェックボックスのラベルを変更するにはどうすればよいでしょうか?
jQueryは使わずにおこないたいです。

<input type="checkbox" id="chk1" name="chk" value="1">
<label for="chk1">aaa</label>

のaaaをbbbに変えたいのですが
document.getElementById("chk1").innerText="bbb";ではダメなようで。

454:Name_Not_Found
14/12/18 20:34:00.69 .net
ラベルにidフルか、nextsibiling

455:Name_Not_Found
14/12/18 21:26:37.86 .net
ちなみにinnerTextはFirefoxで使えないから注意ネ

456:Name_Not_Found
14/12/18 21:45:12.50 .net
標準の textContent や data 属性を差し置いて
やたら innerText を見かけるけど何でなん?

457:Name_Not_Found
14/12/18 22:01:58.41 .net
ヒント:企業グラマー&ユーザー

458:Name_Not_Found
14/12/18 23:08:48.81 .net
>>450
IEのサポートが9からだから。

IE8のサポート期間が2016年1月12日だから
あと1年は対応が必須。

その期間を過ぎたらすぐにIE8のサポートをうちきって
いいのか?って話はあるが。

459:Name_Not_Found
14/12/18 23:32:11.70 xIB+P02h.net
jQuery 2.1.2リリース!
URLリンク(github.com)

460:Name_Not_Found
14/12/19 07:33:09.51 .net
SHIFT+ENTERのキーコードが13でENTERになっているのですが
SHIFT押しながらENTERおしたときと
単にENTERを押した時の区別って出来ますか?

461:Name_Not_Found
14/12/19 09:18:33.62 +jAv/pOh.net
>>448
>>449
ありがとうございます。
idをふったらできました。

document.getElementById("chk1").nextSibling.textContent = "bbb";
のほうは、aaa → bbbaaa になってしまいました・・・
使い方が違うんでしょうね ^^;

462:Name_Not_Found
14/12/19 10:45:26.13 .net
innerTextとtextContentは若干挙動が違うらしい
支障が無ければinnerHTMLを使ったほうが良いらしい

463:Name_Not_Found
14/12/19 10:48:09.53 .net
>>454
引数を渡すようにすればその中に入ってるはずだ

URLリンク(so-zou.jp)

464:Name_Not_Found
14/12/19 11:13:03.94 .net
>>457
そのようなプロパティがあったのですね
動作も確認いたしました
どうもありがとうございます

465:Name_Not_Found
14/12/19 11:44:55.50 .net
>>455
まだいるか分からないけど訂正すると
.nextSibling.textContent = "bbb"; で 「bbbaaa」 になるのは、<input>と<label>の間を改行しているせいで 改行だけのテキストノードが存在から。

つまり、<input>と<label>の間を改行しなければ .nextSibling.textContent = "bbb"; で可能
例1:<input type="checkbox" id="chk1" name="chk" value="1"><label for="chk1">aaa</label>
例2:<input type="checkbox" id="chk1" name="chk" value="1"
><label for="chk1">aaa</label>

または、HTMLを変えずに、nextElementSibling.textContent = "bbb"; でもおk

466:Name_Not_Found
14/12/19 13:00:46.02 +jAv/pOh.net
>>456
>>459
ありがとうございます。
勉強になります。

467:Name_Not_Found
14/12/22 21:51:12.61 r9xSRLJj.net
Google Maps API V3を使ってカスタマイズしています。

テキストフォーム一つに検索ボタンです。
改行、Enterキーを押して実行できるようにしたいです。

form onsubmit="script()"
input type=text
input type=submit

これだと検索できません。

form
input type=text
input type=button onclick=script()
だとボタンクリックで検索ができますが、Enterキーでは検索できません。

どうしたら良いのでしょうか?

468:Name_Not_Found
14/12/22 22:15:17.26 .net
>>461
form onsubmit="script();event.preventDefault()"
input type=text
input type=submit
で、どうだ

469:461
14/12/22 22:27:49.48 .net
>>462
ありがとう!できました。

470:Name_Not_Found
14/12/28 19:09:58.56 .net
var a = new Array1();
a[3].x = 1;
a[7].y = 2;
上のようにできる、プロパティの付いた配列のクラスらしきものを実現したいのですが
どのようにすればできるでしょうか?
変数のプロパティだけでいいなら
var foo = new Foo();
function Foo()
{
this.x = null;
this.y = null;
}
みたいな感じにはなると思うのですが・・・

471:Name_Not_Found
14/12/28 22:42:49.38 .net
>>464
配列の初期長を決めて、あらかじめインスタンスを必要個数分だけ作っておくのはどう?
function Foo(){
this.x = null; this.y = null;
}
function Array1(len){
for(var i=0;i<len;i++) this[i] = new Foo();
}
var a = new Array1(8); //[0]~[7]のFooのインスタンス配列
a[3].x = 1;
a[7].y = 2;

472:464
14/12/28 22:54:22.94 .net
>>465
システムの構成上配列が結構大きく、配列の長さが場合によって結構変化するので
初期に作る方法以外のものがもしあれば、と思ったのですが
やっぱり現実的にはそうなってしまうのでしょうかね・・・

473:Name_Not_Found
14/12/29 00:12:26.93 .net
>>466
なるほど、配列の長さが変化するのなら、>>465はオススメできないね

その条件なら、毎回正直にインスタンスを作るのが普通だろうなあ
function Foo(){
this.x = null; this.y = null;
}
var a = new Array(); //ただの配列
if(!(3 in a)) a[3] = new Foo();
a[3].x = 1;
if(!(7 in a)) a[7] = new Foo();
a[7].y = 2;
この処理は面倒だから関数化するといいかも

あるいは、配列でなくていいなら一次元的に格納するか
var a = new Object(); //ただのオブジェクト
a["3x"] = 1;
a["7y"] = 2;

あるいは、Firefox限定で構わないなら、Proxyを使うという方法もある

474:464
14/12/29 11:06:39.64 .net
>>467
inとかよく分かってないのでちょっとまた調べてみます。
ご丁寧に色々な案を提示して下さってありがとうございました。

475:Name_Not_Found
14/12/29 12:13:37.73 .net
>>466
疑似配列の長さ(length)の得たいなら Object.defineProperty で出来ると思う

>>468
この場合は Object#hasOwnProperty がいいかな

476:464
15/01/02 10:45:11.06 .net
>>469すみません気付いていませんでした
ただ、まだ疑似配列作っていろいろするほどの力も時間も今はなさそうなので
とりあえず初期に作成する方法でやってみます
一段落したら挙げてもらったものを調べてみようと思います
ありがとうございました。

477:Name_Not_Found
15/01/05 00:09:08.26 vo7XD6Y+.net
10進数の連番IDをhash化したいと思い調べていたところ、
下記の関数を見つけました。
この関数は衝突なく安全に利用できますか?
理解できる方は、各処理の解説もして頂ければ助かります。。。


var shuffleTable = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61];

var create62Hash = function(id, shuffleTable) {
var asciiTable = [65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57];
var hashTable = new Array();
var i = 0;
do {
hashTable[i] = String.fromCharCode(asciiTable[shuffleTable[(Math.floor(id / Math.pow(62, i)) + i) % 62]]);
i = hashTable.length;
} while(Math.pow(62, i) <= id)
return hashTable.join("");
}

478:Name_Not_Found
15/01/05 00:15:33.79 .net
引用するなら引用元のページも欠くのが最低限コードを書いた人への礼儀だぞ

479:Name_Not_Found
15/01/05 00:35:44.49 .net
>>471
ハッシュ化したいならその関数は使えません。
なぜならハッシュ化してないからです。

480:Name_Not_Found
15/01/05 00:40:43.91 .net
>>471
ただの10進数⇒62進数変換

481:Name_Not_Found
15/01/05 00:43:52.51 .net
しかも無駄な処理をしていてさらに言えば遅い

482:Name_Not_Found
15/01/05 00:44:07.18 .net
473
お前はまずハッシュの定義について勉強しなおしてこい

483:Name_Not_Found
15/01/05 00:46:17.29 .net
暗号学的なhashもあれば、単にデータを区別する値もhashと言うよな

484:Name_Not_Found
15/01/05 00:51:58.29 .net
何の目的に使うのか知らんが、それを読む限り、10進数を62進数にしているように見える。
若干並びを入れ替えているみたいだが。
単純すぎてパスワード保存用とかには使えないぞ。
ちゃんとしたハッシュアルゴリズムを実装すべきだと思うが。

485:Name_Not_Found
15/01/05 00:58:36.82 .net
10進数⇒62進数変換ではなかったな。
62進数に近い何かをやってる

486:Name_Not_Found
15/01/05 01:10:24.46 .net
>>476
これでいーですかー?w
URLリンク(e-words.jp)

> 元になるデータから一定の計算手順により求められた、【規則性のない固定長の値。】
> その性質から暗号や認証、データ構造などに応用されている。ハッシュ値を求めるための
> 計算手順のことをハッシュ関数、要約関数、メッセージダイジェスト関数などという。
>
> 【ハッシュ値は元のデータの長さによらず一定の長さとなっており】、同じデータからは必ず同じハッシュ値が得られる一方、
> 【少しでも異なるデータからはまったく異なるハッシュ値が得られる。】
> 【不可逆で情報量の欠損を含む計算過程を経るため、ハッシュ値から元のデータを復元することはできない。】
>
> また、【元のデータよりハッシュ値の方が短い場合(実用上はほとんどの場合が該当する)】、
> 複数の異なるデータから同じハッシュ値が生成される(ハッシュ値の衝突)ことになるが、
> あるデータとそのハッシュ値から、【同じハッシュ値を持つ別のデータを効率よく探索することはできない。】

よってハッシュではありません。

反論あるならどうぞ?

487:Name_Not_Found
15/01/05 01:10:26.64 .net
これは最小完全ハッシュ関数だな
shuffleTableをその名の通りシャッフルすれば、shuffleTable毎に一意性のある値が算出されるんじゃね
ただ、確証は無い。衝突の有無は知らん

488:Name_Not_Found
15/01/05 01:15:21.48 .net
ちなみに整数を文字列にしているので、
元のデータ量よりもハッシュ値(と称する別のもの)
の方が多くなっている。

489:Name_Not_Found
15/01/05 01:18:55.95 .net
>>480
wikipediaくらい見てくれば?反論できないのは君の方と気付くよ

490:Name_Not_Found
15/01/05 01:24:44.17 .net
Wikipediaの最小完全ハッシュ関数例を見てもわかるように
最小完全ハッシュ関数は、John Smith -> 1, Lisa Smith -> 0, Sam Doe -> 3, Sandra Dee -> 2
という風に、データが小さくなっているからハッシュなんですよ?

ただの進数変換もどきは逆にデータ量が大きくなっていて
なんのためにあるのかさっぱりわかりませんw

491:Name_Not_Found
15/01/05 01:28:02.56 .net
>>484
その結果はただの例だろ
自分で自分の低脳さをさらけ出してるぞ

492:Name_Not_Found
15/01/05 01:30:52.15 .net
なお、create62Hash(0,shuffleTable)がA
なお、create62Hash(1,shuffleTable)がB
なお、create62Hash(2,shuffleTable)がC
とハッシュにありまじき予測可能な順番で並んでいるのは
進数変換だからいいとして

create62Hash(61,shuffleTable)が9
create62Hash(62,shuffleTable)がAC

となっており、AAじゃない所を見ると
バグってますねこれ。

493:Name_Not_Found
15/01/05 01:32:05.41 .net
>>485
反論しろよw

例が示すものは、俺が言っているとおりだと認めてるのに、
なんで俺が低能になってるんだよw

494:Name_Not_Found
15/01/05 01:33:40.74 .net
shuffleTableを変更すればランダムになるというのは
間違いです。

0〜9、A-Z、a-zの文字がそれぞれ置き換わるだけで、
順番はランダムになっていません。

これもハッシュではないことの根拠の一つです。

495:Name_Not_Found
15/01/05 01:36:31.86 .net
大元はこれ、
URLリンク(workline.xii.jp)
> やってることは進数変換と一緒で、62進で1ケタずつ値を見て、
> それをchr()で対応する文字に変換しています。

やってることは進数変換と一緒と書いてあるとおり
名前がおかしいだけの話です。

やってることが進数変換なら
進数変換(+文字単純置換)です

496:Name_Not_Found
15/01/05 01:39:28.25 .net
>>487
だからお前は理解できてないって言ってるだろ
馬鹿に間違いを指摘してるわけ
けど、馬鹿にわざわざ解説して教える気はない

497:Name_Not_Found
15/01/05 01:43:05.41 .net
結局、何も言い返せていない(笑)

498:Name_Not_Found
15/01/05 01:48:02.17 .net
wikipediaより
>あるデータが与えられた場合にそのデータを代表する数値を得る操作、
>または、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことを要約値やハッシュ値または単にハッシュという。

と定義されてる
つまり、データとハッシュ値が結びつくなら固定長である必要も、元の文字より大きくなっても問題ない
単なる進数変換でも広い意味でハッシュと言える

499:Name_Not_Found
15/01/05 01:50:50.07 .net
>>492
完全論破ワロタ
このスレにはwikipediaの最初の文も読めない奴がいるのか・・・

500:Name_Not_Found
15/01/05 01:51:48.96 .net
> あるデータが与えられた場合にそのデータを代表する【数値を】

数値ではないのでハッシュ変換ではありません

501:Name_Not_Found
15/01/05 01:52:28.71 .net
>>492-493
バレバレな自作自演をみたw

502:Name_Not_Found
15/01/05 01:53:07.88 .net
>


503:>494 >>471 の関数は数字を出して、それを文字に置き換えてるでしょ そんな事もわかってないの?



504:Name_Not_Found
15/01/05 01:56:18.97 .net
>>496
数字じゃなくて数値な。
数字というのは数の並び。そこに大小の順番はない。
数値というのは、大小の順番があるもの
違いぐらいわかろうぜ。

505:Name_Not_Found
15/01/05 01:57:05.53 .net
>>497
じゃあ訂正する、数値ね
それで、反論は?

506:Name_Not_Found
15/01/05 02:04:25.06 .net
create62Hashは入力された引数の数値を
何の処理もせずに、単純に文字列に進数変換しているので
ハッシュ処理としては何もしていません。

507:Name_Not_Found
15/01/05 02:10:35.34 .net
499
定義の範囲内でハッシュと呼べるけど?
反論出来てない
間違いを認められないと本当の馬鹿だぞ

508:Name_Not_Found
15/01/05 02:11:47.11 .net
お前の出してきた定義はことごとく論破してやったが?

もう根拠残ってねーだろ。

反論しないならレスしなくていいんだよ?

509:Name_Not_Found
15/01/05 02:12:24.33 .net
>>499
定義の範囲内ではハッシュです
はい、論破

510:Name_Not_Found
15/01/05 02:14:36.12 .net
>>501
お前だけ誤りを叫んでる事にまだ気付いてないの?

511:Name_Not_Found
15/01/05 02:17:24.55 .net
反論しないならレスしなくていいんだよ?

って何回言わせるんだw

512:Name_Not_Found
15/01/05 02:18:14.45 .net
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ

何回言えばわかるニダか?

定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ


嘘を何回行っても真実にはなりません。

513:Name_Not_Found
15/01/05 02:18:49.68 .net
499 Name_Not_Found sage New! 2015/01/05(月) 02:04:25.06 ID:???
create62Hashは入力された引数の数値を
何の処理もせずに、単純に文字列に進数変換しているので
ハッシュ処理としては何もしていません。



ハッシュと呼べます、以上
何か言いたい事ある?

514:Name_Not_Found
15/01/05 02:19:15.92 .net
> ハッシュ関数 (ハッシュかんすう、hash function) あるいは要約関数とは、
> あるデータが与えられた場合にそのデータを代表する数値を得る操作、
> または、その様な数値を得るための関数のこと。

どこにも進数変換がハッシュだとは書いてないが?

515:Name_Not_Found
15/01/05 02:20:30.36 .net
>>506
何も処理してないなら、ハッシュじゃないのでは?
ハッシュの根拠は何よ?

516:Name_Not_Found
15/01/05 02:21:13.66 .net
>>507
2行目
文盲か?

517:Name_Not_Found
15/01/05 02:22:25.54 .net
>>509
なら数値を得ていないから
ハッシュではないですね。

518:Name_Not_Found
15/01/05 02:23:03.95 .net
どう見てもデータをに対する数値は得てるよな
理解してないうえに
顔真っ赤にして必死だな

519:Name_Not_Found
15/01/05 02:23:19.66 .net
悔しかったら、Wikipedia改ざんしてこいよw
数値を数字に全置換するだけで満足できるだろ?w

520:Name_Not_Found
15/01/05 02:23:35.37 .net
はい、逃げた

521:Name_Not_Found
15/01/05 02:24:13.84 .net
>>511
> どう見てもデータをに対する数値は得てるよな

どこに計算によって数値は出てきてないですね。
ただ入力された数値を文字に変換しているだけです。

522:Name_Not_Found
15/01/05 02:25:45.91 .net
そもそも入力データが数値しか受け付けない時点で
ハッシュじゃないわなw

その数値も整数値しか扱えないという
(数値の最大値を超えるとバグる)

523:Name_Not_Found
15/01/05 02:25:52.21 .net
>悔しかったら、Wikipedia改ざんしてこいよw

ねぇ、反論は?

524:Name_Not_Found
15/01/05 02:26:59.58 .net
>>515
え? 普通ハッシュって言ったら
文字や任意のバイナリを数値に計算するものでしょう?
ファイル入力できないんですか?
そんなもの使いものにならないでしょ。

525:Name_Not_Found
15/01/05 02:27:25.11 .net
あるデータとはすべてのデータという意味ではありません
日本語も理解できないのかな?

526:Name_Not_Found
15/01/05 02:27:53.16 .net
>>516
反論はしません。

だって数値を算出していないから
ハッシュじゃないもの。

はい論破w

527:Name_Not_Found
15/01/05 02:28:43.02 .net
まあどう見てもハッシュじゃないよなw

528:Name_Not_Found
15/01/05 02:29:33.40 VxoaMy9m.net
ただの基数変換をハッシュ計算だと
言い張っているアホが居るスレはここですか?

529:Name_Not_Found
15/01/05 02:29:37.19 .net
こんな簡単なコードすら読めないのか・・・
テーブルのキーが数値で、その数値を文字にしてるのにね

530:Name_Not_Found
15/01/05 02:30:06.89 .net
おやおや、こんな深夜にw
明日仕事じゃないの?
ニートは羨ましいですなw

531:Name_Not_Found
15/01/05 02:30:38.42 .net
523 Name_Not_Found sage New! 2015/01/05(月) 02:30:06.89 ID:???
おやおや、こんな深夜にw
明日仕事じゃないの?
ニートは羨ましいですなw


自己紹介かな?

532:Name_Not_Found
15/01/05 02:30:44.17 .net
こんな簡単なコードすら読めないのか・・・
テーブルのキーが数値で、その数値を文字にしてるだけで
ただの置換でハッシュ計算は何もしてないのに

533:Name_Not_Found
15/01/05 02:31:25.29 .net
ニートだからハッシュというものを理解できないのか
ハッシュを理解できないからニートなのか。
まあどっちでもいいやw

534:Name_Not_Found
15/01/05 02:32:05.47 .net
>>521
ここです

535:Name_Not_Found
15/01/05 02:32:48.08 .net
>>525
その数値は同じ結果が生まれます
どう見てもハッシュです

536:Name_Not_Found
15/01/05 02:33:02.67 .net
ここまで必死なのは、あの関数の作者かいな?w
ハッシュ関数ではないと言われたのが
よっぽどショックだったのか?

537:Name_Not_Found
15/01/05 02:33:38.18 .net
>>528
ハッシュの定義に当てはまっていない。

反論は?

538:Name_Not_Found
15/01/05 02:33:51.72 .net
つまり、定義にあるデータに対する数値を得られてるわけ
わかるかな?ん?

539:Name_Not_Found
15/01/05 02:34:58.69 .net
データに対する数値を得られている?

じゃあ例えば65を入力したときの
数値はなんですか?

答えるのは簡単でしょう?

数値で答えてください。

540:Name_Not_Found
15/01/05 02:35:38.13 .net
>>530
当てはまってるね

お前さっきから間違った反論しかしてないぞ

541:Name_Not_Found
15/01/05 02:36:13.43 .net
>>532
それ、とどめだろw

ぜってー答えらんないってw

542:Name_Not_Found
15/01/05 02:37:03.68 .net
>>532
このレスでお前がコードを理解していないことがよくわかった

543:Name_Not_Found
15/01/05 02:37:31.09 .net
少し質問が曖昧だったかな?

データに対する数値を得られている?

じゃあ例えば65というデータを入力したときに
得られる数値はなんですか?

答えるのは簡単でしょう?

数値で答えてください。

544:Name_Not_Found
15/01/05 02:40:19.75 .net
>>536
スクリプト出てるのにそんな事もわからないの?
馬鹿すぎる

545:Name_Not_Found
15/01/05 02:41:10.02 .net
例えば、Wikipediaの例から

John Smith -> 1
Lisa Smith -> 0
Sam Doe -> 3
Sandra Dee -> 2

というようにハッシュであるならばデータに対する数値を得られているわけさ

> ハッシュ関数 (ハッシュかんすう、hash function) あるいは要約関数とは、
> あるデータが与えられた場合にそのデータを代表する数値を得る操作

なのだから、数値を得られるわけだね。

それでcreate62Hash によって
65というデータを入力したときに
得られる数値はなんですか?

546:Name_Not_Found
15/01/05 02:42:15.04 .net
>>537
分かった! 数値は得られなかった!
これが答えなんだから仕方ない。
認めるしかないな。ハッシュではないと。

547:Name_Not_Found
15/01/05 02:42:52.23 .net
>>538
ただの例にしがみついて必死だな
さっきからお前の反論は間違ってばかり

548:Name_Not_Found
15/01/05 02:43:16.89 .net
>>540
いいから、数値を答えろよ(笑)

549:Name_Not_Found
15/01/05 02:43:59.08 .net
>>541

>>539
> >>537
> 分かった! 数値は得られなかった!
> これが答えなんだから仕方ない。
> 認めるしかないな。ハッシュではないと。

550:Name_Not_Found
15/01/05 02:45:18.87 .net
横ヤリだが、65の数値は65でしょ
それを文字に変換してる
数値連呼してる奴って馬鹿?

551:Name_Not_Found
15/01/05 02:46:19.42 .net
>>541
思い込みが激しくて間違いという事に気付けない
これぞ馬鹿の典型だな

552:Name_Not_Found
15/01/05 02:46:30.57 .net
>>543
文字に変換しているだけなら
ハッシュではないよ。

553:Name_Not_Found
15/01/05 02:46:59.48 .net
>>544
そんな捨て台詞はいらないからさw
説明できない人は引っ込んでいたら?

554:Name_Not_Found
15/01/05 02:47:09.88 .net
それをハッシュと言うんだよ、理解できないのかな?

555:Name_Not_Found
15/01/05 02:47:47.88 .net
そのうち+1するだけの関数でも
ハッシュ関数だって言いそうだなw

556:Name_Not_Found
15/01/05 02:48:12.92 .net
>>547
いういう連呼しても、ハッシュ関数にはなりませんよ。

557:Name_Not_Found
15/01/05 02:48:50.46 .net
>>545
いや、単に文字に変換してるわけじゃないでしょ
冷静になってみ?

558:Name_Not_Found
15/01/05 02:48:53.62 .net
>>548
マジいいそうで困る。
そこまで馬鹿ではないと思いたいがwww

559:Name_Not_Found
15/01/05 02:50:14.19 .net
>>550
コード読めないの?単に文字に変換しているだけだよ。
文字の順番が数値の順番通りじゃないってだけ。

単一換字式暗号ともいう。

560:Name_Not_Found
15/01/05 02:51:25.94 .net
これまでの色んなレスで散々結論出てるのに
頑なにハッシュじゃないって言う奴ってなんなの?
否定されたことがよっぽど悔しいのかな?

561:Name_Not_Found
15/01/05 02:53:00.32 .net
>>552
ならなんで62より大きな値が文字になってるの?

562:Name_Not_Found
15/01/05 02:53:30.72 .net
いろんなレスでハッシュじゃないってさんざん結論でてる

の間違いだろw.

なんでこんなに必死なんだろ?

563:Name_Not_Found
15/01/05 02:54:00.65 7Z1vTrX2.net
あ、質問だからID出しておくわ
自演と思われたら嫌だからな

564:Name_Not_Found
15/01/05 02:54:11.77 .net
>>544
> ならなんで62より大きな値が文字になってるの?
基数変換しているからでは?(ハッシュ計算はしてない)

565:Name_Not_Found
15/01/05 02:54:40.48 .net
>>555
はたから見てもお前の負けだ、もう諦めろ

566:Name_Not_Found
15/01/05 02:55:18.95 .net
>>558
あ、勝利宣言ってやつですね(笑)

よく負けた奴が言う言葉です。

567:Name_Not_Found
15/01/05 02:56:07.87 7Z1vTrX2.net
>>557
基数変換を用いるハッシュ法ってあるよね??

568:Name_Not_Found
15/01/05 02:56:23.02 .net
>>558
そういうところまで
行動がセオリー通りだなw

569:Name_Not_Found
15/01/05 02:57:12.17 .net
>>561
お前さんはとっくに論破されてるのにまだ気付いてないのか

570:Name_Not_Found
15/01/05 02:58:55.55 .net
>>560
それはハッシュ計算をした後で基数変換をしているだけだよ。

だから、ライブラリによっては
最終的な表示をバイナリにするか文字にするか、
文字にするなら16進数にするかbase64にするか
決められるわけ。

文字にする変換(基数変換)処理の前段階が、ハッシュ計算という。

571:Name_Not_Found
15/01/05 02:59:23.72 .net
>>562
そういうどうでもいいレスするならいなくていいよ

572:Name_Not_Found
15/01/05 03:00:18.86 .net
>>563
その説明はわかりやすいね。

573:Name_Not_Found
15/01/05 03:02:31.45 .net
>>564
学歴低そう
理解するためにちゃんと勉強しなさい

574:Name_Not_Found
15/01/05 03:02:38.53 .net
質問者も納得したようなのでこれで終了かな。

575:Name_Not_Found
15/01/05 03:02:41.24 .net
>>563
この場合、計算されたハッシュはハッシュテーブルでしょ?
やってることはハッシュ化って言えるんじゃないの?

576:Name_Not_Found
15/01/05 03:03:55.33 7Z1vTrX2.net
シャッフルテーブルだった
あと568は俺です

577:Name_Not_Found
15/01/05 03:04:42.03 .net
>>567
間違ってるのに反論してる気になって終了ですか?

578:Name_Not_Found
15/01/05 03:05:47.34 .net
>>568
ハッシュテーブル? shuffleTable のこと?
これは、文字に変換する時に使うための
文字を入れ替えるためだけのもので
前段階のハッシュ計算(存在しないが)には使われてない。

だからコードの順番を変えて基数変換した後に
文字を入れ替えることでも同じ結果が


579:出せる (=ハッシュ計算で使われてない証拠)



580:Name_Not_Found
15/01/05 03:06:57.73 .net
>>569
> 569 名前:Name_Not_Found[] 投稿日:2015/01/05(月) 03:03:55.33 ID:7Z1vTrX2
> シャッフルテーブルだった
> あと568は俺です

ID出したり消したりと自作自演してるから忘れるんだよw

581:Name_Not_Found
15/01/05 03:08:46.64 7Z1vTrX2.net
>>571
ん?基数変換を用いたハッシュ法の話だよね?
そこで言うハッシュ計算って具体的に何を示してるの?

582:Name_Not_Found
15/01/05 03:08:58.81 .net
560 名前:Name_Not_Found[] 投稿日:2015/01/05(月) 02:56:07.87 ID:7Z1vTrX2
>>557
基数変換を用いるハッシュ法ってあるよね??


562 名前:Name_Not_Found[sage] 投稿日:2015/01/05(月) 02:57:12.17 ID:???
>>561
お前さんはとっくに論破されてるのにまだ気付いてないのか

569 名前:Name_Not_Found[] 投稿日:2015/01/05(月) 03:03:55.33 ID:7Z1vTrX2
シャッフルテーブルだった
あと568は俺です



>>560==>>562だろうなw

583:Name_Not_Found
15/01/05 03:09:45.06 7Z1vTrX2.net
>>572
いや、自動でsageるように設定してるだけ

584:Name_Not_Found
15/01/05 03:09:52.98 .net
>>573
だからこのcreate62Hashは、ハッシュ計算を何もしていないから
ハッシュではないという話。

ただの基数変換をしているだけ。

585:Name_Not_Found
15/01/05 03:13:35.56 .net
>>574
は?違いますけど?
都合が悪くなるとなんでも自演扱いするんだな

586:Name_Not_Found
15/01/05 03:14:56.33 .net
>>577
お前はもういいよ。ID:7Z1vTrX2とまじめに会話するからさw

587:Name_Not_Found
15/01/05 03:15:38.78 7Z1vTrX2.net
>>576
単なる基数変換じゃないと思うけど。
それなら10進数値の総数がそのまま62進数になるよね?
これは基数変換を用いたハッシュ化だと思う

588:Name_Not_Found
15/01/05 03:19:48.29 7Z1vTrX2.net
あ、けど俺はハッシュであろうがなかろうがどうでもいい事なんで。
疑問に思ったから質問してるだけです
もう寝る。レス汚しすまん

589:Name_Not_Found
15/01/05 03:19:50.68 .net
>>579
基数変換して、単一換字変換しただけ。

だから単純に数字の順番通りに、文字も変わっていって
簡単に次の文字の予想がつく

16進数で0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F の代わりに
6,7,8,2,3,B,9,0,1,C,4,5,A,D,E,F という順番で
単一換字変換させるのと一緒。

だからハッシュ計算と呼べるものは何もない。

590:Name_Not_Found
15/01/05 03:20:50.83 .net
質問者も寝たようなので、これで終わりかな。
じゃあ俺も寝るか。

591:Name_Not_Found
15/01/05 03:21:47.34 .net
>>581
お前のハッシュは予想が付いたらハッシュと呼べないのか?
散々言われてるように勉強してこいって

592:Name_Not_Found
15/01/05 03:21:54.32 .net
乙。途中荒れたけど、終わりよければ全てよしということでw

593:Name_Not_Found
15/01/05 03:23:11.83 .net
477 Name_Not_Found sage New! 2015/01/05(月) 00:46:17.29 ID:??? [0]
暗号学的なhashもあれば、単にデータを区別する値もhashと言うよな


ほんとこれ
否定してる奴はこれを100回読んで理解しろ

594:Name_Not_Found
15/01/05 03:24:42.04 .net
はい、逃げた
都合が悪いとなんでも自演扱いして
自分の誤りを認めなれない低脳でしたとさ

595:Name_Not_Found
15/01/05 03:29:16.66 .net
思い込みって怖い
間違った反論しかしてなくて、それを正しいと思ってるからたち悪いね
581の頭は一生治らなさそう

596:Name_Not_Found
15/01/05 03:43:17.85 .net
まだやってるw 必死だねぇ

597:Name_Not_Found
15/01/05 03:45:00.83 .net
>>588
だな
どうしてお前はそんなに必死なんだ?
誤りを認めたくない気持ちはわかるが、そんなんじゃこの先生きていけないぞ

598:Name_Not_Found
15/01/05 03:45:52.45 .net
>>589
もしかして誰かと勘違いしてる?

599:Name_Not_Found
15/01/05 03:49:55.21 .net
必死に否定してる奴って変な宗教でもやってるのかなぁ
コードも理解できてないし学も無いようだし。。。
親も馬鹿なんだろうね。可哀相

600:Name_Not_Found
15/01/05 03:55:09.84 .net
ばーかばーか

601:Name_Not_Found
15/01/05 09:49:55.47 .net
またはじまったよバカのスレの無駄遣い

602:Name_Not_Found
15/01/12 08:46:42.62 .net
>4位 ルノアール
>URLリンク(i.imgur.com)

もっとちんこに響く絵かけねーのかよ

603:Name_Not_Found
15/01/14 18:38:35.15 .net
現行スレ
+ JavaScript の質問用スレッド vol.122 +&amp;#169;2ch.net
スレリンク(hp板)l50

604:Name_Not_Found
15/01/21 15:13:27.52 .net
1から10までの値の入った配列から指定した値から偶数以外の値をランダムで1個取得する方法で
これ以外に違う書き方を教えてください

var a = [1,2,3,4,5,6,7,8,9,10];
var b = [];
for (var i=0; i<10; i++) {
if (i % 2) {
b.push(i);
}
}
console.log(b[Math.floor(Math.random()*b.length)]);

605:Name_Not_Found
15/01/21 20:07:02.75 .net
>>596
1から10は小さい順に10個固定なのか?

そのコードだと

var a = [2,3,4,5,6,7,8,9,10, 1];

時困るだろ?

606:Name_Not_Found
15/01/21 20:10:26.96 .net
あと
var a = [2, 4, 6, 8];

の時どうなるのか? とか、

>>596以外にという以前に>>596があっているのか?

607:Name_Not_Found
15/01/21 20:52:26.16 .net
>>597-598

var a = [2,3,4,5,6,7,8,9,10, 1]; でも僕のコードでは困ってませんが具体的にどのような事で困りますか?
1から10までと提示したのでvar a = [2, 4, 6, 8]; というのは考えないで構いません


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

536日前に更新/282 KB
担当:undef