전체 글 158

[ NestJS ] Repository Pattern에 대하여 알아보자

안녕하세요? 수구리입니다. 이번 포스팅에서는 Nest의 Repository pattern에 대해서 알아보려고 합니다. 디자인 패턴에 대해서 공부하는 것은 굉장히 중요하다고 생각합니다. 어떤 패턴을 쓰냐에 따라서 코드의 유지보수와 관리의 난이도가 결정되기 때문입니다. Repository Design Pattern ? 한 줄로 요약하자면 비즈니스 로직이 있는 Service Layer와 Data Source Layer 사이에서 중재자 역할을 하는 또 다른 하나의 Layer을 말합니다. Service Layer에는 비즈니스 로직 즉, 서비스의 핵심이 되는 로직이 존재합니다. 만약 Repository 패턴을 적용하지 않는다면, 비즈니스 로직에서 데이터베이스에 직접 접근을 하게 됩니다. 이런 경우 문제점이 발생합니..

[ NestJS + mongoose ] virtual field에 대하여 알아보자

안녕하세요? 수구리입니다. 정말 오랜만에 또 포스팅을 하게 되었습니다! 이번 포스팅에서는 NestJS와 mongoose에서 virtual field에 대하여 알아보려고 합니다. 우선 간단하게 설명하자면,, 예를 들어 어떤 한 유저가 SignUp을 한다고 가정해봅시다. 그러면 이 유저는 ID, PW 등등 자신의 정보를 입력하고 DB에 Save를 하게 됩니다. Save 이후, 성공적으로 Data를 저장했다면 입력된 정보를 return 해주는 경우가 있다고 해봅시다. Save 성공 이후, 만약 이 유저의 ID를 비롯한 모든 정보가 다시 return이 된다면 큰일이 나겠죠?? 따라서 이러한 문제를 해결하기 위해서 mongoose에서는 virtual field를 제공합니다. DB의 collection에는 존재하지..

[ React + Firebase ] It looks like you're using ... warning 해결하기

안녕하세요? 수구리입니다. 이번 포스팅에서는 React와 Firebase 사용 시 발생하는 오류에 대해서 알아보겠습니다. 우선 앱 실행 후 F12로 console 창을 열어서 확인을 해보면 아래와 같은 이미지가 보입니다. 발생 원인 이는 Firebase 모듈을 사용하는데 import 과정에서 해당 모듈을 통째로 불러와서 생기는 오류입니다. 저같은 경우는 firebase를 설정해주는 부분에서 firebaseConfig를 정의해서 firebase를 initializeApp(초기화)를 해주었습니다. 이 과정에서 import 시 아래와 같은 모습으로 진행하였습니다. import firebase from "firebase"; 위와 같이 firebase 모듈을 통째로 불러다가 쓰는 경우 발생하는 warning 입니..

[ MFC, C++ ] BYTE to CString, CString to int 형변환

안녕하세요? 수구리입니다. 이번 포스팅에서는 C++에서 타입 변환과 관련된 글을 쓸려고 합니다. BYTE라는 배열을 CString으로 변환 후 변환된 CString을 int로 변환하는 내용입니다. 우선 아래의 코드를 보시면.. BOOL CReviewControl::CheckRevolverLimit(int cam) { BYTE byte[20] = { 0, }; byte[0] = 'p'; byte[1] = 'x'; byte[2] = 0x0D; m_cRevolverPort[cam].clearPort(); m_cRevolverPort[cam].sendBytes(byte, 3); BYTE rbuf[30] = { 0, }; if (ReceiveRevolverPortData(cam, rbuf, 5, 2, COMM_W..

[React Error] expected `onclick` listener to be a function, instead got a value of `object` type.

안녕하세요? 수구리입니다. React를 혼자서 공부를 하던 도중 뭔가 이런 에러가 자주 보여서 기록을 해두면 좋을 것 같아서 글을 쓰게 되었습니다.. 우선 위의 에러가 발생하는 상황을 설명하자면.. 부모 컴포넌트에서 자식 컴포넌트에게 무엇인가 전달을 할 때이다. 예를 들어 상태가 담긴 배열이라던지,, 또는 부모 컴포넌트에 있는 Trigger 함수라던지 등등을 보낼 때 발생한다. 좀 더 자세히 들어가 보면 export class MainPanel extends Component { state = { // 부모 컴포넌트에서 state, trigger 함수 정의 searchTerm: "", searchResults: [], searchLoading: false, }; // 트리거 함수 handleSearchC..

[ C++ ] 프로그래머스 Level 1: 핸드폰 번호 가리기

안녕하세요? 수구리입니다. 이번 코딩테스트 문제도 프로그래머스의 Level 1 문제입니다. 빠르게 살펴보도록 하겠습니다. 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. [ 문제 ] 프로그래머스 Level 1: 핸드폰 번호 가리기 https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고..

[ C++ ] 프로그래머스 Level1: 문자열 내 p와 y의 개수

안녕하세요? 수구리입니다. 이번 문제는 문자열에 관련된 내용입니다. 문제는 아래와 같습니다. 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return 하고 "Pyy"라면 false를 return 합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 아래에는 문제 링크를 남겨두겠습니다. [ 문제 ] 프로그래머스 Level 1: 문자열 내..

[ C++ ] 프로그래머스: 같은 숫자는 싫어

안녕하세요? 수구리입니다. 이번 문제는 숫자의 중복을 제거하는 문제를 알아보려고 합니다. 마찬가지로 프로그래머스 Level 1 문제입니다. 아래에는 문제를 링크해두었습니다! [ 문제 ] 프로그래머스: 같은 숫자는 싫어 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr [ 나의 풀이 ] #include #include #include using namespace std; vector s..

[ C++ ] 프로그래머스: 나누어 떨어지는 숫자 배열

안녕하세요? 수구리입니다. 이번 포스팅에서는 저번 포스팅에서 풀었던 문제와 매우 유사합니다! 바로 문제부터 확인하고 와주세요! [ 문제 ] 프로그래머스: 나누어 떨어지는 숫자 배열 https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr [ 나의 풀이 ] #include #include #include using namespace std; vector..

[ C++ ] 프로그래머스: 약수의 합

안녕하세요? 수구리입니다. 이제 2021년도 끝이 보이기 시작했습니다..!! 다들 올해는 어떠셨는지요?! 바쁘고 치열하게 달려온 만큼 올해 초에 새웠던 나의 다짐들을 되돌아보면서 다가올 2022년도 모두들 건강하셨으면 좋겠습니다..! 아무튼 오늘 풀어볼 문제는 프로그래머스의 약수의 합 문제입니다. 나머지 연산인 %를 사용한 문제네요! [ 문제 ] 문제번호 : 문제 제목 https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명..