Subscribed unsubscribe Subscribe Subscribe

@kyanny's blog

Write down what I learnt. Opinions are my own.

GitHub Issues のコメントを消すブックマークレット

Bookmarklet: hide issuecomment for GitHub

untitled

めっちゃ長くなったイシューを読み返しながら「このイシューに紐付いてる Pull Request ってどれとどれだっけ?どの順番で実装されて、どれがマージされてるんだっけ?」などを把握したいときに便利。

https://www.npmjs.com/package/bookmarklet を使ってみた。

げんしけん 127 話 感想

Book

これまでのあらすじ

blog.kyanny.me

アメゾの作者コメを読んで、木尾がやりたかったことがわかった気がする。時系列の考証は必要だが、

  • 木尾は初代で斑目と咲を描き足りなかった。げんしけん以前の作風から考えるに、オタク的ハッピーエンドでは決してなく、オタク・斑目が高めの一般人・咲にきっちり振られて終了、が既定路線だったはず
  • 二代目キャラたちは賑やかし要員に過ぎず、ハナゲ告白→玉砕を描き切って「いい最終回だった」で終わりでよかった、が、二代目はオギとハト世代の話だという建前もあり、「その後」を描かなくてはならなかった
  • 初代で未練があった斑目の掘り下げを存分にやれた結果、感情移入しすぎてしまい、いまさらバッドエンドで退場させたくなくなってしまった。読者からの支持も得て、咲の次にお気に入りの女?キャラだったハトとくっつけようとあれこれやって手を広げすぎ、収拾つかなくなってしまった
  • 一方で描きたかったサキマダルートをスポフラという形で具現化できて満足してしまい、本編を辻褄合わせてまとめるのが面倒になってしまった
  • やはりマダハトはお気楽に描くには難しすぎるテーマで断念した(女装趣味とBL腐女子ネタでは済まなくなり、ゲイとノンケの恋愛というガチで繊細な話にシフトしてしまうと、ぢごぷりとはまた別のややこしい物議をかもすことになる)

…なんてところなんじゃないかと。

げんしけん 125 話 126 話 考察

Book

げんしけんの 125 話と 126 話について、斑目と咲がくっついて欲しい派の立場から考察する。ネタバレなので単行本派の方は読まないことをおすすめ、もしくはいますぐアフタヌーン買って読みましょう。

ネタバレ回避のために少なくとも単行本 20 巻の続き(122 話)が掲載されている 2016 年 5 月号は読んでおいたほうがよい。

アフタヌーン 2016年5月号 [2016年3月25日発売] [雑誌]

アフタヌーン 2016年5月号 [2016年3月25日発売] [雑誌]

  • 作者: 岩明均,竹谷隆之,萩尾望都,ひぐちアサ,木尾士目,新海誠,山口つばさ,沙村広明,芝村裕吏,キムラダイスケ,いとまん,北道正幸,草水敏,恵三朗,榎本俊二,西尾維新,チョモラン,幸村誠,朱戸アオ,藤沢数希,井雲くす,ヤマシタトモコ,高橋ツトム,市川春子,ほづみりや,五十嵐大介,安彦良和,清家雪子,横山キムチ,白乃雪,瀧波ユカリ,端野洋子,芦奈野ひとし,篠房六郎,庄司創,西本英雄,カラスヤサトシ
  • 出版社/メーカー: 講談社
  • 発売日: 2016/03/25
  • メディア: Kindle版
  • この商品を含むブログ (1件) を見る

125 話は 2016 年 8 月号に掲載されている。

アフタヌーン 2016年8月号 [2016年6月25日発売] [雑誌]

アフタヌーン 2016年8月号 [2016年6月25日発売] [雑誌]

  • 作者: すえのぶけいこ,藤島康介,ひぐちアサ,岩明均,芝村裕吏,キムラダイスケ,沙村広明,千真,木尾士目,ヤマシタトモコ,渡辺保裕,幸村誠,草水敏,恵三朗,北道正幸,芦奈野ひとし,市川春子,小林嵩人,藤沢数希,井雲くす,清家雪子,いとまん,榎本俊二,安彦良和,外木寸,西尾維新,チョモラン,高橋ツトム,横山キムチ,ほづみりや,瀧波ユカリ,篠房六郎
  • 出版社/メーカー: 講談社
  • 発売日: 2016/06/25
  • メディア: Kindle版
  • この商品を含むブログ (1件) を見る

126 話は 2016 年 9 月号に掲載されている。

アフタヌーン 2016年9月号 [2016年7月25日発売] [雑誌]

アフタヌーン 2016年9月号 [2016年7月25日発売] [雑誌]

  • 作者: 尾崎かおり,ひぐちアサ,すえのぶけいこ,寺田亜太朗,藤島康介,千真,草水敏,恵三朗,渡辺保裕,北道正幸,木尾士目,鈴木ミニラ,幸村誠,市川春子,五十嵐大介,藤沢数希,井雲くす,手石ロウ,瀧波ユカリ,芝村裕吏,キムラダイスケ,いとまん,高橋ツトム,横山キムチ,清家雪子,安彦良和,西尾維新,チョモラン,外木寸,芦奈野ひとし,ほづみりや,榎本俊二
  • 出版社/メーカー: 講談社
  • 発売日: 2016/07/25
  • メディア: Kindle版
  • この商品を含むブログ (1件) を見る

コーサカのセリフからわかること

125 話の主題は「コーサカ vs 咲」である。コーサカのセリフからは多くのことが読み取れ、同時に疑問もうまれる。

f:id:a666666:20160823032546p:plain f:id:a666666:20160823032553p:plain

ね 僕が言った通りでしょ?
斑目さんがハーレムの誰も選ばなかったのは
咲ちゃんの事が忘れられないからだって

斑目がハーレム四名の中から誰も選ばなかったのは、咲のことが好きだから。このロジックには何ら不自然な点はない。だが、「ね 僕が言った通りでしょ?」はおかしい。

この言い回しは、

「咲は『斑目がハーレムの誰も選ばなかったのは、咲のことが好きだからではない』と考えており、コーサカと意見が対立している」

ということを意味する。しかし、作中でも群を抜く察しのよさをもち、斑目から告白までされている咲が、ほとんど自明といってもいい斑目の心理について、よりによって察しのよさに定評があるコーサカと意見を異にするだろうか?

咲には斑目の本心はわかっていた、にもかかわらずコーサカの意見に同意できない理由があった、とみるべきだろう。では、その理由とは何か?

咲はなぜ照れているのか、嘘は何のためか

125 話で、咲は登場してから終盤「説教モード」に入るまでずっと、汗をかき、頬を赤くした描写がなされている(表情が描かれていない小さいコマですら)これは「照れ」と「焦り」を表現しているとみて間違いないが、では一体なぜ照れて・焦っているのか?

f:id:a666666:20160823033833p:plainf:id:a666666:20160823033842p:plainf:id:a666666:20160823033848p:plainf:id:a666666:20160823033903p:plain

そもそも咲は説教キャラである。斑目にせよ笹原にせよ、頼りなくて子供っぽいオタク男子をときに優しくときに厳しく叱ってくれるお姉さん、それが咲である。登場即説教が咲というキャラの正義である。照れてる場合じゃないのである。にもかかわらず 125話の大半のシーンで照れている。これには意味があるはずだ。

125 話で咲とコーサカはげんしけん史上最大級にショッキングな「嘘」をつく。この嘘も不自然だ。

そもそもコーサカ(と咲)は、斑目の本心にとっくに気づいている。だから、「斑目の本心を暴くため」に嘘をつく必要などない。しかし咲はなぜかコーサカの意見に反論している。そこで「どっちが正しいか見てみよう」とコーサカが持ちかけた勝負、その答え合わせがこの嘘の真の目的なのだ。

咲の目の前で、斑目本人に、咲への想いをぶちまけさせる。これこそがコーサカの狙いであり、咲が反論してまで避けたかったこともそれである。

しかし咲には負ける勝負だということもわかっていた。斑目は咲の気も知らずにわかりやすく本心をさらけ出すだろう。そのとき自分はもう一つの大勝負に出なければならない。だから焦っていたし、観念して大きくため息をついたのだ。

f:id:a666666:20160823033855p:plain

では「照れ」はどうか?

そもそも照れという感情は、モノではなくヒトに対して沸き起こるものである。咲は登場してから説教モードに入る「ちゃんと座って」のコマまで、斑目を直視していない(チラ見が精一杯)これまでの経緯や状況などを踏まえると、斑目に対して照れていると考えるのが自然だ。

斑目は咲のことが好きなので、ハーレムの四人から誰も選ばなかった。これを知った咲が斑目に対して照れている。それはつまり、「咲も斑目のことが好き」ということにほかならない。咲自身が、含みのある言葉でほのめかしている。

f:id:a666666:20160823040522p:plainf:id:a666666:20160823040529p:plain

おそらく「あんたバカじゃないの?いつまでひきずってんのよ」とでも言いたかったのだろう。しかし一途すぎる斑目の想いを前に、言いよどんだ。ひょっとすると笹原妹からもキャバ(とその後)の話を聞いていたのかもしれない。そんな「据え膳」を蹴ってまで咲を選んだのだ。実際は不可抗力で未遂に終わったわけだが、あそこまでいったら日をおかずに再挑戦したら最後までいけたはずだ、恵子はまんざらでもなかっただろうし。にもかかわらずそうしなかった。咲への未練のほうが強かったから。そんな斑目を、叱り飛ばすことなどできなかった。だって、好きになってしまったから。

説教モード、そして 126 話へ

説教モードに入ってからも、咲の本心が見え隠れする。斑目を問い詰める「違う?違うなら反論して」など、まるで誘導尋問のようだ。

f:id:a666666:20160823044223p:plain

このあとの斑目の「でも」のタメをみよ。「でも 俺は春日部さんのことが好きなんだ」と続いても全くおかしくない(わざわざこのコマでページを分けるあたり、作者も狙ってやっているとしか思えない)

f:id:a666666:20160823044359p:plain

咲は咲でやっぱり斑目の本音を目の前で聞きたいのだ、ヘタレだから聞けないのはわかっていても。

それはそれとして、咲はなぜこの期に及んで説教しはじめたのか?斑目が自分のことをまだ好きでいてくれて、自分も斑目のことが好きになったのに、どうしてわざわざ自分以外と付き合うように仕向けるのか(それも命令という強い形で)

それはもちろんコーサカがいるからである。咲がいまいる世界線は「コーサカがいない、そんな未来」ではない。斑目のことを好きになる(そして付き合う)ということは、コーサカと別れるということでもある。

咲は決してコーサカを嫌いになったわけではないから、コーサカを振るという選択肢は選びたくない。斑目が告白した「ハナゲ」の回ですでに自ら、コーサカがいなかったら斑目もアリという可能性を示していることからも、咲の中でコーサカと斑目に対する好意はかなり拮抗しているとみてよいだろう。いつひっくり返ってもおかしくない状況なのだ。

咲は自分の気持ちの危うさを自覚しているから、斑目とは距離を置いて自然消滅を待っていたはずだ。しかしコーサカはそれをよしとしなかった。咲に対し、自分か斑目かどちらかをはっきり選ぶように仕向けた。その究極の選択をする場があの飲み会であり、そのためにコーサカはわざわざ嘘の仕込みまでして咲を連れてきたのであり、コーサカの計画通りに物事が進むことをわかっていながらあの場に来て自身の立場を表明しなくてはならなかったから咲は照れつつ焦っていたのだ。

そう考えると、説教モードは咲のコーサカに対する立場表明とみることができる。自ら斑目に他の人と付き合うことを指図して見せれば、コーサカに対する誠実さの証明になると考えた。ここを乗り切ればコーサカへの釈明ができる、そんな大一番だからこそ照れも焦りもないビシっとした態度で斑目を直視しながら語ったわけだ。

斑目は誰に告白したのか

そして 126 話だ。斑目はついに告白する。もちろんそれは電話越しに、電話の相手に対してなされているのだが、オタネタでカモフラージュしつつも本音をおさえることはできない。

f:id:a666666:20160824032106p:plainf:id:a666666:20160824032123p:plain

春日部さんに萌えていた + エロではなく萌えの方を信じたい = 咲への告白。ということだ。それ以外ありえない。斑目本人は自覚していないだろうが、咲には伝わったはずだ、ハナゲですら伝わったのだから。

相変わらずオタクらしく回りくどいやり方だが、ハナゲよりは多少男らしい表現で咲に想いを伝えた斑目。しかし悲しいかな、その告白は少なくとも表面上は咲には向けられていなかった。斑目の告白を聞いた咲のこの表情をみよ。

f:id:a666666:20160824033140p:plain

さびしさと、ほんの少しの安堵が混じった顔。これでもう「そんな未来」がやってくる可能性は 100% なくなった。自分がこの手で未来の芽を摘みとったのだ。けれどもそのおかげで、もうコーサカに対して後ろめたい気持ちを抱く必要もなくなる。斑目との関係に終止符をうった、咲の恋はここで終わったのだ。

が。まだ終わっていないと思っているやつが一人いる。告白シーンの次々ページ、各人の表情アップのあとの全体を引きで写したコマで、全員が斑目を見ているのに、コーサカだけが正面の咲を見ている。清水の舞台から飛び降りた斑目の様子よりも、それを見ている咲の反応に興味がある、とでも言いたげに。アップのコマでは位置関係的に斑目を流し目で見ているのとは実に対照的だ。

f:id:a666666:20160824033643p:plain

結局おれは何が言いたいのか

最終回、咲はコーサカと別れて斑目と付き合う。「そんな未来」は現実となり、外伝的な位置づけとみなされていた Spotted Flower が正史になる。こうでしょうこれ以外ありえないですよあれだけ伏線見せつけられたんだから。ていうかもし最終回どんでん返しがなかったら「げんしけん 三代目」ないし「げんしけんファイナル」を描いてくれなきゃ許さない許さないよ木尾士目。

ていうかぶっちゃけ考察とか自分で深読みしてるだけで満足しててブログに書いてもどうせ反響もないだろうしめんどくさいなと思ってたんだけど、この 2 話の咲の表情がことごとく激萌えすぎるのでスクラップブック的にキャプチャ画像を貼りたくて書きました。ちょっと多く貼り付けすぎたけど、ネタバレ度の極めて高いセリフ・シーンは除いているのでいいよね。

Capybara (Selenium WebDriver) で select2 バージョン 4 以降を操作する

  • 普通に Capybara の select が使える。 StackOverflow でいろいろ小難しいやり方が出てくるが、古いバージョン用なので無視してよい
  • テキスト検索するやつだけちょっと工夫が必要
    1. まずテキストフィールドを表示させるために .select2-selection__arrow を click してセレクトボックスを開く。他の select2 な要素と誤爆しないように within で囲う必要があるかもしれない
    2. 次にテキストフィールドに文字を入力する。このときテキストフィールドは .select2-selection__arrow を包含するコンテナ要素の中ではなく、 DOM ツリーでいうともっと外側の </body> 直前にある。 within の中からはアクセスできないので注意すること
    3. ユーザー入力テキストの値に応じて Ajax でデータを取得するタイプのセレクトボックスの場合、データのロードと表示を待ってから Enter キーを押す

https://github.com/kyanny/playground/blob/gh-pages/select2-v4-capybara/select2_v4_capybara.rb

require 'capybara'
require 'capybara/dsl'
require 'selenium-webdriver'

include Capybara::DSL

Capybara.default_driver = :selenium
Capybara.app_host = 'https://select2.github.io'

visit '/examples.html'


## Normal select

# Hack: Capybara's `select` DSL requires name attribute of select tag, so need to add attr
execute_script %Q|
$(
  $('.js-example-basic-single')[0]
).attr('name', 'foo');
|
select 'California', from: 'foo'
sleep 2

## Search text (waiting ajax call)

# 1. open text field
within '.js-example-data-ajax + .select2-container' do
  find('.select2-selection__arrow').click
end

# 2. input text (`input` element is rendered in very outside of HTML DOM tree)
within '.select2-dropdown' do
  find('.select2-search__field').send_keys('a')

  # 3. wait for ajax load to choose option
  loop until has_content?('angular/a', wait: 10)

  # 4. choose first one
  find('.select2-search__field').send_keys(:enter)
end

sleep 2
execute_script %Q|
alert('Whoa! Done!');
|
sleep 2
puts "Whoa! Done!"

Git bundle ファイルを受け取って既存のリポジトリにマージし Pull Request を作る手順

前提: 適当な空っぽのリポジトリがあるとする。

$ git init my-awesone-repo
$ git add README.md
$ git rm README.md
$ git push -u origin master

Git バンドルファイルを受け取ったので、そのコミットヒストリーをこのリポジトリのトピックブランチとして push して Pull Request を作りたい。そのためには、

  1. Git バンドルファイルを適当なディレクトリに clone し、
  2. my-awesome-repo リポジトリの remote に登録し、
  3. git pull (fetch) してからマージする
# 1. Git バンドルファイルを適当なディレクトリに clone
$ cd ~/Downloads
$ git clone QuizMaster.bundle repo

# 2. my-awesome-repo リポジトリの remote に登録
$ cd ~/my-awesome-repo
$ git remote add repo ~/Downloads/repo

# 3. git pull (fetch) してからマージ
$ git pull repo
$ git checkout -b foo-bar-baz
$ git merge repo/master
$ git push -u origin/foo-bar-baz