전체 글

imSoo TecBlog
problem"action_request_validation_exception""Validation Failed: 1: type is missing;"두 예외에 대한 설명도 아래에 담는다폐쇄망(내부망)에서 엘라스틱서치 인덱스의 데이터를 옮기려고 한다해당 인덱스의 데이터를 json 파일로 받아 다시 새로운 인덱스로 옮기는 작업을 했다.solution1. 데이터 -> JSON 파일 추출# 1. 첫 번째 요청으로 스크롤 ID 얻기curl -X GET "http://localhost:9200/index/_search?scroll=1m&size=1000" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} }}' > my_index.j..
· 개-발/Git
Issue Labelsproblem기본 이슈 레이블은 상당히 제한적이다.그래서 커스텀 해보기로 했다.Github Label 설치 github label을 동기화할 수 있는 라이브러리가 있다. GitHub Label Sync# node.js npm 설치sudo apt install nodejs npm# github-label-sync 설치npm install -g github-label-sync AccessToken 준비레파지토리에 label을 적용하려면 깃헙 access-token이 있어야 한다.이전에 git credential 정책이 바뀌면서 만들어둔 토큰이 있어서 사용했다.access Token 만드는 방법labels.json 만들기새롭게 적용할 label 들을 labels.json 파일로 만들어 주..
problem젠킨스 컨테이너를 새로 올린 후 다시 JOB 을 실행시켰는데Permission denied (publickey,password) 오류가 떳다. 해당 오류 부분은 ssh 로 파일을 보내는 과정에서 오류가 났다.+ ssh -p port 접속id@ip cd /your/path/ && tar -cf - *접속id@ip: Permission denied (publickey,password).서버 -> 젠킨스    // 설정 파일을 보낸 후젠킨스 -> 서버    // 압축된 tar 파일을 보내는 과정 solutionssh config 파일을 수정 해주어야 한다.필자는 양방향으로 파일을 전송 해야되므로 양쪽 모두 rsa 파일이 모두 적용을 해야 됐다.ssh config 파일 위치 vi /etc/ssh/s..
설정버전이 굉장히 중요하다.elasticsearch 버전 별로 deprecated 되는 주요 기능이 있다.ElasticSearch 8.xSpringBoot 3.0.xSpring data ElsticSearch 8.5.3//build.gadle.ktsimplementation("org.springframework.boot:spring-boot-starter-data-elasticsearch")implementation("com.fasterxml.jackson.core:jackson-databind:2.17.0")ConnectorApi key를 사용해도 되고 계정을 추가하고 권한을 넣어 사용해도 된다.키바나에 아래 내용을 입력하면 api-key 가 생성된다.POST /_security/api_key{ "n..
JDK Dynamic Proxy 와 CGLib Dynamic Proxy와 CGLib은 모두 런타임 위빙 방식이며 프록시 패턴으로 동작한다. 따라서 메서드 실행 시에만 위빙이 가능하다. 그래서 Dynamic Proxy와 CGLib를 사용하는 스프링 AOP도 메서드 실행 조인포인트만 지원한다.위빙 이란 ?위빙(Weaving)은 AOP(Aspect-Oriented Programming)에서 사용되는 중요한 개념으로, 어드바이스(Advice)와 타겟 객체 사이에 관점 지향 기능을 적용하는 프로세스를 의미합니다. 클래스 로딩 시점이나 프록시 객체 생성 시점에, AOP 프레임워크가 바이트코드를 수정하여 어드바이스를 적용하는 방식입니다. 이 방식은 JDK Dynamic Proxy나 CGLIB Dynamic ..
트랜잭션하나의 작업단위로 묶어 실행 시킨다. 트랜잭션은모든 작업을 완료 (commit) / 모든 작업을 무효화 (rollBack)단 두가지만 가능해야 한다.원칙트랜잭션에는 4가지 원칙이 있다.원자성 (Atomicity)트랜잭션은 원자적인 단위로 간주된다.트랜잭션에 속한 모든 연산은 전체가 성공하거나 전체가 실패하는 것만 보장한다.트랜잭션이 동작 중 어떤 연산이 실패하면 모든 상태가 이전으로 돌아간다(rollback). 일관성 (Consistency)트랜잭션의 실행 전후에 데이터베이스는 일관된 상태여야 한다. 은행 A 계좌에서 돈을 인출 한다 B 계좌로 돈이 입금 된다  쇼핑몰 고객이 A상품을 구매한다A상품은 재고가 차감 된다   고립성 (Isolation)여러 트랜잭션이 동..
프로세스 백그라운드 실행 세션이 종료되더라도 해당 명령을 지속 하고 싶다면 no hang up = 끊지마 의 약자 nohup & = 백그라운드 실행 //app.jar 파일을 자바로 백그라운드에 실행시키는 구문 nohup java -Dspring.profiles.active=local -jar app.jar & nohup으로 실행시키면 nohup: appending output to 'nohup.out' 이라는 구문과 함께 실행이 된다. nohup으로 실행 시키는 파일은 퍼미션은 항상 755 이어야 한다. nohup으로 실행되고 있는 프로세스의 로그보기 tail -f nohup.out 입력하면 로그를 볼 수 있다. -f 옵션 : 로그를 실시간으로 모니터링 할 수 있다 사용중인 포트 확인하기 netstat ..
problem 서버 빌드시 아래와 같은 오류로 서버 빌드가 실패 했다. No qualifying bean of type 'org.springframework.boot.autoconfigure.h2.H2ConsoleProperties' available application.dev.yml 에는 h2 db의 설정은 따로 없었고, 코드에 h2에 관련된 설정은 접근 권한이 있는 곳에만 있어서 뒤적이다가 발견 .. ! solution V 서버의 h2-console 설정을 uri로 설정 후 성공 했다.
imSoo
sudoSoooooo