전체 글
[Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)] Section 1. Service Discovery
이 글은 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강의를 들은 후에 정리한 글입니다. (https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4/dashboard) Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) - 인프런 | 강의 Spring framework의 Spring Cloud 제품군을 이용하여 마이크로서비스 애플리케이션을 개발해 보는 과정입니다. Cloud Native Application으로써의 Spring ..
(CS) git
git git의 전체적인 개념에 대해 설명해보겠다. git이란? git은 소프트웨어 개발 및 유지보수 과정에서 발생하는 소스코드나 문서 등의 생성, 수정, 삭제 등의 이력을 관리하는 VSC(Version Control System)의 하나이다. git은 버전 관리 시스템 중에서도 분산형 VSC이다. 분산형 VSC는 중앙에서 관리하고 있는 모든 버전들을 가지는 저장소(Remote Repository) 전체를 복사하여 사용자의 컴퓨터로 가져와 사용한다. 분산형 외에도 개인 컴퓨에 관리할 버전을 저장하고 관리하는 로컬형, 여러 사용자의 버전 관리 내용을 중앙 서버에서 관리하는 중앙형 VSC도 존재한다. 그렇다면 이런 다양한 VSC의 종류 중 왜 특히 git이 대중적으로 쓰이는 것일까? git의 장점이 협업에 ..
AWS 사용하여 배포 시 사용하는 명령어
환경 변수 설정 application.yml 등에 사용되는 ${변수명}과 같은 환경 변수들을 EC2에 전역으로 선언하는 방법 1. vi ~/.bash_profile vi 편집기에서 아래의 예시와 같이 입력하여 환경 변수들을 설정할 수 있다. export BASE_IP="서버IP주소" export USERNAME="아이디" export PASSWORD="비밀번호" 2. source ~/.bash_profile 입력한 환경 변수 파일을 실제로 사용 가능하게 등록한다. 빌드 ● chmod +x gradlew gradlew를 실행하기 위한 권한을 부여하는 명령어이다. ● ./gradlew build 새로운 프로젝트를 빌드하는 명령어이다. ● ./gradlew build -x test 위의 명령어와 마찬가지로 새..
(C++) 백준 9372번 - 상근이의 여행
문제 링크 : https://www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 풀이 상근이가 최소한의 수의 비행기로 모든 나라를 돌아다니는 것은 최소 신장 트리를 순회하는 것과 동일하다. (정점 - 1) 개의 간선이 최소 신장 트리에 존재하므로, 비행기도 (정점 - 1) 개를 타게 된다. #include int t, n, m, a, b; using namespace std; int main(){ cin >> t; while..
(C++) 백준 1368번 - 물대기
문제 링크 : https://www.acmicpc.net/problem/1368 1368번: 물대기 첫 줄에는 논의 수 N(1 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄에는 i번째 논에 우물을 팔 때 드는 비용 Wi(1 ≤ Wi ≤ 100,000)가 순서대로 들어온다. 다음 N개의 줄에 대해서는 각 줄에 N개의 수가 들어 www.acmicpc.net 풀이 새로운 우물을 파는 것은 새로운 정점을 하나 추가하여 그에 맞는 cost를 가지는 간선을 추가하는 방식으로 진행하였다. Union-Find를 사용해서 크루스칼 알고리즘을 구현하여 최소 신장 트리의 크기를 구해보았다. #include #include #include using namespace std; tuple t[100005]; int n, e,..
(C++) 백준 1197번 - 최소 스패닝 트리
문제 링크 : https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 풀이 Union-Find를 사용해서 크루스칼 알고리즘을 구현하여 최소 신장 트리의 크기를 구해보았다. 정렬 시에 가장 처음에 나타난 값을 기준으로 정렬하기에, cost 값을 튜플에 맨 앞에 위치시켜야 한다는 점을 간과하여 오랜 시간을 낭비하기도 했다. #include #include #include using namespace std; ..
(C++) 백준 2252번 - 줄 세우기
문제 링크 : https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 풀이 indegree라는 자신에게 들어오는 간선의 수를 저장하는 배열을 사용하여, indegree가 0인 경우에만 큐에 넣어 출력하는 방식으로 풀이하였다. indegree가 0이 아닌 경우에는 연결된 정점을 방문할 때마다 indegree를 1씩 줄여나가며, 0이 되는 순간 큐에 들어가도록 한다. #include #include using n..
(C++) 백준 1260번 - DFS와 BFS
문제 링크 : https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 풀이 그래프에서의 DFS와 BFS를 구현하는 문제이다. DFS는 Stack을, BFS는 Queue를 사용해서 풀력 형식에 맞게 그래프의 정점을 하나씩 순회하도록 구현하면 된다. #include #include #include #include using namespace std; vector gp[1002]; int visited[1002]; qu..