백엔드 도전기 17일차

홍성준·2022년 11월 24일
0

오늘 배운 내용

어제는 알고리즘 문제로 프로그래머스의 완주하지 못한 선수를 풀었다. 멘토님이 풀어주시기 전에 먼저 풀어봤는데, 나는 생각보다 어려웠다. 근데 역시 풀이법을 보니 매우 간단했고, 왜 나는 그때는 이런 생각을 하지 못했을까?라고 다시 한번 되새기면서 알고리즘 문제를 풀고있다.

오후에는 전에 만들었던 erd를 보고 직접 그 테이블들을 만들어서 mysql에 등록을 시켜줬다. 만들어야하는 테이블의 갯수가 많다면 귀찮았겠지만, 그렇게 많지 않아 금방 끝났다. 그리고 심화 프로젝트로 넘어오면서 기도해야되는 횟수가 많아졌는데, 프로그램 구조가 전보다 복잡해져서 오류가 많이 나거나, 오류를 고치기도 힘들어 항상 실행하기 전에 기도를 한다.

Login Process

로그인 과정을 알기전에 알고넘어가야할 개념이 있는데, 먼저 클라이언트 쉽게 생각하면 나 자신이라고 생각하면 된다. 그 다음 브라우저 클라이언트와 서버간의 데이터를 전달해주는 터널이라고 생각하면 된다. 서버는 클라이언트의 요구사항에 맞는 응답을 해주는 컴퓨터이다. 마지막으로 데이터베이스는 그냥 데이터 베이스이다. 데이터를 저장해주는 컴퓨터라고 생각하면 된다.

그래서 로그인 과정은 첫번째 클라이언트에서 자신의 아이디와 패스워드를 입력해 브라우저를 통해 서버로 보낸다. 두번째 서버는 아이디와 패스워드를 받는다. 세번째 서버는 이 아이디와 패스워드가 실제로 있는 회원인지, 회원이라면 비밀번호는 맞는지 확인하기 위해 데이터베이스에 접근해 확인을 한다. 그 후 마지막으로 체크 결과를 클라이언트에게 응답으로 보내준다. 맞다면 로그인 성공, 틀리다면 로그인 실패

우리가 보기엔 1초만에 눈으로 성공, 실패가 보이지만 1초만에 위에 요청과 응답이 이루어져 우리에게 전달이 되는 것이다. 단순해 보이지만 우리의 아이디와 패스워드는 엄청나게 움직여서 서버에게 전달이 되고, 또 다시 서버의 응답은 복잡한 길을 통해 우리에게 다시 오게된다.

profile
안녕하세요

0개의 댓글