
OAuth 2.0을 활용한 로그인 구현을 하면서 (OAuth 2.0 동작, 인증/인가, Redis blackList...)
https://keepgoingforever.tistory.com/121 좋아요 기능을 개발하면서 고민한 내용 (Redis, eventual consistency ...)다양한 기능들을 개발하고 싶어서 인스타그램과 같은 소셜미디어 플랫폼을 개발하게 되었다.정말 빠른 시간 안에 개발을 하게 되어서 지금 다시 코드를 보면 또 다른 생각이 떠오르는 상태이다keepgoingforever.tistory.com개발을 시작하면서...이 글에 이어서 소셜 미디어 플랫폼을 개발하면서 겪은 경험을 공유하고자 한다.먼저 사용자가 있어야 하고, 사용자별로 인증을 하고 플랫폼을 원활하게 이용하기 위해서는 로그인이 필요하다.예전에는 id/password 기반의 로그인이 먼저 떠올랐지만, 요즘에는 소셜 로그인이 거의 모든 쇼핑몰이..

좋아요 기능을 개발하면서 고민한 내용 v2 (Test와 대규모 트래픽 환경에서의 고민...)
이전 게시물에서 소셜미디어 플랫폼 내 피드 좋아요 기능을 개발했다.지금까지 개발한 부분은 Redis 캐시를 활용해서 빠른 응답을 받도록 하고 있고, Scheduler를 통해서 DB 동기화를 배치 작업을 통해 진행하고 있다.아래 링크에 지금까지 개발한 좋아요 기능을 대해서 정리해 두었다.현재 개발 로직 문제 해결 및 성능 개선소셜미디어플랫폼 프로젝트. Contribute to Hm-source/gridgestagram development by creating an account on GitHub.github.com현재 좋아요 기능을 정리한 시퀀스 다이어그램입니다. 테스트해당 기능을 로컬 컴퓨터에서 테스트하고자 한다.테스트 환경하드웨어* CPU: Apple M4 * 코어 : 10 * 논리 프로세서: ..

좋아요 기능을 개발하면서 고민한 내용 (Redis, eventual consistency ...)
개발을 시작하면서 ...다양한 기능들을 개발하고 싶어서 인스타그램과 같은 소셜미디어 플랫폼을 개발하게 되었다.정말 빠른 시간 안에 개발을 하게 되어서 지금 다시 코드를 보면 또 다른 생각이 떠오르는 상태이다.이런 과정도 생각이 넓어지면서 성장하는 과정이라고 생각한다!문제를 여러 관점에서 생각하다보면 머리가 복잡해질 때가 있다. (그래도 해야지~) ERD를 설계하며처음에 먼저 ERD를 구성하였고, 다양한 기능을 개발하게 되었다. 소셜 로그인도 구현하였고, 좋아요 기능, 어드민 로그 기능, 스케쥴러 설정 등 다양한 경험을 했다. (기능별로 게시물을 고민해 본 것들을 작성해 볼 예정이다.)개발을 하면서 좀 바뀐 부분이 있었다. 특히 피드 좋아요 기능이었다. (ERD가 바뀌었다기보다 처음에 Redis를 도입할 ..

📌 ERD 설계 가이드 (+ 직접 겪은 ERD 설계 경험)
프로젝트를 진행하면서 꼭 거쳐야 하는 과정이 있다. 매우 중요한 부분이고 팀원들이 모두 참여해야 한다.바로 "ERD 설계"이다.처음에 ERD를 설계할 때는 막막한 감정이 가장 먼저 떠올랐던 것 같다. 하지만 몇 번의 과정을 거치면서 어떤 요소를 고려하면서 ERD를 구성해야 하는지에 대해서 생각을 해보게 되었다. ERD를 구성하면서 겪었던 어려움들 그리고 추가적으로 알게된 내용에 대해서 공유하고자 한다.누군가 ERD를 구성하는 데에 막막함을 느낀다면 도움을 받았으면 좋겠다. ERD는 데이터 모델링을 시각적으로 표현한 다이어그램이다. 데이터베이스를 설계할 때 해당 다이어그램을 기준으로 하게 되어 팀원 모두가 인지하고 있어야 하고 같이 설계해야 효율적으로 작업을 할 수 있다.ERD의 중요 구성 요소로는 "엔티..

[LMS] 10일 동안의 '학습 관리 시스템' 개발 그리고 다른 팀과의 협업 이야기(1)
DEEP DIVE Spring 기반 백엔드 개발자 성장 과정 2차 프로젝트를 진행하였다.2주 정도의 기간 동안 5명의 팀원이 모여서 팀 프로젝트를 진행하고, 우리 팀 외의 다른 팀을 고객 팀으로 선정하여 요구사항을 받아서 소통하면서 개발도 진행하였다.우리는 4팀 GoGet고객 팀이다. WHY GoGet고객? 우리 팀 요구사항에 잘 대응하고 직접 다른 팀과 소통하여 프로젝트를 진행하기 때문에 우리 자신도 고객, 다른 팀도 고객이라고 생각하고 진행해야 하는 프로젝트라고 생각했다. 그래서 고객을 위해서 Go 하고 고객의 마음을 Get 하자는 목표로 이렇게 팀명을 정하게 되었다!빠른 시간 안에 결과물을 만들어야겠다는 생각이 우선되어 팀원들과 상의해 모든 팀원들이 대학 시절 경험해 보고 익숙한 시스템인 "학습 관..

[inter-face]프로젝트 기획 마무리 회고록 (1)
2024.11.1(금) 프로젝트 기획 1차 회의를 시작으로 기획한 프로젝트에 대해서 다시 한 번 짚고 넘어가고자 한다.아직 프로젝트가 완벽하게 기획되었다고는 할 수 없지만, 할 수 있는 만큼 기획하였다. 추후 부족한 부분에 대해서는 개발을 진행하면서 수정하고 보완하고자 한다.한달 동안 팀원들과 거의 평일 동안은 매일 조금씩이라도 프로젝트에 대해 회의하였던 것 같다. 그 과정에 대해서 정리해보겠다.프로젝트 방향성, 목적 확실히 하기.프로젝트 이름 정하기.프로젝트 진행 방식, git 규칙 정하기.요구사항 정리기술 스택 정하기(+근거)ERD 그리기.Figma 그리기.역할 분배1. 프로젝트 방향성, 목적 확실히 하기.각자 생각한 프로젝트의 방향성과 목적에 대해 이야기 해보았다.기획 배경다수의 사람들이 모인 공간..

[inter-face]프로젝트 기획 1차 회의 회고록
2024.11.1(금) 프로젝트 기획 1차 회의팀 : 먹물막연한 프로젝트 주제를 정하고 1차 프로젝트 기획 회의를 진행하였다.프로젝트 주제는 일단 '개발 프로젝트를 위한 네트워킹 서비스'에서 시작하였다.이러한 주제를 잡게 된 이유는 우리의 경험에서 비롯되었다. '먹물' 팀은 '구름 딥다이브 백엔드' 교육에서 만나게 되었다. 첫 OT 날 50명 정도의 사람들이 모였고, 각자 자기소개를 진행하고 교육 프로그램 관련 설명과 아이스브레이킹 시간 후 갑자기 팀 빌딩 시간이 주어졌다. 자기소개 후 50명의 사람들의 정보를 모두 기억하기에는 쉽지 않았다. 그래서 일단 친해진 사람 그리고 같이 밥을 먹거나 기억에 남는 사람들과 자연스레 팀을 하게 되었다. 그렇게 '먹물'팀이 형성되었고 정말 운이 좋게 개발에 열정이 있..