Backend

기존에 MySQL workbench를 사용했지만, 튕기는 오류도 계속해서 생기고 DB 이전을 계획하고 있던터라 DBeaver라는 DB 관리 툴을 설치했습니다.  설치 방법에 대해 간단히 공유하고자 포스팅을 작성합니다. 1. DBeaver 란 무엇인가 우선, DBeaver에 대해 간단히 설명드리겠습니다.  DBeaver란 JDBC를 기반으로 DB 연결을 하기에 매우 다양한 데이터베이스를 지원하는 DB 관리 도구입니다.(MySQL, PostgreSQL, Oracle, SQLite, SQL Server등 관계형 데이터베이스는 물론 MongoDB, Cassandra, Redis 등의 NoSQL 데이터베이스도 지원) Commuity Edition을 이용하면 라이선스가 무료인데다가, Window, Linux, Ma..
프로젝트 진행 중 회원 기능을 구현하기 위해 JWT 인증 방식을 도입하기로 했습니다.  그런데 세션 방식에 비해 어떤 이점이 있기에 JWT를 많이 쓰는 것인지, 개발하는 입장에서는 사용자의 정보를 가져올 때, 세션이든 JWT든 어디서든 가져오기만 하면 되는 것 아닌가? JWT 토큰 보안이 잘 이루어지는게 맞는지? 같은 여러 의문이 생겼습니다.  이번 포스팅에서 그 의문점에 대해 정리해보겠습니다.  1. 세션 방식과 JWT 방식 비교 우선 서버에서 사용자를 어떻게 인증하는지에 대해 살펴보겠습니다.  만약 한 웹 사이트를 만들었다고 가정하겠습니다. 이 웹사이트에서 로그인한 사람만 웹 사이트를 구경할 수 있게 하고 싶다면 어떻게 해야할까요?  보통 세션 방식(좌)과 JWT 방식(우) 두 가지를 제시합니다.  ..
· Backend/HTTP
1. HTTP 헤더 HTTP 헤더는 HTTP 메시지에 추가적인 정보를 제공하여 통신을 원활하게 합니다. 이러한 헤더들은 요청과 응답 모두에 사용됩니다. 이를 통해 메시지 바디의 내용, 길이, 압축 여부, 인증, 캐시 관리 등의 부가 정보를 전달할 수 있습니다.  (1) HTTP 헤더의 구조HTTP 헤더는 다음과 같은 구조를 가집니다(field-name은 대소문자를 구분하지 않음. OWS는 띄어쓰기를 허용)  (2) HTTP 헤더 표현 현재 HTTP/1.1 표준에서는 메시지 본문(Message Body)을 통해 표현 데이터(Representation Data)를 전달합니다. 이에 따라 표현 데이터를 해석하기 위한 정보를 제공하는 표현 헤더(Representation Header)가 사용됩니다. 표현 헤더는..
· Backend/HTTP
HTTP 상태 코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능을 말합니다. 이 상태 코드는 크게 아래의 5가지 범주로 나눌 수 있습니다. • 1xx (Informational): 요청이 수신되어 처리중 • 2xx (Successful): 요청 정상 처리 • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 이를 통해 만약 모르는 상태 코드가 나타날 경우에는 상위 범주의 상태 코드로 해석하여 처리할 수 있습니다. 예를 들어, 299라는 상태 코드가 나타나면 이는 2xx(Succ..
· Backend/HTTP
1. 클라이언트에서 서버로 데이터 전송 데이터를 전달하는 방식은 크게 2가지가 있습니다. 1. 쿼리 파라미터를 통한 데이터 전송 GET 메서드를 주로 사용합니다. 주로 정렬 필터를 쓸 때 많이 사용합니다. (검색어, 정렬 조건 등) 2. 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 메서드를 사용합니다. 회원 가입이나 상품 주문, 리소스 등록, 변경 시 주로 사용합니다. 그리고 클라이언트에서 서버로 데이터를 전송하는 상황을 아래의 4가지로 나누어 볼 수 있습니다. 1. 정적 데이터 조회 이미지, 정적 테스트 문서 2. 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) 3. HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 4. HTTP API를 통..
· Backend/HTTP
1. HTTP API 만들기 API URI(Uniform Resource Identifier)를 설계 시에 중요한 것은 리소스의 식별입니다. 예를 들어, 회원을 등록, 수정, 조회, 삭제하는 기능을 설계한다고 가정해보겠습니다. 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 여기서 회원을 등록하고 수정하고 조회하는 동작은 리소스가 아닙니다. 여기서의 리소스는 회원이라는 개념입니다. 더 쉽게 예를 들자면 미네랄을 캐라는 명령에서 캐는 행위가 리소스인 것이 아니라 미네랄이 리소스입니다. 그래서 위 예시처럼 URI를 설계한다면 리소스가 명확히 드러나지 않..
동구름이
'Backend' 카테고리의 글 목록 (5 Page)