BACKEND/Spring 21

[Spring Boot] log4jdbc & logback으로 SQL 쿼리 콘솔로 보기

1. build.gradle build.gradle에 log4dbc와 logback 의존성을 추가한다. implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' testImplementation 'ch.qos.logback:logback-classic:1.4.14' 2. log4jdbc.log4j2.properties 파일 생성 * 위치: resources 폴더 하위 내 파일 생성 log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator log4jdbc.dump.sql.maxlinelength=0 3. application.properties의 DB 설정 ..

BACKEND/Spring 2024.01.05

Docker 명령어 모음

# 도커 컨테이너 생성 및 실행 docker run --name mysql-sample-container -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql: {version} # 실행 및 정지된 컨테이너 목록 출력 docker ps -a # 실행 중인 컨테이너 목록 출력 docker ps # 도커 컨테이너 접속 docker exec -it {도커 컨테이너 이름} bash # 도커 특정 컨테이너 삭제 docker rm [containerId] # 도커 모든 컨테이너 삭제 docker rm $(docker ps -a -q) # 도커 특정 이미지 삭제 docker rmi [imageId] # 도커 모든 이미지 삭제 docker rmi $(docker images -q) # 도커..

BACKEND/Spring 2023.07.02

[Sprint Boot] 로거 생성 및 slf4j를 이용한 로깅

1. application.properties 프로젝트 - src/main/resources - application.properties에서 로그 설정 코드를 작성한다. ############################################# #log 설정 ############################################# #전체 로그 레벨: 개발시 debug, 실제 배포시: info logging.level.root=info #패키지별 로그 레벨 logging.level.kr.co.ch10.controller=info logging.level.kr.co.ch10.service=info #로그 파일 경로("/" 로 시작하지 말것) logging.file.name=log/Ch10.l..

BACKEND/Spring 2023.01.18

[Spring Boot] JUnit으로 실행되는 스프링부트 테스트

TDD TDD(Test Driven Development)란 ‘테스트 주도 개발’을 의미한다. TDD는 Agile 개발 방법론에 기반한 짧은 개발 주기의 반복에 의존하는 개발 프로세스로 단위 테스트를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 개발 방식이다. TDD 개발을 진행하면 디버깅 시간이 단축되고, 생산성이 향상되는 등 여러가지 이점을 얻을 수 있지만 기존 개발 방식에 익숙한 상황에서 생산성 저하의 우려로 TDD 도입이 쉽지 않다. JUnit JUnit은 TDD의 가장 대표적인 Java 단위 테스트 프레임워크 어노테이션 기반 단위 테스트(Unit Test)를 위한 도구 제공 Spring Boot 2.2 부터 JUnit 5 사용 구분 설명 @Test 테스트코드를 포함한 메소드 ..

BACKEND/Spring 2023.01.18

[Spring Boot] 네이버 검색 API를 이용한 책 목록 조회

1. 애플리케이션 등록 (API 이용신청) 먼저, 네이버 개발자 페이지에서 애플리케이션 등록을 한다. (네이버 로그인 필요) https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers developers.naver.com 애플리케이션 이름: 등록할 애플리케이션 이름 사용 API: 검색 비로그인 오픈 API 서비스 환경: WEB 설정, http://localhost:8080 2. Postman chrome-extension://coohjcphdfgbiolnekdpbcijmhambjff/index.html 1. [Naver Developers - Documents - 서비스 API - 검색 - 책]에서 JSON 형식의 요청 URL을 복사한다..

BACKEND/Spring 2023.01.18

[Spring Boot] REST 웹 서비스 + 실습

API (Application Programming Interface) API는 프로그램과 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. 일반적으로 API는 애플리케이션에서 요청을 보내고 응답을 받기 위해 정의된 명세(URL)를 의미한다. REST API (Representational State Transfer API) REST는 2000년 Roy Fielding의 박사가 제안한 네트워크에서 클라이언트와 서버 사이의 통신을 구현하는 방법에 대한 이론으로 하나의 자원은 여러 형태의 Representation(json, xml, text, rss 등)으로 전달할 수 있다는 개념이다. REST API는 URI + Method를 의미하고 URI를 통해 ..

BACKEND/Spring 2023.01.17

[Spring Boot] WebSecurityConfigurerAdapter 지원 중단

이전 글 참고 [Spring Boot] Spring Security 회원 등록 (인증, 인가) + BCryptPasswordEncoder [Spring Boot] Spring Security 회원 등록 (인증, 인가) + BCryptPasswordEncoder 이전 글에 이어서 [Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가) [Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가) 인증(Authentication)과 인가(Authorization) 인증(Authentication): this-circle-jeong.tistory.com SecurityConfig.java에서 WebSecurityConfigurerAda..

BACKEND/Spring 2023.01.16

[Spring Boot] Spring Security 회원 등록 (인증, 인가) + BCryptPasswordEncoder

이전 글에 이어서 [Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가) [Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가) 인증(Authentication)과 인가(Authorization) 인증(Authentication): 해당 사용자가 본인이 맞는지 확인 인가(Authorization): 해당 사용자가 요청하는 자원을 실행할 수 있는 권한이 있는가 확인 Principal(접근 주체 this-circle-jeong.tistory.com 이전 게시글에 이어 회원 등록 기능을 추가함과 동시에 코드를 좀더 편리한 방식으로 수정해 본다. 1. Register 페이지 생성 프로젝트 - src/main/resources - ..

BACKEND/Spring 2023.01.13

[Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가)

인증(Authentication)과 인가(Authorization) 인증(Authentication): 해당 사용자가 본인이 맞는지 확인 인가(Authorization): 해당 사용자가 요청하는 자원을 실행할 수 있는 권한이 있는가 확인 Principal(접근 주체) : 보호받는 Resource에 접근하는 대상 → 아이디 Credential(비밀번호) : Resource에 접근하는 대상의 비밀번호 → 비밀번호 Spring Security Spring Security는 인증과 인가 관련 기능 구현을 손쉽게 처리 해주는 라이브러리 Spring Security의 인증을 처리 방식의 기본은 HttpSession 방식 Spring Security는 서블릿 필터(Servlet Filter) 기반으로 동작하고, '인..

BACKEND/Spring 2023.01.12