본문 바로가기

개발

[MongoDb] terminal 명령어 1. show dbs 전체 db 목록 가져오기 2. use db 사용. 없으면 생성 3. db.getCollectionNames() 전체 컬렉션 목록 가져오기 4. db.user.insertOne({username:"seungjin",password:"111111"} user 컬렉션에 값 추가(실 서비스에서 민감한 정보를 추가하면 안됩니다) 5.db.user.find() user 컬렉션 data 전체 보기 컬렉션, 디비 개념과 위 명령어만 알면 mysql과 유사해 금방 적응할듯합니다. 이상입니다 더보기
[NestJS] MongoDb with Docker 로컬 설치 대신 docker container을 통한 MongoDB에 대해 알아보겠다. *yml 파일 설정은 생략 yml을 통해 컨테이너를 띄우면, localhost:로 웹브라우저 접근시 아래 문구가 뜬다. 성공적으로 띄워졌다. It looks like you are trying to access MongoDB over HTTP on the native driver port. terminal에 "mongo"를 치면 접속이 안된다. 어떻게 하지? 접속하려면 docker로 먼저 container bash실행후, mongosh를 실행해야한다. // 1 docker exec -it mongoDB bash // 2 mongosh #now it is mongosh to access shell 이상입니다. *코드가 .. 더보기
[React] useSelector가 Promise를 리턴? useSelector로 값을 찍어보는데 Promise를 리턴했다. 뭐지????? 갑자기??? 미들웨어로 thunk를 써서 그런가? 싶었는데.....응 아니야.... 20분 삽질했나.... 혹시 몰라 리듀서 메소드 앞에 async가 있는걸 지워밨는데.... 정상작동 됐다. 다른 분이 작업한 내용을 수정했는데, 이런 사이드 이펙트가..... 리듀서 메소드 앞 async는 조심하자! 이상입니다 *코드 깨지면 아래 참고해주세요 https://medium.com/%EB%8F%84%EA%B9%A8%EB%B9%84-%EC%9D%B4%EC%95%BC%EA%B8%B0/react-useselector%EA%B0%80-promise%EB%A5%BC-%EB%A6%AC%ED%84%B4-7a34523656d3 더보기
[NestJs] Params, Query, Body controller를 통해 요청을 받으면, client에서 올린 데이터를 약속된 방식에 따라 정리? 해야한다. 아래는 각 케이스별 컨트롤러에서의 코드이다. import { Body, Controller, Post, Get, Query, Param } from "@nestjs/common"; import { userMookService, UserMockInterface } from "user/user.service"; import { UserDTO } from "user/dto/user.dto"; @Controller("user") export class UserController { // state 설정을 해줘야, constructor 안에서 사용 가능 private service: userMookSer.. 더보기
[NestJs] Validation이 안되요... Controller, Module, Provider(DI, IOC)개념을 아래 링크를 통해 익힐수 있다. https://docs.nestjs.com/first-steps Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Func.. 더보기
[Js] ES5 prototype vs ES6 Class 자바스크립트는 프로토타입 언어라도 불린다. 객체 지향을 베이스로한 다른 언어와 달리, 생성자 함수를 기반으로 프로토타입 체이닝을 통해 참조 변수및 원시 변수들을 모두 다룬다. 그러나 대규모 프로젝트에 OOP가 더 적합하다는 인식과 내부적으로 객체 지향 기능을 구현하고자하는 니즈로 ES5에서는 객체를 모방한 프로토타입을 사용한다. class와 구조가 비슷한듯 매우 안비슷하다. 1. prototype 프로토타입은 위 사진만으로 설명 가능하다. 생성자 함수(constructor)은 protptype을 가지고 있고, new를 통해 instance를 생성한다. instance는 _proto_를 가지고 있는데, _proto_는 prototype을 참조한다. prototype과 _proto_ 모두 메소드를 가질수 있.. 더보기
[Js] 유사배열객체 Class를 제외한다면, 메소드와 함수 구분이 명확하지 않은 자바스크립트에서 this는 모호합니다. 모호성을 풀기 위해 this 바인드(원하는 객체 지정) 개념이 있고, 이를 위해 call, apply 함수가 있습니다. //{x:11} 객체를 바인드해, func5 내부에서 this 출력 const func5 = function (a,b,c){ console.log(this, a,b,c) } func5.call({x:11}, 3,4,5) 조금 더 심화하면 배열과 유사한 object와 string을 배열화 시킬수 있는데요. 1) obejct 배열화 const ob2 = { 0: '1', 1: '2', length: 2 } console.log(Array.prototype.slice.call(ob2)) con.. 더보기
[Js] 순수함수란 함수형 프로그래밍에서 불변성과 더불어 중요한게 순수함수다. 순수함수는 아래와 같은 조건을 가진다 같은 입력에 대해서 같은 결과를 return해야 한다 함수의 바깥 영역에 side effect를 초래하지 않아야한다 return을 해야한다 여러 글들에서 순수 함수를 다루지만 핵심은 부수효과를 없애 side effect를 지우고, 재사용 가능한 모듈화 이다. *부수효과란, '외부 상태를 변경하는 것 또는 함수로 들어온 인자의 상태를 직접 변경하는 것' (1) 순수 함수인 경우 const adder = (a,b) => { return a+b; } 어떤 사람은 입력과 결과값이 같아야한다고 한다. 이는 a,b를 넣어 a+b로 나오는게 모습을 비순수함수로 판단할 여지가 있기에, 동일한 입력을 넣으면 항상 같은 결과가.. 더보기