아래와 같이 랜덤하게 키를 생성한다.
openssl rand -base64 64
아래와 같이 랜덤하게 키를 생성한다.
openssl rand -base64 64
apt-get install -y fonts-nanum
fc-cache -fv
rm ~/.cache/matplotlib -rf
혹은 Windows에서는
from matplotlib import font_manager, rc
font_path = 'C:/Windows/Fonts/NGULIM.TTF'
font = font_manager.FontProperties(fname=font_path).get_name()
rc('font', family=font)
맥에서 설치는 다음과 같다. 우분투는 아마도 apt-get install 을 사용할 것이다.
$ brew install jq
사용법은 값을 얻고 싶은 필드 키를 주면 된다. 뒤에 입력 파일 이름을 주지 않으면 stdin을 입력으로 받는다.
jq “.key” [intput filename]
따라서 curl 이나 echo, cat 등으로 출력을 파이프로 넘겨서 stdin 입력으로 jq에 넘겨서 원하는 데이터를 얻으면 된다. 예를 들어 다음과 같은 데이터를 curl을 통해 얻었다고 하자.
$ curl -X POST "https://login.dasomoli.org/login/2fa" -H "accept: application/json;charset=UTF-8" -H "X-AUTH-MOBILE: true" -H "Content-Type: application/json;charset=UTF-8" -d "{ \"otpCode\": \"123456\", \"password\": \"PASSWORD\", \"userId\": \"dasomoli\"}"
{
"resultCode": "success",
"resultMessage": "Successful",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJqdXN0aW55IiwiaW5mbyI6eyJ1c2VySWQiOiJqdXN0aW55IiwibmFtZSI6Ikp1c3RpbiIsImFjY291bnQiOiIweEY2NTUwZTk4ZTVDZUFiRjVkRmQ4NTcxYzY3MGI1Zjg0M0U4OTMzNzAiLCJzeW1ib2wiOiJLU1RBX0RFViIsImVtYWlsIjoianVzdGluLnlhbmdAY3J5cHRlZC5jby5rciIsImxvZ2luVGltZSI6MH0sInJvbGVzIjoiUk9MRV9VU0VSIiwiaWF0IjoxNjk3NDQxMTY3LCJleHAiOjE2OTc0NDQ3Njd9.XVT7RIKybB0hgYzcJvZx9voGlolza83RrxuCsK0i-vo",
"refreshToken": "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2OTc0NDExNjcsImV4cCI6MTY5ODA0NTk2N30.auHUC75qf-Xz--e8JAKvtosaYnUB_Hx5-RKTUZyC-ZM"
}
}
여기서 data 안에 있는 accessToken 값을 얻고 싶다면, 다음과 같이 하면 된다.
$ curl -X POST "https://login.dasomoli.org/login/2fa" -H "accept: application/json;charset=UTF-8" -H "X-AUTH-MOBILE: true" -H "Content-Type: application/json;charset=UTF-8" -d "{ \"otpCode\": \"123456\", \"password\": \"PASSWORD\", \"userId\": \"dasomoli\"}" | jq ".data.accessToken"
쉘 스크립트 내에서 위의 값을 ACCESS_TOKEN 이라는 변수에 넣었을 때, 앞 뒤로 붙는 ” 문자를 없애고 싶다면 다음과 같이 한다.
ACCESS_TOKEN="${ACCESS_TOKEN//\"/}"
const hwwallet = "0xda50da50da50da50da50da50da50da50da50da50";
// impersonating HW wallet
await network.provider.request({
method: "hardhat_impersonateAccount",
params: [hwwallet],
});
const _master = await ethers.getSigner(hwwallet);
_master.getFeeData = async () => {
return {
gasPrice: ethers.BigNumber.from(0),
lastBaseFeePerGas: ethers.BigNumber.from(0),
maxFeePerGas: ethers.utils.parseUnits("800", "gwei"),
maxPriorityFeePerGas: ethers.utils.parseUnits("800", "gwei"),
};
};
master = _master;
console.log('master: ', await master.getAddress());
아래처럼 $'<escaped character>’ 형식으로 escaped character를 입력한다.
$ git mv DasomFactory.sol $'\b'DasomFactory.sol
Git에서는 @{}
표기법을 사용하여 다양한 브랜치 및 커밋 참조를 지정할 수 있습니다. 여기서 몇 가지 일반적으로 사용되는 표기법을 설명하겠습니다:
@{u}
또는 @{upstream}
: 현재 브랜치의 upstream 브랜치를 가리킵니다. 예를 들어, main
브랜치의 upstream 브랜치가 origin/main
인 경우, main@{u}
또는 main@{upstream}
는 origin/main
을 가리킵니다.@{1}
또는 @{2}
등의 숫자: 브랜치의 이전 위치를 가리킵니다. 예를 들어, main@{1}
은 main
브랜치의 바로 이전 커밋을 가리킵니다.@{yesterday}
또는 @{1.week.ago}
와 같이 시간 범위를 지정할 수도 있습니다. 이를 통해 특정 시점의 커밋을 가리킬 수 있습니다.@{commit-hash}
: 직접 커밋 해시(해당 커밋의 고유 식별자)를 지정하여 특정 커밋을 가리킬 수 있습니다.@{branch-name}
: 특정 브랜치의 위치를 가리킬 수 있습니다.이러한 표기법을 사용하면 Git에서 다양한 상황에서 브랜치, 커밋 및 이력을 참조할 수 있으며, 특정 시점이나 이전 위치에 대한 정보를 쉽게 얻을 수 있습니다.
tag push
git push origin <TAG명>
tag delete
git push origin :<TAG명>
wsl.exe --export <DistributionName> <FileName>
WSL 관련 모든 프로그램 닫은 후,
wsl --export Ubuntu-20.04 Ubuntu20.04_dasomoli.wsl
wsl.exe --import <DistributionName> <InstallLocation> <FileName>
Install할 경로 폴더 (C:\Users\dasomoli\AppData\Local\Packages\Ubuntu-20.04-dasomoli)를 만든 후,
wsl --import Ubuntu-20.04-dasomoli C:\Users\dasomoli\AppData\Local\Packages\Ubuntu-20.04-dasomoli Ubuntu20.04-dasomoli.wsl
git에서 repository에 파일은 추가해서 두고 싶지만 해당 파일이 빌드 중 변경되는 등의 이유로 변경은 무시하고 싶은 경우가 있다. 이런 경우 .gitignore에 추가해도 repository에 추가된 파일이므로 변경을 계속 추적하게 된다. 이 변경을 무시하고 싶다면 다음 명령을 주면 된다.
git update-index --assume-unchanged <file>
위 명령을 주면 해당 파일은 변경되어도 git status를 해도 나오지 않고 무시된다. 그러므로 주의해야 한다. 해당 파일을 다시 추적하고 싶다면 다음 명령을 입력한다.
git update-index --no-assume-unchanged <file>