일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 파이썬
- JVM
- c#
- 리눅스
- 문법 정리
- jsp
- smart cast
- 티스토리
- 오라클
- K6
- hyperledger
- 초대장
- 자바
- 운영체제
- 자바 프로젝트
- 오라클 디비
- 백준 알고리즘
- 알고리즘
- dynamic query
- MongoDB
- auto configure
- 학점
- spring
- gradle
- resilience4j
- 파이썬 소스
- 프로젝트
- 유사코드
- oracle
- SQL
- Today
- Total
목록전체 글 (231)
모종닷컴
MongoDB 준비 MongoDB replication 세팅을 위해서는 2개 이상의 몽고 인스턴스가 필요합니다. 문서를 보면 일반적으로는 3개의 인스턴스로 구성하는 게 가장 일반적인 설정인 것 같습니다. 테스트 편의를 위해 도커를 사용하도록 하겠습니다. 도커가 없다면 로컬에 몽고DB 인스턴스를 3개 준비해주셔도 무방 할 겁니다. version: "3.6" services: mongo-1: image: mongo:4.4 container_name: mongo-1 ports: - "30000:30000" command: mongod --replSet replset --port 30000 mongo-2: image: mongo:4.4 container_name: mongo-2 ports: - "30001:30..
진행하고 있는 프로젝트가 슬슬 마무리가 되어가네요.. 포스팅할 거리가 많은데 프로젝트가 끝나면 하나씩 정리해서 올리도록 하겠습니다. 너무 오랫동안 글을 못 올리는 게 싫어서 짧은 글이지만 소개해보려고 합니다. 의존하고 있는 빈이 많은 클래스들이 간혹 보입니다. 설계를 잘못한걸수도 있지만 이런 클래스들은 특히 단위 테스트 코드를 짤 때 정말 귀찮습니다. 예시를 보도록 하겠습니다. 예시 코드 private val log = KotlinLogging.logger { } @Service class WelcomeStep { fun execute() { log.info("welcome") } } @Service class EnjoyStep { fun execute() { log.info("enjoy") } } @S..
CompletableFuture의 예외를 핸들링하는 3가지 handle, whenComplete, excetpionally CompletableFuture의 예외를 처리하는 방법에 대해 알아보려고 합니다. 여러 가지 방법들이 존재하지만 이번 포스팅에서 다룰 방법들은 자바에서 제공하는 기본 메서드들을 설명하려고 합니다. 이에는 handle(), whenComplete(), exceptionally() 세 가지 메서드가 존재합니다. 처음에 봤을 때 뭐가 다른 거지 하고 굉장히 헷갈려서 이번 기회에 글로 조금 정리해보려고 합니다. handle 먼저 handle 메서드를 보도록 하겠습니다. public CompletableFuture handle( BiFunction
오늘은 정말 간단한 글 하나를 올려보려고 합니다. 내용은 멀티 모듈 프로젝트에서 모듈의 겹치는 이름으로 인해 겪은 삽질기입니다. 상황을 재현해보기 간단하게 세팅을 먼저 해보도록 하겠습니다. 프로젝트 구조 프로젝트는 projectA, projectB 두 개로 만들어져 있습니다. projectA는 app, domain 모듈을 지니고 있고, projectB는 domain 모듈만 지니고 있습니다. projectA 빌드스크립트 war 관련 파일 설정이 추가되어있습니다. apply plugin: 'war' bootWar { mainClassName = "com.example.projectA.app.MainAppKt" // 코틀린 파일이 자바로 해석되면서 클래스명 뒤에 'Kt'가 붙는다 archiveName("${p..
그레이들 빌드 스크립트 작성의 기본적인 부분들을 다룹니다. 글에서 간단한 예시를 보면서 기초 개념들에 대해 알려줍니다. Projects, plugins and tasks 모든 그레이들 빌드는 하나 이상의 projects로 구성됩니다. 그레이들로 무엇을 하려는지에 따라 project가 정의가 달라집니다. 예를 들어 project는 JAR 라이브러리 혹은 웹 애플리케이션을 말하는 걸수도 있습니다. 혹은 다른 프로젝트에서 생산된 JAR로부터 어셈블된 ZIP을 말하는 걸수도 있습니다. 프로젝트가 반드시 무엇인가를 만들어야 한다는 것이 아닙니다. 스테이징 또는 프로덕션 환경에 애플리케이션을 배포하는 것과 같이 수행해야 할 작업을 나타낼 수도 있습니다(이 이야기들이 좀 애매해 보이는데 걱정하지 말라고 다독이네요ㅋㅋ..