タグ

Golangに関するJ138のブックマーク (15)

  • Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog

    情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア

    Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog
    J138
    J138 2024/08/20
  • ITエンジニア向けのトレンド情報 | Forkwell Press (フォークウェルプレス)

    まずはGo言語の基礎をおさらいしていきましょう。 Go言語は、Googleと世界的エンジニアが共同開発した言語 Go言語は、Googleによってプログラミング環境を改善する目的で開発されました。この開発には、C言語を設計した世界的なエンジニアが携わっています。 Kenneth Lane Thompson (Ken Thompson)…… UNIX開発者  / C言語 発案者 Robert C Pike(Rob Pike)…… UNIX開発者  / UTF-8 発案者 Robert Griesemer …… 高速 JavaScript エンジン V8 開発者

    ITエンジニア向けのトレンド情報 | Forkwell Press (フォークウェルプレス)
    J138
    J138 2023/08/05
  • MinIO | S3 Compatible Storage for AI

    MinIO AIStor is designed to allow enterprises to consolidate all of their data on a single, private cloud namespace. Architected using the same principles as the hyperscalers, AIStor delivers performance at scale at a fraction of the cost compared to the public cloud.

    MinIO | S3 Compatible Storage for AI
  • ssig33.com - Docker で Go で作ったバイナリを実行するなるべく小さいコンテナを作る

    Go でアプリケーションを作ると、そのまま他になにもなくとも実行できるバイナリが出来あがります。この特性によりデプロイが大変楽です。 このような特性があるので、 Go を使う場合 Docker のようなオーケストレーションツールを使わなくても多くのサーバーにアプリをデプロイしていくことも可能かと思われますが、そこはまあ Docker という巨人に乗っておくと楽なことが多いです。具体的には swarm と docker-compose が便利なので Docker 上で実行したい。 ここで問題となってくるのが何も考えずに Docker イメージを作るとイメージサイズが膨れあがってしまってシングルバイナリによる手軽さなどが損なわれてしまうという点です。 たとえば golang:alpine のような比較的小さいイメージを使ってもファイルサイズはバイナリサイズ + 300MB ほどにもなってしまい

  • 6年間におけるGoのベストプラクティス | POSTD

    稿は、QCon London 2016で行った講演の内容に基づいています。スライドとビデオは近日中に掲載予定です) 2014年に開催された最初のGopherConで、私は「 Best Practices in Production Environments(番環境でのベストプラクティス) 」と題した講演を行いました。 SoundCloud の私たちはGoのアーリーアダプターで、その時点までに既に2年近く、番環境向けの様々なGoコードを書き、実行し、メンテナンスしていました。そして私たちはいくつかのことを学んだので、その教訓をまとめ、多くの人に伝えたいと思ったのです。 それ以来、私はフルタイムでGoを使う仕事を続けています。SoundCloudではその後の活動やインフラチームで、そして現在は Weaveworks で Weave Scope や Weave Mesh の開発に使ってい

    6年間におけるGoのベストプラクティス | POSTD
    J138
    J138 2016/06/01
  • GoによるWebアプリ開発のキホン

    Webアプリケーションにおいて、マルチテナント型、つまり複数のユーザー組織がアプリケーションとデータベースを共有する構成にすることがあります。この構成の持つリスクとして、万が一バグにより他テナントの情報が見えてしまうとそれは情報漏洩となり、重大なインシデントとなってしまうことがあります。この重要性を考えると、「気を付けて実装する」だけではなく、仕組みで漏洩を防ぐような対策には価値があります。 そこで、今回はPostgresSQLの行レベルセキュリティと、SpringAOPによる処理を組み合わせて、ログインしているテナントのデータにしかアクセスできなくする仕組みを実現しました。 導入にあたり考慮した複数の選択肢、乗り越えたいくつかの壁についてご紹介します。 同様の課題を抱えている方の参考にしていただけるような情報をお伝えしたいと思います。

    GoによるWebアプリ開発のキホン
    J138
    J138 2016/03/01
  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD
    J138
    J138 2015/10/19
  • Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita
    J138
    J138 2015/03/19
  • The Go Programming Language

    // You can edit this code! // Click here and start typing. package main import "fmt" func main() { fmt.Println("Hello, 世界") }

    J138
    J138 2015/03/18
  • GOPATH は適当に決めて問題ない - Qiita

    TL;DR go get は Ruby でいう gem みたいなもん $GOPATH は自分の環境に合わせて好きに指定してよい 例えば $HOME/.go とか $HOME/go とか 好きに設定してもいいけど、一度設定したらそれをずっと使い続けた方がたぶんいい 現在では、GOPATHを明示的に設定しない場合は自動的に設定される。 Wikiより If no GOPATH is set, it is assumed to be $HOME/go on Unix systems and %USERPROFILE%\go on Windows. ことの始まり homebrewでGoをインストールしたらのっけから Go 1.1 から go get コマンドは $GOROOT をパッケージダウンロード先として使わなくなりなりました。 go get 使うには $GOPATH が必要です。 と言われて、

    GOPATH は適当に決めて問題ない - Qiita
    J138
    J138 2014/10/17
  • Gin Web Framework

    Gin Gonic The fastest full-featured web framework for Golang. Crystal clear. Performance and productivity can work together Gin is a web framework written in Golang. It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity, you will love Gin. Low Overhead Powerful API You can add global, per-group, and per-route middlewares,

    J138
    J138 2014/07/01
  • Go用Webフレームワーク·web.go MOONGIFT

    J138
    J138 2010/02/09
  • GoのPrint文、forループ、if文 (1/2)- @IT

    第2回 GoのPrint文、forループ、if文 赤坂 けい チームWordProgress 2009/12/24 突然登場した新しいプログラミング言語「Go」。その独自性、魅力を余すところなく堪能してみよう(編集部) 今回は、いよいよGoのコードを学んでいこう。 はじめに、Goのインストール方法について。 オープンソースプロジェクトであるGo家サイトでは、LinuxおよびMac OSヘのインストール情報が提供されている。これは、有志の手により日語訳も提供されている。 そのため、LinuxおよびMac OSへのインストールは比較的容易である(Windowsマシンでも、VMware Playerなどの仮想環境を動かし、その上でLinuxを動作させれば、同様にインストールすることができる)。そこで稿では、LinuxおよびMac OSへのインストールについては、割愛させていただく。 一方

    J138
    J138 2010/01/16
  • Google's Go Guide - プログラミング言語Goの情報サイト

    プログラミング言語Goの日コミュニティによるブログです。日各地のコミュニティ活動の紹介や最新のGoの動向などをお知らせします。Twitter: https://twitter.com/golangjp 随時更して行きます。イベントサイト公開後に中止、延期、オンラインまたはオフライン化するケースがありますので、必ずリンク先の情報をご確認ください。 7/1(火) 14:00-15:00 [オンライン] Go Conference 2025 スポンサー抽選会7/1(火) 18:30-21:00 [東京都渋谷区] CA.go#16 LT大会7/1(火) 19:00-21:00 [オンライン] Goオンラインもくもく会 #607/5(土) 10:00-12:00 [オンライン] Women Who Go Tokyo 基礎から学ぶ TinyGoの組込み開発#157/8(火) 19:00-21:00

    J138
    J138 2010/01/12
  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code Packages

    The Go Programming Language
  • 1