전체 글 227

Spring boot - 게시판 만들기 4 ( 서비스, 컨트롤러 및 View 만들기 )

1. 서비스 처리하기 MVC 패턴에서 모델에 해당함 비즈니스 로직을 담당한다. -DB에서 조회, 저장할 내용 가공, 처리등을 담당 ⭐인터페이스와 실행 클래스를 구분하는 이유 비지니스 로직을 처리하는 모델은 요청사항에 따라 언제든지 변화할 수 있는데 코드의 재사용과 확장을 염두하여 인터페이스로 구성하게 되었다. MVC 구조에서 service와 serviceImpl 이제는 JSP 개발시 MVC 패턴으로 작업하는게 당연시 되고있다. MVC패턴이란 화면에 보여줄 view 에 대한 작업, DB에서 조회 혹은 DB에 저장할 내용을 중간에 가공, 처리하는 비즈니스로직, DB에 연결�� multifrontgarden.tistory.com 서비스를 구현할 인터페이스를 만든다. package com.board2.servi..

Web/Spring 2020.10.13

Spring boot - 게시판 만들기 3 ( Mapper 구현 및 테스트)

1. DTO 만들기 패키지를 이렇게 구성해주고 도메인에 BoardDTO를 추가해준다. domain package 실제 DB의 테이블과 매칭될 클래스 Entity 클래스, Core 클래스라고도 부른다. @Entity, @Column, @Id 등을 이용하기도 한다. VO ( Value Object ) 데이터 그 자체로 의미를 담고 있는 객체 특정한 비즈니스 값을 담고 있다 데이터 베이스의 필드들을 속성으로 구성하고 Getter와 Setter 가 있음 DTO와 동일한 개념이지만 ⭐Read-Only, 불변성 DTO ( Data Transfer Object ) 전송되는 데이터를 담은 컨테이너 객체 Layer간 통신 용도로 오가는 객체 비지니스 로직까지 담아서 작업을 처리하는 용도로 사용하기도 함 ( 로직을 아예 ..

Web/Spring 2020.10.12

Spring boot - 게시판 만들기 2 (MySQL 연동, 설정, Configuration 관련 용어정리)

1. DB 만들기 워크 벤치로 스키마를 새로 만들고 테이블을 만들어줌 charset : utf-8mb4 Collation : Default Collation 쿼리문으로 만들어주거나 use board; CREATE TABLE tb_board( idx INT NOT NULL AUTO_INCREMENT COMMENT '번호(PK)', title VARCHAR(100) NOT NULL COMMENT '제목', content VARCHAR(3000) NOT NULL COMMENT '내용', writer VARCHAR(20) NOT NULL COMMENT '작성자', view_cnt INT NOT NULL DEFAULT 0 COMMENT '조회 수', notice_yn ENUM('Y','N') NOT NULL DE..

Web/Spring 2020.10.08

Spring boot - 게시판 만들기 1 ( 프로젝트 설정)

1. 프로젝트 생성하기 Maven 대신 Gradle 사용 똑같이 라이브러리를 관리하지만 Gradle이 나중에 나온만큼 빌드할 때 훨씬 빠르고 설정하기 간결하다고 한다. [Spring] 빌드 관리 도구 Maven과 Gradle 비교하기. spring에서 초기에 프로젝트를 생성할 때, 빌드 도구를 Maven으로 선택할지, Gradle로 선택할지에 대한 결정이 필요하다. ​ 그냥 나는 항상 익숙한데로, 의심의 여지 없이 spring boot 프로젝트를 진행�� jisooo.tistory.com 디펜던시는 이렇게 함 Developer Tools : Spring Boot DevTools - nodemon처럼 변동사항이 생겼을 때 스프링 서버를 자동으로 재시작해줌 Lombok - DTO, VO 등을 만들 때 Get..

Web/Spring 2020.10.08

MVC 패턴

MVC 패턴 Model -데이터를 처리하는 영역, 비즈니스 로직을 처리함 *비즈니스 로직 : 업무에 필요한 데이터 처리를 수행하는 응용프로그램의 일부, 데이터베이스랑 통신하고 사용자가 원하는 데이터를 가공함 View - 사용자가 보는 화면을 의미, HTML, CSS, JS, JSP, Thymeleaf 등을 사용해서 화면 처리 Controller - 모델과 뷰의 중간 다리 역할 , 브라우저(클라이언트)로부터 요청을 받음 1. 요청 2. 컨트롤러 ( 요청된 파라미터 유효성 검증 => 모델 영역에 데이터 가공 요청 ) 3. 모델 ( 가공 완료 후 디비에 저장 => 저장의 성공, 실패 여부를 컨트롤러로 전달 ) 4. 컨트롤러 ( 결과를 뷰에 전달 ) 5. 뷰 ( 결과를 사용자에게 보여줌 ) 6. 응답 What ..

Web/Spring 2020.10.07

Spring boot 게시판 만들기

원래는 rest api랑 thymeleaf만 써서 간단하게 웹페이지 만들어보려다가 어쩌다보니 엄청 좋은 블로그 글을 발견해서 디비 연동한 게시판까지 만들었다 먼저 결과물 CRUD가 되는데 삭제할 경우 디비에서 글을 날려버리는 건 아니고 삭제여부가 Y가 된다. (기본은 N) Y인지 N인지 여부를 체크해서 유저에게 Y인 글은 다시 보여주지 않는 방식이다 잘 정리된 블로그 보고 안되는 부분은 구글링하면서 뚜딱뚜딱 막 만들어서 그런지 만들면서도 이해가 잘가지 않는 부분이 꽤 있다 (특히 프론트 ㅠㅠ) 뒤에 퀄업 과정이 좀 더 있는데 다시 한번 스스로 만들면서 정리하고 따라해보려고 함 참고한 블로그 스프링 부트(Spring Boot) 게시판 - 개발환경 설정하기 [개발을 시작해봐요!] 본 게시판 프로젝트 관련 안..

Web/Spring 2020.10.06

Thymeleaf

spring boot REST API 와 html을 이용해서 정적인 웹페이지를 만들어보고 싶었다. spring에서 먼저 html 페이지를 로컬 호스트에서 띄워보고 싶었음 참고한 글 Spring boot - Thymeleaf 소개 및 설정 1. Overview Thymeleaf에 관련한 소개와 자세한 내용은 링크로 대체하겠습니다. 스프링과 통합이 비교적 쉽고 개발자가 사용하기 무난한 편입니다. 런닝커브가 크지 않아서 기존에 freemarker나 velocity �� eblo.tistory.com Thymeleaf라는 것은 스프링에 최적화 되어있고! html 포맷이라서 편하게 쓸 수 있다는 것을 알게됨 먼저 프로젝트를 생성할 때 srping web과 developer tool, thymleaf를 넣어줌 파일..

Web/Spring 2020.09.30

sts4 jdk 적용하기 (explorer 날라가는 에러)

sts4 jdk 적용하기 sts (이클립스)는 jre로 실행되기 때문에 lombok같은 라이브러리를 사용할 때 문제가 발생할 수도 있다고 함 그래서 jdk로 실행할 수 있도록 설정을 변경해줘야한다. SpringToolSuite4.ini 파일에서 바꿔줄 수 있는데 -vm 다음에 설치된 jdk파일의 bin폴더의 javaw.exe를 써주면 됨 버전은 꼭 1.8로 맞춰줘야 jdk 버전이 너무 낮아서 실행이 안하겠다는 대참사를 막을 수 있음 잘 써놓고 utf-8로 저장해줌 -startup plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.w..

Web/Spring 2020.09.30

Java Script - 비동기 프로그래밍 2 (async, await, Promise API (all, race))

promise 를 조금더 간결하게 사용하게 하고 동기적 실행처럼 보이게 해준다. promise chain (then => then => then ..) 을 일반적인 동기적 코드를 작성하는 것처럼 간편하게 해준다. 1. async promise 로 작성시 //1.1 promise function fetchUser() { return new Promise((resolve, reject) => { resolve('홍길동'); }); } const user = fetchUser(); user.then(console.log); async를 이용하여 작성시 promise를 쓰지 않아도 promise를 리턴하고 비동기 실행한다. //1.2 async - promise를 쓰지 않아도 promise 비동기 실행 asyn..

Web/HTML CSS JS 2020.09.28

Java Script - 비동기 프로그래밍 1 (callback, promise)

2020.07.13. 수업내용 - node.js (1) 참고할 사이트 1. node.js 다큐먼트 Index | Node.js v13.14.0 Documentation nodejs.org 2. java script 다큐먼트 JavaScript JavaScript(JS)는 가벼운 인터프리터 또는 JIT 컴파일 프로그래밍 언어로, 일급 함수.. srk911028.tistory.com 다시 복습~ 자바 스크립트는 동기적 언어(synchronous) 동기 방식(sync) hoisting이 된 이후부터 순차적으로 한줄 한줄 실행 (hoisiting: var, function 선언을 가장 위로 올려주는 것) 한 메서드가 오래걸려도 계속 기다리고 완료되면 다음 메서드 실행 (블로킹) 비동기 방식(async) 안기다리..

Web/HTML CSS JS 2020.09.25