「java」を含む日記 RSS

はてなキーワード: javaとは

2010-03-12

とりあえずIT下請け企業はやめておけ

そういう会社で○年目(5年以下とだけ)がそろそろ終わるのですが、正直転職ばかり考えている。

というのも、自ら設計した仕様書プロジェクトに火がついたことはないが、下請け案件では殆ど火災だらけ。

国内王手のうちのある会社が主要取引先なのだが、はっきり言おう。

仕様書の質が低すぎる。

業界王手がこの様か!と言いたくなるほど仕様書の質が低い。

以下に私の食った仕様書をお教えしよう。

一つのメソッド「仕様書」が1000行を超える

はい、メソッド?なにそれ?おいしいの?と言わんばかりの超大作。

上から下まで流すだけ。保守性皆無。

しかも無理やりループを一まとめにするから、もはや何処で何をしてるのか、、、、。

Basic/Cobol ならまだ分からんでもないが JavaC#

概要設計がない

作ってないんですねきっと。何がしたいのかさっぱり分からない。

それで実装用の設計起こすんだから、そりゃぁ全体で動くわけねーわ。

(このときにクレーム付けられるのって下請けなんですが、でも下請けでは発言権無いですからね、、、|||orz)

メソッドの名前があり、SQL があるだけ

いや本当に何がしたいのか、、、、どういう分岐条件かも分からない。

いやむしろ書いてない!?

これでお金取ってるんだから詐欺だよなぁと。

主要技術無駄遣い

DI, AOP, O/R Mapper いずれも基本となる技術なんですよね、でも。

「何でこんな意味の無いところに使うの?」という使い方で逆に労力を増やしてくれる。

例えば O/R Mapper はテーブルとマッピングを行い、プログラム側で処理しやすく、、、、

とのことで、C# には LINQ まで装備されている。

で、仕様書の指定「すべてのSQL結果に対して対応するO/Rを作成する」ってwwww

ちょっと待て!テーブルじゃなくてSQL単位!?

当然従えば大量にオブジェクトができて、SQL仕様が変わるたびに、、、、以下略

「元のプロジェクトが○位の規模なのにどうしてその倍以上の規模なってんだゴルァ」

とブーたれてくることも、、、、自分設計に言って下さい。

「すべてのオブジェクトシングルトンで実装し、Interface用意してね、DIで使うから」

ってどれだけ無駄すれば気が済むのか、、、、。

(Test 時にMock入れるだけならここまでする意味って無いよな…)

そしてこんなことをして下請けをいじめた挙句「弊社には最新技術ノウハウがございます」とか言う。

素敵、、、、、。

これでは国内生産無理だわ

こんな人海戦術しかないような仕様を書いてるようでは、そりゃ安価海外に流れるなと、、、、。

本当に自分技術を信じる人は、独立系、海外系、自社製品開発に行ってください。((もしくは王手企業でまともな仕様書書いてください))

間違っても下請けプログラマーなんてゴミ押し付けられる仕事場行っちゃダメよ。

2010-02-26

JUnit って、なんでテスト順が不定なの? 馬鹿じゃないの?

副作用のあるテストを書かせないためかもしれないけど。

でも、テストって普通、簡単なものから難しいものへ、順番に書いてくんじゃないの? そうなってないと品質上げていきにくいし。テスト順を不定 (ってこと) にして何がうれしいんだろ。

あるいはたとえばデータベースまわりのテスト書いてると、普通副作用依存したいと思うんですけど。1つのテストケース動かす度にテーブル作り直すとかありえないし。

INSERT のテストケースを動かして、次に SELECTテストケースで読めるか確かめるとか普通やるよね。

てか、INSERT が動かないことには SELECTテストが動くわけないのに。テスト順がないから、そういう依存関係の定義も面倒。

テスト順が明示的であれば、最初に問題が出たテストから順番につぶしていけばいいよね、ってことになるけど、順序が不定だから直感的じゃない。

「べき」論にこだわって生産性が下がる。これが Java の「奥の深さ」ってやつか。

2010-02-25

http://anond.hatelabo.jp/20100225013023

横からだけど、

JAVAガチガチ教科書的な言語

PHPは何でもありの自由奔放な言語だから。

根本に流れている設計思想真逆

ありがとう、プログラム言語に詳しい方々

返答ありがとうございました。

頂いた意見を参考に、身の振り方も含めて考えて行こうと思います。

http://anond.hatelabo.jp/20100224235723

ある意味で一番欲しかった回答かもしれません。

>基礎さえできちゃえば、言語による違いなんて方言みたいなもんだから

心強い言葉を頂けました。この部分に関する確信が無かったので心配だったもので。

資格取得を目指して勉強する、というのは目標設定としてもよさげですね。

仕事で実際に使用する言語に関しては

確かに働き始めてから学ぶというのでもいいのかもしれません。

何にせよずっと勉強が続く分野では有るのだと思っています。頑張ろう。

http://anond.hatelabo.jp/20100225001728

>でも、本気で知りたいなら、死ぬ気でアセンブラをやれ。それがすべての始まり。

そこまでの本気が自分の中に有るかと言うと、ちょっと違うかもしれません。

今のところサイトデザインでメシを食うのが目標なので。

ですが、何が起こっているのか良くわからないままに

他のサイトから引っ張ってきたコードを手探りでいじくり回す様な事はもうしたくないので、

何がしたくてその為には何をどう使えばいいのかが分かるようになりたい、

せめてそれを考えられるだけのよすがとして知識が欲しい、という思いがまずありました。

>金がほしいなら、むしろ技術力より営業努力

お金持ちになりたいか、と問われるとそこまでの情熱は無いのですが、

自分ひとりの食い扶持を稼ぐだけの力を付けたいとは考えています。

>ちなみにWeb系といわれたから、ライトウェイトな言語を中心に考えたけど、つぶしが効くのは意外とJavaC++であることも。書いておく。

となるとやはりJavaC++を学ぶ事自体は無駄ではない、と考えて良さそうですね。

因みに並行してデザイン論もさらい直して、サイト作成技術に関しては専門書を購入して独習する事を考えています。

ソフト類は一応一通り扱えるので。

3つ全部を同時進行出来るかは微妙な所なので時期をズラしつつ1年計画くらいでどうにかできれば。


そして、

http://anond.hatelabo.jp/20100225000159

>でも、Javaに慣れちゃったら、PHPなんて一番触っちゃいけない言語だよね

すみません、そこら辺もう少し詳しくお願いできますか!

何か致命的なセキュリティホールとかブチ開けてしまう可能性が有ったりって事?

(ハンパなPHP問題点としてよく挙げられているので当てずっぽうで書いてみました)

http://anond.hatelabo.jp/20100224234229

JAVAを最初に学んでその後に現場で実際に用いるであろう言語(例えばPHP+SQL)を習得するといったルート現実的なのだろうか?

できはするけど、最初からPHPいいんじゃない

いろいろ言う人はいるけど、PHPでも、問題ないよ。

ただ、欲をいえば、PHPモジュールC++で書く拡張機能あたりをちゃんと勉強しておいたり、ちゃんとコードチューニングして行けば勉強になると思う

SQLはただ使うんじゃなくて、データーの正規化やインデックスなんかをきちんとマスターしておくと、違う感じ。あとは、ストアードプロシージャ

 

>上記のケースで前段階として学ぶ言語はどの程度のレベルまで到達する必要が有るのか

というか、本気で学ぼうとすると、トランジスタから始まって、フリップフロップレジスタ、アキュムレーター、バスの配線、クロックというハードの構成がどうなっていて、

それに対応するマシン語があって、それがニーモニックに変換されて、

そこにスタックという概念が持ち込まれて、レジスタスタックに退避するという概念が生まれて、関数コールができて、C言語が生まれて、さらにそこにthisポインタコンパイラ自動補完して関数テーブルを保管することでオブジェクト指向というか、C++ができている。そこに(Cの世界に)BNFなどの構文があって、それを構文ツリーにするBisonなんかがあって、PerlPHPができている。

という、なぜC++オブジェクトポリモルフィズムができるのか?というソフトからハードまでを一貫して知る必要がある。

そこまで理解していると、コードレベルは確かにハンパないレベルにはなるけど・・・。正直、業務には必要ないというか、そんなクオリティーの仕事が少ない。

やりたければ、やってもいいけど、PHPからやったら?そして必要になったらPHPをCで拡張するという形でCに入ると良いと思うよ。

やりたい言語をやるのが一番だ。

でも、本気で知りたいなら、死ぬ気でアセンブラをやれ。それがすべての始まり。

わりといえば、普通に大学入って、授業を真面目に受けた方が早い。

 

>そもそも実際に現場で使用することを想定した言語で、今から学ぶのに本当に適しているのは何か?

PHPでいいでしょ。大差ない、むしろ、自分が気に入った言語で、どれだけコードを沢山書くか。日々の鍛錬。

もちろん、PerlでもRubyでもお好きなモノで。

金がほしいなら、むしろ技術力より営業努力

ちなみにWeb系といわれたから、ライトウェイトな言語を中心に考えたけど、つぶしが効くのは意外とJavaC++であることも。書いておく。

でも、Javaに慣れちゃったら、PHPなんて一番触っちゃいけない言語だよね

2010-02-24

http://anond.hatelabo.jp/20100224234229

webプログラミングは、作ろうと思えば簡単なものが低いスキルでもすぐにできてしまう

でも実際に仕事でやる場合には覚えなきゃいけないノウハウが多い

なので、自分勉強するよりも、知ってる人に教えてもらってやっていった方がいい

とくにPHPはヤバイ

バッドノウハウ多いし、プロジェクトによって作り方が全然違うと思う


Javaをやるんだったら、基本情報なんかの資格のための勉強としてやればいい

そうしたら就職しろ

基礎さえできちゃえば、言語による違いなんて方言みたいなもんだから


会社に入ってから覚えることの方が多いだろうし、スキルの上がるスピードも違うよ

だって仕事中は本当にそれだけに集中するし、やりたくないことをやらなきゃいけないし、

思いもよらない要求やトラブル目白押しだから

求、プログラム言語に詳しい方

最終的な目的web制作技術スキルアップ

その一環としてPHPなどのプログラミング技術を学びたい考えている。

自分現在経験値は、学生時代オリエンテーリングの一つとしてC++をちょこっとだけいじったことがあり、

数学の問題を解かせたりしていた。1から1000までの素数を求めるプログラムエラー出しまくって大苦戦した思い出)

javascriptもごく簡単なものなら扱えるといった程度。

「そもそもプログラム言語って何だ?何をするものなんだ?」って理屈の部分があまり良くわかっていないので

可能な限り、根っこの部分からちゃんと勉強し直したい。

以前PHPを独習しようと考えていた時はまったく取っ掛かりが見いだせずに挫折している。

どうも自分言語を学ぶ場合、ある程度サポートしてもらう必要が有るらしい。必要ならば通信教育を受けようと考えている所。

ここからが質問なのだけれど、こういう人間言語を学ぶ場合に

  1. JAVAを最初に学んでその後に現場で実際に用いるであろう言語(例えばPHP+SQL)を習得するといったルート現実的なのだろうか?
  2. 上記のケースで前段階として学ぶ言語はどの程度のレベルまで到達する必要が有るのか
  3. そもそも実際に現場で使用することを想定した言語で、今から学ぶのに本当に適しているのは何か?

このあたりが余り良くわからない……。

身近にそういった方面に強い人が居ないこともあって誰にも聞けないので思い切って増田に書いてみた。

プログラミング常識」著者コメント(DQN向け翻訳)

世の中には、どうしても「賢い人」と「あまり賢くない人達」人たちがいて、「あまり賢くない人達」は「賢い人」の足を引っ張るモノです。

「あまり賢くない人達」が自らの愚かさゆえ、人生を無為に過ごすのはある意味しかたがないことだと思いますが、問題なのはこれから賢くあろうとする未来ある若者達が、このような「あまり賢くない人達」に惑わされ、不幸に見舞われることであります。

日向さんはこのような未来ある若者のために、わざわざ時間を割いて素晴らしいエッセイを書きおこしてくれました。

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のようなスクリプト言語XMLXAMLのような記述言語を 含めて、5種類上の言語で実際に動作するプログラムを作成してそのソースコードを広く一般に公開し、 他人の批判を受けてみてから、 自分完璧な本を書いて出版社に持ち込んで出版してみてください。

そうすれば、著作、あるいは出版というものがどういうものか、少しはわかるでしょう。

あー、それと、バカどもに言っておく。オレ様は C++Javaアセンブリ言語JavaScriptのようなスクリプト言語XMLXAML のよな記述言語 を含めた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氏は同レビュー中で日向さんを「真に初心者向けに本を書ける希有の存在」と評しています)

なお、訳者はあらゆる書き込みに対していちいち反論することはできません。 また、一部の低俗掲示板のような増田を読んだり書き込んだりするのは 時間無駄なので、私に限らずほとんどの著者は、そのようなものに書き込むことはもちろん、 目を通すこともありませんのであしからず

2010-02-23

PythonAPI検索のしかたがよくわからない

最初 Python で、Haskell における dropWhile のような関数があるかを調べようとした。

これはたまたま、Pythonにも同名の関数があるので (itertools.dropwhile) google検索すればよかった。

しかし一般に「述語関数が真になるまで、リストの先頭から順番に要素を捨てていく」関数はどうやって探せばいいのだろうか?

Haskell なら、述語関数リストからリストへの関数なので、(a -> Bool) -> [a] -> [a] を hoogle (http://www.haskell.org/hoogle/) で検索する。takeWhile dropWhile filter の3つが見付かり、それぞれ説明を見ればいい。

Python ではどうやって探すのがはやいのか?Javaなら?C++なら?

ちょっとしたプログラムPython で書くとこんなところでイライラしてしまって結局 Haskell を使ってしまう。

2010-02-13

http://anond.hatelabo.jp/20100213013651

当方は金融畑のJava屋。

金融システムはデカくて重いので、何十人とか当たり前。

一緒に仕事する人の中にはWeb屋もいるよ。

古いレガシーシステムフロントWeb化する仕事って

もう10年弱の歴史がある。あと10年弱は需要がある。

個人の趣味と同じ規模で終わらすにゃ惜しい。

デカいプロジェクトが常に良いとは言わないが一度は経験してみては?

2010-01-31

http://anond.hatelabo.jp/20100131082751

まとまった情報Thx

わりあい早い段階でid:tailtameさんが適切な突っ込みしてたのに、このツリーの最初の投稿している増田はとりあげないとかどういうこと思っていた。

id:tailtameさんのブコメ

FFFTPだけ削除すればいい、みたいなのはどうよって言う。入り口になるJSオフ脆弱性突かれるFlashPDFJAVA(JRE)、QuickTimeアップデートしたほうがいいよね(゚ε゚) //あと検証した人の http://twitter.com/fujista/status/8406841194


  <<最重要>>

 OSウィルス対策ソフトアップデートをちゃんとやる

このないようにはJSオフ脆弱性突かれるFlashPDFJAVA(JRE)、QuickTimeアップデートは含まれてないからなぁ。

感染対策くらいかけよ!そっちの方が重要じゃねーのか?

感染された時点でなにされてもおかしくないのにFFFTPがどうのとか・・・小一時間

などと罵倒しつつ、俺は書くの面倒だから2chからコピペですます。亜種でたら対策も変わるので注意ね。

Gumblar/GENOWeb改竄ウイルス総合スレ3【8080】 http://pc11.2ch.net/test/read.cgi/sec/1263865118/

現時点でGumblar(GENO)、8080(『/*LGPL*/』『/*GNU GPL*/』『/*CODE1*/』)
JustExploitなどのインジェクションが流行しています
基本的な対策としてセキュリティアップデートを欠かさないようにしましょう
脆弱性を利用されやすいソフトウェア】
下記については必ずアップデートしてください
使用していないものはアンインストール推奨です

■ Windows Update / Microsoft Update更新XP以下は念のためMicrosoft Updateに変更してアップデートする
■ Adobe Reader(Acrobat,Acrobat Reader)を更新 (使っていないならアンインストール)
http://get.adobe.com/jp/reader/
・インストール後本体をアップデート
 ヘルプアップデートの有無をチェック
・Acrobat Javascriptオフにする
 編集環境設定 → Javascript → 「Acrobat Javascriptを使用」のチェックを外す
■ Adobe Flash Playerを更新 (動画サイト見てるなら絶対入ってる。IE版、Firefox等の非IE版に注意!)
http://get.adobe.com/jp/flashplayer/
http://www.adobe.com/jp/shockwave/download/alternates/#fp
・Flash Playerのバージョン確認
http://www.adobe.com/jp/software/flash/about/
http://www.adobe.com/jp/support/flashplayer/ts/documents/tn_15507.htm
■ Adobe Shockwave Playerを更新 (最近は使わないはずなのでアンインストール)
http://www.adobe.com/jp/shockwave/download/alternates/#sp
■ Java Runtime Environmentを更新 (Javascriptとは違うので注意)
http://www.java.com/ja/
・Javaバージョン確認
http://www.java.com/ja/download/installed.jsp
■ QuickTime更新 (メールアドレス入力は不要。使っていないならアンインストール)
http://www.apple.com/jp/quicktime/download/
■ RealPlayer更新 (使っていないならアンインストール)
http://jp.real.com/?mode=basic
アップデート支援ツール】
■ アプリケーション脆弱性確認ツール
・MyJVN バージョンチェッカ
http://jvndb.jvn.jp/apis/myjvn/
・Secunia Personal Software Inspector (PSI)
http://secunia.com/vulnerability_scanning/personal/Adobeの“Flash”と“Reader”のアップデート半自動化「Flash_Reader_Update」
http://www.forest.impress.co.jp/docs/review/20091020_323014.html
http://hide9999.web.fc2.com/
Gumblar.x / Daonol(新GENO)ウイルスについて】
■ Gumblar被害拡大中(1)(2)(3)
http://www.so-net.ne.jp/security/news/view.cgi?type=2&no=2092
http://www.so-net.ne.jp/security/news/view.cgi?type=2&no=2093
http://www.so-net.ne.jp/security/news/view.cgi?type=2&no=2094
■ Windowsが起動しないときの復旧方法の一例
黒い画面にマウスカーソル (Win32/Daonol)
http://blogs.technet.com/jpsecurity/archive/2009/10/23/3288625.aspx
Win32/Daonolの亜種に感染!セーフモードでも起動できないパソコンを復旧するには?
http://itpro.nikkeibp.co.jp/article/COLUMN/20091028/339633/?ST=security&P=1
レジストリの修復 Windowsを使わずに修復してみる
http://pctrouble.lessismore.cc/boot/recover_registry.html感染確認・駆除ツール
アンラボ(v3daonol.exe)
http://www.ahnlab.co.jp/download/vdn_list.asp
マカフィー(stinger.exe)
http://www.mcafee.com/japan/mcafee/support/announcement20091127.asp
Kaspersky(KatesKiller.exe)
http://support.kaspersky.com/faq/?qid=208280701

【旧Gumblar(GENO)ウイルスのまとめなど】
*** 【注意!】2009年10月からのGumblar.x / Daonol(新GENO)には無効な情報があります ***
■ Anubisレポート
http://anubis.iseclab.org/?action=result&task_id=1890669b0bd937574e5be45e24c63ea80&format=htmlGENOウイルスまとめ
http://www29.atwiki.jp/geno/

【8080系ウイルスについて】
メディアなどでは「ガンブラー(の亜種)」と紹介されていますが
Gumblar系とは別種のウイルスで、最近のものはページソースの最後あたりに
<script&gt;/*LGPL*/
<script&gt;/*GNU GPL*/
<script&gt;/*CODE1*/
などから始まる難読化したスクリプトが埋め込まれています
2009年12月現在、最新版のAdobe Readerおよびそれ以前の脆弱性を利用しているため
回避策としてAcrobat Javascriptのチェックを外してください
修正版の配布は2010年1月13日の予定です
他にもMicrosoftJRE(Java Runtime Environment)の脆弱性を
利用していますがこちらはアップデート対処できます
感染すると他のウイルスなどを呼び込むため非常に危険です
■ 新手の正規サイト改ざんAdobe Readerゼロデイ攻撃~今すぐ対策を
http://www.so-net.ne.jp/security/news/view.cgi?type=2&amp;no=2106
■ 感染確認(2000,XP)
あくまで現時点での確認方法であることに注意してください

セーフモードから起動してレジストリエディタでRunエントリ
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
から
"sysgif32"="C:\\WINDOWS\\TEMP\\~TMD.tmp"
"~TM6.tmp"="C:\\WINDOWS\\TEMP\\~TM6.tmp"
等の登録があれば感染済

上記の登録情報を削除した上で
C:\Documents and Settings\ユーザー名\スタート メニュー\プログラム\siszyd32.exe
のファイルを削除すれば復旧しますが、亜種等で違うこともあるので
可能な限りクリーンインストールサイト持ちは
安全なPCからのパスワードの変更を推奨します

GENOGumblarウイルス対処法。

行っておくべき事項を箇条書きにしました。
細かなことは他にもいろいろありますが、とりあえず以下を実施して下さい。

(1)Microsoft UpdateWindows Update)を実行しシステムを最新の状態にする
(2)Adobe Readerを最新版に更新する
(3) Adobe ReaderAcrobat JavaScriptを無効に設定
(4) JRE(Java Runtime Environment)を最新版に更新する
(5) Flash Playerを最新版に更新する
(6) QuickTimeを最新版に更新する

(1)~(4)を行っていれば、現時点で改ざんサイトを閲覧してもウイルスには感染しない。
攻撃コードは変化する可能性もあるので、念のため全て行っていただきたい。
Adobe Readerなどのアップデート方法については下記のトピックスを参照のこと。
Acrobat JavaScriptを無効にする方法は以下の通り。

(1)Adobe Readerを起動し[編集]メニューの[環境設定]を選択
(2)「分類」の中の「JavaScript」を選択
(3)「Acrobat JavaScriptを使用」のチェックをクリア
(4)「OK」ボタンを押す


※サイトを運営されている方は、さらに次のことも実施していただきたい。

(1)管理サイトのページなどに意味不明文字列が埋め込まれていないか確認する
(2)改ざんされていたり、サイト管理に使うパソコンからウイルスが見つかった場合には、
ウイルス感染していないパソコンを使用して管理サイトパスワードを変更する

http://anond.hatelabo.jp/20100130202235

2010-01-29

http://anond.hatelabo.jp/20100129160909

流行は追っておこうな。

俺は今はPHP/Ruby使いで、昔使ってたPerlはもう忘れちゃったけど。いわゆる「モダンPerl」の流れで、Perlは1年くらい前から再評価されている。

PlackCatalyst、Coro、AnyEvent、Mooseなど、むしろPerl最近機能が全部揃っているイメージがある。

それと、古い事、枯れている事は悪いじゃない。C言語Javaがいい例。

プログラミング言語 基礎文法最速マスターのまとめ

Perl

基礎文法最速マスター元ネタ

Perl基礎文法最速マスター - Perl入門〜サンプルコードによるPerl入門〜

http://d.hatena.ne.jp/perlcodesample/20091226/1264257759]

Ruby

Route 477 - Ruby基礎文法最速マスター - , 1. 基礎 , 2. 数値 , 3. 文字列 , 4. 配列 , 5. ハッシュ , 6. 制御文 , 7. サブルーチン , 8. ファイル入出力 , 知っておいた方がよい文法 , 余談 , (おまけ)Ruby書籍紹介

http://route477.net/d/?date=20100125]

PHP

PHP基礎文法最速マスター | Shin x blog

http://www.1x1.jp/blog/2010/01/php-basic-syntax.html]

Python

Python基礎文法最速マスター - D++のはまり日誌

http://d.hatena.ne.jp/dplusplus/20100126/p1]

昔勤めてた会社の人が「年にひとつぐらいは(仕事以外で)新しい言語フレームワークに触れるといいよ」みたいなことを言っていたのでこれを機に(正直好きではなかった)Perlもはじめてみようかなと。

追記 Java

Java基礎文法最速マスター - 何かしらの言語による記述を解析する日記

http://d.hatena.ne.jp/nattou_curry_2/20100130/1264821094]

LLじゃないのも出てきたので改題。このへんいっぱつで Mece になるようにできないのがしょぼいなー。

ところで増田ではカギ括弧でくくってもリンクが正しく認識されないしhttp記法タイトルリンクにならないしイケてないのなんとかできないのかな。

2010-01-20

続・id:JavaBlack氏って

http://anond.hatelabo.jp/20100119023114

しょぼい煽りだなあ。

煽りに見えるのかなあ。

優れたIT技術者だからといってなにか役に立つアプリを公開したいという欲があるとは限らない。

そりゃそうですが。

よくできたアプリを公開している人は、定義からして優れたプログラマなわけですが、何も公開しない人は、優れたプログラマかどうかはわからない。

優れたプログラマアプリを公開しているとは限らないですが、公開しない人が優れたプログラマであるとは限らない。

もちろん「優れたプログラマであるとは限らない」だけで、優れたプログラマではないと断定はできないですが、これだけの長期にわたってこれだけ大量のエントリを投下している割に、具体的な技術の話がさっぱりないのはかなり異様に見えます。

昔はコードを少し載せてた。

ちょっと見てみた。

http://d.hatena.ne.jp/JavaBlack/archive/200503

2005年の分をタイトルだけさらってみたけど、コードが載ってるのは上記のStringの結合ネタぐらいのような……もちろんこういう記事はJavaプログラマにとっては(中級異常のプログラマには常識の範疇とはいえ)かなり役に立つ記事だと思うんですよ。でも、その後そういう記事は減少の一方じゃないですか?

このリストJavaやる人なら必須でしょ。このリストを作ってくれてるだけでブログレベルでは十分だと思う。

Javaオブジェクト指向参考書リスト2007年版)http://d.hatena.ne.jp/JavaBlack/20070522/p1

普通ブログ記事として、この記事だけを見たら、悪くないエントリだと思う。

でも、逆に言うとどれも標準的な必読書。内容に関する言及もないので、それこそ本をまったく読まなくても、ネットで評判を調べるだけでこのリストは作れそうだ(JavaBlack氏がこれらの本を読んでないと言っているわけじゃない。邦訳ぐらいは読んでると思う)。

でもさ、普段あれだけ上から目線の偉そうなエントリを連投している割には、ご本人の技術力は、さっぱり具体的には見えてこない。

ブコメだと、(今回の地震の話はさておき)そこそこ好意的なコメントが付くようだけど、そのへんみんなどう思ってるのかな、と思ったわけですよ。

ちょうどシロクマ先生がこんなエントリあげてるけど、

全能感を維持するために「なにもしない」人達

http://d.hatena.ne.jp/p_shirokuma/20100119/p1

JavaBlack氏は、自らの全能感を維持するために、コードを書いたり公開したりしないのかな、という気もちょっとする。

実力を晒さない限りは、馬鹿にされることもないからね。

ええと、ご本人がこれを見ることがあるとしたら、

プログラマならコードで語れ

と言いたいです。JavaBlack氏がまだ求職中なのかどうか知らないけど、もし私がうちの会社の人事権を持っていたとしても、悪いがこの人は採らない。

2010-01-19

id:JavaBlack氏って

なにやら地震の記事でホッテントリ入りのid:JavaBlack氏ですが。

この人、普段はIT関連の記事を書いてますが、じゃあこのひと、何か便利なアプリでも作って公開しているのかというと、そんなこともない。

完成したアプリケーションどころか、「こういう場合はこう書けばうまく行くぜ!」とか、「こう書くとはまる(はまった)ぜ!」みたいなことを示すコード片すらブログに提示したことはない。特にJava以外の言語についてはまったく触ったこともないように見える。

英語ができない技術者なんか技術者と言えるかボケ、みたいな記事をよく書く割には、英語の記事の紹介や、英語の本の内容紹介をしているところも見たことがない。たまーに、英語の本のアフィリエイトだけは貼っているようですが。

id:elm200さんの、「15歳の君たちに告ぐ、海外へ脱出せよ」という記事に「ここはかなり賛成かな.特にIT技術者なら,日本未来はないから.20年前ならともかく,もはや手遅れ.」と書き、rionaokiさんに噛み付く割には、ご本人が海外に行く様子はまったくない。rionaokiさんはバークレー博士課程で、id:elm200さんについて「本人の経歴をみるに、留学カナダ大学に三カ月ほど在籍されただけのようで、そこから日本大学教育を批判するのは無理がある」と批判しているわけだけど(とはいえelm200さんは現在海外在住だけど)、JavaBlack氏は海外に行ったことがあるのかすら定かじゃないですね。

ていうか英語以前に、日本語の本でさえ、内容について言及してたことあったっけ?

憂鬱本批判はしょっちゅう書いているけど、具体的にどこが悪いかは、一度も書いたことがない。

勉強会のたぐいに出た形跡もなければ、読書記録をブログに上げたりもしていない。

日本のIT企業はここがダメだとか、日本上司はどうとかという記事もよく書くけど、そもそもこの人の職歴って、ブログを見る限りではどっかのブラック企業にしばらく勤めてその後やめた、ということしかわからないんですが、そんなにたくさんの「日本のIT企業」を知っているんでしょうか。ブログに書いてないだけで、こっそりたくさんの企業渡り歩いたんでしょうか。(派遣とかであっちこっち行っているのかな)

こういう人が書く地震発生時の心得。いいこと言ってるのかも知れないけど、いつもどおり「経験もない人が勝手なこと言ってる」ようにしか見えないですね。私には。

2010-01-16

大阪大学基礎工学部情報科学科について

大学教育について話題になっているようですので、私が卒業した、大阪大学基礎工学部情報科学科について書いてみたいと思います。

大阪大学基礎工学部情報科学科は、昭和45年に最初に国立大学に設立された情報工学関連学科のうちの一つで、コンピュータサイエンスの分野では日本で最も古い歴史を持っている学科、ということになります。

情報科学科の特徴は、そのプログラミング実習の充実ぶりです。入学すると、まずPascalというプログラミング言語構造プログラミング勉強することになります。次にアセンブリ言語であるCASL勉強し、Pascalアセンブリ言語を応用してC言語勉強します。またその後、スクリプト言語であるPerl関数型言語MLオブジェクト指向言語としてJava学習します。

また、言語だけではなく、コンピュータサイエンスの基本であるアルゴリズムデータ構造についても幅広く学ぶことができます。

全ての実習は課題が出され、実際にコードを書かなければいけません。例えばC言語の授業の最終的な課題は、「shのようなシェルプログラムを作成すること」でした。最終的には、「Pascal風の言語CASLに変換するコンパイラを作成する」という課題に取り組むことになります。

大阪大学は全体的に単位の取得が厳しいことで知られていますが、情報科学科も例外ではありません。もしプログラミングをあまりしたことがないのであれば、遅くまで実習室にこもることになると思います。だけど、それは情報工学世界で生きていくためには必要な知識なのです。

実習で勉強する言語は、Javaを除くとあまり現在使われている主流の言語とは言えないのですが、様々な言語を学ぶのは「プログラミング言語はそれぞれに違いがあり、それぞれに適した用途がある」ことを理解することに繋がります。また大学卒業してから、新しい言語を学ぶ必要が出てきたとき、それに対応する能力を磨くことができます。

日本大学で、ここまで実戦的なコンピュータに関する教育を行っている場所はあまりないのではないか、と思います。コンピュータがどのように動いているのか、内部原理までしっかり教えてくれます。卒業生の進路は、研究者というよりは、エンジニアとして開発の現場で働くことが多いようです。

大阪大学入試問題は、東大京大と違って特殊な問題はそれほど出ません。努力でなんとかなるレベルだと思います。

情報工学は新しい分野なので、大学院研究するために必要な知識は他の分野ほど多くありません。このため情報工学科では、3年生の夏に大学院試験を受けて合格すれば、学部を卒業しなくても4年目から大学院に進むことができます。この仕組みを活用すれば、5年で大学院卒業できます。実際、学部生の1/4くらいはこの仕組みを活用しています。

もちろん、ここに書いたのは情報科学科の全てではありません。ネットにも他に情報がありますし、もし興味があったら、大学オープンキャンパスに行ってみるのもよいと思います。

コンピュータ世界は変化が激しくて、エンジニアとして生きていくのはとても大変ですが、それでもいい、プログラマとして将来何かを作りたいんだという人であれば、ここはそのための力を与えてくれるはずです。進学先として検討してもらえたら幸いです。

2010-01-08

Gumblarと8080、その亜種について

ちょっと情報共有・アップデートしたい。現在流布しているのはGumblar亜種なのでGumblarの検出・対策が通用しないかもしれないそうで。

関係ある名前
  • Gumblar(GenoJS-Redir)、8080(/*GNU GPL*/、/*CODE1*/、/*LGPL*/)、Daonol
仕組み?

サイトジャック(難読化JavaScript挿入、PHP、iframeで不正ページロードする仕掛け設置)

ユーザーリダイレクト

攻撃サイト脆弱性攻撃(複数?)

乗っ取り、パスワード盗聴など

最初に戻る

攻撃方法について

もしかして何でもあり?

攻撃成功後の振る舞い
  • FTPパスワード抜き取り(接続しなくとも取られる)
  • 踏み台・ボット
  • 基本的に乗っ取りが出来るので可能性なら何でもあり
検出について

【予防】

感染後】

対策
その他

その他教えていただければ幸いです。

2009-12-21

http://anond.hatelabo.jp/20091221113318

ものすごい重箱のすみをつつくけど

動的で型制約のないスクリプト言語

型制約って、parametric polymorphism の用語だと思う

Java だと Generics で?とか

C++だと concept で書けるんだっけ?

C#は知らんけど一番凄そう

そしてお約束教科書

http://www.amazon.co.jp/dp/0262162091/

2009-12-20

ビジネス・生活-1

日本でしか生きていけないと将来破滅するリスクがあるので、世界中どこでも生きていける戦略のご紹介

あなたは、日本依存症にかかっていませんか?

日本依存症とは、日本でしか仕事を得られず、

日本でしか生活ができなくなる、危険病気です。

日本依存症は、国家依存症の一種であり、会社依存症とよく似ています。

会社依存症の恐ろしさとその回避策

会社依存症とは、ある特定の会社でしか通用しないスキルばかり蓄積して、他の会社では通用しない人材になってしまう病気です。

会社依存症にかかると、その会社経営が悪化して、どんどん待遇が悪くなり、給料を下げられ、「このままここにいても、少しもいいことがないまま年を取っていくだけ」という状況になっても、ひたすらその会社にしがみつくしかなくなります。

また、会社の都合で延々とつまらない仕事をさせられたり、いまいち納得のいかない降格や減給をされても、なかなか拒否しにくくなります。

上司や同僚と相性が合わず、人間関係がこじれてギスギスした雰囲気になり、毎日会社へ行くのが憂鬱になっても、そこに居続けるしかありません。

なぜなら、その会社を辞めると、ほかに行くところがなくなり、路頭に迷ってしまうからです。

このため、このことがよく分かっているエンジニアなどは、その会社の独自製品や独自環境でしか通用しないスキルしかたまらないような仕事をできるだけ避けるようにします。

そして、「広く普及しており、かつ中長期的に需要があり、供給が不足ぎみで、かつ陳腐化しにくいスキル」を戦略的に蓄積します。

たとえば、以下のようなものが考えられます。

・要求分析、要求仕様定義システムアーキテクチャ設計RDBスキーマ設計サーバの負荷分散設計、各種サーバパフォーマンス解析・チューニングデザインパターンマルチスレッドプログラミングシステム管理ネットワーク管理

マネージメントプロデューサ・デザイナ・経営者・営業・顧客との交渉スキルや連係プレースキル

普遍性の高いコンピュータサイエンスの基礎

UnixRDB正規表現JavaPerlTCP/IP.NETC#

日本にはたくさんの会社があり、それぞれが浮き沈みを繰り返しています。

いまいる会社が今後もずっと浮いたままだという保証はありません。

一つの会社依存しきると、その会社が沈むとき自分まで一緒に沈んでしまい、酷い目に会います。

いまいる会社が沈みそうになったら早めに別の会社へ移れるように準備しておくべきではないでしょうか。

国家依存する危険

国家に対しても同じことが言えます。

政府は全ての国民幸せにするような政策を実行するべきですが、必ずそれに成功するとは限りません。

ときに間違った政策を行い、多くの犠牲者を出すこともあります。しかも、その犠牲者を救済するための政策が実行されないこともあります。

もっと最悪なことに、間違った政策で、国全体が沈んでしまうようなことすらあります。

もちろん、そうならないように、われわれは選挙で正しい政策を実行してくれる政治家投票すべきですが、常に正しい政策を実行してくれる政治家自分選挙区から立候補してくれるとは限らず、自分以外の人々が常に正しい政策を実行してくれる政治家投票してくれるとも限らないというのが、世の中の現実です。

だから、どんなに自分が正しい政治行動を取っていても、おかしな政策が実行され、自分の将来が危うくなるリスクは常に存在します。

たとえば、金持ちばかりが得をし、平均的な労働者搾取される最悪の格差社会になってしまうかもしれません。

あるいは逆に、今後スキルアップし、キャリアアップし、実力を身につけて高い年収をゲットしようと思っているのに、高額所得者所得税が大増税されて、酷い搾取に苦しむようになるかも知れません。

あるいは、少子化対策で、実質的独身税をかけられたのと同じような状態になり、結婚するつもりも子供を作るつもりもない人たちの生活の質がかなり落ちるかも知れません。

あるいは、国の医療システムが疲弊しまくって、まともな医療サービスを受けられなくなるかも知れません。あるいは、まともな治療を受けようとしたら、恐ろしく高い料金を徴収されるようになってしまうかもしれません。

あるいは、地方格差を埋めるため、都市部の住民を徹底的に搾取し、地方にじゃんじゃんばらまくような政治が行われるかもしれません。そうすると、田舎に住む人間の暮らしはよくなるかもしれませんが、今後も都市に住み続けるつもりの人間の暮らしの質が大きく低下するかも知れません。

あるいは、非正規雇用を減らし正社員を増やすという名目で、おかしな規制がかけられ、予期せぬ副作用が出て逆に多くの人が職を失うことになるかも知れません。余波で、自分まで失職するかもしれません。残された正社員自分に酷いしわ寄せが来るかも知れません。

労働者保護消費者保護という名目で、過剰に企業の手足を縛るような規制がかけられて、企業の活動が阻害されて経済が悪化したり、企業がどんどん日本から逃げ出すかも知れません。雇用が減り、治安が悪化し、日本が住みにくい国になるかも知れません。

要するに、投資において、全ての資産を一点がけするのが危険投資戦略であるように、自分の生活基盤となる国家を一カ所だけに限定してしまうのも、極めて危険な賭なのです。

今までは日本世界一豊かな国だったので、

この国にずっと住み続けるのが一番賢い戦略でした。

しかし状況は変わりました。

いまや日本よりも豊かな国や都市がどんどん生まれつつあります。

日本などよりも、はるかに先行きの明るい国や都市がたくさんあります。

本来、この惑星には、たくさんの国家があり、それぞれ浮き沈みを繰り返しています。

いまいる国家が、今後もずっと浮いたままだという保証はありません。

一つの国家依存しすぎると、その国家が沈んでいくとき、酷い目に会います。

いまいる国家が沈みそうになったら、早めに別の国家に移れるように、準備しておくべきではないでしょうか。*1

国家依存症愛国心は別の話

こういうことを言うと、「おまえに愛国心はないのか?」と言い出す人間が時々いますが、依存症愛国心とは別の話です。

これは、結婚において、夫を愛していることと、夫に依存することが異なるのと同じことです。

経済的にも精神的にも自立していることと、夫を愛することは両立します。

夫婦仲は冷め切っていて、夫の暴力に怯えながら暮らしているにもかかわらず、夫に経済的に依存しているためにガマンし続けているような状態は、とても健全だとは言えません。

むしろ、特定の国にまったく依存していないにもかかわらず、その国を愛し、その国に貢献することこそ、純粋に打算抜きの愛国的な行為なのではないでしょうか。

そもそも、「いろんな異性とつきあってみて、そのなかから最高のパートナーを見つけ出して結婚する」というのは、少しもおかしなことではありません。

「1人の異性しか知らず、最初につきあった異性と一生添い遂げなければならない」というのはいかにも古めかしい道徳観念です。これは国家についても同じことです。たまたま日本に生まれたからと言って、日本と一生添い遂げなければならないということはありません。

むしろ、さまざまな国に住んでみて、そのなかから、自分にいちばんあった国に落ち着き、添い遂げる、という人生も十分にありなのではないでしょうか。

日本以外にも快適に暮らせる国や都市はたくさんある

日本以外で暮らしたことのない人々の中には、日本だけが世界で唯一暮らしやすい場所で、日本以外には暮らしやすい場所などないと信じて疑わない人もときどきいるようですが、そんなことは決してありません。

むしろ、日本よりもはるかに、晴天の日が多く、気候が温暖で、からっとさわやかで、毎日気持ちよく暮らせる国や地域がたくさんあります。

食べ物も美味しく、人々も気持ちよく、街の各種施設も充実しており、遊び場所もたくさんある快適な都市世界中にたくさんあります。

どんなところでも、けっこう住めば都なのです。

また、日本以外の国は治安が悪くて暮らしにくいという偏見を持っている人もいますが、どんな国でも、きちんとした安全対策を講じ、危険地域に近寄らないようにすれば、それなりに安全に快適にくらせるものです。

それに、どうせネット環境さえあれば、世界中どこでも、twittertumblrmixiで遊べるし、ブログコメント欄クネクネすることもできるし、2ちゃんでだらだら過ごすことも出来るし、エロ画像ダウンロードすることもできるし、はてブ脊髄反射的なコメントを付けることもできるし、はてなスターを連打しまくって顰蹙をかうこともできるのです。

「わたしは(この国に生まれたというより)この惑星に生まれたのだ」という感覚を持ちながら生きるというのは、広々とした感じがして、なかなか気持ちの良いものです。

せっかくこの美しい惑星に生まれたのに、日本という小さな小さな島国に引きこもったまま一生を終えるのは、じつにもったいないことではないかと思えてきます。

依存症からの脱出は難しい

ギャンブル依存症アルコール依存症買い物依存症恋愛依存症セックス依存症、たいていの○○依存症は、そこから抜け出すのに苦労するように、日本依存症も、一度それにかかると、そこから抜け出すのにかなり苦労します。

簡単に日本依存症を抜け出す方法などありません。

また、タバコ依存症から抜け出すために、さまざまな方法があるように、日本依存症から抜け出すにも、さまざまな方法があります。

資産運用、または、プチ資産運用による脱日本依存

日本依存症から抜け出す一番効果的な方法は、実は、英語力をアップすることではなく、日本の外でも安定した収入源を得られるようにすることです。(もちろん、最低限の英語力は必要ですが)

特定の国家依存しない収入源を確保するわけです。

これに一番効果的なのが、資産運用で暮らせるようにすることです。

利回りのよい債権株式自分資産分散投資し、運用することは、どこの国に居住していてもできます。

日本国債株式資産運用していたとしても、日本に住んでいなければ運用できないということはありません。世界中どこに住んでいても、日本国債株式資産運用することは可能です。

それどころか、そもそも、日本国債日本株式資産運用しなければならないということはありません。

むしろ、全資産を円ベースに一点がけしてしまうと、今後円安が進んだときに、自分資産が大きく目減りしてしまうというリスクを抱え込むことになります。

資産は、全世界分散投資しておいた方が安全だし、世界全体の経済は、多少の波はあるものの、中長期的にはつねに成長し続けているので、正しくポートフォリオを組んで、世界中分散投資しておけば、それほどひどいことにはなりません。

だから、いったん資産運用で暮らせるだけの資産を蓄積してしまえば、日本依存症からの脱却はかなり容易になります。

ここで、「日本キャピタルゲイン課税の大増税を行ったら、資産運用では暮らしていけなくなるのではないか?」という疑問がわく人もいるでしょうが、そうでもありません。

まず、税金の徴収には、属人主義と属地主義の二つの方式があります。

属人主義とは、その人間国籍のある国に税金を納めること。

属地主義とは、その人間が居住している国に税金を納めること。

日本属地主義なので、自分が居住している国や地域税金を納めることになっています。

このため、日本キャピタルゲイン課税の大増税が行われたとしても、海外で暮らしている限り、影響を被ることはありません。*2

現在、属人主義を採用しているのは、アメリカフィリピンぐらいなもので、極めて例外的なケースです。

ですから、今後日本が属人主義に変更するリスクは、とても低いと思われます。

また、万一、日本が属人主義に切り換えたとしても、ある程度の資産を持つ人間国籍を与えてくれる国は、けっこうあります。

日本が属人主義に切り換え、さらにきわめて重いキャピタルゲイン課税をかけてきたら、単に国籍を切り換えればいいことです。

ただ、問題は、資産運用で暮らせるようになるほどの資産を蓄積することが難しい、ということです。

そのため、当面は、収入の全てを資産運用だけで稼ぎ出すのではなく、収入の一部だけでも資産運用で稼ぎ出すような状態を目指してみてはどうでしょうか。

資産運用というより、プチ資産運用です。

そうすると、日本がヤバくなったので、脱出して海外で職を得たのはいいが、最初のうちはまだ英語にも不慣れで、十分な収入を得られないというようなケースでも対応できます。

世界標準のITスキルによる脱日本依存

たとえば、前述のUnixWebRDBJavaPerl.NETC#など、世界中に普及している技術の場合、そのスキルを身につけることで、日本依存から抜け出すことができます。

また、これらに関連する要求仕様定義オブジェクト設計技術デザインパターンを適切に使いこなしたクラス設計プロジェクトマネージメントスケジュール管理なども、特定の国家依存しないスキルです。

これらのスキルを身につけたITエンジニアは、さまざまな国で職を得ることが出来ます。

実際、ボクの知り合いでも海外で働いているプログラマーがいます。

むしろ、日本よりも快適に働いているようです。

もちろん、これらの技術は、会社依存症から脱却するための技術としても有効で、きわめて安全性の高い技術だと言えます。

これらの標準的なITスキルは、このように、会社国家を超越して有効ですが、それ以上に驚きなのは、かなりの長い時間をも超越する力を持っているということです。

たとえば、unixの基本アーキテクチャはボクが知っているだけでも十数年、ほとんど変わってません。マルチスレッドプログラミングデザインパターンも十数年前に身につけたスキルは、かなりの部分、いまでもそのまま役に立ちます。はるか昔に覚えた、クロージャ再帰を使ったさまざまなプログラミングテクニックも、RDBスキーマ設計スキルも、ほとんどが、いまだに現役です。

TCPUDPIPHTTPSMTPPOPなどのプロトコル類もいまだに基本はほとんど変わりません。新しく登場した.NETC#にしても、過去にマスターしたスキルにほんのちょっと上積みしたぐらいのわずかな薄皮でしかなく、いままで蓄積した基本スキルはそのまま通用します。Haskellのような関数型言語ですら、似たようなコンセプトのプログラミングアーキテクチャは昔からあり、十数年前にマスターした技術の延長線上でなんなくマスターできます。

このように、長期的に安定した技術スキルを選んで身につけるようにすれば、会社国家時間を超えて、安定した収入源を確保できるのです。

ただ、注意しなければならないのは人材の需給バランスです。とくに、インドや旧共産圏からのプログラマの大量供給は要注意です。

一方で、ヨーロッパBRICsVISTAなど、世界中で急速に経済が発達しており、ITエンジニア需要が今後も全世界的に巨大化し続けるのは確実です。

ここでのポイントは、下級エンジニアや中級エンジニアは、需要はそれほど拡大しそうにないのに、供給は膨大になると思われるので、リスクが大きいということです。

つまり、下級エンジニアや中級エンジニアの場合、海外に行くと、日本にいたとき以上に悲惨になる可能性があります。安易に日本から出て行くべきではないでしょう。

一方で、上級エンジニア技術分野にもよりますが、今後、世界中で爆発的に需要が拡大することが見込まれていますが、供給が不足する可能性は十分に考えられます。

従って、自分が今後上級エンジニアになる可能性があると考えている人たちは、この戦略に沿って日本依存症から脱却しておいたほうが良い可能性が高いです。

あと、もう一つ考慮すべき点は、上級エンジニアになるような人は生産性が高いため、今後、高額所得者になる可能性があるということです。

現在日本では、格差是正の機運が大きく盛り上がっています。

今後、この機運の盛り上がりに押されて、高額所得者を狙い打ちする形で大増税が行われ、酷い搾取の対象にされるリスクもあります。

このリスクに対する保険という意味でも、早めに日本依存症治療し、いつでも仕事と生活の場を海外に移せるようにしておいた方が安全かもしれません。

●スモールビジネスによる脱日本依存

日本人海外で暮らしてみると、さまざまな小さなニッチビジネスのチャンスに気がつくことがあります。

たとえば、日本にはあって当たり前なのに、その国にはない商品やサービス

それは、日本のやり方を現地方式にアレンジすれば、それなりに繁盛する商売ができるかもしれません。

あるいは逆に、その国のおもしろい商品やサービスで、アレンジすれば日本でもウケそうなもの。

もしくは、現地の安い人件費を利用して、何かを作らせ、日本に持ち込むというパターンもあるでしょう。

実際、ネパールに小さな工場をもっていて、そこで自分デザインした服を作らせ、日本に輸入して販売しているという女性に会ったことがあります。

こういうビジネスネタをみつけたとき、スモールビジネスを興すスキルを持っていると、そのチャンスを活かして、その国で商売をはじめることができたりします。

とくに、最近急速に豊かになったアジアの国々では、日本がかなりブランドになっています。

とくに富裕層は、日本のさまざまな質の高い品々やサービスを求め、日本の産物に信仰のようなものを抱いています。

これをうまく利用することで、いろいろなニッチビジネスを作り出すことができるかもしれません。

スモールビジネススキルとは、小さな会社向けのマーケティングマネージメント、経理などのスキルです。

たとえば、どんな小さなビジネスでも、どんな商品を、どんな顧客に売るのか、そのために、商品にはどのような魅力がなければならないのか、顧客は、どういう理由でその商品にお金を払うのか、どのようにして利益が出る構造になっているのか、などのビジネスモデルを組み立てなければなりません。

そして、いざ、ビジネスプランが出来たら、場合によっては人を雇い、契約を結び、信頼関係を作り上げ、法律に則って取引しなければなりません。関係者全員が気分良く仕事できるように、win-win構造を作り出す必要があります。

また、さまざまな法律を調べ、その法律に則ってビジネスを運営する必要があります。

さらに、会社を設立し、会計ソフトで帳簿を付け、経理と資金の管理をする必要があります。

また、予算計画を立て、融資なり出資なりで資金を調達する必要もあります。

こういう小さなビジネスを最小限の規模ではじめてみて、いざ、顧客の反応が上々だったら、しだいに規模を拡大していけばいいのです。

思ったより反応が悪ければ、早期に撤退するか、あるいは、やり方を変えて再度トライしてみたりすればいいでしょう。

そして、スモールビジネス醍醐味は、たまたま大ヒットしたときのうまみです。

日本サラリーマンの頂点とも言える、上場企業社長年収でも、たかだか4000万円にしかなりません。

これに比べ、スモールビジネスをヒットさせた場合、実質的年収1億円を優に越えてしまうということは、それほど珍しくないのです。

実際、ぼくの知り合いにもそういう人がいます。

「たかが自営業」とばかにできるようなもんでもないのです。

自営業は、あたると凄いんです。

●共通して必要な日本脱出アイテム

どのようなモデル日本依存を脱却するのであれ、共通して必要な Permalink | 記事への反応(0) | 22:10

2009-12-15

HTTPSJavaクライアント

仕事HTTPSJavaクライアントの作成が必要になった。

本当に本当に暇でしょうがなくて、

HTTPSJavaクライアント?だせーな。

そんなのすぐ実装できるぜ」って、

奇特な方がコメントくれること期待して

調査状況を増田うp&amp;会社で続き。

ググった結果&コメント

(01)Java Tip 96: Use HTTPS in your Java client code

http://www.javaworld.com/javaworld/javatips/jw-javatip96.html

英語なので読むキがしない後で読むかも?

(02)JavaクライアントからのHTTPS接続について

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7497&amp;forum=12

よー、わからん

(03)HTTPS Client

http://ibiblio.org/java/slides/iw2000/whatsnew/04.html

サンプルコード

Keytoolとかルート証明書とかはいらないのか?

(04)■[Java]証明書無視のHTTPSクライアント 1.3 &amp; JSSE

http://d.hatena.ne.jp/stdcall/20060805/1154761291

やっぱり証明書とかはなくてもHTTPSできるのか?イマイチ理解できん。

2009-11-22

google app engineに繋がらない。

signinすら出来ない。

googleメールを送っても返事が無い。金曜の夜から24時間ぶっとおしで、もう30通は送ったはずだ。仕事してんのか?

ハードが目の前にありさえすれば、なんとかやりくりできるのによ。最期の時には、全部俺様の過ちだと納得もできようよ。しかしクラウドはどうだ。何だこのざまは!何もかもが雲の中だ!誰が何を間違ったのかさっぱり分からない!俺様の目の前でバックアップをとっていないHitachiHDDガチャンと音を立ててクラッシュしてくれる方がまだマシだ!!!!!

くそくそくそくそくそくそくそjそうkすおl¥くdさくldfggoogleappengineの た め だ け に 携帯を買ったんだぞ畜生!!!!!金返せ!!!!!1もうだめだ!!!!!クラウドはクソだ!!!クソの山だ!!!!!こんなものを良い方向に評価できなくたって、俺様は天才プログラマなんだよ!!!!!!!!ああああああああおhんwzそえfどい:@-2s;

今後!!!!!俺え様の目の前でクラウドとうう言葉を使った奴はぶん殴る!!!いいな!!!!!!!!えろいsdfgzjlk;あd

まあpythongoogle公認だから本質的ウンコ程度の価値しかないから俺様はこいつとおさらばできてせいせいする。javaはまともだから、本腰を入れて何か作ってみるか。しかしやはり俺様に合っているのはネイティブコードを吐くコンパイラの揃っている言語C++やDだ。何でもできる。OSをぶっ壊すことすらできる。OSは一度壊してからが美味い。googleappengineとは全く対照的だ。googleappをいくらグズグズとファックしようとしても、所詮はpyだ。せいぜい砂場の上でウンコするだけだ。他には何もできやしない。gccは無いのかとまさぐろうとしたが、さっぱりまさぐれない。ISPCGI鯖ならこっそりgcc使える所もあったのに。そういう点でもgoogleウンコだ。ユーザーの要望をまったく理解していない。googleappengiんで動いてる有名なサービスってあったっけ?wwどれもこれもただのチンポコだろtukau使う価値もないwしかし携帯もかってみたけどクソだなemacsもうごかないマシンもちあるいてみんな楽しいか?こんなちいいさい画面でこーど書きたいのか?こんなのただのうんこじゃんwwwほりえもんもiphonにむちゅうらしいけどていどがしれるなwwうんこしながらめーるかけるからべんりwwwうんこうんこww

!という、コンパイルできなくても

!あん

2009-11-15

悩みは尽きない

鬱というか、そういった波みたいなものが、がーっと来ている。

しかし明日はハロワへいかなければなりません。

ハロワへ行く。

そのたびに自分失業中で、雇用保険を申請した以上転職活動を頑張らなくてはならないと気がつくのです。

何が悩みかというと、ほかの業界を見に行くべきなのかどうかということ。

保守中心のSEとして一年ほど働いて、ユーザーさんへ仕様変更の説明に行ったり、テスト結果を上司に報告してOKもらったりという日々を送った。

経験自分にはスキルがないと思ったので、とりあえず基本情報を取ってみた。

で、今なのです。

自分はこの業界が、そこまで嫌いではないかもしれない。できれば夜間呼び出しがなければいいとは思うけれど。

ただ、JAVAの知識がない。Cもない。転職するには必要な気がする。

経験OKのところを探して、飛び込むべきか、それとも勉強してから飛び込むべきか。


ああ、頭がおかしくなりそうだ。ねる。明日は朝早くでなくちゃいけないから寝る。

もうやだ。ばか。

ログイン ユーザー登録
ようこそ ゲスト さん