夏コミ(C88)新刊情報その2は、ラノベです。
 嬉し恥ずかしの告知です。
 どちらかと言えば技術系のブログで、このような告知をすることになるとは、立ち上げ当初の自分ですら予想できませんね。
 実は以前からやってみたいと思っていたことをようやく実現しました。少々、腰が重かった感はありますが、やってみると楽しいものです。
 もし、少しでも興味を持っていいただけたら、ぜひ、コミケの当日にスペースへ遊びに来てください。とても、嬉しいです。
 それでは、本の情報などです。

gunsis_toppage_s.png

/// 情報 ///
サークル名:理ろぐ
場所:金曜日 東ヘ40a
ページ数:140ページ
予価:500円
著者:あやねいおり
イラスト:ましろ.あー。(pixiv)

/// あらすじ ///
 科学者のイオは、猫可愛がりする妹を世界一のお姫様にするために日々を邁進していた。
 ところが、その努力の成果を狙われ誘拐されてしまう。
 連れ去られた先は、獣耳の人々が平和に暮らしているはずの地球。彼らの暮らしは、木星圏からの侵略により脅かされつつあった。
 そして、新兵器の適合者として、反攻作戦の旗印になることが、イオの地球にいる理由だった。
 まだ、戦禍にさらされてない地域で戦争への実感が持てないイオ。しかし、連れだされた賑やかな街で惨劇に巻き込まれ、戦いへの決意をする。
 そして、突然訪れた愛する妹と再会は、イオに何をもたらすのか――。

 大切にしたいと願う想いの行く末をえがくSFです。

 自分の中では「大切にしすぎて、失っているものありませんか?」がキーワードになって作られた、お話です。
 ちゃんと表現できているかは......、手にとって確認してみてください!

夏コミ(C88)新刊情報「インストーラを作ろう!」

今回も夏コミでQt関連本を頒布します。
今夏頒布する本は、前回の冬コミで頒布した本を修正+新規内容をくわえて「Qt Installer Framework本」として仕立て直しました。
Qt Installer Frameworkの2.0.xが正式にリリースされ変更があった部分や、Qtも5.5に対応したのでその辺りの部分を修正しています。
新規分としては、主にオンラインインストーラに関連する機能についてや、動作が怪しくて(謎で)省いた機能の情報などを追加しています。
UI表示しないで更新確認する機能とかもっと早く知りたかった(あくまでも個人的な感想です)。
オンラインインストーラとアプリケーションの連携を例にしたサンプルアプリも用意しました(これが意外とページ数稼いでしまった)。
既刊の表紙を付け替えて再販したからよろしくね的な空気感もありますが、興味のある方はよろしくお願いします。

注意事項?として、今回は技術系エリアの3日目ではなく初日(8/14)です。よろしくお願いします。

20150711_s.png

/// 情報 ///
サークル名:理ろぐ
場所:金曜日 東ヘ40a
ページ数:84ページ
予価:1000円
著者:理音伊織
イラスト:shin

/// 概要 ///
Qt Installer Framework(QtIFW)は、Windows/Ubuntu/Mac OS Xに対応したインストーラ作成フレームワークです。
テキストベースの設定ファイル(XML)と少しのJavaScriptでインストーラを作成できます。
しかも、オンラインインストーラも作成できるすぐれもの。
それも当然、本家QtのSDKのインストーラで使われています(むしろそのために作られてる)。
もちろんQtアプリ以外にも使えます。
そんな、Qt Installer Frameworkの基本的な使用方法からカスタマイズまで解説します。

/// 目次 ///


はじめに
目次
第1章 Qt Installer Frameworkとは
 1.1. 概要
 1.2. 対象バージョン
 1.3. 対応環境
 1.4. 動作確認環境
 1.5. 必要なもの
 1.6. 主な手順
 1.7. サンプルコード
第2章 Qt Installer Frameworkの環境構築
 2.1. バイナリ版のセットアップ
  2.1.1. Qt Installer Frameworkのセットアップ
  2.1.2. その他ツール類のセットアップ
第3章 インストーラの作成
 3.1. オフラインインストーラの作成
  3.1.1. プロジェクトフォルダの作成
  3.1.2. 設定ファイルの作成
  3.1.3. パッケージ情報ファイルの作成
  3.1.4. コンテンツ作成とパッケージフォルダへのコピー
  3.1.5. インストーラの作成
  3.1.6. インストーラの実行
 3.2. オンラインインストーラの作成
  3.2.1. リポジトリの作成
  3.2.2. リポジトリの設定
  3.2.3. インストーラの作成
  3.2.4. アプリケーションの更新
  3.2.5. アプリケーションの更新(効率化版)
  3.2.6. コマンドラインからアップデートの確認
 3.3. インストーラを用意するにあたって
 3.4. インストーラを配布するときに
第4章 インストーラのカスタマイズ
 4.1. ショートカットの登録(WindowsとLinux/X11)
  4.1.1. パッケージ情報ファイルの修正
  4.1.2. スクリプトの作成
 4.2. 不要なページの非表示(オフラインインストーラのみ)
 4.3. ページに部品を追加
  4.3.1. レイアウトファイルの作成
  4.3.2. パッケージ情報ファイルの修正
  4.3.3. スクリプトの修正
  4.3.4. 翻訳ファイルの作成
  4.3.5. インストーラの作成
  4.3.6. 限定的にもっと簡単に実現(おまけ)
 4.4. オリジナルのページを追加
  4.4.1. レイアウトファイルの作成
  4.4.2. パッケージ情報ファイルの修正
  4.4.3. スクリプトの修正
  4.4.4. 翻訳ファイルの作成
  4.4.5. インストーラの作成
第5章 インストーラの活用
 5.1. 大容量パッケージを管理(オンラインインストーラのみ)
  5.1.1. アーカイブファイルの準備
  5.1.2. アーカイブファイルの配置
  5.1.3. パッケージ情報ファイル(package.xml)の修正
  5.1.4. リポジトリの作成
  5.1.5. インストーラの作成
 5.2. アプリケーションにアップデート確認機能を実装
  5.2.1. アップデート確認機能の仕様
  5.2.2. プロジェクトの作成
  5.2.3. メンテナンスツールを実行するエレメントの作成
  5.2.4. アップデート情報を表示するダイアログの作成
  5.2.5. アップデート確認のメイン処理を作成
第6章 リファレンス
 6.1. 設定
  6.1.1. config.xmlの設定項目一覧
  6.1.2. package.xmlの設定項目一覧
 6.2. TargetDirタグやスクリプトで使用できる特殊キーワード一覧
 6.3. addOperation関数で使用できる操作一覧
 6.4. スクリプトで使用できるクラスとオブジェクト
 6.5. ツール
  6.5.1. binarycreator
  6.5.2. repogen
  6.5.3. archivegen
  6.5.4. devtool
  6.5.5. maintenancetool
第7章 最新のQt Installer Frameworkの入手
 7.1. ソースコードからビルド
  7.1.1. Qt5.5.0のビルド
  7.1.2. Qt Installer Frameworkのビルド
メンバー紹介という名のあとがき

Qt Contributors' Summit 2015の参加費用について

先日の記事でもチラッと書きましたが、スポンサーシップの制度があり旅費をKDE e.V.さん(皆さんよくご存知のデスクトップ環境を作ってるKDEコミュニティを代表して法務と財務を担当する非営利団体です)に負担して頂いたので、いろいろな意味で参加することが出来ました。
そのあたりの話を少し書きたいと思います。と、言うか費用的な話です。
(知りたくなかった食費の現実になるかもしれません。)
そして、これくらいの予算でQtの本場に行って、すごい人たちに会ってお話ができます。
英語ができないと悲しい思いしますが......。
英語ダメでもアレな表紙の本のお陰で変なインパクトだけは残せたと思いますけど。

もし、来年もQtユーザー会から参加できる人がいたら参考になればと思います。

なにか尖ったことしてあの人すげーってなって日本クレイジーって言われるような事するとご招待も近いかもしれません。

Qt Contributors' Summit 2015に参加してきました

 Qt Contributors' Summit 2015とは、毎年Qtの開発者が集まって今後どうしていくかとかを話し合う会合です。毎年Qtの関連してる各国で行われているようですが今年は本家のノルウェーのオスロでした。
 僕はQtの開発自体にはほとんど関わってないですが、本を書いたりとQtに対して貢献していることを認めて頂いて招待していただきました。なので、実際のところサミット本編では「参加」したと言っても「座っていただけ」なのですが、少なからず参加していた他のメンバーに「日本がんばってるぜ!」ってところをアピールできたと思います。
 と、偉そうに書きましたが推薦してくれた人がいろいろ見越して仕込んでくれたからなので......。

何は無くとも謝辞

 サミット運営へスポンサーシップについて交渉していただいた鈴木さん(@task_jp)と、運営内でいろいろ調整したりスポンサーシップについての対応をして頂いているTeroさん(@tekojo)に感謝です。
 本当に有難うございます。
 お二人の尽力で無事参加出来ました。

お断り

 すでに察して頂いていると思いますがサミットの内容についてふれられません。どんな事が話し合われたのかを少しでも知りたい方は鈴木さんのブログや本家のセッションノートを見てください。
  ・サミットプログラム(各セッションの説明の後ろにリンクがありのもあります)
  ・Qt Contributors' Summit 2015(前日編) - Qt 5 の未来は明るいブログ
  ・Qt Contributors' Summit 2015(1日目) - Qt 5 の未来は明るいブログ
  ・Qt Contributors' Summit 2015(2日目)- Qt 5 の未来は明るいブログ
 あと、写真はすべて携帯なのであしからず。

大まかな内容的なもの

 ・出国~到着 ・観光Part1~前夜祭
 ・サミット初日~パーティ
 ・サミット2日目~観光Part2
 ・ミュンヘン観光~帰国

「The Art of Qt」のダウンロード販売始めました

コミケC87で頒布した「The Art of Qt」のPDF版のダウンロード販売をBOOTHで始めました。
本の方は昼過ぎに無事(?)に完売することができました。
当日は寒い中スペースまでお越しいただいた皆様ありがとうございます。
もし当日購入出来なかった方はこちらでお願いします。
当日、用事だったり遠方だったりで来れなかった方もこちらでお願いします。

販売サイト(BOOTH)
 「The Art of Qt

本をご購入された方は最後のページにPDF版のダウンロードのお知らせが挟まっていますのでそちらで入手可能です。
BOOTHで販売しているバージョンは購入特典よりも更に少しだけ修正されていますが。

Qtプロジェクトにコミットしようよ

この記事はQt Advent Calendar 2014 - Qiitaの22日目のエントリーです。

この記事を読んで君もQt Contributorだ!

さて、Git初心者、英語壊滅的な僕がとある理由でQtプロジェクトコミットした時のことを振り返りながら手順を紹介します。
Gitのことをよく知らないと人からこうやってあーやってこうするんだよとコマンドとか用語を言われてもバットの振り方を擬音で説明されているような感じです。コマンドなどを実行した結果や挙動がわからないし、やり直しが効くのかもよくわからないのでドキドキしながら作業してました。
なのでだいぶ丁寧目に説明をしたいと思います。Gitとか知ってる人にはかったるくなるかもしれませんがご容赦ください。

そう、難しくないんです。(パッチが簡単に受け入れられるとは言ってない。)

今回はQt本体ではなくQt Installer Frameworkにコミットしたときの作業を振り返って説明しますがやることは同じです。
(冬コミの本でQt Installer Frameworkを紹介するし変なところ直したかったの、それがとある理由)

わからないことあったら
日本Qtユーザー会のメーリングリストに投稿
日本Qtユーザー会の勉強会に参加
・Twitterに#qtjpでつぶやく
などです。

参考にしたサイト
Qtプロジェクトにコミットしてみた

やってみたらそんなに難しくないですよ!ってことではじまりはじまり。

夏コミ(C86)に続いて冬コミ(C87)にもQt関連本を頒布するべく参加します。
なんとも壮大な雰囲気なタイトルになってしまいましたが、Qtのコツと題してQtに関連する情報をまとめていく本です。
今回は、Qt Installer Frameworkというプラットフォームをまたいでインストーラを作成できるフレームワークを解説する本です。
(なんと、Qt Quick関連じゃないけど気にしない)

hyosi_s.jpg

/// 情報 ///
サークル名:JCROM(委託先様のお名前)
場所:火曜日 西く03b
ページ数:64ページ
予価:800円
著者:理音伊織
イラスト:能義たか好(@nogi_takayoshi)

/// 内容 ///
Qt Installer Framework(QtIFW)は、Windows/Ubuntu/Mac OS Xに対応したインストーラ作成フレームワークです。
テキストベースの設定ファイル(XML)と少しのJavaScriptでインストーラを作成できます。
しかも、オンラインインストーラも作成できるすぐれもの。
もちろんQtアプリ以外にも使えます。
そんな、Qt Installer Frameworkを基本的な作成方法からカスタマイズまで解説します。

/// 目次 ///


はじめに
目次
第1章 Qtとは
 1.1. 特徴
 1.2. Qtの開発環境
第2章 Qt Installer Frameworkとは
 2.1. 概要
 2.2. 対象バージョン
 2.3. 対応環境
 2.4. 動作確認環境
 2.5. 必要なもの
 2.6. 主な手順
 2.7. サンプルコード
第3章 Qt Installer Frameworkの環境構築
 3.1. バイナリ版のセットアップ
 3.2. ソースからビルド
  3.2.1. Qt5.3.2のビルド
  3.2.2. Qt Installer Frameworkのビルド
第4章 インストーラの作成
 4.1. オフラインインストーラ
  4.1.1. パッケージフォルダの作成
  4.1.2. 設定ファイルの作成
  4.1.3. パッケージ情報ファイルの作成
  4.1.4. スタートメニュー(Windowsのみ)
  4.1.5. インストーラのコンテンツ作成とパッケージフォルダへのコピー
  4.1.6. インストーラの作成
 4.2. オンラインインストーラ
  4.2.1. リポジトリ作成
  4.2.2. リポジトリの設定
  4.2.3. インストーラ作成
  4.2.4. アプリケーションの更新
 4.3. ページのカスタマイズ
  4.3.1. 不要なページの非表示
  4.3.2. ページに部品を追加
  4.3.3. オリジナルのページを追加
 4.4. オンラインとオフラインどちらが良いか(など)
 4.5. リファレンス
第5章 バグ報告をする
 5.1. バグ検索
 5.2. バグ報告
第6章 メンバー紹介という名のあとがき

Qt Installer Framework 2.0のバイナリ

Qt Installer Frameworkというインストーラ作成用の便利なフレームワークの最新版のバイナリです。
(Qtの公式サイトでは古くバグも多くて正直使い物にならない1.4と1.5しか配布されていないため)
と、それを作成したときのQtのスタティックビルドバージョンです。
QtについてはQt Installer Framework用に最小限のモジュール構成になっているので常用はできないと思います。

Qt Installer Frameworkの使い方などに関しては冬コミで頒布する本で解説予定です。乞うご期待!

/// ダウンロード ///
 -- Qt Installer Framework --
  ・Windows 32bit / 64bit
  ・Mac OS X 64bit
  ・Ubuntu 32bit / 64bit
  ライセンス:LGPLv2.1

 -- Qt 5.4.0(static)(おまけ) --
  ・Windows 32bit / 64bit (MSVC 2013版)
  ライセンス:GPLv3とLGPLv2.1

 Windowsは、qmakeのパスが以下のようになるように配置してください。
  ・C:\Qt\Qt5.4.0static-vs13-32\bin\qmake.exe
  ・C:\Qt\Qt5.4.0static-vs13-64\bin\qmake.exe

/// Qt Installer Framework元情報 ///
ソースコードは以下から入手したものです。
gitorious:https://qt.gitorious.org/installer-framework/installer-framework.git
ブランチ:2.0
リビジョン:ccdf663923cfc286912fc2f5cdc6714ddca9d6ba
このブランチに以下のレビュー中の内容を追加したものです。
 ・https://codereview.qt-project.org/#/c/102389/
 ・https://codereview.qt-project.org/#/c/102570/

/// Qt元情報 ///
ソースコードは以下から入手したものです。
gitorious:git://gitorious.org/qt/qt5.git
ブランチ:5.4.0
 使用しているモジュール
  ・qtbase
  ・qttools
  ・qtdeclarative
  ・qttranslations
  ・qtwinextras

/// その他 ///
・Qt IFWについては年末に向けて修正された内容を適宜アップデートする予定です。

夏コミ用の本を作成するときにペイントソフトの「Krita」を使用しました。

公式サイト:https://krita.org/

使用した理由は
・表紙のイラストは本職の人にお願いしたけどタイトルの文字を入れないといけなかった
・CMYKのデータを印刷所に提出する必要があった
・CMYKを扱えるソフトを持ってなかった
・psd形式のファイルに対応している

という感じでした。
 PhotoShop Elementsは持ってたのですがCMYKのデータをRGBに変換して開けるけど編集はできないという制限もあってどうしても何かしら準備する必要に迫られてました。
 印刷所はRGBのデータで受け付けてくれるのですが、RGBからCMYKに変換するときにどうしても色がくすんでしまうのでできるだけCMYKで作った方が良さそうです。イラストを描いてくれた方に言われて実際に見せてもらったら、変換前後の違いにこれはちゃんと調整しないとマズイなと感じました。
 ただ、モニターの色と印刷した色も変わってしまうのでだからどうなのよ?と思わなくも無いですが、せめて画面の中だけでも納得のいく状態にしたいですよね。(うちの場合、目の前に並んでる2枚のモニターでも色違いますけどネー。)
 イラストレーターさんに入稿するだけの状態で描いてもらって提出するだけなら特に必要ないのですが、そうもいかなかったので。

 さて、自分は絵は描けないのでどんなことができるとかは紹介できませんが、1つ気をつけないといけないなと思うことがあったのでその紹介です。

ペイントソフトとしての所謂お絵かきとしてのスペックとかは僕からは紹介できないのですが、たぶん、すごく高機能でよく出来ているようです。
【イラスト】おめでとうKrita!資金調達成功!!無料ペイントソフト最高峰の機能をご紹介!!そしてMac版発売も・・・!?
このサイトでも紹介されているのでこちらのほうが伝わるかもしれません。

/// カラーモードの設定はレイヤー単位にある ///
 これが、気をつけることです。Photoshopのフル版でも多分そうなのですが、カラーモード(RGBとかグレースケールとかCMYKとか)はファイル全体で1つの設定になってます。
メニューの「イメージ→モード」で選べるものです。
Kritaでは、メニューの
「Image→Convert Image Color Space...」と
「Layer→Convert Layer Color Space...」
の2箇所で変更できます。
 ファイル全体としての設定とレイヤー単位での設定があります。なので、レイヤー単位でモードの違うものをごちゃまぜに出来てしまいます。(Kritaのファイルのことを以下、kra形式と呼びます。)

実際の夏コミのときの表紙に裏表紙と挿絵用の絵を混ぜた状態のスクリーンショットを用意しました。

krita_color_space_diff.png

左から
 ・イラスト(CMYK)
 ・タイトル文字(CMYK)
 ・挿絵(グレースケール)
 ・裏表紙(RGB)
になっています。
色選択の円のところに注目してください。左2つと1番右で色みが違うのがわかると思います。
RGBからCMYKに変換するとこの辺りの違いがイラストに反映されます。

レイヤーのプロパティを見ると以下のように表記されます。
krita_color_space_layer_property.png

 というわけで、psd形式に変換して保存するときに注意が必要です。特にKritaで直接psd形式を編集するときです。
 Kritaで開いている間はカラーモードの設定が混ざってても問題ありませんが、保存されたpsdにはレイヤー単位での設定情報がないため次に開くと無理やりファイル全体での設定で読み込むので色がおかしなことになります。

 自分がやらかしたパターンとしては、別で作ったpngファイルを編集中のKritaにドロップするとレイヤーとして追加することができるので、そのファイルをpsdとして保存して開いたらアレ?ッて感じでした。

 カラーモードの混ざった状態でpsd形式に変換して保存してPhotoshopで開くと以下の用になります。
 krita_convert_psd.PNG

おまけ
 非表示にしているレイヤーは削除の項目が選べません。ちゃんと表示して内容確認してから消してねってことだと思いますが。

おまけ2
 KritaはKDEアプリケーションです。つまりQtが内部的に使われています。Kritaの開発者がQtを意識しているのかは知りませんけど。


イラストはかわぐちけいさんですよ!

Qt Quick本のダウンロード販売始めました

コミケC86で頒布した「Qt Quickを使いこなすクロスプラットフォームUIプログラミング」のPDF版のダウンロード販売始めました。
当日はお越しいただきましてありがとうございます。

もし熱い中、現地に来ていただいたのに買えなかった方が居ましたらこちらでどうぞ。
そもそも遠くて行けるわけないよって方もどうぞ。
午後までよゆーで残ってますよって言葉を信じてくれた方もこちらでお願いします。
(ご購入頂いた方は挟んである紙を探してください。PDF版がダウンロードできます。)

販売サイト(BOOTH)
 「Qt Quickを使いこなすクロスプラットフォームUIプログラミング

現状、これしか無いのですが半年に1冊増えたらいいなと思っております。

去年発売したこちらも合わせていかがでしょうか?(Amazon)
 Qt QuickではじめるクロスプラットフォームUIプログラミング