개요 Spring Boot 기반 프로젝트에서 요청 API에 대한 권한 검사를 수행하는 방법은 여러가지가 있을 수 있다. 서블릿 필터를 이용하는 방법, 스프링 인터셉터를 이용한 방법, 스프링 시큐리티를 이용한 방법 등이다. 마지막으로 Spring AOP을 이용한 방법이 있다. Spring AOP를 이용하면, 스프링 시큐리티 대비 비교적 간단하고 직관적인 방법으로 권한 검사가 가능한 장점이 있다. 이번 글에서는 이러한 Spring AOP를 이용한 권한 검사 방법을 설명하고자 한다. 라이브러리 종속성 추가 프로젝트 루트의 /build.gradle 파일에 아래 내용을 추가한다. dependencies { implementation 'org.springframework.boot:spring-boot-sta..
개요 물리적으로 서로 다른 데이터베이스인데, 테이블 스키마는 완전히 동일하게 적용하여 운영 중인 2개의 레거시 애플리케이션이 있다고 가정하자. 이러한 2개의 서로 다른 데이터베이스를 한 애플리케이션에서 JPA를 이용하여 동시에 접근해야할 경우, 코드 중복을 최소화하는 방법을 고민하고 정리하였다. 사전지식 Spring Boot 환경에서 JPA를 적용하는 방법은 본 블로그의 이 글을 참고한다. @MappedSuperClass 적용 @MappedSuperClass은 테이블 구조에 있어 많은 컬럼을 공통적으로 공유하면서 부분적으로 다른 컬럼이 존재하는 서로 다른 테이블을 엔티티로 구현하기 위해 고안된 JPA 어노테이션이다. 따라서 완전히 동일한 구조의 서로 다른 테이블에도 적용할 수 있다. 적용 예는 아래와 같..
개요 리눅스에서 cat, tail, find, grep와 같은 명령어의 사용법을 잘 숙지하고 있으면, 텍스트 파일(주로 로그 파일)에 대한 자유로운 검색 및 가공이 가능하다. 이번 글에서는 이 명령어들에 대한 사용법을 간단히 정리하고자 한다. tail 명령어 사용 예 tail 명령어의 사용 예는 아래와 같다. # foobar.log의 새로 추가되는 라인을 실시간으로 출력 $ tail -f foobar.log # foobar.log 파일의 1000번째 라인부터 끝까지 출력 $ tail --lines=+1000 foobar.log find 명령어 사용 예 find 명령어의 사용 예는 아래와 같다. # access.log 파일이 존재하는 모든 전체 경로를 출력 $ sudo find / -name "access..
개요 Zulu는 미국의 JVM 제작 전문 벤더인 Azul Systems가 무료로 제공하는 OpenJDK 기반의 JDK이다. 대개 운영 환경은 OpenJDK로 운영하고 개발 환경은 Oracle JDK를 설치하는 것이 일반적인데 Zulu를 설치하면 개발 환경과 운영 환경을 통일시킬 수 있다는 장점이 있다. Zulu는 TCK 인증되었으므로 OpenJDK가 제공하는 것과 기능이 완전히 동일하다. OpenJDK 및 Oracle JDK와 관련된 자세한 내용은 본 블로그의 이 글을 참고한다. Zulu 다운로드 및 설치 여기를 클릭하여 Julu를 설치한다. Java Version 11에 해당하는 .MSI 파일을 다운로드하고 설치한다. 페이지에서 아래와 같이 선택하면 다운로드할 파일만 출력되도록 검색 범위를 좁힐 수 있..
- Total
- Today
- Yesterday
- 평속
- Kendo UI Web Grid
- 구동계
- 로드 바이크
- graylog
- chrome
- DynamoDB
- 로드바이크
- jpa
- java
- 자전거
- Docker
- Spring Boot
- jstl
- JHipster
- Kendo UI
- Spring MVC 3
- Tomcat
- spring
- Eclipse
- kotlin
- MySQL
- jsp
- bootstrap
- 알뜰폰
- CentOS
- node.js
- 태그를 입력해 주세요.
- JavaScript
- maven
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |