2019/08/30(金)首位攻防戦

2019/08/30 23:50
【埼玉西武 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連勝で首位攻防戦へ

2019/08/29 16:52
【北海道日本ハム 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(水)日没コールド

2019/08/28 23:03
【北海道日本ハム 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連勝

2019/08/27 24:08
【北海道日本ハム 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だけでサーバーレスアプリをつくろう』が出版されます

2019/08/26 22:47

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日で販売を終了します。すでに購入された方の再ダウンロードはできるようにしたいと思っていますが、できるのかな……。詳しい方がいらっしゃったら教えてください。