이 글은 실제 히빗 프로젝트(ver.2)를 혼자서 개발하면서 경험한 내용을 정리한 글입니다.
이전 히빗 프로젝트(ver.1)에서는 테스트 코드를 도입하지 못했다. 정확히 말하면 하지 않았다.
작년 4월부터 11월까지 진행했던 팀 프로젝트인 히빗(ver.1) 을 진행하면서, 초반에는 테스트 코드를 작성하려고 노력했다.
소셜 로그인 기능에 대한 단위 테스트와 통합 테스트를 작성하면서 얻은 경험을 정리하고 팀원들과 공유하기도 했지만, 각 팀원들이 히빗 팀 프로젝트 외에 다른 곳에도 시간을 할애해야 했기 때문에 이뤄지지 못했다.
나 또한 히빗 프로젝트 뿐만 아니라 여러 활동에 참여하고 있어서, 시간이 갈 수록 테스트 코드를 작성하는 것에 대한 시간을 투자하지 못했다.
그러나 9월부터 QA 작업을 진행하면서 정말 많은 에러들이 발생했다.
어느 부분에서 예외가 발생하였고, 어떤 현상이 발생했는지 아래와 같이 세부 기능별로 기록했다.
이 글은 스프링 DB 1편 - 데이터 접근 핵심 원리 강의를 듣고 정리한 내용입니다.
Spring의 Transaction에 대한 심층적인 이해를 위해 “Spring의 Transaction 정리 (@Transactional)”이라는 주제로 글을 작성하려고 한다.
이전에는 데이터베이스 교재를 통해 트랜잭션과 트랜잭션 격리 수준을 공부하며 관련 개념을 정리했다.
그러나 팀 프로젝트에서는 @Transactional
어노테이션을 사용하면서도 실제로 어떻게 트랜잭션을 관리해야 하는지 제대로 알지 못했다..
이에 따라서 이번 기회에 Spring의 Transaction에 대해서, 그리고 @Transactional
어노테이션이 왜 도입하게 되었고, 어떻게 사용하고 있는지 알아가보자.
이 글은 스프링 DB 1편 - 데이터 접근 핵심 원리 강의를 듣고 정리한 내용입니다.
커넥션 풀을 배우기 전에, 먼저 기존 데이터베이스에서 커넥션을 획득하는 과정에 대해 알아보자.
데이터베이스 커넥션을 획득할 때는 다음과 같은 복잡한 과정을 거친다.
DB 드라이버
를 통해 커넥션을 조회한다.TCP/IP
커넥션을 연결한다. 이 과정에서 3 way handshake와 같은 TCP/IP
연결을 위한 네트워크 동작이 발생한다.
TCP/IP
커넥션이 연결되면 ID, PW와 같은 부가정보를 DB에 전달한다.이렇게 커넥션을 새로 만드는 것에 대한 과정이 복잡하고 시간도 많이 소모된다.
이 글은 스프링 DB 1편 - 데이터 접근 핵심 원리 강의를 듣고 정리한 내용입니다.
애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스
에 보관한다.
클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버
는 다음 과정을 통해 데이터베이스
를 사용한다.
일반적으로, 애플리케이션 서버와 DB는 아래와 같은 순서로 진행된다.
2024 Dev History
인프런 강의: 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복
인프런 강의: 김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵
인프런 강의: Kotlin
서버 개발과 관련된 책
개인 프로젝트: Hibit (version 2)
240101 ~ 240107
[Programmers] SQL - Join 문제 - 오랜 기간 보호한 동물(1), 없어진 기록 찾기(1), 있었는데요 없었습니다, 주문량이 많은 아이스크림 조회하기
240108 ~ 240114
[Spring MVC 2편] 파일 업로드, 다운로드 강의 수강
240115 ~ 24021
240122 ~ 240128
240129 ~ 240204
240205 ~ 240211
240226 ~ 240303
240311 ~ 240317
[Kotlin] 자바 개발자를 위한 코틀린 입문 강의 - 정리
섹션1. 코틀린에서의 변수와 타입, 연산자를 다루는 방법
섹션2. 코틀린에서 코드를 제어하는 방법
섹션3. 코틀린에서의 OOP
섹션4. 코틀린에서의 FP
240318 ~ 240324
[Kotlin] 실전! 코틀린과 스프링 부트 실습 강의 - 정리
섹션1. 도서관리 애플리케이션 리팩토링 준비하기
섹션2. Java 서버를 Kotlin 서버로 리팩터링하자!
섹션3. 첫 번째 요구사항 추가하기 - 책 분야 (Enum 활용)
섹션4. 두 번째 요구사항 추가하기 - 도서 대출 현황 (N+1 문제 해결)
240325 ~ 240331
240429 ~ 240505
240621
240819 ~ 240825
240902 ~ 240908
240909 ~ 240915
240916 ~ 240922
2401021 ~ 241027
241028 ~ 241103
20241104 ~ 20241110
20241118 ~ 20241124
20241209 ~ 20241215
20241231