본문 바로가기

분류 전체보기58

Kafka 기초개념 - 전체적인 개념 전체적인 개념을 설명하고 다음 글 부터 한 부분씩 자세히 볼 것 What is Kafka? 카프카란 데이터를 다루기 위한 미들웨어다. Kafka 데이터 모델, 저장 소비 방식 Topic, Partition 카프카는 Pub/Sub 모델(발행 구독 모델)을 사용한다. Pub/Sub 이란 메세지 혹은 데이터를 제공하는 Publisher와 메세지 혹은 데이터를 소비하는 Consumer가 존재하여 데이터를 주고 받는 모델이다. 카프카는 Publisher가 제공한 데이터를 가지고 있고, Consumer는 카프카에서 데이터를 직접 가져오는 방식이다. Consumer가 직접 가져올 때의 이점 다양한 Consumer를 고려하지 않아도 된다. → Consumer가 다양하고, 카프카에서 데이터를 직접 보내주는 상황이라면 각.. 2021. 7. 8.
[우아한테크세미나] 190425 TDD 리팩토링 by 자바지기 박재성님 정리 https://youtu.be/bIeqAlmNRrA?list=PLWULX930b66AKch7aJm_CpcnDiz2hQwaf TDD하기 쉬운코드와 어려운 코드를 구분하는 눈 어려운 코드를 쉬운코드로 변경할 수 있는 감 목적의식이 있는 연습이 필요함 -> 무작정 많이는 아니야 의식적인 연습의 7가지 원칙 1. 효과적인 훈련기법이 수립되어 있는 기술 연마 2. 개인의 컴포트 존을 벗어난 지점에서 진행, 자신의 현재 능력을 살짝 넘어사는 작업을 지속적으로 시도 3. 명확하고 구체적인 목표를 가지고 진행 4. 신중하고 계획적이다. 즉, 개인이 온전히 집중하고 의식적으로 행동할 것을 요구 5. 피드백과 피드백에 따른 행동 변경을 수반 6. 효과적인 심적 표상을 만들어 내는 한편으로 심적 표상에 의존 7. 기존에 습.. 2021. 7. 6.
@WebMvcTest WebMvcTest WebMvcTest는 Controller를 테스트하기 위한 어노테이션이다. WebMvcTest는 Controller를 테스트하기 위한 어노테이션이다. WebMvcTest는 Controller를 테스트하기 위한 어노테이션이다. 3번 말했다 WebMvcTest는 Controller를 테스트하기 위한 어노테이션이다. 이것을 강조하는 이유는 WebMvcTest는 단위 테스트를 위한 테스트 어노테이션임을 정확하게 이해하기 위해서다. WebMvcTest는 Controller가 정상적으로 작동하는지 테스트하는 것이기 때문에 Web과 관련된 의존성만을 가지고 온다. WebMvcTest에서 가져오는 의존성들 즉, 다음 어노테이션들만 ComponentScan해서 가져온다. @Controller, @Co.. 2021. 7. 1.
linux 명령어 모음 자주 사용되는 linux 명령어 모음 1. ls 현재 파일의 위치에 있는 파일들의 목록을 출력 ls -l : 파일들의 상세정보를 출력 ls -a: 숨긴파일들 까지 모두 출력 ls -F : 파일의 유형까지 모두 출력(/: 디렉토리, *:실행파일, @:링크) ls -t: 파일의 수정시간으로 정렬해서 출력 ls -S: 파일의크기로 정렬해서 출력 2. cd 디렉토리로 이동 cd ~: 현재위치가 어디든 홈디렉토리로 이동 cd .. : 상위 디렉토리로 이동 cd /경로 : 절대경로로 이동(리눅스의 최상위 디렉토리로부터의 절대경로) cd -: 바로전 위치로 이동 3. pwd 현재 위치의 경로를 출력 pwd -P: 물리적위치로 출력 4. touch 크기가 0인 파일을 만드는 명령어 touch filename: file.. 2021. 6. 12.
Jedis 통신방식 선요약: Jedis는 Socket을 통해 InputStream,OutputStream을 이용해 통신 우선 Jedis는 DB연결과 비슷하게 Pool을 이용해서 Redis와 연결된 객체들을 관리한다. 사용자들은 Pool을 통해 Jedis객체를 가져와서 사용한다. //jedis의 Pool클래스의 Jedis를 받아오는 메소드 public T getResource() { try { return internalPool.borrowObject(); } catch (NoSuchElementException nse) { throw new JedisException("Could not get a resource from the pool", nse); } catch (Exception e) { throw new JedisC.. 2021. 6. 11.
Spring Boot + Mybatis org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 이글은 스프링 부트에서 마이바티스를 사용하는 방법을 설명한 글이다. 기존의 스프링 프레임워크와 마이바티스는 xml기반의 설정인데 스프링 부트는 자바설정이 가능하고, 쿼리문도 xml에 넣지 않고 자바 코드에 넣을 수 있다. 스펙 자바 8 스프링 부트 2.x.x mysql 8 IDE intellij build tool: maven 설명 우선 먼저 마이바티스는 스프링 부트에서 mybatis-spring-boot-starter라는 의존성을 추가해서 사용할 수 있다. Maven org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 당연히 자신의 DB에 맞는 JD.. 2021. 5. 19.