[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요. nestJS강의를 잘 시청하고있습니다. 진행하는 과정에서 Socket Connect 연결 요청시 Error: socket hang up 오류가 발생하며 연결이 되지 않는 문제가 발생 하였습니다. 저는 현재 NestJS최신버전인 11.1.6버전을 이용해 진행중입니다. PostMan에서 Connect 시도시 아무런 로그가 남지 않습니다. 혹시 아래 문제에 대해서 도움을 받을 수 있을까요?
검색어 입력 후 새로고침을 하면 Failed to load resource: the server responded with a status of 500 () 이와 같은 오류가 뜨는데 왜 그러는걸까요? 그리고 그 밑에 SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON 이렇게 함께 콘솔창에 나옵니다.
검색을 해보니 강의 내용 중 나오는 sql인젝션 xss, HttpOnly csrf, SameSite https 이 부분들은 보통 기본적으로 많이 선택해서 꼭 알아야 하고 연습해야 하는 것으로 생각됩니다 그 외에도 알려주신 것들에 대해 자세히 알아야 할까요? 아니면 이런 방법들이 있구나 하고 굳이 직접 사용해볼 필요는 없는 걸까요
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Spring(Java)을 약 1~2년 정도 공부하다가, 최근 입사 후 NestJS를 새롭게 배우고 있습니다. 공부하기 위한 강의를 듣던 중 문득 궁금증이 생겨 이렇게 질문을 남깁니다. NestJS를 사용하는 이유가 무엇일까요? 제가 지금까지 배워온 관점에서 보면, Spring은 생태계가 훨씬 풍부하고 레퍼런스도 많으며, 엔터프라이즈 환경에서 안정성이 매우 높다고 느껴졌습니다. 반면 NestJS는 비동기 I/O 처리에 강점이 있어 성능적으로 빠르다는 인상을 받았지만, 단순히 그 이유만으로 NestJS를 선택해야 할까 하는 의문이 들었습니다. 물론 기술 선택에는 여러 요소가 있겠지만, 실무적으로나 기술적으로 Spring 대신 NestJS를 선택하는 명확한 이유가 무엇인지 궁금합니다. 단순 궁금증이었습니다...!
application.properties 파일에 spring.devtools.restart.enabled=true spring.thymeleaf.cache=false 각각 자바코드, 타임리프코드 수정 시에 서버를 재시작 안해도 수정사항이 자동 적용시키는 거라고 이해를 했는데 실제 해보니까 자동 적용이 안되는데 추가적으로 설정을 해야하는 부분이 있을까요?? 그리고 혹시 강의 듣고 제 나름대로 정리해서 내용을 블로그나 노션에 올리거나 강의 들으면서 친 코드를 깃허브 private 레퍼지토리에 올리는게 가능할지 문의드립니다.
[1.5탄] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
안녕하세요, 이번 강의를 듣다가 문득 궁금한 점이 생겨서 질문 드립니다. 강의에서 @RequestMapping(method = RequestMethod.GET)을 @GetMapping으로 축약할 수 있다고 배웠습니다. 그런데 이런 축약 어노테이션들이 단순히 가독성만을 위한 것인가요? 아니면 성능상의 차이도 있나요? 왜 굳이 이렇게 나뉘어져서 존재하는지 궁금합니다.
강의 영상대로 코드를 작성하고, localhost:3000을 열어보니 다음과 같은 오류가 계속 뜨네요 ㅜㅠㅠ SyntaxError: Unexpected identifier 'App'. import call expects one or two arguments. 다음은 server.js 입니다 const express = require("express"); const path = require("path"); const app = express(); const PORT = 3000; //현재 탐색기에 위치한 폴더들에 서버가 접근할 수 있도록 하는 코드 //join 안에 경로 작성 app.use(express.static(path.join(__dirname, ".."))); //어떤 경로의 요청이 오던지 항상 동일한 index.html 파일을 반환할 수 있도록 코드 작성 app.get("/*splat", (req, res) => { res.sendFile(path.join(__dirname, "..", "index.html")); }); //우리가 설정한 포트번호에서 서버가 항상 요청을 듣고 있을 수 있도록 하는 코드. app.listen(PORT, () => { console.log("START SERVER"); }); 다음은 index.js 입니다 import App from "./App.js"; const $app = document.getElementById("app"); new App($app); 무엇이 문제일까요? import 경로를 계속 수정해봐도 같은 에러가 뜹니다 ㅠㅠ
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
CRUD 중 DELETE 요청의 경우 어떤 기준으로 반환 타입을 정하는 게 좋을지 궁금합니다. 제가 생각하기에는 아래 두 가지 방식이 있을 것 같습니다. 강사님께서는 이러한 상황에서 어떤 기준을 표준으로 사용하시는지 궁금합니다. 1. 일관된 응답 return { success: true, data: null }; CREATE , READ , UPDATE 와 동일하게 성공 여부를 명시 하고 data 는 null 로 처리하여 응답 구조를 통일하는 방식입니다. 이렇게 하면 프론트엔드에서 일관된 형태로 응답을 처리 할 수 있을 것 같습니다. 2. HTTP 표준 준수 (204 No Content) @HttpCode(204) 응답 본문을 따로 내려주지 않고 상태 코드만 반환 하는 방식입니다. 이 경우 RESTful 표준에 부합 하고 불필요한 네트워크 비용을 줄일 수 있을 것 같습니다. 다만 프론트엔드에서는 응답 본문이 없어 분기 처리가 필요 할 수도 있을 것 같습니다. 이 두 가지 방식 중에서 실무에서는 어떤 기준으로 선택하시는지 또는 프로젝트 성격에 따라 구분하는 기준이 있을지 궁금합니다.
안녕하세요! JWT 구현 중 verify_token 함수의 네이밍이 궁금합니다. app/core/jwt_handler.py def verify_token(token: str) -> int: payload = decode_token(token) return payload.get("uid") verify라는 이름은 보통 boolean을 반환할 것 같은데, 실제로는 uid(int)를 반환하고 있어서 조금 헷갈립니다. get_uid_from_token이나 extract_user_id 같은 이름이 더 명확하지 않을까요? 감사합니다!