DRYな備忘録

Don't Repeat Yourself.

2014-06-01から1ヶ月間の記事一覧

全てのコミットの`my.conf`を、生まれる前に消し去りたい...!

git filter-branch -f --tree-filter 'rm my.conf' 「そんな祈りが叶うとすれば、それは時間干渉なんてレベルじゃない。因果律そのものに対する反逆だ」 git push --force

Go言語のcgoことはじめ【golang】【cgo】

背景 みんなだいすきGitHubで、gosseractというGo言語のOCRパッケージをニヤニヤしながらつくっていたら、知らない外人さんから 「いやos/execちゃうくてなんでcgo使わへんの?」 とか言われたのである。 cgoってナニよ? cgo - The Go Programming Language …

JavaScriptでDate.parseするときの注意

Date.parse("%s") ブラウザでなんか挙動ちがう? %s FireFox Safari Chrome Opera "Jul 20, 2014 10:00:00 GMT+9:00" 1405818000000 1405818000000 1405818000000 1405818000000 "2014-06-20 10:00:00 GMT+9:00" NaN NaN 1403226000000 1403226000000 公式に…

【invalid array bound n 】Go言語で配列長を変数で渡す

go

問題 length := len(users) var names [length]string とかしたいけど invalid array bound length と叱られる 解決 配列にはconstantしか渡せない。可変長配列にはスライスを使う Google グループ Go言語のスライスを理解しよう length := len(users) names…

Go言語でスライスの参照と参照のスライスについてメモ【golang】【slice】

go

たんなるメモです Go言語のスライス Go言語にはもちろん配列もあるけれど、スライスというのがある。めっちゃ乱暴にいうと可変長配列。むずかしいことはわかりません。参考になるのはこれです。 Go言語のスライスを理解しよう Arrays, slices (and strings):…

【障害報告】艦これウィジェットOCRサーバーエラー504 timeout / 502 bad gateway【追記あり】

各位 以下の通り障害が起きましたのでご報告いたします。 ユーザの皆様にはご不便おかけし大変申し訳ございません。 時間 2014/06/18 05:48 〜 同日 08:47 2014/06/19 03:26 〜 同日 08:37 現象 OCRサーバのレスポンスがサーバエラーとなって失敗し、以下の…

Go言語でジェネリクスっぽいことしたいでござるの続き【golang】【generics】

前のやつ Go言語でジェネリクスっぽいことがしたいでござる【generics】【golang】 - DRYな備忘録 の続きっていうかメモ /***** * Go言語で型変数を受けるCollectionみたいなの *****/ package main import "fmt" import "reflect" type E struct { element …

Go言語でジェネリクスっぽいことがしたいでござる【generics】【golang】

Go言語でジェネリクスみたいなことがしたいでござる。 色々調査のうえでやってみた。 stringからインスタンスを取得 完全に抽象化は無理で、具体レイヤーで必ず型アサーションをしなきゃいけない。 型アサーションの例 a := new(A) b, ok := reflect.ValueOf…

Rubyも何も入ってないところからrakを使うまでのインストールメモ【rak】【gem】【rvm】【Ruby】

rakっていうコマンド便利ですよ grep の Ruby 版『rak』が便利な件 | JAM☆ぱん 問題 % rak invalid zsh: command not found: rak % which gem gem not found % which ruby ruby not found % Σ(゚д゚lll)ファ!? Rubyから入れましょう 1) rvmでRuby2.0.0を入れる %…

Go言語でゼロ埋め【zero padding】【golang】

fmt.Printf("%04d", 20) // "0020" // s := fmt.Sprintf("%04d", 20) Go Playground ついでに Go Playground

TypeScriptのダックタイピングをちょっとメモ

メモ interface Fooer { foo: number; } interface Barer { bar: string; } var AcceptFooer = (fooer: Fooer) => { console.log("Its foo is ", fooer.foo); } var AcceptBarer = (barer: Barer) => { console.log("Its bar is ", barer.bar); } var both =…

Go言語でmapのkey_exists的なやつ

go

memo Go Playground package main import "log" func main() { m := make(map[string]string) m["exists"] = "みつかったでござる" // m["not_exists"] = "みつからない" v, ok := m["exists"] println(v, ok) v, ok = m["not_exists"] println(v, ok) // よ…

TypeScriptのmodule定義とexportキーワードについてメモるよ

疑問 module定義の中でexportするのは結果分かる exportしないとスコープどうなんねん module内参照可能なのか? メモ module My { export function funcA() { console.log("This is funcA"); } export function funcC() { // call unexported function // …

TypeScriptのinterface制限のextendsと、ついでにダックタイピングのメモ

問題 interfaceってextendsできるんだっけ? メソッドとプロパティさえ満たしてれば型制約突破できるんだっけ?(ダックタイピング) メモ interface Speaker { Speak(s: string): void; } interface Person extends Speaker { name: string; Greet(): void;…

jsプロジェクトのメタファイルが多すぎてウザいのでchestというのを使ってみたメモ

メタファイルが多すぎる TypeScriptに限った話ではないのだけれど、JavaScript関連のプロジェクトつくってるとパッケージ管理などを定義するメタファイルがトップディレクトリに散乱することになる。たとえば otiai10/prisc at freeze/before-chest · GitHub…

TypeScriptのビルドにgruntじゃなくてgulpを使ってみるおじさんのメモ

もくじ gruntだと npm install -g gulp gulpfile.js 実行してみる gulpfile.coffee TypeScriptのビルドをたのむ gruntだと gruntでこういうプロジェクトつくるワケ myproject ├── package.json ├── Gruntfile.coffee ├── build │ └── app.js └── src └── sam…

CoffeeScriptのクラス定義の中の@アットマークさんについてメモ

メモ CoffeeScript class Foo @hoge: "this is property hoge" @fuga: (p) -> alert "ふがふが #{p}" piyo: (p) -> alert "ぴよぴよ #{p}" foo = new Foo(); console.log foo.hoge Foo.fuga "うんこ" foo.piyo "うんこ" コンパイル後 var Foo, foo; Foo = (f…

【flagg】そんなもんは作らんでよかったのである【Go言語】

go

前略 昨日これを書きました 【つくった】Go言語のflagパッケージでコマンドラインオプションが取得できない気がしたので - DRYな備忘録 これに対して、id:hayajo_prpr 氏から以下のようなご指摘を頂きました。 flagパッケージを使う場合はこんな感じでいかが…

【つくった】Go言語のflagパッケージでコマンドラインオプションが取得できない気がしたので

go

追記 【flagg】そんなもんは作らんでよかったのである【Go言語】 - DRYな備忘録 以下原文 Go言語ではcliのbinが簡単に作れる % cd $GOPATH/src % mkdir mytest % vi mytest/main.go main.go package main import "fmt" func main() { fmt.Println("イエーイ☆-(ノ…