[Springboot] 민감정보 숨기기 - Argument 입력
Tech/Java&Spring2021. 11. 30. 14:31[Springboot] 민감정보 숨기기 - Argument 입력

개요 지난번 작성했던 글에 이어 어떻게 민감정보를 숨기는지에 대해 작성하려고 합니다. application.properties 또는 application.yml 파일을 작성하다 보면 datasource.username, datasource.password와 같이 형상관리 페이지에는 숨기고 싶은 정보들이 존재합니다. 이를 숨기거나 암호화할 수 있는 방법이 여러 개 존재하는데, 이 중 사용자 입력을 통해 application.yml에 Argument 전달하는 방법을 포스팅합니다. 결과물 java -jar {jar 경로} --datasource.username=강승현 --datasource.password=비밀번호 --datasource.url=링크 위와 같이 --변수명=value 형태로 값을 전달하게 될 것..

Spring 환경에서 Docker run으로 jar에 argument 전달하기
Tech/Java&Spring2021. 11. 24. 10:49Spring 환경에서 Docker run으로 jar에 argument 전달하기

사전 요구 지식 Docker에 대한 이해 및 실행하는 방법과 Dockerfile 사용법 Spring boot에서 cmd로 값을 입력 받아 사용하는 방법 cmd에서 java jar로 arguments를 전달하는 방법 환경 Spring boot 2.5.7 사용 gitlab-ci로 jar를 docker image로 만들어 빌드합니다. 여기서, 민감정보(datasource.password 등)는 사용자가 직접 입력하는 방식을 채택했으며 아래 사진처럼 username과 password는 사용자가 입력하는 값을 그대로 가져와 사용합니다. 이 때, docker run으로 해당 argument에 값을 전달하려면 어떻게 해야하는지 이 포스트에서 설명합니다. 하지만 해당 포스트에서 spring boot 내에서 argume..

source 명령어와 bash에 대해 알아보자
Tech/OS2021. 11. 15. 16:00source 명령어와 bash에 대해 알아보자

들어가며 항상 bash 설정 파일을 건들고 나서 source를 써야만 적용이 됐는데, 이 source가 무엇인지 그리고 어떤 예시가 있는지 살펴보겠습니다. source 명령어란 source [환경 설정 파일명] brew나 nodejs를 설치할 때 등 bash나 zsh 파일 설정 적용하는 과정에서 항상 필요한 명령어였습니다. 부팅 시 이러한 설정파일을 로드하게 되는데, 리부팅 없이 이를 즉시 적용하기 위해서 source 명령어를 사용하게 됩니다. Shell 환경설정 파일 bash는 Bourne Again Shell의 축약어입니다. 리눅스에서 가장 널리 사용되는 쉘이며, 개인적으로 가장 많이 사용하는 쉘이기도합니다. 환경설정 파일에도 다양한 파일이 존재합니다. /etc/profile /etc/bashrc ~..

MAC Nodejs 12버전 설치하기
Tech/Node.js2021. 11. 15. 10:15MAC Nodejs 12버전 설치하기

작업 환경 MacOS Big Sur 버전 11.5.2 칩 Apple M1 bash 환경 특정 프로젝트 npm install을 하기 위해서 nodejs를 설치하게 됐고, 모든 버전 호환이 아닌 낮은 버전(현재 node@17이 최신)을 요구했기 때문에 12버전을 설치하는 방법을 안내합니다. 설치 방법 2021.11.04 - [MacOS] - [MacOS] Brew & Git 설치하기 반드시 상단의 HomeBrew가 선행 설치되어야 합니다. 1. node@12 설치하기 brew install node@12 2. 추가 명령어 입력하기 node@12 is keg-only, which means it was not symlinked into /opt/homebrew, because this is an alterna..

[MacOS] M1 python3 설치하기
Tech/OS2021. 11. 5. 09:56[MacOS] M1 python3 설치하기

사전 설치 2021.11.04 - [MacOS] - [MacOS] Git 설치하기 위 글에서 brew는 꼭 설치 되어야 합니다! 만약, bash에 대해 궁금하시다면 아래 글을 참고하세요 2021.11.15 - [OS/Linux] - [Linux] source 명령어와 bash에 대해 알아보자 주의할 점 제 맥북의 경우 python2 버전이 사전 설치되어 있었고 python3를 설치하게 되더라도 python을 실행하면 기존에 설치되어 있던 python2를 실행하는 문제점이 있었습니다. 이번 포스팅에서는 python2 대신 설치한 python3로 변경하는 작업도 진행하겠습니다. brew로 pyenv 설치 brew install pyenv MacOS에선 pyenv를 이용해 python을 설치합니다. pytho..

[MacOS] Brew & Git 설치하기
Tech/OS2021. 11. 4. 11:37[MacOS] Brew & Git 설치하기

설치 환경 Macbook Pro M1 2020년형 zsh가 아닌 bash 사용(vscode 내 터미널) 설치 과정 1. Homebrew를 설치합니다. 2. Homebrew를 통해 Git을 설치합니다. 1. Homebrew 설치 우선 두가지 단계로 나뉩니다. /bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh)" 위 명령문을 입력하여 설치를 해줍니다. eval $(/opt/homebrew/bin/brew shellenv) 위 명령문을 입력하게 되면 brew라는 커맨드를..

[Git] Git rebase로 저장소 업데이트하기
Tech/Git2021. 10. 28. 15:25[Git] Git rebase로 저장소 업데이트하기

과정 1. 원격 저장소(main)로부터 변경사항 가져오기 2. 로컬 최신화(feature/test) 하기 3. 원격 저장소(feature/test) 최신화 하기 rebase로 로컬 저장소 최신화하기 1. 현재 저장소의 원격 주소 확인 git remote -v 2. 원본 저장소(main)의 원격 주소를 추가 git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPO.git 3. 원본 저장소의 주소가 추가되었는지 확인하기 git remote -v 4. 원본을 fetch 하기 default 브랜치를 main이 아닌 develop으로 했다면 main 대신 develop을 적어주면 됩니다. git fetch upstream main 5. reb..

[Git] 이미 커밋된 이메일 내역 바꾸기
Tech/Git2021. 10. 26. 15:47[Git] 이미 커밋된 이메일 내역 바꾸기

문제점 분명 같은 메일로 Commit을 날렸는데 제대로 인식하지 못하는 문제를 발견했습니다. 알고보니 @gmail.com이 아니라 @gmai.com으로 보냈더라구요.. 헛헛.. 해결방법 git filter-branch --env-filter ' WRONG_EMAIL="잘못된 이메일" NEW_NAME="사용자 이름" NEW_EMAIL="올바른 이메일" if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ] then export GIT_COMMITTER_NAME="$NEW_NAME" export GIT_COMMITTER_EMAIL="$NEW_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ] then export GIT_AUTHOR_N..

[Nodejs] required is not defined 해결 방법
Tech/Node.js2021. 9. 24. 18:10[Nodejs] required is not defined 해결 방법

원인 Client side에서 node 문법을 사용해서 발생했던 문제였고 이곳에서 솔루션을 찾았습니다. 해결 방법 크게 3가지 방법이 제시되어 있는데 간단히 Browserify로 해결할 수 있었습니다. Browserify는 require를 하는 모든 모듈을 하나의 코드로 합쳐주는 역할을 합니다. 우선, browserify를 설치하고 npm i -g browerify 원하는 파일을 browserify를 이용해 require 없이도 사용 가능한 파일로 만들어줍니다. browserify {대상 파일} -o {저장 경로} // ex) browserify src/test.js -o lib/bundle.js 새로운 문제 어쨌든 require 문제를 해결했는데, 모든 코드를 하나로 합쳤더니 무려 8800줄의 js 파..

[Spring] Swagger ui Failed to load API definition 에러
Tech/Java&Spring2021. 9. 22. 14:01[Spring] Swagger ui Failed to load API definition 에러

작업 환경 Windows10 Chrome 에러 내용 Failed to load API definition Fetch error undefined http://localhost:8080/v2/api-docs There was an unexpected error (type=Internal Server Error, status=500). The request was rejected because the header value "(생략)=김싸피상품&4444&5555; admin=관리자상품&3000&5555; csrftoken=c5vXn9tLMDisCLLstOQX78Tew0J5qE5htQkUrlE4DdHtKjEG4Pr9CxWdHRG0y4YL; _ga=GA1.1.462135574..

image