Yet another bootstrap theme.

2022-05-09
python-multiple-json-oobject

在一個檔案中,儲存了多個 json objects,用一般的 json.loads 會出現 error,需要找方式自行 parse 為 object

Sample code

`
from json import JSONDecoder, JSONDecodeError
import re

NOT_WHITESPACE = re.compile(r’[^\s]’)

def decode_stacked(document, pos=0, decoder=JSONDecoder()):
while True:
match = NOT_WHITESPACE.search(document, pos)
if not match:
return
pos = match.start()

try:
    obj, pos = decoder.raw_decode(document, pos)
except JSONDecodeError:
    # do something sensible if there's some error
    raise
yield obj

s = “””

{“a”: 1}
[
1
,
2
]

“””

for obj in decode_stacked(s):
print(obj)
`

Reference

Read More

2022-05-09
python-read-gzip-s3

要用 python 讀取儲存在 S3 中的 gzip 檔案資料
使用的過程中,boto3 有用 s3_client 也有用 s3 resource 取得 S3 object 的方式,需要找時間再研究這兩者的差異

code sample

def load_gzip(client, bucket, key): response = client.get_object(Bucket=bucket, Key=key) content = response['Body'].read() with gzip.GzipFile(fileobj=io.BytesIO(content), mode='rb') as fh: file_content = fh.read() return file_content.decode("utf-8")

讀多個 S3 檔案的方式

Reference

Read More

2022-05-06
postgresql-command

Read More

2022-05-06
wmaa-local-dev

Read More

2022-05-05
docker-compose-tip

Command

Read More

2022-04-15
oracle-dict

Read More

2022-04-11
crontab-expression

crontab 一直是在 linux 上滿常使用的設定,剛好有看有關 crontab expression 說明 website,記錄一下

Reference

Read More

2022-04-08
vim-code-navigate

Read More

2022-04-08
vscode-shortcut

vscode 在看 code 時,還滿方便的,尤其是跳至定義處 (Go to Definition) - F12& 返回 (Go Back/Navigate Back) Ctrl+- 這兩個快速鍵

Reference

Read More

2022-04-06
python-argparse

Read More