Hatena::ブログ(Diary)

Diary of strysd このページをアンテナに追加

2016-05-07

Oomph をベースにした Eclipse Installer は安定したか

| 20:53 | Oomph をベースにした Eclipse Installer は安定したかを含むブックマーク

Eclipse 4.5 (Mars) とともに 2015年6月 にリリースされた Eclipse Installer は、Mars がまだ Developer Build のときに一回試したことがあります。そのときは起動直後にこけて、まだまだ使えないと感じていました。

今日、次の 4.6 (Neon) の Developer Build から JavaScript Development Tool をパッケージとしてダウンロードする代わりに、Eclipse Installer を使ってみました。すんなり動いて感動。

下の画像の矢印の先で示した Windows 32bit 版を使用しました。

f:id:satoruyoshida:20160507203139p:image

一回 Eclipse Installer をダウンロードしてから、その Installer を起動して目的の開発環境やライブラリーをダウンロード、と少なくとも2段階の作業になります。なので、ADSL 回線などの細い回線をお使いの場合はパッケージとして固まっているものをダウンロードするほうが手っ取り早いです。

光回線をお使いの場合は、Eclipse Installer を使用することにより開発環境作成時の自由度が高くなりますね。

私も今後は積極的に Eclipse Installer を使っていこうと思います。

2016-04-29

JavaScript で作業時間数計算

| 10:43 | JavaScript で作業時間数計算を含むブックマーク

必要があって、作業開始時刻から終了時刻までの時間数を計算するロジックを JavaScript で組んでみました。開始時刻と終了時刻を最大5組まで入力して 0.25時間単位で計算します。


JavaScript 部分はこちら。

function allclear() {
	var myst = document.getElementsByName("myst");
	var myen = document.getElementsByName("myen");
	var res = document.getElementsByName("res");
	var len = myst.length;//入力行の数
	var total = 0;

	for ( var i = 0; i < len; ++i) {
		myst[i].value = '';
		myen[i].value = '';
		res[i].value = 0;
	}

	PLAN.allres.value = total;
}

function calc() {
	var myst = document.getElementsByName("myst");
	var myen = document.getElementsByName("myen");
	var res = document.getElementsByName("res");
	var len = myst.length;//入力行の数
	var total = 0;

	for ( var i = 0; i < len; ++i) {
		//:記号と空白を除去し、入力欄の値に反映します。
		stvalorg = myst[i].value.replace(/^\s+|\s+$|\:/g, '');
		envalorg = myen[i].value.replace(/^\s+|\s+$|\:/g, '');
		myst[i].value = stvalorg;
		myen[i].value = envalorg;

		//未入力、数値ではない、時刻逆転の3種類の場合、計算対象外にします。
		if (stvalorg == '' || envalorg == ''
		|| isNaN(stvalorg) || isNaN(envalorg)
		|| stvalorg > envalorg) {
			myhr = 0;
		} else {

			//4桁未満の入力の場合に対応
			stval = '0000' + stvalorg;
			enval = '0000' + envalorg;

			//時と分を2桁ずつ切り出します。
			stmn = stval.substr(-2, 2);
			enmn = enval.substr(-2, 2);
			sthr = stval.substr(-4, 2);
			enhr = enval.substr(-4, 2);

			//15分単位で割り算し切り捨て後、時間単位に変換
			myhr = Math.floor(((parseInt(enhr) - parseInt(sthr)) * 60
			     + parseInt(enmn) - parseInt(stmn)) / 15) / 4;

			//1200以前に開始し、1300以降に終了した場合だけ1時間減。
			//1200過ぎに開始した場合、1300より前に終了した場合は考慮していません。
			if (stval.substr(-4, 4) <= '1200'
			&&  enval.substr(-4, 4) >= '1300') {
				myhr -= 1;
			}
		}

		res[i].value = myhr;
		total += myhr;
	}

	PLAN.allres.value = total;
}

入力欄を表示するための HTML 部分はこちら。

script タグの部分は JavaScript 部分を別ファイル (calcworktime.js) にした場合の書き方です。もちろん、src 属性を使わずに script タグの内部に JavaScript 部分を書いてもかまいません。

<html>
<head>
<meta charset="UTF-8">
<title>作業時間計算</title>
<script type="text/javascript" src="calcworktime.js"></script>
</head>
<body>
<form name="PLAN">
	<table>
	<tr>
		<th>開始時刻</th>
		<th>終了時刻</th>
		<th>時間数(0.25単位)</th>
	</tr>
	<tr>
		<td><input type="text" name="myst" size="6" maxlength="5" tabindex="1"></td>
		<td><input type="text" name="myen" size="6" maxlength="5" tabindex="2" onblur="calc()"></td>
		<td><input type="text" name="res" size="4" value="0"></td>
	</tr>
	<tr>
		<td><input type="text" name="myst" size="6" maxlength="5" tabindex="3"></td>
		<td><input type="text" name="myen" size="6" maxlength="5" tabindex="4" onblur="calc()"></td>
		<td><input type="text" name="res" size="4" value="0"></td>
	</tr>
	<tr>
		<td><input type="text" name="myst" size="6" maxlength="5" tabindex="5"></td>
		<td><input type="text" name="myen" size="6" maxlength="5" tabindex="6" onblur="calc()"></td>
		<td><input type="text" name="res" size="4" value="0"></td>
	</tr>
	<tr>
		<td><input type="text" name="myst" size="6" maxlength="5" tabindex="7"></td>
		<td><input type="text" name="myen" size="6" maxlength="5" tabindex="8" onblur="calc()"></td>
		<td><input type="text" name="res" size="4" value="0"></td>
	</tr>
	<tr>
		<td><input type="text" name="myst" size="6" maxlength="5" tabindex="9"></td>
		<td><input type="text" name="myen" size="6" maxlength="5" tabindex="10" onblur="calc()"></td>
		<td><input type="text" name="res" size="4" value="0"></td>
	</tr>
	<tr>
		<th colspan="2">合計:</th>
		<td><input type="text" name="allres" size="4" value="0"></td>
	</tr>
	</table>
	<br />
	<input type="button" onclick="calc()" value="再計算" tabindex="11">
	&nbsp;&nbsp;
	<input type="button" onclick="allclear()" value="クリア" tabindex="12">
</form>
</body>
</html>
  • 注意
    • 0900, 1330, 2515 のように入力してください。 :記号や時刻一桁だけ (例: 900) も OK
    • 12時以前に開始して13時以降に終了する場合だけ 1 時間引いています。
    • IE では使用できません。FireFox 45.0.2 で動作確認済です。

2016-03-12

スクラムソフトウェア開発プロジェクトがまったく分からないのでデブサミ再演を聞いてきた

| 11:08 | スクラムソフトウェア開発プロジェクトがまったく分からないのでデブサミ再演を聞いてきたを含むブックマーク

私が SIerシステム開発の現場に携わっていたのは 2000年から2006年までの約6年半で、ウォーターフォール型のプロジェクトのみだったので、正直な話 JIRA Software で作成できる6種類のプロジェクトのうち、スクラムソフトウェア開発プロジェクトは、使い方がまったく分かりませんでした。

実際にアジャイル開発をしている人の話を聞いたらスクラムソフトウェア開発プロジェクトの使い方のイメージがわくかもしれないと考え、3月11日の夜にドワンゴの会議室を借りて行われた、「【デブサミ2016再演】19-C-3・19−E-3・19−A-5」 を聞いてきました。

アジャイル(GINZA) の中で紹介された書籍にもあとで目を通そうと思いますが、スクラムソフトウェア開発プロジェクトは、もしかすると 教科書的にアジャイルソフトウェア開発をするときにぴったりはまるものなのかもしれない、と仮説を立てました。

その仮説が正しいかどうかという視点で JIRA Software のスクラムソフトウェア開発プロジェクトの各種機能を見てみようと考えています。

もうひとつ考えたこととして、ウォーターフォール型の人にとっては、

  • 一定期間ごとにサイクルをまわすという考え方にいきなり切り替えるよりは、
  • 今月(あるいはこの四半期は、とか)は、「設計を考える」期間という風に目的別に定義して、その期間内で、いろいろな機能の設計を優先順に考える、と解釈しなおして取り入れたほうが

とっつきやすいのかな、と漠然と思っています。

仮説と並行して、ウォーターフォール型経験のみの人に、スクラムソフトウェア開発プロジェクトの使い方をわかりやすく説明にするにはどうしたら良いか、という視点でも考えてみたいと思います。

ちなみに再演の中で触れられた本とは別のものですが、2004 年の書籍ですでにスクラムという言葉が出てきているんですね。XP という言葉は知ってましたが、自分のアジャイル方面へのアンテナのなさに愕然とするばかりです。この機会に、基礎的なところをまず学びたいと思います。

(5月7日追記)

最近の書店を見ますと、カンバン開発やスクラム開発についての入門書が販売されていますね。今から取り組むのであれば下記のような最新の入門書を使って学ぶのがよさそうです。

2016-02-27

最近ポーランドの人が頑張ってる

| 12:45 | 最近ポーランドの人が頑張ってるを含むブックマーク

Eclipse の Babel プロジェクトですが最近ポーランドの人が頑張ってます。

f:id:satoruyoshida:20160227123958p:image

最近一年間の翻訳数でポーランド語がトップになりました。

翻訳者のトップは、これは旧バージョンから新バージョンの Eclipse の翻訳データへの移行プログラムで使われているユーザー名です。

なので、最近一年間の翻訳者トップも ポーランド人の konrad さんです。

f:id:satoruyoshida:20160227123959p:image

40言語以上ある中で、Eclipse 4.5 の翻訳率でも3位に上がってきました。

2016-01-24

Atlassian 翻訳サイト投稿開始から約2ヶ月

| 21:11 | Atlassian 翻訳サイト投稿開始から約2ヶ月を含むブックマーク

「私の翻訳」という選択肢を選んで過去の投稿記録を見ると、Atlassian 翻訳サイトへの最初の投稿は、11月27日に JIRA Service Desk 関係でいくつか投稿したのが最初のようです。本格的に投稿を始めたのは、12月下旬でした。

1月8日に JIRA Service Desk 、1月13日に Questions for Confluence の翻訳をコンプリートしました:−)

f:id:satoruyoshida:20160124210439p:image

Team Calender for Confluence とか JIRA Core とか、他にもチョコチョコ手を出していたら、月間で4位になりました。ちょっとうれしい。

f:id:satoruyoshida:20160124211049p:image

これからも勉強をかねて細々と続けようと思います。