본문 바로가기

전체 글135

Node-sass incompatible with ^4.0.0. 해결하기 react.js 로 웹을 개발하면서 js대신 ts를 쓰듯, css대신 scss로 조금 더 유연하게 작성하는 때가 있다. scss만으로는 웹 브라우저에서 동작할 수 없기에 css로 컴파일 시키는 과정이 필요하다. 이럴때 LibSass를 node.js 상에서 사용할 수 있는 node-sass를 사용해 쉽게 컴파일을 할 수 있다. node-sass 패키지를 설치하여야 scss를 본격적으로 사용할 수 있는데 npm i node-sass를 하였더니 아래와 같은 문구가 나온다. Failed to compile. ./src/index.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-1!./node_modules/postcss-loader/src??postcs.. 2020. 12. 23.
Go gRPC 튜토리얼 #1 - 세팅부터 Unary RPC Call 사용까지 이번 글에서는 Go gRPC의 프로젝트 세팅과 Unary RPC call에 대해 다룹니다 gRPC는 구글에서 2015년에 공개한 오픈소스 리모트 프로시져 콜 시스템이다 HTTP/2의 stream을 지원하며 Protocol Buffer를 이용해 proto파일을 작성하고 제공하는 Go, C++, Java, Python, Ruby 등에서 사용할 수 있는 코드로의 변환을 제공하고 있다 gRPC는 다음과 같이 4가지의 서비스 메소드를 정의하고 있다 Unary RPC 클라이언트는 서버에 싱글 리퀘스트를 보내고 다시 싱글 리스폰스를 받는다. 일반적인 함수의 호출과 같다 Server streaming RPC 클라이언트가 서버에 리퀘스트를 보내고 스트림을 가져와 일련의 메세지를 읽는다 리턴되는 스트림이 더 이상 메세지가.. 2020. 9. 17.
Go Module을 사용하여 GOROOT 이외의 디렉토리에서 모듈 불러오기 Go를 이용해 gRPC를 익히면서 Module import에 대한 문제가 생겼다. 프로젝트 내부에 모듈을 두고 싶었으나, import를 하면 Go 컴파일러는 GOROOT 디렉토리에서만 패키지를 찾는 것이었다. 문제를 해결하기 위해 코드와 폴더 구조를 살펴보자 golang_module (나의 프로젝트 폴더) ├── main.go └── my_module └── animal.go // my_module/animal.go package animals import "fmt" // PrintDogSound for used by main package func PrintDogSound() { fmt.Println("bark") } // PrintCatSound for used by main package func .. 2020. 9. 13.
WSL2 Native Docker Vmmem의 미친 점유율 해결하기 이번 글에서는 WSL2 Native Docker의 고질적인 Vmmem 램 점유 문제에 대해 Window Docker를 통해 해결하는 방법을 소개한다 나는 개발환경으로 WSL2 (Ubuntu 18.04), WSL2 상에서 Native Docker를 가동해 사용하고 있다. WSL2 외부 접속 해결 포스트를 쓰며 WSL에 불편함 없이 개발을 하고 있었으나, WSL2 Native Docker가 너무 많은 메모리 할당량을 가지고 있었다 이러한 개발환경에선 흔하게 보이는 태스크 상태이다 스펙이 큰 프로그램을 실행한 게 아니라, 간단한 Spring Boot 서버와 PostgreSQL를 Docker 컨테이너로 가동한 상황이다. 나와 같은 개발환경을 쓰는 많은 사람들은 아래 사진에 대해 매우 공감할 것이다 이러한 문제를.. 2020. 9. 7.
Go의 iota 사용에 대해서 Go의 iota에 대해 다루는 글입니다 Go에서는 enum을 위해 constant로 정의하여 사용한다. 이때, iota라는 것을 사용할 수 있다. iota는 0, 1, 2 양수의 형태로 상수를 제공하는 enumerator이다 const구문에서 첫번째 iota는 0으로 리셋되는 특성을 가지고 있으며, 그 다음 상수에선 1씩 증가하게 된다. 간단한 예시를 들어보자 const ( SUN = 0 MON = 1 TUE = 2 WED = 3 // ...continue... ) 요일을 상수로 나타낼때 위와 같이 상수를 선언을 하게 된다 그러나, iota를 사용하여 위 상수를 더 간략하게 나타낼 수 있다 const ( SUN = iota MON TUE WED // ...continue... ) fmt.Println(S.. 2020. 9. 5.
반응형