분류 전체보기 180

Spring Data REST

네, 맞습니다. Spring Data REST를 사용하면, 별도의 컨트롤러 없이도 기본적인 CRUD 엔드포인트가 자동으로 생성됩니다. 따라서, CarRepository와 OwnerRepository를 정의하고, Spring Data REST 설정만 해주면, 기본적인 CRUD 엔드포인트를 사용할 수 있습니다.OwnerCarController와 같은 컨트롤러는 필요하지 않습니다. 다만, 커스텀 로직을 추가하거나 특정한 비즈니스 로직을 수행할 필요가 있을 때는 별도로 컨트롤러를 정의할 수 있습니다.   자동 생성되는 엔드포인트이 설정만으로도 Spring Data REST는 다음과 같은 엔드포인트를 자동으로 생성합니다:Car 엔티티 관련 엔드포인트GET /cars: 모든 Car 엔티티 조회GET /cars/{i..

CS_네트워크_TCP 흐름제어 & 혼잡제어

Internet 프로토콜은 두 호스트 사이에서 데이터를 주고 받는 프로토콜이다.다른 목적지 호스트로 보내는데 전송만 하면 된다. 하지만 인터넷 프로토콜은 데이터가 유실될 수도 있고 순서가 보장되지 않는다. 즉, 신뢰할 수 없다. 그러나 프로세스 간의 통신에는 데이터를 안정적으로 주고 받을 수 있어야 한다. => TCP 프로토콜■  TCP(Transmission Control Protocol)TCP는 연결 지향적 프로토콜로, 데이터의 신뢰성과 순서를 보장한다.송신자와 수신자 사이에 안정적인 연결을 설정하여 데이터가 올바르게 전달되도록 한다.주로 파일 전송, 이메일, 웹 브라우징 등에서 사용한다.     ■  TCP는 기본적으로 신뢰할 수 없는 네트워크(unreliable network)에서, 신뢰할 수 있..

CS 2024.06.03

CS_네트워크_3-Way HandShake & 4-Way HandShake

Internet 프로토콜은 두 호스트 사이에서 데이터를 주고 받는 프로토콜이다.다른 목적지 호스트로 보내는데 전송만 하면 된다. 하지만 인터넷 프로토콜은 데이터가 유실될 수도 있고 순서가 보장되지 않는다. 즉, 신뢰할 수 없다. 그러나 프로세스 간의 통신에는 데이터를 안정적으로 주고 받을 수 있어야 한다. => TCP 프로토콜■  TCP(Transmission Control Protocol)TCP는 연결 지향적 프로토콜로, 데이터의 신뢰성과 순서를 보장한다.송신자와 수신자 사이에 안정적인 연결을 설정하여 데이터가 올바르게 전달되도록 한다.주로 파일 전송, 이메일, 웹 브라우징 등에서 사용한다.     ■ 이때 사용하는 프로세스 간의 안정적이고 논리적인 통신 통로가 Connection이다.         ..

CS 2024.06.03

CS_네트워크_유니캐스트, 멀티캐스트, 브로드캐스트

■  MAC (Media Access Control)네트워크 인터페이스 카드(NIC)에 할당된 고유 식별자로네트워크 상에서 장치를 식별하고 데이터 링크 게층에서 통신을 관리하는데 사용된다. 네트워크 상에서 서로를 구분하기 위해 디바이스마다 할당된 물리적 주소를 말한다.인터넷이 가능한 모든 장비(PC, 휴대폰)들이 가지고 있는 물리적인 주소이다. 각 장치는 고유한 MAC주소를 가지며,12자리 중 앞의 6자리는 제조업체를 식별하고,나머지 6자리는 각 장비에 고유하게 할당된다.  MAC주소는 SW대신 HW에 연결된 실제 주소로, 통신을 위해 MAC 주소를 알아야 한다. IP주소를 MAC 주소로 변환하려면 ARP(Address Resolution Protocol) 과정이 필요하다.   데이터 링크 계층에서,네..

CS 2024.06.03

Spring_JWTCheckFilter extends OncePerRequestFilter

커스텀 필터에서 검증한 후에 시큐리티 기본 제공 필터로 넘긴다는거지? 그렇게 넘긴 후에 필터링 된 요청은 controller로 넘어가서 요청이 처리되고 처리된 요청이 응답으로 전송되는거고 ? ChatGPT네, 정확합니다. 커스텀 필터에서 JWT 토큰을 검증한 후, 요청을 Spring Security의 기본 제공 필터로 넘깁니다. 그 후에 요청은 컨트롤러로 전달되어 실제 비즈니스 로직이 처리되고, 처리된 결과가 응답으로 클라이언트에게 전송됩니다. 전체 흐름을 단계별로 설명하면 다음과 같습니다.전체 요청 처리 흐름클라이언트 요청:클라이언트가 서버에 요청을 보냅니다. 이 요청에는 JWT 토큰이 포함되어 있을 수 있습니다.필터 체인:JWTCheckFilter:요청이 필터 체인에 들어오면, 먼저 JWTCheckF..

카테고리 없음 2024.06.02

React_Export & Import

자바스크립트에서 모듈을 내보내고 가져오는 방법은 두 가지가 있습니다: 기본 내보내기(default export)와 명명된 내보내기(named export). 이 두 가지 방법의 차이점과 사용법을 설명드리겠습니다.기본 내보내기 (Default Export)기본 내보내기는 모듈당 하나만 있을 수 있습니다. 기본 내보내기된 값은 중괄호 없이 가져올 수 있습니다.기본 내보내기 예제: 명명된 내보내기 (Named Export)명명된 내보내기는 모듈당 여러 개를 내보낼 수 있습니다. 명명된 내보내기된 값은 중괄호를 사용하여 가져와야 합니다.명명된 내보내기 예제:   기본 내보내기와 명명된 내보내기 혼합 사용하나의 모듈에서 기본 내보내기와 명명된 내보내기를 혼합하여 사용할 수도 있습니다.혼합 사용 예제:주요 포인트기..

카테고리 없음 2024.06.02

JWT

헤더 (Header): JWT의 메타데이터를 포함하며, 토큰의 타입과 사용할 서명 알고리즘을 지정합니다.페이로드 (Payload): 실제 정보를 담고 있는 부분으로, 다양한 클레임(claims)을 포함합니다. 클레임은 토큰의 주체, 만료 시간, 사용자 정보 등 다양한 데이터를 담고 있습니다.서명 (Signature): 토큰의 무결성을 검증하기 위한 서명입니다. 헤더와 페이로드를 인코딩한 후, 비밀 키를 사용하여 서명합니다. 이 서명을 통해 토큰이 변조되지 않았음을 확인할 수 있습니다. 비유로 설명JWT를 등기 우편에 비유해보겠습니다.헤더 (Header):역할: 등기 우편 봉투의 외부에 적힌 정보.비유: 등기 우편 봉투에는 발송자와 수신자의 정보, 그리고 우편 종류가 적혀 있습니다. JWT의 헤더는 토큰의..

claim

JWT(JSON Web Token)에서 클레임(Claim)은 토큰 안에 포함된 정보 조각을 의미합니다. 클레임은 사용자에 대한 속성이나 토큰에 대한 메타데이터를 담고 있으며, 세 가지 유형으로 구분됩니다: 등록된 클레임(Registered Claims), 공개 클레임(Public Claims), 비공개 클레임(Private Claims).비유로 설명클레임을 비유로 설명하자면, JWT를 신분증(ID 카드)에 비유할 수 있습니다. 신분증에는 소지자의 정보를 담고 있는 여러 필드가 있습니다.등록된 클레임 (Registered Claims)등록된 클레임은 신분증의 표준 필드와 같습니다. 예를 들어, 신분증 번호, 발행일, 만료일 등이 있습니다. JWT에서는 이러한 필드로 iss(발행자), sub(주체), exp..

React_{children}, import vs const-require

children는 React에서 특별한 프로퍼티로, 컴포넌트의 열림과 닫힘 태그 사이에 중첩된 콘텐츠를 나타냅니다. 이것은 React에서 예약된 키워드로, 컴포넌트가 전달된 자식 요소들을 렌더링할 수 있게 합니다. children을 Children과 같이 다른 이름으로 변경하면, React는 이를 중첩된 콘텐츠를 위한 특별한 프로퍼티로 인식하지 않고 일반적인 프로퍼티로 취급하여, 예상한 대로 콘텐츠가 렌더링되지 않습니다. BasicLayout 컴포넌트에서 children 프로퍼티는 요소 내부에 중첩된 콘텐츠를 렌더링하는 데 사용됩니다. 이것을 Children으로 변경하면 React는 더 이상 이를 특별한 프로퍼티로 인식하지 않게 되어 콘텐츠가 제대로 렌더링되지 않습니다. 예를 들어, 다음과 같이 수정하..

@ElementCollection_임베디드 테이블

Member 클래스와 @ElementCollection의 관계Member 클래스는 @ElementCollection을 사용하여 memberRoleList라는 필드에 여러 개의 MemberRole 객체를 포함합니다. @ElementCollection은 기본적으로 자식 엔티티가 부모 엔티티에 종속되며 독립적으로 존재하지 않는 경우에 사용됩니다.연관관계 설명부모 엔티티: MemberMember 클래스는 데이터베이스에서 독립적으로 존재할 수 있는 엔티티입니다. 이 엔티티는 @Id로 정의된 기본 키 필드인 email을 가지고 있습니다.자식 엔티티: MemberRoleMemberRole은 독립적인 엔티티가 아니며, Member 엔티티에 종속됩니다. Member 엔티티는 여러 개의 MemberRole을 가질 수 있습..