목록Spring (21)
각진 세상에 둥근 춤을 추자
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 설정 ..
# 도커 컨테이너 생성 및 실행 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) # 도커..
1. 새 프로젝트 만들기 2. build.gradle (1) tomcat https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-core/8.5.42 // https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-core implementation 'org.apache.tomcat.embed:tomcat-embed-core:8.5.42' https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper/8.5.42 // https://mvnrepository.com/artifact/org..
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..
TDD TDD(Test Driven Development)란 ‘테스트 주도 개발’을 의미한다. TDD는 Agile 개발 방법론에 기반한 짧은 개발 주기의 반복에 의존하는 개발 프로세스로 단위 테스트를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 개발 방식이다. TDD 개발을 진행하면 디버깅 시간이 단축되고, 생산성이 향상되는 등 여러가지 이점을 얻을 수 있지만 기존 개발 방식에 익숙한 상황에서 생산성 저하의 우려로 TDD 도입이 쉽지 않다. JUnit JUnit은 TDD의 가장 대표적인 Java 단위 테스트 프레임워크 어노테이션 기반 단위 테스트(Unit Test)를 위한 도구 제공 Spring Boot 2.2 부터 JUnit 5 사용 구분 설명 @Test 테스트코드를 포함한 메소드 ..
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을 복사한다..
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를 통해 ..
이전 글 참고 [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..
이전 글에 이어서 [Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가) [Spring Boot] Spring Security 처리 과정 + 로그인 예제 (인증, 인가) 인증(Authentication)과 인가(Authorization) 인증(Authentication): 해당 사용자가 본인이 맞는지 확인 인가(Authorization): 해당 사용자가 요청하는 자원을 실행할 수 있는 권한이 있는가 확인 Principal(접근 주체 this-circle-jeong.tistory.com 이전 게시글에 이어 회원 등록 기능을 추가함과 동시에 코드를 좀더 편리한 방식으로 수정해 본다. 1. Register 페이지 생성 프로젝트 - src/main/resources - ..
인증(Authentication)과 인가(Authorization) 인증(Authentication): 해당 사용자가 본인이 맞는지 확인 인가(Authorization): 해당 사용자가 요청하는 자원을 실행할 수 있는 권한이 있는가 확인 Principal(접근 주체) : 보호받는 Resource에 접근하는 대상 → 아이디 Credential(비밀번호) : Resource에 접근하는 대상의 비밀번호 → 비밀번호 Spring Security Spring Security는 인증과 인가 관련 기능 구현을 손쉽게 처리 해주는 라이브러리 Spring Security의 인증을 처리 방식의 기본은 HttpSession 방식 Spring Security는 서블릿 필터(Servlet Filter) 기반으로 동작하고, '인..