본문 바로가기

728x90
반응형

전체 글

[Spring] UriComponents 클래스 URI를 동적으로 생성해주는 클래스다. 파라미터가 조합된 URI를 손쉽게 만들어 주어서 코드상에서 직접 문자열을 조합할 때 생기는 실수를 방지할 수 있다. UriComponents를 사용하면 파라미터 값을 지정하거나 변경하는 일이 쉬워진다. 원하는 URI로 각각의 링크를 생성할 수 있어서 Rest 스타일로 개발하는데 편리하다. 적용전 - String Buffer 사용 사용후 -UriComponents 사용 Comstruct URI 생성 기본 Comstruct URI 생성 encode Comstruct URI 생성 template Comstruct URI 생성 query parameter 더보기
[Git] Branch Merge Git의 Rebase는 다양한 쓰임이 있습니다만, 이번 포스트에서는 브랜치 병합시 Rebase를 활용하는 방법과 그 과정에 대해 자세히 알아보겠습니다. 브랜치 병합 전략 두개의 브랜치가 존재하는 상황일 때, 하나의 브랜치에서 다른 브랜치로 합치게 되는 경우 Git에서는 일반적으로 다음 두 가지 방법을 사용할 수 있습니다. 자주 사용하는 Merge에 비해 Rebase는 조금 생소하신 분들이 많을지도 모르겠습니다. Rebase를 알아보기에 앞서 먼저 우리에게 익숙한 Merge에 대해 간단히 살펴보겠습니다. Merge Merge 브랜치에서 사용하는 전략은 각 브랜치의 마지막 커밋 두 개와 공통 조상의 총 3개의 커밋을 이용하는 3-way merge를 수행하여 새로운 커밋을 만들어내는 것입니다. 가령, 다음 그.. 더보기
[Java] Rest API REST API 목차 REST API의 탄생 REST 구성 REST 의 특징 REST API 디자인 가이드 HTTP 응답 상태 코드 1. REST API의 탄생 REST는 Representational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개되었습니다. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 합니다. 2. REST 구성 쉽게 말해 REST API는 다음의 구성으로 이루어져있습니다. 자세한 내용은 밑에서 설명하도록 하겠습니다. 자원(RESOURCE).. 더보기
[Git] git commit 규칙 골치아픈 이름 짓기 프로그래머들에게 가장 어려운 것 하나만 꼽아보라고 하면 절반이 ‘naming’을 선택한다고 합니니다. 프로그램을 작성하면서 파일명, 클래스명, 변수명, 함수명 등 수도 없이 많은 이름들을 지어내야 합니다. 거의 작명소 수준입니다. 그런 이름 짓기보다 더 어려운 것이 있습니다. 바로 커밋 메시지 작성입니다. 한글로 커밋 메시지를 작성하는 팀이라면 별 걱정이 없겠으나, 영문으로 작성하는 팀이라면 만만치 않은 일입니다. 하고 싶은 말은 많은데, 막상 쓰지를 못하니 이렇게 답답할 수가 없습니다. 최근 커밋 메시지 하나를 올리며 이런 저런 생각들이 들었습니다. 이게 문법에 맞는걸까, 왜 자꾸 문장이 길어지는걸까, 말인지 방구인지 알고 쓰고 있는걸까. 그래서 차라리 영어권 프로젝트에서 어떤 식으.. 더보기
[Java] DAO,DTO,Entitiy Class DAO, DTO, Entity Class의 차이를 이해하다. Goal DAO(Data Access Object)란 무엇인지 이해한다. DTO(Data Transfer Object)란 무엇인지 이해한다. Entity Class란 무엇인지 이해한다. package 구조에 따른 흐름, 해당 package의 역할 및 기능을 이해한다. DAO(Data Access Object) 란? repository package 실제로 DB에 접근하는 객체이다. Persistence Layer(DB에 data를 CRUD하는 계층)이다. Service와 DB를 연결하는 고리의 역할을 한다. SQL를 사용(개발자가 직접 코딩)하여 DB에 접근한 후 적절한 CRUD API를 제공한다. JPA 대부분의 기본적인 CRUD method.. 더보기
[Java] Unit Test - 3.테스트 작성 1. Spring 설정 참조가 필요 없는 클래스의 단위 테스트 # MockitoJUnitRunner를 사용 : Spring 관련 설정이 필요 없음 # 테스트 할 클래스에서 spring annotation을 통해서 주입되어야 할 객체를 Mock annotation을 추가해서 선언 # 테스트 할 클래스를 InjectMocks annotation을 추가해서 생성 # setUp 에 MockitoAnnotations.initMocks(this); 추가 @RunWith(MockitoJUnitRunner.class) public class TestTargetServiceTest { @Mock private MockService mockService; @InjectMocks private TestTargetServic.. 더보기
[Java] Unit Test - 2.테스트 개요 1. Mock Object 란? # 다른 누군가로부터 휴대 전화 서비스(CellPhoneService) 기능을 제공 받아 이를 사용한 휴대 전화 문자 발신기(CellPhoneMmsSender)를 프로그래밍 한다고 생각해 보자. 이를 코드로 나타내면 아래와 같다. public class CellPhoneMmsSender { private CellPhoneService cellPhoneService; public CellPhoneMmsSender(CellPhoneService cellPhoneService) { this.cellPhoneService = cellPhoneService; } public void send(String msg) { cellPhoneService.sendMMS(msg); } } C.. 더보기
[IntelliJ] 유용한 단축키 정리 기본 단축키 디렉터리, 패키지, 클래스 등 생성 목록 보기 MacOS: Cmd + n Win/Linux: Alt + Insert 코드 Edit Main method 생성 및 실행 메인 메서드 선언 live template 이용: psvm (live template은 아래 참고) 메인 메서드 실행 좌측 실행 버튼 단축키 현재 Focus 가 해당 메서드에 있어야 함 MacOS: Ctrl + Shift + r Win/Linux: Ctrl + Shift + F10 - 이전 실행문 재실행 (우측 상단에 실행문 목록 확인 가능) MacOS: Ctrl + r Win/Linux: Shift + F10 라인 수정하기 라인 복제하기 MacOS: Cmd + d Win/Linux: Ctrl + d 라인 삭제하기 MacOS: .. 더보기

728x90
반응형