본문 바로가기

생성자 레퍼런스를 사용하면서 몰랐던 사실. ILLEGAL_ARGUMENT(IllegalArgumentException::new), NULL_POINT_EXCEPTION(e -> NullPointException()); Function supplier; RuntimeExceptions(Function supplier) { this.supplier = supplier; } 위 코드에서 NullPointExcetion의 람다와 IllegalArgumentException의 생성자레퍼런스는 동일한줄 알았지만 다른점이 있다. 다음 코드에서 Function의 String을 Integer로 바꾸면 생성자 레퍼런스로 사용한 표현식을 컴파일 에러가 난다. 왜그럴까? ILLEGAL_ARGUMENT(IllegalArgumentException::new), NULL_..
왜 MongoDB인가? 왜 MongoDB를 사용하는가? (내가 생각하는 몽고) 스키마가 정형화 되어있지 않고 유연하게 스키마를 정의 할 수 있음 Index를 생성하여 빠르게 조회 가능하고 Full Text Search도 가능함. No SQL CAP이론중 CP모델을 따름. 일관성과 분할성을 중요하게 생각했음 json 구조로 사용이 가능함. 나온지 좀 되서 자료가 많음 또한 사내에 구축한 사례가 있어 도움도 받을 수 있음
Spring-data-mongodb 연동시 option정보 Spirng Boot 2.2.4를 사용할때 Spring-data-mongodb를 사용하게 되는데 2.2.4 RELEASE 버전을 사용하게 된다. 여기서 사용하는 자바 설정 파일은 AbstractMongoClientConfiguration을 상속 받아서 설정 할 수 있고 기존에 사용했던 AbstractMongoConfiguration랑은 설정과 옵션이 조금 변경된것 같다. 찾아보니 xml로 쉽게 mongodb연동이 가능하고 연동할때 제공해주는 옵션이 있는데 찾아보니 잘 안나와서 직접 소스 까서 번역(구글번역, 파파고) 하였다. min-connections-per-host : 호스트당 최소 연결 수 connections-per-host :호스트당 연결 가능한 수, 연결이 부족하면 차단됨 디폴트 100 thr..
No identifier specified for entity 에러 No identifier specified for entity에러는 @Id가 없어서 발생 함.
My sql 5.7 이상부터는 group by 에 명시된 컬럼만 select 쿼리에 사용 가능 https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
RequestParam이 있을때와 없을때 차이 Spirng에서는 Controller를 정의하고 각 Controller의 메서드 들은 사용자들의 웹 요청을 받아서 처리하여 결괏값을 돌려준다. 이때 각 Controller메서드 들은 요청 온 파라미터를 받아서 요청에 대한 정보를 담아 처리하곤 한다. 그런데 가끔 어떤 파라메터는파라미터는 @ReqeustParam을 쓰고 어떤 파라미터는 @RequestParam을 생략해서 요청을 받는다. 물론 모두가 다 아는것 처럼 @RequestParam을 생략하면 내부적으로 String이나 Long 같은 타입은 @ReuqestParam으로 취급하고 그 이외에 파라미터는 @ModelAttribute로 취급한다는 것을 알 것이다. 그런데 오늘 궁금했던 건 @RequestParam을 명시적으로 붙이면 require가 디폴트 ..
집약 합쳐서 하나 CREATE TABLE PriceByAge (product_id VARCHAR(32) NOT NULL, low_age INTEGER NOT NULL, high_age INTEGER NOT NULL, price INTEGER NOT NULL, PRIMARY KEY (product_id, low_age), CHECK (low_age < high_age)); INSERT INTO PriceByAge VALUES('제품1', 0 , 50 , 2000); INSERT INTO PriceByAge VALUES('제품1', 51 , 100 , 3000); INSERT INTO PriceByAge VALUES('제품2', 0 , 100 , 4200); INSERT INTO PriceByAge VALUES(..
집계와 조건분기 집계 대상으로 조건 분기 -테이블 생성 CREATE TABLE Population( prefecture VARCHAR(32), sex CHAR(1), pop INTEGER, CONSTRAINT pk_pop PRIMARY KEY(prefecture, sex) ); -데이터 insert INSERT INTO Population VALUES('성남', '1', 60); INSERT INTO Population VALUES('성남', '2', 40); INSERT INTO Population VALUES('수원', '1', 90); INSERT INTO Population VALUES('수원', '2',100); INSERT INTO Population VALUES('광명', '1',100); INSERT IN..