전체 글
-
[1,2장] 엘라스틱스택이란책/엘라스틱_스택_개발부터_운영까지 2022. 2. 20. 23:20
내용정리 배경 전문 검색 기능을 제공하는 강력한 소프트웨어의 필요성 -> 엘라스틱 서치 빅데이터 파이프라인을 구성하는 플랫폼 형태로 성장 단순 검색엔진을 넘어서는 플랫폼으로 발전 유연성 확보를 위해 데이터를 수집, 가공, 저장, 분석, 시각화하는 파이프라인을 구성(다양한 오픈소스 소프트웨어의 조합) => 엘라스틱 스택 엘라스틱 스택 = 키바나(시각화) + 엘라스틱 서치(데이터 저장, 검색엔진) + 비츠, 로그스태시 (데이터 수집) 엘리스틱 서치 JSON 도큐먼트 형태로 입력, 관리 쿼리 결과에 대해 일치하는 원본 도큐먼트를 반환(일반적인 데이터베이스처럼) 다양한 데이터 타입에 최적화 검색엔진이면서 데이터베이스(일종의 NoSQL)의 역할 용어 단위의 역인덱스 사전을 구축 최적화된 컬럼 기반 자료구조를 저장..
-
Spring Batch 살짝 알아보기-3개발/Spring 2022. 2. 13. 11:57
블로그 글을 참고하며 휴면계정 배치처리 실습을 해보았다. 기본적인 흐름을 블로그를 참고하였다. 1년이 지난 회원을 휴면계정으로 돌리는 배치 실습을 계획하였다. DB는 간단하게 사용하고 싶어서 h2를 사용하였다. (내 실습레포) 스스로 실습해보며 마주했던 이슈들과 해결했던 과정 위주로 정리해보았다. 실습 과정 중 Issues h2를 사용했기 때문에 기존 데이터를 셋팅해주어야 제대로 배치가 돌아가는 것인지 눈으로 확인해 볼 수 있다고 생각했다. 따라서 초기 데이터를 셋팅해주었다. 100명의 유저 데이터를 넣는데 처음 30명은 1년전 updatedTime을 넣어주고, 70명은 1년이 넘지 않도록 설정했다. 처음에 어떻게 데이터를 셋팅해줄까 고민하다가 for문을 돌려 User엔티티를 만들어 데이터로더를 사용해서..
-
Spring Batch 살짝 알아보기-2개발/Spring 2022. 2. 7. 11:10
스프링 공식문서를 보면서 대략적인 개념을 잡고나서 잘 정리되어 있다는 블로그 글 시리즈를 보면서 좀 세부적이 내용에 대해 알아보았다. 그리고 따라하기 예제가 있는 블로그 글을 참고하여 실습을 진행해 보았다. 배치 더 알아보기 스프링 배치를 실행시키면 연결된 DB에 메타 정보 테이블이 설정되어야 한다. 이것은 처음에 DB에 스키마를 보내 설정해주어야 한다. (H2의 경우 자동으로 설정됨) 해당 내용은 의존성 모듈의 schema-mysql.sql 파일 등으로 DB 벤더마다 설정 파일이 들어있다. 이것을 DB을 생성하고 테이블을 생성해주어야 한다. Job, Step 스프링배치에서 Job은 하나의 배치 작업 단위이다. 하나의 Job 안에 여러 Step이 존재할 수 있고, Step 안에 Tasklet 혹은 Rea..
-
Spring Batch 살짝 알아보기-1개발/Spring 2022. 2. 7. 10:30
현재 스프링 배치를 사용하고 있지는 않지만, 3일동안 간략하게 맛보기 스터디를 하면서 공부했던 내용을 정리해 본다. 개요 유저 인터랙션이 없는 큰 정보의 고도화되고 자동화된 처리 주기적이고 반복적인 큰 데이터리 처리 수많은 트랜잭션의 처리 microservice-based , web-based architecture에서 더 각광받고 있음 사용 시나리오 데이터베이스, 파일, 큐 등에서 많은 records를 읽어올 때 어떠한 방식으로 데이터를 처리할 때 수정된 폼으로 back data를 쓸때 많은 자료를 읽고(Reader), 처리하고(Processor), 저장하는(Writer)에 특화되어 있는 기술이다. 현재 내가 필요한 기술이 아니라 단순히 공부였기 때문에, Retry, Repeat, Parallel Pr..
-
개발 키워드 알아보기개발/키워드 2022. 2. 2. 10:24
Hexagonal Architecture 포트와 어댑터 패턴이라고도 불리는 듯 싶다. 구현체에 의존되지 않기 위해서 포트(외부 구현체와 연결하는 인터페이스)와 어댑터(외부 구현체)를 분리하여 작성하는 설계 방식인 듯 싶다. 포트는 entry point 이다. 외부 구현체에 얽매이지 않고 인터페이스를 통해 application과 연결된다. 여기서 UserInterface는 domain을 의미하는 듯 하며, Application은 domain을 조합하는 부분, Infrastructure는 외부 시스템과의 연결을 의미하는 듯 싶다. - LineEngineering의 관련 참고 글 - Hexagonal Architecture 참고 글 상태머신 현재 상태(Current State)에서 어떤 특정한 사건(Event..
-
클린 아키텍처, 소프트웨어 구조와 설계의 원칙(로버트C.마틴)책/인상깊게_읽은_책들 2022. 1. 4. 14:45
클린 아키텍처라는 제목만으로도 읽기에 어려울 수 있겠다는 생각이 드는 책이었다. 미뤄뒀던 책을 읽어보게 되었는데 읽으면서 느끼는 점이 너무 많았다. 물론 이 책의 모든 내용을 이해했다고는 할 수 없겠으나 내가 책에서 공감되었던 내용, 충격적으로 다가왔던 내용들 위주로 기록에 남겨보려고 한다. 생각보다 너무 재밌었고, 주변에 추천해가며 읽었던 책이다. 어떻게 코드를 짜야할까, 어떤 구조로 구성해야할지 고민을 조금이라도 했던 사람이라면 매우 추천하고 싶다. Quotes 패러다임 구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부과한다. 객체 지향 프로그래밍은 제어흐름의 간접적인 전환에 대해 규칙을 부과한다. 함수형 프로그래밍은 할당문에 대해 규칙을 부과한다. (26~27pg) 각 패러다음은 프로그..