board 클래스 엔티티 변경 후 테스트를 돌렸지만 Colume “TITLE” 를 찾을 수 없다고 나온다. 내가 아직 다른 파일들 수정을 안 해서 그런 거 같다.
BoardController 변경 전
BoardRepository 변경 후
💡
테스트 결과
Controller 변수명 변경을 하였지만 아직까지 똑같은 오류가 나왔다. 변수명을 변경 안 한 파일이 있는 거 같으니 한번 다시 찾아보자!
BoardRepository 변경 전
BoardRepository 변경 후
💡
테스트 결과
분명히 insert query문에서 변수명을 변경 하였지만 정상적으로 변경한 postContent 에서 오류가 나왔다! 왜 그런 건가?
고민을 하다가 코드를 자세히 보았다.
자바의 카멜 기법과 DB의 언더스코어 기법의 문제인걸 알게되었다. 그래서 query 문을 수정 하였다.
변경 후 테스트는 성공 하였다. 다음으로 넘어가자!
DB 언더스코어 기법
언더스코어(underscore) 기법은 데이터베이스와 일부 프로그래밍 언어에서 변수명, 메소드명, 테이블명, 컬럼명 등을 작성할 때 사용하는 명명 규칙입니다. 이 기법은 단어를 구분할 때 언더스코어(_)를 사용하는 방식으로, 가독성을 높이고 일관성을 유지하는 데 도움을 줍니다.
언더스코어 기법의 규칙
모든 단어를 소문자로 작성합니다.
단어 사이에 언더스코어(_)를 삽입하여 구분합니다.
주요 용도
데이터베이스: 테이블 및 컬럼 이름을 명확하게 구분하기 위해 사용됩니다. SQL 쿼리와 스키마에서 가독성을 높이고, 대소문자 문제를 피할 수 있습니다.
프로그래밍 언어: 일부 언어에서는 변수명, 함수명 등에 언더스코어 기법을 사용합니다.
예시
데이터베이스에서 언더스코어 기법 적용
테이블 이름: user_account, order_details, product_inventory
컬럼 이름: first_name, last_login_date, email_address
자바스크립트 또는 Python에서 언더스코어 기법 적용
변수명: user_name, total_amount, order_id
함수명: calculate_total(), get_user_name()
장점
가독성: 단어 사이에 언더스코어를 넣어 단어의 경계를 명확하게 구분함으로써 읽기 쉬운 코드와 테이블 이름을 제공합니다.
표준화: 많은 데이터베이스 시스템과 일부 프로그래밍 언어에서는 이 명명 규칙을 표준으로 사용하여 일관성을 유지할 수 있습니다.
대소문자 문제 해결: 언더스코어 기법은 대소문자 구분을 하지 않거나 대소문자 구분에 따른 문제를 방지할 수 있습니다.
주의사항
일관성 유지: 프로젝트 내에서 언더스코어 기법을 사용할 때는 일관되게 적용하는 것이 중요합니다. 데이터베이스와 프로그래밍 코드에서 모두 같은 규칙을 사용하여 혼동을 방지합니다.
명명 규칙의 차이: 일부 프로그래밍 언어에서는 카멜 케이스를 표준으로 사용하는 반면, 데이터베이스에서는 언더스코어 기법을 선호할 수 있습니다. 따라서 상황에 따라 적절한 규칙을 선택하고 적용해야 합니다.
언더스코어 기법은 특히 데이터베이스에서 스키마와 쿼리의 가독성을 높이기 위해 널리 사용되며, 명확한 명명 규칙을 통해 데이터의 관리와 접근을 용이하게 합니다.
자바 카멜기법
*카멜 케이스(Camel Case)**는 변수명, 메소드명, 클래스명 등에서 사용되는 명명 규칙으로, 가독성을 높이고 코드의 일관성을 유지하기 위해 널리 사용됩니다. 이 명명 기법은 단어들이 결합될 때 대문자와 소문자를 사용하여 단어 사이를 구분합니다. 주로 프로그래밍 언어에서 사용되며, 특히 자바(Java)와 같은 객체 지향 프로그래밍 언어에서 자주 사용됩니다.
가독성: 단어 사이에 공백이 없지만, 대문자로 시작하는 각 단어 덕분에 단어의 경계가 명확하게 구분됩니다.
일관성: 변수명, 메소드명, 클래스명 등에서 일관된 스타일을 유지하여 코드를 읽고 이해하기 쉽게 만듭니다.
표준화: 많은 프로그래밍 언어와 프레임워크에서 카멜 케이스를 표준으로 사용하고 있어, 개발자들 간의 협업이 용이합니다.
카멜 케이스는 코드의 일관성을 유지하고 가독성을 높이기 위해 널리 채택된 명명 규칙입니다. 이를 통해 코드 작성과 유지 보수가 더욱 효율적이고 체계적으로 이루어질 수 있습니다.
2.2 글쓰기 잘 작동 하는지 알아보기
Action 폼에서 name값을 변경하였다.
변경 후
결과가 잘 나오는 지 해보자!
이렇게 하고 글쓰지 완료를 누른 후 입력값이 들어 갔다는 걸 알았다. 이제 Hibernate에 들어가서 입력값을 확인 해보자!
localhost:8080/board/save-form
결과: 잘 등록되었다.
💡
소감: 클래스 하나하나 디버깅을 하면서 예상치 못한 문제와 오류를 발견하며, 코드의 세부적인 동작을 깊이 이해할 수 있었습니다. 작은 실수나 예상과 다른 동작이 전체 시스템에 영향을 미친다는 것을 깨달았습니다. 이 과정을 통해 테스트의 중요성과 코드의 신뢰성을 높이는 방법을 배우게 되었고, 문제를 해결하며 얻는 성취감이 매우 보람찼습니다.