인터넷 쇼핑몰이나 구글, 네이버 등 웹 사이트에 로그인을 하면 홈페이지에서 다른 페이지로 넘어가는 것처럼 새로운 요청을 보내도 로그인이 유지되는 것을 볼 수 있다. 당연한 것 처럼 보이지만, HTTP 프로토콜은 'Stateless' 한 특성을 가지고 있는 프로토콜이다. 서버는 통신이 끝나면 상태 정보를 유지하지 않는다. 원래대로라면 서버측에서는 요청을 보낸 클라이언트가 이전에 로그인 요청을 보낸 클라이언트와 동일한지 아닌지 상태 정보가 없으므로 모를 것이다. 이러한 Stateless한 특징을 보완하기 위해서, 로그인 기능을 구현할 때 가장 일반적인 방법으로 쿠키와 세션이 사용된다. 쿠키와 세션 없는 기존 HTTP 프로토콜 방식대로라면 구글에 로그인을 해서 Gmail, 구글 드라이브 등 다른 페이지로 이동..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻❄️☁️https://www.acmicpc.net/problem/9997 9997번: 폰트 첫째 줄에 단어의 개수 N (1 ≤ N ≤ 25)가 주어진다. 다음 N개 줄에는 사전에 포함되어있는 단어가 주어진다. 단어의 길이는 100을 넘지 않으며, 중복되는 단어는 주어지지 않는다. www.acmicpc.net * 비트마스킹을 사용할 수 있는 이유 : 알파벳 26자리 방문 표시를 0 or 1 로 할 수 있음 ex) 1
https://www.acmicpc.net/problem/1022 1022번: 소용돌이 예쁘게 출력하기 첫째 줄에 네 정수 r1, c1, r2, c2가 주어진다. www.acmicpc.net 어렵다.. 출력할 부분만 어떻게 만들어줘야하는지 감이 잘 안와서 어려웠던 문제이다. 또한 모눈종이에서 생각하는 좌표와 실제로 출력해줄 부분에서의 좌표 변환이 어려웠다 (board[x - r1][y - c1]) ㅠㅠ 문제 푸는 아이디어 1. 구현 자체는 소용돌이를 모두 구현한다고 생각하되, 배열은 출력할 크기인 (c2-c1+1) * (r2-r1+1)으로만 초기화해준다. board = [[0] * (c2-c1+1) for _ in range(r2-r1+1)] 그리고 x, y 가 board 범위에 속하는 경우에만 num ..
나는 오픽을 3일.. 아니 2일.. 사실 그것도 딱히 하루종일 공부한 것도 아니다 순수 공부시간이 총 5~6시간 될까? 오픽 특성상 말하면서 공부해야하기 때문에 목이 아파서 공부를 하루종일 할 수 없다 .. ㅠㅠ 암튼 내가 벼락치기한 썰을 풀어본다 1. 배경 본인은 영어로 간단한 커뮤니케이션을 할 수 있는 정도였다. 비영어권 유학 1년 영어권 인턴 6개월 해외 경험이 있다. 공채 시즌에 맞춰 급하게 오픽 점수가 필요한 상황. ㅠㅠ 2. 준비단계 - 어떤 문제가 나오는지 문제 유형 파악하기 & 문제 직접 풀어보기 (중요) 해커스 오픽 책으로 대비했다. 난 벼락치기니까 일단 문제와 유형을 빨리빨리 접해보는 것에 초점을 두었다. 시간이 없어서 내가 고를 취미/관심사 등 유형에 대한 세트 문제 위주로 준비했다 ..
ARP (Address Resolution Protocol) ARP 프로토콜이란 주소 해석 프로토콜이다. 네트워크 계층 (Layer3) 에서 사용하는 IP 주소를 물리 주소인 MAC 주소로 대응시켜주는 역할을 한다. 반대로 해당 MAC주소로 대응되는 IP 주소를 얻는 프로토콜은 RARP (Reverse Address Resolution Protocol) 이라고 한다. 그렇다면 왜 굳이 IP주소를 MAC 주소로 변환을 해주어야 할까 ? 두 단말 간 통신을 할 때는 결국 고유한 물리 주소인 MAC주소로 통신을 해야 하기 때문이다. MAC주소는 LAN카드에 할당되는 고유한 물리조소로 전세계에서 유일한 목적지 주소이기 때문이다. 다음은 동일한 네트워크 상에 존재하는 호스트들의 IP주소와 MAC주소를 확인하는 a..
나도 왜이렇게 커밋에 집착하는지 모르겠다 하지만 잔디는 채우고 싶은걸.. 그런데 어제 오픽 시험을 봐서 커밋을 못했다고 한다 ㅠㅠ 이왕 하는거 커밋 날짜 조작.. 아니 변경하는 포스팅을 써보려고 한다 자자 일단 조작할 커밋을 하나 생성해본다 . vim 편집기로 간단한 코드 쓰고 파일을 생성했다 ㅎㅎ.. 참고로 포스팅 기준 오늘은 3월 11일이고 나는 3월 10일 비어서 커밋 조작을 해줄 것이다. vim 2023-03-10.py git add . git commit -m '0310' git push origin master git log를 확인해서 해시값을 얻자 commit 뒤에 나오는 이상한 값이 있는데 이게 해시값이다. git log 해시값을 이용해서 commit 에 대한 상세정보 파일에 들어갈 것이다..
https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 나도 맥주마시면서 펜타포트 페스티벌 가고 싶다 ! 88%에서 걸린 코드 from collections import deque t = int(input()) # 맨하튼 거리 계산 def distance(x1, y1, x2, y2): return abs(x1 - x2) + abs(y1 - y2) def route(sx, sy, ex, ey): queue = deque([]) x, y = sx, ..
AWS RDS란 ? RDS란 Relational Database Service 의 줄임말이다. AWS에서 관계형 데이터베이스 인프라 관리를 자동화하고, 클라이언트들이 쉽게 데이터베이스에 접근하여 사용할 수 있도록 제공하는 서비스이다. AWS에서 RDS 검색후 데이터베이스 생성을 바로 해봅시당 데이터 베이스는 표준 생성으로 시작해보겠습니다 사용할 엔진을 선택합니다. 저는 MariaDB로 선택했습니다 연습용이니까... 프리티어로 만들어보겠습니다 DB 이름을 정해주고 마스터 사용자 (admin) 이름을 정해줍니다 나중에 이 사용자 이름으로 데이터베이스에 접속해야 하니까 기억해주어야 합니다.. 암호를 사용해서 데이터베이스 접속을 관리할 것이므로 마스터 암호를 설정해줍니다. 위에서 제가 설정한 minjee 라는 ..