분류 전체보기

항해99/필기노트

[필기노트] 카카오맵, API 구현

Click 이벤트는 마우스 클릭이 종료될 때 발생한다. kakao.maps.Size(width, height) : 크기 정보를 담고 있는 사이즈 객체를 생성한다. kakao.maps.Point(x, y) : 화면 좌표 정보를 담고 있는 포인트 객체를 생성한다. 각각의 marker를 생성하면서 생성된 것과 동시에 addListener에 입력받은 userId, type을 기반으로 함수를 삽입한다. TODO marker를 삭제하지않고 이동하는 방식으로 사용하려면 어떻게 해야할까? - markers를 object형식으로 저장하고, 키값을 userId로 하면 되지 않을까? - userId로 검색을 했을 때 데이터가 있을 경우 markers의 위치만 변경하고 , 없을때 생성하도록 하면? TODO 위도, 경도를 변환..

항해99/TIL

2021-07-27 항해99 TIL

오늘 한일 카카오맵에서 클릭 이벤트 및 마커 실시간 갱신을 구현하였습니다. 내용 중 어려운 것은 없었지만, 어떠한 방식으로 코드를 최적화 할 수 있을지, 통신하는 Socket 데이터를 어떻게 효율적으로 사용할 수 있는지 고민하는 시간이 길었습니다. 코드를 작성하는 시간보다 생각하는 시간이 많았던 것 같습니다. User 인증 API를 작성하였습니다. 기존의 User 인자 중에서 Like 라는 배열 데이터를 가져오는 부분이 새롭게 생겼습니다. Sequelize ORM으로 사용하는 것이 바람직하지만, 더 빠른 코드 구현을 위해 SQL을 활용하여 GROUP_CONCAT을 사용해 해결하였습니다. redis, Socket 데이터 분산처리, 멀티 프로세싱 등 공부해야 할 것이 너무 많은 것 같습니다. 어느 하나를 집..

항해99/필기노트

[필기노트] 2021-07-26 DB생성, 임시 데이터 삽입

== DB ERD CREATE TABLE Users( userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY , email varchar(255) NOT NULL UNIQUE, name varchar(50) NOT NULL, nickname varchar(50) NOT NULL UNIQUE, password varchar(255) NOT NULL, profileImg varchar(255), statusMessage varchar(255), rating int(11) NOT NULL, createdAt datetime NOT NULL, updatedAt datetime NOT NULL ); CREATE TABLE Likes( likeId int(11) NOT NULL ..

항해99/TIL

2021-07-26 항해99 TIL

오늘 한일 API 문서를 일부 작성하였습니다. 추가해야 할 대화방의 기능과 친구 기능에 대해서는 이번 주 내로 구현이 어렵다고 판단하여 문서 작성에서는 잠시 제외하였고, 가장 핵심적인 로그인, 회원가입, 마이 페이지, 메인 페이지에 대해서 정의하였습니다. DB ERD 구성을 정의하였습니다. 기존의 작성하던 것과 크게 다르진 않았지만, 친구를 수락해야 하는 기능과 대화방을 정의해야 하는 것에서 많은 어려움을 겪었습니다. 우선은 다음 주까지 구현해야 할 기능에서 친구 기능은 존재하지 않기 때문에 제외하였고, 나머지 기능에 대해 ERD를 구성했습니다. Sequelize로 MySQL DB를 설정하였습니다. 기본 코드를 작성하여 Node.js 백 엔드 팀원들에게 공유하였고, 서로 맡은 업무를 시작하였습니다. 오늘..

항해99/TIL

2021-07-25 항해99 TIL

오늘 한일 디자이너분들과 와이어 프레임 회의를 진행하였습니다. 이 전날 개발자 팀원끼리 작성하였던 대략적인 와이어 프레임에 아쉬운 부분들이 많이 사라졌고, UX를 유저 친화적으로 수정되었습니다. 일요일 까지 시간을 내주시면서 회의를 진행해주신 디자이너분들에게 감사의 말씀을 드립니다. 이번 주의 작성된 WIL의 길이가 포스팅된 모든 게시글 중에서 가장 긴 것 같습니다. 클론코딩의 마무리, 실전 프로젝트를 진행하면서 느꼈던 경험과 감정들을 전부 작성을 하려고 하다 보니 문장의 끝이 보이지 않을 정도로 작성하게 된 것 같습니다. 오늘 배운 것 실전 프로젝트 와이어 프레임 디자이너 회의 WIL 작성 내일 할 것 실전 프로젝트 개발 계획도 정의 실전 프로젝트 API 문서 작성 실전 프로젝트 업무 배분 실전 프로젝..

항해99/WIL

[항해99] WIL 7주차 - 실전 프로젝트 1주차 (후기)

서론 7/16 ~ 7/22의 클론코딩 기간이 종료되었습니다. 7/23 ~ 9/3의 실전 프로젝트 기간이 시작되었습니다. 튜터님의 미니프로젝트 코드리뷰가 진행되었습니다. 일정 7/16 (금) ~ 7/22 (목) : 클론코딩 진행 7/23 (금) ~ 9/3 (금) : 실전 프로젝트 진행 7/20 (화) : Node.js 미니프로젝트 코드리뷰 7/23 (금) : 실전 프로젝트 발제 6주 차 클론코딩 7/16 ~ 7/22 클론코딩 기간이 종료되었습니다. tumblr를 주제로 클론코딩을 진행하였습니다. 총 22개의 API를 제작하였습니다. Sequelize만으로 MySQL DB 통신을 진행하였습니다. DB를 Migrate 할 때 트리거를 생성하도록 설정하였습니다. AWS EC2, Synology Docker에 클..

항해99/TIL

2021-07-24 항해99 TIL

오늘 한일 와이어 프레임 작성이 종료되었습니다. 간단한 기능을 단순히 붙이는 것보다 확실한 기능을 구현해보자는 생각으로 실전 프로젝트를 진행하였기 때문에 불필요한 페이지 수는 많이 줄였고, 핵심적인 지도에서 이벤트를 구현하는 것이 리소스를 많이 잡아먹었습니다. 실전 프로젝트의 프론트 엔드 언어를 리액트 네이티브를 사용해 모바일 환경을 위주로 프로젝트를 작성할 것 같습니다. 하지만 프론트 엔드 분들의 능력을 확실히 판단하지 못했기 때문에 8월 7일 날 평가하는 프로젝트 중간평가에서는 많은 기능을 넣지 않고, 핵심 지도 이벤트, 로그인, 로그아웃, 마이페이지 총 4가지의 기능을 기준으로 작업을 할 것 같습니다. 오늘 배운 것 최종 프로젝트 기술 스택 구상 최종 프로젝트 와이어 프레임 작성 내일 할 것 최종 ..

항해99/TIL

2021-07-23 항해99 TIL

오늘 한일 정신없는 하루였습니다. 아침의 실전 프로젝트 발제 이후 제대로 된 팀이 구성되기 위해 치열한 공방이 벌어졌고, 오후7 시가 돼서야 모든 팀이 구성되었습니다. 허무하게 오후의 시간이 지나간 것 같아 참으로 안타까웠습니다. 우선은 저희 팀도 구성이 되었습니다. Node.js 백 엔드 개발자 3명, React 프론트 엔드 개발자 3명, 디자이너 2분으로 구성되었고, 모든 팀원이 프로젝트에 의지를 갖추고 참여해주실 것을 믿고 있습니다. 현재 구성된 팀원들을 제외하고도 많은 분이 저에게 귓속말을 주셔서 팀의 합류가 가능하냐고 물었던 분들이 많았는데 팀원을 선택해야 한다는 팀장의 입장에서는 답답한 마음을 가질 수밖에 없었습니다. 실전 프로젝트는 6주라는 시간 동안 진행되다 보니 프로젝트 구상이 가장 중요..

항해99/필기노트

[필기노트] 2021-07-22 SQL, 태그 검색, 테스트코드

-- 검색 API에서 태그검색 기능 추가 1. 태그 테이블 전체를 조회한다. SELECT * FROM Tags ; 2. 태그 테이블에서 해당하는 키워드로 검색해 본다. SELECT * FROM Tags WHERE tag LIKE '%na%' ; 3. 검색된 태그 테이블에서 postId만 추출한다. SELECT postId FROM Tags WHERE tag LIKE '%na%' ; 4. 검색 코드에서 WHERE 절에 서브쿼리를 삽입해 병합을 종료한다. SELECT u.userId, u.nickname, u.profileImg, p.postId, p.reBlog, p.title, (SELECT GROUP_CONCAT(img ORDER BY img ASC SEPARATOR ', ') FROM Images W..

항해99/TIL

2021-07-22 항해99 TIL

오늘 한일 드디어 클론 코딩 과제를 제출하였습니다. 프론트 엔드와 백 엔드 간의 최종 코드 테스트를 마무리하였고, 새벽 2시가 얼마 남지 않은 시간에 제출하였습니다. 코드를 병합하는 과정에서 미니프로젝트에서도 겪은 알 수 없는 cors 에러와 API의 변경이 있어서 시간이 오래 걸렸던 것 같습니다. 갑자기 MySQL의 DB가 날아갔습니다. 이유를 알 수 없습니다. 우선은 Sequelize로 DB를 생성과 Table Migrate를 할 수 있어서 빠르게 복구를 할 수 있었고, 기존에 DB에 삽입할 INSERT INTO 임시 데이터를 별도로 생성해 놓았기 때문에 큰 문제 없이 복구할 수 있었습니다. 백업의 중요성을 깨달았습니다. 이전에 Synology에서도 비슷하게 충돌이 일어나 데이터의 일부 손실이 발생하..

커스텀 리
'분류 전체보기' 카테고리의 글 목록 (15 Page)