2017年12月29日金曜日

iutest v1.16.2 をリリースしました

C++ テスティングフレームワーク iutest v1.16.2 をリリースしました。
Github: https://github.com/srz-zumix/iutest/releases
OSDN: https://osdn.jp/projects/iutest/releases/68841

とても久しぶりのリリースですが、特に変わってません・・・
最近は CI 周りばかりいじっていて進捗が・・・
あんまりキリがいい状態ではなかったのですが、さすがに年内にはもう一本リリースしないとなーということで出しました。はい。

変更点は以下の通りです。
  • 追加
    • 警告をエラーとするオプション(--iutest_warning_into_error)を追加
  • 削除
    • NaCl サポートを終了
  • 修正
    • バグ修正

来年は機能開発したいですね。では。

2017年12月19日火曜日

[タスク管理] Kanbanchi を使ってみた



こんにちは。
今回紹介するのは、 Kanbanchi というタスク管理ツールです。
タスク管理ツールは、Trello を使ってきたのですが新しいツールを使ってみたくなり、こちらを使ってみました。

Kanbanchi を使い始める
まずはサインナップしていきましょう。
トップページの「Get Started, it's free」をクリックします。


「Run application」をクリックします。
Google のアカウントでログインし、いくつか権限を許可していきます。


ダッシュボード作成ポップアップが表示されたらサインナップ完了です。


便利だなと思ったところ
WIP 制限ができる
リストに入れられるカードの数に制限がかけられます
とても些細な事ですが、これが一番便利に感じました。



優先度
カンバンだと上にあるものが優先度が高いことが多いと思いますが、Kanbanchi では明示的に優先度をつけられます。


カードの背景
ボードではなくカードの背景色を変えられます。
変更するにはカード詳細で↓のようにアイコンをクリックして色選択します。


視覚的に認識しやすくなるので便利だと思いました。

Done ボタン
完了したカードは「Done」リストに持っていくことが多いと思いますが、「Done」のチェックがデフォルトでついてきます。

これも完了していることがひと目で分かるのでいいと思いました。
作業完了の「Done」とチェック済みの列(リスト)で使い分けるような使い方ができそうです。
(作業者はカード内で状態が完結するので、ボード編集をオーナーにまかせてしまうとか。)

Google カレンダーと連携
Kanbanchi では期限などの時間管理もできますが、これをカレンダーと連携させることができます。
カード詳細で期日設定をしたら右にあるカレンダーアイコンをクリックしましょう。

(何回かアクセス許可を求めてくるので、すべて許可します。)
すると、以下のようなポップアップが出てきます。
チェックをつけるとカレンダーに追加、チェックを外すとカレンダーから削除ができます。


もし、メインのカレンダーに追加するのが嫌な場合、
Google カレンダーで新しくカレンダーを作成しましょう。
メイン以外のカレンダーも Kanbanchi が認識してくれます。


Trello からインポートする
Trello からのインポートする方法は公式ページにも説明されています。
How can I import my Trello boards to Kanbanchi? - Kanbanchi

簡単にいうと、csv エクスポートしてインポートするだけです。

有料機能
ここから有料機能になりますが、トライアルを有効にして試してみました。
サブカード
カードの親子関係を作れるようになります。タスクを分解して管理したい場合に便利そうです。

サブカードは1段インデントされた形で表示されます。また、サブカードの枚数が親のカードに表示されます。

サブカードを Done にすると親カードには Done されたサブカードの割合(進捗)が表示されます。これも便利そうです。


作業時間の記録
タスクにどれくらい時間をかけたかタイマーで記録することができます。
カードを選択状態にすると上部にタイマーが出現するので、スタートボタンを押して計測開始です。

ストップボタンを押すと以下のポップアップが出るの必要に応じてコメントを書いて「Save Progress」を押します。


記録されるとカード詳細に以下のように表示されます。


また、記録した時間はコメントとして記録されているので、あとで時間を編集したりすることも可能です。


優先度ソート
フリープランでもカードに優先度を付けることができましたが、有料プランでは優先度ソートが利用できます。
カードに優先度をつけると自動でソートしてくれます。(サブカードのソートはしてくれないみたいですが…)


ガントチャートとリストビュー
カンバンビューの他、有料プランに入るとガントチャートとリストビューが使えるようになります。


こちらがガントチャート


こっちがリストビュー


最後に
Kanbanchi 便利だなーと思いました。使いようによっては Trello よりいいかもしてません。
ただ、有料機能がないとなーと思うところもあるので、できるなら有料プランで使っていきたいところ・・・

こちらがプラン内容です。
ガントチャートや作業時間の記録は個別に機能有効する必要がありますが、(紹介しなかったもの含めて)
その他の機能はどれか1つ有料プランに入れば有効になります。



なので、サブカードやリストビュー、バックアップ機能を使いたい場合は、一番安いロゴプランに入るのが良さそうです。ロゴプランはボードにロゴがつけられるだけの有料機能ですが、それに入るだけで様々な機能が有効になるので大変オトクなプランになっています。




さて、いかががでしたでしょうか。
個人的には Kanbanchi をメインに使ってもいいかなーと思っている。のですが・・・
もともと使っていた Trello を使い倒したわけではないので、もう少し Trello を使い倒してみてから決めようと思います。
ので、近いうちに Trello の情報もこちらでまとめたいと思ってます。
では。

2017年12月12日火曜日

Windows で再起動時にエクスプローラーの状態を復元

最近お仕事で Mac を使うことが増えたのですが、Mac を起動したときにシャットダウンしたときの状態に戻るのでがすごく便利だなーと思ってたんですね。
これ Windows でもできないのかなーと思って調べたら、(エクスプローラーのみですが)標準機能でできたんですね!
もう10年以上お仕事してますが、めっちゃ損してましたよ!

設定の仕方
表示メニューを開き、一番右にあるオプションボタンからフォルダオプションを開きます。

フォルダオプションを開いたら、「表示」タブを選択します。
詳細設定のリスト中に「ログオン時に以前のフォルダーウィンドウを表示する」があるのでそれにチェックを入れます。

これで設定完了です。

アプリは復元できないのか?
エクスプローラーの状態を復元することはできましたが、Mac のように各アプリの状態も復元したいです。
これに関してググると大抵「Cache My Work を使おう」という記事が見つかります。
PC再起動時にアプリケーションやウィンドウの状態を復元する - @IT自分戦略研究所
再起動後に仕事を再開しやすくする·Cache My Work MOONGIFT
『Cache My Work』で再起動の後にワークスペースを復元! | ライフハッカー[日本版]
Windows 標準でできたら嬉しかったですねぇ…
後述しますが導入は見送りました。

Chrome のタブの状態を戻す
これは個人的によくやっている手段ですが、
Chrome では Ctrl + Shfit + T で以前開いていたタブを開き直すことができます。

履歴は有限ですが、複数回押せばその分タブの状態を復元できます。

会社来て、ブラウザ開いたらまずこのショートカットを打ってます。

最後に
Cache My Work の見送り理由
Windows 標準機能でないってのも理由の1つですが、そもそも再起動することが減ってました。(スリープさせることが多い。会社だとシャットダウンしますが…)
あと、実は再起動時に復元して欲しいものって、エクスプローラーとブラウザの状態がほとんどだなーと思ったからです。
であれば、Cache My Work を使わなくても問題ないので見送りました。

機能はデフォルトON
前の仕事場でもよく言われてきたことですが、なにか機能を作ったとき、
その機能を ON/OFF できるのなら、デフォルトは機能が有効になるようにすべきであると思います。
(当てはまらないケースも当然あると思いますが)
ユーザーが邪魔だな、おせっかいだな、どうしたら機能無効にできるんだろう?って思われようが、機能があることを知ってもらうのが大事です。
「実はその機能あるんです」ってなんの自慢にもならない。



あらためて、ふりかえるイイ機会になりました。
あー

2017年12月5日火曜日

Google Home を買った

東京に来てだいぶ落ち着いてきたので、Google Home を買いました!

「すみません、お役に立てそうにありません」
そんなことばかり言わせてしまってますが、まぁまぁそれは今後に期待するとして…


やっぱり外部連携させたいですよね!
ということで、さっくりやってみました~

とりあえず IFTTT で連携
とりあえず IFTTT で連携できることはしっていたので、それを使うことにしました。

やり方とかは参考ページを見ていただければと思います。(二番煎じ、三番煎じなので)

「twitterで $ とつぶやいて」で $ の部分がツイートされるようにしてみました。
実際にやって結果がこちら。


入寮判定のコツ
入力の判定にあたって、少しだけコツがありました。
入力は全部ひらがなで入ってくるわけではなく、アルファベットや漢字に変換されることです。
たとえば、「きょうはいつかえるの」をトリガーにしたい場合は、「今日はいつかえるの」では一致せず「今日はいつ帰るの」で一致しました。「ついったー」は「twitter」でした。
IFTTT では、キーワードは1つではなく複数設定できるので、いくつかバリエーションを登録しておくとイイかもしてません。


Google Home がどう認識したか確認する
Google Home がどう認識したか、ちゃんと確認できます。
セットアップで「Google Home アプリ」をインストールしたと思いますが、そちらのメニューの「マイ アクティビティ」を開いてください。
こちらがコマンドを認識させるのに役に立つと思います。


最後に
Google Home を使って色々やってみようと思うので、またここで報告できたらと思います。
では~


※今セールで半額なので買うには良いタイミングだと思います。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

【楽天スーパーSALE限定価格】Google Home Mini チャコール
価格:3240円(税込、送料無料) (2017/12/5時点)



[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

【楽天スーパーSALE限定価格】Google Home Mini チョーク
価格:3240円(税込、送料無料) (2017/12/5時点)




ビックカメラなら Mini じゃない Google Home も半額です!

ビックカメラ.com | Google Google Home GA3A00538A16

2017年11月28日火曜日

[CI] Rocro で public リポジトリが使えるようになっていた!

Rocro で public リポジトリが使えるようになったので、iutest での本格的に運用を開始しました!
前回の紹介記事はこちら→「ブログズミ: [CI] Rocro 使ってみた

今回は前回試してみたときからパワーアップしたところを紹介しつつ、設定したところも紹介します。

前回との差分
public リポジトリが扱えるようになった!
まずはこれですね。前回は private リポジトリのみだったので、Bitbucket に private なリポジトリを作って試していましたが、これで本格運用に入れます!

Cppcheck の結果が集計されるようになった
前回使ったときは、Cppcheck の結果はログからみる必要がありましたが、現在は他のツールと同じように集計されて見やすくなってます。



ファイルグレードが表示されるようになった
続いて目に入る変化としてファイルグレードがあります。
以下のようにレポートに表示されるようになってました。


これは解析結果からファイルを「Grade A」~「Grade F」に評価したもののようです。
指標の1つとして使えそうです。

バッジにファイルグレード版が追加されました
最後に、ファイルグレードの結果がバッジとして使えるようにもなってました。
こちらは通常のバッジと同じく、「Settings」にある「Badges」から使うことができます。


rocro.yml に Cppcheck の設定を書く
Cppcheck の解析結果が表示されるようになりましたが、インクルードパスなど適切に設定しないとあまり意味のないものになってしまします。
ツールなどへの設定は rocro.yml で指定できるようなので、設定してみました。

参考:Cppcheck · INSPECODE



ほかにも環境変数などの設定もできるようですが、まだ「EXPERIMENTAL」、実験中みたいです。


使ってみて気になったこと
  • --force オプションつけるとタイムアウトしてしまう
    -D/-U オプションで解析ブランチを減らすか、--max-configs で深さを指定することで回避するしかなさそう
  • 並列オプションが使えない
    -j オプションほしいですね。
  • suppress に syntaxError を指定したが一部の除外されないものがある
    これは Rocro 側ではなく cppcheck の問題だと思います。(ローカル環境でもそうだったので)
    syntaxError で報告されてるけど、内部的にエラーIDが異なってたりするのだろうか?
  • ログの詳細がみたい。Cppcheck の解析中のログも見れたら設定の参考にできるな、と思った。

最後に
iutest での本格運用を開始しましたし、まだ使っていないツールもあるので、
またノウハウが蓄積したらブログにしたいと思ってます。

Supported Tools · INSPECODE


scan-build があるから Semaphore から Rocro に引っ越しできそう
Rocro のさらなる進化に期待してます。
今回は以上です。では。

2017年11月22日水曜日

CloudBees Jenkins Advisor をインストールしてみた


第11回 Jenkins勉強会」で知った CloudBees Jenkins Advisor をインストールしてみました。
勉強会参加報告はこちら→(ブログズミ: 「第11回 Jenkins勉強会」に参加してきました



SignUp してインストール
「USE IT FREE NOW!」からサインナップします。


完了すると以下のような画面になります。
Trial Period Overなのは、むかーし使ってたことがあるから。前と大分変わりましたね)


以前に登録していたので SignUp 手順が確認できませんでしたが、必要になってくるのはアカウント名とパスワードなので、それがあれば問題ありません。


プラグインインストール
プラグインのインストールは普通に Jenkins のプラグイン管理からできます。
「CloudBees Jenkins Advisor Plugin」があるので、いつもどおりインストールしましょう。



セットアップ
「Jenkins の管理」を開くと以下のようなメッセージが出ています。「Connect Now」をクリックしましょう。


接続設定画面が開くので、先程登録した「CloudBees」のアカウントメールアドレスとパスワードを入力します。
「Advanced configuration」がありますが、とりあえず使いたいだけなので特に設定せずに「Connect account」します。


すると、アカウントメールアドレスに以下のようなメールが来ます。
レポートが1日ごとに来るようなので、1日待ちましょう。


レポート




なんか出てますね・・・
とりあえず今回はインストールして使ってみただけなので、ゆくゆく調べながら対応していきますか。

最後に
Jenkins Advisor についてはこちらの CloudBees のブログにも書かれています。
Jenkins AdvisorでJenkinsのダウンタイムを防ぐ | Cloudbees Jenkins Solutions
ロードマップによれば、閉じられた環境の Jenkins の診断対応やダッシュボードの追加がされるようです。
こちらにも期待しつつ、インストールした状態でしばらく使ってみようと思います。

では。