카테고리 없음2023. 12. 27. 20:09[Spring] 환경 변수로 민감 정보를 감추는 방법

팀 프로젝트를 진행하게 되면 Github, Bitbucket과 같은 형상 관리 툴을 사용해야한다. 이때 프로젝트에 사용된 DB 주소나 Password, API Key 등의 민감 정보가 업로드 되지않도록 주의해야한다. 아래와 같이 민감 정보를 감추는 다양한 방법들이 존재하는데, 이번 포스팅에서는 환경 변수를 사용하는 방법에 대해 살펴보겠다. 환경 변수 사용 .gitignore를 이용해 민감 정보가 담긴 파일 따로 관리 Jasypt를 이용한 설정 파일 속성 값 암호화 Vault, spring cloud config와 같은 중앙화된 민감 정보 저장소 활용 application.yml 파일에 환경 변수 적용하는 방법 달러 기호와 중괄호를 이용해서 환경 변수를 적용할 수 있으며, spring 파일에서는 @Valu..

카테고리 없음2023. 12. 1. 16:46[TEST] 테스트 코드 작성 시 더 낮은 결합도를 가진 코드 만들기

테스트 코드를 작성했을 때의 장점 중에 더 좋은 설계, 더 낮은 결합도를 가진 코드를 만들 수 있다는 내용이 있었다. 더 낮은 결합도는 보통 내부에서 생성자를 통해 생성하는 것이 아닌 외부로부터 값을 주입 받는 식의 DI를 통해 해결할 수 있다. 그 과정을 실제 코드를 통해 기록을 남겨놓으면 더 이해가 쉬울 것 같아 적어본다. 테스트 상황 0~12 사이의 랜덤한 길이를 가진 패스워드를 생성하는 코드를 테스트 하고싶다. 잘못된 테스트 코드 작성 예시 @DisplayName("패스워드를 초기화한다.") @Test void passwordTest(){ //given User user = new User(); //when user.initPassword(); //then assertThat(user.getPas..

[Network] 네트워크 기초 개념 정리
카테고리 없음2023. 12. 1. 14:49[Network] 네트워크 기초 개념 정리

기초 지식 네트워크 네트워크란 두대 이상의 컴퓨터가 연결된 환경이며, 단순히 컴퓨터 2대를 케이블로 연결해도 그것은 네트워크이다. 인터넷은 전 세계의 네트워크가 연결된 환경으로 인공 위성과 광케이블 등 전 세계의 데이터를 통신하기 위한 물리적 환경과 ISP(Internet Service Provider)에 의해 구축되었다. ISP의 예시로 SKT, KT, U+와 같은 통신사가 있다. 패킷 패킷은 네트워크를 통해 전송되는 데이터의 조각이다. 큰 데이터를 한번에 보내지 않고 패킷으로 작게 나눠 보내는 이유는 너무 큰 데이터를 그대로 보내면 네트워크의 대역폭을 너무 많이 점유하기 때문에 다른 패킷의 흐름을 막을 수도 있기 때문이다. 작은 조각으로 나눠서 보내기 때문에 데이터를 받는 목적지(라우터)에서는 패킷을..

우테코 프리코스 3주차 회고
카테고리 없음2023. 11. 22. 21:22우테코 프리코스 3주차 회고

서론 3주 차 미션은 Enum과 테스트 코드 작성 요구사항이 추가되었다. 2주 차부터 테스트 코드 작성을 연습했지만, 여전히 테스트 코드 작성은 너무 어려웠다. 그 이유는 아무래도 어디까지 테스트해야 하는가? 테스트 코드가 프로덕션 코드에 영향을 미쳐도 괜찮은가? 테스트하기 좋은 코드를 만들기 위해 클래스 분리하는 방법 등에 대한 고민 때문이었다. 하지만 2주 차 회고에서 말했다시피 3주 차가 끝나고 공통 피드백을 통해 어느 정도 의문을 해결할 수 있었다. 그래서 오늘은 Enum을 중심으로 회고해 볼 생각이다. (다 쓰고보니 그냥 Enum 설명 글이다..) Enum의 장점 편리한 상수 관리 Enum은 상수를 정의하기 위한 열거형으로써 객체보다는 값 타입으로 선언하는 상수가 여러 가지 값을 가질 수 있다...

image