Song[coding diary index]

Song 배열에 코딩 흔적 남겨두기

2025/03 4

[고찰] 당근 채팅 시스템 정리 및 생각

서론위 당근 서비스의 채팅서버에 대한 발표를 정리한 글이다.당근에서 설계된 채팅 아키텍쳐와 전략 등을 살펴보고, 내 생각을 따로 정리하고자 이렇게 작성했다.모든 그림은 발표에서 사용된 그림을 가져왔다.본론채팅서버의 동작방식 설명상황User A, B, C가 존재하고 각각은 메세지 발행자, 메세지 수신자(Online), 메세지 수신자(Offline) 상태이다.서버의 종류는 Chat-Server, Push-Server, 데이터를 저장하는 DB가 있다.채팅서버의 간단한 동작방식 시나리오: A가 B와 C에게 메세지를 전달한다!1. A가 채팅서버와 연결되면, 채팅서버의 로컬 메모리에는 유저의 ID값과 Session값을 저장해둠.(B도 동일하게 수행된다.) 이를 통해서 사용자가 온라인인지, 오프라인인지 구분하게 된다..

고민 + 기타 2025.03.27

[알고리즘 코딩테스트] 나만의 SQL 문법정리

1. NULL값 대체- SELECT COALESCE(Column명, null일 경우 대체값) FROM TABLE; 2. 날짜 포멧 바꾸기- DATE_FORMAT(column명,'%Y-%m-%d') AS HIRE_YMD 3. 문자열 연결- CONCAT(str1, str2, ..)4. 중복 제거SELECT COUNT(NAME) AS 'count'FROM ANIMAL_INSWHERE NAME IS NOT NULLGROUP BY NAMEORDER BY COUNT(NAME) DESCLIMIT 1; 5. with/** SUB QUERY를 이용한 방법 **/SELECT T1.*  FROM (       SELECT A.DEPTNO            , A.LOC         FROM SCOTT.DEPT A    ..

알고리즘 2025.03.17

프로젝트에서 유용하게 쓸 수 있는 기술들 모음집.

이 블로그는 나중에 프로젝트할 때나 내가 알고있으면 도움될 기술이나 서비스들을 모아둔 곳입니당.혹시 보시고 유용한거 같은 기술들은 가져가서 사용해보세요! 1. ngork- 로컬서버를 임시로 배포해서 띄워놓을 수 있음. 해당 사이트 방문해서 순서도 다 설명해줌.- ex: 8080포트로 서버를 로컬에서 실행시킨 뒤, ngrok를 사용해서 배포해두면 내가 로컬서버를 실행시키는 동안에는 end-point를 제공하고 다른 사람들이 접근 가능함. 2. duck dns- 도메인 굳이 안사더라도 임시방편으로 사용가능함. 다양한 시도는 해보지 않았는데 괜찮은듯? 지속적으로 수정할 예정입니다! (최신 수정일: 2025.03.17)

고민 + 기타 2025.03.17

[EP 1-4] Spring 소셜로그인(OAuth2) 써보기1: 소셜로그인 완벽 이해하기

시작하기 전...프로젝트에서 앱스토어와 플레이스토어 배포를 위해서 소셜로그인을 개발해야했다.(특히 Apple로그인은 안만들면 리젝당하니...)총 Google, Apple 2가지 소셜로그인을 구축하고, 자체 회원가입은 구현하지 않도록 했다.각 플로우차트를 설명하고, 이후 코드를 통해 설명하겠다. 이 글은 총 3편으로 1)이해, 2)SDK ver., 3)Backend ver.로 구성될 예정이다. 🍀내가 겪었던 모든 소셜로그인 삽질을 다른 사람들이 겪지 않기를 바라는 마음으로 이 글을 작성한다.🍀기본적인 소셜로그인 플로우들어가기 앞서, 소셜로그인 자체를 구현할 때 크게 거치는 과정이 존재한다. 인증 서버, 리소스 서버는 각각 소셜로그인을 제공하는 회사에서 운영하며, 대부분 아래 틀과 같은 플로우를 거친다...

spring 2025.03.13
LIST