2016年9月29日木曜日

わかりやすいアジャイル開発の教科書

アジャイル開発ってよく聞くけどなんやねん、ということで本書を手に取ってみました。
アジャイルが出てきた背景として、、過去にソフトウェア工学が発展する中で包括的なドキュメントや計画が重視され、人がおざなりなる傾向があったことを理解できました。

過去に自分が経験したことですが、時間をかけて業務の補助ツールを作成したのですが、「これじゃない」感があり満足した成果が得られないことがありました。こういう「価値がない」状態を二度と発生しないために何ができるのか。

アジャイルの目的

アジャイルの目的は「価値」の最大化です。

価値を定義しなさい、価値を。

ソフトウェアの開発を委託する顧客は、「このソフトウェア/システムがあれば業務効率が上がって収益が上がるはずだ」など、そのソフトウェア/システムに対して費用を払って得られる利益を期待しています。その期待が顧客にとってのソフトウェアの価値になります。

ソフトウェア/システムによって得られる効果・成果のことですね。

「アジャイルソフトウェア開発」とは

ある特定の開発手法を指すものではなく、ソフトウェアの価値を最大限に高めるために、エンジニア、マネージャ、顧客も含めて取り組むべき「考え方」や「姿勢」です。

もちろん、いろいろな手法や手順が本書で紹介されているのですが、それはアジャイルソフトウェア開発を実現する手段であって、アジャイルソフトウェア開発というのはあくまで「考え方」や「姿勢」ということみたいです。

その他、気になった部分だけ列挙します。

  • こたつモデル
  • プロジェクト内に、時間の長さが一定のタイムボックスというもので細分化する
  • タイムボックスの長さは、プロジェクトの長さを10-12ぐらいで分けるのが最適らしい
  • タイムボックスの長さが固定なのは、作業効率(ベロシティ)を把握するため
  • タイムボックスごとに「ふりかえり」を行う
  • プロジェクトを、ストーリーとして捉える
  • 最後のタイムボックス終了までにストーリーを完結させる。
  • YAGNI ※特段アジャイルに限ったことではないと思いますが
  • プロジェクトだって、ソフトウェアと同じく、INPUT -> 処理 -> OUTPUT という流れになっている
  • ソフトウェアカンバン
  • やるべき項目を「タスク」として細分化するが、その細分化の大きさは「半日から2日」
  • タスクを「Done」にする条件(Doneの定義)をチーム内で決める
  • Redmineによるチケット駆動開発(TiDD)
  • テスト駆動開発(TDD)では「予定通り失敗する感覚」が大事

実践が肝ですが、それが課題です。

2016年9月27日火曜日

スペアザいいね - special others

2016/10/01 更新

自転車屋さんでかかっていたけど、スペアザ(special others)初めて聞いた。
いやー、かっこいいですね。カラダ動かしたくなるようなテンポがいい。
調べてみるとケッコー息の長いバンドでした。すでにファンの方からしてみれば「今頃かよ」って感じでしょうか。


キラキラした感じの曲たち

SPECIAL OTHERS & Kj (from Dragon Ash) - Sailin' 【MUSIC VIDEO】

SPECIAL OTHERS - AIMS 【MUSIC VIDEO SHORT.】

SPECIAL OTHERS - Surdo 【MUSIC VIDEO SHORT.】


こういう楽しい楽しい感じのもある
youtubeになかったのでニコ動ですが

ドローン検定3級を受験してきました!

タイトルの通り、一昨日(2016/09/25 Sun)にドローン検定3級を受験してきました!

同じ日に1級を受験していた知り合い曰く、開始10分前ぐらいにテキスト読むぐらいで余裕だよということでしたが、自分はドローンと今まで無縁だったので2回通読して本番に臨みました。試験自体が簡単であったので、自己採点は90点で合格していると思います。

ドローン検定って何?

正式名称は、「無人航空従事者試験」らしいです。
ドローン検定協会 株式会社が実施している「民間の検定」です。
一般財団法人が後援しているものも、お国は関係ないものと思われます。

似ているものとして、一般財団法人 JAREXが実施している、「ドローン技能検定」というものがあります。
技能とついているだけあり、こちらは飛ばす技術を実技で試験されます。
一方、今回私が受験した、ドローン検定協会が実施している「ドローン検定」はペーパー試験オンリーです。 詳しくはこちらのリンクをご参照ください。(2016/09/27時点)
ドローン検定協会 ドローン検定
一般財団法人 JAREX ドローン技能検定

どこ、いつ、いくらで受けられるの?

Webページを見たところ、主要な都道府県で実施しているみたいです。
今回、私は東京・新橋で受験しました。貸会議室を会場でした。
今年は、2ヶ月ごとに、年間で6回開催するみたいです。今年のラストは11月です。

本記事の書いている時点の受験料は下記をご参照願います。

受験資格 受験料
1級 ドローン検定協会主催 ドローン検定2級取得者 18,000円
2級 ドローン検定協会主催 ドローン検定3級取得者 12,000円
3級 どなたでも受験可能です 5,500円
4級 どなたでも受験可能です 3,000円

ドローン検定受からないとドローンを飛ばしきゃいけないの?

No.
航空法に則ってドローンを飛行させれば、ドローンの操作に資格・認定は不要みたいです。
ただ、夜間に飛行させる場合や目視できない(しない)飛行、人口密集地での飛行については、承認申請する必要があります。
その申請の際に、記載できて客観的に知識の保有を証明することができます。

ドローン検定難しい?

簡単です。こんな簡単な問題でいいの?!ってくらい簡単です。
問題数50問ですが、すべて4肢1択。つまり、問題に対する説明文が4つあって、その中であっているか・間違っているものを1つ選ぶというものです。
問題のうち、だいたい40問はテキストに記載の問題そのままでした。2問ぐらいはテキストにない語句の説明だったと思います。
残りは、テキストの問題の若干のアレンジです。

3級については、検定を通して、知識を浸透させるとともに、もっと認知度を高めたいと考えているのかな、って私はうがっています。
対して、1級・2級は受験料高すぎじゃないですか。。。

2016年9月25日日曜日

「行う」と「行なう」はどっちも正しい

本を読んでて思わずググった。
「あれ、"行う"じゃなくて"行う"だよな?」と。

ところがびっくり、どっちも正しいらしい。へぇー。
まぁ、言葉なんて通じりゃいいすけどね

最初に結論から述べますと、どちらも使い方としては誤りではありません。
以前は「行なう」が本則だったものの、1973(昭和48)年、国語審議会の方針が変わったことにより、「行う」が標準となる内閣訓示が出されました。

これにより、現在では公的機関やビジネスシーンでも「行う」を使うのが一般的ですし、教科書でも「行う」が使われています。
ただし、「行なう」の表記も誤りではないため、容認されているようです。

とはいえ、「行う」を使ったほうが無難といえるでしょう。

引用元:「行う」と「行なう」の違いは?送り仮名はどっち?正しい使い分けを学ぼう!

"行う"で習ってたから違和感を覚えたわけだ。。。

<Java>変数のデフォルト値

クラス変数 => 初期化しないと参照先がない
     ※この状態で変数を呼び出すと、コンパイルエラーとなります。

メンバ変数 => インスタンス化した時点で、デフォルト値が入る
     boolean型以外の基本型 = ゼロ
     boolean = false
     オブジェクト参照型 = null

インスタンスかどうかで変わるのが、紛らわしいところです。

java.lang.ArrayIndexOutOfBoundsException

Javaの基本的なエラーの一つ
配列のインデックスが、配列の範囲外であった時に発生する例外です。
面白いことに、java.langパッケージなんですね。

エラーメッセージとして、不正なインデックス値が明示されます。
下記は、コード例です。


 8: public static void main(String[] args) {
 9:  int a = Integer.parseInt(args[0]);
10:  int b = Integer.parseInt(args[-1]);
11:  int c = a + b;
12:  System.out.println(c);
13: }

エラーメッセージは下記の通りです。


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
 at example.Example1.main(Example1.java:10)

Eclipseでのコンパイルエラーの表示箇所

EclipseでJavaをコーディングする上での基本ですが、コンパイルエラーの詳細は下記のように表示されます。

どのアプリケーションの、
  どのクラスで、
    どのスレッドで、どんなエラーが
      どのメソッドで発生したか、
を示す構造です。

上記の例ですと、intがた変数にdouble型の値を代入しようとしたことを示します。
下記がコードです。


public class Example1 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  double d = 12.3;
  
  int i = d;
  System.out.println(d);
  System.out.println(i);
 }

}

MacOS上のEclipseで"MacRoman文字エンコードを使用してマップすることはできません"

StackOverFlow、お世話になっています。

MacOSで日本語入力したところ、下記のエラーが出ました。

保管を完了できませんでした。 理由: 一部の文字は"MacRoman"文字エンコードを使用してマップすることはできません。 エンコードを変更するか、"MacRoman"文字エンコードによってサポートされていない文字を除去してください。

下記の設定で問題なく実行できました。
Preference => General => Workspace
- Text file encoding = Other(UTF-8)
- New text file line delimiter = Other(Unix)

6年の前の記事 ですが、助かりました。

一知半解

いっちはんかい

少ししか分かっておらず、十分に理解していないこと。生半可な知識や理解しかないこと。生かじり。一つの事を知っているが半分しか理解していない意。
引用:goo辞書

ドローン通信用へ5.7/2.4 GHz帯解放

月刊テレコミュニケーション Sep.2016で、ドローン通信用へ5.7/2.4 GHz帯解放 の記事が載っていたので、購入してみました。


技術&トレンド
"目視外飛行"で広がる産業利用の可能性
ドローンに映像対応の新周波数帯

という記事になります。

新周波数によるメリットは5kmの長距離映像伝送が可能になること。現行の無線LANでは、高性能な機種でも1 - 2kmにとどまるそうです。無線LANの200mW(10mW/MHz)の5倍の1Wで出力できるようになったため伝送距離が伸びたみたいです。

また、ポイントとしては、これらの周波数の使用については業務用途が想定されていて、勝手に使えるわけではないこと。3級陸上特殊無線技士以上の資格者を配置し、無線局免許を取得する必要性があるそうです。

ホビーとしてやるぶんには関係がないですね(^^;

毀誉褒貶

# テーマ
毀誉褒貶

# 読み方
きよほうへん

# 使用例
- 毀誉褒貶相半ばする
- 毀誉褒貶入れ乱れる
どちらの言葉も、高く評価する人もいればけなす人もいるという意味です。

eclipse4.6 pluginの設定ではまる(MacOS 10.11.5)

下記の環境ではダウンロードしたプラグイン(.jar)は、/Users/<user-name>/eclipse/jee-neon/Eclipse.app/Contents/Eclipse/plugins/ に格納しましょう。

・eclipse4.6
・MacOS 10.11.5

頭のいい人たちが考えたすごい!「仕組み」

NHK ITホワイトボックス 世界一やさしいネット力養成講座 パソコンとケータイ 頭のいい人たちが考えたすごい!「仕組み」 (NHK ITホワイトボックス―世界一やさしいネット力養成講座)

読みやすい構成とコンパクトな内容。

2011年発行の本書は、その時点でのITに関するキーワードの概要と背景を分かりやすく説明しています。イラストも適宜入っていますし、解説が必要と思われる用語は、節の終わりに解説されていました。

ITの実用例として面白いなと思ったのが、「洗濯物が乾いたことを知らせてくれるシステム」です。

これはハンガーにセンサーと無線通信機能を組み込んだもので、センサーはハンガーに掛けられた洗濯物の湿気を感知します。洗濯物が乾いて湿気がなくなると電気を通さなくなるので、それを合図としてセンサーが無線通信機能でパソコンに情報を送信。それを受けてパソコンは、ユーザーの携帯電話にメールで「洗濯物が乾いた」という連絡を入れるのです。
日経ソフトウェアあたりで、RasberryPiを使って、観葉植物に水をやる装置みたいなものを見たことがあったので、洗濯物センサーもイメージしやすかったです。乾いたことを知らせるからさらに、雨が降って再び濡れたというのも感知できそうですね。

さらに3つほど知らなかったことを記載しておきます。

1つは、医療機器向けの通信規格コンティニアです。 昨今デジタル機器で歩数・血圧・体重などを管理する方が増えているかと思いますが、それらの項目の測定機器の無線通信に関する標準規格がコンティニアだそうです。メーカー横断的な規格を作り、機器の普及を促す目的です。

2つ目は、Androidのサンドボックスモデル。これは、セキュリティ対策の一つで、アプリに割り当てる領域を区切り、もし1つのアプリ領域がウィルスに感染したとしても、他の領域へのアクセスを防ぎ、他のアプリのデータやスマホの重要な基本データの流出を阻止するというもの。

3つ目は、ソーシャルゲームのピーク時間。 モバイルソーシャルゲームにおていは、1日に3回のピークがある。 出勤・登校の8時ごろ、昼休みの12時ごろ、帰宅時間の16 - 23時ごろです。 言われてみると当たり前ですが、サービス提供・運営側は、このことを意識する必要があります。

* * * 刊行から約5年経っているので、今のホットワードではないかもしれませんが、自分はITに詳しくないと思っている方にはいいかもしれません。