개발기록
-
[OKD + SpringBoot gradle 프로젝트] value.yaml에 ConfigMaps와 Secrets 선언 후 사용하기개발기록 2023. 8. 8. 15:43
개요 helm 배포 구조인 gradle 프로젝트에서 정적인 변수를 OKD(3버전대)에서 환경변수로 등록하고 사용하는 법을 기록한다. 이번에 정리할 내용은 앞서 정리했던 OKD(4버전대)에서 방법과는 다른 방법으로, value.yaml에서 Secrets 변수를 등록하고 배포할 때 적용되는 방법이다. (cf. OKD(4버전대)에서 ConfigMaps와 Secrets를 등록해서 사용하는 방법은 아래 링크를 참고하자. 2023.06.05 - [개발기록] - [OKD + SpringBoot gradle 프로젝트] ConfigMaps와 Secrets에 환경변수 선언 후 사용하기) Spring Boot application.properties 아래와 같이 properties에 db정보를 secrets에 등록해서 사용..
-
[OKD + SpringBoot gradle 프로젝트] ConfigMaps와 Secrets에 환경변수 선언 후 사용하기개발기록 2023. 6. 5. 13:46
개요 정적인 변수를 OKD(4버전대)의 ConfigMap에 선언하고 Spring Boot에서 가져다쓰는 방법을 기록한다. OKD ConfigMaps 우선 OKD 좌측 탭에서 ConfigMaps에서 해당하는 모듈(Pod)의 configmap을 클릭한다. 해당 configmap의 YAML(이하 야믈)파일에서 data부분에 관리할 변수를 key, value형태로 선언한다. kind: ConfigMap apiVersion: v1 metadata: ...(생략)... name: test-name-env-configmap namespace: test-namespace data: google-credentials-path: https://test Secrets OKD 좌측 탭에서 Secrets를 클릭한다. 우측 상단..
-
[구글 번역 API] Google Cloud Translation API 사용하기개발기록 2023. 4. 13. 21:35
개요 Google Cloud Translation API를 사용해서 번역 API를 개발했다. 우선 API key를 발급 받았는데 해당 키를 이용해서 쓰는 방식의 레퍼런스나 ChatGPT가 알려준 코드는 deprecated가 되어 현재는 사용 못하는 방식이었다. 찾아보니 현재는 JSON 형태의 비공개 키를 발급 받는 방식으로 진행해야 되는 것 같았다. 아래는 잘 정리되어있는 블로그 주소다. https://www.dinolabs.ai/386 [오픈소스 리뷰기] 번역 API 이용하기(1) - Google 번역 오프소스 리뷰 : 슬기로운 오픈소스 사용법 리뷰해드립니다! #5 번역 API 이용하기(1) - Google 번역 안녕하세요. 디노랩스입니다! 최근 딥러닝 기술의 발달로 구글, 파파고 등 다양한 번역 서비..
-
[멀티모듈] Spring Boot gradle프로젝트 멀티모듈구조에서 모듈추가하기개발기록 2023. 4. 6. 21:34
Spring Boot gradle 프로젝트에 멀티모듈 구조에서 모듈을 추가해보자. 1. 루트 프로젝트 우클릭 - New - Module...에서 좌측에서 New Module을 클릭한다. 2. 모듈이 추가되었다면 루트 프로젝트의 build.gradle에 아래 코드를 추가한다. project(':multi-module-test') { dependencies { api project(':코어모듈명') } } 3. 루트 프로젝트의 settings.gradle에 아래 코드를 추가되어있는 지 확인한다. include 'multi-module-test' 4. 추가한 모듈의 build.gradle를 아래 코드로 수정한다. group = 'com.??.test.api' // 패키지명 version = '0.0.1-SNA..
-
[에러] gradle 프로젝트에서 모듈 추가 후 삭제 시 마주친 에러개발기록 2023. 4. 6. 09:49
에러 내용 및 해결책 Spring Boot gradle 프로젝트에 멀티모듈 구조에서 모듈을 하나 추가했다가 삭제했더니 build gradle에 실패하면서 Could not set process working directory to 'C:\파일경로': could not set current directory (errno 2) 해당 에러를 마주쳤다. 프로젝트 경로 디렉토리에서 .gradle과 .idea를 삭제 후 인텔리제이를 다시 실행하니 사라졌다. 참고: https://gall.dcinside.com/mgallery/board/view/?id=spd&no=36805 https://stackoverflow.com/questions/52571408/could-not-setcwd-errno-2-no-such-f..
-
[RSA] Java와 C# 간 RSA 공개키 호환 코드개발기록 2023. 3. 7. 20:03
개요 구글링했을 때 레퍼런스가 몇 개 없었을 뿐만 아니라 오래된 코드라 현재 프로젝트 버전에서 쓸 수 없었다. 여러 번의 시행착오와 레퍼런스들을 참고하여 호환되는 코드를 완성시킬 수 있었다. C# 코드는 없지만 아마 해당 코드로 키 발행 후 구글링하면 나오는 C# RSA암호화 코드를 쓰면 쓸 수 있을 것이다. 해당 코드를 만들면서 가장 큰 난관은 C#의 경우 키 형태가 Modulus와 Exponent로 구성된 xml 형태였다는 것이다. 그래서 String 형태의 공개키를 Modulus와 Exponent로 쪼개어봤지만 C#쪽에서 해당 키에 대해서 에러가 떴었다고 한다. 클라이언트(C#)를 개발하는 선배의 말에 따르면, The input is not a valid Base-64 string as it con..
-
[MyBatis] 쿼리문에서 >, < 등 부등호 사용하기개발기록 2023. 3. 6. 21:32
MyBatis에서 부등호 사용하는 법 MyBatis에서 날짜 조건을 사용해서 조회할 경우, WHERE test_date BETWEEN 'yyyy-MM-dd' AND 'yyyy-MM-dd' WHERE test_date >= 'yyyy-MM-dd' AND test_date 한다. WHERE test_date >= ]]> 'yyyy-MM-dd' AND test_date 'yyyy-MM-dd' WHERE test_date >= 'yyyy-MM-dd' AND test_date WHERE test_date >= 'yyyy-MM-dd' AND test_date <= 'yyyy-MM-dd' 위와 같은 방식으로 문제를 해결할 수 있다. 개인적으로 가독성을 생각하면 2번이 가장 좋은 방법인 것 같다. ※ cf) 부등호 치..
-
[웹개발] 이미지 업로드 후 새로고침해야만 적용되는 현상 해결하기개발기록 2023. 1. 13. 18:00
개요 뷰에서 컴퍼넌트를 사용해서 이미지파일을 수정하고 돌아왔을 때 이미지가 바로 적용되지 않는 문제에 마주쳤다. db에서 url을 임의로 변경하고 파일서버에 디렉토리가 없을 때 수정하여 테스트했을 때, 파일서버에 디렉토리가 정상적으로 만들어지고 화면에서도 제대로 출력되는 것을 확인했다. 이 상황을 미루어봤을 때, 코드의 문제는 아닌 것 같았다. 브라우저 쪽을 찾아보고 공부해보니, 브라우저가 최초로 화면을 랜더링한다. 이미지 src의 경우 최초에 받아온 값과 다르지 않으면 캐시에 있는 값을 가져다 쓴다. 로 정리할 수 있었다(해당 내용이 정확한 지는 차후에 레퍼런스를 더 찾아보고 출처로 남기겠다.). 해결책 따라서 해결방법으로, 컴퍼넌트에서 수정 후 리스트 페이지로 돌아왔을 때, 새로고침을 한다. 파일서버..