はてなブックマーク - ソフトウェアテストのワークショップ【WACATE】で賞をいただきました!
    このエントリーをはてなブックマークに追加

    こんばんは。台風も吹き飛ばす晴れ女フクダリナです。

    6月22日~23日にWACATE(Workshop for Accelerating CApable Testing Engineers)という若手エンジニア向けワークショップに行ってまいりました。
    (え?フクダ若手?という突っ込みはいりません。。。)

    参加したワケ


    昨年からソフトウェアテストに関する勉強会やシンポジウムに参加させていただいたのですが、
    その際に知ったワークショップで、全国からソフトウェアテストに関係するエンジニアが集まってワークショップを開くということでとても楽しみにしていました。
    また、平均年齢も近いようなので、より濃い情報交換ができると期待していました。

    30時間のワークショップ


    朝の9時半~翌日の16:30まで、セッションあり、ワークショップあり、座談会、ゲリラセッションありと とても楽しいワークショップでした。

    ワークショップ


     昼間のワークショップでは、各グループに分かれて、与えられたテーマを考えて発表するということをしました。
    主なワークショップは以下の通り

  • 何のためにテストをやるのか、理想のテストとは何か
  • 仕様書からどのようなテストが必要かをディスカッションし、テスト計画を発表する
  • 同地分割・境界値分析について
  • 私たちのチームは、ソフトウェアテストについて深く知見がある@snskと一緒だったので、のびのびとワークすることができたと思います。

    分科会


    夜も通常のワークやセッションはないものの、分科会といって、4つほどのテーマに分かれ、興味のあるテーマについて話合う会がありました。
    私が参加したのは@snskが提唱する”軽量品質”について話し合いました。
    軽量品質については、以前から相談していたこともあり、この1年で形になってきたようです。
    今後注目される品質体系だと思いますので、これからも注目したいと思います。

    分科会終了後も、夜中までテストのことやコミュニティのこと、さまざまな話を多くの人と語らいました。

    クロージングセッション


    最後は招待講演者によるクロージングセッションが90分ありました。
    今回の招待講演者は、JaSST'13 Tokyoの時に何か凄い!と気になっていたIBMの細川氏の欠陥についての話でした。
    「今回は授業形式で行います」という話から始まり、参加者48名全員が欠陥の話に惹きこまれる素晴らしい講演でした。(そのあとのTwitterでの反響もすごいです!)
    「ソフトウェアテストってこんなものなのかな」と朧気に思っていた矢先に、根本からひっくり返すような衝撃がありました。

    BFP賞とは


    WACATEでは、参加登録の際に参加表明として「ポジションペーパー」というものを提出するのですが、最終的に3つの賞を決めます。
    3つの賞が一貫して「今後期待できそう、勢いを感じる」というテーマで決定します。

  • 実行委員が決めるMost Accelerationg Paper賞
  • 招待講演者が決めるBiased Favorite Paper賞
  • 参加者の投票で決めるBest Position Paper賞
  • 最優秀賞のBPP賞になると、次回WACATEに無料ご招待できるとあって、みんな真剣にポジぺ読んでいました。
    (私も早朝の海で読んでいましたw)

    そして、僭越ながら 私が
    Biased Favorite Paper賞
    をいただきました!!

    受賞の理由として、
     ”現状における自分の問題提起ができていたこと、将来の目標があったこと、写真を用いることで自分の趣味、ポジション(母)であることを一目で示していたこと”
    を挙げていただきました。

    招待講演者様の期待に応えるべく、今後も精進していきたいなぁと思います。
    もしまた参加する機会に恵まれた場合は、BPP賞狙っていきたいと思います!

      はてなブックマーク - LLなプログラマが最近のC++周辺事情を軽く調査してみた!
      このエントリーをはてなブックマークに追加

      こんにちは。ご無沙汰しております、Fusic 河野です。
      約1年ぶりの投稿です。

      1年経ったという事は、、、
      そうです!ココにも書いておりますが、Future Sync の季節でございます。
      大好評頂いた去年の vol.2 よりも今年の vol.3 はさらにパワーアップしております。
      ぜひお時間ありましたら、お越しください!

      さて、本題です。

      C++ 界隈の話です。
      自分は、今でこそ業務では ruby とかをやっておりますが、その昔は windows プログラマでして
      VC++ で色々と開発しておりましたが、いやはや、大分時代に置いて行かれてるようです。
      新しい規格を盛り込んで C++11 となったのは、知りつつも中々触ることが無かったのですが、
      最近、下記の記事を見てたら「これは触っとかないとマズイぞ!」と感じました。

       [GNU/LinuxのC++11でプログラミングの常識がひっくりかえった]
       cpplover.blogspot.jp/2013/04/gnulinuxc11.html

       [Windows 8のC++でプログラミングの常識がひっくり返った]
       itpro.nikkeibp.co.jp/article/Watcher/20130331/467401/

      記事を読んでて、auto の部分で「これなんだったっけ?」から始まり、
      std::async() で「おやっと。。」。
      VC++ に至っては、非同期前提でのプログラミングになっている。。。

      日頃書いとかないと、やっぱり付いていけなくなるものですね。。
      なので、改めて C++11 界隈を色々と調べて見ました。

      まずは各 OS の対応状況をと言うことで下記の簡単なコードを動かしてみました。

      #include <iostream>
      #include <thread>
       
      using namespace std;
       
      static void func()
      {
        cout << "Hello C++11!" << endl;
      }
       
      int main()
      {
        thread t(func);
        t.join();
        return 0;
      }

      今回試したものは、

       ・Windows 8
        Visual Studio Express 2012 for Windows 8
        Version 11.0.50727.1 RTMREL
       ・Mac OS X Mountain Lion
        gcc version 4.2.1
        Apple LLVM version 4.2
       ・Ubuntu 12.10
        gcc version 4.7.2
       ・CentOS 6.4
        gcc version 4.4.7

      では早速。

      ■ windows 8

       なんなく普通にビルドして実行する事ができました。
       色々と調べてると Microsoft さん C++11 の実装には力入れているようで
       2012 で結構動いているんじゃないかとの印象でした。
       今から C++11 を勉強するとしたら、持って来いのコンパイラーではないでしょうか。

      ■ Mac OS X Mountain Lion

       Mac では gcc がお古い事もあり、gcc ではビルドできないのですが、
       変わりに Clang を使ってビルドします。
       LLVM.org で開発されているものの一つらしく、iPhone とかで Objective-C とか書いてたら、
       xcode の設定のところで見たことがあるかも。
       (この辺のお話はココの記事がわかり易かったです。)

      $ clang++ -o test1 -stdlib=libc++ test1.cpp

       最近、Clang が C++11 を完全にサポートしたっていうニュースを
       見たんで、ますます今後の Clang には目を話せないかもです。

      ■ Ubuntu 12.10
      ■ CentOS 6.4

       Ubuntu は、gcc は比較的新しいものを標準で積んでいますが
       CentOS はやはり古めですね。
       まー、この辺はしょーがないかと思います。

      $ g++ test1.cpp -o test1 -std=c++0x -lpthread

       で、両 Linux とも -lpthread のオプションを付けてビルドしないと
       実行時にエラーになります。
       Ubuntu は「実行権限がない」、CentOS は「セグメンテーションエラー」に
       なります。
       こんなん知っとかないとエラー取れないよ、、、と。

      終わりに

       今回はリハビリがてら各 OS の gcc のバージョン確認しつつ、ビルドしてみました。
       もっと C++11 の新機能を使ってプログラミングが出来るように
       今後もちょくちょくとウォッチしつつ、勉強をしていければと思います。
       何か参考になるサイトとか情報などありましたら、ぜひ教えて下さい!!

       あと、少ないですが今回調べていく中で見つけた参考になりそうなサイトを記載しておきます。

       [C++0xCompilerSupport]
       wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

       [C++0x 改め C++11 はじめの一歩 ]
       sites.google.com/site/siv3dgameengine/article/cpp11_first_step

       [cppreference.com]
       en.cppreference.com/w/

       それでは!

        はてなブックマーク - CSVファイル変換サービス「CSVHub」をリリースしました
        このエントリーをはてなブックマークに追加

        最近、screenから無事tmuxに切り替えた小山です。
        「Ubuntu > terminal > screen > Emacs」で一部文字崩れを起こしていたのが解消されて、ストレスフリーになりました。

        本日、CSVファイル変換サービス「CSVHub」をリリースしましたので、少し紹介させてもらいたいと思います。
        (ニュースリリース)

        CSVHubとは

        CSVHubは、その名に「CSV」を冠しているように、CSVを変換するサービスです。本当にそれだけのサービスです。

        よくでてくるCSV

        弊社では、受託案件や自社サービスも含め、CSVを出力したり取り込んだりする機能をつくることが多くあります。
        それだけ、「業務システム」にCSVという形式が使われているということなのでしょう。

        そのような中でお客様のご要望として、よくいただく声の一つに「CSVファイルを変換したい」というものがあります。

        その内容は「本当にちょっとしたこと」で、

        • 「CSVの列の順番を入れ替えたい」とか
        • 「セルとセルを足し合わせたい」とか
        • 「値の桁揃えをしたい」とか
        • 「先頭に固定文字を付与したい」とか
        • 「1行で1セットのデータを2行で1データにしたい」とか

        本当に「ちょっとしたこと」です。
        ただこれは、
        プログラマにとっては「ちょっとしたこと」なのですが、普通のお客様にとっては「ちょっとしたこと」ではありません

        Excelを使うことができればなんとかできるかもしれません。
        ただ、「あとちょっとでできない」ということもあるかもしれません。
        CSVの操作は基本的にお客様にやさしくないのかもしれません。

        CSVをプログラマでない人にも

        CSVHubは、

        「プログラマの手を煩わせずにCSVを操作できないのだろうか」

        そう思ってプロトタイプ的に作成したWebサービスです。
        (名前の由来は『「あるCSV」から「自分の欲しいCSV」へのハブ(Hub)となるサービス』というイメージです)

        CSVHubでできること/利用方法

        CSVHubでは、例えば以下のようなことができます。

        • セルの入れ替え/削除
        • セルとセルの四則演算/文字列結合
        • パディング
        • 桁揃え
        • 半角全角変換
        • 四捨五入/切り捨て/切り上げ
        • 列追加

        など。

        利用方法はたった3ステップだけです。

        • 1. CSVファイルをアップロードします。
        • 2. セルの並び替えや変換を、マウス操作で設定します。
        • 3. 最後に、ダウンロードするだけです。

        これだけです。

        セルの入れ替えなどはマウスで直感的にできますし、その他の操作も基本的に「新しいセル」を追加するときに考えればOKです。

        CSVHubのこれから

        リリースしたばかりのCSVHubですが、(社内リリースした時点で)既にいろいろ要望や課題が上がっています。
        例えば、

        • 変換設定を保存したい
        • 「個人情報を含むCSV」に対応できるようにセキュアな環境で提供できるようにしたい
        • APIを提供したい
        • もっと込み入った変換をしたい
        • もっとわかりやすいようにしたい

        などです。

        CSVHubは、ちょっとしたアイデアを実現しただけの簡単なWebサービスです。

        簡単なWebサービスですが、CSVHubを通してCSVの操作が「プログラマでない人」にも簡単にできるようになれば幸いです。