일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- tls disable
- create topic
- loadbalance
- Kafka Connect
- Message
- http
- go
- kafka-connect
- kibana
- gin
- docker
- Golang
- broker
- Elk
- Kafka
- ElasticSearch
- minikube
- Consumer
- Produce
- topic
- 쿠버네티스
- gortsplib
- eck
- go test
- Helm
- Kubernetes
- k8s
- consumer group
- gorm
- kafka broker
- Today
- Total
목록2025/05 (5)
개발자의 개발괴발
앞에서 DB에 insert, delete하는 테스트코드를 작성해보았다.정상적으로 잘 작동하는걸 확인했으니 실제로 curl로 호출해서 잘 동작되는지 확인해보자. controller 설정아래와 같이 code를 수정하겠다.func main() { db.Init() // Create a new Gin router router := gin.Default() // Define a simple GET endpoint routerUser := router.Group("/users") routerUser.GET("", controller.GetUsers) routerUser.POST("", controller.CreateUser) routerUser.DELETE("/:userId", controller.DeleteUse..

backend 개발에 빼놓을 수 없는것 하나만 뽑으라면 db일 것이다.backend만으로 client의 요청에 응답을 할 수 있지만 영구적으로 데이터를 저장하는데는 한계가 있다.물론 메모리에 저장할 순 있지만 backend 서버가 재기동될 경우 데이터는 모두 날아가버린다.따라서 영구적으로 데이터를 저장할 수 있는 기능을 제공하는 것이 db이다.단순히 영구 데이터 저장만이 목적이 아니라 db를 이용하면 단순히 파일로 저장하는 것보다 많은 이점이 있다.그래서 이전 글에 이어 db를 추가해보도록 하겠다.sqlite3db 종류에는 여러가지가 있고 상황에 따라 적절한 선택을 하면 된다.여기서는 무거운 backend 서비스를 만드는 것도 아니 때문에 sqlite3를 사용하려고 한다.가볍다고해서 다른 db에 뒤쳐지는..
go에 많은 web framework가 있지만 나는 gin을 선택했다.장점, 단점을 읽어봤지만 나에게 중요한 것은 쉽고 빠르게 만들 수 있는 것이기 때문이다.gin 시작하기gin 시작하기는 매우 쉽다.vscode에서 새로운 폴더를 만들고go mod init home-cam위 명령어로 프로젝트를 초기화 했다.go get -u github.com/gin-gonic/gin위 명령어로 gin package를 설치하고 아래와 같이 main.go를 작성해보자.package mainimport ( "fmt" "net/http" "github.com/gin-gonic/gin")func main() { // Create a new Gin router router := gin.Default() // Define a sim..
집에 홈 캠 스트리밍 서버를 만들어보려고 한다.마침 먼지쌓인 놀고있는 PC가 있어서 Ubuntu 24.04를 설치하고 SSH Server를 설치해두었다.영상을 스트리밍할 수 있고 저장된 영상을 볼 수 있도록 앱도 만들어보려고 한다.백앤드는 Go로 앱은 Flutter로 만들어보겠다.Go와 Flutter 초보자지만 이정돈 해낼 수 있지 않을까 한다.

cctv 영상을 스트리밍받아 내 pc에 저장해보자.rtsp에 지식이 전무하다보니 시간이 꽤 걸렸다.사전준비go에서 rtps를 사용하기 위해 gortsplib를 사용했다.go get "github.com/bluenviron/gortsplib/v4"깃헙에 가면 example도 잘 되어있다.그런데 ffmpeg 버전을 낮은 버전을 사용한것 같다.몇몇의 example은 cgo를 써야하는데 몇몇 함수가 deprecated된것도 있고 해서 c라이브러리를 쓰는 곳에선 잘 동작하진 않았다.cgo를 쓰기 위해선 ffmpeg도 설치해야한다.(위 패키지를 설치할때 같이 설치 되는지는 잘 모르겠다.)설치하기 위해서 homebrew로 설치하자.brew install ffmpeg streaming할 cctv영상 원본은 여기서 구할..