Heppoko Binbo Yarou no Newbie Nikki

旧題: へっぽこびんぼう野郎のnewbie日記 #vZkt8fc6J

RSpecの `expec(x).to eq y` の構文が謎かったので実装してみた

動機

RubyとかRuby on Railsとかの勉強をしてたらRSpecのところで少しハマったので調べてみた。

実装

class Expect
  def initialize(trying)
    @trying = trying
  end

  def to(wrapper)
    if wrapper.call @trying
      puts 'OK!!'
    else
      puts 'NG!!'
    end
  end
end

def eq expected
  lambda do |x|
    x == expected
  end
end

def expect trying
  Expect.new trying
end

expect(1 + 2).to eq 3
(expect 1 + 2).to(eq(3))

本来の実装方法はわからないけど、普通に高階関数を使っているだけのようだ。DSLだと実装者は大変だけど使う側は考えなくても使えるようになっていて便利だなとおもった。慣習的なイディオムが expect(1 + 2).to eq 3 となっているので、別に違う書き方でもいいのだなとおもった。

(調べたら実際の実装は割とちがうらしいので、そのうち暇ができたら調べてみる)

Pythonと似ているけど、根本的な思想が結構違うのでおもしろい

Mac + Google Chromeで、一度マウスカーソルを合わせるとその後横スクロールバーが消えてくれない問題について

現象

↓こういうの。他の場所をクリックしても横スクロールバーが消えてくれないので、文字が読めなくてうざい。

f:id:haruharu1:20190605142059p:plain f:id:haruharu1:20190605142222p:plain

調べた結果

2019/01にバグとして報告されている様子(ただし2019/06/05 75.0.3770.80 (Official Build) (64-bit) もこの状態)

https://bugs.chromium.org/p/chromium/issues/detail?id=914844#c31

他の場所と絡んでるからすぐに直すのは無理そうだという話。その後は特に音沙汰なし。

https://bugs.chromium.org/p/chromium/issues/detail?id=914844#c52

↓ここがとても参考になった

css - MacOS Chrome horizontal scrollbar not disappearing - Stack Overflow

当面の回避方法

Macのシステム環境設定から変更する。

f:id:haruharu1:20190605143546p:plain

その後、Alwaysにする。日本語版のインターフェースだとどう見えるのかはわからない。

f:id:haruharu1:20190605143635p:plain

そうすると↓みたいな感じになる。デザインは少し変わるけどまぁしょうがないよね(´・ω・`)

f:id:haruharu1:20190605144222p:plain

Webページの開発者さんへ

エンドユーザーへの表示方法は、いまのところ↓の解決方法しかないっぽいです。

css - MacOS Chrome horizontal scrollbar not disappearing - Stack Overflow

GW中に勉強して合格した人に触発されて、ぼくもAWS ソリューションアーキテクト アソシエイト試験に合格してきました

f:id:haruharu1:20190528180135p:plain

点数がわりかし低めなのはご了承ください m(_ _)m

動機

↓のブログを読んで「15日間でいけるのか!」と驚いたので、「AWSの全容をなんとなく把握したいし、客観的に資格として証明されるなら、とりあえず取っとくか」みたいなノリで参考書をポチってテストの日程を予約しました。

参考書も含めて合計2万円ぐらいのスポットでの出費だったので「ちょっと痛いけどまぁいいか」というノリでクリックしました。

budougumi0617.github.io

初期能力

ふだんはサーバサイドエンジニアとしてPythonを使って働いています。でもときどきJSでフロントもやったりしています。

AWSは普段EC2とかELBとかRDSとかS3とかCloudFrontとかLambdaとかを使っているので、セキュリティグループとか基本的なことはわかっているという感じです。

↓関係ありそうな資格とかいろいろ

  • 大学中退(2009)
  • プログラミング始める(2014)
  • ITパスポート合格(2017)
  • 応用情報技術者試験合格(2017)
  • Amazonが主催するデータレイクのハンズオンに出たりしてた

Amazonが主催してるハンズオンは、わかりやすくて資料が神なので、資料だけもらって帰るのでも行く価値があると思います。業務中に行けると勉強もできて給料ももらえて二度おいしいと思います。

スケジュール

5/15 参考書ポチる。試験会場を予約する
5/16 参考書が2冊届く。
・
・
・
5/25 いろいろあって時間が取れなかったので、うなだれながら参考書を読み始める
5/26 昼まで参考書を読む。15時試験開始。合格

勉強方法

直近で受かった人が言うんだから勉強方法を真似しようと思って、上に書いたブログの人のやつを完全にパクりました(すみません)。ちなみに試験場も、横浜に住んでいるので「近いし武蔵小杉でいいや」とパクりました。

ただ全部パクろうと思っていて、結構がんばってたんですが、でも途中で夜になってつかれちゃって、でも時間ないけどねむいって思って全然まにあわなかったので、本当はもっとちゃんと前から勉強しておくべきでした。

↓まずこの本を読みました。

↓それでこれを読みました。

本の所感としては、上の本はかなり概要がすっきり書かれていて読みやすいです。ぼくは、もともとサービスの名前とかは知っていたので「そうだよね」とか「なるへそ」と思いながら読んでいました。知っているものはどんどん確定させていき読み飛ばし、使ったことがないサービスについて重点的に意識を集中するようにしました。かなり得るものは大きかったように思います。ふつうに実務で活きる感じで、逆に「これ知らんのによく使ってたな」というふうに思いました。

下の黒い本は、上の本に比べて細かく書かれていると思います。ただ、上の本をそれなりに理解してないと、なんか章の構成が散らばっているような感じがして若干読みにくいと思いました(個人の感想です)

どちらの本も重要なことはオーバーラップしているので、黒い本は割とサクサク読めました。個人的に、片方より両方読んだほうが絶対いいと思います。

本の難易度は、どちらも「インフラの初歩の初歩ぐらいは知ってるよね」という前提で書かれているので、それが抜けていると、読むのがかなり厳しいんじゃないかなと思います。「HTTPS…?」「ポート…?」「ストレージ…?」「3層アーキテクチャ…?」「スケールアウト…?」という人はたぶん挫折必至です。逆にわかってるとサクサク読めるのではと思います。

ときどき、読みながら「Amazonのサービス名を覚えるのが資格になるってすごいな…冷静に考えると資格って意味不明だな…なぜ自分はAmazonに勤めてもいないのに一生懸命Amazonのサービスを勉強しているのか…」みたいに思ったりしていました。

試験の感想

難しかったです。

「全然簡単に受かる試験じゃないじゃん……」と思いました。

「本の最後に載っていた模擬試験とはなんぞ」というレベルでした。まず問題の文章量が多く、結構ちゃんと考えないとよくわからなくなると思いました。完全に勉強不足でした。黒本についてた模擬試験の問題の2倍解くのに時間がかかりました。

問題の選択肢も「全然関係ないけど操作としては間違ってないやつ」とか「ちょっと違う」とか「関係ありそうでずれたやつ」とかが多くて「なんだよこれ……」って感じになっていました。「答えこれしかないだろ」という問題も無くはなかったけど、基本的には絶望的な不安感の状態で「これだろ。たぶん。だってこっちはおかしいし…いやでも本当におかしいのかな…?」みたいな感じで選んでいました。

「これは終わった落ちた」とか「なんでAWS触ったことないのにちょっと勉強しただけで受かる人が存在するんだおわった騙された」とか「さようならぼくの15,000円」とか思いながら解いていて、最後に結果を見たら「おめでとうございます!」と書かれて合格していました。あぶねえ。

個人的に、せめてもう1日前に勉強しておいてAWSが提供する模擬試験でも受けていれば、もうちょっと違った心持ちで受けることができたのかなと思いました。

実際の運用では選択肢を選ぶわけじゃなくて、自分で選択肢を提示するわけなので、自分が弱いなと思ったDynamoDBとかRoute53とかパフォーマンス関係とかをしっかりやろうかなと思いました。

問題自体はかなり質がよくて、実際にありそうなユースケースが多くあって良かったなと思います。

合格後に本屋に行ってチラ見したんですが、AWS資格の参考書というのはあんまりないらしく、唯一あったのがこのソリューションアーキテクトアソシエイトと、クラウドラクティショナーという感じでした。他のデベロッパーアソシエイトとか受けるのもアリかなと思うんですが、せっかく本があるので、次受けるとしたらクラウドラクティショナーを受けると思います。なんかよくわからないけど割引もあるらしいので使いたいと思っています。

英語の参考書はいっぱいあるのでそっちを読むのもアリかなと思ってるんですが、レビューの点数が低いので、公式を読むのが一番良さそうだという感じもしています。

アドバイス的ななにか

AWSを知らない人はとにかく試験範囲のAWSのサービス名を片っ端から把握していくのが大事だと思います。AWSを触ったことがなくてもインフラをある程度理解している人なら「これはあれでいうこれで、こっちはあれでいうあれ」という具合でアナロジーな感じで対応できるので、名前を覚えるのがめんどくさいぐらいかなと思います。

そのあとは

・運用の優秀性
・セキュリティ
・可用性
・パフォーマンス効率
・コスト最適化

これを意識すればいいと思います。中でも可用性がいちばん大事だと思います。

基本的に「これらを達成するために何するのが正解か?」「それは要件を満たすのか?」ということを聞いてくる問題が多いと思います。ぼくはギリギリで受かったので、詳しくはできる人に聞くとすばらしいと思います。

EastとWestがときどきごっちゃになる

左右盲」というのがTwitterでちょっと話題になっていた。

ぼくの妻は左右盲で、ちょっとしたときに左と右がわからなくなるらしい。よくわからなくなったときに「お箸を持つ方」というふうに考えるんだと。

それで思ったんだけど、ぼくはWestとEastがときどきごちゃごちゃになる。

左右も東西もLeft/Rightも大丈夫なのに、WestとEastになったときだけダメ。

おそらくEastを覚えるときに「西」と対応付けしまったのがことの発端。西の方がなんとなくイーストっぽい。「東」より「西」の方がスッキリしていて「東は重い」というイメージ。

「West」は音的にごちゃごちゃしていて、Eastがスッキリしているので「西=East」みたいになってしまっている。どう考えても「Eastが重い」というふうにはならない。

それで、マリオパーティ2に出てくる「ウェスタンランド」とか、「西部劇=ウェスタン」みたいな感じで、無理矢理「西=West」というふうに関連付けている。

でも問題は、西部劇っていうのは日本の東で起きたことだから「んん?」と一回なる。しかもバック・トゥ・ザ・フューチャーで主人公のマーティが、西部劇の舞台で「クリント・イーストウッド」と名乗ったことから「西=East」という印象もある。逆に、東ときたらEastとなる。これはたぶんワンピースの「イーストブルー」のイメージが一番強い。

逆に「Westが左」みたいに考えると今度は「東が左」みたいになってくる。 アメリカの西にある日本はFar East 太陽がのぼるのはEast みたいに考え込むとカオス。

自分の認知がどうなってるのか非常に謎。

WTH is the complexity of trains in Tokyo? -- How to ride on a train 'fluently' in Tokyo.

I give you introductions to ride on a train in Tokyo. These tips aim to people who wants to live in Tokyo or some places in Japan. Maybe it's overkill if you just come to Japan for sightseeing.

Since I'm a native Japanese speaker and as it is said that many Japanese people are not quite good at speaking in English, my explanation is not so good, either. So if you feel some sentences, phrases, and paragraphs are odd, I would appreciate if you contact me on twitter or comment it in the last section.

Here is my twitter account! -> haᵲuʞaͣeͤͣͤͣru #vZkt8fc6J (@d24d30033e5c469) | Twitter

The Japanese version is here -> わらうなんてぜったいにゆるさないぞ電車ネイティブ(田舎から出てきた人への都内での電車の乗り方Tips) - Heppoko Binbo Yarou no Newbie Nikki (It's not the exactly same version, though.)

Anyway, let's get started to explain.

Tokyo

I don't know your background. So, I'd like to start to explain about trains in Tokyo from basics.

Tokyo has 30 million population, and population density of the central Tokyo is 15,000 people/km2. It means each person can use only 66.6m2(about 8m x 8m area). This is insane, isn't it? We are being jammed into such a narrow spaces whenever we work, study and play. (Actually Tokyo prefecture is not exactly Tokyo itself. When non-Japanese people refer to Tokyo, it's a metropolitan region near Tokyo prefecture. However I use Tokyo as the region in this whole article.)

Japan's economics is basically depended on Tokyo, the most biggest metropolis in Japan. One third of Japan's GDP is yielded by Tokyo, though other 46 prefectures are there. So is the population. Tokyo has one fourth of Japan's population.

Because of such a density, we use not cars, but trains. Cars are not efficient for abnormally many people to move from A to B. Cars are still main transportation means even in Tokyo, but we mainly use trains. 99% of people in Tokyo are forced to use trains. And, sadly, so do you.

How to get on a train is a hard task!

Even native Japanese people can get lost easily, especially in Tokyo. So basically it's difficult to be achieved that without a problem. Keep in mind that it's not appropriate to despise of yourself simply because you failed to ride on quickly. It's not an easy task.

Trains and Train Companies

We ordinarily use trains as commute methods. So basically trains are crowded in the morning and evening on weekdays, especially around 7:00 or 8:00 is the most crowded time, because a lot of companies start to work at 8:00 or 9:00. I highly recommend that you avoid this time unless you must do it. All of the times are of course Japanese Standard Time(JST, UTC+09:00)

Trains are run by varied companies. For examples, JR is the most dominant company in transporting system fields, and other companies cannot be ignored, which names are like Seibu Railway(西武鉄道), Tokyo Metro(東京メトロ), Tokyo Kyuko(東京急行), and so on.

You don't need to memorize these AT FIRST. Unless you plan to live in Tokyo, no need to know. Just note that there are a lot of train companies.

Basically, if you transfer from a train to another train which doesn't belong to the same company, you must buy another ticket to ride on.

Examples:

You want to go from Shinjuku(新宿) station to Haneda Airport(羽田空港) station.

This is you.
-> 😆

At first, you buy a ticket to ride on a train at a ticket counter in Shinjuku station. It has English instructions, so firstly, choose a button to switch languages. You may find "English" or "Language" as a button in the screen of the ticketing machine.
-> 😆🎫

Then you insert it into a ticket gate machine(改札, かいさつ, a Kaisatsu, a turnstile, a ticket barrier, and so on. Sometimes it's referred as "wicket", heh.)
-> 😆<Inserting! 三🎫 [Machine]

After you insert a ticket into the machine, don't forget to pull your ticket from the machine. The machine emits the ticket after examining whether it's valid or not. The ticket will be used when you get down from the train.
-> [Machine]三🎫 😆<Catching!

[Note] If it's invalid, you will hear some error sounds. Don't be panic of that. It has some problems on your ticket. Be sure of the ticket, or ask a station worker.
-> 😢 🎫<Backing三 [Machine]<Error!!!

If your ticket doesn't have any problems, you go on a platform(Japanese people refer as ホーム, which sounds "Home") and then find the proper train on which you ride.
In this case, you may ride on Yamanote line towards Shibuya(Yamanote Sen Shibuya Iki, やまのてせんしぶやいき, 山手線渋谷行き) which is run by JR.
([Note] Shinjuku station run by JR has 16 platforms to ride on, and there are two Yamanote lines. Be careful that both directions are different. So the two Yamanote lines exist. Shinjuku station run by JR means there are other Shinjuku stations run by other companies. Wow.)
-> 🚉[Yamanote Line Train towards Shibuya(渋谷)😆< I rode on!]

You get off at Shinagawa(品川) station to transfer another train. To change the direction, you should go Keikyu line Towards Haneda-Airport(京急線羽田空港行き) which is run by Keihin Kyuko(京浜急行). So you go to a ticket gate machine, and insert your ticket into it, and pull out the ticket again.
-> 😆<Inserting once again! 三🎫 [Machine]

After you get off at Haneda-Aiport station..., you already arrived there!
-> 😆[Haneda-Airport]

I didn't intend that the explanation is so long... but anyway, don't miss the point that you should insert a ticket into the machine several times if you change the lines of the transporting company. Annoying? Me, too.

That is why the followings are very important.

Go buy a Suica or PASMO, alternatives of obsolete paper tickets

No Tokyo-nian buy a ticket in a ticket counter in Tokyo.

We use Suica or PASMO, which are electronic money cards, like these images.

https://www.japan-rail-pass.com/public/files/service-jrp/pasmo_suica-2.jpg

(I cited it from here. https://www.japan-rail-pass.com/common-questions/difference-Pasmo-Suica)

Using Suica or PASMO, you don't have to buy tickets. All you have to do is buy the card and put your money into the card.(Japanese people call "put money" as チャージ(charge); we consider the behavior as well as to charge a car battery.)

Still, you have to top-up(put your money into) the card in a ticketing machine, but you won't be bothered by "Where is my destination in this map!?" or "Which coins are how much!?"

"This map" which I mentioned here is the following map. If you're going to do by a paper ticket, you have to look up a destination out of the following map. Isn't it somewhat crazy job?

f:id:haruharu1:20190511185832p:plain

To buy the cards, you need some money(1,000 yen[nearly equals to 10USD]), but it's quite useful. I assure that.

If you have an iPhone, you have possibility to get Suica app freely. I recommend you check it. If you have an Android, I'm not sure...

Go get an app which explains how to transfer

All Tokyo-nian uses an app to get on a train. You easily get lost if you don't use it, surely.

I found a nice app in App Store and Google Play.

[iPhone] ‎Japan Transit Planner on the App Store

[Android] https://play.google.com/store/apps/details?id=jp.co.jorudan.japantransit&hl=en

Using this app, you don't have to think how you go. Obey the instruction of the app, so the way will be shown up in front of you. It shows up like this. (This is the iPhone version.)

So the internet connection is very important to search for anythings.

Yes, certainly it's so expensive to surf on the internet in foreign countries, but it's worth using in other countries, because you can google anytime.

In Tokyo, some places implement Free Wi-Fi, but not always! Rather, there are almost no-internet places if you do not pay!

Conclusion

So, that's all!

Once you get the app and a card, you won't get lost, ... maybe.

The app is like a consultant. If you get confused, just input the current time, the current station, and the destination. Magically, answers will be displayed. What a kind era today is.

I want to conclude as the followings.

  • There are a lot of train companies, and ticket counters are prepared by each companies. Don't panic.
  • Get Suica or PASMO, then you won't be worried about tickets.
  • Get the App, then you can get a route easily.

Thank you for reading! 😆🍙

Resolving "OSError: cannot write mode P as JPEG" Completely.

In this article, I'm going to talk about the following error. I assume this error is mainly related to Python but maybe it can be applied to other cases.

OSError: cannot write mode P as JPEG

This error originally comes from Pillow, a python package and PIL fork. In my case, this error was reported on Sentry, an error monitoring and reporting tool.

Reproduction

I could replay causing the error according to the following step.

1. You should prepare an 8-bit PNG file. I think it's not in trouble if you download from a website, unless you make it public.
2. Just change the extension name of the filename. It means if you download the PNG file, possibly it has ".png" So you should change the extension to ".jpg" intentionally.
3. Execute im.save() using this file.
4. "OSError: cannot write mode P as JPEG" happened.

Causation

An 8-bit PNG file is referred as P mode in Concepts — Pillow (PIL Fork) 3.1.2 documentation

However, JPEG format doesn't support this P mode, using 256 color palette. Neither Pillow nor PIL does. This is probably a specification of JPEG (I didn't search this in detail.)

That is why, the error occurred.

So I think the main reason this happened is a lack of some implementation which checks incoming data is valid or not. (Technically, it's just our case.)

Resolution

You can find codes easily and apply it if you only want to avoid this error.

python - Getting "cannot write mode P as JPEG" while operating on JPG image - Stack Overflow

OR

Caught IOError while rendering: cannot write mode P as JPEG · Issue #95 · SmileyChris/easy-thumbnails · GitHub

are convenient references.

This might work. However this way causes another trouble such as all files become RGB formatted files.

I belive the Image.format in the reference satisfies for this problem. Once you get an Image instance by doing Image.open() or whatever, you easily get the format.

Image Module — Pillow (PIL Fork) 3.1.2 documentation

This is like the following.

>> im.format
"PNG"

In my case, I thought this is the best solution, though it still has a problem that its format and extension don't match.

def im_save_cleanly(im, filepath):
    if im.format == 'PNG':
        im.save(filepath, 'PNG')
    else:
        im.save(filepath)

im_save_cleanly(im, 'foo/bar.jpg')

Now, that's all!!

Twitterから日本語を排除し英語だけを使うようにして2年が経ったので効果とかを書いてみる

f:id:haruharu1:20190406061357p:plain

契機

2017/03頃から、Twitterをほぼ英語だけでつぶやくことにしました。(たまにリプライなどで日本語を使うことや、日本語のツイートをリツイートすることはあります。最近ではルーンファクトリー5の情報とか)

英語圏の情報だけに集中したかったからです。

それとTwitterを特に目的意識無くずっと眺めていたので、英語にすれば英語を読むんじゃね?と思って日本語を排除することにしました。これはそこそこ機能しました。

ちなみにそれ以前も実は完全に日本語だったわけではなくて、日本語でつぶやきつつ英語でもつぶやくという共存状態でした。

それで、2017/03に日本語をタイムラインに流してくる人(主に日本人全員)をリムりました。有名人だからとか知り合いだからとか関係なくリムりました。200人ぐらいフォロー数を減らしたと思います。フォロワー数もとても減りました。

ただゼロになったかというとそうではなくて、一応今もタイムラインに日本語が極稀に流れてくることがあります。日本語の底力を感じます。

ちなみに日本人だけじゃなくて、やたらスペイン語を使う人、やたらアラビア語を押してくる人とかもその都度リムりました。数回ぐらいならいいですが、頻繁にやられるとリムってました。

方針として、たまに人からフォローされるんですが、そのときにプロフィールを見て、ほとんど英語ばかり使う人だったらフォロー返しするという戦略をとっています。一度フォローして日本語など英語以外が頻繁に(1ヶ月に何度も)流れてきたらリムるようにしています。

失礼を承知でいうと、感覚的に日本語をタイムラインに流す人は「よくTwitterで何かの宣伝ばかりしている人」というような感じです。

負の効果

日本のプログラマ文化に疎くなります。今日本で何が流行ってて、何が主流とか、そういう情報が一切入ってきません。なのでときどきはてブを覗きに行ってました。

また、日本のコミュニティと断絶を感じるようになりました。かといって別に英語圏のコミュニティに入るわけでもなく、単にアウトサイダーみたいな感じになってました。わろた。

こうして海外の情報にも日本の情報にもそれほど詳しくない人になりました。

フォロワーさんからリツイートやいいねされるぐらいと、外国人の人とたまに会話するしかTwitter上でコミュニケーションがないので、ときどき日本語でツイートしては削除していました(意思の弱さよ)

正の効果

ちょっとだけ英語が上手になりました。ただそれはTwitterだけの効果だったわけではないと思っています。

タイムラインに流れてくる英語を自然と読んだり、記事へ飛んでたりするので、英文に慣れたというのはちょっとだけあります。

でも相変わらず読めないものも多いです。特に文化に密接に絡んでいるものは、背景が全然わからないので文は読みとれていても「ハァ?」となることが多いです。アメリカの有名人について知ってないと笑えないツイートとかがあるのでそういうのは最近「何言ってんだコイツ」とスルーしています。あと見たことのない単語が毎日出てくるので、割と辞書を引いています。

あとは海外でフォローした方がいい人というのがなんとなくわかるようになりました。

正直英語はそこまで効果を実感してないですが、なんとなく綺麗に英語を書けるようになったのかなという印象はあります。

それから日本でぎゃーぎゃー言われていても英語圏の方では話題にもされてないとか、海外のテロ情報が日本では話題にされてないとかあるので、比較的どちらの文化も冷静に見ることができるような気がしています。

感想

あんまり人にはオススメしたくないです。

日本人をリムったのは失策でした(そしてフォロワーの人ごめんなさい)

誰をフォローしていたのか全然覚えてないし、日本人コミュニティでの立ち位置を失った感じがします。日本の情報が入ってこないので、どこで何のカンファレンスが開かれているとかそういう情報は会社の人経由でしか知れません。情弱になってしまいました。

その代わりシドニーシリコンバレーで開催される勉強会やカンファレンスの情報は入ってきます。わろた。

やるべきだったのはリムるのではなく、単にアカウントを分けることだったと思います。一応去年日本語専用アカウントを作って分けたんですが、長年にわたって英語アカウントを使っていたので、日本語でつぶやくという習慣が損なわれていました。だから日本語アカウントの方はほぼ使ってなくて、だいたい月に1回ツイートするペースです(直近は3ヶ月使ってない)

言語を混ぜないというのは正解で、混ぜると機能しないと思います。複数の言語を使う人はアカウントはわけたほうがいいと思います(GitHubのように、活動する場所によって言語が違うのならわけなくてもいいけど)

自分の中では、日本語へ後戻りできなくするためにリムったので、日本人コミュニティからちょっと離れてしまったのは痛手だったけど、一応英語だけにしたのは最善手ではなくても好手だったのかなと思っています。

そんな感じでした。