JavaScript の質問用スレッド vol.123 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 73c8-oPzN)
垢版 |
2017/04/03(月) 00:31:25.68ID:82yaJsi70
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/05/23(火) 15:57:30.36ID:i5pqu4ALa
>>259
ありがとうございます
そうですね…業務上のコードは自分なりに調べてからちゃんと上司に相談します

あとこれは仕事は全然関係なくてちょっと気になっただけなので恐縮ですが、JavaScriptには擬似的な
プライベート変数を持たせるためにクロージャという仕組みがあって、関数内で関数を宣言できると聞きました
その場合
function hoge(){
function piyo(){ }
}

function hoge(){
var piyo = function(){};
}
という二種類の宣言方法があって、「前者は呼び出し時に巻き上げされて後者はされない」というところまでは
わかったのですが、それだけだと後者にするメリットが無いような気がするのですが、何か他に
抑えておくべきポイントはありますか?
普通は皆さんどちらを使われてるんでしょう
2017/05/23(火) 19:13:13.15ID:3X8zsS83a
>>261
正解は人それぞれだが、関数定義後に関数呼び出しをするのは一般的で、そう決める事で厳格なコードになる。

前者のコードの場合、関数定義より手前で関数呼び出し出来るが、後者は出来ない。
従って、ある関数定義を見つけたい場合、関数呼び出しより前に存在する事が確約されており、関数呼び出しコードの後ろを読む必要はない。
前者はコーディング規約で制限することは出来ても、後述で関数定義されることを止めることが出来ない。

最も、そのあたりを気にする人は let, const を使用する方が無難ではあるが。
IE10- がMicrosoftのサポート対象外となった今では const, let の実用性は増している。
http://kangax.github.io/compat-table/es6/
2017/05/23(火) 19:27:23.00ID:OSHuKcjsa
>>262
なるほど、ありがとうございます
原則後者で書くことにします
2017/05/25(木) 02:28:11.58ID:XwREWC52F
>>247
だからそれも含めて気にする必要ないといったんだよ
2017/05/25(木) 02:46:59.65ID:kwmzBMx/0
>>262
> 正解は人それぞれだが、関数定義後に関数呼び出しをするのは一般的で、そう決める事で厳格なコードになる。

php、perlでは関数定義より手前で関数呼び出しができますよね?
関数定義後に関数呼出しするのが一般的という根拠はなんでしょうか?
2017/05/25(木) 04:37:45.02ID:EJLYJcDnM
この痛いおっさんのせいで毎回荒れるな
2017/05/25(木) 07:07:39.46ID:sTAredU30
JavaScriptを勉強しようとしてる
目標として言語仕様の習得段階を分けようとしてるんだけど良い切り分け段階ないかな??
C++なら変数の型、ポインタ、クラスの基本的な扱い方みたいな

htmlの基本的な扱い方と、JavaScriptの連動がはじめにくるのかなって思うけど次の段階はなにだろうか
2017/05/25(木) 09:45:27.07ID:kwmzBMx/0
もともと関数定義後に関数呼び出しをするというのは
C言語ではプロトタイプ宣言と言われ、
正確に言うならばこっちは関数呼び出しができるか?ではなく
コンパイルができるか?という話なので少し意味が違うが、
まあ、ともかく特殊な方法が必要だった。

それが面倒だってことで改良したJavaでは、
関数定義の順番とは無関係に関数呼び出しが
コンパイルできるようになった。

コンパイル言語とスクリプト言語の違いがあるから全く同じ考え方ではないが、
定義の順番とは無関係に呼び出せる設計に進化してきている。

巻き上げという仕様だって本来はないほうが実装は簡単なんだよ。
だけど定義の順番とは無関係に呼び出せるようにあえてそういう機能を搭載している

だから関数定義後に関数呼び出しをするのは一般的といわれると違和感がある
2017/05/25(木) 09:55:31.20ID:kwmzBMx/0
それから変数の巻き上げと関数の巻き上げは意味が違う。

変数の巻き上げは、その変数が使えたとしても
無効な値(undefined)が入っているから通常は役に立たないが

関数の巻き上げ
foo();
function foo() {}
↑こういうのは、正常に動作する。

"正しく動かない" からメリットがない。だから変数の巻き上げは危険
という話なので、 そもそもの前提が違って
"正しく動く" ならば、なんのデメリットもないんだよ。
2017/05/25(木) 10:03:02.23ID:kwmzBMx/0
>>262
> 最も、そのあたりを気にする人は let, const を使用する方が無難ではあるが。
本末転倒。

var piyo = function(){}; なんて書き方を使うから、
piyoが書き換えられたらどうする?
constにした方がいいんじゃね?なんて話が出てくる

function piyo(){ } であれば piyo に別の関数を代入することはない。
もちろん代入できるが誰もこんなコード↓は書かないだろ?

function piyo() {}
piyo = function() {}

そしてこんなコードを書いたら関数に代入すんなと
ESLintでちゃんと警告出してくれる。
2017/05/25(木) 10:30:51.91ID:DNIeToc+0
テキストファイルは行ごとに順番に読み込んでいくからな
順番があったほうが分かりやすい

プログラミングのコードは、特にスクリプト言語のコードは
プログラムを動かすための命令であると同時に
それ自体がプログラムで分析される対象となりうるテキストファイルでもあるのだ
2017/05/25(木) 10:46:20.22ID:kwmzBMx/0
関数の呼び出しは順番に実行しないし、
順番に実行すると言うならばなおのこと
このように書いたほうがわかりやすい

step1();
step2();

function step1() {
 step1_1();
 step1_2();
}

function step1_1() {
 ・・・
}

function step1_2() {
 ・・・
}

function step2(); {
 ・・・
}
2017/05/25(木) 15:31:10.05ID:0WgUeo5I0
ところで「巻き上げ」って呼び方流行ってんの?
どこのバカが言い出したんだ?
2017/05/25(木) 15:42:09.80ID:yXnULsJhH
>>273
てか、hoistingを巻き上げ以外になんと呼んでるんだ?
2017/05/25(木) 16:07:28.36ID:N9M4fQaRa
ほいすてぃんぐ
2017/05/25(木) 16:11:03.90ID:yXnULsJhH
>>275
うーん、google調べでは巻き上げが優勢なんだが

javascript ホイスティング 約 1,370 件 (0.51 秒)
javascript 巻き上げ 約 180,000 件 (0.41 秒)
2017/05/25(木) 20:03:50.62ID:0WgUeo5I0
ああ、モジラの日本語文書で使ってるのか
なんか感覚的にスゲー気持ち悪い
だいぶ前にもこのページは見た事あるはずだけど その時から使ってたのかな
2017/05/25(木) 20:13:19.19ID:qvTBr+rPa
事後宣言←
2017/05/25(木) 22:22:17.00ID:Z3vgZ/N70
jQueryでPHPにajaxでデータを送りたいのですが

まず、これはきちんとファイルが送れて、PHP側でも$_FILESでデータを受け取れます。

var fd = new FormData();
fd.append("file", uploadfile);
var postData = {
type : "POST",
async : true,
dataType : "text",
data : fd,
processData : false,
contentType : false
};


しかし、下のコードの場合は$_POSTが空になります。

var myData = {"txt":str, "formdata":fd};
var postData = {
type : "POST",
async : true,
dataType : "text",
data : myData,
processData : false,
contentType : false
};

dataにフォームデータではなく配列を指定した場合
PHP側で受け取りデータが空になるのは何故なのでしょうか?
1週間ここで詰まってまして、、、誰か助けて下さい
2017/05/25(木) 22:29:31.05ID:kwmzBMx/0
>>249
1週間、なにを他に試したのか書いてみ

まさか、そのコードを何も変えずに
実行して、値が取れないなぁって
何度もやっていたわけじゃあるまいな?
2017/05/25(木) 22:29:56.76ID:iZTPtxiK0
processData : false,
contentType : false

この2行が不要
2017/05/25(木) 22:31:28.67ID:plB+en290
マニュアル読めって話だな
まさか英語だからって読んでないってことはないよね
2017/05/25(木) 22:50:45.14ID:3AHvv4q40
async : true,って書いたことないけどなんか変わるん?
寧ろ
cache:falseって付けない方がなんか不安なんだけど
2017/05/25(木) 22:58:37.69ID:3AHvv4q40
dataType : "text",←がマズイんじゃない?
formベースだと↓で書くし
タグのプロパティにenctype="multipart/form-data"
とか書くし
どっかのサイトには
dataType : "json",って書いてあるところもあったけど

非表示のフォーム作って
data: $("#form").serialize()みたいな事やった方が
ってやった方が確実じゃない?
2017/05/25(木) 22:59:15.72ID:Z3vgZ/N70
>>280
配列の書き方からPHP側でのvar_dumpから
画像変えたりとにかく色々試しました

>>281
その2行削ったら
Uncaught TypeError: Illegal invocation
が出てそもそも送信が出来なくなりました。

>>282
関係ありそうなところは読んだのですが
特に問題なさそうですし、そもそもWEBのサンプルコードを
コピー改編して作ってるのであまり間違いはなさそうに見えるのですが、、、
2017/05/25(木) 23:00:40.03ID:Z3vgZ/N70
>>283
送信のプログレスバーを表示したくてasynctrueにしています
2017/05/25(木) 23:01:15.87ID:Z3vgZ/N70
>>284
dataTypeをjsonにするのも前に試したのですがダメでした
2017/05/25(木) 23:03:43.70ID:kwmzBMx/0
配列の書き方ってなんだよw
2017/05/25(木) 23:07:22.84ID:Z3vgZ/N70
>>288
配列にするとダメになるので配列の書き方が間違ってる可能性を疑いませんか?
2017/05/25(木) 23:08:08.41ID:3AHvv4q40
<from>タグで書いたフォームを送信した場合と上の上手く行く場合上手くいかない場合をWiresharkでパケットキャプチャしながら比較してみたら?
2017/05/25(木) 23:09:44.87ID:kwmzBMx/0
>>289
だから配列の書き方をどう変えて試してみたんだ?って話
2017/05/25(木) 23:13:13.28ID:3AHvv4q40
var myData = {"txt":str, "formdata":fd};
ここだけみると
strとfdが定義されてなくない?

寧ろ↓みたいな型あるなら
var fd = new FormData();
fd.append("file", uploadfile);
fd.append("txt", str);
とかでいいんじゃない?
2017/05/25(木) 23:13:27.27ID:Z3vgZ/N70
>>291
キーの名前をダブルクォーテーションで囲ってみたりとか
要素のカズを1つにしてみたりとかですが
それを聞くってことは配列の書き方に原因があると踏んでるのでしょうか?
2017/05/25(木) 23:15:34.10ID:Z3vgZ/N70
>>292
もちろんソースの上の方でstrは定義されています
実は3日くらい前に
fd.append("txt", str);
も試したのですが、PHP側でtxtの抜き取り方が分からず、
$_FILESをvar_dumpして中身を見てもtxtの内容が見当たらなかったのです、、、
2017/05/25(木) 23:18:39.00ID:3AHvv4q40
>>289
json規格では
{name1 : "value1", name2 : "value2"}
ってのはオブジェクト
配列は
array : [0,1,2,3]
みたいなのの事を指す

>>294
print("<pre>");
print_r($_POST);
print_r($_FILES);
print("</pre>");
でみてみりゃいいじゃん
2017/05/25(木) 23:31:08.42ID:Z3vgZ/N70
>>295
ありがとうございます!無事解決しました!

しかし原因が分かるとID:kwmzBMx/0の指摘の
的外れっぷりが笑えてくる・・・ww
無能すぎんだろwww
2017/05/25(木) 23:38:13.00ID:3AHvv4q40
いやいやPHPやってて$_FILES使ってて
$_GET $_POST $_REQUESTを知らないとか相当進め方おかしいから

体系的にやり直したほうがいい
2017/05/25(木) 23:48:07.09ID:Z3vgZ/N70
>>297
はいすみませんでした・・・
2017/05/26(金) 00:14:18.03ID:xduQ3JhA0
>>293
> キーの名前をダブルクォーテーションで囲ってみたりとか
> 要素のカズを1つにしてみたりとかですが
> それを聞くってことは配列の書き方に原因があると踏んでるのでしょうか?

数学に例えれば、計算が間違っていると言ってるのに、
* じゃなくて×って書くべきだったかな?
それとも変数はxとyじゃなくてaとbを使うべきだっったかな
ですます調で書くべきだったかな?
って言ってるようなもんだって言ってるんだよ

そんな意味のないことをやって時間を無駄にしてる

お前が嫌いな部分をちゃんと調べろよ
2017/05/26(金) 00:25:48.13ID:bNTJaYcW0
この分だと
<form action="action.php" method="post">
<input type="text" name="my_name" />
<input type="submit" value="送信" />
</form>

みたいなWebフォームも書いた事なさそうだな
2017/05/26(金) 10:54:56.14ID:jgQEkVrVH
data scheme URIで表示している画像(サーバー上に存在しない)を
ツイートボタンで添付してTwitter上に表示させる方法って存在する?
2017/05/27(土) 15:53:29.10ID:/OhQ0A3Ja
色んな質問見てるとjsはコピペすればOKと考えてる奴が多くてゲンナリするな
2017/05/27(土) 20:14:42.45ID:MWSRFZ3F0
今までは簡単な数行のアプリならテスト書かずともいいやっておもってたけど
BABELとかwebpackとかを初めて知って
テスト書かずにプログラムは無理って思った。
2017/05/27(土) 21:14:34.18ID:njF0J5En0
結局はコスパ
いくらテストが大事とは言ってもテストクソしにくい物はできない
簡単にできるんならすればいい
2017/05/28(日) 01:12:50.76ID:N5TIDcJY0
jestはなんかテスト書きやすい。設定とか特にいらずに使えるから?
2017/05/28(日) 06:24:31.77ID:Jy+iGWQUp
私はjapがプログラムを作成することに向いていないと思います
japはマニュファクトリーが向いているです

彼らはITの産業を大韓民国の企業に依頼するべきです
2017/05/28(日) 07:26:39.79ID:g7njks+J0
キムチ
2017/05/28(日) 07:41:48.03ID:YILpTCJTa
戦争始まりそうな所に委託なんか出来ない
2017/05/28(日) 13:05:06.62ID:Y1FLfJ9O0
ベトナムとかマレーシアとか信頼できる国あるし敢えて敵国に依頼する必要はないと思う
2017/05/28(日) 14:46:17.46ID:bwXZtahX0
今更気づいたが、2chでもデフォでJS使ってポップアップするようになったのね。
というわけでソース見てるが、あーはいはいって感じですね。
2017/05/28(日) 15:07:22.38ID:m00obNBd0
あーはいはいでわかるかよw
あれだ、評価するとお前の評価がクソだってばれるから
そうやって詳しいふりしてるんだろw
2017/05/31(水) 22:58:58.50ID:Y1RUmNYE0
>>311
てかまじ韓国人は死ね

評価したいならお前が自分で見てくればいいだけ。俺に噛み付く必要なんてない。
おかしな奴が沸いているから話題を変えてやろうとしたのに、韓国人はこれだから駄目なんだ。
お前らって基本的にそんなんばっかだよね。
マジでお前らが全員死ねば2chもだいぶ浄化されると思うよ。

ところでマジレスすると、韓国人がプログラミングに向いているわけないだろ。
あいつらは論理的思考が全く出来ない。
ソースはどこにでもあるがこのスレの>>84以降の韓国人もそう。
日本語が不自由な連中は、自分で言っていることの論理的整合性が取れてない。
自分のバグを他人のせいにして誤魔化しまくるやつって居るだろ。韓国人はこのタイプ。

「てかお前、日本語も英文も読めない人?」が煽りとかアホかよ。
自意識過剰で自分から韓国人だとゲロってる。
仕様書の原文が英文で、後俺が読めるのは和文だから、
俺が内容を保証できるのはその2つしかないんだよ。だから論理的にはまっとうな言い方だろ。
だいたい、「右」と書いてあるのに「ウリには『左』としか読めないニダ」と言われても知らんがな。

プログラミング以前に最低限の論理/言語能力は必要なんだよ。韓国人にはどちらもない。
マジで連中は救いようがないゴミだよ。それはこのスレ見てても明らかだろ。

と言うかそもそも韓国発のマトモなOSSなんてないだろ。
俺が見てておっ!て思うのは大体アメリカ人かロシア人だが。
まあ、あるというのならURLくれ。見てみるから。
2017/05/31(水) 23:12:42.24ID:Tq4u4t660
レイシストはニュー速から出てくんなよ
2017/05/31(水) 23:31:36.76ID:BpCMxTEQM
>>312
ぶっちゃけ日本のITレベルは底辺だとおもうよ
韓国の肩もつわけじゃないが韓国にすら負けてるのは確実だろ

しゃちく製造の為の学校教育、終身雇用、年功序列、出る杭は打たれる、責任のなすりつけ、上部にいくほど責任はとらない

こんな国でまともな人材が育つ訳がない
2017/06/01(木) 00:03:37.62ID:Mhu3Y0w10
韓国に負けてることはないよ。
事実として韓国発のものは何もないだろ。
自虐も行き過ぎると妄想だぞ。

あまり有難がるのも問題だが、日本発ならRubyとWinnyとかか。
Winnyはポシャってしまったけど、分散DBとしてはかなりのインパクトはあったよ。
今同じようなことやってる物ってあるんだっけ?(秘匿性ではなくて分散DB)

あと、社会に対して一方的に文句を言っていいのはせいぜい20代までだ。
お前も社会の一員であり、
悪い部分は改善するように努力しないといけないことを忘れるな。
2017/06/01(木) 00:04:37.05ID:nnQ1TI9L0
IT速報のコメ欄気持ち悪すぎ引いた
2017/06/01(木) 01:40:11.61ID:kxe+DADVM
>>315
それって極一部の個人の力によるものだろ
一部の有能な人間の存在を否定する気はないよ

国内における一般企業のITのレベルが世界とくらべとれだけ低いかという件と混同いないほうがいい
2017/06/01(木) 01:57:00.37ID:Mhu3Y0w10
では具体的にどこがどのように問題なの?
それは具体的にどの国がどのようにすごいの?
そしてお前が間違っている日本語で一生懸命日本下げする理由は?

やっぱり韓国人は死ねでしかないね。
論理的に話が出来ない。

そもそもIT界なんてどいつもこいつも個人だろ。
突出した個人に多数が纏わりついているだけだ。
組織としてスゲーって所はないと思うが。
2017/06/01(木) 08:30:04.11ID:9lL7NugSa
北も南もヘル朝鮮だからな

個人の能力とか完全に殺されてる

だから整形してまで芸能にいくしかないわけだ
2017/06/01(木) 13:30:41.26ID:DUC/SBfla
てか韓国がどうとかJavaScriptに何も関係なくね?いつまで続けんの?
2017/06/01(木) 14:43:19.65ID:MPGRIjU40
まあ韓国に負けてるっていうか、雰囲気がぜんぜん違うよね
まず韓国はとにかく中国市場に対する意気込みがすごいんだよね
そして欧米だとB2Bと投資活動が凄い
一方日本はオタクなクリエーターとオタクなユーザーで盛り上がる風潮なんだよ
この件に限らないけど、日本って良くも悪くもお金を回さない国なんだよね
2017/06/01(木) 19:21:54.74ID:Eg1cjf0Ca
cool japan vs hell korea
2017/06/01(木) 19:33:32.84ID:Mhu3Y0w10
というか、いつもどおり韓国人は息を吐くように嘘をついているわけだが、
ちょっと調べたが、IE縛り全く改善されてねーじゃねえか。
技術力高いつもりならそこをまず何とかしろよなと。

つかマジで、韓国人は「ウリがそう思うからそうに違いないニダ」ばかりだ。
客観的に見るという感覚がないんだなあの連中は。
プログラムなんて客観的にしか動かないんだから、連中が得意なわけないじゃん。

そしてニュー速って何のことかと思いきやAFLか。
そしていつもどおりでっち上げの嘘で誤魔化そうとしているという。
なんつーか、マトモ人間扱いする方が問題だよな。

それはさておき、Web板、無理やり流している感はあるが、
それでもお前らで何とかしようというのはいいことだよ。
ただしあっちにも韓国人は潜んでいて、
明らかに間違っている投稿もあるから気をつけろ。

>>320
韓国人が全員死ぬまでだろ

>>321
よしではその意気込みがすごいとやらを観てみよう。
どの中国サイトを見ればいいんだ?URLよろ。
というかそれ以前に俺はWeb系ではないのでパーティクルが流行とか知らないんだが、(>>241)
これはどこら辺で流行っているんだ?
2017/06/01(木) 20:13:46.82ID:nnQ1TI9L0
NGEx推奨
対象URL(含む):http://echo.2ch.net/test/read.cgi/tech/
NGワード(含む):韓国
2017/06/02(金) 00:08:08.24ID:WZinTdGZa
ゆとりor韓国人認定して噛みつく奴が約一名常駐しているが、病気ではないかと本気で思う
2017/06/02(金) 13:11:10.47ID:1CJudmood
病気というか、もう「韓国」って文字に対して拒絶反応を示す脳回路ができてるんだと思うぞ。
2017/06/02(金) 13:20:16.54ID:eRFbfsBq0
他にも琴線に触れる政治系のワードがいくつかあってその度に暴れてるよ
前みたいに自分で隔離スレ立てて篭っていてもらえるといいんだが
2017/06/02(金) 14:45:33.05ID:l6Zd1p6x0
AIも学習が進むとこういう「正しくバグった人間」みたいなのが出てくるんだろうな。
学習して重くなったノードがより一層重くなる方向にしか進まなくなる見たいな。
329デフォルトの名無しさん (ワッチョイ f954-vHg9)
垢版 |
2017/06/02(金) 16:18:30.68ID:9TwlIHTO0
>>328
そりゃそうだろ。
学習が中途ハンパなNNは、中途半端な出力しかしないしな。
過学習ってのもあるし。
330デフォルトの名無しさん (ワッチョイ f954-vHg9)
垢版 |
2017/06/02(金) 16:19:54.40ID:9TwlIHTO0
>>314
日本は底辺ってのには、同意だな。
エンジニアが虐げられているから、ってのが大きいな。
2017/06/02(金) 16:35:54.48ID:F6QccYLm0
虐げられてるねぇ
まあ能無しの比率が多いとは思わない
バリバリに見える発展途上国とかだと実はプログラマの8割くらいは
正しく動くコードも書けない能無しだといろんな調査でバレてるから
それよりはマシだろう
どちらかと言うとせっかく能がある奴が自分を安売りしたり、
才がある奴が長いものに巻かれたりする方が問題だな
2017/06/02(金) 17:46:14.18ID:2tmjhXTOH
>>331
これか。

インドのプログラマーでちゃんと自動コンパイルできるコードを書いているのは36%
http://gigazine.net/news/20170520-indian-engineer-compilable-code/

ヒント:
・大学在籍者36,800人が対象
・そのうち、職業プログラマは14.67%
・100 - 36 = 64

たぶん、お前より優秀なプログラマが十万人はいると思うぞ。
2017/06/02(金) 20:04:43.34ID:PnTtMc740
>>324-329
おう、NGに協力してやるよ
韓国人死ね

というかいつも思うんだが、韓国下げに対してだけ妙にレスポンシブなのは気持ち悪いよ。
人口比1%以下でこれはないよね。

いずれにしろ出て行くのは自由だよ。Web板も流れているし、いいと思うぞ。
俺はあっちには行かないから安心しろ。

お前らは乗っ取り/背乗りしかしないが、それは韓国人やヤクザのやり方だぞ。
いい加減止めろ。誰の得にもならないし、ただの反社会行為だ。
そうではなくて、Web板のスレを盛り上げて、このスレの存在価値を無くし、
正面から正々堂々とこのスレを殺してみせろ。それが正しい競争だよ。
それが出来ないのなら、所詮お前らはその程度なんだよ。
お前らがこのスレに纏わりついていること自体、これを証明していることを自覚しろ。

>>331
内容には同意。韓国も発展途上国でしかない。
日本はそれらよりはだいぶマシ。

>>332
英文ソースも確認したが詳しいことは書いてないな。
もっとも、同じテストを日本でもやってみないとわからないし、
それ以前に大学生が1時間で解決できるプログラミング課題という時点でゴミだが。
とはいえ、外国人には謙遜というものは無いから、
奴らが主張する「出来ます」と俺らが想定するレベルでは相当な隔たりがあるのも常だが。
2017/06/02(金) 20:20:39.04ID:6OOVLM+bM
>>333
前から思ってた事がある
おまえが韓国が嫌いなのはわかったがおまえの発言内容やその性根っておまえが抱いてる韓国人そのものだぞ
レス中の「韓国」を「日本」に変えてみてごらん
2017/06/02(金) 20:46:31.99ID:PnTtMc740
>>334
俺は韓国が嫌いなわけではなくて、
論理的でないゴミが嫌いなだけ。そして韓国人はほぼ全員これに該当するだけ。

お前が何を言いたいのか分からないが、もし韓国の方が素晴らしいという主張を続ける気なら、
具体的に個人名/組織名/URL等提示すればいいだけ。(俺は早い段階でやった)
お前がすごいと思うものを持ってこい。
それもせずにお前らはわめき散らすだけだろ。だから韓国人はゴミなんだよ。

とはいえ俺の個人的志向なんてどうでもいい。お前らはWeb板でがんばれ。
俺は色々計算の上でやっている。
それが間違いかどうかはお前らがWeb板を盛り上げて証明すべき事項で、
ここを乗っ取るのは完全に間違いだよ。

俺はWeb板についてはまったく干渉してないし、今後もするつもりは無い。
逆にここについてはいちいち細かく干渉し続けてきている。
それでこっちのほうが盛り上がるのなら、それはお前が間違っているということなんだよ。
JavaScriptはWeb言語なんだから、フォークで決着つけるべきだろ。

そして韓国人死ね
ああこれはNGへの協力だからね(はあと)
2017/06/02(金) 21:01:53.94ID:6OOVLM+bM
>>335
おまえの精神が韓国人そのものって言ってるんだよ
わかったかい?

もう一度書いておくぞ

レス中の「韓国」を「日本」に変えてみてごらん

あら不思議、韓国人の出来上がり
2017/06/02(金) 21:22:45.44ID:eRFbfsBq0
気持ちはわかるけどその返しも同じ穴の狢だからな
やめとけよ
2017/06/02(金) 22:10:20.83ID:D6cmkCxK0
コンパイルエラーなんてコンパイルしてみてから確認すりゃいいんだからぶっつけ本番コンパイルみたいなのを試験にする意味とか皆無
2017/06/02(金) 22:14:06.54ID:PnTtMc740
>>336-337
まず俺はお前らが何故突然大挙してこっちに来たのかが分からない。
俺にはWeb板のスレはいつもどおり機能しているように見えたし、
統合とかそういう話も全く無しで、自然発生的にいきなり来たからね。

でも、それがもし、こっちのスレのほうがマシだという判断の下なら、
それは完全に間違いだ。なぜなら、このスレがマシだったのは、

× 俺がいちいちグダグダ注文をつけたから
○ お前らがいなかったから

だからね。スレの質は住民の質であり、
お前らがいるスレはゴミになる、それはお前らがゴミだから、でしかない。

だからお前らの同時移住はただのイナゴ行為で、結局良スレを潰してしまう。
これがこれまで繰り返されてきたことであり、これはお前らにとっても利益はないだろ。
だからWeb板に帰れ、あるいは別スレ立てろ(前スレの終盤参照)、と言っている。
お前らはそれもせずにイナゴ行為を続け、しかもスレ立ても邪魔するし、
ただのキチガイだよ。死ねでしかない。
しかしこれももう何度も言った事だけどね。

だから韓国人は死ね
ああこれもNGへの(ry
2017/06/02(金) 23:25:51.53ID:nWdRxOL6a
(ワッチョイ bdc8-zUMb) が垂れ流す韓国論はゴミだと思うが、自分を客観視できないタイプなんだろうな
2017/06/02(金) 23:48:55.84ID:Bn+nRtH50
ネトウヨは巣に戻れよ
2017/06/02(金) 23:50:12.92ID:PnTtMc740
もしお前らが自分のことを客観視できるのなら、
お前ら自身がゴミだと自覚できるはずだ。
だって事実として、お前らがいるスレがことごとくゴミになるんだから。

俺について文句を言うのなら、Web板に行けよ。
それで盛り上げて、結果としてこのスレを殺してみせろ。
そうやって+方向の競争にしなければならない。
お前らは−方向の競争しかしない。
だからゴミなんだよ。

そして韓国人は死ね
ああこれも(ry
343デフォルトの名無しさん (ササクッテロロ Sp3d-OHob)
垢版 |
2017/06/03(土) 01:12:15.43ID:U7n4TZ9ep
韓国の悪口言ってる奴何なの?
お前在日に虐められたの?
市ぬまで虐めとけばよかったな

在日は差別されてお前どころでない社会的いじめを受けてるんだ
弱者に石を投げるクズがお前だ
2017/06/03(土) 01:47:12.83ID:Fy30HWMq0
おー、プロ被害者乙。いい加減その嘘も止めろよ。
つかこのスレどんだけ韓国人いんだよ。正直びっくりだわ。

で、結局ここまでの反論は全て「ウリがそう思うからそうニダ」しかないだろ。
これが韓国人だよ。全て感情論。
しかも自己矛盾してるだろ。
そのクズが居座っていると分かっているこのスレに何故お前はわざわざ来てんだよ?
プロ被害者だからか?


つーか、せっかく協力してやってるんだから、ちゃんとNGしとけよ。
そしたら俺のレスなんて見えないはずだし、お前らも火病ること無いだろ。

真面目に議論する気あるならURLもってこい。
お前らによると韓国や中国のサイトはすごいんだろ?


そして韓国人は死ね
(ry
2017/06/03(土) 08:29:54.65ID:nLyqFVK50
スレ違い
2017/06/03(土) 09:28:44.08ID:Fy30HWMq0
>>343
というか読み直したら、しれっととんでもない事言ってるな

> 市ぬまで虐めとけばよかったな
へー、お前はイジメの加害者なんだー
死ねよマジで

韓国人死ね(ry
2017/06/03(土) 09:39:09.43ID:RVoqohAC0
2chでプログラマ板がプログラム板から隔離されている理由がまさにこれ
2017/06/04(日) 01:45:26.81ID:KvQiSILl0
ああ確かに、マ板的話題についてかなり早い段階から指摘されていたな。
では少し技術的なことを書いておこう。

Web板の719以降、zipWithだが、ネイティブで書くならこう。

var a = [13, 64, 76];

var b = ["as", "ft", "jay"];
var c = a.map(function(v,i){return {number:v, name:this[i]};},b); // (C)

宣言型っぽく書くなら結局のところ、

var d = [].f(a,'number').f(b,'name'); // (D)

と書きたいところだがこれはプロトタイプ拡張になるので、精々

var e = new MyArray().f(a,'number').f(b,'name'); // (E)

これで直行性重視でfを整備するか、
面倒だから2つ纏めて(C)にしてしまうか。

ただ正直、こんなところで悩むから上達しないんだと思うよ。
だからあの質問者に対しての(表面的ではなく)本当の意味での親切な回答は
「ウダウダ考えずに今お前が書ける方法で書け」であって、
俺だったら無視して終わりだ。

韓国人死ね(ry
2017/06/04(日) 01:46:35.82ID:KvQiSILl0
ただしこれを自らの課題として捕らえた719とlodashは悪くない。
お前らは既に一通り書ける上で、別の書き方を試している。
これ自体は上達する方法ではあると思うし。
だから応援してやるよ。どうせこっちも見てるだろうし。

当人は理解しているだろうが、

var f = (y) => (x,i) => new Object({ number : x, name : y[i] });

はクロージャで補足するので筋が悪い。

var result = zipWith(f, a, b);

は「関数型で」というリクエストだからだと思うが、通常なら

var result = zipWith(a, 'number', b, 'name');

の方が使いやすい。だったらいっそのこと纏めちまえ、となると(C)になる。

JavaScriptの場合はthisを使えるのでいちいちラップすることなく、直接(C)形式で書ける。
この仕様を奇妙だと思うか、便利だと思うかだが、
JavaScriptの実力を使い切るつもりなら、後者じゃないと駄目だ。
その場合、関数のthisはいちいち何になるか考えながらコーディングする癖が必要になる。
これをウザイと思うか、面白いと思うかだね。

lodashに関しては、大概の機能については上記の通り1〜3行で書ける物ばかりで、
よほど大量に使わないと効果は得られない。
「そんなときにlodash」ってのは彼が常にやっているけど、正直、訴求力はないね。
ただし個人的に常に使うと決めているのなら、それもありだとは思うが。

韓国人死ね(ry
2017/06/04(日) 02:16:58.81ID:WjXWBKwj0
>>349
そだね
JSなら無駄にカリー化せずともアローをやめてthisで使うだけで良かったんだけど、
何かあの質問者は本気で聞いてる感じでもなかったからそこら辺は手抜きしたわ
JSは純粋関数型じゃないんだから変にこだわりすぎても損するだけなんだけどな
2017/06/04(日) 02:49:49.69ID:KvQiSILl0
>>350
thisだから気持ち悪いが、この場合実質的に引数だから
これでも「JavaScript的にはカリー化してる」と言い切ってしまうのもありだとは思うがな。
なんつうか、この辺の気持ち悪さに慣れる必要があるというか。

とはいえ意味無い質問が多いのは俺も思う。
2017/06/04(日) 08:56:51.77ID:W7e7oN9Z0
今書ける方法で書ける? ・・・当然

違う方法で書きたい!

上を目指そうとするんじゃねー
今書ける方法で書け(ドヤァァ

新人潰しウケルw
2017/06/08(木) 07:45:45.09ID:Gp0Sgwlmd
javascriptがHttpSessionに格納されているbean形式のデータを直接参照する手段はありますか?
またその逆にクライアントのjavascriptで生成された変数などをサーバー側に送る手段はありますか?
よろしくお願いします。
2017/06/08(木) 12:44:04.24ID:9IDUQMwlM
>>353
よくあるサーバー側の変数をクライアントに渡す方法です
方法1 サーバー側にhttpsession内のbeanをjson化して返すGET呼び出し口を作り、クライアント側のjsではxmlhttprequestを使って非同期でGETリクエストして参照する
方法2 サーバー側のhtmlテンプレートにscript type jsonタグを配置し中身にbeanをjson化したものを記述、クライアント側のjsではdocument.queryselectorでタグを取得してjson.parseで変数化する

クライアント側の変数をサーバーに渡す方法
サーバー側でリクエストボディのjsonをbean化して処理するPOST呼び出し口を作り、クライアント側ではxmlhttprequestで変数をjson化したものをリクエストボディに加えてPOSTリクエストする
2017/06/08(木) 14:01:04.08ID:Gp0Sgwlmd
>>354
詳しく書いていただきありがとうございます。
非同期というのはajaxを使うということでしょうか?
正直こんな質問をしている今の自分のレベルで実装するのは厳しいということはわかっているのですが…もう少し粘りたいのでよければ教えてください
2017/06/08(木) 14:33:58.21ID:Q1c4qxcfM
>>355
ぐくれば簡単なサンプルプログラムとか沢山あるよ
それを見てしらべていけば簡単
2017/06/08(木) 16:15:56.83ID:n3NFy35k0
>>355
javaScript自体は非同期ですよ
2017/06/08(木) 16:55:22.74ID:Gp0Sgwlmd
>>357
ああ、それはjavascriptがクライアントサイドだけで動いて、サーバー側に何か情報を随時伝えているわけではない。そのことを非同期というという理解で合ってますでしょうか?
2017/06/08(木) 17:36:38.94ID:iO6bxGauH
>>358
>>357は無視していい
2017/06/09(金) 20:27:43.22ID:9bf0i3HE0
>>353
> bean
Javaスレで聞け

韓国人死ね(ry
2017/06/09(金) 20:38:39.01ID:OHTYLYj00
他所でやれ
2017/06/09(金) 20:55:31.51ID:9bf0i3HE0
>>361
韓国人死ね

つか、お前らのその反応だけ早いのって気持ち悪いと思わないのか?
お前ら韓国下げされたら困るのか?日本下げは嬉々としてするのに?
事実として韓国人はゴミだよ。実際、嘘しか言わないだろ。
韓国や中国がすごいと思うのなら、URL持って来い。見に行くから。

あと何度も言っているが、背乗りせずに、お前らでスレ作って盛り上げろ。
そして結果的にこのスレを殺せ。それが正しい競争だ。
お前らゴミ韓国人がいなかったときはこのスレは平和だった。これは事実だよ。
俺は本当に何度もこれを言っているし、何度もお前らに「何故ここに来た?」と問うている。
それをお前らは無視しているのだから、俺にもお前らを無視して

韓国人はゴミだから死ね

と言い続ける権利はある。何もおかしくないだろ?
2017/06/09(金) 23:04:35.65ID:v3CUnbcU0
NGワードがなんで復活してんのかと思ったらサーバー移転か
2017/06/09(金) 23:22:37.78ID:9bf0i3HE0
>>363
テストに協力してやるよ

韓国人死ね

てかマジで、NGとかで無理してここに居座らず、
別スレ立てて盛り上げればいいだけの話だろ。何故それをしない?
2017/06/10(土) 16:11:56.80ID:9/7KucPr0
なんだかとんでもないガキがでてきたな…
2017/06/10(土) 18:32:45.27ID:cytA1QTkM
本文に毎回「韓国人死ね」を加えるぐらいなら、名前を「韓国人死ね」にしろ、と小一時間問い詰めたい。
2017/06/13(火) 23:22:16.31ID:LBkAuNWW0
韓国人が日本人を比較的かなり高い割合で悪く思っていることは確かだが
なんでそれに張り合おうとするのかが分からない
しかもこのスレで
それとそういうヒステリックな反応を火病と言うんじゃないのか?
他人を憎む通す態度とか一番良き日本人からかけ離れてて、
悪き韓国人のイメージに近いのは>>362君になってしまっているよ
368デフォルトの名無しさん (ワッチョイ 8552-RzR/)
垢版 |
2017/06/14(水) 10:31:38.07ID:AKJ2nqTn0
こちらのサイトにある
http://www.nishishi.com/javascript/2014/realtime-clock-setinterval.html
リアルタイムの時計の表示を
クリックで他サイトに飛ぶテキストリンク形式にしたいのですが
どのように改造すれば良いのでしょうか?

<p id="RealtimeClockArea">※ここに時計が表示されます。</p>
<script type="text/javascript">
function showClock1() {
var nowTime = new Date();
var nowHour = nowTime.getHours();
var nowMin = nowTime.getMinutes();
var nowSec = nowTime.getSeconds();
var msg = "現在時刻は、" + nowHour + ":" + nowMin + ":" + nowSec + " です。";
document.getElementById("RealtimeClockArea").innerHTML = msg;
}
setInterval('showClock1()',1000);
2017/06/14(水) 10:54:10.58ID:jeSZE0R+0
>>368
変数msgをaタグになるように文字列追加すればいいんじゃない?
2017/06/14(水) 15:09:41.84ID:u4jybkYs0
<div id="RealtimeClockArea">
<a href="絶対パス">※ここに時計が表示されます。</a>
</div>
2017/06/14(水) 19:38:42.28ID:x6EfXzBMM
>>370
ダメだろww
2017/06/14(水) 21:27:46.13ID:aV1qGWiv0
document.getElementById("RealtimeClockArea").addEventListener('click', function() {
location.href = 'リンク';
},false);
2017/06/14(水) 21:32:21.44ID:BlM0oK+la
>>368
setIntervalの引数には()いらなくなかったか?
2017/06/15(木) 01:20:10.01ID:Oj0uBikp0
>>367
韓国人死ね

>>368
その程度なら、最初から勉強した方が早いからそうしろ。


あといつも思うんだが、その手の馬鹿サイトは参考にしないほうがいい。
馬鹿が再生産されてる。
他言語ではほぼありえないのだけど、これは実行環境が提供されているからなのかな?
例えばCとかだと時計をWebページ上に表示するわけにはいかないし。

その場合は、
<p>現在時刻は、<span></span>です。</p>の構成で
一度だけgetElements等を行いspanをクロージャで捕捉し、
span.textContent = new Date().toLocaleTimeString();
としてるところを参考にしろ。皆無だと思うが。
なぜかは分からんがそのgetHours()等を使って組み立てるのは馬鹿的な定番だから、
それをやっているサイトはゴミだと思ってほぼ間違いない。
俺がJavaScript初心者だった頃、
ググってそういうのばかりだったからそれが仕様だと勘違いしていたが、
後でMDN見て愕然とした覚えがある。
あとそのsetIntervalでEvalする記述も通常は非推奨じゃなかったっけ?理由は忘れたが。

どちらにしても初心者は訳も分からずまねをするしかないので、
この手の馬鹿サイトが大量にあるのは問題だと思うんだがなあ。


ところで、https側からhttp側のlocalStorageを読む方法って無いか?
サイトによっては偶に両方使ったりしてばらけていて、纏めたいのだが。
2017/06/15(木) 02:34:21.86ID:+cKagSp8d
CookieはそういうのできるがLSではできない
あと冒頭にそういうこと書くの頼むからやめてください
見てて気持ちの良い人は居ないと思う
2017/06/15(木) 08:46:44.45ID:6ZBvCRkJM
>>368
createElementでa要素ノードを生成してappendChild
2017/06/15(木) 08:50:12.07ID:6ZBvCRkJM
>>375
NGWordに協力してくれているのだから、素直にNGWordしてスルーすれば良いと思う
下手に反応するとつけあがらせる事になる
2017/06/15(木) 09:23:47.62ID:etA6e7iCM
クロージャで捕捉し
クロージャで捕捉し
クロージャで捕捉し

wwwe
2017/06/15(木) 10:52:30.35ID:yD3vPxkF0
ライブラリ荒らしよりこっちの方が段違いにたち悪いわ
2017/06/15(木) 14:51:55.15ID:x2x/y2wU0
>>377
根っからの本当の精神異常者に限っては刺されちゃ負けなので
現実でも少々のことがあってもスルーするという対応はベターだと思うし
スレに関係する特定宗派に対する煽り目的ということならその理屈も分かるが
彼はそうじゃなく、みんなと有意義な情報交換をしたいという気持ちがありつつ
実質的には言葉が汚いのと同じようなもんで、意に反してみんなの反感をかってるんだから
そこをスルーしてすれ違いのまま置いとくというのは良くないことだと思う
真正面からぶつかっていって、最後に仲良く手を取り合って終了がベターでしょ?
2017/06/15(木) 16:24:39.63ID:MCYGuyeM0
var f1 = function(arg) {
return new Promise(...);
}

console.log(f1()); -> Promise { <pending> }
console.log(function() { return f1(arg); }); -> [Function]

引数を取るProimise化した関数をPromise.resolve().then()に渡したいのですが、何かいい手はないですか?
いちいちfunction()でラップするしか無い感じですかね?
2017/06/15(木) 17:01:13.56ID:yD3vPxkF0
Promise.resolve().then(f1);
こういうことかな
これならresolveに渡した引数がそのままf1に行くけど
2017/06/15(木) 17:08:29.25ID:MCYGuyeM0
>>382
それです、ありがとうございます
最初のresolveに渡すっていう発想は全くありませんでした
384370 (ワッチョイ aeaa-qpQt)
垢版 |
2017/06/15(木) 18:08:23.19ID:Emed4SrA0
>>368
Date - MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date

以下は、Date.prototype メソッドにあるから使える。
getHours(), getMinutes(), getSeconds()

>>370
<div id="RealtimeClockArea">
<a href="絶対パス">※ここに時計が表示されます。</a>
</div>

自己レスだが、これは、div で囲んだ方が、デザインしやすいという意味
2017/06/15(木) 19:35:16.69ID:6ZBvCRkJM
>>380
彼が精神異常者かはさておき、彼と「有意義な情報交換」が出来るとは思えない。
彼は自分に絶対の自信を持っており、他者の価値観に対する配慮がない。
価値観の多様性など考えるべくもなく、自分が絶対の正義であり、自分と異なる他者が悪。

■彼と良好な関係を築くポイント
- 彼の意見を否定してはならない。否定すれば(>367)暴言が返ってくる。
- 彼のプライドを刺激してはならない。彼のプライドを守れるように彼を持ち上げなければならない。
- 彼がまだ発言していなくとも彼の見解と違う意見をしてはならない。彼は絶対の自信を持ってそれに反論するので、それを肯定してやらなければならない。

率直にいって、面倒くさい。
実際、同じような輩とぶつかってみたことはあるが、2chでは一度として成功しなかった。
そもそも、ここまで気をつかって関係を築く時点で対等ではないし、健全な議論ではない。
2017/06/15(木) 22:09:08.45ID:UT9aTF2ad
せやな
でも電車とかの同じ室内で独り言言ってるやつはスルーできて
頓珍漢な話題言う奴も話半分で聞けるけど
ノイズを出すのは無視しづらいね
2017/06/16(金) 20:00:44.29ID:zP1pfp7x0
ReactつかうのにJsxがいいって聞いたんだけど
Jsxの本って売ってないの?
TypeScriptとはまたちがう?
2017/06/16(金) 21:29:58.86ID:VQxL9UDx0
>>384
試してみましたが
時計部分はリンクにならないっす・・・
2017/06/16(金) 21:55:16.04ID:uNQVqIhb0
>>387
単に<>周りの仕様が追加されただけ。
あえて本にまとめる必要もないべ
2017/06/16(金) 21:58:34.60ID:rR75oHDm0
>>388
<script src="https://code.jquery.com/jquery-3.2.1.min.js";></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"; ></script>
<script>
setInterval(function() {
var msg = moment().format('現在時刻は、HH:mm:ss です。')
$("#RealtimeClockArea a").html(msg);
}, 1000);
</script>
<p id="RealtimeClockArea">
<a href="http://google.co.jp";>※ここに時計が表示されます。</a>
</p>
2017/06/16(金) 21:59:55.30ID:rR75oHDm0
>>388
インデントがおかしくなったので修正

<script src="https://code.jquery.com/jquery-3.2.1.min.js";></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"; ></script>

<script>
setInterval(function() {
 var msg = moment().format('現在時刻は、HH:mm:ss です。')
 $("#RealtimeClockArea a").html(msg);
}, 1000);
</script>

<p id="RealtimeClockArea">
 <a href="http://google.co.jp";>※ここに時計が表示されます。</a>
</p>
2017/06/16(金) 23:14:09.66ID:e1aWPFa40
>>375,380
ゆとり乙
お花畑過ぎて引く

韓国人死ね

つかお前色々矛盾していることに気づけないのか?
2017/06/17(土) 01:21:32.35ID:3/8QDIF10
矛盾しているのはお前だろw
同族嫌悪はもうやめろ
2017/06/17(土) 01:41:25.46ID:FayZ9xNN0
ほう?それを出してきたか。
ならば応戦してやろう。

同族嫌悪ということにして誤魔化しているのは韓国人だけ
いつもどおり、韓国人が息を吐くように嘘をついているだけ
韓国人死ね

韓国人は矛盾に気づくほどの知能がないようだが、
韓国人は迷惑行為をし続けてる。だから韓国人は嫌われる。
本当に、それだけ。
お前らは、何故自然発生的に国というものが成立したのか、
或いは何故韓国人「のみ」が嫌われるのか説明出来ないだろ?

そういえば、おまえらはニュー速も好きだったな。
しっくりする表現をそこで見つけたから紹介してやるぜ。
「嫌韓は日本人によるアクションではなくて、リアクションである」
全くその通りだ。韓国人が糞だと実感したから嫌っているだけであって、
例なら>>84以降。マジで死ね。
誰にも韓国人を嫌う権利はある。
あれ見て韓国人が糞だと思わないのなら、お前に問題があるよ。

つかマジで、韓国人って池沼なのな。
なんだかいつか見た展開なんだが。
同族嫌悪だって言う馬鹿はかなり久しぶりだが。
395デフォルトの名無しさん (ワッチョイ aeaa-qpQt)
垢版 |
2017/06/17(土) 05:21:50.65ID:pi4driob0
JSX と言っても、構文は、2タイプの内のどっちかだろ

ヒゲ型の、{{ 〜 }}
eRuby型の、<% 〜 %>
2017/06/17(土) 05:33:38.86ID:3/8QDIF10
>>394
韓国人が嫌われてようがどうでもいいが
お前さんがここでそういう書き方をするのは問題がある
韓国人ではなくお前さんの問題だよ
2017/06/17(土) 08:51:31.34ID:FayZ9xNN0
>>396
はい声闘頂きました
韓国人って本当に池沼だな
ウリが正しいニダ、お前が間違っているニダ、しか言えない

韓国人死ね

例えば、>>315以降、韓国や中国がすごいと思うのなら、
主観的でもいいから何をすごいと思うのか言い、
少なくとも他人が確認できるように(ググれる)キーワードやURLを出せばいいじゃないか。
そうしないと会話が成立しない。

繰り返すが、お前らは本当に声闘しかしない。
ひたすら感情的な言いがかりを繰り返すだけだ。
だから連呼リアンって呼ばれるんだよ。

何度も言っているが、不満があるのなら出て行って別スレを盛り上げてこのスレを潰せ。
それが出来るのならお前の言い分が正しいということになる。
お前らが居なくてもこのスレは成立する。
何故わざわざいやなスレに留まるのか?
在日韓国人みたいな被害者ビジネスをしたいからか?本当にゴミだな。死ね。
2017/06/17(土) 09:04:56.64ID:BN3OSggv0
>>397
韓国人死ね 目障りだから死ね
2017/06/17(土) 10:30:41.28ID:tr9ViaIf0
次から>>14の諸注意にヘイトスピーチとネット右翼お断りを追加しよう
ただのスレチならまだしも流石に酷すぎる
2017/06/17(土) 11:16:04.98ID:FayZ9xNN0
>>398,399
韓国人死ね


つか単発がスレ運営に関してグダグダ言うとか、頭おかしいだろ。
ワッチョイコロコロもチキン過ぎて笑える。

マジで韓国人は死ねよ。お前らが居なければ2chはだいぶマシだろうよ。
そうやってヘイトスッペチ認定を繰り返してきたから今のパヨクの体たらくなんだよ。
今まで一度も論理的な反論がないし。まあパヨクの日常だが。

とはいえ、どっちが頭がおかしいかは読んでいる奴が決めればいいだけだ。
さすがに今時ネットする奴は、連呼すれば洗脳できるとか無いぞ。
韓国ではそうなのかもしれんが。


ついでだから>>385がパヨクな件を説明しておこう。
> 2chでは一度として成功しなかった
これに対して自分が悪いとは1mmも思わないのがパヨクの特徴だよ。
成功したり失敗したりするのは普通で、
実際、韓国人みたいに頭がおかしい奴も居るのも事実だから、100%成功ってのもありえないけど、
一度も成功しないのならお前が悪いんだろ、でしかない。
ちょっと考えれば分かるはずなのだが、ちょっとも考えないところがパヨクだよね。
何で相手が常に悪いってことになるのさ?頭おかしすぎ。
2017/06/17(土) 11:22:49.22ID:iutrtGd20
>>399
「みんなで〜しよう!」の前に自分で動いたら?
NGするとか運営に通報するとかさぁ
2017/06/17(土) 11:39:39.89ID:9RcR2/77d
レイシストにこの業界は向いてない
2017/06/17(土) 11:45:24.49ID:9RcR2/77d
つうか好きの反対は無関心って言うし
実際お隣の国貶してる体裁で実際に迷惑してるのは俺たちだし
だから辞めてくれって言ってるのにそこら辺無関心で辞めないとか
日本人より韓国人の方が大切なんだなって分かるわ
2017/06/17(土) 11:50:43.65ID:hpXZLyYV0
 


 
 
このスレは偽スレです
↓こっちが本スレなので移動しましょう。

+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/hp/1456242505/

 

 
 
2017/06/17(土) 12:24:40.36ID:FayZ9xNN0
>>402,403
連呼リアン乙
韓国人死ね

繰り返すが、韓国や中国がすごいと思うのなら、URLくれよ。
見に行くからさ。
それ見てどうか決めればいいだけだろ?

韓国はすごいニダ。ウリがそう思うから間違いないニダ。
ウリの意見を否定する奴はレイシストニダ。絶対ニダ。

よく見かける光景ではあるけど、お前らって全くこの通りだよね。


何度も言っているが、お前らが正しいと思う方法があるのなら、
それでお前ら自身で別スレ立てて盛り上げ、結果的にこのスレを殺せ。
これが出来れば、お前らが正しかったことの証明になる。
出来ないのなら、お前らが間違っているということ。
良くも悪くも民主主義なんてこんなもん。
そしてWebではフォークがこれに対応する。

>>404
404の対応は正しい。君はlodash君か?
実はあの質問にマトモな回答をすること自体はあまりよくないのだけど、
君の「とにかくコードを書く」という姿勢だけは素晴らしい。
よってコメントしておく。
細かいが、.html()ではなくて.text()を使うべきだ。>>391
俺はWeb屋ではないので間違っているかもしれんが、
textContentを優先的に使う癖をつけるべきだ。
innerHTMLの方が汎用的で拡張した場合に流用が利くのは確かだが、
それはそのまま潜在的なセキュリティホールであることを意味する。
管理しきれるのならinnerHTMLで統一するのもありだが、現実的には無理だと思うぞ。
2017/06/17(土) 12:32:28.58ID:tgO8eJCzM
時刻を入れるだけのJSにセキュリティーホールてww
2017/06/17(土) 12:36:15.95ID:clGVyKAw0
>>368
http://4dmaster.webcrow.jp/clock.html

もうこれで十分だろ
2017/06/17(土) 13:27:35.67ID:Hi5oNHltM
>>386
JavaScript関係の話題で明らかに誤解を招く説明を彼がしていたなら、訂正するのは良いと思う
彼は反論するだろうが、そこは無視する
情報を正したら彼以外の者同士で話し合えば良い

「韓国人が〜」のような明らかにスレ違いな内容は無視するに限る
それが彼の個人的な感情であることは誰が見ても明らかであり、誤解が生まれる可能性は皆無だ
それに反応する事は彼がレスする大義名分を与えるだけでデメリットしかないと俺は思う
2017/06/17(土) 13:42:09.57ID:hpXZLyYV0
>>405
> 細かいが、.html()ではなくて.text()を使うべきだ。>>391

元々のコードがinnerHTMLだったからね。

セキュリティ上で注目する点は、それが外部から与えられた値か
どうかってのが重要な点だから直接html()を使うかどうかは関係ないよ。

今回はHTMLタグを使わなかったのだからtext()でもよかったが、
外部から与えられる値ではないのでhtml()でも問題ない。

> 管理しきれるのならinnerHTMLで統一するのもありだが、現実的には無理だと思うぞ。
繰り返すけど、innerHTMLかどうかではなくて、
使用する値が外部から与えられた値かどうかを管理するべき
他にもクッキーとかある。
2017/06/17(土) 13:48:09.62ID:hpXZLyYV0
text()を使うか、html()を使うかは仕様による。

とは別の話で、

外部から与えられる値を使うときは
セキュリティに注意する。という話。
2017/06/17(土) 14:01:43.55ID:FayZ9xNN0
俺はちゃんとお前らのNGに適合するように投稿している。
お前らはNGすべきと主張しているが、
NGすべきと主張する奴に限って明らかにNGしてないのは何故だ?
本当にパヨクは笑える。

>>408
> 誤解が生まれる可能性は皆無だ
違うぞ。お前らが根本的に間違っているのはここだ。

読者はどっちの言い分が妥当か、自由に判断するだけだ。それ自体に正解も誤解もない。
俺達は、自分の考えがより妥当なのだ、なぜなら(俺が思う)根拠はこうだからだ、
とひたすら説明し、自分の考えが相手に誤解無く伝わるように努めることしかできない。
繰り返すが、それをどう捉えるかは読者の自由だ。
お前らゴミ韓国人がひたすら感情的に「ウリが正しいニダ」と主張するのは自由だが、
それはそうだと取られるだけであって、そこに誤解は発生しえない。
(つってもお前らにはこれだと禅問答で通じないのだろうけど)

>>385
大体そもそも、価値観の多様性を尊重するのなら、相手の価値観も尊重しないと駄目だろ。
自分の価値観は尊重するが、相手の価値観は認めない、ってのがパヨクのノリだよね。
だから奴らは内ゲバを繰り返す。
とはいえ彼らの日常だが。

韓国人死ね
2017/06/17(土) 14:14:55.98ID:B2VMg4fla
たかだかinnerHTMLやtextContentをhtml()やtext()で使う為だけにjQueryロードするのってなんか不毛じゃない?
2017/06/17(土) 14:18:58.31ID:hpXZLyYV0
>>412
サンプルだから違いがわからないようにみえるだけ
2ちゃんねるやjsfiddleに書ける程度の量のコードで不毛とか
判断するほうが不毛だよw
2017/06/17(土) 14:21:57.56ID:FayZ9xNN0
>>409
> 元々のコードがinnerHTMLだったからね。
ああなるほど、これは失念していた。

> 外部から与えられる値ではないのでhtml()でも問題ない。
いやこれはそうじゃない。
CDNをクラックされてmoment.jsを差し替えられたら、
>>391のコードを採用しているサイトを見ているクライアントは
いい感じにXSSのボットネットになっちまうだろ。
鯖設定で回避も可能だが、二重三重にしたいのなら、
textContentで済む場合はそっち使え、って話さ。

ハードコードの場合は全く問題ない。
ソフトコード(とは普通言わないが)の場合は危険だが、今回はそうではない。
ただしハードコードでもないんだよ。あえて言うならファームコード?なのかな。

そして根本的な原因は、374に書いたとおり、
馬鹿が書いたサイトを初心者が信じてそのまま使っちゃうことだね。
初心者向けのサイトだからこそtextContent原理主義じゃないと困る。


あと、見りゃ分かるが>>406みたいに何も分かってない馬鹿が俺に粘着しているわけだが、
俺はついでにこの馬鹿も殺したいので、
可能であればもう少し考えてからレスしてくれ。
君がスルーしてくれれば俺がこの情報を出す必要は無かった。
そして君には少し考えれば上記CDNのクラック位思いつく知識はあるはずだ。
ただなんとなく、君はlodash君の感じではないなあ。誤解していたならすまんかった。


韓国人死ね
2017/06/17(土) 14:27:48.61ID:hpXZLyYV0
>>414
> CDNをクラックされてmoment.jsを差し替えられたら、
いくらhtml()を使わないようにしても、

その差し替えられたmemont.jsで使うだろうから
意味ないだろう?

何を言い出してるんだろう?
2017/06/17(土) 14:30:22.81ID:hpXZLyYV0
>>414
> あえて言うならファームコード?なのかな。

そんなコードはない。
何が言いたいのだろうか?

moment()が外部から与えられる値?
まさか、monent()が内部で使ってる日付関数が
HTMLコードを返したらどうしよう?とか考えてるのか?
2017/06/17(土) 14:35:04.45ID:3/8QDIF10
>>414
いい加減にしろ
死ねとか書くの辞めろ
とにかく辞めろ
2017/06/17(土) 14:44:27.31ID:hpXZLyYV0
> CDNをクラックされてmoment.jsを差し替えられたら、
> >>391のコードを採用しているサイトを見ているクライアントは
> いい感じにXSSのボットネットになっちまうだろ。

例えて言うならば、家の中でお金を金庫に入れていれば、
家に入られても、お金は盗まれない。と言ってるようなもんかな。

お金は盗まれなくても、家の中に入られた時点で
いろんなものは盗まれるし、隠しカメラしかけて
金庫の暗証番号を盗むことだってできるだろ



それと同じでCDNをクラックされた時点で、どんな対応をしたところで
XSSのボットネット(なにそれ?w)どころか
もっと大きなセキュリティ問題が発生する。

仮にJavaScript使わなかったとしても、サーバーをクラックされたら
勝手にJavaScript埋め込まれるしな。
2017/06/17(土) 15:06:54.75ID:FayZ9xNN0
>>415,416
あれ?やっぱlodash君だった?
つか、マジでもうちょっと考えてレスしてくれ。君なら理解できるはずだが。
と、書いているうちに回答が来た。>>418は正しく通じているように思える。

>>417
さっきから何度も言ってるんだが、
君の考えが正しいと思うのなら、
君がそれを可能な限り説明し、
同調してくれる人が増えるように努力することしか出来ないんだよ。
パヨクは自分の考えを他人に強制するが、それは無理なんだよ。
いい加減分かれよマジで。

俺は今このスレに必要なことを淡々とやっている。「韓国人死ね」もその一環だ。
価値観の多様性ガーなら、俺の価値観も尊重しろよ。
そしてこの俺の考えについて、どう捕らえるかは読者の自由。
お前が嫌うのもお前の自由。
だけど俺がそう思うのを君が止めることは出来ない。それだけ。

韓国人死ね

そして何度も言っている様に、
>>380的お花畑スレが成立すると思うのなら、やってみろよ。
俺はスレ立てや他人の移住を止めることは出来ない。
つまりお前らの実力があればそれは成立する。

とはいえ、多分お前らには無理だがね。
2chがそれなりに殺伐としているのには理由があるんだよ。
それを理解する知能すらないくせに、良スレの維持は無理だよ。
でも、とにかくやってみろ。
それが成立してこのスレが死ぬようなら、お前らの勝ちだよ。
2017/06/17(土) 15:17:49.00ID:hpXZLyYV0
>>419
だからtext()を使うかhtml()を使うかは仕様によるんだって。
HTMLタグ使いたい場合は、html()を使うのが一番簡単だろ

その時、表示する文字列が外部から入力される値であれば値のチェックが必要になる。
(text()に変更すると仕様を満たせないという問題がある)

少なくとも今回は外部から入力される文字じゃないので
html()を使っても安全だという話
2017/06/17(土) 15:28:14.56ID:FayZ9xNN0
>>420
完全に通じている感があるからもういいんじゃないか?とも思うが、
一応回答しておく。

420の内容についてはその通り。
しかし>>391のコード、
> var msg = moment().format('現在時刻は、HH:mm:ss です。')
はtext()で問題ないだろ、というだけ。
それを元がhtml()だったからそうした、というのならそれでよし。
ただし初心者ならtextContentを優先的に使う癖をつけるべし。

韓国人死ね
2017/06/17(土) 15:40:34.89ID:6Dh/sXTAd
なげえな
2017/06/17(土) 16:39:46.26ID:tgO8eJCzM
この阿呆ってほんと頭の固い老害だよなぁ
物事を記号的に覚えて意味や影響とかを考えることもなくただ機械的に連呼するだけという
おそらくもまともなプログラム組んだこともなければJQueryやらその他有名どころのライブラリのコード追った事もないと思われ
とにかく考えが古くさすぎて見てて痛い
2017/06/17(土) 17:10:40.88ID:QNc8Gyrfp
とりあえずレス番飛びすぎてて何の話かわからんのは何とかならんかね?
2017/06/17(土) 18:54:45.01ID:6TkoieDga
.html(data)
ってajaxのレスポンスを結果領域にぶっ混む時くらいしか使わないんだけど
君たちはどういうシチュエーションで使う話してる?
2017/06/17(土) 19:01:55.96ID:tgO8eJCzM
>>425
レスポンス結果ぶち込む時に使う=画面の内容をを更新するってことだろ
DOM操作の一種なんだから、普通に考えて使う機会くらいいくらでも想像できるとおもうが
2017/06/17(土) 19:03:22.13ID:Hi5oNHltM
ID:FayZ9xNN0 が暴れて不毛な議論を繰り返しているだけなので、全スルーでOK
だから、彼に関わるな、といったのだが
2017/06/17(土) 19:06:04.67ID:hpXZLyYV0
HTMLに<tamplete>タグでテンプレートを書いて
JavaScriptでそれを読み込んで、
テンプレート内の値を書き換え
それを画面に反映させるとか
2017/06/17(土) 19:12:09.47ID:Hi5oNHltM
>>427>>424

>>425
議論には参加していなかったが、.html()はHTMLタグ挿入に使い、.text()はテキストノード挿入に使う
外部データかどうかを判断指標にしている人もいたようだが、私自身はそこは問題にしてない
例えば、>>391で必要なのはテキストノードなので、.text()を使う
ただ、基本ノード単位で操作しているから、.html() をあまり使わないな…
2017/06/17(土) 19:41:02.05ID:hpXZLyYV0
> 外部データかどうかを判断指標にしている人もいたようだが、

何を言ってるんだ? 話をごっちゃにするな。

外部からくるデータの取扱いに注意するというのは
XSSなどのセキュリティの話だ。

html()とtext()の使い分けは最初から仕様によるといってる。
2017/06/17(土) 19:45:48.99ID:hpXZLyYV0
> ただ、基本ノード単位で操作しているから、.html() をあまり使わないな…

JavaScriptで複雑な構造のHTMLを扱うときには便利だよ。
いちいち要素単位で作ったりとか面倒。

要素単位で組み立てるのが面倒だからこそReactではJSXという
HTMLっぽいものをより安全に直接かけるように拡張されている。

JavaScriptで複雑な構造のHTMLを扱うのが
そもそも間違いという考え方もあるが、その場合は代替として
<template>タグなどでHTMLをテンプレート化して使うわけだが、
そのテンプレートの適用結果を表示する時にhtml()を使う
2017/06/17(土) 20:04:18.55ID:clGVyKAw0
ユーザー入力のデータなんてノーチェックで.html()に突っ込む人いんの?
2017/06/17(土) 20:07:59.15ID:hpXZLyYV0
>>432
いるから時々XSSの脆弱性のニュースがながれるんじゃないの?
2017/06/17(土) 20:09:59.45ID:FayZ9xNN0
>>431
俺は場合によってはhtml()を使用することを否定はしないが、
> <template>タグなどでHTMLをテンプレート化して使うわけだが、
> そのテンプレートの適用結果を表示する時にhtml()を使う
これはちょっと違う。というか、MDN見てみ。innerHTML使ってないから。
https://developer.mozilla.org/ja/docs/Web/HTML/Element/template

とはいえ、このMDNのサンプルコードも見てて気持ち悪い。
普通の感覚なら、cloneした後にtextContentを書き換えると思うのだが。
何か特殊な最適化が施してあってこっちのほうが速いとかあるのか?

韓国人死ね
2017/06/17(土) 20:19:33.68ID:lmKBKCKYa
セキュリティの観点で.html()じゃなくて.text()を使うべきって言ってる人は根本的にその前段階の設計を怠ってるってことじゃないの?
2017/06/18(日) 02:02:43.70ID:xXiTHZsI0
お聞きしたいのですがブラウザをFirefox使っており、web上のjavasccriptで入力した内容のログってどこに格納されているんでしょうか?
一応Firefoxのformhistory.sqliteの中を覗いたのですが通常の入力フォーム内容ばかりで…
javascriptの専門家の方々であればご存知かとお見受けしてお聞きさせてもらいました。
2017/06/18(日) 02:31:16.45ID:5NaLiEE50
>>400
韓国人死ね うざいから死ね 今すぐ死ね
2017/06/18(日) 05:17:19.33ID:uNjucuUR0
どんな理由があろうと死ねとか連呼できるやつは本気で許せんわ
うちの子供だったら殴り倒してる
2017/06/18(日) 05:19:47.22ID:P8yIezdDa
(言葉ばダメで弱者を殴るのはいいのか……)
2017/06/18(日) 05:47:10.72ID:pnvlJ80wE
自己矛盾に気が付かない人っているよな
2017/06/18(日) 12:19:42.18ID:sCw/anR20
結局お花畑ちゃんからの返事はなしか?
一応対話するつもりで居たんだがな。
書き溜めたものから虫食いで投下する作戦だったのだが、
出てこないのなら仕方ない。纏めて投下する。
一部重複もある。その部分には(この段落既出)とつけておく。
再構成はイマイチ上手くいかなかったし、もう面倒だ。


>>375
お前らは俺の言うことをまったく聞かないどころか邪魔ばかりしてきたくせに、
何故俺がお前らの意見を尊重してやると思うのか。
何度も言っているが、さっさと出て行けよゴミ。

韓国人死ね

そもそも俺はずっと前からここにいたし、ずっとこの調子だ。
それを後から来たお前らがグダグダ言うのは筋違いだと思わないのか?
それともマジでお前は韓国人レベルのゴミなのか?
本当にNGしてたら俺が見えないはずだし、色々おかしいと気づかないのか?
2017/06/18(日) 12:20:12.38ID:sCw/anR20
>>380
というか、お前は馬鹿の癖に何でそんなに分かった風な口を利くんだ?
380に関しては、言ってることが全部間違ってるぞ。
お前は何も分かってない。

お前は自分の頭がおかしいことに気づいたほうがいい。
なお、「鏡」と思うのなら、
何度も言っているように、お前らで他スレを盛り上げてこのスレを結果的に殺せ。
俺はお前らにはその能力は無いと見ているが、ここはWebだ。
方向性に対する意見の相違はフォークで決着すべきだ。
このスレを乗っ取るのではなくてね。

既に言ったが、俺はお前らは烏合の衆だと思っている。
お前らは頭が悪すぎて、或いは俺と見えているものの次元が違いすぎて、
俺がいくら説明しても理解できない。
だからフォークしかない。
お前らが無能だということを理解するまでフォークし続けろ。
お前に最低限の知能があれば、俺が何を言っていたのか理解する時が来るだろう。
そしてそのとき、お前らのフォークは成功し、このスレは潰れる。
これは正しいスレの殺し方だから、ガンガン挑戦しろ。
そのときに始めて、お前らは俺を馬鹿にするのが妥当な状況になる。
今はお前らの方が明らかに馬鹿だし、韓国人のような精神異常者でしかない。

韓国人死ね
2017/06/18(日) 12:22:12.54ID:sCw/anR20
一応言っておくが、一度この板のスレが復活した後、
大半の奴はWeb板に戻っただろ?
あれは結果的にフォークなんだよ。どっちがマスタなのかはさておき。
そしてお前らがWeb板を捨てるのなら、
それはお前らのフォークが間違っていた事の証明であることを理解しろ。
同時に、お前らが無能だったことの証明にもなっている。
だからお前らが何を言っても、Web板を捨ててこのスレに留まる限り、お前らはゴミでしかないんだよ。
それを自分自身で証明し続けているという馬鹿な矛盾に気づけ。

もっとも、この論理が分かる奴は、いちいちグダグダ言うことはなく多少は遠慮するはずだし、
お前らにこれを理解できるほどの知能がないことも俺は既に理解した。

韓国人死ね

なんつーか、本当に多分全然次元が違うんだよ。
俺は「投稿しない」と宣言し、実際に投稿しないことによってWeb板スレを潰した。
そんなことはお前らには出来ないだろ?
いや正確には、勝手に潰れただけだし、
俺は潰したいとも思っておらず、むしろ存続して欲しいんだが、
そんなことお構い無しにお前らはこのスレにたかっている。
それがどういうことなのか気づけ。そしてマジでイナゴ行為は止めろ。

俺は今このスレに必要なことを淡々とやっている。
お前らは頭が悪すぎて、俺が何を意図しているのかさっぱり分からない。
しかし結果としてお前がいるスレはゴミになり、
俺がいるスレは、少なくともお前らには無理してでも居座りたいスレになっているんだろ?
これがどういうことなのか、よく考えろ。
2017/06/18(日) 12:24:24.74ID:sCw/anR20
韓国人死ね

死ね死ね言うことが単純に状況の悪化に結びつくのなら、
それが日常な2chと、基本的にありえない知恵袋やその他の「マトモな」サイトで、
何故お前らが2chを選ぶのか、お前ら自身が説明出来ないだろ。
お前らは自己矛盾にも気づけないほどの馬鹿であることに気づけ。

そういう単純な話じゃないんだよ。
それは並みの知能があれば半年で分かるようになる。
だから「半年ROMってろ」ってのはある意味至極マトモで、
半年以上2ch経験があって、俺の言っていることが全く意味不明なのだとしたら、
お前は間違いなく池沼だよ。これは断言できる。
(ただまあ、>>380に関してはこの部分については理解できているようだが)

敬語を使うとか、丁寧に言うとか、そういう表面的なことは割とどうでもいいんだよ。
スレの質を保つ方法はもっと本質的なところにある。
お前はそれをまるきり分かってない。俺は何度も説明してきてるんだがね。
とにかく、文句があるのなら、何度も言っているが、フォークしろ。
お前が中心になって別スレを立ててそちらを盛り上げ、結果的にこのスレを潰せ。

(そろそろ連投制限に引っかかるかも、、、途中で切れたらお察しで)
2017/06/18(日) 12:25:25.22ID:sCw/anR20
今のお前らには俺に出て行ってもらいたいのだろうが、俺が出て行っても同じことだ。
スレの質が悪化する原因はお前ら自身だからだ。
お前らが居る限り、近い将来必ずゴミスレになる。
何故俺が定期的に毒を吐くにもかかわらずスレの質が上がるのか、全く理解出来ないだろ?
それはお前がお花畑だからだよ。
こっちはいい迷惑だ。お前らは集団ストーカーでしかない。マジで自殺してくれ。
そしてそういったイナゴ行為は長期的にお前ら自身にもメリットが無いことを理解しろ。

マジで韓国人は死ね、存在自体が迷惑だ

お前らは気づいていないんだろうが、それはお前らが馬鹿だからであり、
分かるやつには分かるし、迷惑行為をし続けてるんだよ。だから韓国人は嫌われる。
本当に、それだけなんだよ。
お前は、何故自然発生的に国というものが成立したのか、
或いは何故韓国人「のみ」が嫌われるのか説明出来ないだろ?(この段落既出)

ただまあ、説明はしなくていい。というか、説明されて俺が納得することに意味は無い。
結果的には、多数が支持すれば正しいとされる、それが民主主義だ。
だから文句があるのなら、フォークして盛り上げろ、それだけでいい。
それでお前が正しかったことになる。
で、現段階は俺が定期的に毒を吐いているこのスレのほうがいいという判断で、
お前らは無理してここに居座ろうとしてるんだろ?
それは俺が正しかったことの証明に他ならないんだよ。
お前らにはこのことも理解できないのだろうけど。

とにかく、俺が調整しているレベルはお前らの理解を多分大幅に超えている。
だからお前らには理解できない。いくら説明してもね。
俺が既に何度もこの手の投稿をしてきているのはお前も知っているはず。
だから、足を引っ張るのは止めろマジで。

韓国人死ね
2017/06/18(日) 12:26:24.73ID:sCw/anR20
>>385のように「俺が正しくてお前が間違い」とわめき散らし、
そういう流れを自演してでも作り上げるのはゆとりの常套手段だが、
そもそもお前らが正しいのなら、お前らでもっとマシなスレを作れるはずなんだよ。
実際はそうじゃないだろ?
お前らではマトモなスレは維持できない。それはお前らこそがゴミだから。
ただこれも何度も言っているが、
これで「俺が正しい!だからお前は俺の意見を聞くべきだ!」ってのは
全く意味が無い水掛け論なんだよ。
だから俺はひたすら「フォークしろ」と言っている。
そしてフォークした先が繁盛するのなら、それでお前が正しかったことの証明になるんだよ。

お前らは若いくせに脳が老害化している。マジでそれはやばいからよく考えろ。
お前らは自覚していないようだが、ゆとりは無自覚で色々迷惑行為を続けている。
だから嫌われている。これは本当に理解した方がいい。
自分が理解できてない事柄なんて世の中には沢山あるんだよ。
このことを認識しないといけない。

いくらお前らが自演しても、
お前らが言っていることとやっていることの矛盾は解消されない。
お前らがいくらでも俺を批判するのも自由だけど、
それと結果が乖離しているんだから、第三者から見ればただのキチガイにしか見えない。
それをお前らは相手が悪いとみなして思考が引きこもってしまう傾向があるが、
それは本当によくないから止めろ。(例はID:Hi5oNHltM)
本当に何度も繰り返しているが、
方向性に対する意見の相違はフォークで決着すべきなんだよ。
それを価値観の多様性という謎の常套文句でごまかしてきたのはパヨクだ。
いい加減洗脳から解けてくれ。

韓国人死ね
2017/06/18(日) 12:33:03.48ID:dLIsPmeH0
はい、このスレは見ての通り荒れているのです
だから皆さん元のスレに帰りましょう。
 


 
 
このスレは偽スレです
↓こっちが本スレなので移動しましょう。

+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/hp/1456242505/

 

 
 
2017/06/18(日) 12:37:00.63ID:PsO32lvbM
>>430
勿論、別の話だが、セキュリティは本題ではない
>>391で期待しているのはテキストノードであって、.html()を使う理由がないという事
.html()でも期待通りに動作するが、それがHTMLタグでないなら.html()は使用しない
2017/06/18(日) 12:47:54.26ID:PsO32lvbM
>>431
template要素を使うなら、document.importNode() とTtemplate要素のAPIを使い、必要であれば jQuery() で変換する
IE11が対応ブラウザに入っていたり、jQuery APIを活用したいなら、jQuery.fn.importTemplateNode に互換コードを定義してやる
http://caniuse.com/#feat=template
https://developer.mozilla.org/en-US/docs/Web/API/Document/importNode
2017/06/18(日) 13:36:49.06ID:sCw/anR20
やはり連投制限に引っかかった。続きを落とす。
支援してくれたのならありがとさん。

例えば、
> 2chでは一度として成功しなかった
これに対して自分が悪いとは1mmも思わないのがパヨクの特徴だよ。
成功したり失敗したりするのは普通で、
実際、おかしな奴が居るのも事実だから、100%成功ってのもありえないけど、
一度も成功しないのならお前が悪いんだろ、でしかない。
ちょっと考えれば分かるはずなのだが、ちょっとも考えないところがパヨクだよね。
何で相手が常に悪いってことになるのさ?頭おかしすぎ。(この段落既出)

俺は「俺が間違っている可能性もある」し、
或いは他の誰かが「俺以上に上手くやれる可能性もある」と思っているから、(確率的には無いが)
文句があるのならフォークしろ、この一点張りなんだよ。
単純に、競争原理でよりよいスレが勝つ、それだけなんだよ。
そうしないと、馬鹿が馬鹿だと自覚できていない程度の今のお前らでは何も改善できない。
ちょっとマシになったスレにたかってそのスレを悪化させ、移住する、その繰り返しだろ。
まさにイナゴでね。
これも何度も言ってきたんだが。

韓国人死ね
2017/06/18(日) 13:38:47.72ID:sCw/anR20
例えば>>353についてJavaScript beanでググったらトップにこれがヒットするわけだが、
http://www.javaroad.jp/bbs/answer.jsp?q_id=20070926111848184
これどう思うよ?
俺はmioの回答を全面的に肯定するよ。まあある意味2chのノリがこれだ。
それでその後噛み付かれまくっているわけだが、これが「きちんとしたフォーラム」のノリだよね。
それでどっちがいいかだよ。
「きちんとしたフォーラム」がいいと思うのなら、そっち行けって話だよ。

大体そもそも、価値観の多様性を尊重するのなら、相手の価値観も尊重しないと駄目だろ。
自分の価値観は尊重するが、相手の価値観は認めない、ってのがパヨクのノリだよね。
だから奴らは内ゲバを繰り返す。(この段落既出)

若いお前らが洗脳されているのはある程度仕方ないとしても、
成人した後に洗脳を自分で解けないのはおまえ自身の問題だぞ。
本当によく考えろ。
今のお前らでは、フォーク以外に改善する方法は無いと思う。
だって、お前らも、俺以上に賢いつもりで、俺の意見なんて尊重しないんだし。
マジでお前ら言っていることやっていることがパヨクすぎて引く。

韓国人死ね
2017/06/18(日) 13:40:56.04ID:sCw/anR20
一つお前らに見えてないであろう点を挙げておこうか。
俺の発言は検証済みなんだよ。だからある程度信じていい。

構造は簡単、俺はこいつら不遜鮮人をぶっ叩きまくっている。
だから当然彼らは俺をぶっ叩きたいと思っているし、些細な間違いでも攻撃してくるだろう。
それは>>408にもそのまま現れている。
> JavaScript関係の話題で明らかに誤解を招く説明を彼がしていたなら、訂正するのは良いと思う
> 彼は反論するだろうが、そこは無視する
> 情報を正したら彼以外の者同士で話し合えば良い

つまり不遜鮮人が俺を叩けないということは、俺はそれなりに妥当なことを言ってることになる。
俺はこいつら不遜鮮人を検証要員として、スレにプラスに寄与する方向に転化して利用できている。
お前らこんなことも見えてないだろ?
俺とお前らでは調整しているレベルが違うのさ。

韓国人死ね
2017/06/18(日) 13:42:56.97ID:sCw/anR20
Web板のスレの問題は自演が多いことと、明らかな間違いも散見されることだ。
とはいえお前らも割と対処できていて、多分前者は大半の者が見抜いていると思う。
しかし後者については相変わらず水掛け論だ。
もちろん正しいことを言っているやつもいるんだけどね。

そこで上記ソリューションだ。
俺の発言は、特に突っ込まれていなければ、正しい。
だって、突込みを誘発する方向に振り切っているから。
どうだい、この論理は?

だから、lodash君みたいな、原理主義的に突っ込んでくる奴も一概に「荒らし」というわけではないのさ。
少しでも間違っていたら突っ込んでくるのであれば、検証要員としてはかなり優秀だ。
お前らは相手に自分の意見を押し付けようとするが、それはここでは不可能だ。
そうではなく、相手の考えを生かした状態で、どうやってプラス方向に使えるか、それを考えるべきだ。

そもそもスレが腐るのはお前らのスレ運営能力があまりに拙いからだ。
だから俺は何度も具体的にこういうことを書いている。
2chを楽しむつもりなら、お前らはここら辺についてもっと上手くならなければならない。
そうしないと一生ウンコの投げ合いで終わってしまうぞ。韓国人みたいに。

お前らがここら辺を理解し、俺以上の操縦能力を確保したら、
お前らがやっているスレのほうが断然いいスレになるし、
俺がどうやってもお前らに勝てないようになる。
俺はその日が来ることを願っている。お前らはもっと上手くならなければならない。
スレが抱える問題(これはお前らでも見えるはず)に対し、
どういう方策で対処しようとしているのか、これを考えろ。(お前らにはこれが見えていない)

韓国人死ね

今回は以上。支援サンクス。
2017/06/18(日) 18:19:36.32ID:M42BMc340
>>436
console.logの話を言ってるんであればF12を押してみ?
455デフォルトの名無しさん (ワッチョイ 5333-HF6k)
垢版 |
2017/06/18(日) 19:05:04.58ID:tT89pNa20
Liskというすごい技術の上で動くアプリがJavascriptで作れるらしいのですが、
詳しい人いますか?

https://coincheck.com/ja/exchange
2017/06/18(日) 20:36:01.22ID:sCw/anR20
>>455
お前によるとJavaで書けるらしいぞ

> 241 名前:デフォルトの名無しさん[] 投稿日:2017/06/18(日) 19:03:13.73 ID:tT89pNa2
> Liskってすごい技術がJAVAで書けるらしいのですが、詳しい人いる?
>
> https://coincheck.com/ja/exchange
>
> http://mevius.2ch.net/test/read.cgi/tech/1492780397/241
2017/06/18(日) 21:20:02.98ID:sCw/anR20
一応、池沼な韓国人にも分かるように俺の論理を説明しておこう。

俺は勝負を受けた。
俺が適切だと思う限り、俺はここでお前らのNGに適合するように投稿を続ける。
(偶に忘れているのはすまん)
何度も言っているが、俺はWeb板のスレに投稿することはない。
或いは、お前らがフォークしたスレに投稿する事もないだろう。
これでこのスレが賑わい、他スレが成立しないのなら、
俺のやり方が正しかったことの証明になる。
だから俺のやり方に反対する者は、他スレを賑わせ、このスレを結果的に殺すように努力しろ。
それが出来ればお前らの勝ち、俺の負けだ。

韓国人死ね

韓国人の問題は、相手側を邪魔するマイナス方向の競争しかしないことだ。
反日で相手の足を引っ張ることこそが正しいと洗脳され、
それがおかしいと気づく知能も無いヒトモドキは、死ねばいい。

非韓三原則:助けない、教えない、関わらない

ただし俺たちがゴミに合わせる必要は無い。
俺らは正規の競争、よいものをよりよいものが倒す、これを目指すべきだ。
だから、文句があるのならフォークしろ。そしてそこを盛り上げろ。
もちろん俺も他スレが繁盛するようなら何らかの反応はする。
そうやってプラス方向に競争するのが本来の姿だ。
足の引っ張り合いなんてマジで止めろ。誰にも利益がない。

お前らの問題は、どういうレスがスレを悪化させるか全く分かってない点だ。
単純に答えればいいというものではない。
もちろん、叩けばいいってものでもないし、丁寧な言葉を使いさえすればいいわけでもない。
ただそれも含めて経験だ。とにかくフォークして、お前らでがんばってみろ。
2017/06/18(日) 21:56:31.92ID:M42BMc340
>>456
そいつ単なるビットコイン誘導のスクリプトかバイトだろ
459デフォルトの名無しさん (ワッチョイ 5333-HF6k)
垢版 |
2017/06/18(日) 22:04:33.33ID:MEg0I4VS0
Liskが広まればJavascriptの仕事が増える?
みんなLisk買おうぜ。
2017/06/18(日) 22:17:39.12ID:sCw/anR20
>>458
ああ、マルチってまんま言うより面白いかと思ったが、お気に召さなかったかな?
或いは安価つけたら金になるから止めろって話か?

韓国人死ね
2017/06/19(月) 00:39:11.89ID:3b1n3SsL0
>>418
SRIつければChromeとかFirefoxでは防がれるからそれを推奨してくべきでは
462デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/19(月) 03:03:45.32ID:0vUITruH0
Anglar みたいにクラス名指定でフレームワークのエンジンに
描画を委託している要素が上手く描画されてくれないときって
どうやってデバッグすればいの?
devtoolsのコンソールにもエラーは出てないし、
単純に描画されていないから調べることができない
ブラウザ表示している外部のJSファイル上の変数が
ブラウザ上で認識できているか(ちゃんとHTMLに渡ってきているか)
しらべたいんだけど・・・
463デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/19(月) 03:08:54.43ID:0vUITruH0
HTML属性値っていうのは
「変数」として認識されているのか?それとも単なる文字列?
この属性の文字列ってどこで解析して処理してるんだろう。
単なる文字列ならまだわかるけど変数とか配列とか関数とかを
属性上に設定している場合
464デフォルトの名無しさん (ワッチョイ 5333-HF6k)
垢版 |
2017/06/19(月) 20:38:46.76ID:ZDExsnuJ0
お前らLisk買った?

https://coincheck.com/ja/exchange


今400円だとして、100万円分Lisk買ってLiskが4000円に上がったら1000万円になるよ。
2017/06/19(月) 20:54:48.45ID:YT+EGMzwa
urlNG推奨
2017/06/19(月) 22:40:14.78ID:KAZNYLgu0
>>463
当たり前だけどHTML上で属性は必ず文字列だけど、
当然内部的にはそれがパースされて使われるし、
JSから触ってるのは通常アクセサであってパース後の内部的に利用される値とほぼ同じ形態ものが読み書きできる
イベントハンドラの設定は要素の属性値に直接書き出すときは
一旦文字列で要素に追加されて、文字列化された関数がまたパースされて認識されるけど
addEventListenerなどを使った場合はそれをスキップして
直接内部的な紐付けに関数オブジェクトとして登録される
2017/06/19(月) 22:41:37.38ID:Pl8Yq5/9M
>>463
質問内容が漠然としているので、コードで質問することをお勧めする
HTMLの属性と関わりがあるのはDOMになるが
https://developer.mozilla.org/ja/docs/Web/API/Element/getAttribute
https://developer.mozilla.org/ja/docs/Web/API/Element/attributes
2017/06/19(月) 23:17:27.36ID:BW5wWpcZ0
>>462
ブレークポイントを貼って、1行ずつデバッグ実行するとか?

フレームワークの中を、ステップ実行するのは、かなり面倒。
jQuery 程度でも、中をステップ実行するのは、面倒くさい

もっと簡単なのは、すべて削除して、
その部分だけ実行する、プログラムを別に作って、チェックする

Angular のスレか、コミュニティーへ行って、
専用のテストツール・テスト方法を調べた方がよい
2017/06/19(月) 23:27:07.55ID:l1liGy+g0
Angularはしらんけど、Firefoxは
https://developer.mozilla.org/ja/docs/Tools/Page_Inspector/How_to/Examine_event_listeners

標準 DOM イベント
jQuery のイベント
React のイベント (Firefox 53 の新機能)

に対応しているから、調べやすいよ
2017/06/20(火) 01:20:58.11ID:Yq4eqPYY0
つうかフレームワーク飛ばしてステップ実行できる
ChromeならDevツールの設定からBlackboxing
2017/06/20(火) 01:23:35.72ID:uMblZ3Am0
Chromeでデバグ中にjQuery等のライブラリをデバガから除外したい
http://qiita.com/k12u/items/3d667c1cf5287625024c

これか? ぶっちゃけ最近デバッガを使ってデバッグなんてしないんで
使うことは少なそうだけど覚えておこう
2017/06/21(水) 03:01:45.20ID:CAzvCkNY0
>>471
デバッガ使いたくなんない?むしろなんで使わない
473デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/21(水) 03:17:38.50ID:S2UygZ3z0
なるほど、ライブラリやフレームワークごとの専用の
デバッガがあるから、それを使えってことかな?
素のDevToolでJSの拡張機能までデバッグするのはしんどいという
訳ですな?
2017/06/21(水) 06:28:42.91ID:jrlM/REO0
>>466
>>467
韓国人死ね

>>473
誰一人としてそんな事言ってないだろドアホ
日本語できない奴は死ねよ
2017/06/21(水) 06:48:00.00ID:xiNpcjp10
>>472
俺が書くコードは、1関数だいたい10行程度なので
デバッガを使うまでもない。
デバッガ使わないとどうなってるかわからんって状態はならない
476デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/21(水) 14:22:08.00ID:S2UygZ3z0
つかいつも「is not function」とか「is not constructor」とか
発生するけどこれなんなん?
これが出るとどうすることもできないんだけど。
使用例に載っているメソ使っただけやで、なんで見つからないの?
2017/06/21(水) 16:17:38.60ID:L1LFWazB0
「is not function」「is not constructor」で検索すれば?

時間の無駄だから、動かないサンプルを使うな。
動くサンプルで試すこと
2017/06/22(木) 02:47:49.41ID:OYq0ENPVd
関数でないコンストラクタをnew無しで呼んだり
その逆をしてるんじゃないか?
2017/06/22(木) 08:10:02.93ID:Qu5nJJDT0
コンストラクタを意図してない関数にnewつけて呼んでも内容によってはエラーが出るだけだ
あとコンストラクタは全て関数だ

is not functionは5();とかhoge();(hogeは未定義)とかで出る
is not constructorはnew 5とかnew hogeとかnew Math
480デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/22(木) 09:47:04.16ID:YGBngHLu0
というと、 「is not function」と「is not constructor」は対応していて
newの有無を間違えるとどちらかのエラーがでるということ?
ちなみにその関数(もしくはコンストラクタ)をdevtoolsのコンソールで叩くと
undifinedになるな
new をつけても同じ、
別のケースとして関数名(コンストラクタ名)を叩くと
関数の内容のコードが表示されて、
() をつけて実行すると失敗する場合もある
基本的にライブラリが提供しているドキュメントに従って
文法を記述して使ってるだけなので、その通りにやったのに
失敗するとそっから先に進まずにいつも行き詰まっちゃう。
ソースは読めている場合が多く、「仕様変更か?」
「関数が仕様から削除された?」
「前提としているライブラリスクリプトが足りていない?」
「DLしてくる提供元がおかしかった??」ってなる。
大抵は公式HP, npm installからインストールしてるんだけどな、
まれにgitHub
2017/06/22(木) 11:54:01.38ID:uKRcvLOWM
>>480
その関数(というかメンバ)呼ぶところで止めてデバッガでオブジェクトみたりしないの?
今の時代それすらできないレベルだと何もできないとおもうぞ
枯れたライブラリーならともかく大抵は活発に進化を続けてるものばかりで、自分でデバッガ追ったりして仕様確認できないとどうにもならない
web屋の延長でJSもたしなみますレベルならともかくまともにJSやりたいなら最低限、ソースや実行時のオブジェクト確認は必要だとおもうぞ
2017/06/22(木) 13:38:54.78ID:lNc7wlbkM
>>480
関数ではないものを呼び出そうとするから、そうなる
[].hogehoge(); がTypeErrorになるのは自明だろう?
「あなたが関数だと思っているもの」は関数ではないのだ
483デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/22(木) 14:46:40.79ID:YGBngHLu0
コンソール上でただ関数名を叩くのと、
「特定のコードで止めた状態」で
関数名を叩くのでは意味が違うってこと?
止めるって行番クリック? お、これ結構便利じゃん、
すげえよ、これ。無名function内のイベント見れんじゃん!
いや、助かりました。なんとかなりそうだな
つかみんなこういうのどうやって覚えるの?
少なくとも大学では習わなかったし、
オライリー本とか読んでも詳しいデバッグ方法までまで書いてなかったんだ
けど。
2017/06/22(木) 15:23:14.31ID:uKRcvLOWM
>>483
昔はバグが出たら色んな箇所でalert出して中身を確認してたんだよ
後にプラグインでウォゥチができるようになり、そして時代が進んで今はそブラウザ機能で標準で付くようになった
今の時代、デバッグ方法なんでググればいくらでも出てくるから相当恵まれてるぞ
昔はある程度の規模のアプリ作るにもまずはデバッグ機能が付いた自作フレームから開発してたからなぁ
2017/06/22(木) 15:35:19.64ID:uKRcvLOWM
>>483
あと、教えてもらうのを待ってると何もできないのがJS
日本ってびっくりするくらいのIT後進国だから枯れた技術以外は本当に日本語情報がないに等しい
がんばって英語圏のサイトぐぐって自力で進まないといけないのがしんどい
若者にはほかはどうでもいいから英語だけはしっかり勉強しとけといいたい

ITに関して海外は日本とちがって技術情報をどんとんシェアしあって進化していく文化なんだよな
英語ネイティブが心底うらやましい
2017/06/22(木) 15:43:36.74ID:803dzZmQ0
2010年くらいまではfirefoxとかDOMAPIをnew無しで呼べるブラウザがあった
その影響だろうがその頃の情報を使うほうが悪い
2017/06/22(木) 15:48:26.92ID:uKRcvLOWM
今の時代firefoxは開発ではつかっちゃダメなブラウザだよね
昔はfirebugとかでお世話になってけどいまはchromeがすごすぎてそれ以外を使う選択肢がほぼなくなってしまってる
2017/06/22(木) 17:09:05.90ID:fECr67qI0
俺のfirefox54 console.logすら出ない
さすがに困る
2017/06/22(木) 17:17:37.58ID:fECr67qI0
コンソールをいじったら表示した
それにしてもfirefox使いづらくなった
2017/06/22(木) 19:57:15.06ID:pdtX1+xD0
チョロメはいいんだけど重いんだよな
チョロメを使ってnotepadか狐使ってIDEか
嗚呼メモリ4GBだと足りない時代が来るなんて
2017/06/22(木) 21:03:51.10ID:mK9eU2XF0
>>485
自演ウザい
韓国人死ね

非韓三原則: 助けない、教えない、関わらない
嫌韓は日本人によるアクションではなくて、リアクションである


結局不遜鮮人はこのスレに居つくようだ。
彼らは嘘ばかり言うから注意しろ。
いちいち指摘はしないが、ちょっと考えれば分かるはず。

不遜鮮人はこうやって全てのスレをゴミにしてきた。
このスレもWeb板と同様、ゴミスレになっていくだろう。
モラルが著しく低い韓国人の存在自体がスレの悪化につながる。

明らかにおかしな質問は無視、
知らないことには答えない、
自分より詳しい奴がいそうならそいつの回答を待つ、
意味不明な布教はしない。
本当にこれだけでいいのだが、
自己を客観的に見えないキチガイな韓国人にはこれが出来ない。

ただまあ、いちいち指摘はしない。
いやそれは無いだろ、と思ったら無視でいい。或いは叩け。
2017/06/23(金) 08:25:59.03ID:tdHTYauf0
言語の難しさでは、JSは、すごく難しい
Ruby > Python >>> JS

Rubyなら「たのしいRuby」「Effective Ruby」の2冊を読めば、そこそこ出来るけど、

JSでは「Effective JavaScript」とか、
Douglas Crockford, Stoyan Stefanov とか、読んでないと無理

Google など、フレームワークを作る人は、怪物みたいな本、
David Flanagan「JavaScript 第6版」も読んでる
2017/06/23(金) 09:33:27.67ID:3Ai2U+Dx0
いやぁ
「他の言語と比べて変わったところ」という意味ではJSもPyhonも変わらんよ
Rubyはそれらと比べて一回り自然になることを目標に作られているが

つうかJSでそれらの本は時代遅れよ だってES5の本じゃん
それにそれらを必ずしも読む必要はないよ
確かに特にプロトタイプチェーンとかを理解しようと思えば
仕様周りの説明を理解することが必要だけど
別にそういうこと自体の量や難しさは高くない

ただそれらを理解せずとも使える、わかった気になれるので
学習に良くない情報が溢れてしまってる
そんな知識に染まりきった後に勉強しようとすると大変
そもそも本当ならクラスベース的なものを教える前に
そのベースとなっているプロトタイプベースを教えないとおかしいが、そういう指導書はまだ無い

あとはJSは「正解」を作らない主義というのも影響が大きい
「正解」が明確にないからこそ、偉い人の言葉だったりとか、最新のAPIの策定状況を見て
今の「正解」を常に感じ取っていく必要がある
5年前の最新の知識、例えば上の本の内容を今使ったら笑われる それがJSの難しさだった
が、ここ1年くらいはJS周りが停滞してる(その代わりCSSなどスタイル周りが進歩した)ので深く学ぶチャンス
2017/06/23(金) 09:48:05.19ID:UGEgTjVj0
> あとはJSは「正解」を作らない主義というのも影響が大きい

正解を作る主義の言語なんてあったか?

> 最新のAPIの策定状況を見て
それはJavaScriptじゃなくてブラウザAPIの話ですね
これらは違うものなんで分けて考えられるようになりましょう
495デフォルトの名無しさん (ワッチョイ ffaa-4OJu)
垢版 |
2017/06/23(金) 11:57:19.92ID:tdHTYauf0
オブジェクト指向JavaScript、2012、Stoyan Stefanov

この本の第6章「継承」だけで、40ページある。
プロトタイプで、クラス継承を真似るのは、非常に難しい。
12パターンも書いてある

1. ECMA標準の方法
2. YUI, Ext.js の方法
3. jQuery, Prototype.js の初期バージョンの方法
4. jQuery の最近のバージョンの方法

普通の言語では、クラス変数で悩まないけど、JSでは、
obj.prototype.prop = 'aaa'
と自分で、1階層上へ持って行かないといけない

obj.prototype, obj.__proto__ の違いとか、わかりにくい
2017/06/23(金) 12:02:48.36ID:nmTklqOoM
正解を作らないというより、用意された正解がないんだよ
ベストと思われてる手法がすでにトリッキーで他言語からみたら意味不明な形の場合が多い
当然こんなのは入門書よんだくらいじゃ想像もできない
使い手側の熟練度によって言語世界が進化してきたようなものだからなぁ
先人たちの変態努力により、こんなのJSでできるの?!の繰り返しで進化してきた物

あと、JSはwebブラウザ上でありとあらゆるメディアを扱うインタラクティブなUIを構築する言語というのがでかい
そもそもrubyレベルとは仕事の大変さが100倍違う
2017/06/23(金) 12:45:18.23ID:qncJfkkv0
ES2015でクラス構文用意されてんだから、それ使っとけばいいのよ。
2017/06/23(金) 12:50:37.53ID:nmTklqOoM
>>497
何のためにトランスパイラとかが存在すると思ってる?
クライアント気にせずに最新仕様でつくれるなら誰も苦労はしないんだよ
2017/06/23(金) 13:55:47.25ID:qncJfkkv0
>>498
?トランスパイラ使ってるならなんの問題もなく最新構文使えるじゃん。何言ってんの?
2017/06/23(金) 15:58:55.19ID:nmTklqOoM
>>499
ここはaltJSのスレじゃないんだよ
JavaScriptの構文の話してんだろ?ん?
2017/06/23(金) 16:11:36.09ID:Oh+rLRJVa
on railsなしのrubyに実用性があるのか?ってのと
環境構築の観点から言ってrubyってどうなの?って思うんだけどな特に初心者とか
2017/06/23(金) 17:04:17.71ID:qncJfkkv0
>>500
ES2015はjavascriptですが。
2017/06/23(金) 17:24:47.76ID:3Ai2U+Dx0
>>494
違うものじゃないよ
例えばPromiseベースに変わっていったりすることだとか、
APIをどの程度普通に活用していくか、またAPIを提供する側では貰うか
例えばWebComponents関係のAPIを見て、
ああ今からはO.cをこの様にこの程度使ってもいいし、使ってもらってもいいな
ああ、O.cはこの程度の機関のつなぎのために使えるもので、
将来的にはクラス構文に頼るべきなんだね
じゃあ今はO.cでそこそこ自然に、そして将来はきちんとクラス構文を自然に適応できるような設計が良いんだね
のように関数などの設計の仕方、他にも名付け、役割のもたせ方などの今のベストプラクティスが学べる
2017/06/23(金) 17:34:10.86ID:3Ai2U+Dx0
>>495
確かにprototypeプロパティの存在が一番理解をややこしくしているとこだね
だって一番でしゃばってるくせに一番本質的でないものだからね
あと、昔は__proto__が非標準という点も教えにくかった理由の一つだと思う

本当はプロトタイプベースというのは好きなクラスシステムを用意に構築できるものだけど、
JSではプロトタイプに直接触らせてもらえないばかりか最初から用意されてる唯一の駄クラスシステムを使うしか無かった
それで駄クラスシステムをハックしてバックのプロトタイプ操作を活用するテクが要るようになった時点で終わり
でも今はそんな過去すっぱり忘れて自由なプロトタイプ操作と、ベターな新クラスシステムで覚えていっていいと思うけどね
それなら難しくないはずだよ
ただしnewTarget周りまで踏み込むとやっぱり仕様実装レベルの理解が要るし、シンボル周りもちょっと臭いけどね
2017/06/23(金) 19:20:59.60ID:nmTklqOoM
>>502
だからね

クライアントの環境無視で最新仕様を使い放題なら苦労はないつってんの

大丈夫かい?
2017/06/23(金) 22:30:15.32ID:3E3GCxwFM
>>505
だからね、どの環境でも最新の仕様が使えるようにトランスパイラがあるんだけど?
2017/06/23(金) 23:49:03.52ID:UGEgTjVj0
> クライアントの環境無視で最新仕様を使い放題なら苦労はないつってんの
Rubyとかでもクライアントの環境で動かすツールを配布するのであれば
クライアントにインストールされているRubyのバージョンを意識ないといけないんですが?

逆にJavaScript(nodejs)で動くサーバーアプリであれば
クライアントの環境無視できますよ。

あんたが言ってる問題点の原因は全部ブラウザのせいでしょう?
JavaScriptではなくてブラウザのせいでしょう?
だから分けて考えられるようになりましょうっていってんの
2017/06/24(土) 00:23:38.41ID:t7gIqydoM
>>506
だからそれはaltJSの話だろ?ん?

JSの構文の話してんのに関係ないじゃん

大丈夫かい?またループしてるよ
2017/06/24(土) 00:26:18.66ID:t7gIqydoM
>>507
君も話ができない人間だなあ

↓ちゃんとかいてるだろ?

>JSはwebブラウザ上でありとあらゆるメディアを扱うインタラクティブなUIを構築する言語というのがでかい
そもそもrubyレベルとは仕事の大変さが100倍違う
2017/06/24(土) 00:33:07.24ID:a1OlPOBm0
世の中にはJavaScriptとほとんど同じ文法を持つ
altJSがあるんだぜ?
その名はECMAScriptっていうんだ
2017/06/24(土) 05:43:28.56ID:xoA9E/ec0
インタラクティブなUIを構築する言語というより、
そもそも自己完結してるセマンティクス性の強いHTMLをハック、拡張する程度だったのが
アプリケーションプラットフォームとして利用する用になってきてどうしよう、大変ということだな

結局はそのための最低ラインまで持っていくのに何らかのフレームワークが必要になってくる
とは言えあくまでブラウザで自然に使えるWebページの1つだし、
Web Componentsで全てオレオレに構築してやるぜみたいなことはなかなかしない

結果非常に中途半端な微妙なラインで色んな技術やフレームワークと共に
周りの様子を常に伺いながら生きていかないといけない
自由が一番あるようで最もお手上げ状態なのが今のJS界

Nodeなんかもその呪縛から解き放されてるわけじゃない
最初は結構独自にやろうとしてたみたいだが、結局大きくなって
「標準的なこと」を意識すればAPIの設計だったりWebに引っ張られるし、
Promiseだったり重要なコア部分もWebの発展とともにある
2017/06/24(土) 12:56:08.56ID:a1OlPOBm0
> 結局はそのための最低ラインまで持っていくのに何らかのフレームワークが必要になってくる

で、そういう話の最低ラインまで持っていこうとするなら
どの言語でもフレームワークが必要になるわけで
2017/06/24(土) 13:14:33.08ID:t7gIqydoM
ライブラリはほぼ必須だがフレームワークはちがうな
2017/06/24(土) 13:55:43.97ID:a1OlPOBm0
>>513
それはお前の最低ラインが低いだけだよw
JavaScriptと同じラインまでやろうとすると
どの言語でもフレームワークが使われてる
2017/06/24(土) 13:57:36.02ID:a1OlPOBm0
最低ラインを低くすればJavaScriptでもjQueryというライブラリと
UI専用マークアップ(HTML+CSS)だけで十分な場合も多けどね。
2017/06/24(土) 14:00:05.98ID:t7gIqydoM
>>514
具体的は?

フレームワークの多くは品質を固定して大量生産したり、チーム内のワークのばらつきを抑えるためのものでレベルや品質を極めるために使うものじゃないぞ
バカでもがんばれば一定のものが作れるというだけの話だよ
逆にレールから外れる必要があることをするときは寧ろ手間が増える

ライブラリーとフレームワークの違い分かってるかい?ん?
2017/06/24(土) 14:07:41.35ID:a1OlPOBm0
>>516
何の言語のフレームワークを教えて欲しいの?

Rails?
Spring?
Django?
.NET Framework?

なんでどの言語でもフレームワークが使われてると思う?
2017/06/24(土) 14:09:26.36ID:t7gIqydoM
>>517
javascriptで
2017/06/24(土) 14:10:03.31ID:a1OlPOBm0
あとオレオレフレームワークの定義なんてしないで、
どこから引用することで、説得力を上げるようにした方がいいよ

http://e-words.jp/w/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF.html

ソフトウェアの分野では、ある領域のソフトウェアに必要とされる汎用的な
機能や基本的な制御構造をまとめた半完成品のことを「ソフトウェアフレームワーク」
「アプリケーションフレームワーク」などと呼び、これを略してフレームワークと
呼ぶことが多い。具体的なソフトウェアだけでなく、汎用的に適用できるプログラムの
設計モデルや典型的な処理パターンなどを含めてフレームワークと呼ぶ場合もある。

フレームワークは特定のプログラミング言語で書かれた、そのまま利用できる
ソフトウェアの主要部分の雛形(テンプレート)と、汎用的で再利用可能な
クラスやライブラリ、モジュール、APIなどで構成され、また、開発者がコードを
記述して機能を追加、拡張するための方法や規約などが定められている。
開発者は規約に従ってフレームワークの一部を改変したり、自らの必要とする
機能や処理を記述して追加することで、主要部分の設計・記述を省略して迅速にソフトウェアを完成させることができる。
2017/06/24(土) 14:10:48.86ID:a1OlPOBm0
>>518

https://furien.jp/columns/187/

◆AngularJS
◆Backbone.js
◆Ember.js
◆Vue.js
◆Knockout.js
◆React
◆Riot.js
◆Aurelia.js
2017/06/24(土) 14:13:42.94ID:t7gIqydoM
>>519
小学生かな?
ことばなんて狭義広義でいろいろ解釈あるだろ
ライブラリーと対比する形でフレームワークという言葉が出る場合、それが何を意味するかくらい分かるだろ
そういうコミュニケーション能力の低い人間が"人の求める物"を作るなんて難しいよね
2017/06/24(土) 14:13:51.32ID:a1OlPOBm0
最低ラインをクリアするにはどの言語でもフレームワークが必要だけど
多くのサイトは最低ラインまで必要ではなくて、jQueryという
ライブラリで十分ということはjQueryのシェア(72.6%)からも明らか

https://w3techs.com/technologies/overview/javascript_library/all
2017/06/24(土) 14:14:25.17ID:a1OlPOBm0
>>521
なんでフレームワークの一般的な定義に
文句つけてるの?
2017/06/24(土) 14:16:02.46ID:a1OlPOBm0
もしかして引用先を見ないで
俺のレスだけみて脊髄反射(笑)してしまったとか?

引用の続き

http://e-words.jp/w/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF.html
> 汎用的で再利用可能なコードをまとめたものであるという意味では
> ライブラリやモジュールに似ているが、ライブラリでは全体を
> 制御するコードを開発者が記述し、ライブラリの提供する個別の
> 機能を呼び出す形となるが、フレームワークは全体を制御するのは
> フレームワーク側のコードで、そこから開発者が個別に追加した
> 機能を呼び出す形となる。このように制御-被制御の関係が
> 反転している状態のことを「制御の逆転」(IoC:Inversion of Control)という。
2017/06/24(土) 14:16:08.51ID:t7gIqydoM
>>520
で?
それらのどこが必須なのかな?ん?
2017/06/24(土) 14:16:53.00ID:a1OlPOBm0
>>525
最低ラインを満たすなら(どの言語でも)必須だし、
最低ラインを満たさないなら必須ではない
2017/06/24(土) 14:22:37.32ID:t7gIqydoM
最近は普通のアプリはご無沙汰でnodeとsocket.ioをサーバーにしてクライアントはpixi.jsとglslのwrbGL使ったスマホゲームばかり開発してるけど
JSゲーム関連でもゲームフレームワークと呼ばれるものがあるがクオリティ考えるとほぼ使い物にならんぞ?

おまえのような業界の流行を使う事が目的になってるようなやつ結構いるんだよね
googleのアングラーですら識者の間だと賛否あるってのにそれに頼りきって使う=クオリティってどんだけレベル低いんだ?ん?
2017/06/24(土) 14:44:13.37ID:a1OlPOBm0
「クオリティ」という理由を言った以上
どういう点の「クオリティ」が理由で
使いものにならないか説明する義務がある。

思いつかなかったからってクオリティ以外の話に逃げるなよ?
2017/06/24(土) 14:46:56.26ID:a1OlPOBm0
あと逃げられないように、JavaScriptの
有名ゲームフレームワークを上げておこうか

もちろん俺がまとめても説得力がないんで

HTML5ゲームの種類とゲーム用エンジン・フレームワーク15選
https://furien.jp/columns/216/


Cocos2d-JS
enchant.js
Kiwi.js


あとUnityでもJavaScriptは使えたな
2017/06/24(土) 15:07:32.10ID:lv1T+xsp0
gameQueryが載ってない
pixi.jsも載ってない
2017/06/24(土) 15:09:39.25ID:a1OlPOBm0
>>530
無名だから乗ってないのでは?

自分からマイナーなものを使って
クオリティが低いって言ってりゃ世話ないなw
2017/06/24(土) 15:15:02.76ID:lv1T+xsp0
jQueryのゲーム用拡張版とRPGツクールMVのPRGスクリプトのベースライブラリなんだけど
まぁgameQueryはマイナーっちゃマイナーだけどpixiがマイナーっていうのは違うと思う
2017/06/24(土) 15:17:39.77ID:xoA9E/ec0
>>512
言い方が悪かったな
.NETのような取り敢えずこれでしょと言えるほどの準標準クラスのUIフレームワークが無いということ
2017/06/24(土) 15:28:56.29ID:a1OlPOBm0
準標準クラス(?)でなければUIフレームワークはあると
力説されましてもw
2017/06/24(土) 15:29:25.85ID:a1OlPOBm0
UIフレームワークがいくらでもあることなんて知ってますよw
2017/06/24(土) 15:35:47.77ID:7kzB7ca00
>>508
babelは
最新のjs仕様を解釈してES5等のコードに変換するトランスパイラでありaltjsではないよ。
altjsというワードが何か良くかんがえてみて。

babelがなんでできたかかを調べてみると良いと思う。
2017/06/24(土) 15:43:30.87ID:NarhakH90
また俺様仕様でケンカしてるのか?w
2017/06/24(土) 18:54:19.51ID:xoA9E/ec0
WebのUIフレームワークはHTML+CSSというUIフレームワークのフレームワーク
だからやりきれない部分がある
かと言ってフルCanvasにする勇気はない
2017/06/24(土) 20:02:07.57ID:7kzB7ca00
>>538
Reactが当てはまるんじゃないかな。
あればCSS-in-JSと言ってCSSもJSコード化できるから
class名前衝突みたいなことも起きない。
2017/06/24(土) 20:23:15.13ID:xoA9E/ec0
確かにReactは素晴らしいがあれはUIフレームワークというより
UIフレームワークのための下地を敷き直すためのものなんだよね
だから実際なにかをしようとするとReact+αで使う

何かベース技術を高度にまとめあげたものと言うより、沼地の舗装なんだよね
本当ならそこまで標準で持ってくるべきだと思う
2017/06/24(土) 21:03:21.38ID:a1OlPOBm0
つまりC言語の標準ライブラリに、GUIライブラリを追加しろと
言ってるようなもんだw
2017/06/24(土) 21:57:01.47ID:7kzB7ca00
Reduxで非同期処理。特に async -awaitを使う上で
おすすめのミドルウェアはなんでしょうか?
いくつかあるんで悩んでます。
やはりredux-promiseあたり?
2017/06/25(日) 05:15:16.70ID:2BPKv+990
async-await構文とReduxって相性良いのかなあ
いっそ捨ててまだPromise非対応のWeb APIを容易にPromise化する手段と
observable系のもうワンランク規模が小さい補助フレームワークと
非同期系以外のフレームワークでこなすのが良い気がする
2017/06/25(日) 06:14:30.51ID:W+t3LiWk0
jQuery 3.0のAjax関連がWeb APIをPromise化してくれるよ
正確にはDeferredなんだけどPromise互換になった

jQuery 3での変更点 〜 Promises/A+互換となったDeferred機能を中心に
https://codezine.jp/article/detail/9588
2017/06/25(日) 07:41:17.07ID:crK74dJZ0
個人的には今のところredux-sagaが正義。だな
2017/06/25(日) 11:06:59.71ID:qFvznRBFM
>>529
おまえって本当にうわべだけのweb屋なんだな
blogぐぐって"流行"うんちくを貯めるのが目的と化してるじゃん

で?

フレームワーク使わないものはレベルが低い云々の落とし前をはやくつけたら?ん?
2017/06/25(日) 11:18:22.43ID:qFvznRBFM
まぁ、こういう経験もセンスもない人間って"何かを使う"ことで自分のスキルがあがったと勘違いするんだろうなあ
誤解を恐れず他言うとフレームワークなんてのは学習コストがかかるかわりにバカがバカなことできないレールが敷かれることなんだよね
それによるコードや構造の制約がチーム開発に向いてるという側面もあるが、
なにを曲解してるのかフレームワーク使わない=その程度の低いレベルなんて言い出すバカが居るんだよな
blog屋の言うこと真に受けてるるんだろうが、ああいう奴らはとにかく新しい流行を作り出してそれを記事にして必要性をアピール、ページアクセス稼ぐのが目的なのにね
2017/06/25(日) 11:29:28.28ID:ErWDHGCBd
ちょと新しいフレームワークを皆で使ってみようという試みが許されない職場はレベルが低いと思う。
2017/06/25(日) 13:07:18.05ID:W+t3LiWk0
>>546
遠吠え吐いてないで、何か言い返せよw
2017/06/25(日) 13:08:07.55ID:W+t3LiWk0
結局この質問に答えられない挙句w

「クオリティ」という理由を言った以上
どういう点の「クオリティ」が理由で
使いものにならないか説明する義務がある。

思いつかなかったからってクオリティ以外の話に逃げるなよ?
2017/06/25(日) 17:16:09.16ID:IkLGzeDR0
ここ質問スレだよね?
1のルールがん無視なんだけど、ここ質問スレだよね?
ライブラリ関係の質問どころかライブラリで議論しちゃってるけど、ここ質問スレだよね?
2017/06/25(日) 19:34:26.21ID:2BPKv+990
もはやそれがこのスレの伝統だから
そのツッコミも含めてな
2017/06/25(日) 22:48:16.18ID:G9hb13It0
4年近くこの状態だからな
NGにいつもの荒らしと構う馬鹿のID二つ突っ込む癖を付けとけ
2017/06/26(月) 08:26:17.61ID:iHONTeAN0
俺様仕様のクオリティw
555デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/26(月) 14:37:47.78ID:NlJN5AI+0
JSデバッグしているときにConsoleに出てくるエラーメッセージの
右側のソースファイル名: 行番号のリンクに
「VMxxxx: 行番号」ってなっていることあるんだけど、
この「VM」ってファイル何?
2017/06/26(月) 19:06:26.51ID:y5Mzt4cn0
VMっつったらバーチャルマシンしかないだろう
つまりエンジン内の内部ファイルのJSバックエンドのこと
こういうの
https://chromium.googlesource.com/v8/v8/+/master/src/js/array.js
557デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/26(月) 19:10:38.37ID:NlJN5AI+0
ああ、このVMがv8エンジンなのね、
でもJSの本体エンジンがJSで書かれてるのっておかしくね?
俺はバイナリだと思ってたよ。
このエンジンのJSコードは誰が処理してるのさ?
2017/06/26(月) 19:21:23.33ID:MwytOOTB0
>>557
何もおかしくないよ。

V8エンジンはJavaScriptのコードを
コンパイルしてネイティブに変換して実行するものだろう?

ソースコードをバイナリに変換するという処理は
単なるテキストファイル読み込んでバイナリデータを
書き出すだけなんだからJavaScriptでだってできることだろう?
2017/06/26(月) 20:10:21.50ID:AIfJvAFN0
もういい加減新しい簡単な仕組み作ってくれよ
webpackとかbabelとかようわからん
何かに躓いた時直せる自信がないよ
2017/06/26(月) 20:16:38.23ID:MwytOOTB0
>>559
まずフレームワークを選べ

React、Angular、Vueあたりの有名所であればCLIが用意されてる
これでプロジェクトをすぐに作れる。そのプロジェクトはwebpackやbabel等が設定済みだ
そしてフレームワークのやり方に従え。
その結果JavaScriptばりばりのSPA ウェブアプリが簡単に作れる。

JavaScriptバリバリのアプリなんか作る気はないという人は、
webpackやbabelは使わず、jQueryやlodashを使うことをおすすめする
大半のウェブサイトではこれだけで十分なはずだ。
2017/06/26(月) 21:47:37.55ID:68dDHk550
はいはい、俺様仕様最高ねw
2017/06/26(月) 22:52:02.29ID:RgMKiEkv0
Backbone.js( + underscore.js, jquery.js)は?

早速、山田祥寛が、AngularJS に目を付けたようだ。
本を出してる
563デフォルトの名無しさん (ワッチョイ 174f-vU0w)
垢版 |
2017/06/26(月) 23:15:01.98ID:z9QQl5sV0
Javascriptで文字コードの変換って出来る?
調べてもよその人が作ったencoding.jsっていうライブラリ使ってね〜
くらいしか出てこないんだけど
564デフォルトの名無しさん (アウアウエー Sadf-Mruq)
垢版 |
2017/06/26(月) 23:16:02.58ID:n3kxYoXra
会社でjavascriptの業務アプリ作ってる。
ライブラリはいざ何かあった時にセキュリティに問題無いのか証明出来ないし、そもそもワザワザダウンロードしたらシステム部署から即連絡来るから全部素でコーディングしてる。
2017/06/27(火) 01:25:21.86ID:c8UQd7fm0
>>564
ブラウザやOSにセキュリティに問題がないことは
どうやって証明してるの?
2017/06/27(火) 01:32:28.99ID:i+35CN1y0
自作の方が、有名ライブラリよりも、はるかに危険だろ

開発体制・レベルが違いすぎる
2017/06/27(火) 02:14:17.76ID:c8UQd7fm0
利用者が多いライブラリに限るけど、
一般的には自作するよりもライブラリを使ったほうが安全だよね
なんで自作したほうが安全って思い込むのかを考えてみたんだが
その根底にあるのは、メンテナンスするのが嫌ってっことなんじゃないだろうか?

他人が使ってるライブラリを使うと、そのライブラリは勝手にバージョンが上がっていく
最新版への追従をしたくない。と考えてるのではないか?
自分で作ったものならば、そんなことはおこらないからね

有名ライブラリならば脆弱性があれば発表される。
そして対応しなければいけない。それをやりたくない。

自分で作っていれば、脆弱性があっても発表されることはない。
だからメンテナンスしなくていい。メンテナンスの義務はない。
脆弱性に気づいてないから攻撃されても俺のせいじゃない。攻撃したほうが悪い。
それに俺は運は悪くない。攻撃されないだろう。とかそういう発想なんだと思う。
2017/06/27(火) 03:17:19.47ID:GdB4SGLP0
AngularJSとかVueとかいらんから
React一本に絞ってくれよ−!
2017/06/27(火) 04:00:24.98ID:i+35CN1y0
10年以上も、エアバッグの破損を認めなかった、タカタは倒産した。
同族企業は、ろくに仕事なんかしない

自作する奴は、他人に間違いを指摘されたくないのだろ。
自作にはバグが無いという、夢を見てる

客観的に見ると、OSSの方が圧倒的に、確かめられていて修正もされている
570デフォルトの名無しさん (アウーイモ MM9b-Mruq)
垢版 |
2017/06/27(火) 06:47:33.09ID:NDfDuVAxM
>>565
ローカルだけで動かしてるから問題無しと思ってるんだけど…共有サーバーにも載せてない。それでもダメ?
571デフォルトの名無しさん (アウーイモ MM9b-Mruq)
垢版 |
2017/06/27(火) 06:59:35.79ID:NDfDuVAxM
>>567
何故ライブラリは自作よりも安全か

という証明の手段を持ってないから。
ライブラリの中身のコードまでどんな動きしてますって分からないし説明出来ない。

純粋に聞いてみたいんだけど、皆はライブラリ使う時に、会社や客にライブラリの安全性の証明とか求められたらどうしてるの?
有名で皆が使ってるので安全です。とかじゃなくて。
そのライブラリが元で特にセキュリティ関係のトラブル起きた時にはどうしてる?
参考にしたい。
572デフォルトの名無しさん (ワッチョイ 1797-pD5X)
垢版 |
2017/06/27(火) 07:31:26.37ID:emYml4i80
たぶん役所は、テストを外注する。カネも時間も(半年とか)かかるね
2017/06/27(火) 07:33:19.11ID:uakceRDq0
>>563
Encode/Decode APIがある

>>571
非常に難しいね
でも今の時代外部サービスを利用することがどんどん増えてきてるからなぁ
結局自分や相手が中小企業じゃ、自分たちのところにサーバたててしっかり管理していくよりも
多少のリスクがあるのかもしれないけれど委託した方がコスパ面で合理的なんだよね

まあ、論理的な回答は難しいんじゃない?
その客だって自身じゃできないから君のところを信用して任せてるわけだし、
ならどうして君のところに頼むという結論を出したのかを考えて、それを元に適当に回答してあげたら良いんじゃないの?

まあでも開発に携わってる人誰もライブラリの中身理解できませんは問題かもよ
場合によってはそれを改変したり、APIを真似して作ったりする手段も持っておかないと困ると思うよ
2017/06/27(火) 07:57:26.53ID:J8IhQU6l0
>>573
APIがあっても追加のencodingってのが無くない?
CP932使いたかったんだけど結局そのAPIはあきらめたわ。
2017/06/27(火) 07:59:31.61ID:s1LsfsQSM
>>571
自前とライブラリ使用時の工数を出すだけ
2017/06/27(火) 08:27:44.23ID:xP4Tyi+vd
>>573
563だけども
Encode/Decode APIって調べたらライブラリ入れないと駄目なやつだよね
ライブラリ入れずに文字コード変えるのはやっぱり不可能なのか
2017/06/27(火) 08:37:09.16ID:xP4Tyi+vd
違ったわライブラリじゃなかった

でもIE11だからどのみちEncode/Decode API使えない悲しい
2017/06/27(火) 08:40:38.02ID:c8UQd7fm0
>>571
> 純粋に聞いてみたいんだけど、皆はライブラリ使う時に、会社や客にライブラリの安全性の証明とか求められたらどうしてるの?

自分で書いたコードに、安全性の証明を求められたときとやることは一緒だろ?

自分でコード書いたから安全性はバッチリです!なんて言って終わらせないだろ?
自分たちは信じられないので第三者のセキュリティチェックをうけるわけで、
それをライブラリに対してやればいいじゃん?
579デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/27(火) 11:32:46.68ID:YtTV1Cb90
オブジェクト指向コンパイル言語にするって方向は間違ってない
とおもうよ、でも乱立する必要ある??
Coffee ECMA6 Type Babel
やりたいことは同じなのに別々の文法覚えて
Coffeeに基づいたフレームワーク
Typeに基づいたフレームワーク
Babelにもとづいたフレームワーク
それぞれ限定されたものしか使えなくなる
そのフレームワークも乱立して
Reactに基づいた拡張
Anuglarに基づいた拡張
全部文法がバラバラじゃん、いい加減にしてよ!
やりたいことは1つなのに、
テンプレエンジンもそうだよ、文法変える必要ある?統一してよ。
2017/06/27(火) 12:16:31.70ID:Yrf9CrPh0
>>576
不可能じゃないよ
その為のjavaScriptなw
2017/06/27(火) 12:31:26.63ID:7YBY9ucKd
>574-577
最初からこれというのが分かってれば自作することも十分に可能
大抵巨大な変換テーブルが要るからそれ見つけて来て
ちょっとパターン分け書いてやるだけで済む
メディアファイルのデコーダに比べたら遥かに簡単
TAの入門練習にちょうどいいと思う
2017/06/27(火) 15:36:41.85ID:Fzky3f9ad
>>571
ライブラリの安全性は求められるから、安全性が担保できるライブラリしか買えない/使えないな。
責任がはっきりする、外注の納品物でも品証がOK出すかわからん。

大体のEULAで割と序盤にお前らは別に保守契約しろよなって書かれてる業種だからちょっと特殊だけど。
2017/06/27(火) 15:51:05.73ID:4Gw99VLCH
WindowsもLinuxもMacもセキュリティホールだらけだから、自作OSでいくしかないな
2017/06/27(火) 16:19:05.10ID:c8UQd7fm0
>>582
> 安全性が担保できる

ライブラリじゃなくて、自分で作ったものの
安全性の担保はどうやってるの?
2017/06/27(火) 16:27:43.42ID:c8UQd7fm0
ん?もしかして

× 安全性が担保できるライブラリしか買えない/使えないな。
○ 安全性の担保を丸投げできるライブラリしか買えない/使えないな。

と言いたいのかな?

これも

× 責任がはっきりする
○ 責任を相手に押し付けられる

こう言いたいんじゃないのか?


責任を相手に求めるのは間違ってるだろ?
ライブラリを使った責任は、使った人が責任を取る。
どうせ自分で作った場合は、作った人が責任を取るわけで
そこは変わらないはずだ。


作った人 = 責任を取る人 という固定観念があって
責任を取ってくれないからダメって言ってるんじゃないか?

使った人が責任をとるならば何の問題もないはずなんだが?
そもそも仕事だって作った人じゃなくて会社が責任を取るわけだし
「会社が責任を取るライブラリ」を社員が作ったか外部の人が作ったかにすぎないはずだよ?
2017/06/27(火) 17:01:45.05ID:Fzky3f9ad
>>583
半分ホント。
割とガチガチな枯れ切ったカーネルに自社で手を入れてるよ。

>>584
全条件分岐、直行表で試験するよ。

>>585
製品の瑕疵責任はうちが、部品の瑕疵責任は納品者が。
受け入れ試験するけど、受け入れでハネたものを修正するのはあっちだよ。
2017/06/27(火) 17:13:49.26ID:4Gw99VLCH
>>586
> 全条件分岐、直行表で試験するよ。
C1カバレッジでカバーできないC2カバレッジの範囲や、直交表から漏れたケースでバグがあるかもしれないよね
さぁ、どうする?
2017/06/27(火) 17:27:27.83ID:c8UQd7fm0
>>586
> 全条件分岐、直行表で試験するよ。

セキュリティに関するものはそれで試験できないよね?
2017/06/27(火) 17:29:04.29ID:c8UQd7fm0
>.586
> 受け入れ試験するけど、受け入れでハネたものを修正するのはあっちだよ。

自分で作ったものだって試験するだろ?
なら試験の量は変わらない。

修正は開発元に修正依頼投げれば良いんじゃない?
githubで提供しているならIssueを立てればいい。
障害はないはずだよね?
2017/06/27(火) 18:13:38.53ID:4Gw99VLCH
てか、ここJavascriptスレなんだけど、Javascriptの話なのか?
2017/06/27(火) 18:24:08.88ID:uakceRDq0
JavaScriptの話とは言えECMAScriptの仕様や技術的な話は
殆どされて来なかったどころか敬遠されてきたじゃん

私の代わりにコード書いてくださいという質問と
揚げ足の取り合いで成り立ってきたスレだよここは
2017/06/27(火) 18:41:41.39ID:4Gw99VLCH
>>591
とはいえ、組み込みの品質保証の話を始められても困るとは思わないか?
2017/06/27(火) 19:12:38.09ID:Fzky3f9ad
>>587
分岐網羅、条件網羅で網羅できないならば、網羅できるようにするしかないわな。
品質都合でコード変えないといかん代表例だと思う。
というか、漏れてる時点でやる価値のないテスト。

>>588
どー言うこと?疑似環境自体作るから微妙なとこかと。
テストしてない、かつ証明できてないセキュリティっておかしいと思うけど。

>>589
するけど。試験の量も変わらんが。
発見した時、どーせパッチなんか待ってられないしこっちがコミットしまくるなら、もうそっからフォークして内製してしまったほうが良いってのが現状かなぁ。
だから、ハンドリングできる内製や外注の方が余程なん楽じゃん。

>>590
JSも最近やっと、まともに「安易に時刻を直接取らずにラッパーから取る」とか思想が広まってきてるし、良いと思うよ。
組み込みにだって、ウェブUIもありゃ、その上のJavaScriptだってあるんだから。
2017/06/27(火) 19:58:39.67ID:c8UQd7fm0
>>593
> どー言うこと?

どういうこともなにも、セキュリティっていうのは
客から要件定義される類のものじゃないので
セキュリティに対するテスト仕様書を作ることはできない。

そしてセキュリティというのは見逃しが原因で発生する。
そもそも見逃しているのだから、そこにテストが必要なことも思いつかない。

セキュリティはテストで担保できるものじゃない。
2017/06/27(火) 19:59:43.06ID:c8UQd7fm0
>>593
> するけど。試験の量も変わらんが。

試験の量が変わらないならば、
他人が作ってくれる分コストは下がるね。
2017/06/27(火) 22:13:44.63ID:i+35CN1y0
10人以上死んでるけど、タカタは、10年以上、自社の破損を認めていない。
破産会見でも、自社製品は安全だと言ってる。
絶対に非を認めないから、自社の証明では無理

結局、トヨタ・ホンダは、5千億円ずつ払ってリコールして、
その費用をタカタに請求したから、タカタは払いたくないから破産した

結局、トヨタ・ホンダは、5千億円ずつ損した

自社の証明なんて、信じる人はいない。
OSSのように、外部の他人が監視しているものじゃないと、安心できない
2017/06/27(火) 22:16:07.43ID:xkXC4vKS0
netflixとか基幹で使ってるライブラリをオープンソースにして
検証してもらってるって感じだもんな。
ドキュメント読むと不具合見つけたらとにかく報告してくれって書いてる。
2017/06/27(火) 22:31:07.65ID:v6ZcAvfLa
他者のライブラリのメリットというよりもOSSのメリットという印象だな。
自作ライブラリもOSSとして公開すれば、同様のメリットを享受できるわけで、論点がずれている気がする。
2017/06/27(火) 23:39:25.24ID:i+35CN1y0
クローズなものは検証できないから、簡単にねつ造できる

橋下が言ってたけど、大阪の犯罪件数を減らそうと、目標を立てたら、
警察の方でねつ造して、数値だけが下がった

クローズでは、何か目標を立てて利益誘導すると、皆で数値をねつ造してしまう。
それで簡単にボーナスが増えるから

政治家の目標と官僚機構の、阿吽の呼吸で、即座に成功させてしまうw

つまり、ここでは当事者は2人で、ユーザーは無視されている。
なぜかというと、ユーザーはどうであろうと、常に税金を払うから、
政治家・官僚の仕事が減って、ボーナスだけが増えれば、それが正解だから
2017/06/28(水) 00:24:50.31ID:MDHwF8rPa
オープンに夢見すぎだろw
2017/06/28(水) 01:23:30.14ID:SYiBad+0a
>>600
それは俺も思った。
OSSといっても実際にメンテしているのは限られた人数だけだし、よくある「世界中のエンジニアが見ている」の売り文句も机上の空論な印象。
実際のところ、品質を決めるのは、テストにどれだけコストをかけているかで自作/他作は関係ないと思う。
>>594の「セキュリティはテストで担保できるものじゃない」にしても、XSSとかSQLインジェクションとか攻撃法を想定してテストする事は出来ると思うんだが。
2017/06/28(水) 03:18:31.03ID:4SuBLGV60
例えばlodashとかjqueryは普通に使ってるわけでしょ?流石に。
ossでちゃんと多数に使われてるなら信頼性はあると思うけど。
そこを嘘だと言うならv8も信用できなくなるわけだが。
2017/06/28(水) 07:33:04.85ID:MDHwF8rPa
>>601
うん。
目の数あっても、手の数は限られてるし、
手を使うなら、もう全部自分らでやろう、って発想になるよね。

>>594
の話。そんなインジェクションを想定していない訳がないからな。品証の前にテスターに出した段階で、テスターの方が「前提条件が足りないため不能」とか言い出すやつ。

一番面倒な乱数使う類の暗号も、ライブラリ側が正しく動作することが何らかの方法で単体テストできてりゃ、
C2カバレッジで各条件作ってるんだし。

>>602
うちのjQuery、jQueryにとてもよく似たライブラリになってる。テセウスの斧状態。
2017/06/28(水) 14:22:20.89ID:4SuBLGV60
>>603
それはjqueryなのか?
特定のバージョンからのjqueryからforkしてきて独自メンテナンスしてるってこと?
それとも最初から互換ライブラリを作ったって話?
2017/06/28(水) 14:28:19.43ID:CQUkOosDH
>>601
> 自作/他作は関係ないと思う。
他作なら、ものによっては全世界レベルで何万何十万もの実稼働と呼ばれるテストが日々行われているわけだが
2017/06/28(水) 16:23:01.71ID:4SuBLGV60
>>605
これ。そもそもgithubのお陰でバグ報告の仕組みがだいぶ簡単になったし、
どんどんバグ報告して改善していってるよ。
2017/06/28(水) 17:02:19.32ID:SYiBad+0a
>>605
> 他作なら、ものによっては全世界レベルで何万何十万もの実稼働と呼ばれるテストが日々行われているわけだが
それが幻想だといっているのだが、「何万何十万もの実稼働と呼ばれるテスト」とはどこから出てきた数だ?
「実稼働 = テスト」の図式はどこから出てきた?
2017/06/28(水) 17:13:30.96ID:9ZSyvjPDd
>>604
最初は互換ライブラリで、途中からフォークで、今はもはや独自、かな。正確に言えば。

>>605
エビデンスなきテストはテストではない。
2017/06/28(水) 17:20:38.85ID:SYiBad+0a
まあ、未完成品を公開して利用者にテストさせるベータテスト的な考え方もあることはあるか。
だが、それは初版(ベータ版)の品質が悪い事を暴露しているようなものだし、ユーザの使い方が多様性を持っていて、しっかりとしたテストレポートが出てこなければ機能しない。
ほとんどのユーザは同じ使い方をしていて発見されないバグがあるかもしれない。
ユーザが報告しても環境起因や勘違いかもしれないし、本当にバグであっても曖昧な報告で再現出来ないかもしれない。
世界中のユーザがテストしてくれるってのは幻想に過ぎない。
テストはコードを理解している人物が行うものだ。
2017/06/28(水) 17:33:58.64ID:CQUkOosDH
>>609
> ユーザが報告しても環境起因や勘違いかもしれないし、本当にバグであっても曖昧な報告で再現出来ないかもしれない。
github見たことないの?
2017/06/28(水) 17:50:20.37ID:PLWTiIxIM
こんな感じだから日本人は海外に大差つけられるんだろうな
今はもうそんな時代じゃないのに
2017/06/28(水) 18:03:34.50ID:CQUkOosDH
伽藍とバザール(1997)以前のメンタリティ
2017/06/28(水) 19:02:01.25ID:SYiBad+0a
>>610
githubは知ってるが、あれはプログラマ寄りのユーザを対象にしてると思う。
「何万何十万もの実稼働と呼ばれるテスト」といわれるようなのはコードに触ったこともないような一般人よりの感覚だと思っているのだが、そうでもないのかね。
「実稼働=テスト」という感覚がどうにも信じがたいが。
2017/06/28(水) 19:07:42.81ID:SYiBad+0a
あと、何度もいってるが、自作/多作に関わらず、githubに公開すればその恩恵は享受できるのだから「他作だから信頼性が高い」わけではない。
彼の主張を聞いていると「先発のライブラリが信頼性が高い。自作ライブラリ(後発)は信頼性が低い。」といっているように聞こえるが、そんな事はないだろう。
2017/06/28(水) 20:02:56.65ID:9ZSyvjPDd
>>612
伽藍とバザールでは、あくまでユーザはデバッガ兼共同開発者では?
2017/06/28(水) 20:30:59.42ID:V4ji+kX80
>>607
> それが幻想だといっているのだが、「何万何十万もの実稼働と呼ばれるテスト」とはどこから出てきた数だ?
全世界のサイトのうち72.5%で使われてるのだから、
何万何十万とどころじゃなくて、7億以上実稼働されてるよ。

サイト数2度目の10億超え - Netcraft報告
http://news.mynavi.jp/news/2016/03/22/265/

jQueryが使われてる割合
https://w3techs.com/technologies/history_overview/javascript_library/all/y
2017年6月 72.5%
2017/06/28(水) 20:34:03.91ID:PLWTiIxIM
こいつらの言うことを全部正当化するなら使ってるlinux鯖も全部ソース検証して手直しビルドということになるな
いきすぎると社畜の年寄り老害とかわんねーよ
2017/06/28(水) 20:34:26.49ID:V4ji+kX80
>>608
> エビデンスなきテストはテストではない。

エビデンスあってもテストにならないものも多いけどね。

例えば、人によって解釈が異なるテスト、
エクセルに日本語が書いてあって読み手によって
実行するテスト内容に幅があるようなものはテストではない。

また実行結果画像も捏造が可能なので
こちらもエビデンスと呼べるものではない。

適当なテストやってるところは、
これをエビデンスとかいっちゃってるけどねw
2017/06/28(水) 20:38:01.66ID:PLWTiIxIM
結局社畜理論なんだよね
上から何か言われて責任逃れが言えるかどうかしか考えてない

「テストしました!検証しました!」

で?その検証が正しいという証拠は?

どこの馬の骨ともわからんライブラリ拾ってくるのはどうかと思うが、物事にはレベルってもんがあるだろ

jQueryに難癖付けて使わないレベルとさあほとしか言いようが
2017/06/28(水) 20:38:12.31ID:SYiBad+0a
>>616
稼働実績ではなく、テストしているユーザの実数が問題なわけだが
2017/06/28(水) 20:44:49.62ID:SRIFWNkc0
>>611
じゃあ半島に帰れよマジで

韓国人死ね


>>613
見りゃ分かるが明らかにエアプか?ってのも混ざってるだろ。
そういうのは無視でいいぞ。
GitHubがどうだとか、ここでグダグダ言わずとも、使えば分かる。
OSSについての過大/過小評価をしている奴は、要するにやってないだけ。
そんな奴らと話しても水掛け論にしかならない。

ただしインフラ系や組み込み系と比べたら、
Web系の検証なんてやってないに等しいくらい酷いぞ。
ただそれが一方的に悪いわけでもなく、それがニーズでもあるんだが。


そしてお前らマジで別スレ立てろ。
この手の話に食いつきがいいのは以前からで、
多分今のお前らには必要なんだよ、JavaScript中級者用雑談スレがね。
なお俺はそれには参加しないから安心しろ。
2017/06/28(水) 20:44:52.17ID:V4ji+kX80
ちなみに実稼働とは別にもちろんjQuery側で用意しているテストもちゃんとある
https://github.com/jquery/jquery/tree/master/test

テストの数とかカバレッジは知らない(見つけてない)けど、
こういうテストを行っていることがはっきりわかるし
誰がやっても同じテストを行うことができる。
こういうのが正しいエビデンス

あと気になるのが、実稼働とテストコードどちらが信用できるか?
jQueryは両方あるので関係ない話だけど、一般論の話をすると
実稼働数が少なくて、十分なテストがされている場合は、使われてない機能も
ちゃんとテストされているはずとうことでテストコードの方が信頼性が高い。

だけど実稼働数が膨大であれば、テストされてないマイナーな使われ方を
発見することがあるという点で、実稼働のほうが信用できる。
特に特定のスマホだけに発生する問題とかあるからね
(実際jQueryにはその対策コードがいくつも入っている。)

実稼働の数が膨大であればエビデンスはなくてもテスト以上に信用できる。
エビデンスだけを求めている所は「政治的な理由」でこれがダメだと言うだろうけど
それは政治的な理由であって、正しく動くという事実を否定するものではない。
2017/06/28(水) 20:59:09.11ID:V4ji+kX80
>>619
> 結局社畜理論なんだよね
> 上から何か言われて責任逃れが言えるかどうかしか考えてない

それだろうね。

「外部が作ったライブラリを使って責任は取れるのか?」
っていうのは実は、

「外部が作ったライブラリを使って問題が起きたらお前が責任は取れ!」
って言ってるのと同じなんだよね。


そして、責任取りたくないだろう?なら
「お前が作って、問題が起きたら、お前が責任を取れ!」
と言ってるのと同じことに気づいていない。


結局責任を取るのは「お前」なんだが、そこに気づいてないやつが
あ、自分で作れば責任取らなくていいんだ。って勘違いしちゃうわけw
2017/06/28(水) 21:04:33.40ID:V4ji+kX80
>>608
> 最初は互換ライブラリで、途中からフォークで、今はもはや独自、かな。正確に言えば。最初は互換ライブラリで、途中からフォークで、今はもはや独自、かな。正確に言えば。

jQueryをフォークしないと修正できない問題って
思いつかないんで無いと言わせてもらうけど、

フォークしたのは技術力不足とか発想力が
足りなかったとかいうこと?

フォークしなければ修正できない問題なんてないよね?
2017/06/28(水) 21:12:57.59ID:V4ji+kX80
そういや、どこかのスレでエビデンスとは
テスト作業をちゃんと行ったという証拠(エビデンス)として
求められているものであって、テストの内容については関知しない。

システムが正しく動く証拠ではなくて、
さぼってないかを証明するために必要なもの
みたいなことを聞いたことがあるなw

もちろん皮肉としていってるんだけど
2017/06/28(水) 21:24:21.63ID:PLWTiIxIM
>>623
> 自分で作れば責任取らなくていいんだ。って勘違いしちゃうわけw 自分で作れば責任取らなくていいんだ。って勘違いしちゃうわけw

分かるわーw

しかし、テスト使ってカバレッジとかやればそれでOKとか思ってる考えの浅いバカってホント多い
カバレッジは全ての引数パターン網羅してるのか?ん?
結局、テストしたという結果が欲しいだけ(それが最重要だと思い込んでる)
上司に出す報告書にそれらしい事がかかれていればそれでOK(そもそも上司に判断能力がない)の世界
そして重大なミスが起これば責任のなすりつけ&皆で土下座といういつものスタイル
2017/06/28(水) 21:29:57.25ID:PLWTiIxIM
このように、ITという半分クリエイティブな仕事をゼネコン同様のツリー構造にしてしまってる日本の最低センス
全てが資本の食い物にされてるだけなんだよね
国内だけならいくら効率悪くても単価高くなっても、客にふっかければそれでOKでいままでやってきたんだよ
それがネット社会になって国際化が進んで他国と比較される機会がでてきて笑われてるというのがここ十数年の日本のIT

さすがにそろそろおかしいと気付けないもんかねえ
2017/06/28(水) 21:34:29.47ID:9ZSyvjPDd
>>618
人によって解釈が変わるのはテストとして絶望的だわな。
「正常に表示されること」って文言見ただけで即却下の類。
結果のエビデンスに関してはどうとも言えんな…。捏造を疑い出すときりがない。
2017/06/28(水) 21:40:23.94ID:9ZSyvjPDd
>>619
検証が正しいと言う保証は、首かけるぐらいしか無いだろ。
テスト上失格は仕方ないが、メクラ判ついたらクビだよ。

>>624
確かテストケースが組み合わせ爆発するのがあったはずで、その辺去勢した。

なんか勘違いしてるみたいだけど、本気でやってるからなぁ。
2017/06/28(水) 21:46:44.53ID:V4ji+kX80
>>628
本当に必要なことと、政治的に必要なことが逆になってるからねw

テスト結果をエビデンスとしてキャプチャ画像を残すのは政治的な理由。

テスト結果なんて「All OK」の文字だけで本当は良いはずなんだよ。
本当に必要なのはテスト内容。テスト結果をいくら見たって意味がない。
テスト内容を見なければ意味がない。

でもエビデンスを求めてる方は、テスト内容が理解できない。
だからテスト内容の代わりに、テスト作業をやったという証拠を
もらうことで安心感を得られるw

だからテスト作業の内容が簡単であっては許せないんだよ。
安心感の根拠となってるのが
「こんな面倒なこと(画面キャプチャを取る)をやったんだ。
頑張ってるということは、ちゃんとやってるに違いない」
という思いなんだからw

本来はテスト内容は書くのが大変。テスト作業自体は簡単。テスト結果も簡単。であるべきなんだが
テスト内容がわからない人に、頑張ってる所を見せるため、テスト作業を大変なものにしてしまう。

そしてエビデンスを求めてる方も「俺らはキャプチャ画像をチェックした。ふぅ〜大変だったぁ〜」
と言いたいがためにキャプチャ画像を要求してるw


大変なことを頑張ってやり遂げた!偉い!感動した!
これが駄目なやり方の全てだよw
2017/06/28(水) 21:47:49.13ID:V4ji+kX80
>>629
> 確かテストケースが組み合わせ爆発するのがあったはずで、その辺去勢した。

だからそれを修正するのに、jQueryをフォークする必要はないと言ってんだけど?
2017/06/28(水) 22:04:10.32ID:PLWTiIxIM
強く建前を要求しその建前さえあれば中身糞でもOKなのが日本のITだよなぁ
2017/06/28(水) 22:20:22.76ID:22CIkvC2H
まぁ実際に使いたい機能はほんのちょっぴりなのに
無駄にでかいフレームワークやライブラリ使うと
使わないロジック部分で変な影響あったらやだよねと思うことはある
最近は行儀のいいコードがほとんどなのでそういうことないけど
2017/06/28(水) 22:40:11.31ID:kmQ5JvMZ0
所詮は生産性を観点に於いて使えば宜しい
あとはオナニーの世界
2017/06/29(木) 00:12:45.84ID:6qIQd4CKd
>>630
テストケース作るのは大変だな。
シナリオ作って、なんやかんや。

チェックは後から確認するくらいで、普段は正直エビデンス画像見ないよ。見るだけで時間かかるし。

>>631
なんでしたんだっけ。
追従やめて内製にしたのは確か覚えあるんだけど。
636デフォルトの名無しさん (ワッチョイ 6523-vsYE)
垢版 |
2017/06/29(木) 03:41:19.14ID:KULunYvr0
reactってAjaxの文法サポートしてんの?
2017/06/29(木) 04:29:41.54ID:jMXi+7Xw0
情報公開が大切だって、常に橋下が行ってる。
公開していないものは、簡単にねつ造できる

教授になった医者の話を聞いたら、実験サンプルは、10個もあれば十分。
それを少しいじって、データを100以上に増やす

そういうやり方をすれば、他人よりも仕事が速く、材料費も安くつくから、出世できる

臨床実験など、外部から検証できないものは、ダメ。
皆で、数値合わせだけするから

真面目に働くのがイヤだろ。
しかも、まともに検査するにはお金がかかるけど、会社は出さないから、できない。
それなのに、上司はいじめてくるから、ねつ造せざるを得ない
2017/06/29(木) 14:08:41.17ID:ye6KcLeHH
>>630
> テスト結果なんて「All OK」の文字だけで本当は良いはずなんだよ。
ユニットテストならそれでいいがな
2017/06/29(木) 18:38:01.98ID:u6MOmZ92M
>>623
ライブラリを使おうが、使わなかろうが、責任をとるのはコードを書いた本人。
ライブラリを使って書いても、書いたコードにバグがあれば不具合は発生するし、脆弱性が発見される事もある。
つまり、ライブラリを使うことは安全を担保する事にはならない。
セキュリティを意識するなら攻撃手段を知って対策をとる必要があり、「脆弱性対策でコードを修正するのが嫌」なんて意識の奴にはそれがないから安全なコードは書けない。
いい加減、「ライブラリの方が安全」という幻想は捨てろ。
2017/06/29(木) 19:44:32.14ID:G/PuksG2M
>>639
もとまとそれは、
有名どころのライブラリーと同レベルの"安全"を構築するのに必要な知識と工数、それらの後々の保守
それを自分で行ってまで、ライブラリーは安全が確認できないから使わないとか言い出すバカへの反論だろ
641デフォルトの名無しさん (アウーイモ MM25-8ij8)
垢版 |
2017/06/29(木) 19:56:45.52ID:O2hO0ZxfM
>>640
例えば、有名でgithubで配られてたなら良いんだ。無条件で何もかも信用すると。
2017/06/29(木) 20:01:07.23ID:G/PuksG2M
>>641
おまえって文章の理解力はおろかコミュニケーション能力すらないんだな
そんな人間が客の要求するものを提供できるのか?ん?

で?640のどこに有名でgithubにあれば信頼すると書いてあるんだ?ん?

だいじょうぶか?
2017/06/29(木) 20:58:30.42ID:pR18qhyD0
何勉強すればいいのかわからん
JavaScriptなのか
TypeScriptなのか
Node.jsなのか
io.jsなのか
CoffeeScriptなのか
Jadeなのか

Babelなのか
Webpackなのか
gulpなのか
Gruntなのか
2017/06/29(木) 21:00:37.94ID:u6MOmZ92M
>>640
いいたいことはそっちか。

まず、考え方のスタート地点からして間違っている。
計るべきは「安全」ではなく、「リスク」だ。
安全は定量的に計ることが出来ないが、リスクはテストで計測できる。
「有名どころはライブラリと同レベルの安全」なんてものは主観的なイメージでしかない。
具体的なリスクを想定するならテストは容易。
例えば、ipaはSQLインジェクション検出ツールというものを公開している。
https://www.ipa.go.jp/security/vuln/iLogScanner.html
XSSやDOSだってテストは可能だろう。攻撃手法は確立されているのだから、実際に攻撃してみれぼすむことだ。
2017/06/29(木) 22:22:51.18ID:G/PuksG2M
>>644
本当にレベルが低いなおまえ
先日のレスのやりとりをもういちど読み返してみろよ
サラリーマンITドカタとしてならおまえの言うことも分かるがそれが原因で海外と大きく差が開いてるって話だろ
一生高みを目指すこともなく、社内でがんばりなさい
2017/06/29(木) 22:24:00.88ID:G/PuksG2M
>>643
まず何をしたいか(何を作りたいか)、どこまで行きたいかだろ
2017/06/29(木) 22:51:27.98ID:5Mg1QR5I0
>>643
勉強なんかすんな
好きなものを学習しろ
2017/06/29(木) 23:06:47.99ID:SZfALoS90
>>638
> ユニットテストならそれでいいがな
レスの仕方間違ってるって言われない?

「ユニットテストはそれでOK」じゃなくて
NGな場合を言うべきでは?

ユニットテストがそれでOKってのは
最初からわかってることでしょ?
649デフォルトの名無しさん (ワッチョイ f958-w5nm)
垢版 |
2017/06/29(木) 23:12:51.48ID:0KUMhSCT0
>>643
あなたさては…極めし者ですね?
2017/06/29(木) 23:26:13.53ID:SZfALoS90
>>639
自分で言うことを整理してから言おうよw

「ライブラリの方が安全」というのと
問題が起きた時に「責任を取るのはコードを書いた人(ライブラリを使った人)」
というのは両立できるでしょ?

責任を取るリスクを減らすために
より安全なものを使うんだよ。
2017/06/29(木) 23:27:37.65ID:SZfALoS90
問題が起きた時に責任を取るのが自分なのはどちらも同じだから、

問題が起きにくいものを選んでも
問題が起きやすいもの選んでも
リスクは変わらない

なんて思う人居ないよ?
2017/06/29(木) 23:38:19.05ID:V7qClan2a
なんか話が散らかってるな。

問題が何故問題かと言うと、テストケースとして無茶苦茶なパターン数になるものや、完全に使わない関数を削除して、品証通して出荷した物に、
次のバージョン入れたら同じ事せなならんでしょ。
そうなったら最早同じようにパッチを内製してしまう方が効率的だとは。

一回認証取ったらそれ改修する≒リコールに近い取り返しつかんものもあるんだし。
2017/06/29(木) 23:41:00.76ID:SZfALoS90
>>652
> 次のバージョン入れたら同じ事

「同じ事」って何?
2017/06/29(木) 23:45:50.62ID:SZfALoS90
なぜか世の中には不思議な人が居て、

あるライブラリに自分でパッチを当ててバージョンを上げると、
テストが不要になると考えてる人がいるということ。
2017/06/29(木) 23:46:35.74ID:SZfALoS90
結局自分でパッチを当てるのはテストをしたくないからなのかな?
2017/06/30(金) 00:19:46.25ID:eqw7UWqb0
「勉強」って言うと具体的に何をするのかがわかりにくくなるんだよな
例えば「資料を集めて最新情報を頭の中にぶち込んでいく」とかならいいと思うね
2017/06/30(金) 08:13:14.22ID:8BRS12d5d
>>653
うん、もう一回改修/去勢して、もう一回テストせなな。

>>654
何言ってるんだ…?テストするよ。
そのままVerUPするとそのタイミングと範囲が自分たちが使う範囲外であろうがなかろうが、テストケース自体切り直さないといかんくなるだろ。
パッチはその辺り、既存テストへの増分として考えればだいぶマシだし、デグレの原因わかりやすい。

テストしたくない、したい、ではないよ。
どうせするんだから。
有意義なテストしないと、意味ないじゃん。

内製≒ノーテストだと思ってるんだろうか?
2017/06/30(金) 08:13:27.59ID:S0i2W9e40
客は、OSSを希望する。
外部から指摘されて、何回か修正されるから

内製のものは、指摘する人がいないから、まず自分から修正する事はない

ただで修正すれば、自分が損するだけだから、
わざわざバグがあったと報告する人はいない

だから、OSSでは修正されるけど、内製では修正されない。
つまり、よく修正されるものほど高品質
2017/06/30(金) 08:31:23.17ID:8BRS12d5d
>>658
希望されないな。すごい世界だなーって思う。

内製に指摘する人?めちゃくちゃ居るよ。
ソフトウェアレビュー、製品レビュー、品証、製造、品証、改善委員会、社内仕様検討会、と、どこからでも無慈悲に飛んでくる。
指摘されて怒られるのは無意味だし、むしろ製品として出ちゃうとヤバいし、レビュー通っててもこっちから改善提案再検討願いみたいなの出せるし、出すよ。

自分で報告したら損になるって随分変わった会社だな。
2017/06/30(金) 08:40:02.44ID:8BRS12d5d
ってか、OSSでももう俺が飽きてしまって、誰かやりたい人、フォークして俺本気でこれやる、ってイシューに書いて宣言してー。readmeに書くし、obsoluteつけてまわるよーって宣言したものもあるしなぁ。
誰かや、誰か達のモチベーションに頼る方が危ない。
2017/06/30(金) 08:49:22.86ID:0zGLF76x0
さっきからossのライブラリは信頼できるかどうか?
でスレを消費してるが、スレ違いでは?
正直会社の方針次第なわけだから、
どうでもいい。
前の前の会社ではネット禁止でアプリのインストールも社内ネットワークで許可されているものだけ。みたいなことがあった。そういう状況では自作するしかないから。
それだけの話。
2017/06/30(金) 09:00:06.92ID:0zGLF76x0
>>643
この中ではtypeScriptを主体に初めたらいいよ。
型があるって便利だよ。なんというかライブラリの使い方をコンパイラが教えてくれる感じ。
rxjsとか使うときとか返り値が何になるか推論した結果を教えてくれるから
凄く理解が進む。

ただしtypescriptをサポートしたライブラリじゃないものを使うと途端に茨の道に入るけどな。
あとwebpackとか意識しない方法はある。rectだったらcreate-react-app --scripts-version=react-scripts-ts を使う みたいな
2017/06/30(金) 09:09:00.44ID:fFOVbhCk0
TSはJSで物足りなくなって来てからが良いと思うぞ
まずは普通にJS界に入った方が良い
あと型はまだまだ時間かかりそうだから今からTS始めるのもありだが
モジュール周りが仕様固まって実装が始まってるので
今からwebpackやらに頼って行くのは良くない
勿論当分は必要になるわけだけど、それはあくまで仕方なく変換するために使うわけで
まるで標準のように履き違えてはいけない
もう1,2年したら型周りも同じ、TSもCSと同じくあくまでJS界の肥やしとなるもので
まるで標準のように履き違えてはいけない
2017/06/30(金) 09:50:47.69ID:IptprhNE0
>>657
> 何言ってるんだ…?テストするよ。
> そのままVerUPするとそのタイミングと範囲が自分たちが使う範囲外であろうがなかろうが、テストケース自体切り直さないといかんくなるだろ。
> パッチはその辺り、既存テストへの増分として考えればだいぶマシだし、デグレの原因わかりやすい。

もしかして自分らで開発してるシステムのテストじゃなくて
使ってるライブラリのテストをやってるの?
例えば使ってるOSのテストを行うみたいなことをやってるの?
2017/06/30(金) 09:52:50.87ID:IptprhNE0
まともなライブラリであれば、ライブラリのテストはライブラリ開発者がやっていて
修正履歴もわかるし、既存テストは存在するし、増分のテストもすでに存在してるよね?

それなのにライブラリのテストを自分らでやってるの?
2017/06/30(金) 10:33:00.44ID:vRopsyNtH
>>660
> 誰かや、誰か達のモチベーションに頼る方が危ない。
そこだけは同意するわ
2017/06/30(金) 11:33:36.44ID:0zGLF76x0
>>663
俺はtypeScriptが先でもいいと思うよ。
例えばdom操作に限って言えば明らかにtypescriptのほうが楽
対応しているeditorならどんなメソッドがあるかわかってるから
曖昧な覚え方をしていると指摘してくれるし、例えば、querySelectorAllは配列で返ってくるから
addEventListenerをすぐには使えないのかってすぐ分かる。

試しにpaygroundを使ってみるといいと思う。補完が効くし変数にカーソルを合わせると
変数の型もわかる。

https://www.typescriptlang.org/play/
2017/06/30(金) 13:10:11.39ID:kyR5MuKtd
勿論それはいい事だけど
Web業界にどっぷり浸かるとそういう綺麗事な効率性だけじゃなく
「つぶしが利く」必要がまだまだあると思う

だからそこはAllが配列返してaddが直接使えないこと程度は身につけるべきだと思う
ライブラリと同じで、しっかり身に着けた人が補助のため頼る方が「つぶしが利く」
2017/06/30(金) 13:34:05.43ID:hOM5guscM
>>650
何が整理されてないのか、分からんが俺が主張するのは2点だけ。
・安全で語るな、リスクで語れ
・どんなリスクがあるのかを検証しろ

「ライブラリの方が安全」と主張する奴は希望的観測で語るばかりで、某かを検証したデータがあるわけでもなく、信用できないといってる。
お前の主張を他者に認めさせたいなら、「他作ライブラリを使用することが自作ライブラリを使用するよりもリスクが低い事」を実証して見せろ。
2017/06/30(金) 13:50:33.02ID:vRopsyNtH
>>669
で、OSから自作してるんだっけ?
2017/06/30(金) 13:54:38.80ID:vRopsyNtH
そもそも、同じプロジェクトの他のメンバーだって他人でしょ
2017/06/30(金) 15:47:58.41ID:JEn0ao1ZH
>>669
「自作ライブラリを使用することが他作ライブラリを使用するよりもリスクが低い事」は実証されてるの?
2017/06/30(金) 17:23:55.06ID:6VfENEQxd
>>664
うん?うん。
ライブラリが仕様通りか受け入れやってるよ。しないの?
OSテストするよwだから枯れたカーネル使ってんだし。

>>665
ライブラリ開発者がやるのは単体テスト。
そのテストコードがこっちの要求品質にあってなかったらテストするじゃん?
使う側は受け入れ試験と、製品に対してのテストの担保のために受入、ユニット、総合テストするじゃん。

>>670
他業種だけど、JDLなんかも未だに作ってるんじゃねえかな。
あそこもキーボード作ったり色々やっとるし。

>>672
それ俺が>>660で書いたように、飽きる飽きないという致命的にサポート体制がヤバいものもあるって問題の様に、OSSでも売り物でも程度問題かと。
.netの初期も酷かったしな。昔居た会社でMS何回呼んだかわからんぐらい色んな地雷踏んだ。
そういう意味では、テストが全体を網羅してて、かつ「使わない部分が無いライブラリ」ってのは割と盤石。
2017/06/30(金) 17:48:17.64ID:vRopsyNtH
>>673
OSをテストするような環境は、特殊環境だと気づこう
2017/06/30(金) 17:50:07.40ID:vRopsyNtH
libcとかもテストしないとだね
大変だわ
2017/06/30(金) 18:32:07.75ID:hOM5guscM
>>672
実証されてないし、俺はそんな事を主張していない。
俺が「テストしろ」と主張するのは「他作の方がリスクが低い」を主張する人がそれを確認するのに有効だから。
希望的観測や願望で適当な事を主張している奴に「しっかりと実証してからものをいえ」と指摘しただけ。
2017/06/30(金) 18:36:07.84ID:kyR5MuKtd
環境テストばっかりしてるとただの環境バグ発掘作業になる
組み込みやWebでも特定環境向けのシステムなら意味はあるが
そうでないのならそうなってしまうことは避けた方がいい

そもそもWebページってのはエラーがあったからと言って落ちたりするわけでもなく
HTMLを中心に頼るように構築することでプログラムの一部分の問題から復帰しやすいようにも作れるわけだから
2017/06/30(金) 18:39:34.57ID:hOM5guscM
俺は別に「自作の方がリスクが低い」と主張するつもりはない。
あえてリスクを計るならXSSだとかSQLインジェクションだとか、リスクに具体性を持たせてテストすることになるだろうが、自作/他作を集計してテストコードを書いて...そこまでやる意義が感じられないからやる必要すら感じない。「俺は」な。
だが、それを主張する奴は実証して証拠を持ってくるべきだ。
でなければ、説得力を失う。
2017/06/30(金) 19:24:31.54ID:fFOVbhCk0
XSSみたいに、まず試されそうな脆弱性に関しては自作の方が弱いだろうね
でも珍しい脆弱性になるほど、広く使われている物の方が弱くなる
ただしベータ版も広く使われて十分に検証されていると思われる
超著名なライブラリってのはやっぱりリスクは低いと見ていいと思う

まあダウンロードページが改ざんされてーくらいになると
それどころの話じゃなくなるからさ
2017/06/30(金) 20:21:30.46ID:hygOmuo70
>>667
TypeScriptはJSをある程度極めてからのほうがよくない?
生JSが分からないと他のコード読んだりで苦労して結局素人レベルで躓くよ

もしくは、そもそもJSなんてまじめにやる気がなく他の言語の知識で手っ取り早く何かを作りたいとか
2017/06/30(金) 21:36:48.80ID:jM2/iqY60
質問でも何でもないんだけどES6の分割代入ってのを勉強不足で知らなくて面白そうだったので遊んでみた

const sum = ([x,...xs]) => !x ? 0 : x + sum(xs);
const a = [1,2,3,4,5,6,7,8,9,10];
console.log(sum(a)); // 55

const maximum = ([x,y,...ys]) => !y ? x : x<y ? maximum([y].concat(ys)) : maximum([x].concat(ys)) ;
const b = [22,56,13,53,89,72,64];
console.log(maximum(b)); // 89

const zipWith = (f,[x,...xs],[y,...ys]) => !x||!y ? [] : [f(x,y)].concat(zipWith(f,xs,ys));
const c = [3,5,8,100];
console.log(zipWith((m,n)=>m*n, a, c)); // [3,10,24,400]

const takeWhile = (f,[x,...xs]) => !x||!f(x) ? [] : [x].concat(takeWhile(f,xs));
const langs = ['C','Java','Python','JavaScript','Perl','C++'];
console.log(takeWhile(x=>x!=='JavaScript', langs)); // ['C','Java','Python']

うーん、先頭に追加したいだけなのにconcat使ってるあたりがダサいな・・・効率悪そう
でもパターンマッチの幅がぐっと広がるし再帰はともかく日常的に重宝しそうだ
2017/06/30(金) 22:04:13.01ID:IptprhNE0
>>673
> ライブラリが仕様通りか受け入れやってるよ。しないの?

しないよ?

ライブラリを使ってる自社開発システムが
正しく動くことをテストしてる。

だってそうでしょ?
中で何を使ってるかは関係ないでしょ?
自分で作ったものが、正しく動けばいいだけ

だから正確に言えばテストはしてる。ただしライブラリ部分は
ブラックボックステストになってるってだけの話

そもそもさWindowsやブラウザが仕様どおりかの受け入れテストする?
しないでしょ? ダブルスタンダードは良くないよ
2017/06/30(金) 22:10:45.39ID:IptprhNE0
>>682
それからさ、あんた。

自分で下請けに開発してもらったライブラリと
汎用のライブラリを同じようにテストするべきって考えてるでしょ?

どっちも同じ「ライブラリ」だからね!とここで思考停止してる。
ライブラリという名前に騙されて、その2つの違いを考えてないでしょ?


下請けに開発してもらうライブラリは、
下請けに出すほうが仕様書やらテスト仕様書やら作るから
受け入れテストがあるんだよ。

じゃあ汎用のライブラリは? 仕様は開発会社が作るし
テスト仕様書も開発会社
受け入れテストをするためのテストなんて作れやしない

もしかして汎用ライブラリの仕様書やコードを読んで、
すでにある実装がエラーでないようなテストを作るの?
それ意味ないよねw
2017/06/30(金) 22:13:44.89ID:0zGLF76x0
>>680
ある程度の対処法を把握するくらいで十分だと思う。
今時jsだけってわけでもないでしょ。goとかswiftとか触ると思う
後フレームワークならRxJSとか。
例えばExpressのmiddlewareの仕組みをわかってれば
koaのmiddlewareとか
golangならgoaとかのmiddleware
reduxのmiddlewareとかもある程度どんなものか分かるようになるし
あとandroid開発してる時にcontextって出てきた時に
go系のwebアプリでもcontextが出てきて同じ役割だったりする。
関数型言語を学んだら普通にlodashのflatMapとかreduceとか使えるようになるし

ということで色々幅広く学習すると理解は同時並行的に進むし
多少曖昧でもコンパイラが教えてくれるから詰まることは少ないし。
ということで一つの言語に係る時間は短めなんだからコンパイラが教えてくれるならそれに越したことはない。
自分としてはIMEが漢字を変換してくれるのに似ていると思ってる
漢字は自力で書けなくなってるけど変換したときの正解はわかってるから支障はない。
2017/06/30(金) 22:16:53.72ID:IptprhNE0
> ただしライブラリ部分は
> ブラックボックステストになってるってだけの話

自己レス

ブラックボックステストって書いちゃったけど、
プライベートメソッドのテストって書いたほうが良いか?


プライベートメソッドは直接テストを行わない。
パブリックメソッド経由でテストを行う。

それと一緒でライブラリのテストは
自分で開発したプログラムのパブリックメソッド経由で
テストを行えばそれで十分

ライブラリのテストはライブラリの開発会社が
担当すべきところ
2017/06/30(金) 22:21:00.75ID:fFOVbhCk0
分割代入は90%
ary2 = [...ary]
ary3 = [...iterable]
のためにある
2017/06/30(金) 22:22:06.30ID:IptprhNE0
それにしてもびっくりだなw

あなたが作ったライブラリが私の仕様を満たしているか
受け入れテストを行います。これならわかる。


あなたが作ったライブラリがあなたの仕様を満たしているか
私が代わりにテストしてあげます。


とか意味不明w
2017/06/30(金) 22:26:30.33ID:IptprhNE0
まあ、あれだな。
自分が頼んで作ってもらったライブラリと、
汎用的なライブラリをごっちゃにしてたのが敗因
2017/06/30(金) 22:57:05.20ID:caqhD/Ov0
>>667
> 補完が効くし変数にカーソルを合わせると変数の型もわかる。
それはインテリセンスであって型の恩恵ではない。
型なしでもインテリセンスが利くエディタもあったはず。

>>681
それは分割代入ではなく可変長引数だが。
ただ正直、お前らそんなピント外れな事ばかりしてるから上達しないのだと思うぞ。
色々試すこと自体は悪いことではないが、
そのコードだと余計に話が面倒になってるだけだろ。
しかも末尾再帰にもなってないし。
お前らの周りには、「馬鹿かよ」と言ってくれる上級者は居ないのか?

他の奴にも言ってるが、今のお前らが上達したいと思うのなら、
とにかく大規模なコードを書け。
そしたら今のお前らのこだわりがどれだけ無意味なのか分かるようになる。
そういう小手先の技なんて全く必要ない。
car/cdrはLispに在ったはずだが、誰もLispなんて使わなかったし、今現在もそうだ。
関数型()の奴らが勘違いして色々大騒ぎしたようだが、
現実的に「新型」関数型は何も生み出せてないだろ。
あいつらやってることがずれてる。それは上級者になれば分かる。

car/cdrにして効率を上げるには、
インタフェースを揃えた事により複数の関数を同様に適用できるようにするか、
イテレータを揃えた事により複数のコンテナに対応できるようにするかしなければならない。
ただこの方向で最適化しまくってるのがむしろC++なのは皮肉だが。

あと何度も言ってるが、マジで別スレ立てろ。
お前らの間違いは多すぎて訂正する気にならないほどだ。
お前らと話したところで俺が得るものはなく、お前らが無理矢理居座るなら俺が出て行くしかないが、
それはお前らにとっても不利益なはずなんだがな。
お前らは近視過ぎだ。あと、韓国人死ね。
2017/06/30(金) 23:02:09.67ID:fFOVbhCk0
この中で一番異質な人に言われましても……
2017/06/30(金) 23:43:32.16ID:caqhD/Ov0
そもそもお前らは>>681のコードが何故駄目なのか指摘できないんだろ?
それでお前らが俺に噛み付いてくる理由が俺には分からんよ。

とはいえ、これまでのお前らの反応を見る限り、
お前らはお前らのコミュニティ内では上級者として振舞っているのだろうとは感じる。
しかし他言語経験者からすると、お前らフロントエンジニアはマジで糞だよ。
お前らが馬鹿にしているペチパーのほうが俺には数段マシに見える。

ただまあ、この際お前らが糞かどうかなんてどうでもいい。
問題はお前らの向いている方向が完全に間違っていることだ。

例えばC++のスレ、あれはあれでかなり異質だが、
仮に俺が同様の指摘をすると、奴らは「技術的な」意地の張り合いを仕掛けてくる。
具体的には、俺が指摘した「技術的」部分、

・話が余計に面倒になってるから糞(ネイティブで書いたほうが数段マシ)
・末尾再帰じゃないから糞
・car/cdrにした意味が無いから糞

について突っ込んでくるわけだが、お前らは基本的に俺の「人格が糞」って言うだけだろ。
俺の人格なんてどうでもいいだろ。
お前らはOSSのコントリビューターの人格なんて気にするのか?しないだろ。

そもそもお前らみたいに「人格」を気にするのならマジで「マトモな」フォーラムに行け。
俺みたいに「韓国人死ね」って言うやつなんて皆無だ。
そのかわり、「人格」が重視される分「内容」が軽視され、
結果的に2chみたいに「内容のみ」で判断される場所よりも技術的内容は酷い。
どっちを選ぶかはお前らの自由だが、他スレ見ても分かるとおり、
2chなら2ch的にしかならんよ。俺もそうだというだけ。

ただ、何度も言っているが、俺は止めろと言ってる訳じゃない。
今のお前らには「中級者用雑談スレ」が必要なんだよ。だからそれを立てろと言っている。
2017/06/30(金) 23:52:44.19ID:GS9EZJzQa
>>691
不快にさせてしまったようですみません
単に動きを確かめたかっただけです…
おっしゃる通り糞コードですし、真面目に再帰として使う気は毛頭ありません
ただ新機能をいろいろ試してみるのが好きなので…お目汚し失礼しました
2017/07/01(土) 00:31:04.94ID:sOThA7TG0
> 単に動きを確かめたかっただけです…
それは見ただけでわかるよ。

それなのに>>691はなにをそんなに
喚いているのかのほうがわからない
2017/07/01(土) 00:44:33.80ID:v6lxlzuW0
>>692
IDとか違うが釣りか?
まあそれはいいとして、そういう問題じゃない。

お前らは色々表面的、面従腹背になってる。
事実として、糞な上司はいるし、デタラメなことを主張する馬鹿もいるだろう。
それに対してお前らなりに対応してきた結果だとは分かる。

脱線するが、俺がビビッたのは、姜尚中が
「東大の教授ってものすごい権力があるんですよ。
だって必修科目の評価を落とせば、任意の学生を卒業させないことが可能なんです」
の類のことを言ったこと。
東大に限らずどこの大学でも必修科目の教授はそうだが、
誰もそれを濫用しなかったから秩序があるわけであって、
だから韓国人は駄目なんだ、とは思ったね。
とはいえ、政治学科等ではゼミの教授の思想と一致する方向の論文の評価点が高くなる傾向があり、
お前らは学生時代からイエスマンとして振舞うことを強要されているという現実もあるとは聞くが。

ただな、2chはそういう場所ではない。
だから、お前らが俺に対してイエスマンになる必要はないし、その意味もない。
また、思うところがあるのなら堂々と反論すべきだ。

ただしそれは「技術的」なことにしろ。
あと、よくいる馬鹿は「糞コードだ」としか言わないが、
俺は自学できるように「何故糞コードなのか」ちゃんと書いてるだろ。
だから681に関しては少なくとも落とした意味(利益)があるようにしてる。
そうすると681は次もまたコードを落としてくるかもしれないだろ?
そうやっていい投稿者にエサ(利益)を与えて再投稿を促し、悪い投稿者や韓国人は無視して殺し、
スレを作っていくものなんだよ。お前らはここら辺のことをまるで分かってない。
とはいえこれらも経験だから、お前らなりにやって学ぶしかないんだよ。
だからやれといっている。雑談スレを立ち上げて、お前らなりにやってみろ。
韓国人死ね。
2017/07/01(土) 05:39:00.59ID:tsOkG4MF0
このスレでは雑談は禁止ではないが
煽りは最重要禁止項目だ 去ね
2017/07/01(土) 06:20:14.63ID:NwMl3A690
わざわざスレタイに「質問用」ってつけたら普通雑談禁止に決まってるだろ
2017/07/01(土) 08:01:42.86ID:0yRty6Dza
>>682
受入しないなんてすごいな。

正しく動いてるように見えるのと正しく動いてるのは違うぞ。
「多分全部施錠した」と「全部施錠した」っての、前者はガバガバだよ。

Windowsとブラウザかどうかかわってくるかわらかん…納品物にはそいつら含まれてないよ。
強いて言えばブラウザはFirefoxのLTSのいくつで確認してますはあるけど。

>>683
だから、汎用ライブラリは要らないね。
スイスアーミーナイフでドヤ顔されるようなもんだし。

最後の段落意味がわからん。
本気でわからん。エッジ値周りのテストとかするだろ。
お前、実務経験無いだろ。
2017/07/01(土) 10:10:59.64ID:v6lxlzuW0
>>695
> 去ね
汁かよ。韓国人乙。死ね。

というかこれも既に言っているが、2chにおいてある程度の煽りは必要悪なんだよ。
やればわかるが、煽り無しではまったく秩序を維持できない。
ただしお前らがこれに反対する権利はあって、それなら実力を見せろと言っている。
つまり、このスレを乗っ取るのではなく、
お前らで「ぼくらのかんがえたさいきょうのすれっど」を立ち上げて何とかしてみせろ。

韓国人死ね

実際お前らが韓国人歓迎/初心者歓迎/煽り無しで良スレッドを維持できるのなら大したもんだ。
そしてその場合、このスレは死ぬんだから、お前らの望みどおりになるだろ。

ただ、これも何度も言っているが、俺はお前らにはその能力はないと見ている。
理由は簡単で、お前らはお花畑だからだ。
現状の2chがどういう力学で秩序を維持しているのかすら理解できていない。
お前らお花畑の理論なら、マトモなフォーラムの方がマシになるはずなのだが、
それならお前らがここにいること自体が矛盾するだろ。これも既に言ったが。

つってもどうせ納得するはずもない。だからやってみろ、と言っている。
そしてお前らの無能さを思い知るがいい。
ただ、マジで成功するようなら、それはお前らの勝ちだし、2chの雰囲気も変わるかもしれんよ。

いずれにしても、正しい競争というのは、よりよいものを提示しあって殺しあうものであって、
いいものに纏わりついて相手を貶めて自分達レベルまで落とす、ゴキブリ韓国人的競争は止めろ。
マジで誰のためにもならないからそれは。
2017/07/01(土) 11:09:42.66ID:sOThA7TG0
>>697
> 受入しないなんてすごいな。
ライブラリの受け入れテストしないだけで
ライブラリを使ったシステムのテストはするからな。
何の問題もない。

それになんで汎用のライブラリ、つまり開発者が仕様作ってるのに
なんの受け入れテストするんだよって聞いたよな?

自分が頼んで作ったライブラリ(これなら受け入れは存在する)と
汎用のライブラリは違うっていったことは無視か?

> 正しく動いてるように見えるのと正しく動いてるのは違うぞ。
だからテストすると言ってる。何度でも言うぞ?w


> Windowsとブラウザかどうかかわってくるかわらかん…納品物にはそいつら含まれてないよ。
意識してないようだけど、結局それだよねw

動くことを保証するためにテストするんじゃなくて
納品するからテストするになってる。

それならライブラリも納品しなければ良いのでは?
Windowsやブラウザのように、お客様が設置するもの
とすれば、テストしなくてすむよw
2017/07/01(土) 11:11:11.26ID:sOThA7TG0
>>697
> エッジ値周りのテストとかするだろ。

だーかーらー、自分で作ったライブラリを使ったシステムのテストをすればいいだけ。
ライブラリ自体のテストは、開発会社がすでにやってるじゃん。
2017/07/01(土) 11:15:31.36ID:sOThA7TG0
> お前、実務経験無いだろ。

頑張れば偉いと思ってる証拠。
(無駄な)努力をした。だからちゃんと
仕事してると思い込んでるw

無駄な作業に時間をかけるのが
真面目なのではない。

ただの馬鹿である。
2017/07/01(土) 11:32:52.36ID:sOThA7TG0
そもそもさ、汎用のライブラリ=どこかの開発者が作ったものの
受け入れテストの内容ってどうやって作るんだよ?って話だな。

先に書いておくと、自分が作ってもらってないので
「受け入れテスト」は正しくない。
だけど普通はやらないテストだから名前がない。


さて、どうやって受け入れ(?)テストの内容を作るのだろうか?
開発者が考えた仕様をみて、そこからテストを起こす?
それ受け入れるためのテストじゃないよねw
開発者が仕様を考えるのだから、勝手に仕様を変えるのは間違い

開発者が考えた仕様に動きがあってないというのならバグだが、
開発者が考えた仕様に文句をつけることはできない。
2017/07/01(土) 11:38:19.24ID:sOThA7TG0
「受け入れテスト」という用語を調べればわかるが、
これは" 委託して作ってもらった" システム(ライブラリ)のテストと書いてある
自分で何処かに委託して作ってもらったライブラリと汎用のライブラリは
性質が全く違うものなのである。


ライブラリは作ってもらうものだ。という固定観念
だからライブラリを使う時はテストが必要だ。という間違った経験
そのテストは受け入れテストだと言うんだよ!という間違った理解
(不要な)汎用ライブラリも受け入れテストしてる。これがプロの仕事だ。
とかいうアホ

システムが正しく動くかどうかじゃない。納品物に含めるからテストをする。
結局のところ本音はこれ。


なんのために、なにをすべきか、という思考が抜けてる。
思考停止した結果なのである。
2017/07/01(土) 16:43:33.71ID:19JqSrJ9a
なんで発狂してんだ?
検収印押してもらえなかった思い出でも出てきたの?

受け入れ試験は、委託に限らんよ。
社内でも、誰かが他の誰かの物を使うなら、やるべきもんだ。
そりゃ、違うスタンスで自分が作ったものを自分が使うときにすら言える。
ライブラリ作る方と使う方は立ち位置が違うんだから。
ライブラリ作る側が使う側のテストを行ったり、使う側が作る側のテストを行うなんて、頭おかしいとしか思えんな。

どっちの立場でも相手方に失礼というか「お前のやるべきことはこれだけど、やっといた」なんて調子乗った発言に近い。
2017/07/01(土) 20:37:43.10ID:sOThA7TG0
> 受け入れ試験は、委託に限らんよ。
> 社内でも、誰かが他の誰かの物を使うなら、やるべきもんだ。

だから、他人が仕様を作ったライブラリの受け入れテストを
お前がどうやって書くのかって聞いてるんだが?
それに答えられないってことが全てを表してるんだが?
2017/07/01(土) 20:39:44.33ID:L5VGgNlyM
社畜ってこんなもんだよ
何一つ自分で判断できずに悪しき習慣も全て受け入れ守っていく
そうやって生きてる生き物なんだから仕方ない
707デフォルトの名無しさん (ワッチョイ 2eaa-E0Ps)
垢版 |
2017/07/01(土) 20:56:59.32ID:M8KylmXN0
ライブラリに、タスクランナー、Grunt 用のテストも付いてるだろ

ライブラリを修正したら、自動的に実行される
2017/07/01(土) 21:06:48.89ID:sOThA7TG0
>>706
委託して開発してもらうライブラリの場合は
自社で仕様と受け入れテストを書いてそれが通ることを確認する。

これが何も考えてない馬鹿に手によっていつの間にか
「ライブラリは受け入れテストを行う」という部分だけが残って
悪しき習慣に成り果ててしまったという例だろうな

>>707
そう。有名なライブラリにはテストがついていて
開発元によってテストされているのだから、
受け入れテストなんてものは不要。

そもそも仕様を作ってないやつが、どうやって受け入れテストを書くというのか
その問に答えてない
2017/07/01(土) 22:33:04.71ID:M8KylmXN0
ライブラリの作者が、TDD などで、テスト仕様書を作っている

そもそも、作者以外がライブラリのソースコードを読んで、
テストを作るのは無料だろ

車輪の再発明
2017/07/01(土) 22:34:31.34ID:M8KylmXN0
>テストを作るのは無料だろ

テストを作るのは無理だろ
2017/07/02(日) 01:32:35.32ID:bF/DvhwFa
>>705
どうやって書くのかって、ブラックボックスで渡しうる値のパターンのテスト作って、
次はホワイトボックスでカバレッジ満たすようテスト作って、
次はシナリオやって、やるプロジェクトならパラノイアテストだろ。
今パラノイアテストって言っちゃいかんのかな。

>>709
車輪の再発明って、全く以て悪い言葉みたいに捉えてるが、
車の車輪とトレーラーの車輪と、車の車輪を運ぶ台車の車輪はそれぞれ違うものなんだから、再発明して当然だと思うが。

タイヤで言うなら車のタイヤを出荷するタイヤメーカーのタイヤの試作試験と量産試験、出荷前検品、車メーカーがタイヤ買って自社の特定の車に装備するためのタイヤの評価試験、
試作した車のタイヤの試験、量産するときの購買品の抜き取り試験はそれぞれ違うものじゃん。全部タイヤの試験だけど。
どれがどう厳しいとかはケースバイケースだろうけど。
そーゆー話。
2017/07/02(日) 01:48:09.60ID:0SO6fajC0
>>711
ブラックボックスで渡しうる値のパターンのテスト作って
それがどうだったらOKってやってるんだ?
何が正解なのか、それはお前にはわからんだろ

仕様は作ったものじゃないぞ?
テストがNGだったらお前のテストが間違いってだけだろ?
2017/07/02(日) 01:50:16.01ID:0SO6fajC0
こいつテストをしている気分を味わってるだけなんだよなw

目的がない。


なんで開発会社がやるべきテストで開発会社が実際に行っている物を
また自分で作ってるんだろうか?w


> そーゆー話。
そーゆー話とごっちゃにしてるわけねw
2017/07/02(日) 01:55:38.11ID:0SO6fajC0
タイヤの話は全く的はずれなのは、

タイヤというのは規格というものがあって、
いろんなメーカーがあり、互換性があって交換可能なものだから
それに加えて、同じものであっても個体差があるから。


ソフトウェアには当てはまらない
有名ライブラリを導入する場合のテストには全く当てはまっていない。


意味のないテストやった気分を味合うのが目的となってるw


新人「受け入れテストってなんで必要なんですか?」
上司「検品と一緒よ。買った商品が正しく動くか一つづつ調べるんだ」

こんなアホな会話をしたことが容易に想像できる。
2017/07/02(日) 01:56:20.52ID:bF/DvhwFa
>>712
どうだったら、って何だ?
仕様通りなら、だよ。
ブラックボックステストってしらんのかな。

目的は簡単だよ。
人が死なんように物作ってるだけ。
2017/07/02(日) 01:59:01.52ID:bF/DvhwFa
>>714
違うよ。
有名ライブラリだろうが無名ライブラリだろうが、
信用ならないものを信用に足るものにするためには、
最終的に信用する側に、信用の方法が委ねられるって事。
その信用の方法が、お前は「相手方の言ってるテストが正しい、有名だから」で、
俺は「自分たちが確かめていないことは、相手が何を言おうが『確かめていないこと』以上の何者でもない」って言ってるの。
2017/07/02(日) 02:00:33.69ID:bF/DvhwFa
受け入れテストって何だと思ってんだろ。
2017/07/02(日) 02:02:46.54ID:0SO6fajC0
>>715
> 仕様通りなら、だよ。

汎用のライブラリの話をしてるって言ってるよな?
だからお前が発注して作ってもらったライブラリじゃないって言ってるだろ

仕様を考えたのはライブラリの開発者だよ。
お前はその仕様を知らんだろ。


お前が仕様を決めるわけじゃないのに、
何がどうなったらOKなんだって聞いてるんだが?
2017/07/02(日) 02:04:22.74ID:0SO6fajC0
>>717
知らないなら素直に調べたら?

http://www.itmedia.co.jp/im/articles/1111/07/news124.html

受け入れテスト(うけいれてすと)

> 一般に受け入れテストは、オファーしたものが所定の条件に
> 適合しているかを確認する作業であり、次工程に進むことに承認を与える過程である。
> 原則として利用者や購入者が主体となって行うテストを指すが、
> 元請けが下請けからの納品物を検収する作業をいう場合もある。


オファーしたものがってところが重要な点だな。

汎用のライブラリを導入する場合は、オファーしてないので
前提からして成り立っていない。
2017/07/02(日) 02:06:39.95ID:0SO6fajC0
>>716
> 俺は「自分たちが確かめていないことは、相手が何を言おうが『確かめていないこと』以上の何者でもない」って言ってるの。

だから相手が仕様を考えて、相手が開発して、相手がテストをして
そのテスト内容をお前が見れる状態で、

お前は何を確かめるのか?って聞いてるんだが?
2017/07/02(日) 02:16:54.92ID:bF/DvhwFa
>>718
汎用ライブラリに仕様書、API定義書は無いの?
その仕様と、挙動が合ってるかを確かめんじゃん。
それ以外何と調べんの?
俺が決めるわけじゃないが、俺が確認する。そんだけ。

>>719
itmediaドヤ顔で貼られましても。
http://www.weblio.jp/content/受け入れテスト
の狭義側の方が近い。

>>720
テスト内容と結果が、本当に実施されたものか、再現ができるか、
テスト内容に不足が無いか、網羅度が閾値超えてるかとか、いくらでもあるかと。
2017/07/02(日) 02:17:31.80ID:0SO6fajC0
目的がすり替わってるんだよなw
自分で確かめることが目的になってる


本来は正しく動くことを確かめればいいだけで
実際に使ってライブラリではなくて自分が開発した
システムが正しく動くことテストすれば、
ライブラリにも問題がないことは証明できる。


だけどライブラリのテストを自分でやることが目的となってしまってる。
ライブラリが用意したテストを読んで確かめることすらしない。

もはやライブラリが正しく動くかどうかにも興味はないのだろう。
ただ単に自分で確かめることが目的となってる。

Windowsやブラウザも確かめてないよね?w
2017/07/02(日) 02:19:38.37ID:0SO6fajC0
>>721
> 汎用ライブラリに仕様書、API定義書は無いの?
> その仕様と、挙動が合ってるかを確かめんじゃん。

それは受け入れテストではない。

そしてAPIの定義どおりの動きであるかはライブラリの開発会社がテストしている。
どういうテストをやったかは公開されているし
そのテスト結果もわかる。自分でそのテストを実行することもできる。

それ(適切なテストがあるか)を確かめればいいだけ
2017/07/02(日) 02:20:55.01ID:0SO6fajC0
>>721
> 受け入れテストとは、納品されたシステムが、要求した機能や性能などを備えているかどうかを確認するテストのことである。

汎用のライブラリを使うということは「納品されたシステム(ライブラリ)」にはあたらない。
誰もお前の会社に納品してないのだから。

やっぱり前提からして成り立っていない
2017/07/02(日) 02:23:09.32ID:bF/DvhwFa
>>722
できない。
システムが動いてるからライブラリは正しいに違いない、とか一番悲惨なやつになるぞ。
ライブラリで負の数になるバグがありました、サブシステムで負の数になるバグがありました、
システムは積を取っていました、だからテスト通過しました。
ライブラリ改修されました。誰も疑ってないのでパッチ当てました。データ不整合起こりました、データ保証できません、
バックアップからの書き戻ししかできません、賠償問題です。

そんなもん、動いてるって保証になるかバカ。

正しく動くことに興味があるから、テストすんだろ。
正しく動いてるから、正しくサブシステムが動くんだろ。
正しくサブシステムが動くから正しくシステムが動くんだろ。
木を見て森を見ないやつもバカだが、森を見て木を見ないやつはもっとバカだよ。
2017/07/02(日) 02:25:11.13ID:bF/DvhwFa
>>723
おまえズレてるわ。
「自分でそのテストを実行することも出来る」
→自分でやるんじゃん
「適切なテストがあるか確認する」
→無かったらどーすんの?

>>724
当たるわ。
2017/07/02(日) 02:25:17.36ID:0SO6fajC0
>>721
> テスト内容と結果が、本当に実施されたものか、再現ができるか、
だからよく知られたライブラリには、テストがあって
それが本当に実施されるかっていうか・・・

お前、本当に知らんだろ?

ライブラリがやったテストっていうのは公開されていて
誰でも(お前でも)それを実行できるんだって。
テストは簡単に実行できるようになってるんだから、それを実行するだけだろ。

本当に実施されたか疑わしい、本当に再現できるか疑わしい
とか、お前テストの考え方自体がずれてるんだよ。

用意されたテストを実行すればいいだけなの
簡単な作業。

> テスト内容に不足が無いか、網羅度が閾値超えてるかとか、いくらでもあるかと。
テスト内容をレビューすれば? カバレッジもすぐに出せるだろ(ものによっては対応してるしCIで見れるかもな)
2017/07/02(日) 02:27:30.52ID:0SO6fajC0
>>725

> システムが動いてるからライブラリは正しいに違いない、とか一番悲惨なやつになるぞ。
> ライブラリで負の数になるバグがありました、サブシステムで負の数になるバグがありました、
> システムは積を取っていました、だからテスト通過しました。

え? バグでバグが打ち消し合って、正しい動きになるなら、
それは正しいんじゃね?w

お前が書いた、お前のシステムのテストに問題(不備)があるって言うなら
お前のテストの問題だろうさ。
2017/07/02(日) 02:27:50.71ID:bF/DvhwFa
>>727
用意されたテストが正当かどうか検証するなら、二度手間じゃん?
yumの署名を信用するが如く無防備になるか、もしくはちゃんと見るかみたいなそんな話じゃなくて、

そこまで馬鹿ならもう良いよ。
2017/07/02(日) 02:28:11.37ID:bF/DvhwFa
>>728
おまえホントに馬鹿なんだな。
2017/07/02(日) 02:29:49.31ID:0SO6fajC0
>>725
> ライブラリ改修されました。誰も疑ってないのでパッチ当てました。データ不整合起こりました、データ保証できません、
> バックアップからの書き戻ししかできません、賠償問題です。

それはライブラリを入れ替えた後に、

お前の、おーまーえーのシステムのテストを行ってないのが問題だねw


なんでお前、ライブラリを改修した後に、
お前の、おーまーえーのシステムのテストを再実行しないの?w


あれ? でもライブラリのテストはしてるんだろう?
その時にライブラリの挙動勝ちが言えば気づくはずだろう?
本当はしてないから、そういう問題が発生したのかな?(ニヤニヤ
2017/07/02(日) 02:32:46.14ID:0SO6fajC0
ふぅ、自分が作ったシステムのテストをしないやつが、
ライブラリを入れ替えたら、挙動が変わって問題が発生した。

ライブラリの挙動が変わらないことをテストしないといけない
自分の作ったシステムは修正せずに、ライブラリの方を変えよう!

っていう考えだったかw
2017/07/02(日) 03:13:37.06ID:0SO6fajC0
いろいろ見えてきたね。上の方で言っていた、

なんで汎用のライブラリをフォークして使って、
改造しすぎて今では独自のライブラリみたいになってしまったかの答もこれだよ。


・ストーリー

バージョンが古い時にライブラリの導入することにした。
検品(?)が必要だ。ライブラリ開発者が行ってるテストは信用できない。
だから自分たちでライブラリAPIの仕様書・ドキュメントを元に自分たちでテストを書いた。

ライブラリのバージョンが上がった。導入したら自分たちが書いたテストが通らなかった。
それはそうだろう。古いバージョンへのテストだからだ。

テストの方をなおす? そんなことはやってはいけないことだ
それにどんだけ自分たちでテストを書く作業に時間を書けたと思っているんだ!?

ライブラリのバージョンアップで動きが変わることがけしからんことなんだ!
自分たちでそれを元に戻すパッチを作るぞ!

ライブラリがさらにバージョンアップした。これはもう手におえん
古いバージョンをフォークして使うぞ!

ライブラリのバージョンが更に上がって使いやすくなった。
だが、いつまでたっても古いテストをそのまま使うために
古いバージョンをフォークして独自に修正したライブラリを使い続けました。
ブラウザは代わります。そのたびに自分たちで修正を加えた結果
元とは全く違う独自のライブラリになりました。
2017/07/02(日) 03:16:44.25ID:bF/DvhwFa
>>731
違うよ。
ライブラリは正当だと証明されてるなら、システムテストを行うのは、ライブラリを使用したシステムを作成したときだよ。

ライブラリが信用に足りてるからテストはそいつが書いたそいつを信用したテストで済ませるんだろ?

ライブラリが正当だと証明されていないなら、毎度やるよ。
だから、毎度やってるんじゃん。

「おーまーえーの」とか馬鹿なこと言ってる割に、仮定の話、何を仮定しているか、何が問題だから大変なことになるかがわかってないのな。
半分だけ解決した気になってめでたいやつだ。

>>732
違う、それは方法論として正しいことも間違ってることもある。

当たり前だけど、間違ってる方を治す。両方間違ってるなら、両方治す。
最初はパッチ送っとったよ。
2017/07/02(日) 03:17:06.48ID:bF/DvhwFa
>>733
絵を描きすぎ。
2017/07/02(日) 03:20:39.30ID:bF/DvhwFa
>>733
テストの方直すに決まってんじゃん。当たり前だけど、正しいと証明するためにテストしとる。

どんだけ時間と金をかけても、やる。

ライブラリのバージョンアップの挙動変更は良いんだよ。
不具合修正のパッチが遅すぎた。マージされたものもあったけどね。

なんか、一体何屋を想像してんだろう。
2017/07/02(日) 03:21:33.20ID:0SO6fajC0
言っとくけど>>733は「ライブラリ」の話だからな。

そのライブラリを使った自分たちが開発ししている
システムのテストの話にまでは踏み込めていない。


・本来あるべきストーリー

ライブラリを導入した。利用者も多くテストもしっかり書いてあるようだ。

そのライブラリを導入してシステムを作った
もちろん自分たちのシステムに対するテストは書いてある。
(はい、もう自分たちが開発しているテストの話にまで来ましたw)

ライブラリのバージョンが上がった。
でも安心。なぜなら自分たちのシステムに対するテストがしっかり書いてあるから。
中身がどうなってるかは関係ない。システムが正しく動くことを示せれば問題ない。

ライブラリのバージョンが上がった。
自分たちが書いた自分たちが開発しているシステムのテストが失敗した。
どうやらライブラリの挙動が僅かに変わったようだ。

テストは修正する必要はない。自分たちが開発しているシステムを
テストが通るように修正しよう。問題なく最新のライブラリに更新できた。

ライブラリのバージョンが更に上がって使いやすくなった。
ライブラリに対するテストは書いていない。どんなにライブラリが改良されても。修正するべきテストは何もない。
使いやすくなったライブラリに合わせて、自分たちが開発しているシステムを
シンプルに可読性が高く修正しよう。中身が変わっても関係ない。
自分たちが書いた自分たちが開発したシステムに対するテストに通ればいいだけだ。
2017/07/02(日) 03:23:11.79ID:0SO6fajC0
>>734
あれあれ? 汎用ライブラリの受け入れテストを
汎用ライブラリのAPI仕様を見て、自分たちで再実装して
テストをするって話はもう辞めることにしたの?w
2017/07/02(日) 06:08:28.61ID:ynDhLM7Z0
膨大な開発費用がかかるから、ライブラリの再発明はしない

John Resig, Jeremy Ashkenas, TJ Holowaychuk とかを信用しないの?

彼らのライブラリは、漏れらの100倍以上、高品質だと思うがw
2017/07/02(日) 06:10:02.42ID:0SO6fajC0
高品質かどうかが問題じゃないんだろう?

自分でテストしたことが問題。
目的は自分でテストすることにある
動くかどうかではない

じぶんで、がんばることがーじゅうようなんだー
2017/07/02(日) 07:08:31.83ID:fobj6qgr0
再発明と再実装をごっちゃにしているな
742デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 12:40:02.44ID:flwPV3hx0
CSSのtypoを見つけるので、ものすごい時間かかった。
<div style=“position: relative; …”>
って書くところを
position -> positon
って誤って、JavaScriptうまく動かん!
って事になった。

typoを発見する良いtoolとか無いっすかねぇ?
2017/07/02(日) 12:55:44.43ID:0SO6fajC0
普通にatomやvisual studio codeなどの
まともなテキストエディタを使えば良い
744デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 13:37:02.00ID:flwPV3hx0
>>743
atom vs VS Code
軽いのはドッち?
2017/07/02(日) 13:52:18.50ID:U+yzEr64M
このバカってブラウザの自体の受け入れテストとかやるんだろうか?
アプデがくるたびにそれを繰り返すんだろうか?
OSも 笑

こういうバカ(な会社)が日本のITをここまで遅らせて世界から落ちこぼれてるのにな
2017/07/02(日) 14:17:17.44ID:8fmO5i+70
>>742
ブラウザでF12押して確認とかせんの?
747デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 15:17:23.83ID:flwPV3hx0
>>746
option + command + I@safari
でdeveloper tool起動したけど、エラー検出しないんだよねぇ。

chromeでも同じ。
IEだとF12らしいけど、一味違うのか?
748デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 15:18:10.83ID:flwPV3hx0
atom or VS Codeをinstallしようかどうか?思案中。
749デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 15:19:36.26ID:flwPV3hx0
JavaScript + CSS + HTMLってエラー検出難しいってのに
気がついた今日この頃。

ちなみに今の環境は、macOS Sierra + Terminal.App + Vim + Safari
or Chrome
750デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 16:03:25.53ID:flwPV3hx0
atom + linter + html linter + css linterってのがあるねぇ。
Vim plug-inにはsyntactica.vimだかなんだか?splell自信無しがある。
751デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 16:04:25.45ID:flwPV3hx0
atomはファイルのopen/closeが遅いって評判。
けど、VS Codeはopen/close問題ないらしい。
2017/07/02(日) 16:12:08.01ID:8gcUbjI00
>>742
補完機能のあるエディタ使えばいいのに
2017/07/02(日) 16:12:55.05ID:8fmO5i+70
>>747
これくらいの情報あれば分かるんじゃない?
http://i.imgur.com/7QiKfi7.png
754デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 16:24:02.31ID:flwPV3hx0
>>753
コレコレ!
ChromeのDeveloper toolなのかな?

potiton, heighとかのtypoをちゃんと検出するか試してみる。
755デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 16:29:01.21ID:flwPV3hx0
DevTools (Chrome 59)
良い感じ。
Dark Theme(黒い感じの画面)ってのもあって良い感じ。
756デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 16:31:48.53ID:flwPV3hx0
ありゃ、safariでもtypoを検出してくれるのね。知らんかった。
757デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 16:33:12.63ID:flwPV3hx0
最近は、イライラした時に、食い物で解消しない様にしてる。
太るとヤバいからね。
2017/07/02(日) 16:34:01.08ID:CmgcxlkY0
逆に今までなんのエディタ使ってたんだ?
秀丸か?
2017/07/02(日) 16:38:53.28ID:jik3ZK4G0
HTMLタグに直接CSSを埋め込んだ場合だとlinterじゃstyle属性の中身まではチェックしてくれないよね?
760デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 17:13:22.79ID:flwPV3hx0
>>758
今まで、Swift書いてたのでXcode使ってたのだ。
小ちゃいコード片はVim+Quickrun.vimで実行。

JavaScript, CSS, HTMLはほぼ初心者なのだ。

秀丸でFortranを書いて居た事もあるけど、ごく一時期だな。
761デフォルトの名無しさん (アウアウエー Sa4a-8ij8)
垢版 |
2017/07/02(日) 19:23:41.46ID:kcvEAltTa
>>739
仮に彼らが悪意あるコードを仕込んでいたら?
2017/07/02(日) 19:26:33.73ID:e/yyuEo2a
>>738
それもしてたけど、ならもうライブラリこれForkしちゃえばいいじゃん、誰だよオープンソースなら品質がとか言ったやつ、ってなったんじゃん。
お前ホントに話きいてねえな。

>>740
自分でテストした事じゃねえよ。
自分たちが信頼性を担保できるか、だよ。
担保できるなら、そりゃそれでいいよ。

>>745
ものによってはやるよ。特にイントラは。
IEのバージョンはまあほっといてもインフラ屋が整えるから、ものによってはFFのLTSやら、Chroniumの自家ビルド撒く。

>>760
最下行懐かしさすら感じた。
VSCodeはホントに良いな。ちょっと前はBrackets使ってたけど、早々乗り換えた。
売ってるか、VSの公式オプションとして勝手に入ってくりゃ導入しやすいのにな。
2017/07/02(日) 19:28:46.77ID:e/yyuEo2a
>>761
悪意あるコードである場合はほとんど無いが、悪意あるコードを実行するためのとっかかりになる事はあったな。
764デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 19:51:23.42ID:flwPV3hx0
>>759
タグのstyle属性にCSSを埋め込むのは、良くやるけどなぁ。
チョイとhtmlを書くには、最初はstyle属性使うゾォ。
2017/07/02(日) 20:44:01.86ID:lbFb44zd0
JavaScriptのお勧めの入門書ってどんな本になりますか?
よかったら教えて頂けますでしょうか?
2017/07/02(日) 20:59:41.50ID:eAvQkLaE0
>>765
本じゃなくてMDN読め。マジで。
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide

韓国人死ね
2017/07/02(日) 21:08:49.17ID:qu1w2u8p0
MDNは入門には向かない
弁護士の入門に六法全書を勧めるようなもの
読み深めるのは入門が終わってから
2017/07/02(日) 21:15:33.94ID:U+yzEr64M
>>765
ネットで解説してるサイトが沢山あるぞ
769デフォルトの名無しさん (アウアウエー Sa4a-8ij8)
垢版 |
2017/07/02(日) 21:17:32.02ID:kcvEAltTa
>>765
HTML/CSS/javascript辞典でも買ったら良いんでね?初心者なら結構使えるかと。
javascript習いたいと言う事はやりたいことあるはずだから、その中からやりたいもの選んでコピりまくれ。
2017/07/02(日) 22:17:01.46ID:eAvQkLaE0
>>767
お前ちゃんと見て言え。入門編はハロワからだ。
ずぶの初心者なんてピリオドとコンマ/大文字と小文字間違えてハマったりするんだから、
変に写経する必要もなく、コピペで動くMDNが一番いいよ。

>>765
ちなみに対話形式の入門サイトがよければuhyohyoがまあまあ。
http://uhyohyo.net/javascript/
ここはある程度マトモなやつが書いている感がある。

JavaScriptに関しては検索すればいくらでも引っかかるが、
馬鹿が間抜けな方法でドヤ顔しているサイトが多いので注意しろ。
(MDNはこれがほぼないからいい。理由は多分、執筆者が複数だから)
つっても初心者が見分けることは不可能なので、
特にステマ臭感じなければ言われた事を信じるしかないね。

つか他言語って日経とかが先導して
一線か退きたての連中に執筆してもらっている記事があるけど、
JavaScriptってないよな?MDNに集約してあるからか?
(あれらは肩書き付きで書いているから初心者でも信頼できるか判定できる)

韓国人死ね
2017/07/02(日) 22:17:14.23ID:viRBzUTY0
流動的に言語仕様が変化していく中
今おすすめのjs入門って言われるとなかなか難しそうだな。
今から習うならES2015を中心に学んだほうが、余計なゴミを学習する手間を減らせるかもね。
オレ個人としては以下の本がちょうどよかった。

プロになるためのJavaScript入門 ~node.js、Backbone.js、HTML5、jQuery-Mobile (Software Design plus)
2017/07/02(日) 22:39:49.38ID:8fmO5i+70
入門書じゃないけど
HTML5 Web標準API バイブルは一回は読んどいた方がいいと思った
2017/07/02(日) 22:48:14.46ID:0SO6fajC0
>>762
> 自分たちが信頼性を担保できるか、だよ。
> 担保できるなら、そりゃそれでいいよ。

あー、わかったわかった。
お前、何の信頼性を担保するかが分かってないんだ。

使ってるライブラリの信頼性を担保するのは必須じゃないんだよ。
お前が開発しているシステムの信頼性を担保すればいい。

お前が開発しているシステムが100%完璧に動く。
それをテストして確かめればいい。
そうすればライブラリも問題ないことが証明できる。

嘘だと思うか? お前が開発しているシステムはOSの上で動くだろう?
つまりOSの機能を使っているわけだ。だけどOSのテストはしていない

OSの機能を使ってるのにOSのテストはしていない。それなのに信頼性を担保しているだろう?
それができるんだからライブラリのテストをしなくても、お前が開発している
システムのテストをすればお前が開発しているシステムの信頼性を担保できるというわけだ

お前が本当にするべきはライブラリの信頼性の担保じゃない。
お前が開発しているシステムの信頼の担保だ。
無駄なことしていたね。
2017/07/02(日) 23:16:22.73ID:ynDhLM7Z0
>>742-760
「javascript css html 構文チェック ツール」で検索!

JS用
JSLint, JSHint, ESLint, JSCS

CSS用
CSS Lint

HTML用
1 Another HTML-lint gateway
2 Another HTML-lint 5
3 The W3C Markup Validation Service
4 The W3C CSS Validation Service
5 W3C Link Checker

HTMLの文法をチェックしてくれるサービス・ツール5選
http://blog.nest-online.jp/15901

HTMLとCSSの文法チェックツール5選
http://programming-study.com/technology/html-css-check/

JavaScript/CSSのLint系ライブラリまとめ
https://blog.htmlhifive.com/2016/01/29/javascript-css-lint-library/
2017/07/02(日) 23:23:40.25ID:ynDhLM7Z0
>>765-772
はじめてのJavaScript、掌田津耶乃、2013

オブジェクト指向JavaScript、2012, Stoyan Stefanov

この本は、図書館で読んだけど、内容は忘れた。
Stefanov の本は、わかりやすい。
とても、クールな外人
2017/07/02(日) 23:37:23.00ID:8fmO5i+70
>>762が作ってる様なシステムって例えばIEのバージョン変えたらアウトみたいなそういうのなんだろうな
グローバルなら不具合があれば都度対応するもんだけど
イントラで納入したらそれきり変更しないみたいな
2017/07/03(月) 00:33:29.07ID:NVKo/d7Z0
>>776
多分効率ではなくて長く働いたら
残業したら偉いみたいな文化の会社なんだと思う
悪い意味で社畜なんだろう。
2017/07/03(月) 00:36:18.92ID:eIKaVSVP0
お礼が遅くなってしまいましたが、
答えて頂いた方、ありがとうございました。
2017/07/03(月) 05:33:41.15ID:asl1DT8Q0
プログラミングのプの字も知らないならまずはScratchみたいな疑似言語で
ループや配列あたりまで知っておくと導入がスムーズ
2017/07/03(月) 14:11:31.72ID:I1s3dJhLH
>>771
> プロになるためのJavaScript入門 ~node.js、Backbone.js、HTML5、jQuery-Mobile (Software Design plus)
ギャグなの?
2017/07/03(月) 14:18:44.12ID:pRpZtob8a
jQuery Mobileって二年くらい前から更新止まってなかったっけ?
2017/07/03(月) 14:42:36.21ID:q0hg7zKV0
>>775
今時オブジェクト志向はオワコン
2017/07/03(月) 14:50:05.44ID:MZPmjKUL0
>>780
まぁ2012の本だから、ライブラリ周りな話は古いのは認めるけど
jsの入門部分は読みやすくまとまっていておすすめ。Backbone.jsとかは俺も読み飛ばした。
784デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/03(月) 19:52:35.14ID:5YkGJt3m0
>>766
Mozila Developer’s Networkの略かな?MDNは。
良さそうだね。

でも、俺は本で読みたいな。

俺が良かったと思う本は、O’raillyの開眼JavaScript。
薄くて、全容を捉えるのに丁度良い。枝葉末節に触れてないのがGood.

ただし、ES3の説明だから、最新ES2015にCatch Upするには、
別の本が必要だけど、基本はES3だからなぁ。
2017/07/03(月) 20:46:03.41ID:zaKuQFjj0
>>779
韓国人みたいな馬鹿ならそうなんだろう
韓国人死ね

マジレスするとそれは勉強のための勉強になってるからNG。
「JavaScript?ならそれはドキュメントを大量に読むことになるから
日本語と英語を勉強した方がいいね」と言っているに等しい。
そもそもループや配列を10分で理解できないような奴がプログラミングなんてやるもんじゃない。
安倍首相:「小学生にもプログラミングを」←おい止めろドアホ、でしかなかったろ。
プログラミングを知らない奴が頓珍漢なことを言うのは常で、
今ならAIについての過大な期待/過小な評価がそれだ。
CNNやMLを知っている奴からすると、いやそれはねーよ、が多すぎるだろ。

Scratchとかはwikiにもそのまま書いてあるが、モチベーションを維持するためのものだ。
JavaScriptに関しては初段階から高位記述が使えるから必要ない。
smalltalkベースでいいのかは俺には判定不能だが、それが役に立つとしたら、
smalltalkのリスト=JavaScriptのリストと理解出来る=抽象思考ができる
わけだから、そういう奴は最初から配列やループで引っかかることはない。
これがその手の教育用言語がイマイチ流行らない理由だ。
使うべき対象がせいぜい小中学生であって、
その段階なら国語/英語/数学をやったほうがよく、
抽象思考が出来る段階(高校生より上)なら実用言語の方がエコシステムが揃っていて有利だからだ。
2017/07/03(月) 21:07:03.55ID:asl1DT8Q0
勉強のための勉強はすべきだよ
もし今すぐjQuery使って何かをしたいというのがあるならjQueryから始めればいい
プログラミング自体に興味があるなら、
実用言語は学習環境(それこそモチベーションの維持も含む)としては向かない
2017/07/03(月) 22:29:45.56ID:zaKuQFjj0
>>786
朝鮮人らしいすり替え乙
韓国人死ね

俺はjQueryの学習を否定してない。それは明らかに実用環境だろ。
お前はどういう論理で反論しているつもりになっているんだ?

お前や韓国人みたいな馬鹿にも分かるようにもう一度言うと、
・Scratchの経験が生きるような奴は、最初からJavaScriptでも何の苦労もしない。
・Scratchじゃないと続かない奴がプログラミングを始めるのは時期尚早だ。
配列は数列やベクトルを習うと自然に理解できる。ゆとり以前では高2の範囲だった。
そこで引っかかるようなら、国語/英語/数学をきっちりやってからでいい、という意見だ。
LogoとかPascalとかも昔からある教育用言語だけど、使っている奴なんて皆無だろ。
意味ねーんだよマジで。

もちろんどっちが妥当かを判断するのは当人でいい。
お前との議論は空回りするだろうし、意味もない。
2017/07/04(火) 02:17:33.67ID:dNef7kBX0
また質問をさせて頂きます。
ideoneの言語選択欄を見るとJavaScriptは2つあるんですが、
これはどう使い分ければよいのでしょうか?
私は記述ブラウザはgooglechromeを使っています。
2017/07/04(火) 06:53:51.11ID:oyAK7KEX0
>>788
SpiderMonkey(Firefox等で使われるJavaScriptエンジン)と、
Rhino(主に組み込み用でブラウザでは使われないJavaScriptエンジン)ですね。
ChromeのJavaScriptエンジンはV8で、これらとはまた違うものを使っています。
ではV8はないし、SpiderMonkeyの方を使えばいいのかというと、答えはNOです。
ideoneのはサーバサイドで実行されるので、ブラウザで実行されるクライアントサイドのものとは別物です。
なのでhtmlを作ってブラウザで試して下さい。
最低限&lt;script&gt;&lt;/script&gt;を書いて、この中にJavaScriptのコードを書けば動きます。
&lt;script&gt;
alert("Hello\nWorld");
&lt;/script&gt;
790デフォルトの名無しさん (ワッチョイ 6523-MeBo)
垢版 |
2017/07/04(火) 14:31:57.11ID:GExTsYeb0
「関数を実行している場所」ってどういう判断をすればいいの?
俺の中では、「何らかの文字列やドットでチェーンされたものの後に () 」
がついていれば、関数やメソッドがそこで呼ばれている。
という判断をしているけど、
コードをステップ実行しているとそれじゃ説明の付かないソースの
ジャンプの仕方がある。
もちろん for や ifの後の () は「関数実行の()」ではないし、
関数定義の 「funcition の後の ()」も関数実行ではない。
逆に onClick="callback" みたいに

「()がつかなくてもよくわからないけど関数が呼ばれる」みたいなのも
あるかもしれないし、そこら辺がよくわからない。

ステップ実行してて、思いもしたかったソースに急にジャンプすると
何が起こったのかわからなくなってしまう。
Call Stackの状態も関数名が1つずつ積まれたり降ろされたりするのではなくて
急激にスタックが変化しているから何が起こったのか見失ってしまう。
2017/07/04(火) 14:48:16.59ID:+DF/zzlV0
いつ実行されるのか不明といえば、非同期処理が思いつくが
792デフォルトの名無しさん (ワッチョイ 6523-MeBo)
垢版 |
2017/07/04(火) 15:27:44.87ID:GExTsYeb0
非同期処理?のところでの動きがよくわからないのかな?
無名関数があるとよくわからなくなるっぽい。

コールスタックを見ると(anonymous) とか r l n i みたいな一文字だけの
関数名表示のところでわけがわからなくなる。
これらのコールスタック上の一文字関数名はソース上に
function として定義されている関数名と一致していないから
何なのかがよくわからない。
2017/07/04(火) 15:55:19.32ID:u+VzSenF0
>>790
onClick=みたいなのは、実行してねという「登録」だから
それがいつ実行されるかはonClick次第としか言えない

関数も参照だから、あちこち渡っていく過程で別の名前になることもあるし、
内部的な直接見えない部分に紐付けされて呼ばれる場合もある
( )が付かなくともゲッターセッターは関数の呼び出し

もし圧縮されたJSをデバッグしたいとかなら
デバッガと併用して、整形したソースを目で見てそこが何かを理解する作業も必要
ライブラリを無視したいのであればデバッガの設定でスキップ可能
2017/07/04(火) 19:18:44.46ID:dNef7kBX0
>>789
ideoneについて質問をした者です。
お礼が遅くなってすいません。
詳しくありがとうございました。
795デフォルトの名無しさん (ワッチョイ 6523-MeBo)
垢版 |
2017/07/04(火) 21:34:26.68ID:GExTsYeb0
>>793
なるほど、関数って「定義」と「実行」だけで成り立っているかと思ったら
その間に「登録」が挟まれるものでもあるってことかなぁ

整形は {} で行ってるよ。
あまりコアすぎる処理はスタックトレースに乗らないようにBlaxboxing
した方がいいんだね。

ところで、「レスポンス」ってファイルなの?文字列なの?
オブジェクト的なものなの?
2017/07/04(火) 21:46:06.56ID:VNwinaDY0
>>789
それ毎回思うんだけど、お前らのalert信仰って何なん?

俺がJavaScriptを始めたとき、大概のサイトはalertを使っていて、
「これでデバッグかよきっついなー」と思っていた時期があって、
その後、console.logあるのかよorzだった。

だから馬鹿が書いたオレオレJavaScript入門ではなくMDNを読め、
と言いたい所だが、MDNもハロワはalertだときてる。
これって何なん?ブラウザで動くことを誇示したいのか?
どう考えてもconsole.logの方が使えるし最初に紹介されるべきなんだが。
現実的にalertなんて使うことないだろ?

韓国人死ね
2017/07/04(火) 21:50:36.25ID:/bsbbamh0
>>796
デバッグ用途だからな。
alertの方が文字数が少ない
それに画面上に表示されてくれる。

デバッグ用だからすぐに見たい時にすぐに見れる
2017/07/04(火) 21:56:53.72ID:WWB6/nj10
console.logは同時に実行する量が多いと拾いきれなかったと思うが
2017/07/04(火) 21:58:58.27ID:MfuChGM0M
>>796
おまえは本当にばかなんだな
スマホ実機で確認したりと、確認方法は様々だろ
スマホにコンソールあるのか?ん
2017/07/04(火) 22:00:15.44ID:MfuChGM0M
あとな、アラートはそこで動作がいったん停止するんだよ
そもそもコンソールとは別物なの
それによる使い分けがあるんだよ
わかったかい?
2017/07/04(火) 22:10:55.66ID:Jc3vhyvW0
最初にconsoleとかいわゆるdevtoolとかを説明するのが
めんどくさかったとかw
2017/07/04(火) 22:11:53.57ID:Qp4D6Nj/0
スマホのブラウザにコンソールがないからかもしれない
2017/07/04(火) 22:15:02.91ID:Qp4D6Nj/0
というかMDNでconsole.logのページとか見ると「非標準」の表示がしてある
2017/07/04(火) 22:21:28.64ID:Jc3vhyvW0
hello worldをスマホで始めるやつは
なかなかたいしたタマじゃないかとも思うw
2017/07/05(水) 00:04:31.70ID:oqB/GF4W0
お前ら食いつきすぎで逆にびびるわ。

韓国人死ね

>>798
いやそれはない。
大量に吐いたらまとめて捨てられるだけで、ランダムに落ちることはない。
とはいえこの用途にはどのみちalertは使えないだろ。

>>801
MDNの入門ページは開発ツールの後になぜかalertなんだな。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Introduction
そして次ページ以降は全部console.logで二度とalertは使われないというちぐはぐさ。

>>その他
そこらへんがお前らのおかしい所でな、
console.logという「インタフェースが揃っていること」が重要であって、
その中身はどうでもいい、というのがオブジェクト指向なんだが。
なければ作ればいいだけだろ。
適当なdivをpositoin:fixedにしてinnerHTML += XXXX;で
オレオレconsole.logは簡単に作れる。
そうすればモバイルだからalertじゃないと駄目とか、関係なくなるだろ。
最悪console.logをalertに直結してしまってもいい。
いずれにしてもプラットフォーム依存の部分が見える状態でコーディングするのは得策ではない。
alertなんて同期UIでモーダルだし、通過判定くらいにしか使えない。
それならappendChildでいちいちテキストノード付けてもいいし。
2017/07/05(水) 00:05:16.85ID:oqB/GF4W0
プラットフォームによって切り分けるというのは、
お前らが嫌っている生Cの手続型プログラミングであって、
究極の実行効率を求める手段であり、JavaScript的ではないんだな。
生産性ガーなら躊躇なくconsole.logにインタフェース統一して、必要ならオレオレ実装だろ。
不要なときは空関数に接続しておけばソースを変更する必要もないし。

ただ、この辺のちぐはぐさはMDN書いている奴もそうで、
標準じゃないと言うのなら、chromeみたいに、
・型によって色が変わる
・オブジェクトはクリックすれば展開される
仕様のオレオレ実装console.logを「ポリフィル」と称してMDNに載せててもおかしくないわけでさ。
実際これがあれば助かる奴もそこそこいるんじゃないかな?
お前らが実機テストを重視しているのであれば。

なんつーか、この手の「お前ら意識高いだけで中身ねーよな」ってのは
JavaScript界隈では非常によく見かける。
お前らだけではなくMDNもだというのが終わっているのだが、
そのせいもあってお前らが間抜けであることに気づかないという悪循環だ。
何のために何をやっているのか考えてなくて、
○○をやりさえすればいいと暗記しているからこうなる。
そこはマジで、考える癖をつけたほうがいいと思うぞ。

韓国人死ね
2017/07/05(水) 00:49:04.40ID:2bj0sfMKM
必死に考えたごまかしがそれか?ん?
おまえは本当にあたまがわるいんだなぁ

アラートデバッグはスマホ実機での簡易確認に便利
アラートは動作をそこで一時停止させて各種確認が可能
要するにconsole.logとは使い分けなんだよ
バカがconsole.logが上位互換とかおもって↓あんなこと書いちゃってたけどさ

「 現実的にalertなんて使うことないだろ? 」


これ、どう落とし前つけんの?ん?
2017/07/05(水) 03:01:17.21ID:Pz4DebRH0
alertは視覚的にわかりやすい
開発ツールはブラウザやOSによって操作がちがい、スマホのように存在しない環境もある。開発者ツールの使い方をやる前のサンプルにはalertのほうが説明が少なくて楽

そして、同等に近いものは権限的にポリフィルでは書けない

・DOM構築前でも使える
・クロスオリジンのフレームでも出力可能
・Webサイト上から読み取られない
・DOM操作に影響しない
 
中途半端に再現したものを使うのは特に入門編では混乱のもとなので良くない。alertにつなぐのはライブラリとか拡張機能による出力があるのでどう考えても変

また、今後セキュリティの問題とかが出ればconsole.logが書き換えできなくなる可能性を否定できない。
2017/07/05(水) 07:19:35.73ID:tax8J9ZO0
大昔は間違って連続alert出しちまったら大事だったが
今は普通にそのタブだけ閉じれるからな
まあアラートでも何でもええと思うよ

別にalertとconsole.logは包括関係でもなんでもない
全く別の機能だし
2017/07/05(水) 07:29:54.56ID:zFb2YRep0
説明が面倒だったとか、スマホ考慮したとか、全部正解なんですけど、
やっぱ視覚的にわかりやすいってところが一番ですかね。
console.logは地味で初心者の反応が悪いんですよ。
興味を持ってもらうにはalertのほうが効果的だと思います。
2017/07/05(水) 08:03:34.95ID:7CZ44oFla
プログラムに手加えるのめんどいしブレークポイントで済ませちゃうことが多いかも
2017/07/05(水) 11:48:12.35ID:KD2VFbty0
SPAの場合に
urlが実際のコンテンツ配信のエンドポイントになっているのかそれともjsによる擬似的なurl?
か区別つかないよね。
これってjsから検出する方法ありますかね?
locationオブジェクトを参照する範囲では区別つかないんですが
2017/07/05(水) 12:10:27.92ID:W7p06HKZ0
console 系は、本番のソースコード中に放置していると、

メモリリークするので、ツールで消すべし
2017/07/05(水) 19:47:23.76ID:tax8J9ZO0
それは昔の話
今はしない
https://1000ch.github.io/memory-leak/console/
2017/07/05(水) 20:26:52.96ID:uevhplVm0
>>812
ルーターに指定のURIが登録されてるかどうかチェックできたりしない?
フレームワークによるかもしれんけど
2017/07/05(水) 20:39:38.81ID:tax8J9ZO0
performance.getEntries()[0].name == location
で分かる
2017/07/06(木) 00:17:33.48ID:/WGPUMaU0
>>807
姦流プログラミングではalertを使ってデバッグをする、まで読んだ
つかそれマジで言ってるんだろうし、かなりやばいぞお前

韓国人死ね


>>811
それは正解。

ハロワってのはCに対するリスペクトを示したものなのだが、
お前らもMDN執筆者もCを知らず、結果的に面従腹背になってる。
あれは「最も基本的な出力」としてprintfを使っているのであって、
それはprintfデバッグという最も汎用的なデバッグ方法に繋がっている。
標準がどうのこうの言い出したらCの方が酷くて、
画面なんてつながっていないのも多く、シリアルに出せればマシな方だ。
それでも「最も基本的な出力」としてのprintfというインタフェースは決まっていて、
とりあえずまずはそこを目指す、ということになっている。

だから最初のハロワはconsole.logでないと話にならず、
お前らは駄目な教科書を使っているから無駄なところで引っかかり上達してない。
blind leading the blindを地で行ってる。
お前らは被害者でもあるが、加害者にもなっている。
ただまあ、JavaScript界隈ではこれもよく見かける光景ではあるのだが。

ちなみにMDNのこちらのガイドはハロワはDOMでやっている。
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/JavaScript_basics
俺はこれはありだと思うよ。オレオレ実装console.logにつながるし。
見た目派手なのが欲しいのならこっちで行くべきだろう。
2017/07/06(木) 00:18:33.64ID:/WGPUMaU0
つかマジでお前らもうちょっと自粛しろ。馬鹿が馬鹿を再生産してる。ソースはお前ら。
「alertはデバッグに使える(キリッ」ではなくて、
「alertという効率が悪いデバッグ方法を使わざるを得ない事態に追い込まれている」
事自体が駄目なんだよ。それはお前らが目指す生産性ガーに明確に反するだろ。
お前らはファッションで生産性ガーを言っているだけであって、お前らの実際の生産性は低いよ。
少し考えれば分かるだろ。

似たような実例は福一の時バ菅首相がヘリで放水したことだよ。
見た目は派手だが全く意味ないというのは最初から分かってた。
あの采配の酷さはいまだに言われてるだろ。
お前らはそれをやってるんだよ。それで馬鹿が再生産されていることに気づけアホ共。

韓国人死ね
2017/07/06(木) 00:45:38.20ID:DNqxUdzY0
「alertは効率が悪いデバッグ方法である」が
そもそも間違いなので話にならない
2017/07/06(木) 01:08:50.89ID:/WGPUMaU0
ん?揚げ足取り乙。が、まあ、言い直しておこう。

・alertが一番マシなデバッグ方法だという状況でデバッグをする事態に追い込まれている

これでいいか?
俺個人はデバッグでalertを使うこと自体は否定しない。それが最適であれば使えばいい。
ただな、そういう状況自体がありえないように努力するべきであって、
console.logとalertを使い分けしてデバッグする(キリッってのは間違った方向の努力だ。
お前らはここらへんがまるで分かってない。関数型()な奴も割りとそうなんだけどさ。
向いている方向がまるであさってと言うか。

理由は多分、大規模なコードを扱ったことがないのと、マトモにデバッグしたことがないからだ。
だから俺の言い分が正しいと思う奴がいたら、上記を試してみろ。多分、上達する。

韓国人死ね
2017/07/06(木) 01:51:06.50ID:ohfPQcDZ0
XSSの例示とかのサンプルはalertが基本になってるな
試行錯誤する際にも成立が視覚的にわかりやすいし、console.logと違って押し流されたり何らかのページ移動なんかで消えることもない
2017/07/06(木) 03:48:07.95ID:KVA+3wQ7M
>>817
必死に考えたごまかしがそれか?ん?
おまえは本当にあたまがわるいんだなぁ

アラートデバッグはスマホ実機での簡易確認に便利
アラートは動作をそこで一時停止させて各種確認が可能
要するにconsole.logとは使い分けなんだよ
バカがconsole.logが上位互換とかおもって↓あんなこと書いちゃってたけどさ

「 現実的にalertなんて使うことないだろ? 」


これ、どう落とし前つけんの?ん?
823デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/06(木) 04:45:34.54ID:9sJW4q9K0
すみません、HTTPリクエストやレスポンスって
文字列なのかファイルなのかオブジェクトなのかよくわからなくなりました
プログラム上ではオブジェクト化されているけど
chrome devtoolではレスポンスはファイルとして認識されている。
(ローカルストレージにはファイルシステムとしては現れない)
「ファイル」でいいのかなあ、バイナリ画像もあるわけだし、
それを各言語で「オブジェクト化」しているの?
2017/07/06(木) 09:46:58.98ID:DNqxUdzY0
>>820
> ・alertが一番マシなデバッグ方法だという状況でデバッグをする事態に追い込まれている

全然理解してないじゃないかw

場合によってconsole.logを使ったほうが良いかalertを使ったほうが良いかは変わるんだよ。
ほんと融通がきかないやつだな。

なんでも同じ方法でやろうとすんなや
2017/07/06(木) 15:02:19.08ID:9E7JeyR60
alertはデバッグのためのものじゃない
デバッグという言葉を知って、意識する段階になったのならやっぱりブレークポイント置いたりすべき
ただ入門段階の練習、ましてや試し実行に『デバッグ』もクソもない

別に一番最初からデバッガを使っていく必要もない
その頃は取っ付き易いalert確認でもいいということ
2017/07/06(木) 17:31:23.84ID:iKy+SoTP0
Javascript初心者です。以下のドキュメントを参考に、zaifのAPIからビットコインの価格を取得するだけのプログラムを作ったのですが、実行しても何も表示されず困っております
どこが間違っているのかご教授願えればと思います

ws
http://kaworu.jpn.org/javascript/ws

Zaif Exchange APIドキュメント
https://corp.zaif.jp/api-docs/


////////test.js/////////
var WebSocket = require('ws');
var wss = new WebSocket('wss://ws.zaif.jp:8888/stream?currency_pair=btc_jpy');
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: %s', message);
});
});


実行
$ node test.js
2017/07/06(木) 20:43:47.23ID:Lp3AWG+i0
>>815
>>816

ありがとうございます。
> performance.getEntries()[0].name == location
これで行けそうです。
chromeExtensionをつかって不特定多数のコンテンツの解析に使いたいんで特定のフレームワークに依存するコードは使えないんスよ。
助かります。
2017/07/06(木) 20:45:50.81ID:Lp3AWG+i0
>>826
これ確かzaif側のwebsocketのプロトコルバージョンが古かった気がします。
提供されてるclientライブラリ使ったほうがいい気がする
2017/07/06(木) 20:50:04.38ID:eiBibCfNd
>>827
拡張機能ならもっとスマートな方法があったかもしれない
コンテントスクリプトならその方法が一番楽だろうが
2017/07/06(木) 23:21:48.35ID:L8j5rxy60
var wss = new WebSocket('wss://ws.zaif.jp:8888/stream?currency_pair=btc_jpy');

console.log(wss);

これで、戻り値・エラー番号などを、見れるのでは?

戻り値が不適切なら、new WebSocket に失敗してるから、
エラー番号・エラーメッセージで検索すれば?

エラー番号・エラーメッセージも無いのに、漏れらにわかる訳ないだろ。
F12開発者ツールを起動して、デバッグすれば?
2017/07/07(金) 02:01:29.47ID:yB6Iql440
漏れってカキコ見たの何年ぶりだろう
2017/07/07(金) 08:58:45.03ID:s4A4ltyS0
var wssってなんだよw
するならvar wsだろ
xhrのrはRequestだからxhrでいいが
wssの最後のsはSecure→Encryptedだぞ
Secureであることの区別を表す必要が本当にあるのか?
あったとしてもスキームとしてのwssをそのまま使うのはおかしい
せめてswsとかewsだろ
2017/07/07(金) 15:00:36.62ID:COa0Ed5+0
質問お願いします。
画像データををCSSにBASE64形式で置いたのですが、それを使用するボックス要素に合わせてサイズ変更したいのですが
どのようにすればいいでしょうか?よろしくお願いいたします。
2017/07/07(金) 17:08:23.64ID:X45WHCT+d
>>832
WebSocketSessionとか?
いずれにせよ自転車置き場の屋根にガチャガチャ言わんでも。
2017/07/07(金) 19:47:42.14ID:a0p8X5TA0
>>831
一週間前の書き込みすら記憶に残らない、これが韓国人クオリティ

マジで韓国人死ね
836デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/07(金) 20:10:39.66ID:8UX+Q+HA0
>>833
https://i.stack.imgur.com/dIfIp.png
2017/07/08(土) 01:39:40.00ID:AHa+5Wfk0
数日前回答を頂いた者です。
ideoneのJavaScriptを選択して、教えて頂いたように
&lt;script&gt;
alert("Hello\nWorld");
&lt;/script&gt;
と入力してもエラーになってしまいます。
なにかアドバイスを頂けますでしょうか?
2017/07/08(土) 05:38:53.92ID:5BjTXb8r0
アドバイスもなにもな
JavaScriptとはどういうものかとかHTMLのこととか微塵も分かっていない状態で
そんな身の丈にあっていないサイト使おうとするからそうなる

『餡』は『餡』でもこし餡、粒あんいろいろあるように、君がやってるのは
ideoneは『白餡』を欲しているのに君は『黒餡の饅頭』を与えてるような、論外ものなんだよ

そこは最悪でも饅頭と餡の違い、そして白餡黒餡の違いが分かる人が利用するとこなんだよ
産まれて初めて餡(しかもWeb上の黒餡)を知った人が一人で使うようなところではない
JS実行サイトなら他にもたくさんあるが、君くらいならメモ帳で書いていくので十分なんだよ
2017/07/08(土) 12:06:03.27ID:+tVxWBzW0
>>837
>>789をちゃんと読んで
ideoneじゃなくてhtml書いてブラウザーで動かすんだよ
2017/07/08(土) 12:20:32.49ID:If7Rv9IA0
>>837
サービスは目的に応じて選ぼう
https://jsfiddle.net/sz76xxw3/
2017/07/08(土) 12:44:49.69ID:v/CZ5FQl0
ideone使いにくいよな。
JavaScript以外なら仕方ないのかもしれないけど、
そうでないなら使いたくないわw
2017/07/08(土) 14:30:09.61ID:J5RuKAu7d
何かのアルゴリズムとかECMAScripを試したいときは便利だよ
そうじゃないときは使いにくいというより、使おうと考えるべきじゃない
2017/07/08(土) 16:00:56.38ID:Fv/VLC2ua
>>837
35歳の発達か
2017/07/08(土) 18:57:51.60ID:AHa+5Wfk0
答えて頂いた方、ありがとうございました。

>>838
はい、bracketsで書いていこうと思います。

>>839
すいません、htmlを書くの段階から分かりません…。
少し調べてみます。

>>840
改めてありがとうございます。利用したいと思います。

>>843
そうかもね。
2017/07/08(土) 19:52:07.55ID:VUw5dhen0
paiza.ioでよくね?
何か問題あるか?
2017/07/08(土) 20:00:40.34ID:5BjTXb8r0
一番いいのはね、Webサイトい興味をもってブログとかし始めて、
もっと自由な表現がしたくてHTMLとCSSをかじり、
やがてJSにたどり着くコースなのよ

そうするとね、JSの能力が低くてもHTMLとCSSの能力でカバーして十分に
作りたい物表現できるのよ、
そこから楽しみながら徐々にJSに重点置いていくのも容易

でもね、そういう基盤が全くないというのは、無理とは言わないけど
少なくともここで文字だけで教えるのは容易では無いわ
仮に教えるとしても結局、HTMLやCSS、
もしかするともっと基礎的な知識を身に着けろという話に終始するだけだろうし

JSって確かに簡単な言語だけどね、それはJSを始めようとする人は
HTMLやCSSの知識があるということが半前提でのことなのよ
そして、ブラウザの操作やその他のリテラシーもそれと同じくらい重要
君はまず地道にそういう知識をためていかないと無理があるよ
2017/07/08(土) 20:27:31.78ID:fIuXTSpk0
3日でマスター HTML5 & CSS3、鳥羽薫、2013

この本で簡単に、30ほどのHTML5・CSS3の主要タグが学べる
2017/07/08(土) 21:15:27.92ID:VUw5dhen0
JavaScriptもHTMLもCSSも何も知らないまま入社2日目からWebサイトの改修を先輩への質問なしでさせられて泣きそうでした
849デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/08(土) 23:46:11.44ID:EDp/ROlD0
API用のURL編集ツールとか
URLの解析ツールってあるの?
クエリストリングを作るのが難易度高すぎる。
配列や関数、JSONや コールバック、トークンとか絡んでくるとわけわからん
最終的にはエンコードされて汚ったなくなるし。
2017/07/09(日) 00:11:17.72ID:ODdY4A4c0
クエリストリングを作る?
そんなもんjQueryとかに任せればいいだろ?

> 配列や関数、JSONや コールバック、トークンとか絡んでくるとわけわからん
クエリストリングとは全く関係ない話だ
851デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/09(日) 00:14:11.12ID:LPmXeDzw0
>>850
なんで?

$.ajax({ type: 'GET', url: 'http://', data{}, });
このurl: にクエリストリング引数を指定しないと行けないじゃん。
2017/07/09(日) 00:22:07.43ID:ODdY4A4c0
>>851
ちゃんとexampleみな
https://api.jquery.com/jquery.get/

$.get( "test.php", { name: "John", time: "2pm" } );

こういうふうに書くんだよ。
2017/07/09(日) 05:46:42.70ID:sX6v1jPj0
var url = "http://何々"

// 全体の設定
$.ajaxSetup({
data: {format: 'xml'},
timeout: 60 * 1000
});

$.ajax( url )
.done(function( data, textStatus, jqXHR ) { 処理 })
.fail(function( jqXHR, textStatus, errorThrown ) { 処理 });

こんな感じでも、書ける
2017/07/09(日) 11:35:11.72ID:6p7UXVr5a
>>849
new URLSearchParams を使う方法も有る。
https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams

var params = new URLSearchParams;
params.append('q', 'URLSearchParams');
params.append('ie', 'UTF-8');
console.log('https://www.google.co.jp/search?' + params.toString()); // https://www.google.co.jp/search?q=URLSearchParams&;ie=UTF-8
2017/07/09(日) 11:38:32.00ID:6p7UXVr5a
URLコンストラクタを使った方がいいか。
var url = new URL('https://www.google.co.jp/search');
url.searchParams.append('q', 'URLSearchParams');
url.searchParams.append('ie', 'UTF-8');
console.log(url.toString()); // https://www.google.co.jp/search?q=URLSearchParams&;ie=UTF-8
2017/07/09(日) 13:20:33.93ID:zx3kMPLK0
いや違うんだよ。>>854-855みたいに
クエリストリングを作る必要がないって話。

フォーム使うって手もあるしJavaScriptであれば
普通にパラメータをハッシュまたは配列で渡すだけで
組み立ててくれる。
2017/07/09(日) 14:37:35.20ID:9yQC/vv/0
それはそうするためのライブラリを使えばの話だろ
標準APIのxhrやfetchで使えるのは
Blob,BufferSource,FormData,URLSearchParams,USVString,ReadableStream
だけ
2017/07/09(日) 14:58:54.59ID:zx3kMPLK0
>>857
でもそこに書いてあるのって、特定のブラウザでしか使えないから
結局Polyfillライブラリいれることになるじゃん?
2017/07/09(日) 15:02:30.29ID:zx3kMPLK0
それに>>851の段階でjQuery使うってのは明らかだよね?
2017/07/09(日) 17:11:29.14ID:7vHFYENhM
Polyfillは将来的に外せるものだし、性能差もあるからjQueryと同列に語るのは違和感があるな

ところで、>>851は一例じゃなかったのか
質問者はすべてのコードでjQueryを使って、ajax以外(a要素とか)でURLを組み立てる事がないなら、そうなんだろうな
2017/07/09(日) 17:12:12.99ID:9yQC/vv/0
jQueryの話だったのにJavaScriptであればって話を広げたのは他の誰でもなく君じゃんよ
jQueryならちゃんとjQueryであればって書いてよ
2017/07/09(日) 17:36:25.69ID:7vHFYENhM
「広げた」とは何の話だ?
>>851ではjQueryのコードが出たが、元々の質問はjQueryに限定された問題ではないと思っただけだが
別解が出るだけで取り立てて騒ぎ立てる事でもあるまい
2017/07/09(日) 17:40:04.34ID:7vHFYENhM
ごめん、よく読んだら>>861は俺宛ではなかったな
>862は忘れてくれ...
864デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/09(日) 17:56:45.96ID:LPmXeDzw0
URLSerchParamsや URLコンストラクタなんてのがあるのか。

クエリストリング構築関係って統一した手法が確立されて、
どうしてもフレームワーク依存になってやり方は人によってバラバラ
な感じが否めない。
結局「xx使えばいい」以上のことはいかんとも言い難いことって結構
あるよな、特にJavaScriptはそればっかだ。
865デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/10(月) 02:21:11.80ID:CdB4JEYo0
APIのURLとAPIじゃないURLの違いって何ですか?
2017/07/10(月) 02:35:48.89ID:ahk65wH50
れすぽのちがい
2017/07/10(月) 06:57:20.29ID:bg+Uigm+0
JapaScriptのthisって今でも使われてんの?
それとももう使うのは非推奨になっている?
2017/07/10(月) 10:08:34.12ID:pPp/QbwmM
>>867
つかわなかったら何もできないでしよ?
どうやってクラス内からメンバにアクセスするつもり?
2017/07/10(月) 10:27:44.46ID:eOXntHhA0
余裕で使われてる
2017/07/10(月) 11:14:35.24ID:1OG9NP+7d
何もできない事は無いな
手続き型で書くか、プロトタイプベース駆使してクラスシステム作り直せばね
2017/07/10(月) 14:27:33.65ID:bg+Uigm+0
thisって使いやすい?
thisと言う文法だけで何通りもの解釈がでてきたから
それぞれ新しい文法が新たらに出てこないのかな?
アロー関数が追加されたりasys/awaitが出てきたみたいに
2017/07/10(月) 16:22:07.96ID:x/tMl3Ao0
使いにくい点はあるよ、
個人的な一番は
this.hoge this.fuga this.piyo
とくどく書かないといけないこと
勿論今なら分割代入あたりで展開したり、Object.assignでまとめて代入したりもできるが、
それでも昔っからあるプロポーザルのように
::hoge ::fuga ::piyo
などと書ければなとよく思う

あと直接はthisとは関係ないけど、
プライベート関係で新しい構文は入るだろうね
873デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/10(月) 16:41:07.30ID:CdB4JEYo0
そういやJSにはスタティックの概念がないな。
2017/07/10(月) 18:36:42.76ID:gqDySAuG0
Math.random().toString(34).slice(2)
このコードってどういう意味だと思う?
34ってなんなんや。
2017/07/10(月) 19:29:28.19ID:2duUxTIUa
基数
ググりなさいよ
2017/07/10(月) 20:25:31.79ID:gqDySAuG0
>>875
基数なのはわかるよ。でもその場合は
0-9a-zで36が基数じゃないの?
2017/07/10(月) 20:32:31.99ID:x/tMl3Ao0
間違いか、34*34通りあれば十分だったんじゃないの?
2017/07/10(月) 21:44:19.17ID:pPp/QbwmM
他人のコードなのに奇数なら36のはずだと勝手に決めつけ思い込む脳神経ってどうなってるんだろうね
2017/07/11(火) 00:08:12.63ID:DtGvVlsG0
質問です。
変数を宣言する際に記述するvarは省略することが出来るのでしょうか?
私の買った本だと、書かれていたり、省略されていたりして
混乱気味なのですが…。
2017/07/11(火) 00:10:33.39ID:i4eD5D7P0
出来るけどグローバル変数になるのでよっぽどの場合以外は使わないようにしましょう
2017/07/11(火) 00:27:18.10ID:DtGvVlsG0
>>880
ありがとうございます。一応出来るのですね。

っていうかあの本ダメだぁ。そういう必要な説明も端折ってる…。
2017/07/11(火) 01:10:06.11ID:OLy+oHXE0
>>881
クロージャ内変数を掴みに行っているのが見えてないだけだろ。

韓国人死ね

てかマジで他もいろいろ酷いがデタラメ答えるな。
スレのレベルが下がっているのはお前らにも分かるだろアホ共。
もう既に間違いも大量に放置されている。こういうのはお互いに利益無いと知れ。
馬鹿な韓国人には何度言っても通じないようだが。マジで死ね。
2017/07/11(火) 01:56:20.34ID:DtGvVlsG0
>>882
ありがとうございます。

ところでなんでそんなに韓国人が嫌いなんですか?
イボミとか良い人もいるじゃないですか?
884デフォルトの名無しさん (ワッチョイ b723-BL37)
垢版 |
2017/07/11(火) 02:20:56.58ID:kTultHtx0
XMLHttpRequestとクロスドメイン参照と
JSONPとcallbackを
郵便屋さんで例えてください。
2017/07/11(火) 03:14:02.76ID:jfrWcBvE0
郵便屋でーす
2017/07/11(火) 04:47:03.01ID:DVbjq/Wb0
>>879
この両者には僅かな違いがあります。
varを使って宣言する(var a = 10)とその変数はグローバル変数となり
varを使わずに宣言(a = 10)するとまずスコープチェーンを
辿ってaを検索し、aが存在すればaに代入を試みて、
aが存在しなければ、グローバルスコープにaプロパティを追加します。
(グローバルプロパティの生成)

開眼!Javascript
p81
https://jsfiddle.net/jseja/6Xyh3/
2017/07/11(火) 04:54:08.93ID:DVbjq/Wb0
>>881
悪書は追放するから
タイトルと筆者を書いて欲しい。
2017/07/11(火) 08:43:35.93ID:Yw0oNP1jd
>>876
yとzは制御文字として使いたいとか。
2017/07/11(火) 11:27:38.46ID:xvQ/lQkn0
WebでのJSの実行環境は
with(window){}
で囲まれているようなものだからね

でも今からはModuleの時代だしそういう癖つけないほうが良いよ
2017/07/11(火) 23:25:29.24ID:DtGvVlsG0
>>886
ありがとうございます。基本的には付けた方がいいんですよね?。

>>887
筆者が気の毒なので一応伏せておきます。
悪書まではいってない気がするので。
2017/07/12(水) 01:07:25.34ID:VV5TEq59M
>>890
情報共有するきがないなら参加するなよ
おまえと同様にその本を買ってしまって混乱する犠牲者ふやしたいのか?
2017/07/12(水) 03:02:30.48ID:JRRJcnxl0
>>890
そういう体質が悪い方向に向かわせているんだが
これが親切のつもりらしいから呆れる。
2017/07/12(水) 03:04:27.14ID:JRRJcnxl0
こっちは有料の本の中身の情報を
タイトル名、ページ番号
その中身の一部引用までして
書き込んでいるのに
こちらの要望は軽く無視された・・悲しいわぁ・・・
894デフォルトの名無しさん (ワッチョイ ffaa-PX3H)
垢版 |
2017/07/12(水) 06:38:54.28ID:HQm2gXhD0
>>886
var 無しだと、グローバルプロパティだから、
スコープチェーンをたどるから、ややこしい

チェーンをたどって見つからなければ、最終的にグローバルプロパティで、
グローバル変数とは別のもの

こんなややこしい仕様を作った、JSの作者は、頭おかしい
2017/07/12(水) 07:28:39.75ID:46U9BX050
varはもう使うな。
constかlet使え
2017/07/12(水) 07:46:53.52ID:m006016La
letが使えないブラウザ向けに作ってる人もいるんです!
2017/07/12(水) 08:57:04.34ID:Xbh+81Re0
>>894
グローバルプロパティとグローバル変数は同じものだよ
グローバルオブジェクトがグローバルスコープになってるわけだからね
with文を使ったときと同じ
2017/07/12(水) 09:46:28.42ID:JRRJcnxl0
>>897
残念ながら少し違います。
普通の人は違いを意識する必要はありませんが。
>>886
2017/07/12(水) 10:33:07.51ID:Xbh+81Re0
いや、var付きかどうかには違いがあるけど、
グローバルオブジェクトのプロパティとグローバル変数は同じものだよ
スコープにはオブジェクト型ってあって、with文のスコープとグローバルスコープはそうなってるから
2017/07/12(水) 11:12:26.90ID:JRRJcnxl0
>>899
>>886って書いたじゃん
微妙に違うんだよ。
https://jsfiddle.net/jseja/6Xyh3/
で違いを見てみ?

実際に使う時には意識する必要のない違いだけどさ。
2017/07/12(水) 12:40:32.42ID:MU+9qUhDd
だからそれはvarの効果であって、グローバルスコープは
グローバルオブジェクトのオブジェクト型スコープだから
そこに対する参照は全てグローバルオブジェクトへの参照へリダイレクトされるんだよ
つまりグローバル変数とグローバルオブジェクトのプロパティは同じもの
varで宣言すれば属性が変わるが存在するのは同じ場所
2017/07/12(水) 13:31:19.76ID:JRRJcnxl0
じゃあ他人のコードをレビューする時、
deleteは無視しても挙動は変わらないんだな?
2017/07/12(水) 13:52:48.55ID:JRRJcnxl0
やめたやめた、絡むだけ時間の損だわ。
904デフォルトの名無しさん (ワッチョイ 57d8-hKQV)
垢版 |
2017/07/12(水) 14:42:40.12ID:JRRJcnxl0
なぜイライラしたかわかった
多少の挙動など気にしない>>879この本の作者と同じ考えのやつだからだ
質問者が細かい違いを気にしてたのに
>>901はそんな細かいことを気にせずテキトーでいいんだよと返してたんだからな。
こっちはきっちりしただけだっちゅーねん。
2017/07/12(水) 15:11:57.05ID:LVxqEvY9H
お前の書き込みが俺をイライラさせる件についてはどう思うんだ
2017/07/12(水) 15:53:52.86ID:Xbh+81Re0
>>904
おれがいつそんな細かいことを気にせずテキトーでいいと言った?
俺はここの住人の中でもっとも細かいことが気になる人間だぞ?

だからむしろ、お前はスコープと変数の扱いの仕様レベルのことが分かっていないんだから、
言い回しに気をつけろと超細かいことを言ってるんだよ

いいか、グローバル変数とグローバルプロパティに差なんてない、両者は同じもの
ただvarで宣言するとconfigurableがfalseになるからdeleteできない、それだけなんだよ
2017/07/12(水) 16:13:36.51ID:HQm2gXhD0
グローバルオブジェクトは、唯一無二のシングルトン

グローバル変数は、グローバルな変数

グローバルプロパティは、グローバルなプロパティだから、delete で削除できる

これら、3つは別のもの
2017/07/12(水) 17:33:04.93ID:VV5TEq59M
要するに、普通のオブジェクトでのルールをグローバルオブジェクトにも適用して例外をなくしたからぱっと見で意味が分からない仕様になってるんだろうなぁ
全てがグローバルオブジェクトの中の出来事と思えばさほどおかしい仕様ではないが他言語からは理解しがたい不思議な世界かもしれない
2017/07/12(水) 17:35:19.86ID:VV5TEq59M
仮にグローバルオブジェクトの外からそれらを見ることがあるなら、グローバルプロパティと変数の差はもっとわかり安いだろう
2017/07/12(水) 18:06:03.89ID:VV5TEq59M
とにかく開発時には、verもしくはthis(orなにかしらのオブジェクト)にドットで繋いで変数宣言しないとだめって事だな

それ以外の宣言だとぱっと見だと判断のつかない所属の変数になってしまう事がある
それはJSとしては正しい挙動だが、わざわざそんな事を狙ってやるやつは居ない
大抵はミスでそうなるケース
2017/07/12(水) 18:07:07.39ID:HQm2gXhD0
JSが難しい理由は、var, new の有無で、意味が変わってくる所。
ちょっとした書き間違いで、動作が異なる

しかも、コンパイルエラーにならないで、
しばらくしてから違う箇所で、実行時エラーになる

実装者向けの機能が、むき出しで、一般のプログラマーまで、
それを習得しないといけなくなってる

すごく、インタープリター内部の話まで、しなければならない。
それで、Ruby よりも、かなり難しい
2017/07/12(水) 18:24:56.67ID:VV5TEq59M
JSはフリーダムすぎるんだよね
誰も使わないような自由があちらこちらにあって、それがケアレスミス時の落とし穴になるという
いろいろ作ってて理解不能なエラー挙動に直面して、ウォッチで追って行って「そんな仕様だったのかよ。。。」とあとから気づくことも多かった
2017/07/12(水) 19:23:00.20ID:Xbh+81Re0
まあnew演算子の挙動は理解しとかないといけないだろうな
旧クラスシステムは、関数にデフォでprototypeメソッドが生えることを除くと
完全にnew演算子の力だけで成り立ってることを一旦理解すれば
newの有無で〜とか言う発言はなくなる

だってそもそもnewは演算子なんだから、そりゃどんな演算子でも飛ばせば動作が変わって来るのは当然だし
2017/07/12(水) 19:32:20.46ID:46U9BX050
ここにいる人たちってeslintとか使ってないんか
2017/07/12(水) 19:49:51.64ID:svcC79vd0
勉強にはなったと思う

しかしグローバルプロパティを
deleteしようとすることは
俺の仕事内容的にはまずないだろうな……
2017/07/12(水) 20:12:49.78ID:HQm2gXhD0
new Number()
Number()

new を付けると、オブジェクトで、
無しだと、プリミティブになるとか、

ちょっとした変化を付けているから、困る。
ちょっとした書き方の変化で、色々と出来るようにしているから、ややこしい
2017/07/12(水) 20:39:54.78ID:Xbh+81Re0
取り敢えずクラスはクラス構文で書けばいい
そうすればnew無しでは呼べない
2017/07/13(木) 03:17:56.06ID:UhYYQlFzd
>>907
違う違う、いい加減仕様読みなって
グローバルに変数作ろうとするとグローバルオブジェクトのプロパティを作成することになるの
その時var宣言付きだとconfigurableがfalseになるからdeleteできない
ただそれだけでグローバル変数とグローバルプロパティに区別はない
2017/07/13(木) 06:48:46.09ID:1ML2Rzf1M
>>918
自分で言ってて矛盾してると思わないの?
2017/07/13(木) 07:01:17.86ID:qKiU4eWA0
何も矛盾していない
矛盾してると思うのは君の前提知識が誤ってるから
そしてそろそろ仕様を読め、この順で
わからないところがあったら説明してやるから
https://tc39.github.io/ecma262/#sec-globaldeclarationinstantiation
https://tc39.github.io/ecma262/#sec-createglobalvarbinding
https://tc39.github.io/ecma262/#sec-global-environment-records
https://tc39.github.io/ecma262/#sec-object-environment-records
2017/07/13(木) 08:33:49.98ID:1ML2Rzf1M
>>920
なぜ変数とプロパティの違いすら分からないの?
両者は全然ちがうだろ
グローバルだけはスコープチェーンの最終地点だから使用する際の挙動に違いがほとんど無いだけ
これはたまたまそうなってるだけであり、「区別がない」なんて無知にもほどがあるだろ
2017/07/13(木) 13:51:12.12ID:oJKwR9xkM
>>907
つまり、こういう事か?

- delete演算子で削除できるものが「グローバルプロパティ」
- var 宣言したものは「グローバル変数」

オレオレ定義にしか思えんのだが、該当する仕様のURLを教えてくれ。
2017/07/13(木) 14:05:18.85ID:oJKwR9xkM
>>921
var宣言してもグローバルオブジェクトのプロパティになるからでは?

<script>
var a = 1; // グローバル変数
console.log(this.a); // グローバルオブジェクトのプロパティ
</script>

だから、これは「グローバル変数でもグローバルオブジェクトのプロパティでもある」という認識が正しい。
彼が指摘しているように、仕様を読んだ方がいい。
2017/07/13(木) 20:28:17.30ID:fMgp1qch0
トップレベルでObject.getOwmPropertyDescriptor(this, 'v')
すりゃ>>918が正しい事が確認できる
2017/07/13(木) 21:06:35.19ID:+QqE9gTA0
スレ違いだったらすみません。

JSの勉強として既存のスクリプトを読んだりしているのですが、どうしても理解できない点がありまして、
よろしければご教示お願いできないかと思い書き込ませていただきました。

読んでいるのは以下のプロジェクトの /lib/marked.js となります。
JSの勉強に加えて、似たような処理をするスクリプトを組む参考にもなると思い選びました。
https://github.com/chjj/marked

当該スクリプトの下部で定義されている replace という関数に含まれている以下の文が、何を目的として存在しているのかが分かりません。
val = val.replace(/(^|[^\[])\^/g, '$1');

もしお時間ありましたら、どなたか解説お願いしても構わないでしょうか?
2017/07/13(木) 21:15:07.43ID:OmneFwIKa
性器表現
2017/07/13(木) 21:42:50.08ID:7UlgIumN0
他人のソースコードを読んでも、作者にしか分からないから、
時間が掛かるだけで、何にもならない。
自分で作った事だけが、自分を成長させる

それに、どうせ読むなら、John Resig 作の jQuery、
Jeremy Ashkenas 作の Underscore.js など、すごいライブラリを読みなよ

正規表現 - MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
2017/07/13(木) 22:41:06.52ID:7UlgIumN0
var str3 = str.replace(/(^|[^\[])\^/g, '$1');

g フラグは、一致するだけ、複数にマッチする

$n は、( )で囲んだ部分に、一致した部分。
$1 は、1つ目の( )、$2 なら、2つ目の( )

^ は、文字列の先頭に一致する。^A なら、先頭がA。
ただし、[ ]の先頭にあると、否定の意味になる

[abc][a-c]は、a, b, c のどれかの1文字に一致するが、
[^abc]は、a, b, c のどれかの1文字に一致しない文字を表す

\ は、特殊文字をエスケープする。
特殊文字の意味をなくして、通常の文字として扱う。
\^ なら、^ の特殊な意味をなくして、単に、^ 文字を表す

\[ なら、[ 。
[ ] の中で、[ を使えないから、\[ と書いている。
つまり、[^\[] は外側の、[ ] を外すと、^\[ となり、[ 以外の文字

| は、どちらかの文字を表す。A|B なら、A か、B

(^|[^\[])\^ は、1文字目が、^ または、[ 以外の文字で、
2文字目が、^ にマッチする。
$1 で、( )内は、1文字目だけを取り出す
2017/07/13(木) 22:41:29.60ID:7UlgIumN0
var str = "a^^b";
var str2 = str.match(/(^|[^\[])\^/g);
var str3 = str.replace(/(^|[^\[])\^/g, '$1');
console.log(str2, '\n', str3);

str2は、a^ で、$1 は、( )内だから、a だけを表す。
replaceでは、a^ を、a で置換するから、str3は、a^b となる
2017/07/13(木) 22:53:39.59ID:qKiU4eWA0
>>921
順を追って書いていくからどこで引っかかるか教えてくれ

変数はEnvironment Recordという構造体に保存される
Environment RecordにはObject型があって、そこでは変数はオブジェクトのプロパティとして保存される
グローバルスコープのEnvironment RecordはグローバルオブジェクトをベースとしたObject型だ
グローバル変数はグローバルオブジェクトのプロパティとして保存される
2017/07/13(木) 23:24:43.34ID:2zl2aPWN0
>>925が超初心者と想定した説明を。

例えば入力された電話番号をチェックしたい場合、有効な電話番号を10桁の数字とすると、
if (phoneNumber == "0000000000" || phoneNumber == "0000000001" || ......)
と書いていては現実的に不可能です。
正規表現は文字列の法則を示したもので、replace関数の親戚のmatch関数で、
if (phoneNumber.match(/[0123456789]{10}/))
と書けば、"0000000000"〜"9999999999"までをカバー出来ます。
[0123456789]はより単純に[0-9]と書くこともでき、この部分は0〜9の数字1文字を示しています。
その後に続く{10}はそれを10回繰り返したものという意味です。
実はこれでは不完全で、この正規表現では10桁の数字さえあればよく、
例えば11桁以上の数字や、"0123456789A"や"A01234567890"みたいな文字も通ってしまいます。
そこで先頭に^をつけることによって、数字から始まることを示し、
最後に$をつけることによって、10桁で終了することを示せば、期待通りになります。
if (phoneNumber.match(/^[0-9]{10}$/))

さて本題ですが、上のmatch関数もそうですが、replace関数の1番目の引数は""で囲っていなく//で囲っています。
これは文字列ではなく、正規表現オブジェクトを渡していて、matchやreplace関数ではそうするもんだと思って下さい。
文字列変数valにある、(^|[^\[])\^という正規表現で示される部分を、(2番目の引数の)$1に置き換えるという意味です。
$1というのは、正規表現の後方参照と呼ばれるもので、正規表現の1番目の丸括弧()の中を指しています。
(^|[^\[])\^という正規表現なので、(^|[^\[])の部分が$1になります。
(^|[^\[])\^を(^|[^\[])に置き換える。つまり、丸括弧の外にある\^の部分を削りたいわけです。
/(^|[^\[])\^/gと書いてますが、このgというのは、正規表現のフラグの1つで、一致したもの全てを置き換えるという意味です。
もしgがない場合、一致した最初の1つしか置き換えられません。
大文字小文字を区別しないフラグなど、フラグは他にもいくつかあります。

初心者に正規表現は難しいので、(^|[^\[])\^がどういう意味なのかは時間をかけて勉強してみて下さい。
2017/07/13(木) 23:38:29.43ID:ZRvPs5t50
>>928
というかその正規表現はおかしいだろ。
JavaScriptではエラーにならないし、
よくあるサイト上でのチェックでも実際のJavaScriptで動作させているから動いてしまうが。
チェッカーを探したがいいのが無いね。

> (^|[^\[])\^ は、1文字目が、^ または、[ 以外の文字で、
意味的におかしいだろ。^ は [ 以外の文字なんですがそれは?

君が勘違いしているのは下記か?
/(\^|[^\[])\^/
が、まあ、これが意味ないのは上記の通り。意味があるようにするとしたら以下か?
/(^\^|[^\[])\^/


韓国人死ね
2017/07/13(木) 23:54:34.87ID:gzfFo6hjd
>>932
『「行頭」か「[以外の文字」』に続く^じゃないの?
^
[^
にマッチさせたいのでは?
2017/07/14(金) 00:09:24.28ID:jwaA4OPc0
そもそも、この正規表現は正しいのか?
2017/07/14(金) 00:24:01.50ID:jsZNOhnp0
>>933
え?それってありなん?
まあ俺は正規表現のプロではないが。
そして試してみた結果、確かにそのようだが、ものすごく気持ち悪い。

'^'.replace(/(^|[^\[])\^/g,'$1'); // ''

これってマジでありなん?しかもカッコ内じゃないのに置換されてるし。


韓国人死ね
2017/07/14(金) 00:36:41.22ID:i0uGqEt60
^が行頭を表すなんて朝鮮人以外はみんな知ってる
2017/07/14(金) 01:07:53.54ID:+/3l0vud0
さわんじゃね
938デフォルトの名無しさん (ワッチョイ 0aaa-32Qs)
垢版 |
2017/07/14(金) 01:18:47.21ID:jwaA4OPc0
var str = "xabc";
var str2 = str.match(/(^|a)b/g);
console.log(str2);

ab と一致する。
^ これどういう意味?

行頭または?
はあ?

間違いか?
2017/07/14(金) 01:26:37.87ID:jwaA4OPc0
var str = "xabc";
var str2 = str.match(/(^|a)b/g);
console.log(str2); // ab

str = "bc";
str2 = str.match(/(^|a)b/g);
console.log(str2); // b

行頭が、b または、
ab
2017/07/14(金) 01:41:53.20ID:jsZNOhnp0
すまん、935のカッコ内云々は俺の勘違いだった。
ただ、行頭をキャプチャして置換に使うってのがなあ。これって合法なん?

韓国人死ね
2017/07/14(金) 02:14:57.74ID:i0uGqEt60
>>938-939
バカには正規表現は無理

>>940
朝鮮人以外は合法だって知ってる
2017/07/14(金) 02:51:48.36ID:jsZNOhnp0
>>941
確かに以下を見る限り合法のようだ。
https://abicky.net/2010/05/30/135112/

やりたかったことは replace(/(?<!\[)\^/g,'') なんだろうけど、
JavaScriptでは否定後読みは使えないからああなったという感じか。
Perl使いがキモイ正規表現を使うとは聞いていたが、遭遇したことは無かったのだが、これか。
あくまでマッチ+バッファであり、型の感覚が無いから、プログラマからするとキモイわけだ。
とはいえこれに関してはPerl使いのほうが正しいのだろう。

韓国人死ね
2017/07/14(金) 03:09:55.88ID:IlK8Z/pQ0
後読みはES2018で入るだろう
2017/07/14(金) 05:11:48.47ID:3/uFIGY50
925に対して回答ありがとうございます。
わざわざ詳細な説明いただき助かりました。
申し訳ありませんが、その上で何点か再確認よろしいでしょうか?

まず $1 だとマッチした内容に置換されるが、当該のコードは '$1' なので単なる文字列と見なしてよろしいでしょうか?
ならびに [^\[] は行頭文字ともマッチするので記述が冗長だと思うのですが、いかがでしょうか?

当該の一文が出てくるのは小さな関数なのですが、何のためにこのような処理をされているのかが全文を読んでもさっぱり見えてきません。
何を目的としてこのように書かれているのか、どなたか分かりますでしょうか?
2017/07/14(金) 08:34:30.97ID:HpYhyMQyM
>>944
$1は一つ目のキャプチャ文字列。
[^\[] は行頭にマッチしない。
リファレンスを読めば解決する問題なので熟読しろ。
もしくは、テストコードを作って検証しろ。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace

目的「"^" を削除する。ただし、"[^" は削除しない。」
これ以上はコード全体を読まないと解釈しようがない。
(中途半端な文法規則を作っている感はあるが)
2017/07/14(金) 08:36:08.67ID:vN8eqjVVd
>>944
行頭か、[以外で始まる^でしょ?
^abcde //マッチする
[^abcde //マッチしない
abc^defg //マッチする
abc[^defg //マッチしない
行頭とマッチするかは/m次第だろうけどマッチするのは、改行文字かと。
2017/07/14(金) 08:43:14.00ID:i0uGqEt60
>>942
>>928を読んでもわからない奴にはこれ以上の説明は無駄 わかるまで読め
2017/07/14(金) 09:07:40.64ID:3/uFIGY50
>>945
前者に関しては確認したところテストコードに誤りがありました、申し訳ありません。
後者に関しては記憶違いだったみたいです。改めて正確な挙動を調べなおします。

>>946
ああ、オプションの m で挙動が変わるのですね!
完璧に失念してました!
2017/07/14(金) 09:21:57.72ID:jwaA4OPc0
>>927

の「正規表現 - MDN」を熟読すべき
2017/07/14(金) 09:41:11.04ID:IlK8Z/pQ0
文字へのマッチとは別に、位置へのマッチがあることが分かれば難しいものではない
2017/07/14(金) 12:04:36.19ID:+NhBdlJT0
質問お願いします。
要素にクラスを追加する場合、id指定だと下記のようにするとできるのですが、

var e = document.getElementById("abc");
e.classList.add("xyz");

クラスにクラスを追加する場合、どのようにすればいいのでしょうか?

var e = document.getElementsByClassName("abc");
e.classList.add("xyz");

これだとエラーになってしまします。
よろしくお願いします。
2017/07/14(金) 12:34:22.15ID:i0uGqEt60
getElementとgetElementsの違いを理解しよう
中学校(最近は小学校?)で習ったはずだぞ
2017/07/14(金) 12:54:26.06ID:yf7LD5Sw0
idは一意で、同じidはないはずなので(あった場合それは正しいドキュメントではない)、
getElementByIdは指定idの要素オブジェクトを1つだけ返すのに対して、
classはそういう制限はなく、同じclassが何個も出てくるのを想定しているので、
getElementsByClassNameは指定classのイテレータブルなコレクションを返します。
すなわち、e[0]、もしくはe.item(0)のようにアクセスするのが正しいです。
2017/07/14(金) 13:27:58.97ID:14PnxSlX0
ID == identification
2017/07/14(金) 14:04:28.62ID:+NhBdlJT0
>>953さん

お教え頂いた通り、以下のように設定すれば希望通りにできました。
本当にありがとうございます。

e[x].classList.add("xyz");
2017/07/14(金) 14:05:49.80ID:HpYhyMQyM
>>953
> getElementsByClassNameは指定classのイテレータブルなコレクションを返します。
getElementsByClassName の返り値は HTMLCollection だが、HTMLCollection は iterable ではない。
https://triple-underscore.github.io/DOM4-ja.html#interface-document
https://triple-underscore.github.io/DOM4-ja.html#interface-htmlcollection
2017/07/14(金) 17:21:23.89ID:IlK8Z/pQ0
△イテレータブル ○イテラブル ということは置いといて
何をもってイテラブルと言ってるのかによるだろう

HTMLCollectionは
ESで言うイテラブルは通常@@iterableを持つということなのでそれとは違う
DOMで言うイテラブルは通常NodeIteratorなどのことなのでそれとも違う
ただ「列挙可能」という意味で言ってるなら問題はない
2017/07/14(金) 18:29:09.93ID:vv2qH35gH
それなら普通に配列って言えばいいだけでは
2017/07/14(金) 18:44:26.77ID:HpYhyMQyM
>>957
> ESで言うイテラブルは通常@@iterableを持つということなのでそれとは違う
ES7 には @@iterable が存在しないが、ソースは?

ES7では @@iterator を持つオブジェクトが for-of で「列挙可能」
iterable な NodeList は for-of で列挙可能だが、iterable ではない HTMLCollection は不可能。
http://www.ecma-international.org/ecma-262/7.0/#sec-well-known-symbols
2017/07/14(金) 19:27:51.05ID:IlK8Z/pQ0
@@iteratorの間違いだよ それくらい察して
それにイテラブルだなんて汎用的な言葉とも取れるし、そんな突っつくことでもないと思うよ
2017/07/15(土) 00:32:27.99ID:5uf8kOgL0
// テストデータ
var dataAry = ["xabc", "bc", "ac"];
var re = /(^|a)b/g;

function testFunc(elem, index, array) {
var myArray = elem.match(re);
console.log(elem, '\n', myArray, '\n');
}

dataAry.forEach(testFunc);

結果は、ab, b, null

つまり、
1. 行頭がb
2. ab を含む文字列
2017/07/15(土) 01:02:35.33ID:5uf8kOgL0
このテストデータで実行してみ

var dataAry = ["xabc", "bc", "ac", "cb", "^b"];

結果は、ab, b, null, null, null
2017/07/15(土) 12:44:42.91ID:IP8gokNa0
JSの質問か際どいんだけど誰か良い案あればおしえてほしい
番組表のようなものを作りたくて、縦軸で時系列、横軸でチャンネル区切りを表したい
テーブルタグを用いるのが良いかと思っていて、複数の時間帯をまたぐものはrowcolを指定することでいい感じにできないかと考えてる
肝心の番組情報だが、常に何かの番組があるわけではないのでところどころに抜けのあるjson形式のデータが返ってきててそれを使う想定

こういう感じなんだけど各番組が複数のセルをまたいだり空白の時間があったりでいい感じにテーブルを動的に構築するのが面倒くさいなと思うんだけど良い案ないだろうか
フレームワークとかはなんでもいいけどVueを使おうかなと思ってる
2017/07/15(土) 13:01:10.25ID:jjpJygJ80
そこを丸投げしてしまったら貴様のやる事は何も無いではないか
2017/07/15(土) 15:28:58.61ID:l4jBJff8d
>>963
いい感じにテーブルも何も、最初から3分毎くらいにテーブル切っといて、やってる時間分rowspanかけるか、
それか透明テーブルにoverflow:visibleで放送時間分の高さ持ったdivタグおいといたら楽では?
2017/07/15(土) 16:08:23.39ID:DMIdUVsAd
CSSレイアウトの方がいいかもな
2017/07/15(土) 16:46:23.11ID:mnMcO+Xt0
radikoの番組表の動作パクって自作した
2017/07/15(土) 16:56:01.66ID:IP8gokNa0
>>965
後者のほうが楽そうな印象はあるけどどうも構造的には前者のほうがきれいに感じる
前者のテーブルって最初に数分ごとに区切られた空のテーブルを作っておいて、JSONを取得したタイミングでテーブルに書き込む関数を呼ぶみたいなアプローチでいいんだろうか
2017/07/15(土) 17:13:37.66ID:N0flRzpM0
もう一分ごとに区切れば?
所詮1440×チャンネル数分のテーブルでしょ?
エクセルに比べれば楽勝w
2017/07/15(土) 17:21:12.42ID:IP8gokNa0
>>969
すまん、区切りをどうするかってのは特に問題じゃないんだ
2017/07/15(土) 17:25:50.69ID:N0flRzpM0
>>970
1分ごとに区切れば簡単になるってことに
まだ気づかない?
2017/07/15(土) 17:48:01.92ID:IP8gokNa0
>>971
得られる番組の開始終了時刻が5分区切りなんだけどそれでも1分区切りのが簡単になるの?
2017/07/15(土) 18:28:36.04ID:l4jBJff8d
>>968
前者でch×3分なり、5分毎のテーブル作って、
そのセルにoverflowを表示するdivタグで1セル(5分)の高さのワク作って、
そこに放送時間分の高さの番組情報のdiv入れれば良いのでは?
2017/07/15(土) 18:31:08.80ID:IP8gokNa0
>>973
色々見たらその方式で実装してるところが多いんだけどなんか個人的に気持ち悪いというか…好みの問題かもしれない
でも最終手段として残しておくことにするよありがとう
2017/07/15(土) 18:41:00.51ID:t2Xo9ohCM
>>960
「汎用的な言葉」とは?
俺の感覚では「列挙可能」はdefinePropertyで指定する {enumerable: true} の方で iterableとは別概念だが。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
>>957の後半3行も根拠があなたの中にしかなくて意味不明だった。

状況的には「iterable === @@iteratorを持つ」で通じる事は>>959で示した通りだが、別の解釈があるなら教えて欲しい。
2017/07/15(土) 18:51:47.13ID:t2Xo9ohCM
>>963
感覚的にはタイムテーブルのような長さを計るものはtable要素向きではないと思うが、横にHH:00のヘッダを付けるなら二次元構造といえなくもないか。
とはいえ、レンダリングコストが高くつきそうなので、俺なら適当なブロックボックスを時間の長さ分作って放り込むと思うが。

>>968
JSONデータの事なら {"番組名":"XXX","開始時刻":"2017/07/15 19:00+09:00","終了時刻":"2017/07/15 20:00+09:00"} でいいんじゃないかね。
ISO 8601拡張形式で時刻を表せば、時間を計る方法はいくらでもある。
2017/07/15(土) 19:10:25.30ID:OBAajcvKa
>>974
まあ、表では無いからな。
divをabsoluteで配置して、インラインスタイルでtopを放送開始時間、bottomを放送終了時間にして、チャンネルのクラスつけて、
チャンネルのクラスはleftとwidth持ってりゃわりと綺麗かな。
2017/07/15(土) 21:04:26.61ID:IP8gokNa0
>>976
>>977
参考になったわ
ありがとう
2017/07/15(土) 21:37:06.43ID:r3inW3v40
>>975
列挙可能とは、反復処理にかけて次の要素、次の要素、次の要素、と取り出していける事を言う
enumerableは「要素が列挙される」ことが可能かどうか
ここで言ってるのは「要素を列挙する」ことが可能かどうか、つまり@@iteratorを持つのと同分類
HTMLCollectionはlengthとitem()を備えるので要素を列挙していくことが可能
よって広義にイテラブルと呼ぶことは可能

原文でもコレクションがイテラブルだと言っている
つまりitemなどを備えるコレクションだということを強調するために使われているので問題はない
2017/07/16(日) 10:43:52.50ID:OnshtUopM
>>979
> enumerableは「要素が列挙される」ことが可能かどうか
「列挙されることが可能」と「列挙可能」は同義ではないのか?
MDNでは列挙可能/列挙不可能と説明されているようだが。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for...in
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
ちなみに、必ずしも列挙不可能なわけではない。
Object.getOwnPropertyNames() によって {enumerable: false} なプロパティも列挙できる。
{enumerable: false} は一部の機能(for-in, Object.keys)で列挙を禁止するフラグに過ぎない。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames

> ここで言ってるのは「要素を列挙する」ことが可能かどうか、つまり@@iteratorを持つのと同分類
> HTMLCollectionはlengthとitem()を備えるので要素を列挙していくことが可能
1文目と2文目は等価ではない。

1文目は俺が主張している内容と同義で「for-ofで列挙できるか」
MDN では「iterableになるために、オブジェクトは@@iteratorメソッドを実装する必要があります」と説明されている。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Iteration_protocols#iterable

2文目は「for-ofに限らず要素を列挙する手段があるかどうか」
2文目になるとほとんどのオブジェクトが列挙可能となる。
Object.values, Object.keys 等があるから、{a:1,b:2}でさえ、「列挙可能」だ。
列挙不可能なのは WeakMap ぐらいか。
2017/07/16(日) 11:06:23.15ID:QZhQxoRLa
汎用的な言語定義を説くなら、英和辞典を引くべき。
https://www.google.co.jp/search?num=30&;q=%E8%8B%B1%E5%92%8C+iterable

日本語訳するなら、反復可能(iterable)と列挙可能(enumerable)が一般的。
https://www.google.co.jp/search?q=%E5%8F%8D%E5%BE%A9%E5%8F%AF%E8%83%BD+iterable
https://www.google.co.jp/search?q=%E5%88%97%E6%8C%99%E5%8F%AF%E8%83%BD+enumerable

「列挙されることが可能(emurable)」と「列挙可能(iterable)」では違いが分からない。
そもそも、日本語では「受動態」と「能動態」の差異しかないのに、英語では単語が変わっている。あり得ない。
https://www.google.co.jp/search?num=30&;q=%E5%88%97%E6%8C%99%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E5%8F%AF%E8%83%BD+emurable

本題に戻るが、JavaScriptでiterableが持ち込まれたのはES6からだから、MDNの解釈が正しいと思う。
2017/07/16(日) 11:27:22.43ID:QZhQxoRLa
>>957
> DOMで言うイテラブルは通常NodeIteratorなどのことなのでそれとも違う
どういう意味だろう?
NodeIterator は createNodeIterator() で生成するオブジェクトの Interface だが、指定可能なノードはルートノードだけ。
iterable な NodeList に出来て、iterable ではない HTMLCollection に出来ない事があるとは思えない。
そもそも、NodeList を対象に取る機能ではないような。
https://dom.spec.whatwg.org/#interface-nodelist
https://dom.spec.whatwg.org/#interface-htmlcollection
2017/07/16(日) 11:27:34.90ID:jDkpuj83d
話を戻すけど、俺は最も自然に感じる意味がそうだと言うことに異論は唱えていないよ
ただ@@iteratorを持つものしか「イテラブル」と呼べないというのには異論がある

俺は彼の用語の使い方が超えちゃいけないラインを逸脱しているとまでは思わないし、
そのニュアンスを捉えないで字面だけ見て揚げ足を取ろうとする行為の方が問題だと感じる
それは言語仕様として「class」が無かった頃、形態としての「クラス」という表現まで弄ってたおかしな人と同じだよ
2017/07/16(日) 12:19:12.13ID:OnshtUopM
>>983
まず、あなたの投稿はどれだ?
俺がレスした相手に (スププ Sd70-wcQn) は存在しないのだが。

> 953 デフォルトの名無しさん (ワッチョイ 8bf3-z+eH) sage 2017/07/14(金) 12:54:26.06 ID:yf7LD5Sw0
> 957 デフォルトの名無しさん (ワッチョイ 6e0b-EdWd) sage 2017/07/14(金) 17:21:23.89 ID:IlK8Z/pQ0
2017/07/16(日) 13:41:18.87ID:r696m46c0
国語の話とか収集つかないので静観してたけど、なんか荒らしちゃったようで申し訳ない。
反復することが出来る(ループ文を使う)という意味で言ったので、そんな深い意味はありません。
反復という言葉がとっさに思いつかなかったので英語で言ったのですが、イテレータブルも日本語でしたね。
2017/07/16(日) 14:28:11.42ID:jDkpuj83d
>>984
957とかが俺だ
俺もあっちこっちから書き込んでるからね
2017/07/16(日) 17:15:26.87ID:OnshtUopM
>>953,985
あなたがそういうスタンスならそれはそれで良いと思う。
俺が危惧したのは「仕様にある用語(iterable)」と解釈されかねない書き方になっていたこと。
それが仕様上のiterableとは別意の「便宜上の言葉」である事が明確になっていたなら問題はなかった。
2017/07/16(日) 17:48:27.95ID:OnshtUopM
>>957,983,986
あなたは初め、仕様に言及した書き方をしていた。
>>957,979がそれだが、主張している内容が矛盾だらけだった。
>>980-982に対してもレスは未だない。

> 原文でもコレクションがイテラブルだと言っている
原文でiterableと書いてあるのは4回だけ。
NodeList と DOMTokenList しか iterable なものはなく、HTMLCollection は該当しない。
https://dom.spec.whatwg.org/#interface-htmlcollection

> それは言語仕様として「class」が無かった頃、形態としての「クラス」という表現まで弄ってたおかしな人と同じだよ
ES5時代のクラスは説明の道具として有用だった。
ただし、iterableは仕様に存在する単語であり、それが「仕様としてのiterable」と解釈されてしまうと誤解が生じる。

簡単に書けば、「誤解が生じかねないオレオレ用語は使うな」
>953の後に>>985が出てきたのなら、文意が誰にでも分かるので良いと思う。
が、あなたはiterableで問題ないと何度も主張しているので、そのままでは誤解が広まってしまう。
989デフォルトの名無しさん (ワッチョイ 0aaa-32Qs)
垢版 |
2017/07/17(月) 03:58:47.70ID:Uy8niamL0
一般用語のコンテナ・入れ物で良い。
複数のオブジェクト・要素を入れる、複合物

コンテナは、反復可能
2017/07/17(月) 04:17:35.87ID:H+ZLTTJY0
その反復可能を英語でいったらどうなるのさ?
日本人だから英語は技術用語とできるかもしれんが
英語圏の人にとっては英語で説明するんだぞ
2017/07/17(月) 05:39:00.74ID:FkU7igMp0
>>988
よく読め、俺は最初から仕様としての言葉としてはふさわしくないが、
汎用的な言葉としては有りというスタンスしか取っていない
現にカタカナの「イテラブル」としか言っていない
そして原文とは『彼のレス』のこと

あとそんな誤解をわざわざするのは君くらいだ
別に大した意味で使われていないことくらい分かる
君はね、俺のレスも、彼のレスも、全然きちんと読んでなさすぎじゃないか?
それで誤解だ何だ言われてもね
ただいちゃもん付けるためにあら捜ししたいだけじゃん
2017/07/17(月) 12:16:00.13ID:wQITi39ZM
この手の基地外は相手しないほうがいいよ
2017/07/17(月) 12:37:43.01ID:H+ZLTTJY0
> 現にカタカナの「イテラブル」としか言っていない

それ何の違いがあるの?
2017/07/17(月) 13:04:25.24ID:gEy1UlAAM
あぁ無情
2017/07/17(月) 22:00:34.56ID:FkU7igMp0
prototypeとプロトタイプは違いがあるわな
996996 (ワッチョイ e285-X5vM)
垢版 |
2017/07/18(火) 22:58:23.00ID:ojkSKdtb0
すみません。質問です。if文どちらの結果もでません。
どなたか教えてください。
<form action="" id="weightform" name="weightform">
<input type="text" id="weightvalue" name="weightvalue">
<input type="button" value="Here we go">
</form>
<script type="text/javascript">
function onButtonClick(){
document.write(weightform.weightvalue);
var num1=parseInt(document.weightform.weightvalue.value);
if(num1>99){
document.write("<h2>あなたはヘビー級です</h2>");
}
else{
document.write("<h2>あなたはジュニアヘビー級です</h2>");
}
997デフォルトの名無しさん (ワッチョイ 0aaa-32Qs)
垢版 |
2017/07/18(火) 23:20:09.08ID:6DbTRi2A0
ブラウザのF12開発者ツールを起動して、デバッグすれば?

onButtonClick という関数が呼ばれないだろ

それに、document.write は使うな。
HTML全部を書き換えてしまうから

こういう質問は、web制作管理板の方に書き込んで。
向こうの方が、答える人が多いから
2017/07/20(木) 12:08:49.02ID:Cyp9mT6Pa
次スレないのか?
2017/07/20(木) 12:38:37.99ID:b22a38Le0
ヘイトスピーチの発信源と化してるしもう落ちていいよ
2017/07/20(木) 14:33:12.10ID:N3Sxif2b0
ありがとうございました
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況