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

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

日付などの0埋めあれこれ

2013-10-31 16:24:08 | JavaとWeb
日付が、たとえば2013年5月6日のような場合、

20130506

という風に月、日の前に0を埋める。
このようなときの注意点あれこれ




■【日付のみ】Datepickerは日付、フォーマットチェックしない。

DatePickerのdateformatを指定しても、
かならずしも、そのフォーマットで受け取れるとは限らない。

DatePickerが出ているのに、そのDatePickerをまったく無視して、
入力欄に不正の文字をいれてしまうと、その入力を受け取ってしまう。

例えば、

http://jqueryui.com/datepicker/

のview sourceで出てくるソースを以下のように修正し、

<!doctype html>
<html>
<head>
  <title>jQuery UI Datepicker</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>
  $(function() {
    $( "#datepicker" ).datepicker({
	dateFormat: "yy/mm/dd"
    });
  });
function getdate()
{
	val = $( "#datepicker" ).val();
	alert(val);
}
  </script>
</head>
<body>
 
<p>Date: <input type="text" id="datepicker" /></p>
<BUTTON onclick="getdate()">日付</BUTTON>
 
 
</body>
</html>


でたらめな日付を入れて、

「日付」ボタンをクリックすると

ちゃんと値が取れる=入ってしまっている。

つまり、Datepickerは入力支援をしてくれるだけであり、
入力値の保証は無いみたいに見える。




■if文で10以下なら0をつける場合

比較するとき、完璧に数字で比較しているならいいんだけど、
文字で"10"と比較してしまうと、
6は、10より「小さい」数字だけど、
6は、10より「大きい」文字なので(6と1を比較するので、6のほうが大きい)
となり、大小関係がおかしくなる。
たとえば、

<!doctype html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
function chk()
{
val = $( "#id1" ).val();
if ( val > 10 )
{
alert(val+"は10より大きい数");
}
else
{
alert(val+"は10よりちいさい数");
}
if ( val > "10" )
{
alert(val+"は10より大きい文字");
}
else
{
alert(val+"は10よりちいさい文字");
}
}
</script>
</head>
<body>
<p><input type="text" id="id1" name="id1" /></p>
<BUTTON onclick="chk()">チェック</BUTTON>
</body>
</html>

で、6とか入れてみると判る。

このように数字と文字を10,"10"と明示してある場合には
間違えないが、これを変数に入れてしまったりしたときに、
気がつかないことがありえる。




■キレイな0うめ

ここで、キレイな0埋めの例を見たので、メモメモ。


【JavaScript】ゼロパディング(ゼロ埋め)
http://www.ore-memo.com/447.html


val = 9; // 9にち
val = ("00"+ val).slice(-2);

0埋めしたい最大数分0をたし、桁数分-で値を入れる。
今回は2桁なので、00と-2

こうすると、1234のように、もともと幅が長い場合は34のように
下2桁が切られるが、ちゃんと2桁になる。

サンプル

<!doctype html>
<HTML>
<head>
<script>
function zero2(val)
{
return ("00"+val).slice(-2);
}
</script>
<body>
<Button onclick="alert(zero2(12))">12</BUTTON><BR>
<Button onclick="alert(zero2('2'))">2</BUTTON><BR>
<Button onclick="alert(zero2(''))"></BUTTON><BR>
<Button onclick="alert(zero2(1234))">1234</BUTTON><BR>
http://www.ore-memo.com/447.html
</body>
</html>




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

1つの画面で複数の文字コードの内容を表示する-IE以外なら可能

2013-10-31 12:31:57 | JavaとWeb
ある画面がSJISないしUTF8で、その画面にLinuxのログを表示したい。
LinuxのログはEUC-JP
なんていう場合、1つの画面に、SJISとEUCのように、複数の文字コードを
表示しないといけないことになる。

これは、可能なのか?

結論から言うと

・ログのようなテキストファイルを送る場合、
  IE以外なら可能

・IEの場合は、
  サーバ側で「Content-Type:」で文字コードを指定できないとX
  →つまり、テキストでは、そういうことができない(たぶん)。
   PHPとか、JSP,サーブレットなどで処理する必要がある




■基本的方針

 IFRAMEを使うと、IFRAMEの中に、文字なりHTMLを書き出すことが出来る。
 そこで、この

    IFRAMEの中の文字コードをSJISに変えれば、SJIS文字列が
    IFRAMEの中の文字コードをUTF8に変えれば、UTF8文字列が
    IFRAMEの中の文字コードをEUCに変えれば、EUC文字列が

 表示できるはずです※・・・めでたしめでたし・・・


 ・・・とはならないのです。
 この文字列をajaxを使って受け取り、表示させようとすると、
 なぜか勝手に、UTF-8と思って処理してくれます。
 なので、UTF-8以外のコードの文字列では、おかしな文字に変換されてしまいます。

 この変換を、断固として、阻止しなければなりませぬ!

※なお、EUC以外のSJIS,UTF-8は、IFRAMEのSRCに指定すると、IEでもChromeでも判断して
  表示してくれる




■どこで、判断しているのか?

どうも、変換してしまうのは、ヘッダーの

     Content-Type: text/html;charset=shift-jis

のところの指定が、ないからのようです。
そりゃー、テキスト表示してるんですから、ここは、操作できませんもんね。

なので、ここを、強制的に

beforeSend: function(xhr){
xhr.overrideMimeType("text/html;charset=EUC-JP");
},

と送ってしまい、その内容を表示させればいいようです
・・・・IE以外は・・・




■でもIEは・・・

ここがうまく行かないようです。
なので、現状、UTF-8でしかいきません。
IEで、うまく表示させるには、
サーバー側で、
     Content-Type: text/html;charset=shift-jis
を送らないといけないということですかね・・・




■サンプルコード

<html>
<head>
<script type="text/javascript" 

src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<title>インラインフレーム内に文字を表示する</title>
<script language="JavaScript"><!--
$(function(){ 
	$.ajax({
		type:"POST",
		url: "sjis.txt",
		datatype:"text",
		beforeSend: function(xhr){
     			xhr.overrideMimeType("text/html;charset=Shift_JIS");
		},
		success: function(msg){
			myFrame1.document.open();
			myFrame1.document.charset='Shift_JIS';
			myFrame1.document.write(msg);
			myFrame1.document.close();
 		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(errorThrown);
		}
	});

	$.ajax({
		type:"POST",
		url: "utf8.txt",
		datatype:"text",
		beforeSend: function(xhr){
     			xhr.overrideMimeType("text/html;charset=UTF-8");
		},
		success: function(msg){
			myFrame2.document.open();
			myFrame2.document.charset='UTF-8';
			myFrame2.document.write(msg);
			myFrame2.document.close();
 		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(errorThrown);
		}
	});

	$.ajax({
		type:"POST",
		url: "euc.txt",
		datatype:"text",
		beforeSend: function(xhr){
     			xhr.overrideMimeType("text/html;charset=EUC-JP");
		},
		success: function(msg){
			myFrame3.document.open();
			myFrame3.document.charset='EUC-JP';
			myFrame3.document.write(msg);
			myFrame3.document.close();
 		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(errorThrown);
		}
	});

}); 
// --></script>
</head>
<body>
<H1>文字コードが違う場合(このページはSJIS)</H1>
<iframe name="myFrame1" width="320" height="240"></iframe>
<iframe name="myFrame2" width="320" height="240"></iframe>
<iframe name="myFrame3" width="320" height="240"></iframe>

</body>
</html>




なお、「document.charset」は、それをしてもだめだめということを
示すためにやっているだけで、その行を削除しても、以下の表示は
変わらない(つまり、
myFrame1.document.charset='Shift_JIS';
myFrame2.document.charset='UTF-8';
myFrame3.document.charset='EUC-JP';
の3行は不要)。

このコードのほかに、このコードと同じフォルダ(ディレクトリ)に
SJISで書いたsjis.txt
EUCで書いたeuc.txt
UTF-8で書いたutf8.txt
の3種類のファイルを用意する(その内容が書き出される)




■結果

Chrome

IE



参考サイト
インラインフレーム内に文字を表示する
http://www.openspc2.org/reibun/javascript/frame/007/index.html


複数の文字コードをformからCGIへ送信する方法
http://search.web-sun.com/zatu/charset.html


jQuery.ajax で overrideMimeType する方法Add http://d.hatena.ne.jp/teramako/20080913/p1

AjaxでShift_JISのファイルを取得する
http://www.polidog.jp/2010/06/07/ajax%e3%81%a7shift_jis%e3%81%ae%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b/


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

Gooメールを有料版にしてみた!

2013-10-31 09:49:58 | トピックス
で、話は長かった!

gooの有料版メールを申し込もうとして、ちょコムでハマった件
http://blog.goo.ne.jp/xmldtp/e/c3aef30eaba9558d5d32a1549c8db9f6

を、永遠やっていたのは、Gooのメールを有料版にしようとしたためだった!
有料版にしてみる

なお、「gooの有料版メールを申し込もうとして、ちょコムでハマった件」は
xmldtpとは別のアドレスだったが、今回は、xmldtpでやっている。




■まずは、どうでもいい画面を見てくれ!

じゃあ、Goo有料版を申し込もう!
だが、申し込みに行くまでが長かった(もっと短い道がキットあるはず!)

まず、gooメールをひらく

「詳しくはこちら」をクリックしてみて見ましょう!

Gooメールの利用継続を検討されているお客様(いちばん左)
になりそうです。「詳しくはこちら」をクリック

「有料版への変更をご検討のお客様へ」をクリック

「お申し込みは、こちら」をクリック




■申し込む!

やっときた!

メールだけでなく、ブログのほうもやるので、
「Gooアドバンスパッケージ」の「今すぐ申し込む」を
クリックしました。メールだけなら、メールアドバンス
だけでいいよね。

とかいうのが「パッケージの場合」でる
(たしか、メールのみだとない)。スライドバーで下に行くと


「規約に同意して申し込む」をクリック

とでてくる。スライドして下に行き

次へ

とでてくる。ちょコム決済にしているので
(いや、このためにわざわざ、長い道のりを・・・)
スライドして下へ・・

決済パスワードをいれて「購入する」

利用するをクリック

というアドバンスパッケージトップ画面にいく

ここでGooメールに入りなおすと

[あなたは有料版ユーザーです]になっている。

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

gooの有料版メールを申し込もうとして、ちょコムでハマった件(5)解決編その3 最終回

2013-10-30 19:04:02 | トピックス
gooの有料版メールを申し込もうとして、ちょコムでハマった件。について

ケータイの電話番号を入れていなかったので本人確認できなかったということが、どうも問題らしい。

ということで解決編。解決方法は

  (1)yahooで、捨てハンドルを作る
  (2)ちょこむに、その捨てハンドルで申し込む→ちょこむ口座できる
  (3)お支払い方法の登録→ちょこむ決済で、上記口座にする


今日は、最終回「(3)お支払い方法の登録→ちょこむ決済で、上記口座にする」
のところ。
これで、決済口座として、ちょこむが利用でき、申し込めるようになる。




■支払い方法の登録・・・の前に・・・

(1)で作成した、yahooでのメールアドレスを、基本情報に
設定しておきます

ログインして、自分のアカウントをクリックしたりすると、
GooIDにはいります(他の方法でもかまいません、GooIDに入ってください)

で、基本情報をクリック

連絡先メールアドレスを書き換えます
(前のメールアドレスが「メールアドレスは確認済みです」
 なのであって、今入れたアドレスは、確認済みでは、
 ”当然”ない)


で変更すると、

となる。ここで、もう一回、基本情報に入る。そうすると、

のように、「メールアドレスの確認ができていません」と
書かれているので、そこをクリック

となるので、「送信する」をクリック

とでる。

ここで、送信先の、つまりYahooのメールを見ると

となっているので、そこのURLをクリック

となって、もう一度「基本情報」をみると

となって、メールアドレス確認済みとなる。
これで、メールアドレスが書き換わった。




■支払い方法の登録方法

基本情報の「お支払い方法の登録」をクリック

出てきた画面で

ちょコム決済にして、決済パスワードとかを入れる。

メールアドレスに、上記で登録したメールアドレスをいれて
「お支払い情報を登録する」をクリック

ここでたしか、

の画面が開いたと思う。
(もし開かなかったら、「GooID」の「基本情報」の「お支払い方法の登録」でも
たぶん、同じ画面に行くと思う)
「ちょコム情報を登録する」をクリック

という画面になるので、メールアドレス、パスワードなどいれて、ログイン

利用するをクリック

登録完了になる。

ここで、この物語のはじめ、
「ちょコムの残高・ポイント確認」をみると

ちゃんとちょコム残高が0になっている。
実際この後、「ちょコムをチャージする」して、チャージすると、
チャージされる。

めでたしめでたし。


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

VMWare上のHTTPサーバーを、他のPCのブラウザから見る方法

2013-10-30 15:56:06 | ネットワーク
VMWare上(のゲストOS上)に、HTTPサーバーをたて、その内容を、
ホストOS以外の他のPCのブラウザから見ようとした場合、
(ホストOSのブラウザからは見れるのに)
ネットワーク設定によっては、他のPCからは見れないことがある。
その説明と、対策について




■他のPCから見れない理由

VMWareのネットワークは、デフォルトでは、NATになっている。
これは、player→取外し可能デバイス→ネットワークアダプタ→設定

で開くダイアログ

をみると判る。

このとき、NATだと、ホストPCのネットワークと
違うネットワークを選ぶようだ。

つまり、今ホストPC(Windows)でipconfigすると、

のように出てくる。ホストPCのIPアドレスは、
(ローカルエリア接続のもの)
192.168.1.198、つまりネットワークは
192.168.1.XXX
ということになる(なお、DNSサフィックスは、ねつぞうしている)

一方、VMWareのIPアドレスは

192.168.19.130 つまりネットワークは
192.168.19.XXX

となる。同一PC内であれば、ゲストOS,ホストOS間は、
192.168.19.1が直接接続しているので、転送可能である。
しかし、他のPCとつなぐ場合は、他のPCは、
192.168.1.XXX
のネットワーク上にいるので、
192.168.19.XXX
のネットワーク上にあるVMWareは、他のPCから見ることが出来ない。




■対策

なので、VMWareを、ブリッジ接続して、ホストPCと同じ
192.168.1.XXX
上のアドレスを取得するようにしないといけない。

<<前提>>
現在、ホストPCが、DHCP接続しているとする。

<<手順>>
(1)player→取外し可能デバイス→ネットワークアダプタ→設定

で開くダイアログで

「ブリッジ」を選択(右側で「ブリッジ」を選択しても、この時点では、左側に反映されない)、「アダプタの設定」ボタンをクリックし、

実際にネットワーク接続に使うNICを選択する。
上記例の場合、上のVirtualBox(VMWareみたいなソフト)は使わないので、
チェックを外す。

あとは、OKボタンをクリックしていくと、「ブリッジ」に変わる

(2)このあと、再起動する
 →再起動しないと、おかしなIPアドレスになっていた。
 →シャットダウン、再起動時間は、結構かかった。
   →しかし、永遠と終わらない場合、「アダプタの設定」
    で選んだアダプタが間違っているかもしれない

(3)ifconfigでみると・・・

192.168.1.182→192.168.1.XXXと、同じネットワークになっている。
んで見れる。

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

SEMAT第3回/TOPSE勉強会

2013-10-30 13:21:05 | トピックス
きのう、SEMAT第3回&TOPSE勉強会に行ってきた!
その内容をメモメモ




場所:NII20階 2010会議室
講師:鷲崎先生

SEMATソフトウェアエンジニアリングのエッセンス

・ソフトウェアエンジニアリングの問題
 組織がどのようであってほしいか
   よりよく、より早く、より幸せに

・必要なもの:大きく2つ
   知識
   経験
 →プロフェッショナリズム:ベストプラクティスに裏打ちされた能力
   知識の島々  - 遅く・リスクが高い → プロフェッショナリズム
   よりよく、より早く、より幸せに-SEMAT →

 3年から5年:ソフトウェアの体系はファッション?

 どれも優れているが、われわれの求めるすべてではない。
 背景にある共通の基板を追い求める

・共通基盤がない
 誰もが自身のソフトウェアの作り方を知っているが
 しかしコミュニティとして受け入れられた共通基盤がない

・産業界・学界間のギャップ

・SEMAT
  2009年9月創設
    やこぶそん、めいやー(えっふぇる)、そーりー(OMG)

・理論的な基礎の定義
 広く受け入れられた要素によるカーネル

・理論がない「わけではない」
  →しかし、いずれも共通基盤ではない

・SEMATエッセンス(カーネル+言語)

・SEMATのメソッドアーキテクチャ
  エッセンス(カーネル+言語)がOMG提案承認13、標準化へ

プラクティス
エッセンス  カーネル   ソフトウェア開発:標準として整理
       言語     図形言語

 メソッドアーキテクチャ

・カーネル:5つの種別
   あるふぁ :進捗と健全性の把握が必要な事柄
   状態   :あるふぁのある状態、チェックリストによる確認
   活動空間 :実施すべき作業
   活動   :作業の具体的活動
   作業成果物:作業の成果物
 →コンテキストを表現してみる

・あるふぁの種類と関係

顧客
  機会
  ステークホルダー

解決策
  要求
  ソフトウェアシステム

取り組み
  仕事
  チーム
  仕事の仕方

・あるふぁの状態
 チェックリスト:一直線の状態遷移を用意
  「状態!」
 状態指向の考え方

・プラクティスの定義
  1.αを選択
  2.必要に応じ時手下位αの定義
  3.作業成果物を追加
  4.活動空間を定義して活動を具体化

  例:要求抽出プラクティス
        
 作業対象  α          青果物
       ・機会        ・フィーチャーリスト
       ・ステークホルダー
       ・要求
 作業内容  活動空間
       ・可能性探索

・プラクティスの定義例:スプリント
   ESSWorkの利用
   eclipse プラグイン

・事例
 プラクティスプール
  仕事の仕方に追加
 エッセンス利用事例
   エンタープライズメソッドアーキテクチャ

・SEMATエッセンスの利用
  開発全体の計画→チェックポイントの明確化
  イテレーション計画:完了とやりかけをわける
  たすくかんばん
・カーネルの特徴と留意
  ソフトウェア以外の事柄重視、アジャイル宣言支持
  状態指向
  留意
   プラクティス。手法定義の難しさ
   α状態遷移の複雑さ
   ソフトウェア開発以外への応用可能性

・何を変えるべきか

・組織がどうなってほしいか
  SEMAT-BASE

・Moving Forward
 プラクティス
 理論
 コミュニティ

・Q&A
 エッセンス、どのくらい公開?
  ESSWorkからインポートできる

<<ゲーム>>
α状態カードゲーム
・進捗ポーカー
 プランニングポーカーの進捗版

・状態の追跡



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

中国から輸入したアイロンに無線LAN経由でスパム攻撃をするチップが発見される

2013-10-30 09:44:11 | Weblog
ええ~(@_@!)


中国から輸入された電気式アイロンに隠されていたのは小さなチップ。このチップは半径200m以内で暗号キーなしで接続できるWi-Fiを利用しているPCに侵入し、ウイルスをまき散らすように設計されていたとのこと。

似たようなチップが中国製の携帯電話や自動車、カメラからも発見されており、専門家は
「電化製品や自動車に隠されていたチップは、会社のネットワークに侵入しスパムメール
を送信することに使用されていたものでしょう」と話しています。


自動車とかに感染していたとして、もし日本人が死んだとしても、
愛国無罪なんでしょ・・・きっと・・・(>_<!)
中国製品、あぶなくって、買えないよね・・・



中国から輸入したアイロンに無線LAN経由でスパム攻撃をするチップが発見される
http://blog.livedoor.jp/dqnplus/archives/1778809.html

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

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

gooの有料版メールを申し込もうとして、ちょコムでハマった件(4)解決編その2 ちょコム口座作成

2013-10-29 19:31:24 | トピックス
gooの有料版メールを申し込もうとして、ちょコムでハマった件。

ケータイの電話番号を入れていなかったので本人確認できなかったということが、どうも問題らしい。

ということで解決編。解決方法は

  (1)yahooで、捨てハンドルを作る
  (2)ちょこむに、その捨てハンドルで申し込む→ちょこむ口座できる
  (3)お支払い方法の登録→ちょこむ決済で、上記口座にする


今日は、その「(2)ちょこむに、その捨てハンドルで申し込む→ちょこむ口座できる」のところ。
今日、書く方法が、たぶんちゃんとしたちょコム口座の作りかただと思う。




■ちょコム口座を作る方法

ちょコムのホームページ

http://www.chocom.jp/index.html

にアクセス

右側の「新規会員登録はこちら」をクリック、以下の画面が出る

「ちょコム会員登録はこちら」をクリック。次の画面で

メールアドレスを入れる。ここで、重要なのは、
「ご利用になれるメールアドレス」
学校のメールアドレス等を入れると、本人確認が必要になる。
今回は、前回つくった、yahooのメールアドレスを入れておく

登録すると、メールが送信される。
ここで、送信されたメールをYahooメールで開く

「下記URLにアクセスし・・・」の下にあるURLをクリックする

お客様情報をいろいろ入れる

「お客様情報」の確認画面になる。送信すると

会員登録完了となる。このとき、メールが送られてきていて

ここに、貯金箱番号と.Com-IDというのが、書かれている。




次回、「お支払い方法の登録」


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

【素朴な疑問】VMWareのNAT設定は、どのへんがNATなのだろう・・・?

2013-10-29 15:47:55 | ネットワーク
前に書いた、

VMWare上のサーバーにあるコンテンツをPC上のブラウザで見ようとして繋がらないときには?
http://blog.goo.ne.jp/xmldtp/e/70af0f2dfa7cd780598c92f5734bd356

なのだが、そこに書いたように、この設定、NATのとき
でも、
ifconfigでみたIPアドレス、すなわち、VMWare内のIPアドレスを、
PC上の(=ゲストOSの外部にあたるホストOSの)ブラウザの
URLに設定するのだ・・・




NATというのは、ふつう、ネットワーク外部と内部をわけて、ネットワーク外部からは
ネットワーク内部のアドレスがみれないようにするのが普通でないだろうか?

つまり、上記の前に書いた例だと、192.168.19.130が
VMWareの内部で使われているアドレスなのだが、これが、
外部からアクセスできないというのが、NATだと思うが、
前に書いたとおり、ホストOS(Windows)から、アクセスできてしまう。




それどころか、
InterstageのHTTPサーバーを立ち上げた後、
ゲートウェイに使われていると思われる、
192.168.19.1,192.168.20.1に対して、


ブラウザで見ると、


なぜかxamppが立ち上がるのだが、

192.168.19.130にアクセスすると、

ちゃんと、立ち上げたInterstageが立ち上がる・・・

・・・内部のアドレスが使える・・・
・・・NATって、どのへんがNATなんだろう・・・


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

【スマートメーター】東電、エネルギーデータ解析ベンチャー、オーパワーと業務提携

2013-10-29 12:29:04 | AI・BigData
ここの記事

東電、スマートメーター設置期間を3年前倒し 平成32年度までに完了へ
http://headlines.yahoo.co.jp/hl?a=20131028-00000530-san-bus_all

ビッグデータ関係の人にはいいニュースなんだろうけど、

最大の問題(関心事)は、
ビッグデータ解析による節電を東電が事業化する前に
潰れないかどうか・・・という点だ・・・

・・・いやまじで・・・


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

【CentOS】iptables(ファイアーウォール)のGUI設定

2013-10-29 09:26:03 | ネットワーク
ファイアーウォールのiptablesをviとかで設定するのであれば、ぐぐればわかるけど、
CentOSの場合、GUIで設定できる。それについてメモメモ

■手順

(1)root権限になる

(2)まず、iptablesをとめよう
/etc/rc.d/init.d/iptables stop

(3)GUIで、
システム→管理→ファイアーウォール



(4)でてきたダイアログ

左側で「その他のポート」指定、
「追加」ボタンをクリック
「ユーザー定義」をチェックすると、下にポートとプロトコルが入れられる
例えばInterstage管理コンソール(12000,12001)+InterstageJavaEE(28080)
なら、
12000 TCP
12001 TCP
28080 TCP
の3つを追加する。


(5)追加し終わったら、
「適用」ボタンクリック

出てきたダイアログに「はい」

(6)iptablesをスタート!

/etc/rc.d/init.d/iptables start

これで、iptablesを書き換えられる。


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

VMWare上のサーバーにあるコンテンツをPC上のブラウザで見ようとして繋がらないときには?

2013-10-28 17:21:20 | ネットワーク
VMWare上にHTTPサーバーとか、サーブレットコンテナ(Tomcat等)、Interstageを置いて、
その内容を、クライアントで見る場合、以下の手順で行う。




■VMWare上のサーバーにあるコンテンツをPC上のブラウザで見るには・・

→playerのネットワーク接続の設定がNATになっている場合

(1)VMWare上のゲストOSが、Linuxであれば、端末から
    ifconfig
   (Windowsなら、ipconfig)を行う

<<結果の例>>


[root@dhcp182 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:BF:57:7D  
          inet addr:192.168.19.130  Bcast:192.168.19.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febf:577d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1561 errors:0 dropped:0 overruns:0 frame:0
          TX packets:529 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:804744 (785.8 KiB)  TX bytes:47225 (46.1 KiB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1228 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1228 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:109862 (107.2 KiB)  TX bytes:109862 (107.2 KiB)




(本当は赤字になっていない)

赤字の部分、IPアドレスで、192.168・・・になっている部分のアドレス
を確認しておく。

(2)クライアントであるPCのブラウザから、
 上記赤字のIPアドレス/URLを入力する。

 上記の例(サーバーのIPアドレス192.168.19.130)
 ポート番号:28080 (Interstageの標準のJavaEEのポート)
 にある struts2-blank (Struts2の何もないサンプル)

 を実行するには、PCのブラウザで

 http://192.168.19.130:28080/struts2-blank





■で、繋がらないとき

で、ここからが問題。これで繋がらないときどうするか

(1)pingを実行する。
   ping 192.168.19.130
 を実行する。
   pingが通らなければ、ネットワークの問題。
   pingが通れば、Cent OSか、HTTPサーバー等の問題

(2)VMWare上で見れるか?
  VMWare上のFirefoxで、IPアドレスを127.0.0.1にしてブラウザで開く
 (つまり、例の場合、
 http://127.0.0.1:28080/struts2-blank
  をFirefoxで見る)
  見えれば、CentOSの設定の問題
  見えなければ、HTTPサーバーなどのコンテンツ提供側の問題

(3)iptablesやSELinuxを切る
  ファイアーウォールのiptablesを切ってみる。
 rootの状態(suやsudo含む)で、
 
/etc/rc.d/init.d/iptables stop

 を実行する。これでPCから見えれば、ファイアーウォールの
iptablesの設定がしてないか、間違い

 次にSELinuxを止めてみる

setenforce 0

(一時的に止める。ずっと止める方法は SELinux 無効化でぐぐれば、わかる)

これで見えれば、SELinuxが悪さしてる。
無効化しよう(^^)


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

gooの有料版メールを申し込もうとして、ちょコムでハマった件(3)解決編その1

2013-10-28 12:54:35 | トピックス
gooの有料版メールを申し込もうとして、ちょコムでハマり、

前回、「どうして申し込めなかったか」書いた。
本人確認できなかったから・・・たぶん

ということで、今日は、解決編。
解決方法は

  (1)yahooで、捨てハンドルを作る
  (2)ちょこむに、その捨てハンドルで申し込む→ちょこむ口座できる
  (3)お支払い方法の登録→ちょこむ決済で、上記口座にする


今日は、その「(1)yahooで、捨てハンドルを作る」




■はじめに

 この状況を打破するには、
 本人確認しないですむメールアドレスをつくり、
 そこでちょコム口座を作り、それを支払い決済に使えば良い。

 ということで、本人確認しないで済むメールアドレスの1つである
 Yahooメールのアドレスを作る。





■Yahooメールのアドレスを作る手順
Yahooのトップページから

MyYahooをクリック

「ログイン」ないし「ログインはこちら」をクリック

出てきた画面で右側(ログインの下)「新規取得(無料)」をクリック

出てきた画面に、いろいろ登録する。

登録すると、確認メールが送信されるので

メールを開いて確認してみよう




つぎは、ちょコム口座開設



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

例えばインメモリDBで、FullGCで落ちるようなとき、ビッグデータ解析は使えるかも?

2013-10-28 10:17:42 | AI・BigData
ビッグデータ解析で「使える」というと、マーケティングのほうに
目を向けられがちなんだけど(もともとの目標がそうだから)

そっちの分野で、そうそう簡単に業績が挙げられそうでもない(^^;)
昨今、もう、運用分野での応用の話も目を向けるべきではないだろうか?

で、運用の分野だと、予測のほうで、結構成果があげられそうな気がする。

例えば・・・・




Javaの上で動くインメモリDBのような、大きな領域を使うようなものの場合、

・メモリ領域が足りなくなると、フルGCが起きる

・このフルGCでもまだ、領域が足らないと・・・
   ・・・またフルGCがおきる

・このフルGCをやっている間は、処理スピードが遅いので、
 処理が止まる。なので、GCが終わったとたんに一気に
 処理が走り、一気にその処理がメモリを確保するから・・・

・そんなことしていれば、いつかはOutOfMemoryで、こける

Cassandraの場合の例は、ここに書いてある


Cassandraは何故大量のインサート後に遅くなるのでしょうか?
http://wiki.apache.org/cassandra/FAQ_JP#slows_down_after_lotso_inserts





これを避ける汎用的な方法として(cassandraの場合は上記リンク先)

・負荷分散させて、フルGCがおきそうな場合は、他に退避する
 など、フルGCを起こさないように、起きたとしても同時に起こさない

というやり方があるみたい。少なくともInterstageは、そうしているみたい。


フルGC回避で性能低下を防ぐAPサーバー
http://itpro.nikkeibp.co.jp/article/Active/20120822/417263/


こういうように、フルGCを発生しそうなときの予兆を
予測するとかいう分野で、ビッグデータ解析というのは、
確かにありそうな気がする。

(Interstageがビッグデータ解析しているというわけではなく、
 フルGC回避のためのビッグデータ解析という話はあるよね!という意味)




運用的には、ログから、通信ネットワークとかの話が多いと思うけど、
GCとか、性能から、ビッグデータを活用するという話もありえそうな
気がします。

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

gooの有料版メールを申し込もうとして、ちょコムでハマった件(2)理由編

2013-10-27 17:50:57 | トピックス
前回の

gooの有料版メールを申し込もうとして、ちょコムでハマった件
http://blog.goo.ne.jp/xmldtp/e/3bb3eb9cba091d1eaa508d77086db901

のつづき。今日は、「どうして申し込めなかったか」理由編


■前回のあらまし
 Gooの有料版メールを申し込もうと思い、決済をちょコムで行うために、
 ちょコム残高照会から手続きしたら、
 ちょコムにログインできず、チャージできない。

 メールアドレスを「学校のメールアドレス」***.ac.jpにしたけど、
 それでもだめだった。




■原因・・・というか、思い当たるふし・・・Part2

 この時点では、理由はわからなかった。
 で、「解決策」を思いつき、ちょコム口座を作ろうとしたとき・・・

 ・・・理由がわかった!

 ちょコム申し込みのメールアドレス

 赤い楕円部分!

 学校のメールは、「上記以外のメールアドレス」に相当する。
 この場合、「携帯電話による本人確認」が必要となるが、
 携帯電話の電話番号は入れていないから、
 当然本人確認は出来ず、登録できない!!


 これだ~、本人確認できないから、先に進まない。




■次回・・・
 解決編
  ・yahooで、捨てハンドルを作る
  ・ちょこむに、その捨てハンドルで申し込む→ちょこむ口座できる
  ・お支払い方法の登録→ちょこむ決済で、上記口座にする

を一つずつやっていきます。
まずは、YAHOOに捨てハンドルをつくる。

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