🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [100]일차🚀100일차에는 LMS 시스템이나 PMS 시스템, 혹은 백오피스가 있는 서비스 중 하나를 2차 팀 프로젝트로 기획하는 과정을 회고로 작성해보고자 한다. (2025.05.07) LMS (Learning Management System)"학습 관리 시스템"즉, 온라인 학습을 지원하고 관리하는 시스템을 가리킴1차 프로젝트에서의 블로그 서비스는 누구나 접근하는 범용적 소프트웨어이지만2차 프로젝트에서의 LMS는 시스템적이기때문에 기업적, 특정 그룹에서 사용하는 소프트웨어일 수 있다.➡️혹은 [사용자 UI 부분 + 관리자 대시보드 부분]까지 개발예를 들어보면1) B2C (비즈니스 to 커스토머) ➡️ ex. 블로그 (백오피스까지 구현해야함)..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [99]일차🚀99일차에는 1차 프로젝트로 블로그 프로젝트를 개발하면서 팀프로젝트의 중요성과 각자의 업무분담을 깃허브에서 관리하는 방법, Git Branch 생성 및 이슈 관리 등에 대해 회고해보고자 한다. (2025.05.02)모먼트리 블로그 저장소 GitHub - pickipi/momentree_blog: 멋쟁이사자처럼 백엔드 부트캠프 13기 1차프로젝트 결과 저장소입니다.멋쟁이사자처럼 백엔드 부트캠프 13기 1차프로젝트 결과 저장소입니다. Contribute to pickipi/momentree_blog development by creating an account on GitHub.github.com시연 영상1) 회원가입2) 로그인 및 ..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [96]일차🚀96일차에는 블로그 프로젝트를 개발하면서 필요했던 에디터 (Editor, 게시글을 작성할때 필요한 텍스트 박스 관련)에 대해 회고해보고자 한다. (2025.04.29) ❓블로그 프로젝트에서 에디터를 사용하는 이유 기존에는 input 태그(textarea)를 사용해 글을 입력받음텍스트 꾸미기 (굵게, 기울임, 색상) 지원 안 됨이미지 삽입 어려움코드 블록, 표 삽입 불가➡️이처럼 기본 input/textarea는 한계가 있음✅전문적인 블로그 기능을 위해서는 "WYSIWYG 에디터" 도입 필요WYSIWYG: "What You See Is What You Get"➡️작성하는 화면이 결과물과 똑같이 보이는 편집기대표적인 라이브러리 종류-..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [92]일차🚀92일차에 발생했었던 오류해결과정 및 수정사항을 회고하고자한다. (2025.04.23)유저 생성 후 팔로우를 하여도 해당 유저의 팔로잉 목록은 비어있는 문제 ⚠️오류원인- userId와 Id 경로 문제- LazyInitializationException 오류 발생➡️JPA의 지연 로딩(Lazy Loading) 관련 문제로, 트랜잭션 범위 밖에서 지연 로딩된 엔티티에 접근하려고 할 때 발생⌛진행과정1. 새로운 유저 생성 (기존에 가입된 유저가 "팔로우할" 유저를 새로 생성함)curl -X POST http://localhost:8090/api/v1/members/signup -H 'Content-Type: application/js..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [91]일차🚀91일차에 발생했었던 오류해결과정 및 수정사항을 회고하고자한다. (2025.04.22)🖇️기타 업데이트 사항- ERD 사진 엔티티 추가게시글에 여러 장의 사진이 들어가면서 사진 관리의 복잡도가 증가또한 S3에서 가져온 사진 URL을 저장할 필요가 생김이를 해결하기 위해, 사진 정보를 별도로 저장하는 Photo 엔티티를 도입사진 타입 컬럼 (photo_type) 사진의 용도를 구분하기 위해 PhotoType enum을 정의하여,- 프로필 사진 (PROFILE)- 게시글 메인 사진 (MAIN)- 게시글 추가 사진 (ADDITIONAL) 으로 나눔➡️해당 사진이 어떤 용도로 쓰였는지 빠르게 식별 가능URL 컬럼 (url) S3에서 사..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [89]일차🚀89일차 회고에는 프론트엔드에서 리액트의 상태관리에 대한 도구 개념을 학습해보았다.학습 목표 : 프론트엔드의 상태관리 시 사용할 수 있는 솔루션을 알게되는 것학습 과정 : 회고를 통해 작성리액트 상태관리프론트엔드의 상태 : 렌더에 관련된 값리액트는 독립적인 컴포넌트 단위로 구성되어있어서useState hook을 사용하여 하나의 컴포넌트에서 상태를 관리하고 props를 통해 부모-자식 간에 상태를 전파함 상태관리 툴을 사용해 효율적으로 상태 관리가 가능상태관리를 위한 툴로는 Context API, Redux, React Query, Zustand 등ZustandZustand란 상태라는 뜻을 가진 독일어단순화된 Flux 원리를 사용작..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [88]일차🚀88일차에 발생했었던 오류해결과정을 회고하고자한다. 원격저장소 브랜치와 로컬저장소 브랜치의 충돌 해결 ⚠️오류원인기존 원격 저장소의 develop브랜치가 제대로 동작되지 않는 것을 확인다른 인원이 판단 하에 기존 원격 저장소의 develop브랜치를 제거하고 새로운 develop브랜치를 생성하는 것으로 결정다른 인원들은 원격 저장소의 develop브랜치에서 작업한 feature/#이슈번호 커밋들을 올리고 있던 상황이때 원격 저장소의 develop브랜치가 삭제되었으므로 각자 인원들의 로컬저장소에서도 develop브랜치를 삭제한 후원격 저장소의 develop 브랜치를 받아오면서 최신화시켜야함⌛진행과정main 브랜치로 이동 후 forc..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [87]일차🚀87일차에는 프론트엔드 개발 착수를 위한 Next.js에 대한 학습을 할 수 있었다.학습 목표 : 프론트엔드에서 Next.js와 Cursor AI를 활용하여 개발을 진행할 수 있어야함학습 과정 : 회고를 통해 작성리액트와 Next.js의 차이점 ➡️리액트 - SPA (Single Page App)리액트는 라우터(Router)를 직접 구현해야한다 (=라우터의 구조를 직접 구현)이처럼 Router를 따로 정의해서 component형태로 넣어놔야 동작을 할 수 있는 원리 ➡️Next.js - SSR (Server Side Rendering)반면 Next.js는 이미 완성된 규칙을 따라간다.ex. 디렉토리 post에 page.tsx을 생..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [86]일차🚀86일차에 발생했었던 오류해결과정을 회고하고자한다.원격 브랜치를 로컬로 가져올때 로컬에는 해당 브랜치가 없는 경우 ⚠️오류원인원인을 분석해보면 GitHub에 새로 생긴 feature/#52 브랜치를 원격(origin)에서 받아왔는데아직 이 브랜치가 로컬(local)에 만들어지지 않았을때 발생하는 것이다.명령어를 분석해보면 git branch➡️ 로컬 브랜치 목록만 보여줌따라서 git pull을 할 때, 새 원격 브랜치를 알게 된 것뿐이고, 로컬에는 아직 그 브랜치가 없는 상태⌛진행과정git pull로 main브랜치에서 최신화된 내역을 가져올때[new branch] 로 feature/#52도 가져와진 것을 확인할 수 있지만git b..