タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

goとgolangに関するcastaneaiのブックマーク (4)

  • Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ

    サーバーレス連載の3回目は検索エンジンを作ってみたお話です。 クラウドサービスが充実してくるにつれて、サーバーレスではいろいろなことができるようになっています。HTTPサーバーは動きますし、RDBやNoSQLなストレージも使えますし、PubSubみたいなサービスも利用できます。これらを駆使するとそこそこ複雑な処理も記述できます。 一方で、上から下までサーバーレスにしようとするとできないものもいくつかあります。例えば、RDBも使えるといっても制約があり、LambdaやCloud FunctionsからRDSやCloudSQLを雑に使うとコネクションを張りすぎる問題があります。LambdaにはRDS Proxyが出始めています。あと、RDBそのものは基的に常駐型なのでサーバーレスではないです。一応サーバーレスなのもありますが、起動時間が結構かかるらしい(自分ではまだ試してないです)。それ以外

    Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ
    castaneai
    castaneai 2020/03/27
    “GoCloudのmemdocstoreを使うと、オンメモリで動作するので、ユニットテストが超高速ではかどります。”
  • Golang lock-free values with atomic.Value

    Earlier this week, I had the privilege of attending to an sneak preview of Andrew Gerrand’s talk “Stupid Gopher Tricks”, which he should be presenting at the Golang UK conference as I publish these lines. It’s a great talk about lesser-known Go features. I won’t spoil his talk here, you should instead attend the next conference if you can or check out the slides once they become available. But the

    castaneai
    castaneai 2020/03/03
    atomic.Valueはたしかに速いけどそこまで大きな差は出ないし、異なる型を入れてしまうとpanicしたりと色々危ない
  • Big Sky :: Go 言語の struct の実体を引数で(なるべく)渡せない様にするテクニック

    Go 言語は struct のレシーバがポインタの場合は実体であってもポインタの場合であっても呼び出せるので、もし struct が参照カウントに従い動作する様な場合は実体でコピーされてしまっては困る場合があります。例えば以下の様なインタフェースを考えます。 package main import ( "fmt" "sync/atomic" "time" ) type foo struct { n int64 q chan struct{} } func (f *foo) Add() { if atomic.AddInt64(&f.n, 1) == 1 { f.q = make(chan struct{}) } } func (f *foo) Done() { if atomic.AddInt64(&f.n, -1) == 0 { f.q <- struct{}{} } } func (f

    Big Sky :: Go 言語の struct の実体を引数で(なるべく)渡せない様にするテクニック
    castaneai
    castaneai 2020/02/21
    “使い手側に「ポインタで使って欲しい」と示す事ができないと、いくらでもバグが発生してしまいます。そこで使うテクニックが noCopy です。”
  • Golang Memory Management: Allocation Efficiency in Go Services

    Connections Overview Integrate web and mobile app data with a single API Warehouses Easily transform and load customer data Reverse ETL Move warehouse data to your applications Functions Customize your customer data pipeline Developer Toolkit Build on Twilio Segment

    Golang Memory Management: Allocation Efficiency in Go Services
    castaneai
    castaneai 2020/02/13
    Goで値がヒープに割り当てられるか、スタックに割り当てられるかを判断したりコンパイラに指示したりする方法、実際のチューニングの例もあり
  • 1