べすとえふぉーと

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

Postgresで全ダンプ

  • hでホスト、-pでポート、-Uでユーザ名
pg_dumpall -h localhost -p 5432 -U postgres > dump.dat

ディレクトリ下のファイル数・容量を調べるコマンド

ファイル数のカウント

ls -l $dir | wc -l

ディレクトリの容量

du -h $dir

wget オプションのメモ

一行ずつ読んで取得

-i url.txt

すでに存在する場合はスキップ

-nc

証明書エラー対策

--no-check-certificate

タイムアウトの秒数

--timeout=10

まとめ

wget -i url.txt -nc --no-check-certificate --timeout=10

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))