してんしのブログ

気ままに更新

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を手に入れたのでレビューみたいなものを。

動機

前から書く書く詐欺をしておりました()。
今回購入したのはxDuooというメーカーのx10という機種です。
この価格帯ではかなり良いスペック(まあスペックが全てではないんですが)です。
ただ、中華DAPのためレビューなど情報も少ないのも現状です。
ということで、まとめていこうと思いました。

全体の様子

f:id:shitenshi:20170211195447j:plain アップデートした時の写真です。(雑な加工、お許しください…) 泥ベースなのかな?
外観は写真の通りです。手に持ってみると重さを感じますが重くて不便ということはありません。
基本操作はホイールではありますが、ホイールの上のボタンでもしっかり操作できます。ホイールが苦手という人でも平気ですね。

良い点

まあ音は良いです。解像度は高めで元気というかパワフルに鳴らしてくれます。
人によって好みも違うのですが、私は好きですね。
また、フォンアウト、ラインアウト、光デジタル、USBなど端子もそれなりに充実している印象です。
現状は直挿しですが、いつかアンプに手を出してみようかななんて思ってみたり。

問題点

フォントは、まあ多少はね?
UI全般はやはり他のDAPと比較すると弱いかもしれないです。ホイールも、だいぶ下に移動するとなるとかなり回します。
私は使わないので特に不便はしてないですがイコライザもありません。
でもやはり一番の問題は冒頭が数秒飛ぶ問題でしょうか…。
曲の冒頭コンマ何秒かが飛びます。飛ばない曲のほうが多いのですが一部の曲で発生してる現象です。

終わり

まああげるとしたらこれくらいでしょうか。
値段以上の音は鳴らしてくれていると感じてますし、安い以上UIなどは諦めてるので私は問題なく使ってます。
この価格帯のなかでは良い音です。音以外で多少我慢できる方ならx10はとても良い選択だと思います。

Gitを触った話

はじめてのぷっしゅ

動機

なんとなくintellijをインストールしたのでGitも使ってみようと思った。

やったこと

1. intellijのインストール

intellijをインストールしました。
特に苦労もなくインストールできてよかった…

2. Gitのインストール

インストールはネットで調べながらポチポチして終了。Githubのアカウントはもともと持ってました。(放置してました…)

3. Gitのセッティング

Git bashを起動してユーザー名とメールアドレスとかを設定したあと、Githubも使いたかったのでSSHキーもGit GUIから作成

4. GithubSSHキーを登録

(この工程を忘れていて少し苦戦したなんて言えない…)

5. intellij側のの設定

これはググれば結構出てくるので調べながらポチポチと。

commit&push

とりあえず適当なプロジェクトを作りました。commitはできましたが、4の工程を忘れていたためpushで苦戦しましたね…←
まあなんとかpushもできました

感想

(ここでこんなに苦戦してるとか先が思いやられますね…)
まあなんとか出来て良かったです。
これをきっかけに頑張って見たいと思います。

ブログを始めてみた

(テスト期間中ではありますが…)ブログを始めてみることにしました

動機

備忘録的な役割や個人的な日記として始めました。

様々なことを書くと思います。

更新ペース

なにかネタがあったらそれごとに記事を書きますが、基本的には週1程度のペースで更新したいです。(続くか怪しい…)

カスタマイズについて

始めたてでまだわからないことも多く、大分シンプルなページですが今後カスタマイズしていく予定です。

よろしくお願いします。