TIL-20210402

2021. 04. 03.
  • was프로젝트에서 readLine이 안 되는 정확하지는 않지만 정확에 가까운 결론은 라인 종료 문자가 없는 상태로 스트림이 끝나지 않아 네이티브 소켓 메소드(네이티브 안은 디버깅이 불가능했다. OpenJDK라서 안된다는 말도 있는 것 같은데 오라클로 테스트해봐도 괜찮겠다)에서 응답이 오지 않는다.
  • 이어서 했던 DB 수업은 ERD와 설계에 관한 얘기였다. entity-relation-table로 기억하면 될 듯 하다. 인공키와 대체키의 장단점도 봤는데 그럼에도 대체키가 더 좋아보인다. 확증 편향일지도 모르겠다.

    내가 정규화를 이해하기 어려운 이유가 너무 설계 관점에서 생각을 했기 때문일지도 모르겠다. ERD 설계를 완료하고나면 자연스럽게 3정규형을 만족한다고 하니, 잘 와닿지 않았던 것 같다.

  • 해쉬 테이블과 트리 까지 얕게 살펴보고 과제를 제출했다. 코드가 너무 어렵게 짜져있어서(어렵다기 보다는 직관적이지 않아서 알아보기 힘들게...) 이해가 잘 안되던 부분이 있었다. 해쉬테이블의 충돌을 해결하는 방법들을 구현하는 부분이었는데, 크게는 오픈과 클로즈를 컨셉으로 잡고 하는 듯 하다. 오픈은 이어 붙이는 것이고 클로즈는 내부에서 해결하는 컨셉. 충돌이 발생하기에 어쨌든 추가적인 테이블이 생겨야 한다. 찾아낸 해쉬값을 토대로 정확히 키값이 일치하는지 한 번 더 검증해야 하기 때문이다. 예를 들어 해쉬값이 0인 키값 'a'이라면 해쉬 테이블 0번에 ['a', value]와 같이 저장이 된다. 이게 처음에는 잘 와닿지 않았다. 반드시 O(1)이어야 한다는 생각 때문이었던 것 같다.
정대화
DaeHwa_Jeong@outlook.com

Powered with by Gatsby 2.0