전체 글3 데이터베이스 테이블 구성에 관해 알아두면 좋을 것들 오늘은 제가 생각하는 데이터베이스 테이블 구성에 관해 알아두면 좋을 것들에 대해 설명해 보겠습니다.업계 전문가 분들이 보시기에는 많이 부족하겠지만, 시니어의 도움 없이 혼자 데이터베이스 설계를 해야 하는 주니어 입장에서는 도움이 될 수 있을것 같습니다. id 속성 사용테이블에는 id라는 이름으로 정수형태의 인공키(surrogate key)를 기본키로 사용하는 것이 좋습니다. 테이블의 속성 중 하나를 골라 기본키로 설정할 수도 있겠지만 인공키를 사용하면모든 테이블이 동일한 형태의 기본키를 사용하므로 가독성이 향상됩니다. (모든 테이블의 기본키 속성 이름은 id라는 것이 보장됨)추후 다른 속성으로 기본키가 변경될 경우, 변경 전 기본키를 참조하던 다른 테이블들의 외래키 설정을 수정할 필요가 없습니다.대부분의.. 2025. 3. 20. Java의 equals와 hashcode메서드 이해하기 Java 프로그래밍을 하다 보면 Object 클래스의 equals()와 hashCode() 메서드를 자주 보게됩니다. 이 두 메서드는 단순해 보이지만, 올바르게 이해하고 사용하지 않으면 예상치 못한 버그를 발생시킬 수 있습니다. 오늘은 이 두 메서드의 목적과 관계에 대해 자세히 알아보겠습니다. equals() 메서드 - 논리적 동등성의 기준Java에서 객체 비교를 이야기할 때 두 가지 관점이 있습니다:물리적 동등성(Reference Equality): '==' 연산자를 사용하여 두 객체가 메모리 상에서 동일한 위치(동일한 참조)를 가리키는지 확인논리적 동등성(Logical Equality): 두 객체가 서로 다른 메모리 위치에 존재하더라도 내부 값이 같은지 확인equals() 메서드는 바로 이 논리적 동.. 2025. 3. 16. 소프트웨어에서 정수가 아닌 실수를 다루는 법 컴퓨터는 데이터를 이진수 체계를 이용해 0과 1로 저장합니다. 정수를 저장할 경우 해당 정수를 이진수로 변환한 후 이를 메모리에 저장합니다. 10진수 정수를 우측부터 2^0, 2^1, 2^2... 에 해당하는 수로 변환하는 정수-이진수 변환은 비교적 간단합니다. 그런데 소수부가 포함된 125.275 같은 정수가 아닌 실수를 이진수로 변환하려면 어떻게 해야 할까요? 아무래도 정수의 이진수 변환과는 다른 규칙이 필요해 보입니다. 그리고 25.23423112342343243232444... 같은 긴 실수를 변환해야 할 경우를 생각해 보면, 두 실수 사이에는 무수히 많은 실수가 존재한다는 특성상 이를 유한한 비트로 나타내기는 쉽지 않아 보입니다. 그럼에도 불구하고 많은 소프트웨어에서 정수가 아닌 실수를 다뤄야 .. 2025. 3. 16. 이전 1 다음