본문 바로가기

Study146

Python MultiProcess Shared Object Python의 MultiProcess는 프로세스마다 독립적인 메모리를 가지고 있어, 아래와 같이 예상치 못한 결과를 받는 경우가 있다.- 원했던 결과 : 1 -> 2import multiprocessingclass a: def __init__(self): self.classb = b() mp1 = multiprocessing.Process(target=self.mp_start, args=()) mp1.start() mp2 = multiprocessing.Process(target=self.mp_start, args=()) mp2.start() mp1.join() mp2.join() def mp_start(s.. 2024. 5. 29.
[MAC] SSH 비밀번호를 Keychain에서 관리하기 1. ssh 키 생성하기 $ ssh-keygen -t ed25519 2. SSH 키를 키체인에 저장하기 $ ssh-add --apple-use-keychain ~/.ssh/id_ed25519 3. SSH 설정 파일 구성하기 Host example IdentityFile ~/.ssh/id_ed25519 AddKeysToAgent yes UseKeychain yes 2024. 3. 22.
AWS ECR Image Dump 방법 AWS에서는 ECR(Elastic Container Registry)에 Docker Image를 업로드하여 관리할 수 있습니다. 이번 포스팅에서는 AWS ECR 내에 있는 Docker Image를 Pull하여 Dump하는 방법을 알려드리려고 합니다. AWS-Vault 설치 및 사용 방법은 아래의 포스팅을 참고해주세요. [MAC] AWS-Vault 설치 및 사용법 AWS-Valut란? 기본으로 제공되는 AWS-Cli의 경우 인증 정보를 설정 파일 내에 평문으로 저장하고 있어 보안 사고가 발생할 가능성이 있습니다. AWS-Vault의 경우 Keychain에 인증 정보를 안전하게 저장하 hacksms.tistory.com AWS ECR Image Pull을 위해 필요한 권한은 아래와 같습니다. ecr:GetI.. 2023. 9. 9.
DNS(Domain Name Server), CNAME, A Record DNS (Domain Name Server) 흔히 우리가 아는 hacksms.tistory.com와 같은 도메인은 실제로는 IP와 연결되어 있습니다. hacksms.tistory.com -> 218.217.14.6 (이렇게 구성된 하나의 연결을 Record라고 함) 사람들은 일반적으로 218.217.14.6과 같은 IP 주소를 기억하기 힘들기 때문에 쉽게 접할 수 있는 단어들을 조합하여 Domain을 만든 것입니다. 이렇게 생성된 Domain을 관리하는 서버가 별도로 존재하며, 이 서버를 우리는 바로 DNS(Domain Name Server)라고 부릅니다. A Record A Record는 하나의 Domain에 하나의 IP Address가 매핑되는 방식 입니다. 즉, 아래와 같이 A Record가 매핑될.. 2023. 5. 16.
Ren'Py를 통한 게임 개발 시작 최근 들어 Ren'Py를 통한 게임이 많이 보이는 것 같습니다. 그래서 바로 프로젝트를 시작하게 되었는데요. 이번 프로젝트는 "Ren'Py 파헤쳐보기" 입니다. 프로젝트 목표는 3가지로 나눠서 볼 수 있을 것 같습니다. 1. Ren'Py로 게임 개발 2. 게임 핵 개발 3. 게임 핵 탐지 및 차단 설치 방법 1. Ren'Py 사이트에서 개발 도구를 다운로드 받습니다. Ren'Py 8.0.3 Android and iOS Support When building Android packages, iOS packages, or web distributions, Ren'Py will prompt you to download RAPT (Ren'Py Android Packaging Tool), Renios (Ren'P.. 2023. 2. 19.
MySQL Server 꿀팁 Query 특정 Database 내 OPTIMIZE TABLE 구문 생성 SELECT CONCAT('OPTIMIZE TABLE ', table_schema, '.', table_name, ';') FROM information_schema.TABLES WHERE table_schema = "database_name"; 특정 Database 내 Table Size 확인 SELECT table_schema "Data Base Name", table_name "Table Name", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = 'database_name.. 2023. 2. 14.
MYSQL-SERVER Query 결과, File로 저장하기 SQL Query (my-sql) SELECT * FROM atable INTO OUTFILE '/tmp/test.txt' 만약 mysql-server가 --secure-file-priv 옵션으로 실행될 경우 출력할 수 있는 디렉터리가 제한되나, 이런 상황에서는 secure_file_priv로 설정된 디렉터리 내에 파일을 저장함으로써 해결할 수 있음 secure_file_priv 경로 확인 SHOW VARIABLES LIKE "secure_file_priv"; secure_file_prive 경로 변경 $sudo vi /etc/mysql/my.cnf [mysqld] secure-file-priv="" $sudo systemctl restart mysql 2023. 2. 10.
AWS Volume 용량 증설 후 File System 확장 방법 AWS 서버를 이용하여 정보 수집 프로그램을 실행하고 있었는데, 디스크 용량이 점점 부족해졌습니다. 이때 AWS에서 Volume의 크기를 증가시킨 뒤, 아래의 명령어를 통하여 서버의 용량을 증설된 용량만큼 확장시킬 수 있습니다. 1. Linux 서버 용량 확인 명령어 $ sudo lsblk 2. 파티션 확장 명령어 $ sudo growpart /dev/xvdf1 1 $ sudo lsblk 3. File System 크기 재설정 $ sudo resize2fs /dev/xvdf1 $ df -h 2023. 1. 4.
[Node.js] MiddleWare 작동 과정 Middleware란 Request와 Response의 중간에 위치하며 여러 가지 행위(Request 및 Response 조작, Request Drop)를 할 수 있습니다. Node.js에서는 여러 가지 방법이 있을 수 있지만, app.use를 이용한 기본적인 방법에 대하여 포스팅 하도록 하겠습니다. 예제 환경 구성하기 1. 저는 NestJS(Node.js 기반)를 이용하여 예제 환경을 구성하였는데요. 아래의 명령어를 통하여 설치 가능합니다. $ npm i -g @nestjs/cli $ nest new project-name 2. 소스 코드 수정 후 아래의 명령어를 이용하여 애플리케이션을 실행할 수 있습니다. $ npm run start Middleware (미들웨어) Node.js에서 Middlewar.. 2022. 12. 6.