-
supabase google 연결사이드프로젝트 2024. 8. 30. 16:27
https://supabase.com/docs/guides/auth/social-login/auth-google?queryGroups=environment&environment=client Login with Google | Supabase DocsUse Sign in with Google on the web, in native apps or with Chrome extensionssupabase.com 프로젝트 ID : 프로젝트 -> Settings -> General -> ReferenceID를 넣어주면 된다 나중에 앱 게시할 때 여기서. url query의 프로젝트id는 자신에게 맞게 변경해주기.https://console.cloud.google.com/apis/credentials/consent?..
-
BOJ 17182 - 우주 탐사선PS 2024. 8. 24. 00:32
https://www.acmicpc.net/problem/17182 플로이드워셜 + 완전탐색 백트래킹으로 풀었다. 재밌는 문제였다. 처음에는 문제를 보자마자 N도 작고 해서 아 이거 플로이드 워셜이구나 생각했다.그래서 각 정점에서 다른 정점으로 가는 최소값을 구하고, 이제 한 정점에서 다른 정점으로 가는 최솟값들을 더해주면 된다고 생각했다.(0에서 1,2,3 번으로 가는 최소값을 보고 가장 최소인 값으로 이동하고, 또 그점에서 다른 정점으로 가는 최솟값들을 보고... 이런식으로 일종의 그리디처럼)그런데 하면서 든 생각이 그리디처럼 어느 한 정점에서 다른 정점으로 가는 최솟값들을 모두 더한 값이 전체의 최소값은 아닐 수 있다는 생각이 들었다.그래서 아 완전탐색이구나 라는 생각이 들어 완전탐색으로 풀었다.그..
-
BOJ 17298 - 오큰수PS 2024. 8. 22. 17:22
https://www.acmicpc.net/problem/17298 예전에 풀었었고, 다시 풀어본 문제다.처음 문제를 보고, 집가는 지하철에서 계속 생각하고, 잠자기 전에 계속 생각하다가 다음날 풀었을때 기분이 너무 좋았었다. 그런데 오랜만에 풀어보니 잘 풀리지 않고 몇번 틀렸다.그래도 결국 다시 풀어냈다! 접근방식은 스택을 사용하여 스택의 top이 항상 새로나오는 수보다 큰 수를 유지하게 하는 거다.(스택에는 내림차순으로 수가 저장되는 거다. 지금 설명으로는 애매한데, 밑의 설명과 코드를 보면 더 잘 이해가 될거다.) 먼저 정답배열을 전부 -1로 채워준다.새로운 수와 스택의 top을 비교한다. 새로운 수가 스택의 top보다 작다면, 오큰수가 아닌 거니깐 스택에 추가하고 넘어간다. 이때 새로운 수의 인덱..
-
16.Socket 연결MERN Stack ChatApp 2024. 8. 21. 23:30
https://socket.io/how-to/use-with-nextjs How to use with Next.js | Socket.IOThis guide shows how to use Socket.IO within a Next.js application.socket.io socket setup 이벤트를 챗룸을 클릭했을 때가 아니라, 그냥 접속하면 바로 달아줘야함. https://corner-ds.tistory.com/71 [Node.js] 12장(2) 미들웨어와 소켓 연결하기5. 미들웨어와 소켓 연결하기 입퇴장하는 사람의 ID를 보여주고 싶은데, 그 정보는 req.session.color에 저장되어 있으므로 Socket.IO에서 지금은 접근이 불가합니다. 이를 해결하기 위해 우리는 Socket.IOco..
-
BOJ 2467 - 용액PS 2024. 8. 20. 19:19
https://www.acmicpc.net/problem/2467 투포인터로 풀었다. 처음문제를 봤을때는 이걸 어떻게 해야하나, preSum을 구해야하나, 값을 입력받을때마다 0번인덱스와 더한값 저장, 1번인덱스와 더한값저장 이렇게 해야하나,,, 고민했다.그런데 그러기에는 숫자가 너무 컸다. N이 일단 100,000까지니깐 이렇게 하면 무조건 시간복잡도가 초과되었다. 문제를 다시 읽어보니 특성값이 -1,000,000,000부터 1,000,000,000까지였고 정렬되서 주어진다고 했다.값도 너무 크고, 정렬이라는 단어가 있으니 여기서 이분탐색을 떠올렸다.그러면 이제 이분탐색을 어떻게 해야할까... 이분탐색은 보통 시작과 끝을 더하고 그걸 2로 나눈 중간값을 구해서 그 중간값과 특정값을 비교하고 이걸 기반으..
-
BOJ 2638 - 치즈PS 2024. 8. 17. 23:33
https://www.acmicpc.net/problem/2638재밌는 문제였다.처음에는 외부공기와 접촉한 부분만 녹는다는 조건을 제대로 안보고, 그냥 두면이상이 공기와 접촉하면 녹이는 식으로 해서 틀렸다.그리고나서 문제를 제대로 읽고, 외부공기와 접촉한 부분이 두면이상일 때 녹게하기 위해 어떻게 해야할지 고민을 좀 했다. 이중반복문 완전탐색으로 가다가 치즈나오는 부분이 생기면 그때부터 bfs나 dfs로 치즈인 부분들만 탐색하게 할까, 어떻게해야할까 등등...그러다가 외부공기만 먼저 오염(?)시키고 난 후에, (0,0 부터 시작해 dfs로 0인부분들만 찾아서 오염시킨다.) 외부와 접촉하는 부분이 두개이상인 부분을 큐에넣고 저장한다음, 큐안의 내용물들을 모두 녹이는 방법을 떠올려서 이렇게 풀었다! (큐에 ..
-
15. 채팅방에서 메세지 불러오기, 메세지 보내기 화면MERN Stack ChatApp 2024. 8. 16. 23:02
https://www.youtube.com/watch?v=cHziFZ7Q58Y&list=PLKhlp2qtUcSZsGkxAdgnPcHioRr-4guZf&index=14를 보며 하고있다. 그런데 사실 이번편은 화면 어떻게 작동하나만 확인하고, 내가 알아서 만든거라 동영상 내용이랑은 많이 다를 수 있음. 한거는 먼저 messageStore를 만든다. 챗 하나를 클릭하면, 지난시간에 만든 메세지 패치 api를 사용해서 채팅방 하나에있는 메세지들을 모두 불러온다. 그리고 message State를 패치해온걸로 바꿔줌. 그리고 chatBox 컴포넌트에서 해당 메세지를 표시해준다. 메세지 보내기는 역시 messageStore와 함께 쓰는데, 메세지를 전송하면 messageStore에 addMessage라는 함수를 ..
-
14. Message APIMERN Stack ChatApp 2024. 8. 14. 22:50
https://www.youtube.com/watch?v=m5-6A-MQ0Os&list=PLKhlp2qtUcSZsGkxAdgnPcHioRr-4guZf&index=13를 보며 만들고 있다. 이번시간에는 메세지 보내는 API를 만들었다.막 특별할 건 없고, 메세지를 보내는 API는 보내는 메세지(content)와 보낼 채팅방의 ID(chatId)를 받아서 인서트해준 후 lastestMessage를 업데이트 해준다. 메세지를 조회하는 API는 path로 chatID를 받아와, 그 채팅방의 모든 메세지를 SELECT하고 보내준다.(외래키 조인할 건 조인해서) github : https://github.com/Wunhyeon/ChatApp-MERNStack/tree/14.MessageAPI GitHub - Wun..