분류 전체보기 258

레이어드 아키텍처 (계층형 아키텍쳐)와 헥사고날 아키텍처 (육각형 아키텍쳐)

아래 내용은 여기 [만들면서 배우는 클린 아키텍쳐]를 참고한 내용입니다. 만들면서 배우는 클린 아키텍처 - YES24 우리 모두는 낮은 개발 비용으로 유연하고 적응이 쉬운 소프트웨어 아키텍처를 구축하고자 한다. 그러나 불합리한 기한과 쉬워보이는 지름길은 이러한 아키텍처를 구축하는 것을 매우 어렵게 www.yes24.com 레이어드 아키텍처 (계층형 아키텍쳐) 사용자와의 상호작용을 담당하는 프레젠테이션 계층과 엔티티의 영속성을 처리하는 영속성 레이어를 별개의 계층으로 구분한다. 계층형 아키텍쳐에서 프레젠테이션 계층은 하위의 도메인 계층에 의존하고, 도메인 계층은 하위의 영속성 계층에 의존한다. 따라서 도메인 계층 입장에서 의존성은 비대칭적이다. 계층형 아키텍쳐의 문제점은 무엇일까? 계층형 아키텍쳐는 데이터..

개발 2022.11.13

부하테스트 | ngrinder, jmeter로 간단히 해보기 (맥북 M1)

ngrinder 참고 블로그 : https://blog.naver.com/wideeyed/222173944239 [nGrinder] 성능 테스트하는 방법 네이버에서 유지보수하고 있는 성능 테스트 툴 nGrinder에 대해 알아보겠습니다. nGrinder는 애플리케이... blog.naver.com 1. ngrinder 설치 https://github.com/naver/ngrinder/releases/ Releases · naver/ngrinder enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub. github.com 2. ngrinder 실..

개발/꿀팁 2022.11.06

@bean vs @component

들어가기전에 @Component public class Pizza{ ........ } - Spring ApplicationContext : Spring이 관리하는 객체(bean이라고도함)을 들고 있는 곳 - Inversion of Control Principle(제어의 역전)에 의해 Spring은 bean객체를 모아서 필요한 곳에서 bean 객체를 사용한다. 즉 객체의 생성과 사용자의 제어권을 스프링에게 넘기는 것. @Bean @Configuration class AppConfiguration{ @Bean public User getUse(){ return new User(); } } - 메소드에 사용됨 > spring이 이 메소드의 결과를 Spring bean으로 저장한다. - spring 3.0에 ..

개발/자바 2022.10.27

baekjoon. 회전 초밥 (2531) | hashmap사용 [java]

여기 문제집에서 회전초밥 문제를 풀었다. ㄴ 문제집 : https://www.acmicpc.net/workbook/view/8708 ㄴ 문제 : https://www.acmicpc.net/problem/2531 문제가 조금 길게 설명이 되어있는데 요약하면 - 연속으로 먹을 수 있는 초밥에 최대한 숫자가 고유하게 들어가면 된다. - 그리고 나서 이 초밥에 쿠폰초밥이 들어가있으면 그대로 두고, 아니라면 쿠폰초밥을 +1하면 된다. 초밥 그릇 갯수 (n)에 매번 for문을 돌면서 연속 숫자 (k)를 체크하면 되는데 그럴 경우 n최대 30,000에 k 3,000까지 해서 시간이 오래 걸릴 것 같아서 효율적인 방법을 찾아야 되었었다. 그래서 초밥 그릇 갯수 (n)에서 각 초밥마다 HashMap으로 몇번의 초밥이 몇..

baekjoon. 파티

문제집 : https://www.acmicpc.net/workbook/view/8708 풀이 : https://www.acmicpc.net/problem/1238 문제에 정말 도움되었던 블로그 https://loosie.tistory.com/209 1. 플로이드 와샬로 풀이 경로별로 최단 거리를 저장해서 최종적으로 비교하는 풀이이다. 여기서 중요했던 건은 초기에 세팅할때 값을 지정하는 것이었는데, Integer.MAX_VALUE로 세팅하면 값을 비교하는 과정에서 오버플로우가 발생하고 문제에 따라 거리 최대값인 100으로 세팅하면 경로를 합치면서 100을 초과하여 의도했던 결과가 돌아가지 않았다는 사실이었다. 결국 적당한 값으로 세팅해서 문제를 풀었다. import java.io.BufferedReader..

baekjoon. 돌 게임

여기 문제집에서 돌 게임 문제를 풀었다. ㄴ 문제집 : https://www.acmicpc.net/workbook/view/8708 ㄴ 문제 : https://www.acmicpc.net/problem/9655 DP로 접근해야 하나 생각하면서 하나씩 테스트케이스를 작성했는데, 홀수냐 짝수냐 인지만 판단해주면 문제 해결. 1개 : 상근 2개 : 상근 창영 3개 : - 상근 (3) - 상근 창영 상근 4개 : - 상근(3) 창영 - 상근(1) 창영(3) - 상근 창영 상근 창영 5개 : - 상근(3) 창영(1) 상근(1) - 상근(1) 창영(3) 상근(1) - 상근(1) 창영(1) 상근(3) 6개 : - 상근(3) 창영(3) - 상근(3) 창영(1) 상근(1) 창영(1) - 상근(1) 창영(3) 상근(1) ..

baekjoon. 문자열 폭발

9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 내 풀이 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.Scanner; import java.util.Stack; import java.util.HashMap; import java.util.ArrayList; public class Main { // 문자 별로 위치 저장 static Ha..

programmers. 다단계 칫솔 판매

코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 내가 생각한 알고리즘 내 풀이 (0.5H) import java.util.HashMap; class Solution { static HashMap relationMaps = new HashMap(); static HashMap payMaps = new HashMap(); public int[] solution(String[] enrolls, String[] referrals, String[] sellers, int[] amounts) { int[] answ..

반응형