전체 글 89

DB 통신 속도 증가 Cacheable CacheEvict redis 활용

무작정 Cache를 사용하게 되면 오히려 성능 저하가 올 수 있다. 따라서 자신이 가지고 있는 비즈니스로직에 정말 필요하다면 활용하길 바란다. @Cacheable, redis, @CacheEvict, redisConfig(lettuce) IDE : Intellij DB : Redis 글에서는 토큰 관리를 위해Redis, Cacheable, CacheEvict를 활용하였다. 하루 한 번 토큰을 갱신하는데계속 DB에 접근하기에는 성능이 저하가 우려되어 Cache 용도로 Redis를 활용하게 되었다. 흐름은 아래와 같다. RedisConfig 설정 @Configuration @EnableCaching public class RedisConfig { @Value("${spring.redis.host}") pri..

SpringBoot 2021.12.21

docker 삭제, docker reinstall, docker uninstall

OS : Windows 10 64bit Docker Desktop 사용 중 이와 같은 창에서 프로그래스 바가 넘어가지 않아 docker를 실행 할 수도 삭제 할 수도 없는 상황에 처했다. registry를 삭제 후 삭제하면 깔끔하게 삭제가 된다. 입력 후 레지스트리 창을 켠다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Docker Desktop Docker Desktop registry key를 삭제한다. 그 후 다시 프로그램 추가제거에서 docker desktop 삭제를 시도하면 정상적으로 삭제가 되는 것을 확인 할 수 있다. 출처 https://github.com/docker/for-win/issues/7489 Un..

Docker 2021.11.05

Conventional Commit, 커밋 메시지, 커밋 메시지 적는 법, commit

나 혼자 개발하는 건이면 상관 없을 수 있겠지만 모두가 한 repository에서 작업을 한다면 남이 봐도 이해하기 쉬운 커밋 메시지를 적어야 한다. 커밋 메시지를 잘 써야하는 대표적인 이유는 1. 더 좋은 커밋 로그 가독성 2. 더 나은 협업과 리뷰 프로세스 3. 더 쉬운 코드 유지보수 커밋 메시지는 주로 영어를 활용한다. 하지만 한국인끼리 협업을 한다면 굳이 영어를 쓸 필요가 있을까 싶다. 커밋 메시지는 아래와 같은 구조가 되어야 한다. [적용 범위(선택 사항)]: [본문(선택 사항)] [꼬리말(선택 사항)] 커밋에는 라이브러리를 사용하는 사람들에게 의도를 전달하기 위해 다음과 같은 구조적 요소가 포함된다. 1. fix: 코드 베이스에서 버그를 패치하는 fix 타입의 커밋(유의적 버전에서의 PATCH..

Github 2021.11.04

PUTTY EUC-KR 적용하기

서버가 EUC-KR 로 되어있어서 UTF-8로 진행하면 깨진다. Putty -> Window -> Translation -> Remote charactor set에서 UTF-8 -> EUC-KR로 수정해야 하는데 EUC-KR이 보이지 않는다. 원하는 Host Name의 세션을 추가해준다. 윈도우 키 + R을 눌러셔 실행창에 regedit을 입력해 실행한다. HKEY_CURRENT_USER -> SOFTWARE -> SimonTathan -> PuTTY -> Sessions -> 저장해둔 세션명 클릭 -> FontCharSet 더블클릭 사진처럼 설정한다. 다시 Putty로 들어가서 사진처럼 설정한다. 끝. 출처 https://limetimeline.tistory.com/329 [Putty] 한글이 깨질 때..

VSC 정규 표현식, 정규식, regex, regular expression

IDE : VSC 자주 사용하는 것들을 적었습니다. ^.*(word1|word2|word3).*\n //원하는 단어가 포함된 줄 찾기 RES\r?\nREQ // RES가 줄의 마지막 문자열 // REQ가 다음 줄 첫 번째 문자열인 경우 출처 및 자세한 내용은 https://docs.microsoft.com/ko-kr/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2019 정규식 사용 - Visual Studio (Windows) Visual Studio에서 사용할 수 있는 몇 가지 정규식 문자, 연산자, 구문 및 패턴 예제에 대해 알아봅니다. docs.microsoft.com https://stackoverflow.com/ques..

GitHub Flow 이해하기

배포가 정기적으로 이루어진 팀, 프로젝트를 지원한다. 평소에 GitHub를 사용할 때 어떻게 흘러가는지에 대해 알 수 있다. 1. Create a branch master : 제품으로 출시될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 feature : 기능을 개발하는 브랜치 release : 이번 출시 버전을 준비하는 브랜치 hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치 위와 같은 브런치들이 있다. 꼭 지켜야 하는 것은 아니지만 협업을 한다면 따르는 것이 좋을 것 같다. 프로젝트를 진행하다보면 요구사항들을 받을텐데 가능한 요구사항이 있고 불가능한 요구사항이 있을 것이다. 프로젝트에서 브랜치를 새로 생성하면 새 메모장 처럼 여러 코드를 테스트 할 수 있는 환경이 만..

Github 2021.10.25

Junit에서 assertThat(.isEqualTo) 활용하기

assertThat의 isEqualTo method를 사용하였다. 원하는 메소드에 대한 return 값이 내가 원하는 값과 같으면 패스가 된다. 가독성도 좋고 이해하기도 편한 것 같다. assertThat(methodCall("35-48jf3-y46").getResultDetail()) .isEqualTo("Success"); assertThat(methodCall("35-48jf3-y46").getData().get(0).getStatus()) .isEqualTo("11"); assertThat(methodCall("35-48jf3-y46").getData().get(1).getNameCode()) .isEqualTo("91"); assertThat(methodCall("invalid").getData..

SpringBoot 2021.10.22

docker 이미지 생성, docker hub 업로드, docker springboot mysql 연동

application.yml 혹은 application.properties 파일 수정 ​ 우선 local에서 작업한 springboot 프로젝트를 docker 이미지로 뽑아내기 위해 application.yml 혹은 application.properties 파일을 수정해야한다. //application.properties spring.datasource.url=jdbc:mysql://my_mysql:3306/mydatabase?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true application.properties 내용에 위 내용 말고도 다른 내용이 많을 것으로 예상된다. localhost 혹은 127...

Docker 2021.10.22

Docker 설치 mysql 설치 및 실행하기 Ubuntu 18.04

현재 서버에는 mysql 없음 ko@ko-MS-16F1:~$ mysql Command 'mysql' not found, but can be installed with: sudo apt install mysql-client-core-5.7 sudo apt install mariadb-client-core-10.1 설치 시작 ​ ​ Docker 저장소 설정 sudo apt-get update # 패키지 다운로드 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common # Docker GPG 키 추가 sudo curl -fsSL https://download.docker.com/linux..

Docker 2021.10.22

docker mysql Unknown or incorrect time zone : 'Asia/Seoul'

docker mysql에서 time_zone 설정 중 ​ Unknown or incorrect time zone : 'Asia/Seoul' 오류가 나왔다. docker mysql /bin/bash 접속 root@05bcc7dfec1c:/# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql Enter password: Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it. Warning..

Docker 2021.10.22