passport 모듈을 이용하면 세션과 쿠키 처리등 복잡한 작업을 비교적 쉽게 할 수 있다고 해서 강의를 보며 따라 만들었는데 나에겐 쉽지 않았다.
passport.serializeUser, passport.deserializeUser 등 처음 보는 메서드들이 나왔고 어떻게 동작하는지도 제대로 이해할 수 없었다.
오늘은 우선 한 번 경험해본다는 생각으로 따라 만들어봤지만 내일은 공식 문서를 보면서 코드 하나 하나를 뜯어보며 내걸로 만들어야겠다.
passport모듈을 이용해 카카오톡 로그인도 할 수 있었는데 생각보다 간단해 프로젝트 시 쉽게 사용해 볼 수 있겠다고 느꼈다.
어제부터 자바스크립트로 간단한 계산기를 만들고 있는데 버튼들이 많다보니 중복되는 코드들이 많고 고려해야할게 많아서 아직 완성하지 못했다.
조금 더 해보고 안되면 힌트를 얻어서 다시 시도해봐야겠다.
그래도 자바스크립트로 뭔가를 만드는 건 재미있다.
아래 문제를 풀었다. 간단하게 행과 열의 합을 구할 수 있었는데 너무 돌아돌아 문제를 풀었다. 그래도 어떻게든 풀어내서 기분이 좋았다.
HTTP 공부를 시작했다. HTTP를 공부하기 전 먼저 인터넷 상에서 어떻게 통신을 하는지 IP는 뭐고 어떤 역할을 하는지를 공부했다. 어떻게 데이터를 주고 받는지 공부하니 백엔드 공부하는데 조금 더 이해를 잘 할 수 있을꺼 같다.
const a = () => {};
document.querySelector('#plus').addEventListener('click',a);
click 이벤트가 발생하면 a 콜백함수가 실행이 된다. a는 누가 실행해주는 걸까?
브라우저가 click을 할 때 a(); 이렇게 실행해준다. 그러면서 event객체도 만들어서 같이 넣어준다.
click을 했을 때 브라우저가 a함수를 대신 호출해주면서 event라는 객체를 만들어서 같이 인수로 넣어준다. a(event); 인수로 넣은게
cont a = (event) ⇒ {console.log(event.tartget.value)} 이렇게 매개변수로 전달된다.
웹, HTTP 전부 인터넷 네트워크망에 기반해서 동작한다. 그렇기 때문에 HTTP를 알기 전에 인터넷 네트워크의 기본을 알아야한다.
인터넷에서 컴퓨터 둘은 어떻게 통신할까?
클라이언트(메세지를 보내는 쪽)와 서버(메세지를 받는 쪽)가 멀리 떨어져있다면 어떻게 통신할까?
수많은 중간 노드들을 거쳐서 메세지가 전달된다.
근데 어떤 규칙으로 어떻게 넘어갈까? 어떻게 목적지까지 안전하게 도착할까? 이걸 이해하려면 먼저 IP(인터넷 프로토콜)을 알 필요가 있다.
멀리 떨어진 서버에 메세지를 보내려면 먼저 IP 주소라는게 있어야 한다.
먼저 클라이언트가 IP주소를 부여 받아야하고 서버도 IP주소가 있어야 한다.
IP 역할
지정한 IP주소에 메세지를 전달할 수 있도록 정해놓은 규칙
메세지를 그냥 보내는게 아니라 IP 패킷이라는 규칙이 있다.
메세지를 전송 데이터에 넣기 전에 밖에 출발지 IP, 목적지 IP 두 개를 적어야한다. 그리고 이걸 던진다.
IP 프로토콜에 의해 서버들이 규약을 따르고 있다. 그래서 출발지가 뭐고 목적지가 뭔지 다 이해를 한다.
그래서 서로 노드끼리 던진다. 목적지 200.200.200.2를 받을 수 있는 곳으로, 계속 전달하다 보면 결국
200.200.200.2라는 목적지에 도달하게 된다.
받은 서버는 잘 받았다고 다시 패킷에 메세지를 담아 보낸다.
IP주소를 부여하고 패킷에 담아보내는 방식은 한계가 있다.
IP 프로토콜의 한계
중간에 패킷이 사라지면?
패킷이 순서대로 안오면?
(용량이 크면 작은 단위로 끊어서 보낸다. 순서대로 안 올 수 있다)
이 문제가 해결이 안된다.
같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면?
(예를 들어 한 PC에서 음악도 듣고 게임도 하면 IP가 같다. 그럼 같은 IP에서 애플리케이션 여러개가
같은 IP를 쓰고 있는데 이걸 어떻게 구분할까? 이런 것에 대한 한계가 있다)
이런 문제들을 해결 해주는 것이 TCP 프로토콜이다.