어떤 서비스나, 제품의 소프트웨어를 개발할때 설계가 굉장히 중요하고 설계을 어떻게 잡느냐에 따라 생산성과 비용이 판이하게 달라집니다. 그러한 아키텍쳐 관점 중의 하나가 바로 클린아키텍쳐인데요. Go 언어에서는 어떻게 적용하고 구성하는지 알아보도록 하겠습니다. Clean Architecture Go 언어에서 Clean Architecture는 Robert C. Martin의 'Clean Architecture' 책에서 제시한 소프트웨어 아키텍쳐의 일종입니다. 이 아키텍쳐는 의존성 역전 원칙(Dependency Inversion Principle)을 중심으로 구성되어 있고, 비즈니스 로직과 프레임워크 또는 라이브러리와 같은 기술적 세부 사항을 분리하는 것을 강조합니다. Clean Architecture는 다..
지난 시간에 Gorm과 MariaDB를 연동해보았었는데요, 아직 안 보신 분은 빠르게 아래 글을 읽고 오시고 시작하도록 하겠습니다. https://hero-space.tistory.com/138 Go와 Database 연동은 Gorm으로 시작! 백엔드 서버를 개발 할때, 데이터의 저장은 DB를 연동해서 하는 것이 일반적인데요. DB의 종류도 SQL로 할 꺼냐, NoSQL로 할꺼냐의 근본적인 결정도 있지만 SQL의 경우 데이터의 모델을 정의하고 이 hero-space.tistory.com 오늘은 Migration에 대해서 설명하면서 진행해보고 진행하면서 발생한 이슈에 대해서 설명드리도록 하겠습니다. AutoMigration 이 머지? DB라는 것은 서비스를 운영하면서 굉장히 중요한 요소입니다. 따라서 DB..
지난 시간에 Go와 Database의 연동을 Gorm을 하기 위해 데이터 베이스를 생성해주고, 모델을 만들어 인터페이스로 묶어 연결시켜주었는데요, 아직 못 보신 분은 아래 글을 빠르게 읽고 넘어가도록 하겠습니다. https://hero-space.tistory.com/138 Go와 Database 연동은 Gorm으로 시작! 백엔드 서버를 개발 할때, 데이터의 저장은 DB를 연동해서 하는 것이 일반적인데요. DB의 종류도 SQL로 할 꺼냐, NoSQL로 할꺼냐의 근본적인 결정도 있지만 SQL의 경우 데이터의 모델을 정의하고 이 hero-space.tistory.com Echo : High Performance, Extensible, Minimalist Go Web Framework https://echo...
구글에서 firebase라는 serverless 솔루션을 어느정도 사용까지 무료로 제공하고 있는데요, Application을 만들면서 서버가 필요할때 가장 필수 적인 기능들을 손쉽게 이용할 수 있어서 많은 개발자분들이 이용하고 있습니다. https://firebase.google.com/ Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 이 글에서는 파이어베이스 프로젝트 생성 및 연동 보다는 생성과 연동되어 있다고 가정하고, 데이터가 쌓여졌을때 어떻게 golang으로 쿼리를 해서 가져오는가에 대해서 설명하도록 하겠습니다. 콘솔에 로그인을 해서 생성된 프로젝트를 누르면 위와 같은 화면을..
Every language requires to make dependency for building and exists various tools. Golang is needed to make dependency for building with several files. It doesn't matter with a few files, but if you want to add up to 3rd library and maintain the source in git, you should check dependency. Let's you give an example to understand better. If you want to gorilla/mux package(https://github.com/gorilla..
Have you heard about 'Go'?, I don't mean you have to go out haha. 'Go' is kind a name of language which makes me feel happy in these-day. Go is made by 'Goolge' and a kind of compile language. Literally, Go has strong points like garbage collection and concurrency. A number of Developers have been struggling to handle memory and Java developers are getting increase due to this reason. However Go..
In terms of HTTP server, we used to utilize the server and find easily. But almost of http server is based on 'TCP'. I don't think the TCP is the best option for embedded system and I don't want to abuse port in my system. Therefore I have decided to use Unix Domain Socket for IPC. # HTTP Using CRUD method which are Create, Read, Update and Delete, we can handle and provide a web service. In add..