전체 글
-
[HTTP 기본] HTTP 메시지기타 2022. 2. 22. 00:26
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. HTTP 메시지 HTTP에서 서버와 클라이언트가 서로 정보를 교환하는 정보를 HTTP 메시지라고 부릅니다. 클라이언트 -> 서버로 전송되는 정보를 리퀘스트 HTTP 메시지라고 하며, 서버 -> 클라이언트로 전송되는 정보를 리스폰스 HTTP 메시지라고 합니다. HTTP 메시지는 크개 3가지 데이터로 구성된 텍스트 문자열 입니다. 이 중 메시지 바디는 항상 존재하는 것이 아닌 있을 수도 있으며 없을 수 도 있습니다. 메시지 헤더 개행 문자 메시지 바디 2. HTTP 메시지 구조 HTTP 메시지는 리퀘스트 메시지와 리스폰스 메시지로 2가지가 존재하며 2가지는 조금씩 차..
-
[Junit] doReturn과 thenReturn프로그래밍/Junit 2022. 2. 21. 18:13
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. doReturn과 thenReturn 두 메소드는 Mockito 프레임워크의 메소드로 단위 테스트 중 발생할 수 있는 어려움을 Stub을 이용하여 극복할 수 있도록 해주는 메소드입니다. doReturn과 thenReturn은 모두 Stub을 만들어 Mock과 Spy의 특정 메소드 호출 시 반환 값을 Test에 코딩된 값으로 반환되도록 해주는 메소드입니다. 비슷한 기능을 하지만 2개의 메소드의 차이에 대하여 알아보도록 하겠습니다. 2. doReturn doReturn 메소드는 when의 Spy객체 또는 Mock객체의 실제 메소드를 호출하여 Stubbing을 하지 않..
-
[HTTP 기본] HTTP 메소드기타 2022. 2. 17. 18:33
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 리퀘스트 메시지 HTTP 메소드를 설명하기 앞서 리퀘스트 메시지 구성을 먼저 살펴보도록 하겠습니다. 리퀘스트 메시지는 리퀘스트 라인, 헤더 필드, 메시지 바디로 구성되어 있습니다. 리퀘스트 라인은 메소드, URI, HTTP 버전으로 구성되어 있습니다. 메소드는 리소스에 대해 어떤 행동을 원하는지를 지시하기 위해서 사용됩니다. URI는 인터넷에 존재하는 리소스들 중 특정 리소스를 지정하기 위해서 사용됩니다. HTTP 버전은 현재 사용되는 HTTP버전을 명시하는 용도로 사용됩니다. 헤더 필드는 여러 조건과 속성 등을 나타내며 서버와 클라이언트의 요청과 응답에 부가적인..
-
[HTTP 기본] 간결한 HTTP 프로토콜기타 2022. 2. 17. 01:31
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. HTTP 통신 HTTP 통신은 다른 TCP/IP 통신과 마찬가지로 서버와 클라이언트 간에 통신을 의미합니다. 2대의 컴퓨터가 통신을 하는 경우 리소스를 요청하는 클라이언트와 요청에 응답하는 서버로 구분됩니다. 즉 HTTP 통신에서는 반드시 서버 컴퓨터와 클라이언트 컴퓨터가 존재합니다. 또한 HTTP는 무조건 클라이언트로부터 통신이 시작됩니다. 서버는 요청을 받지 않고는 응답을 하는 일은 일어나지 않으며 또한 서버 측에서 클라이언트 측으로 요청을 하는 일도 없습니다. 2. 상태 유지 HTTP는 상태를 유지하지 않는 스테이트리스(Stateless) 프로토콜입니다. 스..
-
[HTTP 기본] TCP/IP 4계층기타 2022. 2. 16. 00:34
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 이전 포스팅에서 TCP/IP 프로토콜에는 총 4개의 계층으로 나누어져 있다고 하였습니다. 이번 포스팅에서는 4개 계층에 대하여 포스팅하고자 합니다. 1. 애플리케이션 계층 TCP/IP 프로토콜의 최상단 계층이며 사용자가 사용하는 애플리케이션에서 사용하는 통신의 움직임을 결정하는 계층입니다. 즉 사용자가 사용하는 System에서 여러가지 서비스를 제공 또는 제공받는 부분을 담당하는 계층입니다. 애플리케이션 계층의 대표되는 공통 애플리케이션으로는 FTP와 DNS 등이 있으며 HTTP 또한 이 계층에 포함됩니다. 애플리케이션 계층은 Server와 Client로 이루어져 있으..
-
[HTTP 기본] Web 그리고 Network기타 2022. 2. 15. 18:09
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. Http(HyperText Transfer Protocol) 우리가 흔히 사용하는 웹 브라우저(크롬, Edge, Explorer 등)에 URL(주소)를 입력하면 브라우저에 화면이 출력됩니다. 이 것은 브라우저가 보여주는 것이 아닌 입력한 URL에 있는 리소스를 서버로부터 받아와 웹 브라우저는 해당 리소스를 출력하여 주는 것입니다. 여기서 요청을 받아 리소스를 전달해 주는 쪽을 서버라고 부르며 웹 브라우저 등과 같이 요청을 한쪽을 클라이언트라고 부릅니다. 즉 클라이언트로부터 요청이 전달되어 서버는 해당 요청에 맞는 리소스를 다시 클라이언트로 전달하는 일련의 흐름을 ..
-
[Junit] Test Double Spy 상세프로그래밍/Junit 2022. 2. 14. 23:37
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다.틀리거나 잘못된 정보가 있을 수 있습니다.댓글로 알려주시면 수정하도록 하겠습니다.1. Spy와 Mock 차이Spy는 Mock과 동일하게 Test를 위해 만들어진 객체입니다. 그러나 Mock과는 다른 점이 존재합니다. Mock의 경우는 Test를 위해 실 객체의 겉모양(Class)만 가지고 있으며 속(Method)의 경우 Stub을 통해 동작할 내용을 지정하여야 합니다. 그러나 Spy의 경우는 실제 객체와 동일한 겉모양(Class) 뿐만 아니라 구현 또한 동일하게 동작합니다. 또한 실제 구현된 내용 중 일부분을 Stub을 통해 Test 내용으로 변경 또한 가능합니다. 작성한 Class들을 확인해 보겠습니다. FileService Class를 보면 생성자로..
-
[Junit] Mock과 MockBean프로그래밍/Junit 2022. 2. 12. 03:07
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. Mock Mock은 Test를 위해 만들어진 가짜 객체입니다. mock객체는 실제 Class에 작성된 메소드를 수행하는 것이 아닌 stub으로 작성한 행위를 수행하여 해당 메소드가 수행된 것처럼 만들 수 있습니다. 작성한 Class들을 확인해 보겠습니다. MemberService Class를 보면 생성자로 MemberRepository를 주입받아 Service가 동작되도록 구현되어 있습니다. Repository는 DB와 Connection 하여 데이터를 입력 또는 조회하는 담당을 합니다. DB와 Connection 하여 데이터가 입력되고 조회되는 것은 Member..