-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: 모집공고 등록 API 수정 및 상세 조회 기능 추가 완료 #652
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
추가된 컬럼들이 접두어로 recruitment
를 사용하는 것으로 보여요. 하지만 접두어가 없어도 해당 데이터가 recruitment
와 관련되었다는 점이 충분히 분명하기에, 접두어를 제거해도 무방할 것 같아요.
또한, 데이터 예시를 보면 recruitmentDetail
은 팀에 대한 소개를, recruitmentDescription
은 지원자가 채용 후 참여하게 될 환경과 업무의 특성을 의미하는 것처럼 보여요. 작성될 내용의 특성을 더 구체적으로 나타낼 수 있도록 컬럼명을 변경하는 것이 작업자는 물론 협업이나 유지보수 측면에서도 더 효율적일 것 같아요.
마지막으로, recruitmentSchedule
은 채용 과정별 일정을 작성한 컬럼으로 보이는데, startDate
와 endDate
컬럼과 의미가 혼동될 여지가 있어 조정이 필요해 보여요. 컬럼 이름을 명확히 구분되도록 개선하는 것을 제안드려요.
저도 작업하며 변수명에 대해서 많은 고민을 했었습니다. 코딩보다 어려운게 변수 이름 짓는 것 같아요
가장 팀에 대한 세부적인 내용이 들어간다고 생각해서
|
제가 제안하는 이름은 단순히 의견일 뿐이고, 반드시 반영하지 않아도 괜찮아요. 중요한 건 삽입될 데이터의 의미를 명확히 표현할 수 있는 이름을 사용하는 거에요. 팀원들과 적극적으로 의견을 공유하고, 이에 대해 논의하면서 적절한 이름을 결정했으면 좋겠어요. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- PR에 모집 공고 항목별 컬럼명과 스크린샷이 기재되어 있는데, 최종 결정된 컬럼명으로 수정하는게 더 좋을 것 같아요.
- 번거로우시겠지만, 메시지 파일 수정(
twoFactorAuthentication
)과 PR 작업 내용만 수정해주시면, 그 외에 추가적으로 손볼 부분은 없을 것 같아요. 감사합니다 😊
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recuritment 테이블의 칼럼이 추가되는 변경사항을 확인했어요.
이 변경사항에 대한 SQL문을 PR에 추가해주시면 좋을 것 같아요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
프로젝트에서 hibernate의 ddl-auto
옵션이 update
로 되어있어 칼럼 추가시에는 자동으로 감지되어 쿼리문을 적용해주는 것으로 알고 있습니다.
칼럼의 타입이나 이름, 제약 조건이 변경된 것이 아닌 단순 추가이므로 쿼리를 따로 날리지 않아도 괜찮지 않을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다! DB가 컨테이너 상으로 관리되고 있어서 SQL 작성이 필요하다고 생각했었네요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나중에 작업 내용을 추적하기 위해 PR을 살펴봤을 때, 구조적인 변화를 쉽게 확인할 수 있도록 하기 위함이지 않을까 싶어요.
아래 내용은 해당 작업과는 무관하지만, 생각이 나서 제안드려요.
현재 ddl-auto
설정이 update
로 되어 있는데, 일반적으로 프로덕션 환경에서는 none
으로 설정하여 사용하는 경우가 많아요. 이는 데이터베이스 변경으로 인한 안정성 문제를 예방하기 위함이에요.
다만, ddl-auto
를 none
으로 설정하면 애플리케이션 실행 시 데이터베이스 스키마가 자동으로 변경되지 않기 때문에 변경 사항을 수동으로 관리해야 해요. 그럼에도 이러한 방식은 아래와 같은 장점을 제공해요.
- 안정성 강화: 스키마 자동 변경은 실수나 버그로 인해 데이터 손실을 초래할 수 있어요. 프로덕션 환경에서는 이러한 위험을 줄이기 위해 스키마를 명시적으로 관리하는 것이 일반적이에요.
- 표준 관리 방식: 많은 프로덕션 환경에서는
Flyway
나Liquibase
와 같은 마이그레이션 도구를 사용하여 스키마 변경을 관리하고, 애플리케이션과 데이터베이스의 상태를 명확히 일치시켜요. - 변경 이력 추적: 수동 관리 방식은 변경 사항의 이력을 명확히 기록하고, 추적할 수 있도록 해요. 이는 문제 발생 시 빠르게 원인을 파악하고 수정하는 데 도움이 될 수 있어요.
저희도 애플리케이션에서 자동 업데이트 대신 수동으로 데이터베이스 스키마를 관리하는 방식을 도입하면 어떨까 싶어요. 이를 통해 변경 사항을 더 명확히 관리하고, 예기치 않은 데이터 손실이나 장애를 예방할 수 있을 것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
새로 생긴 칼럼이 NOT NULL
이라 기존 데이터를 옮기는걸 생각 못했었는데, SQL문 추가해뒀습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저희도 애플리케이션에서 자동 업데이트 대신 수동으로 데이터베이스 스키마를 관리하는 방식을 도입하면 어떨까 싶어요. 이를 통해 변경 사항을 더 명확히 관리하고, 예기치 않은 데이터 손실이나 장애를 예방할 수 있을 것 같아요.
사실 운영 환경에서 update
사용의 위험성은 알고 있었고, 제가 합류했을 때에도 운영 환경에서 update
를 사용함에 의문을 가지고 있었긴 했는데, 로컬 환경에서 update
를 계속 사용하다보니 칼럼 추가에 대한 변경은 자동으로 해주는 것이 정말 편했어서 운영 환경에서도 똑같이 적용하면 되어 "편함" 때문에 계속 사용하고 있다고 생각했습니다.
그러나 MAU가 큰 환경에서는 쿼리문 실수 한번으로 피해가 클 수 있기에, none
을 사용하는 것이 맞다고 봅니다.
함께 의논 후 적용했으면 합니다!
Summary
/api/v1/recruitments/{recruitmentId}
)을 추가했습니다.모집 공고 제목 :
title
모집 소개 :
teamIntroduction
모집 일정 :
processTimeline
모집 설명 :
jobDescription
Tasks
recruitment
테이블에 칼럼 추가title
추가ETC
SQL
Screenshot