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

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

Toppersプロジェクトのご紹介

2013-10-21 07:53:19 | Weblog
OSC Tokyo 2013 Fallのセッション

組み込みシステム向けオープンソースとToppers(とっぱーず)プロジェクトのご紹介

を聞いてきたのでメモメモ




組み込みシステム
昔:機器に組み込まれる+専用コンピューター
今:機器に組み込まれる+汎用コンピューターも増加

アプリケーション分野
 工業製品、FA機器、運輸、通信、AV、パソコン周辺

採用したプロセッサ
 ARM系 30%以上、SH系

プログラムサイズ
 64Kもあるし、16Mもある・・けど小さい
言語
 80%がC
OS
 ITron→フリーのITron注目
 T-Kernel
リアルタイムOS:Toppers
  →組み込み分野のLinuxOSみたいなのを目指す
  →でもLinuxと類似のOSをもうひとつ作っても意味ない
     →次世代のリアルタイムOS

Toppersプロジェクトのねらい
・OS開発
・開発支援ツール
・技術者育成

Toppers
 ASPカーネル
 Toppersビルダー

Toppersライセンス
 レポートウェア:報告義務のみ

第14回Toppers開発者会議
 ゲスト:ECHONET Lite

Toppers/ASP+mruby

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

Raspberry Pi入門

2013-10-20 21:34:26 | トピックス
OSC Tokyo 2013 Fallのセッション

「楽しく使おう・はじめよう! Raspberry Pi入門」

をメモメモ




2部構成
・基礎編 Raspberry Piの紹介、始め方
     ユーザーグループ紹介
・実践編 Raspberry Pi実用例

自己紹介

<<基礎編>>
Raspberry Piってなに?
・超小型、安価なARMコンピューター
  ARM Linux
  GPIOポート
・Raspberry Pi財団が開発
  教育用パソコン
  大人も夢中
 175万台突破

・スペック
 Broadcom BCM2835
CPU ARM 700MHz
Memory 512M(Type A256)

・Raspberry Piの使用例
・簡易デスクトップマシン
  それなりにGUIで動くが、過度の期待をしないほうが・・
・Linuxサーバー
  おためし環境構築
・GPIO(汎用入出力ポート)を用いて電子工作
  実践編で

Raspberry Piのはじめ方
・本体の購入(最初の1台はModelB)
  RSコンポーネンツ(安心の国内発想、すぐ届く)

  ModMyPi(海外発送、かっこいいケースと一緒に買うなら)

・周辺機器
  USBキーボード
  USBマウス
  HDMI出力モニターかテレビ・HDMIケーブル
    各種変換アダプタ
  LAMケーブル
  ACアダプター
    MicroUSB出力 700mAとあるが、周辺機器とつなぐので1A以上
  SDカード(4G~8G class10 SDHCオススメ)

・周辺機器の接続
  USBデバイスは電源投入前につないでおく
   電源導入後にUSBデバイスを接続するとクラッシュする

・OSの準備
  現在の水晶はNOOBS(New Out OF Box Software)
   →公式ホームページから。3時間とかかかる
   →SDFormatterが必要
  従来はディスクイメージ書き込み
  Raspbianすいしょう

Raspbian
Debian
Fedoraベースは、Pidoraとかある

SDカードのフォーマット
 論理サイズON

インストール
・ZIP解凍してSDカードに入れればOK

Raspberry Pi
電源スイッチない
電源の切り方
 普通のLinuxと同じ
リセットボタン
 後付け可能

デフォルトのパスワード
  ユーザー名 pi
  パスワード raspberry

paspi-config
  初回起動時に立ち上がってくる
  apt-getで最新に
  GUI startx

Japanese Raspberry Pi User Group
主な活動:2ヶ月に1回、オフラインミーティング
 12月7日
Maker Fair Tokyoにも

書籍も出た(技術評論社)

日本→重要なマーケット
日本語Facebookページできる

・情報源
http://www.raspi.jpのリンクから

<<実践編>>
・実践編 あっきい
 RasPiとEject
・Raspberry Pi Camera Module
  2013年5月ごろに発売
   5メガピクセル
   フルHDで30fps
   ケータイ向け部品
   簡単なコマンド

 最新のNOOBS
 コンフィグでカメラサポートON
raspistill -o ファイル名
  スケッチフィルタ
 raspivid -o test.x264 -t 15000
MP4BoxでMP4に

 ストリーミング
 vlcパッケージをインストール

 OpenCVと組み込み

LEDを光らせる
・GPIO、I2Cがついている
・LED3.3Vのもの
 270~330Ω
・Rubiで書く

残高チェッカー
 Pasori3000円前後
 LCDモジュールSB1602BW
書籍11章11-3,4参考
PaSori用libpafeライブラリ
  →wiringpi

公開されている手順を見て真似れば、なんとかなる



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

ビッグデータ活用実務フォーラムの紹介

2013-10-20 18:28:43 | AI・BigData
OSC Tokyo 2013 Fallのセッション
「情報処理学会ビッグデータ活用実務フォーラムの紹介と今後の活用について」
 農工大の石井先生の話を聞いてきたので、メモメモ。

観客は、はじめ7人くらいしかいなかったけど、徐々に入ってきて、
最終的には18人くらい。・・・でも、少ないよね。
(まあ、雨だったからなあ・・・)

以下、メモメモ





2013年6月 情報処理学会で認可

フォーラムの趣旨
 大学、企業などで国家的プロジェクトを含む研究開発が実施され
各関連団体、セミナーが開催

情報通信にとどまらず、経済、広告、マーケティング、医薬・・・
ポテンシャル大きい

データサイエンティストの育成や実務家の情報交換
現場の視点に立った、ニーズに合わせた試みは十分になされていない

IT勉強会-成功を収めている:地球的規模
学会は斜陽:

ITフォーラム:IT勉強会の活動をモデルとして、学会にとりこめないか
情報処理学会が門戸を開いた
情報発信の場を提供したい

東京大学 中野先生(きつれがわ先生の下)、北大 水田先生

アクション
・今日
・10月30日 ビッグデータ現場の会
 KDDIウェブコミュニケーションズセミナールーム
・2014年1月 CPD中央こうざ 2014年1月18日(土)
   →お金取られるかも
・2014年ソフトウェアジャパン2014
・雑誌特集号 情報処理学会誌 「ビッグデータ活用実務」企画計画中

<ビッグデータの話>
・ビッグデータの定義(Wikipedia)
 市販されているDBMSで管理することが困難
  数10TB
・データ量の増加
 モバイル、ビッグデータ革命
 情報爆発
 ゼータバイト
 BigData:Hadoop=HDFS+MapReduce
 分散ファイルシステム(Google File System)
 MapReduce

・NoSQL

・サーバーからクラウドへ

・ビッグデータに関する問題点

  技術的課題→メモリが足りない。速度が遅い
  応用的な課題導入、なんに使えるか→応用の広がり
  人材育成、人の問題→データサイエンティスト
  基礎的な技術の課題

  メディアのあおりすぎ→バズワードで終わるか
  統計科学とか、プログラミングとか、地に足のついた技術を固めるべき

技術的課題
・OS的には
・Linuxのオープンソースの独壇場
・現場では、メモリが足りない、ディスクが足りない
  →分散処理、ハード面を強化

導入、なんに使えるか
 ・ビッグデータなんて関係ねえ、とはく人は多い
 ・実際のビジネスでは、そんなに必要ない、という人も多い

人の問題→人材育成
  ・勉強会、セミナーは確かに多い
  ・偉い人の話→現場ではあまり使えない
  ・地道な勉強や情報収集が必要
  ・メディアの主催する勉強会

メディアのあおりすぎ
  ・統計科学とか、プログラミングとか地に足のついた技術を固めるべき
  ・リテラシーの問題
  ・言葉が通じない
  ・統計科学→きちんと学習できてきた人は多くない
  ・プログラミングなど

<パネルディスカッション>

・パネラーの自己紹介
  きのさん
  ともなか?さん
  (りくるーと):アプリ、インフラ、データサイエンティスト

・応用
 オープンデータ:データが入手できるようになった
 ライフイベント

・人材育成、技術的な課題
 データサイエンティスト
   博士はごくわずか
   あとは前処理のエンジニア

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

「BtoB市場におけるWebマーケティングの支援手法」という話を聞いてきた

2013-10-18 19:33:50 | JavaとWeb
中小企業診断士更新研修で、

「BtoB市場におけるWebマーケティングの支援手法」
講師 中小企業診断士 遠藤康浩 先生

(中小企業診断士の敬称は、「先生」らしい。私は、「いたずら先生」ですね。
 それはさておき・・・)
のお話を聞いてきたので、営業妨害にならない程度にメモメモ




■話の内容
・BtoB市場のwebマーケティングの要点
  営業プロセスの切り分け
  キーワードとメッセージの整合性
  戦略の構築

・新規事業への応用
・実際の支援



■BtoB市場のwebマーケティングの要点

【営業プロセスの切り分け】

営業の流れ

  ファーストコンタクト -
     ↓        |HPでできること
   ヒアリング     -
     ↓       -
   見積もり      ↓ のこりは人間
     ↓
   クロージング
     ↓
    成約



・誰から、どんなメッセージを、どのタイミングで
 受け取ればいいか

・売れる商品  →  HP
 売りたい商品 →  人間が売る
 を分ける

【キーワードとメッセージの整合性】

成約までのWebの流れ

  検索エンジン表示   -
              |  A
  ホームページアクセス -

  問い合わせ      -
              |  B
  成約         -



Aはお金で解決できる戦術レベル(SEO対策)
Bは、戦略レベル

【戦略の構築】
HPを決める→ホームページ基本設計書




■新規事業への応用

・HP基本設計書:基本戦略からwebページ作成まで

【手順】
  現状把握
  全社戦略
  営業戦略
  ホームページの検討

【検討内容】
  目標成約数→アクセス数がきまる
  ターゲット決定→アイキャッチがきまる
  ~入門→問い合わせの敷居を下げる

  メッセージの整合性
  ターゲットが興味を示すコンテンツの誘導
  出口への誘導:電話入れたほうがいい

【注意すること】
 安く売りたいのでなければ、「コストダウン」と書くな
  →言質とられて、安くさせられる




■実際の支援

・出口をはっきりさせる
  HPの予算ばらばら→予算にあったものを
・Webページ=投資
・コンサルの対象は社長
・維持管理の体制、構築
・Web制作のよきパートナーを見つける
・SEO対策は信頼できるプロに
・ライター、カメラマンの確保
   専門用語の連発は良くない




本当はこのほかに具体的な事例が有り、
もっと詳しく教えてくれたんだけど、
それを書くと、営業妨害になりそうなので、省略。

ちなみに、この講師のサイトは、以下のとおり

合同会社 ENコンサルティング
http://www.en-consulting.jp/

のひとです

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

Android のキャラクタは、トイレの、あのマークに触発された?・・・それはさておき・・・

2013-10-18 15:59:48 | ケータイ

Android のキャラクタは、トイレの、あのマークに触発された?

という記事。

トイレの男女のマーク→Androidらしい
(上記リンク先に画像入りで詳しく載っている)

それはさておき、この記事に載っている画像


左上、これ、どう見てもNHKのどーもくん

だろう・・・

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

Javascript|JSONでの、レコードの表現方法(配列、連想配列)→{}と[]の違い

2013-10-18 12:45:54 | JavaとWeb
■お題

・データベースで検索したレコードをJSON形式で渡したり、
 JSPを使って、Javascriptにおける”ある変数”の初期値としたり

するために、

 データベースのレコードの形を、JSONで表現したい

ということがある。今日は、この形について




■問題へのアプローチ

 表現方法として3つを考える。

(1)CSV形式のように、値だけを、行列の形で渡す

例:テストの点、学生番号、氏名、点数の順(4人分)

   "1","name1","98"
   "2","name2","80"
   "3","name3","67"
   "4","name4","32"


(2)キーと値の組の連想配列(Javaだとハッシュマップ)があって
   (=レコードになっている)、それが配列になっている

例:テストの点(4人分)
学生番号(no)氏名(name)点数(score)
1name198
2name280
3name367
4name432


(3)上記(1)の配列(または(2)のレコードの配列)が
   ある変数(例えばdataとか)の中に入っている




■基本的な規則

JSON 構文
http://memopad.bitter.jp/w3c/json/json_syntax.html


にあるように、

・配列は、[](大括弧、角括弧)でくくる

・ハッシュマップ、連想配列のように
   key=valueの場合は
   key:value

・オブジェクトは{}(中括弧)でくくる

・Javascriptでは、連想配列のキーをオブジェクトの属性として表現できる
   data.attr1→data["attr1"]と同じ




■具体例

(1)CSV形式のように、値だけを、行列の形で渡す

var myarray=
[
["1","name1","98"],
["2","name2","80"],
["3","name3","67"],
["4","name4","32"]
];


[]の中に、1レコード分の[]がある

(2)キーと値の組の連想配列(Javaだとハッシュマップ)があって
   (=レコードになっている)、それが配列になっている

var myrec=
[
{"no":"1","name":"name1","score":"98"},
{"no":"2","name":"name2","score":"80"},
{"no":"3","name":"name3","score":"67"},
{"no":"4","name":"name4","score":"32"}
];

[]の中に、レコードとして{}でくくったものがあり、
このレコードがKey:Valueの形になっている

(3)上記(1)の配列(または(2)のレコードの配列)が
   ある変数(例えばdataとか)の中に入っている

var mydata=
{data:[
["1","name1","98"],
["2","name2","80"],
["3","name3","67"],
["4","name4","32"]
]};

全体はオブジェクトなので{}でくくり、その中の要素dataの値が
2重[]→(1)と同じものになっている。




■サンプル
各データ表現したものが、表になって現れる
<HTML>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" 

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

<script>
var myarray=
	[
		["1","name1","98"],
		["2","name2","80"],
		["3","name3","67"],
		["4","name4","32"]
	];

var myrec=
	[
		{"no":"1","name":"name1","score":"98"},
		{"no":"2","name":"name2","score":"80"},
		{"no":"3","name":"name3","score":"67"},
		{"no":"4","name":"name4","score":"32"}
	];

var mydata=
	{data:[
		["1","name1","98"],
		["2","name2","80"],
		["3","name3","67"],
		["4","name4","32"]
	]};

$(function(){

	//	ボタン1:配列の場合
	$("#mybutton1").click(function(){
		buf = "<table border=1>";
		for(i = 0 ; i < myarray.length;i++)
		{
			buf=buf + "<tr>";
			buf=buf + "<td>"+myarray[i][0]+"</td>";
			buf=buf + "<td>"+myarray[i][1]+"</td>";
			buf=buf + "<td>"+myarray[i][2]+"</td>";
			buf=buf + "</tr>";
		}
		buf = buf+"</table>";
		$("#mytable").html(buf);
	});

	//	ボタン2:連想配列の配列
	$("#mybutton2").click(function(){

		buf = "<table border=1 style='color:red'>";
		for(i = 0 ; i < myrec.length;i++)
		{
			buf=buf + "<tr>";
			buf=buf + "<td>"+myrec[i]['no']+"</td>";
			buf=buf + "<td>"+myrec[i]['name']+"</td>";
			buf=buf + "<td>"+myrec[i].score +"</td>";
			buf=buf + "</tr>";
		}
		buf = buf+"</table>";
		$("#mytable").html(buf);
	});

	//	ボタン3:変数の中に入っている
	$("#mybutton3").click(function(){
		buf = "<table border=1 style='color:blue'>";
		for(i = 0 ; i < mydata.data.length;i++)
		{
			buf=buf + "<tr>";
			buf=buf + "<td>"+mydata.data[i][0]+"</td>";
			buf=buf + "<td>"+mydata["data"][i][1]+"</td>";
			buf=buf + "<td>"+mydata.data[i][2]+"</td>";
			buf=buf + "</tr>";
		}
		buf = buf+"</table>";
		$("#mytable").html(buf);
	});

});

</script>

<body>
<div id="mytable"></div>
<BUTTON  id="mybutton1">配列</BUTTON>
<BUTTON  id="mybutton2">連想配列の配列</BUTTON>
<BUTTON  id="mybutton3">変数</BUTTON>

</body>
</html>


なお、サンプルは
・Javascriptでは、連想配列のキーをオブジェクトの属性として表現できる

を示すため、わざと、

myrec[i].score
mydata["data"][i][1]

と表現している。もちろんこれらは、

myrec[i]['score']
mydata.data[i][1]

と書いてもよい。





■サンプルの様子
「連想配列の配列」をクリックしたところ




■全力で注意点!!!

配列の要素
4つあるとき、1から3番目は,で区切る
例:["1","name1","98"],

けど、4番目の最後の要素に,はいれない!!
["4","name4","32"]

入れると、私のIEではエラーになり表示されない

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

「スティーブ・ジョブズ」の映画(11月1日ロードショー)の宣伝が、駅で、やっていた

2013-10-18 10:05:11 | Weblog
荻窪駅の中央線のホームで。

ちなみに、どこでやるかは

伝記映画「スティーブ・ジョブズ」国内向けにポスター公開--11月1日ロードショー
http://japan.cnet.com/news/service/35036743/


内容については

【鑑賞日記】とにかく物足りない!11月1日公開、映画『スティーブ・ジョブズ』/彼は2時間で語ることはできないのか?
http://www.cinemawith-alc.com/2013/10/jobs.html


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

今日FPGAで学んだこと(11)波形シミュレーターSignal TapⅡ

2013-10-17 17:18:04 | トピックス
今日じゃなくって、ずっと前だけど、ModelSimに入っていたような波形シミュレーター
が、QuartusⅡには、入っているらしい(Signal TapⅡ)ってことを教わったので
ここここ)その内容を、メモメモ




【どの機能?】

Tools→Signal TapⅡLogic Analyzerを起動する



な画面が出る。こいつのこと




【これが、出せない場合】

・Signal TapⅡは、本来有償のもので、無償版では、トークバックの
 設定をしないと使えないといううわさがある。
 トークバックをすると、コンパイル結果などが通知されるという
 うわさもある。

 ちなみに、トークバックの設定は、
 tools→option

その後、こんなダイアログが出るので、

のように選択、ボタンクリックすると

な画面が出るので、チェックしてOK




【手順】

1.Tools→Signal TapⅡLogic Analyzerを起動して、ダイアログを出す


2.観測信号の選択
左中あたり

をダブルクリックすると

な画面が出るので、
(1)Filterを「pre-synthesis」(論理合成前)にして、
(2)Listボタンをクリックすると
(3)左側のNodes Found:欄に、いっぱい出るので、
   観測したい信号をクリックして選択
(4)まんなかの一番上のボタン>をクリックすると、
   左側のSelected Nodesに入る
(5)観測対象を全部入れたら、OKボタンをクリック
 そうすると、真ん中のところに、選択したものが入ってきている

3.トリガー対象信号と、トリガー値の指定
 「2.観測信号の選択」で選らんだ観測信号は、そのままだと、ドントケアになっているので、立ち上がりで観測するとか条件があれば、トリガー値を設定する

 対象となる信号のTrigger Conditionsを右ボタンクリックすると、図のように、

条件が出るので、それを選択する

4.クロック、サンプル数を指定する
クロック指定のところ

をクリックすると

のようにダイアログが出るので、クロックを、観測信号のときと同じように選ぶ

その後、サンプル数を適当に選ぶ。
サンプル数が小さいと、それだけ領域をとるので注意


5.設定保存・再コンパイル

以下のように設定を保存したら


QuartusⅡに戻って、再度コンパイル

なお、今回はNIOSⅡを使っていないのでしていないけど、
使っているようならNIOSⅡEDSでの再コンパイルも必要になってくるかも


6.コンフィグレーション
 Signal TapⅡ上で行う(programmerではない)
 FPGAをUSBにつないで、動かす。

 その後、SetUpボタンをクリック。programmerみたいなダイアログが出る

 USB-Blasterを選択、closeボタンをクリックすると、自動的に検索し、
 たぶん、hardwareのところがUSB-Blasterになる(ならなかったら選択する)

 次に、sofを選択するボタンをクリックする。
 コンパイルまで終わっていれば、sofファイルができているはずなので、
それを選択

 全部が揃ったら、プログラムボタンをクリックする


7.波形データ収集、観測
プログラムを送ったら、左上の虫眼鏡みたいなのをクリック

すると、下のところがDataタブに変わって、波形が出てくる




こんなかんじ。


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

ブラウザ上に、いろんな複雑なグラフを書きたい・・・やっぱ、SVG?

2013-10-17 12:35:35 | JavaとWeb
ブラウザで、いろんな複雑なグラフを書きたいという話
をしていたんだけど・・・

やっぱ、SVGじゃねかな~って話になった。

どうも、IE8でも、プラグインが有るみたいだし・・・

IE8でSVGファイルを表示する方法
http://uujiron.net/archives/504


プラグイン

svgweb
http://code.google.com/p/svgweb/


曲線があるんだけど、ベジエスプラインも対応しているみたいだし・・・

http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/envinfo/svg_basic.html#line


編集したかったら、フリーソフトの「Inkscape」があるし・・・

Illustratorのようにベクター画像を扱うフリーソフト「Inkscape」
http://gigazine.net/news/20060705_inkscape/


ってなことで、「いいね!」感満載となっている・・・


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

struts2のstruts.xmlを書かない方式で「はまった」こと・・・あれこれ

2013-10-17 09:04:52 | JavaとWeb
ゼロコンフィグレーションって言うんでしょうか・・・
struts2のstruts.xmlを書かない方式で、はまったことあれこれ




■一般的には、こうしろ!と書いてある

やることは、4つ

1.サーバー側のstruts2から呼び出されるものを
  ~Action(~の1文字目は大文字)にして、

2.アノテーションとして、executeのところに、
   @Action("~" ) 
 (~の1文字目、大文字を小文字に変える)

3.一番上に、

@Results({
@Result(name="success", location="/index.jsp")
})

のようにResultで、returnしたときの行き先を書く

4.web.xmlのフィルターのところ
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>struts2.s2down</param-value>
</init-param>
</filter>

 のように、init-paramを指定せよ
(< >は、本当は半角。ただ、これをコピペしないように。理由は後述)


●そうすれば、
http://localhost:8080/アプリ名/~.action
(~の1文字目は小文字)でアクセスすると,Acion実行後、Resultで指定したJSPが動くはず!

※くわしくは、ここ

@いう間にWebアプリを作れる「Struts 2」入門
http://www.atmarkit.co.jp/fjava/special/struts2/struts2_1.html

注意:このソースをダウンロードして実行しようとしても、
   ライブラリが無いので動かない。
   そこで、最新のライブラリを入れても・・・動かない。後述




■はまった点1:eclipseで、アノテーションのところのエラーが消えない

・現象
  コレを行うためには、
    @Results
    @Action
  のアノテーションの指定が必要だが、ここでエラーになる

・理由
 struts2-convention-plugin-2.3.15.1.jar を見ていなかった。

・対応
(1)struts2-convention-plugin-2.3.15.1.jarを、javaのクラスパスに足す
  (WEB-INFのlibにも入れておくこと)

(2)ソースファイルで
   import org.apache.struts2.convention.annotation.*;
  を入れる




■はまった点2:500エラー、ぬるぽで落ちる

・現象

struts2.3いくつかをいれ、上記サイトからサンプルを落としてきて
実行すると、

HTTPステータス 500 -

type 例外レポート

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

java.lang.NullPointerException
org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)


・理由
 最新のものは、フィルターが変わっている。

・対策

web.xmlを開くと、
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
となっている。

このフィルタークラスを
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

に変える




■はまった点3:見えない(404エラー)

・現象

上記のようにフィルタークラスを変えると、今度は

HTTPステータス 404 - There is no Action mapped for namespace [/] and action name [index] associated with context path

・理由
 どうやら、param-valueに指定する値、すなわち、パッケージは、1単語ではだめで、
  ○○○.XXXのように、.がはいるものでないといけないようだ。


・対策
(1)param-valueをstruts2.s2downのように、○○○.XXXの形にする
(2)ということは、プログラムのパッケージもstruts2.s2downのように
   ○○○フォルダの下にXXXがあるようにして、そこにクラスファイルを置く
(3)ということは、ソースコードのpackageも修正する




■はまった点4:404エラー WEB-INF/content/を見に行こうとする

・現象
@Result(name="success", location="index.jsp")
と指定すると、
WEB-INF/content/index.jspを見に行こうとする。
(そこにファイルを作ると、うまく表示される)

・理由
 相対パスになっている。

・対策
 ゼッタイパス指定する
@Result(name="success", location="/index.jsp")
と、index.jspの前に/をつけると、サーブレットのフォルダの下のindex.jspを
見に行く。




■このほか

うちは、はまらなかったけど・・・

AbcEfgActionのように、大文字が2回出る場合、問題があるらしい。


Struts2のアクション名指定ではまった話
http://scarmitt.sakura.ne.jp/programs/struts2_no_action_mapped.html

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

iPhone5sでブルースクリーン iWorksとiCloudの同期が原因か?

2013-10-16 19:33:30 | ケータイ
ブルースクリーンはWindowsの専売特許じゃないらしい・・・
iPhone5sでブルースクリーンになるらしい

iPhone5sに「死の青い画面」が映る 日本や海外で多数の発生報告
http://headlines.yahoo.co.jp/hl?a=20131015-00000008-jct-bus_all

によると(太字は、上記サイトないしは2ページ目より引用)


iCloudによるiWorkアプリの自動同期機能をオフにすると、ブルースクリーンになるのを防げるという。


とのことだから、iWorksとiCloudの同期のところが、問題なんですかね?

PS.
iWorksとiCloudのファイル同期機能については、以下のサイトの人が
実験結果を報告してくれている

iCloudでiWorksファイルを行き来させてみた
http://26inch.net/?p=777


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

Struts(1.X系)とStruts2の設計上の違い

2013-10-16 15:43:20 | JavaとWeb
って、書いてなかったっけ?書いてみる。

struts(1.X系)の場合、ActionFormに入力データを入れるけど、
出力データは画面が違う場合、どうしよう・・・って話になる。
そこで、セッションに出力データをいれてしまうケースが
多い気がする。


一方、struts2の場合は、入力データをActionの属性として
セットする。そして、actionの中に出力データをセットして、
そのデータをもとに、出力のJSPが書き出せる。

したがって、struts2であれば、

・入力するactionに、入出力データを全部属性としてもち、
・Actionで入力データを加工して、出力データをセットして
・表示JSPは基本的にactionからデータをみる
・actionはActionSupportのダミーでも作っておけば、
 単体でテスト可能になる

という形で設計が出来る。
結構、機械的に設計&テストできるのだ・・・



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

グーグル、独自のスマートウォッチを近く発表か

2013-10-16 13:11:00 | Weblog
ここの記事

グーグル、独自のスマートウォッチを近く発表か
http://headlines.yahoo.co.jp/hl?a=20131016-35038554-cnetj-sci

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


9to5Googleが米国時間10月14日、匿名の情報筋の話として伝えたところによると、Googleのスマートウォッチはほぼ完成したという。9to5Googleの情報筋が正しいと仮定すると、この新しい時計の中心には「Google Now」が中心に位置し、「Android」搭載スマートフォンと連携する可能性がある


だそうな

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

今日FPGAで学んだこと(10)CからVerilogなどへ書き換えるための手順

2013-10-11 18:34:16 | Weblog
CからVerilogなどのFPGA用HDLに書き換えるための手順について学んできたのでメモメモ

要するに、Cでも、状態遷移に持っていけば、FPGAのステートマシンで記述できる。
なんだけど、Cには、独特な部分があって(ポインタとか)それを、きれいきれい
にしてからでないと・・・とかいうお話。




■CからVerilogなどへ書き換えるための手順

(1)アルゴリズムリファインメント
     →ハードウェア向きへの変更

  ・ポインタ→インデックスへ
     領域がどこまで増えるか
     伝搬性
     構造体のポインタ
     キャスト
     アドレス変換

  ・配列→メモリにマッピング
      (配列へのアクセスを減らす)

  ・関数→最適化
  ・演算子→最適化(式の変換)
  ・500ステップぐらいにわける
  ・並列性、順次性のみきわめ
    ビヘイビアパラレル、ビヘイビアパイプライン
      →シーケンスグラフ
  ・固定小数点(後述)

(2)アーキテクチャリファインメント

  回路サイズ、周波数、消費サイクル、消費電力などで決まる

  固定したアーキテクチャにすると、楽

  ・外部インターフェースは決まっている
    →一般性をもたせる
    →方法:ハンドシェーク

  ・内部
    ステートマシン、レジスタ、パイプライン、ブロックメモリ
    マクロ

  (2-1)システムレベルの関数を考える
     依存性を考慮する

  (2-2)それを細分化し、
      ファンクション内のブロックレベルのシーケンス
      ★プロセス化、モジュール化

  (2-3)トレードオフをどうするか考える
     周波数と速度
     周波数とサイクル
    →これを考えやすくするため、コードサイズを500行ぐらいにわけている
      ★メモリアーキテクチャの検討

  (2-4)ブロック内のスケジューリング
      ★性能解析情報とプロセス間スケジューリング

  (2-5)ステートマシンの作成

(3)RTLの作成
   ・時間に関係ないアルゴリズム

   ・時間軸を入れる

   ・バスサイクル→サイクルを考慮し

   ・RTLへ
     状態遷移図→ステートマシンへ

(4)RTLの検証




■固定小数点化

・対象とする入出力データ確認

・テストベンチ作成

・対象とするデータは・・・
   ・ダイナミックレンジの確認
   ・最大値と最小値の確認

・整数部と小数部の決定
   →最大値、最小値がわかれば、整数の桁数はわかる
    ダイナミックレンジと整数の桁数から小数の桁数は
    決定する

・書き換え

※ポイント
 掛算、割算、三角関数→有効桁数の問題が出るのは・・

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

IE7で複数フォントが使えなかった・・・とか

2013-10-11 12:23:52 | JavaとWeb
きのうの

HTML(CSS)で書体を変えるとき、注意すべきこと
http://blog.goo.ne.jp/xmldtp/e/45957cb7cde8eb5147506d869332f476


をお家で見てびっくり!

明朝体以外、かわっていない・・・

フォントが入っていない環境では、もちろん、変化しない
(デフォルトの文字が表示される)

「コントロールパネル」の「フォント」に出てくる書体
しか、表示されない




それと、複数フォント指定をIE7でやったらうまくいかなかった。
古いIEでは、複数フォント指定(font-familyのところで、
,で区切って複数フォントを書くと、前のフォント指定に無い文字ならば、
後の指定フォントが使われる)が、きかないみたいよ・・・

http://weboook.blog22.fc2.com/blog-entry-330.html

にこんな記述が(以下太字は上記サイトより引用)

複数のフォントを指定するとIE8以下でエラーが起きるそうです。#?を入れると最初のEOT形式だけ読み込んで解決だそうです。難しいですね。




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