blog4j 2.0 このページをアンテナに追加 RSSフィード

2014-12-02

ミニ四駆公式戦に参加する #mini4wd

| 23:49 | ミニ四駆公式戦に参加する #mini4wdを含むブックマーク

ミニ四駆アドベントカレンダーの2日です。

昨日は @kakkun61 の 最近ミニ四駆がアツすぎるんだが #mini4wd でした。ミニ四駆から遠ざかっている人は必ず読んでおきましょう。そして、ミニ四駆に復帰するなら公式戦に参加しましょうということで、公式戦に参加するために知っておくことを書いておきます。これを読まなくても公式戦には参加できます。


公式戦≠ジャパンカップ

公式戦というとジャパンカップかと思うかもしれませんが、ジャパンカップ以外にミニ四駆グランプリというのが開催されます。今年の公式戦のスケジュールをざっくりまとめると以下のようになります。

これ以外に中学生以下が参加できるジュニアカップも数回開催されたので、だいたい週末には日本のどこかで公式戦をやっています。


参加方法

私が小学生の時に参加したジャパンカップは事前に抽選がありました。コロコロコミックについている参加申し込みハガキを送って当たれば参加券が送られてきました*1。現在は事前登録の仕組みはなく、当日参加のみです*2。また、昔は中学生以下しか参加できませんでしたが、今はクラスが以下のように分かれていて、年齢に関係なく参加することができます。

受付時にどのクラスに参加するか聞かれるので自分がどのクラスか把握しておきましょう。おそらくほとんどの人は最も参加人数の多いオープンクラスだと思います。会場によってばらつきがありますが、定員は1500〜3000ぐらいで、受付は朝8時ぐらいから始まります。先着順ですので、朝は早起きしないと参加できません。ちょっと前までは11時ぐらに行ってもギリギリエントリーできたのですが、ジャパンカップの最終戦は1次予選がはじまる前の9時過ぎにオープンクラスが定員に達して参加できませんでした。


0次予選

まだ地方大会は11時ぐらいでも参加できたりしますが、東京大会は参加するだけでもちょっと大変です。確実に参加するためには、早起きして会場に行き、受け付け開始前から列に並びエントリーシールを勝ち取らなければなりません。この戦いは0次予選と呼ばれ、高度な情報戦が展開されています。当日は朝起きた時から #mini4wd を監視しておきましょう。「受付終了。#mini4wd」など流れてきますが、ある程度の受付が終了すると、受付場所が変わってたりするだけだったりするので、正しい情報を見分けるスキルが必要です。0次予選に勝てば、左手にスタンプを押してもらって、大会の冊子と、エントリーシールをもらいます。ジャパンカップならステッカーももらえます。

f:id:kiy0taka:20141202230047j:image


持ち物

ミニ四駆

必須です。当日までに完成しているのが理想ですが、待ち時間がそれなりにあるのである程度セッティングを決めておいてエントリー後にピットエリアで完成させるのもありです。ジャパンカップ開幕戦に先行発売のミニ四駆をその場で組み立てて出場する強者もいますが、オススメはできません。

お金

大会では、限定品や先行販売があるので欲しい人はある程度持って行きましょう。会場によってはカードを使うことができるところもあります。

電池

公式戦で使える電池はタミヤのパワーチャンプGT(アルカリ)かネオチャンプ(充電式)で、ジャパンカップだけは昔から富士通電池提供なので、富士通電池が使用できます。富士通電池コンビニで売っているところもありますが、タミヤの電池コンビニでは買えないので、多めに持って行きましょう。物販コーナーでも買えますが準備していったほうがバタバタしなくて済みます。最悪、物販コーナーで買う事態になったら、物販コーナーのレジ横に行きましょう。物販コーナーは常に長蛇の列ができていますが、電池だけは並ばずに買うことができます。

パーツ/工具

当日、人のレースを見ているとセッティングを変えたくなるのである程度は持って行きましょう。パーツは物販コーナーで買うことができますが、長い列ができているのでレース前に並ぶのは危険です。

レジャーシートなど

会場にはピットエリアと呼ばれるスペースが提供されているので、適当な場所を見つけて陣取りましょう。ピットエリアは限られているのであまり広くスペースを取らないようにしましょう。

暇つぶしできるもの

0次予選の列に並んでる間や、エントリーしてから1次予選が始まるまでの時間など、何かと待ち時間が長いので暇つぶしできるものを持って行くのもいいと思います。


車検

公式戦は公式のレギュレーションがあり、これに準拠していないミニ四駆はレースに参加できません。車体の寸法や重量、使用パーツなどいろいろ決められているので、 ミニ四駆公認競技会規則 を頭に入れてセッティングしましょう。車検はレース直前に行われ、ここで違反が見つかっても直すことはできますがセッティングを考え直さないといけないのでレギュレーションは重要です。レース直前の車検以外にも事前車検を受けることができるので、大会本部的なところにミニ四駆を持っていくとチェックしてくれます。不安な人はぜひ事前車検を受けましょう。事前車検でOKをもらってもレース直前の車検は受ける必要があります。


1次予選

1次予選はエントリーした順番でレースに参加できます。エントリーシールに番号が書かれており、100人ずつ呼ばれるので当日はアナウンスに注目しておきましょう。次の番号が呼ばれる時に決まった音楽が流れるのでわかりやすいかと思います。また、車検入り口あたりにレース受付中の番号が張り出しているのでこちらもこまめにチェックしておきましょう。車検をパスするとエントリーシールに印を入れてもらい、ミニ四駆にコースの番号が書かれたシールが貼られます。どのコースから出走するかはこのときまでわかりません。また、車検を通過したらセッティングは変えることができません。レースはミニ四駆のスイッチを入れてコースにセットして、シグナルが青になったら手を離してあとは祈るだけです。スタート時は5人の大人が寄り添った形でスタート位置に並ぶので、ほどよいスペースの確保と譲り合いの精神が必要です。スタート時に手でミニ四駆を押し出したりするのはもちろん反則ですが、自分のミニ四駆をカメラ撮影したりストップウォッチを準備したりすると失格になるそうです。これはレースの進行をスムーズに行うためなので気をつけましょう。

コースアウトせずに5周して、1着でゴールインすれば1次予選突破です。2次予選参加チケットをもらって速やかに退出しましょう。コースアウトしたり、1着でゴールインで来ない場合も速やかに退出しましょう。コース内にはマーシャルと呼ばれるスタッフがいて、コースアウトしたミニ四駆を回収してくれるので、自分のマシンを受け取るのを忘れないようにしましょう。

万が一、他のマシンがコースアウトして自分のマシンにぶつかったなどして妨害を受けた場合は、慌てずにスターターの人に異議申し立てしましょう。受け入れられれば、再レースすることができますので、ここでも大人の対応が必要です。

2次予選以降

1次予選勝ってないので知らん。勝ち進めば優勝です。ちなみに、ジャパンカップ期間中に全国各地のミニ四駆ステーションで開催されるシード代表決定戦で優勝すると、2次予選から参加することができます。詳しくはお近くのミニ四駆ステーションで。

ミニ四駆ステーション&ミニ四駆販売店 一覧


今年の公式戦はもうチャンピオンシップだけとなりましたが、チャンピオンシップと同時に ファン感謝祭 が開催されます。公式戦のように予選や決勝はなくフリー走行のような感じになると思いますが、公式戦の感じはつかめると思うのでミニ四駆に復帰する人にもお勧めです。また、ミニ四駆グランプリ2015 NEW YEARのスケジュールも発表されているのでチェックしておきましょう。

公式戦の楽しみ方も書こうと思いましたが、長くなったので別エントリにしたいと思います。それでは、Keep on Running!

D

*1:大阪大会が1000人でクラスで当選したのは自分だけだった記憶

*2:最近参加者が多くなったので事前登録制になったりしないかな。

トラックバック - http://d.hatena.ne.jp/kiy0taka/20141202

2014-09-10

JavaFXでOculus Rift DK2

| 23:43 | JavaFXでOculus Rift DK2を含むブックマーク

5月に注文した Oculus Rift DK2 がやっと届いたので、早速JavaFXで動かしてみました。

D

Boxが目の前に浮いてるだけで、動画では分かり辛いですが、Oculus Riftを装着して覗くと感動しました。


ソースは https://github.com/kiy0taka/javafx-jovr-sample

SDKのドキュメントとか読まずに、とりあえず動かしてみたので色々間違ってると思います。ざっくり説明すると、

ミニ四駆に乗れる日も近い。

トラックバック - http://d.hatena.ne.jp/kiy0taka/20140910

2013-12-22

Gradle Jenkins Plugin

| 23:56 | Gradle Jenkins Pluginを含むブックマーク

f:id:kiy0taka:20131222234811p:image:w640

今回紹介するのは、Gradle Jenkins Pluginです。JenkinsのGradle Plugin でも、Gradle JPI Plugin でもありませんので注意。

G*(Groovy, Grails ..) Advent Calendar 2013 の22日目です。今年もGGXに行って来たので、GGXで見つけたネタです。GGXの詳細な報告は年明けの G*ワークショップ でやる予定なのでお楽しみに。


何か?

GradleからJenkinsのジョブを管理(作成/削除/更新)するGradleプラグインです。ジョブの管理ができるというと、同じようなものにJenkinsのJob DSL Pluginがあります。このGradleのJenkinsプラグインDSLでジョブの定義が出来ますが、JenkinsのJob DSLプラグインのように素敵なDSLでは書けません。基本的にテンプレートとなるジョブのconfig.xmlを用意してジョブを作ったりします。


とりあえず試してみる

適当なディレクトリに次のconfig.xmlとbuild.gradleをコピーします。

<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description></description>
  <keepDependencies>false</keepDependencies>
  <properties/>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command>echo $JOB_NAME</command>
    </hudson.tasks.Shell>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>
  • build.gradle
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath('com.terrafolio:gradle-jenkins-plugin:0.3.4')
    }
}

apply plugin: 'jenkins'

jenkins {
    servers {
        local {
            url 'http://localhost:8080'
        }
    }

    defaultServer servers.local

    jobs {
        hello {
            definition {
                xml file('config.xml')
            }
        }
    }
}

JenkinsのWarを持って来て、起動します。

java -jar jenkins.war

updateJenkinsJobsタスクを実行します。ユーザ名とパスワードを聞いてきますが、セキュリティの設定をしていなければそのままEnterで。

$ gradle updateJenkinsJobs
> Building > :updateJenkinsJobs
Enter the username for server "local":

Enter the password for server "local":
:updateJenkinsJobs
Updating job hello on http://localhost:8080

BUILD SUCCESSFUL

Total time: 4.998 secs

すると、helloという名前のジョブが作成されます。ジョブを消したり、config.xmlの一部を変更したりなど、その他の詳しい使い方は、Wiki にまとめられてるのでそちらを参照ください。


何が嬉しいのか?

DSLの書き方はJob DSLプラグインの圧勝ですが、このGradle Jenkinsプラグインは、複数のJenkinsサーバーのジョブをまとめて管理する事ができますし、サーバーの設定を変更することで、とりあえず確認用のJenkinsインスタンスでテストしてみて、問題なければ本番用のJenkinsに対してスクリプトを実行するという方法も取れます。

大規模な開発でJenkinsを使用していて、たくさんのジョブと開発者がいて、Jenkinsの権限まわりをどうしようとなったときに発揮できるかと思います。ジョブの管理をするGradleプロジェクトをリポジトリに突っ込んでおいて、Jenkinsの設定は開発者だけがGradleから実行出来るようにしておき、他の開発者はジョブの実行だけ出来るようにします。開発者がジョブの設定を変えたかったり新しいジョブを追加したかったりする場合は、Gradleのプロジェクトをリポジトリから引っ張って来て、自分の変更を追加して、ローカルのJenkinsとかで確認してからpushするなり、Pull Requestするなりすればいいかと思います。この方式を取れば、本番のJenkinsがお亡くなりになったときに、リポジトリさえ残っていれば、ジョブの再構築はできるという利点もあります。


そんなわけで、Jenkins G*アドベントカレンダーの22日目でした。

トラックバック - http://d.hatena.ne.jp/kiy0taka/20131222

2013-09-26

IDEを使ってJenkinsのGroovyスクリプトを書く

| 12:11 | IDEを使ってJenkinsのGroovyスクリプトを書くを含むブックマーク

MLであったJenkinsのGroovyスクリプトを書くにはどうしたらいいかという話。

JenkinsAPIプラグインを書いたりしてるとなんとなく分かった気がしてきますが、慣れていないとJenkinsを管理したり、Groovy Postbuildプラグインを使うときに困ります。

で、どうするのがいいかというと、やっぱり慣れるしかないかと思います。やりたいことは毎回違うし、よくやるような事はプラグインにしてしまえば良かったり、すでにプラグインになってたりします。MLであった環境変数を設定したいというのは色んな場面で使えそうなので、Groovy Postbuildプラグインで、

manager.addEnv('HOGE', 'ほげ')

とか出来るようになればいいのかなと思ってます。そんな感じでプラグインが使いやすくなっていくと、Groovyスクリプトを書く機会が減って慣れてない人には敷居が高くなっていくわけです。

JenkinsAPIに慣れるためにはスクリプトコンソールやCLIを使ってトライ&エラーを繰り返していくしかないですが、Jenkins上で動かすスクリプトIDEで書ければ補完が効いて少しは敷居も下がるのではと思い、Gradleのスクリプトを書きました。

https://github.com/kiy0taka/gradle-setup-jenkins-script


インストール

Windowsじゃなければ、

$ curl -Ls http://git.io/BoXCXQ | bash

で、Windowsな場合は、手動で$HOME/.gradle/init.dディレクトリsetup-jenkins-script.gradleをコピーしてください。


プロジェクト作成

適当にディレクトリを作ってスクリプトを実行します。

$ mkdir jenkins-scripts
$ cd jenkins-scripts
$ gradle setup-jenkins-script
> Jenkins URL: 

JenkinsサーバURLを聞いてくるので入力してください。JenkinsサーバからJenkinsのバージョンやインストールしてるプラグインの情報をとってきてGradleのプロジェクトが作成されます。あとはIntelliJインポートしてください。


スクリプトを書く

src/scriptディレクトリ以下に、JenkinsスクリプトコンソールやGroovyプラグインの「Execute system Groovy script」で使いたいスクリプトを書いてください。

Jenkinsサーバと同じバージョンのライブラリが追加されているので補完が効きます。

f:id:kiy0taka:20130926114205p:image

Jenkinsサーバインストールされているプラグインライブラリも追加されているのでプラグインAPIを使っても補完されます。

f:id:kiy0taka:20130926114206p:image

書いたスクリプトJenkinsスクリプトコンソールに貼付けて実行してもいいですが、GradleからJenkinsに投げて実行する事もできます。

$ gradle run

src/script以下にあるGroovyスクリプトから実行したいものを選んで実行できます。ファイルを指定して実行したい場合は、「sample.groovy」なら、

$ gradle run-sample

として実行できます。


Groovy Postbuildプラグインスクリプト作成

JenkinsサーバGroovy Postbuildプラグインインストールされていたらsrc/postbuildディレクトリが作られています。src/scriptディレクトリと何が違うかというと、postbuild以下に書くGroovyスクリプトでは、Groovy Postbuildプラグインがバインドする変数managerの補完が効きます。

f:id:kiy0taka:20130926114207p:image

この補完を効かせるためにGDSLを書いているので、IntelliJ専用になってます。EclipseのDSLDを書けばEclipseでも補完が効くと思うので、誰かお願いします。

Groovy Postbuildプラグイン用のスクリプトはGradleから実行できないので、適当なジョブに貼付けて実行してください。

2013-05-14

Java Day Tokyo 2013 #jdt2013

| 23:51 | Java Day Tokyo 2013 #jdt2013を含むブックマーク

エバンジェリストに無茶振りされて、Java Day Tokyo 2013で危うくJavaに関係ない話だけをするところでした。時間が8分間とだけ聞いていたので*1LTより長いし時間持て余すなーと思っていたら、あんなことになってしまいました。

本当なら3段階に分けたデモを見せたかったのですが、時間がなくて最終形をちらっと見せるだけに終わってしまいました。見せたかったのはデモ以下のような感じです。

  1. Twitter4JからMongoDBにデータをためておいて、Elasticsearchで検索できるようにする
  2. Elasticsearchをさらに使って、各ツイートがどのパーツに関係しているかのスコアを出す
  3. Mahoutを使ってパーツの関連を調べて、パーツの組み合わせを出す

コードはすべてGroovyで書いて、デモで見せる部分は当日にGrailsでWebアプリ化しました*2

データマイニングとかは全くの素人で、ちょっとやってみたらそれっぽいデータ*3が出たので個人的には満足です。

Elasticsearchのユーザ辞書を結構適当に作ったのでもう少し整えたり、Mahoutの使い方をもっとちゃんと勉強したり、ミニ四駆ツイートをもっとためたりしていけば、もう少し良くなるんじゃないかとちょっと本気で考えています。

話せなかった分*4については、どこかの勉強会のLTとかでお話ししたいと思います。

*1:何でもありって聞いた。発表順は当日に知った。

*2:これ重要。言い忘れてた。

*3:いろいろ間違ってそうですが

*4:今日の後半部分