TIL

· TIL
서비스 디스커버리 (feat. Eureka)MSA에서 각 서비스의 위치를 동적으로 관리하고 찾아준다.각 서비스는 등록된 서버에 각자 위치를 등록, 다른 서비스는 이를 조회하여 통신한다.주요 기능서비스 등록서비스 조회헬스 체크Eureka란넷플릭스에서 개발한 서비스 디스커버리 서버서비스 위치 동적 관리헬스 체크여러 인스턴스 지원 - 고가용성 Eureka 서버를 구성하고각 서비스가 Eureka Client 로 서버에 자신을 등록해야 사용할 수 있다.클라이언트 사이드 로드 밸런싱 (feat. FeignClient, Ribbon)로드 밸런싱이란네트워크 트래픽 분산 기술가용성 UP, 성능 UP종류: 클라이언트, 서버클라이언트 로드 밸런싱이란클라이언트가 여러 서버 중 하나를 선택 후 요청클라이언트는 서버의 목록(fe..
· TIL
다익스트라그래프에서 최단 거리를 구하는 알고리즘이다. 1. 인접 리스트로 표현 배열의 자료형은 노드, 가중치2. 최단 거리 배열 초기화 출발 노드 인덱스 0 / 나머지 무한3. 값이 가장 작은 노드 선택4. 선택된 노드에 연결된 에지의 값을 바탕으로 다른 노드의 값 업데이트공식 Math.min(선택 노드 최단 거리 배열 값 + 에지 가중치, 연결 노드 최단 거리 배열의 값)D[1] == 0 && D2[2] == 무한1 -> 2 가중치 8D[1] + 8 D[2] 값 갱신
· TIL
sqld 문제 풀던 중...Group By 문제가 나왔다. 1번이 select 절에 포함되지 않은 id값으로 Group By2번이 select 절에 포함된 id값으로 Group By 였다 나는 DB별 쿼리 차이를 잘 몰라서.. 다 비슷하겠지!! 하고 저렇게 저자분께 문의드렸다. 근데!!Oracle에서는 Group By 에 없는 컬럼이 Select 절에 오면 에러가 난다는 것..! 😱 그래서 이번에 배웠다...다른 DB에서는 됐었어가지구 의심하지 않았던 거를... 하하하
· TIL
문제가 나왔다. - 다음 중 SQL 결과가 다른 쿼리를 고르시오1. SELECT * FROM MARIN WHERE NOT (HP 500);2. SELECT * FROM MARIN WHERE HP BETWEEN 300 AND HP 500;3. SELECT * FROM MARIN WHERE HP >= 300 AND HP 4. SELECT * FROM MARIN WHERE NOT (HP 500); 2번이랑 3번은 마린의 HP가 300 이상 500 이하 라는 것이 명확하기에 패스 1번이랑 4번이랑 헷갈렸다. 그래서 드모르간 법칙을 이용해보았다. 드모르간 법칙이란~~~~부정연산이 있을 때AND -> OR -> >= 이렇게 바꾸는 거다~ 그냥 반대로!! 집합론에서 쓰이는 건뎅 이런 부정연산할때도 적용할 수 있더..
· TIL
과제 제출을 위해서 프로젝트 EC2에 배포 후 오늘 접속을 하니 애플리케이션 서버가 꺼져있었다.그래서 뭘까하고 문제점을 계속 찾았다. 내가 서버를 구동하는 상태는 이랬었다. EC2 내에 Docker를 설치해서 Docker에 MySQL 설치 후 사용Spring은 Docker가 아닌 EC2에서 사용환경변수를 파일 형식이 아닌, 일회성 등록 (export)음,, 일회성 등록은 현재 터미널 세션을 끄면 자동으로 사라지나? 하고 파일 형식으로 등록해서 영구적으로 등록했다. 그래도 실패 그러면 예상가는 것은 딱하나 램이다. EC2를 프리티어로 사용하면 1GB의 램 사용 용량을 제공한다. 너무 부족하다 적어도 2GB는 돼야하지 않을까?근데 2GB를 제공해주는 Small 인스턴스는 프리티어가 아니라서 과제 제출용으로 ..
· TIL
Union Find 의미Union Find는 Union + Find 를 합친 알고리즘이다.그러므로 두 단어의 알고리즘적 의미를 알아야한다. UnionUnion은 합집합을 뜻한다.1 ∈ A2 ∈ B일 때A ∪ B = {1, 2} 가 된다. FindFind는 집합의 대표 노드를 반환하는 연산을 의미한다.노드 a가 a ∈ A 일 때 find(a) 는 A집합의 대표 노드를 반환한다.  Union Find 원리 설명 1. 1차원 배열 이용 및 자기 자신 대표 노드로 초기화유니온 파인드를 표현하는 일반적인 방법은 1차원 배열을 이용해서 표현한다.배열을 처음 초기화 할 때는 union 연산을 따로 진행하지 않으므로 자기 자신의 대표 노드를 자신의 인덱스로 초기화한다. int nodes = 5;int[] parent ..