saeki’s blog

The limits of my code mean the limits of my world.

「華氏451度」を読んだ

あらすじ

華氏451度。書物が引火し、燃え始める温度である。これは焚書を生業とした男の物語だ。

昇火士というのが彼の職業で、本や、本を所持する家をまるごと燃やす事が仕事である。消火ではない。昇火である。

本を所持していること自体が罪、詩や知識が忌むべきものとされている世界。そして、自分の頭でものを考えることが不道徳で、何も考えず反射的な快楽に溺れることが善とされる世界。

そんな世界に浸かっていた昇火士の男が、ふとしたことがきっかけで世界に疑問を持ち、国家への反逆を行なっていく。

最終的に彼は国家反逆罪で追われる身となるが、逃亡中に社会から弾かれたインテリ達と出会い、共に国家を変えるための活動を始める。

 

印象に残った場面

昇火士の上司が主人公に対して説教する場面

「民衆により多くのスポ ーツを 。団体精神を育み 、面白さを追求しよう 。そうすれば人間 、ものを考える必要はなくなる 。どうだ ?スポ ーツ組織をつくれ 、どんどんつくれ 、ス ーパ ース ーパ ースポ ーツ組織を 。本にはもっとマンガを入れろ 、もっと写真をはさめ 。心が吸収する量はどんどん減る 。せっかち族が増えてくる 。ハイウェイはどこもかしこも車でいっぱい 、みんなあっちやこっちやどこかをめざし 、結局どこへも行き着かない 。誰もかれもがガソリン難民だ 。街はモ ーテルの集合と化し 、人間は遊動民族となって潮の満ち干のままここからそこへと動き 、お前がきょうの昼までいて 、おれがその前の夜いた部屋に 、今夜は自分が泊まるはめになる 」

共に国家反逆を企てる大学教授がテレビを嘆く場面

テレビは 〝現実 〟だ 。即時性があり 、ひろがりもある 。あれを考えろ 、これを考えろと指図して 、がなりたてる 。それは正しいにちがいない 、と思ってしまう 。とても正しい気がしてくる 。あまりに素早く結論に持ちこんでしまうので 、 〝なにをばかな ! 〟と反論するひまもない

主人公が逃亡中に出会った老人

目には不思議なもの 、びっくりするようなものを詰めこめ 。十秒後には死んでしまうつもりで生きろ 。世界を見ろ 。世界は 、工場でつくった夢 、金を出して買う夢よりずっと幻想的だぞ 。保証だの安全だのを欲しがるな 。世のなかにそんな動物はいない 。まあ 、いるとしたらナマケモノのたぐいだが 。年がら年じゅう 、日がな一日 、樹の枝からさかさまにぶらさがって 、寝るだけで一生を終えるやつだ 。

感想みたいなもの

詩やアナロジーが禁忌とされる世界を、あらゆる所で詩やアナロジーを多用して表現しているのがとても印象的だった。しかしなー。やけにリアリティがあった。一方的に喋り続けるテレビやラジオ、”壁”と表現されているこれも一方的に喋り続ける人口家族のようなもの、そういったものが人間の思考を止めるもの、人間の思考を止めて快楽に誘うものの象徴として書かれていたが、現実の世界もそんな感じだよなあと思った。

自分はホーガンや伊藤計劃が好きなライトなSFファンだが、自分のようにこれからSFの世界を知りたいと思ってる人におすすめできる作品だと思う。

 

華氏451度〔新訳版〕 (ハヤカワ文庫SF)

華氏451度〔新訳版〕 (ハヤカワ文庫SF)

 

 



2019年の目標とかやりたいことリスト

2018年が終わって2019年を迎えたので、ざっくりと今年やりたいことを列挙してみる。

仕事

  • フリーのバックエンドエンジニアとして仕事を続ける
  • 年収は現状+50万くらいを目指す
  • Golangで仕事をする
  • マイクロサービス, コンテナ, gRPCとかそのあたりの仕事をする
  • 海外から小さい案件を受注する
    • 日本以外でも稼げるようになるために海外の会社との仕事を経験する
    • 案件探し, 受注, 契約, 開発, 納品まで一通り英語でできるようになる
  • 自分が作ったサービスで1円以上の収入を得る
  • オーバーワークしない

技術

  • Golang
  • Scala, Play Framework
  • Docker, Kubernetes
  • gRPC
  • CI/CD
  • MySQL, Cloud Spanner
  • CloudSQL
  • GCP, AWS

勉強

  • アルゴリズムを勉強し直す
  • 数学を勉強し直す
  • 機械学習やる
  • デザインパターン
  • DDD
  • 英語やる
    • テック系の記事はなるべく英語で書かれたものを読む
    • オンライン英会話やる
  • オンラインで海外大学のCSの学位を取る
    • 2019年のうちに取るのは難しそう...
    • まずは英語...

プライベート

  • インドア人間なのでアウトドアな経験をしてみる
  • 何らかのスポーツ観戦を現地に行ってする
  • 釣り(オフラインの方)を経験する
  • 麻雀の牌効率を勉強する
  • 麻雀の役判定サービスを作る
  • 雀荘に行ってみる
  • 買ったまま放置してるギターを練習して何か一曲弾けるようになる
  • 作曲してどこかに公開する
  • 貯金
  • 勉強会で1回以上LTをする
  • 100冊くらい本を読む
    • 3日で1冊ペース...
  • ブログを書く
  • 彼女と仲良く
  • 週に一回は走る
  • 睡眠時間は少なくとも7時間, 平均8時間くらいを目指す
  • ちゃんと野菜を食べる
  • 自分がストレスに感じることは極力しない(コンフォートゾーンを抜ける活動を除いて)
  • 自分の事が嫌いになるようなことは極力しない
  • ドイツ旅行する
  • 温泉旅行する
  • 知り合いから飲みに誘われたらできるだけ断らない

2018年を振り返る

1月

このあたり、実はあまり記憶がないけどとにかく忙しかったのを覚えてる。忙しかったから記憶にあまり残ってないともいえる。
転職がちらつき始めたのもたしかこの頃で、自分のやりたい仕事と当時やっていた仕事との間に大きなギャップを感じていて、その焦りが日々の忙しなさの中でどんどん肥大化していた。精神的にかなりしんどかったと思う。秒速5センチメートルのセリフを借りれば、心の弾力を失っていた状態だったと思う。

とにかく前に進みたくて、届かないものに手を触れたくて、それが具体的に何を指すのかも、ほとんど強迫的とも言えるようなその思いが、どこから湧いてくるのかも解らずに僕はただ働き続け、気付けば、日々弾力を失っていく心がひたすら辛かった。 

特に転職のために何かしたということもなく、仕事が忙しいことを理由に仕事以外はとても堕落した日々を送っていた。

2月

この月も1月以上に忙しかった気がする。何にも覚えてない。

3月

このあたりもかなり忙しかったような気がする。
たしかこの月だったと思うが同僚だった@furu8maさんと若手とおっさんというpodcastを始めた。podcastは継続的にインターネットに対して何かを出力する装置としてとても優れていると思う。文章を書くのは孤独な作業で、慣れていないと時間も体力も使う。だからとっつきやすさがある一方で、継続することのハードルは意外と高い。その点podcastは継続しやすい。配信環境を整える最初の段階こそハードルが高いように見えるが、環境が整ってしまえばあとは喋るだけだ。一人で配信する場合を除いて、相方がいるというのはそれだけで継続するモチベーションが高くなる。文章を書くときのような推敲も必要ない。パッと1時間くらい喋ってそのまま配信するだけである。それに音声は文章と違って、ストックされずにフロー情報として受け手に届く。その気楽さから出力すること自体のハードルも一気に下がる気がする。みんなpodcastやってほしい。

4月

覚えてない。休みの日にRubyでプロダクトをいくつか作る活動をしていた気がするが、結局全部日の目を見ることなくボツになった。プロダクトとして完成していないものを作っては壊す、ということをここ数年なんども繰り返している気がする。良いコードを書くことで満足してしまってリリースまでモチベーションが保てないのが原因だろう。2019年に作るものはしっかりリリースしてしっかり供養してあげたいと思う。
あとここで本格的に転職活動を始めた気がする。今の食い扶持であるフリーランスとしての仕事もこのあたりで探し初めていた気がする。

5月

4月だったような気もするが、このあたりで会社に退職の意向を伝える。伝えた時点では次どうするか決めていなかった。ただ休みたかった。
退職を伝えた次の週あたりでフリーランスとして参画する会社が決まった。参画する会社は大きいベンチャーで、その会社が扱っている業務のドメインに興味があったのと、優秀なエンジニアが多いイメージがあり自分の成長が見込めると思った。今もその会社でバックエンドエンジニアとして参画している。

6月

前職の最終出社日が6月初頭、次の会社の参画日が7月初頭だったのでこの月はほぼ丸々一ヶ月仕事をしなかった。
シュタゲを1期から見返して泣いたり、コードを書いたり、積ん読してた分厚い技術書を読んだり、忙しくてなかなか会えなかった人に会いに行ったり、高尾山のビアガーデンでビールクズになったりした。とても充実していた。
人間には年に一ヶ月くらい、こういった忙しさを理由に出来ないでいることを消化する期間が必要だと思った。少なくとも自分には必要だと確信した。

7月

充実した6月が終わり、7月から新しい環境での労働が始まった。6月の余韻で7月の労働は厳しいかなと思っていたが、案外スムーズに新しい環境で労働を始められて人間の順応力の高さに驚いた。
フリーランスとして本格的に働き始めた月で、そういう意味ではわりと自分の人生にとってここが分岐点になる気がする。文章書くの飽きてきた...

8月

9月

10月

11月

特筆すべきこと特になし。

12月

というわけで12月だが、ここも特筆すべきことがあまりない。しいていえば仕事、7月からフリーランスとして働いてきて半年が経ったことか。
正直、心境としてあまり大きな変化があったという実感はない。ただ客観的に見れば、個人事業主になったこと、自分のお金の管理が煩雑になったこと、働く環境、関わるビジネス、会社へのコミットの仕方など、いろいろ大きく変 化しているようには思える。...ということを書いてるうちに、なんだが実感が湧いてきた。

おわり

書くの疲れたからこのへんで。我ながらひどい文章だ... 来年もよろしくお願いします m(__)m

2018年9月5日

仕事

業務委託でお世話になってる会社では主に昔から動いてるシステムの保守や追加開発をやっている。
どこかで「保守しかできないエンジニアはゆるやかに死んで行く」というような内容のエントリを読んだことを雑に思い出してこのままじゃゆるやかに死ぬなおれ、という気持ちになった。
やっぱ個人開発かー。個人開発だよな。進めるぞ。

本を読むスピードが遅い

のだ。かなり遅い方だと思う。例えば300ページくらいの小説なら読み終えるのに2, 3日かかる。1日30分で2, 3日、ということではない。だいたい1日3, 4時間くらい費やして2, 3日である。
活字を追うのは好きなので読書それ自体にストレスはないし、むしろ現実逃避の手段として、ストレスから逃げるために読書することも多い。
自分がノロノロと一冊の本を読んでいる間に、優秀な人がより多くの本に出会い、人生観を揺さぶられて、知識が増えて、仕事の幅が広がって、どんどん優秀になっていくことを想像すると、自分は世界に取り残された気分になる。こういうことを感じるようになったのも、新しい職場の周りの人が異常に優秀な方ばかりで、自分は本当に知らないことが多いしできないことも多いということを日々感じているからだと思う。

2018年9月4日

ランチ

最近昼飯はおにぎりとヨーグルトだけという日が多くて、それはまともに食事する暇も無いほど忙しいからというわけではなく、ふつうに昼休みを取っておにぎりとヨーグルトを食べている。人間はちゃんと食事をするとたぶん血糖値が上がるとかで眠くなる。ふつうに昼飯を食べていた頃は食後の眠気に耐えられず昼寝をしていた。これが良くない。まず自分は昼寝最適時間とされている10分とか20分とかに睡眠時間を調整できない。一度寝たら1時間近く寝てしまう。そうすると頭がすっきりするどころか今度は本格的な眠気がやってくるので、その後まともに集中して仕事ができない。したがって自分はちゃんと昼飯を取らない方が良いという結論になった。昼飯の量を減らして、かつ夜にしっかり寝ていれば仕事中に眠くなることは無い。おにぎりは腹持ちが良いので夕方になるまでそこまで空腹感を感じることも無い。それで最近は集中力を維持できている気がするのでこの生活をしばらく続けると思う。

最近はだいたいこの組み合わせ f:id:t_saeki:20180904232523p:plain

ドメイン駆動設計

最近はエリック・エヴァンスの「ドメイン駆動設計」を読んでいる。いわゆるDDD本。自分にはかなり難しく、進んでは戻っての繰り返しになっていてまだ1/3くらいしか読めてない。
自分はDDDについてはネットの記事やスライドを読んで表面的にしか理解しておらず、DDDの文脈で使われる用語も雰囲気だけで使っていた。いくつかのプロジェクトでもDDDっぽくやってみたがあまりしっくり来ることはなく、あまりその恩恵に与れていなかった。
これを読み終えたら実践ドメイン駆動設計も読みたい。

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

フリーランスになった

実は7月からフリーランスになった。今は別の会社で業務委託のエンジニアとして働いている。せっかくフリーランスになったのに週40時間働いてるから正社員の頃と生活があまり変わっていない。このあたりの話はまた改めて書きたい。とりあえずfreeeを使って開業費だったり日々の経費を入力したりしてるが、これで正しいのか良くわかってない。良さそうには思える。

vscodeでPlantUMLを使ってシーケンス図を書く

vscodeでPlantUMLを扱えるように設定したのでその覚え書き。

Java

何はともあれ今すぐJavaをダウンロード
https://java.com/ja/download/

graphviz

graphvizはテキストをグラフに変換するためのツール。
brewで入る。

$ brew install graphviz

vscode

vscodeにplantumlの拡張を入れる。
パッケージ名は PlantUML

これで設定は完了だと思う。かんたん。

シーケンス図を書いてみる

vscodeは.pu拡張子をPlantUMLのファイルと認識するっぽいので.puの拡張子がついたファイルを用意する。

// sample.pu
@startuml
skinparam monochrome true

actor User

User -> Node1 : なにかする
Node1 -> Node1 : なにかする
Node1 -> Node2 : なにかを要求
Node2 -> Node3 : なにかを要求
Node3 -> Node1 : なにかの検証依頼
Node1 -> Node3 : 検証OK
Node3 -> Node2 : なにかを返す
Node2 -> Node1 : なにかを返す
Node1 -> User : なにかが完了

@enduml

ふつうにplantumlの記法で書ける。

option + D でプレビュー表示。
skinparam monochrome trueを指定すると白黒のシーケンス図になる。
自分はこっちの方が好み。

f:id:t_saeki:20180727142915p:plain

こんな感じ。
テキストを変更して保存すれば時間差でプレビューに変更が反映される。
すぐにプレビューを再描画したい場合は option + Dで再描画できる。