크래프톤 정글 1기 수료 후 개발자 취업까지: 2023년 회고록
2023년 3월 크래프톤 정글 1기를 수료하고 거의 1년이란 시간이 지났다. 수료 후 취업 준비, 회사 적응 등의 핑계로 미루고 미뤄웠던 정글 후기와 2023년의 회고를 늦게나마 작성한다. 2023년 회고 2022년 10월, 크래프톤 정글 합격 소식을 듣자마자 망설임 없이 인생의 2번째 퇴사를 결심했다. 총 2년 6개월 동안 두 회사에서 네...
2023년 3월 크래프톤 정글 1기를 수료하고 거의 1년이란 시간이 지났다. 수료 후 취업 준비, 회사 적응 등의 핑계로 미루고 미뤄웠던 정글 후기와 2023년의 회고를 늦게나마 작성한다. 2023년 회고 2022년 10월, 크래프톤 정글 합격 소식을 듣자마자 망설임 없이 인생의 2번째 퇴사를 결심했다. 총 2년 6개월 동안 두 회사에서 네...
Real MySQL 8.0 5장 트랜잭션을 학습한 내용입니다. 트랜잭션 트랜잭션은 논리적인 작업 셋이 저장을 하거나 실패 시 원상태로 복구해서 작업의 일부만 적용되는 현상을 발생하지 않게 해준다. 잠금(Lock)과 비슷하나 목적에서 차이가 있는데 잠금은 동시성을 제어하기 위한 기능이고, 트랜잭션은 데이터의 정합성을 보장하기 위한 기능이다. ...
김영한님의 Spring MVC 1편을 정리한 내용입니다. 서블릿 @ServletComponentScan 스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 어노테이션을 지원한다 @WebServlet 서블릿 어노테이션 name : 서블릿 이름 urlPatterns : URL 맵핑 HttpServletRequest 서블릿은 개발...
코드 리뷰 연동 프로젝트를 시작한지 1달 정도가 지나고 있다. 그동안 혼자 프로젝트를 진행하다보니 설계, 기능 구현, 테스트에 집중하여 코드 품질을 미처 챙기지 못하였다. 이번에 동료 개발자분께서 프로젝트에 합류하게 되면서 구현했던 코드에 대해 리뷰 받을 기회가 있어서 변경 전과 변경 후 코드에 대해 비교하는 글을 써보고자 한다. 리팩토링한 실...
스프링 테스트 코드를 작성하면서 테스트 관련 어노테이션이 너무 다양하고, 무엇을 위해 쓰는 지 몰라서 원하는 대로 테스트 코드를 작성하기가 어려웠다. 테스트 코드 관련 내용을 차근히 정리할 필요성을 절실히 느끼게 되었다. @SpringBootTest(통합 테스트) 애플리케이션 컨텍스트(빈, 설정, 구성 요소 )등을 로드하는 테스트 어노테이션...
Spring AOP 스프링 AOP를 사용하면 로깅, 보안, 트랜잭션 등 공통적인 관심사를 모듈화하여 코드 중복을 낮추고, 유지 보수성을 높힐 수 있다. AOP(Aspect-Oriented Programming) 은 객체 지향 프로그래밍(OOP)를 보완하는 기술로 메소드나 객체의 기능을 핵심 관심사(Core Concern)와 공통 관심사(Cros...
캐시의 필요성 외부 시스템과 연동하는 프로젝트를 진행 중인데, 연동하는 데이터들은 수정이 적고 조회는 빈번하기 때문에 캐시에 연동 정보를 저장하면 DB 조회를 줄여 성능을 개선할 수 있기에 캐시 도입을 알아보게 되었다. 스프링 캐시 특징 스프링에서는 Bean의 메소드에 캐시를 적용할 수 있는 기능을 제공한다. 스프링의 캐시 추상화는 AOP를...
김영한의 실전 자바 기본편에서 학습한 내용을 정리한 글입니다. 자바에서의 대입? 항상 변수의 값을 복사해서 대입한다. 기본형(Primitive Type)이면 변수에 들어있는 실제 사용하는 값을 복사하여 대입하고 참조형(Reference Type)이면 변수에 들어있는 참조값을 복사하여 대입한다. 참조형이란? 데이터에 접근하기 위한...
원티드 프리온보딩 백엔드 챌린지 아키텍쳐 설계을 정리한 내용입니다. 1.메시지 큐 1.1 메시지 큐란 생성자는 이벤트를 발행하여 메시지 큐에 보관하고, 메시지큐는 소비자가 꺼낼 때까지 안전하게 저장한다. 비동기 통신 매체이다. 1.2 장점 서비스 또는 서버 간 결합을 느슨하게 해주기 때문에 규모 확장성이 보장되어야 하는 어플리케이션을 안...
원티드 프리온보딩 백엔드 챌린지 아키텍쳐 설계을 정리한 내용입니다. 1.데이터 베이스 다중화 1.1목적 대부분의 어플리케이션은 쓰기보다 읽기 연산이 많기 때문에 성능을 위해 데이터 변경은 주 DB로하고, 읽기 연산은 부 데이터베이스 서버들로 분산한다. 1.2개념 주 데이터베이스(Master) Insert, Update, Delete...