タグ

Goとossに関するslay-tのブックマーク (8)

  • Goバイナリの脆弱性検知 - knqyf263's blog

    Trivyのv0.17.0をリリースしました。 github.com 長い道のりでしたが、ようやくこれでGoバイナリの脆弱性検知に対応できました。夜中0時ぐらいからリリース作業を初めて気付いたら朝5時でした。 概要 Go言語で書かれたプログラムをビルドすると依存しているモジュールがバイナリに含まれます。現代のソフトウェア開発において利用しているOSSのライブラリが0ということはまれなので、何かしらのOSSライブラリが作成されたバイナリに同梱されます。これらのOSSの古いバージョンには既知の脆弱性が含まれる可能性があります。これを手動で調べて追うのは手間なので最近では脆弱性スキャナを用いて検知するのが普通です。自分が開発したTrivyというOSSの脆弱性スキャナではコンテナイメージやファイルシステム上のGoバイナリに含まれるモジュールを特定し脆弱性を検知します。 Goのバイナリからどうやって

    Goバイナリの脆弱性検知 - knqyf263's blog
  • GitHub - irevenko/what-anime-cli: ❓🖼 Find the anime scene by image using your terminal

    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

    GitHub - irevenko/what-anime-cli: ❓🖼 Find the anime scene by image using your terminal
  • Go の Web フレームワーク Gin にちょっとコミットしました

    はじめに この記事は Go Advent Calendar 2020 18 日目の記事です。 普段 Gin をよく使用しているのですが、ふとコミットしたくなり issue を漁っていたら運良くコミットできました。 修正内容はちょっとしたものですが、私の PR がマージされるまでにどんなことをしたのかまとめたいと思います。 Gin とは Gin は最もスター数の多い Go の Web フレームワークです。 参考:Top Go Web Frameworks DjangoRuby on Rails のようなリッチなものではなく、必要最低限の機能が備わったシンプルなフレームワークとなっています。 package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/nyan", func

    Go の Web フレームワーク Gin にちょっとコミットしました
  • GoDoc を多用している - blog.syfm

    最近は設計をする際にできる限り API 仕様を正確に記述するようにしている。このことを意識し始めた大きな要因は主に次の 2 つだと思う。 1 つ目は以前、前職で働いているときに柴田さんに API 仕様の重要性を教えてもらったことから。この時に聞いたことは以下のブログ記事にまとまっているのでぜひ読んでほしい。 yshibata.blog.so-net.ne.jp もう 1 つは、今年の頭に読み終えた A Philosophy of Software Design から。このでは、複雑さを減らすために API の仕様が限りなくシンプルで、多くの機能を提供する deep module を目指すべき、といったことが言及されている。 Go ではドキュメントシステムとして GoDoc が提供されているため、上記のような洗練された正確なインターフェースを記述するためにこれを開発時に利用している。 ロー

    GoDoc を多用している - blog.syfm
  • ソフトウェアと

    2013: はじめに 約5年前にソフトウェアエンジニアになりたくて前の会社を辞めた。当時3人の会社の4人目として入社。Web系のソフトウェアエンジニアの親しい友人はいない。その時からソフトウェアエンジニアコミュニティというものが存在していることは知ってたんだけど、どうしても好きになれくてその中に積極的に入っていこうという思いもあまりない。いわゆるスタートアップと呼ばれる会社だったけど、当時スタートアップ野郎には全く良い印象がなく、身内ノリがキモすぎてあまり関わりたくなかったので距離を取っていた。 会社で一日中設計してコードを書いて家に帰ってDjangoやfluent-agent-hydraやpaho-mqtt、気になったソフトウェアを写経して土日は自分が感じる不便を解決するOSSを書く。写経は脳を大きく動かさなくてもとにかく開始できるという一点において便利な練習で、その頃はよくやっていた。

  • gdpというGo製のCLIツールを公開しました - コネヒト開発者ブログ

    おはようございます。こんにちは。こんばんは。 高校野球が大好きなリードエンジニアの @itosho です。甲子園が終わってしまったので、夏も終わりです。 実は先日ひっそりとGoで書いたCLIツールをOSSとして公開したので、今回はその宣伝をさせていただきます。リポジトリはこちら! github.com 何が出来るのか? 一言で言うと「tagの作成とリリースノートの作成」が出来ます。はい、それだけです。 tagの作成 tagの作成と言ってしまえばそれだけなのですが、弊社のサーバーサイドのリポジトリはGitHubのmasterブランチにマージされたタイミングでステージング環境にデプロイされる運用になっています。 また、tagがpushされたタイミングで番環境にデプロイされるようになっており、tag pushがデプロイ戦略において重要な役割を担っています。 もちろん、tagを追加してpushす

    gdpというGo製のCLIツールを公開しました - コネヒト開発者ブログ
  • ソフトウェアが持つべき機能と仕事の粒度を見極める~The Platinum Searcherの作者に聞いてみた - エンジニアHub|Webエンジニアのキャリアを考える!

    ソフトウェアが持つべき機能と仕事の粒度を見極める~The Platinum Searcherの作者に聞いてみた GitHubでスター数2,000以上を獲得したOSSである「The Platinum Searcher」。作者の三宅悠介さんに、シンプルでありつつも、高い性能を持つソフトウェアを作り出すための思考を聞きました。 一つのことを、うまくやれ──。 ソフトウェア開発の規範として、多くのエンジニアに影響を与えたUNIX哲学には、こうした言葉があります。事実、過去お話を伺ったOSS開発者たちも、この言葉の重要性を口にしてきました。非常にシンプルな言葉にも感じますが同時にある疑問も浮かびます。ソフトウェア開発において、どのように「一つのこと」を定義し、どのように「うまくやる」をイメージするのか、と。 find:ファイルを検索する grep:文字列を検索する print:検索結果を表示する パ

    ソフトウェアが持つべき機能と仕事の粒度を見極める~The Platinum Searcherの作者に聞いてみた - エンジニアHub|Webエンジニアのキャリアを考える!
  • Goのガーベジコレクタを視覚化するツール | POSTD

    (環境変数GODEBUGは、 ランタイム パッケージで提供されています) この環境変数を指定してプログラムを起動すると、標準出力に以下の追加出力が出力されます(少し簡略化されています)。 % env GODEBUG=gctrace=1 godoc -http=:6060 ... gc76(1): 2+1+1390+1 us, 1 -> 3 MB, 16397 (1015746-999349) objects, 1436/1/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields gc77(1): 2+0+1582+1 us, 2 -> 4 MB, 14623 (1016248-1001625) objects, 1436/0/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields scvg0: inuse:

    Goのガーベジコレクタを視覚化するツール | POSTD
  • 1