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

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

Java SE 7のパブリック・アップデート、4月で終了

2015-04-22 13:56:34 | JavaとWeb

Java SE 7のパブリック・アップデートの終了通知
https://java.com/ja/download/faq/java_7.xml

今年の4月30日(つまり来週)に無償版のアップデートは終わるらしい。


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

DQNって、「いっちゃってる」人のことじゃないの?→人工知能です

2015-04-22 10:09:16 | Weblog
DQNっていったら、危ないっていうか・・「いっちゃってる」人のこと
だと思いますよねえ・・・

そうじゃなくって、汎用人工知能の1つらしい・・・


ゲーム攻略で人間を超えた人工知能、その名は「DQN」
http://wired.jp/2015/02/28/google-deepmind-atari/


日経ビジネスの2015年3月30日号
特集「戦慄の人工知能 AIが企業を動かす日」
の34ページにも載ってる


ま、ある意味、人工知能で「いっちゃってる」といえるかもしれないが・・

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

Industry4.0じゃなくって、Industry4.1J?

2015-04-21 15:06:22 | Weblog

最近、Industry4.0はよく聞くけど、Industry4.1Jってのがあるらしい。


VECとNTTコミュニケーションズ、 製造現場とクラウドをつなげた高セキュリティな
「Industry4.1J」実証実験プロジェクトを開始
~IoTにおけるセキュリティ面の課題を解決する日本版「Industry4.0」で
産業界での安全確保・効率化を加速~
http://www.ntt.com/release/monthNEWS/detail/20150309.html


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


ドイツやアメリカが推進している「Industry4.0」(【別紙1】参照)では、産業分野に焦点を当てて、インターネットを利用して現場の情報をパブリッククラウドに蓄積しリアルタイムに分析・活用することで、「第4次産業革命※1」と呼べるような更なる社会革新(商品の品質向上・エネルギー利用効率化など)を目指しています。
ところが、制御システムを標的にしたサイバー攻撃の脅威が高まってきた2009年頃より、日本企業をはじめ多くの企業は、制御システムや装置、機械をウイルスから守り事故を防ぐために、現場の制御システムネットワークをインターネットから切断するという対策を取ってきました。インターネットから切断された現場では、生産活動で発生する様々なデータをクラウド上に収集することが不可能になるため、クラウド活用による現場の改善活動を実現することができません。このように、「Industry4.0」では、サイバー攻撃が恒常化する世界でクラウドと生産現場間を安全に接続することが大きな課題の一つになっていました※2。
本プロジェクトでは、この課題をNTT Comが提供するセキュアなプライベートネットワーク・クラウドサービスを利用することで克服することを目指します。


ってか、そもそも、工場って、インターネット入る前からFAとかでいろんな通信機器が
入っていて、インターネット技術(The Internetに接続はしないけど、TCP/IP技術を使う)
でまとめることすら、大変なんじゃないの?

・・・そんなことない?

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

JavaのJSRで定めようとしているMVC(1.0)について

2015-04-21 10:11:37 | JavaとWeb
Javaのおきては、JSRというので決まっている。
そのJSRの371

JSRs: Java Specification Requests
JSR 371: Model-View-Controller (MVC 1.0) Specification
https://jcp.org/en/jsr/detail?id=371

は、MVCについて、決めようとしているんだけど、
それについて、

[jjug-members] MVC 1.0のEarly Draft Reviewについて

というかたちで、JJUG(Japan Java User Group)の人たちに流れてきた
メールが興味深いので、ここに公開しちゃう!

(いいのかな?ま、いいか)

以下の太字は、そのメールからの引用






こんにちは。
(メール作者の名前)です。

先日MVC 1.0 (JSR-371)のEarly Draft Reviewが出ました。まだまだ完成度は低いですが、一応試すことができます。
自分で0から環境を作るのも大変なので、簡単に試せるようにMaven Archetypeを
(メールの作者が)作ってみました。(Gradle好きな人すいません)

Bashの場合、

mvn archetype:generate\ -DarchetypeGroupId=am.ik.archetype\ -DarchetypeArtifactId=mvc-1.0-blank-archetype\ -DarchetypeVersion=1.0.0-m01
コマンドプロンプトの場合、

mvn archetype:generate^ -DarchetypeGroupId=am.ik.archetype^ -DarchetypeArtifactId=mvc-1.0-blank-archetype^ -DarchetypeVersion=1.0.0-m01
で雛形プロジェクトが作成されます。

作成例:

$ mvn archetype:generate -B\ -DarchetypeGroupId=am.ik.archetype\ -DarchetypeArtifactId=mvc-1.0-blank-archetype\ -DarchetypeVersion=1.0.0-m01\ -DgroupId=com.example\ -DartifactId=mvc-demo\ -Dversion=1.0.0-SNAPSHOT

生成されたプロジェクトをNetBeans8で開き、プロジェクト名を右クリック→「実行」

埋め込み画像 1

サーバーで「GlassFish Server 4.1」を選択し、「OK」をクリック

埋め込み画像 2

http://localhost:8080/mvc-demo/app/helloにアクセスすれば、サンプル画面が表示されます。
(mvc-demoの部分はartifactIdになります)
埋め込み画像 3
(このサンプルではViewにFaceletsを使用しており、その影響でweb.xmlが必要になっています。こちらが詳しいです。JSPなど他のViewを使う場合はweb.xmlを削除しても構いません)

是非、試してフィードバックをブログやこのMLに書いてみてください!
現状の課題については https://github.com/chkal/todo-mvc が参考になると思います。


仕様のドキュメントはまだ実質15ページほどで、簡単に読めるので
今後のMVCの動向に興味のある方は今のうちに読んでおくことをお勧めします。

http://download.oracle.com/otndocs/jcp/mvc-1-edr-spec/index.html

JSR-371に関しては
https://java.net/projects/jjug/pages/JSR-371
に情報を集めていますので参考にしてください。






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

「ラズパイで作ろう! ゼロから学ぶロボット製作教室」という記事

2015-04-20 13:00:24 | Weblog
があるそうな。興味しんしん。
あとでみる(まだ読んでない)。


ラズパイで作ろう! ゼロから学ぶロボット製作教室
第1回 ラズベリーパイの組み立てと初めてのプログラミング(1)
子供とも一緒に作りながら学べる
http://itpro.nikkeibp.co.jp/atcl/column/15/040800081/040800001/

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

マイナンバー特需の関連市場は3兆円だそうな

2015-04-20 12:59:29 | Weblog
むかし、みずほ銀行のシステム開発で4000億円とか言ってたのとは、桁違いだね!

マイナンバー特需への期待高まる、IT業界各社の動き…関連需要は3兆円との試算も
http://biz-journal.jp/2013/08/post_2660.html

ただ、マイナンバーを導入しただけでは、いまのところ、税金とかにしか使えないので、
(コンピューター関連以外の)企業は、直接儲かるわけではないんだよね。
つまり、マイナンバーは、経費。
この経費の穴埋めは・・・新規開発延期?


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

「Ruby、R、HTML5を用いたデータ解析データビジュアライゼーション」を聞いてきた

2015-04-17 06:46:10 | AI・BigData
昨日、「データサイエンティスト協会」の「木曜勉強会」で

「Ruby、R、HTML5を用いたデータ解析データビジュアライゼーション」

を聞いてきたので、その内容をメモメモ





■データサイエンティスト協会から
統計数理研究所 データサイエンティストのインターンシップ:企業紹介
慶応大学:YAHOO、QPR(マクロミル)3Dセンサーデータの解析のコンテスト http://dmc-lab.sfc.keio.ac.jp/digci/
dotsを使うよ
個人会員は無料

■内田洋行から会場について
futute class Room
New Education expo 2015にでるよ!
会場のコンセプト映像


■Ruby、R、HTML5を用いたデータ解析データビジュアライゼーション 博報堂DYメディアパートナーズ

・自己紹介
 HiveQL,R,Processing,Three,js,タブロー

・Lineの履歴の可視化
・Amazonの購入履歴の可視化

・広告会社でプログラミング?
 →研究開発ではまえでも
 むかし、アンケート、いま、ちがうものも
 →マーケティング、メディアプランニングも機械学習
  メディア開発

・広告会社が扱うデータの多様化
  従来:アンケートベース
  今:クッキーベース
    CRM、顧客データ

・カバー範囲
 データ解析の必要性●
 データ収集
 前準備
 データ解析
 モデリング
 可視化

・なぜデータ解析が必要なのか
 ミクロ経済学
  大きな見落とし
  消費者が意識している?→擬似的に数字
  常識でも理解できるかもしれないけど、モデルの力

・CASE1
 データ収集「口コミデータを収集する」
 ソーシャルツール発達
 rubyの"anemone" と"nokogiri"を使う
    クローラー  抜き出したところの処理
  →細かい話は参照してね

・CASE2
 データ収集:心拍数データを収集する
 ヘルスデータ
 webカメラで収集:WebRTC
 指の血中濃度の変化で心拍数が分かる
 WebRTC ブラウザでリアルタイム
  →赤色チャンネルの明度を計算(平均値)

・CASE3
 データ可視化 Jリーグ
 自己組織化マップ+Three.js
 オープンデータと掛け合わせ
 「データスタジアム社のデータ」
 全部のデータを使う

 自己組織化マップ
  →前情報なしで、類似しているものをマッピング

 主成分分析の場合、寄与率でどれだけ使っているか分かるけど、
 切り捨てている

 クラスタ分析:非線形には向いていない

 Rでの実装
 ライブラリ読み込み、標準化、出力、プロット

 Three.js
 3次元描画
  サイズ
  レンダラー
  カメラ位置
  シーン定義

・CASE4
 データ可視化「神戸市観光」
 DMP+Processing
 DMP:データを集める→オンライン上のデータの一元管理
  自社データ:Cookieデータ
  広告データ
  サードパーティデータ
 移動履歴データ
  デモグラごとの
 データフュージョン

 processing
 シミュレーションモデル
 フィルタリングできる

・Case5
 データ可視化 だるびっしゅ
 データスタジアム社のデータ だるびっしゅのデータを音で
 Three.js+Web AudioAPI
 球速→周波数
 球種→音の種類

 web audio API
 プラグインいらない。0ベースで音作れる

・CASE6
 データ可視化「生活定点」
 形態素解析+アソシエーション分析
 Three.js
 オープンデータになっている
 似ているものを出してくる
 生活定点をこう使う
 DMP→似たような記事
  →ふだん、どういうサイト見ている?
  →アソシエーション分析
 形態素解析RMecab
 igraph→ネットワーク表示→SVGでトレース
 サイトAを見ている人がサイトBを見ている
  →YAHOOを見ている人はGoogle見てる
  →リフト値をもとに配置位置を変える

・CASE7
 データ可視化「Takumi」
 石田たくみ君のSNSの発言履歴
 言いそうな言葉→機械学習でモデリング

・データ分析→主観含む
 分析者の定義;主観がはいる→多層的
 データビジュアライズのメリット
  探索的なデータ解析可能
  おもしろみを伝える
  データリテラシに関わらず議論できる

・データ解析はエモーショナル

http://www.mirandora.com/

で詳しく。




ごめんなさい、質疑応答は時間がなくって聞けなかった。

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

グーグル、独禁法違反の疑い

2015-04-16 11:22:58 | Weblog
って、ではどうしろと・・・
EU域内から検索したら、検索に応じないとか?

グーグル、独禁法違反の疑い 欧州委が警告
ネット検索で
http://www.nikkei.com/article/DGXLASGM15H7L_V10C15A4000000/

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

データサイエンティストにレベルがあるなんて、知ってた?

2015-04-15 12:32:10 | AI・BigData

http://www.datascientist.or.jp/news/2014/pdf/1210.pdf

の4ページ図3

業界を代表するレベル、棟梁レベル、ひとり立ちレベル、見習いレベル
とあって、それぞれ、ビジネス力、データサイエンス力、データエンジニア力
が規定されている

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

いくつにグループ分けしたらいいか分からないとき、グループ分けし、その根拠を探る方法-(2)次数下げ

2015-04-14 12:12:40 | AI・BigData
昨日、

いくつにグループ分けしたらいいか分からないとき、グループ分けし、その根拠を探る方法-(1)
http://blog.goo.ne.jp/xmldtp/e/788b7f9881e667afed1be7acb3f0dbde

を書いたけど、この方法だと、データの各要素を全て使ってクラスタリングする。そうすると、相関のある項目なんかを含んでいるため、無駄な情報が増える→雑音が増えて、肝心の知りたいことが、誤差に埋もれてしまうということがある。
(回帰の場合は、マルチコになるので、アウト)

なので、次数を下げたい。

そういうとき、どうするか・・・




■次数を下げる方法の1つ→因子分析する

次数を下げるには、表面的に見える要素の奥に隠れている、
根本的な要因を使って、分析をすればいい。
この、根本的な要因を出してくるのが(探索的)因子分析!

因子分析の因子得点を使って分析する

といっても、どれだけの因子で分析すればよいかわからない。
そこで、スクリープロットを使う




■ときかた

手順は
・データを読み込む
・スクリープロットを使って因子数をきめる
・因子分解してみる
・階層型クラスタを行い、いくつのクラスタに分けるか決める
・決めた数で非階層型クラスタリングを行う
・データの最後に、どのクラスタか、クラスタ番号を入れる
・決定木を行う(独立変数はクラスタ変数(bunrui))

■Rだと

階層型クラスタを行った後は、

いくつにグループ分けしたらいいか分からないとき、グループ分けし、その根拠を探る方法-(1)
http://blog.goo.ne.jp/xmldtp/e/788b7f9881e667afed1be7acb3f0dbde

と同じなので、そこから先は、そちらを参照してもらうこととして、
今回は、その前の因子分解するところ

#商品データ作成:shodata.csv
library(psych)
mydata<-read.csv("shodata.csv",header=T,sep=",")

#スクリープロット
VSS.scree(mydata)

#因子は2つがよさそう。


#因子分析
result <-factanal(mydata,2,rotation="promax",scores="Bartlett")
#結果表示
result

#p値的に、これ使うの?っていうのはあるけど、サンプルなんで、
#まいっか!ということで、これを使って話を進める・・・

#因子分析の因子得点(result$scores)を対象データ(mydata)に入れ替える
mydata<-result$scores

#階層型クラスタ分析
kyori <- dist(mydata, method = "euclidean")
hcl <- hclust(kyori)
plot(hcl)

#これ以降は前回と同じ


注意:スクリープロット的には、このぐらいの因子がいいと
でても、その因子数だと、因子分析が回らない(因子が多くエラー)
となることがある。

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

第4の産業革命というより、インダストリー4.0という方が普通じゃないか?

2015-04-14 07:15:42 | Weblog
今、NHKニュース(7時の)で、
「第4の産業革命」という言葉を使っていたが、
「インダストリー4.0」(Industrie 4.0)っていうほうが、
ふつうじゃないのかなあ?

インダストリー4.0とは何か?
ドイツが官民一体で進める「第4の産業革命」(1)
http://business.nikkeibp.co.jp/article/world/20140717/268842/


ようするに、スマートな工場だよね(^^)v

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

いくつにグループ分けしたらいいか分からないとき、グループ分けし、その根拠を探る方法-(1)

2015-04-13 13:53:24 | AI・BigData
これ、書いたっけ?

商品などを、いくつかにグループ分けしたい。
ただし、いくつにグループ分けしたらいいか分からない。
また、グループ分け後、どういう根拠でグループ分けしたかも知りたい

というとき、どうするか?




■なにが、問題なのか?

商品などをグループ化するには、k-meansに代表される、
非階層型クラスタリングを用いる。
 しかし、非階層型クラスタリングを用いると、
   いくつに分けるか、あらかじめ決めないといけない
   クラスタリングしても、そのように別れる根拠はわからない
 という2つの問題がある。

■ときかた
 問題に対し、
   ・はじめに階層型クラスタリングを行い、図から
    いくつに分けるか判断する
   ・別れる根拠(=分類した理由)を示してくれる決定木を使う
 ということを行う。

手順としては
・データを用意する
・階層型クラスタリングを行い、何個に分けるか決める
・決めた数で非階層型クラスタリングを行う
・データの最後に、どのクラスタか、クラスタ番号を入れる
・決定木を行う(独立変数はクラスタ変数(bunrui))

■Rだと

#商品データ作成:shodata.csv
library(psych)
mydata<-read.csv("shodata.csv",header=T,sep=",")
mydata

#階層型クラスタに分ける
kyori <- dist(mydata, method = "euclidean")
hcl <- hclust(kyori)
plot(hcl)

#ここで、図が表示される

#今回は5個に分けると決めた

#非階層型クラスタに分ける
kmeans(mydata,5)

#どうしてこのように分類されるか、決定木にかける
library(rpart)
#shobun1.csvはshohin.csvの各レコード末尾に、クラスタ番号(bunrui)を付けたもの
data<-read.csv("shobun1.csv",header=T,sep=",")
result<-rpart(bunrui~.,data=data,control=rpart.control(minsplit=5, cp=0.01))
par(xpd=T)
plot(result)
text(result)


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

IT・ゲーム業界の管理職が「年収半減」の理由

2015-04-10 15:19:24 | Weblog
いや、半減した年収(500万)のほうが、まっとうな評価で、
いままでのゲーム業界がバブルだっただけなんだけどな・・・


IT・ゲーム業界の管理職が「年収半減」の理由 - 金持ちvsビンボーの分かれ目【1】30代
http://blogos.com/article/109504/

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

「ずいぶんとダサいコードを書いているのね」

2015-04-10 06:53:33 | Weblog
というのが、本の帯にかかれた本


関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間
http://www.amazon.co.jp/gp/product/4798043761

絶対的美少女が、関数型プログラミングの思考に洗脳してくれる本?

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

COBOLな上司や大学の教育が、なぜJavascriptな現場で役立たないか

2015-04-09 07:22:42 | Weblog
おととい

ソフト業界での上司と部下の関係
http://blog.goo.ne.jp/xmldtp/e/7f2ca1d5c3a52d04a3067ecc98cd6a4c


きのう

どうして大炎上するのか?→下請け構造だと、定期的に大炎上するはず
http://blog.goo.ne.jp/xmldtp/e/7665be6873a7fa9b8ca17ec758c4e005


と好評なので、図にのって、第3弾。

いったいCOBOLな上司と、Javascript(JQuery)な現場では、
なにが違うのか・・・について具体的に書いてみよう




■COBOLな上司や、大学教育は・・・

COBOL時代、

プログラムは、上から順番に処理する

と考えていた。だから、自分で考えればなんとかできるし、
努力すればプログラム可能だと、いまだに思っている。

今の大学教育もそうだ。
プログラミングでは論理的な思考が育ち・・・
等といっているせんせ~は、「プログラムは、上から順番に処理する」と思っている。

具体的に書こう。

今、

func1
func2
func3

とあったら、1、2、3と順番に行うと思っている。
いま、そんな保証はない(例;func2が$.ajaxだったら?)
だから、

func1:値設定
func2:初期化処理
func3:やりたい処理

とかいて、平気でいる。これは、初期化処理が同期処理の場合のみ上手くいく方法で、非同期処理なら、(初期化処理はこの時点では呼び出されるだけで処理はしていないから)、func3で、「初期化処理していない」と、エラーで落ちる。

さすがに、ここまでバカな上司は、いないとしても
(学校の先生だとヤバイけど)
この世代の上司は、「ライブラリ」を使っている。ライブラリは、自分で低レベルな関数を使えば同じようなものは作れる。だから、プログラムっていうのは、がんばれば作れると思っている。




■Javaな上司

さすがに、Java世代の上司はプログラムは上から処理するとか、
がんばれば自分で何でも作れるということは、思わない。

Javaな世代は、フレームワークが中心なので、「ハリウッドの法則」は知っている。つまり、自分から呼び出すことができないので、
フレームワークが提供していないタイミング(イベント)の処理はできないことは知っている。

また、スレッドなどから、処理は順番に行われないことも知っている。

しかし、そこで終わっているのも、また、この世代の特徴。




■Javascriptな現場

 そこで諦めてしまうと、JQueryなどの操作はできない。

 画面の位置計算などは、こちらが値をセットしても、ブラウザ側で再計算してしまうことがある。こうなると、再計算後に値をセットしないといけないが、このとき(再計算後)、イベントは起こらない・・・・

・・・なので、Javaな上司は諦める・・・

でも、今の現場は違う。

setTimeout(値設定処理,30);

というように、ブラウザの再計算が終わり、再表示するまでの間に、値を設定するようにsetTimeoutしたりする。

これは一例で、こんな技をどんどん繰り出して、JQueryの画面を作っていく。




だから、Javascriptなやつらが作るJQueryをみて、COBOLな上司が「こんな画面作れ」と、Javaな社員に言っても、無理なのだ。setTimeoutで制御していくプログラムなんて、書いたことないから・・

でも、プログラムは上から流れると思っているCOBOLな上司は、気づかない・・・

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