java

· MSA
1. MSA 개요MSA(Microservice Architecture)는 하나의 큰 애플리케이션을 여러 개의 작은 독립적인 서비스로 나누어 개발하는 소프트웨어 아키텍쳐 방식이다. 각각의 서비스는 독립적으로 배포 가능하고, 자체 프로세스에서 실행되며, 경량하된 통신 메커니즘(주로 HTTP)를 사용하며, 비즈니스 기능 단위로 구성된다. 1 - 1. 주요 특징독립적인 배포 가능성: 각 서비스는 독립적으로 배포할 수 있다.작은 팀 구성: 각 서비스는 작은 팀이 독립적으로 개발하고 관리할 수 있다.기술 스택의 다양성: 각 서비스는 적절한 기술 스택을 자유롭게 선택할 수 있다. 2. 모놀리식 vs MSA2 - 1. 모놀리식 모놀리식은 하나의 큰 애플리케이션에 모든 기능이 통합되어 있다.단일 코드베이스와 데이터베이스..
오늘 Spring Data에서 제공하는 페이징과 정렬을 위한 두 가지 유용한 어노테이션인`@PageableDefault` 와 `@SortDefault` 에 대해 알게 되었다.이 어노테이션들은 컨트롤러 메서드에서 페이징과 정렬 기능을 쉽게 구현할 수 있게 해주는 도구다. 1. `@PageableDefault`Pageable 객체의 기본값을 설정하는 데 사용된다. 1 - 1. 주요 속성size: 페이지당 항목 수 (기본값: 10)page: 시작 페이지 번호 (기본값: 0)예시@PageableDefault(size = 20, page = 0)  2. `@SortDefault`정렬 기준의 기본값을 설정하는 데 사용된다. 2 - 1. 주요 속성sort: 정렬할 필드명direction: 정렬 방향 (ASC 또는 D..
1. 오늘의 문제 - 촌수 계산 - 백준 : 2644번https://www.acmicpc.net/problem/2644  2. 문제 풀이 전략DFS로 그래프 탐색을 하면 될 것 같고,양방향 그래프이고,사람들이 100명뿐이 안되니까 인접행렬 사용하면 될 것 같다. 3. 풀이package io.conduktor.demos.dfsbfs.hanghaecote99.middler;import java.io.*;import java.util.StringTokenizer;// 8. 촌수 계산 - 백준 : 2644 - DFS, BFSpublic class ChonNumber8 { static int N; static int targetA; static int targetB; static int M;..
1. 오늘의 문제 - 모음 사전 : 프로그래머스 (Level 2)https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  2. 문제 풀이 전략DFS로 만들 수 있는 단어를 전부 만든다.몇 번째로 만들어진 단어인지 확인한다.3. 풀이package io.conduktor.demos.dfsbfs.hanghaecote99.middler;import java.util.ArrayList;import java.util.List;// 7. 프로그래머스 - 모음 사전 - 그래프 이론public class Vowel..
1. 오늘의 문제 - 나무 자르기 - 백준 : 2805https://www.acmicpc.net/problem/2805 이분탐색!지금까지 갈고 닦은 이분탐색 실력을 뽐낼 시간이로군 2. 문제 풀이 전략이건 그냥 이분탐색만 알고 알고 있으면 간단히 해결될 것 같다. 3. 난관 봉착... 예제 입력을 넣었을 때 출력이 제대로 안 나옴근데 왜 첫 번째 예제 입력시 출력으로 15가 나와야 하는데 13이 나오는걸까? 두 번째 예제도 마찬가지. 36이 나와야 하는데 27이 나온다. 내가 작성한 로직은 아래와 같다.int result = 0;int left = 0;int right = 1000000000;while (left = M) { result = mid; left = mid + 1; ..
1. 오늘의 문제 - 알고리즘 수업 - 너비 우선 탐색 1 - 백준 : 24444번https://www.acmicpc.net/problem/24444  이름부터가 BFS로 풀라고 떠먹여준다.BFS는 참 좋다.공식만 알고 있으면 되니까.문제에서 친절하게 공식도 알려준다.2. 문제 풀이 전략2 - 1. 인접리스트로 접근정점수가 100,000 개이므로, 인접행렬로 그래프를 표현하면 메모리초과가 발생할 것이다.인접리스트로 그래프를 표현하자.// static int[][] adjMatrix; // 인접 행렬 안됩니다!static List> adjList; 2 - 2. 정렬예시의 입력을 살펴보면, 1번 정점과 4번 정점이 연결 되고, 1번 정점과 2번 정점이 연결 된다.결과적으로, 1번 정점과 연결된 정점들은 [..
1. 오늘의 문제 - 알고리즘 수업 - 깊이 우선 탐색 1 - 백준 24479번https://www.acmicpc.net/problem/24479 1년 전에 풀었던 문제가 나왔네?다시 한 번 풀어보자.다시 풀어봤는데, 첫 번째, 두 번째 제출은 틀렸고, 세 번째 만에 맞췄다.2. 문제 풀이 전략2 - 1. 인접리스트로 접근일단 정점수가 100,000이다.인접행렬로 풀 경우, 100,000 * 100,000 이니까 공간 복잡도가 어마어마해진다.정점수가 적을 때는 인접행렬로 풀어도 되지만, 이런 경우 인접리스트로 풀어야 시간초과가 안 난다.static List> adjList;2 - 2. 정렬예시의 입력을 살펴보면, 1과 4가 연결, 1과 2가 연결순으로 제시된다.1번과 연결된 놈들이  [4, 2] 가 되는..
https://www.yes24.com/Product/Goods/89649360 리팩터링 2판 - 예스24개발자가 선택한 프로그램 가치를 높이는 최고의 코드 관리 기술마틴 파울러의 『리팩터링』이 새롭게 돌아왔다.지난 20년간 전 세계 프로그래머에게 리팩터링의 교본이었던 『리팩토링』은,www.yes24.com 지난 게시글에서는 statement() 메서드 안에 요금을 계산하는 로직을 amountFor() 메서드로 추출하였고,변수명도 명확하게 변경했습니다.하지만 아직 고쳐야할 부분이 남아 있는데요.play 매개 변수가 눈에 거슬립니다. 1. play 변수 제거하기 package org.study.refactoringpractice.play;import java.text.NumberFormat;import j..
Griotold
'java' 태그의 글 목록 (5 Page)