タグ

goに関するbokuwebのブックマーク (18)

  • Data Science In Go: A Cheat Sheet

    Cheatography https://cheatography.com Download This Cheat Sheet (PDF) CommentsRating: () Home > Programming > Golang Cheat Sheets Data Science In Go: A Cheat Sheet by chewxy Introd­uction Go is the future for doing data science. In this cheats­heet, we look at 2 families of libraries that will allow you to do that. They are: gorgon­ia.o­rg­/tensor and gonum.o­rg­/v1­/go­num/mat . The gonum librari

    Data Science In Go: A Cheat Sheet
    bokuweb
    bokuweb 2019/08/10
  • go2ll: A toy Go compiler with LLVM

    go2ll: A toy Go compiler with LLVM Go Sheffield, 7th March 2019 Peter Waller GitHub: pwaller Gophers Slack: pwaller

    bokuweb
    bokuweb 2019/03/11
  • Using GraphQL with Microservices in Go - Outcrawl

    A few months ago, a really nice Go package vektah/gqlgen for GraphQL became popular. This article describes how GraphQL is implemented in "Spidey", an exemplary microservices based online store. Some parts listed below are missing, but complete source code is available on GitHub. Architecture Spidey encompasses three services that are exposed to the user through a GraphQL gateway. Communication wi

    Using GraphQL with Microservices in Go - Outcrawl
  • Failure is your Domain

    By Ben Johnson, June 04, 2018 — 14 min read · pdf Go’s paradox is that error handling is core to the language yet the language doesn’t prescribe how to handle errors. Community efforts have been made to improve and standardize error handling but many miss the centrality of errors within our application’s domain. That is, your errors are as important as your Customer and Order types. An error also

    Failure is your Domain
  • A pattern for Go tests

    I used to spend an unreasonable amount of time thinking about how to begin writing a test. A deconstructed ship — Deutsches Technikmuseum, BerlinI googled test patterns in Go.Many people seem to rely on external dependencies for assertions. And in fact, I understand that generic (aha!) functions like isNil(v interface{}) bool can initially bring some speed to the development. But in the long run,

    A pattern for Go tests
  • Goでクリーンアーキテクチャを試す | POSTD

    依存がなく、テスト可能であり、クリーン。 Uncle Bobのクリーンアーキテクチャの概念を読んだので、これを私はGoで実装してみたいと思います。このアーキテクチャは、自分たちの会社である Kurio – App Berita Indonesia で使っていたものに似ていますが、少し違っています。大きな違いはなく、概念は一緒なのですが、フォルダ構造が違っています。 サンプルのプロジェクトとして、記事をCRUDで管理するリポジトリを https://github.com/bxcodec/go-clean-arch にpushしてあります。 * 免責条項 ここで使われているどのライブラリあるいはフレームワークも、利用を特別推奨しているものではありませんので、ご自身あるいはサードパーティによる同じ機能のものと入れ替えることが可能です。 基的な考え方 ご存知のように、クリーンアーキテクチャで設計

    Goでクリーンアーキテクチャを試す | POSTD
  • goで書いたコードがヒープ割り当てになるかを確認する方法 · hnakamur's blog

    2018-01-30 はじめに Allocation Efficiency in High-Performance Go Services · Segment Blog という記事を読みました。素晴らしいのでぜひ一読をお勧めします。 この記事は自分の理解と実際に試してみた結果のメモです。 一番のポイントは go build -gcflags '-m' のようにオプションを指定してビルドすればコードのどの箇所でヒープ割り当てが発生したかを確認できるということです。 pprof や go test -benchmem でもヒープ割り当ての発生回数は確認できますが、上の方法ではコードのどこ(何行目の何カラム目)でヒープ割り当てが発生したかとなぜ発生したかの理由を確認できます。 元記事の内容メモ 冒頭にあげた記事を読んで私が理解した内容のメモです。 元記事の全ての内容を書いているわけでないので、元

    bokuweb
    bokuweb 2018/01/30
  • GolangのgoaでAPIをデザインしよう(基本編) - ぺい

    goaはいいぞ! Golanggoaの勉強に役立つ情報まとめ - ぺい goaの情報をもっと見たい方は、上のリンクから確認してください goAPIを作成する場合は、必ずといっていいくらいgoaでやっている私ですが、日ではあまり使っている人が居ません。恐らくこの理由は日語の情報があまり無いことやシンプルなサンプル集がないからかもしれない・・・と思いまして、軽量なサンプルを定期的に紹介していくことにしました。 API設計フェーズ goaは最初に設計を行ってから、その設計書を元に実装を行っていきます。設計はDSLと呼ばれるもので、最初はこの定義に慣れないですが、読み方さえ分かれば容易にAPIを設計出来ます。 何が嬉しいの? 例えば、GET /users/:IDというエンドポイントがあるとします。どのようなロジックを組む必要があるでしょう? 例 curl http://localhost/

    GolangのgoaでAPIをデザインしよう(基本編) - ぺい
  • Comparing Elixir and Go

    Elixir and Go have both grown significantly in popularity over the past few years, and both are often reached for by developers looking for high concurrency solutions. The two languages follow many similar principles, but both have made some core tradeoffs that affect their potential use cases. Let's compare the two by taking a look at their backgrounds, their programming styles, and how they deal

    Comparing Elixir and Go
  • Building a Go Microservice with CI/CD

    I picked up most of my skills during the years I worked at IBM. Was a DBA, developer, and cloud engineer for a time. After that, I went into freelancing, where I found the passion for writing. Now, I'm a full-time writer at Semaphore. In this tutorial, you will learn how to build traditional web applications and a Go microservice with the Gin framework. Gin is a framework that reduces boilerplate

    Building a Go Microservice with CI/CD
  • Goのアンチパターン

    Go書いててなんとなく見えてきた Goでやっちゃいけないパターン WAF導入してらくらくWebアプリ WAF自体が現在群雄割拠状態。 WAF毎にハンドラインターフェースが違うので既存コードつなぐにはラッパーが必要。 どのWAFもLL言語に比べるとまだまだフィーチャーの網羅範囲が狭い。 なのでもちろんLL言語ほど楽には書けないことが多い。 リフレクション使いまくりでトータル性能はLL言語並みに遅いのもある。 Go1.7のcontextパッケージの導入で標準のHTTPハンドラが復権する可能性があり更に荒れる予想。 追記: 楽できるのを期待してWAFを導入するの「やっちゃいけない」とまでは言い過ぎだったかもしれないけれど例のsqlでPrepareを正しく使えていないで性能出なかった件とか、当面WAFを使うなら自分で概ね中身を理解して使う覚悟が必要。 構造体メソッドにロジックを詰め込む Goの思想

    bokuweb
    bokuweb 2016/08/01
  • Go で API サーバーを開発してきて1年が過ぎました | カメリオ開発者ブログ

    白ヤギの開発者の森です。 白ヤギでは Go 言語でニュース記事のキュレーションをする カメリオ API というサービスを開発しています。約1年2ヶ月前、Go を使って開発し始めたときに当時調べた内容を整理して以下の記事を書きました。 Go言語で API サーバーを開発する 1年以上に渡り開発を継続してきて変わったこと、変わってないことなどをざっくばらんにまとめてみます。たまたま過去の記事のはてブコメントを見返していて 以下のコメント を見つけました。 最近 golang 導入事例増えて来たけど、導入後一年くらいのメンテナンスフェーズな事例について聞いてみたい。継続的デリバリーみたいなの。まだ早いのかな? まだまだメンテナンスフェーズにはなっていなくて現在も活発に開発中ですが、継続的デリバリーについて白ヤギでは特別なことをしてなく、ansible を使ってデプロイしているのみです。Go 1

    Go で API サーバーを開発してきて1年が過ぎました | カメリオ開発者ブログ
  • 【Go】fmt.Print とビルトイン関数の print の違い - Qiita

    はじめに 以前、fmtパッケージにて提供されるprint系の関数についての投稿を行いました。 【Go】print系関数の違い こちらの投稿にて、ビルトイン関数の print, println についても紹介してみては?とコメントをいただいたので、調べてみました。 ビルトイン関数のprint, printlnについては私自身の実用経験がないので、単純に調べたことをまとめただけになります。 間違い等あればご指摘ください。 fmt.Print() について fmt.Print()については「【Go】print系関数の違い」にてまとめさせていただきましたので、そちらをご参照ください。 ビルトイン関数 print, println について まずは print について公式のドキュメントを見てみましょう。 builtin - The Go Programming Language The print

    【Go】fmt.Print とビルトイン関数の print の違い - Qiita
    bokuweb
    bokuweb 2016/07/15
  • Go言語のパッケージのテストでプライベートな関数や変数を呼び出すには - memoメモ

    Go言語でパッケージのテストを書く時に、プライベートな関数(隠蔽した関数)や定数を呼び出したいことがたまにあります。 これを実現する方法をメモ。 プライベートって? パッケージの内容は以下のような構成になっているとします: eg.go eg_test.go ここで: eg.go: package eg import () func foo() string { return "foo" } という実装があります。関数名のはじまりを小文字fooにし、意図的に関数を外部から隠蔽しています。これでプライベートになります。(というか、基は小文字で隠蔽し、公開したい場合は大文字にするといった使い方になるはずです) さて、テストコードから隠蔽したメソッドを呼ぶにはどうしたらいいでしょう。 関数名のはじまりを大文字にし、Fooとして公開(エクスポート)したくなります。が、公開する必要がないのに公開する

    Go言語のパッケージのテストでプライベートな関数や変数を呼び出すには - memoメモ
  • Go入門

    Takuya UedaSouzoh, Inc. (affiliated by Mercari, Inc.) - Go Engineer

    Go入門
  • Goで毎分100万リクエストを処理する | POSTD

    Malwarebytes は、驚くべき成長を見せています。1年以上前にこのシリコンバレーの会社に入社して以来、私の主な仕事は急成長するセキュリティ企業の力となるシステムの設計と開発です。日々数百万人が利用する製品をサポートするために必要な、全ての基盤をつくります。私は12年以上、アンチウイルスとアンチマルウェアに関わるいくつかの会社で働いてきました。毎日処理する膨大なデータのせいで、これらのシステムがどれだけ複雑なものになるかを理解しています。 面白いことに、ここ9年ほどで私が携わったWebのバックエンド開発のほとんどは、Ruby on Railsが使われていました。誤解されないように言っておきますが、私はRuby on Railsが大好きですし、すばらしい環境だと思っています。しかし、Rubyでシステムを設計し始めると忘れてしまうのは、マルチスレッド化や並列化、高速化、メモリオーバーヘッ

    Goで毎分100万リクエストを処理する | POSTD
  • Go言語によるWebアプリケーション開発

    Goプログラミングについて一歩踏み込んだプロユースの解説書。読者はシンプルなコードを書きながら、実運用アプリケーションの開発で使うスキルとテクニックを学ぶことができます。書のサンプルプログラムはどれもシンプルですがとても実践的です。拡張性、並行処理、高可用性といったエンタープライズアプリケーションの開発で直面する現実的な問題に対するソリューションが含まれています。書を読めば、実際の業務に必要な技能――Goによる開発手法および関連技術の使い方――をマスターし、ツールやプログラムの開発スキルを迅速かつ簡単に向上できます。日語版では、監訳者の鵜飼文敏氏による巻末付録「Goらしいコードの書き方」を収録しました。 サポートページ(サンプルコードや正誤表) 監訳者まえがき まえがき 1章 WebSocketを使ったチャットアプリケーション 1.1 シンプルなWebサーバー 1.1.1 テンプレー

    Go言語によるWebアプリケーション開発
    bokuweb
    bokuweb 2016/01/05
  • 1