give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

SUUMOタウンに僕の地元、兵庫県西脇市を紹介する記事を寄稿しました

お知らせ

SUUMOタウンというメディアサイトに、『移住して14年のベテランリモートワーカーが思う「ちょうどいい田舎」兵庫県西脇市の話』という記事を寄稿しました。


f:id:JunichiIto:20201029110415p:plain

この記事では僕が住んでいる兵庫県西脇市の魅力を紹介しています。
みなさん、ぜひ読んでみてください・・・って言ってるのに、あっ、スルーしないで!!😭

いやあ、この記事、めちゃくちゃ書くのが大変だったんです。
最初この話を受けたときは「文章書くのは得意だし、テーマは最初から決まってるし、ぱぱっと書けるっしょ」と高をくくってたんですが、いざ書こうとすると「え、具体的に何書けばいいん??」と筆が止まってしまい、内容を考えるのにめちゃくちゃ時間がかかりました。

ようやく骨子が決まって書き始めたら、今度は大幅に字数をオーバーしてしまい、編集Nさんの協力を得ながら可能な限り内容を圧縮しました。(それでもまだ長いけど・・・)

そんなこんなで先月末からついこの間まで、この記事の執筆やら推敲やらに時間をかけまくってしまいました。
この1ヶ月ぐらいブログの更新がほとんどなかったのは実はこの影響です、はい。

っていうぐらい、汗水垂らしながら書いた記事なので、ぜひ一度目を通していただきたいなーと思います。
みなさんどうぞよろしくお願いします🙇‍♂️

おまけ

記事の中では西脇とその他の都市の人口密度を比較する、こんな図が登場しています。

f:id:JunichiIto:20201004195335j:plain

最初はExcel方眼紙に手でプチプチと絵文字を打ち込んでいってたのですが、思いのほか面倒だったので、こんなRubyスクリプトを書いて人口密度に応じた絵文字を出力するようにしました。

SEPARATOR = ','

def main
  counts = ARGV.map(&:to_i)
  side_length = Math.sqrt(counts.max).ceil
  counts.each do |count|
    print_faces(count, side_length)
    puts
  end
end

def print_faces(count, side_length)
  faces = '🙂' * count
  spaces = ' ' * (side_length ** 2 - faces.size)
  all_chars = [*faces.chars, *spaces.chars].shuffle

  all_chars.each_slice(side_length) do |chars|
    puts chars.join(SEPARATOR)
  end
end

main

このスクリプトを実行するとこんな結果が得られます。(絵文字の配置はランダムに変わります)

f:id:JunichiIto:20201029072047p:plain:w300
上記スクリプトの実行結果

あとはこれをExcel等に貼り付けて見た目を整えれば完成、というわけです。
いやー、Rubyって便利!

あ、Rubyのコードの意味がわからない人はこちらの本をどうぞ(宣伝)。

この図がどこに出てくるのか、SUUMOタウンに書いた記事をぜひチェックしてみてください😄

suumo.jp

謝辞

記事のネタ出しに協力してくれた妻と、西脇に移住するきっかけを作ってくれた子どもたちと、僕の細かい修正依頼に気前よく応えてくれた編集Nさんに感謝します。
みなさん、どうもありがとうございました!