1. WebJars는 jQuery나 Bootstrap같은 static 라이브러리를 다운로드하고 설치하는 번거로움을 제거해 준다. 2. 문제는 인터넷을 찾아보면 사용하는 코드는 있는데 설정하는 방법은 잘 나오지 않는다. 3. 일반적으로 mvn repository에서 찾아 pom.xml에 붙이면 동작하는데, 가끔은 404에러가 뜨고 찾지 못할 때가 있다. 3-1 이전에는 되었는지는 모르겠지만 내가 webjar를 사용하기 시작한 스프링 부트 2에서는 돌아가지가 았았다. 3-2 내가 알기로도 아래 경로는 기본적으로 그냥 돌아가는 것이 맞다. webjars는 META-INF/resources로 되어 있다. classpath:/static classpath:/public classpath:/resources/ cl..
1. Authentication은 인증 토큰이라고 할 수 있다. 1-1 인증토큰이라면 인증을 위한 정보를 가진 하나의 단위라고 생각하면 된다. 1-2 이 토큰은 정보를 담은 객체일 뿐 인증이 된 것일 수도 아닐 수도 있다. 2. Controller에서 entity를 저장할 때 유저정보와 연동이 필요한 경우 유용하게 사용할 수 있다. 3. 3가지 방식이 있는데 3-1 Authentication을 주입받아서 사용하기 3-2 Principal을 주입받아서 사용하기 3-3 @AuthenticationPrincipal을 사용하기 3-4 SecurityContext를 SecurityContextHolder에서 받아와서 사용하기 3-5 아래 소스로 설명한다. // Team Entity // 예제를 위해 User 속성..
0. 이미지는 인터넷 검색에서 가져온 내용이다. 개인의 정리 차원에서 작성한 내용이라 신경쓰지 않는다. 1. 스프링 보안 2가지로 큰 문제로 나눌 수 있다. 1-1 인증 1-2 권한(접근제어) 2. 인증 - 스프링은 권한에서 인증을 따로 떼낸 구조이다. 2-0 인증에 관해 인터넷에 수많은 포스트들이 있는데 아래 링크에서 아래 사진을 가져왔다. 2-0-1 찾아본 도식 중에서는 제일 좋은 것 같고 이 구조만 알아도 반은 먹고 들어간다. Spring Security : Authentication Architecture Here is the diagram for demonstrating list of classes and filters involved in spring security authentication..
0. Lombok은 이제 없으면 안될 정도로 중요한 라이브러리가 되었다. 한번씩 혼동될 때까 있어 정리한다. 1. Lombok 소스코드 Generator로 컴파일하기 전에 lombok 모듈을 거쳐 소스코드 생성되고 생성된 코드를 컴파일하게 된다. 2. 기능 2-1 val, var 2-2 @NonNull - 속성이나 생성자에 지정되어 Null 체크를 하여 Null이면 NullPointException을 발생시킨다. 2-3 @Cleanup - finally block의 close를 자동 호출해 준다. 2-4 @Setter, @Getter 2-5 @ToString 2-6 @EqualsAndHashCode - equals, hashCode 메소드를 생성해 준다. 특정한 속성을 제외할 수도 있다. 2-7 @NoA..
1. 이 포스트는 스프링 내장 데이터베이스 H2를 사용할 때 주의할 점이다. 2. 프로그램을 재기동한다고 해서 무조건 저장된 데이터가 삭제가 되는 것이 아니다. 종종 안될 때도 있다. 2-1 제대로 삭제가 되지 않으면 mvn clean으로 프로그램을 완전 삭제하고 mvn spring-boot:run(리빌드)을 실행한다. 3. 주요 키워드가 있어서 사용하면 안되는 단어들이 있다. 예를 들면 order, createdat 같은 것이다. 3-1 order를 테이블 이름으로 사용하면 그냥 에러가 나버린다. 이유도 제대로 설명해주지 않고 에러가 뜬다. 3-2 createdAt를 속성으로 사용하면 created_at을 찾는다. 3-2-1 @Column(name="createdAt")이라고 해도 create_at을 ..
1. 이 포스트는 ConcurrentModificationException 문제에 대한 내용이다. 2. 이 에러는 하나의 스레드가 처리하고 있는 collection 데이터를 다른 스레드가 정보를 변환했을 때 발생한다. 2-1 삭제, 추가 모두 발생한다. 보통은 삭제만 언급되는 경우가 많은데 추가할 때도 발생한다. 3. 쉽게 말하면 collection 데이터를 순회하는 반복구문 실행 중에 그 collection에 데이터가 추가되거나 삭제된 경우다. 4. 해결책 상황에 따라 몇가지가 있는데 공통적으로 적용할 수 있는 방법은 collection 객체의 복제하여 순회에 사용한다. 4-1 아래는 BMI를 계산하는 static 메소드이다. public class BMICalculator { public static..
1. 이 포스트는 하이버네이트의 양방향 One to Many나 Many to Many관계에서 발생하는 무한재귀호출에 대한 것이다. 2. 이 문제는 jackson이 객체를 네트워크로 보낼 데이터로 변환(serialization)하면서 circle이 발생하는 entity를 정상적으로 처리하지 못하여 발생하는 문제이다. 2-1 반드시 내부적으로 순환관계가 있어야 발생하는 문제이다. 단방향으로 정의하면 문제가 생기지 않는다. 2-2 환자와 진료데이터를 가지고 설명한다. 2-2-1 환자는 여러 진료데이터를 가지고 있고, 2-2-2 진료데이터는 단 한 명의 환자 정보를 가지고 있다. 3. 환자와 진료데이터 entity 3-1 환자 Entity 3-1-1 중요한 것은 환자와 데이터가 서로에 대한 참조변수를 가지고 있..
1. 이 포스트는 Spirng Security를 사용하지만, Security filters 로그인을 맡기는 것이 아닌 직접 코딩하는 내용이다. 1-1 보통 WebSecurity Config 클래스의 AuthenticationMangerBuilder를 통하여 접근방법을 등록한다. 1-1-1 UserDetailsService를 구현하여 이 객체를 AuthenticationProvider에 제공하고 1-1-2 이것을 AuthenticationManager가 사용한다. 2. 작업 순서는 2-0 의존성 추가 2-1 데이터베이스 생성 및 연결 2-2 User, Role Entity 생성 및 연결 2-3 UserRepository, RoleRepository 생성 2-4 서비스 코드 생성 2-4-1 UserDetai..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- 외부파일
- one-to-one
- Many-To-Many
- 설정
- hibernate
- 하이버네이트
- Validation
- spring boot
- 매핑
- Spring
- jsp
- 스프링
- MYSQL
- login
- 설정하기
- Rest
- form
- one-to-many
- WebMvc
- 스프링부트
- Spring Security
- Security
- 자바
- RestTemplate
- crud
- XML
- mapping
- 로그인
- Angular
- 상속