[ 1. 설치 ] jenkins 네트워크 생성 : docker network create jenkins jenkins 볼륨 생성 : docker volume create jenkins-data dind 설치 후 Run ( 젠킨스 안에서 docker daemon 명령 수행 가능 ) jenkins 설치 후 Run jenkins 접속 및 인증, 플러그인 설치 # 1. network 설정 # docker network create jenkins # 2. volume 설정 # docker volume create jenkins-data # 3. dind 설치 # docker container run --name jenkins-docker --rm --detach ^ --privileged --network jen..
Sleuth Span 생성시점- HttpRequest 요청 들어온 후 Intercept 처리 할 때 ES 403 Index read-only, cluster_block_exception 발생문제 Trouble Shooting 원인파악 : ES사용량이 95% 이상로 내려갔을 시, ES 내부적으로 INDEX_READ_ONLY OPTION을 TRUE로 활성화 시켜서 더이상 index를 write 하지 못하게 한다고 한다. [ES LOG] flood stage disk watermark [95%] exceeded on [n6~][es-name][데이터경로], free: 남은 데이터노드 용량 등.. 문제해결 : 인덱스 삭제 및 용량 정리 => 아래 api call 호출 PUT your_index_name/_set..
그냥 구현이 되게 하는 코더가 아닌 구현을 "잘" 하는 사람이 되고싶어졌다..ㅎㅎ
[Dependency Scope]compile : 기본영역. 컴파일 시점에 필요하고 배포할때도 포함된다. 이 프로젝트를 dependency 설정된 다른 프로젝트에서도 포함 된다.provided : 컴파일 시점에는 필요하지만 배포 시점에는 불필요한 라이브러리로 JDK, servlet API, Java EE API 등이 해당된다.runtime : 컴파일 시점에는 필요없지만 runtime 시점에 필요한 라이브러리.system : Repository에서 검색을 하지 않고 명시된 위치에서 jar를 이용한다. 그 외 provided와 유사함.test : 테스트 컴파일과 실행 시점에만 사용됨import : Maven 2.0.9 이후에서만 적용. 다른 POM 설정 파일에 정의되어 있는 의존 관계 설정을 현재 프로젝트로..
[MVC구성요소-DispatcherServlet을 구성하는 인터페이스들]1. multiPartResolver--> 해당 파일을 binary로 쪼개서 보내고, 꺼내는 api 구현체가 들어있는 인터페이스.--> 스프링부트에서는 이미 자동으로 등록되어 있어서 바로 파일 업로드 가능 2.localeResolver클라이언트의 지역정보를 파악하는 인터페이스로 추후에 메시지소스를선택하여 지역권의 메시지를 보낼 수 있도록 도와준다.--> AcceptHeaderLocaleResolver 라는 구현체로 구현되고 있는데,이구현체가 지역정보를 파악하는 것은 http-request안의 accept-language 헤더를보고 파악한다.--> Cookie, Session 등을 기반으로 판단하는 구현체들도 있다. 3. ThemeRe..
[npm]- node package manager : 모듈 관리(설치, 업데이트, 삭제 등)하기위한 매니저 - npm으로 외부 모듈 설치 : node_modules 디렉토리에 저장, 우리가 설치한 외부 모듈이 의존 모듈까지 같이 설치함- node_modules는 따로 git 버젼 관리하지않음 : index.js 만 있으면 바로 실행 x, 사용하는 모듈 설치해야함- 요즘엔 페이스북에서 만든 yarn 이라는 패키지 매니저도 있음 : https://yarnpkg.com/lang/en/ [npm, package.json으로 쉽게 모듈 설치하기]1) npm init : package.json 생성 - 프로젝트 의존 모듈 관리(사용 모듈 네임, 버젼), 프로젝트 정보2) npm install 모듈명 --save :..
1. Security-인증순서-a. 유저정보 가져오기(UserDetailsService.loadUserByUsername() 등)b. AuthenticationProvider 에서 authenticate(Authentication authentication)메소드로가지고온 디비유저정보와 authenticate(Authentication authentication)로 접속한유저 정보(authentication)를 비교하여 비밀번호가 같은지 비교하게되고 인증에 성공하게되면 Authentication객체 를 돌려준게된다. --> 아이디/패스워드 사용자 정보를 넣고 실제 가입된 사용자인지 체크한후 인증에 성공하면 사용자의 principal과 credential 정보를 Authentication에 담습니다. **..
1. DAO,DTO(=VO, Value Object)DAO : data에 접근용으로 하나 만들어놓고 계속 사용하는 객체--> DB와 연결할 Connection 객체 생성--> DB와 연결--> 작업 후 리소스를 시스템에 돌려준다.DTO : Controller,DB,View로 데이터를 뿌려주는 객체--> getter,setter만 존재VO : DTO와 역할 같지만 getter만 존재한다.(Read Only) 2. DTO vs VO둘다 데이터 가지고있고, 전송하는 클래스들이지만VO는 넓은범위에서 쓰이며, 좀더 영속적인 정보들을 담고있고, mapper와 연결한다.하지만, DTO는 View -> Controller 같이 레이어 이동시 꼭 필요한 정보만최소한으로 담고, 영속적이지 않아도 되는 데이터를 주로 운반한..
1. @Autowired, @Resource 차이--> Resource("빈이름") 이렇게 빈의 이름 기반으로 검색하여 빈 주입한다.자동으로 등록되는 빈의 이름은 클래스의 첫문자가 소문자로 바뀐 이름 2. @Component컴포넌트 어노테이션이 선언된 클래스의 빈들은 자동 등록된다.즉, 빈의 자동등록을 위하여 쓰는 어노테이션. 3. 빈들 끼리 의존성, 참조관계가 있을 때, 생성순서에 따른 문제A라는 빈을 만들기 위하여, B라는 빈을 만들어야 한다.하지만, 스프링 부트 특성상 위의 패키지부터 아래로 쭉 훑기 떄문에B 빈은 A보다 나중에 만들어진다(알파벳순서)그러므로, 그냥 컴파일 할시에는 B빈이 만들어 지지않았으므로 에러가난다.이런 참조관계와 그에따른 생성순서문제를 해결하려면 A빈에 참조관계를 나타내는 @..