Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}
이후 재부팅
Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}
이후 재부팅
ChatGPT가 다음과 같이 정리 답변한다.
예를 들어 my-awesome-project라는 Git 프로젝트가 있다고 가정하면:
cd ~/projects/my-awesome-project
2. 가상환경 만들기
python3 -m venv .venv
3. 가상환경 활성화
source .venv/bin/activate
4. 필요한 패키지 설치
pip install black requests flask
pip freeze > requirements.txt
pip install -r requirements.txt
venv 디렉토리는 Git에 굳이 올릴 필요 없어. 아래처럼 .gitignore에 추가해두면 좋아:
.venv/
✅ 프로젝트 폴더마다 적용 구조 예시
my-awesome-project/
├── .venv/ ← 가상환경
├── app.py
├── requirements.txt
└── README.md
🔁 다음에 다시 작업할 때는?
cd ~/projects/my-awesome-project
source .venv/bin/activate
작업 끝났으면:
deactivate
{
"python.defaultInterpreterPath": ".venv/bin/python"
}
~/.ssh/config 파일 안에 hostname을 지정한다면, 그 뒤에 IP 주소를 함께 지정하면 hostname이나 IP 둘 중 어느 하나로 접속해도 같은 설정이 적용된다. 항목을 여러개 만들 필요 없다. 공백으로 구분하면 다 같이 적용된다. 예를 들면 다음과 같다.
Host nas.dasomoli.org 112.145.250.152 192.168.0.204
HostName nas.dasomoli.org
User dasomoli
Port 2048
IdentityFile ~/.ssh/id_rsa_dasomoli_nas
AWS CLI를 이용해서 ALB 관련 설정을 백업하고 삭제하자.
Config
aws elbv2 describe-load-balancers [--region <Region>] --load-balancer-arns <ALB ARN>
Listener
aws elbv2 describe-listeners [--region <Region>] --load-balancer-arn <ALB ARN>
Listener Rules
위의 Listner를 얻은 정보에서 각 Lisner 별로 각각 실행한다.
aws elbv2 describe-rules [--region <Region>] --listener-arn <Listener ARN>
나중에 필요하면 위의 정보로 다시 ALB를 추가한다.
hostname 또는 cat /etc/hostname 을 입력하면 기존 호스트네임을 볼 수 있다. 새로 셋팅하고 싶다면 다음과 같이 한다.
sudo hostnamectl set-hostname my-new-hostname
그리고 빼먹기 쉬운 게 /etc/hosts 이다.
sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 my-old-hostname # 기존 호스트네임
이전 호스트 네임 부분을 새 호스트 네임으로 바꿔준다.
127.0.0.1 localhost
127.0.1.1 my-new-hostname
이제 reboot 해주자.
sudo reboot
Transaction의 data로 호출 당시의 argument를 디코딩해서 확인해보자.
Transaction 내용은 다음과 같이 얻는다.
const tx = ethers.provider.getTransaction("0x4e1b7e05a1a19a37a619dcd79be64669653e960db97eadc451b3999acedd7a4b")
얻은 tx.data 가 트랜잭션이 실행될 때의 data이다. 이 데이터를 ABI로부터 디코딩한다.
const abi = [
"function dasomFunction(uint32 id, uint32 size, address[] users, uint256[] amounts)"
];
const iface = new ethers.utils.Interface(abi);
const decoded = iface.decodeFunctionData("dasomFunction", tx.data);
console.log("Decoded Data:", decoded);
getContractAt 과 같이 Contract를 얻어서 다음과 같이 디코딩할 수도 있다.
const dasomContract = await ethers.getContractAt("DasomContract", "0x21a34c702BfE8d06544e557FCc06965A86365933");
const decoded = dasomContract.interface.decodeFunctionData("dasomFunction", tx.data);
1. OpenSSL을 이용한 랜덤 암호 생성
openssl rand -base64 16
2. pwgen 패키지 사용 (설치 필요)
brew install pwgen # 먼저 설치
pwgen -s 16 1
3. LC_ALL=C tr을 이용한 무작위 문자열 생성
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*()-_+=' < /dev/urandom | head -c 16
4. uuidgen을 활용한 암호 생성
uuidgen | tr -d '-' | head -c 16
MySQL 예시
MySQL에서 데이터를 삭제하고 AUTO_INCREMENT 값을 초기화하려면 아래와 같이 실행합니다:
-- 테이블의 모든 데이터를 삭제
TRUNCATE TABLE table_name;
설명:
PostgreSQL 예시
PostgreSQL에서는 데이터를 삭제하고, 시퀀스를 초기화해야 합니다:
-- 테이블의 모든 데이터를 삭제
TRUNCATE TABLE table_name RESTART IDENTITY;
설명:
MongoDB 예시
MongoDB에서는 자동 증가 ID를 기본적으로 지원하지 않지만, 데이터를 삭제하려면 아래 명령을 사용할 수 있습니다:
// 모든 문서 삭제
db.collection_name.deleteMany({});
참고:
https://hardhat.org/hardhat-network/docs/reference#initial-state 에서 찾을 수 있다. 다음 address 들이다
0xf39Fd6e51aad88F6F4ce6aB8827279cffFb922660x70997970C51812dc3A010C7d01b50e0d17dc79C80x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC0x90F79bf6EB2c4f870365E785982E1f101E93b9060x15d34AAf54267DB7D7c367839AAf71A00a2C6A650x9965507D1a55bcC2695C58ba16FB37d819B0A4dc0x976EA74026E726554dB657fA54763abd0C3a0aa90x14dC79964da2C08b23698B3D3cc7Ca32193d99550x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f0xa0Ee7A142d267C1f36714E4a8F75612F20a797200xBcd4042DE499D14e55001CcbB24a551F3b9540960x71bE63f3384f5fb98995898A86B02Fb2426c57880xFABB0ac9d68B0B445fB7357272Ff202C5651694a0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C70970xcd3B766CCDd6AE721141F452C550Ca635964ce710x2546BcD3c84621e976D8185a91A922aE77ECEc300xbDA5747bFD65F08deb54cb465eB87D40e51B197E0xdD2FD4581271e230360230F9337D5c0430Bf44C00x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199사용하지 않도록 한다.
파인더에서 다음 단축키를 누른다.
Command (⌘) + Shift (⇧) + . (마침표)
영구적으로 적용하고 싶다면 다음을 실행한다.
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
다시 되돌리고 싶다면 다음을 실행한다.
defaults write com.apple.finder AppleShowAllFiles -bool false
killall Finder