본문 바로가기

Backend

(112)
Nest.js 터미널에 설치 시 관리자 권한 문제 발생한다면? (feat. sudo) 원래는 아래와 같이 설치해주지만 npm i -g @nestjs/cli 만약 관리자 권한과 관련된 문제가 생긴다면 sudo 키워드를 이용해 설치해준다. sudo npm i -g @nestjs/cli * sudo UNIX 및 UNIX 계열 운영체제에서 다른 사용자의 보안 권한, super-user로서 프로그램을 구동할 수 있도록 하는 명령어
nestJS 사전조사(Typescript+Node.js+객체지향) + IoC,AOP 프로젝트에서 nestJS를 사용하게 되어 사용 전에 미리 약간의 조사를 하고자 한다. - Node.js 기반 but Node.js의 경우 손쉽게 사용할 수 있고 뛰어난 확장성을 제공하지만 과도한 유연함으로 인해 SW 품질 저하 - 이에 반해 NestJS는 DB,ORM,설정,유효성 검사 등 수많은 기능 제공 - 모듈/컴포넌트 기반으로 프로그램을 작성하여 재사용성을 높여줌 - NestJS로 REST API를 만드는 다양한 프로젝트들이 있으니 개인적으로 공부할 때 참고해야겠다. loC(Inversion of Control) DI(Dependency Injection) AOP(Aspect Oriented Programming) 등 객체지향 개념 도입 -> Typescript,Node.js의 장점들을 가져와서 N..
@Controller와 @RestController의 차이점 문제 @RestController 어노테이션을 달아주지 않고 @GetMapping만 했더니 GET으로 조회가 되지 않았다. 해결방법 Class 바깥에 @RestController 어노테이션 추가하기 그런데, @Controller는 왜 안되는걸까? 구글링을 해보니,다음과 같았다. @Controller는 Model 객체를 만들어 데이터를 담고 View를 찾는 형식 @RestController는 단순히 객체만을 반환(JSON 또는 XML형식으로 HTTP 응답에 담아서 전송) https://dncjf64.tistory.com/288 참고 @Controller와 @RestController의 차이점 1.개요 Spring MVC의 @RestController은 @Controller와 @ResponseBody의 조합..
@GetMapping 적용해보기 (with @RestController) package com.example.mon230206_practice.webController import org.springframework.stereotype.Controller import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RestController @RestController class TodoController { @GetMapping("/todo") fun getTodo(): String { return "jeonghoon" //어떤게 또 다른 return type이 될 수 있을까? } @GetMapping("/todo2") fun getTodo2(): ..
기본포트 8080 -> 8081 포트로 변경해보기 (whiteError page가 뜨는 이유?) SpringBoot의 기본 포트는 8080이다. 기본적으로는 Spring Boot에서 HTTP GET 요청을 8080포트로 보낼 수 있다. (Apache Tomcat의 기본 포트번호도 8080이다) 그러나 8080 포트가 아닌 다른 포트번호에서 springboot의 결과물을 확인하고 싶다면 1. SpringBoot 프로젝트 내의 application.properties에 가서 server.port = 해당포트번호로 수정해주면 된다. server.port = 원하는 포트번호 8080 디폴트 포트를 사용하려면 application.properties에서 위와 같이 초기 포트번호 설정을 따로 해주지 않아도 된다. 2. SpringBoot 실행 > url 주소 입력창에 localhost:8081(applicat..
[Postman Test] 400 - JSON Parse Error 상황 Postman으로 Body에 데이터를 담아 POST 요청을 날렸으나, 400 "Bad Request"가 뜨며 JSON parse error가 출력됨 원인 Body 부분에 { } 안에 데이터를 담아서 요청을 날렸어야 했는데, { } 형식을 지키지 않았음 TCP school에 따르면, { } 중괄호 안에 데이터를 키:값 형태로 담아 요청을 날려야 한다. 그래서 내 Postman에서 1줄에 { 로 시작하지 않았기 때문에 : 오류가 발생 해결 { } 중괄호를 JSON 데이터 시작과 끝에 설정해준다.
[Postman] 415 - "Unsupported Media Type" 해결방법 상황 Postman으로 POST(요청)부분을 테스트 하던 중에 아래와 같은 오류가 발생하였다. 원인 Content-Type이 맞지 않아 발생하는 error인데, text 부분으로 설정이 되어있었다. 해결 방법 Text > Json 으로 type을 변경해준다.
IntelliJ + PostgreSQL 연동방법(Mac Terminal 이용) 1. iterms2.2에서 아래의 명령어를 입력한다 ~ psql postgres 2. postgre가 연결되면 postgres=# 으로 바뀌고, 해당하는 명령어를 입력하면 된다. 3. IntelliJ와 postgreDB 연결 postgres=# \c DB이름 IntelliJ에서 만든 Entity 파일을 기준으로 테이블이 맵핑된다. 4. 연결 성공시 You are now connected to database "DB이름" as user "Mac사용자이름". 터미널에 출력된다. 5. IntelliJ로 이동 우측 탭 Database > + > DataSource > Postgre SQL 클릭 후 먼저 위에서 \c를 통해 DB가 잘 연결되었는지 Test Connection으로 확인한다. 연결이 잘 되었다면 아래..
data class 만들고 @GetMapping으로 data class 호출하기 + Postman 실행결과 + @RestController Person.kt package com.example.test_1.domain data class Person( val id:Long=1, val name:String="", val lastName: String?=null ) Test1Application.kt package com.example.test_1 import com.example.test_1.domain.Person import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication import org.springframework.web.bind.annotation.GetMapping import org...
Entity와 Table의 차이점 DB 구조를 작성하던 중에 Entity와 Table 둘 다 같은 개념 아닌가? 헷갈리기 시작했다. 그래서 Entity와 Table의 차이점에 대해 구글링을 해보던 중 둘이 다르다는 것을 알게 되었다. Entity = 논리 모델 -> DB나 SQL상에 존재하지 않는다. 실제로 존재하지 않는 일종의 '개념' Table = 물리 모델 -> DB나 SQL에 실제로 존재한다. ※ SQL을 사용하면 RDBMS에서 데이터를 저장,수정,삭제 및 검색할 수 있다.