Develop197 @Value 애너테이션으로 값을 불러올 때, 항상 null 값이 오는 경우 app-key와 app-secret을 application.properties 파일에 key, value 형태로 담아둔 후, 콘솔창에서 확인하기 위해 다음과 같은 시도를 했다. 1. new로 객체 생성 후, 값 가져오기 로직은 위와 같고, 실행 결과는 다음과 같았다. 모두 null 값으로 불러진 것을 확인했다. 테스트 코드로 값을 불러온 결과에서는 application.properties에서의 값들을 정상적으로 받아오는 걸 확인했고, 그렇다면 @Value 애너테이션이나 기타 파일의 코드는 문제가 없다는 걸 알 수 있었다. 2. 필드 변수를 static으로 선언해서 값 가져오기 이번에는 객체를 생성하지 않고, 필드 변수 그대로 받아와서 값을 출력해보았다. 결과는 다음과 같았다. 동일하게 두 변수 모두 nu.. 2023. 1. 10. BeanCreationException 에러 구글링을 통해서 찾아낸 해결 방법은 관련 필드에 @Autowired를 붙여주거나 @Controller, @Service 애너테이션을 빠뜨린 경우, 빈 등록이 정상적으로 되지 않아 발생한 에러였고, 해당 방법대로 진행했으나 같은 에러가 반복했다. 현 상황은 민감 정보를 application-api-key.properties라는 파일에 담아두고 호출하는 과정이었다. 기존 application.properties 파일에 다음 문구를 추가해주니, 정상적으로 해결되었다. 2023. 1. 10. application.properties 파일에 민감한 정보 담기 증권사 데이터가 필요해서 한국투자증권의 Open API를 사용해야 하는 상황이 생겼다. 이 과정에서 appkey와 appsecret라는 민감한 정보를 프로젝트 소스 코드 상에서 감추어야 했다. 우선, 민감한 정보를 담을 application-api-key.properties 라는 파일을 만들어 주었다. 파일명은 application-[name].properties로 설정한다. 생성한 파일 안에 민감한 정보를 key, value 형태로 담아준다. 예시로 *****로 넣어주었으니, 본인의 상황에 맞는 key, value 값을 추가하면 된다. 그 후에, 기존에 있던 application.properties 파일에 해당 문구를 추가한다. 민감한 정보가 담긴 파일 이름이 application-api-key.pro.. 2023. 1. 10. 모듈러 연산(Modulo Operation) 어떤 하나의 숫자를 다른 숫자로 나눈 나머지를 구하는 연산으로, 나머지 연산(mod)이라고 한다. 정수론에서 모듈러 연산이란 정수의 합과 곱을 어떤 주어진 수의 나머지에 대하여 정의하는 방법이라고 한다. 모듈로 연산 사칙 연산 덧셈 : (a + b) % M = ((a % M) + (b % M)) % M 뺄셈 : (a - b) % M = ((a % M) - (a % M)) % M 곱셈 : (a * b) % M = ((a * M) * (b * M)) % M 나눗셈 : 모듈로 연산에서 나눗셈은 곱셈 역원(multiplicative inverse)을 곱하는 방식으로 이루어진다. (모듈로 곱셈 역원은 항상 존재하는 것이 아니라, b와 M이 서로소(coprime)일 때만 존재) Ref) - https://johng.. 2022. 12. 24. ddl-auto 옵션 ddl-auto 옵션 종류 💡create : 기존 테이블 삭제 후 다시 생성 (DROP + CREATE) 💡create-drop : 종료 시점에 DROP (기능은 create와 동일) 💡update : 변경된 부분만 반영 💡validate : Entity와 Table이 정상적으로 매핑되었는지 확인 💡none : 사용하지 않음 주의 사항 운영 단계에서는 create, create-drop, update를 사용하면 안된다. 개발 초기 단계에서는 create, update를 사용한다. 테스트 단계에서는 update, validate를 사용한다. 스테이징과 운영 단계에서는 validate 또는 none을 사용한다. 운영 단계에서 create를 사용하면 안되는 이유는 기존의 DB 테이블을 삭제하고 다시 생성시키기.. 2022. 12. 23. 연속된 수의 합으로 특정 수를 만들 수 있는 경우의 수 Programmers Lv.2 '숫자의 표현' 문제를 풀다가 정말 간단한 풀이가 보여서, 관련 개념을 정리하려고 한다. 문제는 다음과 같다. 15라는 숫자가 주어지면, 15를 만들 수 있는 연속된 수의 합의 경우의 수들을 반환하면 된다. ex) number : 15 1 + 2 + 3 + 4 + 5 = 15 - 1️⃣ 4 + 5 + 6 = 15 - 2️⃣ 7 + 8 = 15 - 3️⃣ 15 = 15 - 4️⃣ 총 경우의 수 4가지로 4를 반환 내가 작성해서 제출했던 풀이는 다음과 같다. 주어진 숫자까지 반복문을 돌고, 그 내부에서 또 임시의 i를 만들어서 연속된 수의 합이 주어진 숫자가 되는 경우를 찾는 방법을 사용했다. 주어진 숫자가 15라고 가정하면, tempI는 1부터 5까지 더해질 것이고, 주어진 .. 2022. 12. 21. 프로젝트 설계 화면 정의서 시스템이 제공하는 사용자 인터페이스의 전체 구조와 메뉴 형식, 화면 목록과 화면의 상세 설계 내역을 기술한다. 전체 시스템에 대한 인터페이스 구조를 메뉴 형식으로 기술한다. 화면 및 출력을 구분하여 목록으로 작성한다. 화면별로 상세 설계 내용을 기술한다. 테이블 명세서 최종적으로 설계된 테이블과 인덱스를 데이터베이스 공간에 매핑시키고 저장 공간 등의 물리 모델을 기술한다. 부서에서 운영하는 데이터베이스 목록 작성한다. 데이터베이스의 물리적 상세 내용을 기술한다. REST API (Representational State Transfer - Application Programming Interface) 모든 리소스에 대해 고유한 URI를 부여하고 HTTP Method를 사용하여 리소스를 제어할.. 2022. 12. 19. 프로젝트 기획 SRS(Software Requirements Specification) 소프트웨어가 무엇을 할 것이고, 어떻게 작동할 것으로 예상되는지를 설명하는 문서 제품과 관련된 모든 이해 관계자의 요구를 충족시키는데 필요한 기능을 설명 SRS는 한마디로 제품을 기획, 분석, 설계, 구현, 시험하는데 필요한 종합 설계도와 같다. 프로젝트 흐름 과업 발생 사업자 선정 및 계약 기획, 분석 설계 구현 시험 서비스 오픈 개발 관련 용어 솔루션 : 기업에서 개발한 제품을 의미 ex) 카카오톡, 배달의 민족에서 개발한 애플리케이션 SI(System Integration) : 시스템 구축을 의미 SM(System Management) : 시스템 운영 및 유지보수를 의미 SRS 구성 소개(Introduction) 목적(Purp.. 2022. 12. 19. Git flow 브랜칭 전략 보다 효율적인 개발 프로젝트 코드 관리를 위해 브랜치의 종류를 나눠 관리하는 전략을 말한다. 대표적인 브랜칭 전략에는 Git flow가 있다. Git flow - https://nvie.com/posts/a-successful-git-branching-model/ 원조 Git flow에서 파생된 여러 Git flow 중 대표적인 것에는 Github flow, Gitlab flow가 있다. pre-project를 위한 Coz' Git flow 핵심 branch main branch : 사용자에게 언제든 제품으로 출시할 수 있는 branch dev branch : 개발 branch 보조 branch feature branch : 기능 개발, 리팩토링 등 다양한 작업을 기록하기 위한 branch .. 2022. 12. 17. 이전 1 2 3 4 5 6 7 ··· 22 다음