데이터 압축은 웹 서버, 파일 저장 및 네트워크 통신과 같은 다양한 상황에서 중요한 역할을 합니다. Go 언어에서는 'compress/gzip' 패키지를 통해 Gzip 압축을 쉽게 구현할 수 있습니다. 이번 글에서 'compress/gzip' 패키지에 대하여 기록하겠습니다. 목차 Gzip이란? compress/gzip 패키지 compress/gzip 사용 예시 Gzip이란? Gzip은 파일 및 데이터 압축 및 해제를 위한 파일 형식 및 관련된 알고리즘을 지칭하는 용어입니다. 특징 1. 높은 압축률 : 'Gzip'은 데이터를 효율적으로 압축하여 파일 또는 데이터 스트림의 크기를 줄입니다. 이는 디스크 공간을 절약하고 데이터 전송 시 대역폭을 절약하는 데 도움이 됩니다. 2. 비손실 압축 : 'Gzip'은 ..
웹 서비스 설계에서 중요한 역할을 하는 RESTful API가 무엇인지, Go 언어에서는 어떻게 사용하는지 알아보겠습니다. 목차 RESTful API란? net/http를 사용한 RESTful API gorilla/mux를 사용한 RESTful API RESTful API란? RESTful API는 리소스를 표현하고, HTTP 메서드를 사용하여 리소스를 조작하는 웹 서비스 아키텍처 스타일입니다. 이러한 웹 서비스는 다양한 클라이언트와 서버 사이에서 데이터를 교환하는 데 사용됩니다. RESTful API 주요 특징 리소스 : 모든 데이터는 리소스로 표현되며, 각 리소스는 도유한 URI를 가집니다. HTTP 메서드 : HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 리소스를 조작합니..
웹 개발은 웹 페이지로부터 데이터를 읽어오거나 클라이언트로부터 데이터를 받아오는 것이 필요합니다. Go 언어를 사용하여 웹 서버에서 Query와 Fragment를 다루는 방법, JSON 데이터를 읽고 쓰는 방법을 알아보겠습니다. 목차 Query String 데이터 처리 JSON 데이터 처리 Query String 데이터 처리 Query String은 URL에 포함된 데이터를 서버로 전달하는 데 사용됩니다. 일반적으로 '?' 문자 이후에 오며, 'key=value'로 이루어져 있습니다. 각 쌍은 '&'로 구분됩니다. 예시 http://example.com/search?querykey=queryvalue&stringkey=stringvalue 위의 예시에서 'querykey=queryvalue'와 'stri..
TCP 서버와 RPC 서버에 대하여 공부한 내용을 기록하려고 합니다. TCP 서버와 RPC 서버를 직접 생성해본적이 처음이라 완전하게 이해되지 않았지만 관련 내용을 공부할 때마다 참고하기 위하여 배운 내용을 정리해 두겠습니다. 잘못된 설명에 대한 조언 혹은 추가적인 설명은 항상 배우는 자세로 감사히 받겠습니다. 목차 TCP 서버 RPC 서버 느낀 점 TCP 서버 TCP 서버는 Transmission Control Protocol을 기반으로 클라이언트와의 네트워크 통신을 처리하는 서버 소프트웨어입니다. TCP 서버에 대한 자세한 설명, 특징과 용도에 대하여 설명드리겠습니다. TCP 서버란? TCP 서버는 클라이언트-서버 모델에서 서버 역할을 하는 소프트웨어입니다. 이 서버는 클라이언트로부터 연결을 수락하고..