はてなキーワード: ソースコードとは
「人材の流動化か囲い込みか(http://remote.seesaa.net/article/147006872.html)」で示される問題は、SIerの案件であれば1つや2つはよく起こっている。ここまで問題が積み重なっててひどいのはあまりない(...と思いたい)以下は実際にみてきた現場の惨状。
excel方眼紙はよく見かけます。修正にやたらと手間がかかるので苦痛です。継続的にメンテナンスする必要があるドキュメントには向いてません。あと、ソースコードを日本語訳したようなひどい設計書が多いです。そんなもんソースコードで十分だろって思います。
本番環境でコンパイルしたりとか、恐ろしい事をしている現場がありました。それでソースコードレポジトリとの同期が取れてなくてどのファイルが実際に稼働しているコードなのか分からなくなったりもしていました。
ユニットテストがないのはデフォルトです。テスト仕様書が残っていればまあいい方ですが、テスト項目に「正常に動くこと」としか書かれてない場合もあって信用できません。
5.GUIがひどすぎる
RDBMSをつかったシステムで、会社の休業日を管理するテーブルの編集画面にレコード番号が必要かどうかで議論が始まり一時間くらいぐだぐだと会議をしたりします。そんなもん年月日でユニークキーにしておけば十分。いちいちユーザに番号を振らせるという手間をとらせたいんだろうか。
自社で一貫して設計から実装まで担当しているSIerは別として、そうでないSIerには実際にモノを作っている人間は居ない。仕様の検討段階での資料作成から、アーキテクチャ設計、設計、テスト、運用までほとんど外注にたよりきっており、ざっくりなマネジメントをしているだけだったりする。
設計から外注に丸投げしているSIerでは、日本式のやりかたとか言う以前に、そもそもSIerの社内にシステム開発を行ったオリジナルメンバーが存在すること自体少ない。
すでにSIerでは内製することすら出来ない状態まで空洞化している。
元記事のコメントより
コストダウンの名の下に人減らしだけは進みましたが、そのことがどれくらい破壊的な影響をもたらしているかを、上の人が全く理解できていません。上の人ほど開発経験に乏しく、細部を理解できていないのです。
『鉄筋減らしてコストダウン』して住めないマンションを大量生産したマンション販売会社がありましたが、IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。
IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。
ってのは言い得て妙だ。
「SIerはモノを作るのが仕事ではありません、マネジメントするのが仕事です」キリッ!
ってよく言うけど、マネジメントに関しても、技術的な問題が起こっても解決するだけの力がないので、下請けに残業してくれという根性マネジメントしか出来てない。顧客から仕様変更の要求があった場合でも、どういう影響があるかも理解できてないので、全部請けてきて下請けに丸投げとか。
たちが悪いのは見当違いなルールを課して管理したつもりになっている事。
外注に頼り切っているSIerでは、アーキテクチャ設計、ドキュメント整備、ソースコード管理、テストの自働化、GUIデザインは社外の他人まかせになってしまっており、現状の開発方法でどのような問題があるのか気づくことができない。そういった現場から遠い場所にいる連中が現場をうまく回すためのルールを作れるとは思えない。
http://d.hatena.ne.jp/shi3z/20100224/1266992162
で、実際に海外で働くとどうなるか
コレを読んでいくつか思ったことを述べてみる。
簡単にまとめれば、だいたいはあってる。少しは情報が古い。
20代のうちにアメリカできちんと働くには理系四大卒が必須。中退だとビザすらもらえない。
その結果、いわゆる「サラリーマンのような仕事(寿司職人とか俳優とか特殊なものでない仕事)」に就こうと思ったらビザかグリーンカードが必須。
観光であればアメリカへはビザ不要でいける。観光ビザとか要らない。
それが日米関係。
じゃあ就労ビザは?っていうとなかなか降りない。9.11以降はとくにとれない。
「きちんと働く」の意味が難しいけど、普通はビザを取って働きながらグリーンカードを取る。
あ、ちなみにグリーンカードって永住権ね。昔は緑のカードをもらえたらしい。いまは緑じゃないけど慣習でそう呼ばれてる。
グリーンカードって出るまでに2年とかかかるので、在米で働きながら取るしか無い。
ただし就労ビザは最長でも6年(いちおう例外もあったはずだけど)。そういう意味で落ち着いて仕事するならグリーンカード、というのは正しい。就労ビザで2年、そこからグリーンカードの申請や抽選を経て、3年目~5年目の間にグリーンカード取得、ってイメージかなぁ?
ビザ周りは法律とか絡んでややこしいし、真面目に書けばそれだけで1エントリー書けちゃうし、昨今の海外情勢に応じて変わっちゃうので(日米関係悪化したらビザおりなくなっちゃうかも!)、このへんで。
単純労働者の受け入れ制限は昨今厳しいらしいね本当に。
これはどっちかというと発展途上国から流れてくる人をふさいでるのだと思うけど。
・ボスの気分を損ねたらその瞬間にクビ
アメリカの主要都市では失業者が町に溢れ、車を信号待ちしているだけで「花を買ってくれ」とか「金をくれ」とかいう物乞いや、「仕事が欲しい」というカードを掲げた浮浪者はもはや珍しいものではなくなっている。
解雇に関しては、人種や性別や宗教に基づく差別で無い限りほぼ合法。
「あいつが気に入らないから」は合法だけど「あいつがゲイだから」はダメってよくわかんねー。
そのため、ある程度は気に入られるようにしないといけない。
ボスのまわりがイエスマンだらけ、というのは、とくに古いアメリカ企業ではよくある話。
主要都市では失業者があふれ…という話だけど、どこの街のいつの時代だろう。
昔に比べれば圧倒的に少なくなった。ああ、でも日本じゃそういうの一人も見ないね…。
失業者が多い地区ってのは決まっているので、日本でいえばあいりん地区とか、山谷とかなのかな?そっちに近づかなければOK。
あと、日本に比べて住んでる人がきっちり分かれてるので、道路の反対側は移民地区で超治安悪いとかあるから注意かな。
西海岸だとそんなに極端じゃないけどねー。
わりと治安もいいし。
新大久保だけ治安悪いとか、神戸の中華街エリアとかみたいな・・・神戸は美しい街だけど、ぽっと中華街があるよねみたいな。
あと、本当単純労働者は速攻クビ切られるよ。
めちゃくちゃ安い賃金で働かされるし。トヨタの期間工?派遣労働者?とかがテレビでおこってたけど、月に30万近くもらえて何言ってるの…。
ロッキードやボーイングの工場で働かされてる人たちなんかは、時給500-600円(6-7ドル)とかだぜ。
高度技能職もそれはあるし、大きな企業だと変なコンサルタント会社と契約しちゃって、「労働者が多すぎますクビ切れば儲かりますよヒャッハー」みたいなアドバイスを受けて従業員半分レイオフ、とかあるけどね。
その変わり、雇うのは簡単に雇う。
それに最初に提示された給料はちゃんと貰える。
日本だと提示された給料が貰えないとか、転職して1年目は給与が少ないとかもあるんだっけ?
反面、業績上げないと昇給しない。あげても昇給しないことも多い(笑)
給料上げるための業績基準が明示されてることも多い。ので結構ずるいコトをして業績出す人が多い。
今は多分無いんだけど、ソースコードを書いた行数が生産性=業績、みたいな理屈で、ひたすら長いコードを書いたりとかね。
大雑把に言えば
「適当」
「やる気ねぇー」
「他人に甘いし、それ以上に自分に甘い」
ってところか。
賄賂のやりとりは当たり前。仕事が欲しければメリットをよこしな
アメリカに限らず、日本以外はどこでもそうだと思うんだけれど、従業員への感謝の気持ちをチップとしておまけをあげる文化がある。
なのでお世話になるのなら、現金を渡すのは比較的普通の感覚だったりする。
日本だと「賄賂はだめ!」ってなるけど、仕事の付き合いなので普通にお金を渡す。
親しい仲だとお花とかもうちょっと贈り物贈るけどね。
日本もお歳暮お中元とか、いい文化なのに贈り物っていうより義務化してるよね。
もうちょっと楽しめばいいと思うよ。
たとえばダンキンドーナツは「警察官が制服とパトカーで来店すれば、ドーナツとコーヒーを無料にします」って言ってるので、警察官がよく立ち寄る。
これも賄賂といえば賄賂なんだろうけど、これのおかげでいろんな地域に、防犯対策の追加コストなく、多少危険な地域でも出店できたりする。(治安悪いところは本当に悪いからねー)
当たり前なんだけど、40歳のベテラン社員と、20の若造がいて、同じ仕事をしてたら同じ給料がもらえる。
日本だと40歳の方に少し色を付けたりするけど、それは「年齢による差別」とかになるのかなアメリカ。
なんかウォルマート出店されて、地元の肉屋さんが潰れちゃって、ウォルマート内の肉屋さんで再雇用・・とかあるけど、いままでは土日休みで10時17時で働いてたのが、休みは平日に1日のみで8時から19時まで働いて、でも給料は半分以下、とかね。
ってかこの肉屋、もとが怠けすぎだろ…と思うけど、あいつら怠けられればとことん怠けるしね。
そんな給料落として暮らせるの!?って思うけど、暮らせるんだコレが。
日本に来た外国人が「日本は物価高いよ!」ってよく言う。そんなことないよーと思ってたけど、最近意味がわかってきた。
日本は、下が無い。
吉野家の牛丼、おいしいよね。290円だっけ?320円?そのへんじゃん。
5ドルの宅配ピザを頼むと、ピザデブになれる。そのぐらいの量がくる。
あとパンも安いよね。1ドルで6個いりみたいなパンが売ってる。
あと、コシヒカリ買ったことあるけど5kgでいくらだったかな…
安い外食はまずい。でもまぁ一応腹には入るし量が多い。
安いし、まずい。安くてボロいアパート。そう言うのが日本には無いから生活できないんだよね。給料少ないと。
日本でも大阪と東京じゃ商習慣違うんでしょ?言葉だけじゃなくてさ。
西海岸と東海岸は、沖縄と北方領土くらい離れてるんだし(もっとかな?)、南北方向だってひどい。
ニューヨークでドカ雪が降ったって、マイアミじゃ海水浴してるっていうの。って言うか繁盛しすぎて人でごった返してるっていうの(行ったことないけど)。
死刑の有無が州によって違うのは有名だけど、東海岸じゃ黒人が多いし、西海岸じゃ黒人あんまり見ないでラテン系と中国人が多い。シリコンバレーは、東京で中国人を見る確率くらい黒人見ないかなぁ?
日本人はしゃべらないんだなぁと思う。
自己主張足りないよ。
日本の駅とか来ると、「え、お通夜!?」って思うくらいしゃべってる人少ない。
でもご飯屋さんで静かなのはいいと思う。
実力主義だし、適当だし、だだっ広いのはいいと思うけど、安いメシはまずいし。
自然が多いのは最高にいいけど、都市部に多いわけじゃないし(でも車でちょっとでれば自然満喫。都内からだとどれだけ行けば自然にあえるの?とか思う。昭和記念公園は素敵だよね)。
歴史を見るとほんとインディアンと黒人悲惨だし、それがつい40年前のことだぜ?
ゲイの開放は30年前くらいだっけ。だからまだまだ実際そんなにいいもんじゃない。
ただ適当なのはよい面もあるし、西海岸はそれでも真面目な奴ら多いし、東海岸はどうなんだろうなー。わかんねぇなー。
日本より「いい」か「悪いか」はともかく、生きるだけなら楽だと思うよ。
日本は生きるのが大変だから、つらいから、つかれて自殺するんだと思う。適当な仕事をして生きていっても変な目であんまり見られない、というかそういう人達の集団がちゃんとある。
とりあえず元記事のひとは、アメリカのどこに、いつ行ったのか書いてください。
それが言いたかった。
世の中には、どうしても「賢い人」と「あまり賢くない人達」人たちがいて、「あまり賢くない人達」は「賢い人」の足を引っ張るモノです。
「あまり賢くない人達」が自らの愚かさゆえ、人生を無為に過ごすのはある意味しかたがないことだと思いますが、問題なのはこれから賢くあろうとする未来ある若者達が、このような「あまり賢くない人達」に惑わされ、不幸に見舞われることであります。
日向さんはこのような未来ある若者のために、わざわざ時間を割いて素晴らしいエッセイを書きおこしてくれました。
http://www5.ocn.ne.jp/~seablue/res/ckp.html
けれども日向さんの文章は、あまりのレベル差故か、極力平易に書こうとはしているものの、それでも文章が高度すぎて、対象である「あまり賢くない人達」には今一歩言わんとしていることが伝わらないのでは、と感じました。
そこで私は、日向さんの文章の意味を極力損ねないまま、このエッセイを対象である「あまり賢くない人達」向けの言葉に翻訳することを試みました。
もちろん、訳者が至らないために、間違いや勘違い、あるいは校正の際の見落としなども あるかと思います。そのようなことがないように努力はいたしますが、 お気づきの点があれば冷静にご指摘いただければ幸いです。
この書籍については、さまざまなご意見がさまざまなところに書き込まれているようです。
まったく話題にもならないたくさんの本があり、また批評もされない多数の著者たちがいるなかで、 拙著または著者に関心を持っていただいたことにまずお礼を申し上げます。
いやぁ、人気者はつらいね。いつだって妬まれる。
本書については、書籍のはじめに「本書では、初歩のプログラミングの学習を終えて、 プログラマが実践的なプログラミングに臨む時に知っておかなければならない重要な事項をわかりやすく解説します。」 と明示してあるように、プログラミングの初心者を対象にしています。
具体的には、はじめてのプログラミング言語を勉強したか、これから何か言語を学ぼうとしている人、 ふたつめの言語を選ぼうとしているひと、あるいは、 「どうしてデータ型などというものがあるのだろう?」とか、「オブジェクトって、いったい何?」という 素朴な疑問を抱いている人を対象とした書籍です。
また、筆者の「常識」を読者に押しつけようとするものではなく、プログラミングの常識とは何かという ことについて考えるヒントにする本です(このことは書籍の中でも重ねて説明しています)。
この本は エキスパートの俺様が、初心者のために書いた本だ。初心者向けって所が重要な。ついでに世の中常識のないやつが多いから、プログラミングだけじゃなく常識まで教えてやる、そういう本でもあるな。そうそう、断っておくが俺がこの本で言っていることは「世の中の常識」な。だから、異論挟むヤツはそのまま「常識」のないやつってことになる。ここも重要だ。
プログラミングに限らず、対象によって説明の仕方、取り上げる範囲、そして「何が正しいか」は異なります。 身近な学校教育という場を考えてみても、小学生には「人はみな平等です」と教えます。 しかし、それは理想であって、実際に差別は存在し、したがって、教えている対象を考慮しなければ、 小学校で教えていることは嘘ばかりである、ということになります。 実際、大学生ならば、「実際には人は平等ではない」という前提にたって、社会問題などを考える必要があることは 誰にも異論のないことでしょう。
同様に、プログラミングでも、初歩のプログラミングの学習を終えた人と、 より高度なプログラミングをマスターした人を対象にするときでは、解説の範囲も表現もすべて異なります。
ところで、みんな平等というけどさ、愚民がいるのが現実なのよ。愚民がいるなら愚民向けに方便をつかわなくちゃいけない。大人ならわかるな。
本書について、文章の真意を理解しないで書き込みをされていることも多々あるようです。 たとえば、「プログラミング言語はどれがよいか?」というトピックの主眼は、本文で 「多人数を運ぶならバス、荷物をたくさん運ぶならトラック、少人数でドライブするなら小型セダンと、 目的に応じて最も良い自動車の種類が違う」と例をあげて説明していますが、プログラミング言語においても 用途やプログラマの経験あるいは環境等々によって適する言語は異なり、 特定の具体的な条件を示したうえでなければ「プログラミング言語はどれがよいか?」という質問自体がナンセンスである、 というのがこのトピックの主眼です。
したがって、それに関連する説明は、それぞれのプログラミング言語がおおよそどのように異なるかわかればよい という立場で書いており、具体的な解説についてはたとえば環境(近くにすぐに質問できる先輩がいる、 特定の言語の学習環境が際立って整っている、特定の種類の言語をすぐに使う必要がある、など)に よって異なるという前提で書かれています。
また、このトピックは、これから最初のプログラミング言語を選ぼうとしているか、 ふたつ目のプログラミング言語を選ぼうとしているような初心者で、 車にバスから軽自動車までいろいろな種類があるように、プログラミング言語にもまた さまざまな用途の言語があるということを認識していない読者を想定して解説しているものです。 すでに複数のプログラミング言語をマスターしている読者を対象としたときには、 自ずと表現も記述するレベルや範囲も変わってきます。
で、だ。俺の書いた本にケチつけるガキ共がいるんだけどさ、ヤツラ何? 技術的なことを書くと低能なヤツラじゃ理解できないから、車の話に喩えてやる。(略)つまりヤツラは、車にもいろいろ車種ってものがあることすら、わかんないバカってことだ。
そのほか、本書について間違いであるかのように指摘されているところの多くも、本書の意図を理解できれば、 指摘したことが逆に誤っていることに気づくでしょう。 (もちろん、筆者が至らないために、間違いや勘違い、あるいは校正の際の見落としなども あるかと思います。そのようなことがないように努力はいたしますが、 お気づきの点があれば冷静にご指摘いただければ幸いです。)
また、本書の批判の多くは、本書が初心者プログラマ向けに書かれていることをまったく無視した、 きわめて無責任な意見が多く、そのような書き込みが何の批判もなく行われていることは残念でなりません。 良識のある人たちは、想定読者レベルを無視した無責任な意見は無価値であると考え 頭から相手にしていないのでしょうが、初心者はそのような判断ができないので惑わされる可能性があるからです。
ようするに、愚民向けの本を読んでも「方便」を「方便」だって読み取れないバカ?ww 指摘(笑)を通して 自分の馬鹿さ加減を世界に発信しているってことに気づかないって超ウケるじゃん? この内容は間違ってます(キリッ みたいな?wwww ま、少しでも知性があれば、恥ずかしくてで出来ねえことだよな。
わかっているヤツは わざわざ DQN の相手をしたりせず鼻で笑うだけだ。しかしお前らひよっこは、こういう低レベルな扇動に惑わされるかもしれないな。気をつけろよ。
書籍の批評ということについて、ひとつ例を示して筆者の考えを明らかにしましょう。
B.W.カーニハン/D.M.リッチーが書いた「プログラミング言語C」という本があります。現在は第2版となり訂正版として出されていますが、 日本語翻訳初版から現在まで、プログラミング言語の本として名著のひとつとみなされてきました。
実際、私もC言語についてまだほとんど何も知らない日本語訳初版が出たときにこの本を一読して、 「Hello, world」の出力のしかたから始まり、徐々に高度な内容に導いてゆく書き方に自然となじんで、 まるで読み物を読むように一気に読了し、同時に、C言語とはどういうもので、何ができて、何ができないのかを理解しました。 日本語訳初版は間違いも多く、記述の仕方もプログラミング言語の書籍としては最良とはいえないものでしたが、 C言語についてまだほとんど何も知らない私にとって、まさに「プログラミング言語C」はとても良い本でした。 また、プログラミング言語の仕様という概念が今ほど確立していなかった当時、C言語のコンパイラを実装する(開発する) ようなレベルの人にも、「プログラミング言語C」はバイブルといってよいほど重要な本でした。
ところで、今、誰かが「プログラミング言語C」と同じようなスタイルでC++かJavaの本を きわめて丁寧に間違いもほとんどなく書きあげて私に献本してくれて私個人の率直な意見を求められたら、 それを読んできっと「冗長で退屈である」と答えるでしょう。 なぜなら、私はC++やJavaについて講義(授業や講演)をする程度にすでに知っているから、 「プログラミング言語C」のような書き方の本を改めて最初から読むのは苦痛にさえなりかねないからです。
しかし、その本について公開するレビューを書いてくれと頼まれたら、 「これからC++(またはJava)を学習する人にとってはとても良い本である」と推奨するでしょう。 なぜなら、まだ何も知らない人が、まるで読み物を読むように一気に読んでその言語を理解できれば、 それはとても素晴らしいことだからです。
読む人のレベル、その本の主眼とすることとその表現のしかた、本が出版されたときの状況などによって本の価値というものは異なり、 それが本というものです。
ヤツラにも解るように具体例を示すけれどさ、ストラウストラップ?ってヤツの 「プログラミング言語 C++」って本、冗長で退屈でダセェよな。内容のレベル低すぎるしさ。けど、どうしてもオレにレビューしてくれっていわれたら、まぁ「俺には必要ないけど良い本だぜ」って紹介してやるよ。だってバカどもにはちょうど良いじゃん。バカ向けの本はバカ向けってことを考慮して評価する。それが大人ってもんだ。
インターネットが普及して誰でも自由に発言できるようになったのは良いことですが 一部のお暇をもてあましている方々が、拙著に限らず、 さまざまな著作や著者に対して誹謗中傷に近い書き込みを匿名で行っているのが見受けられます。 このような状態が続けば、 誤解を受けることを承知の上で初心者向けにあえてやさしく解説するような著者は書く気をなくし、 どのようにでも解釈できる(あるいはすでに理解している人しか理解できないような)難解な 文章を書く一部のいわゆる権威だけが著者として残る結果となり、 出版文化や書店を含む出版界はますます疲弊し、いずれ現在のように多種多様な書籍が出版できなくります。
インターネットが出来てから、そんな大人の対応も出来ないウゼえガキが増えたよな。マジ ウゼェ。ったく、「間違っている」「正しくない」とか、ウゼェウゼェウゼェ!偉大なるオレ様のやる気が無くなったらどうしてくれるのか。これでオレが本を書かなくなったら人類の損失になるって事実、わかんねぇのかコイツらは。ほんっとカスだな。
どうか、初心者の方々は無責任な批判や的外れなレビューなどに惑わされずに、 まずは本を読んでみて(買わずに図書館で借りてでもかまいません)、自分自身で判断してくださるようお願いいたします。
まぁ、カスのことはほっといて、お前らは黙って俺の本を買っておけ(貧乏だったら図書館でもいいぜ。自治体に買わせろ)。普通に考えれば有象無象の匿名ブロガーより、本まで出してるエリートのオレの本の方が信頼できるってのは、ひよっこのお前らにだってわかるだろ。つべこべ言わず買えば幸せになれるってモンさ。
さて、無責任な批判や的外れなレビューを書き続けている人には、次のように申し上げておきます。
批判する人間にもし本当に能力があるのであれば、匿名で無責任な批判をする前に、 C++、Java、アセンブリ言語、JavaScriptのようなスクリプト言語、XMLやXAMLのような記述言語を 含めて、5種類上の言語で実際に動作するプログラムを作成してそのソースコードを広く一般に公開し、 他人の批判を受けてみてから、 自分で完璧な本を書いて出版社に持ち込んで出版してみてください。
そうすれば、著作、あるいは出版というものがどういうものか、少しはわかるでしょう。
あー、それと、バカどもに言っておく。オレ様は C++、Java、アセンブリ言語、JavaScriptのようなスクリプト言語、XML・XAML のよな記述言語 を含めた5種類以上の言語に精通した超絶スーパーエンジニアだ。ハッカーと言ってもいい。しかもコードを公開して完璧な本まで書いている、マジ パねぇ男だ。 マチュアーしてるんだよ。おめぇらなんて足元におよばねぇ。身の程を知れ。(関数型言語はマイナでどうでもいいから勉強しなくてもいいぜ。あ、でもオレの Scala の本は買えよな。)
もし、自らは何も創造しないで、単に無責任な批判や的外れなレビューを続けるなら、 そういう人は、いずれ何年かのちに(そのときまでボケずに、人間社会というものを学んで人間として少しは成長したとしたら) 自分がしてきたことが無意味であり、そのようなことだけに時間を費やした自分自身の人生そのものが 無価値であったことに必ず気づくはずです。しかし、その時になって謝罪していただく必要はまったくありません。
まー、オレ様は心が広いからバカがバカであることは責めないでやる。人間生まれついてのものはどうしようもねぇ。俺はどうしようもないことは責めない主義だ。でも、お前らが無価値なゴミクズであるってことだけは理解しとけよな。ゴミはゴミなりの人生がまってるさ。身の程を知って生きればオレは哀れみくらいはかけてやるぜ?
なお、著者はあらゆる書き込みに対していちいち反論することはできません。 また、一部の低俗な掲示板のようなものを読んだり書き込んだりするのは 時間の無駄なので、私に限らずほとんどの著者は、そのようなものに書き込むことはもちろん、 目を通すこともありませんのであしからず。
最後に言っておく。お前ら如きがオレ様に意見するなんて間違っている。なぜならオレ様はいつだって正しいからだ。そして、間違った意見などに反論を書くなんて無駄な時間はオレ様にはない。お前らはせいぜい便所で落書きに勤しむんだな。あばよ。
長い文章が読めない方のために、要点のまとめを作りました。
日向さんは、本当に素晴らしい技術力をお持ちで、その著書リストをご覧になれば皆様もその高い技術力をご納得いただけるかと思います。
http://www.amazon.co.jp/exec/obidos/search-handle-url?_encoding=UTF8&search-type=ss&index=books-jp&field-author=%E6%97%A5%E5%90%91%20%E4%BF%8A%E4%BA%8C
これだけの内容の濃い本を、こんなにも沢山発行していらっしゃるので、日向さんが新たに本を書い時、気がつけば参考文献リソース 一覧が 過去の自著ばかりになった――というエピソードだけでも、日向さんの凄さの一端が伝わるかと思います。
ですので皆様も
のような「匿名の愚か者」の世迷い言に惑わされないように、ご注意願います。解っている人から見れば、日向さんの著書は総じて評価が高い という事実は、「記名の賢者」であるdankogai氏のレビュー
をご覧になっていただければ、一目瞭然かと思います。(dankogai氏は同レビュー中で日向さんを「真に初心者向けに本を書ける希有の存在」と評しています)
なお、訳者はあらゆる書き込みに対していちいち反論することはできません。 また、一部の低俗な掲示板のような増田を読んだり書き込んだりするのは 時間の無駄なので、私に限らずほとんどの著者は、そのようなものに書き込むことはもちろん、 目を通すこともありませんのであしからず。
Rコンソールに一行ずつコマンドを入力してもいいけど、実際に使うにはテキストファイルにコマンドを書いて(ソースコード)一気に実行させる方が楽。
source('hogehoge.R')
hogehoge.Rというのがソースコードを書いたファイル(ソースファイル)の名前。
CRANという、CPANのパクリがある。膨大な数のライブラリがあるので、好きなものをインストールするには、
install.packages('hoge',dependencies=TRUE)
とするのが楽。
> あ<-1 > あ [1] 1
a<-1 b=2 1->a
どれでもいい。但し推奨されてるのは一番上。Rの人は「束縛」という言葉を使いたがる傾向があるけど、どっちでもいいと思う。
余談だけど、関数の引数の中で代入できる、しかもその値をそのあとの引数で使える。これ実は便利。
> sum(a<-1,a) [1] 2
> a [1] 1 > str(a) num 1 > summary(a) Min. 1st Qu. Median Mean 3rd Qu. Max. 1 1 1 1 1 1
最後のsummaryはRっぽい。strっていうのはstringではなくstructの略(だと思ってる)。Rの変数はいくらでも複雑な構造になり得るけど、そのときにぱっと見がわかるように構造を出力してくれる。
Rの基本はベクトル。
ベクトルの作り方はいくらでもあるけど、例示するのが早いでしょう。
> x<-1:3 > y<-c(TRUE, FALSE, TRUE) > z<-c("a","b","c") > x [1] 1 2 3 > y [1] TRUE FALSE TRUE > z [1] "a" "b" "c"
他にもいっぱいあるし、関数の返値がベクトルってこともよくある。
> runif(3) [1] 0.2200965 0.6391403 0.1089252
一様乱数を三個作った。
> x<-letters[1:5] > x [1] "a" "b" "c" "d" "e" > x[2] [1] "b" > x[4:5] [1] "d" "e" > x[c(1,3,5)] [1] "a" "c" "e"
こんな感じで、[]の中に添え字でアクセス。1-indexなので注意。2,3番目の例では添え字にもベクトルを使って、複数の要素に一気にアクセスしてる。
> x[3]<-"z" > x [1] "a" "b" "z" "d" "e"
でOK。
要望があれば続くかも。
GUIのプログラミングは初めての上、XCodeのようなIDEを使うのは初めてなのでなにかなんだかさっぱりわからなかった。いろいろな入門書やサイトを見て、なんとなくわかってきた気がする。ソースコードとInterfaceBuilder上の操作の関係がわからないのではないだろうか。なぜIBActionなどをInterfaceBuilder上でわざわざ接続しなければならないのかさっぱりわからないし、ソースコードのレベルでどのような操作になるのかもわからない。プログラムの根本的な構造がわかっていないというべきか。まだ雲をつかむような感覚だが、問題点ははっきりしてきた気がする。
gcc-4.5 から link time optimization (lto) と呼ばれる最適化が可能になった。
従来の分割コンパイルでは、コンパイル単位(ファイル)での最適化しかできなかった。例えば、別ファイルの関数をインライン展開することはできないし、引数に渡されたポインタの escape analysis も諦めざるを得なかった。
lto はコンパイルする時に、中間表現(GIMPLEのバイトコード表現)をオブジェクトファイルに残しておき、リンクするときに、すべての中間表現を使って最適化しなおす。要は、ソースコードを全部とっておいて、最後に全部をコンパイルしなおすのと、同じようなものだ。
最大の欠点は、最後にコンパイルしなおすところだ。
このコンパイルは一回のコンパイルであり、単一プロセスで実装されているのでマルチCPUを生かせない。(いっぽう、分割コンパイルなら依存関係が緩いので並列化しやすい。)また、プログラム全体は巨大であり、最適化するのに時間がかかる。
使いかたは簡単だ。-fltoを付ければいい。
gcc-4.5 -c -O2 -flto foo.c
いや、フリーウェアの話とは全く別。
例に挙がってる、「他人のペンを盗んで描く」ってことは、「他人のソースコードを盗む」じゃなくて、盗んだパソコンでプラグラムを書くってことだよ?
元増田の話がプログラムの話かどうかは別にして、プログラムで言うなら、店頭に並んでるパソコンを万引きしてきて、隣の家のコンセントから電気盗んできて、OSを違法コピーして、その上で制作物を作ってるとか、そういう話だろ。
盗んだペンで漫画を描くってのは、割れたphotoshopで漫画を描いてるようなもん。
オープンな物を使ってオープンな物を作るのではなく、自分は人から盗んだ物を使って物をつくっておいて、自分の作った物は盗むなってのは、理屈に合わない。
RMSの話は、自分が作った物は誰が盗んでも文句言わないから、自分も盗むよって話。今回の例とは全然違う。
あらゆる物はオープンであるべきという思想を持っているのかも知れないが、例えそうだったなら自社の物もオープンにしなければならない。
更にいうなら、そういう思想を持っていたとしても、企業としては、社会的責任の面から、オープンでないものを勝手に使うわけにはいかない。
「ウチの制作物は全部オープンだ! だからウチもライセンスとか無視して割れまくるぜ!」ってのを企業がやっちゃうのは、個人が思想を体現するために実行して、逮捕されるのとは話が違うのよ。
2006年1月 Googleが中国に進出 当局の検閲を受け入れる
2009年12月 Aurora事件 シリコンバレーの企業に大規模ハッキング
ハッキングの手口
メールでURLリンクを送りつけ→従業員が間違って悪意のあるサイトを訪問→
IE6の脆弱性(JavaScriptのバッファオーバーフロー)を突いた暗号化された
McAfeeの説明
Adobe Reader の脆弱性を突いたpdfを添付した電子メールを従業員に送りつける→
『Trojan.Hydraq』というバックドア型トロイの木馬がインストールされる→
社内ネットワークに侵入
iDefenseの説明
34社がターゲットになった
Google, Adobe, Yahoo, Symantec, Juniper Networks, ノースロップ・グルマン、ダウ・ケミカルなど
Googleが侵入に気付く 台湾のサーバーを覗く(逆ハック)
1/2 Adobeが侵入に気付く
1/4 攻撃終了 攻撃者のサーバーが閉じられる
1月 Google社内で議論 セルゲイ・ブリンは中国撤退論、ラリー・ペイジとエリック・シュミットは続行論
1月第2週 ヒラリーがGoogle, MS, Twitter, シスコ幹部と会談
1/12 Googleがブログで中国撤退検討を表明、また検閲廃止を表明
Adobeが侵入されたことを発表
1/17 現在の情勢
予定
正月早々飛び出したアメーバブログで執筆している有名人のパスワード等が記載されたエクセル流出なんだけど、ガジェット通信の記事だけだとわかりにくい点が多いので興味本位でエクセルデータをダウソしてみたオレがエントリを増田に書くよ
ダイアリで書いても良かったんだけど「流出したエクセルを読むなんて」とか糞つまらねー非難を浴びせてくる「正義漢」がいるに違いないんで増田に書く。別にpvなんか欲しくねーしwww
流出したエクセルは、手元にあるなら確認すればわかる事なのだけれど、2007年からデータが存在する。
中にはメールアドレスとかが書かれているページもあるんだが、メールのドメイン名から判断して個人のものは少なく恐らくは事務所のものなんじゃないかな。<メアドとかが流出したのは事実だよ。パスワードは変更すれば良いけどメアドはそうはいかないだろうからいろいろ大変だろうね
データの仕様としては若干フォーマットを変更しながらも恐らく担当者と思える人の名前、アカウント名、パスワードが書かれ、その右側には進捗状況を示すと思われる幾つかの項目が列記されていた。
エクセルブックを先頭まで戻って最初から見ていくと、芸能事務所の連絡先のようなものが書かれている項目がある事に気づくだろう。「とりにいくぞ」という文言も見られる。このエクセルを作成した人は営業職にある人ではないだろうか。
さて、今回の一件を伝えるガジェット通信の記事なのだが
ならねーよwww
正確には「お年玉」というタイトルのエントリで、お年玉袋の画像が貼られ、そこからどっとうpろだという画像・ファイル共有サイトに置かれたエクセルブックへのリンクが埋め込まれている、というのが正しいwww
「複数の芸能人のブログ画像がエクセルデータに」どーやってなるんだよwww芸能人のブログにいきなりエクセルブックが貼られたりしてたのか??
お年玉画像の担当者が単にURLを間違えて記入してしまい、本来のURLではなく、仕事で使用していたアップローダーのURLを指定しまったのではないかという予想
記事書く前に「お年玉」画像が貼られたブログの魚拓とかからソースコードを読むくらいの手間は掛けろよ。
お前らは2ちゃんねるの書き込みをコピペするだけの簡単なお仕事してんのかwww検証しなくて良いとか、ほんと気楽でいいなwww
前述したようにハイパーリンクの先は「どっとうpろだ」という、画像・ファイル共有サイトだ。毎日のように沢山の画像やファイルが置かれるサイトとはいえ、片っ端から置かれた情報を見る人だっている。そんな場所にパスワードのような情報が含まれているエクセルブックを置くか?
個人的には、作成者とされるNさんのメールアドレスと共にフッタのように書かれているmaildealer.jpで終わるメールアドレスが気になっている。
http://www.maildealer.jp/はメール共有・管理のグループウェアなのだそうだが、てっきりサイバーエージェントの人達はこの手の情報の受け渡しはサイボウズでやってるんだと思ったんだけど、プライベートで使っていたのだろうか?
もっともmaildealer.jpで終わるメールアドレスの記載がhttp://www.maildealer.jp/を使用している根拠にも、流出した何かを探る手掛かりにもなるわけではない。恐らくはフッタのように記載されたのだと思われるのだが。
勘でしかないのだが、管理をしていると思われる人数や、アメブロで書いている著名人全員が含まれているわけではないので、どっとうpろだに掲載して「お年玉」画像からのハイパーリンクを貼った人がエクセルブックに細工をしていない限りアメブロ有名人に関わる班もしくはデータが複数存在し、そのうちの一つのデータが流出したのではないかと思う。
とはいえ、今回流出したエクセルブックの中に、今回「お年玉」画像が貼られたブログのアカウント、パスワードがないような気がする((ざっと見ただけで捨てたのでハッキリとした事はいえないが))のも気がかりではある。どっとうpろだに掲出されたデータ以外のものも流出している可能性も含め、関係者からの事情聴取をする必要があるように思う。
流出した時期と理由も興味がある。2ちゃんねるでは作成者とされる人の名前が散々書かれているのだけれども、作成者=流出した本人だと果たして言い切れるのだろうか。
データが2009年8月で途切れている事も気になる。前述したようにエクセルブックは2007年からのものだ。2009年9月以降のデータが無いというのは、流出したデータがバックアップした儘データの存在を忘れたか作成者もしくはこのデータを所有した誰かが当該部署から離れていて、古いデータを削除しない儘データの入ったノートPCを正月休みに持ち帰って「見られた」とかusbメモリに保管しているのを忘れた儘、それを紛失していて紛失している事にすら気づいていないとかがぱっと思いつく線ではある。それと、データが一ヶ月分欠落しているのもちょっと気になった。あそこに何が書かれていたんだろう。そして消したのは誰なのだろう。
いずれにせよ、ガジェット通信の記事は「流れ」と書きながら、2ちゃんねるの書き込み等を独自に検証する事なく書くだけの簡単なお仕事をしているに過ぎない。記事に書くより先に関係各所に連絡した事は良い事だとは思うが。
個人的なブログでもお知らせしたのですが、NanaTreeユーザーの皆様へ直接情報が届くかどうか不安がありましたので、こちらの日記にも書かせていただきました。
今回お伝えしたい主な内容は2つありまして、1つ目は、NanaTreeの最新バージョンとなるVer1.05の公開についてです。
旧バージョンのNanaTreeをお使いの方は、最新バージョンをダウンロードして、引き続きご利用いただければと思います。
2つ目は、NanaTreeのソースコード公開のお知らせです。
Ver1.05をもってNanaTreeの更新を終了しますので、どなたか修正したい方がいたら修正できるように、ソースプログラムを公開します。
NanaTreeがどのようなソフトウェアかについては、下記のサイトなどにレビュー記事がありますので、参考にして下さい。
http://www.vector.co.jp/magazine/softnews/051221/n0512211.html
■窓の杜-【NEWSアウトラインツリーをフレームページとしてHTML出力できる「NanaTree」
http://www.forest.impress.co.jp/article/2006/05/25/nanatree.html
今回の最新バージョンとソースコードは、下記のサイトからダウンロードできます。
■君色少年: NanaTree Ver1.05の公開とオープンソース化のお知らせ
http://yourcolor.seesaa.net/article/134778238.html
以上、今後ともNanaTreeをよろしくお願い致します。
IDとパスワードを教えなくても いろんなサービスに自分の情報の一部を見せたり書き込みさせたり出来る仕組みの事。
違う。
Twitter使ってて最悪のパターンって、パスワード変えられて完全にアカウントを乗っ取られ、友人知人関係が壊滅。さらにメアドも抜かれて同じパスワード使ってそうな所も漁られて無茶苦茶されることじゃないか?
パスワードを教えるとそんな事が起きるかも知れない。そこでTwitterは、パスワードを教えなくても「書き込み権」や「読み込み権」を与えられる「OAuth」ってのを用意してる。
例えばブログを更新したら自動的にTwitterに「ブログ更新したよ! htt...」って書いてくれるサービスなどがある。他にも写真や動画を上げたらとかブクマしたらとか。 当然全て「書き込み権」がないとサービス提供できない。
逆に、iPhoneなどでReplyやRTをもらったら通知してくれるアプリもある。 こちらも、この手の情報は基本的に「読み込み権」がないと取得できない。
で、こういうサービスを使う度にパスワードをばら撒くのはヤバすぎだろjk、ってのが Twitter が言ってる事。
(なお、どんなサービスがあるかは纏めてくれてるところ参照で。結構色々あって見てるとwktk出来る。)
確かにそのとおり。でも画面をちゃんと見てないあなたも悪い。
今回問題になった「Q&Aなう」というサイトの場合このような画面になったはず。太字の所だけ抜き出すと
後はわかるな?
Twitter側も、この画面をいつまでたっても翻訳してないし、問題がある。前はもっとわかりにくかったので多少改善はしてるけど。
でも、ある程度日本語化されてるとは言っても、やっぱり海外のサービスを使ってるわけで、「拒否 or 許可」とかの場合は少しぐらいは注意した方がいい。
周りにいるだろ? 日本語ですら「OK or キャンセル」とか「はい or いいえ」を読まずに押してパニくってる奴が。あんな風にならないようにだけ気をつければいい。
使いたいサービスなら許可すればいい。その代わりそのサービスにスパムを撒かれたりする可能性はどうしても残る。
ポイントは
今回なら
私も FriendFeed や Boxcar なんかは、信用した上で許可してる。彼らにスパム撒かれたらそれはもう仕方ないと割り切って。正直なところBoxcarはなんで読み書きなのか意味が分からんのでかなり躊躇ったけど。
https://twitter.com/account/connections
ここに行けばあなたがこれまで許可したサービスの一覧が出る。よく分からん物とかがあればここから「許可を取り消す」とすればいい。
こういう風に後から個別に許可を取り消せるのも OAuth のいいところ。全部にパスワードを教えてる場合だと、まずパスワード変更して全サービスお断りにしたあと一つずつ再設定していかないといけない。
なお、OAuth は Web とかのソースコードを利用者に見られないサービスで主に使われるので、DLするタイプのアプリケーションとかではまだまだパスワード認証が主流。最近少しずつ変わってきてるけど。
http://okwave.jp/qa5419623.html?ans_count_asc=20
職場でのマクロを使うことについて討論されていたので、プログラマの視点で語ってみようと思う、
そもそもマクロとは、物事を自動化してヒューマンエラーを無くし、作業を素早く楽に処理出来るようにしてくれる便利なツールである、日頃楽をしたいと思ってるプログラマならマクロを使うことは大賛成だ、ここで上司が技術インフラが整っていない所でスキルを必要とするような事をされては困る、みたいな意見が出ていたが、この点でもプログラマは問題ない、他の人が使ってるマクロを、便利だね、って言ってソースを貰っても、修正したけりゃ自分で修正する、ソースが貰えなくてアイデアだけ教えて貰った場合でもVBAなんて触った事がないC++プログラマが、VBAの仕様を調べ、ソースを書き、マクロを完成させ、実行時にしかデバッグ出来ない事に愚痴をこぼし、付属のIDEの使い勝手に苛立ちを覚え、VB6.0ベースの言語仕様に辟易し、VBAなんてクソったれだ!!、という感想を持つまでにそう期間は必要無い、
ただこれは、最初からプログラムを作るという仕事をしている私たちのベクトルへ、IT化の名の下に紙と鉛筆で作業していた人達が歩み寄る形になった為に得た偶然の優位性だ、
上司の年齢は知らない、上司の立場からすれば紙と鉛筆で綺麗な字を正確に速く書くのが実力だと言われていた世代なのかもしれない、そう考えると仕事と直結しないマクロという間接的な技術のツールを作り効率化を図るというのに対しある種のジェネレーションギャップが生じたのかもしれない、上司はそのジェネレーションギャップに対応出来なかった固い頭の人なのか、はたまた技術インフラを考えての達観した人なのか、
IT化がどんどん進む昨今、私が上司のようにまったく違うベクトルに遭遇するという事はないかもしれない、しかしソースコードを書いてアプリケーションを作るという手法から先の手法になった時、私はこの種のジェネレーションギャップを乗り越える事が出来るだろうか。
使っていたけど、ソースコードが許せなかった
システム設計という仕事は、いつからクライアント・プログラマー間で行われる伝言ゲームの伝言係になったのか。
何か俺必要ないよなー、お前らで勝手にやってくれよって気持ちになる。
今のこの案件、どうしてやる気を失ってしまったんだろう、やっぱり画面設計とシステム設計が切り離されて、裏側の動作無視して画面やデザインばっかりが進むようになったからかな。
それで俺が「なんだよこのアイコン、そんな機能聞いてないよちゃんと説明しろよ」と何度も言うことになり、じゃあお前らがプログラマーに指示出しすりゃあいいじゃん、って思うようになってしまった。
それでも「お前が望んだプログラマーだろ」って請負という名目の派遣(笑)プログラマー押し付けられて、俺はろくに使ってもいないのに「○○さん明日半日借りていいですか?」とか俺に断られてもなぁー。
その人の書いたソースコードも結局俺が直しちゃうし、なんつーんだろ、俺のやる気のなさがすべて原因なんだけれど、やっぱりやる気を削がれたってのは俺以外も悪いと思うのよ。
そもそも、案件のキックオフの時点で「システム設計は△△さん、画面設計は××さんで」とかいう話が出た時点で俺のやる気はゼロになっていたのかも。あれ、それ両方とも俺じゃなくて、そもそもシステム設計なんてできない人と社内でもそんなに評価の高くない××さんでいいの?え?それ両方とも俺がやるから俺がこの案件に必要だ、会社に残ってくれ!って話なんじゃなかったっけ。それが、プログラマーって(笑)
結局細かな動作仕様について「これどうしましょう、あれどうしましょう」って話が俺のところに飛んでくるだけで、他はなんか俺の知らないところで決まってばっかり。
「やる気がないならやめちまえ」
★自分のブックマークしたページの本文中にある文字列で検索しても引っかからないことが多い。
マイブックマーク検索機能を謳っていながらこれはありえないだろう。騙された!という感じ。
.
★iframeや他frameやテキストエリア内の文字列は検索対象とならないっぽい。
インデックスされていないようだ。ソースコードを検索したい時に不便である。これも納得いかん。
.
★連番になっている他ページが検索対象とならない。
例えば、ITmediaなど4ページほどに記事が分かれているサイトの場合、不便だと言える。
まあ、ここまではてブ側がやる必要ないだろうが、実際に使っていると、お得感3割引きという感じである。
掃除してたら当時の講義資料がでてきたので、セキュキャン2007の話でもちょろっと書いてみる。
申し込んだきっかけはid:ripjyrのエントリを見たことだった気がする。おもしろそうだし国が全額出してくれるみたいだし申し込んでみるかーみたいな感じ。
その頃は今みたいにいわゆる「凄い人」だらけ(聞いた話)と言うわけでもなく、関心がある子が全国から集まったような感じだった。中にはこいつすげぇっていう人もいたけれど。
どのコースを受けたとか何があったと書くと、特定されそう&NDA違反になりそう(書いてみたかった)なのであんまり書けないのだけれど、自分が受けたコースは初心者でもついて行けるように配慮されていたし、話の密度が濃くてとてもおもしろかった。技術が身につくわけではないにしてもきっかけとしての知識は吸収できるし、何より好奇心をものすごく刺激された。素直に行って良かったと思える。
自分が受けていないコースの資料ももらえるので興味があれば目を通すこともできるし、今見ても良くできた資料だなと思う。こう言うのが大学とか高校のPC教室みたいなところに置いてあったらおもしろいのにね。惜しむらくはパワーポイントで作ったような資料なのに電子データとしての提供がないことかな。2008以降のプログラム部門の資料は一部公開されているようだけど、セキュリティ部門は見つからなかった。
他にも日本の大手セキュリティ企業(ウルトラ警備隊基地)の中を見学できたり、カカクコムの(省略されました)といった"ここだけの話"も多かった。セキュリティ業界は"ここだけの話"が多すぎるとは思うけれど、扱ってる内容を聞いたらよく話してくれる気になったなと思えるような内容ばかり。
いろいろ書いてみたけれど、おもしろかったし応募してみるといいよ!って話になってしまいましたね。
いい点だけ書くのもフェアじゃないので暗黒面も書いてみる
参加者の交流を深めるってことで参加者一覧が書かれた紙(本名とかどのコースとか)が配られて、個人情報保護のため最終日に回収するとアナウンスされていたのだけれど、今講義資料めくっていたらその紙が出てきた...
参加していて気になったというか、いいのか?と思った事として、筑波大学にAC受験したい子が実績ロンダリングとして参加してるようだったということ。
実際、筑波大学AC受験組の内輪イベントみたいな空気が漂ってる場面もあったり、高校生に対して「セキュリティキャンプ行って受験した子で落ちたの1人しかいない」などと勧誘してる場面が多々あった。
進路まで決められるセキュリティキャンプすごい!
後々聞いた話だと一部の講師間の人間関係がやばいとかなんとか。チューターと(省略されました)。
まぁなんか講師の人のblog読んだりとか他の勉強会行ったりすると「あー」って思う場面がいろいろあるよね。
翌年からセキュリティー部門とプログラミング部門に分かれて、最終日にプログラミング部門でjkondoのありがたいお話が聞ける(聴講可)ということで行ったら、プログラミング部門はセキュリティ部門とは一転してフリーダムな環境で、wifiありインターネットし放題と全く毛色が違うイベントだった。(自分が参加していたときは「通信は全部キャプチャしてるからね」と冗談なのか本気なのか分からない事を言われた)
まぁそれはどうでもいいとして、去年の参加者がチューターとして参加していて指導していたのだけど、そのチューターがOSx86をインストールしたノートPCを普通に使っていて驚愕した。
思いっきりEULA違反じゃん...去年のキャンプで何学んだの...それを咎めない講師陣もちょっと...
プログラミングキャンプすごい!
又聞きの又聞きで真偽が怪しいけれど非常にブラックなので書く。
2007参加者の現筑波大学生が自分のWEBサービスのソースコードを流出させた知人のサイトにDOS攻撃を仕掛けてダウンさせたらしい。
犯罪者誕生ですね!セキュリティキャンプすごい!
暗黒面がいろいろと酷いですけど、善良な参加者の皆さんには何の関係もないですし、何よりもキャンプで得られる経験っていうのは他所では絶対に経験できないのことなので是非参加するといいと思いますよ。
ちがうにょー
デバッグに梃子摺る人が初心者に多いわけは、主に次の3つに起因するにょ。
エラーメッセージの見方を知らないからエラーメッセージを全く見ない。エラーが出ている場所と内容まで事細かに記してあるコンパイル時エラーメッセージや実行時スタックトレースを前に絶望してしまい、慌ててソースコードを1から読み直してしまう。特によく耳にするのが『どこが悪いのかわかりません』だけど、数行のエラーメッセージに答えがずばり書いてあることがほとんどだったりします。
特にプログラミングに慣れていない初心者が陥りがちなのが、制御フローばかりに目が行ってしまい、制御フローから類推できるデータフローには気を配らないという現象。例えば値「1」を返す関数が「2」を返してきてしまった。確かにそういう場合には制御フローを辿ることも重要だけど「2の源流をたどってみる」ことをすれば、意外とすんなり原因が見つかることも多かったりです。
見たままの文字にばかり注意してしまい、例えば半角空白と全角空白とタブを見分けていなかったり、他にも行末に1個空白が紛れていて「なんで上手く処理されないんだ」と悩んでしまう人が意外といる。他にもコンパイル時エラーで多いのが ; の有無だったり () の対応だったり。原因の目星がついても、最後の最後で躓くのはおおよそこういうポイント。慣れればぱっと見で気付くことなんだけど、このあたりが前述2つの理由と相まって、意外と疎かにされやすいところなんだよね。
総じて、デバッグを出来ない初心者に共通する原因は「結果から原因を探ることに慣れていない」ということに集約されたりする。そもそも結果を見ていなかったり、結果から原因を逆算する手法を知らなかったりするのが、「慣れていない人」というわけです。