先日の夏のコミックマーケット(C88)、参加者の皆様、お疲れ様です。
当日、スペースへお越しいただいた方は、本当にありがとうございます。

当日、頒布した本のダウンロード販売をBOOTHにて始めました(始めてました)。
会場に来られなかった方や、なんでそんなジャンルにスペース出してるんだよ、見逃しちゃったじゃないかという方は、どうぞご利用ください。
頒布場所については、小説を書いてみたかったので仕方ないのです。でも、Qt本は、これからも続けますよ-。

というわけで、小説「ガンナー・シスターズ」とインストーラ作成本「インストーラを作ろう!」のお届けです。
もう少し詳しい、本の内容は販売サイトのBOOTHにありますので、そちらを確認していただければと思います。

「インストーラを作ろう!」については、実は少し在庫があるので、もし紙の本が欲しい方は冬コミ(予定)か、直接会える方なら手渡しで、お願いします。
今回もそれなりに皆様のお手元にお届けすることができたので、こうしてダウンロード販売ができるしだいです。
本当にありがとうございます。
これからも、「理ろぐ」を、よろしくお願いします。

ガンナー・シスターズ販売サイト:BOOTH
 創作小説・SF
 ファイル形式:EPUB, MOBI, PDF
 携帯で読むならKindleで利用できるMOBIがお勧めです。
 EPUBとMOBIの利用方法はこちら
 gunsis_toppage_s.png

インストーラを作ろう!販売サイト:BOOTH
 クロスプラットフォーム対応のインストーラ作成フレームワークの解説本
 ファイル形式:PDF
 20150711_s.png

余談
 著者名ですが、技術系は今まで通り漢字の「理音伊織」で、小説はひらがなの「あやねいおり」になります。
 だから何にって感じですが、そんな雰囲気でお願いします。

自作した電子書籍ファイルをスマートフォンで読む方法の紹介です。
この記事はAndorid端末を例に説明します。
iOSでどうかは、実機を持っていないのでわからないです、すみません。

個人的にはKindleを使用するMOBI形式の方が汎用性が高くてよいと思います。


/// 紹介するファイル形式 ///
・EPUB形式
 電子書籍フォーマットの1つ。対応しているリーダーも多い。
 AndroidやiOS用のアプリケーションやkoboなどで対応。
・MOBI形式
 AmazonのKindle用のフォーマット。
 (Amazon傘下のMobipocket社が開発した電子書籍システムで対応しているフォーマットのようです)


/// 使用するアプリケーション ///
・BOOK WALKER
 EPUB形式を読むために使用します。
 Google Play
 App Store

・Kindle
 MOBI形式を読むために使用します。
 Google Play
 App Store


/// EPUB形式を読む方法 ///
1.BOOK WALKERアプリでファイルの保存先を確認
 アプリを起動し、メニューから「EPUBファイル一覧」を選択すると、以下の画像のようにどこそこへファイルを置くように指示されます。
 これは、まだ一度も自作のファイルを使用したことがない場合なので忘れた場合は少し頑張って探します。
 端末によってフォルダの前半が変化しますが、AndoridならDownloadフォルダなどがあるところが参考になります。
 例:/storage/emulated/0/Android/data/jp.bookwalker.kreader.android.epub/files/nondrm

 screenshotshare_20150816_180315a.png screenshotshare_20150816_180303.png
 
2.スマートフォンにファイルをコピー
 Webページから直接ダウンロードしても良いですし、メールでPCから送信しても構いません。
 手順1で確認したフォルダへコピーします。

3.ファイルを開く
 アプリを起動し、メニューから「EPUBファイル一覧」を選択すると、保存したファイルが表示されるはずです。


/// EPUB形式をMOBI形式に変換して読む方法 ///
紹介のみですが、下記のAmazonのサイトから「KindleGen」というコマンドラインツールをダウンロードして変換します。
同じページにビューアなども公開されておりPC上で確認できます。

KDP ツールとリソース


/// MOBI形式を読む方法 ///
1.「Send-to-Kindle Eメールアドレス」を調べる
 PC用のWebページの場合は、「コンテンツと端末の管理→設定(タブ)→Send-to-Kindle Eメールアドレスの設定」で確認できます。
 ただし、Eメールアドレスは端末ごとに用意されており、端末を複数持っているとわかりにくいため、読みたい端末で確認します。
 Kindleアプリを開き、メニューから「設定」を選択すると確認できます。

 screenshotshare_20150816_182258.png screenshotshare_20150816_182328a.png

2.手順1で調べたEメールアドレスへ読みたいMOBIファイルを添付して送信
 しばらく待つと、「お客様のKindleドキュメントはCloud Driveに保存されています」といった感じのタイトルのメールが届きます。
 届くと、Amazon Cloud Driveに「Send-to-Kindle ドキュメント」というフォルダが作成されており、その中に送信したファイルが確認できます。
 なお、Cloud Driveに保存された時点で、AZW3形式に変換されています。

 あとは、実際に端末に同期されるのを待つだけです。

 また、Eメールアドレスは特定の端末向けになりますが、他の端末でも書籍を共有できるため、再送信の必要はありません。
 送信する先は普段メインで使用している端末にしておけば、他の端末でも好きなときにダウンロードして読めます。
 ただし、これはKindle端末やAndroidやiOS向けのアプリのみ対応しており、Kindle for PC、Kindle for Macなどは非対応です。

 夏コミ(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については年末に向けて修正された内容を適宜アップデートする予定です。