2012年2月4日土曜日

もくもくしてきた。 QtCreaterを便利に使う #Qtjp

もくもくとは、黙々と自分のやりたいことをやることです。ただし、数人が集まって同じ場所で作業をするのが特徴。
今日は@task_jpさんがTwitterでQtでもくもくする人を緩募していたので、僕と@phanectさんと@eighttailsさんの4人が集まってもくもくしました。
このように、少数で黙黙する場合は電源が確保できる喫茶店がおすすめだそうです。
@task_jpさんと@eighttailsさんにコーヒーをおごってもらいました。感謝!

さて、本題
自分はQt(というかC++)を初めて1週間なのですが、隣で見ていた@task_jpさんに色々教わったのでまとめます。

QtCreater(IDE)を使っていると、割と頻繁に編集するファイルを切り替えたりします。C++だとヘッダファイルと本体を行き来したりすることが多いですが、これはファイルを編集している状況でF4を押すことで交互に行き来できます。
では、他のファイルに行きたい場合はマウスを使ってクリックして開かなければいけないのか?というとそうではなくて、Ctrl+kを押すと次のような窓が出てきます

そのままファイル名をタイプしてエンターすれば開きます。これがなかなかすごくてファイルを開く以外にも「l 移動行」などとするとそのとおりに動くのです!
「? クラス名やメソッド名」とするとオンラインドキュメントが開きます。
これらのコマンドは自分で定義できるらしいです。
(追記)ここのことをLocatorと呼ぶらしいです。Commanderに名前を変えるべきだと思います
大抵のウインドウはESCキーを押すと閉じられます。マウス不要!

ソースコードを書いていると左のファイルツリー(これをサイドバーという)が邪魔になることがあります。これは左下のアイコンをクリックするか、Alt+0を押すことで隠れてくれます。同様にコンパイル結果や実行結果などもクリックすると隠すことができるので、エディタを広くすることができます。
よく見ると、1とか2とか書いて有りますが、これはAlt+1を押すとそれをクリックしたことになって消えてくれるのです。
(追記)出力結果を出すところなのでOutputPanesと呼ぶそうです。


サイドバーとビルドの問題点を表示している例


これらの便利ショートカットは自由に定義できて、オプションに設定があります。暇なときにでも眺めておくと便利なショートカットを見つけられるかもです。
Alt+0もココに定義されている

知らないとマウスを使ってファイルを切り替えたりして地味に作業効率が落ちるのですが、これらを使えばたいていのことはキーボードで完結します。
ついでに、FakeVimなる機能もあるので、エディタの方も完璧です。
QtCreaterは非常に軽快に動作し、優れたキーボード操作を提供しています。自分はとても気に入っています。
とりま、今日はここまで。
( 追記)
ココに書いてあることはここに書いてありました。

2012年1月27日金曜日

2012年1月26日木曜日

第8回関東Qt勉強会 でUbuntuTVについて発表しました #qtjp

第8回関東Qt勉強会 ATND
当日は、予定があったので発表者が先に切り上げて帰ってしまって申し訳ございません。本当は名刺とかお名前を聞きたかったのですが。。。
(8回もやっていると顔を覚えますよね。わけあってずっと懇親会に参加できてなくて残念です)

とりま、下の記事を読んでいただければUbuntuTVの80%はわかります(笑)いや、マジで
Ubuntu Weekly Recipe » 第207回 The Ubuntu TV Show

資料は以下からどうぞ。と、言ってもリンク集みたいな感じなのですが。

@tkhshmsyさんがAMD E-350でITXなマシンを担いできてくださいました。もちろん、UbuntuTVインストールしてくださいましたよ!!
自分のノートパソコンだとグラフィックが乱れてしまって試せなかったからです。動くものが無かったらあんなに盛り上がらなかったでしょう。感謝!!
で、当日は少しソースを眺めてわかったこともあったのでまとめておきます。

  • 現在のUbuntuTVは完全にハリボテ
  • 現在の最新のUnityは5系(Preciseでは5系が動いている)。最新の安定版であるOneiricは4系。ターゲットは4系になっていて、5系ではバージョンの違いに対してエラーが出て無加工ではビルドできない。 出てくるテレビ表はXMLで書かれたものをロード。 アイコンでYoutubeなどがあるが選択できないなどなど。。。
  • (追記)libunityを使ったオリジナルなUnity
  • Unity2Dをベースにしたというよりは、UnityTVとも言える世界観を構築しています。 libunityはUnityの機能を集約しているライブラリで4.0系(Oneiric)から導入されました。なお、libunityはLGPLでライセンスされているため、製品にする場合でも問題ありません。
  • ()UIはほとんどQMLで書かれている
  • メディアの取り扱いはQtMultimediaKitにまるなげ
QtMultimediaKitはQtMobilityプロジェクトの一部でこれって本体に組み込まれてるのかな?ちょっとわかんないです MultimediaKitはLinuxでは標準ではGstreamerが使われるようですね。なので、すんごいすっきりです。 そんなわけで、ハリボテプレイヤーにはキーの入力とその振る舞いしか書いてなくってとっても素敵でした。これぞ、QMLの正しい姿 つまり、CooLなオレオレプレイヤーを作りたいなら今まではFlashとかぐらいだったのが、QMLでハッピーになれるかもという良い例です。 @n_murakamiさんは「Qt Developer Conference Tokyo 2011」に参加してということで発表だったのですが、勉強会に参加した人はほとんど参加していたというオチ。 ところで、発表の時間はちょっと守ったほうがいいんじゃないでしょうか。。。僕は最後だったんですが、90分遅れで始まりって・・・ あと、Qtネタが枯渇しているようですね。自分はもくもくして最後の90分ぐらいで発表とかでもいいと思うんですが、どうでしょうか?

<追記> 録画されていたようです Ustreamの録画

<追記>Android横浜プラットフォーム部(通称:#yapf)でも、同様のネタが話されたようです。こちらはPandaboardがメイン

@kinnekoさんのブログにスライド等が乗っております↓

http://d.hatena.ne.jp/kinneko/20120130

2012年1月11日水曜日

TeXLive 2011 を高速に入れる (Ubuntu11.10 Oneiric)

TeXLiveのサイト
http://www.tug.org/texlive/acquire-netinstall.html
How to acquire TeX Live: downloadをクリック
install-tl-unx.tar.gzがUnix系のインストーラーです。
ちゃんと書いてあるのですが、プロキシな環境の場合は$HOME/.wgetrcに書き込まないとダメです。
これはGNOMEの方でProxy設定をしていても環境変数から読んでくれたりはしないようです。悲しいっ!

で、sudo ./install-tl -select-repositoryと叩きましょう
リポジトリ指定しなくても良きに計らってくれるようですが、こうするとはじめにリストを列挙してくれるので日本のサーバを選択します。
次に出てくるオプションは入って、シンボリックリンクの設定をしてもらうといいと思います。
Oで入ってLを押します。パスを聞かれますが、全部デフォルトのままでいいと思います。
セットしたらRで戻って(うっかりQ押すと閉じちゃいますw)Iを入れてインストール実行!
あとは2400近くのパッケージがダウンロードされてインストールが行われます。



ところで、この時期にTexの設定をしているのは察してください。

2012年1月6日金曜日

明けましておめでとうございます

遅すぎなんですが、今日が学校はじめなので。
とりあえず、あと2ヶ月は卒研をなんとかして無事に卒業するのが目標です。
入社したあとの目標はちょっと描けないですねー。

今年のWatch

社会人になる関係で環境が激変してしまうのでどうなるかさっぱりなのですが、自分がウオッチしておきたい事柄を並べておきます
基本的にはUbuntu周りです
  • Wayland
  • WaylandとはX Windows Systemみたいなもんです。Ubuntuも採用したいとか
  • ARM
  • Cortexシリーズが十分に浸透しスマフォやPSP Vitaでの採用によってあと10年間は手堅いと思われるCPU ここにきて、Linuxの取り組みも本格化してきてLinaroが今までの整理をしています。このあたりはSoCが絡んでいるのですが割愛
  • Qt5.0 and Qt Quick(QML)
  • KDEでおなじみのQtは紆余曲折を得て、開発がオープン化しました。(NokiaはOpen Governanceと呼んでいます) 実は、UbuntuのUnity2DはQtで実装されていたりします。 もうひとつ、Qt Quick は、アニメーションやタッチに対応した UI やアプリケーションを、開発者と UI デザイナが協力して作成できる高度な UI 作成テクノロジです。らしいです。JavaScriptやシェーダースクリプトを埋め込むことが可能で無限の可能性を秘めています。
  • Mixxx
  • これはオープンソースなDJソフトです。TraktorとかSeratoと同じですね。これもQtで実装されていてLinux/Windows/Macで動作するスグレモノ バイナルコントロールやIcecastによるネット配信、録音機能など必要十分すぎる機能が備わっています。エフェクタの拡張とかができないので今後の課題ですね。 GUIもちょっと拡張性に難ありです。最新版では私と他3人ぐらいの方が日本語翻訳したため敷居は下がったはず。 開発がそこそこ活発で見やすいドキュメント・Wiki・フォーラムが揃っていて新しいものにも手を出しているのでウオッチしています。 コンパイルツールのsconsや、ドキュメントツールのSphinxの存在はこれで知りました。

あとは、もうちょっとVimを上手に使えるようになるとかbyobu-tmux+zshで快適に生活したいとか野望が。
では