2021-09-16-TIL
Git
GitHub PR, Issue 템플릿
GitHub는 이슈와 PR을 열 때 본문에 미리 채워 둘 템플릿을 지원한다. PR 템플릿은 pull_request_template.md라는 이름으로 저장소 루트, docs/, .github/ 중 한 곳에 둔다. 템플릿을 여러 개 쓰려면 .github/PULL_REQUEST_TEMPLATE/ 디렉터리에 넣고 template 쿼리 파라미터로 고른다. 이슈 템플릿은 .github/ISSUE_TEMPLATE 디렉터리에 두고, 마크다운(.md) 템플릿 외에 입력 칸을 정의하는 YAML(.yml) 이슈 폼도 쓸 수 있다.
템플릿은 기본 브랜치에 병합되어 있어야 동작한다. 팀 프로젝트에서 “무엇을 바꿨는지, 어떻게 확인했는지” 같은 항목을 템플릿에 넣어 두면 리뷰어가 매번 같은 질문을 하지 않아도 된다.
- https://velog.io/@mayinjanuary/github-PR-%ED%85%9C%ED%94%8C%EB%A6%BF-Issue-%ED%85%9C%ED%94%8C%EB%A6%BF-%EB%A7%8C%EB%93%A4%EA%B8%B0-Pull-Request-Issue-Template
REST API
Camel Case, Hyphen, or Underscore
URI 경로에서 단어를 구분할 때 userProfile, user-profile, user_profile 중 무엇을 쓸지에 대한 질문이다. 판단 근거 하나는 RFC 3986이다. 이 명세에서 대소문자를 구분하지 않는 것은 scheme과 host뿐이고, 경로는 대소문자를 구분하는 것으로 다룬다. 즉 /userProfile과 /userprofile은 다른 자원이 될 수 있다. 경로를 소문자로만 쓰고 단어 사이를 하이픈으로 이으면 대소문자 때문에 생기는 혼동은 피할 수 있다. 어느 방식을 고르든 API 전체에서 한 가지로 일관되게 쓰는 것이 더 중요하다.
- https://stackoverflow.com/questions/10302179/hyphen-underscore-or-camelcase-as-word-delimiter-in-uris
Spring
@RequestBody optional
@RequestBody의 required 속성은 기본값이 true라서 요청 본문이 비어 있으면 예외가 난다. 본문이 없을 수도 있는 엔드포인트라면 required = false로 두고, 이때는 본문이 없으면 파라미터에 null이 들어온다.
1
2
3
4
@PostMapping("/search")
public List<Item> search(@RequestBody(required = false) SearchCondition condition) {
return condition == null ? service.findAll() : service.search(condition);
}
- https://stackoverflow.com/questions/28687616/use-requestbody-with-optional-body-in-latest-spring-v4
Docker
Docker Machine 명령어
Docker Machine은 로컬 가상 머신이나 클라우드 서버에 Docker 호스트를 만들고, Docker를 설치하고, 로컬의 Docker 클라이언트가 그 호스트와 통신하도록 설정해 주는 도구다. docker-machine create로 호스트를 만들고 docker-machine env로 접속 환경을 잡는 식으로 쓴다.
- https://emunhi.com/view/201811/18201214749?menuNo=10031
Prototype tools
프로토타입 제작 도구에 관한 글이다.
- https://yslab.kr/94
커머스
커머스에 관한 글이다.
- https://brunch.co.kr/@thesmc/41
- https://brunch.co.kr/@thesmc/40
채용정보
- https://www.wanted.co.kr/wd/50756
- https://www.wanted.co.kr/wd/8138
- https://www.wanted.co.kr/wd/29086
댓글
아직 댓글이 없습니다