2022-02-18-TIL

Today I Learned

e.printStackTrace() 하는것이 바람직한가?

Foreign Key 를 두지 않는것의 장단점

장점 테이블 구조변경이나 여러가지 작업이 쉽다. (외래키 제약조건 때문에 테이블 구조변경이 까다로워질 수 있다.) 표면상으로는 데이터 제약조건 관련 에러가 발생하지 않는다.

단점 ERD가 제대로 관리되지 않으면 ERD와 프로그램 동작의 불일치가 발생한다. ERD를 리버스 엔지니어링으로 도출해낼 수 없다. 테이블이 섬처럼 모두 연결되지 않은채로 형성된다.

  • https://www.golinuxcloud.com/foreign-key-in-sql-examples/
  • https://software-testing.com/topic/147643/not-using-foreign-key-constraints-in-real-practice-is-it-ok
  • https://dataedo.com/blog/why-there-are-no-foreign-keys-in-your-database-referential-integrity-checks
  • https://www.quora.com/Should-we-use-or-not-use-foreign-keys-constraints-in-our-databases-Why
  • https://dba.stackexchange.com/questions/168590/not-using-foreign-key-constraints-in-real-practice-is-it-ok
  • https://stackoverflow.com/questions/8754655/should-i-really-use-foreign-keys
  • https://www.cockroachlabs.com/blog/common-foreign-key-mistakes/
  • https://stackoverflow.com/questions/1876013/why-are-foreign-keys-more-used-in-theory-than-in-practice
  • https://mozi.tistory.com/344
  • https://velog.io/@isg/%EC%99%B8%EB%9E%98%ED%82%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94-DB
  • https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=talkbox2&wr_id=2088572

DTO Validation

  • https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/validation.html
  • https://www.baeldung.com/spring-dynamic-dto-validation
  • https://www.javaguides.net/2021/04/spring-boot-dto-validation-example.html
  • https://www.baeldung.com/java-dto-pattern

레거시

사람이 통상적으로 인지할 수 있는 메서드 개수는 물론 다르겠지만, 가장 최하급 개발자가 빠르게 인지할 수 있는 수준이어야 한다고 생각한다. 한 클래스에 너무 많은 메서드가 있고, 또 각 메서드 자체도 엄청난 라인 수를 자랑한다. 한 클래스 내에 라인 수가 많은 것은 더이상 자랑이 아니다. 하나의 메서드 안에 너무 많은 로직이 포함되어있다면 한번쯤 생각해 보아야 한다. "하나의 메서드에 너무 많은 책임을 지운것은 아닌가?" 그리고 하나의 클래스 안에 너무 많은 메서드가 포함되어있다면 마찬가지로 분리할 수 있는지 점검해 보아야 한다.

Enum vs DB Table

  • https://stackoverflow.com/questions/24680744/when-to-use-an-enum-or-a-small-table-in-a-relational-database/24682914