소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem Given the root of a binary tree, determine if it is a valid binary search tree (BST). A valid BST is defined as follows: The left subtree of a node contains only nodes with keys less than the node's key. The right subtree of a node contains only nodes with keys greater than the node's key. Both the left and right subtrees must also be binary search tr..
이 포스팅은 만들면서 배우는 클린 아키텍처를 읽고 작성하였습니다. 소스 코드는 여기 있습니다. Overview 처음 계층적 아키텍처의 문제접을 다룰 때 모든 것이 영속성 계층에 의존하게 되어 데이터베이스 주도 설계가 된다는 점을 다룬 적이 있는데요, 의존성을 역전시키기 위해 영속성 계층을 애플리케이션 계층의 플러그인으로 만드는 방법을 살펴봅니다. 의존성 역전 애플리케이션 서비스에서는 영속성을 사용하기위해 아웃고잉 포트 인터페이스를 호출합니다. 이 포트는 영속성 작업을 수행하고 데이터베이스와 통신할 영속성 어댑터가 구현하게 됩니다. 헥사고날 아키텍처에서 영속성 어댑터는 아웃고잉 어댑터에 해당하므로 애플리케이션 계층에서 호출하고 역방향으로 어댑터가 애플리케이션을 호출할 일이 없습니다. 애플리케이션 서비스가 ..
커리어 회고(Prequel Part 1): 공대생이 되다 최근에 퇴사 및 이직이 결정되면서, 지금까지 커리어를 정리해보고 싶은 마음이 생겼습니다. 저와 비슷하신 분들도, 그렇지 않은 분들도 계시겠지만, 커리어 상승을 꿈꾸는 분들께 도움이 됐으 jaime-note.tistory.com 커리어 회고(Prequel Part 2): 노예가 되다 최근에 퇴사 및 이직이 결정되면서, 지금까지 커리어를 정리해보고 싶은 마음이 생겼습니다. 저와 비슷하신 분들도, 그렇지 않은 분들도 계시겠지만, 커리어 상승을 꿈꾸는 분들께 도움이 됐으 jaime-note.tistory.com 커리어 회고(Prequel Part 3): 노예, 좋좋소에 가다 최근에 퇴사 및 이직이 결정되면서, 지금까지 커리어를 정리해보고 싶은 마음이 생겼..
이 포스팅은 만들면서 배우는 클린 아키텍처를 읽고 작성하였습니다. 소스 코드는 여기 있습니다. Overview 웹 인터페이스를 제공하는 어댑터의 구현 방법을 살펴봅니다. 의존성 역전 웹 어댑터는 주도하는(driving) 또는 인커밍 어댑터 입니다. 외부로부터 요청을 받아 애플리케이션 코어를 호출합니다. 이 때 제어 흐름은 웹 어댑터에 있는 컨트롤러에서 애플리케이션 계층에 있는 서비스로 흐릅니다. 애플리케이션 계층은 웹 어댑터가 통신할 수 있는 포트 인터페이스인 유스케이스를 제공하고 해당 유스케이스를 구현합니다. 여기 의존성 역전 원칙이 적용된 것을 확인할 수 있습니다. 어댑터와 유스케이스 사이에 인터페이스가 존재하는 이유는 애플리케이션 코어가 외부와 통신할 수 있는 규격이기 때문입니다. 이 포트를 적절하..
이 포스팅은 만들면서 배우는 클린 아키텍처를 읽고 작성하였습니다. 소스 코드는 여기 있습니다. Overview 앞서 살펴본 내용들을 어떻게 실제 코드로 구현할지 살펴봅니다. 도메인 모델 구현 한 계좌에서 다른 계좌로 송금하는 유스케이스를 구현합니다. 객체지향적으로 모델링하기 위해 입출금을 할 수 있는 Account 엔터티를 만들고, 출금 계좌에서 출금하여 입금 계좌로 입금하도록 하였습니다. package buckpal.domain; @AllArgsConstructor(access = AccessLevel.PRIVATE) public class Account { @Getter private final AccountId id; @Getter private final Money baselineBalance; ..
소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem Given an array of distinct integers nums and a target integer target, return the number of possible combinations that add up to target. The test cases are generated so that the answer can fit in a 32-bit integer. Example 1: Input: nums = [1,2,3], target = 4 Output: 7 Explanation: The possible combination ways are: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1..
소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem You are implementing a program to use as your calendar. We can add a new event if adding the event will not cause a double booking. A double booking happens when two events have some non-empty intersection (i.e., some moment is common to both events.). The event can be represented as a pair of integers start and end that represents a booking on the half-open ..
슬랙을 사용하다보면 커스텀 이모지가 필요한 상황이 있는데요, 그 때 사용하기 위해 링크를 모아봤습니다. 사용법은 워낙 간단하기 때문에 직접 들어가서 만들어보시면 됩니다😄 MakeEmoji Create animated custom emoji GIFs for Twitch, Slack, and Discord makeemoji.com Emoji Generator | Discord & Slack Emoji Maker - Discord Emoji Create awesome custom emoji for Discord and Slack using our Emoji Maker / Emoji Generator. Using the Twemoji set as a base, create emoji with over 10,00..
이 포스팅은 만들면서 배우는 클린 아키텍처를 읽고 작성하였습니다. Overview 코드를 구성하는 몇 가지 방법과 헥사고날 아키텍처를 표현하는 패키지 구조를 소개합니다. 프로젝트를 처음 생성할 때 패키지 구조를 먼저 설계하게 되는데, 진행될수록 점점 바빠져서 처음의 원칙을 지키지 않고 서로 규칙 없이 참조하게 되는 경우를 많이 겪어보셨을 것입니다. 지금부터 송금하기 유스케이스에 대해 여러 가지 패키지 구조 예시를 살펴보겠습니다. 계층 구조 첫 번째 접근 방법은 계층 구조를 이용하는 것입니다. app ├── domain │ ├── Account │ ├── AccountRepository │ ├── AccountService │ └── Activity ├── persistence │ └── AccountRe..
좋은 글이 있어 공유합니다. 원문은 여기서 확인할 수 있습니다. 한 줄 요약 개발자를 행복하게 만들고 행복을 유지하는 것을 잊지 마세요. 좋은 개발자 경험(Developer Experience, DX)이란 무엇인가 개발자 경험은 개발자가 제품을 사용하거나 개발하는 동안의 경험을 말합니다. 하지만 많은 회사에서는 UX(User Experience)보다 우선순위에 밀려나 있습니다. 개발자도 유저이고, 제품을 사용합니다. 그들의 만족과 행복은 프로젝트의 성공에 매우 중요합니다. 행복한 개발자는 뛰어난 소프트웨어를 만들고 팀을 떠날 가능성을 줄여줍니다. 우리는 아래 4가지 요소로 좋은 개발자 경험을 정의합니다. 적절한 아키텍쳐 아키텍쳐가 단순하면 나중에 고통받고, 복잡하면 지금 고통스럽습니다. 프로젝트와 팀 규..
- Total
- Today
- Yesterday
- 스프링부트
- 알고리즘
- 스프링 부트
- spring boot jwt
- proto3
- 함께 자라기 후기
- 헥사고날 아키텍처
- 함께 자라기
- r
- Spring Boot
- 스프링 데이터 jpa
- @ManyToOne
- intellij
- 스프링 부트 회원 가입
- Java
- QueryDSL
- spring boot application
- 클린 아키텍처
- 스프링 부트 튜토리얼
- Spring Data JPA
- JPA
- Spring Boot JPA
- Linux
- gRPC
- 스프링 부트 애플리케이션
- spring boot app
- Jackson
- JSON
- leetcode
- Spring Boot Tutorial
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |