본문 바로가기

MONGDB 쿼리 스트링 null 조회 MongoDb에서는 아래와 같은 데이터가 있을때 쿼리필터를 null로 조회하게되면 bonus가 없는 document에까지 조회가 된다. find({bonus : null}) 로 하면 bonus가 없는 필드까지 조회되게 됨 따라사 eixsts를 사용하여 bonus필드를 조회해야 bonus필드가 있는 document만 조회할 수 있다. [ { name : "kim", bonus : null }, {name : "lee", bonus : null }, {name : "lee" } ]
몽고DB 사용하는 이유 와 ReplicaSet 정리 몽고DB를 사용하는 이유 - 스키마가 자유롭다. - HA와 스케일 아웃을 자제적으로 지원해서 확장이 쉽다 - Secondary Index를 지원하는 NoSql언어 (primary index를 제외한 다른 인덱스 종료) - 다양한 종류의 Index를 제공 - 응답 속도가 빠르다 - 배우기 쉽고 간편하게 개발이 가능 Replica Set Status Description Primary Read/Write 요청 모두 처리할 수 있다 Write를 처리하는 유일한 멤버이다 Replica Set에 하나만 존재할 수 있다. Secondary Read에 대한 요청만 처리할 수 있다. 복제를 통해 Primary와 동이한 데이터 셋을 유지한다. ReplicaSet에 여러개가 존재할 수 있다. - 각 멤버는 상태값이 존재한..
MAC Intellij에서 프로젝트 오픈시 무한로딩 커맨드 + 시프트 + A누르고 registry검색 awt.file.dialog.enable.filter 체크 해제 하고 Intellij 종료하고 다시 실행하니까 잘됨. https://stackoverflow.com/questions/69769382/intellij-idea-freezes-when-clicking-on-open-in-macos ssue should be fixed in 2021.3 version. For now, please try the following workaround: Open the IDE Registry (search for action → type Registry) Turn off the flag awt.file.dialog.enable.filter
1.1.2. Reactive API 리액티브 스트림은 상호운용성에 중요한 역할은 한다. 라이브러리 및 인프라 구성 요소에는 관심이 있지만 너무 저 수준이기 때문에 응용 프로그램 API로는 유용하지 않다. 애플리케이션은 비동기 로직을 ​​구성하기 위해 더 높은 수준의 더 풍부한 함수형 API를 필요로한다. 이는 Java 8 Stream API와 유사하지만 콜렉션에만 해당되지는 않습니다. 이것이 리액티브 라이브러리의 역할이다. 리액터는 스프링 웹플럭스에 적합한 리액티브 라이브러리 이다. ReactiveX 연산자의 어휘와 정렬 된 풍부한 연산자 세트를 통해 0..1 (Mono) 및 0..N (Flux)의 데이터 시퀀스에서 작동하는 Mono 및 Flux API 유형을 제공합니다. 리액터는 리액티브 스트림 라이브러리 이므로 모든 비동기 연산에 역압..
Web on Reactive Stack 이 문서는 네티 언더토우 그리고 서블릿 3.1 컨테이너와 같이 논블로킹 서버에서 실행하기 위해 Reactive Streams API에 구축된 반응형 스택 웹 애플리케이션에 대한 지원을 다룬다. 각각의 챕터는 스프링 웹 플럭스 프레임워크, Reactive webclient, 테스트 지원 및 반응형 라이브러리에 대해 설명한다. 서블릿 스택 웹 응용 프로그램의 경우 서블릿 스택의 웹을 참조 해라. 1. Spring WebFlux 오리지날 웹 프레임워크인 스프링 프레임워크는 스프링 웹 MVC를 포함하였다. 서블릿 API 및 서블릿 컨테이너를 위해 특수 제작 되었다. 반응성 스택 웹 프레임워크인 Spring Webflux는 5.0이후에 추가 되었다. Spring Webflux는 완전한 논블로킹을 지원하고 리액티브..
내장 서버에 사용할 키 만드는 명령어 keytool -genkey -alias spring -storetype JKS -keyalg RSA -keysize 2048 -keystore keysore.jks -validity 4000
MongoDB 로컬에서 Docker로 실행하기(MAC에서) 개발 환경의 빠른 변화로 인해 담당하는 프로젝트마다 개발환경이 항상 다르고 매번 프로젝트에 맞게 개발 환경을 구축해야되는게 여간 귀찮은 일이 아니다. 그래서 이번 프로젝트에서는 도커를 사용해 몽고DB를 로컬 환경에 구축 하기로 하였다. 1.Docker 설치 아래 URL에서 다운로드를 하여 MAC에 설치 한다. https://hub.docker.com/editions/community/docker-ce-desktop-mac 2.docker 명령어를 통해서 버전 확인 아래 명령어를 통해서 docker 버전을 확인하여 docker가 정상적으로 설치 되었는지 확인한다. $ docker --version 3. dockerHub에서 MongoDB검색 https://hub.docker.com 접근 상단 검색창에 mo..
ThreadLocal ThreadLocal 자바 ThreadLocal 클래스를 사용하면 동일한 스레드에서 읽고 쓰는것이 가능하다. 따라서 두개의 스레드가 동일한 코드를 실행 하고 코드에 동일한 ThreadLocal 참가 있어도 두 스레드는 서로 ThreadLocal변수를 볼 수 없다.따라서 자바 ThreadLocal 클래스는 간단하게 스레드 세이프를 구현할 수 있다. Creating a ThreadLocal ThreadLocal은 다음과 같이 생성할 수 있다. private ThreadLocal threadLocal = new ThreadLocal(); 각 스레드당 한번만 수행 한다. 여러 스레드에서 get 과 set을 통해 값을 변경 또는 가져올 수 있으며 변경된 값은 무조건 그 스레드에서만 사용 가능하다. Set Thre..