2021-04-06-TIL
2021-04-06-TIL
학습 메모
- 조영호 - 오브젝트 강의
- 스프링 데이터 jdbc learn
Spring Data JDBC는 JPA처럼 영속성 컨텍스트나 지연 로딩을 두지 않고, 애그리거트(aggregate) 단위로 저장하고 읽는 단순한 모델을 택한다. Spring 블로그의 설명에 따르면 애그리거트 루트마다 리포지토리를 하나 두고, 루트를 지우면 그 안의 객체도 함께 지워진다. 다른 애그리거트는 객체가 아니라 id로 참조한다. 오브젝트 강의에서 다루는 “객체의 책임과 경계”를 저장 단위로 옮겨 놓은 셈이라 같이 보면 이해가 쉽다.
화면 설계 도구
Figma, Balsamiq
- Figma는 팀이 같이 아이디어를 내고 화면을 디자인하는 협업 디자인 도구다.
- Balsamiq는 일부러 거칠게 보이는(low-fi) 와이어프레임을 빠르게 그리는 도구다. 색이나 폰트 대신 기능과 배치를 먼저 논의하게 만든다.
백엔드 입장에서는 와이어프레임만 있어도 화면별로 어떤 데이터가 필요한지 정리할 수 있어서 API 설계를 일찍 시작할 수 있다.
issue 단위로 개발하기
issue 단위로 개발하기 –> 프론트 백엔드 쪼개서 개발하고 pr보내기
project
기능을 이슈로 쪼개고, 이슈마다 브랜치를 만들어 PR을 보내는 방식이다. GitHub에서는 PR 설명에 closes #12, fixes #12, resolves #12 같은 키워드를 쓰면 PR이 기본 브랜치에 병합될 때 해당 이슈가 자동으로 닫힌다(GitHub 문서). 기본 브랜치가 아닌 곳으로 보내는 PR에서는 이 키워드가 무시된다는 점은 주의해야 한다. 프론트와 백엔드가 같은 저장소를 쓸 때는 이슈와 라벨로 작업을 나누면 서로의 진행 상황을 보기 쉽다.
Docker로 MySQL 띄우기
1
2
3
4
5
docker pull image mysql@5.7.33
docker pull mysql:5.7
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name todolist mysql:5.7
첫 줄은 잘못된 형식이다. docker pull은 이름:태그 또는 이름@다이제스트 형식을 받는다. @ 뒤에는 sha256:... 같은 이미지 다이제스트가 와야 하고, 버전을 지정하려면 mysql:5.7.33처럼 콜론을 써야 한다(docker image pull). 태그를 생략하면 latest를 받는다.
docker run의 각 옵션은 다음과 같다(docker container run).
-d: 컨테이너를 백그라운드에서 실행하고 컨테이너 ID를 출력한다.-p 3306:3306: 호스트의 3306 포트를 컨테이너의 3306 포트에 연결한다.-e MYSQL_ROOT_PASSWORD=root: 환경 변수를 넘긴다. MySQL 공식 이미지는 이 값으로 root 비밀번호를 정하며, 새 컨테이너를 띄울 때 필수다(Docker Hub mysql).--name todolist: 컨테이너에 이름을 붙여서 이후docker stop todolist처럼 부를 수 있게 한다.
협업 규칙 정하기
- https://feel5ny.github.io/2017/11/24/dada_02week/
- https://velog.io/@hidaehyunlee/Github%EB%A1%9C-%ED%98%91%EC%97%85%ED%95%98%EA%B8%B0
- https://github.com/connect-foundation/2019-04
댓글
아직 댓글이 없습니다