[Spring Boot] 다대일 채팅(like 버블), 채팅방 개설 및 입장, 채팅방 목록 조회 기능 구현 방법. 처음부터 끝까지 정리.
·
프로젝트 🧸/CocO 🐤
📢 다대일 채팅이란?글을 시작하기에 앞서 다대일 채팅이라는 것에 낯선 독자분들을 위해 다대일 채팅 기능에 대해 간단히 설명드리겠습니다.다대일 채팅 기능이란, 한쪽(1쪽)에 위치한 사용자는 다수(N쪽)에 있는 사용자들의 채팅을 모두 확인할 수 있고, 자신의 메시지가 N쪽의 모든 사용자에게 전달됩니다. 반면, N쪽의 사용자는 다른 N쪽 사용자들의 채팅을 볼 수 없으며, 오직 1쪽 사용자의 메시지만 확인할 수 있습니다. 또한, N쪽 사용자가 보낸 메시지는 다른 N쪽 사용자에게는 공유되지 않고, 1쪽 사용자에게만 전달됩니다.이 구조를 그림으로 다음과 같이 표현해봤습니다!! 1쪽 사용자 시점: 단체 채팅방에서 모든 참여자와 소통하는 느낌N쪽 사용자 시점: 1쪽 사용자와 1:1 채팅을 하는 느낌 이러한 형태는 대..
[Spring Boot] 구글, 카카오, 네이버 소셜 로그인 완전 기초부터 구현까지 이 글 하나로 끝내기
·
프로젝트 🧸/CocO 🐤
⭐ OAuth 2.0 인증 방식OAuth 2.0은 안전하게 사용자 정보를 다른 수 있도록 설계된 오픈 표준 인증 프로토콜입니다.사용하는 주요 목적은 애플리케이션(클라이언트)이 사용자의 비밀번호를 직접 받지 않고, 소셜 플랫폼이 제공하는 권한을 받아 사용자의 데이터에 접근할 수 있도록 하는 것입니다.더 자세한 정보는 아래 글에서 확인할 수 있습니다. [CocO] Spring Security & OAuth2.0 & JWT Token 소셜로그인 동작 방식과 개념 정리 🐤📌CocO 깃허브 보러가기 GitHub - Suanna01/CocO: [개인프로젝트] 교수-학생 다대일 채팅앱[개인프로젝트] 교수-학생 다대일 채팅앱. Contribute to Suanna01/CocO development by creati..
[SQLD 55회] 컴퓨터공학과 3일 공부 후 합격한 후기
·
자격증 💳/SQLD
후기동아리 개발과 자격증 공부가 겹치다 보니 시간을 많이 못 낼 것 같아서 책은 패스하고, 유튜브만 열심히 파봤습니다.유튜브 링크 찾아와주고 같이 공부해주고 긍정적인 얘기만 해준 승햄아~~ 정말 고맙다! 너 없었으면 합격 못했을거야😘 (지금이 연예대상 시즌이라 따라해봄)이제 시험 후기를 말해보자면, 사실 지금까지 자격증 시험 볼 때 시간 부족하다는 느낌은 단 1도 없었거든요? 그런데 이번엔 살짝 빡빡하더라구요.평소엔 OMR 카드도 "이건 진짜 100% 답이다!" 싶은 것만 체크하는데, 이번엔 50문제 중 40문제 풀었을 때 이미 시간이 30분밖에 안 남은 거예요. 이때부터는 '아 몰라, 내 선택이 정답이다!' 하고 바로바로 OMR에 체크했습니다.그런데 이렇게 풀고 나니까, 몇 문제는 확실히 맞췄는지 못..
[Spring Boot] Request Body가 계속 Null일 때. Import를 제대로 했나에 대하여.
·
기술 지식 쌓아가기 📚/Backend 🍔
안녕하세요.제가 import를 잘 못해서 Request Body를 null로만 받아온 사람으로 보이시나요? 맞긴합니다.지피티가 제가 JSON 데이터와 DTO 매칭 잘 했는지 의심을 계속해서 좀 속상했는데요. 코드를 잘 살펴보니 import를 잘 못했더라구요?  지피티도 못 찾을만한 실수에 대하여 글을 써봅니다. ⭐ RequestBody를 사용할 때 발생한 문제와 해결 방법Spring Boot에서 REST API를 개발할 때 @RequestBody는 클라이언트로부터 JSON 데이터를 객체로 변환하는 데 자주 사용됩니다.하지만 이 어노테이션을 사용할 때 올바르지 않은 라이브러리를 import하면 의도치 않은 문제가 발생할 수 있습니다.이번 글에서는 import org.springframework.web.bi..
[백준] 16953 A → B | DFS, BFS, 그래프 | 실버 Ⅱ | JAVA
·
코딩 테스트 일지 📒
📌 문제https://www.acmicpc.net/problem/16953 ⭐ 풀이 과정문제 정의:BFS 탐색에서 큐를 이용해 현재 숫자와 연산 횟수를 저장합니다.큐에서 숫자를 꺼내 가능한 연산(2를 곱하거나, 1을 추가)을 수행한 결과를 큐에 삽입합니다.연산이 끝난 후 목표 값 B에 도달하면 최소 연산 횟수를 출력합니다.BFS를 종료했는데도 B에 도달하지 못한 경우 -1을 출력합니다.제약 조건:숫자가 B를 초과하면 더 이상 탐색할 필요가 없습니다. ✅ 정답 코드import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { public static void main(String[] args..
[백준] 10026 적록색약 | DFS, BFS, 그래프 | 실버 Ⅱ | JAVA
·
코딩 테스트 일지 📒
정답 코드import java.util.*;public class Main { static int N; static char[][] grid; static boolean[][] visitedNormal, visitedColorBlind; static int[] dx = {0, 0, -1, 1}; static int[] dy = {-1, 1, 0, 0}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); grid = new char[N][N]; visitedNormal = new boolean[N][N];..
[백준] 11725 트리의 부모 찾기 | DFS, BFS, 그래프 | 실버 Ⅱ | JAVA
·
코딩 테스트 일지 📒
📌 문제https://www.acmicpc.net/problem/11725 ⭐ 문제 해결을 위한 접근 방식이 문제는 루트 없는 트리에서 각 노드의 부모를 찾는 문제입니다. 트리의 구조를 BFS(너비 우선 탐색) 또는 DFS(깊이 우선 탐색)로 탐색하여 각 노드의 부모를 기록하면 됩니다.알고리즘 설계입력 파싱: 주어진 입력을 읽어 그래프를 인접 리스트로 표현합니다.탐색:루트 노드(1번 노드)를 기준으로 BFS를 수행합니다.탐색 중 각 노드의 부모를 기록합니다.출력: 2번 노드부터 N번 노드까지의 부모를 출력합니다.주요 고려 사항입력 크기가 최대 100,000으로 탐색 알고리즘은 O(N)O(N)O(N) 복잡도를 가지는 방식(BFS/DFS)을 사용해야 효율적으로 처리할 수 있습니다.양방향 그래프로 주어지기 ..
[백준] 11724 연결 요소의 개수 | DFS, BFS, 그래프 | 실버 Ⅱ | JAVA
·
코딩 테스트 일지 📒
📌 문제https://www.acmicpc.net/problem/11724 ⭐ 해결 방법그래프를 인접 리스트로 표현.DFS(깊이 우선 탐색) 또는 BFS(너비 우선 탐색)로 모든 정점을 방문.방문한 정점과 방문하지 않은 정점을 기준으로 연결 요소를 구분.그래프 탐색을 통해 모든 정점을 방문하고, 방문하지 않은 새로운 정점 발견 시 연결 요소 개수 증가.탐색 알고리즘으로 DFS를 선택. ✅ 정답 코드import java.util.*;public class ConnectedComponents { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력 받기 ..
[IT 뉴스] 오픈AI, 구글 왕국에 도전장 – 웹브라우저와 AI로 생태계 흔들기
·
기술 지식 쌓아가기 📚/양대기 기자 🎙️
https://naver.me/xgNBtKzR [AI한입뉴스]오픈AI, 크롬 자리까지 노리나…구글 판 흔든다오픈AI가 구글의 텃밭인 검색 엔진을 넘어 웹브라우저를 넘보고 있습니다. 구글 안드로이드 진영의 핵심 파트너인 삼성전자와는 새로운 동맹을 추진할 조짐인데요. 구글이 크롬 매각 위기에 처n.news.naver.com본 글은 위 뉴스를 읽고 적는 글입니다!✅️ 핵심 요약오픈AI가 구글의 핵심 영역인 웹브라우저와 모바일 생태계를 정조준하며 도전장을 내밀었습니다. 크롬 개발자 영입과 브라우저 프로토타입 개발, 삼성전자와의 협업 논의 등을 통해 구글의 독점적인 검색 및 광고 시장에 균열을 시도하고 있습니다. 이는 검색, 브라우저, AI 생태계를 재편하려는 야심으로, 구글과의 정면 승부를 예고합니다.🤔 느낀..
[백준] 2667 단지번호붙이기 | DFS, BFS, 그래프 | 실버 Ⅰ | JAVA
·
코딩 테스트 일지 📒
⭐ 문제 분석지도는 N x N 크기의 정사각형 배열로 주어집니다. 각 셀은 0 또는 1로 이루어져 있습니다. 1은 집이 있는 곳을 나타내고, 0은 집이 없는 곳을 나타냅니다.연결된 집을 하나의 단지로 보고, 각 단지에 번호를 붙이면서 단지 내 집의 수를 세야 합니다.연결된 집은 좌우, 상하로 연결된 집을 의미하고, 대각선은 연결된 것으로 간주하지 않습니다.문제는 여러 개의 단지 수와 각 단지 내 집의 수를 오름차순으로 출력하는 것입니다.⭐ 해결 전략DFS (깊이 우선 탐색): DFS는 재귀적 방법으로 현재 노드에서 연결된 모든 노드를 탐색하는 방법입니다. 여기서는 집이 연결된 영역을 탐색하기 위해 DFS를 사용하여 연결된 집들을 하나의 단지로 묶고, 각 단지의 크기를 구할 수 있습니다.입력 처리 및 결과..
코양이🤍
'분류 전체보기' 카테고리의 글 목록