ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

英情報機関 ハッキング用工作 発見 中国レノボ社製

2013-07-31 22:08:48 | Weblog

英情報機関が、世界最大のパソコン企業である中国レノボ社製品の使用を禁止していたことが分かった。三十日付の英紙インディペンデントが伝えた。

 情報局保安部(MI5)や政府通信本部(GCHQ)が製品を調べたところ、外部からの操作でパソコン内のデータにアクセスできる工作が施されているのを発見した。科学者は通常のセキュリティー保護をバイパスする秘密の裏口がチップに最初から仕込まれているとの見解を示したという。


日本は大丈夫?


英情報機関 ハッキング用工作 発見 中国レノボ社製 PC「使うな」
http://www.tokyo-np.co.jp/article/world/news/CK2013073102000223.html

(太字は上記記事より引用)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

今日FPGAで学んだこと(6)ModelSim

2013-07-31 18:32:03 | ネットワーク
前回までは、verilogでFPGAをいろいろ操作していましたが、
今日は、検証のおはなしです。
検証ツールModelSimの使い方です



■ModelSimに行く前に・・・

◎(今日の話と関係ないけど)
 ピンのインポート
・Assignment→ImportAssignment
  エクスポートしたCSVファイルを指定
  読み込んだら、確認のため
 Assignment→PinPlanner
 
・バスになっているものは、
 PinPlannerの左上のGroupでいっぺんに
 電圧とか、指定できる

◎階層設計(テストベンチは、これを使う)

  下位モジュール=部品
  部品をつなげていくかんじ

  インスタンシエーション

【書式】

IC uIC1(
.IN1(A),.OUT1(C)
);

【説明】

IC 下位モジュール(部品)
uIC1 インスタンス名
.IN1 .信号→下位モジュール
(A) 上位モジュール

※1対1に対応するなら

IC uIC1(
A,C
);

と、下位モジュールが省略できる

・トップモジュールはプロジェクト名になる




■Model Simでシミュレーション

◎テストベンチモジュールを作る
  論理合成+テストベンチ独特
  入力信号と出力信号をテストベンチと接続

【書式】
`timescale 1ps/1ps
module ABC_tb;

// Inputs
reg A;
reg B;
reg CLK50;

// Outputs
wire C;

// Instantiate the Unit Under Test (UUT)
ABC uut (
.A(A),
.B(B),
.C(C)
);

initial begin
$monitor("#%t:A=%b,B=%b,C=%b",$time,A,B,C);
$timeformat(-12,0 ,"ps",3);
CLK50 = 0;
end

always #10 begin //generated basic clock
CLK50 <= !CLK50;
end

initial begin
#step;
#step A = 0;
#step B =1;
#(STEP *5) $finish;
end

endmodule

(切り貼りして作ったから、プログラムはあってないかも)

【説明】

・`timescaleタイムスケール(時間設定記述:配置配線で重要)
  →`は後述(コンパイラ指示子)

・入力はreg定義、出力はwire定義
 信号は1対1に対応するため、省略する形
 でかまわない(並び順はあわせること)

・テストベンチ=モジュールの初期化必要
  initialize Inputs

・#:遅延時間
  #100 SW=1;

・リセット信号を必ず入れる
 初期状態をはっきりさせるため

・$finish;をいれないと、おわらない
  →$は後述(システムタスク)

・クロックの作り方
 always #10 begin
  CLK50 <= !CLK50;
end;
 のように、always文でつくる
 #10→10ナノ秒ごとに・・

・コンパイラ指示子
`ではじまる。
  `define テキスト置換
  `include ファイル取り込み(パラメータなど、まとめて宣言)
  `timescale 単位と精度(シミュレーション用)

・システムタスク
  $ではじまる。主にテストベンチで使う
  $monitor printoutする
  $finish おわり
  $display$writeなどなど・・


◎Model Sim実行(プロジェクトを作る、由緒正しきやり方)
・立ち上げる
・プロジェクトを作り、ファイルを登録
  File→new→project
   プロジェクト名を入れて場所を指定する
   OKボタンを押すとダイアログ出てくる
  すでにファイルがある場合、
   でできたダイアログで、指定する
     テスト対象モジュール
     テストベンチ
  (ちなみに、プロジェクトでファイルが出ている窓からでも
   右ボタンクリックで、add to project→existing fileで足せる)

・コンパイル
 compile→compileAll

・波形ウィンドウ表示(出ていないとき)
  view→wave

・シミュレーション開始
  Simulation→Start Simulation
  ダイアログが出てくるので
  Designタブ、workをクリック、
    テストベンチを選択
    Resolutionのところで、nsとか時間を指定する
  そうすると、ポート信号が表示される。
    上のほうに、シミュレーション時間の設定ができるところがあるので
    適当になおしたければ直す(10usとか)
  ポート信号を全部ドラッグし(シフトキーを使って)wave画面の変数のところ
  にドロップする→wave画面に変数入る
  RunALLボタンをクリック

  ※finishが入っていると、終了しますかときいてくるのでいいえ(NO)
   →はいにすると、ここで終わる

  ZoomFullボタン(虫眼鏡のめがねが青い)で波形が見れる
  
  waveウィンドウの変数を選択し、右ボタンクリックで
   radix→unsignedで10進符号なし表記

  黄色い線を動かすと、見てる時間の位置が変わる。
  ここで、虫眼鏡の下に青い四角のボタンをクリックすると、
  カーソルのところが拡大される※

◎Model Sim実行(簡易版、プロジェクトを作らない)
・ModelSimを立ち上げる
・ファイル選択
  File→ChangeDirectoryで、ファイルのおいてあるフォルダ選択
・コンパイル
  Compile→Compile
  出てきたダイアログで、コンパイルするファイルすべてを選択肢、Compile
  おわったらDoneでダイアログを消す
    この際workを作りますかと聞いてくることがある。Yes

・ModelSim実行
  左側のLibraryウィンドウのworkをクリックすると、今コンパイルした
  テストベンチが出てるはず。
  それを選択して、右ボタンメニューから、Simulation選択

  しばしまつ。画面いろいろやっている

  画面上に、左側のウィンドウに、いま選んだテストベンチが出ている★
  右ボタンクリックで、Add→ToWave→All items in region
  を選択。wave画面に、変数が入ってくる

  RunAllボタンをクリックすると実行する

  以降※のところは同じ

・内部信号を見たい場合は、
  ★のところにあるインスタンス名をクリックすると
  変数が出てくる。
  それをwave画面に、ドラッグアンドドロップ

  ☆restartボタンをクリックするとダイアログが出るからOK
   RunALLをクリックすると、再度シミュレーション☆

  →再度シミュレーションするときは☆を実行する

  以降※のところは同じ

  


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

日本初!?ソフトウェアメトリクスの同人誌

2013-07-31 00:27:30 | Weblog
あとでみる

日本初!?ソフトウェアメトリクスの同人誌を発行します!
https://sites.google.com/site/teftokaimetrics/info/wuti?pli=1


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

今日FPGAで学んだこと(5)

2013-07-30 18:09:42 | トピックス
今日FPGAで学んだこと(5)

この前のverilogのプログラムについて、
ちょっと細かく説明





■verilogについて

・シミュレーターでしかうごかないもの
・論理合成できて、シミュレーターでも動くもの

がある。
for、whileは、シミュレーターのみ

■信号について
・wireとregがある
    wire:値を保持しない
    reg:値を保持するか、always,function内の信号

 【書式】
    wire [7:0]    A,B;
    reg [3:0]    C;

・入出力信号(input,output)は、wireを省略している

 【書式】
    input    [2:0]    BUTTON;
    output    LEDG0;    //    []がないと、1ビット


■値・数値
・0,1,Z(ハイインピーダンス),X(不定値)の4種類
・<ビット幅>'<基数><数値>で表現する
  例:1'b1 1ビット2進数で1
 基数:b(2進),o(8進),d(10進),h(16進)
 省略すると、32ビット10進

■演算子
・算術:割り算関係は重い
・シフト
・符号
・関係
・論理
・ビット
  A=4'b0011,B=4'b1100のとき

   A & B = 0000だが、 A&&B = 1

・リダクション
  input [2:0] BUTTON のような、複数ビットに対して、
  いっぺんに&や|をとる

  &BUTTON = BUTTON[2] & BUTTON[1] & BUTTON[0]

  Verilogのみ(VHDLにはない)

・条件(? :)

sel = cond?A:B
 (condは条件)

・連結演算子
 異なる信号を1つにする
   FLAG[2:0]={A,B,C}

■組み合わせ回路
・assign文(継続代入文)
 順序に関係なく評価する

・function文
 ifやcaseがかける
 組み合わせ回路で構成
 ローカル変数はreg
 assignは使わない

【書式】
  function 出力レンジ 名前;
   input 入力信号;
  begin

   いろいろかく
    :
  end
  end function

※出力レンジ1ビットは省略

・if文:function,always内で記述

【書式】
  if(a) begin
    ステートメント1;
    ステートメント2;
  end else begin
    ステートメント3;
    ステートメント4;
  end
begin,endを書かないと、1ステートメントだけ実行

・case(A)
 casex(A)だと、ドントケアが書ける

【書式】
 case(A)
 条件:ステートメント;
    :
 (以下、条件:ステートメント;続く)
    :
 endcase


・always@()構文:組み合わせ回路編

【書式】
  reg out; // 使う変数をreg宣言
  always@(a or b) begin
   if (a)
     out = b;
   else
     out = ~b;
  end

※(a or b)の部分:センシティブリスト
   →変化があるとき


■順序回路
・フリップフロップがはいったもの
  →記憶できる
  →always@()で記述

・always@()構文:順序回路編

【書式】

always(posedge CLK or negedge RESTn) begin
   :
   :
end

※posedge:立ち上がり negedge:立下り
 順序回路のalwaysのセンシビリティリストは
    (posedge,negedgeを使って)orで2つしかつなげられない
 →組み合わせ回路のalways@のセンシビリティリストは、
    a or b or c・・・と、使う分だけ書く(書ける)
 <= ノンブロッキング代入 =ブロッキング代入
  ノンブロッキング代入は、同時に起こる
  ブロッキングは順番に

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

データサイエンティスト育成ではなく、高校の「情報」でBIをやるかどうか

2013-07-29 15:45:39 | Weblog
政府や多くの企業は、ビッグデータ利用に関して、データサイエンティスト
育成を中心に考えている。

しかし、ビッグデータなど、データの利活用をして、ビジネスが発展するか
どうかは、少数のデータサイエンティストが高度な技術を使って実現する
ものではなく、大勢の人が、簡単にデータを利用できることで実現する。

それは、多数のプログラマーが不足して社会問題になるといわれていたのに、
結局Excelが出てきて、みんながExcelを使えるようになって、一つも問題に
ならなかったように。




もともと、(ビッグ)データ活用には、
  BI(ビジネスインテリジェンス)
  ビジネスアナリシス(BA)
  ビジネスモデリング(BM)
の3種類ある。

データを可視化し、行動(営業活動など)に結び付けるのは、BIの
部分で、これは、データサイエンティストが、涼しい部屋で分析して
いるようなものではなく、現場の人とか、みんなが行う作業になる
(Excelをみんなが使うように)

つまり、BIの部分は、世の中の人みんなが知ってるべきことになる。
そこから上の、ビジネスアナリシスに関しては、一部の人が知っていれば良い




ということで、データの可視化や、BIのようなことは
高校の情報でやるのがいいと思う。

高校の数学で統計を行うので、それを実際に使うという
内容で、高校の情報で、データの可視化、そこから行動への結び付けを
説明してくれると、いいと思う。

数学で、三角関数を習った後、物理で、波を表すのに、三角関数を使うように、
高校の数学で統計を習った後、情報で、BIをやるのに、統計的知識を使うように

すれば、いいんではないでしょうか?


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ルネサス、小中学生向けのマイコン制御プログラミング学習用マイコンカー

2013-07-27 14:40:42 | Weblog
これ、楽しそう!!

ちなみに

2013年度より必須となった中学生のカリキュラムで、技術家庭科の「計測と制御」向け教材としての活用も視野に入れ、学校教材関係で豊富な経験を持つマルツエレックが販売する。


中学で、ここまで行くということは、
高校で、ルネサスのさくらボード
大学で、ETロボコンですね!

わかります・・・


ルネサス、小中学生向けのマイコン制御プログラミング学習用マイコンカー
http://news.goo.ne.jp/article/mycom/trend/mycom_833035.html

(このエントリ内の太字は上記記事より引用)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

気の毒なのは、政府が需要があるかのように喧伝したため教育投資をしてしまった過渡期の人達だ

2013-07-27 09:03:08 | AI・BigData

文系博士号と弁護士資格は、労働市場では需要がなく新規参入者には厳しいことが周知されつつあり、目指す人も減ってきているだろう。いずれ均衡状態に向かうと思われる。気の毒なのは、政府が需要があるかのように喧伝したため教育投資をしてしまった過渡期の人達だ。

https://twitter.com/oishihi/status/360789856374362112


データサイエンティストも?
あんまり、求人募集してないよね。政府は需要があるかのようにいってるけど。

昔のプログラマもその点は同じだけど、
あれは、新規参入は、楽だった
(募集は確かにしてるし、今もしてるけど、政府が需要予測したほどではない)

P.S 「あんまり、求人募集してないよね」が「うそ~」という人、
リクナビで

データサイエンティスト、データマイニングエンジニア
http://next.rikunabi.com/tech_soft/lst_jb0505100545/

を調べると、2件しかヒットしない(求人募集総数3375 件)

ちなみに、募集していた会社は

ここ(株式会社アイズファクトリー)



ここ(リクルート)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Struts2のお勉強2-必要最小限のファイル

2013-07-26 16:00:08 | JavaとWeb
このまえの

Struts2のお勉強1-とりえず、strutsのブランクページを出す
http://blog.goo.ne.jp/xmldtp/e/99e7902838d20932ec6648fa643a4ac6

のつづき。

日本語英語とかは関係なく、必要最小限のファイル作成で、
Struts2を動かすことを、今回は考える。

こんなかんじ




■お題

以下の画面

に英字を入力し、ボタンをクリックしたら

と表示される。




■必要なファル

今、s2demoというアプリ名にするとすると、
webappsの下にs2demoというフォルダーを作成し、
以下のファイルを置くことになる。

s2demo
 |-index.jsp (はじめに表示する画面)
 |-next.jsp  (遷移先)
 *-WEB-INF
    |-web.xml (Tomcat設定ファイル)
    |-lib  (ライブラリ)
    *-classes
       |-struts.xml(struts2設定ファイル)
       *-s2demo
          *-DemoBean.class

このうち
  index.jsp,next.jsp,s2demo.DemoBean.classは、今回作成したもので、
  アプリによって違う。

  web.xmlとlibの中のファイルは、struts2-blankのものをコピーしただけ。
  何も変えていない。

  struts.xmlは、設定ファイルで、ファイルは必ず存在するが、
  内容は変わる

以下、index.jsp,next.jsp,DemoBean,struts.xmlについて説明する。




■struts2タグ入りJSPファイルindex.jsp,next.jsp

 index.jsp,next.jspは、どちらも、ビュー用のファイルで、
 struts2タグ入りJSPファイルとなる。
 この例での内容は、以下のとおり

index.jspは、こんなかんじ
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>DEMO</title>
</head>
<body>
<s:form method="POST" action="demo.action">
<s:textfield label="simei1" key="simei1"/> 
<s:submit value="do"/>
</s:form>
</body>
</html>
 


next.jspは、こんなかんじ

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>DEMO</title>
</head>
<body>
<s:label label="simei1" key="simei1"/>
</body>
</html>



s:で始まる、struts2用のタグがある。
struts1.Xでは、ここがhtml:とかだった。
(つまり、タグが変わった)




■struts2設定ファイルstruts.xml

 struts1.Xのときには、struts-config.xmlが設定ファイルだったが、
struts2では、struts.xmlが設定ファイルとなる。内容は、こんなかんじ

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<package name="s2demo" namespace="/" extends="struts-default">
<action name="demo" class="s2demo.DemoBean">
<result name="next">/next.jsp</result>
</action>
</package>

</struts>



ここで、index.jspで呼び出したdemo.actionと、Beanのs2demo.DemoBean、
次の画面の(Beanの返り値)nextとnext.jspが結び付く




■Javaプログラム

 Struts1.xでは、ActionFormとActionの2つを書いていたが、今回はbeanとして、
これら2つを、以下のように1つにまとめて書く。

package s2demo;

public class DemoBean {
private String simei1;

public String getSimei1()
{
return simei1;
}
public void setSimei1(String simei1)
{
this.simei1 = simei1;
}

public String execute() throws Exception
{
this.setSimei1(getSimei1());
return "next";
}

}

Struts1のように継承せずPOJOとしても書ける(ActionSupportを継承することも)




最小限だと、こんなかんじ。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

<みずほ誤発注>「システム上の不具合の発見は容易ではなかった」と東証側の主張を一部認める

2013-07-25 15:42:04 | Weblog
ここのニュース

<みずほ誤発注>2審も東証に107億円賠償命令 東京高裁
http://headlines.yahoo.co.jp/hl?a=20130724-00000038-mai-brf

によると(以下太字は上記サイトより引用)


株の誤発注で損失が拡大したのは東京証券取引所のシステムに不備があったためだとして、みずほ証券が東証に約415億円の損害賠償を求めた訴訟の控訴審判決で、東京高裁(加藤新太郎裁判長)は24日、東証に約107億円の賠償を命じた1審・東京地裁判決(2009年12月)を支持し、みずほ側の控訴を棄却した。


ただし、

審と同様にジェイコム株の取引成立数が発行済み株式数の3倍を超えた時点で「異常があることを認識できた」と指摘。その約1分半後には東証が売買停止措置を取ることが可能だったにもかかわらず、「著しい注意義務違反があった」と断じた。


ということで、売買停止できたことに対する注意義務違反で


一方で、「システム上の不具合の発見は容易ではなかった」と東証側の主張を一部認め、賠償金に伴う利息の利率を1審より低減した。


とのこと・・・




とても、まっとうな判決だ。
そのとおりで、すべてをシステムのせいにしてしまうのは問題で、
システムはバグがあることを前提とした上で、
バグがあったとしても、問題を起こさない体制作りが必要だ!

今回の場合は、売買停止にする必要があったし、
そういうことが迅速にできる体制が必要だったよね!

一部のソフトウェア工学論争に陥ることをせず、
ソフトウェアを使って、どういうBCPを描くか?
そこを考えないといけませんよという、
当たり前の結論を、(某雑誌等の(^^;)外野の意見に流されること無く、
出した東京高裁は、えらいと思う。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Webで調べられると思うことから、デスマーチは始まることも・・

2013-07-25 12:09:39 | Weblog
昨日、「営業の技術力の問題」からデスマが始まるみたいなことを書いたけど、
それ以外でも、「Webで調べられる」と思っていることから、デスマーチが始まる
こともある。




マネージャーの人、営業の人、大学の先生、学生、新人、無邪気な人、ポジティブシンキングが好きな人・・・

などは、ソーシャルの力を信じ、Webに何でも載っているから、
調べれば(知らないことでも)仕事ができると思っている人たちがいるようだ。

それは、希望的観測だ。
そんなような気でいると、思わぬところではまり、
進捗が滞ってしまう(デスマーチ化する)。
いや、最悪、できなくなる。




これの大元は、

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」
http://blog.sumyapp.com/2013/07/no-recommend-rails/

に極論が書いてあるけど、フレームワークには【ハリウッドの法則】が効くので、
自分に関係あるところしか、覚えない、触らないことから起こる。
フレームワークには、自分が触るところ以外に膨大なソースコードと「からくり」がある。

したがって、その「自分の知らない」膨大なソースコードが「悪さ」すると・・・

・・・何が起こっているのかわからない。

ここで、問題が起こる。

 この、何が起こってるかわかんないけど、不具合ということは、
 とてもよく起きるんだけど、
 そのとき、ネットで調べると・・・

「新しいフレームワークだと」
 ・おなじ現象は起こっているけど、解決策の書き込みが無い
 ・解決策をやってみたけど、さっぱり
   →オープンソースだと、バージョンが上がってしまうと、
    中身をごっそり変えられることがあり、そうすると、
    以前の対策は効かない

「マイナーなフレームワークだと」
  ・そもそも、検索してもでてこない

 これらは、キーワードの選択の問題ではない。
 まだ、それをブログに書いている人がいないから・・・という問題だ。




 じゃあ、枯れたフレームワークとかを使えばいいじゃん!
 と思うかもしれない。
 しかし、そうもいかない。今度は

「枯れたフレームワーク」
  ・解決策が、いっぱいあって、どれをやればいいか、わからない
   全部をやると、すごい時間が・・

 ということがある。具体的に例を挙げよう。




TomcatのJSPで文字化けがおこることがある。
この修正方法として可能性があるものをネットで調べると、
こんなかんじかな・・・

・JSPのpageディレクティブに、文字セットの指定をいれる

・(クライアント側のブラウザにおけるHTMLの解釈の問題と考え)
 HTMLのメタタグで、文字セットを指定する

・SetCharacterEncodingFilterを利用する
  →http://www.javaroad.jp/opensource/js_struts10.htm
  (strutsでの解決法になっているけど、サーブレットでも使える可能性あり)

・server.xmlでUseBodyEncodingForURIを設定する

・request.getParameter("パラメータ名")でなく
  new String(request.getParameter("パラメータ名").getBytes("ISO-8859-1"), "Shift_JIS");
  →http://oshiete.goo.ne.jp/qa/4412385.html

・サーブレットの中で、
   res.setContentType("text/html; charset=Windows-31J");
  →http://www.javaroad.jp/servletjsp/sj_servlet13.htm

・(クライアント側のブラウザにおけるHTMLの解釈の問題と考え)
   ”美乳”と書いてみる


7つぐらい、すぐに検索できる。もっと検索できるかもしれない。
この中では、「今はもう、そんなことしないよ~」というのもある。
そう、そうなのだ。
検索結果は、昔のものも、今のモノも出てくる。
だけど、最近始めた人は、そんな前提がわからない。
全部試すしかない・・・

・・・さらにだ・・・

これ、1つやればうまく行くとは限らない。組み合わせかもしれない。
つまり、可能性は7つあるので、

  7つのうち、7つ全部やる組み合わせ
  7つのうち、6つやる組み合わせ
  7つのうち、5つやる組み合わせ
  7つのうち、4つやる組み合わせ
  7つのうち、3つやる組み合わせ
  7つのうち、2つやる組み合わせ
  7つのうち、1つだけやる

の可能性があり、これを全部やってもできない可能性がある。




つまり、ネットでしらべると、莫大な数の可能性がでてくることがあり、
それをどれか一つやればうまく行くというわけではないので、
片っ端からやっていくと、莫大な時間がかかり、はまる。

実際、これをやろうとしたとき、場合によってはJSPが保存されていることがあるので、
workファイルを削除しないといけないことがあるというのを知らないと、
正しいやり方なのに、結果は(前にやったテストの内容がそのまま表示され)
正しくないように見えることもある・・・

枯れているフレームワークでも、ネットで調べると大変なのだ・・・




だから、ネットで調べると、どうにかなると思っていると、
どうにもならないことになってしまい、デスマーチになる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

営業が技術に詳しくないと、デスマーチは、なくならない

2013-07-24 11:53:03 | Weblog
 まえの、ブラック会社によろしくだけど、結局、営業と顧客が技術者以上に技術に詳しくないと、無理な契約をして、デスマーチ、ブラック企業になっちゃうよね。




 営業の場合、仕事を請けるか請けないかの判断を、本来しなければいけない(できないことを請けても会社の不利益になるから請けてはいけない)。

 また、顧客は仕事を発注して大丈夫かの判断を、本来はしなければいけない(=営業の言うことを信じてはいけない。結局損をするのは自分)。

 そして、請けるか請けられないかのぎりぎりのラインは、技術的に判っていないと判断できない。 



 例えば、Railsが使える場合と、それから外れるような画面が必要な場合だと、開発工数がまったく違ってくる。これをRailsが使えるものと見なして全画面を見積もってしまえばデスマーチとなる。

 レスポンシブWebデザインなども、使える場合と使えない場合がある。ところが、技術が無いお客さんだと、成功事例を鵜呑みにして、全部、レスポンシブWebデザインで、手を入れないでワンソースで作成できると思ってしまう。営業が、その仕事を無批判に請けると、デスマ化する。



 だから、表面的な成功事例を知っているだけでなく、どのように開発をして、どんなとき無茶振りになるかがわかる程度の技術力が、顧客・営業双方にないと、無理な契約を自然としてしまい、デスマーチ化する。




 ところが、少なくとも日本の場合、顧客や営業は技術を技術者ほどは、知らなくていいことになっている(限界を知っているということは、技術を使って物を作るよりも、詳しく知らなければならない=技術者よりも、営業のほうが知らないといけない)。

 だから、日本からデスマーチがなくなることは、ない。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「ブラック会社によろしく」が面白すぎる!

2013-07-24 00:42:25 | Weblog

ブラック会社によろしく
http://wedding.gnavi.co.jp/recruit/


STOP!デスマーチをクリック!
その漫画、
「そもそも僕たちは何を作っているんですか」
「俺達にそれを考える権利はない」

そーなんだよねー。
でも、これを認めてしまうと、大学のソフトウェア工学って、
すべてが無意味になってしまうんだよね~
ゴールや目的から出発してるから・・
でも、この漫画が「この物語は事実をもとにしたフィクションであり・・」
というように、これが現実だよね・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Struts2のお勉強1-とりえず、strutsのブランクページを出す

2013-07-23 17:51:35 | JavaとWeb
なんか、Struts2をやらなきゃいけない御時勢のようです
ということで、はじめてみます。
まずは、strutsのブランクページ(strutsが用意するHelloWorldみたいなもの)
を表示してみましょう




■ダウンロード

 何はともあれ、ダウンロード。
 http://struts.apache.org/download.cgi
にいって、スクロールすると、こんなかんじ

でStruts2系のものがでるので、クリックしてダウンロード




■struts2-blank.war取得

ダウンロードできたら、解凍する
そうすると、解凍したフォルダ(struts-2.X.X.X Xは数字で、バージョン番号)の
下に、appというフォルダがあり、そのappの中に

のように、struts2-blank.warがある。これをコピー




■webappsの下におき、ブラウザで見る

このstruts2-blank.warをTomcatのフォルダのwebappsの下にコピー。
Tomcatを起動すると(あるいは起動している場合)
ちょっとたったら、ブラウザから

http://localhost:8080/struts2-blank

を開くと、こんなように

見える。これで、ブランクファイルはでた。




次に、必要最小限のシステムを考えてみる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Struts1.X系がサポート終了(EOL)になってた、知らぬ間に・・もうStruts2しかない

2013-07-23 15:39:40 | JavaとWeb
今、新人研修の確認のため、Strutsのサイトにいって、最新版を調べようとしたら・・・

http://struts.apache.org/

(以下太字は上記サイトより引用)

Apache Struts 1 End-Of-Life (EOL)
The Apache Struts Project Team would like to inform you that the Struts 1.x web framework has reached its end of life and is no longer officially supported.


あちゃ、struts1.X系(ふつう、strutsというと、こっち)がサポート終了になってますね!
struts1とstruts2ではぜんぜん違うので、移行するとなると、たいへんっす。

今度、このブログでも、Struts2を取り上げますね!

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Openflowのコントローラーって、Bigdataによさそうな気がするんだけど・・・

2013-07-23 13:12:06 | ネットワーク
Openflowのコントローラーって、データが集まってくるわけだから
そこのデータを収集して、BigDataに・・・
っていうソリューションは、できそうな気がするけど、
OpenFlowとBigDataを絡めてくる人は、あまり居ない気がするのは
気のせい?


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする