도큐사우루스 블로그
프로젝트 진행
- 요구사항을 정리하고 도식화
- 업무 프로세스와 기능을 단순화
- 사용자에 맞는 UI 제작
배운 내용 정리
- 읽고 배운 내용을 정리
- 주제에 벗어나지 않고 정리
- 예제 코드를 분석하고 정리
자기소개서
- 짧고 간결한 표현을 사용
- 이해를 돕는 시각화 자료 준비
- 5페이지 이내의 크기로 작성
회고록 작성
- 블로그 제작 과정을 기록
- 배운 내용을 정리
- 버전관리를 신경쓰며 커밋
1개월 동안 과제를 수행하고 제출하는 방식으로 진행됐던 워밍업 클럽이 4월 4일 진행되는 수료식을 마지막으로 끝이 납니다.
1. FE(★★★☆☆)
과제 제출에 눈치가 보일 정도로 참여도가 저조한 강의였습니다. 아마도 과제의 제출 요구 사항이 지나치게 엄격했기 때문일 수도 있습니다. 또한, 강의가 기능 위주로만 설명하다 보니, 페이지 기초가 부족한 사람들은 과제를 제출하는 것 자체가 어려웠을 것이라고 생각됩니다. 더해서 중간 점검에서 하신 말씀 중 과제는 우수 러너 선정 기준이라는 말씀이 오히려 참여도를 떨어뜨리게 되었다고 생각합니다.
따라하며 배운다는 테마를 강조한 강의였지만 정작 따라하며 진행하는 부분이 적습니다. 대부분 수강생이 클론 코딩을 하며 과제도 동시에 진행할 수 있는 것을 예상하고 신청했을 것인데, 정작 과제가 테마에 맞는 페이지 기능을 구현한 40초 남짓의 영상을 보고 프로젝트를 0 부터 수행하는 것이었기 때문에 많은 사람이 포기햇을 것으로 보입니다.
프로젝트 구상에 필요한 내용들과 리엑트 기능 구현, 컴포넌트화를 잘 알 수 있고, 전역 상태관리에 대한 것과 Git 배포에 대한 내용도 배울 수 있습니다. 리엑트를 제대로 활용하고 있지 못한다는 생각이 들 때 한 번씩 들으면 좋은 강의라고 생각합니다.
2. BE(★★★★☆)
가장 많은 사람들이 수강했고 그 영향 때문인지 참여율도 높았습니다. 다른 강의에 비해 과제가 많았음에도 불구하고 과제 수행률이 높아, 많은 사람들이 리팩토링한 코드 샘플을 수집할 수 있었고, 잘 만드는 사람들은 어떤 방식으로 사고하며 코드를 작성하는지 확인할 수 있는 좋은 강의였습니다.
수강 인원이 점검을 요청하고, 강사가 평가해주는 방식의 중간 점검을 2번 진행했는데 첫 점검은 2주차 리팩토링을 진행했고, 두 번째는 테스트 코드를 진행했습니다. 이 강의를 많은 사람들이 수강하는 이유도 이런 방식의 개발 경험을 얻을 수 있기 때문이라고 생각합니 다.
기능 구현이 끝이 아니라 유지 보수와 가독성을 위해 좋은 코드와 데이터 모델을 사용해야 한다는 것을 알게 되었습니다. 강의 내용이 훌륭해 백엔드 지식이 부족하더라도 쉽게 이해할 수 있을 것이라 생각이 듭니다.
3. DE(★★★★★)
테마에 필요한 설정값과 그것을 사용한 컴포넌트를 제작하고 라이브러리를 활용해 페이지를 제작하는 것을 배울 수 있습니다. 퍙소 CSS에 대한 지식이 부족했지만 무난하게 들을 수 있는 강의였습니다.
말 그대로 피그마로 컴포넌트를 디자인 하고 페이지를 만들었다면 해당 기능은 컴포넌트가 됩니다. 그 말은 개발 환경에서 컴포넌트화 되어있지 않다면 즉시 사용할 수 없는 것이기 때문에 초기 작업이 필요하게 되며, 시간적 비용을 발생시킵니다.
Anima를 사용해 해당 페이지의 코드를 Tailwind 형식으로 불러낼 수 있지만 유료이기 때문에 비용이 발생합니다. 마찬가지로 즉시 적용하지 못하기 때문에 프로젝트 내부에 UI KIT이 필요하게 됩니다.
1인 개발이 아닌 이상 컴포넌트 문제는 사전에 준비할 수 있는 것들입니다. 피그마 개발의 중요한 점은 디자이너와 협업이 가능하다는 것이기 때문에, 개발 기간과 예산이 충분하다면 협업을 통해 문제 없이 빠르게 개발할 수 있을 것이라고 생각합니다.
4. Full-stack(★★★★★)
평소 Supabase에 관심이 많았고, 학원 개인 프로젝트에도 적용해 본 적이 있으며, 이 기술을 어떤 방식으로 활용할 수 있는지 배우고 싶었던 내용이 많이 포함되어있습니다.
UI 작성 등은 준비되어 있었기 때문에 정말 기능 개발에 필요한 내용만 압축해서 전달하는 강의였습니다. 나중에 기능 구현이 필요한 순간에 강의에서 사용한 코드를 활용할 수 있을 것입니다.
5. CS(★★★★☆)
비전공자도 컴퓨터 지식과 알고리즘을 쉽게 이해할 수 있는 시각 자료를 활용한 강의입니다. 강의를 듣는다기 보다 기초 교양을 배운다는 마음가짐으로 듣기 좋은 강의입니다.
기초적인 내용을 전달하고 있기 때문에 컴퓨 터 지식에 대해 더 앍고 싶다면 전공서적을 읽는 것을 추천합니다.
데이터 크롤링을 통해 얻은 데이터를 저장소에 입력하고, 활용하기 위해 완강 보상으로 받은 쿠폰을 사용해 수강신청했습니다. 기능 개발에 성공한다면 괜찮은 프로젝트가 만들어 질 것 같습니다.
섹션의 색깔을 파랑으로 변경하고 가독성을 위해 회고 출력 방식을 변경했습니다.
FE (~ 3/28)
BE (~3/30)
DE (~3/30)
Full-Stack (~3/30)
1. 테스트
웹 개발은 클라이언트 요청에 맞는 데이터를 반환하는 기능을 제작하는 것입니다. 개발은 주로 협업 환경에서 이루어 지기 때문에 자신이 맡은 기능에 문제가 없는지 검수 해야 하고 그 과정을 시각 자료가 아닌 코드를 통해 논리적으로 검증받는 것이라고 생각합니다.
페이지가 최종적으로 출력되기 위해 수많은 컴포넌트를 제작하게 됩니다. 이 컴포넌트 중에는 이벤트를 담당하는 곳, 로직을 계산하는 곳, 데이터를 반환하는 곳이 있을 것이고, 속성값에 대한 테스트 비용을 줄이기 위해 타입스크립트를 사용하게 됩니다. 테스트 과정 축소를 통해 개발자는 화면 출력에 사용되는 기능 테스트에 집중할 수 있게 됩니다.
데이터의 입출력을 목적으로 진행됩니다. 사용자 요청을 받고 데이터를 반환할 때 계산이 정확한 지, 제대로 된 데이터를 반환하고 있는 지 생각해야 하고, 프론트엔드와 마찬가지로 단위테스트를 진행 후 통합테스트를 진행하는 방향으 로 넘어가게 됩니다. 아직 익숙하지 않지만 전반적인 흐름은 이런 느낌입니다.
2. 테스트를 진행하는 이유
소규모 개발 환경(팀 프로젝트, 개인 개발 등)을 경험하다 보면 실제로 테스트 코드를 작성하지 않고 기능 동작 확인 후 보고하는 형식이 대부분이라 버그나 에러를 미연에 방지하는 것이 힘듭니다.
테스트 코드를 작성하면 데이터의 정확한 정보를 알 수 있고, 서비스 단의 안정성을 확보할 수 있게 됩니다. 협업 환경에서 에러 발생은 치명적인 문제를 야기시키기 때문에, 팀원간 신뢰성 확보에도 많은 도움을 줍니다.
Liked : 좋았던 점은 무엇인가?
Lacked : 아쉬웠던 점, 부족한 점은 무엇인가?
Learned : 배운 점은 무엇인가? (깨달은것, 인사이트, 기억하고 싶은 것 등)
Longed for : 앞으로 바라는 것은 무엇인가? (앞으로 어떤 행동을 할것인지)