今日も微速転進

ここではないどこかへ

Xcode Server(Xcode サービス)のセットアップとCI

macOS Server とXcode の組み合わせで継続的インテグレーションできるよって話。

macOS Server は前回エントリ参照。要するにアドオンパッケージという理解で問題ない。

a244.hateblo.jp

なお、元ネタは以下の書籍。

Test-Driven iOS Development with Swift 3

Test-Driven iOS Development with Swift 3

Xcode Server (Xcode サービス)

日本語のマニュアルでは表記が「Xcode サービス」になっている。

Xcode経由で実行できるテストターゲットに限定されるが、いわゆる継続インテグレーションを実現できる。

前提としては、下記の通り。

  • macOS Server が動作するホストにXcode がインストールされていること
  • Gitリポジトリから対象のソースコードをチェックアウトできること(HTTP or SSH)
  • テスト実行用のアカウントが対象ホストにログインできること(実行時はログインしている必要あり)

テストの実行開始はリポジトリへのコミット、または指定された時刻のいずれか。

マニュアルを見る限り、 macOS Server をインストールするホストと普段開発作業を行うホストは別のホストで問題ない。

試しに実行後にテスト実行アカウントでログインすると、iOSシミュレーターが起動していることが確認できる。

設定

macOS Server

Application フォルダの、Server.appをダブルクリックしてmacOS Server の管理ツールを起動する。

f:id:atuyosi:20170701220201p:plain

有効化と Xcode の選択

まず、「サービス」カテゴリーの、「Xcode」というメニューをクリックする(①)。

f:id:atuyosi:20170702190638j:plain

「Xcodeを選択…」というボタンがあるのでクリック(②)。

f:id:atuyosi:20170702220524j:plain:w480

ファイル選択ダイアログでXcode.appをクリックして「選択」をクリック。

ユーザー作成

ユーザー作成のためのダイアログが表示されるのでパスワードを入力して「ユーザーを作成」

f:id:atuyosi:20170702192033j:plain

管理者権限は不要なので、チェックボックスはオフのまま。


しばらく待つ。 f:id:atuyosi:20170702192248j:plain

ユーザーの切り替え

バックグラウンドの処理の関係で作成したユーザーに切り替えることを要求されるので「ログイン」をクリック。

現在のユーザーがログアウトする訳ではないので神経質になる必要はない。

f:id:atuyosi:20170702192408j:plain

別ユーザーでのログイン

ログイン画面が表示されるので先ほど設定したパスワードでログイン。

f:id:atuyosi:20170704112543p:plain:w480
本来は背景が透けて見えるんですが……

新規アカウントでの初回ログイン時の設定画面が表示される。

テスト実行用のアカウントなので、普段使いのアカウントのように設定する必要はない。

  • Apple IDの入力要求は「サインインしない」を選択して「続ける」クリック
  • Siri は無効にして「続ける」をクリック。

一連の初期設定が完了するとデスクトップが表示され、同時にスクリーンロックについての警告ポップアップが表示される。

f:id:atuyosi:20170703164749p:plain

Screen Lock is enabled for the Xcode Server integration user

Screen Lock may prevent UI Tests from interacting with your application. To restrict access to this account, use Fast User Switching to switch to another user.

唐突に英語のメッセージ*1で面食らうが、要するに、

Xcode Serverの継続インテグレーション用のユーザーのスクリーンロック設定が有効になっている。
(このままだと)スクリーンロックがアプリケーションのUIテストを妨げる可能性がある。
このユーザーの制限を変更しない場合は「Switch User」を選択して他のユーザーに切り替え可能。

さあ、「どうします?」というメッセージ。

  1. "Ignore": 無視して続行
  2. "Switch User":このユーザーの制限はそのままにして別のユーザーに切り替え
  3. "Open Security Preferences":環境設定画面を開いて設定を変更

UIテストを実行しない場合は1. の”Ignore” 。そうでない場合は3. "Open Security Preferences"をクリックして設定画面にアクセスして無効化する。

スクリーンロックを無効化するのはセキュリティ上好ましくないので、管理者権限を持たないアカウントの方が望ましい。
もしくは、UIテストの自動実行は諦めるか、物理的にmacOS Server のコンソールに自由にアクセスできないようにする*2


ひとまず普通のユニットテストをさせたいなら「Ignore」で一旦ポップアップを閉じ、しばらく待ってバックグランドの処理が終わるのを待つ。

画面右上に処理管理用の通知が表示されたら、同じく画面右上のユーザー名をクリックして元のユーザーにスイッチする。

設定変更を行う場合は、「環境設定」から「セキュリティとプライバシー」をクリック。

f:id:atuyosi:20170703170628j:plain

f:id:atuyosi:20170703170214j:plain
チェックを外す(上記の3. を選ぶとここの画面に移動するはず)

f:id:atuyosi:20170703170756p:plain
パスワードの入力(先ほど設定したもの)

f:id:atuyosi:20170703170804p:plain
「画面のロックを切りにする」をクリック

f:id:atuyosi:20170703170816p:plain
設定変更完了


上記の1. or 3. の場合は、画面右上のユーザー名をクリックして元のユーザーのデスクトップに戻る。

f:id:atuyosi:20170704114516j:plain

リポジトリの設定

ソースコードをGitリポジトリからチェックアウトしてビルド、テスト実行、リポジトリの情報を設定する。

ただ、参照するGitリポジトリがリモートかローカルかによってそれぞれ追加の作業が必要になる。

  • 外部のGitリポジトリ
  • ローカルマシンのGit リポジトリ

前者は話が簡単だが、後者はmacOS Serverの動作するホスト側でリポジトリを作成し、開発用のリポジトリと同期する必要がある。

このエントリは後者のケース。

この記事のケースでは開発マシン自体にmacOS Server をインストールしているので、そのままプロジェクトのフォルダでGit リポジトリを作成して使用。

ローカルのGit リポジトリからXcode Server のリポジトリにgit pushして、データを同期したうえでリポジトリからテストが実行される。

画面中央やや上にある「リポジトリ」タブをクリックし、「リポジトリへのアクセスを編集…」をクリックしてSSHを有効に。

f:id:atuyosi:20170704150358j:plain

f:id:atuyosi:20170704150900j:plain

SSHによるリモートログインの可否を訊いてくるので、「許可」をクリックする。

f:id:atuyosi:20170704152747j:plain:w420

Xcode側の設定 その1

Xcodeを起動して、Preferenceへ。

左から2番目のAccountsタブへ移動。

f:id:atuyosi:20170704155511j:plain

左下の「+」マークをクリックして「Add Server」。ローカルマシンがリストに表示されているので選択して「Next」。

f:id:atuyosi:20170704155518j:plain

管理者権限を持ったアカウントのユーザー名とパスワードを入力する。

※ 今回作成したテスト実行用のアカウントとは別のユーザーアカウント。

Gitリポジトリ追加

同期用にリポジトリを追加する必要がある。

f:id:atuyosi:20170704165342j:plain

Server.appに戻って、画面中央左下の「+」マークをクリック。

f:id:atuyosi:20170704163849j:plain
プロジェクト名を入力して「作成」をクリック。

このタイミングでSSHのアクセス権を確認しておく方がいいかも。「編集…」をクリックすると確認できる。

f:id:atuyosi:20170704164552j:plain 追加が完了すると、中央やや下のリストにリポジトリのパスが表示されるのでその行をダブルクリック。

f:id:atuyosi:20170704220316j:plain テスト対象のソースコードを同期するために、リポジトリのパスが必要になるので、ssh://で始まる行をドラッグして選択、右クリックでコピー。

Xcode の設定 その2

もう一度Xcode側で設定を行う。

f:id:atuyosi:20170704202945j:plain:w480
Source Control からプロジェクトのリポジトリの"master"から「Configure <プロジェクト名>」。

f:id:atuyosi:20170704221156j:plain
画面上部の、Remoteタブをクリック。

f:id:atuyosi:20170704221605j:plain
左下の 、十字のアイコンをクリックして表示されるメニューから"Add Remote"をクリック。

f:id:atuyosi:20170704221629p:plain

f:id:atuyosi:20170704222208j:plain

先ほどコピーしたsshで始まるssh://で始まるURLをペースト。

f:id:atuyosi:20170704222635j:plain

"Done"で閉じる。

Botの追加

そのままXcodeで作業を続行。

メニューの"Product "から「Create Bot...」 。

f:id:atuyosi:20170705000129j:plain

f:id:atuyosi:20170705000444j:plain

f:id:atuyosi:20170705000852p:plain

f:id:atuyosi:20170705000953j:plain

f:id:atuyosi:20170705001353p:plain

"Integrate"のプルダウンメニューから設定を変更できる。特定の時刻か、コミット時、または手動でテストが実行されるように設定できる。

f:id:atuyosi:20170705001919p:plain

  • Periodically
  • On Commit
  • Manually

f:id:atuyosi:20170705002923p:plain

f:id:atuyosi:20170705002929p:plain
"All iOS Devices and Simulators" というプルダウンメニューをクリック。個別に指定したい場合は"Specific iOS Devices"をクリックしてテスト対象のデバイスを選択(詳細は下図参照)。

f:id:atuyosi:20170705003111p:plain

iOSデバイスの実機が接続されていればテスト対象として指定できる。

f:id:atuyosi:20170705003722p:plain

環境変数の設定。追加したい場合は左下の十字のアイコンから。

f:id:atuyosi:20170705003944p:plain
Triger Script の設定。テスト実行前、テスト実行後に動作するスクリプトを設定できる。テスト結果のレポート送信の設定もこの画面で。

f:id:atuyosi:20170705004218p:plain

特に追加しなくても問題ないので右下の"Create"を押す。

最後に”Create"を押すとBotが作成され、commit windowが表示されるので、適当なメッセージを入力してCommit。

f:id:atuyosi:20170705004449p:plain

「接続先のホスト鍵(?)が信頼できねー(超意訳)」とか文句を言われたら"Trust"をクリックする。

f:id:atuyosi:20170705004509p:plain

環境によってはユーザー名とパスワードを訊いてくる。

f:id:atuyosi:20170705004710p:plain

XcodeのPreferencesで登録したID(テスト実行用ではないアカウント)で問題ないはず。

問題なくテストが実行されれば、Xcodeの”Report Navigator"から結果を確認できる。

f:id:atuyosi:20170705010326p:plain

Warning が表示されているがテスト自体は成功している*3


開発中は

トラブルシューティング

ネットワーク接続設定

Server.app側のXcodeサービスの画面を開き、「アクセス権を編集」をクリックしてネットワークアクセスの設定を確認する。

f:id:atuyosi:20170705005909j:plain

f:id:atuyosi:20170705005300p:plain
許可する接続元を変更。

f:id:atuyosi:20170705010034p:plain

テストとは無関係だが面倒なので素直に「Webサイトへのアクセスを変更」をクリック。

「続ける」を選んでも問題はないはず。

ユーザーの権限の確認

リポジトリのアクセス権、サービスへの接続についての制限に引っかかっていないかチェックする。

その他

テスト実行ユーザーでログインしているかどうか、確認する。

ホストの再起動後など、テスト実行ユーザー(この記事の場合はxcodeserver)がログインした状態になっている必要がある。

おわりに

Xcode経由でテストを走らせる分には悪くない選択肢ではないでしょうか。

開発中は特定の機種を前提に作業して、夜間などに各iOSデバイスの画面サイズにおける動作チェックをまとめて行う、ということができる。

テスト実行時にiOSシミュレーターで画面サイズを切り替えてテストを実行することを繰り返すのは大変。

iPadとiPhoneの両方をサポートするユニバーサルアプリやある程度規模大きいアプリの方がありがたみが大きいと思う。

複数のアプリを並行して開発する場合にも役立ちそう。

ただ、そのままではプロジェクト管理ツールの類と連携できないのがネックか。


それではまた。

*1:無生物主語構文ですね

*2:高速ユーザー切り替えの場合はパスワードの入力を要求される

*3:複数回失敗しているけど画面サイズの関係でボタンがキーボードに隠れるために失敗している。とりあえず気にしない

macOS Server のインストール

Xcode Sever(Xcode サービス)というのを試すために、macOS Serverをインストールしたのでメモ。

というか別に何も難しくないですが。

インストールしたバージョンは5.3.1。ノート系より据え置きマシンにインストールするのが本来の用途だろうと思います。

macOS Server とは

www.apple.com

サーバー版のOS Xにあった機能をパッケージとしてまとめたのだろうと思います。アドオンパッケージみたいな扱いです。

本来2400円ですが、開発者ライセンスを持っている場合は無料(タダ)


Windowsで言うところのActiveDirectoryのようなこともできるみたいです。

複数台Macを所有してる環境で、例えばMac miniあたりにインストールすると、Time Capsule兼プロキシサーバー兼ファイルサーバーのような、便利なマシンになるようです。

機能リスト:macOS Server - 仕様 - Apple(日本)

ただのファイルサーバーないしバックアップなら普通に省電力なLinuxサーバーか、FreeNASで十分な気がしますが、今回のお目当は Xcode Server なので。

ダウンロード(有償で購入する場合)

開発者ライセンスを持っていない場合は$20、日本円だと2400円。

macOS Server

macOS Server

  • Apple
  • ユーティリティ
  • ¥2,400

普通の人はふつうにApp Store で"macOS Server"と検索して「インストール」で問題ないです。

簡単ですね。 開発者ライセンス保有者は次の項目へ。

ダウンロード(開発者ライセンス保有者向け)

iOSかmacOSのデベロッパーライセンスを持っていること。

まず開発者ライセンスに登録しているApple IDでログインした状態で、https://developer.apple.com/download/にアクセス。

ベータ版のダウンロードリンクを無視して下にスクロール。

Xcodeとかのダウンロードリンクの下に"macOS Server <バージョン番号>“という行があるの右端の"Download"をクリックする。

無料ダウンロード用のコードが生成されると同時にiTunes App Storeアプリが勝手に起動する。

ギフトコードを入力云々と表示され、「一体俺にどうしろと?」と言いたくなりますが、勝手に謎のコードが適用されてダウンロードは始まっているので何もしない


この時点でバックグラウンドでダウンロードが開始されている。

しばらく放置してApp Store アプリで「購入済み」タブに移動。

あとは待つだけ。

インストール完了後、Applicationフォルダーに"Server.app"というファイルができる。

セットアップ

App Storeアプリからの購入済みアプリの一覧から「開く」をクリックするか、Applicationフォルダーにある"Server.app"をダブルクリック。

f:id:atuyosi:20170701092301j:plain

表示されるウィザードの「続ける」をクリック。

f:id:atuyosi:20170701092349j:plain

ライセンス文書が表示されるので内容を確認して「同意する」をクリック。

設定変更のためにユーザーのパスワードを訊いてくるので入力して「許可」をクリック。

あとは完了するのを待つ。

f:id:atuyosi:20170701092457j:plain

完了するとチュートリアル画面が表示されるので使いたい機能の解説を見ることができる。

f:id:atuyosi:20170701092610j:plain

インストール完了後すると2ペイン構成のウィンドウが表示される。

f:id:atuyosi:20170701220201p:plain

最低限の初期設定

初期状態ではインターネット側からアクセスを受け付ける設定なので「サーバー」カテゴリからマシンを選択して「アクセス」タブの「デフォルト・ネットワーク・アクセス」を「プライベートネットワーク」にしておく。

macOS自体のファイアーウォールと、ブロードバンドルーターが弾いてくれるはずだけど。

まとめ

ひとまずここまで。

Xcode Server は別エントリで。

今月のお買い物+振り返り(2017年6月)

今月も引き続き。

http://a244.hateblo.jp/archive/category/今月のお買い物a244.hateblo.jp

しょぼいエントリでも毎月何か書く口実としては悪くないという見解です。


睡魔に襲われて寝落ち→早起きして活動開始→翌日も睡魔に負けて寝落ち、で体調がいいのか悪いのかよくわからない感じ。

電子書籍

ここ半年で購入した本のうち、ちゃんと読み終えてないものが多いのでちょっと自粛。

持たない幸福論

ついに地上波デビューも果たした日本一有名なニート、pha氏の本。

Kindle版がセールで割引されていたので購入。

自分とは違うタイプの人だと思っていたが意外と考え方の似ている箇所があってびっくりした。

他人と積極的に関わろうという姿勢は根本的に違うのだけど。

この人の生き方はこの人だからできるのであって、凡人には真似ができない気がする。

関連:過去エントリで同じ著者(伊藤洋志氏との共著)の『フルサトをつくる』の感想を書いています。

a244.hateblo.jp

以下は6月発売のpha氏の最新作。

ひきこもらない

ひきこもらない

もはや立派な作家さんでは?

ニートの定義については問い詰めたい。

某テレビ局のドキュメンタリー*1で「面白い人には生きてて欲しい」という発言もちょっとひっかかかってる。

「面白い人=サラリーマン生活が合わない人」、なのか、pha氏が面白いと思う人なのか。

『情報なき国家の悲劇 大本営参謀の情報戦記 』

ブラウザゲームの影響による。まだ読んでない。

Interface 2017年7月号

Tech Villageで電子版を購入。

Interface 2017年7月号 ラズパイ実験室 はじめてのIoT 2017【PDF版】 | Tech Village 書庫&販売 - エレクトロニクス分野の電子書籍販売サイト / CQ出版株式会社

MQTTプロトコルの解説記事はとりあえずキープ、みたいな感じ。

買っただけでほとんど読めてない。

8月号はまだ買ってない……。

今月はKindle Unlimitedにかなり時間を持って行かれた。

ライト、ついてますか―問題発見の人間学』

ライト、ついてますか―問題発見の人間学

ライト、ついてますか―問題発見の人間学

古典的名著。Rebuild というポッドキャストに煽られて。

なんというか挿絵が時代を感じさせる。いかにも共立出版

ちょっと言い回しが古いというか、そこは漢字でいいだろうと思う箇所が平仮名で読みにくかったりする。


他のワインバーグ氏の著作も含めて新装版出したりしないのかな。

G・M・ワインバーグ全集みたいな感じでモダンな組版になるといい感じ。

それほど分厚くないのでこのて日本にしてはさくっと読める。無理やり要約すると、問題を解く前に一歩引いて見方を変えて見なさい、という話。

期待しすぎると肩透かしを食らうが、掲載されているエピソードはコロンブスの卵のようにシンプルな話。

『基礎からしっかり学ぶC++の教科書 C++14対応 』

基礎からしっかり学ぶC++の教科書 C++14対応

基礎からしっかり学ぶC++の教科書 C++14対応

久々にAmazonではなく書店で購入。今更だけどちゃんとC++を勉強しようという。

出版社サイト:日経BP書店|商品詳細 - 基礎からしっかり学ぶC++の教科書

ガジェット

ASUS ZenFone3 MAX

5.5インチモデルの方。

過去記事参照。

a244.hateblo.jp

手帳タイプのスマートフォンケース

中国製。まあ価格的にはアリでしょ。

Loftか東急ハンズで探す方が良かったかな。

片耳のタイプのbluetoothイヤホン

マーケットプレイスの商品につき注意。

100円違いの両耳用のモデルを購入しようとしてミスった。こっちは右耳用……。まあ不都合はないからいいけど。

【参考】両耳用モデル:EnacFire bluetooth イヤホン V4.1 片耳ミニ ワイヤレス イヤホンCF8002

商品画像を見て購入したはずなので、カートに入れる時に取り違えたかな。

ものは悪くない。

イヤホンの内蔵マイクは自分の声以外はほとんど拾わない感じ。

音はモノラルでそれなり。価格相応。

稼働時間は検証中。

技適番号は外箱に204-720044と記載されているけど総務省のDBでヒットしない。反映されるのが遅い可能性があるのでなんとも言えない。

狙いとしては聴力低下をカバーするために補聴器もどきを作ろうという計画。

右耳は耳鳴りがひどいので軽い聴力低下状態の左耳に装着してスマートフォンのマイクで拾った音をブーストしてイヤホンで聞けばいいのではという発想。

類似商品がたくさんあるのでOEMなんだろうか。

消耗品とか

ビタミン剤は小林製薬から切り替え。ガン患者向けの広告が悪質という話を見聞きしたので。

ジャイアントコーンは確かにうまいと思ったがAmazonのレビューは過剰評価気味。共立のミックスナッツに入っているやつよりは確かにうまい。

乳酸菌サプリは効果を実感できず。体質的に便通にはキウイフルーツの方が効くみたいです*2

そのほか

モノじゃないけど。

a244.hateblo.jp

まだ1ヶ月経ってないけど、Adsenseはいい感じ。

イベントなど

  • 6月2日:第2回 変人講座
  • 6月3日:Cocoa勉強会関西

変人講座は耳鳴りのせいでイマイチ聞き取れず。 Cocoa勉強会の方はまあまあ。

まとめ

英語の本を期待したほど読めていない。 アプリを1つリリースしたので悪くはないか。

今年に入ってから電子書籍より紙の本の方が読了率が高いような気がしている。

読み終えたけど書評を書いてないというのもあるけど。


今月に入って耳の状態が悪化した感じでしたが、ひとまず改善傾向。どうも気圧の変動とか気候に影響されている感じがする。

とりあえず体重ももう少し落としたい今日この頃。

それではまた。

*1:後編しか見てない

*2:あくまでも個人の体質の問題です

Kindle Unlimited で読んだ本(2017年6月)

久しぶりに再開してみました、Kindle Unlimited。久々に見ると結構読みたいものが見つかりますね。

積ん読本の消化が遅れるという重大な副作用がありますが……。

分類は適当です。あしからず。


IT・技術系

『Web制作者のためのIllustrator&ベクターデータの教科書』

Web制作者のためのIllustrator&ベクターデータの教科書 マルチデバイス時代に知っておくべき新・グラフィック作成術 Web制作者のための教科書シリーズ

Web制作者のためのIllustrator&ベクターデータの教科書 マルチデバイス時代に知っておくべき新・グラフィック作成術 Web制作者のための教科書シリーズ


※固定レイアウト

ちょっと古いがなかなかの良書。

基本的にIllustratorについての本だが第5章でSketchについて解説されている。

Illustratorを使わないユーザーでも読んでおいて損はない。

また、第6章でSVGについて解説している。これはこれで珍しいと思う。

紙媒体だと問題ないのだろうけど、スクリーンショットのサイズはもう少し大きくして欲しかった。

雑誌

Windows100% 2017年 07月号

Windows100% 2017年 07月号 [雑誌]

Windows100% 2017年 07月号 [雑誌]

アスキーのLinux Magazine、Unix Magazine、ソフトバンク系のUNIX USER*1、MacPeopleに続いて名称にOS名を含む雑誌が休刊。

この雑誌、かなり著作権侵害幇助的な路線だったような気がするがその割には大健闘したのかな。

+DESIGNING VOLUME 42

+DESIGNING VOLUME 42

+DESIGNING VOLUME 42

組版とフォントについての記事に期待したが InDesign とIllustrator の使い方にフォーカスしすぎであまり参考にならず。

フォントの話も2015年の新フォントの話だったりで今更感がある。

MdNという雑誌の絶対フォント感についての号の方が断然いい。

一般

『ダーリンは70歳/高須帝国の逆襲』

ダーリンは70歳/高須帝国の逆襲

ダーリンは70歳/高須帝国の逆襲

国会議員その他を提訴したことで一躍脚光を浴びた、高須先生の本。

差別表現で絶版になったやつかな?

確かに面白い爺さんだと思ったが、西原理恵子の方はどうも好かん。

ビジネス書

『仕事をゲームにしてみた結果!! 社員のやる気をMAXにさせた、ゲーミフィケーションの活用法』

仕事をゲームにしてみた結果!! 社員のやる気をMAXにさせた、ゲーミフィケーションの活用法

仕事をゲームにしてみた結果!! 社員のやる気をMAXにさせた、ゲーミフィケーションの活用法

非公式の評価軸を取り入れたチーム別の成果主義に近い印象。

ゲーミフィケーションというワードがタイトルに入っているけど、ノルマを社内イベント として仮想化する感じ。簡単な実例の紹介と、運営の注意事項がまとまっている。

ゲーミフィケーションとはなんぞや、とかそういう本ではない。

ゲーミフィケーションを取り入れようとしている場合のヒントとしては悪くないと思う。もうちょっといろんな業界の、うまく行った(もしくは上手くいかなかった)実例とか、ネタ帳みたいな本があるといいのかな。

特に印象的だったのは「サブゴールを設定する」という点と、オリンピックや大相撲など既存のイベントを踏襲する場合はできる範囲でセレモニーなどを再現するという話。

いまいち思想的なバックグランドが感じなれない。

『ゲームとゲーミフィケーションのあいだで』

対談記事を切り出して電子書籍にしたもの。Kindleの行数ペースで501行なのですぐ読めるが非常に示唆に富んできる。

ソーシャルゲームを『麻薬的な「時間つぶし革命」』と評するあたり、なかなか面白い。

以下抜き書き。

(前略)たとえば20世紀の左翼が行きづまったのは個人と世界のエンゲージメント、つまり社会を物語的に考えることの限界にぶつかったからだと思うんですね。
(井上 明人; 水口 哲也; 宇野 常寛. ゲームとゲーミフィケーションのあいだで 〈人間と情報〉の関係はいかに更新されてきたか (PLANETS ほぼ惑コレクション for Kindle) (Kindle の位置No.184-185). PLANETS. Kindle 版. )

理想主義の限界か?


次は手段と目的の話。

   対してゲームというのは、究極的には手段と目的のバランスに介入して、イコールに近づけることで快楽を生むものだと思うんですよね。つまり、ゲームを攻略することは手段であると同時に目的でもある。RPGをプレイするとき、レベル上げやアイテムの探索自体が面白くなければならない。これがゲームというものの本質の一つのような気がするんですよ。
(井上 明人; 水口 哲也; 宇野 常寛. ゲームとゲーミフィケーションのあいだで 〈人間と情報〉の関係はいかに更新されてきたか (PLANETS ほぼ惑コレクション for Kindle) (Kindle の位置No.191-194). PLANETS. Kindle 版. )

前述の左翼云々は会社の将来とか集団の利益に置き換えてもいいと思う。また後半は手段を過程と言い換えても意味は通るんじゃないだろうか。

生存のために狩猟採取生活を送っていた時代から離れて、みんな暇になった結果、今まで通用していた「物語」というのが通用しなくなったのかな。

ゲーミフィケーション云々とは外れている部分も多いけどゲームをメディアとしてとらえると示唆に富んだ対談。

『人生ドラクエ化マニュアル』

人生ドラクエ化マニュアル II: 人生の敵攻略編 (JUNZO)

人生ドラクエ化マニュアル II: 人生の敵攻略編 (JUNZO)

悪くはないけど。なんかこう挿絵とか悪乗りというか。

人を選ぶ本だろうと思う。著者の意図とは違うかもしれないが、ゲームがなぜ楽しいのか、についてよくわかると思う。

ドラクエをネタに、ゲームの構成要素と現実を対比して、その上で人生をゲームのように進めていくという本。

ドラクエというゲームに登場する要素を説明のトリガーにしているだけで、私のようにドラクエというゲームを未経験でもRPG系のゲームの経験があれば違和感なく読める。

第1巻が著者がそういう考えに至った経緯と参考事例。第2巻が具体的な目標設定とどういう風に行動したかの具体的事例。


まずゲームを下記の3要素で成り立つものと規定する。

  • 目的
  • ルール
  • *2

(ゲームの作者が設定した)目的を達成するために、ルールに従いつつ敵を倒す(障害を乗り越える)。

ゲームを楽しいと思うとどうかは、敵を倒す(障害を乗り越える)こと(=目的達成へのプロセス)を楽しいと思えるかどうかがポイントではないかと思う。

目的をどう設定するか、難易度の調整や目的につながるサブの目的、演出次第なんだと思う。目的をどう設定するかは2巻の方のテーマ。


人生をゲームにする上で必要なのは、本書によれば、

  • ルールの見極め
  • 敵をどう倒すか
  • 自分なりにワクワクする目的をどう設定するか

重要なのは最後の目的の設定で、これは著者よると興味・関心のあるよものを手当たり次第にやってみろ、とのこと。

大型書店で興味の湧く本がないか、売り場をぐるりと回ってみるという方法が紹介されている。

目的が決まったら、そこから小さな目的(ゲームでいう任務とかクエスト)を設定して、あとは行動あるのみ。

行動の重要性を強調している点は特徴か。


ただ残念に思った点としては、ゲームの場合はすぐに結果が出るけど、現実は行動と結果にギャップがある、という重要な話が抜けていると思った。

そもそもゲームと違って、敵を倒すことのご利益がはっきりしないからこそ(仕事が)つまらないわけで。

そういう部分についてちゃんと解説されていないように読める。

趣味の世界であれば、例えば手段自体が楽しいので、そういうことを気にしなくていい。

自分なりにワクワク人生の目的を見つければ自動的に解決するのかもしれないけど。

ドラクエの難易度調整の話も印象的。

日々の生活でやることを自分で難易度調整する、というアプローチも面白い。


まずは自分が心の底から楽しいと思えるような目的を探すところから取り組みたい……。

トークメーカー新書

トークメーカー新書なんていうのがあるんだ、へえ、みたいな感じ。頼むから縦書きで斜体フォントはやめてくれ*3

トークメーカー座談会一覧|トークメーカー

『ブログで成功するための9の鉄則』

ブログで成功するための9の鉄則 (トークメーカー新書)

ブログで成功するための9の鉄則 (トークメーカー新書)

オンライン座談会を書籍化したもの。特別なことは書いてないが、「なぜ」が対話形式でしっかり説明されている。

日本語教師の方をゲストにしつつ、小説投稿サイトの関係者が話を聞いていくスタイル。

小説家志望の人は興味を持って読めると思う。

『小説家になるな!: クリエイターのサバイバル論 』

縦書きで各章の頭に縦書きで斜体は読みにくい。本当に文筆系の人間かね?

f:id:atuyosi:20170608125047p:plain

「小説家」の部分を他のクリエイティブ系の職種に置き換えても通用する話が多いと思う。

『働かないで生きていく』

働かないで生きていく (トークメーカー新書)

働かないで生きていく (トークメーカー新書)

この本の働かないは「労働(labor)」しない、という意味の「働く」をしないためには、という本。

創作メインで生きていくには、そもそも人生の意義とは何か、がどうのこうのという座談会の文章化。

具体的なノウハウが書いてあるわけではないが、参考にはなった。

『WEB作家でプロになる ①&②』

WEB作家でプロになる!: ?書籍化の方程式 (トークメーカー新書)

WEB作家でプロになる!: ?書籍化の方程式 (トークメーカー新書)

WEB作家でプロになる!: ?パッケで9割の法則 (トークメーカー新書)

WEB作家でプロになる!: ?パッケで9割の法則 (トークメーカー新書)

「小説家になろう」で活躍している執筆陣と司会者、一般ユーザーのオンライン座談会の書籍化。

なかなかやばい。創作系でプロを目指すなら小説以外にも当てはまると思う。


以下、引用と感想

書籍化する、つまり商業的成功と自己表現(自己実現?)との折り合いをつけることは可能なのか、という話の流れがあって、以下のやりとり。

あと「書きたいものを書きたい」って欲求は、とどのつまり、「ありのままの自分を認めて欲しい」という欲求でしかないので、僕はそれを「幼稚」と片付けます。人様に認められたかったら、まず、自分ぐらい変えてみせろと。その「自分」のなかには、当然、「書きたいもの」だって含まれます。
新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ①書籍化の方程式 (トークメーカー新書) (Kindle の位置No.1613-1617). Kindle 版.

これは厳しいけど有益。「書きたいもの」を「描きたい」「創りたい」に置き換えても同じか。この辺は全体を読まないと釈然としないかもしれない。

文中で言及はされていないけど、孫子の兵法の「迂直の計」が必要なのかな。

本当に書きたいものを書くために、あえて少し外れたところから攻めていく。みたいな?

参考:超訳 孫子の兵法


作家業は、自己表現の場ではなくて、商売なんです。編集から出版社から印刷所から、イラストレーターさんから、書店員さんまで、大勢の人の人生……まではかかってないけど、多くの人の仕事や生活を巻きこむビジネスなんです。とかいいつつ、僕も「書きたい物」を書くこともたまにありますが。「小説家になろう」以外にも、WEB投稿サイトはたくさんあります。「カクヨム」などは、小説家になろうの流行とはまた違った方面でトレンドができあがっていたりします。
新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ①書籍化の方程式 (トークメーカー新書) (Kindle の位置No.1621-1629). Kindle 版.

「人を巻き込む」ことに責任感を持っている人って意外といるんですね……。世の経営者にも見習って欲しい。


だけど「異世界」なら、ルールが違うんだから、誠実で頑張ったやつが報われて、勝てる世界にできるんです。
新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ①書籍化の方程式 (トークメーカー新書) (Kindle の位置No.2557-2558). Kindle 版.

これが異世界転生系が流行る理由の一つらしい。うまく言えないけど納得感はある。

だから、「七日試してダメなら諦める」というのは、アマチュア寄りの人にはむしろびっくりする話かもしれません。「七日口説いただけで諦めるとか、お前、その女のこと、本当はそんなに好きじゃなかったんだよ」みたいな。そういう視点から皆さんを見れば、やはり「自分を殺して売れるものを見てる」という見方になるかと思います。
新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ②パッケで9割の法則 (トークメーカー新書) (Kindle の位置No.464-468). Kindle 版.

試行錯誤をどんどん繰り返せという話。青色発光ダイオードの中村さんは「自分で実験装置を改造していたから試行錯誤のサイクルが大企業より速かった」という趣旨のことを言ってたはず。
同じ話かな。Webサービス系もA/Bテストでサイトデザインを変えたりとか試行錯誤をたくさんできるおかげで進化が加速しているという実感はある。


小説家として、作品を生み落とす子育てをしているわけですが――。作品は苦しんで産み落とすべき、という論には辟易としていまして。「出産」という行為自体に、難産も安産も、貴賎なんてないはず。
新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ②パッケで9割の法則 (トークメーカー新書) (Kindle の位置No.531-534). Kindle 版.

かけた労力と得られる利益が比例しないという現実。苦労をありがたがる必要なないという話。努力が報われるとは限らないけど、行動を起こさないと何も起きない……。


フォーミュラカーを運転できるのはF1のプロドライバーだけですが、デチューンしまくって、性能を落としまくっていけば、「スポーツカー」として、アラフォーのおじさんでも、運転できるようになります。
新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ②パッケで9割の法則 (トークメーカー新書) (Kindle の位置No.1822-1824). Kindle 版.

商業的成功のためには妥協というか普通の人のレベルに合わせろという話。スポーツカーにデチューンしろというはいい例えだと思う。


作家の抱える問題の多くは、一〇倍のアウトプット物量があれば、ほとんど解決する、という話がありまして。

金銭面の問題、然り 。
作家性の問題も、然り。 新木伸; 三木なずな; 作家K; 至道流星. WEB作家でプロになる!: ②パッケで9割の法則 (トークメーカー新書) (Kindle の位置No.2385-2389). Kindle 版.

商業的成功のために流行のトレンドを追うべきかという話に対する返答の続き。

たくさん書けば結果的に解決するという結論らしい。

個人的見解のまとめ

引用したい個所は他にもたくさんあるけど座談会形式なので前後のやりとりがないといまいちピンとこないかもしれないのでここまで。

クリエイティビティの必要な世界で生きるなら読んでみ、という感じ。

一言でまとめるととにかく作品を作れ、かな。

『炎上は面白い!: イケダハヤトのブログ術』

炎上は面白い!: イケダハヤトのブログ術 (トークメーカー新書)

このシリーズで一番退屈。

自分が深層心理で抱えている恥の意識を取り払うこと
イケダハヤト; 架神恭介; 泉和良; 至道流星. 炎上は面白い!: イケダハヤトのブログ術 (トークメーカー新書) (Kindle の位置No.808). Kindle 版.

「恥」という単語を世間体に置き換えてもいいかも。

『小説脳になる! 書いたことないけど作家デビューしたい』

小説脳になる! 書いたことないけど作家デビューしたい (トークメーカー新書 Cheers!)

小説脳になる! 書いたことないけど作家デビューしたい (トークメーカー新書 Cheers!)

参考になるのは間違いないが、具体的にどうかと言われると漠然としている。

とりあえず文中に出てくる器用裕福というキーワードは覚えておきたい。

以下、適当に引用。

それと最近、デビューの近道として皆さんよくおっしゃるのは、☆Twitterやnote等で定期的に(なるべく頻繁に、毎日のように)作品を載せる。頻繁であることが大事……頻度=信頼感です。
たけうちりうと; たけうちりうと; 佐々木禎子; 藤沢チヒロ; 至道流星. 小説脳になる! 書いたことないけど作家デビューしたい (トークメーカー新書 Cheers!) (Kindle の位置No.1172-1176). Kindle 版.

数をこなす+勢いをつける、かな?

継続的に活動しているかどうかは確かに気になる。

リリースして放置されているように見えるアプリは確かに躊躇するし。

日本語は会話向けではなくて、書き言葉に向いているなあ。と。
たけうちりうと; たけうちりうと; 佐々木禎子; 藤沢チヒロ; 至道流星. 小説脳になる! 書いたことないけど作家デビューしたい (トークメーカー新書 Cheers!) (Kindle の位置No.3451). Kindle 版.

こういう発想はなかった。

サブカル系

『自作ゲーライフ2 独占インタビュー編: 「TOME」ゲームクリエイター』

こういう話があり得るのか……。

ゲーマーじゃないけどゲームアプリチャレンジして見るのもいいかな。

まとめ

今月のベストは「トークメーカー新書」の対談シリーズ。

何冊か読むと普通に飽きる。もう元を取ったからいいや、みたいな感じ。

継続せずにしばらくしてまた再開の予定。

また面白そうなのを何冊か見つけたら間欠泉のごとく再開の方針。

*1:どこの出版社だっけ?

*2:「乗り越えるべき障害」という解釈でいいと思う

*3:各章の冒頭。後述。

オススメの趣味を見つける性格診断というのをやってみた

hobby-ch.com

まあとりあえず科学的根拠云々は置いておこう。

性格診断と趣味を絡めて入門講座の広告とか関連商品を売るというのはいい発想。

運営しているのは兵庫の会社みたいだけどよくわからない。


診断結果は

科学者の【INTP】

でした。

決まり切った作業を繰り返すようなことが嫌いで、常に何か新しい問題を解決したいと考えています。

外れてはないような気もするけど。要は内向的ってやつ。

hobby-ch.com

オススメされた趣味は、

  • シャドウボックス
  • テーブルトークRPG(TRPG)
  • 株取引
  • スマートフォンアプリ開発
  • 数独・ナンバープレイス
  • ヨガ
  • FX取引
  • 登山
  • 剣道
  • コミックマーケット
  • ダンス
  • クイズ

アッ、アノッ……。


サイトとしては面白いけど……、

株とかFXとかコミックマーケット(コミケ)趣味じゃないよね?

特定のイベント自体が趣味と書ける言語センスが理解できない。コスプレとか同人サークルならわかるけど。

株が趣味とか雰囲気で株をやっているとかいうレベルじゃないんですが。

ちなみに趣味はコミケですとか言われたどんな顔をすればいいのでしょうか*1

そのうち趣味はオリンピックとかいう人が出そう。


スマートフォンアプリ開発が趣味とかしつつあるのは否定しないけど、何故C言語の参考書を勧めるのか……。

スマートフォンアプリ開発 について / 初心者・始め方 | 趣味ちゃんねる

Objective-Cと混同していますね?時代はSwiftだと思うけど。

どちらが簡単かは一概にはいえませんが、初めてプログラミング言語に触れるという方はiPhoneアプリの開発がオススメです。AndroidアプリはJava言語をベースにしているため、Javaの知識が要求されます。
とはいえ、アプリを開発するのであれば実機で動作確認ができるのが望ましいので、今お手持ちのスマートフォンに合わせたアプリを開発した方がいいです。

後半は同意。実機を持ってる方がいい。ただ、Xcode のUIは英語なんだけどオススメしちゃって大丈夫なの?

……クラウドソーシングで発注したのでしょうか。


iOSアプリの開発本については過去記事参照。

a244.hateblo.jp


まあ、興味があれば診断されてみてはいかがでしょうか。

話のネタとしてはありでしょ。


それではまた。

*1:やはり「笑えばいいと思うよ」とか言われそうで困る

広告