valid,invalid

関心を持てる事柄について

『スマートコントラクト本格入門―FinTechとブロックチェーンが作り出す近未来がわかる』読んだ

タイトル通りスマートコントラクトがメインなのだが1~2章はFintech業界やBitcoinの話題で、これは『ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書』と重複する部分もあったのでさらっと読み飛ばした。

個人的に面白かったのは3~5章で紹介される社会実装の実例。一般にブロックチェーンというとFintechばかりが想起される気がするが、生活・産業分野、Legaltech領域においても適用可能性が大いにあることと、そこでもたらされるのが既存業務の効率化だけでなくバリューチェーンの変革(中間業者を廃するなど)でもあることが示されていて、とても心が踊った。

数年後はどうかわからないが10年後にはこの辺の製品やサービスに触れる機会がありそう、そんな近未来感があった。


6~7章のスマートコントラクト開発の部分はやや古いのかも、と感じた。

geth (go-ethereum) を使ってローカルにEthereumネットワークを立てたりインタラクティブに操作するのは初手としては面白かったものの、truffleganacheを利用した場合に比べると開発体験がかなり劣るのでちょっとつらかった。

truffleは最後に少しだけ紹介されているが、 公式のチュートリアルのほうが手厚いうえに情報も新しいのでこちらを頼ったほうが良さそうだ。

www.trufflesuite.com

『ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書』読んだ

各トピックが数ページ単位でまとまっており、かつ、言葉だけではイメージしづらい技術的な解説についての図解がかなり多いのでとても読みやすい。

技術的な解説がどれだけ深いのかは読んでいる時は正直わからなかったが、前段で説明した内容に対する補足や解説が次節で語られるような順序になっており、読み進めるごとに理解が深まる実感を持てる構成であった。

また、公開鍵暗号や分散システムにおけるビザンチン将軍問題などWebシステムでも取り上げられる話題には馴染みがあった。(当然ながら)全く異界の技術でなくコンピュータとネットワークの上に構築される技術だというのもわかり、読書を通じてブロックチェーンへより強い興味が持てるようになった。

「AWSによるクラウド入門」をやった

1週間ぐらい前にバズっていた東京大学計数工学科の講義資料が大変面白そうだったので全てのハンズオンをやってみた。

tomomano.gitlab.io

Webアプリケーション開発の実務経験があれば多少読み飛ばせる部分はあるのでだいたい半日程度、実行するコードを読み込んだとしても1日で完了できるボリューム。ハンズオンはやや腰が重いかもしれないが、細かく分けて実践することも可能なので興味を持った部分だけでも挑戦することをおすすめする。

実践的な内容

「1.1. 本講義の目的・内容」より。

本講義(計3回)の目的は,クラウドの初心者を対象とし,クラウドの基礎的な知識・概念を解説する. また, Amazon Web Service (AWS) の提供するクラウド環境を実例として,具体的なクラウドの利用方法をハンズオンを通して学ぶ.

特に,科学・エンジニアリングの学生を対象として,研究などの目的でクラウドを利用するための実践的な手順を紹介する. 知識・理論の説明は最小限に留め,実践を行う中で必要な概念の解説を行う予定である. 受講生が今後,研究などでクラウドを利用する際の,足がかりとなることができればこの講義の目的は十分達成されたことになる.

ざっくり言うと3回の講義で以下の実践が詰める。また、実践に必要となる前提知識も簡潔かつ必要十分でわかりやすい解説で学ぶことができる。

  1. CDKでVPN内にEC2インスタンスを起動してSSH
  2. GPUを搭載したEC2で機械学習、ECS+Fargateで分散並列処理
  3. Lambda, DynamoDBに代表されるサーバーレス技術を用いてスケーラブルなWebサービスを構築

業務でいろいろ触ったことがある人からすると「まぁ、そういう風に使うわな」といった感じだと思うが、「クラウドコンピューティング未経験者にその利便性・可能性を感じさせる」という目的ではこの上ない内容だと思う。

また、基本的にはコマンドラインでポチポチやっていけば動くものが見えるハンズオンなので理解が及ばないところ(自分にとっては機械学習まわり)はスキップできるし、深堀りしたくなったらコードを読んで理解を深めることができるのも良い。

学んだことなど

AWSに業務で触れたことはあるがゼロから構築した経験がないWebアプリケーションエンジニアとしては、これまで意識してこなかった具体が透けて見えるようになる良いハンズオンだった。比較的新しい技術スタックで構成されているため、特に手詰まりなく全トピックを終えることができた。

ここ数年はWebアプリケーションのフロントエンドやバックエンドといってもアプリケーションのコード中心に開発してきて、クラウドインフラを自分にとってのブラックボックスのまま放置してきてしまった(優秀な同僚頼みであった)負い目があり、それに対して少しはツケを払う土台ができた…と思いたい。少なくとも会話ができるレベルにこのまま持っていけると思う。

ふわっとした理解の至らなさと講義のコンテンツの結びつきは具体的にはこんな感じ。


「AMIとかVPCとかSecurity Groupとか、役割は知っているけど具体的な設定をどうやって管理してるのかよくわかってないんだよな…」

=> AWS Cloud Development Kit (AWS CDK) で構成管理Infrastructure as Codeの恩恵を享受してみる


「EC2インスタンス、業務ではSREが良い感じに選んでくれているけど普段使っていないのにはどんなのがあるんだろう…」

=> GPUモリモリでディープラーニングの畳み込み演算が高速化できるAMIを試してみる


「Lambda function便利そうだが他サービスとのインテグレーションがよくわからん…」

=> API Gateway + Lambda + DynamoDB で一連の流れを書いてみる


「FargateがEC2とLambdaの中間に見えるが使いどころがよくわからん…」

=> ECRに登録したイメージをECS + Fargateで動かし、コンテナで動くアプリケーションのスケーラビリティを実感する


また、直接業務で関わったことはないが機械学習領域でのクラウド活用も知識として見聞きはしていたが具体的にどのように活用しているのかのイメージも湧いていなかったので、そのあたりも体感できた。

GPUとCPUの速度差、知っているつもりだけど体感したことはあまりない…」

=> GPU搭載のEC2で起動したJupyter Notebookにローカルからポートフォワーディングして接続して、CPUとGPUでの処理速度の差をベンチマークとって比較してみる


その他にも名前は聞いたことあるが実態がよくわかっていない3文字のアルファベットがだいぶ解き明かされてきた。

感想

クラウドコンピューティングの実用性と革新性は知識では知っているが実際に手を動かしてみないと得られない手触り感はあるなぁ…。そのへんを大事にしなくなったらエンジニアとしては厳しいものがあるので引き続きやっていきたい。

最後に、講義の作成・公開をしてくださった方に多大な感謝。そして、大学時代にこんな実践的な講義が受けられるなんて羨ましい!

最近買って良かった漫画(2020年4月〜6月)

2020年4月~6月あたりで買ってよかった漫画。 元々集めていて続刊が出ただけのやつは除いて、新しく見知った漫画に限定。

スペクトラルウィザード

全2巻。7月はこの漫画をとにかく推していました。

絵柄と退廃的な雰囲気から道満晴明的なナンセンス感を出してくるのかと思ったけど良い意味でけっこう違った。

スパイダーマンよろしく、"大いなる力には大いなる責任が伴う"を体現したような魔術師もいれば、主人公のスペクトラのように最強クラスの魔法を使えるのに楽しかった過去にしがみつき毎日を無気力に過ごす魔術師もいる。彼女らの生き様と葛藤、魔術師ギルドを滅ぼさんとする人間とわかりあえそうで至らないディスコミュニケーションがグッと来る。

単純な能力バトルでも面白いぐらいの設定なのに各々の魔術がメンタリティに紐付いていてストーリーにしっかり絡んでくるあたり、とても漫画が巧み。

スペクトラルウィザード

スペクトラルウィザード

同じ作者の別作品もあたってみたいところ。

忍者と極道

切られた瞬間の生首が喋りながら飛んでいくタイプの、カラッとした残虐さと台詞回しの最大瞬間風速がものすごい漫画。『衛府の七忍』や『特攻の拓』など様々な先達の影響を感じさせる。現在2巻、連載継続中。

許斐剛先生のような計算しないで飛んでる感じではなく、山口貴由先生のようにポップなラインを狙ってきているがちょっとズレているタイプであることが言葉でなく心でわかる。

エンブリヲ

90年代の虫系ホラー。全3巻。

少女漫画のように可愛らしく描かれた表紙とは対象的に、虫の造形や異質な存在を迫害する人間の陰湿さ・陰惨さがやたらと細部までリアルに描き込まれておりパニックホラーとしてかなりすごいところまで来ている。

伊藤潤二らのホラーより救いはあるほうだが生理的嫌悪感はこちらのほうが上かもしれない。

この漫画のおかげで「生きたまま虫に食われて死ぬ」が"こんな死に方は嫌だ"ランキングの2位まで浮上してきた。 (1位は未だにグリーン・インフェルノのように「生きたまま食人族に解体される」)

エンブリヲ 1

エンブリヲ 1

砲神エグザクソン

岡田斗司夫YouTubeでおすすめしていた園田健一のSF作品。1997~2004年の作品。全7巻。

SFとして良作であると同時に知性体による"侵略"というのがいかなるものなのかを非常に巧く捉えている。また、ロボットに搭乗する主人公といえば読者としてはかんたんに予見も期待もできる熱い殴り合いバトルの筆致が優れているだけでなく、侵略に対し心の折れた地球人に反逆の意思を植え付けるための世論形成など、繰り広げられている高度な政治戦・情報戦・心理戦にもかなり見応えがある。(リアルタイムでない動画は編集・改ざんされている可能性が疑われるからタイミングが大事などなど、凝った思考で戦略を描いている)

サイエンスフィクションを成立させるためのリアリティにはこだわりがあるが、豪放なジジイが美人にモテまくっていたりするあたりのご都合主義はご愛嬌と言うか、懐かしさすら覚える。

ブレット・ザ・ウィザード

連続して、岡田斗司夫YouTubeでおすすめしていた園田健一のファンタジー作品。2010~2013年の作品。全4巻。

魔法使いの戦いではなく「魔法が刻まれた魔法銃を持つ者同士の戦い」という一歩新しい感覚のファンタジーであり、戦略性の高いバトルが楽しめる。随所に見える園田健一の銃器や車へのこだわりとロリータ趣味も好きな人はプラスアルファで楽しめるだろう。

だいぶ打ち切り感のあるエンドなのだが全4巻の中で見どころは十分あるのでおすすめできる。

『みんなのコンピュータサイエンス』読んだ

コンピュータに対するコンパクトな知識地図」と銘打たれていたので、何か自分の脳内地図に抜け漏れがないかを知りたくて読んでみた。

離散数学、データ構造、アルゴリズム、データベース、コンピュータアーキテクチャプログラミング言語…等々の広大な分野について、駆け足で鍵となる概念を紹介する本。9章にて述べられている「優れたプログラマであれば知っているべきコンピュータサイエンスに関する最小限の知識」というのがこの本の本質であった。

個々を詳解しているわけではないので理解のためには個別の領域について掘り下げる必要がある。何より手を動かして実践していく必要がある。

良かった点

個人的には『CPUの創りかた』『コンピュータシステムの理論と実装』あたりで学んだコンピュータアーキテクチャが簡素で最適化手法を一切省いたものだったので、L1キャッシュなど現代で一般的な最適化をいくつか例示していた点は学びがあった。

また、紹介する概念が現実世界の応用でどのように顕れてくるかにフォーカスしている点も興味を削がない工夫として良かった。

物足りなかった点

逆に言うとそれ以外は自分にとって知識のおさらいという感じだった。

データ構造についていえば『みんなのデータ構造』、アルゴリズムについては競技プログラミングCourseraのアルゴリズム講座、コンピュータアーキテクチャについては『CPUの創りかた』『コンピュータシステムの理論と実装』、データベースやプログラミング言語については実務で学んできた内容でだいたいカバーできていた。

明らかにヤバい抜け穴がないと追認された心持ちではある…が、大きい抜けがあるとしたら離散数学か…。

どういう人向きか

今の自分にとって既知の内容が多かったとはいえ、コンピュータサイエンスを学び始める前に読んでおけば自分の現在地や無知を知るのに有用なのは間違いなかった。


読書メモ: みんなのコンピュータサイエンス - ohbarye

『フリーランスの教科書』読んだ

会社員でも知っているべき税金、保険、年金の基礎知識に加えて「個人事業主になったときに何が変わるのか」や、「確定申告のやリ方」「個人事業主・法人としての節税方法」「法人化のメリット・デメリット」あたりを平易に説明した本。

基礎知識部分はあっさり読み飛ばしたが、確定申告(青色申告)まわり、付加年金、専従者給与、小規模企業共済あたりは耳慣れなかったので勉強になった。

現在個人事業主は検討しているけれども法人化はまったく検討していないこともあって、4章の法人化個人的には身近には感じられなかった。

全体的にフリーランスびいきではなく、むしろ、税理士と社会保険労務士の視点から会社員の恵まれているポイントを指摘しつつ、その恩恵を受けられないフリーランスがどのように対応しなければならないのかを解説していてフェアだと感じた。

『難しいことはわかりませんが、お金の増やし方を教えてください!』読んだ

Kindle Unlimitedで0円で読めた。

説明は平易でわかりやすかった。

内容は普通の人が資産運用で99点をとる方法とその考え方 - hayatoと大きい差分はなかった。違いを挙げるとしたら、

  • 安全資産で個人向け国債変動10年型を買う
  • 余剰資金があるならNISAは積み立てずに一気に買う

ぐらい。あとはひたすらおすすめしない金融商品を切り捨てていく感じ(FX,個別株、外貨預金、保険*1とか)。

主張

貯蓄を安全資産(絶対に減らしたくないお金)とリスク運用資産(5%の利回りを期待するが最悪2.3%程度の確率で1/3になる)に分ける。

リスク運用資産から当面3ヶ月で必要なお金を引いて銀行に預けたままにする。

安全資産で個人向け国債変動10年型を買う。

あとはリスク運用資産をお得度の高い順に使い切っていけ。

1. 確定拠出年金

  • 控除されるので会社員の上限23,000円をかけると年間5万円ぐらい得
  • 自営業で上限68,000円かけると16万ぐらい得
  • 運用益は非課税
  • ただし60歳までは原則引き出せない

2. NISA

  • 120万円/年以下の範囲内で購入した金融商品の利益には非課税*2
  • 非課税期間は5年
  • つまり、非課税で同時に保有できる金融商品は、最大で600万円
  • ハイリスクハイリターンの投資をするならNISA。非課税であることを利用できるから(株などによる雑所得だと20%持っていかれる)

3. 投資信託でインデックスファンド

  • ここにお金を回す前にNISAに突っ込め
  • 毎月分配型は手数料で損するのでずっと持っておく

全体

  • 国内( 上場インデックスファンドTOPIX)と国外( ニッセイ外国株式インデックスファンド)を50:50で買え
    • ここは意見が分かれそう
  • 追加で買い足す場合は、どちらか40%を下回っているほう(リバランス)

期待値としては年間5%程度の利回りになる。

その他 知らなかったこと

  • 72 を『利率』で割ると『2倍になるまでにかかるおおよその年数』がわかって便利(e.g. 利回り6%で運用すると12年で2倍になる)
  • 競馬の期待値は-25%
  • 宝くじの期待値は-55%(無知の税金といわれる所以)
  • 歴史的に、インデックスファンドの成績にアクティブファンド*3が勝ち続けたことはない
  • 消費税も年金の財源になっているから年金未納で貰う額が減ると損する

現時点での自分とのdiff

1. 確定拠出年金: 拠出額を上限にしてるので特にやることなし。個人事業主になったら拠出額を変更する

2. NISA: やってない。就職決まるか、個人事業主になったら開始する(会社の情報書いたり、手続き面倒なので)

3. 投資信託でインデックスファンド: コロナ前に10万円だけ入れてた。積立もしてない。もっと突っ込む。

全体: 海外インデックスファンドに8割ぐらい突っ込んでる

以上

*1:高額療養費制度を利用できるし、がんは半分が罹るなら保険でなく貯蓄でカバーしろ、という主張

*2:書籍が出た2015年のあと、2016年に100->120万円に引き上げられた https://www.fsa.go.jp/policy/nisa2/about/nisa/knowledge/index.html

*3:プロが株や債券を買うやつ