💡 스트림 생성 스트림의 소스가 될 수 있는 대상은 배열, 컬렉션, 임의의 수 등 다양하다. 컬렉션 컬렉션의 최상위 인터페이스인 Collection에 stream()이 정의되어 있다. 그래서 Collection의 하위 인터페이스인 List와 Set을 구현한 클래스들은 모두 이 메서드로 생성 가능하다. Stream Collection.stream() List로부터 스트림을 생성하는 코드의 예시 List list = Arrays.asList(1,2,3,4,5); // 가변인자 Stream intStream = list.stream(); // list를 소스로 컬렉션 생성 forEach()는 지정된 작업을 스트림의 모든 요소에 대해 수행한다. 주의할 점은 forEach()가 모든 요소를 소모해 작업 수행 후 ..
💡 Spring Cloud Config 분산된 환경의 어플리케이션에서 환경설정 정보를 중앙의 Config Server에 모아 관리하게 해주는 라이브러리이다. 구축을 하게 된 배경은 디스코드 봇을 만드는중인데 봇의 토큰 값을 로컬에서 관리하는 방법 말고 다른방법이 또 있을까 해서 검색하다 AWS Parameter Store를 할까 하다가 이걸로 하게 됐다. 구현 순서 Spring Cloud Config Server Spring Cloud Config Client SSH Key 등록 💡 Spring Cloud Config Server 여러 서버들의 설정정보를 모아놓을 HQ Config Server 사전 준비 사항 Spring Cloud Config 서버로 쓸 Private Git Repository 생성 S..
💡 hashCode 객체의 주소값을 변환하여 생성된 객체의 고유한 정수값이다. 두 객체가 동일한 객체인지 동일성을 체크할 때 사용한다. 특징 해시 함수에 중요한것은 데이터의 속성이다. 연산이 빨라야 한다. 최대한 코드 충돌을 지양해야한다. 코드를 재실행 했을떄 같은 객체라도 다른 값이 나올 수 있다. Object의 hashCode()를 Override 해야한다. Object 클래스의 hashCode는 메모리 위치를 기반으로 실행된다. 재실행마다 객체는 다른 위치에 저장되기 때문에 다른값이 반환된다. 같은 실행 환경일 경우 두 요소가 같다면 항상 같은 값을 반환해야 한다. (equals) 객체의 경우 힙에서의 위치, 문자열의 경우는 문자열 비교 등 예시 아래 예시의 person1과 person2의 hash..
💡 Union 둘 이상의 SQL 명령문을 결합하는데 사용한다. Union 표현식 Union은 기본적으로 고유한 값만 선택한다. SELECT문과 UNION을 사용할 때는 무조건 같은 수의 컬럼이 있어야 한다. 컬럼은 비슷한 유형의 데이터 타입을 가져야 한다. 중복 값을 허용하려면 Union All을 사용한다. SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; Union All 표현식 중복된 값까지 허용 SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; 예시 Customers, Suppliers 테이블의 도시(고유 값)를 반환한다. 참..
💡 Join 두 개 이상의 테이블 사이의 컬럼을 기반으로 행을 결합하는데 사용한다. 다양한 유형의 SQL Join (INNER) JOIN : 두 테이블 간 일치하는 값이 있는 레코드 반환 LEFT (OUTER) JOIN : 왼쪽 테이블의 모든 레코드를 반환하고 오른쪽 테이블의 일치하는 레코드 반환 RIGHT (OUTER) JOIN : 오른쪽 테이블의 모든 레코드를 반환하고 왼쪽 테이블의 일치하는 레코드 반환 FULL (OUTER) JOIN : 왼쪽 또는 오른쪽 테이블에 일치 항목이 있는 경우 모든 레코드 반환 Sample Table Orders 테이블 OrderID CustomerID OrderDate 10308 2 1996-09-18 10309 37 1996-09-19 10310 77 1996-09-2..
💡 Alias 테이블의 열에 별칭을 지정하는데 사용하며, 쿼리가 살아있는 동안에만 적용된다. /* 컬럼 alias */ SELECT colemn_name AS alias_name FROM table_name; /* 테이블 alias */ SELECT column_name(s) FROM table_name AS alias_name; Sample Table Customers CustomerID CustomerName ContactName Address City PostalCode Country 2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico 3 Antonio Moreno..
💡 Between 연산자 주어진 범위 내에서 값을 선택한다. 값은 숫자, 텍스트 또는 날짜일 수 있다. 연산자 Between은 포괄적이며 시작 값과 끝 값이 포함된다. SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; Sample Table ProductID ProductName SupplierID CategoryID Unit Price 1 Chais 1 1 10 boxes x 20 bags 18 2 Chang 1 1 24 - 12 oz bottles 19 3 Aniseed Syrup 1 2 12 - 550 ml bottles 10 4 Chef Anton's Cajun Seasoning 1 2 48 - 6 ..