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

■ このスレッドは過去ログ倉庫に格納されています
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/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
プログラムに手加えるのめんどいしブレークポイントで済ませちゃうことが多いかも
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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