べすとえふぉーと

プログラミング等のノート 

nodebrewでNode.js環境構築

curlで取得してセットアップ

curl -L git.io/nodebrew | perl - setup

.bash_profileに追加

export PATH=$HOME/.nodebrew/current/bin:$PATH

バージョン確認

nodebrew ls-remote

バージョンを指定してインストール

nodebrew install-binary v7.2.1

使用するバージョンを指定して確認

nodebrew use 7.2.1
node -v

mdadmでRAID5

何はともあれmknod

sudo mknod /dev/md0 b 9 0

ディスクの情報を見てmdadm

cat /proc/diskstats
sudo mdadm -C /dev/md0 -ayes -l raid5 -n 3 /dev/sda5 /dev/sda6 /dev/sda7
cat /proc/mdstat

ext4でフォーマット

sudo mkfs.ext4 /dev/md0

マウント、chownして書き込めるように(ラズパイなのでpi)

mkdir mountdir
sudo mount /dev/md0 mountdir
sudo chown -R pi mountdir

アルゴリズム構築 トップダウン方式

オライリーの[初めてのコンピュータサイエンス]より、メモとして

1行に1命令を書き出す

#リストLに含まれるもっとも小さな2つの値の添字をタプルで返す
def find_two_smallest(L):
    #Lの最小値の添字を探す
    #リストからその要素を削除
    #リストの新しい最小値の添字を探す
    #2個の添字を返す

コードを書く

def find_two_smallest(L):
    #Lの最小値の添字を探す
    smallest_index = min(L)
    min1 = L.index(smallest_index)
    #リストからその要素を削除
    L.remove(smallest_index)
    #リストの新しい最小値の添字を探す
    next_smallest_index = min(L)
    min2 = L.index(next_smallest_index)
    #2個の添字を返す
    return(min1,min2)

不足要件があれば追加する

def find_two_smallest(L):

    #Lの最小値の添字を探す
    smallest_index = min(L)
    min1 = L.index(smallest_index)
    #リストからその要素を削除
    L.remove(smallest_index)
    #リストの新しい最小値の添字を探す
    next_smallest_index = min(L)
    min2 = L.index(next_smallest_index)
    #最初に削除したものを戻す(追加)
    L.insert(min1,smallest_index)
    #戻した最初のIndexが2番目より前であれば+1して正しいIndexをセット(追加)
    if min1 <= min2:
        min2 += 1
    #2個の添字を返す
    return(min1,min2)

全体はこんな感じ

# -*- coding: utf-8 -*-

#リストLに含まれるもっとも小さな2つの値の添字をタプルで返す
def find_two_smallest(L):

    #Lの最小値の添字を探す
    smallest_index = min(L)
    min1 = L.index(smallest_index)
    #リストからその要素を削除
    L.remove(smallest_index)
    #リストの新しい最小値の添字を探す
    next_smallest_index = min(L)
    min2 = L.index(next_smallest_index)
    #最初に削除したものを戻す(追加)
    L.insert(min1,smallest_index)
    #戻した最初のIndexが2番目より前であれば+1して正しいIndexをセット(追加)
    if min1 <= min2:
        min2 += 1
    #2個の添字を返す
    return(min1,min2)

arr = [1,6,2,3]
print (find_two_smallest(arr))

公開鍵認証の設定

Ubuntuサーバー側

sudo apt-get install openssh-server

ローカル(Mac)で鍵を作成して転送  名称入力時にvps2を入力

ssh-keygen 
scp -P $PORT vps2.pub $USER@$IP:/

Ubuntuサーバー側で鍵設定

chmod 700 .ssh/
cat vps2.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_key
vi /etc/ssh/sshd_config 

以下のように変更

PasswordAuthentication no
RSAAuthentication yes 
PubkeyAuthentication yes 


Ubuntu側で再起動

service ssh restart

ローカル(Mac)からログイン

openssl rsa -in vps2 -outform pem > vps2.pem
chmod 600 vps2.pem 
ssh -p $PORT -i vps2.pem $USER@$IP