Search
Duplicate
📁

19주차 수업

19주차 수업 전 공부 진행 및 과정

18주차때 중요 질문들
김영한님 강의 DB 1편 6 / DB 2편 1,2,3
프로젝트 모임 게시글

19주차 수업 진행

18주차 중요질문
김영한님 강의 DB 1편 6 / DB 2편 1,2,3
프로젝트 코드 리뷰

멘토님 중요 질문.

SQL Mapper vs ORM
기본 인덱스 vs 보조 인덱스
index 자료 구조 형태
jpa ddl-auto
flyway
fetch join
explain query

19주차 멘토링 느낀점

사실 저번주 중요 질문이 많기도 했고 평소랑 다르게 중요도가 배로 더 있어보이는 질문들이라 더 더 더 많이 찾아봤다!
전에 리플렉션 관련해서 찾아봤었는데 이번엔 장단점에 대해서 설명해주세요
🥹
장점으로는 스프링 같은 프레임워크 개발할때 어노테이션 등에서 유용하고 컴파일할 때 클래스나 메소드 관련해서 런타임에 동적으로 사용할 수 있는 유연성을 가지고 있어요 그리고 JSON 라이브러리에서 리플렉션을 사용해서 직렬화랑 역직렬화 할 수 있고 단점으로는 일반 메소드 호출보다 느린데.. 왜 느린지 찾아보니까 JVM이 JIT 컴파일러가 자주 호출되는 메소드를 기계어로 변환하고 최적화 시키는데 리플렉션은 런타임에 동적으로 작동해서 JIT 컴파일러가 해당 메소드를 미리 알 수 없어서 최적화를 할 수 없어가지고 느립니다! 그리고 메소드 이름을 잘못된 이름으로 사용하면 런타임에 예외가 발생해요
객체 지향 관점으로 생각해 봤을 때 어떤 이슈가 있을 까요?
🫠
아! private에 접근이 가능해서 .. 캡슐화를 위반한다고 봤던거 같습니다
잘 찾아보셨네요!
이번 멘토링도 전 주 멘토링보다 더 너무너무 재미있었다 (이번엔 대답 잘해서)
계속 이래야 할텐데~
그리고 멘토님이 피드백으로 극찬해주심!
19회차 통틀어서 역대급 칭찬이라 처음이자 마지막일꺼 같아서 자랑
기분이 좋다!
그리고 사이드 프로젝트에서 이번에 코드 리뷰로 달아주신 부분들이 다 중요한 부분들이라 찾아볼때 멘토링때 하는 중요질문하고 연결되는 것들이 많아서 두 배로 도움이 된거 같다.
예를 들면 이번에 트랜잭션 락에 대해서 찾아보다가 이제 프로젝트에서 비관적 락, 낙관적 락 까지 적용해봤고,
인덱싱도 코드 리뷰를 통해서 찾아보다가 강의 들을 때 미리 예습한거 같아서 도움이 됨~

개인적인 질문

실제로 회사에서도 DB 관리툴로 플라이웨이를 많이 사용하나요?
→ 실제 멘토님 회사에서도 사용하고 있다.
사이드 프로젝트 중에 좋아요 관련해서 동시성 문제때문에 낙관적 락으로 진행하다가 비관적 락으로 변경해서 진행한게 옳은 판단이였을까요?
→ 보통 비관적 락으로 진행 많이하고 비관적 락이 실행 이전에 락을 거니까 오류가 발생하지 않고, 낙관적 락은 맨 마지막에 충돌이나면 오류가 발생할 수 있다. 그래서 성능 퍼포먼스 자체는 낙관적 락이 속도면에서 빠르긴 한데 대신 충돌해서 오류가 발생할 위험이 있다.

다음주까지

19주차 중요 질문 정리 및 깊게 이해하기
김영한님 DB 2편 4,5,6챕터
사이드 프로젝트 코드리뷰 답변 및 다음 진행
매주 1 질문 할거 생각하기.