glideでupdateできなくて困った話

logrusを入れた時に依存解消でstrftimeを取りに行ったタイミングで取って来れずに失敗してしまって先に進めなかった。 go getだとうまく行けどなぜだろう。

軽く試した感じだとssh経由でのリポジトリアクセスに失敗しているっぽいので、glide.yamlで直接パッケージを指定してhttp側を参照するようにしたらとりあえず動いた。

- package: bitbucket.org/tebeka/strftime
  vcs: hg
  repo: https://bitbucket.org/tebeka/strftime

gormでNOTの中でOR/AND条件を書くとpqエラーが出るが動くっぽい

ざっくり以下の様な感じのコードを書くと

func main() {
    db := Database()// return *gorm.DB
    foo := Foo{}
    db.Not("a = ? AND b = ?", 'foo', 'bar').Debug().First(&foo)
}

なんかエラーが出てるっぽいけど実行されるっぽい。 psqlデバッグで出ているSQL文を直接たたくと結果は返ってくる。

[2016-07-01 00:03:48]  pq: syntax error at or near ")" 

[2016-07-01 00:03:48]  [5.44ms]  SELECT * FROM "foos"  WHERE "foos".deleted_at IS NULL AND (NOT (a = 'foo' AND b = 'bar')) ORDER BY "foos"."id" ASC LIMIT 1

ちなみに以下のような感じにANDとかを抜かして条件を1つにすると特にエラーは出ない

    db.Not("a = ?", 'foo').Debug().First(&foo)

気持ち悪いので時間があるときに調べたいということでメモ

golangのVendoring周りメモ

しばらく間が開いてgolangで遊びはじめたのでちょっとメモ。

1.5からVendoringと言うGOPATH配下ではなくパッケージ下のvendorディレクトリで依存パッケージの管理が行われると言う。 1.6からはデフォルトでVendoringがONになっている。(1.5は環境変数GO15VENDOREXPERIMENT=1を設定しないといけなかった)

ただimportに相対パスでパッケージを指定しているようなものがあるとうまく動かないっぽい?

パッケージ自体の管理にはglideを使ってみていますがいい感じ。 ただし、glideは最新バイナリでも前述の環境変数GO15VENDOREXPERIMENTを設定しないとエラーが出たのでちょっと追いついていない感じか。

導入自体はこのあたりを参考にした

先週末

今さらですが先週末まとめ。

横須賀 護衛艦カレーグランプリ

Twitterで見てたら6000食準備で9時開場の段階で3000人近い人が並んでる状況だったようで。その段階で家を出てなかったので早々に諦めてのんびり行ったんですがすぐに出てたら間に合ってたみたいで残念。
とりあえず護衛艦だけとって早々に撤退。

送信者 20140419横須賀 海軍カレー

浦賀 叶神社

行こう行こうと思って行けてなかった「たまゆら ~もあぐれっしぶ~」の聖地巡礼
汐入編で出てくる浦賀の叶神社に行ってきました。
今回は東西の叶神社の御朱印をしっかりゲット。

送信者 20140419浦賀

浦賀の渡し舟にも乗ってきました。

送信者 20140419浦賀

Google Code Jam 2014とPlaidCTF

先週末は電王戦見ながらPlaidCTF2014とGoogleCodeJamとでずっと引きこもり状態でした。
まぁPlaidCTFは何もできなかったので書くことがない。

GoogleCodeJamのQualification Roundは問題C以外は簡単でしたね。
自分は結局土曜日の夕方に初めてa,b,dで疲れてしまったので問題Cは解いてません・・・
一応再来週のオンライン予選もやるつもりですが記念参加ですね。

とりあえずCentOS6.4でのCVE-2014-0160への対応について

opnesslで"Heartbleed"呼ばれているバグ(CVE-2014-0160)が公開されたのでその対応に関するメモ。

どういうものなのかは下記のサイトを参照してくださいという事で。
http://heartbleed.com/

対応したパッケージが出たようですね。
http://www.spinics.net/lists/centos-announce/msg04911.html

  • 追記

あと証明書のrevoke,reissueは忘れずに実施しましょう。

とりあえずCentOSのパッケージについてはTESTINGステータスの様です。
https://www.centos.org/forums/viewtopic.php?f=13&t=45812&p=194507&hilit=openssl+1.0.1f#p194507

openssl 1.0.1gでFixしているのでソースからRPMを作って入れるという方法もある様です。
http://www.ptudor.net/linux/openssl/