日米野球 侍ジャパン v MLB 第1戦 初勝利 侍J投手の品評会!!

日米野球、まずは開幕戦2-0で初勝利!小久保監督の表情も引き締まっていて非常によかったと思います。スポンサーのSUZUKIに感謝ですね!

まあ今大会って、MLBファレル監督の言う通り、さながら日本人投手の品評会ですね!前建、大谷はほぼ当確か!?

しかし、ファレル監督とフランコナ・コーチのやり取り、いろいろなんとなく面白いですね!トーリとマッティングリーみたいな!

WBC2013 AT&Tパークで、準決・決勝のドミニカ、R.カノのイニング間の球回しを見た時、改めてMLBの凄さを知った次第です。あのスローイングはマジで凄い。日本人にはマネできないですね。あのゆるいサイドスローの投げ方で、なんであそこまで投げられるのか!しばらく理解できませんでした。

私は、日本人選手がMLBに挑戦するのは、非常に良いことだと思ってます。張本さんには悪いですが。
選手である以上、最高峰のベースボールを見たい欲求はどの選手にもあるはずです。ここは野球もサッカーと同じでですね。投手だろうが、野手だろうがもっともっと海外に出て挑戦してほしい。力がなければ通用しない世界ですから。

台湾、タイ、韓国もよいと思いますね!オランダ、イタリアいいと思います。オランダはEUではなくキュラソーかな!
自分を必要としてくれている国に積極的に行くべきです。それが日本野球の良さを知らしめるわけですから。”野球”はもっともっとグローバル化すべきですね!

日米野球 阪神・巨人連合 v MLB@甲子園 黄x橙の応援に野球の底力を見た!

今日はMLB側が練習試合。しかし序盤は1-8と練習試合かなーなんて思ってましたが、MLBの隙に乗じいい試合になってきました。9回表で7-8です。いやーマジで面白いです、今日の試合!

阪神ファンと巨人ファンが一緒に六甲おろしを熱唱するってマジで凄い光景。でもなぜかみなさん楽しそう!私も歌いたかった!

サッカーならFC東京と東京Vが一緒にって感じですか!?東京VはJ2なので、G大阪とC大阪って感じですかね!?いやいや浦和x鹿島かな!?

まあ今日は昨日の侍ジャパンより、「負けられない」意識が高いです、阪神・巨人連合軍。昨日の侍Jの試合で、「若手にいい経験になった」って言うなら、33U侍ジャパンとか言ってほしい。トップの侍ジャパンは負けは許されないんですよ!、小久保監督。

この肌感で2017年トップに立てる気が全くしないです、正直。今日は、侍Jより黄x橙のほうがいいパフォしてます!なんか今日は”セルジオ”だな(大汗)

WBC2017 侍(小久保)ジャパン始動 初戦は黒星発進

WBC2017に向け「侍ジャパン」今日が始動の日。2013/03/17 AT&Tパーク、あの屈辱はブラジルW杯クイアバ・コロンビア戦より悔しいし一生忘れない。日米野球中、ヘッダーはしばらくあの時の屈辱の画像で!

柳田は「フルスイング」の意味を解ってない。「フルスイング」って6割の力なんですよ。10割ならそれはスイングとは言わない。ノム(野村)さんが常々言っているバッティングの極意。それはいかに力まないか、肩の力を抜くことができるかなんです。これが一番難しい。なんでこんなことをと言いますと柳田が力んだ時は必ず芯が横ブレするんですね。それに早く気付いてほしい。
サッカーも同じ。シュートチャンスでいかに力まないか、これが一番難しい。

0-1で試合終了。練習試合とはいえ、いいのかこんなんで。SB江川がヒーローインタビュー、って。大丈夫か小久保ジャパン。

一番の不安は監督自身が監督経験がないってこと。ましてやWBCの経験もない。大舞台での経験なしではザックと同じですね。
ここはぜひ歴代の王監督、原監督ましてや秋山監督に頭下げて教えを乞うてほしい。謙虚な姿勢がほしい。経験のないハンデはぜひ今のうちに埋めておいてほしい。体現しなければ埋められない領域でもあるわけですが、裸の王様なら、今のうちに監督はノムさんか落合さんでいいんじゃないかな。そう秋山監督がいいって、まあどれも無理でしょうが。

関連記事を手動で設定できる Microkid’s related posts WordPressプラグイン

投稿記事に関連する記事を手動で選択しリンク表示できるプラグインはいくつかあるのですが、そのひとつ「Microkid’s related posts」をインストールしてみました。

タイトルが「Related Posts for WordPress」となっていて、同一名で別のプラグインがあったりとインストールには注意が必要です。すでに開発が終了しているのか、2年以上プラグインの更新が止まっていますが、WordPress3.9.2で問題なくインストールできました。以前から存在したプラグインですので、私が無知なだけで、今回紹介するまでもなかったのかもしれませんが(汗)。

Microkid’s related posts」の機能を簡単に説明しますと、関連記事の登録は手動のみ。関連記事数も手動なだけに制限なし。記事元に関連記事を登録するとリンク先記事にもリンク記事元が自動で登録され、相互リンクとなります。
例えばA記事、B記事があるとします。A記事からB記事へ関連記事をリンク登録したとします。するとB記事には自動でA記事への関連記事が登録されます。
サイト外(他人)へのリンクであれば拒否られてしまい一方通行ということもありますが、サイト内の記事であれば普通は相互リンクでよいはずですよね。

唯一の問題点は、関連記事の選択順(ソート順)が維持されないということ。相互リンクが逆に悪影響を及ぼしているように見えますが、ここは設計(テーブル構造)から見直さないと難しそうなので目をつぶることにします。作成者は順番を意識したテーブル構成にはなっているようですが、実装がまずいのか選択した順序通り表示されない場合があります。


Microkid’s related postsのインストールと設定手順

  1. プラグインのインストール
    WordPressのプラグインインストール検索でキーワードを「Related Posts for WordPress」で検索しますと、検索結果が同一名で2件ヒットします。このうちひとつはVersion.1.7.2、もうひとつが4.0.3で全く別物です。4.0.3のほうが「Microkid’s related posts」になります。作成者(Author)が「Microkid」になっているほうですね。一方本来の「Microkid’s related posts」で検索すれば、正しく1件ヒットします。
  2. 設定メニュー
  3. 設定画面
  4. 関連記事登録画面

「Microkid’s related posts」をしばらく使用していると不具合が発覚。関連記事を検索するキーワードが日本語(マルチバイト)の場合、検索にヒットせず結果が表示されないという不具合。キーワードにヒットする記事もあるのですが、取りこぼす記事もあるなど検索機能がいまいちです。とにかく検索で記事をヒットさせない限り関連記事を登録するすべがないのでこれは致命的です。

記事検索でヒットしないとなると考えられるのは検索対象のデータベース。WordPressはMySQLというデータベースを使用していますので、おそらく記事テーブルを検索するクエリー(SQL)があやしいはず。すでに開発が2年以上止まってますしサポートは期待できそうもないので、SQLに問題がないか調べてみることにしました。

早速プラグインのソースを斜め読みしますと、あっさり検索のためにSQLを発行する関数を特定。microkids-related-posts.phpのMRP_ajax_search_results()という関数ですね。対象ファイル数が少ないので簡単でした。
このMRP_ajax_search_results()関数を詳しくみますと、ビンゴです、検索条件を指定するWHERE句に正規表現(REGEXP)という文字列検索演算子が使用されていました。MySQLのREGEXP演算子は日本語などのマルチバイトをサポートしていないため、おそらくここが原因かと。

REGEXP演算子の代替手段はLIKE演算子ですね。マルチバイト圏の開発ではMySQLでの文字列検索なら普通はLIKE演算子を使用するか、どうしても正規表現を使用したいなら拡張しますよね。蛇足ですが、PostgreSQLであれば、10年以上前(Ver7.2.3)にすでにサポート済なのでREGEXP演算子(~)でもよいのですが。
このプラグインを作成した作者はおそらくシングルバイト圏(アルファベット文字のみ)の方なのでしょう、マルチバイトを考慮していなかった模様。個人レベルならそこまでの試験はしないのでここは仕方ないですね。
ただREGEXPを使用するに至った経緯は、おそらく検索の”速さ”なのでしょうが、信憑性のない検索結果なんてユーザからすれば不要なんですよね!ちょっとぐらい遅くても正確な検索がなんですよね!

すでに開発が2年以上止まってしますし、今後プラグインの更新はないだろうと踏み、プラグインに手を入れることにしました。

まず、どのようなSQLが発行されているか「チャンギ」という検索キーワードで調べてみました。

  • ■「チャンギ」検索キーワードでの実行SQL
    SELECT
        ID,
        post_title,
        post_type,
        post_status
    FROM
        hogehogeposts
    WHERE
        post_content REGEXP '[[:<:]]チャンギ' AND
        post_type = 'post' AND
        ID != 2725 AND
        post_status NOT IN ('inherit', 'auto-draft')
    ORDER BY
        post_date DESC LIMIT 50
    

    やはり、「REGEXP ‘[[:<:]]チャンギ’」になっていました。これでは検索にヒットしないのもわかります。

ソースコードは以下です。

  • ■microkids-related-posts.php の MRP_show_related_posts() 関数
    /**
    * MRP_ajax_search_results - Display AJAX search results
    *
    */ 
    function MRP_ajax_search_results() {
    	global $wpdb;
    	$s = $wpdb->escape( rawurldecode( $_GET['mrp_s'] ) );
    	$scope = (int) $_GET['mrp_scope'];
    	$post_type = $wpdb->escape( $_GET['mrp_post_type'] );
    	$regexp = "[[:<:]]" . $s;
    	$where = "";
    	switch( $scope ) {
    		case 1 :
    			$where = "post_title REGEXP '$regexp'";
    			break;
    		case 2 :
    			$where = "post_content REGEXP '$regexp'";
    			break;
    		default :
    			$where = "( post_title REGEXP '$regexp' OR post_content REGEXP '$regexp' )";
    			break;
    	}
    	$query = "SELECT ID, post_title, post_type, post_status FROM $wpdb->posts WHERE $where AND post_type = '$post_type' ";
    
    
  • ■変更箇所
    上記関数の536,539,542行目のREGEXP演算子を以下のようにLIKE演算子に書き換えます。

    REGEXP '$regexp'
       ↓
    LIKE '%$s%'
    
  • ■変更後のmicrokids-related-posts.php の MRP_show_related_posts() 関数
    /**
    * MRP_ajax_search_results - Display AJAX search results
    *
    */ 
    function MRP_ajax_search_results() {
    	global $wpdb;
    	$s = $wpdb->escape( rawurldecode( $_GET['mrp_s'] ) );
    	$scope = (int) $_GET['mrp_scope'];
    	$post_type = $wpdb->escape( $_GET['mrp_post_type'] );
    	$regexp = "[[:<:]]" . $s;
    	$where = "";
    	switch( $scope ) {
    		case 1 :
    			$where = "post_title LIKE '%$s%'";
    			break;
    		case 2 :
    			$where = "post_content LIKE '%$s%'";
    			break;
    		default :
    			$where = "( post_title LIKE '%$s%' OR post_content LIKE '%$s%' )";
    			break;
    	}
    	$query = "SELECT ID, post_title, post_type, post_status FROM $wpdb->posts WHERE $where AND post_type = '$post_type' ";
    
  • ■diff確認
    変更前後のdiffは以下の通りです。

    % diff -u microkids-related-posts.php.org microkids-related-posts.php
    --- microkids-related-posts.php.org     2012-04-02 16:31:56.000000000 +0900
    +++ microkids-related-posts.php 2014-11-09 14:21:25.000000000 +0900
    @@ -533,13 +533,13 @@
            $where = "";
            switch( $scope ) {
                    case 1 :
    -                       $where = "post_title REGEXP '$regexp'";
    +                       $where = "post_title LIKE '%$s%'";
                            break;
                    case 2 :
    -                       $where = "post_content REGEXP '$regexp'";
    +                       $where = "post_content LIKE '%$s%'";
                            break;
                    default :
    -                       $where = "( post_title REGEXP '$regexp' OR post_content REGEXP '$regexp' )";
    +                       $where = "( post_title LIKE '%$s%' OR post_content LIKE '%$s%' )";
                            break;
            }
            $query = "SELECT ID, post_title, post_type, post_status FROM $wpdb->posts WHERE $where AND post_type = '$post_type' ";
    
  • この修正で日本語(マルチバイト)文字でも正しく検索可能になりました。
    蛇足ですが、記事IDも検索対象としたい場合は、542行目を以下のように変更すれば「both」を選んだ場合は記事IDも検索対象となります。

    			$where = "( ID LIKE '%$s%' OR post_title LIKE '%$s%' OR post_content LIKE '%$s%' )";
    

まさかこんなトラップが仕掛けられているとは夢にも思ってなかったので(汗)、かなりのの長文になってしました。(汗)この業界、得てしてこのような意図しないトラップが仕掛けられている場合が多いんですよね(汗)

21U Baseball World Cup 開幕

認知度がものすごく低い「21U Baseball World Cup」が今日台湾で開幕。注目度ではU-21サッカーアジア予選の1/100ぐらいですかね(笑)

こんな大会あったの?って感じですが、今回が第一回大会のようです。ただワールドカップというのにUSAがいません。日本のいるBグループが5チームと半端で全11チームなのでUSAは辞退ですかね!?
そもそも予選とかあったんですかね。ワールドカップというぐらいですから。アジア大会は年齢制限なしのフルですし。チェコって野球やるんですね!(驚)またオーバーエージ枠もあり、まさにサッカーを踏襲ですね。

21U日本代表はプロ、アマ混成チーム。先日のドラフトに名を連ねた選手も出場しています。一時、この大会のために台湾渡航も考えたのですが(汗)、ちょうど日本開催の日米野球と重なったため&スケジュール的に諦めました。

サッカーは「U-21」表記ですが、野球は「21U」なんですね、IBAF。

今日の初戦は「日本vsオーストラリア」。序盤は日本の優勢で5-1でリードしてしたのですが、4回一気に乱れ5点を献上し6-5で逆転されます。その後、さらに1点追加されるもすぐに1点返し7-6とリードされ9回表の攻撃。最終回でやっと3点奪い9-7で見事逆転勝利。

6回から登板した「横山」。阪神ドラフト一位だけのことはあります。3回をピシャリ。彼の好投が最終回の反撃に結びついたと言っても過言ではありませんでした。阪神はよいピッチャー取りましたね!来季は即戦力で期待できると思います。

11/14は日米野球で東京ドームと思っていたら、なんとホンジュラス戦とカブっていたという。今頃気づきました(汗)まあホンジュラス戦はレイトで観るしかないですね。