タグ

2016年5月24日のブックマーク (2件)

  • 作りたいものを作るには結局大量のコードを書かないといけないことについて

    コンパイラなどを作り始めると来自分が作りたかったわけではないものについてもせっせとコードを書かないといけなくなる。とくに標準ライブラリの貧弱なCで書いているからそうなってしまうんだろうけど、文字列とかハッシュテーブルみたいな基的なものも自分で書かないといけない。仮に、ライブラリが充実していたとしても、コンパイルする言語の文法の細かいポイントなどは個別に作り込んでいかなくてはいけない。そういうのはただ複雑なだけで、別に何か勉強になるとかそういうものではなく、ただ地道にコードを書いていかないといけないだけのものだ。 こういう話はコンパイラに限ったものではない。なにを作るにしても、自分の最初から作りたいと思っていたところのコードは分量にして1割とか2割とかで、残りはただ単にひたすらガシガシと書いていかないといけないだけのものだったりする。質的なものではないなら書かずになんとかならないかな?

  • Dockerもシェルスクリプトも使わずGoのクロスコンパイルを行う : D-7 <altijd in beweging>

    moznion.hatenadiary.com 別にDocker使ったっていいんだけど、こっちでもできますよ、ってことで、Dockerもシェルスクリプトも使わない方法の説明。元記事を読んでわかるのは: 1. makeを使ってる 2. GOOS/GOARCHを設定してクロスコンパイルしている(gox等を使っていない) 3. Dockerであげた同一イメージ上で全てのクロスコンパイル結果を吐いている ということなので、であれば別にローカルの環境でクロスコンパイルしても何の差もなさそう。別の環境をたててクロスコンパイルしたい場合もあるが、それは例えば cgoを使っている os.User 関連のコードをコンパイルするとか、そういう時だしその場合はそれぞれのプラットフォームごとに別のホスト上でコンパイルする必要がある。それをする必要がないなら go 1.5 以降であればもうGOOS/GOARCHを設