본문 바로가기

Method4

HTTP 메시지 - 출처: HTTP 절대 가이드 - 메시지의 흐름HTTP 메시지는 HTTP 어플리케이션간의 주고 받는 데이터 블록이라고 할 수 있다. HTTP 메시지의 흐름 관련해서 인바운드, 아웃바운드 라는 용어를 종종 볼 수 있는데 그 의미는 아래와 같다.인바운드: 서버쪽으로 흐르는 방향을 말한다. 메시지가 클라이언트 -> 프록시1 -> 프록시2 -> 서버 처럼 이동한다면 이를 "인바운드로 이동"한다고 말한다.아웃바운드: 서버에서 클라이언트로 응답하는 방향을 말한다. 메시지가 서버 -> 프록시2 -> 프록시1 -> 클라이언트 처럼 이동한다면 이를 "아웃바운드로 이동"한다고 말한다.인바운드, 아웃바운드 뿐만 아니라 업스트림, 다운스트림이라는 개념도 존재한다. 업스트림, 다운스트림은 요청이냐 혹은 응답이냐에 따라 뒤바뀌.. 2024. 7. 7.
Effective Go - Methods - 출처: https://go.dev/doc/effective_go#methods - Methods 메소드는 포인터나 인터페이스를 제외하고 명명된 유형에 대해 정의될 수 있다. 즉 Receiver가 반드시 구조체가 아니어도 된다. 예를 들어 Append라는 함수를 slice의 메소드로 정의할 수 있는데, 이렇게 하기 위해서는 우선 메소드를 묶을 수 있도록 명명된 유형을 정의해야 한다. 그리고 Receiver로 해당 형을 기술해준다. type ByteSlice []byte func (slice ByteSlice) Append(data []byte) []byte { // Body exactly the same as the Append function defined above. } 위의 메소드는 갱신된 sli.. 2022. 5. 17.
Go - struct, method, interface 출처: https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/structs-methods-and-interfaces - 개요 Go에서 관련있는 데이터를 연관시켜 표현할 수 있는 struct에 대하여 알아본다. structd의 method와 interface를 통한 다형성을 알아본다. - struct example 사각형의 너비와 높이가 주어졌을 때 둘레를 구하는 코드를 작성해보자. func TestPerimeter(t *testing.T) { got := Perimeter(10.0, 10.0) want := 40.0 if got != want { t.Errorf("got %.2f want %.2f", got, want) } } Perimeter를 구현.. 2021. 12. 24.
이펙티브 자바 - 정적 팩토리 메소드 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 정적 팩토리 메소드 객체를 생성하는 일반적인 방법은 public 생성자를 이용하는것이다. 하지만 정적 팩토리 메소드를 이용할 수도 있다. Boolean 의 valueOf 메소드는 기본 타입의 boolean 을 Boolean 객체 참조로 변환한다. public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 흔히 정적 팩토리 메소드를 디자인 패턴의 팩토리 메소드와 혼동한다. 디자인 패턴의 팩토리 메소드는 하나의 환경변수나 다른 변수를 (팩토리)만 변경하면 제품군들도 일괄적으로 변경되어 생성되도록 하는 패턴이다. 예를 들어 객체 RadioA1과 .. 2021. 9. 5.