분류 전체보기(131)
-
도메인 주도 설계란? DDD란?
도메인 주도 설계(Domain-Driven Design)는 왜 필요할까요? 도메인 주도 설계란? 말 그대로 도메인을 중심으로 설계해 나가는 방법입니다. 그럼 도메인이란 무엇일까요? 소프트웨어로 해결해야할 문제의 영역입니다. 예를 들어 고객이 원하는 상품을 어떻게 잘 제공할 것인가? 의 대한 문제는 커머스라는 도메인이 있습니다. 커머스 도메인의 하위 도메인으로 판매자가 무엇을 판매할 것인가? 의 대한 문제는 상품이라는 도메인이 있고, 공통된 상품에 대해서 어떻게 공통 정보를 제공할 것인가? 의 대한 문제는 카탈로그 도메인이 있습니다. 그 밖에 판매자, 사용자, 카테고리, 주문, 배송 등 많은 도메인이 존재합니다. 소프트웨어의 존재에 대한 가치 소프트웨어의 본질은 해당 소프트웨어의 사용자를 위해 도메인에 관..
2021.11.29 -
자바 트러블슈팅 - PART1. 자바에서 발생 가능한 문제점들
CHAPTER1. 자바 기반의 시스템에서 발생할 수 있는 문제들 1. 시스템이 느려요 전체 시스템이 항상 느린 경우 특정 기능(화면)이 느린 경우 특정 시간대(기간)에 전체 애플리케이션이 느린 경우 특정 시간대(기간)에 특정 애플리케이션이 느린 경우 특정 기능(화면)이 점점 느려지는 경우 특정 사용자만 애플리케이션이 느린 경우 트러블슈팅이 가장 쉬운 경우는 '특정 기능(화면)이 느린 경우' -> 애플리케이션 흐름을 따라가면서 원인을 찾으면 된다. 트러블슈팅이 가장 어려운 경우는 '특정 시간대(기간)에 특정 애플리케이션이 느린 경우' -> 재현이 쉽지 않다. 대부분의 경우는 이후에 나오는 scouter의 XLog와 스레드 상황을 확인하면 원인을 찾을 수 있다. 2. 시스템이 응답이 없어요("시스템이 행이 ..
2021.11.16 -
백준 - 12101 - 1, 2, 3 더하기 2
https://www.acmicpc.net/problem/12101 12101번: 1, 2, 3 더하기 2 n을 1, 2, 3의 합으로 나타내는 방법 중에서 사전 순으로 k번째에 오는 것을 출력한다. k번째 오는 식이 없는 경우에는 -1을 출력한다. www.acmicpc.net import java.util.Scanner; /** * 12101 */ public class 일이삼더하기2 { private static int k; private static int count; private static String result = null; public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] input ..
2021.09.09 -
백준 - 9095 - 1, 2, 3 더하기
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 1. 백트래킹을 이용한 구현 import java.util.Scanner; /** * 9095 */ public class 일이삼더하기1 { private static int count; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = Integer.parseInt(sc.nextLine()); for (int i = 0; i < T; i++) { int targetNumber = Intege..
2021.09.09 -
백준 - 11725 - 트리의 부모 찾기
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net import java.util.*; /** * 백준 - 11725 */ public class 트리의부모찾기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = Integer.parseInt(sc.nextLine()); List adjacencyMatrix = new ArrayList(); for (int i = 0; i < N + 1; i++) { adj..
2021.09.07 -
백준 - 4963 - 섬의 개수
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net package bfs; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Queue; import java.util.Scanner; /** * 백준 - 4963 */ public class 섬의개수 { public static void main(String[] args) { Scanner sc = new Scanne..
2021.09.07