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

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

プログラミング教育って、意味あるの?

2021-08-23 08:53:25 | トピックス
前にAI教育って意味あるの?みたいなことを書いた。

https://blog.goo.ne.jp/xmldtp/e/8055a86008be489b77628284cc166dd3

もっと、疑問なのが、「プログラミング教育」だと思う。



実際に今、プログラミングが必要な人って、そんなに多くないと思う
(コンピューターや通信業界に従事している人は多いが、
 その人たちはExcelやパワポを使うが、プログラミングはしない)

そして、そういうプログラミングが必要な人が使っているプログラミングって、学校で習うようなプログラミングとは違うと思う…

というか、プログラミングには、そもそも大きく2種類あり、
 (一つはSQLのような完成品の結果を書く、宣言型言語と
  もう一つは、COBOLのような手続きを書く、手続き型言語)
この2種類を混ざることなく、的確に使い分けられないと、
わけわかんないプログラムになってしまう。

でも、たぶん、そういうことは、意識せず教えている。
…中途半端に教えるのなら、教えないほうがいい。



教わったほうも不安だよね。
学校で、くじ引きのようなプログラムを教わっても、

「はい、Pythonでプログラム教わってきたよね。
 時代はAIだよね。
 じゃ、機械学習を使って、この商品の予測をやって」

といわた日には・・・

それって、小学生に
「+ーX÷は習ったよね。
 じゃ、
 この体積を積分して求めて。」

というようなもんで、たしかに最終的には+ーX÷つかって解くんだけど、
いやいや、それだけ知ってても、微積分はできないでしょうって(^^;)・・・



そもそも、実際には、ソフトウェアのシステムを開発するには、
プログラムだけできればできる・・・というものではない。

大学の専門亭な教育だと、
オブジェクト指向として、UMLは教わる。
しかし、UMLは要求仕様分析の一番最初のとっかかりは
対応していない。

実は、要求分析の一番のとっかかりは、
ゴール指向要求分析のKAOSを使うとできるんだけど、
そのKAOSの書き方と、
KAOSからUMLに分解する方法は、すでに


っていう教科書が、「世界的に」知られていて、

UMLからプログラミングに落とす方法は、


等に書かれていて、昔から知られている。


だからこの教科書をやれば、
システム要求分析←設計←開発(実装)のすべてがつながるのだが、
この本は、日本では、大学院の修士課程で要求分析を専門とした人しかやらない。

なので、日本では、プログラミング教育を受けて、プログラミングはできたとしても、システムの要求分析からプログラミングを落とす方法までは、大学院の人しかやらないから、一般の人にはわからない。
 そしてさらに最悪なお知らせをすると、大学院で要求分析をやる人の多くはプログラミングは苦手だ(苦手だから、画像分析や自然言語処理のようなプログラミングを使う分野ではなく、要求分析をやる)
 つまりKAOSからプログラミングまでを日本語でやる可能性があるのは・・・

・・・このブログぐらい(^^;)



 むかし、このブログで開発の最初から最後までというシリーズをやっていたけど、たしかKAOSからはやっていなかった気がする・・・

せっかくなので、今度、KAOSから初めて、最後プログラミング、テストまでの流れをやっていますかにょ…(気が向いたら、やってみると思う)



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

コンパイラ エクスプローラー

2018-07-12 08:30:03 | トピックス
いろんな言語が比較できるよ!

https://godbolt.org/

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

音楽教室、「JASRAC管理曲外し」が加速か

2018-04-25 01:34:47 | トピックス
外されると、テキストの印税が入らなくなるから・・・結局、損なんだけどね・・

音楽教室、「JASRAC管理曲外し」が加速か
http://biz-journal.jp/2018/04/post_23018.html



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

インターンシップ採用は難しい模様

2017-02-14 20:30:06 | トピックス
「インターンシップ(就業体験)からの採用の解禁」は実現しない方向になりそうだ。

「インターンシップ採用」どこまで許されるか
http://zasshi.news.yahoo.co.jp/article?a=20170214-00158299-toyo-bus_all

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

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

C言語のポインタは、アドレスの値が入ってるを実感できる、組み込み的な使い方

2015-11-18 10:57:52 | トピックス
突然ですが、C言語のポインタの話。

C言語のポインタは、一般的には、
■(1)可変領域を取るために使う
【やり方】
・宣言する
  int *a;
  struct my_str *p_str; /* 前でstruct my_str{ int x; int y;};等、中身があるはず */
  MY_STR *p_str_2; /* typedef struct をしている */

・領域を確保する
  a = (int *)malloc(sizeof(int) * 5);
  p_str = (struct mystr*)malloc(sizeof(struct my_str));
  p_str_2 = (MY_STR *)malloc(MY_STR);

  →配列の場合はcallocもある(callocは初期化される)
p_str =(struct mystr*)calloc(200,sizeof(struct my_str));

・値を設定する
  *a = 8;
a++;
  *a = 10;
(構造体の場合)
  p_str->x = 10; /* (*p_str).x=10;と同じ */
 という方法や
a[0]= 8;
  a[1]= 10;
 という方法など

・いろいろ演算する

・領域を返す
  free(a);
free(p_str);
free(p_str_2);

■(2)ポインタで関数に値を渡すため
 【やり方】
   abc(a,10,6);
 →int b;と宣言したもののポインタ渡しはabc(&b,10,6)など
 →アドレス番号が渡るだけなので、中身は渡らない→変わらない

ですが、もう1つ、Cならではの本来的な使い方があります。


■(3)アドレスを直接指定して、値を書き換える
 →組み込みなどで、制御装置を直接操作したいときに使う

【使い方】

・アドレスを宣言する
#define PINSEL0 *((volatile unsigned int *)(0xE002C000))

/* 0xE002C000 というメモリの番地があり、そこと外部の装置が繋がっている */
/* volatileで最適化を抑制する。メモリアドレスを直接表現するとき必要なことも
http://proger.blog10.fc2.com/blog-entry-20.html 参照 */

・値を設定する

PINSEL3 &= ~(0x3<<4);
 /* 11を<<で(4つ)シフトさせ、~で反転00し
   AND(&)を取る→と必ず00になり、クリアされる */

PINSEL3 |= (0x3<<4);
 /* 11を<<で(4つ)シフトさせ、ORを取る
   →と必ず11になり、値が設定される */

・この値を外部のシステムがみて、ON,OFFにより、動作を変える

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

デジタル土方さんは根絶へ向けての「要件の自動抽出技術」の今ここ

2015-11-02 09:20:08 | トピックス

前に書いたKBSEの話は、実は、「要求の自動抽出がどれだけ現実化しているか」を語っているのだが、それ、わかりにくいので、コメントしておく。




■システム開発は、3つの自動抽出ができると、ほぼ完成する

その前に、「要件の自動抽出技術」が完成すると、どういうことが起こるのかについてすこし。

システム開発は、以下の3つの自動抽出ができると、ほぼ完成する

  ・(要求~設計)「要件の自動抽出」により、
     顧客から対話型ないしは自然文で要求っぽいことを入力してもらうと、
     要求から機能要件、非機能要件を抽出し、
     あらかじめ登録してあるサービスを検索し、利用すべきサービスと手順を設計書として出力し
     結合テスト、総合テストを自動生成する

  ・(設計~実装)「設計書からプログラムを自動生成」
     上述の設計書をもとに、プログラムとドキュメント、単体テストを自動生成する

  ・(テスト)「テスト自動実行」
     上述の単体テスト、結合テスト、総合テストを自動実行する。

この3つの自動抽出が完成すると、デジタル土方さんは必要なくなる。
偽装請負の問題や、ブラック企業の問題、メンタルの問題は一切なくなる。
なんたって、その対象である、デジタル土方さんがいなくなるのだから・・・

そして、「テスト自動実行」は、なんとかUNITとか、いろんなテスト自動実行ツールで
実用化の段階に入っている。

「設計書からプログラムを自動生成」は、いわゆる超高速開発であり、GeneXusや、
富士通のInterdevelop Designer
などがそれに当たる。つまり、実用化の段階に入っている。

しかし、現状、「要件の自動抽出」ができていない。そこで、ユーザーから要求を聞いて、それを設計書に起こすまでが、人間の仕事として存在する。
 このうち、ユーザーからのヒアリングは上流の会社が、設計書の記入と、超高速開発、自動テストの運用と設定が、デジタル土方さんの仕事となっている。

 つまり、現在、「要件の自動抽出」ができていないので、デジタル土方さんは、必要である。逆に言うと、「要件の自動抽出」ができれば、デジタル土方さんは必要なくなる。




■要件の自動抽出の3つの要素技術

さらに、要求の自動抽出は、以下の3つの要素技術でできる。

1.顧客から対話型ないしは自然文で要求っぽいことを入力してもらうと、
  要求から機能要件、非機能要件を抽出する

2.機能要件から業務ワークフローを割り出し、
  既存のサービスから、ワークフローにあったサービスが存在するかどうかを検索し、
  存在した場合は、順番にそのサービスをならべ、設計書を出し、
  存在しない場合、どのようなサービスを作成すればよいかサービス仕様書を出力する

3.業務ワークフローが存在し、
  それを満たす既存のサービスが複数存在する(=機能要件は満たす)ときに、
  非機能要件から、最適なサービスを抽出する

このうち、前回のKBSE


論文とかが通るかどうか、判断&アドバイスしてくれるかもしれないソフト?
http://blog.goo.ne.jp/xmldtp/e/bf2dcaa49c0b76fab8972186c0d7fa7c


の石川先生「機能・品質の多様性を扱う適応的サービス合成」の発表は
上記3を説明している
 つまり、非機能要件を評価関数にして、
 ジェネリックアルゴリズムを使って、サービスの組み合わせを決めていく
 ことにより実現する

また、コグニティの河野さんの「BrainPlots/CogStructureのご紹介」は、
上記1を説明している
 このツールは、文章をチェックし、足りない部分などをアドバイスし、
 要約して抽出する。

 で、質問として出てきた、D-CASEの回答にあるように、
 いま、ゴール指向とのマッピングをおこなっている。

ゴール指向とのマッピングが行えれば、このソフトで、
 ゴールを挙げてもらえるような、アドバイスをする
 ゴールをまとめて出力する
ことはできそうということになる。

 非機能ゴールに関しては、すでに、Lamsweerdeのゴールカテゴリ、
 NFR、(ゴールじゃないけど)非機能要求グレードなどで、
 なにを挙げればよいかが分かっている。

 機能ゴールは、最終的に必要な出力内容の定義(=トップゴール)となる。
 (業務内容によって異なる)

よって、あと、必要なのは、上記の2になる。




■ゴールから要件の割り出し

 のこりの2については、萌芽的な研究しかないが、方向性はわかりかけている。
 (ここの論文
「刺激―反応ゴール」あたりをロリポおじさんなみのテキトーさで解釈すると)

つまり、以下の手順で行う

  (あ)まず、トップゴールをゴールとします
  (い)ゴールに対応するプロセスが1つ以上あると仮定して、
  (う)そのプロセスが必要とする入力を指定してください
    入力から出力が作れれば、仮定したプロセスは実現できることになります。
  (え)上記(う)の入力値が、他システムから与えられるか、誰かが手入力する
    というのでなければ、その入力値をゴールとして(い)に戻ってください
  (お)最終的に、他システムまたは手入力をもとに、最終的に必要な出力内容
    が得られるプロセスがわかります=業務要件とサービスがでてきます。

例:酒屋倉庫問題

   ・手元にお酒が届いている→入力値:注文したお酒&送付先情報(プロセス:配送)
   ・注文したお酒→入力値:注文したお酒のの種類と数&倉庫のお酒(プロセス:出庫)
   ・注文したお酒の種類と数→入力値:顧客からの手入力(プロセス:受注)
   ・送付先情報→入力値:顧客からの手入力(プロセス:受注)
   ・倉庫のお酒→入力値:発注したお酒の種類と数&発注先のお酒(プロセス:入庫)
   ・発注したお酒の種類と数→入力値:発注者の手入力(プロセス:発注)
   ・発注先のお酒→他システム(発注先にある)

 よって業務プロセスは
   発注→入庫→受注→出庫→配送





■全部できると・・・

そうすると、以下の手順で、要求抽出は自動化できそうである

・ゴールを挙げてもらいます(サポートするツールで)
  最終的な出力内容と
  非機能要件を

・最終的な出力内容をもとに、既存のサービスを検索して、上記手法によって
 業務プロセスを導き出し、該当サービスがあればそれを抽出、なければ、
 どのようなサービスを出せばよいか出力する

・業務プロセスが決まれば、非機能要件を満たす、最適なプロセスを
 遺伝的ありごリズムを使って抽出する

で、これができると、ユーザーが要求を入れさえすれば、設計、プログラム、テストが
自動的に行われ、システムができることになる。デジタル土方はいらない。




■開発で残れる人

このような状況になっても、要求を出すために、上流の会社はのこる
まだないサービスをつくるため&自動生成を起動するため、
富士通系だとFSA
のメンバーは残れるかもしれない。都筑さんはのこるだろう。
(両毛さんは、FCAに入ってる

でも、それ以外はいらなくなってくるかもしれない。
富士通以外でも、似たようなもんになるだろうから、多くのデジタル土方は
いらなくなる・・・転職したほうがいいかも。
会社は別事業を考えたほうがいい?

たとえば、

  秋葉原にあるなら、
  女子社員を48人集めて、ABC48とか作って、
  バブルのころは良かったけど、最近ぱっとしないテレビ局に
  「うちの名前の会社名の前に、”オールナイト”とつけた冠番組を深夜に行う」等と提案し
  コンテンツビジネスで儲ける・・

とか・・・(冗談ですよ ^^;)


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

今日はPepperの誕生日!って、知ってた?

2015-06-05 15:15:52 | トピックス
ここで確認!

https://www.facebook.com/PepperRobot

誕生日動画もある

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

PepperをJavaで動かす方法について

2015-06-04 12:32:02 | トピックス
きのう、JJUGのやつにいってきて、きいてきたんで、
とりあえず、その部分のメモメモ



libqi+使いやすいラッパー→Java NAOqiSDK
正式ではない
※注意 Windows 現状のライブラリは64bit系では動かない。
    32bit系で動かすこと


■Javaを使う方法3とおり
1.外部からアクセス
2.内部にJDKを入れる
3.サービスとして動かす

■1.外部からアクセス

外部JARをクラスパスに通すだけ
java-naoqi-sdk-2.3.109-windows32.jar
(Windows32はプラットフォームによって変わる)

ソース
import com.aldebaran.qi.Application;
import com.aldebaran.qi.Session;
import com.aldebaran.qi.helper.proxies.*;

public class HelloJavaSDK {
	public static void main(String[] args) throws Exception  {
		Application application = new Application(args,"tcp://niconico07.local:9559");
		try {
			application.start();
			Session session = application.session();
			
			ALTextToSpeech tts = new ALTextToSpeech(session);
			
			tts.setLanguage("Japanese");
			tts.say("Java デベロッパーの皆さんこんにちは");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

第二引数に名前.localまたはIPアドレス

アプリケーション
セッション
サービスALTextToSpeach
サービスのメソッド実行

eclipseの場合
 外部Jarを追加

バッチで実行


javac -cp java-naoqi-sdk-2.3.109-windows32.jar HelloJavaSDK.java
java -cp java-naoqi-sdk-2.3.109-windows32.jar HelloJavaSDK


■PepperのイベントをJavaのプログラムで受ける方法
ALMemory
サブスクライブを呼び出す
  監視したい 発火アクション
ラムダ式を使ってもいい
→終了させないと、何度も言ってしまう

API詳細はJavaDocにある

■バーチャルロボットで確認する方法
・なにもつながない場合、バーチャルロボットがnaoになるはず
 編集→設定→バーチャルモデルをPepper(またはジュリエット)にして
 NAOqiの状態 ポート番号を確認(毎回変わる)

 http://localhost:49554

 ダイアログ
 表示→ダイアログで(出ていなかったら)出せる

 接触センサー系は、単体ではできない
→それがバーチャルツール
 特定のイベントを発火する
  入力をダブルクリックすると、イベント

バーチャルロボットに対して、同じ動きをインストールさせる
pepper animationsでパッケージを取得




今、時間がないので、詳しい話はまた今度書く。

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

マイナンバー導入チェックリストや個人事業者向きポイント資料など-内閣官房 & DMPすげー!

2015-05-26 12:13:47 | トピックス

内閣官房のマイナンバーフリーダウンロード資料
http://www.cas.go.jp/jp/seisaku/bangoseido/kouhousiryoshu.html

に、

・動画でみるマイナンバー制度(一般の向け)
・これだけは事前に知っていていただきたいこと資料
・動画でみるマイナンバー制度(事業者向け)
・入門編!従業員数の少ない個人事業者向きポイント資料
・マイナンバー導入チェックリスト1枚紙

などが、掲載されていてダウンロードできるようになっている。

報告終わり!




(10時35分追加)

実はこの記事の線の上の部分は、今表示されるずっと前、10時ごろに書いて、予約投稿したものなんだけど、そしたら、10時30分ごろ、ブラウザ見てたら・・・

急にマイナンバーの宣伝が右上に・・・

DMPすげー!!
・・・でも、マイナンバーのことがクッキーに残っている人は、マイナンバーに関心があるわけで・・この宣伝は、関心が「ない」人に出したほうが、効果があるのでは・・・

・・・うん、だまってる(^^;)



(10時48分追加)
ちなみに、今、おなじニュースを開いたら・・・

はいはい。たしかにこの間に私は、

KDDI WVS2

を検索しましたよ・・SDNネタでね・・・
そこまで見ているか・・・DMP,おそるべし・・・


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

「Python+JQuery+ajaxで文字化け」ではまったこと

2015-03-20 16:52:26 | トピックス
コレではまったら、サイトを見ると、
beforeSend: function(xhr){
xhr.overrideMimeType("text/html;charset=UTF-8");
},
しろと書いてある。

確かに結果的に言うと、
「このまま書くと」文字化けが消えたように「見える」
だけど、そこに落とし穴がある。
そんなことをつらつらと・・・




■お題

以下のHTMLがある。
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<script type="text/javascript">
function senddata()
{
	$.ajax({
		url: "sample2.py",
  		type: 'post',
		data:{
			data:$("#pdata").val(),
		},
  		success: function(mydata){
  			alert(mydata);
			$("#pdata").val(mydata);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){
			alert("error !!!");
		}
	});

}
</script>
</HEAD>
<BODY>
<form>
	<INPUT type=text name="pdata" id="pdata"/>
	<BUTTON onclick="senddata();return false;">実行</BUTTON>
</form>
</body>
</html>

上記のプログラムはShift-JISで書かれて、保存されている。
これを受けるPythonのプログラム(sample2.py)は、こんなかんじ。

#!/usr/bin/python
# coding: cp932

import os.path
import cgi
import os
import sys

data="";
form = cgi.FieldStorage()
if form.has_key("data"):
data = form["data"].value

print "Content-Type: text/plain;charset=Shift-JIS\n"
print data

これも、Shift-JISで書いて、保存してある。

これを、実行すると、文字化けする。




■xhr.overrideMimeTypeのcharset=Shift-JIS ”ではない”

ここで、全部Shift-JISなのだから
beforeSend: function(xhr){
xhr.overrideMimeType("text/html;charset=Shift-JIS");
},
と書くと、失敗する(変わらない)。

理由はブラウザは、引数を、UTF-8で送る。
ほかはShift-JISで書かれていても。
それで、文字化けしているのだから、
ここはShift-JISでなく,UTF-8で送っているよ!と送らねばならない。
なので、
beforeSend: function(xhr){
xhr.overrideMimeType("text/html;charset=UTF-8");
},
と書かなければならない。
まとめると、こんなかんじ。

<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<script type="text/javascript">
function senddata()
{
$.ajax({
url: "sample2.py",
type: 'post',
data:{
data:$("#pdata").val(),
},
beforeSend: function(xhr){
xhr.overrideMimeType("text/html;charset=UTF-8");
},

success: function(mydata){
alert(mydata);
$("#pdata").val(mydata);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert("error !!!");
}
});

}
</script>
</HEAD>
<BODY>
<form>
<INPUT type=text name="pdata" id="pdata"/>
<BUTTON onclick="senddata();return false;">実行</BUTTON>
</form>
</body>
</html>





■これで、一件落着・・・じゃない!

たしかに、上のsample2.pyは、正常に動作する.
だけど、最後の、

print data



print "文字列"

とかに書き換えると、文字化けする。

・・・そう、
xhr.overrideMimeType("text/html;charset=UTF-8");
って書いちゃうと、UTF-8になってしまって、いくら、python側で

print "Content-Type: text/plain;charset=Shift-JIS\n"

って送っても、だめみたい・・・

ということは、python側をすべてUTF-8にする、つまり

#!/usr/bin/python
# coding: utf-8

import os.path
import cgi
import os
import sys

data="";
form = cgi.FieldStorage()
if form.has_key("data"):
data = form["data"].value

print "Content-Type: text/plain;charset=utf-8\n"
print data

と書いて、UTF-8で保存すれば
送られてきたデータをそのまま返しても、また
print "文字列"
と書いても、文字化けしない。


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

IEの互換性の修正・テストをする方法が書かれたサイトについて

2014-12-18 16:05:16 | トピックス

IE8が2016年1月12日にサポート終了するので、互換性テストどうするか、聞いてきた!
http://blog.goo.ne.jp/xmldtp/e/7814720f034ccd91797ed151c37648db

で聞いてきたはずの、IEの互換性の修正・テストをする方法について、まとめてみる。




■概要

IEの互換性テストをするには

方法1
・UIテストを流して、問題点を検出する
・Internet Explorer 互換性クックブックを見てがんばる

方法2
・Compat Inspectorを使う

いずれにせよ、修正したら
・各バージョンのブラウザで確認する。

という手順をとるが、これを行うツールがある。それについて




■UIテストを流して、問題点を検出する

VisualStudioのバージョンによっては、自動でUIテストができる。
くわしくは、
1.UI オートメーションを使用したコードの検証
http://msdn.microsoft.com/ja-jp/library/dd286726.aspx


2.自動 UI テストを使用したユーザー インターフェイスのテスト
http://msdn.microsoft.com/ja-jp/library/vstudio/dd286726(v=vs.100).aspx


を参照のこと。

なお、自動UIテストはseleniumでもできるが、seleniumのIEによる自動UIテストは、
seleniumIDEから、captureEntirePageScreenshotがエラー
に書いたように、なんかうまくいかない・・・(自分だけ?)




■Internet Explorer 互換性クックブックを見てがんばる

UIテストをして、ターゲットとなるブラウザで動かない場合、互換性の問題となる。
どんな互換性の問題があり、どうすればよいかは、


Internet Explorer 互換性クックブック
http://msdn.microsoft.com/ja-jp/library/ie/dn384059(v=vs.85).aspx


を見れば、わかるらしい。




■Compat Inspectorを使う

UIテストして、互換性クックブックをみてなおしてもいいが、
IEの互換性で問題がある機能を調べて、どう直すか教えてくれる
Compat Inspectorがある。
これは、Javascriptで、これを入れるのはめんどくさい。
そこで、プロキシFiddlerを通してCompat Inspectorを動かす方法がある

詳しくは、


Compat Inspector - ソースコードからIE独自機能を機械的に検出しWeb標準へ置き換えさせる方法
http://furoshiki.hatenadiary.jp/entry/2014/01/06/030742


を参照のこと(そこにやり方が書いてある)




■各バージョンのブラウザで確認する

とにかく、修正したら、各ブラウザで確認する必要がある。

http://modern.ie
にいくと

のように、「仮想マシン」を使ってIE6~11までの動作状況を確かめられる。
同様に確認できるものとしてBrowserStackがある。


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

jQueryがパッケージ名を変更

2014-11-10 01:20:45 | トピックス
2系の後継→「jQuery 3.0」、
1系の後継→「jQuery Compat 3.0」


IE8、Opera 12、Safari 5といった古いバージョンのWebブラウザをサポートする必要がある場合はjQuery Compat 3.0を利用することを推奨している


とのこと

・・・知らんかった。


jQueryがパッケージ名を変更、2系の後継を「jQuery 3.0」、1系の後継を「jQuery Compat 3.0」としてリリースへ
http://sourceforge.jp/magazine/14/10/31/153200

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


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

Javaの無料の静的解析ツール、FindBugsのEclipseプラグインを入れてみた!

2014-11-07 16:15:03 | トピックス
昨日の「Borland ソリューションカンファレンス」で、富士通の人の表の中に
FindBugsというオープンソースの静的解析ツールが
あるように書いてあったので、Eclipseにいれてみた。


Welcome to the FindBugs Eclipse plugin update site.
http://findbugs.cs.umd.edu/eclipse/

に入れ方が書いてある。以下、日本語版で




■FindBugsのインストール

ヘルプ→新規ソフトウェアのインストール

出てきたダイアログで「追加」をクリック

次に出てくるダイアログで

名前に
FindBugs update site
ロケーションに
http://findbugs.cs.umd.edu/eclipse
を入れて、OK。このダイアログは消える。

ちょっとたつと、元のダイアログに

FindBugsとでてくるので、それをチェック、次へ

次へ

同意して「完了」

途中

とか出てくるけど、OK

で再起動したら、FindBugsがはいってる




■FindBugsの利用法

プロジェクトを作成したら、右ボタンクリック、

プロパティで出てくるダイアログ、左側

FindBugを選択、右側で、
「プロジェクト固有の設定を可能にする」
「FindBugを自動的に実行」などをチェックし、適当に
設定する

サンプルプログラムを書いたら、

と黄色上に、緑っぽい小さいのが出たら、そこをクリックすると、
下のダイアログに、、バグ情報が出る。

と修正すると、消える。

なお、出ない場合、「プロジェクトのビルド」

をもういちどすると、いいかも・・
それでもでなかったら、プロパティの設定が間違えたか、
本当にバグがないか・・・




【参考になるかもしれないサイト】


FindBugsで静的解析を行う
http://techbooster.jpn.org/andriod/environment/6483/

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

テスト自動化とテスト観点の話を聞いてきた(観点表を無料で入手できるサイトの話も)

2014-10-30 12:04:41 | トピックス
2014 Japan ITWeek 秋で、

バルテス
http://www.valtes.co.jp/

という会社が出展していて、そこで、テスト自動化の話とテスト観点の話をしていたので
メモメモ(テスト観点表が無料で入手できるところもメモメモ)




■テスト自動化

やるべきこと
 上流:あいまいな仕様
 中流:手戻りの最小化
 下流:テスト実行効率化

・中流に自動化を入れるとよい
・でも、いきなりはキケン
・下流に自動化を入れて効率化
  →下流で気づいたのでは、遅い!(費用大)
 上流:単体テスト:それ以降のテスト:リリース後のコスト
  1:10:40:100

・まずは詳細設計→単体テスト間でまずはまわす:JUnit
・次に結合以降:Selenium
・そうしたら、回帰テスト→デプロイ:Jenkins

・まとめ
 大きな戦略を立てる
  →1:10:40:100
 いきなり戦術、自動化はX
 自動化に向いているところと、そうでないところがある




■テスト観点
・テスト
 ばらつき、もれ、抜け
 テスト観点のライブラリ
・テスト観点:切り口、見方
  →実施しない観点で不具合→属人性が出てしまう
・観点例
  正常系
    GUI、
    同時
    状態遷移
    組み合わせ
  異常系
    異常操作
    異常入力
    環境
 →チームとして、標準化

Qbookから、無料で(ただし会員登録(無料)必要)
 テスト観点をダウンロードできる(以下のURLから)

http://www.qbook.jp/qptestview/librarylist


・テストケースへの展開
  テスト観点ライブラリーが良いテストを作る

まとめ
 テスト観点のライブラリ化
 それを更新していく
 ドメインごとにテスト観点を分類  

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

昨日行ってきた、JapanITWeekの展示のまとめ

2014-10-30 08:55:07 | トピックス
NIFTYクラウドさんは書いたけど、ほかにも
GMOはALTUS(あるたす)っていうクラウドをやってた。

次世代ファイヤーウォールとか、ネットワーク系では、
次世代とつくのが流行ってるけど、マクニカさんも、
パロアルトさんも、その手のが出てた。
CISCO,ソリトン、F5とかはもちろん出てて、なんかやってた。

データセンターは、ハードも展示、いろいろあったけど、あまり印象に残らなかったので省略

ジャストシステムがBIツールを出しているらしかったんだけど、
頭脳パンばっかりで、なにを出しているのかよくわかんなかった
(逆効果では?)



最近の話題としては、統一認証、SSOがあるけど、
WisePoint,SynctTrustとかが
出てた

SONYがXperia(をビジネスで)というのをやっていた


ウェアラブル(ウェルキャット、だいふく)
トランスウェアがGoogleApp,Office365の・・っていうのは、かわらない
IBeaconがいくつかでてて(Emprize,ユビキタスエンターテイメントなど)
東芝がFlashAirとか・・・


CRMはZOHOとかトライコーンとか

名刺のシステムは、あの電車広告で有名なSansanはもちろん、
ヤマトシステム開発なんかもでていた
ヤマトは通販パッケージサービスでYESというのをやってた。
「5、6人でもいいんです、詳しく分かりやすく」といって、説明してた。


トマトランドがタブレットのスタンド?
アプリ開発(ふぇんりる)もあったし、IOT/M2Mもあることはあった
web会議や、商品撮影なんかも出ていた

あとバルテスという会社がスマホなんかのテストについて
やっていたんだけど、とても勉強になるので、別エントリで
書いておく

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