タグ

golangに関するhfmgardenのブックマーク (68)

  • Golang に対応しました!|ロリポップ!マネージドクラウド|note

    こんにちは!マネージドクラウド開発チームからのお知らせです。 マネージドクラウドでは、WordPressPHPRuby on Rails、Node.jsの環境を簡単に作ることができましたが、この度・・・・・・ Golang が使えるようになりました!!!!(パチパチ)※利用はこちらから はじめ方は簡単。プロジェクトの追加ページから「Golang」を選択するだけです。 少し待つと、ゴーファーくんに会えます! 当にあっという間にGo環境を立ち上げることができます。 さらに今なら、2018年12月31日まで無料で使える「年内無料キャンペーン」を実施中です。 ぜひこの機会にマネージドクラウドでGolangをお試しください。

    Golang に対応しました!|ロリポップ!マネージドクラウド|note
  • Golang を使うなら Makefile を恐れるな - Frasco

    最近 Golang を使っています。開発中、私は go buildgo test を繰り返し手入力で実行するのに慣れてしまいました。これはついついやってしまう、私の悪い癖でした。引数がないようなシンプルなコマンドであれば、それほど辛くありません。しかし、タスクが複雑になってくれば、当然苦痛になってきます。逃げ道となりえる選択肢はほとんどありません。bash スクリプトは、あなたの仕事の役に立つでしょう。しかし、私としては makefile が役に立つと言いたいです。make ツールはこういった理由から生まれたものであり、 makefile には普段行う作業をまとめておくことができるからです。私は make の教祖になって、うまい書き方を教えたりすることはできませんが、今回の記事では、私のプロジェクトでよく使っている makefile をまとめておきました。では、やってみましょう。 #

    Golang を使うなら Makefile を恐れるな - Frasco
  • GoConで発表してきたのでついでにruntime以下の知識をまとめていく #golang #goroutine - niconegoto Blog

    3/25に行われたGoConで"How Communicating Sequential Goroutines Work"という発表をしてきました。 当初僕はCommunicating Sequential Processesについての話しをする予定だったのですが、時間内にとても発表できそうな内容ではなかったため、Concurrency全般についての話をしました。 そのため、ここではその際触れられなかったgoroutineの実装の話しやCSPの話しなどを含めてGoのruntimeについて何回かに分けてまとめていきたいと思います。今回は主にgoroutineについてです。 GoのConcurrency goroutineの説明に入る前にざっくりGoのConcurrencyについて説明します。 以下、GoConでの発表スライドにざっくりと沿いながら書いていきます。 speakerdeck.co

    GoConで発表してきたのでついでにruntime以下の知識をまとめていく #golang #goroutine - niconegoto Blog
  • How to ship production-grade Go

    Five must-haves for robust, debuggable production code. Shipping a production-grade Go application is not the same as shipping a Go application. Remember, the big difference between your code and your code in production is all the ways it can fail; production-grade code is code that recognizes that difference, and prevents or plans for it. So, how can you convert your Go to production-grade Go? Th

    How to ship production-grade Go
  • Peter Bourgon · A theory of modern Go

    2017 06 09 tl;dr: magic is bad; global state is magic → no package level vars; no func init The single best property of Go is that it is basically non-magical. With very few exceptions, a straight-line reading of Go code leaves no ambiguity about definitions, dependency relationships, or runtime behavior. This makes Go relatively easy to read, which in turn makes it relatively easy to maintain, wh

  • Crypto for Go Developers

    GopherCon 2016 You’ve heard "don’t implement your own crypto" and taken it to heart. Great news- you don't have to! Go has very robust crypto packages, but even the standard library offers plenty of ways to make mistakes. This talk show you the options and explains the right answers. Video: https://www.youtube.com/watch?v=2r_KMzXB74w Code: https://github.com/gtank/cryptopasta

    Crypto for Go Developers
  • Why Go? | Dave Cheney

    A few weeks ago I was asked by a friend, “why should I care about Go”? They knew that I was passionate about Go, but wanted to know why I thought other people should care. This article contains three salient reasons why I think Go is an important programming language. Safety As individuals, you and I may be perfectly capable of writing a program in C that neither leaks memory or reuses it unsafely

  • net/httpで作るGo APIサーバー #3

    この一連の記事ではnet/httpを主軸に据え、取替可能な部品となるライブラリを利用してAPIサーバーを作成する方法を紹介する。 net/httpで作るGo APIサーバー #1 net/httpで作るGo APIサーバー #2 今回はhttp.Handlerを使い、HTTPリクエストの共通処理を記述するミドルウェアについて書く。 ミドルウェアとは 特にそういった構造体や関数が標準ライブラリの中にあるわけではない。Goではミドルウェアを連鎖させていくことでHTTPリクエストを処理する際に必要な共通処理(e.g. ロギング、認証、panicリカバリ、etc)を記述していく。 ミドルウェアとは実際に何かというと、func(http.Handler) http.Handlerというシグネチャを持ち、引数として渡ってきたhttp.HandlerのServeHTTP(http.ResponseWri

  • net/httpで作るGo APIサーバー #2

    この一連の記事ではnet/httpを主軸に据え、取替可能な部品となるライブラリを利用してAPIサーバーを作成する方法を紹介する。 net/httpで作るGo APIサーバー #1 今回はhttp.Handlerインターフェースについて書く。このインターフェースを上手く利用する事がhet/httpでAPIサーバーを作る時にとても重要になると思ってる。 Goのインターフェース Goのインターフェースを網羅的に説明しようとすると長大な記事が書けてしまうので、今回はhttp.Handlerを理解していくのに必要な部分だけに絞って少し書く。以下のサンプルコードを元に話しを進める。 サンプルコード package main import "fmt" type person struct { Age int Name string } func (p person) greeting() string

  • net/httpで作るGo APIサーバー #1

    GoにはWebサービスを作るためのフレームワークがそれなりの数存在している。 Awesome Go - Web Frameworks ただ、そこまでデファクトというものがあるわけではなく、他の言語と比べると少々乱立気味なのではないかな、という感想を持っている。この記事ではnet/httpを主軸に据え、取替可能な部品となるライブラリを利用してAPIサーバーを作成する方法を紹介する。 長くなりそうなので記事を分けて紹介する予定だけど、今日はアプリケーショングローバルな値をどのように保持するのが良いのかについて書く。 アプリケーショングローバルな値 APIサーバーにはそのアプリケーションにおいてグローバルな値を保持しておきたいケースが多い。例えばAPIサーバーの設定情報だったり、外部APIにアクセスするクライアントだったり、DBへのコネクションだったり、loggerだったり。そういったものを初期

  • GolangでSlack Interactive Messageを使ったBotを書く - Mercari Engineering Blog

    SREの@deeeet です。 MercariではSlack Botを使い様々な業務の自動化を行っています。例えばメインのAPIのReleaseはBotによる自動化がされており、JPとUSとUKの3拠点で1日に10回以上のReleaseをSlack上で実現しています(これ以外にも多くの事例があります)。 これまでのSlack Botは基的には文字ベースでのやり取りが普通でした(グラフなどの画像を返答として利用することはあります)が、SlackはよりInteractiveなやりとりを実現できるInteractive Messageという仕組みも提供しています。これによりButtonによる決定やMenuによる選択といったアクションをユーザにとらせることができるようになります。 Buttonの仕組み自体は古くから提供されていましたが他のTeamへの配布が前提でありOAuthの仕組みを準備する必

    GolangでSlack Interactive Messageを使ったBotを書く - Mercari Engineering Blog
  • Big Sky :: Re: Go言語感想文

    幾らか言いたい事があったので。 Go言語感想文 - なるせにっき 序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうち id:tagomoris さんがどこかで話すと思うけれど、この コンポーネント ... http://naruse.hateblo.jp/entry/2017/06/02/203441 GoroutineとChannel Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 Goroutine はスレッドではありません。Goroutine はコ

    Big Sky :: Re: Go言語感想文
  • Go言語感想文 - なるせにっき

    序 最近、敵情視察を兼ねた仕事ととしてGoでアプリケーションを書いていた。このアプリケーションがどんなものかはそのうちid:tagomorisさんがどこかで話すと思うけれど、このコンポーネントがOSS化される予定はいまのところないので、そこで得た知見をここにまとめておくことにする。 GoroutineとChannel さて、GoといえばGoroutineとChannelですね。 Goroutineはようするにスレッドなんですが、文法と実装の支援でより気軽に使えるのが他の言語との違いでしょうか。なので、Goroutineをどれだけほいほい使うべきかというコスト感覚を身につけることがとても大事な気がします。Rubyなどとは気持ちを切り替えていく必要があるでしょう。ぼくはまだ切り替えきれていません。 もう一つがChannelですね。これは端的にはメッセージキューです。 Goは前述の通り同時に動く

    Go言語感想文 - なるせにっき
  • immortal

    A *nix cross-platform (OS agnostic) supervisor

    hfmgarden
    hfmgarden 2017/03/31
    go製のsupervisordみたいなものっぽい。
  • go-thumber-imagick

    3. もくじ  pixiv/go-thumber について  go-thumber + ImageMagick  GoImagick について  ImageMagick 使用上の注意  画像プロキシ使用上の注意

    go-thumber-imagick
    hfmgarden
    hfmgarden 2017/03/22
    pixiv night #2でみた資料だけど、すごく分かりやすく、知らない情報もあって良かった。
  • Go 言語で Apache Bench (ab) を実装してみた - takatoshiono's blog

    Go 言語で Apache Bench (ab) を実装してみた。 https://github.com/takatoshiono/go-ab なぜか 以前、wc コマンドを実装した。その時に ab も候補に入っていたけど、ab は http 通信をするプログラムなので、より単純な wc を選択したのだった。その次に何やるか、ということで http クライアントのコードを書く練習になりそうな ab を実装してみることにした。 期間は2016年10月から1ヶ月くらいやったあと、2ヶ月くらいブランクがあって、2017年1月に再開して一ヶ月くらいやっていた。コツコツとよく続いたと思う。 Apache Bench (ab) とは Apache Bench (ab) は HTTP サーバーの性能を測定するためのプログラムでシングルスレッドで動作する。Apache HTTP サーバーのソースコードに含

    Go 言語で Apache Bench (ab) を実装してみた - takatoshiono's blog
  • GoのためのGo

    Go言語はシンプルさを念頭にデザインされた言語です。仕様は単純明瞭さのために小さく収められていますが、そのため表現力に欠けているとか、コードが冗長になるという印象を持つ人も多いでしょう。有名なところでは、ジェネリクスや例外といった機能が(今のところ)存在しないことが問題にされることが多いようです。 一般に、ソフトウェアエンジニアリングというものは書かれる言語だけに依るものではありません。視点を拡げてGoを取りまくツール群を含めて見てみると、go fmt や goimports といったツールが広く使われていること、また go generate コマンドの存在などを見ても、Goという言語には、人間のプログラミングを機械によってさまざまな面から補助しようという態度があります。

  • 実践的なGAE/Goの構成について #golang #gcpja - Qiita

    2016年のGCPはFirebaseのアップデートから始まって東京リージョン開設と色々進化がありました。GAEよりはその他のGCPのサービスに注力していたのかなという印象です。 でもアジア初のGAEが日というのは大きなニュースでした! 2017年にもどんどんデータセンターを増やすみたいで色々楽しみですね。 ちなみにGAEのChannel APIは来年シャットダウンされるらしいです。移行先としてリアルタイムの通信はFirebaseを使うのが公式のオススメのようです。 そう言えばGoogle Cloud PlatformGoogle Cloudに改名してましたけどGCだと口頭でもわかりにくいしググラビリティも良くないのでGCPって言っていきたいです。 (追記: GCPでいいようです) そして題の今年のGCPのアドベントカレンダーでは、皆悩んでいるらしいGAE/Goの構成についてです。 前

    実践的なGAE/Goの構成について #golang #gcpja - Qiita
  • Golangにおけるinterfaceをつかったテスト技法 | SOTA

    最近何度か聞かれたので自分がGolangでCLIツールやAPIサーバーを書くときに実践してるinterfaceを使ったテスト技法について簡単に書いておく.まずはinterfaceを使ったテストの基について説明し次に自分が実践している簡単なテクニックをいくつか紹介する. なおGolangのテストの基については @suzuken さんによる「みんなのGo言語」 の6章が最高なので今すぐ買ってくれ! 前提 自分はテストフレームワークや外部ツールは全く使わない.標準のtestingパッケージのみを使う.https://golang.org/doc/faq#Packages_Testing にも書かれているようにテストのためのフレームワークを使うことは新たなMini language(DSL)を導入することと変わらない.最初にそれを書く人は楽になるかもしれないが新しくプロジェクトに参入してきたひ

  • 『みんなのGo言語 現場で使える実践テクニック』

    『みんなのGo言語 現場で使える実践テクニック』を著者のひとりである中島大一さんよりご恵贈に与りました。ありがとうございます。書評経験に乏しく、頂いてからずいぶん時間がかかってしまいましたが、読了の旨とその感想を書かせていただきたいと思います。 私は Go 言語にそこまで精通している者ではなく、A Tour of Go を一通り終えた後、Mackerel プラグイン開発でちまちまと書いている程度です。Mackerel プラグインは先人の書き方もあり、ひと通り文法を学んだ後なら見よう見まねでなんとかなりました。 しかし、それら見よう見まねのコードが Go らしく書けているのか、またパフォーマンスは十分なのか等、自分に足りていないものが徐々に気になってきていました。最近は C を書くことが増え、Go のソースコードを読む時間も減り、距離が出来つつあることも不安の種でした。 書は、そんな私がも

    hfmgarden
    hfmgarden 2016/10/11
    頑張って書評というものを書いてみましたm(_ _)m