Back

· Back/spring
개요 앞선 포스트에서 JPA를 연결하는 과정에서 application.properties를 다음과 같이 설정하였다. ## h2 데이터베이스 설정 ## spring.h2.console.enabled=true ## Maria DB 데이터베이스 설정 spring.datasource.driverClassName=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3306/around_hub_shop spring.datasource.username=root spring.datasource.password=비밀번호 ## JPA 설정 spring.jpa.hibernate.ddl-auto=create spring.jpa.show-sql=true..
· Back/spring
Spring Boot 서비스 구조 Client, 즉 프론트 영역에서 Controller로 request를 한다. 이때 DTO 형식의 객체를 만들어 요청을 넣는다. 예를 들어 해당 요청이 회원 가입과 관련된 것이라면, 이름, 아이디, 비밀번호를 포함하는 DTO 객체를 만들어 컨트롤러로 요청을 한다. 컨트롤러는 해당 요청이 어떠한 요청인지, 회원가입 요청인지 판단하고 그것과 맞게 되는 서비스로 DTO 객체를 보낸다. 서비스는 이 비지니스 로직의 전반적인 내용을 처리하는 영역이다. 회원 정보에 이름, 아이디, 비밀번호뿐만 아니라 멤버 등급, 가입 날짜와 같은 추가적인 정보를 채워 넣는다. 이것을 바탕으로 Entity 객체를 만든다. Entity는 데이터베이스와 1대1 매핑이 되는, 즉 데이터베이스와 가장 가까..
· Back/spring
Swagger 라이브러리? 서버 개발자가 API를 생성하면, 해당 API 명세서를 작성하여 클라이언트 개발자에게 전달을 하여야 한다. 그렇게 해야 클라이언트 개발자가 해당 명세서를 보고 개발을 진행할 수 있기 때문이다. 출금 API Spec - URL - request param - response 그런데, 백엔드 개발 특성상 API가 변경되는 경우가 생기는데 그럴 때마다 명세서를 다시 작성하고 전달한다면 매우 번거로울 것이다. 이럴 때 도움 되는 라이브러리가 바로 Swagger이다. Swagger는 서버로 요청되는 API 리스트를 HTML 화면으로 문서화하여 테스트할 수 있는 라이브러리이다. 서버가 가동되면서 @RestController를 읽어 API를 분석하여 HTML 문서로 작성한다. 가장 많이 사..
· Back/spring
POST API 리소스를 추가하기 위해 사용되는 API 일반적으로 추가하고자 하는 Resource를 http body에 추가하여 서버에 요청 따라서 @RequestBody를 이용하여 body에 담겨있는 값을 받아야 한다. @PostMapping, @RequestBody @PostMapping(value = "/default") public String postMethod() { return "Hello World"; } // http://localhost:8080/api/v1/post-api/member @PostMapping(value = "/member") public String postMember(@RequestBody Map postData) { StringBuilder sb = new Stri..
· Back/nodejs
nodejs가 뭔데? nodejs는 javascript 런타임이다. 그럼 javascript는 뭔데? html에 종속된 프로그래밍 언어이다. (html은 웹페이지를 위한 정적 언어이다.) html 조작이 가능하기 때문에, js를 이용하면 웹페이지를 동적으로 구성 가능하다. javascript를 누가 해석하냐? 브라우저가 담당한다. 브라우저에는 해석 엔진이 들어있다. 크롬은 V8이라는 해석 엔진을 사용한다. 이 V8이 매우 매우 좋아서 이걸 따로 떼어내서 만든 것이 nodejs!!! 정리하면, nodejs는 javascript를 브라우저 내에서 뿐만 아니라 다른 환경에서도 실행할 수 있는 실행 환경(해석 엔진)이다. nodejs의 특징 영화표를 예매할 때 4명의 손님이 차례대로 2, 2, 200, 2장을 ..
· Back/nodejs
서론 유튜브를 통해 우연히 정말 좋은 양질의 강의를 찾게 되었다. woorimIT님이 올려주신 백엔드 맛보기라는 주제의 강의인데, 사소한 것부터 정말 체계적이고 실전에서 쓰이는 형식 그대로 알려주셔서 많은 도움을 받았다. nodejs를 이용해 로그인 기능을 백엔드로 어떻게 구현하는지 알고 싶으신 분들은 참고하시면 좋을 것 같다. 강의 바로가기 본 게시물은 강의를 들으면서 알게 된 내용들을 메모하면서 정리한 내용이다. ejs란? ejs는 Embedded JavaScript Template의 약자로 nodejs 진영에서 많이 사용하는 템플릿 엔진이다. html 파일과 거의 유사하다고 생각하면 되나, 자바스크립트가 내장되어 있는 html 파일이다. 여기서는 ejs파일의 강점을 크게 이용하지는 않았다. ejs에..
· Back/nodejs
메모 - express의 필요성을 느끼기 위해 http로 서버를 띄워본다. - http는 내장 모듈이기 때문에 express처럼 npm으로 다운로드할 필요 없다. - 코드를 보면 알겠지만, if else 문의 복잡함과 한글 인코딩 등을 처리해주어야 하기 때문에 express가 편하다는 걸 깨달을 수 있다. 코드 const http = require("http"); // 내장 모듈이기 떄문에 따로 다운 받을 필요 없음 const app = http.createServer((req, res) => { res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" }); if (req.url === "/") { res.end("여기는 루트 입니다."); } ..
· Back/nodejs
메모 - 폴더명은 소문자로만 구성하고 띄어쓰기는 하이픈(-)으로 하는 것이 암묵적 관례 - require 명령어 : express 모듈을 다운로드한다 - listen 명령어 : @번 포트로 서버를 열어달라 - 세미콜론은 없어도 되지만 관습적으로 하자 node app.js node는 자바스크립트 파일을 V8 엔진이라는 것을 사용해서 코드를 해석하라는 명령어이다. V8 엔진은 크롬 브라우저에서도 사용되는 자바스크립트 컴파일러라고 보면 됨. Cannot find module 'express' express 모듈이 설치되지 않았다는 에러 메시지 → npm을 이용해 설치를 하자 npm install express -s save 명령어를 넣어야 package.json으로 모듈 관리를 쉽게 할 수 있다. 코드 app..
squareyun
'Back' 카테고리의 글 목록