[3팀 장루빈] Chapter 1-1. 프레임워크 없이 SPA 만들기 #57
Open
JangRuBin2 wants to merge 27 commits intohanghae-plus:mainfrom
Open
[3팀 장루빈] Chapter 1-1. 프레임워크 없이 SPA 만들기 #57JangRuBin2 wants to merge 27 commits intohanghae-plus:mainfrom
JangRuBin2 wants to merge 27 commits intohanghae-plus:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
과제 체크포인트
배포 링크
기본과제
상품목록
상품 목록 로딩
상품 목록 조회
한 페이지에 보여질 상품 수 선택
상품 정렬 기능
무한 스크롤 페이지네이션
상품을 장바구니에 담기
상품 검색
카테고리 선택
카테고리 네비게이션
현재 상품 수 표시
장바구니
장바구니 모달
장바구니 수량 조절
장바구니 삭제
장바구니 선택 삭제
장바구니 전체 선택
장바구니 비우기
상품 상세
상품 클릭시 상세 페이지 이동
/product/{productId}형태로 변경된다상품 상세 페이지 기능
상품 상세 - 장바구니 담기
관련 상품 기능
상품 상세 페이지 내 네비게이션
사용자 피드백 시스템
토스트 메시지
심화과제
SPA 네비게이션 및 URL 관리
페이지 이동
상품 목록 - URL 쿼리 반영
상품 목록 - 새로고침 시 상태 유지
장바구니 - 새로고침 시 데이터 유지
상품 상세 - URL에 ID 반영
/product/{productId})상품 상세 - 새로고침시 유지
404 페이지
AI로 한 번 더 구현하기
과제 셀프회고
기술적 성장
SPA를 만들어야하기 때문에 라우터를 직접 구현해야 했고 그 과정에서 히스토리 API에 대해 알게됐으며, event listenr로 생성한 이벤트는 클린업을 해주지 않으면 이벤트가 중복 생성되는 등 프레임워크를 사용할 때 고려하지 않았던 불편함을 직접 마주했습니다.
자랑하고 싶은 코드
사실 만족스러운 부분은 없습니다. 억지로 뽑아보자면 라우터 부분인데 잘 짠 코드는 아니지만 가독성은 나쁘지 않은 것 같습니다.
개선이 필요하다고 생각하는 코드
학습 효과 분석
가장 큰 배움이라 함은 도구 맞춤형 개발자가 되지 않으려면 CS지식이 필요하다는 것
이번주 과제에서 배운 히스토리 api, 이벤트 위임, clean up, mount, unmount 등 배운것에 대한 지식에 대한 정리를 할 예정
실무에서 프레임워크 사용 없이 spa를 구현할 일은 없지만 프레임워크를 사용하지 않는 라이트한 시스템을 개발해야한다면 이번에 배운 지식을 사용할 수 있을것 같다. => 그 외에는 생산성을 폭발적으로 올려주는 도구를 적극 활용할 것 같습니다.
과제 피드백
바닐라 자바스크립트를 사용해본적이 많이 없어서 불편했다.
사실 ts를 사용해도 된다고 하셨는데 과제에는 큰 영향을 주지 않았을 것 같다.
과제를 하면서 DOM을 직접 핸들링하는게 오랜만이었고 시대를 역행하는 느낌...? 라이브러리나 프레임워크에 대한 고마움이 커졌다.
그래도 알고 쓰는 것과 모르고 쓰는 것에 차이는 확실히 있고 이번에 한 과제를 설명하라고 하면 설명은 할 수 있을 것 같습니다.
AI 활용 경험 공유하기
chat GPT를 활용했는데 모르는게 있을 때 마다 질문하는 식으로 사용해서 효율성은 그닥 좋지 않았던 것 같습니다.
다른분들은 설계를 먼저하고 베이스 컴포넌트 개발을 AI를 시켰다는데 저도 다음에 참고 할 예정입니다.
리뷰 받고 싶은 내용
클래스를 사용하는 이유가 궁금합니다. 개발을 하다보면 결국 객체지향형 프로그래밍을 하게 된다는데 클래스를 사용하지 않더라도 객체 지향적으로 개발하면 되지 않나요?
ai를 잘 쓰는 방법이 궁금합니다. 제가 줏대가 없는걸지도 모르겠는데 "AI한테 알려주고 시키는 것도 실력이다.", "AI가 다 하면 나는 대체 가능한 사람이 되는 건데...그러면 어떤 개발자가 되야하는가" 이런 생각이 공존하는 것 같습니다.
제가 최근 경험을 예시로 들면 최근 프로젝트에서 shardcn이라는 component/ui를 사용하게 되면서 반복적으로 작업하는 코딩은 ai를 시켜서 작성하고 주요 로직을 구현하는 쪽으로 진행을 하려고 했는데... 그렇게 되면 다른 누군가에게 shardcn사용 경험이 있다고 말 할 수 있을까?라는 생각이 들더라고요. 이것에 대한 테오의 생각이 궁금해요
얼마전 멘토링에서 FE는 생각보다 빨리 고점에 도달한다고 하셨는데... 이부분 동의 합니다. 제가 물론 고점을 찍을 수 있을지는 모르겠지만 FE는 조만간 AI로 대체가 될거라고 생각해요. 그러면 BE로 가야하는가? 라고하면 그건 너무 단순한 발상인 것 같습니다.
개발자라는 직업으로 먹고 사는게 그렇게 전망이 좋아보이진 않습니다. 테오는 어떻게 생각하세요?
코드가 전반적으로 구조를 잘 짰다고 보기엔 어려운 것 같습니다. 하지만 제가 회사에서 사용하는 작성법과 크게 다르냐 하면 아닌 것 같습니다. 그런부분에서 봤을 때 구조를 잘 만들려면 어떤 부분을 고려해서 만들어야하는지 3가지만 알려줄 수 있을까요?