본문 바로가기

전체 글53

[항해99] 12주차 회고 한 주에 대한 정리 이 번주는 실전 프로젝트를 배포하고 사용자들에게 선보이는 기간이었습니다. 실제로 지인들이나 항해 사람들에게 소개하고 커뮤니티에도 글을 쓰며 홍보를 했습니다. 이 기간을 진행하면서 가장 많이 느꼈던 것은 사용자는 내 생각보다 훨씬 다양한 유형으로 서비스를 이용한다는 것이었습니다. 충분히 예상을하고 서비스를 만들고, 예외처리를 했다고 생각했지만 이 외에도 많은 버그나, 사용성에서 불편한 점들의 피드백을 받았습니다. 이제는 실전 프로젝트를 회고하면서 항해의 마지막을 준비해야할 것 같습니다. 2022. 4. 4.
[항해99] 11주차 회고 한 주에 대한 정리 11주차는 개발을 정리하고 조금 더 완성도 있게 프로젝트를 만드는 기간이었습니다. 세세한 오류들을 다시 잡고 배포하는 주간이었습니다. 배포는 s3, cloudfront, route53으로 진행했고 github action으로 무중단 배포를 구현했습니다. 이제 다음 주차에는 실제 사용자들에게 피드백을 받으려고 하니 걱정되면서 기대되는 것같습니다. 2022. 3. 28.
[항해99] 10주차 회고 한 주에 대한 정리 10주차는 mvp를 개발하여 중간 발표를 하는 날이었습니다. 프로젝트를 어느 정도는 완성을 해서 시연을 해야했기 때문에 구현에 초점을 맞춰 개발하는데 집중했습니다. 중간발표는 면접과 같은 느낌으로 질문을 해주시는 멘토님도 있으셨고 프로젝트나 코드에 대해 전반적인 피드백을 주시는 멘토님도 있으셨습니다. 이 후에는 개발된 기능들의 성능을 높이고 사용자의 편의성을 높이는 개발을 진행하려고 합니다.! 2022. 3. 21.
[항해99] 9주차 회고 한 주에 대한 정리 저번주에 이어서 이번주도 실전 프로젝트를 진행중입니다. 이번주는 드디어 기획이 끝나고 vscode를 사용할 수 있는 날이었습니다. 실전프로젝트는 이전과 다르게 신경써야할 부분이 많다고 느꼈습니다. 프로젝트를 잘진행하기 위해서는 기획, 디자인, 백엔드 모두 고려해야하고 대화가 많이 필요하다는 것을 느꼈습니다. 같은 이야기를 하더라도 조금씩 이해하는 부분이 다르고 중요하다고 생각하는 부분이 달라 다양한 요소들을 맞춰가는 것에 있어 어렵다는 것을 깨달았습니다. 그러나, 많은 대화를 하고 많은 회의를 할 수록 더 좋은 것을이 생각나고 프로젝트가 조금씩 나아진다는 것을 알 수 있었습니다. 이전에는 프로젝트에서는 코딩에먼 집중을 했다면, 실전 프로젝트에서는 팀원과의 대화나 디자이너 분들과 회의를.. 2022. 3. 13.
[항해99] 8주차 회고 한 주에 대한 정리 이제 항해 마지막 프로젝트인 실전 주차입니다. 이번 주는 vscode를 거의 켜지 못하고 프로젝트를 기획하는데 시간을 보냈습니다. 먼저, 기획했던 웹 게임이 기술적인 어필이 부족하다고 느껴진다는 피드백이 있어 기획을 바꾸게 되었고 이번 주차가 끝날때 즘에 기본적인 기획을 완료하게 되었습니다. 기획이 어렵다는 것을 새삼 다시 느끼며 다음 주차는 코딩에 집중할 수 있었으면 좋겠습니다. 2022. 3. 6.
[React: code] 리덕스는 어떻게 사용할까? 이 글의 목적은 제가 작성한 코드를 다시 되집어 보는데 있습니다. 프로젝트를 진행하면서 리액트의 리덕스를 어떠한 순서로 사용하여 CRUD를 구현하였는지 다시 보고 정리하는 글입니다. 사용한 주요 패키지는 아래와 같고, firebase를 사용했습니다. - react-redux - redux-action - redux-thunk - immer 먼저, 리덕스를 살펴보면, 스토어 - 데이터가 저장되는 곳 구독 - 스토어에서 컴포넌트로 데이터를 보내는 행위 리듀서 - 저장된 데이터(상태)를 관리하는 곳 액션 - 컴포넌트에서 데이터를 변경하여 스토어에 전송하고 싶을 때 선언하는 객체 디스패치 - 스토어의 내장 함수 중 하나로 액션 객체를 넘겨줘 상태를 업데이트하는 것 리덕스의 흐름 1) 리덕스 스토어를 컴포넌트가 .. 2022. 3. 1.
[항해99] 7주차 회고 한 주에 대한 정리 이번 주차는 처음으로 클론코딩 주차였습니다. 저희 조가 선택한 서비스는 마켓컬리였습니다. 이번 클론코딩을 진행하면서 가장 중요하게 신경쓴 부분은 화면의 구성이 거의 똑같도록 만드는 것이었습니다. 패딩이나 마진, 글자의 크기 간격 등 완벽하게 따라하기 위해 집중했습니다. 기술적으로 집중한 부분은 redux를 사용하는 것 이었습니다. 개인이 원하는 상품을 장바구니에 담아야했기 때문에 이를 어떤식으로 관리해야하는지에 대해 고민을 했습니다. 처음에는 장바구니에 담은 물품들만 redux의 스토어에 저장하고, 장바구니에서 각 물품의 수량을 useState로 관리하니 오류가 발생했습니다. 이를 해결하고자, redux로 수량과 총 가격까지 관리했고 문제를 해결할 수 있었습니다. 이번 주차를 진행하면.. 2022. 2. 28.
[항해99] 6주차 회고 한 주에 대한 정리 이번 주차는 처음으로 프론트엔드와 백엔드가 같이 프로젝트를 진행했습니다. 간단히 소감을 말하자면 너무나 어려웠고 진이 빠지는 듯한 주차였습니다. 처음으로 항해기간이 쉽지 않구나 라고 생각했었습니다. 먼저, 가장 어려웠던 부분은 소통을 하는 부분이었습니다. 프론트 엔드는 백엔드가 사용하는 용어나 어떻게 서버작업이 되는지 알지 못했고, 백엔드는 프론트엔드가 어떤 특성을 가지고 있는지 알지 못해 서로 필요한 부분을 설명하기에 어려운 부분이 많았습니다. 코드를 작성하는 부분도 생각보다 오류가 많았습니다. 서버랑 연결하기 위해서 axios를 사용해 요청하고 응답을 받았는데 이 과정에서 알 수 없는 오류들이 많이 나와 생각했던 것보다 많은 부분에서 오류를 겪었습니다. 그래도, 이번 주차를 진행하.. 2022. 2. 20.
[CS] 계층적인 데이터 구조 이 글은 '한 권으로 읽는 컴퓨터 구조와 프로그래밍' 을 정리하여 작성한 글입니다. 계층적인 데이터 구조 앞에서는 선형적인 데이터 구조를 봤습니다. 이 선형적 구조는 데이터를 가져오는데 문제가 있습니다. 예를 들어, 연결 리스트의 저장된 데이터를 가져오려면, 리스트를 순회해야만 합니다. 리스트 길이가 n이라면 최대 n번 노드를 순회해야 한다는 것입니다. 앞에서 연결 리스트의 노드를 연결하기 위해서 포인터를 사용했습니다. 이 포인터 수에는 제한이 없기 때문에, 메모리 공간이 허용하는 한 원하는데로 데이터를 조작할 수 있습니다. 2진 트리 간단한 계층적 데이터 구조로 2진 트리가 있는데, '2진' 이라는 말은 2진수가 아니라 최대 2개의 다른 노드와 연결될 수 있기 때문에 붙은 말입니다. 아래 그림에서 트리.. 2022. 2. 15.