인스타그램14 [내멋대로 만드는 Kimstagram] 14. Kimstagram 완성 드디어 인스타그램 클론인 Kimstagram을 완성했다.사실 인스타그램에 있는 모든 걸 다 클론하지는 않았지만, 적어도 '인스타그램'이라고 부를 수 있을 정도의 기능들은 다 구현했다고 생각한다.나는 이 프로젝트를, 스프링부트 클론코딩 강좌를 하나도 보지 않고 혼자 이 정도 기능 구현에 성공했다는 점에 의의를 두려고 한다.사실 시간만 넉넉했더라면 대부분의 기능들을 다 구현할 수 있을 것 같긴 하지만... 이 이상의 시도는 사실 큰 의미가 없고 차라리 다른 주제의 프로젝트를 진행하는 게 더 다양한 측면에서 성장할 수 있을 거라고 생각했다.(아니 그런데 스프링부트 강의는 맨 아래 링크의 강의 딱 하나 봤는데 이 정도 코딩은 나름 선방한 거 아닌가..? ㅋㅋ) 내가 구현한 기능들은 아래와 같다.회원가입 기능 (.. 2024. 2. 4. [내멋대로 만드는 Kimstagram] 13. 웹 소켓(Websocket)을 활용한 DM 구현 드디어 거의 마지막 단계에 온 것 같다. 사실 이 프로젝트를 계획했을 때, 가장 마지막에 DM을 구현하려고 했다. 왜냐하면 딱 봐도 DM이 제일 어려울 거 같으니까... 프로젝트 막바지 쯤에 접어들면 실력도 어느 정도 향상돼서 DM 정도는 쉽게 구현할 수 있을 줄 알았다. ㅋㅋ 근데 전혀 아니었다. 일단 구현하기 전에 좀 찾아봤는데, 확실히 어려운 것 같다. 아니 분명 예전에 자바 Socket을 활용한 채팅 프로그램은 큰 어려움 없이 만들었는데, 웹에서 사용하는 소켓은 Websocket이라는 또 다른 라이브러리를 사용하는 것 같다. 아 참고로 소켓을 활용한 채팅 프로그램은 아래의 주소를 찾아가시면 확인하실 수 있읍니다. [Java] 소켓을 이용한 간단한 채팅 프로그램 예제 GitHub - kimdevv/.. 2024. 2. 4. [내멋대로 만드는 Kimstagram] 12. OAuth2를 활용한 페이스북 로그인 이제 슬슬 외부에서 제공하는 API를 활용하는 법을 알아야 할 것 같아서 페이스북 로그인을 구현해보려고 한다. 사실 조금 찾아보니까 OAuth2를 활용하면 굉장히 간단하게 구현할 수 있는 것 같은데... ㅋㅋㅋㅋ 크게 도움이 될 진 모르겠지만.... https://developers.facebook.com/ Meta for Developers 개발자를 위한 필요한 조치 대시보드 도입 이번 달부터 developers.facebook.com에서 앱을 관리하는 몇몇 앱 관리자를 대상으로 필요한 조치 대시보드를 공개합니다. 데이터 사용 확인을 위한 데이터 developers.facebook.com 우선 위 링크로 들어가면 Meta(페이스북)의 개발자 센터가 나온다. 빠르게 로그인해준 후, 앱을 만들어 주었다. .. 2024. 1. 29. [내멋대로 만드는 Kimstagram] 11. 유저 검색 지금까지 가입된 유저를 찾는 기능이 없었어서 계속 주소 창에서 주소를 입력해서 들어갔었는데 너무 불편해서(...) 이제서야 유저 검색 기능을 만들기로 했다. 사실 검색 자체는 굉장히 간단한 기능인 것 같아서... 빠르게 구현할 수 있을 듯?! 일단 간단히 유저 검색 폼을 만들어 주었다. 실제 인스타그램은 검색을 클릭하지 않아도 파바박 유저들이 나오던데... 프론트는 아직 문외한이라 거기까지는 일단 스킵 ㅜ (사실 할 수는 있을 것 같은데 귀찮은 게 너무 크다) 뭐 이런 식으로 나오게... 만들었다. 아직 검색을 구현한 건 아니고, 대략 div만 넣어서 어떤 식으로 나올지 형태만 잡아주었다. 닉네임을 검색하면 아래에 저렇게 유저 목록이 쫘르륵 나타나게 하면 될 것! 검색 검색 그리고 예전 포스트부터 베지터.. 2024. 1. 29. [내멋대로 만드는 Kimstagram] 10. Jwt Refresh Token 발급하기 사실 지금까지 애써 외면해 왔었는데, 아무래도 이제 슬슬 리프레시 토큰을 활용해야 할 것 같다. 테스트하는데 계속 10분이 지나면 팅겨버려서... 이게 사소한데 너무 귀찮아서 그냥 리프레시 토큰 발급에 도전하게 됐다. 리프레시 토큰의 로직은 대충 아래와 같이 구상했다. 로그인 시 액세스 토큰(기존의 JWT토큰)과 함께 리프레시 토큰을 생성한다. 액세스 토큰과 리프레시 토큰은 헤더에 담아서 클라이언트에 전송하고, 리프레시 토큰은 DB에 따로 저장해 둔다. 클라이언트의 매 요청 시 마다 액세스 토큰과 리프레시 토큰을 보내며, 액세스 토큰으로 인증과 권한을 검사한다. 그런데 만약 액세스 토큰의 만료 시간이 다 지났다면? DB에 해당 유저의 리프레시 토큰이 존재하는지 확인한다. 만약 리프레시 토큰의 만료 기간이.. 2024. 1. 28. [내멋대로 만드는 Kimstagram] 9. 팔로우 기능 구현하기 이제 대망의 팔로우 기능을 구현해보자... 사실 이걸 어떻게 구현해야 하나 로직을 꽤 고민했다. 여차하면 맞팔로우까지 필요할 수도 있으니까... 결국 내가 생각한 방법은 Follow라는 클래스를 하나 만들어서 테이블을 만들고, 팔로우하는 Account와 팔로우 당하는 Account를 저장하는 방법이었다. 일단 글은 이렇게 써놓긴 했는데... 구현을 시작해보자. 일단 Follow 클래스를 하나 만들었다. package com.kimdev.kimstagram.model; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.ann.. 2024. 1. 24. 이전 1 2 3 다음 반응형