반응형
우아한테크코스에서 진행되는 레벨로그의 경험을 기록한 글입니다.
목차
1. 레벨 로그
2. 피드백
📚 레벨 로그
제출한 레벨 로그를 바탕으로 좀 더 디테일하게 풀어냈다.
JDBC
- 과거 DB마다 다른 연결 방법이 달라 어려움을 겪던 개발자들을 위해 등장
- JDBC 기능
- Connection: 연결
- Statement: SQL을 담은 내용
- ResultSet: SQL 요청 응답
- JDBC를 구현한 것이 JDBC 드라이버 (각 DB 사에서 제공)
- 일반적으로 자주 사용하는 부분만 공통화 -> 한계 -> SQL Mapper와 ORM 등장
SQL Mapper
- ex: Spring의 JdbcTemplate
- JDBC 사용으로 인한 반복되는 코드 제거
- SQL 응답 결과를 편하게 객체로 변환
- SQL 수동 작성
ORM; Object Relational Mapping
- ex: JPA - Hibernate
- 반복적인 SQL을 직접 작성하지 않음
- 러닝 커브가 높음
@ExceptionHandler
- 특정 예외를 공통적으로 처리할 수 있음
- controller 내부에서 사용하면 해당 컨트롤러만 처리
의존성 주입
- 생성자 주입
- final 키워드 사용 가능
- 테스트 코드 작성 용이
- 초기화하지 않은 값을 사용해 NullPointerException이 발생하는 경우 방지
- 세터 주입
- 의존 관계 수정 쉬움
- 필드 주입
- 의존 관계 파악 어려움
- 여러개 사용하는 경우 생성자 -> 세터 -> 필드 순으로 호출됨
@RequestBody와 빈 생성자
- 클라이언트로부터 값을 받으면 해당 값을 읽을 수 있는 Converter 찾음
- JSON은 Jackson2HttpMessageConverter 사용
- 내부에서 ObjectMapper를 이용해 객체로 변환
- ObjectMapper는 Reflection을 이용해 객체로 변환
- Reflection은 빈 생성자 필요
트랜잭션
- DB 상태를 변환 시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위
- 비즈니스 로직과 트랜잭션 코드를 분리하기 위해 Spring은 아래 기술 지원
- TransactionTemplate: 트랜잭션에 대환 추상화 지원
- getTransaction()
- commit()
- rollback()
- @Transactional
- TransactionTemplate: 트랜잭션에 대환 추상화 지원
컴포넌트 스캔
- 스프링이 직접 클래스를 검색해 빈으로 등록해주는 기능
- @Component로 빈 등록 가능
- 특정 어노테이션을 컴포넌트 스캔이 가능하도록 설정 가능
CORS 에러
- 출처: 스킴 + 호스트 + 포트
- 다른 출처에 존재하는 자원에 접근하고 싶다면 CORS를 이용
- CORS: 접근 권한을 줄 수 있도록 브라우저에 알려줄 수 있는 체제
- 브라우저 -> 서버 Origin에 출처 포함
- 서버 -> 브라우저 Access-Control-Allow-Origin 허용된 출처 포함
- 브라우저에서 1과 2 값 비교해 유효성 검증
Optional은 메서드 반환 값으로만 사용하라
- Optional은 null 반환 시 오류 발생 가능성이 높은 경우에 '결과 없음'을 명확하게 드러내기 위해 설계
-> 메서드 반환 타입으로 사용되도록 매우 제한적으로 생성 - 파라미터로 사용 시 메서드에 조건부 로직 유도
- 직렬화 시 필요한 Serializable 인터페이스 미구현
💡 피드백
받은 피드백
브라운, 배카라, 마루, 리차드, 썬, 헌치 감사해용 <3
- 본인의 생각을 잘 말해줌
- 코드나 경험 기반 설명 굿
- 시선 처리나 면접관과 아이컨택 굿
- 상황 대처 능력이 좋음
- 너무 빨리 대답하려 하지 말고 텀을 두고 대답하기
- 당황하면 말이 빨라짐
- 목소리 떨림
- ~에 따르면 이라기보다는 내 생각을 말하기
셀프 피드백
- 긴장 -> 목소리 톤이 높아짐 -> 목 아파서 자꾸 떨림 (악순환)
기타
- 면접은 지식 뽐내기가 아닌 내가 어떤 사람인지 뽐내는 시간
- 면접관으로서 내가 어떤 사람과 동료가 되고 싶은지 생각할 수 있는 질문을 생각해보기
- 긴장을 푸는 제스쳐를 정하고 긴장될 때마다 제스쳐 하기
- 못하는거 보충하는 것도 좋지만 잘하는 것을 어필할 방법 생각해보기
학습할 것
- Spring bean이 어떤 식으로 등록되는지 과정
(추가 키워드: 프록시)
반응형
'Memo > 우테코 4기' 카테고리의 다른 글
[우테코/줍줍] 2차 스프린트 회고 (4) | 2022.07.22 |
---|---|
[우테코/줍줍] 1차 스프린트 회고 (12) | 2022.07.11 |
[우테코] 장바구니 미션 1~2 단계 학습 로그 (2) | 2022.06.14 |
[우테코] 지하철 경로 미션 1~2 단계 학습 로그 (2) | 2022.05.29 |
[우테코] 지하철 노선도 미션 1~2 단계 학습 로그 (0) | 2022.05.18 |