HDDとSSDの違いは?

EBSは、SSD、HDDどちらもありますが、さて、タコができているかもしれませんが違いは。

HDD
HDDはHard Disk Driveの略で、電磁的に書き込み・読み込みする
プラッタと呼ばれる磁性体に塗られた円盤が入っており、ヘッドで書き込み、読み込みする
プラッタの回転数が多いほど、短時間で大量データ処理が可能
回転数はrpmという単位で表示される、1分間のプラッタ回転数(1分間に約7200~15000回転)
磁気ヘッド先端の電磁石がディスク表面のブロックの磁気方向を変えてデータを書き込む。書き込まれたデータは磁気リーダで読みこむ。読み込みはレコードの仕組みに似ている
電波ノイズを軽減する数値計算用アルゴリズムを改良している
保存できるデータ量が大きく、容量単価が安価だが、衝撃に弱く消費電力が大きい
機械駆動式のため、徐々に壊れる
トラックまでヘッドを移動させる「シーク時間」とセクターが来るまで待つ「回転待ち」時間を要する
SEAGATE, Toshiba, Western Digital
レーザーを使ってディスク表面にピンポイントで熱を与えてデータを書き込むheat assisted magnetic recording、HAMRが開発中。Bit Pattern Mediaが実用化すれば20TビットのHDDなども

SSD
Solid State Driveで半導体素子メモリを使ったドライブ
メモリーチップ内蔵。メモリチップはデータを記憶するICチップ
SSDの構造は、コントローラとNAND型フラッシュメモリ
衝撃に強く、発熱、消費電力が少ない、読み書きの速度が早く作動音がない。
HDDより小さく、軽い。ただし容量が少なく、容量単価の価格が高い
フラッシュメモリのセルも徐々に劣化する。1千~1万回で劣化
CFD、Samsung, Silicon-Power, Transcend
真性半導体、P型半導体、N型半導体に変化し、シリコンウエハーの表面に電子回路パターンを多層形成する
電子回路パターンはNAND型:否定論理積、NOR型:否定論理和
セル内部のフローティングゲートで電子を貯めているため、電源を切っても記憶できる
セルは、絶縁膜、フローティングゲート、トンネル酸化膜、シリコン基盤
SSDコントローラがNAND FLASHを制御
ウェアレベリング処理で、セルの負担を軽減 エラー補正機能やブロックの消去回数なども管理している
SSDは数百メガバイト/秒の転送速度で、HDDの50〜150MB/Sを大きく上回る NANDフラッシュメモリを平行動作

デュアルストレージ
SSDとHDDを両方搭載
SSDにはOSを入れ、HDDにはソフトやデータ保存を行う
e.g. M.2 SSD 256GB Serial ATAIII M.2規格+1TB Serial ATAII 5400rpm

ヨドバシカメラなどをいくと、windowsのノートはデュアルストレージがかなり売られていた。SSD256GB + HDD1T or 2TBが多い。
OSXはSSDだけども、デュアルになってくのだろうか。。

GitLab

GitLabはグループ・プライベートレポジトリが作れる
無償版Community Editionと有償版Enterprise Editionがある
Railsで作成されている

gitlabにgithubのアカウントでログインしようとしたら、Invalid Login or password。おかしいなと思ったら、”sigin in with”のところでauthする必要があったのね。

使い方はgithubと似ていそうですね。

フーリエ変換

import numpy as np
from scipy.fftpack import fft
import matplotlib.pyplot as plt

N = 2**20
dt = 0.0001
f1, f2 = 5, 8
A1, A2 = 5, 0
p1, p2 = 0, 0

t = np.arange(0, N*dt, dt)
freq = np.linspace(0, 1.0/dt, N)

y = A1*np.sin(2*np.pi*f1*t + p1) + A2*np.sin(2*np.pi*f2*t + p2)

yf = fft(y)/(N/2)

plt.figure(2)
plt.subplot(211)
plt.plot(t, y)
plt.xlim(0, 1)
plt.xlabel("time")
plt.ylabel("amplitude")

plt.subplot(212)
plt.plot(freq, np.abs(yf))
plt.xlim(0, 10)
#plt.ylim(0, 5)
plt.xlabel("frequency")
plt.ylabel("amplitude")
plt.tight_layout()
plt.savefig("01")

ちょっと待て、
scipyって何?
matplotlibの基本的な使い方は?

ベクトルの内積

対応する成分同士を掛け算してそれらの和を取る
ベクトルとベクトルの内積はスカラーになる
内積の記号はが多い

直行条件とは、なす数が90°(cos90°=0)

法線ベクトル:全ての接線と直交するベクトル

Your PostgreSQL is too old

[vagrant@localhost ipa]$ yum list installed | grep postgres
postgresql.x86_64 8.4.20-8.el6_9 @base
postgresql-devel.x86_64 8.4.20-8.el6_9 @base
postgresql-libs.x86_64 8.4.20-8.el6_9 @base
postgresql96.x86_64 9.6.15-1PGDG.rhel6 @pgdg96
postgresql96-devel.x86_64 9.6.15-1PGDG.rhel6 @pgdg96
postgresql96-libs.x86_64 9.6.15-1PGDG.rhel6 @pgdg96
postgresql96-server.x86_64 9.6.15-1PGDG.rhel6 @pgdg96

psqlが8.4を読み込んでいるため、「Your PostgreSQL is too old」のエラーが出る

まず、psqlにログインして、実行ファイルを探します
[vagrant@localhost ipa]$ su – postgres
パスワード:
-bash-4.1$ which -a psql
/usr/bin/psql

Berkshelf

Berkshelf is a tool to manage Chef cookbooks and their dependencies.

If you define a cookbook to be used for the definition file, you can eliminate depedencies automatically from the repository.

[vagrant@localhost test]$ gem install mixlib-archive -v 0.4.20
[vagrant@localhost test]$ gem install mixlib-config -v 2.2.18

[vagrant@localhost test]$ gem install berkshelf
Fetching: fuzzyurl-0.9.0.gem (100%)
Successfully installed fuzzyurl-0.9.0
Fetching: chef-config-15.1.36.gem (100%)
Successfully installed chef-config-15.1.36
Fetching: builder-3.2.3.gem (100%)
Successfully installed builder-3.2.3
Fetching: erubis-2.7.0.gem (100%)
Successfully installed erubis-2.7.0
Fetching: gssapi-1.3.0.gem (100%)
Successfully installed gssapi-1.3.0
Fetching: gyoku-1.3.1.gem (100%)
Successfully installed gyoku-1.3.1
Fetching: httpclient-2.8.3.gem (100%)
Successfully installed httpclient-2.8.3
Fetching: little-plugger-1.1.4.gem (100%)
Successfully installed little-plugger-1.1.4
Fetching: logging-2.2.2.gem (100%)
Successfully installed logging-2.2.2
Fetching: nori-2.6.0.gem (100%)
Successfully installed nori-2.6.0
Fetching: rubyntlm-0.6.2.gem (100%)
Successfully installed rubyntlm-0.6.2
Fetching: winrm-2.3.2.gem (100%)
Successfully installed winrm-2.3.2
Fetching: rubyzip-1.2.3.gem (100%)
Successfully installed rubyzip-1.2.3
Fetching: winrm-fs-1.3.2.gem (100%)
Successfully installed winrm-fs-1.3.2
Fetching: train-core-2.1.13.gem (100%)
ERROR: Error installing berkshelf:
There are no versions of train-core (>= 2.0.12, ~> 2.0) compatible with your Ruby & RubyGems. Maybe try installing an older version of the gem you’re looking for?
train-core requires Ruby version >= 2.4. The current ruby version is 2.3.0.

なにいいいいいいいいいいいいいいいいいいいい

node.js, npmバージョンアップ

[vagrant@localhost ~]$ nvm install v10.12.0
Downloading and installing node v10.12.0…
Downloading https://nodejs.org/dist/v10.12.0/node-v10.12.0-linux-x64.tar.xz…
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v10.12.0 (npm v6.4.1)
[vagrant@localhost ~]$ nvm use v10.12.0
Now using node v10.12.0 (npm v6.4.1)

[vagrant@localhost ~]$ node -v
v10.12.0
[vagrant@localhost ~]$ npm -v
6.4.1

Holacracy

The term “holacracy” refers to social technology or organizational governance management to maintain a self-propelled organization by distributing authority and making decisions throughout the organization rather than making decisions through traditional top-down hierarchies. It is defined as the method.