오늘의 이슈 이슈를 설명하기 전 주요 정보 Match 도메인은 매치를 등록하는 도메인이다. Apply도메인은 Post되어있는 Match에 신청할 수 있는 도메인이다. Apply는 Team_Apply, League_Apply, Match_Apply가 있으며 각각 Team_List, League_List, Match_List 와 일대다의 연관관계를 맺고 있다. Match_List 도메인은 Match에 참여하는 A팀과 B팀의 정보를 담는 도메인이다. Match는 일반 매치와 리그 매치를 post한다. 일반 매치의 flow는 다음과 같다. Match를 만든 A팀은 Home 팀이 된다. Match를 Post과 동시에 Match_List가 Post된다. Match_List에 A팀의 정보가 삽입된다. B팀은 Appl..
오늘 다룰 내용 Match 테이블과 Team의 다대다 연관관계 필요성에 관련한 문제 문제 발생의 이유 다대다 연관관계를 형성하는 경우 관계형 데이터베이스에서 정규화를 할 수 없다는 문제점이 있다. 이는 숨겨진 테이블이 형성될 수 있다는 이슈를 야기할 가능성이 있으므로 반드시 필요한 경우가 아니라면 지양해야 한다. 문제 해결 방법 새로운 테이블을 생성하여 테이블 간에 관계를 한 단계 더 만들어 주는 것이 방법이 될 수 있다. 다시 말해, A와 B라는 테이블을 다대다로 연관지어야 할 상황이 발생한다면 C라는 테이블을 새롭게 생성하고 "A -> C", "B -> C"로 일대다 연관관계를 맺어주는 것이 해결방법이 될 수 있다. # 유저와 게시글, 댓글의 상관 관계를 고민해본다면 쉽게 이해할 수 있다. 로직 설명..
오늘 다룰 내용 로깅은 시스템이 동작할 때 시스템의 상태 및 동작 정보를 시간 경과에 따라 기록하는 것을 의미한다. 로그를 사용하는 이유: 로깅을 통해 개발자는 개발 과정 혹은 개발 후에 발생할 수 있는 예상치 못한 애플리케이션의 문제를 진단하고 다양한 정보를 수집할 수 있으며, 사용자 로그의 경우 분석 데이터로 활용할 수 있다. 로그를 찍을 때는 파라미터 값을 전달하자 로그를 찍는 방법은 여러가지가 있다. 우선 print 방식을 예로 들 수 있다. print 방식은 내가 만든 객체를 inmemory 방식으로 처리한다. 따라서 print 방식의 로깅은 휘발성 로그이다. 다음으로는 Log4j2, logback과 같은 로그 프레임워크를 활용할 수 있다. 프레임워크를 사용하면 로그의 출력 형식을 지정하거나 파..
오류 발생 원인 Maria DB에 데이터를 주입하는 과정에서 이러한 이슈가 발생했다. ERROR 1366 (HY000): Incorrect string value: '\xEC\x9D\xB4\xEB\xAF\xB8...' for column 'name' at row 1 해당 이슈는 DB의 문자를 처리하는 인코딩 방식(Latin)과 내가 DB에 넣어주려고 하는 문자(utf-8)의 인코딩 방식이 달라서 발생하는 오류다. 해결방안 DB의 인코딩 방식을 변경해주거나 입력하고자 하는 문자를 DB에 맞게 넣어주는 방법이 있다. 우리는 한글을 사용하기 때문에 인코딩 방식을 변경해주자 ALTER TABLE (테이블명) convert to charset utf8; 주의사항 Maria DB를 다운로드 하는 과정에서 UTF-8..