タグ

GoLangとGolangに関するramtigaのブックマーク (102)

  • Big Sky :: 開発速度を加速するツール、goemon を書いた。

    SPA (Single Page Application) を書いていると、いちいちブラウザをリロードするのが面倒で、かつ js を minify してページをリロードするといった面倒な手間を出来れば何も設定せずにやりたい(もしくは微量な設定だけでやりたい)、という思いから goemon というツールを書きました。 mattn/goemon - GitHub https://github.com/mattn/goemon goemon は、コマンドラインツールとして使います。まず $ goemon -g > goemon.yml で goemon.yml を生成します。個人的にカスタマイズしたい人は生成されたファイルを変更して使って下さい。 # Generated by goemon -g livereload: :35730 tasks: - match: './assets/*.js'

    Big Sky :: 開発速度を加速するツール、goemon を書いた。
  • Big Sky :: golang のリファクタリングには gofmt ではなく、gorename を使おう。

    今まで golang で変数名や関数名のリネームには gofmt の -r オプションを使ってきましたが、これからは gorename を使いましょう。 文法を解析して正しくリネームしてくれるので、gofmt で起き得た誤爆も心配ありません。インストールは以下の様に実行します。 $ go get golang.org/x/tools/cmd/gorename 使用方法は以下の通り。 gorename: precise type-safe renaming of identifiers in Go source code. Usage: gorename (-from <spec> | -offset <file>:#<byte-offset>) -to <name> [-force] You must specify the object (named entity) to rename

    Big Sky :: golang のリファクタリングには gofmt ではなく、gorename を使おう。
  • Go言語でテストしやすいコマンドラインツールをつくる

    記事はGo Advent Calendar 2014の18日目の記事です. Go言語は,クロスコンパイルや配布のしやすさからコマンドラインツールの作成に採用されることが多い.自分もGo言語でいくつかのコマンドラインツールを作成してきた.例えば,GitHub Releaseへのツールのアップロードを簡単に行うghrというコマンドラインツールを開発をしている. コマンドラインツールをつくるときもテストは重要である.Go言語では標準テストパッケージだけで十分なテストを書くことができる.しかし,コマンドラインツールは標準出力や標準入力といったI/O処理が多く発生する.そのテスト,例えばある引数を受けたらこの出力を返し,この終了ステータスで終了するといったテストは,ちゃんとした手法が確立されているわけではなく,迷うことが多い(少なくとも自分は結構悩んだ). 記事では,いくつかのOSSツール(得に

  • golang で streem を実装した。 - Qiita

    この記事は Go Advent Calendar 2014、16日目の記事です。 はじめに Matz さんが streem という、ストリーム指向言語の開発を始めるらしいです。 まだ文法の設計段階ではあるけど、それなのにかなりの量の pull-req がバンバンと来てて凄いなーと思いつつも「この pull-req 量だと僕には出番無いなー」と思ったので、README.md に書かれているサンプルだけを頼りに streemgolang で実装してみました。 先日はネタで streem のマネをして yacc 定義部分だけ公開していましたが、日ネタが無い中にTLがヒートアップして焦りに焦って勢いで実装してみました。いやはや異様な追い込みを感じます。。。 まずは streem を知る streem は README.md に書かれている通り並列実行を行いつつストリームを処理する言語です。

    golang で streem を実装した。 - Qiita
  • Goサーバのモニタリング - Qiita

    5日目担当の@cubicdaiyaです。先月末のGoConではGoのカンファレンスなのにほぼnginxをビルドする話しかしてなかったので今日はちゃんとGoの話をします。 Goで書くサーバプログラム Goではサーバプログラムを書くためのユーティリティが豊富に揃ってる上に、ゴルーチンやチャネルを利用することで高いパフォーマンスが要求される環境でも十分な性能を発揮することができます。いつだったか「あれはHTTPサーバ書くための言語ですよ」なんて話をとあるエンジニアから聞いたことがあるくらいです。 例えば「Hello, World!」を返すだけのHTTPサーバであれば標準ライブラリのnet/httpを利用することで以下のように書くことが出来ます。 package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter,

    Goサーバのモニタリング - Qiita
  • Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita

    概要 k0kubun/ppという、pretty printライブラリを作った。 任意の型のオブジェクトをpp.Print()に渡すと色つきでpretty printしてくれるという非常にシンプルなもの。 作った背景 fmt.Printf("%#v", ...)等ではわかりづらい複雑なmapやstructをdebug printするときは、pretty printを使うと便利。既存のpretty printライブラリには、GitHubで人気なものだとdavecgh/go-spewやkr/prettyなどがある。 いままではGoでデバッグのために複雑な構造をダンプするときこれらを使っていたのだが、必要以上に型の情報が書かれていたり、大きなものだと白黒なのでパッと見てわかりづらいなどの問題があった。 そこで、型やフィールドごとに別の色をつけることで視認性を高め、ビルトインの型情報は色にまかせて省

    Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita
  • Go Conference 2014 autumn を終えて #gocon - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のカール・ライナーです。2013年の春から数えて4回目のGo Conferenceですが、今回はこれまでのスケジュールと異なり、午前中のキーノート2をはじめ、初めて1日通してプレゼンを行う気のカンファレンススタイルとなりました。 TL;DR 何より僕自身が一番楽しめましたし、運営してくださった方々、また一緒に盛り上げてくれたコミュニティのみなさん、ありがとうございました。また次のGoConが開催されることを楽しみにしています。 TLとプレゼンテーションまとめ スライドへのリンクがないものは公開され次第追って追加します。 TL Go Conference 2014 autumn - Togetterまとめ キーノート Rob Pike Goに入ってはGoに従え (鵜飼さん) プレゼンテーション App Engine for Golang Performance

    Go Conference 2014 autumn を終えて #gocon - YAMAGUCHI::weblog
  • Goに入ってはGoに従え

    Goに入ってはGoに従え Go Conference 2014 autumn 30 November 2014 鵜飼文敏 Fumitoshi Ukai Google Software Engineer - Chrome Infra team Go Readability Approver Go言語のReadabilityをレビューするチーム コードレビューを通じてGo言語のよいコードの書きかたを教える メインのプロジェクトとは別のコードをレビュー 一年前くらい前に参加して 20% timeで 200くらいのCLをレビューしました 今は一日3CLくらい、週に12CLほどのペースでやっています Gopher by Renée French 2 Readabilityスキルとは? プログラミング言語のリテラシー 作法にかなったやりかた で、読んだり書いたりできる能力 言語ごとに作法が違う C++

  • Reddit - Dive into anything

    Ask questions and post articles about the Go programming language and related tools, events etc. As soon as I saw the Go 1.4 beta and the option GOOS=android, I could not resist not to try. Installation for all other architectures was OK, the only problem was with the android. After several hours compiling, linking, resolving errors, it worked :) I put apk on my S3 running on 4.4.4 Given that this

  • Go vs. Python

    Go vs. Python Learning Go by comparing how you'd do it in Python Check out this blog post for the backstory and ability to comment. Or comment by filing issues on GitHub.

  • [翻訳]なんでGoってみんなに嫌われてるの? - Qiita

    原文:http://npf.io/2014/10/why-everyone-hates-go/ 酔っぱらった勢いで訳出してるので、違ってたら修正リクエストください。 訳者の1行でわかるサマリ それって、Goのシンプルな言語哲学が、ML系言語好きのアイデンティティを挑発しちゃってるからじゃないの? いや、実際みんなって訳じゃないんだろうけど。最近、なんてGoをみんなそんなに批判的なのかって言うquoraの質問が出たもんで。(わるい、普段はquoraへのリンクを張らないんだけど、それがこの記事のきっかけだからね。)この質問への回答を見るまえにもう、僕には、次みたいなことが書かれていることがわかってた: Goは70年代に立ち往生した言語だ Goは40年間に及ぶプログラミング言語研究の成果を無視してる Goはブルーカラーの凡夫のための言語だ Go使いはJava1.0で仕事しても大丈夫なんだろう。

    [翻訳]なんでGoってみんなに嫌われてるの? - Qiita
  • Golang でのウェブ開発を考えてみる - Qiita

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

    Golang でのウェブ開発を考えてみる - Qiita
  • GitHub - a8m/golang-cheat-sheet: An overview of Go syntax and features.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - a8m/golang-cheat-sheet: An overview of Go syntax and features.
  • GolangTestNight(Gunosy.go #10)に参加してきた - 絶品ゆどうふのタレ

    http://gunosygo.connpass.com/event/8485/ Goのテストに関する話を聞いてきました。 テスト周りは正直まだまとめ記事読んだ程度しかキャッチアップできていなかったので、周囲がどんな方針でテストしているか、とかも含めて勉強したいと思っていたところ、ちょうどいいタイミングで勉強会があったので参加してきました。 まとめと感想 先に。 みんなわりと、素直にGoの用意した仕組みに則ってやってる。 とはいえAssertionないのつらいよね、とか、mockの再実装辛いよね、というのは皆思ってるみたい。 Web APIで使ってます、というパターン多いみたい。 最終的に懇親会ではインフラの方とopsworksの話で盛り上がってた(ノ∀`) というわけで、以下メモ。資料URLが見つかったものは貼ってます(`・ω・´) Goのテストの基 t_matsuwitterさん そ

    GolangTestNight(Gunosy.go #10)に参加してきた - 絶品ゆどうふのタレ
  • Meta Go

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Meta Go
  • Go のスライスの内部実装 - Block Rockin’ Codes

    History 14/05/09: Merge2 を修正しました。http://twitter.com/jbking/status/464659353945911297 Intro Go のスライスは、いわゆる LL 系の言語が持つ可変長配列の実装と似ています。 よって LL のような手軽な扱いをすることもできますが、その内部実装を知ることでより効率の良いメモリハンドリングができ、パフォーマンスを改善や、メモリーリークの防止などに繋がる可能性があります。 この辺は SWrap というライブラリを作りながら勉強したので、今回は、この Go のスライスの内部実装を解説します。 Go の配列 スライスを知るためには、まず配列について知っておく必要があります。 Go の配列は固定長のため、以下のように長さを指定して宣言します。 var arr [4]int func main() { arr =

  • チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋

    簡単なチャットプログラムは、ネットワークプログラミング用のフレームワークでは定番のサンプルプログラムです。 echo サーバーが Hello World とするなら、チャットは FizzBuzz といったところでしょう。 とりあえず動くだけのチャットならだれでもすぐに作れるようになりますが、まじめにチャットを作ることで、 ネットワークプログラミングで考えないといけない点やエラー処理の重要な基礎を学ぶことができます。 ということで、 Go でシンプルなチャットを実装してみました。 (ソースコード) 以降、何を考えてどういう設計を採用したのかを解説していきます。 考慮すべきポイント 特定のクライアントへの送信に長時間待たされた場合に、他のクライアントへの送信が遅れないようにする。 クライアントを切断するのは、 (1)ルーム側から kick する場合, (2)受信エラー, (3)送信エラー の3

    チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋
  • Goで使ってみたライブラリとツールの感想をそこはかとなく書くよ - 絶品ゆどうふのタレ

    会社の方でRDS TestRunnerというツールをGoで実装したわけですが、今回の実装にあたってGoの色々なライブラリ/ツールを見て回った印象として、まだまだ群雄割拠状態だなーという感じでした。 これからスタンダードが決まっていくのでしょうが、今後も考えて各ライブラリ等を利用した感想を共有しておくのは有益そうなので、書き残しておくことにします。 ちなみに、今回はかなりの率でHashiCorpのmitchellhさん作のライブラリやツールを利用していますw なので、ほぼこの方の紹介になってますね。。。 コードもterraformなどの実装をかなり参考にさせていただきました。 やはりGoでのプロダクト経験が豊富な人の実装は、色々参考になりますね(^^ゞ ライブラリ HCL (HachiCorp Configuration Language) 今回のConfig書式とそのパーサライブラリには、

    Goで使ってみたライブラリとツールの感想をそこはかとなく書くよ - 絶品ゆどうふのタレ
  • Go言語のスライスを理解しよう

    バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)

    Go言語のスライスを理解しよう
  • Web+DB Press vol.82 で Go の特集を書かせて頂きました #wdpress - Block Rockin’ Codes

    update 2015/4/20: 技術評論社さんのおかげで、 無料で公開されることになりました! intro タイトルのとおり、 Web+DB Press の vol.82 に 「はじめての Go」 というタイトルで特集記事を書かせていただきました。 Web+DB press vol.82 届いた。特集で「はじめての Go」を担当させていただきました。 初見ももちろん、「Tour of Go の次」を探していた方の参考になれば幸いです! #wdpress #golangjp pic.twitter.com/UbUue18wlp— Jxck (@Jxck_) August 20, 2014 WEB+DB PRESS Vol.82 作者: 山口徹,Jxck,佐々木大輔,横路隆,加来純一,山伶,大平武志,米川健一,坂登史文,若原祥正,和久田龍,平栗遵宜,伊藤直也,佐藤太一,高橋俊幸,海野弘

    Web+DB Press vol.82 で Go の特集を書かせて頂きました #wdpress - Block Rockin’ Codes