2019/08/31(土)ついにゲーム差なし
【埼玉西武 vs 福岡ソフトバンク 第22回戦】 (2019年8月31日/メットライフドーム) 福岡ソフトバンク 0 0 1 2 1 0 0 1 0 5 埼玉西武 5 1 1 0 0 0 1 2 x 10 [勝] 高橋光 10勝5敗0S [敗] 和田 4勝3敗0S [本塁打] 1回裏 森 21号 2ラン (和田) 1回裏 山川 39号 2ラン (和田) 2回裏 秋山 19号 ソロ (和田) 4回表 松田宣 25号 2ラン (高橋光) 7回裏 山川 40号 ソロ (高橋純) 8回表 グラシアル 23号 ソロ (平井)
ついに首位ホークスとゲーム差なしに迫りました。6ゲーム差ついた時点で完全に諦めたのですが、わからないものです。まぁ、マリーンズのおかげという気もしますが……。
打線は初回から爆発し、4本のホームランで10点を奪いました。山川の1本目は体勢を崩されながらもセンターバックスクリーンまで運び、2本目は完璧な当たり(本人曰く半詰まり、とのことでしたが)でレフトスタンドに叩き込みました。これで2年連続の40号一番乗りです。これが目を覚ますきっかけになってくれるといいのですが。
栗山は3回の第2打席でライト前ヒットを放ち、これが球団最多の1807本目のヒットとなりました。おめでとうございます。
投げるほうでは高橋光が10勝に到達。5回で降りたのはやや物足りないところはありましたが、球数も増えていましたし、仕方がないところでしょう。自責点は2ですし、失点数ほどの悪いピッチングではありませんでした。苦しい場面もありましたが、よく踏ん張ってくれたと思います。
さて、明日の試合に勝てばついに首位に立つことができます。予告先発は十亀です。そうか、十亀か……。
2019/08/30(金)首位攻防戦
【埼玉西武 vs 福岡ソフトバンク 第21回戦】 (2019年8月30日/メットライフドーム) 福岡ソフトバンク 0 1 1 0 0 0 0 0 0 2 埼玉西武 0 0 0 2 0 0 2 0 x 4 [勝] 平良 1勝1敗1S [S] 増田 3勝1敗23S [敗] 千賀 11勝7敗0S [本塁打] 2回表 中村晃 2号 ソロ (今井) 4回裏 外崎 21号 2ラン (千賀) 7回裏 森 20号 2ラン (千賀)
昨日Baseball Mapping Talks+ #2に参加したのですが、そこで目の前でトークをされていた豊田さんが次の日の試合で解説をしているのを聞いて、ちょっと不思議な気分になりましたw
ライオンズ先発の今井は、2回に中村晃のホームランで先制を許し、3回に明石のタイムリーで追加点を奪われますが、4回以降はピンチを招きながらもしのぎました。外崎のホームランで追いついた直後の5回もしっかり抑え、いつもとは違うところを見せてくれました。7回に1アウト二塁のピンチを招いたところで降板しましたが、今日はよくゲームを作ってくれました。
2番手の野田は代打川島にヒットを許して1アウト一三塁。続く牧原の打球は三遊間を襲いますが、中村が横っ飛びで止めて一塁でアウトを一つ取りました。持っていかれかけた試合の流れを止めるビッグプレイでした。2アウト二三塁となったところで3番手の平良にスイッチし、平良は内川のインコースを攻め続けてセカンドゴロに打ち取ってピンチを脱しました。
その裏、1アウトから源田がセカンド内野安打で出塁すると、続く森がレフトスタンドに運ぶ今シーズン20号となるホームランで勝ち越し。8回は平井、9回は増田がランナーを出しながらも抑えて逃げ切りました。
首位攻防戦の初戦を取ってゲーム差を1となっています。また、先日プロ初セーブを上げた平良がプロ入り初勝利です。おめでとうございます!
2019/08/29(木)3連勝で首位攻防戦へ
【北海道日本ハム vs 埼玉西武 第24回戦】 (2019年8月29日/帯広の森野球場) 埼玉西武 0 0 2 1 1 0 0 0 1 5 北海道日本ハム 0 0 0 1 0 0 1 0 0 2 [勝] 本田 6勝5敗0S [S] 増田 3勝1敗22S [敗] 杉浦 2勝4敗0S [本塁打] 4回裏 大田 18号 ソロ (本田) 5回表 森 19号 ソロ (杉浦) 9回表 山川 38号 ソロ (秋吉)
今日は仕事をお休みして、明日発売のほぼPythonだけでサーバーレスアプリをつくろうのサポートリポジトリを作成しながら試合を眺めていました。みんな買ってね!
……宣伝はおいておいて試合を振り返りましょう。
今日の本田は前半戦の良かったころの本田に戻っていたように見えました。力でねじ伏せるタイプではないだけに、今日のようにゾーンを広く使わないと苦しいピッチングになりますよね。今日はいいピッチングだったと思います。
打線は3回に2アウト満塁から、満塁の鬼・中村の2点タイムリーで先制。4回には山川のタイムリー、5回には森のホームランで追加点を上げます。
7回裏、2番手の小川が乱調で、1点を失いなおも2アウト満塁の大ピンチで平井プロが登場。大田をショートゴロに打ち取りピンチをしのぐと、8回は三者凡退に抑えました。今日の状況であれば平井が登板するのも、回跨ぎをするのも理解できなくはないのですが、これを普段からやっているのが問題です。明日は休ませてあげてください。
ライオンズは9回表に山川のホームランで追加点を上げると、その裏は平井が3人で締めて逃げ切り。このカードをスイープで、首位ホークスとのゲーム差2で明日からの首位攻防戦を迎えることになりました。初戦の予告先発はライオンズが今井、ホークスが千賀です。今井も明日こそは頼みますよ……。
2019/08/28(水)日没コールド
【北海道日本ハム vs 埼玉西武 第23回戦】 (2019年8月28日/釧路) 埼玉西武 2 1 0 3 0 3 0 1x 10 北海道日本ハム 0 3 0 2 2 1 0 8 [勝] 野田 2勝0敗0S [S] 平良 0勝1敗1S [敗] 生田目 0勝1敗0S [本塁打] 1回表 中村 24号 2ラン (村田) 4回表 中村 25号 3ラン (西村) 6回裏 西川 5号 ソロ (野田) 8回表 森 18号 ソロ (石川直)
なんとも珍しい日没コールドでライオンズが逃げ切りました。単なる一勝というだけでなく、平井と増田を休ませられたのは非常に大きいです。
このブログのスコアは拙作のツールで某スポーツ紙のサイトをスクレイピングして生成しているのですが、さすがにこんな表の攻撃で終わっている形のスコアだとエラーが出るだろうと思ったら正常に動作しました。なかなかやるな、俺。
ライオンズ先発の榎田は3回2/3を5失点と、ゲームを作ることができませんでした。今年はずっとこんな感じですね……。
2番手伊藤、3番手野田はそれぞれ失点しましたが、どちらも回跨ぎの2イニング目(投球回自体は1イニングですが)の失点なので、悪いのはむしろ首脳陣のほうでしょう。打ち込まれた榎田をリリーフした伊藤はともかく、その伊藤は5回に2失点したものの、その時点でランナーがいったんいなくなって2アウトになったわけで、あと一人でチェンジという場面野田を投入したのはちょっと意味がわかりません。どなたか左右病に効くお薬をご存じありませんか?
打つほうは中村様々です。2本塁打5打点で99打点とし、打率も2割9分まで上げました。この調子を維持できるのなら、3割30本3盗塁も行けるのでは。
2019/08/27(火)ニール7連勝
【北海道日本ハム vs 埼玉西武 第22回戦】 (2019年8月27日/釧路) 埼玉西武 1 0 0 0 1 1 3 2 0 8 北海道日本ハム 0 0 1 0 1 0 0 0 0 2 [勝] ニール 8勝1敗0S [敗] 玉井 2勝3敗0S
ライオンズ先発のニールは6回を投げて7安打を打たれましたが2失点とゲームを作ってくれました。これで7連勝です。毎回同じことを言っている気がしますが、早く確実につながる電話番号を確保しておいてください。
2番手の平良、4番手の伊藤は三者凡退のピッチングで、点差のある場面ではありましたが、いい投球ができていたと思います。3番手に関しては「どうして平井が投げてるんですか?」の一言です。もう首脳陣を罵倒するのも疲れてきました。
2019/08/26(月)『ほぼPythonだけでサーバーレスアプリをつくろう』が出版されます
8月30日、私とjoeくんにとって初めての商業誌『ほぼPythonだけでサーバーレスアプリをつくろう』が発売されます。
Kindle版
プリントオンデマンド版
この本は技術書典5で頒布した同名の同人誌を底本にしたものです。もっとも、商業版の出版にあたって原形をとどめないくらい文章に手を入れているので、変わっていないのはタイトルとジョン湿地王先生の表紙イラストくらいのものなのですが。
この本はインプレスR&DさんのNextPublishingという仕組みで出版されているので、普通の本屋さんの店頭に並ぶことはありません。興味を持たれた方は販売サイトでご購入いただければ幸いです。
対象読者
この本は次のような方を読者と想定して書かれています。
何らかの言語でのプログラミング経験がある
「ほぼPython」を銘打ってはいますが、Python言語そのものの解説は行いませんので、Pythonの基本的な文法を理解している、もしくは他言語の経験があって自力で調べられる(なるべく注釈で公式ドキュメントのURLを記載するようにしています)ことが望ましいです。プログラミング自体が初めての方は少し難しいかもしれません。
Amazon Web Servicesを利用したサーバーレスアプリの開発に興味がある
1章~6章の実装編は、今いろいろな意味で熱いAWSにロックインされた内容になっています。ご了承ください。
Webアプリに対してのテスト手法に興味がある
7章~12章のテスト編は、サーバーレスアプリに限らず、Webアプリ全般に通じる内容になっています。QAエンジニアのjoeくんの担当パートですが、この部分はむしろアプリエンジニアの方にこそ読んでもらいたいと思っています。
本書のテーマ
この本は次のようなテーマで書かれています。これは同人版から変わらないスタンスです。
Pythonは機械学習やデータサイエンス専門の言語ではない
「Pythonが好きです」と言うと「機械学習をやられるんですか?」と聞かれることが増えました。この本には「そうじゃないんだ……」という思いが込められれています。
同人版のポスターには「Pythonは機械学習だけじゃないんだよ」と大きく書きました。商業版の表紙にも「Pythonは機械学習だけじゃない!」と入れていただきました。この本でPythonのさまざまな可能性を知っていただければ嬉しいです。
ちゃんと実装してちゃんとテストしようぜ!
実装とテストはどちらも大切なものです。人によってメインで扱う専門が異なるにせよ、ITエンジニアリングに関わるのであれば、どちらのことも知ってもらいたいと思っています。この本でアプリエンジニアにはテストのことを、QAエンジニアの方には実装の雰囲気を知ってもらえると嬉しいです。
同人版との違い
文章を全面的に書き直したため、内容にも同人版との差異があります。
Pipenvからvenvに移行した
同人版ではPipenvを採用していました。pipenv runコマンドを使えば、MacやLinuxとWindowsのコマンドの差異を吸収できると考えたからです。
とはいえ、それ以上のメリットも感じられなかったため、商業版は標準機能で提供されているvenvを採用しました。Windowsをお使いの方はコマンドを読み換える必要が出てきますが、それもactivate、deactivateくらいのものだと思います(ただし、本の中では仮想環境でLinuxを入れることを推奨しています)。
また、同人版ではすべて一つの仮想環境で開発を進めましたが、商業版では以下のそれぞれで仮想環境を分けています。
- バックエンド(およびユニットテスト)用
- フロントエンド用
- APIテスト用
- UIテスト用
CodePiplineを利用したCI/CDの章を書き下ろした
6章を頑張って書き下ろしました。バックエンド、フロントエンドともに、本のとおりに作業をすればAWS上でCIを回すことができます。
雰囲気でpytestをやるのをやめた
昨年出版された『テスト駆動Python』という素晴らしい本があるのですが、同人版の頒布後にこの本を読んで、「俺たちは雰囲気でpytestをやっている」ことを思い知らされました。正しい知識を学び直したことにより、テストコードの書き方はずいぶん改善されたと思います。
サポートサイトを用意した
サンプルアプリの全コードを提供するGitHubリポジトリを用意しました……じゃなくて用意しています……。間に合うかな……。
なお、テスト編では紙幅の都合で一部のコードを省略していますが、実装編に関しては全てのコードが本の中に書かれているので、とことん写経派の方も安心です。
パロディネタをほぼ全面的に削除した
この本には最初から忍殺ネタはなかった。いいね?
大事なお知らせ
BOOTHの同人版は8月29日で販売を終了します。すでに購入された方の再ダウンロードはできるようにしたいと思っていますが、できるのかな……。詳しい方がいらっしゃったら教えてください。
2019/08/25(日)冷や水
【埼玉西武 vs 東北楽天 第17回戦】 (2019年8月25日/メットライフドーム) 東北楽天 2 0 0 0 4 1 0 5 2 14 埼玉西武 0 0 0 0 1 1 0 0 0 2 [勝] 石橋 6勝6敗0S [敗] 十亀 4勝5敗0S [本塁打] 5回表 浅村 28号 2ラン (十亀) 6回裏 木村 10号 ソロ (石橋)
十亀はやっぱり十亀でした。あまりいい試合とは言えないながらも、盛り上がる形で勝った翌日にこれかよ。
全ての試合に勝つことはできないので、負けたことそのものは(十亀のピッチング以外は)どうこう言うつもりはないのですが、1-7になった時点で負けているなりの継投を見せて欲しかった。目処が立ちそうな野田を回跨ぎさせ(投球回はちょうど1イニングですが)、昨日も投げた佐野が今日も登板。平井を使わなきゃいいってもんでもねーぞ、おい。
マリーンズがホークスをスイープしたため、ゲーム差は3.5のまま変わらず。ただ、来週のホークス戦に自信を持って送り出せるのが高橋光しかいないんですよねぇ……。まぁ、代わりもいないので、今井と十亀が投げるんでしょうけど。辛い。
2019/08/24(土)エラーを取り返すサヨナラ打
【埼玉西武 vs 東北楽天 第16回戦】 (2019年8月24日/メットライフドーム) 東北楽天 0 0 1 0 0 1 0 3 0 0 5 埼玉西武 0 0 2 0 1 2 0 0 0 1x 6 [勝] 佐野 2勝2敗0S [敗] 松井 2勝6敗30S [本塁打] 5回裏 森 17号 ソロ (辛島) 6回裏 秋山 18号 ソロ (辛島) 8回表 渡辺佳 1号 3ラン (平井)
ライオンズ先発の高橋光は7回途中まで投げて2失点。6回の木村のファインプレイに救われた部分もありますが、ゲームを作ってくれました。降板の場面は3点リードの1アウト一二塁でしたが、球数も85球でしたし、エラーが絡んでいたこともあるので、もう少し投げさせても良かったと思うのですが、それでも小川と平良がよく抑えてくれました。
8回は当然平井が投げたわけですが、先頭のブラッシュを中村のエラーで出塁させると、銀次にヒットを許したあとに渡辺佳にプロ入り初ホームランを献上。同点に追いつかれました。もったいない球でしたが、平井が打たれたのなら仕方がありませんし、そういうもったいない球を投げてしまう原因になっている首脳陣を責めこそすれ、平井を責めることはしません。
試合は同点のまま延長戦に突入し、10回裏、マウンドには松井が上がります。1アウトから秋山がヒットで出塁すると、源田が送って2アウト二塁。森がフォアボールで塁が埋まったあと、4番中村への初球のチェンジアップが高く浮きました。中村はこれを逃さずレフト線へのサヨナラタイムリーツーベース。2連勝で首位ホークスとのゲーム差を3.5に縮めました。
勝ったことも大きいのですが、それ以上に平井が救われたのが本当に大きいです。中村は2つの致命的な場面でのエラーがあったので、取り返したい気持ちもあったと思いますが、よく打ってくれました。
2019/08/23(金)空中戦
【埼玉西武 vs 東北楽天 第15回戦】 (2019年8月23日/メットライフドーム) 東北楽天 0 0 3 1 2 0 0 0 0 6 埼玉西武 3 0 1 3 0 0 1 0 x 8 [勝] 野田 1勝0敗0S [S] 増田 3勝1敗21S [敗] 弓削 2勝2敗0S [本塁打] 3回表 浅村 27号 3ラン (今井) 3回裏 中村 23号 ソロ (弓削) 4回裏 木村 9号 2ラン (弓削) 4回裏 秋山 17号 ソロ (弓削) 5回表 島内 10号 ソロ (今井)
ライオンズは初回、外崎のライト線際に落ちるラッキーなタイムリーツーベースと、山川のあわやホームランかという2点タイムリーツーベースで3点を先制。直後の2回表を三者凡退に抑え、今日の今井は違うと思ったのですが……。
3回表、2つのフォアボールでピンチを招くと、浅村に低い弾道でライトスタンドに運ばれて同点。その裏に中村の一発で勝ち越しますが、直後の4回表、セカンドゴロがフィルダースチョイスになる間に同点。その裏に木村と秋山のホームランで3点を勝ち越しますが、直後の5回表、島内にホームランをあびたあと、さらにランナーを二人出したところで降板となりました。やっぱりいつもの今井だったよ……。
2番手の野田は内野ゴロの間に1点を返されますが、ノーアウト二三塁を1点でしのいだのは立派です。イニングを跨いで6回は三者凡退に抑えました。
7回は平良と小川でゼロに抑え、その裏に森のタイムリーで1点を追加すると、8回は当然のように平井が登板。まぁ、ここはさすがに平井しかいないでしょう。平井はフォアボールと外崎のエラーで一打同点のピンチを招きましたが、代打フェルナンド、茂木を連続三振で切り抜けました。
9回は増田がまったく打たれる気のしないピッチングで三者三振に抑えてゲームセット。苦手イーグルス戦の初戦を取りました。
2019/08/22(木)何のための二軍調整か
【埼玉西武 vs 北海道日本ハム 第21回戦】 (2019年8月22日/メットライフドーム) 北海道日本ハム 0 0 0 2 0 2 0 0 1 5 埼玉西武 0 0 1 0 0 1 0 1 0 3 [勝] 公文 2勝0敗1S [S] 秋吉 0勝3敗20S [敗] 本田 5勝5敗0S [本塁打] 3回裏 秋山 16号 ソロ (杉浦) 4回表 渡辺 10号 2ラン (本田) 6回表 清宮 5号 2ラン (佐野) 8回裏 外崎 20号 ソロ (宮西)
ライオンズ先発の本田は5回1/3を2安打と、その数字だけであればゲームを作ったと言えなくもありませんが、いくら才能溢れる選手だとはいえ一割台の清宮を歩かせたあとの被弾というのはいただけません。これさえなければ手放しで褒められたのですが。
久々の登板となったマーティンは1回を1安打2四死球で1失点。どうしてこの状態で上げたのでしょう。もちろんピッチャーは足りていないのですが、かといって中途半端な状態で上げるくらいならもう少し時間がかかっても万全な状態に仕上げて欲しかったのですが……。