タグ

golangに関するsato_shinのブックマーク (10)

  • 無理なく始めるGoでのユニットテスト並行化 - カンムテックブログ

    KanmuでPoolを開発しているhataです。最近、ロボット掃除機を買いました。ロボとがじゃれている景色はいいですね。 今回はGoのユニットテストの並行化についての記事です。 TL;DR Goのテストは、並行化することでテスト実行時間の短縮やテスト対象の脆弱性の発見などのメリットがある 基的にはそのままでも最適化されているが、テストコードにt.parallelを記述することでよりきめ細やかな最適化を施すことができる ただし、一定規模以上のアプリケーションへの導入・運用は大変 テストコードを一気に並行化するtparagenというツールや、並行化忘れを防ぐ静的解析ツールがあり、これらを使うことで無理なくテスト並行化の導入・運用ができる はじめに ユニットテスト並行化とは 記事では、「並行」「並列」という用語を使用します。記事におけるこれらの用語を定義します。 並行:複数の処理を独立に

    無理なく始めるGoでのユニットテスト並行化 - カンムテックブログ
  • High-performance Open Source API Gateway | KrakenD

    The fastest API gateway comes with true linear scalabilityKrakenD is a stateless, distributed, high-performance API Gateway that helps you effortlessly adopt microservicesGet KrakenD CE v2.5.0Get Support The API Gateway pattern at its full extentKrakenD is more than a typical proxy that forwards clients to backend services, but a powerful engine that can transform, aggregate or remove data from yo

    High-performance Open Source API Gateway | KrakenD
  • プログラミング言語Go完全入門

    プログラミング言語Go完全入門 @tenntenn プログラミング言語Go完全入門の資料を用いて、Gopher道場の講義を始めていきたいと思います。 スライドはこのURLから閲覧できます。 スライドURL: http://tenn.in/go

    プログラミング言語Go完全入門
  • よくわかるcontextの使い方

    Goの標準パッケージにはcontextパッケージというものが存在します。 このパッケージは、net/httpやdatabase/sqlのような現実の事象と対応している何かが存在するようなパッケージではないため、初学者にとっては使い道がわからない、となってしまいがちです。 しかしcontextパッケージは、複数のゴールーチンを跨いだ処理を実装する際には非常に強力な力を発揮する、とても便利なパッケージなのです。 このでは、「contextとは何か?」というところから「どのように使えばいいのかわかる」ところまでたどり着けるように、Goのcontextまわりのことを解説しました。

    よくわかるcontextの使い方
  • So you want to expose Go on the Internet

    Back when crypto/tls was slow and net/http young, the general wisdom was to always put Go servers behind a reverse proxy like NGINX. That’s not necessary anymore! At Cloudflare we recently experimented with exposing pure Go services to the hostile wide area network. With the Go 1.8 release, net/http and crypto/tls proved to be stable, performant and flexible. However, the defaults are tuned for lo

  • Goでの並行処理を徹底解剖!

    並行処理をうまく使うのは難易度が高めです。 それゆえに、go文とチャネルについて基的な文法書で知った後「並行処理ちゃんとできる!」の段階まで自力でたどり着くのは大変でしょう。 このは、 *「並行処理ってやって何が嬉しいの?」 *「ゴールーチンとかチャネルとかって一体何者?」 *「ゴールーチンやチャネルを使ったうまいコードの書き方が知りたい!」 *「Goランタイムで並行処理をどううまく処理しているか知りたい!」 といった要望にお答えする、「Goでの並行処理」に関連した事柄について網羅的・徹底的に書きまくったものです。

    Goでの並行処理を徹底解剖!
  • Goアプリケーションの構成についての所感 / Thinking about constitutions of Go application — Deadcheat's Thanks

    From Tokyo, Japan. Web-Developer. Write some codes by Go/Scala And thanks everything around my self. 前提この記事は以下の記事を読んだ上で、Goでアプリケーションを開発する際のアーキテクチャ等�選定における僕自身の所感を記述しています。 Goのpackage構成と開発のベタープラクティス この記事で何かを否定するつもりはないです。別な答えも示しません。難しい記事が増えると言語に対しても構えちゃう人が増えたりするし、それもあれなんであれしました。あれです。あれ。 基的には、当然ですがみなさんが信じる道を歩けば良いので、これを読んで「うーん」となる必要は無いでしょうし、以降書くような内容を強いる意図も全くありません。現場レベルでうまくいくやり方なら問題ないので、そこに関しては皆さん自信を持って

    Goアプリケーションの構成についての所感 / Thinking about constitutions of Go application — Deadcheat's Thanks
    sato_shin
    sato_shin 2018/08/24
    DDD向いてない←そのとおりだと思う。すごく悩んでいたことがこの記事にまとめられていてスッキリした。ありがとうございます。
  • Treasure 2017 の研修資料は Go を学ぶのに最高だった - kakakakakku blog

    Go 関連のを読んだり,サンプルコードを写経するだけではなく,もっと実践的に勉強したいなと思って調べていたら,VOYAGE GROUP の Treasure 2017 と言うインターンシップの研修資料GitHub に公開されていることを知って,さっそく挑戦してみた.数日間取り組んでみて,とにかく素晴らしかったので,紹介したいと思う.suzuken 先生,素晴らしすぎます! Go入門 GitHub - voyagegroup/talks 学べるテーマ Go研修資料とは言え,幅広いテーマで Go を学ぶことができる点が素晴らしかった.ザッと挙げるとすると以下のようになる.テーマを見るだけで,もうワクワクしてくるのではないだろうか? アルゴリズム実装とテストコード フィボナッチ数 スタック CLI net/http curl 実装 スクレイピング実装 コンカレンシー goroutine

    Treasure 2017 の研修資料は Go を学ぶのに最高だった - kakakakakku blog
  • Goで毎分100万リクエストを処理する | POSTD

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

    Goで毎分100万リクエストを処理する | POSTD
  • Golangで作ったhttpdの接続数を制限してみよう

    こんにちは。斎藤です。 ここ1〜2年、私は仕事Golangを書くことが増えています。きっかけは、ITインフラをお預かりする中で、お客様のサーバにツールを置く場合でも1つのバイナリさえ置けば良いという手軽さからだったのですが、最近はScalaと並び手軽に並列処理が書けるプログラミング言語として重宝しています。 さて、今回はGolangで作ったhttpdの接続数をLimitListenerを利用して接続数の制限をしてみようというお話です。以下に紹介するお話は、Githubのリポジトリ "github.com/koemu/go-http-max-connections-demo" にデモプログラムを保存しています。Golangのビルド環境がある方は、実際にビルドしながらお試しいただければと思います。 ※Golang 1.5.1でビルドする前提で説明しています モティベーション 仕事でとあるAP

    Golangで作ったhttpdの接続数を制限してみよう
  • 1