프로젝트6 [외부 API] 카카오 소셜 로그인 API, 네이버 SENS SMS API 1. 카카오 소셜 로그인 API 서버에서 클라이언트에게 액세스 토큰을 발급받아서 카카오로부터 사용자에 대한 정보를 얻어오고 해당 이메일이 서비스에 가입되어 있는지 검사를 하였다. [일반 회원가입 - 해당 이메일로 가입한 유저가 있는지 검사] public PostUserRes createUser(PostUserReq postUserReq) throws BaseException { // 가입 중복 이메일 검증 if(userProvider.checkEmail(postUserReq.getEmail()) == 1) { throw new BaseException(DUPLICATED_EMAIL); } if(userProvider.checkPhone(postUserReq.getPhone()) == 1) { throw .. 2022. 3. 22. 인스타그램 화면별 쿼리 내가 팔로잉한 사람들의 게시물과 스토리(메인화면) [상단] 스토리 select Story.idx as idx, Story.userIdx as userIdx, FirstStory.userId , FirstStory.profileUrl from Story inner join ( select Story.userIdx, User.userId, User.profileUrl, max(Story.idx) as 'latestStory' from Story inner join User on Story.userIdx = User.idx group by Story.userIdx) FirstStory where latestStory = idx and Story.status = 'ACTIVE' and Story.userIdx .. 2022. 3. 13. [쿠팡이츠 클론코딩] ERD 설계 ERD설계는 AQueryTool을 사용하였고 데이터베이스는 MySQL을 사용하였다. 쿠팡이츠 ERD 설계 1. User(유저) 쿠팡이츠 서비스를 이용하기위해 회원가입을 한 사람의 데이터가 쌓일 테이블 정보이다. 유저 번호는 기본키이며 auto increment 설정을 해주었다. 유저번호는 중복값이 없어야하기때문이고 1씩 증가하도록 해줄 것이다. createdAt, updateAt은 레코드가 생성될 때, 수정될 때 시간이 자동으로 저장되게끔 설정해주었다. joinType(가입수단)은 개발하려는 서비스가 일반회원과 카카오회원으로 나뉘기 때문에 넣은 컬럼이다. 이 컬럼이 없어도 상관없을거라고 생각할 수도 있지만, 쿠팡이츠는 카카오로 가입된 카카오 이메일과 동일한 이메일로 자체회원가입을 하게 되면 이미 카카오톡.. 2022. 3. 11. [쿠팡이츠 클론코딩] 개발 범위 및 API 명세서 2021년 6월, 2주동안 클라이언트 1명과 함께 쿠팡이츠 클론코딩을 진행하였다. 블로그를 운영하고나서 진행한 프로젝트인데도 불구하고 2주라는 짧은 시간동안 진행되는 프로젝트다보니 블로그에 제대로 남기지 못했다. 그 아쉬움으로 다시 상기시킬겸 블로그를 작성해본다! 우리가 원하는 주제로 기획해서 개발하는게 아니라, 이미 서비스 중인 "쿠팡이츠" 앱을 따라서 코딩하는 것이다보니 어디서부터 어디까지 똑같이 따라할 것인가?에 대한 고민이 컸다. 하지만 최대한 많은 기능을 구현하고 싶었고 제대로 하고 싶었다! 다음은 클라이언트 담당 팀원과 계획한 개발범위, 그리고 서버에서 계획한 필요한 API들이다. 1. 개발 범위 2. API 명세서 RESTful한 API를 위해 REST API의 설계규칙을 지켰다. 총 51개.. 2022. 3. 11. 인스타그램 ERD 설계 3주차에는 ERD를 설계하고 SQL쿼리를 작성하며 데이터베이스를 다루는 과제가 주어졌다. 그러기위해선 어떤 어플을 만들지 결정해야했는데 나는 '인스타그램' 을 선택했다. ERD설계는 AQueryTool을 사용하였고 데이터베이스는 MySQL을 사용하였다. 인스타그램 ERD 설계 인스타그램의 화면대로 설계해보았다. 당연히 모든 인스타그램을 구현한 것은 아니고 핵심이 되는 부분 정도만 뽑았다고 보면 된다. 실제 인스타그램과 똑같이 구현하려면 더 많은 테이블과 더 많은 컬럼이 필요할 것 이다. 인스타그램 ERD 설계 후 작성한 쿼리들 1. 메인 화면 상단 인스타 스토리 -- 상단 인스타스토리 SELECT User.userId, User.profileUrl, Story.idx AS storyIdx FROM Use.. 2021. 5. 17. 6주차 수업이 끝나고~ 수업 시작한 날이 얼마 안지난 것 같은데 벌써 6주차 수업은 마무리가 됐고 다음주부터 모의외주시간이다. 모의외주 시작까지는 일주일이 남았는데 소셜로그인API, 페이징, 트랜잭션(내가 한게 맞는지 모르겠다..), 쿼리 최적화 등등 할게 너무나도 많다. 여기에 모의외주때 꼭 써야할 깃 강좌까지 받았기 때문에... 흠 아무튼 일주일동안 깃 공부, 소셜로그인 API, 페이징, 트랜잭션은 반드시 공부하고 모의외주를 시작하면 한결 수월하지 않을까 희희! 그리고 사실 3주차때부터 진행한 ERD설계부터 SQL쿼리, API 명세서, REST API까지 많은 걸 했지만 블로그에 하나도 남기지 못했다. 왜냐하면 욕나올 만큼 바빴고 과제를 최대한 뽑아내느라 잠도 못잤다 ㅠ_ㅠ 일주일동안 블로그 글 남기면서 정리해볼거니까 많이.. 2021. 5. 16. 이전 1 다음