JRDV.sp

JRDBからJRDVがスピンオフして、しかもいいとこ取りのブログ。

開発

F12のススメ

もしブラウザでGoogleのChromeを使っているのであれば。
(いや、IEでもFire Foxでも同じなのですけれども)
たまには「F12」を押して見るのも良いかも知らん。

例えばよく見るレーシングポストさん。
各馬の成績画面がコレ。

t1

ここでF12キーを押すと、開発者ツール画面が開きます。
これで中身のHTMLが見られる。
ソースと言われるものですね。

上部にはjavascriptが埋め込まれており、「window.PRELOADED_STATE =」以下にはJSON形式で見えない部分のデータが入っております。
そこだけを抜き出してみると、このような構造。

t2

profile
entries
quotes
seasons

4項目ほど入っております。
・・・ん?
Quotesに関してはメンバー登録しないと見られない項目なはず。
ですが、ソースの中に埋め込まれてしまっております。
騎手・調教師のレース後のコメントがその内容。
現状では丸見えですが大丈夫かな?
もしかすると、このページはまだ開発途中なのかも知れません。

そして以下の部分

t3

この箇所にはReact が使われてます。
春の時点では確か違ったはず。
ちなみに、ReactはWordPressがライブラリの使用を止める方向に動きました。
Facebookの特許条項のリスクを嫌い、WordPressがReactライブラリの利用を止めることを発表

個人や中規模程度の企業であれば、多分あまり気にする必要は無いとは思いますが、嫌な材料である事は確かですね。

久しぶりに競馬新聞の作り方

データの有効性や仮の指数を作っての検証をしながら、地方版の競馬新聞の作業を進めてたりします。
心強い助っ人が入ってくれたおかげですね。
さて、肝心の新聞。
実は作る事自体はカナリ簡単。

t1

大本の構造は↑のメモ程度で充分。
いわゆる「モデル」と呼ばれる部分に相当するもの。でしょうかね。
そして、最終的に印刷される物が紙や、あるいはHTMLのようなWEB版が「ビュー」になります。

僕の今のやり方は、データベースからデータを取得して、チョイチョイ計算などを挟みつつ、最終的に1レース1Jsonファイルに出力します。
それを例えばイラストレーターに読み込ませればPDFが出来るし、ブラウザで表示すれば簡易ビューワとなる。
こんな程度ですわ。

でも、最初に細かいデータやパーツをチマチマと作って、最後にプログラムを実行して全てが1つなって「ドン」っと完成品が出来た時は、ああ…やってて良かったと思える嬉しい瞬間。
何ならそれを味わう為だけに作ってるまである。
ふふふ、今から最後のF5キーを押すのが楽しみだな。

浦和競馬場の出目

というタイトルは、まあ、おまけみたいなもの。
一応、2012年以降からのデータはこんな。

→ Excel Online

1~3着までの、馬番と枠番です。
有り難い事に僕の作業のお手伝いに来てくれている方がおりまして、せっかくなので色々と学んでもらおうかと。
競馬と言えばデータベースです。
特にリレーショナルデータベースとは抜群に相性が良い。
そんなデータベースの基本と言えばクエリ、つまりはSQL文です。

これは個人的な考えなのだけれども、DBを学ぶにあたって最も最悪な方法は・・・1番最初にAccessに触れる事。
実際に僕が経験したので本当にそう思います。
アレはアカン。
同じマイクロソフトの製品であればSQL Serverで始めて下さい。
今ではセットアップは非常に簡単になりましたしね。

必要な本も2冊のみ。




これで競馬程度であれば充分です。

今回やってもらった事は、1つの成績テーブルを3つ繋いでそれぞれ1~3着馬を抽出するクエリの作成。
同じテーブルでも別名をつける事によって違うものとして扱える、というのは初めて知った時には驚いたものです。
・・・等という事をアクセスでやるとSQL文を書く事無くクリックだけで完結出来てしまう。
理屈で理解する前に手順で覚えてしまうのは、よろしく無いぞ。

あとは、データをエクセルに貼って色をつけるだけ。
VBAのコードとしてもこんな。

Sub wakucolor()

Dim i, h As Integer

i = 2
Do While Cells(i, 1) <> 0

For h = 9 To 11

Select Case Cells(i, h)

Case 1
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 2
 
Case 2
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 16
 
Case 3
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 3
 
Case 4
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 41
 
Case 5
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 36
 
Case 6
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 50
 
Case 7
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 45
 
Case 8
 Range(Cells(i, h), Cells(i, h)).Interior.ColorIndex = 26
 

End Select

Next h

i = i + 1
Loop

End Sub


ループの箇所は僕の手抜きです。
終了条件の箇所は、もっとキッチリ書くべき。
ですが、使い捨てのコードであれば、僕は毎回コレですね。

ラッパー(ドラゴンじゃないやつ)

100%競馬自体には関係の無い話し。
なので読む必要は正直ありません。
だって…wrapperの方だもの。
そして大して目新しい話でも無く、質問が来たのでここに書いておこうかなというレベルです。

どの国の競馬も、大体はHTMLでデータを載せております。
自分でデータを管理したいのであれば、そこから必要な物を取得してくるのが第一歩となりますね。
僕ならこうしています、という簡単な例を。続きを読む

エクセル用の便利マクロ

僕のエクセルのツールバーはこんなです。

t2

今のエクセルになって残念な点は、ツールバーのアイコンにマウスカーソルをあててもキャプションが表示されない事。
何故にそんな仕様にしたのだろう?

さて、エクセルでの作業の殆どは以下のような流れ。

・データベースからデータを取得
・エクセルに貼り付け
・HTMLに変換
・コピーしてブログへ貼り付け

このブログのデータ表示部分は↑の方法で作成しています。
勿論、ショートカットで全てやるのもアリですがキーを押す回数が多くて面倒。

・コピーを開始するセルを選択
・CTR+SHIFT+↓で範囲を選択
・CTR+Cでコピー
・CTR+Vで貼り付け

これを短縮するためのマクロが

Sub 範囲コピー()

    Dim startRow, startColoumn, finalRow As Long
    
    startRow = ActiveCell.row
    startColoumn = ActiveCell.Column
    finalRow = Cells(startRow, startColoumn).End(xlDown).row
    
    Range(Cells(startRow, startColoumn), Cells(finalRow, startColoumn)).Copy
    
End Sub


(変数宣言しないで、Range以下の1行で書けます)

このマクロは、選択されているセルから下方向へデータがあるまでの範囲をクリップボードにコピーしてくれるもの。
ツールバーに登録しておけば、開始セルを選択した後に、ALTキー+数字で実行出来ます。
これはエクセルの仕様なのですが、ALTキー押してツールバーへ数字が表示されるまでの反応が悪いのが難点。
それを除けば、キーを押す回数が減るので便利ではあります。

更に、マウスはコレ。
ワイヤレス ゲーミング マウス G700

マウスのボタンにキーストロークが登録出来るやつなら何でも良いのですけれども。
これは登録出来るのが多めなので愛用しております。
当然コピペもボタンに登録済み。
ちなみに、Caps LcokもALTキーに割り当てておくと尚よし。

これで全てマウスでの作業が行えますね。

ハイブリッド新聞 推定3ハロン分析シートの

A3版。
コンビニ版ですね。
これを近い内にリニューアルする予定です。
サンプル → 4/2阪神

せっかくA3という広い紙面なので、A4版で出しているのものとは違う物にしてみました。

t1

左の「前半・後半」5位以内の表はこれまで通り。
・前後半共に5位以内を太文字
・2位と0.5秒差以上の時には背景色グレー
この2点、ついでに枠番が追加されました。

右にあるのが、このブログのレースの過去分析でも使っている印データ。
「HB・前半・後半」をそれぞれ1~6位まで印化して全頭を掲載。
騎手名の下の棒は、過去3週分の芝・ダート別の複勝率を現しています。
土曜日分は、3週前、2週前、先週を。
日曜日分は、2週前、先週、土曜日分を。
黒が複勝率40%以上、グレーが複勝率25%以上となっております。

HB指数の欄はレースの基準HB指数を超えているものに背景色グレー。
これが何頭いるのか?で大体レースのレベルが分かります。

大阪杯はキタサンブラック1頭しか基準越えがおりませんでしたね。
印を見ると3つ入りはヤマカツエースのみ。
中位人気あたりの3つ入りは相手でよく来るパターンだったりします。
また、2着のステファノスは内目の枠(印データの左1つめの表)+騎手パワーも大きかった。

A3だと半分に折って6Rずつで使えるよう配置しましたので、あまり邪魔にもならないはず。

血統は木構造なので

いわゆる、再帰の例題として扱うに適した材料だったりします。
5代血統からクロスを抽出する作業を頼まれたので、どうやってやろうかなと。
汎用性があって運用的に便利なのは、やはりSQLで書いてしまう方法。
どうせ元々のデータがデータベース上にある訳ですからね。

個人的には今まで、そういった血統データには興味が無かったので、そもそものルールが分からん。
という所からスタート。
ルールさえ分かってしまえば、それをコードに落とす作業はそれほど難しくありません。
だって、そのデータの構造的にSQL文で書ける事は確実なので。
きっとプログラム一般で多分難しいのは、ルールをどう設定するか?なのでしょうね。

パズルを解く感じでなかなか楽しめました。

クロスは血統表上に2つ以上同じ馬が出現している、というのが前提。
それを表現するためには1頭の馬の血統表を2組使います。

手順としては続きを読む

位置取りシートA3 テスト版

A3デカイやな!

A3版の位置取りシートを作っているとこ。

t1

文字が大きくなって、追加のデータもあります。
2月を目処にE新聞で公開予定。
まだ手直しは入りますが、ここらで1回テスト版を出してみますね。

→ 1/17京都
比較用に
→ 従来の(成績入り)


A4でプリントしたら無理だなコレ。
でもA3だと結構しっくりきます。
普通の家庭のプリンタではA3はあまり無いと思うので、コンビニのプリンタを利用するというのはアリかなと。
普段「位置取りシート」を見ている方であれば、大体分かるはず。
ざっと説明をしておきますね。
続きを読む

A3デカイやな!

位置取りシートのA3版を作成中。
比較するとこんな。

t1

おっと、ぼーっとしていたせいかな。
騎手・厩舎名と印の場所が・・・間違っているじゃないか!

予定外の2日間の競馬があったせいで、ゴッソリと開発時間が削られてしまいました。
今回の僕の作業担当部分はデータベース、デザイン、コードを書く部分・・・っと、全部ですわ。
このタスク間をグルグルと回すには、どうしてもまとまった時間が必要。
どれか1つだけであれば何かの合間にも割と出来るのだけれども、初期の段階のとりあえず進めていく段階だと分断された時間だと厳しいな。
更には、回りに誰も居ないのがベスト。
と、なると日曜日の夜~月曜日の朝になります。
それが今回代替競馬のせいで無くなってしまった訳で。
困ったものです。

でもでも、競馬終わりからさっきまでで、やっと大枠の部分はOK。
あとはチョットずつ手を入れて行く方針で。

ねむいー。帰ろう。

競馬新聞の作り方

微妙にシリーズ化されているこの記事。
今回も誰の参考にもならないであろう、非常にニッチな内容です。

僕が担当する競馬新聞は近年の物はイラストレーターで作成しております。
ハイブリッド新聞だとデータの量も種類も多いので、イラストレーターを外部からの操作での利用。
もっとデータが少なくて単純な物であればスクリプトを使います。
海外競馬用の馬柱や「外厩」シートはスクリプトでの作成。
JavaScriptでコードを書いてイラストレーター上からの実行ですね。
ただし資料が少ないのが欠点。
エクセルのVBAに関しては検索して見つからない事はほぼありませんが、このイラストレーターをスクリプトで扱う事に関しては世の中あまり関心が無いようです。
頼りになるのはAPIのドキュメントくらいしか存在せずの状況。

さて、今日の作業で少しはまったのがコレ。

t3

馬柱で勝負服を表示する部分。続きを読む
単行本
外厩ブラックボックス馬券術

Target用ファイル
「外厩」データ
(無料分)
「外厩」印データ
Target用厩舎ランクCSVファイル
(JRDB会員専用)
Target用ファイル
ビューワ 9/23・24
土曜日
日曜日
PV: 位置取りビューワ
DV: DV3
mini: JRDV-mini

過去分
2017年 2016年 2015年
記事検索
中の人
当ブログでの「僕」または、一人称は全て飯村公一@JRDBシステム班です。
JRDVを含めWEBアプリ系の開発担当者。
僕直通のメアドです。
iimura.sp半角アットマークgmail.com
半角アットマークを「@」に変えて入力して下さい。

Twitter:@jrdvsp
FaceBook:飯村 公一

こちらでもコンタクトできます。
Live レース結果
最新コメント
サイトへのリンク
【JRDV.SP】のサイトはリンクフリーです。
リンクしていただける場合は、以下のバナーをご利用ください。
コメント欄にでもご連絡頂ければ、このブログでも紹介させて頂きます。


http://blog.jrdvsp.com/



競馬リンク
必要な物はここで全部揃います


JRDBブログの1st


僕の席のとなりにいる人


新感覚


1回にご馳走になる食事
≒僕の1ヶ月分の食費


競馬情報ポータルサイト。


SMARTKEIBA


ストライド競馬新聞


パドチョク


競馬ビッグデータ


競馬サミット


相互リンク

逆転競馬

大阪梅田競馬BAR
『そのままっ!!』



チョットだけ競馬を。

The Lion Sleeps Tonight

没関係啊(*`ω´)



大きい馬券好きの競馬予想



おいなりさん

「競馬」と「料理」と「愛犬」と

  • ライブドアブログ