Go

    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 lang 으로 Binary Tree 만든 코드

    package golangleetcode import ( "fmt" "testing" ) type Number interface { int | float32 | float64 } type Node[T Number] struct { Val T LeftNode *Node[T] RightNode *Node[T] } func (node *Node[T]) Left() *Node[T] { return node.LeftNode } func (node *Node[T]) Right() *Node[T] { return node.RightNode } func (selfNode *Node[T]) AddNode(node *Node[T]) { if selfNode.Val > node.Val { if selfNode.LeftNod..

    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..