nodejs CORS 문제를 지금 영구적으로 해결하는 방법(2022) 아래 코드와 같이 클라이언트 측 앱에서 Google Maps API와 같은 외부 서버 API에서 일부 데이터를 가져오고 싶다고 가정해 보겠습니다. 신속하게 수정하려면 공용 CORS 프록시 서버 중 하나를 사용하십시오. 이 예제에서는 Heroku CORS 프록시 서버를 사용합니다. Heroku CORS 프록시 URL을 추가한 후에도 403 금지 오류가 발생할 수 있습니다. 클라이언트가 아닌 서... nodejsbeginnersjavascriptwebdev Node.js를 AWS서버에서 사용하는 실습 간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELETE 기능을 수행할 수 있다. 계정과 Default VPC가 생성되어 있다는 가정하에 진행하는 내용이다. 진행되는 모든 내용은 ap-northeast-2(서울)리전에서 진행된다. I... awsAmazonlinux2nodejsAmazonlinux2 nodeJs 설치 cmd 창에서 nodeJs가 설치되어있는지 확인한다. 버전이 없다고 나올 것이다. 노드Js 사이트에 들어가 다운로드를 받는다. 설치 후 위와 같이 설치된 버전을 확인할 수 있다. 설치 중간 과정들에 대한 설정을 따로해주거나 그냥 엔터를 쳐서 넘겨도 된다. VSC를 통해 확인해보자 잘 설치가 됐으면 package.json 내에 dependencies에서 express 정보가 추가됨 그렇다면 e... nodejsnodejs [서버 성능 개선 스토리 #2] 캐시와 Redis 알아보기 사용자가 많이 늘어나 DB에 무리가 갈 것을 사전에 방지 하고자 캐시를 활용해 서버 성능을 개선 시켜 보려고 한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 캐시 서버는 속도를 위해서 주로 메모리를 사용하기 때문에 서버에 장애가 생기면 메모리가 날라가서 데이터가 손실될 수 있다. Redis(Remote Dictionary Serv... nodejsCacheexpressredisCache 220417 TIL 노마드 코더 과정를 통해서 자바스크립트를 완전히 통달하자! Import & Export 이 때, module 의 import 과 export 를 사용하는데... globalRouter.js globalRouter.js 에서 export default globalRouter 를 하여금 함수를 내보낸다. 이 때 default 를 사용하면 중괄호 없이 변수와 함수 등 import 를 할 수 있다.... nodejsJavaScriptTILModuleJavaScript Express + GraphQL + MongoDB 무한스크롤 만들기 처음이라면 하단의 포스팅 참고 하단 링크의 포스팅에서 이어지는 내용 폴더 구조 graphql/userTypeDefs.js, resolvers/user.js를 주로 수정할 예정 화면에 데이터 넘겨주기 위한 코드 작성 user.js에 함수 2개를 추가해 준다. getUsersInit함수는 20개씩 _id의 역순으로 뿌려준다. getUsers함수는 20개씩 _id의 역순으로 뿌려주지만, lastI... mongodbexpressjsnodejsgraphqlexpress [모르고리즘 5-2] request 대.제.전. 리턴즈 아 이번엔 뭘 하나 더 달고 왔네 request.on request.on('왜뭐', function(왜뭐) { }) node로 웹 브라우저 접속이 들어올 때마다 createServer의 콜백함수(쩌어기 코드 맨위에 어딘가에 있음)를 node가 호출하는데, 콜백함수 안에는 request와 response 2가지 인자가 있고, 웹이 post 방식으로 'data'를 전송할 때 그 양이 엄청 많은데... nodejsRequest모르고리즘Request 콜백과 처리 콜백이란, 말 그대로 나중에 실행되는 코드를 말합니다. 일반적인 화살표 함수에서, {} 부분이 콜백에 해당된다고 볼 수 있습니다. 이벤트 중심 언어인 자바스크립트는 다음과 같이 여러 함수를 입력했을 때, 결과를 기다리지 않고 다음 이벤트를 계속 실행합니다.(비동기적 특성) 그럴 때는 비동기적으로 처리됩니다. 콜백 함수 그래서, 하단의 코드를 입력했을 때 delay 시간이 더 짧은 second... nodejsJavaScript동기callback비동기JavaScript [MYSQL] 웹 앱 제작하기 - 글 목록 그렇다면 이제 이를 통해 간단한 웹 어플리케이션을 만들어보자. 생활코딩 egoing 님의 [nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 시리즈 강의를 통해 웹 앱 애플리케이션을 직접 제작할 수 있다. (인프런 혹은 을 참조) 우리는 이를 기반으로 웹 앱을 만들 것이다. 위와 같이 각 항목을 클릭하면 클릭한 항목에 대한 설명이 뜨고, new를 누르게 되면 리스트에 새로운 ... mysqlnodejsDatabaseDatabase [Node.js] Error: No default engine was specified and no extension was provided. Error: No default engine was specified and no extension was provided. 기본 탬플릿 엔진이 지정되지 않았고, 경로가 지정되있지 않을 때 뜨는 오류이다. app.js에 기본엔진과 그 경로를 지정해주면 된다. 이렇게 path import 후 하단에 본인이 ejs를 쓰지 않거나, views폴더에 탬플릿을 모아두지 않았다면, 상황에 맞춰 수정하면... errornodejserror [NODE.JS] MONGO DB 연동하기 (FEAT. EXPRESS & MONGOOSE ) 그래서 간단하게 서버를 만들어보려고한다. node.js는 웹브라우저에서만 사용되던 javascript를 웹 외부에서도 실행할 수 있는 환경을 제공해준다. 그래서 node.js를 통해 서버를 생성할 수 있게 되는것이다. javascript 하나의 언어로 웹프론트와과 웹서버 모두를 만들 수 있기 때문에 많이 사용되고있다. 사실, 나도 그래서 선택했다. node.js를 통해 웹 서버를 생성하기 위... mongodbnodejsmongodb [MYSQL] 웹 앱 제작하기 - 추가 app_mysql.js 에서 항목을 추가하는 부분은 app.get('/topic/new', function(req, res){...} 를 살펴보면 된다. app_mysql.js 조금 더 직관화하기위해 new보다는 add로 하는게 나을 것 같다. new로 설정한 부분을 모두 add로 바꾸자. (views_mysql 폴더의 new.pug 파일도 add.pug 로 바꿔야한다.) 위의 코드는 fs.... mysqlnodejsDatabaseDatabase [MYSQL] 웹 앱 제작하기 - 글 상세보기 Nodejs와 MySql을 통해 간단한 웹 앱을 제작하는 과정 중에 있다. 지난 포스팅에서 DB에 담긴 id값에 해당하는 글 목록을 띄워보았고, id값이 없을 때 즉, 메인 화면에서 환영 문구도 삽입해보았다. 그러나 아직 동적으로 리스트 아이템을 클릭했을 때, 그에 따른 상세 내용이 출력되는 기능은 구현하지 않았다. 따라서 오늘은 이에 대한 것을 구현할 예정이다. app_mysql.js 에서... mysqlnodejsDatabaseDatabase Node.js로 MySQL 다루기 app.js sequelize.sync(...) : 시퀄라이즈를 통해 mySQL과 연결해주는 부분입니다. app.use(...) : 미들웨어를 이용해서 config에 지정되어있는 데이터베이스 이름(실제 mysql에서 선언한 이름과 다릅니다)과 같은지 비교하는 부분입니다. "username" : 데이터베이스 구조를 root에 만들어서 "root"로 적었습니다. "database" : 이 부분은... mysqlnodejsmysql day08 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다. 연결된 애플리케이션과 함께 데이터와 DBMS를 하나로 묵어 데이터베이스 시스템이라고 한다. 둘은 우선 용어부터 다르다. 데이터베이스를 저장할 데이터를 작성 방식으로 구분하는데 관계형은 관계를 중시하며 데이터의 중복을 피하기 위해 여러 테이블로 나누어 저장한다. 문서형은 이와 반대로 다른 구조의 데이터를 같은 컬... expressnodejsBackendBackend 블로그용 API 만들기 -1 npm install express npm install mongoose --save 몽고DB에 스키마를 적용할 수 있다. npm install dotenv --save npm install --save multer npm install --save-dev nodemon 이제 listen 밖에서도 console.log를 볼 수 있다. 외부로 노출되어서는 안될 키값이나 url, 함수를 저장해놓... APInodejsdotenvexpressjsmongodbmongooseAPI [MYSQL] 웹 앱 제작하기 - 편집 이 때, add 버튼 옆에 edit 버튼을 추가하고 글의 내용을 수정하고 싶다면 어떻게 해야할까? 다른 부분은 볼 것 없이 div 태그를 살펴보면 add 를 누를 경우, 우리가 생성한 app.post ('topic/add', ...) 메소드로 이동시켜 리스트를 추가할 수 있도록 했다. 이제 이것을 리스트 형태로 만들어서 topic/ 즉, 메인화면일 때는 add 만 나타내고 /topic/1 과... mysqlnodejsDatabaseDatabase [NODEJS] - jest 1개의 테스트 함수에 대해 Assert(): Java -> expect(): jest 를 최소화 테스트 함수 작성 시 test 메서드 명을 구체적으로 표시할 것 단위 테스트를 작성하지 않은 코드들은 테스트를 작성하지 않은 코드들 보다 버그가 잠재되어 있을 확률이 높은데, 문제는 직접 테스트 하는 비용이 너무 크다는 것이다. 테스트 코드를 작성하지 않았다면 여러 개의 버그가 잠재되어 있을 확률... 테스트nodejsJest.jstestJest.js 테스트코드에 관하여 테스트를 작성한다. (테스트 실패) 코드를 작성한다. 리팩토링 과정은 TDD의 핵심이라고 볼 수 있는데, 리팩토링을 통해 테스트코드가 가지는 의존성을 최소화하는데 집중한다. 이를 통해 다음의 이점을 가질 수 있다. 동작하는 문서를 만들 수 있다. 엉클밥의 TDD원칙 실패하는 테스트를 작성하기 전에는 절대로 제품 코드를 작성하지 않는다. 실패하는 테스트 코드를 한 번에 하나 이상 작성하지 않는... jestnodejsTDDsupertestTDD 블로그용 API 만들기-2 routes/users.js 수정은 업데이트이므로 put 메서드를 사용한다. 삭제는 delete 메서드를 사용한다. router.put("/:id", api/users/123456 서버가 가지고 있는 UserId 라우트 파라미터가 가지고 있는 id(정보수정 페이지로 넘어올때 url에 넘긴 id값을 캡쳐해온다)와 (api/users/:id) 요청body안의 UserId와 비교한다. 같다면 업데... APInodejsexpressjsmongodbmongooseAPI 블로그 API 클라이언트와 연결하기 -1- const [posts, setPosts] = useState([]); axios.get("/")은 fetchAPI 처럼 async await을 사용할 수 있다. 이렇게 하면 get url을 단축해서 사용할 수 있다. http://localhost:5000/api/post ---> /post Home ---> Posts <Posts> 컴포넌트에 프롭으로 보낸다. Posts ---> Post ... APInodejsaxioscorsReactAPI 블로그 API 클라이언트와 연결하기 -2- 회원가입 페이지 아무정보도 없이 회원가입 요청을 보냈을때 응답 --->클라이언트에서 에러핸들링 (정보를 입력해달라는 메시지) 정보를 모두 입력했을때 같은정보로 한번 더 회원가입 했을때 ---> 라우터에서 에러핸들링 (username, email 이 중복될때 조건 추가, 문맥에 맞는 err제공) 에러핸들링 try..catch로 console.log(err) const [error,setErro... useRefAPInodejsDispatchreducercontextAPIReactAPI [Express] Express란? 2009년 Ryan Dahl에 의해 자바스크립트 런타임 Nodejs가 개발되면서 기존의 Web browser를 구성할 수 있는 언어인 JavaScript 로 클라이언트와 서버를 보다 쉽게 구현할 수 있게 되었다. 그 결과 Nodejs는 선풍적인 인기를 끌며 수 많은 개발자들에게 지금까지도 사랑받는 웹 어플리케이션 제작 소프트웨어로 자리잡게 되었다. 항상 복잡하고 방대한 것보다 쉽고 간단한 것... expressnodejsframeworkexpress 백준 1152 : 단어의 개수 nodejs 풀이 다음과 같이 제출했다. 입력값으로 공백 하나가 받아졌을 경우의 예외처리를 해주는 게 이 문제의 핵심 같다.... nodejs코테백준nodejs 블로그용 API 만들기 - 完 - 카테고리 스키마/ 모델로 내보내기 카테고리 라우터 작성 index.js에 라우터 불러오기 const newCat = new Category(req.body); ---> 카테고리 모델 생성자로 새 카테고리 몽구스 문서를 만든다. const savedCat = await newCat.save(); ---> DB에 저장 응답 테스트 MongoDB 설치 npm install multer 파일업로드를... APInodejsmulterexpressjsmongooseAPI Nestjs 폴더 구조 우선 nestjs를 다운 받아보자. 이때 npx라는 것으로도 nest를 다운 받을 수 있다. npx? npm 5.2.0 버전부터 새로 추가된 도구로 일회성 명령으로 패키지를 사용할 수 있도록 해준다. 참조: 앞서 말한 대로 nestjs를 설치하면 어떠한 package manager를 사용할 지 물어본다. yarn을 주로 사용하니 yarn을 선택해보도록 하겠다. 이러한 감사메시지와 함께 tes... NestJSnodejsBackendBackend 백준 2908 : 상수 nodejs 풀이 다음과 같이 풀었다. 그런데 다른 답안들을 봐 보니... reverse()라는 함수가 있더라. 나는 array 배열을 뒤집어놓는 메소드가 있는 줄 몰라서 sangsoo()를 직접 구현했는데 간편하고 편리한 방법이 있었다... array.prototype.reverse(). 배열의 순서를 반전한 배열을 반환한다. 이런 게 있다니 몰랐다... 충격!... nodejs코테백준nodejs
CORS 문제를 지금 영구적으로 해결하는 방법(2022) 아래 코드와 같이 클라이언트 측 앱에서 Google Maps API와 같은 외부 서버 API에서 일부 데이터를 가져오고 싶다고 가정해 보겠습니다. 신속하게 수정하려면 공용 CORS 프록시 서버 중 하나를 사용하십시오. 이 예제에서는 Heroku CORS 프록시 서버를 사용합니다. Heroku CORS 프록시 URL을 추가한 후에도 403 금지 오류가 발생할 수 있습니다. 클라이언트가 아닌 서... nodejsbeginnersjavascriptwebdev Node.js를 AWS서버에서 사용하는 실습 간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELETE 기능을 수행할 수 있다. 계정과 Default VPC가 생성되어 있다는 가정하에 진행하는 내용이다. 진행되는 모든 내용은 ap-northeast-2(서울)리전에서 진행된다. I... awsAmazonlinux2nodejsAmazonlinux2 nodeJs 설치 cmd 창에서 nodeJs가 설치되어있는지 확인한다. 버전이 없다고 나올 것이다. 노드Js 사이트에 들어가 다운로드를 받는다. 설치 후 위와 같이 설치된 버전을 확인할 수 있다. 설치 중간 과정들에 대한 설정을 따로해주거나 그냥 엔터를 쳐서 넘겨도 된다. VSC를 통해 확인해보자 잘 설치가 됐으면 package.json 내에 dependencies에서 express 정보가 추가됨 그렇다면 e... nodejsnodejs [서버 성능 개선 스토리 #2] 캐시와 Redis 알아보기 사용자가 많이 늘어나 DB에 무리가 갈 것을 사전에 방지 하고자 캐시를 활용해 서버 성능을 개선 시켜 보려고 한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 캐시 서버는 속도를 위해서 주로 메모리를 사용하기 때문에 서버에 장애가 생기면 메모리가 날라가서 데이터가 손실될 수 있다. Redis(Remote Dictionary Serv... nodejsCacheexpressredisCache 220417 TIL 노마드 코더 과정를 통해서 자바스크립트를 완전히 통달하자! Import & Export 이 때, module 의 import 과 export 를 사용하는데... globalRouter.js globalRouter.js 에서 export default globalRouter 를 하여금 함수를 내보낸다. 이 때 default 를 사용하면 중괄호 없이 변수와 함수 등 import 를 할 수 있다.... nodejsJavaScriptTILModuleJavaScript Express + GraphQL + MongoDB 무한스크롤 만들기 처음이라면 하단의 포스팅 참고 하단 링크의 포스팅에서 이어지는 내용 폴더 구조 graphql/userTypeDefs.js, resolvers/user.js를 주로 수정할 예정 화면에 데이터 넘겨주기 위한 코드 작성 user.js에 함수 2개를 추가해 준다. getUsersInit함수는 20개씩 _id의 역순으로 뿌려준다. getUsers함수는 20개씩 _id의 역순으로 뿌려주지만, lastI... mongodbexpressjsnodejsgraphqlexpress [모르고리즘 5-2] request 대.제.전. 리턴즈 아 이번엔 뭘 하나 더 달고 왔네 request.on request.on('왜뭐', function(왜뭐) { }) node로 웹 브라우저 접속이 들어올 때마다 createServer의 콜백함수(쩌어기 코드 맨위에 어딘가에 있음)를 node가 호출하는데, 콜백함수 안에는 request와 response 2가지 인자가 있고, 웹이 post 방식으로 'data'를 전송할 때 그 양이 엄청 많은데... nodejsRequest모르고리즘Request 콜백과 처리 콜백이란, 말 그대로 나중에 실행되는 코드를 말합니다. 일반적인 화살표 함수에서, {} 부분이 콜백에 해당된다고 볼 수 있습니다. 이벤트 중심 언어인 자바스크립트는 다음과 같이 여러 함수를 입력했을 때, 결과를 기다리지 않고 다음 이벤트를 계속 실행합니다.(비동기적 특성) 그럴 때는 비동기적으로 처리됩니다. 콜백 함수 그래서, 하단의 코드를 입력했을 때 delay 시간이 더 짧은 second... nodejsJavaScript동기callback비동기JavaScript [MYSQL] 웹 앱 제작하기 - 글 목록 그렇다면 이제 이를 통해 간단한 웹 어플리케이션을 만들어보자. 생활코딩 egoing 님의 [nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 시리즈 강의를 통해 웹 앱 애플리케이션을 직접 제작할 수 있다. (인프런 혹은 을 참조) 우리는 이를 기반으로 웹 앱을 만들 것이다. 위와 같이 각 항목을 클릭하면 클릭한 항목에 대한 설명이 뜨고, new를 누르게 되면 리스트에 새로운 ... mysqlnodejsDatabaseDatabase [Node.js] Error: No default engine was specified and no extension was provided. Error: No default engine was specified and no extension was provided. 기본 탬플릿 엔진이 지정되지 않았고, 경로가 지정되있지 않을 때 뜨는 오류이다. app.js에 기본엔진과 그 경로를 지정해주면 된다. 이렇게 path import 후 하단에 본인이 ejs를 쓰지 않거나, views폴더에 탬플릿을 모아두지 않았다면, 상황에 맞춰 수정하면... errornodejserror [NODE.JS] MONGO DB 연동하기 (FEAT. EXPRESS & MONGOOSE ) 그래서 간단하게 서버를 만들어보려고한다. node.js는 웹브라우저에서만 사용되던 javascript를 웹 외부에서도 실행할 수 있는 환경을 제공해준다. 그래서 node.js를 통해 서버를 생성할 수 있게 되는것이다. javascript 하나의 언어로 웹프론트와과 웹서버 모두를 만들 수 있기 때문에 많이 사용되고있다. 사실, 나도 그래서 선택했다. node.js를 통해 웹 서버를 생성하기 위... mongodbnodejsmongodb [MYSQL] 웹 앱 제작하기 - 추가 app_mysql.js 에서 항목을 추가하는 부분은 app.get('/topic/new', function(req, res){...} 를 살펴보면 된다. app_mysql.js 조금 더 직관화하기위해 new보다는 add로 하는게 나을 것 같다. new로 설정한 부분을 모두 add로 바꾸자. (views_mysql 폴더의 new.pug 파일도 add.pug 로 바꿔야한다.) 위의 코드는 fs.... mysqlnodejsDatabaseDatabase [MYSQL] 웹 앱 제작하기 - 글 상세보기 Nodejs와 MySql을 통해 간단한 웹 앱을 제작하는 과정 중에 있다. 지난 포스팅에서 DB에 담긴 id값에 해당하는 글 목록을 띄워보았고, id값이 없을 때 즉, 메인 화면에서 환영 문구도 삽입해보았다. 그러나 아직 동적으로 리스트 아이템을 클릭했을 때, 그에 따른 상세 내용이 출력되는 기능은 구현하지 않았다. 따라서 오늘은 이에 대한 것을 구현할 예정이다. app_mysql.js 에서... mysqlnodejsDatabaseDatabase Node.js로 MySQL 다루기 app.js sequelize.sync(...) : 시퀄라이즈를 통해 mySQL과 연결해주는 부분입니다. app.use(...) : 미들웨어를 이용해서 config에 지정되어있는 데이터베이스 이름(실제 mysql에서 선언한 이름과 다릅니다)과 같은지 비교하는 부분입니다. "username" : 데이터베이스 구조를 root에 만들어서 "root"로 적었습니다. "database" : 이 부분은... mysqlnodejsmysql day08 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다. 연결된 애플리케이션과 함께 데이터와 DBMS를 하나로 묵어 데이터베이스 시스템이라고 한다. 둘은 우선 용어부터 다르다. 데이터베이스를 저장할 데이터를 작성 방식으로 구분하는데 관계형은 관계를 중시하며 데이터의 중복을 피하기 위해 여러 테이블로 나누어 저장한다. 문서형은 이와 반대로 다른 구조의 데이터를 같은 컬... expressnodejsBackendBackend 블로그용 API 만들기 -1 npm install express npm install mongoose --save 몽고DB에 스키마를 적용할 수 있다. npm install dotenv --save npm install --save multer npm install --save-dev nodemon 이제 listen 밖에서도 console.log를 볼 수 있다. 외부로 노출되어서는 안될 키값이나 url, 함수를 저장해놓... APInodejsdotenvexpressjsmongodbmongooseAPI [MYSQL] 웹 앱 제작하기 - 편집 이 때, add 버튼 옆에 edit 버튼을 추가하고 글의 내용을 수정하고 싶다면 어떻게 해야할까? 다른 부분은 볼 것 없이 div 태그를 살펴보면 add 를 누를 경우, 우리가 생성한 app.post ('topic/add', ...) 메소드로 이동시켜 리스트를 추가할 수 있도록 했다. 이제 이것을 리스트 형태로 만들어서 topic/ 즉, 메인화면일 때는 add 만 나타내고 /topic/1 과... mysqlnodejsDatabaseDatabase [NODEJS] - jest 1개의 테스트 함수에 대해 Assert(): Java -> expect(): jest 를 최소화 테스트 함수 작성 시 test 메서드 명을 구체적으로 표시할 것 단위 테스트를 작성하지 않은 코드들은 테스트를 작성하지 않은 코드들 보다 버그가 잠재되어 있을 확률이 높은데, 문제는 직접 테스트 하는 비용이 너무 크다는 것이다. 테스트 코드를 작성하지 않았다면 여러 개의 버그가 잠재되어 있을 확률... 테스트nodejsJest.jstestJest.js 테스트코드에 관하여 테스트를 작성한다. (테스트 실패) 코드를 작성한다. 리팩토링 과정은 TDD의 핵심이라고 볼 수 있는데, 리팩토링을 통해 테스트코드가 가지는 의존성을 최소화하는데 집중한다. 이를 통해 다음의 이점을 가질 수 있다. 동작하는 문서를 만들 수 있다. 엉클밥의 TDD원칙 실패하는 테스트를 작성하기 전에는 절대로 제품 코드를 작성하지 않는다. 실패하는 테스트 코드를 한 번에 하나 이상 작성하지 않는... jestnodejsTDDsupertestTDD 블로그용 API 만들기-2 routes/users.js 수정은 업데이트이므로 put 메서드를 사용한다. 삭제는 delete 메서드를 사용한다. router.put("/:id", api/users/123456 서버가 가지고 있는 UserId 라우트 파라미터가 가지고 있는 id(정보수정 페이지로 넘어올때 url에 넘긴 id값을 캡쳐해온다)와 (api/users/:id) 요청body안의 UserId와 비교한다. 같다면 업데... APInodejsexpressjsmongodbmongooseAPI 블로그 API 클라이언트와 연결하기 -1- const [posts, setPosts] = useState([]); axios.get("/")은 fetchAPI 처럼 async await을 사용할 수 있다. 이렇게 하면 get url을 단축해서 사용할 수 있다. http://localhost:5000/api/post ---> /post Home ---> Posts <Posts> 컴포넌트에 프롭으로 보낸다. Posts ---> Post ... APInodejsaxioscorsReactAPI 블로그 API 클라이언트와 연결하기 -2- 회원가입 페이지 아무정보도 없이 회원가입 요청을 보냈을때 응답 --->클라이언트에서 에러핸들링 (정보를 입력해달라는 메시지) 정보를 모두 입력했을때 같은정보로 한번 더 회원가입 했을때 ---> 라우터에서 에러핸들링 (username, email 이 중복될때 조건 추가, 문맥에 맞는 err제공) 에러핸들링 try..catch로 console.log(err) const [error,setErro... useRefAPInodejsDispatchreducercontextAPIReactAPI [Express] Express란? 2009년 Ryan Dahl에 의해 자바스크립트 런타임 Nodejs가 개발되면서 기존의 Web browser를 구성할 수 있는 언어인 JavaScript 로 클라이언트와 서버를 보다 쉽게 구현할 수 있게 되었다. 그 결과 Nodejs는 선풍적인 인기를 끌며 수 많은 개발자들에게 지금까지도 사랑받는 웹 어플리케이션 제작 소프트웨어로 자리잡게 되었다. 항상 복잡하고 방대한 것보다 쉽고 간단한 것... expressnodejsframeworkexpress 백준 1152 : 단어의 개수 nodejs 풀이 다음과 같이 제출했다. 입력값으로 공백 하나가 받아졌을 경우의 예외처리를 해주는 게 이 문제의 핵심 같다.... nodejs코테백준nodejs 블로그용 API 만들기 - 完 - 카테고리 스키마/ 모델로 내보내기 카테고리 라우터 작성 index.js에 라우터 불러오기 const newCat = new Category(req.body); ---> 카테고리 모델 생성자로 새 카테고리 몽구스 문서를 만든다. const savedCat = await newCat.save(); ---> DB에 저장 응답 테스트 MongoDB 설치 npm install multer 파일업로드를... APInodejsmulterexpressjsmongooseAPI Nestjs 폴더 구조 우선 nestjs를 다운 받아보자. 이때 npx라는 것으로도 nest를 다운 받을 수 있다. npx? npm 5.2.0 버전부터 새로 추가된 도구로 일회성 명령으로 패키지를 사용할 수 있도록 해준다. 참조: 앞서 말한 대로 nestjs를 설치하면 어떠한 package manager를 사용할 지 물어본다. yarn을 주로 사용하니 yarn을 선택해보도록 하겠다. 이러한 감사메시지와 함께 tes... NestJSnodejsBackendBackend 백준 2908 : 상수 nodejs 풀이 다음과 같이 풀었다. 그런데 다른 답안들을 봐 보니... reverse()라는 함수가 있더라. 나는 array 배열을 뒤집어놓는 메소드가 있는 줄 몰라서 sangsoo()를 직접 구현했는데 간편하고 편리한 방법이 있었다... array.prototype.reverse(). 배열의 순서를 반전한 배열을 반환한다. 이런 게 있다니 몰랐다... 충격!... nodejs코테백준nodejs