[BOJ][Java] 1197번 최소 스패닝 트리
·
PS
문제 링크 : https://www.acmicpc.net/problem/1197 이 문제는 최소 신장 트리(Minimum Spanning Tree, MST) 알고리즘 구현 문제이다.MST 알고리즘은 모든 노드들을 연결했을 때 가장 적은 비용의 간선 집합을 찾는 알고리즘이다.간단한 MST에 대한 설명은 아래와 같다.  위와 같은 그래프가 있다고 가정한다.정점 사이에는 가중치가 있는 간선이 있다.MST 알고리즘은 해당 그래프의 모든 정점들을 잇는 가장 최소비용의 간선 집합을 찾는 알고리즘이다.여기서 중요한 것은 그래프를 사이클이 생기면 안 된다는 것이다.사이클이 존재하면 가중치의 합이 최소가 될 수 없기 때문이다.또한 정점의 개수가 V라고 하면 정점을 최소 신장 트리를 구성하는 간선의 개수는 무조건 V-1개..
[BOJ][Java] 1389번 케빈 베이컨의 6단계 법칙
·
PS
문제 링크 : https://www.acmicpc.net/problem/1389 이 문제는 전형적인 플로이드 워셜 알고리즘을 이용하여 해결할 수 있는 문제이다. 예제 입력을 그래프로 표현하면 위와 같다. 여기서 단방향이 아니라는 것에 주의해서거리 배열을 초기화한다. 거리배열을 초기화하면 인접 정점끼리의 관계를 표현할 수 있다.여기서 무한대는 문제의 조건을 보고 직접 적당히 큰 값을 넣거나,아니면 Interger.MAX_VALUE와 같이 int 범위에서 가장 큰 값을 넣어주면 된다.다만 이럴 경우에는 연산의 과정에서 int의 범위를 넘어 오버플로우가 발생할 수 있기 때문에long 타입으로 캐스팅한 후에 연산을 해줘야 한다. 거리배열을 초기화한 후에는 플로이드 워셜 알고리즘으로 각 정점사이의 최단거리를 구해..
Nginx 알아보기
·
Infra
Nginx란?Nginx는 웹 서버로 트래픽이 많은 WAS(Web Application Server)를 도와주는 비동기 이벤트 기반구조의 웹 서버 프로그램이다.주요 특징으로는 - 가볍고 빠름- 로드 밸런싱 제공- 리버스 프록시 지원- SSL/TLS 적용 가능 등이 있다. Web Server 와 WAS(Web Server Application)의 차이웹 서버는 클라이언트(브라우저)의 요청을 받아 정적인 파일(HTML, CSS, JS, 이미지 등)을 제공한다.WAS는 웹 서버가 처리하지 못하는 동적인 웹 애플리케이션을 실행하는 서버이다. 즉, 사용자의 요청을 받아 비즈니스 로직을 수행하고 DB와 연동하여 결과를 반환한다.Nginx 등장 배경1995년 최초의 웹서버인 유닉스 기반의 NCSA HTTPd가 있었다...
AWS EC2 nginx에 프론트엔드 직접 배포하기
·
Practice
EC2에서 nginx에 정적으로 파일을 올려 프론트엔드 프로젝트를 배포하는 방법을 강의를 듣고 따로 찾아보며 정리해 봤다. 가장 먼저 AWS에서 EC2를 하나 생성하고 ssh를 이용해 접속해 준다.그다음 apt 명령어를 통해 nginx를 설치해준다.  그 다음 curl localhost:80을 입력해 현재 nginx가 정상적으로 동작하고 있는지 확인한다.curl을 사용하면 터미널에서 직접 HTTP 요청을 보내고 응답을 받을 수 있다.위 스크린샷처럼 제대로 nginx가 정상적으로 실행중임을 확인할 수 있다. 하지만 웹 브라우저로 EC2의 퍼블릭 ip로 접속을 해보면 접속이 안된다.그 이유는 ssh로 접속했을 때는 local에서 호출해서 문제없었지만외부에서 접속하려고 하면 방화벽에 막히기 때문에 정상적으로 ..