2023.02.14.TUE

ronglong·2023년 2월 14일
0

1. Github

  • README.md : 프로젝트 이름, 프로젝트 핵심 기능 소개, 팀원 소개 등
  • .gitignore : 아래 링크에서 생성 가능
    https://www.toptal.com/developers/gitignore
  • LICENSE : public 레포지토리의 경우, 출처 (CCL) 표시.
  • 프로젝트 관리
    • Issue : 각각의 task(기능 제안, 버그, 할 일 등). 세팅에서 템플릿 작성 가능
    • Milestone : task group, 업무 마감 기한과 진행도 표시
    • Project : 칸반 보드 생성, 업무 흐름 관리
  • Git Flow, Branch
    • 브랜치 : 복사본 개념
    • main, dev, feature/작업기능명/작업수행자명 3개로 분산 고려
    • 로컬에서 merge하기보다, 가능하면 pull request 및 코드 리뷰 후 merge 추천

//

2. JMT

  • 한 것
    • JWT 적용 보완
    • 서비스 계층에 애너테이션으로 트랜잭션 적용
    • QuestionRepository의 쿼리 보완
      (전체 질문 조회시, 비밀글도 함께 조회되길래 JPQL 쿼리 수정)
@Query(value = "SELECT q FROM Question q 
WHERE q.status <> 'QUESTION_DELETE' 
and q.openToOthers <> 'QUESTION_SECRET'")
    Page<Question> findAll(Pageable pageable);
  • 이후에 할 것들 정리
    • OAuth2 적용
    • 검색 기능 구현
    • 첨부 파일 업로드 기능 구현
    • 리팩토링

//

3. 기타

  • 맥 인텔리제이 단축키
    https://webcoding-start.tistory.com/42
  • StackOverFlow API
    https://api.stackexchange.com/docs?tab=category#docs
  • Spring Security Hierarchy 설정
    (근데 Hierarchy 이용해서 컨트롤러 마다 붙이는 것보다 그냥 Spring Security Configuration에서 antMatcher로 한 번에 메서드별로 권한 설정하는 게 나을 것 같기도 하다.)
    https://doohee94.tistory.com/36
  • @ElementCollection OneToMany 관계에서 사용.
    엔티티 매핑할 지, 컬렉션 값 매핑할 지는 상황에 따라 고려.
    https://prohannah.tistory.com/133
  • commit 시점에서 IntelliJ GUI로 new branch 생성하면, 그 시점 파일로 브랜치 복사본 생성됨. 굿 (commit 자주 하기!)
  • 인텔리제이 GUI에 있는 업데이트 프로젝트(파란색 화살표) 사용하면, remote repository에 있는 모든 브랜치가 다 당겨지니까 사용하지 말 것

<느낀 점>
프로젝트를 앞두고 낮에 정규 학습 시간에는 git을 통한 협업 방법에 대해 공부했다.
저녁에 구황작물 친구들이랑 모여서 git을 좀 더 파헤쳐봤는데, 유익한 시간이었다. 👍

그리고 JMT 조금 손 봤음.
조금씩 고쳐나가고 있는데, 끝이 없다.

내일은 본격적으로 프로젝트가 시작된다.
일단 처음에는 여러가지 규칙들을 정하는 것이 가장 중요하고, 설계 및 기획을 하는데 가장 많은 시간을 들일 것 같다.
부디 무사히 프리 프로젝트를 마치면 좋겠다.

0개의 댓글