Twitterでふぁぼったものをひたすら試します

#iOSDC Japan 2019で発表したりネットワークスタッフしたりした話と色の発表の補足

発表

speakerdeck.com

XYZ表色系の話はググるとたくさん出てくるのだが、私がわかるように色の話を全て説明してくれているサイトはなくて辛かった。でも色彩科学ハンドブックっていう本を見つけて†完全理解†した後は色覚異常コントラスト比の話ともリンクしてすごくスッキリした。

発表後にこれ見て笑った、すまないね身長が低いんだ


調べ学習でやってみていること

esa

今年は個人でesa - A document sharing service for motivated teamsを使ってみている。月に500円。
熊本旅行オーストリアポーランド旅行の下調べを書いたり、税金の始末の手順を書いたり、今回の発表のために読んだ有用な記事を丸っとコピペしてリンク貼って後から出典がわかるようにしたりという管理に使っている。

新宿区立中央図書館

なんと!早稲田大学西早稲田キャンパス前には新宿区立中央図書館がある!去年に引き続きべんり〜ありがたや〜
母校のある大都会岡山にまで下記の色彩科学ハンドブックを読みに行かないといけないかと思ったけど新宿区が買ってくれてて助かった

よくある質問や雑談

Q 実際のプロダクトでどうやっているの?

A 個人での発表だし余計なことを言って怒られるの怖いから教えない
年季が入ったアプリのためどうもできていない。強いて言えば人を増やして物理で殴ることにより、アクセシビリティなどは結構対応が行き届いている。

Q 「早稲田大学西早稲田キャンパス前にある新宿区立中央図書館所蔵の色の本が私の知りたかったことを全て教えてくれるという事実があまりに心強すぎて「色の話とか私わかんないんで、すぐそこの図書館で本を読んでください」になる」とは?

A 『新編 色彩科学ハンドブック 第3版』という本。
行きつけの図書館がない人はAmazonで買ってね。定価43,200円だよ。えらい先生たちが各章を執筆し日本色彩学会が編集したありがた〜い本だよ。

新編 色彩科学ハンドブック 第3版 - 東京大学出版会

光学はもとより,心理学,生理学,工学,芸術などさまざまな分野にまたがる総合科学「色彩科学」の総合手引書.近年のITの著しい発展や広く認知されるようになった環境問題への対応を踏まえ,第3版として13年ぶりに改訂.実務者,研究者必携.

ネットにはこの色彩科学ハンドブックに寄稿した犬井正男さんが裏話を公開しているよ。
色度図の着色 - 東京工芸大学
私は本よりこのPDFを見つけて

「もしかしてこの本が大当たりなのでは!?」

って早速読みにいったらそれはもう近年稀に見る大当たりで感動したよ。おすすめだよ。でも値段のせいか貸し出し禁止だから頑張ってね。

Q なんで色のことを調べようと思ったの?

A え、みなさん、try! Swiftのコントラスト比の計算式の発表で満足しちゃったの???意味のわからない計算式を盲目的に信じて使っちゃうの??
A 私は常にその時の気分で動いており、今年は色の気分だった。色の気分にさせたのはtry! Swiftの発表。

コントラスト比の計算式は意味不明すぎると思う。出どころの知れない実数を使って四則混合してコントラスト比が出てくる理由がさっぱりわからない。最後の割り算が「ああこれは比率を出す計算だな」というのはかろうじてわかるが、そこで0.05を足す意味はわからない。いっそ足さなくてもよくない?いや、そうしたら黒色(※相対輝度が0)が分母に来た時にゼロ除算になってダメか。うーん。わからん。調べよ。ついでに発表もしちゃお。発表ドリブンしないとやる気出ないし。

Q iOS10ってサポートしてる?あいつがいるとColor Assetが使えなくてダークモード対応に困る

A Color Assetを使うとか甘え。Color Assetなしでダークモード対応しなさい!!!

なんかうちんとこのアプリ、諸事情でColor Asset使えないんだよねえ。なんでだろ〜?

ネットワーク

ネットワークで1番えらい人から「チケット管理しろ」とか「スクラムマスターになれ」とか命じられたので、ネットワークで1番えらい人に文房具を買わせるなどのお仕事をした(???)
技術的なことは強い人がみんなやってくれるので、だいたいそんな感じのお仕事してた

今回はDay1が不安定で、クリスタルシグナルパイやスプラトゥーンなどのおもちゃもあり、時々電源が抜けるアクシデントがあったので、「安定しちゃってつまんないな〜何か事故らないかな〜」などという発言は聞かなかったように思う。

次回

CODE BLUE、DroidKaigi、発表のネタは尽きた

みなさんダークモード対応の知見を私にください!!!!!!面白い話が聞きたい!!!

#iOSDC Japan 2019で色の話を発表したりネットワークスタッフしたりします

いつもの iosdc.jp

前回の

前回の予告ブログ s-shimotori.hatenablog.com

前回の参加ブログ s-shimotori.hatenablog.com

ネットワークスタッフ

スタッフ業より一般参加に重点を置いているので、今年も負担の軽いネットワークスタッフに籍を置いた。しかも今回はネットワークチームのまとめ役。実態はただの事務方なのでオマケとかモブみたいな存在。

今年はCisco APではなくAruba APを採用している。
www.arubanetworks.com

自分の発表資料を作りながら事務方してたら完全に技術的なところがわからなくなったので、技術的なことを聞かないでね

60分発表します

fortee.jp

もしかしたら以下の発表と話題が被っているかもしれないが、まあ被ってないでしょ

私はこういう話題をやる↓↓↓

イラレiPhoneのスクショを配置したらヤバイ色になった助けて!

時は2018年、私は発表資料を作るべくAdobe Illustrator.app(注:ベクターデータを扱えるお高いお絵かきツール)を開き、そこにiPhoneスクリーンショットを貼った。すると……?

【Before】
f:id:S_Shimotori:20190902205527p:plain:w100
【After】
f:id:S_Shimotori:20190902205253p:plain:w100

は?

去年はこの問題を解決できずに終わったが、今年は頑張ってググって答えを見つけた。初見時の衝撃は大きいが原因自体は単純なアクシデント。

HIG Colorに載っている謎の虹色画像は何者?

https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color#color-management

このページは「System Colors」「Dynamic System Colors」「Color Management」の3つから構成されている。色の初心者がダークモード対応をすべくsystem colorを読み進めると、突然Color Managementに出くわして意味のわからない専門用語でお出迎えされる心折設計。
ほとんどの人が関係ない節ではあるけど、やっぱこの機会に理解したいじゃん?

色覚異常の方は何色の区別が苦手なんだっけ……?

答え:色覚異常には赤緑の区別が苦手な「赤緑色覚異常」と青黄の区別な苦手な「青黄色覚異常」があります。以上。

私みたいな人は理由も一緒に勉強しないと明日には忘れてしまうので、目の仕組みについて学ぶ。
実は↑のHIGの虹色画像も色覚異常のお話に登場する。

で、コントラスト比って何でしたっけ?

try! Swift 2019に参加した人ならコントラスト比の意味はしっかり理解されていることと思う。
https://www.tryswift.co/events/2019/tokyo/jp/#accessibility

Web Content Accessibility Guidelines (WCAG) 2.0によると、コントラスト比の定義は

if RsRGB <= 0.03928 then R = RsRGB / 12.92 else R = ((RsRGB+0.055)/1.055) ^ 2.4
relative luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B
contrast ratio = (L1 + 0.05) / (L2 + 0.05)

である。

では問題です。なぜ12.92で割ったり2.4乗したり0.2126をかけて0.7152をかけて0.0722をかけて0.05を足してから比率を出すのでしょうか?
ていうかなんでこんな意味不明な計算しなくちゃなんないんだ。

ダークモードっていうのが最近の流行りなの?なんで?

えるしっているか。TwitterYouTubeの独自ダークモードデザインはiOS Smart Invertを有効にしても白色にならず黒のまま。

近況

iOS13対応終わらねえ。。

技術書典6で当日の手伝いをした(5回目)

あれ、技術書典5の参加報告記事が見当たらない。

当日手伝いについて

私が当日手伝いをするのもかれこれ5回目。今回めでたく来場者が1万人を超えたらしい。実にめでたい。
1万人ともなると来場者層はさらに深みを増してくる。

  • 大学の同期がサークル参加している
  • 大学の同期が売り子参加している
  • 大学の後輩が一般参加している
  • 大学の先輩が一般参加している
  • 社の同期がサークル参加している
  • カンファレンス運営仲間がサークル参加/一般参加している
  • 水族館と間違えて列に並んじゃったカップ

なので、ふら〜っとその辺を歩いているとさながら同窓会である。「お久しぶり!元気?」
大学の知り合いでiOS/Swiftをやっている人はほぼゼロなので、これだけ知り合いが多いのも新鮮。取り扱い分野が広いだけある。

高校同期はみんなわるいSIerに捕まってこの業界に定着しなかったっぽいので出会えそうにない。悲しいなあ。

あ、あと、iOSの島にはiOSって書いてあるのぼりが立ってましたね。おめでとうございます。活動が活発で嬉しきかな。

戦利品

家庭用製麺機USER GUIDE、作ろう!10分ラーメン

立ち読みコーナーで見かけた。
個人的に製麺機というとこの話題が記憶に新しい。

www.seimen.club

で、製麺機にもフォント警察みたいな人がいるんだな〜と思い出して手に取った。で、開いてみると 全ページカラー 。中の出来も素人の仕事ではない。は?????????*1

ていうか↑の記事こそが、この同人誌出してる人のブログじゃん。。。。こわ。。。。

製麺機についてざっくり知れるしレシピが載っているので美味しい。

SAKANA

友達が出してたやつ。自作キーボードの紹介の他にキーボードの仕組みも書いてあって勉強になる。
キーボード島のみんなは怖い。

俺々言語にだって型推論が欲しい!

TaPLがわからない系人間なので買った。やはり自分には論理分野の知識が足りないということを思い知らされた。学位返上しょ・・

SwiftSyntax入門

これでどうこうしようという気まではないが知識をつけようと思って。 コンパイラの話を追うのは話が大きすぎて辛すぎるので助かります。

Nikkei Development Book

今回は課金成分多め。あと、AtCoder話は珍しくて興味深い

まとめ

ガチ勢怖い

*1:商業誌でもないのに全ページカラー印刷している人は敵ですよ!私もカラー印刷してみたいよ!

熊本で聖地巡礼したり花見したりグルメ堪能したりした

※プログラミングの話は一切ない

経緯

ゲーム内で熊本城を戦場にして遊んでいたら、本当に熊本城が破壊されちゃった(地震で)。この機会に聖地巡礼して金落としてこよう。あと美味しいもの食べる。

高機動幻想ガンパレード・マーチ(以下ガンパレ)は名作なのでみんなやりましょう。
学校生活を送りながら幻獣という怪物をボコボコにするゲームで、学園パートも戦闘パートもよくできていて頭をよくつかうゲームです。PSVitaでやるのがいいと思います。

www26.atwiki.jp

おすすめのプレイ動画はニコニコ動画の「人類は組織的抵抗をあきらめました」シリーズ。これを見て購入を決意した。マジ。ほんと。だってかっけえんだもん。名作of名作すぎて大百科に記事があるレベル。
人類は組織的抵抗をあきらめましたとは (ジンルイハソシキテキテイコウヲアキラメマシタとは) [単語記事] - ニコニコ大百科

準備

復興城主になる

kumamoto-guide.jp

現地熊本城内のわくわく座というところで寄付をすることもできるが、現地入りする数ヶ月前に済ませておくほうが雰囲気が出る。

ふるさと納税の場合:

  1. ふるさとチョイスから熊本城主を課金(城主証・城主手形 - 熊本県熊本市 | ふるさと納税 [ふるさとチョイス]
  2. 「城主証・城主手形」の仮発行が届く(ほんものもそのうち届く)
  3. ワンストップ特例制度の書類を熊本城総合事務所に郵送

おわり

注意点

  • 城主手形(真)が届くまで数ヶ月ほど時間がかかるらしいので、余裕を持って課金する。仮の方も1ヶ月はかかった気がする
  • 翌年度ぶんの住民税から控除するので新卒でもあんしん

旅行日程と行き先を決める

ガンパレード・マーチは1999年3月4日から5月10日の熊本県を舞台にしたお話。毎日学校に通う他に、熊本県各地に出張して幻獣をボコボコにする。

できごと
3月4日 プレイヤーが尚敬高校に到着
4月1日以降のどこか 降下作戦@阿蘇
5月10日 最終日

f:id:S_Shimotori:20181202153046p:plain:w300

goo.gl

作中の戦闘パートでは、県各地に出張する他に、熊本市内の幻獣を一気にボコる「熊本城攻防戦」という重要イベントがある。このイベントは条件を満たせば期間中いつでも起こせるため特に日付が定まっていない*1。戦闘中ムービーには満開の桜が描かれており、それくらいの時期だろうと言われている。

熊本県の開花日と満開日は

開花日 満開日
1999年 3月22日 4月3日
2014年 3月20日 3月27日
2015年 3月21日 3月31日
2016年 3月22日 4月2日
2017年 4月1日 4月8日
2018年 3月17日 3月26日
平年値 3月23日 4月1日

気象庁 | 生物季節観測の情報

→つまり3月最終週に行けばいいんじゃね!
けっきょく2019年の開花日は3月26日だったのでいい感じ。満開にはちょっと早かったくらい。

あとはなるべく長く滞在してご飯を食べる回数を稼ぐ。定休日が日曜日のお店が多いので要注意。

聖地巡礼したり花見してる人を見たりいっぱいごはんたべたり

2019年3月29日金曜日から4月1日月曜日まで。え?平日?仕事?しないよ。

持ち物

  • ICカード
    • リムジンバスも市電もJR在来線も乗れる
  • 城主手形
  • 履きなれた靴

実際の旅程

3月29日金曜日

NH645で現地入り→(九州産交バスの空港リムジンバス)→早速味のれんに行くもお休み→むつ五郎で食事→熊本ホテルキャッスルで1泊

現地入りすぐに美味しい夕食を食べるべく、遅めの便で到着。花の金曜日のせいかお値段は高め。なぜか飛行機が蛇行しながら着陸してくれた*2が、空港周辺の菜の花畑が上空から見えたのでよしとする。

リムジンバスの進行方向右側(北側)に座ると熊本県庁と健軍駐屯地がよく見える。熊本県庁はゲーム内で勲章授与式の会場。健軍駐屯地*3は小説に登場する建軍基地と関係がある……と思うのだが建/健の字が違うのでよくわからない。

Return to Gunparade

更紗は歯噛みして無線機のスイッチを入れる。
「こちら建軍基地」
弾道ミサイルだせ」

この健軍駐屯地の住所は熊本市東区東町1-1-1。熊本空港撤退防衛戦の戦場が大体この辺だと思われる。

準竜師「俺だ。お前達に命令を出す。5月10日、熊本空港から重病人と怪我人、および、陸路を耐えきれないと思われる人間を乗せた飛行機を出す。これが飛び立つまでの間、空港の手前、東町で敵を阻止せよ。

3月30日土曜日

熊本城をぐるっと一周→敷地内の加藤神社にお参り→「熊本城~食の宴2019~」で朝兼昼ごはん→わくわく座で熊本城の勉強→市役所最上階で熊本城俯瞰→園田屋でお買い物→くまモンスクエア→みやじで食事→ドーミーイン熊本で1泊目

2日目は熊本城周辺へ。ガンパレはあくまで屋外戦闘をするゲームで城内部と関係がないので、閉鎖中であろうともまあなんとかなる。
ドーミーインはガンパレとは関係ない。繁華街そばなのに温泉があって歩き疲れた体に優しい。

3月31日日曜日

花岡山登山→和Frenchそよ風の丘KINOSHITAでランチ→(JR在来線で南熊本駅へ)→アルファシステム社屋見物→今町公園→西原公園→どぶ川べりの道→味のれん→ドーミーイン熊本で2泊目

3日目は熊本城から離れたところを見学。日曜日は結構なお店が定休日にしているので、味のれん(本命)が空いてて助かった!西銀座通り店はこの日はお休みだった。

4月1日月曜日

(リムジンバス)→阿蘇くまもと空港→NH646

帰るだけ。
途中で熊本タクシー痛車とすれ違ったが一瞬だったので写真に撮れなかった。
www.famitsu.com

キャベツ。収穫作業中だった。
f:id:S_Shimotori:20190403003752p:plain:w300

阿蘇くまもと空港はちっちゃい空港ながらカードラウンジがある。やったぜ。
f:id:S_Shimotori:20190403010407p:plain:w300
↑ちょうどコレやってた

晴れてたので阿蘇山っぽいのが撮れた。
f:id:S_Shimotori:20190403010515p:plain:w300

見どころ詳細

熊本ホテルキャッスルについて

アニメ版で速水&芝村がクリスマスディナーを楽しんでいたらしい*4が、見てないので知らない。誰か代わりに見ておいてください。ちょっと年季入ったホテルで、高校生がディナーをするところには思えなかった。肝心のレストランには立ち入ってないので、誰か代わりに(ry
名前にキャッスルがつくだけあって熊本城の目と鼻の先。1人部屋のような安くて狭い部屋は裏通り側。複数人で来て熊本城側の部屋に泊まろうな!

廊下に肥後六花なるものが飾ってあった。熊本では六花は雪ではなく6種の花のことらしい。
f:id:S_Shimotori:20190403003610p:plain:w300

尚絅高校について

プレイヤーは学生兼兵士として尚敬高校という学校(を間借りして建てたプレハブ校舎)に通う。その学校のモデルが尚絅高校。私有地だし女子校だし門を確認するだけ……
大学もあるのでゲーム内の絵よりは建物がでっかい。

サンロード新市街について

市電辛島町駅を降りて目の前にあるアーケード。作中では「新市街」もしくは「ムーンロード新市街」。ゲーム中のイラストから入り口前はただの通りかと思っていたのだが、片側2車線だし市電通ってるしバスターミナルあるし広場がイベント会場になってたし交通量はかなり激しい。歩行者は通町筋の方が多い。
ゲーム中では入り口にゲームセンターがあって、当時は実際にゲームセンターがあったそうだがなくなっている。聖地巡礼をした先人達のブログを見てもゲームセンターを実際に見れた人はほとんどいないっぽい。

コンビニで焼きそばパン*5探したけどなかった。。

むつ五郎について

mutugoro.co.jp

f:id:S_Shimotori:20190403004130p:plain:w300

ガンパレとは関係ない。肝心の味のれんがお休みだった&みやじが満席だったので食べに行った。私の兄がオススメしていたお店であり、私の隣で食ってたおじさんもホテルの人に教えてもらったって言ってた。
馬刺しは美味しかったが、値段が高かった。値段見ないでおなかいっぱい食ったら酒頼んでないのに8000円超えてた。いや、お金落とすのを目的に行ったからいいんですけどね。

熊本城について

熊本城の歴史 | 熊本城オールアバウト | 【公式】熊本城によると、1877年(明治10年)2月19日に熊本城天守・本丸御殿が炎上し、1960年(昭和35年)に復元落成になっている。言ってしまえば後世になって作り直されたレプリカである。

……というのはガンパレプレイヤーなら誰もが知っていることである。

芝村「幸い、熊本中心部には戦場向きの場所がある。…なんだ、知らないのか?博物館の隣、プールのそば…そうだ。熊本城だ。どうせ天守閣は再建されたレプリカだ。今更どうなっても、許されよう。それに城は元々戦うためにつくられたのだ。もっとも、今回は逆。攻めるために使うのだがな。」

とか、

市長「…70年も見ていた風景がなくなるんだ。感傷もするさ。…だが、もういい。どうせ西南戦争で主要な部分は壊れてるんだ。もう一度くらい、壊れてもいいだろう。」

とか、このゲームは城を壊す気満々である。でも壊すのはゲームの中だけで頼む。

桜は8〜9分咲きくらいでまあOK。修復は全然進んでない。石垣の石すら全部拾いきってない。休日返上で重機が稼働していた。

2019年秋に見れる範囲が増えるっぽい。今の所は各所の説明書きでがまん。
kumamoto-guide.jp

敷地内には加藤神社という加藤清正を祀った神社があって、「加藤清正公をNHK大河ドラマに」という署名活動が行われていた。チャリ部っぽいのが来てたり車のお祓いしてたり普通に神社。

同じく敷地内にはわくわく座なるものがあり、その場で寄付して復興城主になったりデジタル芳名帳で自分の名前を確認できたりする。

kumamoto-guide.jp

二の丸広場では「九州がっ祭2019」と「熊本城~食の宴2019~」が行われていた。あかうしの牛串のあぶらがおいしかった。550円もしたけど!

f:id:S_Shimotori:20190403004853p:plain:w300

熊本市役所について

市役所最上階は休日でも解放されており上から復旧中の熊本城を見られる。

f:id:S_Shimotori:20190403003341p:plain:w300

ゲーム中には熊本市長が登場する。市長の背景のお部屋はきっと市長室だろう。
1999年当時の市長さんは三角保之さん。ゲーム中に出てくる市長はちょび髭が印象的なのだが三角さんは違うっぽい。
第1回「熊本城の日シンポ」開く〜熊本城復興みんなの会|くま経 フォトレポート|くまもと経済

ちなみに、現市長さんは飯テロを食らうなどの業績をお持ち。
入院中の熊本市長が、妻から飯テロされる - Togetter

園田屋について

Return to Gunparade

「ああ、園田屋の朝鮮飴ですか。いいもの探してきますね」

朝鮮で飴という名前で惑わされるが、片栗粉まみれの求肥熊本県物産館などでも買えるが、雰囲気あるのでお店に行ってもいいかも。普通の求肥の他に柿味やレモンピール味もある。
小説の速水くんが粉を落とさないように頑張って食べているくらい、粉の量がやばい。信玄餅の比ではない。そして信玄餅のきな粉と違ってただの片栗粉なので、むしろ事前にちゃんと落とさないと口触りが片栗粉になってしまう。園田屋さん的には上質な片栗粉なので料理に再利用してほしいらしい。

物産館で買った玉緑茶・と一緒に。
f:id:S_Shimotori:20190404234839p:plain

くまモンスクエアについて

熊本県の稼ぎ頭。ガンパレとは関係ない。

www.kumamon-sq.jp

時々くまモン本人が現れる。スケジュールはHPで。この日は春休み中とあってちびっこも海外からのお客さんもたくさん。開始30分前の時点でだいぶ混雑していた。売れっ子なだけあってなかなかやりよる。

みやじについて

www.dandl.co.jp

がらかぶ*6 は味のれんのメニューの1つ。リアル味のれんでがらかぶを提供していないので、確実にがらかぶを入荷している専門店へ。みやじでは生きた魚が泳いでいるのでゲーム内味のれんっぽい雰囲気が味わえる。

なかなか立派なのを出してくれるしおいしい。料理人が店主1人だけなので回転率が悪い。予約したほうがいい。金曜日にも行ったんだけど花金のおじさんたちで満席だった。。

f:id:S_Shimotori:20190403005056p:plain:w300
真ん中が黒がらかぶ。

花岡山について

登場人物・瀬戸口ゆかりの地。熊本駅すぐ近くの標高132メートルの山。ぐねぐね車道とまっすぐ歩道がある。

この花岡山、ラブホ街で有名らしい。カップルガ午前中カラ入ッテイク所ヲ見チャッタ。Yahoo知恵袋で登頂所要時間の相談をした子も「下心はないことを事前に彼女に伝えておくべき」というアドバイスを受けていてウケる*7

聖地巡礼先駆者の方が「ラブホ街なんかに封じられてていいのか」とツッコミを入れていらっしゃっててごもっともなのだが、実際に行ってみると…

  • 加藤清正が熊本城築城の際に石を切り出した山。坂や岩にエピソードが残されている。
  • 阿蘇切腹の地
  • 神風連の変〜西南戦争の地。薩摩軍が砲座を置いた場所。政府軍の墓地がある場所。
  • WW2の犠牲者のお墓がある
  • 普通の一般のお墓もある
  • てっぺんの白いのは仏舎利塔。インド元首相から送られた立派なもので麓からも見える。藤井日達聖人の像もある
  • 熊本バンド(キリスト教のあれ)の結成の地
  • 祇園宮(北岡神社の前身)の跡地
  • 桜が植わっていて、結構たくさんの人が車やチャリで花見に来てた。眺めがいいし熊本城より良いかも。

とまあ、もうなんでもあり。花岡山パイセンの懐が深すぎる。ここまで来ると設定を1つ創作して加えてもなんの違和感もない。
車道からいくと乳水とラブホくらいしかないので、徒歩で行った方が楽しそう。

和French そよ風の丘 KINOSHITAについて

和Frenchそよ風の丘KINOSHITA(熊本 フレンチ)のグルメ情報 | ヒトサラ

花岡山頂上までの道の途中にあるお店。オシャレなお店と見せかけてワンピースのフィギュアとかが置いてある。
夫婦2人だけなので回転率は悪い。郷土料理をアレンジしたメニューで私みたいな観光客に優しく美味しい。

f:id:S_Shimotori:20190403005302p:plain:w300
桜肉。

Alfasystemについて

www.alfasystem.net

元 凶

都心のビル間借りIT企業に慣れている身からすると、ビルにロゴが入ってるのは見慣れない……
どうでもいいけどここの交差点にすずめのなまくび落ちてた。

今町公園&西原公園について

ゲーム中には今町公園という公園が登場し、プレイヤーは公園で運動をしたり金の延べ棒*8を拾ったりする。
が、ゲーム中地図で今町公園と示されているところは実際には西原公園である。そしてどちらの公園にもうんていはないし、当然金の延べ棒が落ちているわけもない。

リアル今町公園にはレッグレーズのやり方を書いた看板があっていちおう筋トレできる。リアル西原公園ではちびっこがアスレチックで遊べる。

この時期なので公園では誰かしらが花見をしていたり子供が遊んでいたりしたのだが、今町公園には誰もいなくて寂れていた。西原公園は側に児童館があるせいか花見客が大量にいた。なんならバーベキュー禁止って書いてあったのにバーベキューしてた。

味のれんについて

作中に登場する居酒屋。食事をするとプレイヤーの体力と気力が回復する。

不定休な上にHPがないのでいつやっているのかはっきりしない。カウンター席がなく6人席ばかりなので大勢で行ったほうがよい。1人用鍋でもつ鍋を出してくれたけど気まずかった。
で、肝心の味?うーんまあ…。ふつー。建物丸ごと新しくなっているのと、ゲーム内味のれんとメニューが異なるので、あの雰囲気を味わうことはできない。普通のもつ鍋屋さんって感じ。

f:id:S_Shimotori:20190403005803p:plain:w300
馬ひも。部位の都合上筋が多く、個人的には他の部位の方が好き。筋じゃない部分はもちろん美味しいんだけど。

Return to Gunparade

フロアマットには訳の分からない絵。それを踏みつけて中に入る。主人によれば、その絵は東の国、子供たちを守護する踊る神のものだという。それは踏めば踏むほどに色鮮やかに鮮烈になる絵。話によれば、商売繁盛の御利益があるとかないとか。

f:id:S_Shimotori:20190403010005p:plain:w300

春休みのちびっこ達に大人気…2018年の売り上げが1500億円超*9……

このくま怖い

どぶ川べりの道について

確かに地図に示された現地にはなんかそれっぽいのがある。車屋さんの並ぶ大通りから入ったところ。水はほぼ枯れてた。
思い切り住宅街の中なのでさっさと退散。

今回行かなかったところ

  • 熊本県立美術館: 熊本城敷地内だし行こうとしたら春休み真っ最中だった
  • 図書館やらプールやら動物園やら: シナリオと関連薄いし、場所が特定できないので
  • 熊本県各地: ゴールデンペーパードライバーだしゲーム内じゃ出張して幻獣ボコるだけだし
  • 阿蘇山: 大分側から行ったことある。牛さんいた
  • 小倉: 県外。Return to Gunparade

感想

  • 美味しかった。その辺の居酒屋なんかにはもう行けねえや。舌肥えちゃった、えへへ〜
  • 思ったより花岡山が面白かった。歴史が好きな人や宗教カオス感が好きな人にはオススメ。

参考:先人の皆様

https://www.tanteifile.com/tamashii/scoop/0307/06_01/ https://ameblo.jp/gpm5121atp/entry-11202673557.html https://dtman.info/post-0-70/ http://www.yukkun20.com/index.php/travel/17391/ https://ameblo.jp/gpm5121atp/entry-11202673557.html https://blog.goo.ne.jp/katsunori5121/e/0f8b267d9885d12796cd531837f86a9f

*1:設定的には4月6日説と22日説があるらしい。世界の謎萌え追い隊@Hiki - 熊本城攻防戦

*2:All Nippon Airways flight NH645 - Flightradar24

*3:健軍ツアーズなるイベントが時々行われているらしい。

*4:ガンパレード・マーチ~新たなる行軍歌~ - 作品紹介 | くまもとロケーションナビ

*5:夏でもないのに作中の自作弁当はすぐ腐って登場人物の腹を壊す。焼きそばパンは腐らず夜食に重宝するので個人的便利アイテム。

*6:がらかぶ | 日本の食べ物用語辞典。いまいち旬がいつなのかわからないやつ。いちおう季語は春らしい。

*7:熊本の花岡山についての質問です今度彼女と一緒に花岡山に夜景を見... - Yahoo!知恵袋

*8:売ると100万円。このゲームのお財布は(縛らない限り)けっこうゆるい。

*9:くまモン売上高が1500億円超=熊本県:時事ドットコム

try! Swiftに参加しました(4回目) #tryswiftconf

カンファレンスには一般参加したり学生参加したりスタッフ参加したり色々してきた。
今回はスポンサーチケットで、スポンサー役を。

-1日目

tryswifttokyo-aftertalks.connpass.com

勉強会自体が久しぶりで、ぱそこん持ってくるのを忘れる失態を犯した。

XcodeDebug Memory Graph を使った華麗なるデバッグ

Xcodeの Memory graph を使った華麗なるデバッグ - Speaker Deck

実装はGitHub - po-miyasaka/LLDB: A LLDB command creating a variable from a arbitrary instance address for debugで見れる。
ビルドにン十分かかるやつを触るとなるとあの手この手でビルドを回避しないといけないから、助かる。今回はDeNAさんもLLDBチートシートをくれたのではかどっちゃう

アプリの起動速度と Dynamic/Static Framework の関係を紐解く

App startup time with Dynamic/Static frameworks - Speaker Deck

Optimizing App Startup Time - WWDC 2016 - Videos - Apple Developerが参考になるとのこと。まとめてくれる人がいてたすかる。

0日目

github.com

縁あってハンズオンした。
Kituraと一緒に使えるパッケージがたくさん用意されているのはありがたい。世の中にはDarwin専用というか、Darwin上で動かすことしか想定していないものが多いので、使い合わせやら何やらを考えずにさくっと雑に作れる。

さっそくお家帰ってつくろうとしたら私用Macbookがつかえない子になっていた*1ので断念。いい加減買い換えようと決心した(3度目)→買いました

1日目

Color Contrast for Accessibility

https://raw.githubusercontent.com/emarley/ColorContrast/master/ColorContrast.pdf

色関係の話になるとすぐそうやって数式が出てくるんだから!(それはそう)
我々に求められているのはsRGB→XYZである

JavascriptでWC3のコントラスト計算式を書いてみる|意識の高い時に雑記
XYZ-RGB の変換式とカラートライアングル(JavaScript版)

数式は数式だからまだ何とかなるのだけど、どうやってデザイナーさん達と協力していくかのほうが10000倍難しそう。がんばりましょう。

Color - Visual Design - iOS - Human Interface Guidelines - Apple Developer
Web Content Accessibility Guidelines (WCAG) 2.0

protocol/extensionにジェネリクスを入れたい

GitHub - y-yu/try-swift-slide

protocol HList {
    associatedtype Head
    associatedtype Tail: HList
}

// ScalaのNothingは全ての型のサブタイプであるであるがSwiftにそんなものはなかった
enum Nothing {}

struct HNil: HList {
    typealias Head = Nothing
    typealias Tail = HNil

    // Scala object classの代わり
    private init() {}
    static let singleton = HNil()
}

// (A, (B, (...)))のような構造
struct HCons<T, U: HList>: HList {
    typealias Head = T
    typealias Tail = U

    let head: Head
    let tail: Tail
}

で表されるheterogenous list*2略して HList がある。

この HList 同士の結合を考える。

protocol HAppendable {
    associatedtype Left: HList
    associatedtype Right: HList
    associatedtype Result: HList

    static func append(_ lhs: Left, _ rhs: Right) -> Result
}

空リスト HNil と リスト T: HList の結合は、リストのほうをそのまま返せばいい。

enum Nil足すList<T: HList>: HAppendable {
    typealias Left = HNil
    typealias Right = T
    typealias Result = T

    static func append(_ lhs: HNil, _ rhs: T) -> T {
        return rhs
    }
}

HNilと非空リストとの結合ができたので、非空リスト同士の結合ができればあとは無限に好きなだけリストを繋げられる。
T: HList + U: HList -> V: HList
が定義されているとき、
非空リスト同士の結合
(W, T: HList) + U: HList
W, T, U つまり (W, V): HList とすればいいので、

enum List足すList<T, U, V, W, EV: HAppendable>: HAppendable
    where T == EV.Left, U == EV.Right, V == EV.Result {
    typealias Left = HCons<W, T>
    typealias Right = U
    typealias Result = HCons<W, V>

    static func append(_ lhs: HCons<W, T>, _ rhs: U) -> HCons<W, V> {
        return HCons(head: lhs.head, tail: EV.append(lhs.tail, rhs))
    }
}

// あるいは

func append<T: HList>(_ lhs: HNil, _ rhs: T) -> T {
    return rhs
}

func append<EV: HAppend, T, U, V, W>(_ lhs: HCons<W, T>, _ rhs: U, ev: EV.Type) -> HCons<W, V> where T == EV.Left, U == EV.Right, V == EV.Result {
    return HCons(head: lhs.head, tail: EV.append(lhs.tail, rhs))
}

である。ほんとか??????誰かもっと綺麗に書いてほしい。だめだ修行が足りない。ワタシハSwiftゼンゼンカケナイ

swift-can-not-infer-concrete-type-from-protocol.swift · GitHub

github.com

あ、TaPL以外に参考書ない?とか色々質問して、「プログラミング言語の基礎概念」「Scala DOT*3」の存在を教えてもらいました。みなさんもたまにはTaPL以外を推してみてください。なさそう。

テストケースでMemory Leakを発見する

Keynote for iCloud

たしかにその方法でメモリリーク発見できる……が、……そのオチ、かなしいですね

2日目

Swift type metadata

Swift Type Metadata - Speaker Deck

Metadataってあっさり取れちゃうもんなんですねえ

UnsafePointer - Swift Standard Library | Apple Developer Documentation
SwiftにおけるMethod Dispatchについて - Qiita
What is a nominal type? - Speaker Deck

All about linking libraries

All about linking libraries - Speaker Deck
Keynote for iCloud

同じく、まとめられてて助かるやつ。自分でまとめろよという話だが

The Philosopher's String

これ資料公開されてる?代わりにniwatakoさんのブログを。
賢者のString | try! Swift Tokyo 2019 2-12 - niwatakoのはてなブログ

あんま関係ないけど、都道府県リストもソート時には罠っすよね。国名とかアメリカ州リストと違って南北にソートせにゃならんという。かといって日本の地理把握してない外国人向けだと辞書順になるのか?とか。

3日目

Open Source Swift Workshop

じぶんのぱそこんはだめなこなので、そのへんのつよそうな32GBまっくぶっく*4をひろってつかいました。じしゃかいさいでたすかりました。

どうにかして初PR出した。しかしへんじがないようだ。

[SR-10155] Support string interpolations with binary value by S-Shimotori · Pull Request #23510 · apple/swift · GitHub

まとめ

  • スポンサーブース、出し物として面白みに欠けたんだけどわたしそこまでアイデアマンじゃないからつらい
  • つよいIPアドレスをください
  • お疲れ様でした。今年もありがとうございました

*1:ストレージが残り10GB未満だとXcodeをアップデートできず、Kitura+Swift4.2(+Docker)を用意できない

*2:こういう手のものをプログラミング言語で表現する場合はSwiftなどという言語ではなく大人しくHaskell先輩の実装Heterogenous collections - HaskellWikiでも読んだ方が良さそうまだ読んでないけど

*3:ざっとぐぐったら 何で走っているのだろう: Scalaの型と型関連の機能DOT/dottyについて調べてみた | κeenのHappy Hacκing Blog が出てきた。あとでよむ

*4:入社して1年で2回PCを乗りかえたのは悪いと思ってい、ません

DroidKaigi 2019でネットワーク班の指揮と雑用をしました #droidkaigi

準備をする

今回のおもしろ話:配置設計と備品

配置設計を行う

使用機材の数と位置は以下の要素から決まる。

  • 部屋ごとの定員
  • LAN口位置
  • 参加者の座席位置や動線
  • 電源容量
  • 大規模な通信の予定

APの数は「50接続/台」で計算する。200人定員の部屋なら4つ置くことを考える。でもうまく分散しなくて1台あたり接続数100とか普通に行くんだよねしょうがないね。
SWの数は1部屋1台くらい。電源とかポート数次第。

機材の位置は、
ケーブル長は100m以内(※カテゴリ5e)にしなくちゃなあ、とか、
この会場はLAN口がどこにあるかな、とか、
人や車椅子がたくさん通りそうだからここは避けよう、とか、
バリスタマシンと同じところから電源とるとブレーカー落ちるからだめって言われた、とか、
参加者用電源席と同じところから電源(ry、とか、
録画したりYouTube配信したり、とか、
マグネットでドアの上を架線すれば動線邪魔しないんじゃね!、とか、
etc…

そのため、図を見たり会場&各部署と交渉したりするほうの仕事が多い。機材位置決定問題が充足不能に陥りかける点を除けば初心者でもできるお仕事です!

備品を調達する

備品調達も大事なお仕事

www.endeworks.jpiOSDCで肉の話してる会社 機材レンタル会社

↑物理構成図を描いたり落書きをしたり宣伝をしたりする。壁に粘着テープを使えない会場では、この静電気シートを介することで壁にSSID/PASSWORDの紙を掲示することができる。

↑どうしても人の動線を横切るようにケーブルを敷く場合はこれで固定する。ゴムマットを敷くのは重たすぎるので、2〜3本束ねるくらいならこちらのほうが簡単で便利。マジックテープ式なので何回でも使える。

↑カーペット以外の材質の時はこちら。テープ中央には粘着剤がついてないので、ケーブルがベトベトにならない。撤収時に剥がすのもらくちん。

↑機材を触るわるいやつ避け。作業中エリアの周りに貼って縄張り宣言することも

↑同上。機材にべたっと貼って威圧する。

本番を迎える

機材を置く

人に蹴られないように椅子の上に置いたらスイッチの排熱がうまくいかなかったぽくてめっちゃ温度上がった。椅子の下が正解だった。

監視をする

今回はZabbixのほかにGrafanaも使ったので、らくらくきれいにグラフを表示できた。

f:id:S_Shimotori:20190208144425p:plain:w400
こちらは展示ルームの接続数推移。
休憩時間ごとにみなさんが訪ねてくるので接続数が跳ね上がっていること、
Day1のパーティ終了後(2月7日20時)にスタッフたちが戻ってきて接続数がちょっと増えていること、
Day2のお昼頃(2月8日11時)に意味深なデータ欠損があること、
が読み取れる。

暇になる

どうにかうまく軌道に乗って暇になり、みんな遊び始める。

例:

  • "本物"のネットワークとか称してGlobal IP配り始める人
  • どろいどくんの落書きをする人
  • IPv6じゃないと"本物"のネットワークじゃないとか言い出す人
  • Ciscoスイッチで遊んでるのかNintendoスイッチで遊んでるのかよくわからない人
  • Cat5e作成体験会

人類は2種類に分類できる。研究室でLANケーブルを散々作らされた人と、そうではない人の2種類である。

事故る

時刻 できごと
11:00 運用も2日目に入ってやることないし眠い
11:01 全断発生
11:05 わたし、APが緑点滅していることに気づく。ほか全員目が覚める
11:20 どうやらONUが息してないことに気づく
11:25 2台目のONUに換えることでことなきを得る
11:35 元どおりになったことを確認

ONUは会場に設置している機器のなかでも1番ねっこのほうにあるもの(というかNTTのやつ)なので、これが息してないと全滅である。

実は会場全体用と配信用でフレッツを2回線契約しており、配信用のONUに乗り換えることで復旧した。YouTube配信用に念のため2回線契約していなかったら詰んでいた。(帯域的にはいらなかったんだけど、冗長化の面では必要だった。)

おいたをしたONUは復旧後暇になった人々により祭り上げられた。

"初期化しました"……
正確には、運用中に突然の再起動をキメてくれた。しかもすぐに元に戻らない。
写真内の製品注意書きにある通り、アップデートの為に再起動することがある、とのことだが、ONUのログの時刻がガバガバである以上、アップデートをしてしまったのか他の理由で再起動しちゃったのか、何しでかしたんだかよくわからない。歴戦の皆様もONUが事故ったのは初めてだとか。

(誰かZabbixからSlackへの通知作ってくれないかな〜、パトライトとかをくるくるまわすのでもいいよ!)

今回の記録

Day1 Day2
同時最大接続数 880 879 979
下り最大 218.3Mbps 228.6Mbps
上り最大 107.1Mbps 99.2Mbps

ぎりぎり1000にとどかなかったあ!今年こそはと思ったのに〜。ご利用ありがとうございました。

【2019年三が日企画】iPhone VoiceOverで三が日を暮らしてみた

三が日には何か新しいことをしましょう。今年はVoiceOverに挑戦しました。普段使っているアプリをVoiceOverオンにして使ってみます。 選んだアプリは私が普段愛用しているやつ順不同で、「もし失明宣告を受けたら私のiPhone生活はどうなっちゃうんだろう」というシチュエーションでやっています。それと、本体設定が英語なので読み上げは日英混合です。

アクセシビリティとは

www.apple.com

世界で最もパーソナルなデバイスは、すべての人が使えるように設計されました。だから、視覚に障がいのある方がみんなとセルフィーを撮ることも、聴覚に障がいのある方がお母さんに国際電話をかけることも、首から下の体を動かせない方が友だちにテキストメッセージを送ることもできます。

視覚障害者の数

code.kzakza.com

ロービジョンの人の割合が思ったより多い。ロービジョンとひとくちにいっても症状は様々なので、アプリの使い方もきっと人によって様々。

Voice Overとは

www.apple.com

VoiceOverはジェスチャーで操作する画面読み上げ機能です。画面を見なくてもiPhoneの楽しさと便利さを体験できるようにします。

基本的に、

  1. 選択したい項目のところをシングルタップ。四角い枠がつく。
  2. 1.の状態で画面の任意の場所をダブルタップすることで、初めてその項目を選択したことになる。

という2ステップで通常時のシングルタップ操作相当になる。

他にはローターという操作もある。
support.apple.com

個人情報を映しているとき(あるいは視覚情報無しでの操作を試したいとき)はスクリーンカーテンで。
support.apple.com

いろんなアプリを触ってみた

基本操作まわり

テキスト操作

これがめっちゃ難しい。音声入力だけは簡単なのでひとまず安心なのだが、修正やら何やらをしようとすると途端に難易度が上がる。
「VoiceOver」の設定方法②(入力モード~ダブルタップのタイムアウト) | iphoneMAX

是非みなさんもNotesアプリあたりで文章修正やコピーペースト操作に挑戦してみてほしい。
3678 Re: VoiceOverにおけ る範囲選択について - Apple Accessibility Mailing List Archive
行選択やApp Switcherが誤爆してもう無理。私は諦めました。

スクロール操作

UITableViewやブラウザで出したなが〜いページなど。

f:id:S_Shimotori:20181230135917p:plain:w100
はてなブックマーク - 電話ボックスに侵入して日向ぼっこしている猫が平和すぎてめっちゃ可愛い「いい場所見つけたなぁ」 - Togetterのようななが〜いページでもいちおう大丈夫。

スクロールする方法は2通りあって、

  • 3本指で上下スワイプしてページめくりする
  • ローターメニューで適当なものを選択した後にシングルスワイプで項目移動する

しかし任意の位置にスクロールができないので、レイアウトによっては若干つらさがある。どういうことかというと……

f:id:S_Shimotori:20181230140510p:plain:w200

ナビゲーションバーや広告で隠れてしまう部分(右側のスクショの灰色にした部分)にフォローが入らないということである。任意の位置にスクロールできないので何が書いてあるのかすぐに確認できない。項目移動であっても、やっぱり他のコンテンツに隠れていたり、一気に下方に飛ばされるなどして厳しい。

UIPickerViewは「pickerviewを選択→シングルswipe up/downで1つずつスクロール」なので簡単。

Twitter関連

私は普段公式アプリではなくThe Worldを使っている。で、VoiceOverにすると途端に使えなくなってしまうのがこのThe Worldのようなアプリ。シングルタップやダブルタップにアクションを割り当てるなどと言っている場合ではなく、大半の操作が不可能になってしまっている。そういう仕様のアプリだし個人制作の無料アプリだから仕方ないんですけど。

Twitter公式アプリはアクセシビリティ対応済みで、Cellを選択するだけで「ツイート主〜ツイート内容〜リツイート主」と一通り読み上げてくれて便利。ツイートを時系列順に戻せとか文句垂れてる場合じゃない。

f:id:S_Shimotori:20181230180441p:plain:w100
↑「しもとりミドルドットニートミドルドットしぐれ, 三が日企画には早いけどでアクセシビリティ機能onにしたらゲームで遊べなくなったミドルドットミドルドット, 1 day ago」。リプライなどのボタン類はタップしても一切反応せず、ローターメニューから行えるようにしてある。

Slack

VoiceOverがDroidKaigiをどろいどけーじーって読む(´・ω・`)

大人気アプリなので完全対応されているのでは!と思ったら、使えそうで絶妙に使えない。

  • 未読件数どころか未読があるかどうかすらも読み上げてくれないので、どのワークスペースやチャンネルを読んだらいいのかわからない。
  • リアクション周りが非対応。

ほか、いろいろ。デスクトップ版の方の使い心地は試してないけど、視覚障害の方がいるコミュニティでのiOS Slack利用は正直お勧めできない。せっかく便利なのに残念だ。今後対応してくれるのかな?してくれると嬉しいね。

f:id:S_Shimotori:20190102180004j:plain:w100
↑上の発言は「s_shimotori, おいしいものがたべたいな, 6:11 PM, December 30th, 2018two reactions」。このtwo reactionsとはtwo types of reactionという意味であり、何人が寿司とピザをリアクションしようともtwo reactions。詳細画面に行きさえすればリアクション内容や人数も喋ってくれる。
↑下の発言は「s_shimotori, 人の金で, 10 minutes ago」(10分後に読み上げてもらったとき)。取り消し線の読み上げは無理だった。

スクリーンショット加工

VoiceOverオンの時にスクリーンショットを取ると、左下ににゅっと顔を出すプレビューにフォーカスが移るので、そこから加工画面にいける。しかしここで求められているのはハンドルをドラッグするなどの操作であり、VoiceOver使用時は何もできない。

Safari

他と同じように操作できる。あとは各サイトさんのアクセシビリティ対応次第。
どこでウィンドウ閉じるんだろう?と思ったらローラーメニューにちゃんと設定してあった。

f:id:S_Shimotori:20181230173435p:plain:w100

乗換NAVITIME

乗り換え案内を華麗に読み上げてくれると思ったのに!
情報量が豊富なのが仇になっている感じ。例えば次の箇所を選択して読み上げてもらうと……

f:id:S_Shimotori:20181230170843p:plain:w100

「ブラックアップポインティングトライアングル、ブラックダウンポインティングトライアングル、籠原行、7、5、JR高崎線、番線、番線、発、着、154円、5分」

つらいっす。

日経電子版

記事の個別ページで操作と読み上げが効かない。つらい。記事一覧は読めるので、1日何があったかくらいはわかる。

Instagram

写真がメインコンテンツではあるが、Photosアプリみたくちゃんと写真の中身を読み上げてくれる。

f:id:S_Shimotori:20181230175015p:plain:w100
↑「Photo via S_Shimotori, Image may contain fruit and food, Image」

めっちゃおいしいいちごとメロンのパフェとか読み上げてくれたら最高なんだけどなー。将来的にやってくれればなー。

MoneyForward

非対応っぽいけど使えないことはない……と思ったがカテゴリ選択が操作不能なのでやっぱ厳しかった。

f:id:S_Shimotori:20181230180025p:plain:w100
↑ここからアクションが発生してくれない。

(おまけ)ゲーム関連

VoiceOverをオンにしたらどうなるのか。

FEヒーローズは謎のTextFieldが邪魔して何も操作できない。挙げ句の果てにはキーボードが出てきてしまった。しかもしまえない。どこに隠れてたのか逆に気になってきた。
f:id:S_Shimotori:20181229185512p:plain:w100

どうぶつの森はいつも通りのプレイ。

ゲームがVoiceOver対応していることはまずないだろうけど、あなたは徐々に失明してゲームもままならなくなりますとか言われたら泣いちゃう。

まとめ

  • 健常者に使いやすいUIが視覚障害者に使いやすいとは限らない。というか凝ったものほど使いづらいのでは…
  • 有料版があるようなサービスでも完全対応しているわけじゃないみたい

結構便利で愛用しているアプリがいくつかあるのだが、目が見えなくなったら下手すると使えなくなるんだと思うと悲しかったり寂しかったり。
みんな、余力を見つけて開発していこうな!