2016年4月19日火曜日

Qt勉強会 @Tokyo #34 を開催しました

2016年04月16日(土曜日)に Qt 勉強会 #34 @Tokyo を 株式会社 PTP のミーティングルームで開催しました。

簡単な自己紹介

今回の申し込み者数も18人。一名来なかった方もいらっしゃいますが、前回同様、ほぼ満員ですね。今回も初参加の方や、わざわざ愛知からいらっしゃった方もいてうれしい限りです。

たすくさんのThe Qt Company就職

これまで東京での勉強会を引っ張ってらっしゃった鈴木さんが、The Qt Companyへ就職されました。現在、事務所を探したり、人員を探したりをされているそうです。まだ組織として出来上がってはいませんが、今後の日本としてのアップストリームの活動が期待されます。
就職に伴い、アップストリームの側がユーザーコミュニティの運営に携わるのは避けようということで、勉強会の主導をhermit4はじめ現在の勉強会メンバーで引きついていくことになります。元々、お子さんが生まれたばかりで大変ということもあって、hermit4の方で告知や報告を担当しはじめましたので、特に大きく変わることもありませんけどね。

今後、日本でのイベント開催も年末までにはやりたいなという意向はあるようなので、その際はユーザー会としてお手伝いも募集する事になるかと思います。ぜひご協力の程、よろしくお願い致します。

もくもく勉強タイム

というわけで、その後は普段通り、もくもくと勉強タイムとなりました。途中で帰宅されて成果発表されなかった方もいますが、分る範囲でみなさんの成果報告まとめ
  • QMLのプロファイラと記述方法によるパフォーマンスの計測

    ドキュメントにはQMLについてこういう書き方は駄目ですよという情報がありますが、実際にその通り書いてみてプロファイルをしてみたそうです。 Resolving Propertiesについては、微々たる違いだそうですが、Property Bindingsについては、loop内で何度も参照されるのとtemporary変数を作るのとでは相当時間差があるとの事。なんでか速度が出ないとお悩みの方は、ドキュメントを読んで、ぜひプロファイルしてみて下さい。
  • qgroundcontrolを調べてました

    現在使っているドローン用のコントロールソフトの使い勝手が悪く、QGroundControlへの移行を考えているそうです。 最近のドローンコントロール系はQtで書かれているものも多いそうです。 本日は、ビルドが終了しデバッグができるところまでたどり着いたとの事。 QGroundControlは、iOS/Androidの実装もあるそうで、今後に期待したいところです。
  • 今日はQtを使って開発した製品を持ってきたのでデモしておきます

    計測器や電源の開発を行っている会社で働いていて、今回製品にはじめてLinuxとQtとを採用したそうです。 色々はじめてだったため、色々つまずく事もあったそうで、ずいぶん苦労されたようですが、無事に製品リリースしたとの事。QtのおかげてGUIについては楽にできたそうです。 はじめの製品こそ苦労したものの、次の製品開発の立ち上がりはうまくいっているようなので、今後が楽しみですね。
  • nVidiaの開発ボードでの作業を継続中です

    仕事柄、立体視関連をやっていて奥行き推定とかをやるそうなのですが、とりあえずカメラ位置調整ツールを作ろうとしています。 メーカーから提供されているQt 5.2が部分的に実装されているだけだったので苦労しているそうです。
  • Raspberry Piはじめました

    Raspberry piにQtを入れるところまでやろうと思ってましたが、色々必要な機材がない事がわかって借りたりしていたので、 今回はOSを入れたところで時間切れとなりました。 待ち時間の間、仕事柄組込みでQtを使っているので軽いインジゲータを実装していました。とりあえず2種類完成です。
  • QtModelingの調査をしていました

    今回はQtModelingを使ってみようとソースコードを入手してコンパイルしようとしていましたが、うまくいきませんでした。 どうやら、一部のコードでC++1zを要求しているようで、XCodeのバージョンが少し前の物なので対応していないことが原因の模様。 XCodeを上げるところからやらないと駄目ですかねぇ・・・ということだそうです。
  • Sailfish OSでBluetoothの日本語キーボード対応をしていました

    今回は2つ目標を持っていて、入手したSailfish OSの乗ったタブレッドでBluetooth日本語キーボードを使えるようにしたいのと、 FontManagerのSailfish OSへの移植をしたいと考えていましたが、後者まではたどり着きませんでした。 日本語キーボードの件は、設定ツールと呼び出している内容を調べたところ、設定項目が抜けているだけとわかりました。 設定ツールのQML内のリストにエントリーを追加したら設定できるようになりました。 日本語のキーでキーコードが対応していないものについてはシンボルを追加し、パッケージングを行い、OpenReposのリポジトリにアップするところまで行ったとの事。 Sailfish談義したくて来たって方に話しかけられっぱなしだったにも関わらずなかなか優秀な成果を出していますよね。素晴らしい。 なお、FontManagerは、実は朝木さんが実装したものだそうです。近いうちにSRAの会場も借りてみる予定なので、その時来られるといざというときは質問できるかも。
  • 制作中のエディタで日本語の単語移動を実装していました

    Qtでエディタを鋭意作成中なのですが、利用していたQPlainTextEditでは日本語の単語単位移動できないことがわかり対応していました。 最初は、QTextBoundaryFinderを使っていたのですが、カタカナ以外はうまく移動できないとの事。 調べた結果、QTextBoundaryFinderはUnicodeの規格に則って作られているのですが、日本語だとそれでは足りないそうです。 ICUは辞書も使い日本語の単語区切りができるので、ICUのコードを呼び出すようにカスタムして対応できたとの事。 問題は、辞書ファイルが存外巨大で、フットプリントが大きいということで、悩ましい感じですよねぇ。
  • Base64と戦っていました

    Base64はデフォルトでは+や/等のURL safeではない文字を変換結果に含んでしまうのですが、そのせいで数日ハマったとの事。 そこで、URL Safeに変換できるように修正しようと意気込んでいましたが、QByteArray自体には既にその機能があり、QMLから利用する際の atobが対応していないだけなことが判明。というわけで、atobにオプションを渡せるようにAPIを変更していたそうです。 なお、その後テストも書いてcommitしたよとのつぶやきがあるので、次期バージョンからは、QMLでもURL safeなBase64変換が使えるように なるかと思われます。
  • 作ったアプリのデプロイ方法を調べていました

    作ったアプリをどうやってデプロイしたものかということで、調査していたそうです。windeployqtを使えば簡単だよと聞いたけど、動かないそうで。 windeployqtは、必要なQtライブラリはかき集めてくれるのですが、残念ながらQtライブラリが必要なライブラリは探し出してくれないのです。 とりあえず、教えてもらった通りに、dllをフォルダにぶちこんだら動いたそうで、この後教えてもらった ドキュメントを読んでみようと思っているとの事。ただ、Go言語などに比べるとデプロイが難しくて面倒だなぁとのご意見も。 確かに、Qt自体のライブラリ数も多い上に、Qtが必要とするライブラリも多いですからね。Windows, Mac, Linuxともそれぞれ違いますし。 一応、Windowsについては、面倒を感じているのでバイナリを解析しながら必要なライブラリの一覧を作れるツールをhermit4が鋭意開発中なのですが、メインの仕事ではないのでだいぶ遅延しています。qmake本書きが落ち着いたらなんとかします。
  • いろいろ挫折していました

    先月に引き続きD-busを触っていました。もっとわかりやすいサンプルを作りたいと思ってがんばっていたのですが、想定した方法で実現できず挫折しましたとの事。その後、仕事の方で問題になっていた、Qt5.6からstackを連続で呼ぶと落ちるという現象を追いかけようと目標を変えたのですが、なんとこちらは再現せずという結果に。再現しなければ解決もできませんからねぇ・・・。色々挫折して終わったそうですが、そういう日もあります。めげずに頑張ってください。
  • Soft bodyの関係で、Bullet Physicsの調査をしていました

    やわらかbodyの物理演算について調査していたとの事です。お隣に詳しい方がいたので、色々話を聞けて、PhysXを使えばCUDAで物理演算してくれるらしくて、10-20倍位早くなるようです。これをQtから使えるようにするには、ちょっと工夫しないと動かないらしいという事までは理解しましたとの事。Soft Bodyだと計算に時間がかかってしまうので、GPUで演算できると早くなるのではないかなぁと期待しているそうです。
  • VLMCのリファクタリングをしていました

    GSoCに参加したいと思っていて、VideoLAN Movie Creator(VLMC)をSceneで実装されているものをQMLへ書き直すというのをやりたいと思っているそうです。ここ最近色々コミットしているのですが、今日はリファクタリングに明け暮れましたとの事。今後の活躍に期待します。
  • QtIFW本の続編のレビューをしていました

      理ログの理音伊織さんの新刊のレビューを続けています。実際手を動かしているところで、あとちょっとで完了予定です。 なお、内容は、コントロールスクリプトを使った自動インストールの方法となります。   当落発表はまだですが、技術書典に応募中なので、当選すれば6月25日に秋葉原で販売予定です。

懇親会

お借りしている部屋の掃除の後、懇親会へ。 今回は、いつものお店が空いていてすんなり入れました。The Qt Company Japanの現状を聞いたり、今の日本の技術について話したり、わいのわいのやって解散となりました。

ツイート記録