✏️ 2022-12-09 Today I Learn

@mitoconcrete · December 09, 2022 · 7 min read

[TodayKeywords] 오늘 공부한 키워드

  • DB 설계순서 : 요구사항 수집/분석 -> 설계(개념적 -> 논리적 -> 물리적) -> DB 구현
  • ER모델 : Entity간의 Relationship. 이 관계를 다이어그램으로 그린다. Entity의 Attribute들도 이때 정의해준다.
  • 정규화 : 중복데이터를 없애서 관계를 단순화 하는 과정.
  • 1차정규화 : 원자성. 복수를 단수화 시켜 쪼갠다. 테이블의 데이터가 하나의 값을 갖도록 한다. ex) 추신수는 축구와 야구를 한다. -> 추신수는 축구를 한다. 추신수는 야구를 한다.
  • 2차정규화 : 완전함수적종속(부분종속제거). PK를 2개 이상을 엮어서 만드는 경우, 테이블에서 어떤 데이터가 PK 2개중 1개에만 의존이 되어 있다면, 그것은 따로 분리하여 뗴어낸다.
  • 3차정규화 : 2차 정규화가 이뤄진 테이블에 대해 이행적 종속제거(A->B, B->C, A->C의 경우)를 한다. 이걸 그냥 두면, B를 바꿨을때 C까지 일일히 찾아서 변경해주어야한다.
  • 단방향관계 : 두 엔티티가 관계를 맺을 때, 한쪽의 엔티티만 참조하고 있는 것을 의미한다.
  • 양방향관계 : 구 엔티티가 관계를 맺을 때, 양쪽이 서로를 참조하고 있는 것을 의미한다.
  • 연관관계의 주인 : 외래키를 저장하는 쪽이 주인이 된다. 외래키를 저장하는 쪽만이 CRUD할 수 있고, slave는 read만 가능하다.
  • return의 사용 : return 을 사용시, 그 함수를 사용하는 곳에서는 해당 메서드에 대한 의존이 생긴다. 따라서, 특별한 상황이 없으면 void부터 시작하여, 필요 시 return 을 해주는 형식으로 리팩토링해주는 것이 좋다.

[NextKeyworks] Study Queue

  • HTTPS
  • SOLID
  • loop label
  • CSV
  • 파일입출력
  • UML
  • UTC
  • epoch time / Instant time
  • MVC
  • URL ClassLoader
  • Secure ClassLoader
  • JNI
  • GC
  • HOF
  • 자바 해시코드
  • OSI 7 계층
  • PCB
  • 스프링 설계철학
  • RESTful
  • 준 영속성
  • 지연로딩
  • 프록시객체
  • jpa - mybatis 의 차이
  • orm - mapper 의 차이
  • 쿠키/세션/로컬 스토리지
  • 비즈니스 로직이란?
  • 파사드패턴
  • AOP
  • @RestCOntrollerAdvice
  • HttpMessageConverter

[회고] 221209 : 더닝크루거 효과 (우매함의 봉우리를 넘어서)

더닝크루거 효과는 인지편향 중 하나로서, 능력없는 사람이 자신의 능력을 과대평가하고, 능력있는 사람이 자신의 능력을 과소평가하는 현상이다. 이 이론을 처음알게된 계기는 Peak of "Mr. Stupid" 라는 개념이 인터넷에 밈처럼 돌아다니는 것을 보게 된 이후였다.

어떤 지식을 학습하고 이해하는 속도가 나쁜편이 아니라고 생각했던시절이 있었다. 따라서, 개발지식을 처음 습득하고 적용 할 때, 내가 아는 것이 전부인 것처럼 행동했던 기억이 있다. 사실 기억보단, 처음 웹개발 기술을 습득했을 때, 자신감이 거의 하늘을 뚫고 나갈 기세였던 기억이 있다. 취직도 곧바로 되었으니.. 그냥 내가 평균이상은 한다고 자만했던 것 같다. 지나고보니.. 이 때가 우매함의 봉우리의 정점에 있던 순간인 것 같다.

하지만, 이 생각은 여러 직장을 경험하면서 바뀌었다. 세상에 정말 많은 대단한 개발자들이 있다는 것을 깨닫고, 또 나와 같이 시작했거나 늦게 시작했지만, 나보다 더 많이 알고 개발에 대한 욕망이 많은 분들이 계시단 사실이 피부로 와닿게 되면서, 많이많이 겸손해진 것 같다. 지금은 거의 바닥에 깔려있는 수준이다..ㅋㅋ 우매함의 봉우리에 깃발을 꽂은 시절엔, '내가 생각한게 맞아! 너의 생각을 틀렸어!' 라는 태도로 다른 사람들이 다른의견을 주거나, 무슨 말을 했을 때 무조건 부정적으로 들렸다. 돌이켜보면, 시야가 정말정말정말 좁았다. 하지만, 겸손모드에 들어가면서 '내 생각도 맞지만.. 네 의견도 맞아..' 라는 태도로 변해서 이전보다는 많이 수용적이 된 것 같다.

어제와 같은 맥락이지만, 블로그에 썼던 지식이 모두 내 지식인 것 처럼 행동하기 시작하면.. 우매함의 봉우리에 쉽게 도달한다. 개발이라는 영역은 정말많은 정보가 쏟아지고, 주워담을 것들이 굉장히 많은 영역이기 때문에, 손쉽게 우매함의 봉우리에 도달하기 쉬운 환경을 지니고 있다. 따라서, 항상 우매해지는 것, 자만하는 자세를 경계해야겠다. 또한, 경계하고 있는 만큼 제대로 된 정보들을 제대로 습득하여, 제대로된 정보를 온전히 습득한 것에 대한 자신감이 충만한 개발자가 되고 싶다.

@mitoconcrete
어제보다 조금 더 성장하기 위해 기록합니다.