mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです.

2018-08-14

京都

これするために昨日から京都に来ています. 最高の夏をやっていきましょう.

食事

家から離れている間に体調を崩すと大変なので, 京都に来てからはちゃんと食べるようにしている. 具体的に言うと朝食は普段の1.5倍くらい食べてる. 健康対応人間です.

2018-08-10

今日の電車

  • 行き: 勝ち
  • 帰り: 勝った気持ち

大学

来週から関東からしばらく離れるので, その前にと大学でやならければならないことを色々済ませておいた. これで安心.

Rust

オライリー・ジャパンからPrograming Rustの日本語訳が今日発売されたので買った. 明日届くらしい. 来週関東離れるときに余裕があったら持っていこうかな〜.

2018-08-07

気温

朝起きたら周りが涼しすぎて寝ている間に南半球に移動したのかと思った. 明日もこれで頼んだ.

X11

大学のサーバにアクセスして課題を進めていたのだけど, X11で表示しているアプリケーションで特定のアクションをすると, そのウインドウが画面の外の領域に吸い込まれる挙動に悩まされていた. 解決に1時間くらい掛かったのだけど, CLIからアプリケーションを上手いこと制御して特定のアクションを回避してやることで, ウインドウを虚無領域へと飛ばさずに済むようにできた. もしどうにも出来なかっったら大学へ行く羽目になっていたので, 何とかなって良かった.

2018-08-06

Golang

A Tour of Go の Concurrencyの章を読んだ. 「goroutineによるランタイムレベルの軽量スレッド」と「channelによるスレッド間通信」がGolangの平行処理サポートの特徴という印象を受けた. 雑に扱っても良い感じに動いて便利.

これで A Tour of Go を読み終わったので, 以前体系的に学んだ言語 (JavaScript/TypeScript/Java/Scala/Rust) と比較しつつ, A Tour of Go を読んで感じたGolangの特徴を纏めてみた.

  • GCがある
  • interfaceによる構造的部分型のサポート
  • 静的型付け
  • スタックやヒープを意識しなくて良い
  • (メモリ安全な) ポインタがある
  • null安全でない
  • ジェネリクスがない
  • 式指向でない
  • Errors are values
  • ランタイムレベルの軽量スレッド
  • channelによるスレッド間通信

最近の言語で一般に良しとされているもの (静的型付け/(Errors are valuesによる)例外の排除) がある一方で, 一般に良しとされてないもの (null安全でない/ジェネリクスがない) もある. この辺はGolangの思想が影響しているのかな.

2018-08-05

Golang

インターンシップの事前課題でGolangを学んでいる. とりあえず「A Tour of Go」をベースに, 必要に応じてググりながら勉強している.

言語を学ぶのは時間は掛かるけど, とても楽しくて, いつも新しい発見がある. 色んな言語を学んでいると, 「Aという機能はScalaよりGolangのほうが優れているなあ」とか「GolangのBというシンタックスはScalaやRustに似ている!」とか「GolangにあるCとDという機能を実装している言語は今まで学んだことなかったな〜」とか比較ができてとっても便利. 比較によって初めてその特徴を認識でき, 言語の思想の理解に繋がる場合もある. だから, 言語を学ぶ時は言語同士の比較を意識するようにしている.

Golangを学んで思ったことは「非知的なプログラマのためにデザインされている*1」という点. 実際, 高度な型システムが無いこと, ジェネリクスが無いこと, GCがあること, シンタックスがシンプルなこと, などから難しさを上手く排除しているように感じる.

食事

昔から痩せ気味で食べられる量が少なくて, 食事に結構苦労している. 自分でも何故こんなに食べられないのかよく分かってない.

最近分かったとして, 食べる前はお腹は空いていて食欲はあるが, 食べ始めるとすぐに食欲がなくなり, 食べ物を口に運んだり飲み込んだりする気力がなくなるということ. つまり, お腹は空いているのに食事が喉を通らない状態になる. 一応, こういう状態になっても食べれることには食べれるが, 食べ物を飲み込むのに凄く気力を使うし, 疲れてしまう. なので食べるペースを落として, 体力と相談しながら食べるようにしている.

外出先で食事する際にはメニュー選びに苦労する. 雑に頼むと量が多すぎて食べきれないことが往々にしてある. 最近の知見としては, そのお店のメインメニューの内, 1〜3番目くらいに安いものを頼むと大体丁度良い量になるということ. 皆さんも参考にしてみて下さい *2.

*1:http://www.yunabe.jp/docs/why_golang_is_good.htmlより

*2:少食の人でないと参考にならないと思いますが…

2018-08-01

8月

8月… 夏だ…

健康

ここ数日風邪を引いていたけど今日起きたら健康になっていた. 良かった.

Rust LT #2 〜いま使う!Rust〜

行った.

rust.connpass.com

Rustのコンパイラに内蔵されているインタプリタの話や, Rust 2018の話は聞いていて面白かった. コンパイル時定数の評価にMIRを使うのって一般的なのかな. コンパイラのこと全然分からず.