my.cnfパラメーターレコメンド
社内でISUCON過去問やったんだが、MySQLTunerでmy.cnfチェックするの神便利だった。
go selenium memo
package main import ( "fmt" "net/http" "time" "github.com/pkg/errors" "github.com/sclevine/agouti" ) // how to setup // brew update // brew install selenium-server-standalone // brew cask install chromedriver // go get "github.com/sclevine/agouti" // go get "github.com/pkg/errors" var adPage = "http://local.hoge/" var driver = agouti.ChromeDriver() var page *agouti.Page func init() { driver.Debug = true if err := driver.Start(); err != nil { panic(errors.Wrap(err, "Failed to start driver")) } _page, err := driver.NewPage(agouti.Browser("chrome")) if err != nil { panic(err) } page = _page } func setCookie() { uuid := fmt.Sprintf("clickbot_%d", time.Now().Unix()) err := page.Navigate("http://hoge.local/") if err != nil { panic(err) } time.Sleep(1000 * time.Millisecond) err = page.SetCookie(&http.Cookie{ Name: "uuid", Value: uuid, Path: "/", Domain: ".local", }) if err != nil { panic(err) } fmt.Println("Refresh cookie uuid: " + uuid) } func main() { defer driver.Stop() setCookie() errcount := 0 count := 0 for { count++ if count%5 == 0 { setCookie() } var err error err = page.Navigate(adPage) if err != nil { errcount++ } time.Sleep(1000 * time.Millisecond) err = page.FindByXPath("/html/body/*/a[1]").Click() if err != nil { errcount++ } time.Sleep(3000 * time.Millisecond) } }
rubyXLが神
openpyxl → 罫線が消える。rubyXLが表の再計算できないと思ってrubyから呼び出していた。
rubyのその他 → excelが壊れる、officeへの依存があるっぽい
rubyXL → 昔は表の再計算機能がなかったらしいが現在は実装済み。xlsx形式で保存ができるし、罫線が消えない。
rubyXLデフォルトでは再計算しないので以下のあれをあれする
book = RubyXL::Parser.parse(path) book.calc_pr.full_calc_on_load = true book.calc_pr.calc_completed = true book.calc_pr.calc_on_save = true book.calc_pr.force_full_calc = true
危うくいちいち罫線をプログラムで引くところだった。
これを書いた人はtemplateとして元となるエクセルを読み込んでrubyXLで数値を書き込むというプログラムを書いています。
GKE debug memo
gcloud auth login gcloud config set project ${project-name} gcloud compute instances list gcloud compute ssh ${instance-name}
えくせる
rubyでexcel操作をしたく、spreadsheetというgemを使って対応していた。そこそこ装飾のあるエクセルをテンプレート的に読み込んで保存すると、Excelを開いたとき謎のエラーが出て辛かった。これはヤバイ、納期間に合わん。うまいことテンプレート側のExcelを調整してエラーにならないように運用でカバーしていたが、rubyXL使ったらすべてが解決した。
太古のExcelを使ったいる人のためを思いxls形式にしていたけど、xlsxのほうが安全に操作できるんだろうなぁ、中身xmlだし。おそらくだがxlsのバイナリだとあれがあれした場合にライブラリが対応できていないんだろう。
もう4/25か。早いな。