日に日に分からんことが増えていく…

プログラマー初心者としての日々を学んでいることを記録していく。

sarで焦った時(メモリのリソース確認)

sarコマンドを使うとmemusedが100%近くなっていた。 よくよく調べると、バッファとキャッシュの分を引く必要がある。

$ sar -r -s 16:00:00
04:44:01 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
04:45:01 PM    231156  30485720     99.25      2068  11327604  30375536     98.89  22381108   7170504      8832
04:46:01 PM    225416  30491460     99.27      2068  11332752  30603020     99.63  22422976   7140188      4276
04:47:01 PM    226620  30490256     99.26      2068  11329580  30602984     99.63  22458724   7101568     61324
04:48:01 PM    227464  30489412     99.26      2068  11330284  30604424     99.63  22466644   7095104      3260
Average:       272639  30444237     99.11      2068  11455693  30390549     98.94  22106370   7568499     51477

naoberry.com

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            29G         17G        206M         16M         11G         10G
Swap:            0B          0B          0B

ちなみにディスクは以下の方法で確認している

$ df -h
[zeta@search ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       300G   91G  210G  31% /
devtmpfs         15G     0   15G   0% /dev
...

$ sudo du /home -h --max-depth=1 | sort -nr

Vagrantで同期できなくなってしまった...

Vagrantディレクトリの同期ができなくなってしまった。 なんかファイルシステムみたいなのを指定すれば行けた。

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "private_network", ip: "192.168.88.88"
  config.vm.hostname = "my.centos.dev"
  config.vm.synced_folder ".", "/vagrant", type: "nfs"
end

nfsrsyncはデータの同期か同じファイルシステムの差なのか・・・

stackoverflow.com

JSON形式のAPIの情報をExcelに投入

#!/usr/bin/env python
# coding:utf-8

import openpyxl as px
import requests
import json
import re

URL = "[API URL名]"
fname = "ファイル元"
num_string_pattern = re.compile(r'\d+')
itemid_string_pattern = re.compile(r'\w{3}\d{4}')
itemid_string_pattern2 = re.compile(r'\w{1}\d{4}')


def check_items(keyword, url):
    params = {'q': keyword}
    r = requests.get(URL, params=params)
    dic = json.loads(r.text)
    total = dic.get('result')get('total')
    return total > 0


def digits_check(keyword):
    if re.match(num_string_pattern, keyword) or re.match(itemid_string_pattern, keyword) or re.match(itemid_string_pattern2, keyword):
        return True
    else:
        return False


def run(fname):
    try:
        wb = px.load_workbook(fname)
        print(wb.get_sheet_names())
        ws = wb.get_sheet_by_name('データセット1')
        _write_sheet(ws)
    except:
        raise
    else:
        wb.save(fname)


def _write_sheet(sheet):
    for row in range(2, 10002):
        keyword = sheet['A{}'.format(row)].value
        keyword = str(keyword)
        print(keyword)
        sheet['I{}'.format(row)].value = digits_check(keyword).numerator
        sheet['J{}'.format(row)].value = digits_check(keyword).numerator


def main():
    run(fname)


if __name__ == '__main__':
    main()

www.lisz-works.com

CentOS7のタイムゾーンの設定

CentOS7のタイムゾーンの設定がtimedatectlでできるらしい。

## timezoneの設定を確認
timedatectl status
date

## timezoneの設定を変更
timedatectl list-timezones | grep Tokyo
timedatectl set-timezone Asia/Tokyo
timedatectl status

## 変更内容を確認
date

server.etutsplus.com

PostgresのDBの作り方にいろいろ見ないといけないことがありそう...

なんか、mysqlみたいにutf-8の指定する方法とかないか確認したくて調べていたら、 localeとかもあって、それによっていろいろ差があるっぽい

CREATE DATABASE [DB名]
TEMPLATE template0 ENCODING 'UTF-8'
LC_COLLATE 'ja_JP.UTF-8' LC_CTYPE 'ja_JP.UTF-8';

qiita.com

yumで/usr/配下以外に指定する方法

yum installすると、/usr/配下にインストールされる。 yumのオプション名だけではわからないので、確認したら、以下の方法で行けるらしい。

# yum --installroot=/usr/local/ install -y some_package

qiita.com

USキーボードの英数カナ切り替えのアプリ

USキーボードで英数カナの切り替えを 左右のcommandを使用することでできる。

Karabiner-Elementsがいい感じにマッピングできる。

beadored.com

あと、現時点ではVirtualboxvagrantの5.2は対応していないらしい。