오늘 한일 도커의 기본적인 사용 방법에 관해 공부하였습니다. 이미지 및 컨테이너의 개념과 공식 이미지 저장소의 사용 방법, 그리고 CLI 명령어로 도커를 제어할 수 있는 것을 배웠습니다. 일주일간의 재정비를 하였습니다. 감정적인 소모가 많았던 이번 일주일의 피로를 확실하게 풀었던 것 같습니다. 오늘 배운 것 WIL 작성 도커 / 쿠버네티스 내일 할 것 Socket 대화방 내 모임 리스트 구현 AWS SES 메일 서버 구현 CI CD 파이프라인
오늘 한일 실전 프로젝트팀원들의 목표를 한번 되돌아보았습니다. 이번 주의 목표는 어떤 것을 잡았고, 그것을 어느 정도까지 구현에 성공하였는지, 한 주간 보낸 시간이 나태하지는 않았는지, 단순히 시간이 지나면 프로젝트가 종료될 것이라는 마음가짐을 가지고 있지 않은지 등 많은 이야기를 하였습니다. MySQL의 DB를 재정비하였습니다. TRIGGER가 빠지진 않았는지, 대화방을 구현하면서 부족한 부분이 있지는 않았는지, SQL이 비정상적으로 느리지 않았는지 등 고뇌의 시간을 가졌습니다. Socket 대화방을 구현했습니다. 간단하게 nunjucks 템플릿 언어를 사용해 대화방을 구현했고, 완벽하지는 않지만, Socket을 위한 별도의 API 문서를 작성해보았습니다. 다음 주 시간이 난다면 소켓에 대한 구성 방식..
오늘 한일 팀장 주간 회의가 진행되었습니다. 전반적인 프로젝트의 진행 상황, 다음 주의 할 일, 업무 현황 등 많은 이야기를 하였습니다. 저희 팀을 포함해 총 4분의 팀장님이 참여해주셨고, 저희 팀과 같이 대부분 기획 부분에서 많은 시간을 할애한 것 같습니다. 느리진 않지만, 느긋하게 프로젝트를 진행해야 할 것 같습니다. Socket으로 클라이언트의 정보를 받아와 모든 유저에게 배포하는 Socket 코드를 작성하였습니다. 아직 친구 목록, 일정 목록 등 많이 구현되어 있지 않지만 구현된 코드를 통해 프론트 엔드에서 테스트가 가능할 것 같습니다. Node.js에서 Express, Socket이 CORS가 별도로 적용되는 것을 확인하였습니다. Express에서 CORS를 적용하고 테스트를 했는데 클라이언트에..
오늘 한일 디자이너분들과 회의를 진행하였습니다. 테마 색상지정, 메인 로고 아이콘 지정, 주제 선정, 업무분담 4가지로 진행되었지만, 제일 핵심적인 주제선정에서 전날 주제가 '러닝'으로 변경된 것에 대해 팀원들과 디자이너분들이 의문점이 있으셨고, 저 또한 간과한 것이 있었기에 다시 주제에 대해 고찰해보았고, 최종적으로 '운동'이라는 주제로 변경되었습니다. Socket 통신으로 대화방 구현 코드를 분석하고 있습니다. 이전에는 강의를 순서대로 따라가면서 예제를 확인하고, 코드를 분석해 전반적인 프로그램에 이해가 쉬웠지만, 단순히 동작하는 프로그램을 하나씩 분해하면서 습득하는 부분에서는 많은 시간이 걸리는 것 같습니다. 작성된 프로그램을 어떻게 분해해서 저희 프로젝트에 녹일 수 있을지 생각해봐야겠습니다. 카카..
오늘 한일 기획 재정비를 하였습니다. 기존의 기획은 모든 주제를 포괄하는 실시간 위치 갱신 서비스였는데, 튜터님과의 면담으로 주제에서 타깃을 확실하게 할 수 있는 것이 부족하다 하였고, 모든 주제에서 '러닝'이라는 주제로 축소해서 개발하기로 하였습니다. API 문서의 작성을 중단하였습니다. 현재까지 작성된 API까지만 서버에 배포하였고, 다음 주까지 프론트 엔드에서 구현될 기능을 미리 전부 구현하였습니다. 일부 기능이 남아있기는 하지만, 이제부터 가장 막히는 기능이 어느 것인지 생각해보았고, 소켓 통신, 분산 관리 서비스 등이 남아있었기에 백 엔드에서 역할분담을 Socket GPS 처리, Socket 대화방 구현, Docker 분산 관리 서비스 총 3가지로 역할을 분담하였습니다. DB가 많이 수정되었습니..
오늘 한일 카카오맵에서 클릭 이벤트 및 마커 실시간 갱신을 구현하였습니다. 내용 중 어려운 것은 없었지만, 어떠한 방식으로 코드를 최적화 할 수 있을지, 통신하는 Socket 데이터를 어떻게 효율적으로 사용할 수 있는지 고민하는 시간이 길었습니다. 코드를 작성하는 시간보다 생각하는 시간이 많았던 것 같습니다. User 인증 API를 작성하였습니다. 기존의 User 인자 중에서 Like 라는 배열 데이터를 가져오는 부분이 새롭게 생겼습니다. Sequelize ORM으로 사용하는 것이 바람직하지만, 더 빠른 코드 구현을 위해 SQL을 활용하여 GROUP_CONCAT을 사용해 해결하였습니다. redis, Socket 데이터 분산처리, 멀티 프로세싱 등 공부해야 할 것이 너무 많은 것 같습니다. 어느 하나를 집..
오늘 한일 API 문서를 일부 작성하였습니다. 추가해야 할 대화방의 기능과 친구 기능에 대해서는 이번 주 내로 구현이 어렵다고 판단하여 문서 작성에서는 잠시 제외하였고, 가장 핵심적인 로그인, 회원가입, 마이 페이지, 메인 페이지에 대해서 정의하였습니다. DB ERD 구성을 정의하였습니다. 기존의 작성하던 것과 크게 다르진 않았지만, 친구를 수락해야 하는 기능과 대화방을 정의해야 하는 것에서 많은 어려움을 겪었습니다. 우선은 다음 주까지 구현해야 할 기능에서 친구 기능은 존재하지 않기 때문에 제외하였고, 나머지 기능에 대해 ERD를 구성했습니다. Sequelize로 MySQL DB를 설정하였습니다. 기본 코드를 작성하여 Node.js 백 엔드 팀원들에게 공유하였고, 서로 맡은 업무를 시작하였습니다. 오늘..
오늘 한일 디자이너분들과 와이어 프레임 회의를 진행하였습니다. 이 전날 개발자 팀원끼리 작성하였던 대략적인 와이어 프레임에 아쉬운 부분들이 많이 사라졌고, UX를 유저 친화적으로 수정되었습니다. 일요일 까지 시간을 내주시면서 회의를 진행해주신 디자이너분들에게 감사의 말씀을 드립니다. 이번 주의 작성된 WIL의 길이가 포스팅된 모든 게시글 중에서 가장 긴 것 같습니다. 클론코딩의 마무리, 실전 프로젝트를 진행하면서 느꼈던 경험과 감정들을 전부 작성을 하려고 하다 보니 문장의 끝이 보이지 않을 정도로 작성하게 된 것 같습니다. 오늘 배운 것 실전 프로젝트 와이어 프레임 디자이너 회의 WIL 작성 내일 할 것 실전 프로젝트 개발 계획도 정의 실전 프로젝트 API 문서 작성 실전 프로젝트 업무 배분 실전 프로젝..
오늘 한일 와이어 프레임 작성이 종료되었습니다. 간단한 기능을 단순히 붙이는 것보다 확실한 기능을 구현해보자는 생각으로 실전 프로젝트를 진행하였기 때문에 불필요한 페이지 수는 많이 줄였고, 핵심적인 지도에서 이벤트를 구현하는 것이 리소스를 많이 잡아먹었습니다. 실전 프로젝트의 프론트 엔드 언어를 리액트 네이티브를 사용해 모바일 환경을 위주로 프로젝트를 작성할 것 같습니다. 하지만 프론트 엔드 분들의 능력을 확실히 판단하지 못했기 때문에 8월 7일 날 평가하는 프로젝트 중간평가에서는 많은 기능을 넣지 않고, 핵심 지도 이벤트, 로그인, 로그아웃, 마이페이지 총 4가지의 기능을 기준으로 작업을 할 것 같습니다. 오늘 배운 것 최종 프로젝트 기술 스택 구상 최종 프로젝트 와이어 프레임 작성 내일 할 것 최종 ..
오늘 한일 정신없는 하루였습니다. 아침의 실전 프로젝트 발제 이후 제대로 된 팀이 구성되기 위해 치열한 공방이 벌어졌고, 오후7 시가 돼서야 모든 팀이 구성되었습니다. 허무하게 오후의 시간이 지나간 것 같아 참으로 안타까웠습니다. 우선은 저희 팀도 구성이 되었습니다. Node.js 백 엔드 개발자 3명, React 프론트 엔드 개발자 3명, 디자이너 2분으로 구성되었고, 모든 팀원이 프로젝트에 의지를 갖추고 참여해주실 것을 믿고 있습니다. 현재 구성된 팀원들을 제외하고도 많은 분이 저에게 귓속말을 주셔서 팀의 합류가 가능하냐고 물었던 분들이 많았는데 팀원을 선택해야 한다는 팀장의 입장에서는 답답한 마음을 가질 수밖에 없었습니다. 실전 프로젝트는 6주라는 시간 동안 진행되다 보니 프로젝트 구상이 가장 중요..