タグ

goに関するhisayoshのブックマーク (8)

  • Defer, Panic, and Recover - The Go Programming Language

    Andrew Gerrand 4 August 2010 Go has the usual mechanisms for control flow: if, for, switch, goto. It also has the go statement to run code in a separate goroutine. Here I’d like to discuss some of the less common ones: defer, panic, and recover. A defer statement pushes a function call onto a list. The list of saved calls is executed after the surrounding function returns. Defer is commonly used t

    Defer, Panic, and Recover - The Go Programming Language
    hisayosh
    hisayosh 2015/08/22
  • cachectldでOSのページキャッシュ削除を自動化 - Qiita

    サーバを運用していると時々全然メモリが余っているはずなのにスワップが起きてしまうことがあります。この場合よくあるケースは非常に大きなログファイルがあってそのログファイルのために大量のページキャッシュが利用されていることです。 ログファイルなんて滅多に読まないので、そんなのにメモリ使うぐらいだったらもっと別のアプリケーションにちゃんと割り当ててくれよと思うのですが、なかなかうまくいかないものです。 そこで効果的なのがposix_fadivseをラップして指定したファイルのページキャッシュを解放するツールです。 ページキャッシュがどんどん増えている…そんな時に役立つワンライナー ファイル指定で、ページキャッシュにのっているか確認したり追い出したり 私の場合、今まではnocacheというツールをちょこっと改造して使っていましたが、最近もうちょっと便利な風に改造したいと思うようになってきました。例

    cachectldでOSのページキャッシュ削除を自動化 - Qiita
    hisayosh
    hisayosh 2014/12/28
  • Golang でのウェブ開発を考えてみる - Qiita

    Help us understand the problem. What is going on with this article? 仕事Golang を使ってウェブアプリを作ることになりそうなので、どんな構成がいいのか考えてみる。あくまで前提ありきの選択なので、何でもかんでも適用できるわけではない。 JS や静的ファイル部分は今のところ考慮していない。単によく知らないので。 突っ込み大歓迎です。これいいよ!とか教えてください 前提 多機能なフレームワークよりシンプルなフレームワークに色々組み合わせる方法をとりたい。 開発者は数名程度。Golang に精通している開発者が 1 名いる。残りはこれから。 開発者は Django での開発経験が豊富な人が多い 全員ウェブ開発経験はそれなりに積んでいる。 HTML と JSON 両方のパターンが存在するのでテンプレートエンジンは重要。 JS

    Golang でのウェブ開発を考えてみる - Qiita
    hisayosh
    hisayosh 2014/10/06
  • Go + Emacs + Mac OS X インストールメモ - Qiita

    Go をインストールしたときの作業記録です.当時の環境は, Mac OS X 10.8.5 Go 1.2.2 Emacs 24.3 el-get Homebrew です.この作業では, go-mode go-autocomplete go-eldoc flycheck godef をインストール・設定することを目標とします. Go のインストール 公式パッケージをインストールします. ~/work $ curl -O https://storage.googleapis.com/golang/go1.2.2.darwin-amd64-osx10.8.pkg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 52.9M 100 52.9

    Go + Emacs + Mac OS X インストールメモ - Qiita
    hisayosh
    hisayosh 2014/10/03
  • EmacsでのGo言語編集環境 - unknownplace.org

    最近Go言語を始めた。MacGoの実行環境を入れ、Emacsで編集するところまで、一通りまとめておく。 Goの導入 (for OS X) いろいろ方法があるようだけど、僕はカジュアルに brew install go で済ませた。 GOPATH 環境変数は最初プロジェクト毎に設定して使おうかと思っていたんだけど、 後述するgocodeやgo-flymakeといったツールを使う場合、手元のGOPATHは1つにしてしまったほうが便利なので、 export GOPATH=$HOME/dev/go-workspace というのをshellの設定に定義して、手元ではこの共通のPATHを使うようにした。 これは問題がでたらまた考える。 PATHを通す homebrewで入れたツールをEmacsから使うためには、 homebrewのbinディレクトリを exec-path に追加する必要がある。 (a

    hisayosh
    hisayosh 2014/10/03
  • goscheduler.md

    go 1.1 scheduler where src/pkg/runtime proc.c asm_*.s design proc.c: // Goroutine scheduler // The scheduler's job is to distribute ready-to-run goroutines over worker threads. // // The main concepts are: // G - goroutine. // M - worker thread, or machine. // P - processor, a resource that is required to execute Go code. // M must have an associated P to execute Go code, however it can be // bloc

    goscheduler.md
  • Go の並行処理 - Block Rockin’ Codes

    intro 先日の Go のカンファレンス GoCon で、 Go の並行処理周りについて発表させて頂きました。 Go Conference 2013 spring - connpass 具体的には Goroutine や Channel の話ですが、これらの機能は結構面白くて、いじって遊んでるだけでもわくわくします。 Go の並行処理は、設計方針がわりと特殊だと思うのですが、設計がシンプルなので分かるとそこまで難しくはないです。 (使いこなすのは、経験が必要そうですが) 今回話すにあたって色々調べましたが、発表時間の都合上省いたものもあるし、質疑応答で聞かれて応えられなかったこともあるので、 ここでまとめて置こうと思います。 発表資料 今回の発表資料はこちらです。 このブログの内容は、これをベースにします。 http://jxck.node-ninja.com/slides/gocon-

    Go の並行処理 - Block Rockin’ Codes
  • Docker を読む - Kato Kazuyoshi

    Docker はひとつの Linux システムの上で、複数の Linux システムを動かすためのソフトウェアだ。システムの分離には Linux Containers (LXC) を、ファイルシステムまわりには Advanced multi layered unification filesystem (Aufs) をつかっている。 DockerGo で書かれている。ソースコードは全体でだいたい15,000行で、そのうちおよそ 2/3 が体、1/3 がテストとなっている。 % cat **/*.go | wc -l 14976 % cat $(ls **/*.go | grep -vi test.go) | wc -l 9797 % cat $(ls **/*.go | grep -i test.go) | wc -l 5179 % Docker Init, Docker Daemo

  • 1