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/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はなにをそんなに
喚いているのかのほうがわからない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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