auの日記

プログラミング初心者の日記。(auはハンドルネームです)

ネットワーク設計とは

auです。

ネットワーク設計という用語について調べました。

ネットワーク設計とは

ネットワーク設計とは、「通信を利用するアプリケーションが問題なく、快適に動作するように、管理のしやすい通信ネットワークを構築し、さらに0低コストであること」を目指す設計のことです。

ルータのリンク容量や、回線の容量が変わるだけで、通信速度やコストが大きく変わってきます。他にも、サービスによって遅延時間やパケット損失率をどの程度以下にしなければいけないという性能指標をクリアしながら伝送できるようにしなければいけない回線設計(トラヒック設計)あったり、どんな通信ネットワークの形状で行うかのネットワークトポロジを決め、その中の、どの経路にトラヒック(ネットワークを流れる情報量)を流すかを決める形状設計を決める必要があります。

ネットワーク設計は、通信を行うものを作成する際には絶対に必要になる設計図のことという認識にします。

ネットワークに出てくるグラフ理論って何

auです。

ネットワークの勉強をしているときに、「グラフ理論」という用語を目にしたので調べてみました。

グラフ理論とは

グラフ理論とは、ノード(点)の集合と、エッジ(辺)の集合で作られたグラフに関する数学の理論のことです。

ノードとエッジで構成されたグラフというのは、何となく想像できると思いますが、「数学の理論」ってなんだ・・・ってなりますよね。

この「数学の理論」とは、そのグラフの持つ情報を数学的に探求していくことをグラフ理論と言います。要は一番目的に合った解決法を計算して求めていく感じですね。アルゴリズムの考えと同じだと思います。

このグラフには、「有向グラフ・無向グラフ」があり、有向グラフはノードA→Bという方向にしか進むことができないようなエッジで結ばれたグラフをさします。無向グラフとは、A⇄Bといった、お互いに行き来することができるグラフを指します。たまに「完全無向グラフ」というものが出てきますが、これはそれぞれの頂点同士が結ばれた無向グラフのことです。ネットワークトポロジーでいうフルメッシュのことですね。

なんだ、いつものグラフのことかという感じでしたが、今まで習ったことを文字にすることができたので、それなりに勉強してきているんだなと実感することができました。

オーソリティとは

auです。

アルゴリズムの講義で「オーソリティ」という用語が出てきたので調べてみました。

オーソリティとは

オーソリティとは、SEOで用いられる用語です。PageRankとは違いますが、多くのページからリンクされているサイトという意味では似ているかもしれません。

PageRankとの違いは、同じような内容を扱っているページから多くリンクされているかを表す指標ということです。単純にリンクされているだけようなPageRankとは違い、より「有力なページ」であることを表すのがオーソリティということになります。

XCodeを何も勉強せずにやるのは無理だと悟った

auです。

iOS向けのアプリをつくろう!と思い、XCodeを開いてぽちぽちしてみたのですが、プロジェクトを作成する際のApplication、Framework & Libraryなど、どれを選択すれば一番作りたいものを楽に作れるのだろうとなったりしてよくわからなくなってしまいました。

f:id:program-shoshinsya:20190703233528p:plain

cocoaっていうフレームワークがあったりと、色々調べているうちに一つ気づいたことがありました。

外国人向けのアプリを作りたいのになんでiOSなんだ・・・普及しているのはAndroidだから、そっちで作った方が需要は上がるのではってなったので、おそらくiOSのアプリの開発はAndroidが終わってからになりそうです。

ネットワークで用いられるシンボルとは

auです。

ネットワークのLTEなどの通信の話題で出てくる「シンボル」という用語について調べてみました。

シンボルとは

シンボルとは、デジタル変調で、データ伝送速度を上げるための一回の変調のことをさします。

そもそもデジタル変調とは、データをデジタル信号に乗せて送信するための処理のことです。

変調の方法としては3種類あり、「振幅変調・周波数変調・位相変調」があります。デジタル信号の2ビットの値に対し、搬送波の位相をそれぞれ「0度」と「180度」にして、一回の変調で作れる信号の波形のことをシンボルと言います。

一回の変調で多くのデータを表現するためには、多くの値を1つのシンボルに割り当てたり、1つのシンボルに対してのデータを増やす必要があります。この多くのデータを1つのシンボルで表現する変調方式を「多値変調方式」と言います。

FFmpegを使って音声ファイルを分離して音ズレを直した

auです。

iMovieで動画を編集していた際に、音ズレを無理やり直したのでその方法をめもしておこうと思います。他にもいいやり方があったら教えていただきたいです。

Aviutlで動画を編集している際に、音ズレを感じたので無理やり直して見ようと考えた結果、iMovieで動画ファイルと音声ファイルに分けて、手動でゴリ押しました。

一度出力したファイルの音声データのみを抜き出す。

ffmpeg -i input.mp4 output.mp3

そしたらもう一度プロジェクトを作成し、動画と音声を両方とも入れます。

あとはズレている箇所を選択し、拡大して少しずつ修正します。

f:id:program-shoshinsya:20190701195911p:plain

うーん、このゴリ押し感。

今日の記事は以上です。ありがとうございました。

OCamlのシグネチャが読み解けない

auです。

最近の悩みを書こうと思います。まあ、タイトル通りOCamlシグネチャがよく分からないということです。

課題を解く際に、問題によってはこんなシグネチャになるよーって感じで例が書いてあるのですが、いくらやってもそんなシグネチャはできません...

どうなってんのこれと思いつつがちゃがちゃやってると、ふとそれっぽいやつ書けたなーってなった瞬間にシグネチャも例題と同じものになります。

いい加減理解しなきゃいけないのになと思いつつ、いくら読んでもなんとなくしか理解できず、シグネチャを見て適切な型に修正するという動作をすることができません。このままじゃ非常にまずいので、とにかく課題を解くか、例題が載っているサイト、わかりやすい本などがあったら教えていただきたいです。

とりあえず今からきゃめろうと思います。