タグ

ブックマーク / ikawaha.hateblo.jp (3)

  • golang で正規表現の必須要素を抽出してみる - 押してダメならふて寝しろ

    はじめに この記事は Go Advent Calendar 2015 14日の記事です. 正規表現の必須要素の抽出についてお話ししたいと思います.古典的な話題ですし,鋭い方は golang と別に関係ないんじゃないの?と思われるかもしれませんが,最後に Russ Cox 氏の素晴らしい記事, Regular Expression Matching with a Trigram Index にもふれたいと思いますので,最後までおつきあいください.これは,Google Code Search で使われた正規表現のマッチングに関する記事になってます. この記事が,Russ Cox 氏の記事へのイントロになれば幸いです. それ,正規表現である必要ありますか? 正規表現は文字列マッチに比べるとどうしても遅いです.しかし,正規表現によっては文字列マッチに落とし込んでから検索できる場合もあります. 極端

    golang で正規表現の必須要素を抽出してみる - 押してダメならふて寝しろ
  • 結局 golang の HTTP Response Body はどう閉じるのが正しいのか? - 押してダメならふて寝しろ

    さっそくカウンター記事を頂きました.ありがとうございます! qiita.com たしかに必ず閉じてるように見えます.エラーがあっても Body が non-nil なら閉じるようにコード仕込んでおくというのは杞憂だったのでしょうか.そんな気もします.たぶん誰もそんな風にコード書いてないし,godoc のサンプルにもそういうのはない.(僕も元記事読んだときは衝撃的だった エラーがないときは Response Body が non-nil であることが godoc に書かれています. http://golang.org/pkg/net/http/#Client.Do なので,エラーがないときは Response Body を閉じるようにコードを仕込んでおく必要があります. それは gopher の共通認識な感じがしてるんですが,問題なのはエラーがあるときです. エラーがあるときは,たいていの場

    結局 golang の HTTP Response Body はどう閉じるのが正しいのか? - 押してダメならふて寝しろ
    sugyan
    sugyan 2015/06/05
    つづいてた
  • たぶんみんな間違えてる golang の HTTP Respose Body の閉じ方 - 押してダメならふて寝しろ

    元ネタはこちらのブログ. 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs あまりにも衝撃的でした.HTTP Response の Body を閉じるとき,たぶん,みんなこう書いてると思うんだけど, 誤)エラーがないかチェックしてから閉じるようにしておく resp, err := http.Get("http://golang.org") if err != nil { return err } defer resp.Body.Close() エラーがあっても,Response が nil じゃないときがあるらしい.なので,正しい閉じ方はこう. 正)Response が nil じゃなかったら閉じるようにしてからエラーをチェックする resp, err := http.Get("https://

    たぶんみんな間違えてる golang の HTTP Respose Body の閉じ方 - 押してダメならふて寝しろ
  • 1