반응형

전체 글 173

패스트캠퍼스 환급챌린지 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 최종 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.1. 환급챌린지에 참여한 이유는 무엇이었는지? 시작하기전 에는 56일동안 강의 1개씩 듣는 거는 정말 쉬울 거라고 생각했습니다. 하지만 56일동안 매일 강의를 듣는 것은 생각보다 어려웠습니다. 매일 글을 작성하는 거는 더욱 어려웠습니다. 환급챌린지를 성공적으로 마무리 할 수 있어 무척 기쁩니다.개발자로 역량을 키우기 위해 꾸준히 공부해야 한다는 것을 느끼고 있었습니다. 하지만 혼자서는 끈기있게 학습을 지속하기 어려웠어요. 업무와 개인적인 일상에 치이다 보니 공부 시간을 만들기가 매우 힘들더라고요. 그래서 결국 흐지부지 되더라고요. 그러던 중 패스트캠퍼스에서 우연히 발견한 환급챌린지를 보고 저를 강제적으로 공부를 할 수 있게 해줄 것 같아..

카테고리 없음 2025.05.12

패스트캠퍼스 환급챌린지 56일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다Transaction 트랜젝션의 이론 트랜젝션은 여러 오퍼레이션을 하나의 논리적인 작업으로 실행하는 기능이다Transaction의 문제점Lost Reads두 트랜잭션이 같은 데이터를 업데이트해서 하나의 업데이트가 손실되는 경우Dirty Reads아직 Commit 되지 않은 값을 다른 트랜잭션이 읽는 경우Non-repeatable Reads한 트랜잭션에서 데이터를 두번 읽을때 다른 결과가 나오는 경우Phantom Reads첫 Read 이후에 다른 트랜잭션에서 데이터를 추가한 경우데이터베이스 트랜잭션 이론을 학습하면서, 단순히 데이터베이스 조작의 묶음이라는 표면적인 이해를 넘어 데이터 무결성을 보장하고 동시성 제어를 통해 안정적인 시스템 운..

카테고리 없음 2025.04.29

패스트캠퍼스 환급챌린지 55일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다 기본적인 find 메서드 대신 Query Builder를 사용한 코드를 학습하면서, 데이터베이스 쿼리 구성의 유연성을 확보하고, 연관된 데이터를 효율적으로 로딩하는 방법에 대한 깊이 있는 이해를 얻을 수 있었습니다.첫째, leftJoinAndSelect를 통한 연관 데이터의 효율적인 로딩의 중요성을 명확히 인식하게 되었습니다. findAll과 findOne 함수 모두에서 leftJoinAndSelect 메서드를 사용하여 movie 엔티티와 연관된 director, genres, 그리고 detail 엔티티를 한 번의 쿼리로 함께 로딩하는 방식을 채택한 것은 N+1 문제를 방지하고 데이터 조회 성능을 최적화하는 데 매우 효과적인 전략입니다..

카테고리 없음 2025.04.28

패스트캠퍼스 환급챌린지 54일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다TypeORM Query Builder 학습 후 느낀 점과 인사이트TypeORM의 Query Builder를 학습하면서, ORM의 편리함을 넘어 데이터베이스 쿼리를 직접 제어하고 최적화할 수 있는 강력한 도구를 익히게 되었다는 깊은 인상을 받았습니다. 단순히 제공되는 메서드를 사용하는 것을 넘어, SQL에 대한 이해를 바탕으로 복잡한 데이터 조회 및 조작 로직을 유연하게 구현할 수 있다는 점이 가장 큰 매력으로 다가왔습니다.첫째, ORM의 추상화 너머 데이터베이스 동작 방식에 대한 이해의 중요성을 절실히 느꼈습니다. TypeORM의 find 메서드와 같은 기본적인 API는 개발 생산성을 크게 향상시키지만, 복잡한 조건이나 조인이 필요한 ..

카테고리 없음 2025.04.27

패스트캠퍼스 환급챌린지 53일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다PATCH 엔드포인트와 특정 영화 정보를 조회하는 GET 엔드포인트를 업데이트하는 작업을 학습하면서, API 설계의 유연성과 효율적인 데이터 관리 및 제공 방식의 중요성을 더욱 깊이 깨닫게 되었습니다. 특히, HTTP 메서드의 의미에 따른 적절한 사용, 데이터 조회 최적화, 그리고 클라이언트 요구사항에 부합하는 응답 설계의 중요성을 강조하게 되었습니다.첫째, PATCH 메서드의 의미와 부분 업데이트의 장점을 명확히 이해하게 되었습니다. PUT 메서드가 리소스의 전체를 대체하는 데 반해, PATCH 메서드는 리소스의 일부분만 업데이트하는 데 사용됩니다. 이는 불필요한 데이터 전송을 줄이고, 클라이언트가 변경하고자 하는 특정 정보만 서버에 ..

카테고리 없음 2025.04.26

패스트캠퍼스 환급챌린지 52일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다4POST Movie 엔드포인트를 구현하는 과정을 학습하면서, 클라이언트의 요청을 받아 데이터를 검증하고, 데이터베이스에 저장하며, 성공적인 응답을 반환하는 백엔드 개발의 핵심적인 흐름을 더욱 깊이 이해하게 되었습니다. 특히, 데이터 유효성 검사, 데이터베이스 상호작용, 그리고 응답 상태 코드 및 형식의 중요성을 다시 한번 강조하게 되었습니다.첫째, 클라이언트로부터 전달받는 데이터를 안전하게 처리하기 위한 유효성 검사의 필수성을 명확히 인식하게 되었습니다. 사용자가 입력한 데이터는 언제나 예상치 못한 형태나 값을 포함할 수 있습니다. 따라서 POST 요청으로 영화 정보를 받을 때, DTO(Data Transfer Object)와 Vali..

카테고리 없음 2025.04.25

패스트캠퍼스 환급챌린지 51일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다Movie 엔티티와 Genre 엔티티 간의 @ManyToMany 관계를 설정하고, 이를 위한 API 엔드포인트를 구현하는 과정을 학습하면서 관계형 데이터베이스 모델링의 복잡성과 유연성, 그리고 다대다 관계를 효율적으로 관리하기 위한 전략의 중요성을 깊이 깨달았습니다. 특히, 중간 테이블(Join Table)의 역할과 데이터 연결 및 관리 방식에 대한 이해를 넓힐 수 있었습니다.첫째, 현실 세계의 복잡한 다대다 관계를 데이터베이스로 효과적으로 표현하는 @ManyToMany 관계의 강력함을 실감했습니다. 하나의 영화가 여러 장르에 속할 수 있고, 하나의 장르에 여러 영화가 속할 수 있는 다대다 관계는 현실 세계에서 흔히 발생하는 복잡한 관계..

카테고리 없음 2025.04.24

패스트캠퍼스 환급챌린지 50일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다TypeORM의 unique 및 nullable 제약 조건 학습을 통해 데이터베이스 스키마를 정의할 때 데이터의 무결성을 유지하고, 애플리케이션의 요구사항을 정확하게 반영하는 것이 얼마나 중요한지 다시 한번 깨닫게 되었습니다. 단순히 컬럼의 속성을 정의하는 것을 넘어, 데이터베이스 수준에서 데이터의 품질을 관리하고 잠재적인 오류를 방지하는 강력한 메커니즘임을 이해했습니다.첫째, unique 제약 조건의 중요성과 데이터 중복 방지의 필요성을 명확히 인식하게 되었습니다. 특정 컬럼의 값이 데이터베이스 테이블 내에서 고유해야 하는 경우 (예: 사용자 ID, 이메일 주소), unique 제약 조건을 설정함으로써 데이터의 중복을 방지하고 각 레코..

카테고리 없음 2025.04.23

패스트캠퍼스 환급챌린지 49일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다Movie 엔티티와 Director 엔티티 간의 관계를 설정하고, 이 관계를 기반으로 데이터를 생성, 조회, 수정하는 CRUD 작업을 학습하면서 데이터 모델링의 복잡성과 관계형 데이터베이스 설계의 중요성을 더욱 깊이 이해하게 되었습니다. 특히, 외래 키를 통한 엔티티 연결 방식, 양방향 관계 관리, 그리고 데이터 일관성 유지를 위한 전략의 필요성을 절실히 느꼈습니다.첫째, 엔티티 간의 관계 설정을 통해 데이터 모델을 풍부하게 표현하고, 애플리케이션의 도메인 지식을 명확하게 반영하는 것의 중요성을 깨달았습니다. 영화와 감독 간의 관계는 현실 세계에서 매우 자연스러운 연결 고리입니다. @ManyToOne 또는 @ManyToMany 관계를 통..

카테고리 없음 2025.04.22

패스트캠퍼스 환급챌린지 48일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다NestJS를 이용하여 Director 엔티티에 대한 CRUD작업을 구현하고, 이를 위한 API 엔드포인트를 완성하는 과정을 학습하면서 백엔드 개발의 핵심적인 흐름을 더욱 명확하게 이해하게 되었습니다. 특히, 클라이언트의 요청을 받아 데이터베이스와 상호작용하고, 응답을 반환하는 일련의 과정을 직접 구현해보면서 API 설계 및 개발의 중요성을 실감할 수 있었습니다.첫째, RESTful API 설계의 중요성과 각 HTTP 메서드의 역할을 다시 한번 강조하게 되었습니다. Director 엔티티를 위한 엔드포인트를 설계하면서 POST (생성), GET (조회), PUT/PATCH (수정), DELETE (삭제)와 같은 각 HTTP 메서드가 수행..

카테고리 없음 2025.04.21
반응형