タグ

ブックマーク / qiita.com/DQNEO (3)

  • Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita

    もはやただのアセンブリコードで、コンパイラどころかGo言語の影も形もありません。ここから機能を付け足してGoコンパイラに育て上げました。 興味深いことに、7コミット目あたりですでにコンパイラ全体の骨格ができています。 なんで作ろうと思ったの もともとGoコンパイラを作るなどという発想は1㍉もなかったです。 当時、仕事Goを触る機会はあったものの、週1-2回くらいしか触らないのでなかなか上達しないという焦りを抱えていまいた。 そんなとき Rebuildfm で ruiさんが8ccを作った話を聞いてすごく興味を持ちました。 Rebuild: 153: Connecting The Dots (rui314) さっそく git clone して1コミット目から読んでみたら自分でもやりたくなって、 Go言語に移植してみようと思いました。 1コミット目から順番に、Cで写経してからGoに移植しました

    Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita
    n314
    n314 2019/05/20
    スクリプト言語ばっかりやってると時々無性にコンパイルしたくなる。
  • Docker = AUFSという図式はもう忘れたほうがいいかもしれない、あるいはDockerとストレージドライバの話 - Qiita

    2013年から2014年頃、空前のDocker大ブーム期に書かれたブログ記事には、よく「DockerはAUFSを使って差分イメージを実現している」と書かれてあります。 しかし最近のDockerではAUFSは使われていないのでもう忘れたほうがよいでしょう。(一応選択しようと思えばできます) Dockerとストレージドライバの話 Docker 0.7から、ストレージ層がプラガブルになって、ストレージドライバを自由に選択できるようになりました。 最新版のDocker(v1.5)では、 下記の5つを選択できるようになっています。 aufs btrfs devicemapper overlay vfs つまりaufsは選択肢のひとつにすぎないということです。 実際にどのストレージが使われているのか? 選択可能とは言え、大半のひとはデフォルトのまま使っていると思います。 ディストリビューションごとに、

    Docker = AUFSという図式はもう忘れたほうがいいかもしれない、あるいはDockerとストレージドライバの話 - Qiita
  • いつもお世話になっているあのソフトウェアがどの言語で書かれているか調べてみた - Qiita

    リストアップしてみての感想 ミドルウェアや言語処理系ではまだまだC言語が広く使われている。特に2014年に登場したh2oがCで書かれているのは特筆するべき。 最近のミドルウェア/処理系ではC++を使っているケースもちらほらある。代表例はChrome,MongoDB,node.js,HHVMなど。 Java製ツールは(自分の身近には)あまり多くない。embulkJava製なのは要注目。 2009-2013年あたりに登場したインフラ系プロダクトではRuby製が多い。ただ最近ではGoに押され気味。 2013年以降、Go製のツールが急に増えてきた印象がある。 各言語について思うところ (特定の言語をDisる意図はありません) C 既存ミドルウェアでC製のものが多いので、トラブルシューティングをしたりパッチをあてたりするにはC言語とその周辺ツール(make,gdb,lddなど)の知識は必要。 スク

    いつもお世話になっているあのソフトウェアがどの言語で書かれているか調べてみた - Qiita
    n314
    n314 2016/02/02
    Goが気になる。ちょっとしたシェルスクリプト書くのにGoで書けたら楽になるんだろうか。
  • 1