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

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

中国でiPhone5sが爆発 → 「5sの爆発事例は世界初」

2013-11-08 20:03:15 | Weblog
そういう評価の仕方もあるわな・・・(^^;)


中国でiPhone5sが爆発 / 中華系メディア「5sの爆発事例は世界初」
http://rocketnews24.com/2013/11/06/385475/


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

Struts2等におけるプロパティファイルの参照方法

2013-11-08 16:23:23 | JavaとWeb
Struts2では、プロパティファイルの参照方法として、3種類(細かくは4種類)くらいに分けられる。


(1)ActionSupport(を継承したクラス)で見る
(2)JSP内で見る
(3)sタグを使う
    s:propertyを使う
    s:textを使う

以下、順にみていく



■前提
プロパティファイルを
WEB-INF/classes
の下に、「global_ja.properties」というファイル名で作成する。
内容は
sample.title=This is global screen.



また、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="struts2test" namespace="/" extends="struts-default">
<action name="test" class="struts2.test.TestAction">
<result name="success">/kekka.jsp</result>
</action>
</package>
<constant name="struts.custom.i18n.resources" value="global"/>

</struts>

(赤字のところが、今回の説明対象)
プロパティファイルは宣言されているものとする



■ActionSupport(を継承したクラス)で見る
ActionSupportを継承したクラスで、getText(プロパティ名)で見れる


package struts2.test;

import com.opensymphony.xwork2.ActionSupport;
// 参考:http://ameblo.jp/tyoku123/entry-10439370680.html

public class TestAction extends ActionSupport{
private static final long serialVersionUID = 1L;

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

private String msg;

public String execute()
{
setMsg(getText("sample.title"));

return SUCCESS;
}

}


赤字のところが、今回の説明対象




■JSP内で書く

これは、struts2に限ったことではないが、ResourceBundle.getBundle
したResourceBundleオブジェクトに対して、getString(プロパティ名)
すると、値が取れる。

このサンプルは、「sタグを使う」とまとめて、後述のJSPサンプル内
にある。




■sタグを使う

s:propertyの場合には、value="getText('プロパティ名')で、
s:text name="プロパティ名"で
それぞれ取ってこれる。

「JSP内で書く」と合わせて、JSPサンプルは、こちら!

<%@ page contentType="text/html; charset=Shift_JIS" import="java.util.*" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<%

Locale objLcl = request.getLocale();
ResourceBundle objRb = ResourceBundle.getBundle("global",objLcl);
String str = objRb.getString("sample.title");

%>
Actionから :<s:property value="msg"/><BR/>
JSPで    :<%=str%><BR/>
s:propertyで:<s:property value="getText('sample.title')"/><BR/>
s:textで  :<s:text name="sample.title"/><BR/>
</body>
</html>


結果

なお、このJSPは、前述のActionSupportの後に来ているJSPで、
ActionSupportの属性msgをs:property value="msg"で表示
している




■参考サイト

1.クラスライブラリを攻略「ユーティリティ編」 (1/5)
http://www.atmarkit.co.jp/ait/articles/0309/09/news002.html


2.Struts2:properties(プロパティファイル)の設定と取得
http://ameblo.jp/tyoku123/entry-10439370680.html



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

ブラック企業の創りかた - なぜ、ソフト関係はブラック化するか・・・

2013-11-08 12:32:13 | Weblog

ブラック企業の「経済合理性」を検討する
http://diamond.jp/articles/-/43994

なんだけど、
ちょっと、大切なことが抜けている気がするので・・・
いろいろ書いてみる。




まず、一般に「ブラック企業」になろうと思ってブラック企業に
なっている会社は、あるだろうけど、少数派だろうという点だ。
多くは、ブラック企業になろうとは、思っていない。
経済的にあわないから・・・
(退職されるコストは、意外と大きい)

では、なぜ、ブラック企業ができるのかというと、

ユニクロ敗訴 柳井会長の「残業はするな」ただし「生産性は上げろ」はこれからも続くのか?

という一言が、端的に物語っている。

「残業はするな」ただし「生産性は上げろ」

といっても、どうやるかの指示はない。
じゃあ、できない。

つまり、オペレーションの方法論が無く、
オペレーション技術が十分でない場合に
ブラックになりやすい




逆に言うと、オペレーションの方法論がわかっている人は、
生産性が上げられるので、この人たちは問題がない。
そこで、生産性が上げられる人が優遇される一方、
多くの「そうでない人たち」は、退職していくことになる。

というと、弱肉強食で、優秀な人材ばかりが残りそうだが、
じつは、そうならない。

生産性が上げられる技術を部下が持っていても、
上司がわからないと、それを実現できない
(上司の「わけわからん」やり方を、やらされる)
そして、優秀なやつほど辞めるのに有利。
結果として、優秀なやつまでもやめてしまい、
要領のいいやつがのこる。

・・・ので、組織としては弱くなる。




つまり、仕事量に対して、生産が追いつかない、
そもそも、どのように仕事をしていいかわからない場合に、

  残業するしかないし、
  上司は(方法が思いつかないので適切な指示が出せないから)
    パワハラするしかないし、
  残業代もはらえない(生産してないから)

そうなると、仕事の仕方がわからないので、
一生懸命死ぬほどやるけど、生産が追いつかず、
弱いところに歪が出て、辞めるしかなかったり、過酷な労働になる。

で、辞めた人を補おうとしても、
その人も仕事の仕方はわからないので、
一生懸命死ぬほどやるけど、生産が追いつかず、
結局辞める。




ユニクロなどの場合は、小売の技術=店舗オペレーションになるけど、
ソフトウェアの場合も同じであって、

見積もりを立てるときの変更予測と、
その変更に強いアーキテクチャを設計する技術は、
(ソフトウェア工学を応用するとあるんだけど)
あまり知られていない。

アジャイルは変更に強い開発方法論であり、アーキテクチャではないし
見積もり予測は、プランニングポーカーを使うということや、
ベロシティを測るということしか、アジャイルでは、言っていないので、
アジャイルだけでは、変更に耐えられるとは、いえない。




というか、これらの技術は、世の中、普通考えている常識と真逆のことなので、
常識的に考えると、たいてい、デスマる。
(たとえば、わからないことを、ネットで調べていくと、
 たいてい、おかしなシステムになる・・・理由は今度書くけど)

でも、
システムには必ず変更があり、
納期は決まっているので、
結局残業ということになり、
でも、予算は決まっているので・・・
となっていくと、ブラック企業になりやすい。

そして、新しく入ってくる人は、
新技術に対応するために、
わからないことを、ネットで調べていくと、
たいてい、おかしなシステムになり、デスマる・・・

のスパイラル(っていうかループ)になっていくわけだ。


これが、「ブラック企業の創りかた」

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

統計モデル その1

2013-11-08 09:29:22 | AI・BigData
昨日の授業の「統計モデル」の内容をメモメモ
授業としては、共分散構造分析(SEM)なんだけど、
今回は、第一回目なので、それ以前の話。




■授業に関して
・構造方程式モデリング
   共分散構造分析
   因子分析

・復習
  共分散という言葉がわからないと・・・
  回帰:共分散で重要

目的
 共分散構造分析
 探索的因子分析

ソフト
  R:lavaan/sem
  探索的:psych(サイコロジーのサイ)
  Rコマンダーは、
    探索的因子分析と検証的(確認的)因子分析はOK
    SEMX
  AMOSは使わない(宿題に使ってもOK:計算機室に10台)
  Mplus最強!


■SEMとは
 図を描いて分析
  →パス図
 変数間の因果の流れ
   ○の関係
 四角の部分:具体的なデータ
   質問文→観測変数  

・やること2つ
 ○って、どんなもの?測定モデル(=確認的因子分析)
 ○の間で因果の流れ、強さ:構造モデル(=回帰分析・パス解析)

・知能:スピアマン
  因子分析のはじまり

・SEMでは、四角(値)の間の関係も見れる
   一番単純:四角形2つ 単回帰分析

・風が吹けば桶屋が儲かる
   四角形がつながっていく

・ユーザーの視点
  変数間の因果関係の分析方法
   →因果の方向性はわからない
    因果がこれでいいと思ったとき、強さがわかる
  因子分析と回帰分析を同時に
  モデルの適切さ

・統計学的視点
  観測変数間の共分散行列を
  データとモデルの両方で表現し
  近くなるように・・

・SEMが適用されるデータ
  基本的には量的データ
  質的データ
    男女、居住地域、企業


■分布・代表値・分散・標準偏差
・変数と観測対象
  データ=観測対象X変数(多変量データ)

・代表値
    身長、年齢、性別
Aさん
Bさん
Cさん

身長i i→添字

日本語で示すのは面倒
アルファベット:変数が多くなると・・・

Xi1,Xi2・・・Xij

何がうれしいのか?→Σが使える

・分布
 分布:変数の各値がどれくらい取られやすいか

   平均だけではデータの様子があらわせない
     山形、一様
   ばらつきもあらわす
   →分散と標準偏差

 分散
   分散
   不偏分散
   標準偏差

 分散の仕組み
   (観測対象の得点-平均)の2乗の平均
   →2乗でペナルティを与えている
    正規分布のパラメータの1つ

 正規分布:式で表せる:分散入ってくる
 (のーまるディストリビューション)

 分散と標準偏差の単位
  分散:単位 平方・・・
  標準偏差:単位
   平均にプラスマイナス1標準偏差をすると・・
    →単位が同じだからできる

■標準化(基準化)・共分散・相関

・標準化・基準化
  観測対象iの全体の中での位置を知る
  データを標準化してから分析する
  結果を標準化する

 データの散らばりも考慮する

・標準化の計算
  Zi=(Xi-X)/Sx

 Zi:Xiが平均からSxの何倍離れているかを示している


■2変数間(XとY)の関係
・平均、分散、標準偏差、中央値、最頻値
  →1変数

・量的2変数
  →散布図

・質的変数
  →クロス表、連関係数

量的変数間の関係
  ・同じように変化
  ・逆
  ・関係ない
  →それ以外も(U字型など)

散布図:数値に→相関

カテゴリ→バブルチャート
  人数で円

共分散
  2変数の関係を数字で表した
   Sxy=1/nΣ(xi-X)(yi-Y)

  ところで、分散は
 Sx2=Sxx=1/nΣ(xi-X)(xi-X)
  同じ形・・・

・SEMでは共分散行列が登場する
 →対角線(同じ変数)は分散

・単位を考える
 元のデータを10倍する
  →共分散は100倍される
  →共分散は変数の単位に依存する

 →そこで相関係数
   共分散/SxSy
    =1/nΣXの標準得点*Yの標準得点
  相関係数はー1~1まで
   →単位の情報はなくなる

・相関行列
  対象になっている:対称行列
  状況によってはSEMで相関行列を扱うことも

・相関係数は、散布図の直線性の指標である
  おなじ変数の相関は1

質問:相関係数が大きい→直線でなくてもいいのでは?
  →じつは散布図を描かないとわからない
  例:低いところで無相関
      →だけど、高いところに1点だけ
    正の相関が出る。

・相関行列は因果に言及してはいけない
  理論的に因果を考え分析:回帰分析


■回帰分析
・因子分析と回帰分析
  因子負荷量→回帰係数
  共通性→決定係数

・回帰分析
  独立変数(群)によって、
  従属変数を説明/予測するための分析方法

・独立と従属
  独立変数:因果関係の原因にあたると推定
  従属変数:因果関係の結果に当たると推定

・説明と予測
  説明:目の前にあるデータに興味
    例:地震のメカニズムをデータから
  予測:母集団に興味
    例:地震予測をデータから

■単回帰分析の復習:Rによる単回帰分析
・独立変数が1つで、線形の場合
  従属変数=β+α1X独立変数1+誤差

   β:切片
   α:回帰係数(傾き)

 SEMで
   四角で書いてある:観測されているもの
   ○、楕円で書かれてる:観測されていない

・回帰分析を実行して直線を描く

・切片と回帰係数
  切片  :独立変数が0のとき
  回帰係数:独立変数が1あがったとき

・実測された値=予測値+誤差
  回帰分析:うまく説明できているの?
   →実測値と予測値の相関を使う
  重相関係数を2乗したもの→決定係数と同じになる

・決定係数:説明率
 従属変数の分散(個人差のばらつき)を
 独立変数でどれくらい説明できるか

■重回帰分析
・独立変数が2つ以上で線形の場合の回帰分析
  誤差はつく(○でかく)

・Y=β+α1X1+α2X2+e

  α1、α2:偏回帰係数

・重回帰分析で注意すること
  回帰係数と偏回帰係数の違い
  多重共線性

 回帰係数と偏回帰係数の違い
  重回帰分析の係数の話:A、Bのいずれか
   解釈A:他の変数を固定したとき、独立変数が1あがる
   解釈B:他の変数を排除したとき、独立変数が1あがる
  →パス解析も同じ
 なぜ、こういう解釈?
  独立変数の間にも、相関がある

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