# golang
Go 로 만드는 웹
web 서버를 만들기에 앞서서 간단하게 어떻게 통신이 일어나는지 정리하면,client가 웹을 방문하고자 하면 통신을 하게 된다.HTTP(Hyper Text Transfer Protocol)의 약자이다.우리가 만일 never 페이지를 방문하려고 하면, DNS를 통해서 I

go routine
Go루틴(goroutine)은 Go 런타임이 관리하는 Lightweight 논리적 (혹은 가상적) 쓰레드(주1)이다. Go에서 "go" 키워드를 사용하여 함수를 호출하면, 런타임시 새로운 goroutine을 실행한다. goroutine은 비동기적으로(asynchrono
Golang2
map의 경우 그냥 단순히 아래의 코드처럼 사용하면 에러가 발생한다.map은 초기화가 필요하기 때문에 에러가 발생한다.위와 같이 {}를 붙여서 초기화된 map을 변수로 할당하는 방법과, make()함수(map을 만들어주는 함수)를 사용해주는 방법이 있다.매우 중요한 개
Golang
go의 syntax 정리go는 모든 loop를 for 하나로 한다.for에서는 C에서의 문법과 동일하게 사용하는 방법이 있고, range를 사용하는 방법이 있다. 아래의 코드에 간단한 예시로 덧셈을 나타냈다.주석처리되어 있는 부분이 for문에서 range를 활용하는 방

defer, panic
어떤 함수를 호출하는 문장 앞에 defer 키워드를 붙이면, 이런 defer문을 담고 있는 함수가 리턴될 때까지 그 함수의 실행을 미룬다.\*java나 cdefer문은 파일을 입력 및 출력 연산을 수행할 때 흔히 사용하는데, 이렇게 하면 연 파일을 언제 닫을 지 신경

Interface
Go 언어에서 interface 타입을 정의할 때 구체적인 동작을 구현할 메소드의 집합을 나열하는 방식으로 표현한다. 어떤 타입이 특정한 interface를 따르기 위해서는, 그 interface에서 정의한 모든 method를 구현해야 한다. 간단히 말해 interfa

Struct
Go에서 제공하는 표준 타입만 잘 써도 충분히 유연하고 빠르게 처리할 수 있다. 하지만 Go로 구현하는 코드에 필요한 모든 종류의 데이터를 직접 표현하기에는 한계가 있다. 그래서 Go 언어는 프로그래머가 원하는 타입을 정의할 수 있도록 struct를 제공한다.다양한 타
Tistory에서 Velog로 환승함!
티스토리 접속이 안된다. > 매번 쿠키 삭제하기도 귀찮다. 어느새부턴가 크롬으로 티스토리에 접속하고자 하면 위와 같은 400번 에러가 뜬다. 해결 방법은 쿠키를 삭제하고 재접속 하거나, 크롬 이외의 엣지 등의 브라우저를 쓰는 것이었으나, 항상 크롬을 애용해온 나에
BOJ 2775 : 부녀회장이 될테야
이 문제에서 공식을 찾아보려고 노력 또 노력을 했으나 기하급수적으로 늘어나는 숫자에 포기하고 다른 사람들의 풀이를 참고해서 풀었다.그려보면 아주 쉽게 알 수 있는 부분이지만 나는 떠올리지 못했다. 어떻게 덧셈을 반복할지만 찾느라 혈안이 되어 있었는데 다른 사람들의 풀이

gorm join select 사용하기
새로운 프로젝트는 golang , python , mysql로 개발하고 있는데 gorm을 사용하면서 제대로 사용하는지는 알 수 없지만 나름대로 지금 사용하는 방식이 맞다고 생각하고 생각하며 글을 남길 생각이다.Model우선 위와 같은 UserModel이 있다고 생각하자
gRPC로 python과 go 연결하기
구글에서 개발한 RPC 플랫폼protocol buffer와 RPC를 사용한다.SSL/TLS를 사용하여 암호화하며, HTTP2.0을 사용한다.서버의 함수를 클라이언트에서 호출할 수 있어 MSA를 쉽게 구현할 수 있다.대부분의 언어를 지원하여 언어가 다른 서버간의 통신을

Package
Go는 패키지(Package)를 통해 코드의 모듈화, 코드의 재사용 기능을 제공한다. Go는 패키지를 사용해서 작은 단위의 컴포넌트를 작성하고, 이러한 작은 패키지들을 활용해서 프로그램을 작성할 것을 권장한다.

Golang (1) - First Step
Golang PlayGround: https://go.dev/play/GO의 장점:Go는 병렬성, 동시성에 대해서 다른 언어에비해 장점을 가지고있다.C에비해 가독성이좋고 생산성이 좋으며 메모리관리가 간편하고Python이나 JS같은 언어에비해 빠르다 https&

docker gin 시작하기
1차 개발이 끝나고 후기에서 golang으로 개발하고싶은 욕구가 끌어올라서 golang을 취미로 시작하게 됐다. 취미로 시작했더라도 대충하는 짓은 좋아하지 않기 때문에 예전부터 만들고 싶었던 서비스를 만들 계획이다. > 개발환경 도커가 빠질 수는 없다. 프로젝트
Go언어 제네릭 인터페이스 타입 파라미터는 구조체 객체여야 한다
제네릭 타입을 인터페이스로 설정한 뒤 그 인터페이스를 구현한 구조체 객체를 생성해서 리턴하는 형태는 피해야 한다.
Go-ethereum으로 트랜잭션 sender 구하는 법
이더리움 트랜잭션은 송신자와 수신자가 정해져 있다. 그런데 go-ethereum으로 트랜잭션을 조회하면 송신자 정보를 바로 얻을 수 없다.