Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

golangに関するlesamoureusesのブックマーク (30)

  • 本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita

    事の始まり それはD言語くんへの嫉妬から始まった。 D言語くんの繁殖についての仮説 lsを間違えてdlと入力してしまったときに、D言語くんが通り過ぎるコマンド くっ悔しい... そしてショボいAAで2番煎じ。 lsを間違えてgolと入力してしまったときに、Gopherが通り過ぎるコマンド書いた。 こんなはずじゃない! 僕らの Gopher 君はこんなチープじゃない! 明日来てください。物の Gopher をお見せしますよ。 — mattn (@mattn_jp) December 15, 2015 (当はもうちょっと前から作ってましたが) 物のGopher君とは そして今回、これを公開するに至った。 まずはこれをご覧頂きたい。 !!!!!!!!!!!!1 こいつ・・・ 動くぞ・・・ golang で書いたデスクトップマスコットです。起動すると画面のタスクバーの上をウロウロします。たま

    本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita
    lesamoureuses
    lesamoureuses 2015/12/17
    かわいい
  • Go1.5はクロスコンパイルがより簡単 | SOTA

    Go1.5はクロスコンパイルがより簡単 Cross compilation just got a whole lot better in Go 1.5 | Dave Cheney Go 1.5: Cross compilation — Medium Go言語の良さの一つにあらゆるOS/Archに対するクロスコンパイルがとても簡単に行えることが挙げられる.今まで(Go1.4以前)も十分に便利だったがGo 1.5ではさらに良くなる. 今までの問題を敢えて挙げるとターゲットとするプラットフォーム向けのビルドtool-chain準備する必要があるのが煩雑であった(cf. Go のクロスコンパイル環境構築 - Qiita) $ cd $(go env GOROOT)/src $ GOOS=${TARGET_OS} GOARCH=${TARGET_ARCH} ./make.bash --no-clea

    lesamoureuses
    lesamoureuses 2015/07/22
    “goはコンパイル前に必要な標準パッケージを検出しそれらをターゲットのプラットフォーム向けにビルドする”
  • grpcを(Goから)かるーく触った : D-7 <altijd in beweging>

    grpcをさらっと触ってみた。僕の個人的な結論から言うと、小規模なシステムにはいれるメリットあんまりないけど、複数チームでわりとバラバラに開発をしてるけど同じRPCを叩く必要があり、なおかつそれなりのトラフィックがあるなら有効そう。 他の言語の事は知らん。とりあえずGoでさわる。github.com/grpc/grpc-commonをチェックアウトして、サーバーとクライアントを起動する。ドキュメント読んでるとProtocol Buffersの話とかでてくるけど、動かしたいだけなら全部忘れてよし。 $ cd go/greeter_server $ go run main.go $ cd go/greeter_client $ go run main.go これだけだと一回RPCが走るだけでつまらないので、client側を変えて100 goroutineでぼちぼちたっぷりのコールをするようにす

    grpcを(Goから)かるーく触った : D-7 <altijd in beweging>
    lesamoureuses
    lesamoureuses 2015/02/27
    チュートリアルだ!
  • Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。

    grpc/grpc · GitHub gRPC - An RPC library and framework https://github.com/grpc/grpc gRPCGoogle が開発しているRPC(リモートプロシージャコール)のライブラリとフレームワークで、通信層は HTTP/2 を介して行われます。 データ層については、固定されている訳ではなくあくまでデフォルトで Protocol Buffers が使われる様になっています。使用出来るプログラミング言語は現在、C++, Node.js, Python, Ruby, Objective-C, PHP, C# となっています。 実はこれら以外にも grpc-go という、なぜかこのリストに加えられていないオフィシャルリポジトリがあります。 grpc/grpc-go - GitHub gRPC-Go The Go impl

    Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。
    lesamoureuses
    lesamoureuses 2015/02/27
    チュートリアルだ!
  • Goで再帰使うと遅くなりますがそれが何だ - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のうまい棒です。昼間にTwitter眺めてたら次のような記事を見かけました。 この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他) - Blank File 結果はあくまでフィボナッチ数列をナイーブに実装した場合なんで、まあ明らかに遅くなるよなあと予想通りの実行結果でした。 件のプログラム ナイーブにフィボナッチ数列を実装してますね。 package main import "fmt" func fib(n int) int { if n < 2 { return n } return fib(n-2) + fib(n-1) } func main() { fmt.Println(fib(42)) } これを実際にビルドして実行するとどれくらいかかるかというと、だいたい手元で2.5秒以上かか

    Goで再帰使うと遅くなりますがそれが何だ - YAMAGUCHI::weblog
  • Scala vs. Go TCP Benchmark | Kifi Engineering Blog

    We recently found ourselves in need of some load balancing with a few special features that weren’t available off the shelf quite the way we wanted. We thus set out on a little investigation on what it would take to write our own software load balancer. Since most of our code base and expertise is in Scala, building this on top of the JVM would be a natural choice. On the other hand, a lot of pe

    Scala vs. Go TCP Benchmark | Kifi Engineering Blog
    lesamoureuses
    lesamoureuses 2014/12/11
    “To our surprise, Scala did quite a bit better than Go, with an average round trip time of ~1.6 microseconds (0.0016 milliseconds) vs. Go’s ~11 microseconds (0.011 milliseconds)”
  • #10 Consulと連携するpull型デプロイツール stretcher - KAYAC Engineers' Blog

    tech.kayac.com Advent Calendar 2014 10日目担当の @fujiwara です。 最近書いている stretcher というデプロイツールの紹介をしたいと思います。 長いので3行で push型デプロイはホスト台数が増減しやすい環境に適さない 各種問題を解決するpull型デプロイツールを書いた Consul と連携するよ 中央ホスト配布(push)型デプロイの問題点 カヤックの自社サービスでは久しく Archer というツールを利用し、中央ホストから各デプロイ対象ホストrsync でファイルを配布する形のデプロイを行っていました。ここではこれを push 型と呼びます。 push型のデプロイは、ホスト台数が頻繁に増減する環境で以下のような問題があります。 新しくホストが起動してきた場合に、中央ホストからデプロイを行ったあとでないと (古い状態で起動してい

    #10 Consulと連携するpull型デプロイツール stretcher - KAYAC Engineers' Blog
    lesamoureuses
    lesamoureuses 2014/12/10
    便利そう “上記のような問題を解決する、pull型のデプロイツール stretcher を Go で書きました。 github.com/fujiwara/stretcher ”
  • ErlangとGolangを比較してみる

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    ErlangとGolangを比較してみる
    lesamoureuses
    lesamoureuses 2014/12/07
    ぱっと見、ランくらいしか共通点がなさそう
  • Big Sky :: golang で最近お気に入りの WAF「Goji」

    Web アプリケーションを書くときは今までずっと 小さい物は web.go 大きい物は net/http というスタンスを何故か貫いて来たんだけど、最近ようやく web.go をやめて goji を使う様になった。 Goji A web microframework for Golang https://goji.io/ 理由としては Sinatra ライクでありながら高度な正規表現マッチも使えるルータ それでいて net/http コンパチ 簡単に実装出来るミドルウェアスタック グレースフルシャットダウン そして何と言っても速い ミドルウェアも一般的な Web アプリケーションを作るには十分な物が既に揃ってます。 それでもやっぱり大きめな物は net/http で書くんだけど、小規模から中規模な物を一気にゴリゴリっと書く場合には goji は便利です。もちろん Windows でも動きま

    Big Sky :: golang で最近お気に入りの WAF「Goji」
    lesamoureuses
    lesamoureuses 2014/10/21
    “そして何と言っても速い”
  • Go's Declaration Syntax - The Go Programming Language

    Rob Pike 7 July 2010 Introduction Newcomers to Go wonder why the declaration syntax is different from the tradition established in the C family. In this post we’ll compare the two approaches and explain why Go’s declarations look as they do. C syntax First, let’s talk about C syntax. C took an unusual and clever approach to declaration syntax. Instead of describing the types with special syntax, o

    Go's Declaration Syntax - The Go Programming Language
    lesamoureuses
    lesamoureuses 2014/10/12
    型を変数の後ろに書くのは左から右に読めるからという話 “you just read them left to right. Go takes its cue from here, but in the interests of brevity it drops the colon and removes some of the keywords”
  • How to contribute to a Go open source git repo

    Photo Credit: t1ggr Dependencies. They’re knotty, and there really is no straight-forward, one-size-fits all solution. Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. —Wikipedia I recently saw a comment on GitHub: When I run [the tests] they always pass, but

    How to contribute to a Go open source git repo
  • GithubのGo言語プロジェクトにPull Requestを送るときのimport問題

    TL;DR fork元(オリジナル)をgo getしてその中で作業,forkした自分のレポジトリにpushしてPull Requestを送る. 問題 Github上のGo言語のプロジェクトにコミットするとき,cloneの仕方で若干ハマることがある.普通のOSSプロジェクトの場合は,forkしてそれをcloneしてpush,Pull Requestとすればよい.Go言語のプロジェクトでは,同じレポジトリの中でパッケージを分け,それをimportして使ってるものがある.そういう場合にforkしたものをそのままcloneすると,importの参照先がfork元の名前になりハマる. 例えば,github.com/someone/toolがあるとする.このレポジトリはgithub.com/someone/tool/utilsという別パッケージを持っており,mainがそれを使っているとする.つまり以下

    lesamoureuses
    lesamoureuses 2014/07/24
    なるほど “そういう場合にforkしたものをそのままcloneすると,im­portの参照先がfork元の名前になりハマる”
  • ここ(Windows)に「☭」という名前のファイルがあるじゃろ? - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    ここ(Windows)に「☭」という名前のファイルがあるじゃろ? - Qiita
    lesamoureuses
    lesamoureuses 2014/07/22
    “goの標準ライブラリがUTF8をUTF16に変換してAPIに渡してくれるんじゃ。これだけでも go を使う価値ありじゃろ?”
  • ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ

    ttyrec で録画したデータを使ってターミナル上で再生しつつ、そのスクリーンキャプチャを使ってアニメーションGIFを生成するツールをGoで作ってみた。 https://github.com/sugyan/ttygif Releases Mac, Linux Desktopで動作。再生速度はオプションで変更可能。 背景 percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ のような記事を書いたりする際に、ターミナル操作を録画してGIFアニメにしたい需要があり。 そういった用途に使える汎用のデスクトップ録画ツールとしてはLICEcapやGifzoなどがある。 Cockos Incorporated | LICEcap http://gifzo.net/ これらはWindows, OSXあたりが対象で、Linuxの場合はまた他のツールがあるらしい(よく知らない)。 汎用的なキ

    ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ
    lesamoureuses
    lesamoureuses 2014/07/19
    へーへー “ところで Go には標準パッケージとしてGIF画像を扱うものが用意されている。 gif - The Go Programming Language”
  • Open Sourcing Our Go Libraries

    Dropbox owes a large share of its success to Python, a language that enabled us to iterate and develop quickly. However, as our infrastructure matures to support our ever growing user base, we started exploring ways to scale our systems in a more efficient manner. About a year ago, we decided to migrate our performance-critical backends from Python to Go to leverage better concurrency support and

    Open Sourcing Our Go Libraries
    lesamoureuses
    lesamoureuses 2014/07/09
    基本はPythonのままと。 "For clarification, Dropbox will continue to develop majority of its features in Python. We have only migrated performance critical components to Go."
  • 例えば、pecoをビルドしない - Qiita

    pecoが浸透し始めてる。すばらしい!でも同時に「pecoをビルドしようと思ったらgoが入っていなかった…」というポストもちらほら見かけるようになった。 qiitaに書いてある記事も結構goをインストールしてコンパイルするところから触れているものが多い。 これらが「ついでだからgoをインストールしよう」という意図なのか「pecoはgoがないとインストールできない」と思ってるからなのかわからないのでこの記事を書くことにした。 pecoを使うだけならgoをインストール必要する必要はない pecoの開発版を使いたいのでは無い限り、go体をインストールする必要はありません。go getする必要もありません リリースファイルをインストールする READMEにもあるようにpecoにはリリース版のファイル群があります。この中から使いたいバージョンのリリースを探してファイルを解凍し、pecoのバイナリを

    例えば、pecoをビルドしない - Qiita
    lesamoureuses
    lesamoureuses 2014/07/07
    “「ついでだからgoをインストールしよう」という意図なのか「pecoはgoがないとインストールできない」と思ってるからなのかわからないのでこの記事を書くことにした”
  • Farewell Node.js (翻訳) - from scratch

    「visionmedia、Node.js辞めるってよ」って事で、今回はこの話の翻訳ですね。 Farewell Node.js — Code adventures — Medium 最近のnode.jsはホントTJ Fontaine のリーダー就任から始まってNode.jsでできたエディタであるAtomがreleaseされたり、gemのモジュール数をnpmのモジュール数が抜いたり、socket.io v1.0が出たりと色々あるんですが、今回の話は飛び抜けて衝撃的だったなぁと思ってます。 一応知らない方のためにvisionmediaについて説明しておくと、以下のモジュールは全てvisionmedia製です。 express (Web Applicaiton Framework) mocha (Testing Framework) jade (hamlライクなtemplate engine) s

    Farewell Node.js (翻訳) - from scratch
    lesamoureuses
    lesamoureuses 2014/07/06
    “この話の教訓は、あなた自身の小さな思いを滞らせちゃいけないってことだ! 他のものも見ようぜ、あなたがもう一度プログラミングを楽しむことができるかもしれない”
  • Go言語のコードレビュー

    SoundCloudが2年半ほどGo言語を利用したプロダクトを番で運用した知見をGopherConで発表していた(“Go: Best Practices for Production Environments”).その中で“CodeReviewCommentsというGoogleでのGo言語のコードレビューにおいてよくあるコメントをまとめたサイトが紹介されていた. 最近Go言語を書くようになり,使えそうなのでざっと抄訳してみた.“リーダブルコード”的な視点も含まれており,Go以外の言語でも使えそう. gofmtでコードの整形をすること コメントは文章で書くこと.godocがいい感じに抜き出してくれる.対象となる関数(変数)名で初めて,ピリオドで終わること // A Request represents a request to run a command. type Request str

  • 私家版のgoでホットデプロイの仕組み、もしくは椅子もマサカリも投げられたくないときの気遣い : D-7 <altijd in beweging>

    なんかごく一部に補足されているので、念のため軽く説明しておきます。 masahiro nagano@kazeburo某所のlestrratさんのgolangなアプリはhot-deployが可能になってる。サーバはserver_starter経由で起動されていて、バイナリ消してHUPを送ると自動でビルドしなおしてプロセスを入れ替えてくれる。便利 2014/04/30 12:18:31 これ、ベストな方法だとは思っていないんだけど、最初にこれを書いた当時の考え方は以下の通り: これは自分の部署で初めて 番に設置するgoアプリである一次対応をする人は自分とは限らない細かいコード内容の修正はともかく、明らかなバグっぽいものの修正(例:SQL文の変更)などを自分以外の人間が施した後にサーバーを簡単に再コンパイル+再起動するする方法がないと椅子が降ってくる事が容易に予想される Apache::Log

    私家版のgoでホットデプロイの仕組み、もしくは椅子もマサカリも投げられたくないときの気遣い : D-7 <altijd in beweging>
    lesamoureuses
    lesamoureuses 2014/05/02
    たくさん移植したことがわかった
  • Big Sky :: Golang のオフィシャルが提供するインタフェースまとめ

    golang が提供するインタフェースの中で代表的な物の使い方をまとめてみる。 io.Reader type Reader interface { Read(p []byte) (n int, err error) } ご存じ io.Reader。このシグネチャの Read を実装しておけば golang のありとあらゆる入力機能に対して自分のコードを提供する事が出来る。 例えば永遠に「おっぱい」と言い続ける Reader だと以下の様な実装になる。 package main import ( "io" "os" ) var text = []rune("おっぱい") type OppaiReader struct { n int } func (r *OppaiReader) Read(p []byte) (int, error) { in := len(p) nw := 0 for i

    Big Sky :: Golang のオフィシャルが提供するインタフェースまとめ
    lesamoureuses
    lesamoureuses 2014/05/01
    これは良いリファレンス