DRYな備忘録

Don't Repeat Yourself.

2015-01-01から1年間の記事一覧

正規表現でマッチした要素を残しつつsplitしたい

ほしいもの sourc: aaaaaaabbbbbxxxxxxdddddeeezzzzzfffffffffxxxxxxxxx rule: /[x|z]+/ result: ['aaaaaaabbbbb', 'xxxxxx', 'dddddeee', 'zzzzz', 'fffffffffggggg', 'xxxxxxxxx'] こんな感じ。splitだと、'xxxxxx'とか'zzzzz'は要素としては消えちゃうけ…

まちがえてcommit --amendしちゃった

git

手元でmodify3して、 素直にcommitして - commit3 - [origni/master] commit2 - commit1 - commit0 っていう状態にして、pushしたかったのに、手元が狂ってcommit –amendしちゃったとき。 reflog使おう reflogが % git reflog 5123b8c HEAD@{0}: commit (ame…

【Go言語】container/listのRemoveでハマった

や、ハマったってほどでもないんだけど、まあそうだよね、って感じたメモ。 以下のように書いて、barとquxをlistから排除しようとした see this code in play.golang.org barは排除できてるけど、quxは排除できてないことがわかる。 原因 Remove(e)を呼んだ…

sshトンネリング(ポートフォワード)とか多段ポートフォワード

ssh

localhostの9999番ポートを、リモートホストmyremotehost.comの7777番に、myproxyを使ってポートフォワードしたい。 ssh -L 9999:myremotehost.com:7777 myproxy で、myremotehost.com:7777で動いてる何かし(アプリケーションや、MySQLなどのデーモン)へア…

【psql】ERROR: operator does not exist: character varying = uuid

問題 以下のクエリを実行時に掲題のエラーが出る SELECT * FROM logs WHERE job_id IN (SELECT DISTINCT id FROM jobs WHERE jobs.active = true) ; ERROR: operator does not exist: character varying = uuid LINE 1: SELECT * FROM logs WHERE job_id IN …

angularjsのviewでencodeURIComponentしたい

問題 angularのViewで(not controller)華麗にencodeURIComponentとかしたいじゃないですか、こんな感じで <a href="/tasks/{{task.id | encodeURIComponent}}">{{task.name}}</a> filterをカスタマイズしよう angular.module('myapp', []).filter("encodeURIComponent", function() { return window.encodeURIComp…

go templateで、スライスの特定インデックスの要素の、そのまたプロパティにアクセスしたい

前回 go templateで、スライスの特定インデックスにアクセスしたい - DRYな備忘録otiai10.hatenablog.com {{index .myslice 1}} で出力できることを知ったけど、出力するだけならまだしも、それがstructでさらにプロパティがある場合どうすんねん的なことを…

go templateで、スライスの特定インデックスにアクセスしたい

あかんやつ Can I access index directly? the second is: {{.Bars[1]}} panic: template: :2: unexpected bad character U+005B '[' in command ヒィィ うごくやつ Can I access index directly? the second is: {{index .Bars 1}} The Go Playground リファレ…

default VPCが無い

AWS

デフォルトの VPC とサブネット - Amazon Virtual Private Clouddocs.aws.amazon.com デフォルトの VPC を削除した後、その VPC を復元する必要がある場合は、AWS サポートに連絡して、そのリージョンで新しいデフォルトの VPC を作成できるようアカウントを…

JavaScriptでお手軽in_array

なんかスコープとかの問題でunderscoreとか使えないとき、でゴルフっぽいコード書きたいとき [0,1,2,3].indexOf(3) > -1; // true [0,1,2,3].indexOf(100) > -1; // false angularのdirectiveの中とか <div data-ng-if="[0, 2, 3].indexOf(player.type) > -1"> アクセサリ一覧: </div> みたいな DRY

Goのエラーハンドリングについてちょっとだけ思ったメモ

go

だめ1 if err := foo(); err != nil { return err } // どこがやねん、ってなる だめ2 if err := foo(); err != nil { return fmt.Errorf("failed to do foo") } // なんでやねん、ってなる すき if err := foo(); err != nil { return fmt.Errorf("failed…

React.jsで改行が表示されなくて困ったメモ

問題 textarea -> divの中身にする みたいなありがちなやつで、これが こうなる 改行\nして\nください ってなってる 調査 みんな困ってたっぽい https://groups.google.com/forum/#!topic/reactjs/VUJT314Gm50 (textarea内部のはなしだけど↓) http://niwar…

IntelliJ俺々CheatSheet置き場

本家はここ https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard.pdf まず覚える癖 ヘルプ出す: Cmd+Shift+A そこに書かれたショートカットを打たなくても、そのアクションにフォーカスしている状態でエンター押せば、それが発動するので、これ…

#gunosygo でIntelliJ IDEAでGoを書く環境設定を教えてもらった

GOROOT, GOPATH is empty or not detected このエラーが消せなくて困っていたのだが、 IntelliJ14でGolang PluginがGOROOT, GOPATHを認識しないja.stackoverflow.com 2015/06/02開催のGunosy.goで、LTという名の他力本願で、その場で教えてもらった(ライブ…

Elasticsearchでpartial update

たとえば、users_indexに以下のようなuserというtypeがあったとする { "id": 1234, "name": "otiai10", "age": 29, "lang": ["go","js","python"], "description": "落合展です。10は「じゅう」じゃなくて「テン」と読みます。" } 全体アップデート ドキュメ…

【Go言語】[]string, []int to []interface{} とかそういうの

go

「なんかのスライス」を「interface{}のスライス」にしたい。 スライスでなければ、「なんか」を「interface{}」にするのは単に抽象度の増すキャストなので超簡単なわけだけど。 s := "hoge" i := interface{}(s) これがスライスとなるとだめ ss := []string…

ClojureでHelloWorld

はい ( ´・ω・)⊃ clojure hello world - Google 検索 やります leiningenインスコ % brew install leiningen leiningen対話で起動 % lein repl user=> Hello, Clojure!! user=> (print "Hello, Clojure!!") Hello, Clojure!!nil user=> やったー

Emscriptenとはなんじゃらほい

Emscriptend.hatena.ne.jp とりあえず使ってみるしかない kripken/emscripten · GitHub Main — Emscripten 1.29.12 documentation EmscriptenでC言語をJavaScriptに変換する - Qiita SDKインストール Download and install — Emscripten 1.29.12 documentati…

Elasticsearchでindexにaliasつける

% curl ":9200" { "status" : 200, "name" : "Kubik", "cluster_name" : "elasticsearch", "version" : { "number" : "1.5.1", "build_hash" : "5e38401bc4e4388537a615569ac60925788e1cf4", "build_timestamp" : "2015-04-09T13:41:35Z", "build_snapshot" …

MacにElasticsearchをソースから入れる

JDKとかは入ってる前提で tarを入手 今回は1.5.1 ここから tarを展開 tar -xzf ~/Downloads/elasticsearch-1.5.1.tar.gz 確認 help % ./elasticsearch-1.5.1/bin/elasticsearch --help ~ Usage: ./elasticsearch-1.5.1/bin/elasticsearch [-vdh] [-p pidfile…

rpmのインストール・リスト・アンインストール

rpm

RedHat Package Manager の略なんだろうな、たぶん インストール まずどこぞからfoo.rpmファイルを入手する。wgetとかで。 次に、 $ sudo rpm -ivh foo.rpm で展開する。なお、-ivhはrpm --help -i, --install パッケージをインストールします。 -v, --verbo…

Elasticsearchのkuromojiでワロタ

"吾輩は猫である" curl "http://localhost:9200/my_index/_analyze?pretty=true&field=description&analyzer=kuromoji" -d "吾輩は猫である。" { "tokens" : [ { "token" : "吾輩", "start_offset" : 0, "end_offset" : 2, "type" : "word", "position" : 1 …

【Elasticsearch】update mapping の注意

バージョン0.90. * とバージョン1. * とで違うんで注意 v0.90.* curl -XPUT :9200/my_index/my_type/_mapping -d @my_new_mapping.json v1.* curl -XPUT :9200/my_index/_mapping/my_type -d @my_new_mapping.json なお、GETに関しては/{index}/_mapping/{ty…

【Go言語】could not determine kind of name for C.foo

問題 cgoを使ってGoのコードからC/C++のライブラリを使いたいので、手始めにHello, World書いて実行したけど、以下のエラーが出る。 % go run main.go # command-line-arguments could not determine kind of name for C.foo 可能性1) そこ、空行いれちゃだ…

原因について

ちなみに、「変数にセットする値を間違えました」は直接原因。「設計書を読み間違えた」のは根本原因。「これらをレビューやテストで防ぐ手段がなかった」のが流出原因。— むぎ@SE (@MUGI1208) 2015, 1月 13 Don't Repeat Yourself

curlのレスポンスをgrepしたものを1秒おきにwatchしたい

watchしたい出力 localhost:9200で動くAPI curlのprogress出力は要らないので-sして レスポンスの中の"management"という文言から後ろ7行 curl :9200/_nodes/stats/thread_pool?pretty -s\ | grep -A7 \"management\" に対する "management" : { "threads" :…

rbenv install --listでおめあてのバージョンが出ない

ruby 2.1.3 not getting installed on my Mac · Issue #630 · sstephenson/rbenv ruby 2.1.3 not getting installed on my Mac · Issue #630 · sstephenson/rbenv · GitHub % cd ~/.rbenv/plugins/ruby-build % git pull でなんか来たらもっかいrbenv instal…

【緩訳Elasticsearch】その3 Controlling analysis

原文: Controlling Analysis | Elasticsearch: The Definitive Guide [2.x] | Elastic controlling analysis 検索クエリは逆引きインデックス*1に存在している単語しか見つけることができません。したがって、indexに紐づくすべてのドキュメントをインデクシ…

stackoverflowでsyntax highlightしたい

なんか毎回ぐぐって結構時間かかるので備忘録しとく { "query":{ "filtered":{ "query":{ "term":{"title":"kitchen3"} }, "filter":{ "term":{"price":1000} } } } } ポイント コードブロックは1タブ下げてつくれる コードブロックの前にを入れる ◆はスペ…

【緩訳Elasticsearch】その2 filtered query

原文 Filtered Query filtered query filteredクエリはqueryとfilterを組み合わせるために用いられます。フィルターは単純にクエリを使うよりも高速となるケースが多く、なぜなら、*1 フィルターは、ドキュメントとの関連度スコアを数値計算するのではなく、…