개-발

· 개-발/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 파일로 만들어 주..
설정버전이 굉장히 중요하다.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)여러 트랜잭션이 동..
problem CICD 를 하다가 application.properties 관리를 서버에서 was로 빌드때 항상 복사해 주는 번거로움이 있었다. 번거로움이라고 하기엔 조금 그렇고.... 더 보안에 신경 쓰려면 이렇게 관리하는게 맞지만 조금 더 간편한 방법을 찾다가 jasypt 라이브러리를 찾았다. solution Jasypt Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works. 개발자가 암호화 작동 ..
더보기 검색 문구 엘라스틱서치 개념 엘라스틱서치 구문 엘라스틱서치 query 엘라스틱서치 쿼리 엘라스틱서치 쿼리 구문 엘라스틱서치 검색 엘라스틱서치 개념 score - 요청된 단어와 얼마나 유사한지 수치를 계산하여 높은 데이터를 반환한다 index ( 데이터의 집합 / 테이블 ) - 관련된 문서들의 집합 document ( 문서 / 데이터 ) - 실제로 저장된 데이터를 나타낸다. JSON 형식으로 표현되며 하나 이상의 필드를 가진다 Test 용 document ( 데이터 ) { "contents" : "여러개의 물건들", "kor_contents" : "여러개의 물건들", "keyword_field": "여러개의 물건들" } 데이터를 삽입하면 nori 분석기로 analyze 하면 위와 같이 tokeniz..
problem누구나 한번쯤 테스트 코드를 짜다보면 이런 생각을 해봤을 것이다." 누가 테스트 데이터 좀 자동으로 만들어주면 안되나... " 그래서 찾았다....solution네이버페이에서 개발한 오픈소스 Fixture Monkeyhttps://github.com/naver/fixture-monkey GitHub - naver/fixture-monkey: Let Fixture Monkey generate test instances including edge cases automaticallyLet Fixture Monkey generate test instances including edge cases automatically - naver/fixture-monkeygithub.comBuild.gradle..
problem 저번 글에 addBatch에 대한 글을 적었는데 기초에 대한 정리 글이 없어서 적어본다. https://soobysu.tistory.com/131 [Spring Batch] addBatch로 다량 쿼리문 한번에 실행 (bulk insert) 결과 10만건 데이터 > JPA 27분 , addBatch 28초 Problem 엔터티 indexes 를 설정하고 검색최적화를 위해 더미데이터를 DB에 저장 하려고 하는데 10만건의 데이터를 넣는데 굉장히 많은 시간이 걸렸다. 어떻 soobysu.tistory.com solution 스프링 배치 구성 잡 런처 -> 잡 실행 시키는 주체 잡 -> 작업의 단위 ( 한개이상의 스텝으로 구성 되어있다 ) 스텝 -> 행위 ( 데이터 읽기 read , 데이터 작업..
imSoo
'개-발' 카테고리의 글 목록 (3 Page)