日産のiOSアプリ、Stack Overflowからのコピペでサンプル文字列がそのまま表示される事態に 79
ストーリー by hylom
恥ずかしい 部門より
恥ずかしい 部門より
あるAnonymous Coward 曰く、
日産のスマートフォンアプリ「日産EV」で、Q&Aサイト「Stack Overflow」からコピーしたコードがそのまま使われていたことが発覚したそうだ。
気軽に使えるQ&Aサイトは初学者には便利だが、そのままコード品質を十分に確認もせずに製品としてリリースしてしまうとは、いやはや。
問題のコードはiOSアプリでの位置情報サービス利用設定に関するもの。今回発覚したケースではサンプルコード内に含まれていたサンプル文字列「The spirit of stack overflow is coders helping coders」を修正せずに使っていたため、位置情報サービスの設定画面でこの文字列がそのまま表示されてしまっているという。
そのままじゃない (スコア:2)
修正されているようです。Stack Overflow に以下のようにカスタマイズとスペルチェックを勧めるコメントがついていますが、
Twitter への投稿されたアプリの画面 [twitter.com] では、The sprit of になっています… Stack Overflow の精神だけ修正されてしまったのかも。
# でも帆船のスプリットを意味する sprit という単語があるので、スペルチェックで助かるかどうかは不明
Re:そのままじゃない (スコア:4, おもしろおかしい)
そのままコピペすればいいのに誤字入れちゃうとか、まるでアレゲな雑談サイトですね。
スラド後継者か (スコア:3)
「アレゲな雑談サイト」精神を引き継いで、コピペに誤字を混ぜるという
正統な後継者が育っているという明るいニュースではないか。スラドに繁栄あれ!
それはコピペなのか (スコア:1)
コピーした文字列のスペル間違えてペーストしちゃうのは、もはやコぺピしたとは言わないだろ
# それはtypo
モデレータは基本役立たずなの気にしてないよ
Re:それはコピペなのか (スコア:2)
なるほど。「コピペ」でなく「劣化コピー」と呼んだほうが良いかもしれません。
Re: (スコア:0)
「タイプ→タイポ」に倣い「コピポ」と呼ぶべき。
Re: (スコア:0)
typo は typographic error の略であって type の typo ではないけどね。
Re: (スコア:0)
だれか「コペピ」にツッコんでやってよ。
Re:それはコピペなのか (スコア:2)
「コペピ」か「コピポ」かで選ぶなら語感で「コピポ」かなあ。
Re:そのままじゃない (スコア:1)
そこまで考慮に入れたhylomさんのチョイスですよ。
> 恥ずかしい 部門より
この部門名がまた味わい深いといったらない。
Re:そのままじゃない 新たなバグの可能性 (スコア:0)
「i」がバグって表示されていない問題ならば、更にやっかいな事になりそうですね。
(いずれにせよ、コードの管理がなっていない駄目な例。)
Re: (スコア:0)
それって,コピペの仕方もしらないんで,手で入力しなおしたとか?
Re:そのままじゃない (スコア:1)
「コピペしたら著作権的にまずいけど、手で入力しなおしたら問題ない」と考えたとか。
そういう主張を何度か見かけたこともあるし、本気でそう信じている層が一定割合いるのは確かだと思う。
Re:そのままじゃない (スコア:1)
横書きでは読点として「,」を使うという流儀 [wikipedia.org]を知らないの?
世間では少数派だけど、学習指導要領に基づいて教科書は,.で統一されてるし、
情報処理学会とか理系の論文もたいてい,.だね。
Re:そのままじゃない (スコア:1)
> 教科書は「,」「。」だろ常考
すみません。その通りです。「,。」と「,.」というふたつの流儀があることを書くつもりで、思いっきり書き間違えてました。読み返して気づけよ自分。
小学校は一応でてますけど、その後のン十年「,。」なことはすっかり忘れてましたね。
最近小学校教科書の現物を見て、そういう句読点なことを再確認しましたけど、すごく違和感がある…
#分かち書きと セットなのも,違和感の 原因だとは 思ってます。
Re:そのままじゃない (スコア:1)
大元のコメントは、読点にコンマを使った文章に対して「、の入れ方知らないの?」と書いていますが、これは「読点に,を使うのは誤りである」という認識に基づいた揶揄と読み取れます。
「流儀がある」=「読点に,を使うのは誤りではない」=「大元のコメントの認識は間違っている」ということですよ。
Re: (スコア:0)
公務員なんじゃね?
やったね たえちゃん (スコア:2, すばらしい洞察)
ウェブ閲覧禁止の会社が増えるよ
#職場変えたい
多重下請け構造の上と下 (スコア:1)
IT業界の多重下請け構造の中では、
上のほうはプログラミングをあまりやったことがなく、
当然ながら業界で有名なAPI等も知らない人ばかり。
上は「速く作れ」しか言わないから
下は簡単に済むコピペで仕上げる。
上はプログラムの中身は分からないから
出来上がってればOK出しちゃう。
下請けの最下層のほうはコンビニの深夜バイト程度の給料しかもらってないから
職業意識も最下層レベル。
むしろこれでソフトウェア業界がなんとか機能してるほうが不思議。
学生時代の思ひ出 (スコア:1)
情報系だったのでプログラミング実習の授業がありました。
課題を提出しようとしたところでクラスメートに「ちょっと見せてくれ」と言われ、プリントアウトして渡したのですが。
ソースのコメントに書いた学籍番号と名前まで丸写しされました。
試験ではなかったので「カンニングは見せた人も0点(意図的に見せた場合)」ルールは適用されませんでしたが、
先生には「教えるのは構わんが答えだけ教えるようなことはするな」と注意されました。
よく分からないけど (スコア:0)
何か不具合のあるコードなの?
それともライセンスに問題があるの?
Re: (スコア:0)
開発者が、質問サイトの答えをよくわからないままコピペしたのが問題。
そして(レビューアが)わからないまま承認したのが問題。(もしくはレビューアがいないのが問題)
よくわからないなら、コピペするときに調べろ。
今回はこのぐらいですんでよかったけど、セキュリティに問題あるコードとか動いてよかったでコピペして、穴あけたらまずいよ。
と自分に向かって書いてます。
Re: (スコア:0)
何人かで動作テストすれば、誰かが「この下に書いてある文字列、何?」って言いそうなもんだけど。
テストしてなかったのか、英語が読めない人間ばかりで、皆読み飛ばしていたのか……。
Re:よく分からないけど (スコア:1)
表示される文字列が問題とされない機能要件だったとか?
Re: (スコア:0)
作業者が単価なんぼで働いていたのか気になる。
学生インターンとか?
Re: (スコア:0)
・テスト仕様を作る側とテスト実施する側が距離的に結構離れていることがある(ニアショアとかテスト要員は安いバイトで済ますとか)
・テスト仕様書に●●がこの位置に正しく表示されることみたいな項目はしっかりあるけど、余計なものが表示されないことというのが欠落してた
みたいな条件は割と簡単に揃うし、そうなると気がつかない可能性もないとはいいきれない。
動作面でのクリティカルな部分はきちんとテストされててもこういった部分だけ放置されちゃうこともままある。
#だからバグを作っても仕方ないとはいわないけどさ
Re:よく分からないけど (スコア:1)
余計なものと思わなかったのかもしれない。
Re:よく分からないけど (スコア:1)
「余計なもの」でなければ「既出」とモデレーションしちゃったとか?
Re:よく分からないけど (スコア:1)
「おもしろおかしい」だっったりして。
Re: (スコア:0)
あるある。俺が引き継いだソースも、"ENTER DESCRIPTION HERE"っていう自動生成されたコメントが大量に残ってたり…。
ええ「ここに説明を入力してください」っていう意味だと分からず、ひたすら最初のソースからコピペされてました。
コピペプログラマーはそんなことすらわからないんです。
Re: (スコア:0)
今回の件、ロケーション情報取得権限のリクエスト・許可なんてのは、iOSの本当に細かな動作まで良く把握している
(この手のプログラムを作った経験のある)人でなくては、「こういうイベントが上がってくるはず」というのを思いついて、
「だから、その時はこうすべし」という指定を仕様書に書くことはできないと思う。
だから今回問題になった部分に関しては仕様書には全然書かれてなくて、コーダーの裁量でインプリしたんじゃない?
Re: (スコア:0)
同じコピペするにしても、せめてもうちょっとマシなソース、例えばオライリー本あたりからにしてほしいなあ。
質問サイトの答なんて玉石混交だから、参考にはできても理解も修正もせず丸写しなんて恐くてたまらん。
そして、もしコードを理解して修正していたのなら、上記メッセージの問題もその時点で気付いて修正してたはず。
>セキュリティに問題あるコードとか動いてよかったでコピペして、穴あけたらまずいよ。
激しく同意。
つか、下手すると
メッセージ丸写し → ということはここのサンプルコードコピペしてるんじゃね? → ここのコードには脆弱性があるけど、まさかそのまま? → 試したら全個人情報が抜き取れましたw
みたいな可能性もあるだろし。
Re:よく分からないけど (スコア:2)
# プログラムは素人です
コードとありますが、ユーザに許可を要求するためのメッセージを定義しておかないと API を呼んでも位置情報を取得できないよ、というお話ですよね。
あえてフォローするなら、提供されたサンプルがプログラムのコードではなく、プロパティリストに定義するメッセージだったのでチェックがあまかったのかも。プログラムが表示するメッセージなら設計中にチェックされるでしょう… たぶん。きっと。
# Windows でいうとレジストリのデータ?
Re: (スコア:0)
inof.plistの中の文字列だからレジストリと似たようなもんだね。プログラムのコードのコピペならよくあることじゃないかと思ったけどこれは酷いね。英語力が低すぎて意味がわからなかったんだろうか?
Re:よく分からないけど (スコア:2)
ウチの若い子も、
「インターネットで検索して確認しました!」って
真顔で言ってくるんだよ。
まぁウチもその程度の会社なんだってコトかな。
Re: (スコア:0)
スラドでも、病院に行くよりググったほうが正確な病名が分かるなんて言ってる人もいるみたいだし。
Re: (スコア:0)
オフィシャルなドキュメントをインターネット経由で読んだかもしれないだろ。
Re: (スコア:0)
GPL汚染とか怖いね
Re:よく分からないけど (スコア:1)
いやいや…コピペが問題なのは本でも同様です。さらに、Stack Overflowを全否定ですか?
今回の問題はコードレビューの体制がないことなのに、本ならOKってのは理解できません。
そもそも本には個別の答えがないんだから、こういう場合の解決策ですらないでしょうが。
本だろうがStack Overflowだろうが、コピペしたら同じですよ。
教育を受けて自分で書く。そして組織的にレビューをする。
インターネットで確認しようが本で確認しようが、これをやってなければ問題は避けられません。
イエス・キリスト「あなたたちの中で罪を犯したことのない者が、 この人に石を投げなさい。」 (スコア:0)
まあ社内のチェック体制の問題でしょうね。
コピペした若造(だよね?きっと)を責めるのは酷ってもんですよ。
Re: (スコア:0)
日産のアプリだからと言って日産系列会社が作ったとは限らないんですよ(震え声)
Re: (スコア:0)
そうそう、製造は日産ではありまs
http://ganbaremmc.exblog.jp/24346092/ [exblog.jp]
Re: (スコア:0)
社内で済めばいいけどね。
どっかに外注しての結果だとしたら
社内のチェック体制(受け入れ体制) の問題であるという事実には変わりないのに
責任は社外へ、より弱い方へ押しつけられそうだよね・・・。
# まあでも外注先が事実クソってことも無きにしも非ず
Re: (スコア:0)
派遣や下請けは便利だが、そこの社員の品質を十分に確認もせずに製品開発に採用してしまうとは、いやはや
ってとこか。
使い捨て社会の効果が見えてきた (スコア:0)
わけもわからずコピペして出来ました!な子は昔からいたのに最近目立つようになってきたのは
指摘するまともなマ(おっさん)が減ったためと邪推
Re: (スコア:0)
うん、「コピペの痕跡をしっかりと消しなさい」と指導できる人が少ないのだね
Re:使い捨て社会の効果が見えてきた (スコア:1)
ま、コピペの痕跡を正しく消すにはある程度中身の把握と理解が必要なので、
指示としては大きく間違いではないのだけれどね。
#たいてい問題を起こす人は別次元、「あるものをコピーして何が悪いの?」的な
#思想上の問題を抱えていたりする
Re: (スコア:0)
> #たいてい問題を起こす人は別次元、「あるものをコピーして何が悪いの?」的な
> #思想上の問題を抱えていたりする
それも問題がすり替わってるのでは。
別に、コピペ自体が悪ってわけじゃあないでしょう。
「問題無い場所から」コピペするのであれば別にいいだろうし、さらにコピペしたコードを「ちゃんと理解している」ことも重要では。
ちゃんと理解もせずにコピペするから問題になるのであって。
私もコードのコピペはしますよ、普通に。
もちろん、そのコードが何をしているのかをきちんと調べて理解した上で、ですけど。
逆に聞きたい (スコア:0)
アプリとか作ってると毎年毎年仕様が変わるし、
iOSに関して言えば、内部の実装は見えなかったりするんだけど、ここでコメントしてる有識者の皆さんはぐぐる以外でどうやって解決するんですか?
Re:逆に聞きたい (スコア:2)
>iOSに関して言えば、内部の実装は見えなかったりするんだけど、ここでコメントしてる有識者の皆さんはぐぐる以外でどうやって解決するんですか?
Bingに聞く。