LocalStackContainer, GenericContainer 로 S3 Storage 연동 및 임의의 Docker Image 로 띄운 서버 호출에 대한 테스트 코드 작성
Spring Project 에서 Liquibase 를 사용하여 Database Migration 을 적용해보자. Hibernate Entity 와 Database 를 비교해서 자동으로 Code Generate 를 하는 방법에 대해서 알아보자.
실무에서, 몽고 디비를 제품 개발에 선택하게 되면서, 데이터 모델링 전에 도큐먼트를 확인하며 어떻게 사용해야 하는지에 대한 기본 지식을 익힐 필요성이 있었습니다. 가장 먼저 몽고 디비는 어떻게 데이터 모델링을 해야 되는가? 라는 생각이 들어 확인하게 되었습니다.데이터
템플릿 콜백 패턴은 전략 패턴의 변형이며 스프링 3대 프로그래밍 모델 중 하나인 DI (의존성 주입)에서 사용하는 특별한 형태의 전략 패턴이다. 템플릿 콜백 패턴은 전략 패턴과 모든 것이 동일하나 전략을 익명 내부 클래스로 정의해서 사용하는 것이 차이이다. 앞에서 봤던
템플릿 메소드는 템플릿을 제공하는 메소드, 하위 클래스에게 구현을 강제하는 추상 메소드, 하위 클래스가 선택적으로 오버라이딩할 수 있는 Hook 메소드를 두는 패턴을 템플릿 메소드 패턴이라 한다.이해가 되지 않는다면, 코드를 보는 것이 좋다.억지스럽게 코드를 한번 작성
전략 패턴은 디자인 패턴의 꽃이라 할 수 있다. 따라서 스프링을 공부하고자 하는 사람은 꼭 이해하고 넘어가야 할 부분이다. 주의깊게 보도록 해보자.전략 패턴을 구성하는 요소는 세 가지다.전략 메소드를 가진 전략 객체전략 객체를 사용하는 컨텍스트 (전략 객체의 사용자/
장식하는 사람이란 입장에서 접근해보자. 데코레이터 패턴의 구현 방법은 프록시 패턴과 동일하다. 다만 프록시 패턴과 다른 점은 프록시 패턴이 반환값을 조작하지 않고 그대로 전달하는 것과 다르게 데코레이션을 한다.바로 코드를 확인해보자.\[IService]\[Service
어댑터라 하면 뭐가 가장 먼저 떠오르는가? 이 글을 쓰면서 막 떠오른 것은 dp to hdmi 선이다. 이 선을 생각해보면 모니터와 컴퓨터 서로 다른 기기 사이에서 통신을 가능하도록 해주지 않는가? 모니터가 읽을 수 있는 신호로 변환해주는 역할을 하고 있다.위 글을 읽
프록시라는 말은 대변인이란 의미를 가진다. 누군다를 대신해서 수행한다는 의미로서 디자인 패턴에서도 이와 같은 방식으로 적용된다. 객체지향스럽지 않은가? 현실 고증이 오진다.먼저 프록시가 적용되지 않은 코드를 보자.\[Service]\[ClientWithNoProxy]위
팩터리의 의미는 공장이다. 공장은 무언가를 생산하는 장소이다. 객체 지향에서의 팩터리는 객체를 생성하고, 팩터리 메소드는 객체를 생성 반환하는 메소드를 말한다.팩터리 메소드 패턴은 무엇을 의미하는 것인가? 하위 클래스에서 팩터리 메소드를 오버라이딩해서 객체를 반환하는
싱글톤 패턴이 무엇인가?싱글톤 패턴은 인스턴스를 딱 하나만 만들어 사용하기 위한 패턴이다.커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같이 여러 개를 만들었을 때 불필요한 자원 낭비가 일어나는 부분을 방지할 수 있다.싱글톤 패턴을 어떻게 적용해야 하나?new를 실
https://programmers.co.kr/learn/courses/30/lessons/12907일반적인 dp 문제이나 플러스로 메모리 관련 효율은 생각해야 한다.knapsack 문제와 매우 유사하다.먼저 2차원 dp 솔루션이 떠오름으로 2차원으로 dp 에
https://programmers.co.kr/learn/courses/30/lessons/60063단순 bfs 문제입니다.하지만 일반적인 한 블럭씩 이동시키는 bfs 와는 다르게 2개를 움직여야 하고추가적으로 고려할 부분인 회전이 들어가 있습니다.bfs 라는
https://programmers.co.kr/learn/courses/30/lessons/60062문제 해설은 문제를 풀기 위한 최소한의 개념만 설명합니다. 상세 설명은 다른 설명을 보시는걸 추천합니다.문제를 풀기 위한 요점은 다음과 같습니다.반시계 시계 상
https://programmers.co.kr/learn/courses/30/lessons/72415?language=java본 문제는 구현 문제입니다.따라서 꼼꼼함이 요구됩니다.카카오 2021년 블라인드 채용 문제로 정답률이 0.95%로 낮은 정답률을 기록했
https://programmers.co.kr/learn/courses/30/lessons/72414?language=cpp문제의 핵심은 중복 구간을 어떻게 확인하냐는 것이다.문제를 해결하는 포인트는 다음과 같다.play_time, adv_time 을 초단위
https://programmers.co.kr/learn/courses/30/lessons/12904팰린드롬은 앞뒤가 뒤집혀도 똑같은 문자열을 말합니다.따라서 "aa" "aba" 와 같은 문자를 팰린드롬이라 합니다.특정 문자열이 주어졌을때 이 문자열이 팰린드롬
https://programmers.co.kr/learn/courses/30/lessons/72413문제는 그래프 문제입니다.합승 택시 요금이라는 어려울 것 같지만 단순하게 생각하면S -> 중간지점 + 중간지점 -> A + 중간지점 -> B 값과 S -> A
https://programmers.co.kr/learn/courses/30/lessons/72413관련 문제로는 등굣길이 있습니다.https://programmers.co.kr/learn/courses/30/lessons/42898전형적인 경로의 수
https://programmers.co.kr/learn/courses/30/lessons/42898전형적인 아주 간단한 dp 문제입니다.조건이 오른쪽 또는 아래로 움직일 수 밖에 없습니다.따라서 항상 특정 위치 x, y 로 올수 있는 경우는 (x - 1, y