본문 바로가기

전체 글

(52)
Spring Batch 를 Jenkins 를 이용해 간단하게 사용해보자 실무 맛보기 실무에서는 어떻게 사용할까? 실무는 소프트웨어 개발 시 지속적 통합 서비스를 제공하는 툴인 jenkins 를 이용해 spring-batch 를 실행한다. 보통 원격 Repository 와 Jenkins 를 연결해 Jenkins 에서 빌드후 실행하는 형식이 되지만, 지금은 devOps 에 대해 알아보는 시간이 아니니 간단하게 jenkins 에 spring-batch 프로젝트 jar 파일을 옮긴 후 Jenkins 의 scheduling 을 활용해 실행한 뒤, 결과를 slack 알림 서비스를 통해 받아보는 예제를 진행해 보겠다. 현재 부서의 프로젝트 또한 jenkins 를 활용해 spring-batch를 돌리고 slack 에 알림(jenkins가 진행하는 빌드에 대한 알림)을 받고있다. (배치 성..
Spring Batch A 부터 Z 까지 스프링 배치 래퍼런스 문서 번역 : https://godekdls.github.io/Spring%20Batch/introduction/ Batch Spring Batch 공식 Reference : https://docs.spring.io/spring-batch/docs/current/reference/html Spring Batch 컴퓨터에서 사람과 상호작용 없이 실행되는 프로그램이다. 사용자의 피드백이 필요하지않다. 이는 사용자의 개입 없이 진행됨을 말한다.(일반적인 Web 프로그램과의 차이) Spring Batch 사용 예 대용량 데이터베이스, 파일, 큐를 읽는 것 일정하고 주기적인 데이터 처리 과정 ==> 주로 데이터의 처리에 사용된다. Spring Batch 의 구조 Job > Step > Tas..
Java - Code Convention 설정하기 git 을 이용해 프로젝트를 관리할때 팀원들간에 code style 이 달라 쓸데없는 commit 이 발생할 수도 있고, 각각의 다른 style 로 인해 code 가 난잡해 보일 수 있기에, 프로젝트를 진행할때 코드 style을 팀원간 맞출 필요가있다. Java Code Style *google java code style : https://google.github.io/styleguide/javaguide.html 참고 https://github.com/google/google-java-format 에서 IntelliJ Java Google Style 파일 를 다운로드한다. 다운로드 받은 파일을 선택한다. Editor > Code Style > Other File Types 에서 필요시 tab 및 in..
Klaytn 클레이튼 스마트계약과 탈중앙앱 - 솔리디티와 Klaytn SDK 스마트 컨트랙트 , 솔리디티 (Solidity) 스마트 컨트랙트라는 것은 블록체인에 저장되어있는 프로그램이다. 어디에 저장되어있는지 알기위해 주소를 쓴다. 주소를 쓰는것이 어카운트이다보니 어카운트와 같이 취급을 하게된다. 이더리움 코드를 까보면 어카운트라는 값이있고, 어카운트 안에 코드해쉬라는 값이 있다. 이는 어떤 코드를 해쉬했더니 나온 값인데, 이것을 가지고 블록체인에 저장되어있는 코드를 불러올 수 있는 구조이다. 스마트 컨트랙트는 상태를 가지고, 이러한 상태를 변경할 수 있는것은 TX 밖에 없다. 그러다보니 TX 로 컨트랙트를 실행하고, TX 의 결과가 컨트랙트에 반영된다. 스마트 컨트랙트는 함수와 상태로 되어있고, 함수를 쪼개보았더니 상태를 변경하는 함수 와 상태를 변경하지 않는 함수 두개로 나뉜..
Redis 기본 이번 글은 [우아한테크세미나] 191121 우아한레디스 by 강대명님 영상을 정리하였습니다. 함께보면 좋은 영상 [NHN FORWARD 2021] Redis 야무지게 사용하기 (기본적으로 Redis 는 Snapshot이 적용되어 dump.rdb 파일이 생성된다. 참고 Redis) 목차 Redis 소개 왜 Collection 이 중요한가? Redis Collections Redis 운영 Redis 데이터 분산 Redis Failover 발표에서 다루지 않는 것 Redis Persistence (RDB, AOF) -> 메모리에 있는 모든 내용 백업하는기능인데 이렇게 디스크에 저장한것을 서비스에 실시간으로 쓸 수 없기에 제외함 Redis Pub / Sub -> Redis Stream -> Redis 버전 5부..
Klaytn 클레이튼 스마트계약과 탈중앙앱 - 블록체인 상태와 트랜젝션 이 글은 `인프런 - Klaytn 클레이튼 스마트계약과 탈중앙앱` 강의를 보고 개인적으로 정리한 글입니다. 블록체인의 상태 (어카운트 기반) 블록체인의 상태를 예로 들어보자. 블록체인은 트랜젝션으로 변화하는 상태기계라 할 수 있다. 상태기계의 경우 항상 초기값(i)이 있고 그리고 최종값(f) 을 가진다. 초기값 (i) + change = 최종값 (f) 라고 보면 편할 것이다. 블록 0 번을 보면 최초값 i 는 none 으로 시작한다. 그리고 change 를 기록하게되는데, 엘리스에게 토큰 100개를 주었다고 기록한 뒤 최종값 f 에 엘리스에게 100 개의 토큰이 있다고 기록한다. 블록 1 번을 보면 블록 0 번의 최종값을 초기값 i 로 가지고 있는것을 볼 수 있다. 즉, 블록 1번에 초기값에는 엘리스가 ..
JDK, JRE, JVM JDK JDK(Java Development Kit )는 Java 애플리케이션을 개발하는 데 사용되는 소프트웨어 개발 환경이다. JDK 는 JRE(Java Runtime Environment), 인터프리터/로더(Java), 컴파일러(javac), 아카이버(jar), 문서 생성기(Javadoc) 및 디버그 등 기타 Java 개발에 필요한 도구가 포함된다. JDK의 핵심 구성 요소는 간단하게 다음과 같다. JRE 개발 도구 JDK 에 포함되어 있는 요소를 간단하게 몇가지만 살펴보면 다음과 같다. javac – 클래스 및 인터페이스 정의를 읽고 클래스 파일로 컴파일 java – Java 애플리케이션을 시작합니다. javadoc – Java 소스 파일에서 API 문서의 HTML 페이지 생성 appletviewe..
Klaytn 클레이튼 스마트계약과 탈중앙앱 - 블록체인 기본 이 글은 `인프런 - Klaytn 클레이튼 스마트계약과 탈중앙앱` 강의를 보고 개인적으로 정리한 글입니다. 블록체인의 정의와 구성, 해시함수 블록체인이란? 정보를 블록이라고 하는 단위로 저장하여 저장된 블록들을 체인형태로 묶은 저장기술. 자료구조 링크드 리스트(Linked-List) 와 비슷하지만, 블록체인의 경우 연결된 데이터를 해시함수(Hash Function) 로 기억하고있다. -- 해시 함수(Hash-Function) 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑(변환)하는 함수 { 해시 , 해시 값 , 해시 코드 } = 해시 함수에 의해 얻어지는 값 데이터를 X , 해시함수를 H 라고 표기할 때 해시를 H(X) 로 표기 산업에서 가장 널리 쓰이는 해시 함수는 SHA-2 (e.g. , SHA..