[BOJ][Java] 17472번 다리 만들기 2
·
PS
문제 링크 : https://www.acmicpc.net/problem/17472 문제 설명이 아주 자세하게 나와있다.일반적인 하나의 알고리즘을 이용하는 게 아닌 여러 알고리즘을 사용하여 해결할 수 있는 문제이다.우선 문제에서 구하고자 하는것을 보면 결국 모든 섬이 하나의 집합으로 만들어져야 하는데이때 최단거리를 구하는 문제이다. 얼핏 봤을 때 최소 신장 트리(MST) 알고리즘을 사용하면 될 것처럼 보인다.일반적인 MST알고리즘 문제는 간선과 정점을 직접 제공하는경우가 많다.하지만 이 문제에서는 아무것도 주어져있지 않다. 문제에서 주어진 그림을 자세히 보면 힌트를 주듯 각 섬을 하나의 번호로 묶은 것을 볼 수 있다.따라서 문제를 해결하는 과정은 아래와 같다.1. 섬을 정점이라고 생각하고 맞닿아 있는 점끼..
프론트엔드 백엔드 서로 다른 서버로 수동 배포하고 연결하기(feat. CORS해결)
·
Practice
프론트엔드가 포함된 백엔드 프로젝트 수동 배포하기AWS EC2 nginx에 프론트엔드 정적 배포EC2에서 nginx에 정적으로 파일을 올려 프론트엔드 프로젝트를 배포하는 방법을 강의를 듣고 따로 찾아보며 정리해 봤다. 가장 먼저 AWS에서 EC2를 하나 생성하constant1601.tistory.com지난번에는 프론트엔드가 포함되어 있는 백엔드 프로젝트를 수동배포해서서비스가 정상적으로 동작하는지 확인해봤다.이번에는 프론트엔드와 백엔드를 각각 서로 다른 서버로 배포한 뒤서비스가 정상적으로 동작하도록 해보자.현재 상황은 위와 같다.2개의 EC2를 생성하고 하나는 nginx를 설치하고 프론트엔드 소스 코드를 올린다.나머지 하나는 백엔드 서버로 사용한다. 현재 프론트엔드가 있는 EC2의 ip주소로 접속하고 프론..
프론트엔드가 포함된 백엔드 프로젝트 수동 배포하기
·
Practice
AWS EC2 nginx에 프론트엔드 정적 배포EC2에서 nginx에 정적으로 파일을 올려 프론트엔드 프로젝트를 배포하는 방법을 강의를 듣고 따로 찾아보며 정리해 봤다. 가장 먼저 AWS에서 EC2를 하나 생성하고 ssh를 이용해 접속해 준다.그다음constant1601.tistory.com지난번에는 프론트엔드 파일만 있는 프로젝트를 nginx에 document root에 올려 간단히 배포하는 방법을 알아봤다.이번에는 프론트엔드 소스가 포함되어 있는 백엔드 페이지를 수동으로 AWS EC2에 배포하고서비스가 정상적으로 되는지 확인해 보자. 우선 수동배포를 위해 프로젝트의 jar 파일을 만들어야 한다.Maven을 사용한다면 intelliJ 우측 메뉴바에서 Lifecycle - package를 클릭하면 된다...
WebSocket HTTP Connection 문제 해결하기
·
Project
문제 상황개발 환경에서는 아무런 문제 없이 잘 되던 채팅이운영 서버에서는 안 되는 문제가 발생했다.서버의 로그를 확인해보니 아래의 오류가 발생했다.원인 가정과 문제해결1. 요청에 Upgrade 헤더 미포함우선 에러 메시지를 보고 가장 먼저 클라이언트의 요청에서Upgrade헤더가 미포함되었는지 확인했다.하지만 실제로 확인해보니 stomp.js를 사용하고 있어 자동으로 포함되어 있다는 것을 알 수 있었다.  2. ELB 설정 문제로 웹소켓 헤더 유실ELB(Elastic Load Balancer)에서 지연 시간 설정을 짧게 설정할 경우 요청이 유실될 수 있다. 하지만 확인해보니 운영 서버는 ELB를 사용하고 있지 않았다.따라서 이것도 문제의 원인이 아니었다. 3. EC2 Nginx 설정 문제로 웹소켓 헤더 유..