タグ

golangに関するverdigrisbrainのブックマーク (9)

  • そろそろ理解しておきたいのでDockerのソースコードをビジュアルに読む! - Qiita

    まずはツールの紹介 昨今、注目を浴びているアプリケーションコンテナを作ったり管理したりできるDocker。 そろそろ中身も理解しておきたいところ。特に最近はlibcontainerというのができて、lxc依存すら切り離されているとの噂。 ただ、結構ソースコードの量も大きくなっているので(2014/4月現在 テストコード除いて70000行弱)、 さっと大まかに理解するためのツールを書いてみました。 このツールはgoのastからパッケージの間の依存関係を読んで、graphvizの解釈するdot言語に吐き出すツールです。 たとえば、最近話題のgo-xslateの全体像をつかもうと思ったら、 のようにすることで、 拡大 こんな感じにパッケージ間の依存関係を図示することができます。 これだけでも何となくどんな構造になってるかわかってきそうですね。 不安定性の表示 govizにはdot言語の出力の他に

    そろそろ理解しておきたいのでDockerのソースコードをビジュアルに読む! - Qiita
  • Goの正規表現エンジンを使ってファジング用ツールを書いてみる - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のコリン・ファースです。この記事はGo Advent Calendar 2014の21日目の記事です。昨日初サバゲーしたら、左手の薬指の爪のどまんなか含め、ピンポイントに左手の薬指3箇所を撃たれて、めっちゃ痛いです。 ところで今年のGo Advent Calendarではすでに2の記事が正規表現に関する記事が上がっています。 Go で Language Benchmark Game に挑戦して惨敗した - Qiita by @methane Go - Luceneで使われてるFSTを実装してみた(正規表現マッチ:VMアプローチへの招待) - Qiita by @ikawaha @methane さんの記事の中では「Goの正規表現エンジンが遅い」という話が出ていました。また @ikawaha さんの記事では丁寧にVirtual Machine Approachな

    Goの正規表現エンジンを使ってファジング用ツールを書いてみる - YAMAGUCHI::weblog
  • これからGoを始める人のためのTips集 | The Wacul Blog

    こんにちわ。最近業務でGoを書いているのですが、3,4週間たち、だいぶ環境にも慣れてきたので、これからGoを初めようと思っている人向けにTipsを書きたいと思います。 間違いや改善点などあれば、 @tutuming まで教えていただけると大変ありがたいです。 インストール と設定 (OSX) http://golang.org/dl/ から、インストーラー (go1.3.1.darwin-amd64-osx10.8.pkg など) を選んで最新版をインストールしたら大丈夫です。自分の環境にあわせたインストーラ選んでください。 homebrewを使っている人は でもインストールできます。 $GOPATH とプロジェクトの作り方 Go のパッケージ管理には、 go get コマンドを使います。 go get github.com/aaa/bbb とすると、 github.com/aaa/bbb

    これからGoを始める人のためのTips集 | The Wacul Blog
  • A 3D game engine written in Go! - Azul3D

    State of the art shader-based modern 3D game engine. Cross-platform: Windows, Linux, and Mac OS X support. OpenGL 2.x based renderer (why?). 3D audio via OpenAL. Installation Windows Linux Mac OS X News Let’s try a monorepo (or two)! audio/wav: version 1.1.1 >>> more news

    A 3D game engine written in Go! - Azul3D
  • Go Concurrency Patterns: Context - The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    Go Concurrency Patterns: Context - The Go Programming Language
  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD
  • 「ほい、これ」ってファイルを渡せる Hoi というツールをつくった

    PC間でのファイル受け渡しのときにファイルサーバを使うことがたまにありますが、OSによってファイルパスやその書式が違ったり、受け渡し用のディレクトリをつくるとか、ファイル渡したいだけなのに、なんだか小さなひっかかりがあってスマートじゃないなあといつも感じてました。 なので、もっと直感的に「ほい、これ」って渡せるツールをつくってみました。 Hoi Hoiはファイルの受け渡しを簡単に行うためのコマンドラインツールです。Go言語で書かれており、HTTPファイルサーバを利用して機能を提供します。 monochromegane/hoi (An easy file transfer tool using http file server.) ファイルを渡す 使い方は簡単でローカルのファイルパスをhoiコマンドの引数に渡すだけです。 そうすると以下のような、ダウンロード用のURLが出力されます。 htt

    「ほい、これ」ってファイルを渡せる Hoi というツールをつくった
  • Go packages

    Similar to any other large communities it becomes increasingly hard to find quality packages for any given task, so this is simply a list of ones that I’ve needed and found to be useful for my projects. Go’s standard library is pretty fantastic so this list is short for now, I’ll try and remember to update it as I Go! dustin/go-humanize — format times, numbers, bytesizes, relative datesvisionmedia

  • Go言語での構造体実装パターン

    Go言語での構造体実装は、埋込や独自コンセプトのインターフェースといったGo言語独自の機能を理解して行う必要があります。 今年からGo言語を始めましたが理解が曖昧なままだと実装に迷うことが何度かありました。今回よい機会なので、Go言語での構造体実装パターンとしてまとめてみることにしました。 構造体実装パターン 実装パターンの洗い出しとして、GoFデザインパターンをGo言語で実装する手法をとりました。 その中で繰り返し現れる実装をGo言語での構造体実装パターンとしてまとめてみました。 コンストラクタ関数 エクスポートによるアクセス許可 インターフェースによるポリモフィズム 構造体によるポリモフィズム 構造体によるサブクラス・レスポンシビリティ 構造体による移譲 関数による移譲 以下、それぞれのパターンを解説していきます。 コンストラクタ関数 Go言語には構造体のコンストラクタがないため、構造

    Go言語での構造体実装パターン
  • 1