じぶんメモ

プログラミングのメモ、日常のメモとか。

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

typescriptのビルド設定

はじめに babel7がリリースされましたね! それに伴いtypescriptもサポートされたのでbabel単体でtsのビルドができるようになりました。 しかしbabelはtypescriptから型情報を取り除くだけなので型チェックまではサポートしておらず、 型チェックに関してはt…

golangテストはじめ

Go

はじめに golangでのテストはとてもシンプルで、rubyのrspecのように新しくDSLを覚える必要もありません。 テストについての記事は沢山あるのですが、自分の中で特にこれは最初に覚えておいた方がいいなと思うことをピックアップしました。 基本的なtestの書…

anyenvを使って~env系をひとまとめにする

ruby, pythonを使用しているとrbenv, pyenv等を使ってバージョン管理をするが、 これらのバージョン管理システムは、言語ごとに導入、PATHを通す必要がある。 anyenvを使用すれば、これらの言語ごとのバージョン管理システムを一元管理できる。 1.以前使用し…

gitで歴史を改ざんするには

git

直前の履歴を改ざんする 1. コミットをなかったことに HEADの一つ前に戻る。 $ git reset HEAD~1 $ git push -f origin 2. コミットを修正 対象ファイルを修正し、commit --amendする。 $ git commit --amend $ git push -f origin 特定の歴史を改ざんする r…

n-gramによる文章の類似率を求める

N-gramとは、テキストで隣り合ったN文字のことを示す。 以下では2つ文章を指定された文字数で分割し、2つの文章間で分割した文字がどれだけマッチするかの頻度から、2つの文章の類似率を求める。 def ngram(str, num): res = [] slen = len(str) - num + 1 f…