본문 바로가기

분류 전체보기

(290)
Nest.js에 모듈 추가하기(모듈,컨트롤러,서비스) Mac의 Terminal을 이용해서 Nest.js에 다양한 모듈을 추가하는 명령문들을 알아보자. 만약 boards 라는 이름의 모듈,컨트롤러,서비스를 생성한다고 하면(이들은 한 boards 라는 큰 디렉토리 안에 있는 모듈들이다) 모듈 nest g mo boards 컨트롤러 nest g co boards 서비스 nest g s boards 모듈 Module - mo 컨트롤러 controller - co 서비스 service - s 각각의 약어를 이용하여 터미널에 명령문을 입력해주면 된다.
pgAdmin4 사용해보기 - postgreSQL Management Tool Nest.js + postgreSQL을 사용하여 간단한 CRUD App을 만들어보려고 한다. 사용 환경 : MacOS 13.1 version을 사용하고 있는데 아마 Ventura 버전일 것이다. PostgreSQL은 이미 brew로 설치를 해 놓은 상태이다. Mac Terminal에서 psql postgres를 하면 postgreSQL과 연결된다. pgAdmin4 설치 (Management Tools for PostgreSQL) https://www.postgresql.org/ftp/pgadmin/pgadmin4/v6.20/macos/ PostgreSQL: File Browser www.postgresql.org macOS 기준이며, 아래의 pgadmin4~ .dmg 파일을 다운받아주면 된다. 설치가 완..
콜백함수(Callback)란? (+ 일급객체,고차함수) JS를 보다보면 '콜백함수'라는 말을 정말 많이 들어보았을 것이다. 나 또한 콜백함수의 존재는 알았으나, 설명하라고 하면 제대로 하지 못하기에 이참에 콜백함수에 대해 제대로 정리해보려고 한다. 콜백함수 나중에 호출할 함수 전달받은 함수에서 처리될 일이 끝나고 호출하도록 한다. 콜백함수는 Node.js에서 너무나 중요한 개념이다. JS에서 함수는 일급객체(First-class-citizen) 일급객체란? 변수할당, 함수 간 인자 전달 및 반환이 가능해야 하는 특징을 만족해야 한다. // 객체 생성 및 변수에 담음 const a = { msg: "hello 1급 객체" } // 객체를 인자로 전달 가능 function f1(a) { const b = a; b.msg2 = "hello 1급 객체..!"; //..
스마트컨트랙트 구조 + 접근제어 지정자(external,internal ..) // 1. 컨트랙트 선언 contract Sample { // 2. 상태 변수 선언 uint256 data; address owner; // 3. 이벤트 정의 event logData(uint256 dataToLog); // 4. 함수 변경자 정의 modifier onlyOwner() { if(msg.sender != owner) throw; _; } // 5. 생성자 function Sample(uint256 initData, address initOwner){ data = initData; onwer = initOwner; } // 6. 함수(메소드)정의 function getData() returns (uint256 returned) { return data; } function setData(ui..
Smart Contract의 구조 + contract 정의 스마트컨트랙트 문서를 접하다보면 스마트컨트랙트의 구조가 따로 있지 않을까?를 생각해봤다. contract {} 코드 안에 event가 들어가고, event와 emit은 또 짝을 이루고.. 등등 상태 변수(State Variable) 구조체(Struct Type) 열거형(Enum Type) 함수(Function) 함수 제어자(Function Modifier) 이벤트(Event) 에러(Error) 상속(Inheritance) 위의 요소들이 스마트컨트랙트를 이루는 요소들이다. contract 정의 contract SimpleStorage { uint storedData; // 상태 변수 //함수 function set(uint x) public { storedData = x; } //변수 function ge..
Event Loop란? (+ JS 엔진,비동기함수,setTimeout) Nest.js 책을 공부하다가 '이벤트 루프'라는 단어를 접하게 되었다. 사실 이벤트 루프의 경우에도 기존에는 '이벤트가 loop 반복 형태로 도는구나' 정도로만 생각했지, 나의 큰 착각이었다. 이번 기회에 Event Loop에 대해 다시 정리하고자 한다. JS 엔진 구성 (참고로, JS엔진에서 제일 유명한 엔진은 Google의 v8이다) https://v8.dev/ 일단 Nest.js의 근원이 되는 Javascript부터 거슬러 올라가야 한다. Javascript의 엔진은 2가지 영역으로 구성되어 있는데 바로 Memory Heap과 Call stack 형태로 구성되어 있다. Memory Heap - 메모리 할당 Call Stack - 코드 실행 시에 하나씩 Stack 형태로 쌓이는 장소. stack의 ..
[오류] Invalid schematic "billing". Please, ensure that "billing" exists in this collection. 문제 상황 Nest.js에서 billing app을 만드려고 했는데 제목과 같이 Invalid schematic "billing". Please, ensure that "billing" exists in this collection. 라는 에러가 발생하였다. nest g billing 문제 원인 nest g app billing nest에서 app을 만들거면 app 키워드를 써줘야 하는데, 이 부분이 누락되어 에러가 발생하였다. app 키워드를 터미널 커맨드창에 삽입해주면 정상적으로 Nest.js의 프로젝트에서 billing app이 만들어진다.
Endpoint 엔드포인트 그게 몬데 API를 개발하다보면 endpoint 엔드포인트라는 용어를 자주 접하게 된다. 이제껏 엔드포인트를 접할때면 음.. 무언가의 끝자락인가?정도로 넘기고 크게 신경쓰지 않았으나 이번에 짚고 넘어가면 좋을 것 같아 정리해본다. Endpoint 메소드는 같은 URL들에 대해서도 다른 요청을 하게끔 구별하게 해주는 항목 ex) HTTP 메소드 URI (자원) Endpoint의 행위 POST http://api.domain.com/books 새로운 도서정보 생성 GET http://api.domain.com/books 도서정보 목록 조회 GET http://api.domain.com/books/1 1번 도서정보 조회 PUT http://api.domain.com/books/1 1번 도서정보 수정 DELETE http..
MAC + IntelliJ 단축키 모음 참고자료 https://way-be-developer.tistory.com/266 mac ( + intellij ) 명령어 & 단축키 원래 계속 윈도우 환경에서 개발을 했었다. 그런데 회사에서 맥을 사용하고 있어서 기존에 윈도우에서 사용하던 유용한 단축키들을 사용하지 못하게 되었는데, 이 때 문에 업무를 하면서 답답 way-be-developer.tistory.com 좋은 자료 감사합니다
개발문화 : 모놀리식 구조(MA) vs MSA 구조 차이 개발조직에 몸을 담고 있다보면 모놀리식(Monolithic Architecture) 그리고 MSA(MicroService Architecture)으로 개발을 할 것인가?에 대한 의견이 있다. 오늘 '모놀리식 구조'를 듣게 되어 이에 대해 정리해보고자 하였다. Monolithic Architecture : MA 하나의 서비스 또는 애플리케이션이 하나의 거대한 아키텍처를 이룰 때 모놀리식 구조라고 한다. + End-to-End 테스트가 용이하다 (애플리케이션이 하나의 아키텍처로 구성되어있기 때문에) 빠르게 서비스를 만들 수 있다 - 조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포해야 한다 > 유지보수가 힘들다 프로젝트 규모가 커질수록 구동시간이 늘어난다 일부 오류가 전체 서비스에 영향을 미친다 MSA ..