Skip to content

0615

백준: 파일합치기 3

음... 오늘은 골드 문제를 풀어보겠습니다

40, 30, 30, 50이 입력값 일 때
[40, 30, 30, 50]
30 + 30 = 60
[60, 40, 50]
40 + 50 = 90
[90, 60]
90 + 60 = 150
res = 60 + 90 + 150
res = 300

입력값이 백만까지 주어질 수 있고
어쨋든 저쨋든 계속 최소값을 찾아서 누적시키면 되는거니까
우선순위 큐로 풀면 될 것 같아서 그렇게 풀었담

뭐지 실버가 더 어려운거 같은데

Supabase

수수수수파베이(스)

supabase란?

Supabase는 오픈소스 백엔드 서비스 플랫폼으로,
PostgreSQL 데이터베이스를 기반으로 한다.
"오픈소스 Firebase"라고 불리며 Firebase의 대안으로 많이 사용된다고 한다.

Firebase와의 차이점

가장 큰 차이점은 데이터베이스 구조다.

Firebase는 NoSQL 기반의 Firestore를 사용하는 반면,
Supabase는 관계형 데이터베이스인 PostgreSQL을 사용한다.
이로 인해 복잡한 관계형 데이터 구조나 SQL 쿼리가 필요한 경우엔 Supabase가 더 적합하다.

또한 Supabase는 완전한 오픈소스 프로젝트로 자체 호스팅이 가능한 반면,
Firebase는 Google의 독점 서비스다.

realworld의 테이블 형태를 보자

Pasted image 20250615185228 음 테이블이 많구만

컨테이너에서 sql문만 빼내오기 위해 아래명령어를 입력했다.
docker exec realworld-django-ninja-db-1 pg_dump -U postgres -d postgres --schema-only > schema.sql

그럼 이렇게 sql문을 짜란 하고 볼 수 있다.
Pasted image 20250615185603
사악 긁어서 클로드한테 수파베이스용으로 고쳐달라해서
supabase에서 sql문으로 테이블을 생성하고
아티클의 엔드포인트는 id/title 형태로 수정했다.

그리고 수파베이스의 getUser 함수를 활용해 사용자 정보를 갖고와서 인증에 사용했다.

그래서 결론적으론 vercel을 활용해 배포를 해씁니다.

흠흠 만-족

아, 그리고 패키지 버전들이 오래된게 많아서
openSSL 호환이 안돼
NODE_OPTIONS=--openssl-legacy-provider
이 속성을 빌드에 추가해줘야했다.

*OpenSSL이란, 네트워크 통신에서 보안을 담당하는 오픈소스 암호화 라이브러리다.
SSL(Secure Sockets Layer)과 TLS(Transport Layer Security) 프로토콜을 구현하여
데이터 암호화, 디지털 서명, 인증서 관리 등의 기능을 제공한다.