arcanum_jp’s blog

おっさんの日記

新人さん研修で起こりがちなこと

 

 こちら。読んでおもったので。ちょっとずれた話題なんだけど、新人さん研修で起きることはこんな感じだよねと

f:id:arcanum_jp:20190804132725p:plain

 

新人さんに対する期待は社内ではとても高いんですよね。みんないい人。別に新人さんをクラッシュしようとかそういう悪意は無い。みんな各個人で、新人さんに対するいろいろな学んで欲しいことがある。

 

それらが新人研修という期間に我こそは!と噴出してしまう。上司が設計書が大事!と言えば上司と同じことをしちゃいかん・・・そうだ自分はWBSだよねぇと感じる、部下には設計書、WBSを学ばせろ!と、だんだん多くなったリクエストが落ちてくる。みんないい人、こんな感じで各個人が学ばせたいことを言ってくる。悪意はない。

 

このリクエストをどうするか、また、新人さんに期間中そもそも学んで欲しいものは何か?を担当者を交えて上司ときちっと考えないと、上の図みたく、単にみんなの意見を取り入れたんだけど、というカリキュラムになり、実施しても期間中結局何を学んだのだろう?と言う感じになる。

 

 

 

 

 

女子高生の裏社会~「関係性の貧困」に生きる少女たち~を読んだ。アングラが普通になりつつある

 

女子高生の裏社会 「関係性の貧困」に生きる少女たち (光文社新書)
 

 

鈴木大介氏の「最貧困女子」が興味深い内容だったので興味本位で購入。あちらは親族、地縁、行政の縁が切れた上に精神障害などを持っている人たちが都会に逃げてきて裏社会に取り込まれていく様を書いていた。

 

arcanum.hatenablog.com

 

こちらの本ではそれにもまして、家庭事情に難があるけどまだ友達も家族もいる、難があるとは言えない普通の女子高生がお散歩女子高生というのを通じて裏社会に取り込まれていく様を描いている。

 

興味深いのはお散歩という行為を「バイト」と認識していること。さらに言うと友達が知っている場合もあるし、親が知っている場合すらある。彼女たちは地元ではバイトも見つからないけどここに来ればいつ来ても良いし、自由に働けると言っている。そして一人入ると友達も繋がってやり始める。

 

驚愕である。そんなに割りの良いバイトなのだろうか?街角に立ち、お散歩してくれる人を客引きし、運良く見つかったらお散歩してきて半分を店に入れるという。正直、時間の割に合わないのでは?あと変な人に引っかかるとかと思ってしまうし、著者も本の中で何度も普通のバイトした方が稼げるよ?と少女たちにいう。

 

なぜこんな*バイト*をし始めるのだろうか、著者が言うように本の副題にある関係性の貧困なのだろうと。最貧困女子ではなぜ取り込まれていくのか?について、全ての縁が切れて都会に来ている少女たちに仕事を与え、家を与え、何もない少女が都会に来ても生きていける仕組みを構築しているから。

 

対してこちらの本でも言及されているが、彼女たちが事務所という所では、仕事を与え、日々の悩みを聞き、成績が良ければ褒めて仕事に対する責任感を持たせ、勉強がわからなければ学業の支援さえもする。それでいていつ来てもよい、問題があれば別の系列店を紹介。という環境、居場所を与えている。

 

これ、完全に普通の会社の中でティーチングとか人材育成云々とか最近では心理的安全性とか言いながらやっている事そのものじゃないのか?

 

ただ、7章なんかを見るとその後のお散歩女子高生がどうなっていくか、というのは興味深い。先に書いた最貧困女子のようにキャバクラを始め、水商売、裏社会に取り込まれていく。

 

最後に著者は最貧困女子と同じように、こう言った社会に取り込まれて行かないようにセーフティネットが必要ではないか?という。 

 

本の内容はお散歩JKや裏オプ、JKリフレなどをしている女子高生31人へのアンケートとインタビューからのため、お散歩をしてない他の女子高生、お散歩やリフレを買わない男性の視点がなくどうしてもお散歩女子高生にインタビューした視点が中心でもう少し別の視点も突っ込んで欲しかったが興味本位で読んだ本としては面白かった。

 

英単語の意味を教えてくれる、LINEボットを作りました

さーて、3連休、カミさん子供らは実家にいくというし、もう独身気分満タンだ!何しよう!と言うことで何か成果が見えるものをと考えて。Webを漁っていたらオープンデータな英語辞書を見つけたので。 

f:id:arcanum_jp:20190714155307p:plain

 

 

データはこちらを使っています。

github.com

 

データ形式が単語と意味がタブ区切りなだけでコンピュータが読む形式になっていないのが辛かったですが。 

 

とりあえず、英単語に対して意味を教えてくれます。それだけです。正味2日かかってしまった・・・(悲)

 

さて、ここからどう発展させましょうか

 

f:id:arcanum_jp:20190715120223j:plain

 

LINE botをSpringBootで作る

表題の通りです。前提として言語はJava、LINE Developperサイトでの設定は済んでいると仮定します。

pom.xmlに次の依存性を追加


pom.xml

<dependency>
    <groupId>com.linecorp.bot</groupId> 
    <artifactId>line-bot-spring-boot</artifactId>
    <version>2.7.0</version>
</dependency>


バージョンの最新版は以下で確認してください。
mvnrepository.com


application.propertiesにボットのトークンなどを設定します。line.bot.handler.pathはLINE Developperサイトで設定したものです。


application.properties

#---------------------------------------
# LINE
#---------------------------------------
line.bot.channel-token=xxxxxxxxxxxxxxxxxx
line.bot.channel-secret=xxxxxxxxxxxxxxx
line.bot.handler.path=/path/to/line/webhook


あとはコントローラーを作ります。サンプルはこちらにありますね。

github.com

リプライにリプライを返すだけのエコーボットです。

@LineMessageHandler
public class EchoController {

    @EventMapping
    public TextMessage handleTextMessageEvent(MessageEvent<TextMessageContent> event) {
        System.out.println("event: " + event);
        return new TextMessage(event.getMessage().getText());
    }

    @EventMapping
    public void handleDefaultMessageEvent(Event event) {
        System.out.println("event: " + event);
    }
}


クラスに@LineMessageHandlerをつけて、LINEからの目的のWebhookイベントのメソッドを作って@EventMappingをつければ良いようです。では、他の友達追加やブロックなどのイベントはどうやってフックするのでしょうか?例えば友達追加は以下のようなメッソッドを作成します。

@EventMapping
public TextMessage handleFollowEvent(FollowEvent event) {
    return new TextMessage("フォローありがとう!!");
}


どうやら目的のイベントごとの引数をとるメソッドを作るだけのようですね。Eventクラスについては以下を参考にしました。

static.javadoc.io

Eventクラスの既知のサブクラスは以下です。ブロックした場合などは相手にリプライを返せないので戻り値はvoidだったりしますが概ね同じですね。

イベントクラス名 説明
BeaconEvent LINEビーコンを受信した際に発生します。
FollowEvent 友達に入れられたときまたはブロックを解除された時に発生します。
JoinEvent グループやトークルームにジョインした際に発生します。
LeaveEvent グループから離れたときに発生します。
MessageEvent メッセージを受け取った時に発生します。
PostbackEvent 表示したテンプレートメッセージに反応した場合に発生します
UnfollowEvent ブロッックされた時に発生します。
UnknownEvent 上記以外で不明なメッセージを受信した際に発生します。


以前、ServletベースでLINEボットを作っていたことがあり、あの時はWebhookに来るJsonオブジェクトを認証して、自前で解析してtypeでテキストメッセージなのかフォローしてきたのかとか判定して云々なんてやっていたので本当に簡単に作れる感じですね。


その他

line-bot-spring-bootのバージョンを上げたら、こんな感じでokioにそんなメソッドねぇよ!!(意訳)なエラーが出ることがあります。

Exception in thread "OkHttp Dispatcher" java.lang.NoSuchMethodError: okio.BufferedSource.getBuffer()Lokio/Buffer;
        at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:252)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at com.linecorp.bot.client.HeaderInterceptor.intercept(HeaderInterceptor.java:39)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:221)
        at okhttp3.RealCall$AsyncCall.execute(RealCall.java:172)
        at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

経緯としては始め、Webにあるサンプル通り、line-bot-sdkのバージョンを1.11.0で確認していましたが、上記のリポジトリを見るに2.7.0が最新とわかり、pom.xmlのバージョンを変更、サーバーにアップしてみたところ、上記のような事象が発生するようになりました。


例外メッセージでググるとまさにこれについて検索できました。
github.com

コントリビューターからバージョンを合わせて使ってね?的なメッセージを得てことなきを得ていたようですが、さっぱり意味がわからない。その時にpom.xmlに記載していたのは下記であり、どれもMavenリポジトリを確認してもokHttp3なんて使っていない。

spring-boot-starter-thymeleaf
spring-boot-starter-web
spring-boot-starter-web-services
spring-boot-starter-tomcat


結論として、バージョンを上げた後、プロジェクトのクリーンしてからビルドし、サーバーにデプロイする事で事象は発生しなくなりました。上記のイシューは多分他の依存してるライブラリででokHttpを使っていたのかなと思います。

スプラトゥーン夏物語(1)

ここはハイカラシティとハイカラタウンのどこか。ここでは日夜、スプラトゥーンの試合が行われている。

 

スプラトゥーンの会場となる場所はいつも試合が終わるとペンキを綺麗に洗う仕事がある。それらは金のない若イカにとってはいい収入になっていた。

 

1試合で平均、若イカの1ヶ月の給与ぐらいがかかる。試合に使う武器、ギアも買う必要がある。試合は実はとても高価でもっぱら金持ち貴族どもの遊びであった。

 

しかし皆、いつかは試合に出てみてぇなぁ・・・と夢を見る。そして金をスプトゥーンのペンキ落としのバイトで貯めるのであった。

 

「しっかし何でこんなにペンキ塗るかね?」

 

「あぁ、それ多分ミサイルマンだわ。。あいつら試合もしないでミサイル延々と撃つとかもう別のゲームしてんだわ・・」

 

「あぁ、ボールド系か、、特にボルネオな、、あいつら塗りが強い上にキルされてもビーコンですっ飛んでくるもんな・・もうゾンビだよ」

 

「なんじゃそりゃもったいないなぁ、、せっかく出たのに、俺ならキルだな、無限にキルしてやる!」

 

「いやぁ、、キルするにしたってやっぱチャーっしょ!芋ってキルに徹する・・」

 

「じゃぁ今日も頑張ってペンキ落としてちゃっちゃと金もらって帰るべ!」

 

こんな感じの会話が交わされているかもしれない。

 

「おい、こっちきてみろよ、、武器とギア一式あるぜ?どっかのバカ貴族が忘れていったのかな?しかも4人分、、」

 

「え?どんなのあんだ?・・・もみじ、ボールドマーカーネオ、銀モデ、4K・・・全部地雷武器じゃねぇか!」

 

「あぁ、、使えねぇってんで捨ててったんだな。。もったいない・・・」

 

「でもよ、、これであと参加券買えば出れるんじゃね?」

 

と顔を合わせる。

 

「貯金もよ、あと少しで参加券買う分はあるだろ?出れるんじゃねぇか?あと少しだ」

 

とそこへ見知らぬイカが・・・

 

「貧乏人諸君、ペンキ落としは終わった?試合が始まるんだけど?」

「ん?おまえら何見てんだ?あぁ、それ昨日俺が捨てたやつだわww」

「貧乏人には所詮使えないけどなww」

 

「アッタマくる・・・」

 

「だってお前らその前に金無ぇだろ?無理無理、出ることすらできん!」

「それくれてやるわwwせいぜい出れない気分を紛らわすために使いなww」

 

 

「おい、てめぇ!何いってんだよ?俺たちが出れないって?俺たちが出たらお前なんか何度でもキルしてやるぜ?」

 

 

「あぁ、無理無理、こっちは1000時間以上費やしてるんだぜ?お前たちは?0時間?無理っしょwいきがるのもおとといやってなw」

「じゃぁな、」

 

 

ーーーーーーーー

 

「くっそぉ!!」

 

「どうする?」

 

あいつだけはゆるせねぇ!」

 

「こいつはありがたくいただいてやんよ!あいつが捨てた武器でギッタギタにしてやろうぜ!」

 

こうしてこの夏、若イカの熱い戦いが始まろうとしていた。

 

 

 

 

Nettyをちょいと勉強

先日からきしださんがJJUGなどでServletオワコンと言っていたので、、、


多分これは最近きしださんが講演で発表したこの資料からだと思われる

speakerdeck.com

自分もこの資料(jjug行けない地方民は資料から察するしかないのです(笑))は見ていて、あぁそういう世界もあるんだなと、Helidonなんかは簡単にサンプルを実行させてみたりしてたのですが、Servletはもうオワコンと言う。

根拠の一つはすでにServletベースのフレームワークが出ていない、と言う事、そう言えばみんな大好きなSpringBootもServletベースだがこれも出てから何年たったのだろう。あとそれ以降Servletベースのフレームワークで新しいのを聞かない。

じゃぁJavaでWebをするときこれからは何を使えばいいの?ってなった時に多分、Oracleが公開しているHelidonなんかなんだろうと思うんだけど、そうすると仕事でやる上では疑問が起きてくる。

今までは、

1.Servletベースのフレームワークが使える

2.Servletベースからフレームワークが作れる

と言う知識が必要だったんだけど、これに、

3.Servletに拠らないフレームワークが使える

4.Servletに拠らないフレームワークが作れる

という知識が必要になってくるんじゃないかと、もちろん急激に1、2が廃れるはずもなく、今後Servletベースの知識は使えるとは思うけど、それ以外に3、4を学ばなくてはならない、少なくとも3は個人的にも知識、経験があるよと言えるようになってないといけないんではないかと。資料だとHelidonやMicronaut Framework、Quarkusあたり。

それらのフレームワークは色々な人がWebでエントリを公開していたりするけどじゃぁ4、のServletに拠らないフレームワークってどう作るんだろ?って思ったわけです。WebSocketから作るのか?そりゃ地獄だろ・・・という感覚しかない。きしださん曰く、どのフレームワークもベースはNettyとのこと、Netty?なんだろ?と思いちょいと勉強。(前置きが長すぎ)


Nettyの本家サイトはこちら。
netty.io

Nettyはこちらを参考にしました。
snuffkin.hatenablog.com

Nettyは、イベントドリブンな非同期通信を行うアプリケーションを開発するためのフレームワークです。ソケット周りを直接触る処理はNettyが行ってくれて、イベントドリブンで接続・切断時の処理を記述したり、電文受信時の処理を記述することができ、簡潔で見通しの良いネットワークプログラミングができます。また、Nettyには電文処理を行うアプリケーションを開発するときに必要なライブラリが用意されているため、オリジナルプロトコルを使う場合にもNettyを使えば開発しやすいです。

独自プロトコルのちょっとしたサンプル

今回も例によって例のごとく、人様の書いたエントリを教科書に勉強していきます。サンプルとしてこちらを確認してみました。

第1回
http://acro-engineer.hatenablog.com/entry/20130321/1363881318: title

第2回
http://acro-engineer.hatenablog.com/entry/20130327/1364394979: title

第3回
http://acro-engineer.hatenablog.com/entry/20130403/1364953739: title



3回構成で、1回目でサーバ側のコードを示して、2回目でクライアント側のコードを示しています。2回目まで作ると実行できる仕組みですね。3回目は1、2回目のソースを利用したNettyの解説です。クライアントから送信されたデータがサーバを伝ってクライアントにクルッと戻される感覚がわかります。


ソースコードはNettyの3系なのでpom.xmlに依存性追加するときは注意ですね。自分はMavenプロジェクトを作って適当にインポートされてるクラスを検索したらここが引っかかったので、依存性を追加して上記サイトのソースを入れて実行してみました。

Maven Repository: org.jboss.netty » netty » 3.2.0.Final

<!-- https://mvnrepository.com/artifact/org.jboss.netty/netty -->
<dependencies>
	<dependency>
    	<groupId>org.jboss.netty</groupId>
    	<artifactId>netty</artifactId>
    	<version>3.2.0.Final</version>
	</dependency>	
</dependencies>

Nettyは3系と4系でパッケージがガラリと変わっているので注意ですね。org.jboss.nettyで始まっていたら3系より以前、io.nettyで始まっていたら4系以降ということになります。Webで見つけられるサンプルが結構この辺苦労しました。コピペしたけど動かねぇ!なんでだ!みたいな。


上記サイトで記載しているサンプルは、サーバ側を実行してからクライアント側を起動すると標準出力にハローワールドが出ます。単純なサンプルでクライアントがサーバーに送った文字列をオウム返しにしています。著者が言うにはこの例で簡単な独自プロトコルの実装になっているそうです。サーバーもクライアントも送信と受信で、電文長+電文本体、という形式でやり取りしていて下記のような動きになっています。


クライアントが文字列送信
 ↓
サーバーが文字列受信
 ↓
サーバが文字列送信
 ↓
クライアントが文字列受信(標準出力に出力)


意外と面白いですが結構難しい。エントリではNettyの基本的な概念を教えてくれて助かります。パイプライン、アップストリーム、ダウンストリーム、ハンドラ、この辺をまず覚える必要がありますね。先ほどのブログの3回目に同じような概念図がありますが、実行したサンプルの流れを自分なりに大雑把に書くとこんな感じでしょうか。


f:id:arcanum_jp:20190629124956j:plain

パイプライン

 Nettyは送受信にパイプラインを作成して処理を行うそうです。クライアントサーバー間に確率されたトンネルみたいなイメージでしょうか。

ダウンストリーム、アップストリーム

 上記の図では、クライアント側もサーバー側もいずれも送信は情報の流れが下に、情報の受信が上になっているため、送信=ダウンストリーム、受信=アップストリームというそうです。

ハンドラ

 Nettyによって送信されてきたメッセージを処理するためのクラス。Nettyはネットワークでイベントドリブンとありましたがこれを言っているのでしょうか?ちょっと気になります。


ちなみにクライアントのこの部分をこんな風に変えるとクライアント側で送信した”Hello, World!”という文字列がサーバー側でクライアント側の情報が付加されて"handler : Hello, World!"と表示されます。ハンドラーで送信側の情報などが取れるみたいですね。

EchoServerHandler.java

public void messageReceived(ChannelHandlerContext ctx, MessageEvent event) {
    String msg = (String) event.getMessage(); // 受信電文を取りだす
    ctx.getChannel().write(ctx.getName() + " : " +msg); // クライアントに送信
}


でも自分は独自プロトコルなネットワークプログラミングをしたいわけではなく、HTTPな処理を実装するにはどうするか?なので次回にNettyでのHTTPの実装を調べてみたいと思います。

杖をまた購入

どうも杖エンジニアのあるかなむです。自分自身ではロマンスグレーな髪を颯爽としながら杖をコツコツと歩き渋い感じだと思っていますが、はたから見ればただのジジイなのでしょう。また50前なのに。

 

どうも今使っている杖が壊れ始めて危ないのでまた購入しました。前回と同じKINGGEARの折りたたみ杖です。自分の場合、お客さんにはあんまりこういうの見せたくないので折りたたんでカバンにいれておけるのがいいなと使っています。

 

 

ヘルニア関係でもう足が動かないため杖を購入したのが去年、2018年の4月末に購入してGWに届いてから使っていたのでかれこれ1年ちょっとでした。意外と壊れやすいのか、それとも自分の畳んで伸ばしての頻度が高すぎたのかはわかりません。

 

さて、届いてAmazonなのでブツは例によって例のごとく巨大な箱に入ってくるのですが、こんな風に梱包されてきます。

 

f:id:arcanum_jp:20190620220555j:plain

開けるとこんな感じですね。杖本体が折りたたまれた状態になって、あと収納袋、説明書が入ってきます。

f:id:arcanum_jp:20190620220612j:plain

 

あれ?おまけでついてくる収納袋がちょっと前回と違う・・・これは今回のもの。裏面も同じ生地です。

f:id:arcanum_jp:20190620220623j:plain

 

これは前回ついてきた収納袋

f:id:arcanum_jp:20190620220630j:plain

裏地はこんな感じでメッシュになっていて入れると中身がちょい見える。まぁ自分はいらないかなぁって思っていたけど、まさかのグレードダウン・・・?

f:id:arcanum_jp:20190620220650j:plain

 

 あと握る部分とシャフトを連結している削り出し部分がちょっと変わってました。上は今回購入、下は前回購入。ちょっと安っぽくなったような気がします。以前のは曇ったヘアライン風にピカピカな丸が所々ついていてかっこよかったのですが。

f:id:arcanum_jp:20190620220816j:plain

 

見えづらいですがシャフトの連結部分の形状も変わってますね。左が今回購入、右が前回購入。前回のは直線的でゴツい感じだったのですが新しいのは連結部がテーパーになっています。

f:id:arcanum_jp:20190620221000j:plain

 

これの違いは連結後にちょっと変わってきますね。こんな感じで上が今回購入したものですが、連結部がテーバーに削り出しているためか、きっちりおさまる感じになっています。

f:id:arcanum_jp:20190620221736j:plain

 

これは下のゴムの部分。ついてきたゴムは大きくてゴツくてダサいのですぐ付け替えますが。

f:id:arcanum_jp:20190620221042j:plain

 

畳んだときに束ねる輪っかです。プラスチックじゃない何かでできてます。上は今回購入したのに付いてきたもの。下は古い方です。結構これが便利ですね。古いのは壊れたのですがガムテで付けて使ってました。

f:id:arcanum_jp:20190620222331j:plain

 

 

 さて、杖を使うからといって年から年中杖を使わないと歩けないわけではありません。普通に杖なしでも歩きますが、ヨタヨタする割には前から人が来て対面するときには自分もよけなくてはならないので非常に大変なんです。

 

そりゃ人から見れば前からくる危ないフラフラしたオッさん酒でも飲んでるのか?だし他人が歩くのも大変だなんてわかりませんし、オッさんお前がよけろよ!がデフォでしょうから。

 

そこで杖ですが街中を歩くときにさすがに杖はアイコンになるのですね。前から来る人たちはよけてくれます。老若男女、DQNも工事現場のおにいさんも。さすがに前から来た行動ののろい三本足クリーチャーが見えると大変だなって感じてよけてくれるのですね。いや、キモっ!!魂が近寄っちゃいけないって叫んでる!かもしれませんが。ありがたいことです。トトロのこのシーンですね。

 

さつき「木がよけてる!」

f:id:arcanum_jp:20190621165640j:plain

 

ジジババになると道でよけないのなんでだよ?お互い様だろ?って思っていましたが、結構体が言うこときかないと言う事はこう言う事なんだろうなと最近思うわけです。よけないのではなくて、よけられない、なのだろうと。

 

自分の場合は基本的に前から人が来た場合、よけるのが辛いので一旦止まる、止まってやり過ごすが行動として身についてしまいました。

 

 でも街中でよけてくれない人がいます。

 

ゾンビです

f:id:arcanum_jp:20190621175130p:plain

 

スマホ見ながら歩くアレですね、まぁギリギリではよけてくれたりするんですが正直、杖使いはギリギリやられると辛いのですよね。あぁ、この方このまま自分にぶつかるんだろうか・・・心臓に悪いです。

 

意外と杖で歩くときのパーソナルスペースって横方向に1.5倍ほど広くなるので、それが分からずにスマホに夢中なゾンビは直前で杖が足元に見えて「あっww」とか言いながら蹴っ飛ばして行く輩もいます。若い女性に多いのですが「チッ!」っとムカついて去っていく方もいます。いや、前見ないで歩いて危ないの貴方なのですが・・・

 

ゾンビは死んでますし考える力なんて無いでしょうから前から来る人がどんな状況か?なんて関係ないのでしょう。たまに池に捕獲された映像も見ますしね。千鳥足でアッチへフラフラ、こっちへフラフラ、唯一の餌であるスマホにかじりつきながら歩きます。死んでるんだからもう成仏しろよ!って思いますが。

 

あと、電車ですね。まぁキモくて汚いオッさんは社会的なランクとしては一番最下層にいる上に杖なんてついてる激弱君はそのまた下層にいる人種。気にする必要はない存在です。いない存在。多分皆の目には僕の体は透過画像の透過部分のように市松模様に見えてるかもしれません。蚊みたいなもんでしょ。まぁ、、席を譲られると言うことはまずありません。そんなもんです。むしろ蚊みたいに弱いアピールするんじゃねぇ、邪魔だなぁ俺の気持ちを逆なですんな!なんて思われているかもしれませんね。

 

ガッツリ壁際によりかかって杖で支えます。日本一高い仙台地下鉄は必ず進行方向の左側のドアは開かないようになっているため、自分みたいなのは助かります。ドアと椅子の間にある角の吹き溜まりが僕の居場所です。ダンゴムシみたいな気持ちです。

 

ただ、どうしても杖を持つ手は下になるため、正直満員電車になると女性が乗ってくるのが怖いのですが。

 

最近は腰の痛みがまた出て来たらしく、あぁ、根本的に直さないとだめだよなぁと思いつつ、毎日、椅子から立ち上がって歩き出すと野球部の兄からよく聞いたケツバットの痛みが走ります。オールウェイズケツバーーット!!

 

体は大事にしましょう。