전체 글31 OAuth2 요즘 어플리케이션이나 어떤 특정 사이트에 회원가입을 위해서 타 서비스의 계정을 사용하는 인증 방식이 많이 보인다. 이러한 방식을 OAuth 2.0 인증 방식이라고 한다. 이번 글에서는 OAuth 인증 방식이 어떻게 동작하는지를 구글 서비스를 통해 살펴 보고자 한다. OAuth 2.0 동작 방식OAuth 인증 방식은 위에서 언급한 대로 인증의 과정을 '타 서비스에게 위임' 하는 인증 방식이다. '위임'한다는 뜻은 내 웹 사이트에 '구글 로그인' 인증을 넣었다고 해서 사용자가구글 웹 사이트에 직접 로그인하는 것이 아니라는 뜻이다. 내 웹 사이트에 접속한 사용자의 정보는 여전히 내 웹 사이트에서 관리해야 한다. 구글이 해주는 일은 웹 사이트 사용자가 '구글 로그인' 기능을 통해 구글에게 전송한 구글 계정 정.. 2024. 10. 19. CQRS 패턴 CQRS 패턴이란?주말동안 우리가 진행하는 프로젝트에서 난 백엔드 팀원으로서 ERD 설계를 하던 중이였다. ERD 설계를 다 하고 다이어 그램을 확인해보니...위의 사진과 같이 루트 테이블을 기반으로 JOIN 문이 많아질 것 같았다. 이는 곧 DB의 성능 저하가 발생한다.(왜냐하면 여러 테이블을 참조하는 경우가 많아지면 쿼리의 복잡성이 증가하고, DB성능에 영향을 줌) 그래서 이를 나중에 어떻게 해결하는게 좋을까 머리를 싸매다가 CQRS 라는것을 우연히 찾게 되었다. 그래서 CQRS란?CQRS (Command Query Responsibility Segregation) 패턴은 명령(Command) 과 쿼리(Query)를 분리하여 시스템의 읽기 성능과 쓰기 성능을 각각 최적화하는 아키텍처 패턴이다. 이를.. 2024. 9. 30. 소셜로그인 어떻게 도입할까? 소셜 로그인은 소셜 네트워킹 사이트의 정보를 이용해 타사 애플리케이션과 플랫폼에 쉽게 로그인할 수 있는 프로세스를 말한다. 이 프로세스는 계정을 만들 필요 없이 편리한 방법을 제공하여 로그인 및 등록 경험을 간소화할 목적으로 개발되었다. - 사용자의 관점에서 보았을 때 소셜 로그인은 별도의 회원가입이 필요없이 번거로운 등록 절차를 건너뛰어 사이트와 앱에 원활하게 액세스할 수 있는 방법이다. - 개발자와 기업의 관점에서는 사용자 확인을 간소화하는 동시에 개인화를 목적으로 사용자 데이터에 더욱 안정적으로 액세스 할 수 있는 방법을 제공한다는 점에서 매력적인 기능이다. 소셜 로그인은 크게 보면 몇 단계만에 끝나는 간단한 프로세스이다. 1. 사용자가 앱 또는 사이트에 접속하여 원하는 소셜 네트워크를 선택한다. .. 2024. 9. 22. ERD 설계? 어떻게 진행할까? ERD가 뭘까?ERD란 Entity-Relationship-Diagram 의 약자로, 데이터베이스 구조를 한눈에 알아보기 위해서 쓰인다.DB를 개발하기 전에 보다 많은 아이디어를 도출하고, 데이터베이스 설계의 이해를 높이기 위해 데이터 모델링을 실시한다.쿼리문을 작성할 때 테이블들이 구조화된 다이어그램을 보면서 도움을 받을 수 있다.데이터의 다양한 특징을 확인할 수 있어 요구사항을 그에 맞게 개발할 수 있다.ERD의 핵심은 Entity, Relationship, Attribute 이다. 각 용어들의 의미를 먼저 살펴보자. Entity(개체)Entity는 데이터베이스 설계에서 중요한 개념으로, 현실 세계에서 존재하는 사물, 개념, 혹은 사건 등을 추상화하여 데이터로 표현한 객체를 의미한다. 엔티티는 데이터.. 2024. 9. 18. 관계형 데이터베이스 관계형 데이터베이스(relational database)란?관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다.관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(Key)와 값(value)의 관계를 나타낸다.이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징이다.위의 사진처럼 테이블은 이름을 가지고 있으며, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가진다.관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있다. 관계형 데이터베이스 용어1. 열(column)각각의 열은 유일한 이름을 가지고 있으며, 자신만의 타입을 가지고 있다. 이러한.. 2024. 9. 10. SSR? CSR? 렌더링 방식의 차이와 이해 우리가 웹 또는 앱 개발을 완료한 후, 사용자가 이를 이용할 수 있도록 웹 페이지를 렌더링해야 한다. 이 렌더링 방식에는 차이가 있으며, 대표적으로 CSR(Client Side Rendering) 과 SSR(Server Side Rendering) 방식이 있다. 이 각각은 웹 애플리케이션이 사용자에게 어떻게 콘텐츠를 제공하는지에 대한 방식이다. 1. SSR(Server Side Rendering) 서버 사이드 렌더링말 그대로 서버쪽에서 렌더링 준비를 끝마친 상태로 클라이언트에 전달하는 방식이다. SSR 같은 경우 웹 개발에 사용되는 기술로, 서버에서 웹 페이지의 HTML을 생성하여 클라이언트 측으로 보내 브라우저에 표시한다. HTML은 서버 측에서 미리 렌더링되므로 로드 속도가 빠르고 *SEO에 좋으며 .. 2024. 9. 6. 이전 1 2 3 4 ··· 6 다음