목록전체 글 (85)
잘 정리해보자
window 환경에서 redis 설치를 아래 url에서 진행했었는데, ms에서 지원해놓은 버전이 3.0.xxx으로 현재 redis 기준 7.4.x버전이라 실행할 수 있는 명령어 차이도 발생하여 window powershell을 이용해 설치를 진행했다. ubuntu 설치> wsl --install설치 후 ubuntu 접속 후 redis 설치> wsl> sudo apt update> sudo apt-get install redisredis 설치 후 자동으로 시작되므로 실행 확인 명령어> systemctl status redis-server redis-cli 명령어 커맨드 실행> redis-cli127.0.0.1:6379> keys *(empty array) redis 시작/종료/재시작 명령어> sudo sy..
Rdis 설치 후 설치한 경로에서 redis-cli 실행해서 명령어 확인하기 전에, Redis명령어는 버전에 따라 차이가 어느정도 있는 것 같으니 꼭 버전 확인이 필요! Redis 버전 조회$ redis-cli --versionredis-cli 7.2.4 Redis는 key-value로 값이 저장되며, string 타입은 set/get 으로 값을 저장하고 가져온다. set : key-value 를 저장, get : key값으로 value값 호출set [key값] [value값]get [key값]127.0.0.1:6379> set os_key windowOK127.0.0.1:6379> get os_key"window" mset : 여러개의 key-value를 저장, mget : 여러개의 key값으로 ..
Redis 특징 1. 메모리 저장 방식 In Memory 비 관계형 DB Disk 저장 방식보다 자료 접근이 빠름. 데이터 양이 빠르게 증가할 경우 응답속도가 저하되는 문제 해결이 가능. 메모리상에 index를 넣어 필요한 정보를 검색. 데이터 지속성 보장을 위해 메모리에 (INSERT/UPDATE/DELETE)된 값은 Disk에 로그로 기록(스냅샷 및 AOF) 하고 재구동 시 Disk 로그파일 읽어 메모리에 재구축. 2. key-value 저장 value 타입을 여러 타입으로 저장 가능 (string,set,hash,list) 3. Single Thread 방식 Redis는 Single Thread라고는 하는데, 부분 Multi-thread (multiplexing) + Single-thread로 비동..
에러 환경 aws(docker)환경에서 jenkins로 CD 배포 과정 중, 운영 환경에서 젠킨스 버전과 배포된 소스 버전이 맞지 않는 경우가 발생했다. 만약 cd배포 버전이 1.0.21이라면 운영으로 처음 배포를 했을 때 확인된 버전은 1.0.5으로 확인됐다. 원인파악 사항 1. 젠킨스가 cd버전으로 정상빌드가 되었는지. -> 빗버킷의 운영브랜치 소스와 cd 소스 모두 확인해봤지만 정상 배포되었다. 2. 배포한 웹의 버전과 빌드시간 확인. -> cd버전과 맞지않았다. 빌드시간도 3주 전으로 테스트 배포한 그 시간때로 남아있다. 3. aws 에 접속해서 ecr endpoint가 제대로 해당 환경을 바라보고있는지 확인. -> aws에서 바라보는 endpoint는 운영 계정과 url이 맞다고 확인. 더 확인..
에러메시지 : No property findComplete found for type 원인 : 1. 언더스코어 (_)를 이용한 entity생성이나 custom repository 경우 발생. 2. entity의 컬럼명과 custom repository 에서 선언한 인터페이스명이 다른 경우. 저는 후자에 해당되었기 때문에 repository에 선언된 명을 변경했습니다. Todo.java (entity) private Boolean completeFlag; repository List findByIsComplete(Boolean flag); entity에는 completeFlag로 선언하고, repository에서는 isComplete를 호출하고 있었다.,,, 해결 : repository 변경 List fi..
부모 컴포넌트에서 자식 컴포넌트로 데이터를 보여주는 간단한 코드를 진행할 예정이다. parent - App.vue 부모 template에 컴포넌트 태그로 전달할 데이터를 선언한다. v-bind로 보낼수 있고, 직접 html부분에 표기할 수 있다. 1. v-bind 경우 부모 html 부분 자식 script 부분 data: () => ({ script에 data KEY값 : '입력할 메시지' }) 2. html 표기 경우 parent - App.vue 전체 소스 child - Test.vue 자식 컴포넌트에서는 부모에서 지정한 key값으로 데이터를 보여줄 준비를 한다. 1. message 표기 테스트 : {{ msg }} 자식 html 부분 {{자식 script에 data KEY값}} 자식 script 부..
spring batch에서 엑셀파일을 저장하는 기능을 구현하는데, spring boot의 extension 라이브러리에서 excel 기능을 제공하지만, git을 clone받고 사용해야 해서 폐쇄망 처럼 제한된 환경에서 구현하기 위해 apache poi로 write 하는 소스를 기록한다. (spring boot extension으로 하려는 경우 spring-boot-extension git 주소) : https://github.com/spring-projects/spring-batch-extensions GitHub - spring-projects/spring-batch-extensions: Spring Batch Extensions Spring Batch Extensions. Contribute to s..
에러메시지 : [Ljava.lang.Object; cannot be cast to .. 원인 : query로 entity를 가져와 형변환 하는 경우 발생. JPA에서 native query로 데이터를 가져올 때 흔히 발생하는 에러라고 한다. 반환 타입은 Object[]이며, entity 결과값을 String[]이 아닌 object[]로 받아오는 과정에 형변환 에러. 현재 상황은 배치에서 JPA User로 받아오고 처리하는 과정의 cast에러 발생 케이스이다. reader private ItemReader reader1() throws Exception{ JpaPagingItemReader reader = new JpaPagingItemReaderBuilder() .pageSize(chunkSize) .e..