백엔드
-
[MongoDB] Windows 서비스에 등록하기백엔드/MongoDB 2023. 8. 21. 13:32
문제 발생! 🚨 MongoDB 3.x 버전을 사용하다가 6.x로 버전을 올리면서 문제가 발생하였습니다!! 🚨 두 버전의 MongoDB - storage engine이 서로 달라서 로컬에 존재하는 기존 데이터를 불러올 수 없는 상황이었습니다. Storage Engine Storage Engine은 데이터베이스 관리 시스템(DBMS)에서 데이터를 저장, 관리, 접근하는 데 사용되는 핵심 컴포넌트입니다. 데이터베이스 시스템은 다양한 유형의 데이터를 효율적으로 저장하고 검색할 수 있도록 설계되어 있으며, 이러한 작업을 수행하기 위해 여러 가지 유형의 Storage Engine이 개발되어 왔습니다. 버전별 Storage Engine은 다음과 같습니다. MongoDB 3.x : MMAPv1 (Memory-Mappe..
-
[MongoDB] storage Engine Error백엔드/MongoDB 2023. 8. 16. 16:24
버전 업그레이드 현재 mongoDB를 사용 중입니다. mongo compass가 mongoDB의 최소 6.0 이상 버전을 요구하는 상황입니다! 그래서 mongoDB의 버전을 3.x --> 6.x 으로 올리게 되었습니다. 문제 발생 🚨 하지만 예상치 못한 문제가 발생하기 시작했습니다. dbpath는 기존 3.x 때 사용하던 C:\data\db로 설정하였지만 에러 로그를 보니 "Storage engine to use detected by data files","attr":{"dbpath":"C:/data/db/","storageEngine":"mmapv1"}} 이와 같은 에러가 발생하였습니다. 원인은 storage engine이 달랐던 것이었습니다. mongoDB 3.x 버전은 mmapv1 엔진을 사용 중이..
-
[Java] proxyHost, nonProxyHosts백엔드/Java 2023. 6. 27. 18:29
개발을 하다보면 proxy 설정을 해야하는 경우가 있다.참고 : 이렇게 개발하는 것이 맞는지는 모르겠다. 로컬에서 빌드할 때 많이 사용하는 것 같다. proxyHost와 nonProxyHosts 둘 다 Java 시스템 속성이다. proxyHostHTTP 트래픽을 중계하는 프록시 서버의 호스트 이름이 속성은 Http 요청이 프록시 서버를 거쳐갈 수 있도록 한다. 때문에 보안이나 네트워크 효율성 등의 이유에 필요할 수 있다.추가적으로 포트도 설정 가능하다.// 프록시 호스트 설정System.setProperty("http.proxyHost", "proxyserver.com");// 포트 설정System.setProperty("http.proxyPort", "8080"); nonProxyHosts프록시 서버를..
-
[Java] gradle.properties의 역할과 설정 방법백엔드/Java 2023. 6. 27. 18:15
무엇인가?!gradle.properties 파일은 gradle 빌드 환경에서 중요한 역할을 합니다.이 파일은 프로젝트와 관련된 구성 설정을 정의하는 데 사용되며, gradle 빌드 스크립트 내에서 사용할 변수의 값을 지정하는 데 주로 활용됩니다. 또한 빌드에 영향을 미치는 다양한 속성과 설정을 포함할 수 있습니다.이 파일은 각 모듈의 root에 위치합니다.만약 gradle.properties 파일이 없다면 생성하면 됩니다.역할프로젝트 속성 정의: 개발자는 프로젝트의 요구사항에 맞게 JVM 옵션, Gradle 버전, 메모리 설정 등을 포함한 다양한 프로젝트 속성을 설정할 수 있습니다.빌드 최적화: gradle.properties 파일을 통해 빌드 프로세스를 최적화할 수 있습니다. 예를 들어, 메모리 설정..
-
직렬처리가 굳이 필요하지 않은 수도 있지 않은가?백엔드 2023. 2. 21. 22:15
개발을 시작하면서 백엔드를 해보고 싶었다. 저번 프로젝트부터 백엔드 개발자와 페어로 일하면서 코드를 눈에 많이 익힐 수 있었다. 덕분에 백엔드 코드 읽는 것이 한결 편해졌고 지금 프로젝트에서는 드디어 백엔드를 해볼 수 있게되었다. Spring과 Stream에 익숙치 않아 코드가 단조롭고 효율적으로 작성하지는 못하고 있다. Stream에 대해 찾아보다 병렬처리할 수 있는 `parallelStream`에 대해 읽었다. 생각해보니 지금 하고 있는 코드에서 굳이 직렬처리를 해야하나 라는 의문이 들었다. 직렬처리를 하여 데이터를 찾는다 하여도 어차피 sort를 할텐데 굳이 필요한가? 이에 대한 답은 내일 출근하여 물어보도록 하겠다!