본문 바로가기
728x90
반응형

Back Side46

[MongoDB] Error: couldn't connect to server 127.0.0.1:27017 오류해결 트랜잭션을 위해 로컬에서 리플리카셋을 구성하면서 이거저거 건들다가 어느순간 mongo가 안되기 시작했다 🤯 mongo 터미널에 mongo로 치니깐 (혹시 서버를 운영 중이었다면 터미널에서 err 나오거나 robo3t에도 접속 ㄴㄴ) Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused : 라는 오류 메세지가 나왔다. mongod 다시 터미널에 mongod를 쳐봤다. 어마어마한 글들이 나왔는데 잘 찾아보면 "msg":"Failed to unlink socket fil.. 2022. 7. 8.
[MongoDB] mongod.conf 설정 파일 찾기 - masOS의 경우 MongoDB에서 트랜잭션을 위해 리플리카셋을 설정을 시도하던 중 설정 파일을 찾을 수 없었다. vi /etc/mongod.conf 물론 위 코드로 바로 열어서 편집해줄 수 있긴 하다. (나의 경우 '아니 편집이 가능하면 있다는 건데 왜 눈에 안 보이는 거야'에서 시작해서 찾게 되었다 🌝) 우선 나의 가장 큰 잘못은 경로를 잘못 생각하고 있었던 것이다. 공식문서를 보면 맥의 경우 경로가 둘 중 하나다. 첫 번째는 가장 일반적인 경로이다. 두 번째는 homebrew로 mongodb를 깔았을 경우 설치되는 경로인 것 같다. (회사 컴퓨터라 homebrew로 깔아있는지 몰랐다..) 그리고 나서 finder에서 이동>폴도로 이동을 눌러서 /opt/homebrew/etc를 치면 한 번에 갈 수 있다. 그게 싫은 .. 2022. 7. 7.
[MongoDB] Transaction 트랜잭션 개념부터 실습까지 (1) - Transaction numbers are only allowed on a replica set member or mongos Transaction이란 예를 들어, 위 그림과 같이 4개의 데이터를 지운다고 과정을 하도록 하겠습니다. 순차적으로 작업을 하던 중 C에서 에러로 인해 데이터 삭제가 불가능한 상태가 되었습니다. C,D는 데이터 삭제가 이루어지지 않았지만 C의 앞에 있던 A, B는 이미 데이터가 삭제된 상태죠. 이럴때 어떻게 해야할까요? 이처럼 트랜잭션은 복수개의 작업 중 한 개라도 실패하면 모두 실패로 간주하여 작업 전 상태로 돌아가게 합니다. 그럼 간단한 실습을 통해 트랜잭션을 좀 더 알아보도록 하겠습니다. 실습 export var exampleTransaction: RequestHandler = async (req, res) => { // startSession() - 세션 생성 const session = awai.. 2022. 7. 1.
[기타] Message Queue 메시지 큐란 프로세스(또는 프로그램) 간에 데이터를 교환할 때 사용하는 통신 방법 중 하나입니다. 비동기 메시지를 사용하는 응용 프로그램들 사이에서 데이터를 송수신하는 것을 의미합니다. 메시지란 요청, 응답, 오류 메시지 혹은 단순한 정보 등의 작은 데이터가 될 수 있습니다. 여기에서 메시지 큐는 메시지를 임시로 저장하는 간단한 버퍼인 것이다. 메시지를 전송 및 수신하기 위해 중간에 메시지 큐를 두는거죠. 대표적인 메시지 큐 시스템은 RabbiMQ, ActiveMQ, ZeroMQ, Kafka가 있습니다. 사용하는 이유 일반적인 클라이언트-서버 구조에서는 메시지 큐를 사용하지 않습니다. 대신 언젠가는 큐에 넣어둔 메시지가 소비되어 처리될 것이라고 생각하고 사용합니다. 그렇기 때문에 핵심 작업보다는 어플리케.. 2022. 6. 29.
[MongoDB] lean() 메서드로 JavaScript Object 만들기 JavaScript로 객체를 합치는 방법을 찾고 있었습니다. 가장 간단한 방법인 Spread Operator를 이용했지만 생각과 다른 결과값이 나와 당황했어요. { "result": 100, "data": { "$__": { "activePaths": { "paths": { ... }, "states": { "ignore": {}, "default": {}, "init": { ... }, "modify": {}, "require": { ... } }, "stateNames": [ "require", "modify", "init", "default", "ignore" ] }, "skipId": true, "strictMode": true, "selected": { ... }, "fields": { ... .. 2022. 5. 30.
Notion API - 데이터 불러오기 노션 API를 쓸 수 있다는 정보를 얻자마자 바로 써보기로 결정했다. 순서대로 실행주면 노션 API를 사용할 수 있을 것이다. 1) API 발급 받기 https://www.notion.so/my-integrations Notion – 메모, 작업, 위키, 데이터베이스를 위한 올인원 워크스페이스 매일 쓰는 여러 업무용 앱을 하나로 합친 새로운 도구. 당신과 당신의 팀을 위한 올인원 워크스페이스예요. www.notion.so 위 주소를 클릭해서 API를 발급 받아주면 된다. 새 통합 만들기를 클릭 후 정보를 기입해주면 끝. 2) 데이터베이스 만들기 노션에서 간단한 데이터 베이스를 만들어준다. 3) 워크페이스와 공유하게 만들기 데이터베이스에 입력한 데이터들을 가지고 올려면 워크페이스와 공유가 되어야 한다. 해.. 2022. 3. 21.
[Web] HTTP API와 REST API API 우선 기본적인 API에 대해서 알아보자. API는 컴퓨터 혹은 프로그램끼리의 연결이다. 어떻게 연결을 할지 정리하고 기준을 정하는 것이 API 명세다. HTTP API HTTP API는 HTTP를 통신 방식으로 사용하는 API이다. HTTP 요청을 통해서 서버에 접근할 수 있도록 한다. REST API REST는 웹 서비스의 구조를 만드는데 활용되는 패턴이다. REST를 이용해서 다른 컴퓨터 혹은 프로그램과의 연결을 더 쉽게 할 수 있다. REST한 프로그램이 되려면 HTTP 메소드 중에서 POST, GET, PUT, DELETE만을 활용해야 한다. 또한 REST API로 불리기 위해서는 필요한 조건들이 있고 모두 충족한다면 RESTful API라고 불린다. 필요한 조건들 클라이언트 - 서버 구조.. 2022. 1. 31.
[어노테이션] @RequiredArgsConstructor 의존성 주입 Lombok를 이용해서 코드를 줄일 수 있다. Update를 하기 위해 Service 클래스에 @Service public class CourseService { private final CourseRepository courseRepository; public CourseService(CourseRepository courseRepository) { this.courseRepository = courseRepository; } @Transactional public Long update(Long id, Course course) { Course course1 = courseRepository.findById(id).orElseThrow( () -> new IllegalArgumentException(".. 2021. 11. 21.
스프링 포트에러 해결 - "Web server failed to start. Port 8080 was already in use" 스프링 프로젝트 생성 후 실행해보니 "Web server failed to start. Port 8080 was already in use.라는 문구와 함께 실행이 되지 않았다 ❗️ 이전에도 같은 경험을 해서 https://7942yongdae.tistory.com/35 Error - Port 8080 was already in use Port 8080 was already in use 에러와 원인과 해결 방법 메시지 *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was.. 7942yongdae.tistory.c.. 2021. 11. 18.
728x90
반응형