タグ

Goに関するkujooのブックマーク (19)

  • Revel - Go Web Framework

    Hot Code Reload Edit, save, and refresh. Revel compiles your code and templates for you, so you don't miss a beat. Code doesn't compile? It gives you a helpful description. Run-time code panic? Revel has you covered. Flow Control Revel is built around composable middleware called filters, which implement nearly all request-processing functionality. Developers have the freedom to replace the defaul

    kujoo
    kujoo 2013/04/13
    GoってGoogleのだっけ?(忘れた
  • 日本語プログラムに近づいたGo言語 - YAMAGUCHI::weblog

    はじめに こんにちは、Go界の荒俣宏です。適当にGoで遊んでたらむちゃくちゃなコードが書けたのでメモとして残しておきます。Special thanks to BeProud 前提 GoはコードがUTF-8で記述されることを前提としていて、UTF-8で表現できる文字列であればキーワードにかぶらない限り識別子として使えます。 サンプルコード main.go package main import ( "fmt" ) type びーぷらうど struct { めんばー []string } func びーぷらうどの設立() びーぷらうど { bp := びーぷらうど{ めんばー: []string{ "shacho", "しんすけさん", }, } return bp } func (bp *びーぷらうど) に彗星の如く現れた(新めんばー string) { bp.めんばー = append(b

    日本語プログラムに近づいたGo言語 - YAMAGUCHI::weblog
    kujoo
    kujoo 2012/11/08
  • コンパイルが速くて、スクリプト言語的に書ける言語が欲しかった グーグル ソフトウェアエンジニア 鵜飼 文敏氏 - インタビュー:ITpro

    GoGoogleが中心となってオープンソースで開発が進んでいるプログラミング言語です。いろいろなプログラミング言語の良いところを採り入れたGoは、様々な“顔”を持っています。Go言語の生まれた背景や特徴などについて、グーグルのソフトウェアエンジニアである鵜飼文敏氏にお話を伺いました。 Goが生まれた経緯や背景について教えてください。 Googleの中には検索エンジンや「Google App Engine」など、様々なサーバーがたくさんあるのですが、その中でスピードを要求する部分ではC++を使っています。ただ、C++は実行速度は速いのですが、ビルドに非常に時間がかかります。社内では分散コンパイル環境を作っていますが、仮に検索エンジンのサーバーを1台のマシンでビルドしようとすると、1日くらいの単位で時間を見ておかなければなりません。CPUなどが速くなっているのにコンパイルが遅いというのは何か

    コンパイルが速くて、スクリプト言語的に書ける言語が欲しかった グーグル ソフトウェアエンジニア 鵜飼 文敏氏 - インタビュー:ITpro
    kujoo
    kujoo 2010/06/01
  • Goでmysqlライブラリ作りました - よねのはてな

    RFC: Database API for GoということでPeterさんが提案していて goを触るがてらMySQL接続を作り始めたところ、PeterさんとEdenさんから一緒にやらないかといわれたので Peterさんが提案してるRFC: Database API for Goの形で作成してみました。 追記 FetchManyとFetchAllも実装してみました。 あとは、パラメータのbindを行えば、そこそこ使い物になるかと思います。 http://yone098.github.com/go-mysql/ s, e = c.Prepare("SELECT * FROM __hello ORDER BY i ASC"); cur, e = c.Execute(s); rows, e = cur.FetchAll(); fmt.Printf("%s\n", rows); for _, y :

    kujoo
    kujoo 2009/11/24
  • Coro と Go で並列実行数の制御 - 酒日記 はてな支店

    http://d.hatena.ne.jp/tokuhirom/20090710/1247196134 この Coro の例を Go でやってみます。 まず特定数 (ここでは 3) の worker thread を立ち上げておいて、そこにメッセージを送って仕事させるモデル。メッセージのやりとりに Coro::Channel を使います。 use Coro; use Coro::Channel; use Coro::Timer; my $ch = Coro::Channel->new; sub worker { while (1) { my $url = $ch->get; printf("worker(%d): %s\n", $_[0], $url); Coro::Timer::sleep(1); } } my @coros = ( async { worker(1) }, async

    Coro と Go で並列実行数の制御 - 酒日記 はてな支店
    kujoo
    kujoo 2009/11/19
  • go-mysqlでMySQL接続 - よねのはてな

    GoMySQLにつないでみました。 昨日の帰りがけに試してみて接続は正常、異常と確認出来ました。 connectとcloseしか作ってないので、SQL実行機能はまだ未実装です。 http://github.com/yone098/go-mysql makeして、./sample実行で接続エラーが確認できます。 sample.go package main import ( "mysql"; "log"; ) func main() { log.Stdoutf("this is mysql connect test\n"); conn, err := mysql.Connect("localhost", "baduser", "badpasswd", "baddb", 0, "", 0); if (err != nil) { log.Exitf("connect faled! errno:

    go-mysqlでMySQL接続 - よねのはてな
    kujoo
    kujoo 2009/11/19
  • 新言語「Go」と「Google Chrome」の融合--目指すはウェブアプリケーションの高速化

    Googleは、ウェブと自社のビジネスのためにコンピューティング業界を変革しようと常に熱心であり、生まれたばかりであるが今後重要なものとなる可能性のある2つのプロジェクト、同社の実験的なプログラミング言語「Go」とウェブブラウザ「Google Chrome」を結び付けようとしている。 具体的には、Goで書かれたプログラムを、Googleの「Native Client」ソフトウェアが組み込まれたウェブブラウザ内で直接実行できるようにする基盤を構築しようとしている。Native Clientは、ブラウザベースのプログラムを、今日広く使われているJavaScriptで可能なスピードよりも速く実行できるように設計されている。未だ初期段階ではあるものの、Chromeに組み込まれており、ほかのブラウザではプラグインとして利用できるようになっている。 Goのソースコードを覗いてみると、Native Cl

    新言語「Go」と「Google Chrome」の融合--目指すはウェブアプリケーションの高速化
  • Go のフォロー - ニートの世紀

    なんだか template template 言ってるだけだとタダのアホなので、 goroutine とかはそっち系の人に任せて、 interface とか struct はどうなんですかっていうのを書きます。 既存の複数の interface を満たす interface を書きたい時は単に定義内に interface を書くだけで済みます。 type IA interface { ... } type IB interface { ... } type IC interface { IA; IB } IC は IA と IB を満たす interface になります。やりましたね。 Go には C++Java のような継承はないですが、 javascirpt のような継承(プロトタイプ継承ですね)みたいなものはできます。まあ単なる真似っこです。これも書き方は interface

    kujoo
    kujoo 2009/11/16
  • Go Go!! - 兼雑記

    Goいじめてあそぶということなので行ってきた。大変たのしかった。いつもよくわからん面白イベントをやってくれている、 id:ranha さんにとても感謝。今後もやってください :) http://atnd.org/events/2115 ごにょごにょ遊んだ結果はこのへんに置いてある。 http://github.com/shinh/test/tree/master/go/ まずはゴルフ http://golf.shinh.org/l.rb?go 適当にやった。大変無駄な時間を過ごしたと思う。ゴルフの感覚としては D に近いなぁと思いました。標準入力が手軽に取れなさすぎてだるい。 scanf 欲しいよなぁ。マジメに考えると /usr/include/pcrecpp.h ってのはぐぐるのライブラリとして大好きなインターフェースの一つなのだけど、こいうのがあまりできそうにない言語仕様は残念だな

    Go Go!! - 兼雑記
    kujoo
    kujoo 2009/11/15
  • Go!!!!!!!!!!!!11111 - ニートの世紀

    Goいじめようとする悪い人間の集まりというのが 11/14 日東京は渋谷 Google のおひすであって、ボクはそのような行いを許すことはできない、と立ち上がり、集合時間の二時間後ぐらいに図々しくも馳せ参じたのです。 ぐーぐるさんありがとう。カップラーメンとおかしとジュースがべ放題飲み放題で、がんばってえらくなってタダメシがえる会社で働きたいと思いましたが、どうせなら早く隠居したいのでえらくなって隠居します。 Go というのは個人的な感覚では template がないのでもう終わってるんですが、まあ悪くない部分も多くて、例えば interface というので型の制約(を満たす値を格納することができる型)を定義することができるのですが、この制約のチェックというのはコンパイル時に行うことも実行時に行うこともできるのです。 type Any interface {} type HasL

    kujoo
    kujoo 2009/11/15
  • Matzにっき(2009-11-13) - [言語] The Go Programming Language

    _ [言語] The Go Programming Language もう知っている人は知っているGoogleからのシステムプログラミング新言語Go。 すっかり祭りには乗り遅れた感があるけど、少しだけコメントをつけておこう。 目次 言語仕様 言語実装 技術的でない話 まとめ 言語仕様 総合的に見て、非常にバランスを考えているように思える。 JavaC++のような複雑さを排して、シンプルに徹する一方、 言語好きを刺激するような新しいアイディアをそこかしこに配置している。 特徴である「コンパイルが高速」というのも、 このシンプルな言語仕様が寄与していると思われる。 個人的に、注目したのはオブジェクト指向機能と、並列機能。 interfaceによる、継承のないオブジェクト指向(duck typing)は、かなり私好みである。 昔からこういう言語が欲しかった。interfaceのみ動的結合を許す

  • Goをちょっと使ってみた - ラシウラ

    いきなり大人気のgoをすこし触る。Rob PikeやKen Thompsonとかが作っているというだけですごいと思ってしまいます。 http://golang.org/ ビルド ubuntuの場合、 http://golang.org/doc/install.html に書いてあるとおりすればコンパイラやリンカなどのツールのバイナリができあがります。 コンパイラやリンカはアーキテクチャごとに名前が違い、 386用: 8g, 8l amd64用: 6g, 6l arm用: 5g, 5l のようです(FAQによると、Plan9の伝統らしい)。 http://golang.org/doc/go_faq.html#What_kind_of_a_name_is_6g また、環境変数GOROOT,GOOS,GOARCHは、コンパイラやリンカの実行時にも必要なものです(生成バイナリの実行には不要)。.b

    Goをちょっと使ってみた - ラシウラ
    kujoo
    kujoo 2009/11/12
  • なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記

    追記:「kzk's blog」の「Writing TokyoCabinet wrapper for Go language」で紹介御礼。この記事は cgo を使った TokyoCabinet のラッパーの書き方を解説しているので、下記のコードと組み合わせて当に tc が backend になっている KVS を書いてみるのもよいかも。 『早速 Go 言語を試してみる!』とか。 『Go で無駄にチャンネルを使ってクイックソートのようなものを書いてみた』とか。 こちらはというと、試しに memcache バイナリプロトコルで通信する KVS もどきを書いた。 サーバのイベントループで go すれば全部済むのが楽ちんですね。 追記: HandleConn() の中で、backend_ch を backend との送信と受信両方に使っていたのだけど、ここにあるように、まったく誤りだということが分

    なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記
    kujoo
    kujoo 2009/11/12
  • 早速 Go 言語を試してみる! - IT戦記

    はじめに Google から新プログラミング言語 The Go Programming Language が発表されましたね! というわけで、さっそく試してみたいと思います。 環境は Mac OS X 10.6 インストール さっそくインストール Getting Started - The Go Programming Language を見ながら 環境の準備 ディレクトリを作る amacbook% cd ~ amacbook% mkdir go amacbook% mkdir bin環境変数の設定をする。~/.zshrc に以下を追加 # Go 用 export GOROOT=$HOME/go export GOOS=darwin export GOARCH=amd64 export GOBIN=$HOME/bin export PATH=$GOBIN:$PATH Mercurial を

    早速 Go 言語を試してみる! - IT戦記
    kujoo
    kujoo 2009/11/11
  • Googleの新しいプログラミング言語Go == Python(開発が速い) + C++(実行速度が速い)

    Limited space! Get on waitlist to be the first to know when tickets go live!

    Googleの新しいプログラミング言語Go == Python(開発が速い) + C++(実行速度が速い)
    kujoo
    kujoo 2009/11/11
  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code Packages

    The Go Programming Language
    kujoo
    kujoo 2009/11/11
    ひょっとして環境によって、 fmt.Printf("Hello, 世界\n") って変わるのかな? でも world で良い気がするけど。 / Windowsバイナリ無いの?とか言っちゃダメなのか
  • グーグル、C/C++に代わる新言語「Go」をOSSで公開 - @IT

    2009/11/11 グーグルは2009年11月10日、Cのようにシステム記述に適したプログラミング言語「Go」をBSDライセンスの下に公開した。C++のようなC言語の拡張ではないが、Cに似た構文が特徴で、ガベージコレクタ(GC)や並列プリミティブ、イテレータ、実行時リフレクションなどを備えた新しい設計が目を引く。Goグーグルの社員7人が「20%の自由時間」を利用して開発した。設計・実装を行っているのが分散OS「Plan 9」の創案者であるロブ・パイク氏や、Unix、Cの生みの親、ケン・トンプソン氏、Google ChromeのV8エンジンを開発したロバート・グリースナー氏など錚々(そうそう)たるメンバーで、こうした点でも注目を集めそうだ。 グーグル社内では、まだGoを使っていないが、今後はWebサーバなどのシステム関連のソフトウェアで実用を検討しているという(Goのオフィシャルサイトは

  • グーグル、オープンソースのプログラミング言語「Go」を発表

    Googleは米国時間11月10日、オープンソースのプログラミング言語「Go」を発表した。Goは、首席ソフトエンジニアRob Pike氏やUNIXの共同開発者のKen Thompson氏らで構成されるチームにより開発された。 現在、Goプロジェクトは、プログラミング言語、コンパイラ、Goで書かれたプログラムに多くのビルトイン機能を与えるランタイムパッケージプログラムで構成されている。Pike氏によると、Goは、CおよびC++と類似しているが、最新の機能を採り入れ、ウェブブラウザ内でも使用可能にするなどの汎用性を備えているという。 Goは、ソフトウェアをマルチコアプロセッサで実行する場合に発生する問題に対処するよう開発されている。またオブジェクト指向プログラミングが持つ問題点を緩和するためのアプローチが取られているほか、同社はオープンソースブログで、Pythonのようなダイナミック言語で作業

    グーグル、オープンソースのプログラミング言語「Go」を発表
    kujoo
    kujoo 2009/11/11
    あれ?ちょっと前にもnoopとかそんな感じの発表してなかったっけ? / (「Noop」はJavaVMをプラットフォームとした言語)
  • 1