タグ

Goに関するiwwのブックマーク (10)

  • その後のgolangと(Dockerと)OOM — KaoriYa

    前の記事:golangDockerとOOM を書いた後で Go側の事情に変化があったため、 あの記事に書かれた方法は現実的な選択肢ではなくなってしまいました。 この記事では私が使っているGo 1.14以降でのOOM対策と、 どうしてそうせざるを得なかったのか解説をお届けします。 TL;DR Goの64ビット版はVSZの最小要求量が大幅に拡大した (500MB超) 前の記事で紹介した方法が現実的ではなくなった VSZの制限をRSSに転用する=最低でも500MBのRSSを設定することになる 代わりに自プロセスのRSSを監視して閾値を超えたらアポトーシスするようにした RSS取得用のkoron-go/phymemパッケージを作成した Background あの記事を書いた翌月末にGo 1.14がリリースされました。 その変更点の中に以下の記述があります。 The page allocator

    iww
    iww 2021/01/19
    「OOM対策が使用メモリ増大を産むなら、みんな死ぬしかないじゃない! あなたも、私も…」
  • GoサーバとDartクライアントではじめるgRPC

    はじめに Go製のAPIサーバとDartクライアント(Flutterを想定)間の通信をgRPCで行う方法について書きます 日比谷音楽祭おさんぽアプリ2020 開発の裏側を語る / サーバー編というDeNAの20新卒、21卒内定者の方の記事を参考にしたので共有しておきます。 また、なぜgRPCを使うと嬉しいのかは、Cloud Native Days Tokyo 2020の南 直さんのセッション "Real World Migration from HTTP to gRPC"を聞くとわかりやすいのでこちらも共有しておきます。リンクからアーカイブ動画に飛べます。 準備 .protoファイルから自動生成するにはprotocコマンドと周辺プラグインを使用する必要がありますがローカルにいろいろインストールするのは嫌なので、Dockerコンテナを立ち上げて各言語のコードを生成します。現在のProtoco

    GoサーバとDartクライアントではじめるgRPC
  • Big Sky :: Go に go:embed が入った。

    Go 言語はシングルバイナリをウリにしたプログラミング言語です。バイナリファイルを1つポンと scp で転送すれば動くのでとても便利です。シングルバイナリとなると当然、画像や HTML といったアセットをバイナリに埋め込みたくなります。 Go 言語ではこれまで go-assets や go-bindata、statik というツールを使う事でファイルのコンテンツをバイナリ化し、変数からアクセスする様にしてきました。 しかしそれらには色々な流儀や OS 間でのまばらな動作など、ユーザにとって納得のいかない物がありました。昨日、Go 言語ではオフィシャルとしてこのファイル埋め込みをサポートする様になりました。Go 1.16 から使える様になります。 cmd/go: add //go:embed support · golang/go@25d28ec · GitHub +3 −3 src/cmd

    Big Sky :: Go に go:embed が入った。
  • 悲報: JetBrainsのGoプラグインがGoLand登場で終了\(^o^)/|TechRacho by BPS株式会社

    いつかその日が来るだろうなとは思っていたけど... RubyMineを2017.2.4にアップグレードした後、いつものようにGobyを開いてみると、Go言語のシンタックスハイライトが全部消えてまっちろになっている。 再インデックスに時間かかっているのかなと思ったけど、プログレスバー表示されてないし。 もしやと思ってRubyMineの設定を開いてみるとこんなメッセージが。 RubyMine+Goプラグイン、Gobyメンテ環境として最強だったのにぃ... とりあえずGoLandをダウンロードしてトライアルモードで確認することに。まずはVimプラグインをインストール。 続いてRubyMineからFile > Export Settingsで設定をエクスポートし、GoLandでFile > Import Settingsしたところ、シンタックスハイライト周りやVimキーバインドカスタマイズも含めて

    悲報: JetBrainsのGoプラグインがGoLand登場で終了\(^o^)/|TechRacho by BPS株式会社
    iww
    iww 2020/10/26
  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    The Go Programming Language
  • うんこボタンのウェブアプリ開発を始める時に考えたこと - スイッチサイエンス 開発者ブログ

    144Lab の今津です。 ここ1年少し、うんこボタンの開発に携わっています。 うんこボタンのウェブアプリを開発することが決まった時に、どんな風に進めようと思ったのか、なぜそう考えたのかというあたりのお話を書いてみます。 まずはプロトタイプからだったとしても、サーバーサイドの開発を始めるにあたって、決めることは色々あります。 プログラミング言語 フレームワーク システム構成 開発手法 などなど。 当初は比較的短い期間で最低限の機能を持ったウェブアプリとボタンデバイス用のHTTP APIを開発する必要がありました。だから開発のスピードを保てることが大事なポイントのひとつ。 後から変更することは充分ありえるというつもりで、まずは最初のプロトタイプの開発を対象に考えました。 プログラミング言語 僕らが得意とするプログラミング言語としては、次の2つがトップ2。 Python Go 僕にとっては、ち

    うんこボタンのウェブアプリ開発を始める時に考えたこと - スイッチサイエンス 開発者ブログ
    iww
    iww 2018/07/27
  • 組み込みLinuxでGolangのススメ - Qiita

    一年近く、組み込みLinuxでのユーザープロセスをgolangで書くことを試していたのですが、これはいける! という感触を持ちました。 仲間を増やしたいと思うので、ここにその情報を紹介します。 #何をしたか 既存の製品をベースにして、新機能の実装をGolangで書いてみました。 既存の部分はCで書いてあります。Golangで書いた新機能部分は別プロセスになっています。 既存部分とのやりとりは場面によって以下を使い分けました。 cgoによる関数呼び出し UNIXドメインソケットの通信 シグナル Golangで書いた部分には以下の要素を含みます。 UARTやi2cで接続されたセンサーからデータを受け取る インターネット上のWebサービスAPIを使用する 2Dグラフィックスの描画 (cairoを使用) 最大性能を目指すよりも、十分な性能を手早く形にすることを重視しました。 #Golangでよか

    組み込みLinuxでGolangのススメ - Qiita
  • ポケモンgoのアップデートがエグいよね。 島国大和のド畜生

    ポケモンGOのジム戦のルールが改訂されまして。新たにレイドバトルも入りまして。 これがまた、なかなかの難物なので自分用にmemoとして感想を残しておこうかと。 そんなにガチプレイしてないので、間違いも多いと思う。気づいたり教えてもらったら直す。(そのためのテキスト化) ・共通 ポケモンGOは、実際の位置情報(GPS)を使ったゲームである。 プレイヤーは3種類あるポケモンジムのどれかに属し、ポケモントレーナーとしてリアル世界を徘徊しポケモンを入手しジム戦を行う。 ポケストップと呼ばれる、位置情報上のランドマークは一定時間毎に消耗品アイテムを放出する。 ポケモンは位置情報上にpopする。消耗品アイテム(モンスターボール)をぶつけてGETする。 その過程で得る経験値アイテムでポケモンのLvを上げる。 ポケモンgoではこのポケステからの消耗品アイテムとポケモンのpopがゲームのコアルール。 時間と

    iww
    iww 2017/07/03
    『位置ゲーなんだから、地域格差はゲームのスパイスだ。というスタイル』 『国産のゲームであれば、旧来システムは残した上で新規機能を追加し、調整していく。』 こういう思い切りと突っ走りが国産ゲームにこそ必要
  • 「アルファ碁はイ・セドルに勝てても私には勝てない」とコメントした世界ランクトップのカー・ジエ九段がAlphaGoと対局

    By 2benny Googleが2014年に約500億円で買収した人工知能(AI)開発ベンチャー「DeepMind」と開発を進めてきたコンピュータ囲碁プログラムが「AlphaGo(アルファ碁)」です。アルファ碁と言えば、世界で初めて人間のプロ囲碁棋士をハンディキャップなしで破ったAIであり、2016年3月には囲碁のトップ棋士イ・セドル九段との5番勝負に勝利して大きなインパクトを残したことでも知られています。このアルファ碁に対して「イ・セドルに勝てても私には勝てない」と強気のコメントを残していた中国のプロ囲碁棋士である柯潔(カー・ジエ)九段が、ついにアルファ碁と対局することになりました。 Google’s AlphaGo AI will play Go against humanity’s best player | Ars Technica UK http://arstechnica.c

    「アルファ碁はイ・セドルに勝てても私には勝てない」とコメントした世界ランクトップのカー・ジエ九段がAlphaGoと対局
    iww
    iww 2016/06/07
  • メモ:Windows上のVisual Studio CodeでGo言語の開発環境を整える

    作業手順と参照リンク先のメモです。 Go自体のインストール、環境変数GOROOT, GOPATHの設定は終わっているものとします。 Visual Studio Codeのインストールと入手 普通にセットアップウイザードを進めていけば良いです。 VS Code上からGo for Visual Studio Codeをインストールします。(インストール方法は割愛) このGo for Visual Studio CodeはGo言語のシンタックスハイライト、godocを使用したコード補完(つまりインテリセンス)、スニペット、定義への移動、参照先の検索、等々Visual Studio CodeをIDEっぽく使用できるようにするものです。 また、Go for Visual Studio Codeを使用するに当たっては、以下のGoのパッケージをインストールします。 go get -u -v github

    メモ:Windows上のVisual Studio CodeでGo言語の開発環境を整える
  • 1