본문 바로가기

전체 글45

JWT(JSON Web Token)란? JWT (JSON Web Token)는 서버와 클라이언트 간에 정보를 안전하게 주고받는 방법 중 하나입니다. 현대의 웹서비스에서 사용자 인증을 처리하기 위해 가장 많이 사용되는 방식이 토큰 기반의 인증 방식입니다. JWT 역시 이름에서도 알 수 있듯이 토큰 기반의 인증 방식입니다. 그럼 지금부터 JWT에 대해 한 번 간략히 소개해보도록 하겠습니다. JWT의 동작 방식 JWT는 헤더, 페이로드, 시그니처의 세 부분으로 구성됩니다. 헤더 (Header) 헤더는 일반적으로 토큰의 타입과 사용 중인 해싱 알고리즘(예: HMAC SHA256 또는 RSA) 이렇게 두 부분으로 구성됩니다. typ: 토큰의 타입을 지정합니다. alg: 사용 중인 해싱 알고리즘을 지정합니다. 이 알고리즘은 아래에서 소개될 시그니처 부분.. 2023. 2. 7.
객체지향 프로그래밍이란? 최근 들어, 많은 분들이 개발자라는 직업에 도전하고 있고 그러다 보니 기술 면접도 많이 경험하고 계실 것 같습니다. 신입 기술 면접 질문에서 가장 많이 받는 질문 중 하나가 "객체지향 프로그래밍에 대해 설명해 보세요."인 것 같습니다. 구체적으로 설명하면 포스팅이 너무 길어질 수 있어 간단하게 한 번 소개해보려고 합니다. 객체지향 프로그래밍이란? 객체지향 프로그래밍은 일상생활에서 데이터를 추상화하여 상태와 행위를 가진 하나의 객체(Object)로 만들고 그 객체들 간의 관계성을 통해 로직을 구성하는 프로그래밍 패러다임입니다. 객체지향 프로그래밍의 대표적인 특성으로는 클래스와 인스턴스, 추상화, 상속, 캡슐화, 다형성 이렇게 5가지가 있습니다. 객체지향 프로그래밍을 이용하면 코드의 재사용이 용이하고 유지보.. 2023. 2. 6.
쿠키 (Cookie), 세션 (Session) 그리고 Redis 생각보다 개발자분들에게 쿠키 (Cookie)와 세션 (Session)에 대해 물어보면 제대로 대답하지 못하는 경우가 많습니다 실제 개발에서도 많이 쓰이는 만큼, 이슈가 많이 생길 수 있는 부분이기 때문에 정확한 개념 정립이 되어있지 않다면 관련된 이슈를 찾기 어려울 수 있습니다. 그런 의미에서 한 번 정리하고 넘어가 보려 합니다. Stateful 프로토콜 vs Stateless 프로토콜 서버가 클라이언트와의 통신 상태(state)를 계속 추적하며 이 상태 정보를 서비스 제공에 이용하는 프로토콜을 Stateful 프로토콜이라고 합니다. 즉, 상태를 항상 가지고 있기 때문에 네트워크가 안정적일 경우, Stateful 프로토콜을 사용하는 것이 유리할 수 있습니다. 하지만, 서버에 동시 접속할 수 있는 Conn.. 2023. 2. 5.
HTTP vs 웹소켓 (WebSocket) 대부분의 개발자들이 애플리케이션을 개발하다 보면 자연스럽게 HTTP와 웹소켓을 경험하게 됩니다. 다만, 너무 당연히 사용되고 있는 기술들이다 보니 이를 잘 모르고 넘어가는 경우가 많은 것 같습니다. 요즘 들어 많은 분들이 개발자라는 직업을 위해 노력하는 만큼 이번 기회에 이 둘에 대해 이해하고 넘어가는 게 좋을 것 같아 이 글을 작성하게 되었습니다. 프로토콜 우선 프로토콜이란 용어를 알고 넘어갈 필요가 있습니다. HTTP와 웹소켓은 많이 들어봤지만 "그래서 이게 뭔데?"라는 생각이 들 수 있습니다. HTTP와 웹소켓은 프로토콜의 일종이며, 프로토콜은 컴퓨터나 원거리 통신 장비 사이에 메시지를 주고받는 양식과 규칙의 체계입니다. 송신자와 수신자 사이에 "메시지 구조는 이런 식으로 하고, 그건 이런 의미로 .. 2023. 2. 4.
728x90