2013年11月20日水曜日

第6回大阪Jenkins勉強会に参加しました

第6回大阪Jenkins勉強会に参加しました。
前回参加したのが、第2回でしたので久しぶりにおじゃましました。
Ust があれば見るようにはしてましたが、今回は Windows系の話があったので行くことにしました。

遅刻した!
仕事ががが…
そんなわけで、神谷さんのセッションははじめから聞けなかったので、
あとで資料をじっくり読むとして、感想は控えておきます。
とりあえず、スクリプト大事。

窓辺に立つ執事
今回の目的のセッションで、期待通り自分が知らなかったことを色々聞けてよかったです。
主にツール周りの情報が沢山あったので嬉しかったです。Jenkins 周りはあるある~ッて感じでした。

気になったツールを自分用メモとして書いておきます。
  • Gallio
  • SonarQube
  • White
  • SpecFlow
  • Sikuli

初耳のものが多かったので、とりあえず詳細調べて良さそうなら試してみようかと。

Sonar(Qube) で C++ の静的解析ができるって情報は知ってましたが、現在は Cppcheck を使用中。
時間があれば試す。

White は UI 操作言語?みたいなので、今使っている AutoIt とくらべてみたい。

SpecFlow はデモみた感じでは使ってみたいなと思ったが、大変そうとも思った。

Sikuli は検証してみたことがあるが、その時は狙った操作が上手く書けず、それっきり放置状態。
画像の選別や一致率とかの設定が難しかったイメージ。
試したのが1年くらいなので、もう一度トライしてみようかな。

というわけで、いろいろと収穫の多い勉強会でした。
殴り書きで申し訳ないですが、感想おわり。

2013年11月11日月曜日

Arduino はじめました(最終報告)

前回から大分時間が経ってしまいました。

結果から言うと、なんとかギリギリ出来上がりました…
(当日の朝まで、現場で調整してました…)
最終的には、このような形になりました。


前回までの配線では、点灯する LED の数で明るさに差ができてしまっていたので、
アノードにつながるシフトレジスタからの出力を、トランジスタアレイで増幅してます。


あと、原因がよくわかっていないのですが、
根本的な処理をライブラリ側に書き出していたのですが、
メイン側のデータ配列(LEDの点滅パターンとか)を増やすと、
なぜかライブラリ側のデータをぶっ壊すような挙動をすることがあったり、
単純にデータが多くてもぶっ壊れたり、よくわからない動作をしていたので、
やりたいことが全部載せられませんでした。。。
結局、その辺の調整をするために当日ギリギリまで作業することに…

色々と、点灯パターンを用意したのですが…残念。


とりあえず、目的は達成したのでしばらく Arduino からは離れますが、
そのうち、イーサネットシールドでも買って、Jenkins の XFD にでもしようかなと思います。





2013年11月5日火曜日

ClangOnWin を使ってみた

clang を Windows でも簡単に使いたいと思い、ビルド済みのものを探していたら
ClangOnWin」というものを見つけたので試してみました。

インストール
ClangOnWin のページからインストーラーがダウンロードできますので、
そちらを取得したらインストーラーを起動します。(※ この記事では LLVM-3.4.svn-win32-2013.11.01-193854.exe を使用しました)


起動したら特に変更なくデフォルト設定のままインストールをします。

ツールセット
インストールが完了すると Visual Studio のプラットフォームツールセットに LLVM が追加されます。


これを LLVM-vs2013(2010,2012) にすることで clang でのビルドができます。

ビルドしてみる
早速ビルドしてみると大量に警告がでます。

Visual Studio のコンパイラオプションがないため警告が出ているだけなので、
気にすることはないですが、うるさいのでプロジェクトの修正をしました。(メンドクサイ…)

コンパイルオプションの警告を取り除きましたが、まだ警告が・・・

今回試しにビルドしているプロジェクトでは _s 系の関数は使わず pragma で警告を抑止しているため上記のような警告が出てしまった。
今後も _s に書き換える方針はないので、今回も警告を抑止した。(pragma は使えないので _CRT_SECURE_NO_WARNINGS を define しました)
実際、この辺みんなどうしているのだろうか?

ビルドエラー
LLVM-vs2013 でビルドしたのですが、 type_traits でエラーが出てしまいました。


LLVM-vs2012 でもエラーが…


error: cannot mangle RTTI descriptors for type 'codecvt' yet
ちょっとお手上げです…
もうしばらく弄ってはみるので、何かわかったらここで報告します。
(解決策も募集!)

追記 11/5
もう少し調べてみたら ClangOnWin のファイルリストのページに説明が書いてありました。
それによると、RTTI は使えないようです。また、-D_HAS_EXCEPTIONS=0 も必要なようです。
RTTI を無効にするには、「プロジェクト」 - 「プロパティ」からプロパティダイアログを開き、「C/C++」 - 「言語」 - 「ランタイム型情報を有効にする」 を 「いいえ(/GR-)」 に設定します。

これで、ビルドが通るかと思ったのですが、まだダメでした。。。残念
error : cannot mangle the name of type 'basic_streambuf' into RTTI descriptors yet