(이전 글에서 계속됩니다) 단계별 적용하기 1. 로직 분류 가장 먼저, 기존에 Controller에 있던 함수들을 전부 분류하는 작업을 진행하였다. 재사용성이 큰 상태 데이터는 Context로, 특정 컴포넌트 내부에서만 사용되는 상태 데이터는 해당 컴포넌트의 Controller로, LogData의 값을 변경하는 데이터는 Reducer로 주석을 달아 분류해주었다. 2. ContextAPI, useReducer 적용 다음 Context를 생성하고 적용을 원하는 범위에 Provider를 감싸주었다. 재사용성이 큰 로직들을 LogContext에 담고, LogData 상태를 변경하는 로직들의 경우 아래의 예시와 같이 객체 형태의 Reducer로 분리하여 Conetxt에서 호출 및 가공하여 사용하도록 했다. use..
개요 데브코스 파이널 프로젝트인 산책로 기록, 공유 서비스 마실가실 개발을 진행하면서, 산책을 기록하고 저장하는 LogRecord 기능을 팀원 한 분과 함께 작업하였다. 컴포넌트의 디자인 패턴으로는 MVC 패턴을 활용하였는데, 프로젝트 기획 단계에서 다양한 패턴을 경험해보자는 취지로 이를 채택하였고 앞선 2주 간의 스프린트 기간 동안 해당 기능에 대한 기본적인 구현을 끝내놓은 상태이다. 다음 스프린트를 시작하기 전, MVC 패턴으로 구성한 코드에 개선이 필요하다고 생각되어 진행하였던 리팩토링 과정을 정리해놓으려 한다. 기존의 컴포넌트 구조 먼저 기존에 설계한 컴포넌트 구조를 도식화해보았다. 상위 컴포넌트인 logRecord는 Model, Controller, View로 구성된다. Model에는 하위 컴포..
이번 달 돌아보기 👟 파이널프로젝트 고대하던 백엔드와의 파이널 협업 프로젝트가 시작되었다. 일주일에 가까운 기획 회의를 했지만 결국 스몰토크 중에 나온 주제가 채택되었다. 팀원 한 분이 의견을 제시했는데, 다들 듣자마자 이거다..! 했던 것 같다. 일반적인 CRUD 구현이 아닌 Location이나 Map 같은 기술적인 도전을 해볼 수 있는 기회이지 않나 싶다. 프로젝트가 절반 정도 진행된 시점에서 중간 점검을 해보자면, 먼저 예상했던 작업 기간보다 더 많은 시간이 소요되었다. 본격적인 스프린트가 시작되기 전 플래닝포커를 통해 분배된 Task들의 소요 시간을 산정하였는데, 막상 스프린트에 접어들어 작업을 시작하니 1.5배에서 많게는 2배까지 걸렸던 것 같다. 다양한 변수가 있었지만, 그것들을 감안하고라도 ..
팀프로젝트 👔 들어가며 이번 4개월차 회고는 한 달간 진행한 팀프로젝트에 대해 비중 있게 다뤄보려 한다. 사실 개인 혹은 둘 정도의 소수로 구성된 프로젝트를 진행한 경험은 두어 번 있긴하지만, 이렇게 많은 인원들로 본격적인 협업 프로젝트를 진행하는 것은 이번이 처음이였다. 리액트 학습 기간부터 함께한 팀원들과 함께 프로젝트를 시작하게 되었다. 배포된 프로젝트는 🔗이 곳에서 확인할 수 있다. GitHub - prgrms-fe-devcourse/FEDC5_STYLED_sehee Contribute to prgrms-fe-devcourse/FEDC5_STYLED_sehee development by creating an account on GitHub. github.com 📝 기획 프로젝트의 요구사항은 기본적..
월별회고 🤔 2월, 선택과 집중 막학년을 앞두고, 고민에 빠졌다. 전공(로봇)과 복수전공(자율주행)의 도메인을 살려 커리어를 시작할 것인지, 작년 여름부터 조금씩 병행해오던 프론트엔드를 택할 것인지. 결심이 필요한 시점이었고, 이후에는 졸업 후 취업을 위한 고도화가 필요한 시점이었다. 정말 감사하게도 조언을 구할 수 있는 기회가 생겼다. 친척 누나의 소개를 통해 현업에 종사하고 계신 프론트엔드 엔지니어분과의 커피챗 시간을 가질 수 있었다. 무턱대고 서울에 올라가 궁금한 것들을 여쭤보고, 당시 막 자바스크립트 학습을 어느 정도 마무리했을 때라 배운 것들을 이것 저것 조합해본 프로젝트를 보여드리기도 했었다. 그 땐 컴포넌트라는 용어 뜻도 모를 때였는데, 참..지금 생각하면 무슨 깡이었는지 싶다ㅋㅋ 여튼 결론..
이번 달 돌아보기 🕧 벌써 절반 이번 달은 학습량이 정말 물밀듯 밀려왔다. 많아지는 학습량 탓에 깊이 있는 학습을 잘 못하지 않았나 생각이 든다. 기말 시즌이랑 겹치면서 더 소화가 힘들었던 것인지도 모르겠다. 캡스톤 제출도 끝냈으니, 200% 데브코스와 학습에 집중할 수 있게 되었다. 아직 학습 못한 내용들과 정리해놓은 키워드들을 차근히 학습하고, 정리해놓을 계획이다. 오늘부로 거의 정확하게 데브코스 과정의 절반이 지났고, 절반이 남았다. 공식적인 학습 일정은 종료되었고 1달 간의 팀프로젝트와 2달 간의 최종 협업 프로젝트가 예정되어 있다. 전 아직 준비가 안됐는데요..🥲 💬 뱉은 말은 지킨다 뱉은 말을 못지키게 되었다. (뱉지 말지) 지난 달 말 야심차게 설정했던 목표들이 있었는데, 사실 잘 지켜지지 ..
학습 페이스 점검 😎 적응 완료 두 달이 지난 시점, 코스의 학습 사이클에 어느 정도 적응된 것 같다. 사실 평일 주말 할 것 없이 자는 시간을 제외하고는 책상 앞에 앉아있다. 고민 중인 부분이 있다면 한정된 시간에서 어떻게 최대 효율을 뽑아낼 수 있을지이다. 집중력이 관건이라고 생각되는데, 내 맘대로 쉽게 되는 것은 아니지만 몸 건강히, 마음 건강히 챙기며 성장하기 위해 노력하고 있다. 이제 달릴 일만 남았다. 🗣️ 뱉은 말은 지킨다 지난달 회고 말미에 앞으로 해야 될 일들을 정리해놓았었는데, 얼마나 지켜졌을까? 1. 코테 : 사실 개발자 취준에 있어 가장 중요한 요소 중 하나라고 생각된다. 1차 팀 활동을 진행하면서 매일 한 문제씩 풀고 내용을 공유, 의견을 나눴었는데 팀 활동 기간이 종료되고 당분간..
데브코스 5주차 과정이 진행되는 시점인 10월 17일부터 약 10일 간, 바닐라 자바스크립트만을 이용해 노션을 클로닝하는 프로젝트를 진행하였다. 데브코스에서 진행하는 세 개의 프로젝트 중 첫 번째 프로젝트이며, 두 편에 걸쳐 회고를 작성해보려 한다. 이번 편에서는 프로젝트 준비와 전반적인 구현에 대해 다룰 예정이다. 프로젝트 개발 과정과 전체 코드는 🔗 노션 클로닝 레포지토리에서 확인할 수 있다. 기본적인 구현 내용이나 순서는 본 회고에서 다루지 않았기 때문에, 커밋 로그를 통해 확인하는 것을 추천드립니다 .. GitHub - w00ngja/FEDC5-5_Project_Notion_VanillaJS Contribute to w00ngja/FEDC5-5_Project_Notion_VanillaJS deve..
본의 아니게 3주차 회고를 생략하게 되었다. 3, 4주차를 통합하여 이번 월간회고로 작성하려 한다. 학습 관련한 TIL은 개인적으로 노션에 정리하고 있는데, 공개로 돌려야 할지 고민 중이다. 정신없이 지나간 한 달 간 배운 것들과, 느낀 점 그리고 앞으로의 계획을 정리하려 한다. 1. 학습 📚 1~2주차 : 자바스크립트 기초개념, 자료구조와 알고리즘 첫째 주는 OT와 함께 이벤트 루프, 메모리, 스코프, 클로저같은 자바스크립트 개념과 자료구조 및 알고리즘을 학습하였다. 아무래도 적지 않은 분량이다보니 강의에서는 가볍게 다루고 넘어갔지만, 프론트엔드 개발자에게 있어 굉장히 핵심적인 내용들이라 추가적인 학습이 필요하다고 생각되었다. 현재 리스트를 정리해두고 있는데 여유가 생기면 이들을 좀 깊게 파헤쳐 볼 예..
1. 학습 📖 학습 요약 이번 주까지 기본적인 알고리즘 개념들을 익히고, 관련된 문제들을 푸는 방식으로 학습이 진행되었다. 큐 / 해시테이블 / 트리 / 힙 / 트라이 / 정렬 / 이진탐색 / BFS, DFS / 그리디를 다루었다. 올해 초에 알고리즘 학습을 진행하며 구현해놨었던 코드들과 비교해보며 개념들을 다시 한 번 정리하였다. 🔎 새로 알게된 것 1. 트라이라는 개념을 처음 접하게 되었다. 앞서 말했듯 대표적인 알고리즘들을 한 번씩은 익혔다고 생각했었는데, 하마터면 계속 모를 뻔했다. 트라이는 문자열을 효율적으로 탐색하기 위한 알고리즘으로, 한 글자씩 붙을 때마다 계층 정보를 갖는 노드(현재 값 Value와 맵구조의 Children 프로퍼티를 가짐)가 생성된다. 검색 서비스의 자동완성 기능을 예로 ..