diffの仕組みについて調べてまとめてみた
お久しぶりです。してんしです。
新年度が始まりましたね。ちなみに私には彼女ができました。
嘘です…。
この記事について
昨年度を振り返ると様々な出来事がありました。
まあいろいろありましたが、中でも大きなものと言ったら卒業論文ですね。とてもめんどくさかったです。
世の中には差分を管理するソフトウェアなど便利なものがあります。なぜあの時使わなかったのか…。
ということで、差分管理の仕組みについて理解を深めるため、本当に基本的な部分を私なりにまとめることにしました。備忘録みたいな感じです。 間違えが絶対あると思われます。もしあったらコメントなどで教えてくださるとありがたいです。
うまくいけば部活の発表のネタとして使い回すこともできますしね…
diff
2つのディレクトリとかファイルとかの差分を取得するコマンドをdiffって言ったりします。UNIX系のコマンドです。
Gitとかのバージョン管理システムを通して使う人もいるかもしれないです。(プログラム書く人とかは特に。)
LCS
LCSは最長共通部分列というものです。
名前が難しそうでそれだけじゃよくわかんないです。簡単に言うと2つの文の中で共通な部分で最も長い列の事です。
例えば"あいうえお"と"かいうえあ"という2つの列のLCSは"いうえ"です。 LCSではない文字、例えば"あ"の場合は前者ではLCSの"いうえ"の前、後者は"いうえ"の後になってます。
またLCSは複数あることがあります。
SES
先ほどの文の前者を①、後者を②にすると、①の文を②にするための一番短い手順のことです。 簡単に言うと、LCSの文字はそのまま、それ以外の文字を削除して、その後に必要な文字を足します。
先ほどの例でやってみます。
もとの文字列は"あいうえお"でした。
“か"を追加します。(かあいうえお)
“あ"はLCSではないので削除します。
(かいうえお)
“い"はLCSなのでそのままにします。
(いうえお)
“う"や"え"も同様にそのまま、"お"はLCSでないので削除します。(かいうえ)
最後に"あ"を追加します。(かいうえあ)
これで完成です。
編集距離
編集距離はずばり追加と削除の数です。
ここでは4です。
まとめ
ここまでに説明した3つの要素を使えば差分が求められます。
しかし実際はこれほど単純では無いそうです。 というのも今回はたった5文字でしたが普段用いるであろう文字列でさっき言った処理を行うのは現実的ではないですから。
なのでほんとはもう少し工夫が必要なのです。
なのでWuなどの工夫されたアルゴリズムがあるのですがその仕組みについてはなかなか難しかったのでそこまでは書けませんでした…。
ではまた。
xDuoo x10
お久しぶりです
随分と更新をサボってまいました…。お久しぶりです。してんしです。 今回はDAPを手に入れたのでレビューみたいなものを。
動機x10のレビューを書くかもしれない
— してんし (@hot_cocoa_mocha) 2017年2月6日
x10のレビューを書くかもしれない
— してんし (@hot_cocoa_mocha) 2017年2月6日前から書く書く詐欺をしておりました()。
今回購入したのはxDuooというメーカーのx10という機種です。
この価格帯ではかなり良いスペック(まあスペックが全てではないんですが)です。
ただ、中華DAPのためレビューなど情報も少ないのも現状です。
ということで、まとめていこうと思いました。
全体の様子
アップデートした時の写真です。(雑な加工、お許しください…) 泥ベースなのかな?
外観は写真の通りです。手に持ってみると重さを感じますが重くて不便ということはありません。
基本操作はホイールではありますが、ホイールの上のボタンでもしっかり操作できます。ホイールが苦手という人でも平気ですね。
良い点
まあ音は良いです。解像度は高めで元気というかパワフルに鳴らしてくれます。
人によって好みも違うのですが、私は好きですね。
また、フォンアウト、ラインアウト、光デジタル、USBなど端子もそれなりに充実している印象です。
現状は直挿しですが、いつかアンプに手を出してみようかななんて思ってみたり。
問題点
フォントは、まあ多少はね?
UI全般はやはり他のDAPと比較すると弱いかもしれないです。ホイールも、だいぶ下に移動するとなるとかなり回します。
私は使わないので特に不便はしてないですがイコライザもありません。
でもやはり一番の問題は冒頭が数秒飛ぶ問題でしょうか…。
曲の冒頭コンマ何秒かが飛びます。飛ばない曲のほうが多いのですが一部の曲で発生してる現象です。
終わり
まああげるとしたらこれくらいでしょうか。
値段以上の音は鳴らしてくれていると感じてますし、安い以上UIなどは諦めてるので私は問題なく使ってます。
この価格帯のなかでは良い音です。音以外で多少我慢できる方ならx10はとても良い選択だと思います。
Gitを触った話
はじめてのぷっしゅ
動機
なんとなくintellijをインストールしたのでGitも使ってみようと思った。やったこと
1. intellijのインストール
intellijをインストールしました。特に苦労もなくインストールできてよかった…
2. Gitのインストール
インストールはネットで調べながらポチポチして終了。Githubのアカウントはもともと持ってました。(放置してました…)3. Gitのセッティング
Git bashを起動してユーザー名とメールアドレスとかを設定したあと、Githubも使いたかったのでSSHキーもGit GUIから作成4. GithubにSSHキーを登録
(この工程を忘れていて少し苦戦したなんて言えない…)5. intellij側のの設定
これはググれば結構出てくるので調べながらポチポチと。commit&push
とりあえず適当なプロジェクトを作りました。commitはできましたが、4の工程を忘れていたためpushで苦戦しましたね…←まあなんとかpushもできました
感想
(ここでこんなに苦戦してるとか先が思いやられますね…)まあなんとか出来て良かったです。
これをきっかけに頑張って見たいと思います。