2016年2月22日月曜日

Qt 勉強会 #32 @Tokyo に参加しました

2016年02月20日(土曜日)に Qt 勉強会 #32 @Tokyo を 株式会社 PTP のミーティングルームで開催しました・・・という報告は、いつも鈴木佑さんが行われているのですが、



という事があったため、色々な人から飲みのお誘いがあるそうで


というわけで、今回もhermit4からご報告ということで


簡単な自己紹介


今回の参加者は15人。論文が落ち着いたので久しぶりにこられた方、最近仕事は管理やドキュメンテーションが多くてコードを書きたくてこられた方、飲み会続きでグロッキーな方色々ですが、みんなでモクモクしてました。

オープンソースカンファレンスのお手伝い募集


来週、26日(金)・27日(土)に明星大学で行われるオープンソースカンファレンスにQtユーザー会も出展予定のため、お手伝いの募集をしました。
今回は、予定が空いている人が少ないようでちょっと大変かもしれませんが、お手伝いに名乗りを上げて下さった方は、どうぞよろしくお願いします。



成果発表


Qtのスレッド・メモリ使用量の調査をしていました


Qtの利用するリソースについて調査していたそうです。簡単なCUI/GUI/QMLのアプリケーションを立ち上げてはリソースモニターでみていたそうで、CUIはスレッドは1つ、GUI/QMLは、時間経過と主にスレッド数が推移するそうです。GUIと比べるとQMLの消費メモリ量が多いとの事で、大きめのアプリを作った時にどうなるのか気になる所ですね。

QMLで作成したアプリのデバックをしていました


大学で研究されている方に成果をお渡しする事になっているそうで、あれこれやっているそうです。タブレットで利用して必要に応じて縦横を切り替えるようにしたそうなのですが、縦から横への回転は速いのに横から縦に戻す時に妙に時間がかかるそうで。
勉強会で、プロファイラの話を聞いて、この辺りになにかありそうという所まではいったようなのですが、原因までは突き止められていないようです。
諸々やっていました

作成中のルービックキューブアプリを公開に向けて手直ししました


cmakeについては教えてもらったチュートリアルで少しずつ勉強中
今日の本命で現行のランバート反射のアルゴリズムに異論を唱えている方の動画を見ながら自分でアルゴリズムを考えてみるというを実行中。実際に影を当ててみながら検討中とのことです。
なお、最初は有償にしようかと悩んでいたルービックキューブはバイナリ無償公開として、ソースコードについては、欲しいという人がいたら考えようかなっという所だそうです。楽しみですねぇ。

Qtのスタイルシートについて調査し


Qtはスタイルシートを使ってデフォルトのGUIをカスタマイズできるのですが何がどこまで変えられるのか調査してたとの事です。
Qtとしてはあまりメンテナンスされていない部分で、QStyleを使った方が良いというコメントも出ましたが、みんな割とちょっとした所で使ってみてる人がちらほらと。
hermit4も、ちょっとした所を動的に変えたい時に使ってたりします。

QMLでグラフを表示する部分を実装していました


先月はBluetooth通信部を実装していて、今月はそのデータをグラフ化する部分に着手とのことで、着々と進めていらっしゃるようです。職場ではQtは少数派らしいので、ぜひ頑張って欲しい所です。

自作のテキストエディタのデバック中です


JavaScriptでプラグインを作れるテキストエディタの開発の続きだそうで、現在はハイライトの処理のデバック中だそうです。他のエディタの言語ルールを利用できるようにしている部分の処理がなかなか複雑だそうで、バグが取り切れて居ないとの事。
有償を検討しているそうですが、近日中にはリリースしたいとの事で期待したいです。

NVIDIAのK1にCUDAのささっているボードと格闘中


しばらく寝かせていたボードで、車載向けのSOCであるK1にCUDAの刺さっているものについて、qt.ioのブログに色々書いてある内容をなぞりながら、使ってみようと格闘して居たとの事。ブログの方法はCUDA部分もqmakeでなんとかしようとしているのですが、他の方からCUDA部分はEclipseでライブラリ化してしまってQtアプリとはリンクするようにする方が楽ですよとのコメントがありました。

QLocalServerの使い方を学習していました


QLocalServerの使い方を復習していたとの事です。昔使った際は、不意に落ちるとLinux/Macではテンポラリファイルが残って使えなくなるためそこで利用を断念していたそうですが、現在はQLocalServer::removeServerが用意されて解決できるようになっていたとの事です。

QWebChannelについて調べていました(*QWebSocketじゃなかったので訂正)


まずはSlackでSibukawaさんが報告されていたGoとQtを密結合するためのLocalSocketというプロジェクトのドキュメントに見つけたtypoのpull requestを送った後、QWebChannelについて調べていたとの事です。用意したHTMLを開いたブラウザとQtアプリケーション間で通信ができることを確認した後、GoogleMapを表示したQtアプリからマップの移動を検知させる仕組みを作りたい・・・・と思ったのですが、うまく行かずにあれこれやっていたとのことです。
hermit4もQWebChannelはなかなか興味深いので今度使ってみたいなと思ってます。

ラズパイで動く時計アプリの作成中です


もともとPalmで動いているお気に入りのアプリがあったそうなのですが、ラズパイでも使いたくてラズパイ向けに一から実装中との事です。少しずつ機能を増やして行く予定とのことで、完成が楽しみですね。

論文作成用のグラフ出力ツールを作っています


論文にのせるグラフを簡単に作成できるようにしたいとQtアプリからPythonのライブラリを使って簡単にグラフを作成出来るツールを作っているそうです。もう実際に動作していて、論文に使うグラフを作成したそうで、公開する予定もあるそうで、非常に楽しみですね。

go-qmlの勉強をしていました


go-qmlをやってみようと簡単なお試しをしていたとのことです。その他、QtCreatorの見た目を変更したいと思ってCSSと格闘中との事。

Konquerorのカスタムのために調査中


最近のブラウザはセキュリティや変なサイトを開いた時のハングアップを防ぐためにタグを開くたびに内部的には新しいプロセスを使い、表示だけを一つに見せていますが、Konquerorは古い実装のために1つのプロセスになっているため、その辺りを直したいと勉強中との事です。
Qt4は、QX11EmbedWidgetがあったのですが不具合もあってパッチを本家に投げたりしていたのですが、Qt5では無くなってしまっている事もあって、他の方法での実装を検証中との事です。

GoogleDriverのAPIで遊んでいました (*OneDriverはhermit4の記憶違いです)


今日は特に何も考えずに来てしまったので、Google DriveのAPIで遊んでいましたということのようなのですが、実は発表の最中にMac Book Proがクリックを受け付けなくなるというトラブルが発生していてよく聞いてませんでした。ごめんなさい。

hermit4はというと


商用ライセンスを使って最新のQt Chartを試してみていました。
Qt 5.7からはQtにGPLライセンスで統合されるとの事で、現在、コードは既に公開されています。商用ユーザーへの優位性を残すためか、残念ながらLGPLにはならないので、GPLを採用しない人には使えませんが、GPLを使ったアプリではちょっとおしゃれなグラフの作成を楽しめます。
なお、オープンソースカンファレンスでは、GPLでソースが公開されていますので、商用版でビルドしたexampleですが動かしているのをお見せしようかと思っています。気になる方はぜひQtブースにお立ち寄り下さい。

2016年1月18日月曜日

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

2016年01月16日(土曜日)に Qt 勉強会 #31 @Tokyo を 株式会社 PTP のミーティングルームで開催しました・・・という報告は、いつも鈴木佑さんが行われているのですが、めでたい事に、鈴木さんは先日パパさんになりまして。


今日まで奥様のご実家のある北海道にいらっしゃるので変わってご報告します。

(2016/01/18 たすくさんの漢字が間違っていて訂正しました。大変失礼いたしました)

簡単な自己紹介


今回は参加者が15人。半年ぶりの方、1年ぶりの方、炎上中のプロジェクトに居ながら女性の新人さんを引き連れてきて下さった方、無事留学が決まった現役高校3年生等、色々な方がご参加下さいました。

もくもく&成果発表


今回もいつもの通りのモクモク勉強会。

QWSでおこっている問題の調査をしていました

組込みでQt4.8を使われていて、マウスカーソルを消した所、緑のゴミが画面上に表示されてこまってるということで、調査をされていました。動的に消すと色々問題がおきそうで、カーソルを無効化してQtをビルドし直すのが一つの解決策かもというのが今日の成果との事です。解決すると良いですね。

KDEのKonqueror周りに手を入れようと作業に着手しました


KDEをビルドするためQtのビルドをしましたが、Qtのビルドで終わってしまったとの事。ぜひそのまま頑張って下さい。


Qtでテキストエディタを作成中です


JavaScriptでプラグインを作れる部分を実装中です。Node.jsのイベントをQtのシグナルとスロットの仕組みとつなぐためJavaScriptからQtの側を呼び出す処理を実装するようV8のAPIをいじってました。

東芝のFlash Air用クライアント作成中です


Flash AirのサムネイルからローカルにDrag And Dropでコピーする部分の処理を実装していました。ただ、リリースビルドだと動かない事が発覚したので、帰宅したら調べてみます。

ロボコン向けに諸々作成していました


という話をされていましたは、突然手元のMacが堕ちてあたふたしていたので詳細は聞き逃しました。ごめんなさい。

アプリケーションの国際化対応のための機能について調べていました


仕事でやっている作業の一貫でQtの翻訳周りのツールを使ってみていたとの事。動的な切り替えはまだ試せていないものの、かなり便利な印象との事です。

仕事用のデータベースの作成を行っていました


仕事はフィールドサービスエンジニアなのですが、欲しいアプリを組んでもらえないので自分で始めたとの事。普段はアメリカ在住でたまたま戻ってきていたので、立ち寄ったとの事で、来週にはアメリカに戻ってしまうとそうですが、わざわざ貴重な一日を使って来て下さってありがたい事です。

ルービックキューブアプリの続き


先月に率い続き、ルービックキューブの作成を続けていました。見た目をかっこ良くした後、スカイボックスを使って背景をつけようとしたのですが、なぜかうまくいかず・・・残念。

スクリーンショット機能の実装


フレームバッファの変更を検出してPNGに変換した後QMLに設定する所まで出来上がりました。その他QScriptEngineについて調べていました。

独自ボードとAndroid間のBluetooth通信と表示を実装してました


Bluetooth経由で受け取ったデータをQMLでグラフ表示する機能を実装していました。PCで作ったものがそのままAndroidでも動くので良いですとの事。色々な機能が実装され本当にいい感じですよね、最近のQtは。

コラージュソフトの手直し中です


ここまで作ってきた開発版をベースに改善方法を模索中との事です。
もうすぐ本業は定年との事ですが、コラージュ療法ソフトの方はこれから本格的に大学の方と協力して色々やっていかれるそうで、悩みながら模索中のようです。

OpenCVとOpenCLの相互運用サンプルのプログラムを動かしていました


ほっとくとOpenCLの側のバッファが取れなくなって落ちてしまうので、本当にGPUを使ってるのかも含めて怪しいので調査していました。ただ手元の環境ではIntelのツールが動かず、帰宅後に別の環境で調べてみるつもりです。
本当にやりたいのは、メニューを作ったりとかQtを使った別の事なので、まだまだこれからのようです。どんなものを作られるのか興味津々です。

他の方々のやってる事を聞いてました


今回はつれられてきたので、特に何も考えてなかったそうで、他の方々のやっている事を聞いたり、簡単な事をやってみたりしていたそうです。ぜひ次回はやりたい事を見つけてもらえるといいなぁ。

ステートチャートを簡単に書けるようにするツールを作成中です


ステートの遷移をGUIで視覚的に作っていけるツールだそうです。生成したステートはQMLとして保存でき、そのままQMLアプリに埋め込めるので、手でガリガリ書くより生産性が高いそうです。ついでに、Unityのゲームも手を付けているとの事でUnity向けのExport機能もほぼ実装出来た所との事。
 Githubで公開されているので、ぜひ触ってみて下さい。


ということで、皆さん色々やってらっしゃいました。
隠者の方は、qmakeについて、相変わらずこそこそと調査継続中。
本にしたいなぁと思いつつ、自分の中でどう説明していったらいいか構想中です。

2015年12月10日木曜日

Qtユーザー会のご紹介

Qtユーザー会、おやつ部部長のhermit4です。Qt Advent Calendar 2015もついに10日目となりました。

昨日は、informationsea さんによる「Windows + Visual Studio で Static Link できる Qt をビルドする」でしたね。GPLで公開アプリケーションをdll使わずに動かしたいケース、たとえばdll自体をインストールするインストーラのようなケースではstatic link版は非常に役に立ちますよね。

さて、本日なのですが、残念ながらエントリのないまま、日も暮れてきましたので、何か書こうかと思い立ちました。ただ、ちと持病の皮膚病治療で紫外線治療受けて、背中が強い日焼け状態・・・というか水ぶくれできているので、ちょっと失敗してやけど状態的な感じで集中力もないので、本日は技術ネタではなく、コミュニティの紹介ということでお茶を濁しておきます。

本日は技術ネタではないので、ものすごく久しぶりに自分のブログに投稿しておきます。

Qtユーザー会とは

Qtユーザー会は、Qt の日本での普及を目指すために、日本各地で活躍している Qt ユーザーによって作られたコミュニティです。
日本語での Qt の情報の発信や、Qt をはじめたばかりの方のサポート、Qt や Qt Creator などの日本語訳、勉強会などの活動を日々行っています。

歴史

Qt自体は日本でもだいぶ昔から利用されていたものの、ユーザーコミュニティはありませんでした。古くは、日本KDEユーザー会が、勉強会などもしていたようなのですが、残念ながら詳細は知りません。
確認できている中で、QtのユーザーがQt勉強会として立ち上げたのは、2010年に福岡で開催されたQt@福岡 勉強会が初かと思います。viviというエディタを作られている津田さんをはじめ面白そうな人たちが集まって勉強会をしていたのですが、同じころ、触発されたかのように関東や名古屋、関西でもぽつぽつと勉強会が発足し、それぞれバラバラに活動が開始されました。
2年後の2012年の夏に、当時中学生だったluyikei君が、Qtは日本語のドキュメントも少ないし、コミュニティはばらばらに活動してるし、どうなってるんだと声を上げて、関東勉強会に殴り込みをかけ、いい歳こいたおっさん連中が、中学生にごめんなさいという事件がありまして、何とかして統一しましょうよと若者に説教を受けました。
当初は、luyikei君が各地の勉強会にメッセージを流したり、Webページの計画を立ててくれたりしていたのですが、ただでさえ忙しいエンジニアが片手間にやっているわけで、なかなか前に進まず、ちょうどNokia社がQtを手放す事になり、Qtの会社からユーザー側に移ってしまった鈴木たすくさんが、当時の関東勉強会を仕切りなおしてQtユーザー会の勉強会として再スタートを切ったのが、2013年の7月でした。
というわけで、実はQtユーザー会自体は、まだ駆け出し2年ちょっとの若いコミュニティで人でも体制も整っているわけではありません。

運営

誰がリーダーとか、誰が運営とかは実はきちんと決まっていません。なんとなく東京ではたすくさんが勉強会を仕切ったり、なんとなくhermit4がOSCでの配布物を作成したり、なんとなくけんやさんがWebサーバーをメンテしたり、なんとなく手伝う人が決まったりと、非常にゆるふわな体制で過ごしてきました。The Qt Companyとのやり取り等の苦労から、いずれ責任や立場をはっきりさせる必要があるかもという話はしているので、来年中にはもう少し色々決まるかもしれませんが。なにせQt関係者はめんどくさがりの人が多いので、自然とこうなってしまうのですよね。

活動

Webページ: http://qt-users.jp/

発足当時はluyikei君をはじめ数名Wordpressで作成して下さっていましたが、現在のWebページは、鈴木さんの作成されたQMLでWebページを書きましょうというマニアックなWebサーバーのsilkで作り直されています。

メーリングリスト

Webページの方から参加登録できますが、メーリングリストを使っても情報交換がされています・・・というほどにメールは流れていませんが。

勉強会: https://qt-users.doorkeeper.jp/

DoorKeeperを使って管理されており、現在は、東京で毎月もくもく形式の勉強会が、大阪で不定期に発表形式の勉強会が、開催されています。
他の地方でも開きたい方がいらっしゃったら、できるだけお手伝いさせていただきます。

Slack: https://qtjp.slack.com/

Slackという登録型のIRCのようなツールを使い、コミュニケーションをとっています。
最近はあまり人がいませんが、時折ログインして目を通しているので、質問などがあれば、適当に流しておくと誰か答えてくれるかもしれません。

Qt Developer Day/Qt Summit : http://www.qt.io/qtjapansummit2015/

Digia社、その後 The Qt Company主催のイベントですが、日本で開催されたものは、Qtユーザー会のメンバーが色々とお手伝いや、一部募金を募って出資をしています。ちなみに、日本では無償開催されて弁当まで配布されていますが、海外では基本有料のイベントだったりします。
2016年がどうなるのかはまだわかりませんが、開催の際にはお手伝いの募集や告知も行われるので、興味があれば、ユーザー会のメーリングリストへの登録をしておいて下さい。

Open Source Conference : http://www.ospn.jp/

東京で行われるOSCには、ここ数回はQtユーザー会として出展しています。暇村さんのように日本全国行脚できる程、時間的な余裕がある人が居ないのが残念な所ですが。こちらは、近い時期になるとslackにチャンネルができるので、slackをチェックしていただければと思います。
東京以外の地域のOSCに、代わりに出展しにいくよという方がいれば、色々お手伝いできることはお手伝いできるので、ぜひメーリングリストで呼びかけてみて下さい。

まとめ

ということで、本日はコミュニティの宣伝を入れさせていただきました。技術ネタではなくてごめんなさい。

まだまだできて月日の浅いコミュニティで、MLなどもあまり活発ではありませんが、めんどうだから楽するために苦労しようかなって思う人とか、お手軽に作りたいなって感性のプログラマが集まる場所なので、のほほんと参加できるかと思いますので、ぜひご参加ください。

明日も残念ながらエントリーの予定は立っていません。どなたか、Qtで面白いネタを思いついたらぜひAdvent Calendarも登録していただけると嬉しいです。