[LeetCode#42] Trapping Rain Water
·
Algorithm/문제풀이
❒ Description 제목Trapping Rain Water링크https://leetcode.com/problems/trapping-rain-water/description/자료구조선형 자료구조   ❒ Solution 1. Two Pointerpublic static int twoPointerSolve(int[] height) { int leftPointer = 0; int rightPointer = height.length - 1; int leftMax = height[leftPointer]; int rightMax = height[height.length - 1]; int water = 0; while (leftPointer    2. Stackpublic stat..
[LeetCode#1] Two Sum
·
Algorithm/문제풀이
❒ Description제목 : Two Sum링크 : https://leetcode.com/problems/two-sum/description/카테고리 : 선형 자료구조 중 배열 문제에 속한다.주어진 배열 중 2개의 요소의 합이 target이 될 때, 각 요소의 index를 return하는 문제   ❒ Solution 1. Brute Forcepublic static int[] solve1(int[] nums, int target) { int n = nums.length; for (int i = 0; i 시간 복잡도 : O(n²)모든 경우를 전부 확인하는 방법 2. Two-pass Hash Table▶︎ Two-pass Hash Table주로 두 번의 탐색을 통해 문제를 해결하는 알고리즘에서 ..
멀티 모듈 구조를 적용한 Monolithic 서버
·
Architecture/Multi Module
❒ Description 이전 직장에서 진행했던 wewoot은 Monolithic 프로젝트였다. 물론 각 클래스 파일들은 각자의 역할에 맞는디렉토리에 위치해 있었다. 하지만 여기서 문제는 admin이 였는데, Admin-api와 Was-api가 섞여 있는 구조였다.이런 구조에서 admin을 배포하든, was를 배포하든 결국 프로젝트 내 모든 파일들을 대상으로 빌드가 이루어졌다. 위의 문제를 해결하기 위해 더 나은 설계가 있는지 찾아보다가 멀티 모듈이라는 것에 알게되었고, 해당 구조를wewoot에 적용을 하면 보다 나은 프로젝트 구조가 잡힐 것 같다는 생각이 들었다.  이번 기회에 궁금증들을 해결하고 아래의 내용들을 학습해 볼 예정이다.‣ 멀티모듈과 디렉토리의 차이는?‣ 멀티 모듈은 필수인가?‣ 구분 기준..
Junit5를 알아보자
·
Back-End/Setup & Configuration
❒ Description나의 경우 JUnit5를 회사에서 처음으로 사용하게 되었는데, "왜 JUnit5를 사용하지?" 에대해서 생각해보지 않았다.여태까지 그냥 너도 나도 JUnit5를 사용해서 나도 사용해왔다. 하지만 알고 쓰는 것과 모르고 쓰는 것엔 굉장히 큰 차이가있기 때문에 이번 기회에 JUnit5 정확히 뭔지, 왜 쓰는지, 해당 프레임워크를 사용하여 취할 수 있는 이점이 무엇인지, 다른 테스팅 프레임워크에는 뭐가 있는지 공부하고 알아보려고 한다. 더 나아가 직접 설정까지 하는 시간을 가져볼 것이다.     ❒ JUnit5 ?JUnit5는 이전 버전과는 다른 구성을 가지고 있다. 구성은 다음과 같다.JUnit5 = JUnit Platform + JUnit Jupiter + JUnit Vintage ..
Generic 제대로 알아보기.
·
Langauge/Java
❒ DescriptionJDK5 부터 Generic이 도입되었다. Generic의 도입으로 우리는 매번 명시적으로 작성해줘야 했던 Type-Check와Casting을 생략할 수 있을 뿐만 아니라, type-safe 한 좋은 코드를 작성할 수 있게 되었다. 이번 글에서는 Generic의기초 뿐만 아니라, 보다 더 깊게 이해하기 위해 Variance(변성), Synthetic, Reification(실체화) 관련 내용들도 함께정리하면서 공부해 볼 것이다.     ❒ Variance (변성)1. 변성이란?Variance refers to how sub-typing between more complex types relates to sub-typing between their components.(번역) Var..
카카오 지도 연동하기
·
Front-End/Trouble Shooting
❒ Description어드민 개발 과정에서 카카오 지도를 연동해야 하는 요구사항이 있었다.구체적인 요구사항은 다음과 같았다.  ▫︎  스탬프 투어의 대표 위치를 지도에서 선택할 수 있어야 한다. ▫︎  지도 위의 마커는 항상 정가운데 고정되어 있어야 한다. ▫︎  키워드를 통해서 검색할 수 있는 기능이 있어야 한다.  ▫︎  검색한 결과는 좌측에 목록으로 노출되어야 한다. ▫︎  검색 결과 중 하나의 요소 선택시 해당 위치를 지도 중앙에 위치 시켜야 한다.  ▫︎  지도를 드래그 했을 때 드래그가 끝나는 지점의 위치 정보를 표시해야 한다.  ❒ TroublesTrouble 1.  항상 마커를 지도 중앙에 띄우는 문제카카오 맵에서 제공해주는 API 중 지도 이동시키기, 마커 생성하기를 사용해서 지도를 이..