タグ

ブックマーク / najeira.blogspot.com (3)

  • Go言語のスタックとヒープ

    GoCon 2013 Autumn で「Go言語のスタックとヒープ」という発表をしました。 資料はこちら: http://goo.gl/s6at62 スライドだけでは分かりにくい部分もあるので、ブロク記事として以下にも記しておきます。(この記事を読めば、スライドは読まなくてOKなはず) スタックとヒープについて 実行時に動的にメモリを確保する領域として、スタックとヒープがある。 スタックメモリは関数のコールスタックを格納していて、ローカル変数、引数、戻り値もここに置かれる。 スタックのPushとPopは高速なので、オブジェクトをスタックメモリに確保するコストは小さい。ただし関数を抜けてスタックがPopされると解放されるので、関数の寿命を超えてオブジェクトは生存できない。 一方のヒープメモリは、コールスタックとは関係ないので、関数スコープに縛られずにオブジェクトを確保しておける。ただし空き領

    Go言語のスタックとヒープ
  • Go言語の関数とメソッドのちょいネタ

    Go Advent Calendar 2013-12-25 の記事です。 Go言語の関数とメソッドについてです。 前半はおさらい的な内容で、後半でちょっとしたネタを紹介します。 関数 まず普通の関数です。 func hello() { fmt.Println("Hello, Gophers") } 関数を変数に代入 関数を変数に代入することも出来ます。 f := hello f(); // "Hello, Gophers" 匿名関数 関数リテラルで匿名関数を定義することが出来ます。 f := func() { fmt.Println("Hello, Gophers") } f(); // Hello, Gophers メソッド レシーバーと関連付けた関数をメソッドと言います。 type Test struct { Name string } func (t Test) hello() {

    peketamin
    peketamin 2014/07/29
  • さくらのクラウドでディスクを付け替えたあとの設定

    さくらのクラウドでは、セットアップしたディスクを別のインスタンスに付け替えたりできます。 MACアドレスやIPが変わるので、そのままだとeth0が使えませんので、以下のように設定を変更します。 /etc/sysconfig/network GATEWAY の値を変更。 /etc/sysconfig/network-scripts/ifcfg-eth0 HWADDR、BROADCAST、IPADDR、NETWORKを変更。 変更すべき値は、管理画面のサーバの詳細情報のNICの欄にすべて載っています。 /etc/udev/rules.d/70-persistent-net.rules このファイルは削除。その後、再起動(reboot)すれば再生成されます。 これで行けるはず。 # さくらのクラウドは他のクラウドと比べてコストパフォーマンスが高いのでおすすめです

    peketamin
    peketamin 2014/02/13
  • 1