본문 바로가기

분류 전체보기

(454)
localhost vs. production
HTML is a Programming Language
S급 개발자 뽑는 방법
컴퓨터 스펙 노예 비유법/근육몬 비유법 노예 비유법 근육몬 비유법
MongoTemplate으로 Aggregation 사용하기 Map-Reduce MongoDB의 Document를 다른 형태로 Mapping하는 것을 Map 이라고 한다. Document나 Mapping한 데이터 내 여러 값을 취해 합계나 평균 등을 만드는 작업을 Reduce라고 한다. 이렇게 Doucment의 데이터를 매핑하고 취합하는 것을 Map-Reduce 작업이라고 한다. Aggregation MongoDB에서는 MapReduce보다 향상된 Aggregate라는 기능을 제공한다. aggregate는 일종의 리눅스와 비슷한 pipeline을 가지면 각 단계별로 진행을 마친 후에 result을 가져오게 된다. 아래와 같은 순서로 pipeline을 진행한 후에 결과값을 가져오게 된다. collection > $project > $match > $group > $..
BooleanExpression의 NullPointException에러 BooleanExpression을 LeftJoin에 넣었더니 NullPointException 에러가 났다. BooleanExpression은 null일 시 알아서 조건에서 제외되는 줄 알았는데, leftjoin의 on이 아니라 where 절에만 해당되는 것이었다. BooleanExpression을 사용한 groupIdIn을 where 절로 변경함으로써 NullPointException 문제를 해결할 수 있었다.
오늘은 코딩하는 날
Mac에서 올린 파일이 Window에서 다운 받을 때, 파일명의 자음 모음이 분리되는 현상 문제 아래 사진처럼 Mac에서 올린 파일을 Window에서 다운 받을 때, 파일명의 자음 모음이 분리되는 현상이 있었다. 원인 Window와 Mac이 서로 다른 유니코드 정규화 방식을 사용하기 때문이었다. Mac OS X 는 NFD, Window는 NFC 를 쓴다. NFD와 NFC의 차이점은 아래 블로그글 참조. https://www.hungrydiver.co.kr/bbs/detail/develop?id=68&scroll=comment 유니코드 정규화(Unicode Normalization Form) 문제 www.hungrydiver.co.kr 해결방안 Java에서 제공하는 java.text.Normalizer을 이용해 해결할 수 있다. 아래 코드로 파일 이름을 NFC로 normalize 해주면 된다. ..
Pod들이 143 Error로 계속 리부팅되는 문제 Legacy라는 서비스의 모든 Pod들이 동시에 143 Error로 모두 계속 죽고 다시 살고, 또 죽고 다시 사는 문제가 발생했다. 모든 Pod들이 죽었기 때문에 서비스가 중지되었다. 아래 캡처는 K9S를 이용해 Pod에 대한 Description을 캡처한 것이다. 원인 Hikari Connection Pool Pod에서 143 에러 코드가 무엇인지 찾아봤다. 143 에러코드는 Application에서 SIGTERM(종료 신호)를 Pod에 보냄으로써 바로 Pod를 종료시키는 것이 아니라, Graceful Shutdown으로 Pod를 종료시킨 것임을 알았다. GracefulShutDown이란 Pod가 종료 시그널을 받았을 때 처리 중인 Request가 있다면 모두 처리하고 Pod를 종료시키는 것을 의미한..
자바스크립트 123456