전체 글 38

[Spring Boot] 스프링 부트 프로젝트/블로그 만들기 - Resource 경로 지정

CSS, Javascript, Third Party library, Images 등의 resource 를 사용하기 위해서, 경로를 지정합니다.'resources/static' 패키지를 생성하고, 하위에 디렉터리를 생성해서 관리할 것입니다. 패키지 구조 소스WebMvcConfig.javaimport org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework...

[Linux] 리눅스 명령어 - cp

cp파일 혹은 디렉터리를 특정 위치에 복사하는 명령어입니다.리눅스 오퍼레이션 수행 시 매우 많이 사용하는 명령어 중 하나 입니다. 기본 사용 방법cp ${복사할 파일} ${복사될 위치} 예제파일 복사 ▶ 현재 경로의 'happygram.txt' 파일을 '/temp' 경로로 복사cp happygram.txt /temp▶ '/' 경로의 'happygram.txt' 파일을 '/temp' 경로로 복사cp /happygram.txt /temp 디렉터리 복사 ▶ 현재 경로의 happygram' 디렉터리 및 하위의 모든 파일들을 '/temp' 경로로 복사cp -R happygram /temp 파일명을 변경하여 복사 ▶ 현재 경로의 'happygram.txt' 파일을 '/temp' 경로로 'myhappygram.txt..

IT - DevOps/Linux 2018.11.14

[Linux] 리눅스 명령어 - find

findfind 명령어는 특정 경로에서 특정 파일을 찾을 때 사용합니다.기본적으로 Recursive 형태로 수행하기 때문에 디렉터리를 탐색하는 경우 내부 디렉터리까지 탐색해 줍니다.다른 명령어와 조합하여 매우 유용하게 사용할 수 있습니다. 기본 사용 방법find ${탐색할 경로} -name ${찾을 파일 이름} 예제 파일 찾기▶ 현재 경로에서 'happygram.txt' 파일 찾기find . -name 'happygram.txt' 원하는 파일 제외하고 모두 지우기▶ 현재 경로에서 'happygram.txt' 파일만 제외하고 모두 지우기find . ! -name 'happygram.txt' -type f -exec rm -f {} \;▶ 현재 경로로부터 2레벨 하위 디렉터리에서 'happygram.txt'..

IT - DevOps/Linux 2018.11.14

[Spring Boot] 스프링 부트 프로젝트/블로그 만들기 - index 페이지 작성 - UI 레이아웃 [Bootstrap + Thymeleaf]

Front-End 부분인 User Interface(UI) 를 구성하도록 하겠습니다. Bootstrap 을 이용하여 HTML + CSS 부분을 구성할 것이고, Template Engine 중 하나인 Thymeleaf 를 사용하여, 서버와 통신할 수 있도록 할 것입니다. Template Engine 중에 Thymeleaf 를 선택한 이유는 Spring Boot 와 잘 어울리는 Engine 으로 소개 되어 있고, 웹 사이트에 많은 참조 자료들이 있습니다. Dependencies Gradle 설정 파일인 build.gradle 의 dependencies 부분에 기본적으로 필요한 라이브러리들을 설정하도록 합니다. build.gradle buildscript { ext { springBootVersion = '2..

[Spring Boot] 스프링 부트 프로젝트/블로그 만들기 - 개발 환경 구성 [Eclipse + Spring Boot + Gradle]

설치 Eclipse 설치 (Oxygen 혹은 Photon 버전 설치)https://www.eclipse.org/oxygen/ Eclipse Marketplace 에서 Spring Tools 설치 Eclipse Marketplace 에서 Gradle 설치 프로젝트 생성 Spring Boot 프로젝트는 Spring 공식 사이트에서 프로젝트 초기 생성을 지원하고 있습니다.공식 사이트에서 프로젝트 초기 생성을 진행하여 다운로드 받고, 그것을 Eclipse 로 Import 를 진행 하겠습니다.Spring Boot 프로젝트 생성https://start.spring.io/ 접속'Gradle Project' 선택 및 Group, Artifact 를 지정하고, 나머지는 기본값으로 진행합니다. Dependencies 에 ..

[Spring Boot] 스프링 부트 프로젝트/블로그 만들기 - 아키텍처, 개발 환경, 프로젝트 구조

아키텍처 Controller Layer : UI 에서 요청을 받고 응답을 전달 Service Layer : 비즈니스 로직을 구현Repository Layer : 데이터베이스에서 가져올 쿼리를 구현. JPA를 이용하는 경우 정해진 규칙에 따라서 메소드를 사용하거나, 만들어놓으면 적절한 쿼리를 수행할 수 있습니다.Domain Layer : 실제로 데이터베이스 물리 테이블과 1:1 매핑이 되어 바인딩 되어 있습니다.Controller 에서는 Service 를 호출해서 받은 결과를 UI 에 전달합니다.[Service -> Repository -> Domain] 처럼 각각 관련 있는 클래스를 호출하도록 설계합니다.Service 가 또 다른 Service 를 호출하지 않도록 주의하고, Service 에서 필요한 R..

[Spring Boot] 스프링 부트 프로젝트/블로그 만들기 - 프롤로그

안녕하세요.이번 프로젝트에서는 '블로그 만들기' 라는 주제로 글을 발행 하려고 합니다. 아키텍처, 개발 환경, 프로젝트 구조 및 설정, 구현 과정을 소개할 것입니다.Spring Boot, Thymeleaf, Bootstrap 등의 오픈 소스를 활용할 것이고, 상황에 따라서 커스터마이징도 진행할 것입니다. 진행 하시면서 궁금하신 사항이나 토론하고 싶은 부분이 있으시면 언제든 해당 글에 댓글을 달아 주세요.다음 글부터 진짜로 시작 해보겠습니다 ! 고고 !

[Spring Boot] 스프링 부트 Web Security 설정 방법

Spring Boot 에서는 WebSecurityConfigurerAdapter 를 이용하여 Controller 접근에 대한 통제를 할 수 있습니다.데이터베이스 (MySQL) 와 연동하여 로그인을 통해 인증을 진행하는 예제를 작성 하겠습니다.개발 환경은 Spring Boot + Thymeleaf + MySQL 이용을 하였습니다. 전체 흐름사용자는 login.html 페이지에 접속하여 username 및 password 를 입력한 후 인증을 요청하고, Web Security 를 구현한 클래스에서 데이터베이스로 접근하여, 입력한 정보를 토대로 인증을 합니다.인증이 완료된 후에는 인증에 대한 정보가 저장되어 있고, 해제될 대까지 세션이 유지됩니다. ERD(ERD 추출은 DBeaver (https://dbeav..