분류 전체보기68 Go 에서 HTTP client 를 작성할 때 주의할 점 go 에서 제공하는 http 관련 패키지(net/http)를 이용해서 코드를 작성할 때 주의해야할 점이 있다. go 에서는 아래와 같이 client 객체가 구성되어 있고, 기본으로 사용되는 DefaultClient 는 단순히 해당 객체를 반환한 값이다. type Client struct { // Transport specifies the mechanism by which individual // HTTP requests are made. // If nil, DefaultTransport is used. Transport RoundTripper // CheckRedirect specifies the policy for handling redirects. // If CheckRedirect is not .. 2024. 4. 12. HTTP 에 대해서 서버나 클라이언트나 인터넷을 통한 어떤것을 하더라도 접할 수 있는 것이 HTTP 다. 그런데 실제로 HTTP 에 대해서 공부하려고 하면 너무 양도 방대 하고 어디서 부터 어떻게 봐야할지 막막하다. 그래서 이 글에서는 HTTP 에 관해 그때 그때 생기는 궁금증을 위주로 정리해 보려고 한다. HTTP 는 왜 필요 하나? HTTP는 Hyper Text Transfer Protocol 의 약자로 서버와 클라이언트 간의 웹 통신에 주로 사용됩니다. HTTP 는 OSI 7 계층 중 어플리케이션 계층에 속하고, TCP/IP 위에서 동작합니다. 우리는 평소에 이러한 HTTP 통신을 이용해 서버에서 주는 텍스트 들을 전달 받아서 웹 페이지를 로딩할 수 있습니다. HTTPS 는 뭔가 기본적인 HTTP 통신은 단순히 평문 .. 2024. 4. 11. 동시성 프로그래밍 관점에서 Golang vs Java Golang과 Java 각각의 프로그래밍 언어를 동시성 프로그래밍의 관점에서 차이점을 정리해본다. Golang 을 처음 공부 하다 보면 '고루틴(goroutine)' 이라는 용어를 많이 접할 수 있다. 이 고루틴은 쓰레드 처럼 동시성 처리를 위해 사용된다. 그러면 이 고루틴이 다른 언어들의 동시성 처리 방법과 어떤점이 다른지, 그 중에 Java 와 비교해서 차이점을 알아본다. 우선 기존의 Java 에서 사용하는 쓰레드(Thread) 란? 말 그대로 우리가 기존에 알고 있던 프로세스와 쓰레드 개념에서 나온 쓰레드 라고 생각하면 된다. 하나의 프로세스 안에 여러 쓰레드가 존재할 수 있으며, 이 쓰레드를 이용해 여러 작업을 동시에 처리 하고, 각 쓰레드 간의 데이터 교환도 가능하다. Java 에서는 이런 쓰레.. 2024. 4. 1. 2023년도에 읽은 소설책들 후기 (제노사이드, 그리고 아무도 없었다, 악의 유전학, 희망의 끈) 는 과학 얘기가 많이 나오는 추리소설 이다. 사실 처음에는 추리소설인지 모르고 그냥 과학관련 소설인줄 알고 읽었는데, 다 읽고 나니 추리소설 이었다. 제노사이드의 전체적인 줄거리는 엄청 똑똑하게 태어난 사람을 진화한 인류라고 칭하면서, 그 인류를 보호하냐 아니면 죽여야 하냐 라는 내용으로 전개된다. 초반에는 두개의 서로 다른 이야기가 번갈아가면서 전개되어서 이해하기 어려웠는데, 읽다보니 두 이야기가 하나의 이야기로 합쳐지면서 얘기가 맞춰지는 재미가 있었다. 제노사이드의 뜻은 집단학살이다. 사실 책을 중반 쯤 읽으면서 알게 되었지만, 이 책에서 죽이려고 하는 대상은 1명이었지만 그 1명이 진화한 인류를 대표한다고 생각해서 집단학살이라고 표현한거 같다. 후반부로 갈수록 전개가 아주 긴박하게 되어서, 읽는.. 2023. 12. 31. 이전 1 2 3 4 5 6 ··· 17 다음 more