エンジニアが発信する【2006年12月】の記事です

エンジニアが作る最新ITブログ トップ>【2006年12月】

2006年12月31日

何回移動するとコカイン付着の割合が94%になるか適当に計算してみた

紙幣の94%にコカインが付着!?スペインで調査報告
 コカインの使用率が世界で最も高い国のひとつであるスペイン.......... ≪続きを読む≫
94%ってすごい割合ですね。
で、何回移動すると94%になるか気になったので、プログラムを使って計算してみました。
コカインを使用している人に紙幣が渡ると必ずコカインが付くというかなりaboutな
計算ですが、使用者が1.6%の場合は、175回、0.8%の場合は、351回という結果になりました。
こんなもんかという数字ですね。作ったプログラムを下に載せます。


// Cocaine.java

public class Cocaine {
  public static void main(String[] args) {
    double numOfBill = 100.0;
    double cocaineBill = 0.0;
    double percent = 0.016; // 違う割合における回数を計算したい場合はこの値を変えれば良い
    int count = 0;

    while ( cocaineBill < 94.0 ) {
      cocaineBill += (numOfBill*percent) * (numOfBill-cocaineBill) / 100;
      // System.out.println(cocaineBill);
      ++count;
    }
    System.out.println("count = " + count);
  }
}

2006年12月31日

HTTP モジュールを列挙する方法

HttpApplication.Modules プロパティ に webapp にロードされているモジュールの一覧が入っています。

こちら

2006年12月31日

SEって視野が狭い!

SEって視野が狭い。

この驚異的な視野の狭さはこの業界だけ??


それとも、俺の周りだけ?


正直、個人が伸びるにしても会社が伸びるにしても視野が狭いと言うのは致命的な欠点である気がする。

まぁ、会社の事までは分からないから個人だけに絞って書いていくが。


SEって営業はするし、お客さんから聞いた話から設計書を作らなければならないし、その設計書からプログラミングをしなければならない。

まぁ、言ってしまえばシステム構築全般に携わる必要がある。

全般に携わると言うことは全般的な知識が必要と言うことだ。


それにも関わらず

「聞いた話から設計書を作る」

と言う工程と

「設計書からプログラミングを行う」

と言う工程を別々に考える場合が多い。


何が言いたいかというと、


現在している作業以外のことは考えない


場合が多いのである。

設計書を作っている時にプログラミングのことを考えないで設計書を作ってしまうと机上の理論の設計書が出来上がるのだ。


特に基本設計書が机上の理論で作れると最悪だ。


---------------------------------------

【余談】

基本設計書を机上の理論で終わらせないために

基本設計書を作る工程

アーキテクチャーを作る工程

は同じ時期にした方が良いと言われる。


この二つを作る時期を離してしまうと、基本設計書通り実践するアーキテクチャーを作ることがとても難しかったり、実現不可能な場合(矛盾が生じるシステム)が生まれてくるのだ。

(また逆にアーキテクチャーから先に出来ると基本設計書を作る上で強い制約が出来てしまう場合がある。)


俺も基本設計書とアーキテクチャーの作成/構築は同時進行したほうがいいと思っている。

もしくは、アーキテクチャーの基本設計書を作る時期を同時進行させるかのどちらかが良いと思っている。

(その基本設計が実現可能かどうかスパイクアーキテクチャー(*2)を作って確認しながら行うことが望ましい。)

---------------------------------------


このようにSEには広い視野が必要になるはずなのに、視野が狭く自分の仕事しか見えない人が多い。

また、視野の広さはスキルにも影響してくる。


ここからは自分の経験談になるのだが・・・。

自分のスキルを上げるときに助けてくれるのが視野の広さだと思う。


俺は元々プログラミングが好きで色々な言語をつまみ食いをしていた。

そのうちJavaやC#と言うオブジェクト指向型言語をつまみ食いをしたところ、言語の視点だけではどうしても伸びないことを悟りオブジェクト指向を勉強していった。

これにより、今まででは考えつかないようなプログラミング(*1)を作れるようになり生産速度は飛躍的にアップした。


逆にいうと視野が狭いとスキルアップも難しい。

自分はずっと言語スキルを勉強していたからわかるが、言語スキルの勉強より概念を身に付けたほうが言語スキルが上がる場合が多いのだ。(ただし、最低限の言語スキルは必要である。)


このように仕事をする上でも、スキルアップをする場合でも視野の広さは十分重要にもかかわらず、視野が狭いSEが多い。

特にIT業界はドッグイヤーと言われるほど進歩が早いのに視野が狭かったら時代にもついていけなくなります。


皆さんもくれぐれもご注意を・・・。


P.S.

視野の広い人(会社)の下で働いてみたいなぁ・・・。

あと、自分ひとりで視野を広げるのは難しいと共感してくれる人はこちら へ足跡を残していただけると嬉しいです。

一緒に情報を共有しましょう♪


----------------------------

*1・・・まぁ、言ってみれば普通のオブジェクト指向型プログラミングです。継承やポリモルフィズム等の概念を取り入れたコーディング。

*2・・・お試し版アーキテクチャー。実際にそれが出来るアーキテクチャーかを検討もしくは実装して確かめていく方法。

エンジニアが作る最新ITブログ トップ>【2006年12月】

メンバー紹介

タグパネル

ランキング

エンジニアが作る最新ITブログ DODA