- 방문자수
전체 방문자
오늘 방문자
어제 방문자
인기 길
-
[Server] netstat 명령어 - 네트워크 통계 정보
netstat이란 network statistics의 약자 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구 netstat 옵션 -a : 현재 다른 PC와 연결(Established)되어 있거나 대기(Listening) 중인 상태 -l (listen) : 연결 가능한 상태 -t (tcp) : tcp -u (udp) : udp -p : 프로그램 이름 / PID -n (number port) : 포트 넘버 netstat field 정보 $ netstat -antplF Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - - Pro..
-
[DOCKER] Docker restart 옵션
linux 서버에 docker를 설치하고 실행하면 docker daemon을 stop 하거나 종료할 일이 거의 없지만 만약, local PC에서 docker desktop을 사용한다면 pc를 재부팅할 때마다 docker daemon을 종료할 경우도 생긴다. 이러한 경우 다시 docker daemon을 재시작하는 경우 내부에 docker container의 start 관련 동작을 설정할 수 있다. restart option docker run -d --restart {option} redis no Don't automatically restart the container (default) on-failure[:max-retries] container가 정상적으로 종료되지 않은 경우(exit code가 0이..
-
[Nginx] nginx keepalive 설정(client-nginx-tomcat)
keepalive란 서버와 클라이언트가 맺은 연결을 유지하는 방식을 의미 HTTP 트랜잭션이 완료된 후에도 클라이언트와 서버 간의 TCP 연결을 열어둔다. 클라이언트가 다른 HTTP 트랜잭션을 수행해야 하는 경우 새 TCP 연결을 만드는 대신 유휴 Keepalive 연결을 사용한다. 장점 3-way handshacking overhead 줄임 단점 메모리 사용 증가 - connection을 열고 대기 server - keepalive 설정 https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout 하위에 해당하는 server 블록에 keepalive-timeout 설정 기본값 75s 해당 값에 0을 설정하면 keepalive 기능..
-
[Tomcat] connection, thread, keep-alive 설정 살펴보기
외장 Tomcat을 이용하여서 운영하던 서비스를 Spring Boot에서 제공하는 내장 Tomcat으로 전환하기로 하였다. 그 과정에서 Tomcat server.xml 설정의 Connector 내용을 spring boot 설정으로 옮기게 되었다. 각 설정들의 값들 중에 connection, thread에 해당하는 값들을 살펴보도록 하자. Thread server.tomcat.threads.max: 200 server.tomcat.threads.min-spare: 10 해당 값들은 application.yml에 "server.tomcat.." 설정을 하지 않았을 때의 default값들이다. ( https://docs.spring.io/spring-boot/docs/current/reference/html/..
-
[NGINX] client ip설정 (proxy_set_header, remote_addr, http_x_forwarded_for, proxy_add_x_forwarded_for)
location 하위 블록에 proxy_set_header를 통해서 X-Forwarded-For, X-Real_IP와 같은 header를 세팅한다. 그러면 Tomcat과 같은 WAS Layer에서 해당 설정을 읽어서 IP 정보를 사용하게 된다. user nginx; worker_processes 2; ... http { include mime.types; upstream back-server { server 127.0.0.1:3000; keepalive 32; } ... server { ... location / { proxy_pass http://back-server; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP..
최신 글
-
토비의 스프링 6 - 스프링 개발 시작하기
인프런 강의를 통해서 학습한 내용을 단순히 옮겨 적는 게 아니고생각한 부분을 적어보자코드는 github 들어가면 그냥 볼 수 있는 부분이니깐나중에 생각하기 쉽게 당시에 들었던 생각을 적어보고, 중요하다고 생각하는 내용 위주로 작성해 보자 개발환경 준비gradle, java17스프링 부트가 아닌 스프링에 대한 강의지만 스프링 각각의 프로젝트 의존성을 넣어서 관리하기는 힘들다.미리 호환 버전을 패키징 해둔 스프링 부트로 프로젝트 의존성을 사용하자 처음에는 스프링을 사용하지 않고 서비스 요구사항에 맞는 내용을 구현한다.추후에 스프링을 통해서 해당 코드가 어떻게 변화하는지 잘 관찰해 보자 java17 record 이용 - 생성자, getter, setter 없이 데이터 조작이 가능다만, 한번 값을 넣으면 변경 ..
-
이기적 유전자: 자기 복제자
The replicators안정을 향하여안정한 것다윈의 최적자 생존은 실제로 안정자 생존이라는 보다 더 일반적인 법칙의 특수한 예다에너지를 가진 한 무리의 원자가 안정한 패턴을 갖게 되면, 그 원자들은 그대로 머물러 있으려고 할 것이다. 생명의 기원과 자기 복제자생명 탄생이전의 지구에는 물, 이산화탄소, 메탄, 암모니아 등 단순한 화합물이 존재했을 것이다.화학자들은 초기 지구의 화학적 상태를 재현하려는 많은 시도를 했다. 가능성 있는 이들 단순한 물질을 플라스크에 넣고 자외선이나 전기 방전등의 에너지원을 가한 뒤 2~3주 지나면 플라스크 속에서 처음에 넣었던 분자보다 복잡한 분자가 다량 포함된 연갈색 액체가 생긴다.특히 그 액체에서 아미노산이 발견됐는데, 이것은 생물체를 구성하는 대표 물질 두 가지 중 ..
-
이기적 유전자: 사람은 왜 존재하는가?
Why are people?우리가 왜 존재하는지에 대하여 일관성 있고 조리 있게 설명을 종합한 사람은 찰스 다윈이었다. 이기주의와 이타주의기존의 논리들은 진화에서 중요한 것은 '개체의 이익'이 아닌 '종의 이익'이라는 잘못된 가정을 하고 있다.우리는 이기적으로 태어났다. 그러므로 관대함과 이타주의를 가르쳐야 한다 이기주의와 이타주의의 정의는 주관이 아니라 행동에 근거한 것이다.각각의 행동이 생존 가능성에 어떠한 영향을 주는지가 중요하다 겉보기에 이타적인 행위는 실제로는 이기주의가 둔갑한 경우가 많다 유전자의 이기성이라는 기본 법칙으로 개체의 이기주의와 이타주의의 모두가 어떻게 설명될 수 있는지 보이고자 한다. 집단 선택설집단 선택설 개체(유전자) 선택설집단 선택설: 생물은 종의 이익을 위하여 또는 집단의..
-
[Object] 10장 : 상속과 코드 재사용
객체지향 프로그래밍의 장점 중 하나는 코드를 재사용하기가 용이하다는 것- 클래스를 재사용하기 위해 새로운 클래스를 추가하는 가장 대표적인 기법인 상속에 관해 살펴보자- 재사용 관점에서 상속이란 클래스 안에 정의된 인스턴스 변수와 메서드를 자동으로 새로운 클래스에 추가하는 구현 기법 - 상속 이외에 코드를 효과적으로 재사용하는 방법인 합성은 다음장에서 배워보자 상속과 중복 코드 DRY 원칙 (Don't Repeat Yourself)전화요금을 계산하는 애플리케이션을 통한 예시- 밤에 전화하면 세금을 할인해 주는 Phone의 등장을 상속으로 구현하려 함 타입 코드 사용 - 낮은 응집도와 높은 결합도라는 문제 발생if(type == PhoneType.REGULAR) {} else if (type == Pho..
-
역행자 4~7단계
역행자 4단계 : 뇌 자동화두뇌가 한번 최적화를 끝내면, 평생 자연스럽게 지능이 발달한다.지능 발달은 복리의 성향을 띠어, 시간이 갈수록 지능이 눈덩이처럼 자동으로 높아진다. - 뇌 최적화 1단계 : 22 전략2년간 매일 2시간씩 책을 읽고 글을 쓰는 것글쓰기는 내가 생각하는 것들을 조합하고 저장할 수 있게 도와준다- 뇌 최적화 2단계 : 오목 이론눈앞의 과제를 해결하는 데 급급하게 수를 두지 않고, 장기적인 수를 두자.- 뇌 최적화 3단계 : 뇌를 증폭시키는 3가지 방법안 쓰던 뇌 자극하기창의성이나 지혜는 통합적 사고에서 나온다다양한 분야의 지식을 쌓으면, 안 풀리는 문제가 있을 때 다른 분야의 자극이 도움이 된다.안 가본 길 걷기 충분한 수면 역행자 5단계 : 역행자의 지식기버 이론 : 먼저 베풀어라..