728x90

Go 5

만들면서 배우는 Https 서버 시리즈 2

지난번 시리즈에서는 간단하게 인증서를 이용한 Https 서버를 구축하는 작업을 진행했었다.https://devroach.tistory.com/185 만들면서 배우는 Https 서버 시리즈 1개요요즘 유행하는 Cursor editor 를 써볼겸 사이드에서 간단하게 코드짤때 많이 이용하는 Go 언어를 통해 Https 가 어떻게 동작하는지 가볍게 실습겸 정리하기 위해 직접 코드를 작성하며 정리해보devroach.tistory.com오늘은 지난 글의 마지막에 남아있던 질문인 Server 에서 암호화된 응답을 주면 개인키(private key) 가 없는 클라이언트는 어떻게 복호화하지? 라는 질문을 해결하기 위해 TLS Handshake 과정에 대해 알아보려고 한다.TLS Handshake그림을 보면 첫번째로 TC..

Go 2024.11.07

만들면서 배우는 Https 서버 시리즈 1

개요요즘 유행하는 Cursor editor 를 써볼겸 사이드에서 간단하게 코드짤때 많이 이용하는 Go 언어를 통해 Https 가 어떻게 동작하는지 가볍게 실습겸 정리하기 위해 직접 코드를 작성하며 정리해보았다. 막상 이런 자료들 볼때 실습으로 할수 있는 코드들은 많이 없고, 이론적인 자료만 너무 많아서 정말 아쉽다.Https 란?Https 는 Http 와 다른 프로토콜로 인터넷 통신간 TLS/SSL encryption 을 이용하여 더 안전하게 데이터를 주고 받기 위한 하나의 프로토콜이다. 쉽게 예시를 들기 위해 아래 그림을 한번 보자.HTTP 를 사용하게 되면 인터넷 통신간 전송되는 데이터를 평문(Plain-text) 형태로 보내게 된다. 이때 패킷을 가로채는 Packet Sniffers 이 있으면 그대..

Go 2024.11.06

Go lang 으로 간단하게 Image Resizer 만들기 (With TDD)

Go is the simplest language I've ever seen! Image Resizer 를 다른 언어가 아닌 Golang 으로 하는 이유는 Go lang 은 컴파일 빌드시 Executable File(실행 가능한 파일)이 바로 튀어나오므로, 사실상 위와같이 주로 실행시켜 만드는 Utilities 를 만들기에 상당히 심플합니다. 설계 대략적인 어플리케이션의 구상도는 아래와 같습니다. 사용자가 CLI 를 통해 우리가 Go lang 으로 만든 어플리케이션에게 요청을 보내면 Go lang 이 내부 Standard Library 를 이용해 맞는 Encoder / Decoder 를 찾아 요구하는 사양을 갖춘 새로운 이미지의 형태로 이미지를 생성하여 클라이언트에게 돌려주는 형식입니다. 일단 요구사항을..

Go 2023.09.26

Go 기초 - 1) Go 의 모듈구조 및 변수

Go Lang 폴더 생성 goproject/hello/extra위와 같은 폴더구조를 지니게 됬다면, hello 폴더 아래있는 모든 .go 파일들은 hello package 에 포함됩니다. 그리고 만약 extra package 에 포함되어 있는 .go 파일들은 extra package 에 포함되게 됩니다. 즉, go 에서는 폴더가 달라지면 package 도 달라집니다. Kotlin 과 Java 와는 약간 다른 구조다. create Go module go mod init goproject/hello go module 에는 NPM 진영의 package.json 과 같이 모듈명과 go-version 및 필요한 정보가 담겨있습니다. Go build go build 위 명령어를 입력하면 go file 들이 buil..

Go 2022.06.19
728x90