목록전체 글 (65)
개발그래머

Antifragile(변화에 바로적응, 비용 저렴) auto scaling : 자동 크기 조정 microservices chaos engineering : 시스템이 격동의 예측치 못한 상황을 견딜 수 있도록 신뢰성을 쌓기 위해 운영 중인 소프트웨어 시스템에 실험을 하는 규율 continuous deployments 확장 가능한 아키텍처 수평적 확장에 유연 확장된 서버로 시스템 부하 분산, 가용성 보장 시스템, 서비스 애플리케이션 단위의 패키지(컨테이너 기반) 모니터링 탄력적 아키텍처 서비스 생성 - 통합 - 배포, 비즈니스 환경 변화에 대응 시간 단축 분할된 서비스 구조 무상태 통신 프로토콜 서비스의 추가와 삭제 자동으로 감지 변경된 서비스 요청에 따라 사용자 요청 처리(동적 처리) 장애 격리(Fault..
JWT(Json Web Token) 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준(RFC 7519) 이 정보는 디지털 서명되어 있으므로 확인하고 신뢰 가능 JWT는 secret 또는 RSA 또는 ECDSA를 사용하는 공개/개인 키 쌍을 사용하여 서명 가능 JWT는 암호화하여 당사자 간에 비밀성을 제공JWT 사용 이유 권한 부여 : 가장 일반적인 방법, 사용자가 로그인하면 이후에 각 요청에 JWT가 포함되어 사용자가 해당 토큰에 허용된 경로, 서비스 및 리소스에 접근 가능 정보 교환 : 당사자 간에 정보를 안전하게 전송 가능 JWT는 크기가 작아 HTML 및 HTTP 환경에서 전달하기 좋음 공개/개인 키 방식 사용 가능 JSON 파서는 개체에 직접..
warn : org.springframework.batch.item.ItemProcessor is an interface. The implementing class will not be queried for annotation based listener configurations. If using @StepScope on a @Bean method, be sure to return the implementing class so listener annotations can be used. 번역 : org.springframework.batch.item.ItemProcessor는 인터페이스입니다. 구현 클래스는 주석 기반 리스너 구성에 대해 쿼리 되지 않습니다. @Bean 메서드에서 @StepScope를 사..

배치 작업이란? 배치작업 ↔ 실시간작업 배치작업 특정주기마다 작업들을 한 번에 모아서 처리 주문결제 후 배송 은행 정산 이메일 쿠폰 발송 가맹점 정산 거래 명세서 생성 추천 시스템 데이터 작업 스프링 배치로 작업이 필요한 이유 풍부한 기능 일관성 된 코드 기존 서비스가 스프링 프레임워크로 되어 있는 경우 호환 가능 완성도 있고 유지보수와 확장성 있는 개발 가능 스프링 배치 구성 JobLauncher JobExecution을 JobRepository로부터 얻고 Job을 실행 @EnableBatchProcessing 어노테이션을 통해 JobRepository를 자동으로 구성 Job 전체 배치 프로세스를 캡슐화하는 엔티티 전체 계층구조의 최상위 Step을 위한 단순한 인스턴스 컨테이너 정의와 Step들의 순서..
기본 명령어git initgit add .git commit -m “first commit”Github에 코드 올리기git remote add origin “repositoryUrl”git push -u origin masterbranch 기본 명령어git branch # 현재 branch 확인 git branch creating-hello-file # creating-hello-file 브랜치 생성 git checkout creating-hello-file # branch 위치 변경(master 브랜치 -> creating-hello-file 브랜치)merge 명령어git checkout master # master 브랜치로 변경 git merge creating-hello-file # creating..
단축키 정리명령단축키변수 추출cmd + opt + vinner class 추출 힌트 제공(다양한 기능 제공)opt + enterinner class → java 파일로 추출 익명클래스를 inner class로 추출f6 후 cmd + entermulti line 지정 가능opt + opt → 방향키 위아래변수명 renameshift + f6전에 있던 파일로 돌아감cmd + e해당 메서드로 이동cmd + b해당 메서드 구현체로 이동cmd + opt + b클래스 찾기cmd + o바로 밑에 줄로 이동shift + enter포커싱을 프로젝트 패키지로 이동 다시 코드로 이동cmd + 1 escsettings 열기cmd + ,블럭단위로 이동shift + cmd + 방향키 위아래line단위로 이동shift + opt ..

개발환경 : MacOS(m1), Docker 1. 도커 이미지 풀 docker pull jenkins/jenkins //docker에 젠킨슨 이미지 풀 2. 젠킨슨 실행 docker run -p 8080:8080 -p 50000:50000 --name jenkins-server --restart=on-failure jenkins/jenkins // 젠킨슨 실행 docker run -p 8080:8080 -p 50000:50000 --name jenkins-server --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins // 젠킨슨 실행 (-v : 젠킨슨에 등록된 정보를 host서버에 저장시키도록 마운트 시키는 명령어) docker..

Jenkins 선도적인 오픈 소스 자동화 서버 모든 프로젝트 구축, 배포 및 자동화를 지원하는 수백 개의 플러그인 제공 Jenkins 기능 Continuous Integration and Continuous Delivery(CI / CD) (지속적인 통합 / 지속적인 전달) 확장 가능한 자동화 서버인 Jenkins는 간단한 CI 서버로 사용하거나 모든 프로젝트의 지속적인 전달 허브로 전환 가능 Easy installation (쉬운 설치) 독립형 Java 기반 프로그램으로 Windows, Linux, macOS 및 기타 Unix 계열 운영 체제용 패키지와 함께 즉시 실행 가능 Easy configuration (쉬운 구성) 즉석 오류 검사 및 기본 제공 도움말이 포함된 웹 인터페이스를 통해 쉽게 설정하고..