-
NextJS + Supabase 채팅 앱 만들기 - 3. 로그아웃, 유저 상태관리 (Zustand), OAuth User생성 Trigger를 통해 public Schema에도 유저 생성해주기사이드프로젝트 2024. 7. 22. 02:23
https://www.youtube.com/watch?v=-xXASlyU0Ck&t=1114s 이분의 유튜브를 보며 실습하는 글 -------- 저번시간에 이어서, 이제 로그인이 되었으면 로그인버튼을 로그인 버튼이 아니라 로그아웃 버튼으로 바꿔주는 것부터 하겠다.app/page.tsx로 이동해서 import ChatHeader from "@/components/ChatHeader";import { Button } from "@/components/ui/button";import { createClient } from "@/utils/supabase/server"; // supabase 객체 불러오기. // 서버 컴포넌트니깐 서버에서 임포트해온다.import React from "react";const pa..
-
NextJS + Supabase 채팅 앱 만들기 - 2. Supabase 기본설정 + Github Oauth 로그인 1사이드프로젝트 2024. 7. 20. 00:11
https://supabase.com/ Supabase | The Open Source Firebase AlternativeBuild production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.supabase.comsupabase 홈페이지에서 new project를 만들어준다. 이제 docs로 가서, authentication을 어떻게 설정해주면 좋을지를 본다.https://supabase.com/docs/guides/auth/server-side/nextjs Setting up Server..
-
NextJS + Supabase 채팅 앱 만들기 - 1. 기본 설정 + 첫 페이지사이드프로젝트 2024. 7. 19. 22:25
https://www.youtube.com/watch?v=-xXASlyU0Ck이 분의 강의를 보며 따라하는 기록이다. 가장 먼저 당연히 프로젝트를 시작할 디렉토리를 만들어준다. 그리고, NextJS 프로젝트를 시작하면 되는데, NextJS 홈페이지에 들어가면 Getting Started를 쉽게 찾아볼 수 있다.https://nextjs.org/docs/getting-started/installation Getting Started: Installation | Next.jsCreate a new Next.js application with `create-next-app`. Set up TypeScript, styles, and configure your `next.config.js` file.nextjs...
-
BOJ 9655 돌게임PS 2024. 7. 11. 22:11
https://www.acmicpc.net/problem/9655 정말 멍청한 실수때문에 시간을 너무 많이 날렸다.dp테이블을 채워줄 때, 반복문을 돌며 dp[i]=어쩌고 이렇게 채워줘야 하는걸dp[n] = 어쩌고 계속 이렇게 썼으니, 답이 나올리가,,, 오늘 상태가 메롱인가... 그림까지 그려가며 했는데. 집중력이 떨어지는 날인 것 같다. 위 처럼 이상하게 해놓고, 답이 안맞는다고 한참 고민하다가 검색을 좀 해봤는데, 이거에 대해 잘 설명해주신 유튜브를 보게 되었다.위 유튜브를 보고나서도 저 어처구니 없는 오타를 찾지 못해 한참헤매긴 했었지만,,유튜브 영상을 남겨놓는다.https://www.youtube.com/watch?v=iEmyvafn8FA&t=665s
-
플로이드 워셜. BOJ 11404PS 2024. 7. 8. 17:49
https://www.acmicpc.net/problem/11404 바킹독님의 유튜브 (https://www.youtube.com/@BaaaaaaaaaaaaaaaaaaaaarkingDog)를 보며, 플로이드 워셜 알고리즘을 공부하고 있다. 바킹독 최고!https://blog.encrypted.gg/1035 [실전 알고리즘] 0x1C강 - 플로이드 알고리즘안녕하세요, 이번에는 플로이드 알고리즘을 다루겠습니다. 이제 최단경로 알고리즘인 플로이드, 다익스트라 알고리즘만 다루고 나면 나름 길었던 그래프 파트가 끝납니다. 목차는 눈으로 한 번blog.encrypted.gg 이 문제를 풀며 중요한 부분은, 중간에 거쳐가는 노드를 3중 for문의 가장 바깥에 두어야 한다는 것이다.바킹독님도 강조하시고 있다. 나도 ..
-
BOJ 16568PS 2024. 7. 8. 14:37
https://www.acmicpc.net/problem/16568 dp로도 풀수 있고, bfs로도 풀 수 있다. 나는 처음에 완전탐색으로 접근했다가 시간초과가 나왔다. n의 범위가 너무 크니, 어찌보면 당연하다.그 후 , dp로 풀었는데 잘 안풀려서 bfs로 풀었다.그리고 bfs로 풀어서 통과한 후, Dp로 다시 풀었다. bfs로 푸는건 정석적인 Bfs처럼 풀면 된다.#include using namespace std;int N, A, B;int mn = 10000001;int visited[1000004];// 처음 완전탐색으로 했을때. 시간초과남.void go(int n, int a, int b, int cnt){ if (n q; q.push(0); visited[0] = 1; ..
-
BOJ - 2206 벽부수고 이동하기PS 2024. 7. 6. 10:18
https://www.acmicpc.net/problem/2206경로구하기 문제이다.우선 최단경로를 구하는 거기 때문에 bfs를 생각해 볼 수 있다.이제 벽을 뚫는 걸 생각해야 하는데,처음 생각했을때, 벽을 하나씩 부수는 경우의 수를 생각해봤다.그런데, 문제의 조건에서 n 벽을 하나씩 부순다면 1000 * 1000 = 100만 을 기본으로 깔고탐색 1000 * 1000 = 100만. 100만 * 100만 이라는 말도 안되는 시간복잡도가 나오기 때문에 다른 방법을 생각해보기로 했다.두번째로 생각한 방법은 벽을 만날때 이걸 뚫고 가고, 이 뚫는 횟수를 1번까지만 허용하는 거다.그래서 보통 큐에 y좌표, x좌표만 저장하는데 거기다가 추가로 지금까지 벽을 몇개 뚫었나도 저장했다.그리고 1번까지만 벽을 뚫을 수 ..
-
BOJ 2140 지뢰찾기PS 2024. 7. 5. 23:13
https://www.acmicpc.net/problem/2140 우선 생각할 수 있는 건 지뢰의 최대개수를 알아내는 거기 때문에,가생이와 그 맞닿아 있는 부분 빼고 안쪽은 전부 지뢰로 처리하면 되는 걸 생각해낼 수 있었다.그럼 이제 가생이의 숫자들을 보고, 바로 안쪽 부분에 지뢰가 있는지 없는지를 계산해주면 된다. 가생이 바로 안쪽 #이 있는 부분을 돈다.# 주위 8구역을 본다.우선 0이 나온다면, 주위 반경(8구역)에 지뢰가 하나도 있으면 안된다.이 경우, 아무런 처리도 하지 않고 넘어간다. 그리고 주변 구역들이 모두 0이 아니라면, 지뢰를 놓을 수 있다는 뜻이다. 정답을 + 1 해준다.그리고, 지뢰를 놨으므로, 주변 8구역 (물론 지뢰가 있는 부분이 아닌, 숫자가 있는 가생이 부분)에 -1을 다 해..