web 76

[django] custom authentication 및 custom user를 통해 구글 로그인 구현하기 (feat. supabase) - 2

이제 supabase의 sso 관련 api를 활용해 로그인 기능을 어떻게 구현했는지에 대해 알아보자. (오래되어서 자세한 디테일은 기억이 안나지만...) supabase에서 제공하는 api (https://supabase.com/docs/guides/auth/social-login/auth-google)를 곧바로 사용해도 되지만, 나의 경우는 서비스에서 sso 로그인과 일반 로그인을 전부 제공하고 싶어서 user 테이블을 따로 만들었다.sso 로그인 시 원래는 auth 스키마의 users 테이블 아래 그 정보가 저장되는데, 이제 public 스키마의 users 테이블에다가도 정보를 추가로 저장하여 일반 로그인 정보와 함께 관리하고자 했다. oauth_provider 필드의 값에 따라 일반 로그인 사용자인..

web/django 2024.12.26

[django] custom authentication 및 custom user를 통해 구글 로그인 구현하기 (feat. supabase) - 1

코드 작성한지 몇 달 지나서 (사소한 트러블슈팅들은) 기억은 안나지만 세팅 방법 등을 정리해두고자 글을 남긴다~~  장고에서는 기본적으로 (여러 field와 method가 정의된) Users 모델을 제공하고 있다. username, password, email, first_name, last_name, is_staff, is_active, is_superuser 등의 필드와 check_password, set_password, authenticate 등의 메서드가 포함되어 있다. 기본 User 모델을 상속받아 customize하면 된다. 기본적으로 User 모델은 장고의 세션 인증, 토큰 인증 및 JWT 인증과 연동된다 !!인가(Permission)과 관련되어서는 AllowAny, IsAuthentica..

web/django 2024.12.26

클라우드 컴퓨팅과 네트워크의 핵심 개념 이해하기

클라우드 컴퓨팅과 네트워크의 핵심 개념인 IP, DNS, 포트, VM,그리고 클라우드 서비스 모델인 On-Premise, IaaS, PaaS, SaaS에 대해 자세히 알아봅시다~~ 1. 네트워크의 기초 개념IP(Internet Protocol)인터넷에 연결된 모든 장치에 부여되는 고유한 식별자• IPv4: 일반적으로 사용되는 32비트 주소 체계로, 192.168.0.1과 같은 형태를 가집니다.• IPv6: 주소 공간의 부족을 해결하기 위해 개발된 128비트 주소 체계입니다. DNS(Domain Name System)사람이 이해하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환해주는 시스템• 동작 원리: 사용자가 도메인 이름을 입력하면, DNS 서버가 해당 도메인에 대한 IP 주소를 반환•..

web/snulion 2024.11.30

[8주차 과제] interactive web

https://github.com/minseo25/likesaju-frontend-seminar GitHub - minseo25/likesaju-frontend-seminar: 2학기 프론트엔드 세미나 12기 공개용 레포2학기 프론트엔드 세미나 12기 공개용 레포. Contribute to minseo25/likesaju-frontend-seminar development by creating an account on GitHub.github.com 1. scroll event 추가   if (textSectionRef.current) { const delayedFactor = Math.max(0, factor2 - 0.2); gsap.to(textSectionRef.current..

web/snulion 2024.11.16

GraduArt backend 구현 중에 겪은 문제 및 trouble shooting

1. 장고 custom jwt authentication + custom user2. allowany vs. isauthenticated decorator3. 구글 로그인 using jwt tokenhttps://minseosavestheworld.tistory.com/319 [django] custom authentication 및 custom user를 통해 구글 로그인 구현하기 (feat. supabase) - 1코드 작성한지 몇 달 지나서 (사소한 트러블슈팅들은) 기억은 안나지만 세팅 방법 등을 정리해두고자 글을 남긴다~~  장고에서는 기본적으로 (여러 field와 method가 정의된) Users 모델을 제공하고minseosavestheworld.tistory.comhttps://minseosa..

web/django 2024.11.06

실시간 채팅 구현에 대해 araboza

Requirements일대일 채팅, 그룹 채팅 모두 가능해야 함.현재 열람중인 채팅방에서 발생하는 채팅 내용들을 실시간으로 확인해야 함.현재 열람 중인 채팅방이 아니더라도 좌측 목록에서 다른 채팅방으로부터의 알림을 실시간으로 받아야 함.채팅 내역은 데이터베이스에 저장되어, 브라우저를 새로 열고 로그인을 다시 해도 이전의 기록들을 보존&열람할 수 있어야 함.인증받은 사람만 채팅이 가능해야 함.Scenario1. A 가 채팅방을 연다.서버로부터 기존 채팅 내역들을 불러온다 (일반적인 HTTP 요청-응답)클라이언트와 서버가 웹소켓으로 연결된다. 2. A가 채팅방에 메세지를 보낸다.A의 클라이언트가 웹소켓을 통해 서버로 메세지를 전송한다.서버는 A가 연결된 웹소켓으로부터 데이터를 받고 핸들러를 호출한다.메세지..

web/snulion 2024.11.02

WAS, WSGI, ASGI에 대해 araboza

django는 웹 개발 프레임워크일 뿐이지, 웹 서버는 아님물론 django에서는 python manage.py runserver 커맨드를 통해 장고에서 기본적으로 제공하는 개발용 내장 서버 사용할 수 있다=> ssl 등 보안 프로토콜 적용 불가, 여러 프로세스 동시에 처리 불가 then, What's web server?웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램클라이언트 요청(주로 HTTP)에 맞는 응답(주로 web page 혹은 api 응답)을 생성 상기 언급한 웹 서버에서는 지정된 경로에 미리 데이터를 준비한 후 요청에 따라 그대로 돌려주는 역할의 정적 콘텐츠 서빙만을 수행 가능함ex) public 폴더에 들어갈만한 이..

web/snulion 2024.11.02

websocket에 대해 araboza

우리는 웹소켓 프로토콜을 통해 실시간 양방향 통신을 구현할 예정 How about HTTP Polling?polling = 하나의 프로그램이 다른 프로그램(혹은 장치)의 상태를 주기적으로 검사하여 일정 조건을 만족하면 자료를 처리하는 개념메시지를 원하는 클라이언트는 서버에게 일정 주기로 계속 Request를 전송서버 입장에서 클라이언트가 원하는 이벤트가 준비되었다면(도착했다면) HTTP Response 형태로 이를 반환해주고, 그렇지 않다면 요청은 실패 but,네트워크 리소스 많이 잡아먹음 오버헤드를 줄이기 위해 전송 주기 T를 길게 하면 실시간성이 떨어짐 cf) long polling = 요청 횟수에 따라 서버 부담이 급증하는 Polling 방식을 개선하기 위해 등장* 구체적으로는, 만약 전송할 데이터..

web/snulion 2024.11.02

카카오페이를 이용한 간편결제에 대해 araboza

주요 구성 요소- 구매자 (상품 선택하고 결제 진행하는 사용자)- client (프론트엔드 (React), 구매자가 상호작용하는 웹사이트나 앱. 결제 요청을 받고 결제창을 호출하는 인터페이스 역할)- Server (백엔드 (Django), PG사에게 결제 승인을 요청하고, 그에 대한 응답을 받는 상점의 서버)- 페이먼트(PG사) (실제 결제 처리와 승인, 결제 상태 등을 관리하는 결제 대행사) PG(Payment Gateway)사란?PG사는 이커머스 결제 대행 서비스를 진행하는 중개업체Payment Gateway의 준말로, `‘결제를 위한 관문’`이라고 이해PG사는 카드 결제, 간편결제, 계좌이체, 가상계화(무통장입금) 등 다양한 결제 방식을 사용할 수 있게 연결 결제 flow1. 결제창 호출 (결제 준..

web/snulion 2024.10.05

상태관리에 대해 araboza (2)

상태 관리의 유형은1. 전역 vs 로컬전역 상태 관리전역 상태(global state) 관리는 프로젝트 전체에 영향을 미치는 상태를 관리하는 것로컬 상태 관리로컬 상태(local state) 관리는 특정 기능 또는 컴포넌트 내에서만 사용되는 상태를 관리하는 것 2. 클라이언트 vs 서버클라이언트는 프론트 유저 간 상호작용, 서버는 프론트 백 간 상호작용 느낌으로 이해하자고요 Redux의 원칙1. single source of truthAction → Dispatcher → Store → View의 순서로 데이터 흐름을 단방향으로 제어하기 위한 아키텍처 2. state is read-only 3. Changes are Made with Pure Functionsfunction sampleReducer(..

web/snulion 2024.10.05
반응형