728x90
  • 호스트 파일에 아래 내용 추가
127.0.0.1 localhost <my_computer_name>.local


내저장소 바로가기 luxury515

728x90
git config --global credential.helper osxkeychain

이후

SourceTree에서 pull 또는 push로 비밀번호 문의가 나올때 항상 허용으로 비밀번호 입력


내저장소 바로가기 luxury515

'Dev-Tools > git' 카테고리의 다른 글

git 에러관련  (0) 2023.04.16
git install  (0) 2023.04.14
ssh key 쌍 생성  (0) 2023.04.14
git 현재 로컬프로젝트 원격저장소 push  (0) 2023.04.14
git 원격저장소 생성 & local 저장소 추가  (0) 2023.04.13
728x90
  • 시스템 셋팅

AWS CLI 설치 : https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-macos.html

AWS 인증용 profile 셋팅 : profile 명 exkr-kms

$ aws configure --profile exkr-kms
AWS Access Key ID [None]: AKIAJHQMLLDJRWODVZBQ
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-2
  • KMSManager 사용법

aws/KMSManagerExample.java

  1. KMSManager 초기화
KMSManager kmsManager = KMSManager.getInstance(); 
kmsManager.init((String) System.getProperties().get("exkr.kms.alias"));

2. 사용자별(uid) cipher 생성

String cipher = kmsManager.createCipherWithUID(uid);

3. uid와 cipher로 암호화

String encrypted = kmsManager.encryptWithUID(uid, plain, cipher);

4. uid와 cipher로 복호화

String decrypted = kmsManager.decryptWithUID(uid, encrypted, cipher);

서비스 프로퍼티 암호화 : 실행 옵션 exkr.kms.cipher 사용하여 암/복호화

예제 소스들 ~~~~

예제 프로젝트

1. resources/META-INF/spring.factories  추가 
org.springframework.context.ApplicationContextInitializer=com.example.springapiexample.init.DecryptPropertiesContextInitializer

2. resources/application.properties 에 예제 프로퍼티 추가
exkr.test={cipher}743QDr/oHPyshILBgJURgXfqyUe4ZHgpKDx2qRwVR1k=

3. curl -si localhost:8080/greeting  호출시 exkr.test 복화화되어 출력 '안녕하세요!'포함한 문자열 
{"id":1,"content":"Hello, 안녕하세요?! with World pwd"}
~~~


내저장소 바로가기 luxury515

'Back-end > 기타' 카테고리의 다른 글

필터(Filter) vs 인터셉터(Intercepter)  (0) 2023.04.17
on duplicate key update  (0) 2023.04.16
DI(Depandency Injection) 에 관하여  (0) 2023.04.14
plantUml preview 갑자기 작동안될때.  (0) 2023.04.14
gradle bootrun 작동 에러  (0) 2023.04.14
728x90

현재 Spring에서 아래와 같이 3가지 DI 방식을 사용하고 있다.

  • 가장 흔한 필드 주입방식: Field Injection 방식 (비 권장)
    @Controller
    public class BoardController {
    	@Autowired 
      private IBoardItemService boardItemService;
    }
  • 수정자 주입: Setter Injection
    private IBoardItemService boardItemService;
      @Autowired // 4.3 부터 생략 가능
      public void SetIBoardItemService (MessageSource messageSource){
        this.messageSource = messageSource;
      }
  • 생성자 주입: 가장 선호하는 방식 ( Class 상단에 @RequiredArgsConstructor 추가 , @AllArgsConstructor 는 지운다!)
    @RequiredArgsConstructor
    public class BoardController {
    	private final IBoardItemService boardItemService;
    }

    Lombok 없이 사용시:

    
    public class BoardController {
    	private final IBoardItemService boardItemService; // Immutability 이슈까지 해결하고 싶다면 private final 접근자 붙여주기
        
    		@Autowired
    		public BoardController(IBoardItemService boardItemService) {
        	this.boardItemService = boardItemService;
        }
    } 

내저장소 바로가기 luxury515

'Back-end > 기타' 카테고리의 다른 글

on duplicate key update  (0) 2023.04.16
AWS KMS 관련 세팅  (0) 2023.04.14
plantUml preview 갑자기 작동안될때.  (0) 2023.04.14
gradle bootrun 작동 에러  (0) 2023.04.14
radius(레이디스)서버  (0) 2023.04.14

+ Recent posts