programming

    [typescript] inject,injectable데코레이터 토큰 ,프로바이더

    출처: https://edykim.com/ko/post/understanding-angular-dependency-injection-inject-injectable-tokens-and-providers/

    [typescript] ?: 구문

    인터페이스나 타입 만들떄 interface company { name: string; chirman?: string; } 이렇게 쓰면 ?: chirman은 넣어도되고 안넣어도된다

    [mongodb] mongodb명령어

    $ mongod //mongo DB 서버 실행 $ mongo //클라이언트로 서버에 접속 $ mongosh //mongo와 같은 역활인데 더 최신버전 show dbs - 데이터베이스 목록 보기 show collections - 선택된 데이터베이스의 collections 목록 보기 use db_name - 사용할 데이터베이스 선택 혹은 생성. - (단, use db_name을 이용해 database를 생성한다고 해도 collection을 추가해주어서 실질적인 할당을 해주어야 show dbs에서 조회가 된다.) db.createCollection(collection_name, [options]) - collection_name으로 use db_name을 통해 선택된 데이터베이스에 collection을 생성한..

    pnpm

    perfoment npm의 약자 npm같은 패키지 매니저이다 기존 npm은 한 컴퓨터에 nest 프로잭트가 100개있다면 각 프로잭트당 node_modules에 같은 모듈이 100개 있을 수있다. pnpm은 디스크에 패키지를 한번만 설치한다.(한번만 설치하고 심링크와 하드링크로 재사용한다고 함) 특정 저장소에 필요한 패키지를 설치하고 또 그게 필요할때 그 저장소에서 패키지를 가져가서 쓰는 개념인것같다. 기존에 node가 16.14버젼이상 설치되어있다면, 아래와 같이 npm을 사용해서 설치할수있다. npm install -g pnpm pnpm install 을 하면 프로잭트에 필요한 모든 의존성을 설치할수있다 install은 i만 써도 됨 pnpm i 특정 패키지 설치할떄는 이런식으로 -D 로 devdep..

    monorepo란 무엇인가

    monorepo는 하나의 레포란 뜻이고 여려개의 프로잭트를 하나의 레포지토리에서 관리하는 아키텍쳐이다 장점 1. 레포지토리가 하나니까 여러개의 프로잭트들의 커밋히스토리들을 하나의 레포에서 확인이 가능하다 2. 여러개의 프로잭트가 어떤 공통 로직을 가지고 있을떄 import로 쉽게 모듈을 사용할수있다. 3. 2번과 비슷한 개념인데 어떤걸 설치해서 쓸때, 예)레포안의 모든 프로잭트가 node16.1.0을 사용할때 root에만 한번 설치하면된다 4. ide하나 켜서 폴더로 모든 프로잭트를 관리할수있음 단점 1. 특정 프로잭트가 특정한 버젼의 모듈이 필요할 떄, 다른 버젼의 모듈을 사용하는 프로잭트와 충돌할수있음

    [express] nodemon 사용법

    매번 코드수정후 node app.js 로 실행시키는게 번거로울때 nodemon이라는 라이브러리 사용하여 저장할떄 자동으로 실행 시키게 할수있다. 설치해주기 npm install -g nodemon nodemon --watch src/ src/index.js 위 명령어는 src폴더에 변화가 있을때마다 src/index.js를 재실행시키라는 명령어이다 매번 저 명령어 치기 귀찮아서 package.json에 scripts를 아래와 같이 작성해준다. (...) "scripts":{ "start": "node src", "start:dev": "nodemon --watch src/ src/index.js" } } 나는 최상위 폴더 밑에 app.js가 있기때문에 nodemon --watch ./ ./app.js 이..

    shift, splice, slice 함수 사용법 정리

    .shift() shift는 배열의 첫변째 요소를 제거하고 제거된 요소를 반환함 arr.shift()를 하면 arr[0]을 반환하고 arr에서 arr[0]제거됨 var myFish = ["angel", "clown", "mandarin", "surgeon"]; console.log("myFish before: " + myFish); // myFish before: [angel, clown, mandarin, surgeon ] var shifted = myFish.shift(); console.log("myFish after: " + myFish); // myFish after: [ clown, mandarin, surgeon ] console.log("Removed this element: " + shi..

    [hackerrank] sorting 문제

    문제 해석: 한 array arr이 주어지면 arr[0]을 제외한 요소중에 2개 골라서 더하고 아무데나 놓기 그렇게 해서 오름차순이 되는 가장 최소의 반복횟수를 구하는 문제 [2,4,1,3,5]라는 배열이 주어졌을때 1,3을 고르고 그걸 더해서 arr[2]에 놓음 그럼 [2,4,4,5]로 정렬된 배열이 나옴 그럼 리턴은 1, 한번만에 정렬된 배열을 얻었기 떄문에