タグ

2015年12月21日のブックマーク (3件)

  • Go言語でファジング

    この記事はGo Advent Calendar 2015の21日目の記事です. 今年もGoコミュニティーから多くのツールが登場した.その中でも異彩を放っていたのがGoogleのDynamic testing toolsチームの@dvyukov氏によるgo-fuzzである. go-fuzzはGo関数のファジングを行うツールである.このツールはとても強力で標準パッケージで100以上,golang.org/x/パッケージで40以上,その他を含めると300以上のバグを発見するという実績を残している(cf. Trophies). 記事ではこのgo-fuzzの紹介を行う. ファジングとは? Fuzz testing - Wikipedia, the free encyclopedia ソフトウェアの脆弱性検出におけるファジングの活用 「ファジング」とはソフトウェアのテスト手法である.テスト対象となる

  • Elixir School 日本語訳

    Elixir Schoolへようこそ! Elixir SchoolはElixirを学び、マスターするための最高の場所です。 ベテランの方も、初めての方も、レッスンや補助教材で必要なものが見つかるはずです。 ボランティアの方々の努力により、Elixir Schoolは多くの言語に翻訳されています。その中には次のような翻訳があります: বাংলা, Deutsch, Ελληνικά, Español, Bahasa Indonesia, Italiano, 日語, 한국어, Bahasa Melayu, Norsk, Polski, Português, Русский, Slovenčina, Türkçe, ภาษาไทย, Українською, Việt ngữ, 简体中文 と 繁體中文. elixirschool/elixirschoolに参加することで、私たちと一緒にElix

    Elixir School 日本語訳
  • sync.Pool で楽して高速化 - 隙あらば寝る

    golang には sync.Pool というライブラリがある。 同じ処理を何度も実行 都度メモリ割り当てが発生 するような場合にサクッとパフォーマンスを向上させられるので紹介する。 メモリ割り当ての処理と、メモリ解放のために動く gc の実行時間を削ることでパフォーマンスを上げることができる。 話を単純にするために以下の仕様で関数を作るとする。 入力: string 出力: 入力を n 回繰り返し、[]byte として返す n はグローバル変数、適当に調整する バージョン1 func func1(in string) (out []byte) { buf := &bytes.Buffer{} for i := 0; i < n; i++ { buf.WriteString(in) } out = buf.Bytes() return } bytes.Buffer を作って string

    sync.Pool で楽して高速化 - 隙あらば寝る