인프라

    Http 클라이언트 설정 시 메모

    HttpClient 설정 maxConnTotal = 클라이언트가 관리할 수 있는 최대 연결 개수 maxConnPerRoute = 특정 경로(호스트) 에 대해 클라이언트가 열수 있는 최대 연결 수 connectionRequestTimeout = 연결 객체를 얻기 위해 대기하는 최대 시간. 커넥션 풀로부터 사용 가능한 커넥션을 얻기 위해 기다리는 최대 시간 이다. readTimeout = 서버로부터 데이터를 읽는 데 사용할 수 있는 최대 시간 (소켓 타임 아웃) - 서버가 응답을 시작한 후 데이터를 읽기 시작한 순간부터 걸리는 시간. connectionTimeOut = 연결을 시도하는데 기다리는 최대 시간. Http 클라이언트가 서버에 대해 TCP연결을 설정하는데 걸리는 최대 시간 이다.(TCP handsh..

    Http keep alive 란

    Http1.0 이후 클라이언트와 서버 간 요청과 응답을 어떻게 하면 좀 더 빨리 할 수 있을지에 대한 연구가 이루어졌다. 기존에는 Http 요청때마다 TCP연결을 3-way handshake방식으로 맺어야 했다. 하지만 시대가 변함에 따라 클라이언트와 서버간 http요청의 수는 증가하여 handShaking의 오버헤드에 대한 고민이 있었고, 그에 따라 Persistent Connection이 등장하게 되었다. Persistent Connection Http에서 Persistent Connection이란 Http 어플리케이션이 TCP connection을 요청마다 close 하지 않고 유지하는 것을 Persistent Connection 이라 한다. Persistent Connection이 필요한 이유 P..

    macos ventura 업데이트 후 ssh 오류

    ~~~~~~ no matching host key type found. Their offer: ssh-rsa,ssh-dss 위와 같은 메세지가 출력 된다. /etc/ssh/ssh_config 파일을 수정한다. sudo vi /etc/ssh/ssh_config 최 하단으로 가서 수정한다. ~~~~~~~~ Host * # 기존에 있는 부분 SendEnv LANG LC_* # 기존에 있는 부분 HostkeyAlgorithms ssh-dss,ssh-rsa # 추가 KexAlgorithms +diffie-hellman-group1-sha1 # 추가 저장 후, ssh 로 다시 접근 요청 시 ssh 키가 변경되었다는 메세지와 함께 접근이 안된다. ssh의 known_hosts 에 기존에 저장되어 있는 rsa key ..

    DB 트랜잭션 및 락

    트랜잭션 격리 수준 Read Uncommitted 트랜잭션에서 처리 중인 아직 커밋되지 않은 데이터를 다른 트랜잭션이 읽는 것을 허용한다. Dirty Read, Non-Repeatable Read, Phantom Read가 일어날 수 있다. Read Committed 트랜잭션이 커밋되어 확정된 데이터만 다른 트랜잭션이 읽도록 허용한다. 따라서 Dirty Read의 발생가능성을 막는다. 하지만 Non-Repeatable Read와 Phanton Read에 대해서는 발생 가능성이 있다. Repeatable Read 트랜잭션내에서 삭제, 변경에 대해서 Undo 로그에 넣어두고 앞서 발생한 트랜잭션에 대해서는 실제 데이터가 아닌 Undo 로그에 있는 백업데이터를 읽게 한다. 이렇게하면 삭제와 수정에 대해서 트랜..

    docker 기본 사용법

    계속해서 수정중... docker search 도커 허브에서 이미지 목록 검색 기본 포맷 docker search 검색어 docker pull 도커 허브에서 이미지 내려받는 명령어 기본 포맷 docker pull 내려받을이미지 docker images 이미지 리스트 표시 docker run 이미지로부터 새로운 컨테이너를 만들고, 실행하기 위해 쓰이는 명령어 기본 포맷 docker run (option) (명령어) (인자) -d 옵션 컨테이너를 백그라운드에서 실행할때 사용하는 옵션. -d 옵션을 사용하면 detached모드로 실행된다. docker run -d python:3.8-alpine python -m http.server -d 모드로 실행하지 않는 경우 터미널에 종속되고, ctrl + c 로 빠져..

    docker mysql 설치

    1. MySQL Docker 이미지 다운로드 docker pull mysql mysql 도커 이미지를 내려받는다. 뒤에 버전을 명시하면 특정 버전, 아니면 최신을 가져온다. (ex :8.0.17) 2. M1 맥 docker mysql 다운로드 //아래 명령어 한줄로 만들어서 사용! //필요한 내용만 지정해서 docker run --platform linux/amd64 -p 3306:3306 --name [컨테이너 이름] -e MYSQL_ROOT_PASSWORD=[루트 패스워드] -e MYSQL_DATABASE=[데이터베이스 이름] -e MYSQL_USER=[유저 사용자명] -e MYSQL_PASSWORD=[유저 패스워드] -d mysql 2-1 컨테이너 접근 docker exec -it mysql /bi..