スプラトゥーン2のイカッチャでLANプレイしたときのメモ

機器構成
接続方法

ローカルLAN接続&インターネット非接続。会場によって、無線LANの設定でプラベができなかったり、ラグや通信断が多発したりすることがあったので、一番手堅い接続方法を試したかった。これだったら、会場は電源さえあればなんとかなる(あとモニタ)。

ちなみに、ニンテンドースイッチ本体のみでも、アドホック通信ができるのだけど、通信状態はあんまり安定してなかった。

ニンテンドースイッチ本体の設定

「設定」で「インターネット」→「インターネット設定」を選ぶ。 f:id:masanobuimai:20190526211741j:plain

真ん中らへんに「有線接続」があるので、それを選ぶ。 余談だけど同一環境に無線LAN環境もある場合、その設定が残っているとそっちが優先されるので、あれば削除しておく。 f:id:masanobuimai:20190526211714j:plain

DHCPサーバなんて上等なものはないので、「設定の変更」で手動設定する。 f:id:masanobuimai:20190526211756j:plain

IPアドレス設定」を「手動」にして「IPアドレス」「サブネットマスク」「ゲートウェイ」「優先DNS」まで設定する。 IPアドレスはクラスCでいいでしょ。なんで「192.168.1.xxx」(xxxは適当な値)、サブネットマスクは255.255.255.0。 プライベートネットワークなのでゲートウェイは無くてもいいんだけど、設定しないと先に進めないので「192.168.1.1」あたりでお茶を濁す。優先DNSも同じ理由で適当な値を設定(ゲートウェイと同じにした)。 この4項目を設定すると「保存する」ボタンがアクティブになるので、保存する。 f:id:masanobuimai:20190526211745j:plain

スプラトゥーン2の設定

有線LANの設定が済んだら、スプラトゥーン2を起動する。 ※有線LANの設定する前からスプラトゥーン2が起動してると上手いこと動かないので、一旦終了しておく。

ZL+ZRを押しても、インターネットに繋がってないのでハイカラニュースは流れない。 これでできるのはイカッチャだけなのでイカッチャに入る。 イカッチャのデフォルトはアドホック通信なので、Lスティック+R+Lを3秒くらい押し続けてLANモードに切り替える。

あとは誰かひとりが部屋を立てれば、みんながそこに入れる。部屋立てた人のフレコを登録しておく必要もない。

補足

このモードのプラベは最大10人まで(2名は観戦モードになる)。 あと、どういうわけかボイチャが有効になるらしく、マイク付きヘッドホン(4極)を本体に刺してるとマイクの音を拾っちゃう。これ、結構なノイズなのでマイクをOFFにできるヤツを使うか、マイク無しヘッドホンの使用をお勧めする(ボイチャそのものをOFFにすることはできないみたい)。

ps. オフラインでスプラトゥーン2をやる最大のネックはモニターなんだよなー。 テーブルモードじゃ小さすぎてゲームにならない。

Cloverのビルドがまだ成功しない

やったことを残す。

それぞれを展開して、./clover直下に配置しておく(apt-mirror-api-0.1.jarだけ別)

./clover
  + apache-ant-1.9.4/
  + apache-maven-2.3.5/
  + idea-IC-135.1356/
  + eclipse-4.2.2/
  + apt-mirror-api-0.1.jar
  + jdk-6u45-linux-x64.bin
  + ktreemap-1.1.0-atlassian-01.jar

build.propertiesの中身を書き換えておく。

#idea13.home=${build.deps.dir}/idea/13.0.133193
idea13.home=/work/idea-IC-135.1356

#eclipse-4.2.2.home=${build.deps.dir}/eclipse/4.2.2
eclipse-4.2.2.home=/work/eclipse-4.2.2


DockerコンテナでUbuntuを立ち上げログイン。JDK1.6をインストール(展開)する。JDK1.6の展開が完了したなら、apt-mirror-api-0.1.jarをJDK1.6のjre/lib/extに放り込む。

docker run -v $(pwd):/work -i -t ubuntu /bin/bash

cd /work
sh ./jdk-6u45-linux-x64.bin

環境変数を設定

export ANT_HOME=/work/apache-ant-1.9.4
export M3_HOME=/work/apache-maven-3.2.5
export JAVA_HOME=/work/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$M3_HOME/bin:$ANT_HOME/bin:$PATH

ktreemapをmvnリポジトリにインストール

mvn install:install-file -DgroupId=net.sf.jtreemap -DartifactId=ktreemap -Dversion=1.1.0-atlassian-01 -Dpackaging=jar -Dfile=ktreemap-1.1.0-atlassian-01.jar

準備運動してビルドする

mvn install -f clover-core-libs/jarjar/pom.xml
mvn install -Prepack -f clover-core-libs/pom.xml
mvn install -Prepack -f clover-idea/clover-jtreemap/pom.xml

ant global.build -Dpath.to.mvn=./apache-maven-3.2.5/bin/mvn

こっちでもclover-idea-jps.buildのビルド中にヌルポで落ちる(何故だ!?)。

IntelliJでcloverプロジェクトを開く場合

  • プロジェクトJDKはJDK1.6にする
  • プラグインSDKはIDEA13.1にする
    • JDKは1.6で
    • さらにplugins/devkit/lib/jps/devkit-jps-plugin.jarをクラスパスに加える

Cloverのビルドに挑戦するも失敗するの巻

AtlassianのCloverがオープンソース化したと聞いて、早速ビルドしてみるも失敗。Linuxで再挑戦するので、いきさつをメモっておく。

ソースコードはここから入手。


ビルド手順はこちら。


この通りにやってもコケるので、以下はその補足。

用意するもの

  • Ant 1.9.4 - 面倒なのでCloverと同じ場所に展開する
  • Maven 3.2.5 - 同上
  • IDEA 13 CE
  • JDK1.6

Cloverのソースコードの都合でJDK1.6を使った方がよい。その流れでMavenも3.2.5にしとく(Mavenが新しすぎるとJDK6に対応してない)。あと、JDK1.6はApple JDKを使ったのだけれど、それが敗因だったのかも。

設定する環境変数

手順にはM2_HOMEってあるけど、M3_HOMEじゃないとコケる。

export ANT_HOME=./apache-ant-1.9.4
export M3_HOME=./apache-maven-3.2.5
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

PATHには上記のant, mvn, javaを通しておくこと。

事前準備

build.propertiesにIDEA13 CEのパスを指定しておく。

#idea13.home=${build.deps.dir}/idea/13.0.133193
idea13.home=/Applications/IntelliJ IDEA 13 CE.app/Contents

ビルド

mvn install -f clover-core-libs/jarjar/pom.xml
mvn install -Prepack -f clover-core-libs/pom.xml
mvn install -Prepack -f clover-idea/clover-jtreemap/pom.xml

ant global.clean clover-idea.pkg -Dpath.to.mvn=./apache-maven-3.2.5/bin/mvn

途中まで順調にビルドしてるけど、こんなメッセージ吐いてコケる。なんかJDK替えないと解決しなさそうなので、OpenJDK入れるかLinuxでやり直す。

clover-idea-jps.build:
    [mkdir] Created dir: /Users/masanobuimai/Desktop/clover/clover-idea/clover-idea-jps/target/classes
    [javac] Compiling 11 source files to /Users/masanobuimai/Desktop/clover/clover-idea/clover-idea-jps/target/classes
    [javac] コンパイラで例外が発生しました (1.6.0_65)。Bug Parade に同じバグが登録されていないことをご確認の上、Java Developer Connection (http://java.sun.com/webapps/bugreport) にてバグの登録をお願いいたします。レポートには、そのプログラムと下記の診断内容を含めてください。ご協力ありがとうございます。
    [javac] java.lang.NullPointerException

たぶん、こっちのほうが正しいビルド手順っぽい(ただし、こっちはMercurialも必要)。

ant global.clean clover-idea.prod -Dclover.prod.build=true -Dpath.to.mvn=./apache-maven-3.2.5/bin/mvn

JaSST'16 NiigataでJenkins入門の話をしてきた

JaSSTソフトウェアテストシンポジウム-JaSST'16 Niigata


なぜか私がJenkinsに詳しい人と美しい勘違いをされていたようで、新潟に招待されました。実行委員長の三浦さんをはじめスタッフの方々には大変お世話になりました。他の講演者のみなさん、参加されたみなさん、おつかれさまでした。

振られたお題は「Jenkinsのチュートリアル」だったので、JaSST'14 Tohokuのネタの流用焼き直しです(当日使ったスライドはそのうち)。

スライドで使っていたAntのサンプルは「Jenkinsではじめるビルド職人入門」で作ったものでGithubに公開してあります。
GitHub - masanobuimai/ant-sample-project: antのサンプルプロジェクト(Jenkinsでビルドする用)


「Antのプロジェクトだから、いつでも動くだろ」と高を括っていたら、今のJDKのバージョンと当時使っていたライブラリとかかみ合わなくてビルドできなかった。てことに気付いたのが2週間前(数年寝かしたままのプロジェクトは何かしら腐るなぁと実感したり)。


とりあえず、自分の発表の良い点・悪い点を残しておく。

  • ネタかぶりで多少端折ったとは言え、90分枠で本編のスライド構成は短かった(もう1テーマ入れられた)。
  • 櫻庭さんが提唱していたカードは便利だった。次からも使いたい。
  • iPad miniでも何とかなるけど、やっぱりMacBook Airみたいな軽くて小さいPCがあったほうが便利。
  • 演台の都合で着席してのプレゼンだったけど、できれば起立してプレゼンしたい。
  • リアル黒曜石を見れたw


あとJaSST定番のネタバレ予稿集に抵抗して作った、予告スライドをお披露目して供養しておく。
Jenkinsではじめる継続的インテグレーション -予告- - Speaker Deck

Edu Kotlinプラグイン

Kotlin 1.0リリース記念エントリってわけじゃないけど、ちょっと気になるこのプラグイン

PyCharm Educational Editionよろしく、Kotlinの学習ができるみたい。


というか、このエディションの機能をプラグイン化したってのが正解らしい。基盤になってるプラグインはこれら。ビルドナンバーみるとわかるけど、どれもIDEA16用ね。


ためしにプラグインの中のコースファイル(Kotlin Koans.zip)を覗いてみたんだけど、画面右側のTask Descriptionツールウィンドウに表示してるのは、このHTMLなんでローカライズは簡単そう。プラグインが国際化してれば言語別にHTML追加するだけで済みそうなんだけど、どうなんだろ?


IDEA16用ってことで、ちょっとハードル高いけど「Kotlinちょっと触ってみたい」って人にはおすすめかも。

Search Everywhereでタグ検索

以下のURLから知った。

SHIFTキー2回押しのSearch Everywhereで「#」を入力すると、いくつかのキーワードが出てきて、これを頼りにPreferences画面を開かずとも設定変更ができるらしい。図はIDEA15のものだけど、試してみたらIDEA14でも出てきた(ただし、出てくるキーワードはIDEA15のほうが多い。

へぇーとは思ったけど、便利かどうかはわからない。たぶん、すぐ忘れて普通にPreferencesを開くと思う。

Re:VIEWにあったら良いなと思うこと

Android Studio本はRe:VIEWを使って書いてました。Re:VIEWへのフィードバックと思い、使ってて思った不満点とか改善要望をまとめてみました。このエントリ自体はRe:VIEWに対するネガティブな内容になってますが、今のRe:VIEWでも十分便利です。逆の見方をすれば、これ以外の不満は無いです(実際、超絶便利だったし、PDF生成しやすいこと考えるとSphinxより良かった)。

アイコンが無いのが分かりづらい

本の性質上、@{...}を多用してたんだけど、このタグで指定したアイコンリソースのパスが間違っているのが気づきづらくて最初難儀しました。PDF作成すると、アイコン指定が間違っているページまでしかPDFが生成されないので、それで判別してたけど、@{...}{//image[...]{...}みたく、指定したパスにファイルが無いことを警告してくれると良いなと思いました。

ちなみに、PDF生成のログは読みづらいので、HTML生成をRe:VIEWのlint代わりに使ってました。HTML生成のほうがログメッセージがシンプルで、Re:VIEWマークアップのミスを見つけやすかったです。

見出し参照のスタイルを指定できるとうれしい

@{...}の見出し参照のほかに、そこのページ数も参照したかったので@{...}というマークアップを使ってました。なので、見出し参照するときは、次のように2つセットでマークアップしてました。

詳しい理由は@<hd>{plugins|プラグインの紹介|言語系プラグインを使うときの注意事項}(@<pageref>{plugins|プラグインの紹介|言語系プラグインを使うときの注意事項})を参照してください。

レンダリングすると、こうなるイメージ。

詳しい理由は『言語系プラグインを使うときの注意事項』(p.200)を参照してください


正直大変だったので、@{...}のスタイルを「見出しのみ」「見出し+ページ数」とか複数のスタイルから選べるとよかったなと(そもそも、@{...}は本書用特別あつらえのタグだと思う)。

ps.
あと@{...}で他章のコラムを参照できるようにしてつかあさい。

用語リストの説明文を継続できるといいな

「用語リストの使い方が悪い」と言われれば、そのとおりなのですが、いわゆるこんなやつ。

: 用語1
   説明文1行目
   説明文2行目


これを次のようにマークアップしてます。

: 用語1
   説明文1行目@<br>{}
   説明文2行目


これをこんな風にできたらよいなと思った次第です。

: 用語1
   説明文1行目

   説明文2行目


用語リストについて言い始めると、説明文の中で//image//listなんかも使いたいんですけど、言うは易し行うは難しだよなーと。

リスト内に引用用のマークをつけられるといいな

こっちは単なるオマケです。前にasciidoctorの説明読んでて、うらやましいと思っただけ。//list内で@{...}が使えたので、今回は全然困りませんでした。