일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Alembic
- 스레드풀
- 2022년
- 캐시서버
- EKS
- 스케줄링
- 로드밸런서
- 가비지컬렉션
- 글또
- golang
- K8S
- nodejs
- CPU스케쥴링
- 싱글톤 디자인 패턴
- 멀티스레드
- gunicorn
- SQLAlchemy
- nestjs
- 백엔드 개발자
- 쿠베네티스
- FastAPI
- 메모리구조
- uvicorn
- Python
- 회고
- 쿠버네티스
- AWS
- Django
- 분산처리
- alb
- Today
- Total
목록분류 전체보기 (26)
서버에서 살아남기
개념 멀티 스레딩 환경에서 스레드들을 효율적으로 관리하는 기술입니다. 나의 경우 Django에서 pool을 별도로 관리하지 않고, threading 모듈로 멀티 스레딩만 구현한 상황 이 상황에서 생길 수 있는 문제 1) 대규모에 부적합 - 스레드 풀을 관리하고 있지 않기 때문에 효율적인 관리가 안됨 2) 데드락 가능성 - 스레드 간에 서로 의존성을 가지고 있다면 데드락이 발생 할 수 있습니다. - 데드락 : 멀티스레드나 멀티 프로세스 환경에서 두 개 이상의 작업이 서로 상대방의 작업이 끝나기를 기다리면서 무한 대기하는 상태 그렇다면 어떻게? 스레드풀을 이용하여 스레드들을 효율적으로 관리해야합니다. 미리 정해진 개수의 스레드들을 생성하고 관리하며, 작업이 들어오면 생성된 스레드들을 이용하여 작업을 처리하는..
1. 개념 프로그래밍 언어에서 더 이상 사용되지 않는 메모리를 자동으로 탐지하고 회수하는 메모리 기법입니다. 2. 목적 메모리 누수를 방지하고, 프로그래머가 메모리 할당과 해제에 대해 걱정하지 않고도 안정적인 프로그램을 작성할 수 있도록 돕는 것입니다. 3. 기능 1) 동적 메모리 관리 : 프로그램이 실행 중에 필요한 메모리를 할당하고 더 이상 사용하지 않는 메모리를 자동으로 해제합니다. * 동적 메모리 - 프로그램 실행 중에 필요한 메모리를 런타임 시점에 할당하고 해제하는 메모리 영역 - 주로 동적으로 크기가 결정되는 데이터 구조나 실행 중에 생성되는 객체 등을 저장하기 위해 사용됨 * python 에서 동적 메모리 관리하는 법 1. 객체 생성 : python에서 객체는 자동으로 메모리에 생성됩니다. ..

언어 : Python 프레임워크 : FastAPI ORM : SQLAlchemy 마이그레이션 툴 : alembic alembic documentaion : https://alembic.sqlalchemy.org/en/latest/index.html 1. SQLAlchemy SQLAlchemy 의 경우 migration 기능을 포함하지 않으며, Alembic 이라는 별도 패키지를 함께 사용해야합니다. 2. Alembic transsactional DDL 을 지원합니다. 그래서 Database Scema가 생성되기 전에는 Database 변경이 일어나지 않습니다. 마이그레이션 명령어를 입력하면 upgrade & downgrade function과 함께 script 파일이 생성됩니다. 해당 파일에는 revis..

💡 요약 1. 브라우저에 URL 입력 2. DNS를 통해 서버의 IP주소를 찾음 3. client 에서 HTTP request 메세지 전송 > TCP/IP 패킷 생성 > 서버로 전송 4. 서버에서 response 메세지 > TCP/IP 패킷 생성 > client로 전송 5. 웹 브라우저에 출력 1. 유저가 브라우저에서 www.google.com 을 입력하면 HTTP Request message를 생성 2. IP 주소를 알아야 하므로 DNS에 해당 도메인의 IP주소를 요청하여 IP 주소 획득 클라이언트에서 전달받은 메세지에는 아래의 세가지 정보가 포함됩니다. 이름 : www.google.com 클래스 DNS 구조를 고안했을 때 인터넷 이외의 네트워크에서 이용할 수도 있음을 고려하여 식별하기 위한 값인 클래..
zsh 편집하다가 환경설정을 잘못해서 에러가 난 뒤로 vi 도 안먹음 export PATH=%PATH:/bin:/usr/local/bin:/usr/bin 터미널에서 위 명령어 입력하고 zsh 수정
eb cli 를 설치하고 환경변수에 경로를 넣고 reinstall 도 해도 계속 eb --version >> zsh: command not found: eb가 뜬다. pip install awsebcli --force-reinstall --upgrade하니까 해결~!
파일 읽기와 쓰기 open 메소드 활용하기 1) read() : 파일의 내용을 문자열로 반환 file_path = 'soohyun.txt' open_file = open(file_path, 'r') text = open_file.read() open_file.close() 2) readlines() : 파일의 내용을 개행 문자 기준으로 나눠 문자열 리스트를 반환 file_path = 'soohyun.txt' open_file = open(file_path, 'r') text = open_file.readlines() open_file.close() 3) with : close 를 하지 않아도 됩니다. 들여쓰기가 끝나는 위치에서 파일을 닫ㄷ고 리소스를 자동으로 해제합니다. file_path = 'soohy..
전역에 nestjs를 설치하려고 npm i -g @nestjs/cli 를 입력했더니 아래와 같은 에러가 났다 npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /Users/soohyunlee/.npm/\_cacache/content-v2/sha512/ff/41 npm ERR! errno EACCES npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which has since been addressed. npm ERR! npm ERR! To permanently fix this problem, plea..