🚀 개요 ⭐ Transaction Transaction이란? 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위 DB를 조작할 땐 DML인 SELECT, INSERT, UPDATE, DELETE을 사용합니다. 트랜잭션은 DB를 사용할 때 한번 접근해서 수행하는 작업의 단위라고 할 수 있죠. 트랜잭션의 특징으로는 안전성을 보장하기 위해 필요한 4가지 성질이 있습니다. (ACID 성질) 1. 원자성(Atomicity) : 트랜잭션이 한번 실행될 때, 데이터베이스에 모두 반영되던가, 모두 반영되지 않아야 합니다. 2. 일관성(Consistency) : 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 합니다. 3. 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 실행될 때, 다른 트랜잭션의..
🚀 개요 우리가 어떤 웹 서비스를 배포한다고 하면, 흔히 보안 접속을 위한 HTTPS 프로토콜 연결을 적용해주게 됩니다. HTTPS 를 사용해 통신 내용을 암호화하면 중간자로부터 사용자의 정보를 보호할 수 있기 때문에 대부분의 서비스가 HTTPS 를 사용하고 있습니다. 이러한 특성 때문에 HTTPS 프로토콜을 사용하는 측에서는 오직 HTTPS 프로토콜을 사용하는 서비스끼리만 통신할 수 있습니다. 우리가 HTTPS 프로토콜을 사용한다고 해도, 상대측이 HTTP 프로토콜을 사용하고 있다면 부분적으로만 암호화가 이루어진 상태이기 때문에 공격자가 암호화되지 않은 정보에 접근할 수 있어 위험하기 때문입니다. 실제로 HTTPS 프로토콜을 이용하는 측에서 HTTP 프로토콜을 이용하는 측으로 연결을 시도하면, 크롬 브..
🚀 개요 우리 사이트 로그인 과정에서 사용자를 식별할 고유한 값으로 소셜 서버에서 가져온 email 정보를 사용하거나 소셜의 email 정보가 없다면 자체적으로 email을 부여했습니다. 🚀 문제 상황 ✅ Where & What 사용자가 소셜 로그인을 할 때 1. 오직 한 가지(네이버 or 카카오 or 구글)로만 로그인 2. 두 개 이상의 소셜 서비스(ex. 네이버+카카오)로 각각 로그인 이 두 가지 케이스 중 2번에서 중복 조회 문제가 발생하는 것을 확인했습니다. 저 같은 경우 네이버와 카카오에 등록해놓은 email이 같습니다. 네이버와 카카오로 각각 로그인을 진행하면 회원가입 시 DB에 네이버/카카오 가입 정보에 같은 email 값이 들어갑니다. ✅ When & Why 문제는 다음 로그인부터 예외가 ..
🚀 로그인에 대해⭐ 로그인이란?"로그인"웹 개발 입문하고 프로젝트를 해 봤으면한 번쯤은 로그인 구현에 대해 고민해 봤을 것이라고 생각한다. 로그인이란 무엇일까?접근 권한을 얻기 위해 시스템에 자기 자신을 증명하는 것을 말한다.여기서 증명과 접근 권한이라는 말이 나온다.개발에서 좀 더 자주 사용하는 단어로 치환해서 말하자면증명은 인증(Authentication),접근 권한은 인가(Authorization)라고 말할 수 있다. 예를 들어,게임 안에 있는 내 캐릭터에 접속하기 위해선 게임 서버로부터 자신이 캐릭터 주인임을 인증(증명)하고 인가(접근 권한)를 받아야 한다.쇼핑몰에 접속해 원하는 물건을 주문하기 위해선 쇼핑몰 서버로부터 자신이 쇼핑몰에 가입되어 있는 특정 인물임을 인증(증명)하고 주문할 수 있는..
🚀 Network & Web 통신 ⭐ Network 통신 ✅ Server-client Model 서버는 특정 서비스를 제공하는 컴퓨터를 말하며, 클라이언트는 해당 서비스를 이용하는 사용자를 의미한다. ✅ Server의 종류 종류 설명 Web Server 웹 브라우저와 HTTP 프로토콜을 사용하여 사용자의 요구에 따른 특정 서비스를 제공하는 서버 Mail Server 인터넷을 통해 사용자 간의 전자 우편을 주고 받는 서비스 제공 FTP Server 서버 내에 파일을 업로드, 다운로드 할 수 있도록 파일 관리 기능 제공 Talnet Server Terminal, 텍스트로만 이루어진 창에서 특정 명령어를 통해 원격지 서버를 접속 및 관리 Database Server 데이터를 저장하고, 원격지에 접속할 경우 권..