You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
golangで書いたプログラムをDockerで動かしOOMが発生した際になるべく情報を残して殺される方法を紹介します。 2020/08/16追記: この記事の内容はgolangに関してはやや現実的ではなくなってしまいました。 詳しくは続編を参照してください。 TL;DR golang製のプログラムは仮想メモリ(VSZ)の確保に失敗するとgoroutineのダンプを吐いて死ぬ DockerのOOMはRSSベースで検出時にSIGKILLを投げてくる Docker利用時にVSZで制限をかけるスクリプトを書いた golang製のプログラムはlinux-amd64において最低でも101MBのVSZを要求する VSZの制限がそれより小さいと当然起動できない 実際のRSSは3MB程度で起動する Background コンテナ内で動いているプロダクション上のgolang製のプログラムが時々OOMに殺されて
Build a web front-end in Go that runs in your browser, today. Pure Go. Targets WebAssembly (and/or server). Modern browsers supported. Experimental, for now. Really cool. Vugu: A modern UI library for Go+WebAssembly Inspired by tools like Vue, React and Angular, Vugu is a library written in Go and able to run in modern browsers using WebAssembly. PLEASE NOTE: This is experimental technology! (read
最近ScrapboxをデスクトップPWAとして使い始めました。 やはりデスクトップアプリとしてDockに表示されるだけで体験はすごく良くなるなー PWAもっといろんなサービスで使えるようになってほしいです(オフライン動作とかとりあえず要らないんでアプリとしてインストールだけでもさせてほしいなぁ) Webサービスのデスクトップアプリ化で感じる利点は、具体的にはショートカットやSpotlightで呼び出しやすいといったことくらいなのですが、OSのインタフェースから自然に使えるという体験はヘビーユースしているWebサービスを更にヘビーに使うきっかけになりえるなと。 自分自身、よく使うWebサービスは個別アプリにしたいと日頃から思っており、Electronを使ってよく使うWebサービスは個人利用用にアプリ化したりしてました。 ただElectronはアプリサイズが大きいのと、Gmail等一部のWeb
はじめに Golangでエラーの種類によって処理を変えたい際にどういった方法があるか調べてみました。 と言うのもGolangにはtry-catchがサポートされていません。 なのでGolangでJavaのtry-catchの様な機能をどう実現できるか調べようとした事がこの記事を書いた発端です。 記事の全体概要についてです。 ・まず最初に、errorパッケージのよく使う4つの機能について説明します。 ・次に、エラーの種類によって処理を変えるために考えられる3つの方法を順に試していきます。 ・そしてエラーの種類によって処理を分けるBESTな方法の結論。 といった順序で進めていきます。 ※結論だけ知りたい人は最後の方法3をみてください。 errors packageのよく使う4つの機能 標準のエラーパッケージだと以下の機能がありません。 最初に起きたエラーの種類の判別 スタックトレースの情報を取
はじめに こんにちは、今回はGo言語でのエラーハンドリングとログ関連についての記事となります。 例外のないGo言語でどのようにエラーを伝搬させていくのかについて一つの方法を紹介させていただき、その後、そのエラーをファイルに出力する方法を紹介したいと思います。 なお、開発環境の構築がまだの方は、ぜひこちらで環境構築をしてからお読みいただければと思います。 エラーハンドリングについてですが、まずはGo言語でerrorとは一体何ものなのかについて触れたいと思います。その後、pkg/errorsパッケージでerrorをwrapをする方法を記載し、次の節でそれを活用した独自のerrorsパッケージを作成したいと思います。 error インターフェース Go言語では例外の概念がないため(Go2では例外が組み込まれるかもしれませんが)、ファイルの処理などで下記のようにerrorを返却するコードをよく目に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く