将棋実況系 YouTuber 神動画 その1

なんやかんやで数十年ぶりに将棋を指すようになったわけだが、手っ取り早く勉強になったのは、YouTube で将棋ウォーズなどの実況動画を見ることだった。

YouTube では、アゲアゲさん・アユムさんあたりを押さえておけば、ほぼ間違いないと思う。(アユムの例の問題に関しては後述)

印象深かった回をあげておく。

★アゲアゲさん
ショイジシリーズ・銀多伝の回…カイジではなくショイジ。初めて見たとき実況トークで笑えるということに衝撃を受けた。本当は、このシリーズの一作目を見つけたかったが、残念ながらロスト。かなり面白かったはず。
「教えてアンパンマン!」&ボイスロイドの回…トークの面白さもさることながら、解説も秀逸。
英語実況・向かい飛車の回…英語実況シリーズは他にもあるが、これは駒が漢字表記なのでわかりやすい。
九間飛車の回…「え?飛車そこに振るの?」と思わせながら、勝っちゃうあたりが凄い。
対端角中飛車の回…これは純粋に勉強になる。

ああ、なんかインパクト重視のチョイスになってしまった。。。

★アユムさん
松尾流穴熊の回…将棋再開時、対四間飛車を苦手にしていたのだが、ここで松尾流穴熊の存在を知り、差し回しを真似していたら、けっこう勝てるようになった。
居飛車での対端角中飛車…差し回しに癖がなく、説明もわかりやすい。
後手早石田の回…ウォーズ低級位時には嫌というほど棒銀・中飛車・早石田に出くわす。それなりに対策を立ててなんとかなっていたが、これは逆に後手早石田の可能性を探った回。採用はしないが、参考になる。

他にもいろいろあると思うが、まずはこんなところで。

 

(追記)アユムのソフト指し問題に関して
最近は将棋実況系の動画は見てないんだが、アユム氏がソフト指しをしていたかどうかでけっこう炎上しているようだ。
えーと、こういう局面で分別ある大人は大抵「距離を置く」と思います。
だから私も今後は彼のことは積極的には取り上げません。

 

CakePHP チュートリアル試してみた

WordPress 使ってながら、PHP に関してはまったく無知だったので、CakePHP 3 をちょこちょこお勉強。
まずは公式チュートリアルから。最初のサンプルのブックマークがどうしたこうしたはまったく興味なかったのでブログの方から試す。

おそらく最終成果物はこうなると思います。

対応する MySQL のテーブルを確認する。

CRUD 操作は確かに安定してますな。

 

あのプロジェクトを救え! NetBeans

エンジニアというものは、自分のつくったプロダクツに責任を持ち、万難を排して保守にに努めるべし(略)…と考えていた時期が私にもありました。

実際には、大人の事情等があってそう理想的にはいかないんでしょうが、特にIT系に深入りすると「けっこう使えるのになぜかメンテが今一つで敬遠されているプロジェクト」が山ほどあることに気がつきます。「食わず嫌いの方も多いかもしれないが、こう使えばけっこう使えるよ」的なことを書いていきたいと思います。

まず、Java 系の IDE である NetBeans から。

Java 系の IDE というと eclipse の方がメジャーなんでしょうが、多機能すぎて私は使用を途中で放棄しました。操作が今一つわかりにくいっていうか。。。

もちろん、NetBeans にも悪いところはかなりあるのは知っています。例えば、プロジェクトから WildFly などアプリケーションサーバを走らせると、ほとんどの場合、停止しない、とか。最近もこの手の問題に直面しててこずりました。ですが、なにかちょっとしたコードを書きたいとき、断然、NetBeans の方が便利だと思います。プロジェクトをつくる仰々しさがないっていうんでしょうか。。。

ですが、残念なことにそのチュートリアルとかがひどかったりするのですね。

まず、なんでこんな迂遠な書き方するんだろう? 翻訳ということを差し引いてもちょっとどうかと思います。やっていることは単純で「アプリケーションサーバ上に二つの JSP ページを載せる。一方のフォーム上の入力欄に文字列を書き込み、投稿ボタンを押下するともう一方のページに遷移し、その文字列を表示する。コントロールは bean でおこなう」というものです。最初にこれを書いておかないものだから、目的地がどこなのか初心者は混乱します。

要するに

というページを用意し、「OK」ボタンを押下すると

というページを出力するってことです。

情報も古いです。サンプルソースがなにしろ JDK 1.6 対応だったりします。

今回、手を出したついでに同内容を 『JDK 1.8 + NeteBeans 8.1 + WildFly 10』で作りなおしたものを github に上げておきました。

これを作成したときのポイントは

・操作は下手にショートカットなどはつかわず、自分の手慣れたやり方でOK。(ページやクラスの作成などは右クリック→新規追加で十分でしょう)

・コードは基本コピペ。

・IDE はプラグインなどが不安定なものが多い。デプロイは面倒がらずに http://localhost:9990 からおこなう。

といったところでしょうか。

なお、chrome では、現在(2017年夏)、デフォールトでは Java が動きません。npapi というやつを有効化しておきましょう。

 

chrome で jsp のページなどが表示できない場合

アドレスバーに以下を入力。

chrome://flags/#enable-npapi

なんか警告がでるが再起動。

もっとも単純にはこれで使えるようになるはず。

なお、JSPとは JavaServer Page の略で、サーブレットと同じくサーバ上で動作し、ブラウザで閲覧できる Java のウェブページです。

具体的なコードは、以下のような感じ。

<%@ page contentType="text/html;charset=UTF8" %>

<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>

<%
out.println(new java.util.Date());
%>

</body>
</html>

これを、適当なコンテナに載せブラウザでアクセスするとハロワールドしてくれます。

 

 

将棋 NHK 杯サイトのデータ形式

ちょっと解析してみました。

初手が

p=1b191716101617191b00140000000000120……. ;

となっていて最初何のことかわからなかったが、これは局面表示のようです。

1. 最初の2文字を切り出し、16進数として解釈。 ( ‘1b’→27 )

2. 次の2文字も同様に。( ’19’→25)

以下同様

で、27 は後手香車、25 は後手桂馬と別の場所で定義されているので、これは「1一, 2一, … のマスに置かれている駒の種類を 9×9 まで書き出したもの」ということになります。 sfen に似てますが、駒記号の解釈がわかりやすく、ブラウザ(JavaScript)を用いたクライアント・サーバシステムには相性の良い形式といえるのではないでしょうか。

 

air-h-128k-il

 

 

JavaScript 関係

・ウェブ上での開発環境はいくつかあるようだが、 Thimble が使いやすい。

・Ajax。「エージャックス」と読むのね。今まで「アヤックス」と認識していた。欧州の名門サッカークラブとは何の関係もなし。

 

Hyper-V で ORCA

「そういえば、windows 10 pro ならば、Hyper-V に Ubuntu 載せられるから、当然、ORCA も走るよなあ」と思いつき、やってみた。MS windows 環境ならば、VMWare の方がつきあいは長いんだが、まあ、やってみよう。

確かにできることはできる。 “Hyper-V で ORCA” の続きを読む

級位者の不愉快な対局 振り穴くん

空き時間などで将棋ウォーズを楽しんではいるが、対局していて不愉快な戦法の筆頭格は『振り飛車穴熊』ではないだろうか?

棒銀くん、中飛車くん、早石田くんのバ○の一つ覚えみたいに一つの戦法に固執する指し方も食傷気味だが、これらの戦法を採用する級位者は、それでも

・こちらの出方に反応して指し方を微妙に変えてくる

・ネット将棋は短期決戦という前提を守ってくれている(勝っても負けても短手数で終わる場合が多い)

という尊重すべき基本理念に沿った指し方をしてくれている。なので、「あー、またか」とは思っても悪い気はしない。少なくとも人として間違ってはいない(笑)。

これに対し、振り穴はどうだろう?

まず、きちんと指そうとすると「穴熊には穴熊」の格言(?)通り、こちらも穴熊に組まなてはならない。が、そうすると手数が延びて居飛車側の時間切れ負けになりやすい。まあ、ウォーズなどでこの囲いを採用する人は基本これを狙っているわけですね。性格悪いというか。。。

それに加え、振り穴くんにはコミュニケーション回避の傾向があるように思う。駒組みしやすい振り穴を選ぶ時点で、下地はあるんだろうが、エスカレートすると、正直、気持ち悪い。

参考棋譜を上げときます。この指し方、相当、気持ち悪いと思いません?