본문 바로가기
728x90

go24

[Fiber] Fiber Template 사용하기 Fiber Template 사용하기 Springboot처럼 Fiber로 백엔드를 개발하고, 화면은 프론트엔드 프레임워크를 사용하거나 템플릿 엔진을 사용한다. 난 회사에서 Springboot + Thymeleaf로 개발하는데, Fiber에서는 Html을 템플릿 엔진으로 사용할 수 있다. Fiber에서 제공하는 템플릿 엔진은 html ace amber django handlebars jet mustache pug 이렇게 8가지 이다. 난 전회사에서 사용했었던 html을 템플릿으로 사용하고, 포스팅을 작성했다. - 사용법 package main import ( "github.com/gofiber/fiber/v2" "github.com/gofiber/template/html" ) func main() { // .. 2022. 11. 8.
[Fiber] Fiber Routing과 Grouping Fiber Routing과 Grouping Fiber의 Routing은 URI가 클라이언트의 요청에 응답하는 방식을 나타낸다. - Path Path는 문자열, 문자열 패턴으로 이루어져있다. app.Get("/", func(c *fiber.Ctx) error { return c.SendString("root") }) app.Get("/about", func(c *fiber.Ctx) error { return c.SendString("about") }) app.Get("/random.txt", func(c *fiber.Ctx) error { return c.SendString("random.txt") }) - Parameter Parameter는 받을 수 있고, 선택적으로 받을 수 있다. // Paramet.. 2022. 11. 7.
[Fiber] Fiber 설정 및 에러 Fiber 설정 및 에러 Fiber의 설정과 에러에 대해 공부하려 한다. - Config // 기본값 app := fiber.New(fiber.Config{}) // 설정 예시 app := fiber.New(fiber.Config{ Prefork: true, CaseSensitive: true, StrictRouting: true, ServerHeader: "Fiber", AppName: "Test Fiber" }) fiber 서버를 생성할 때 New 함수를 사용한다. 서버 생성 시 몇가지 설정을 할 수 있다. - AppName(string) 말 그대로 애플리케이션의 이름을 설정할 수 있다. // 기본값 ┌───────────────────────────────────────────────────┐ │ .. 2022. 11. 5.
[Fiber] Fiber 기본 Fiber의 기본 라우팅 방식에 대해 공부해보려고 한다. - 기본 package main import "github.com/gofiber/fiber/v2" func main() { app := fiber.New() app.Get("/", func(c *fiber.Ctx) error { return c.SendString("Hello, World!") }) app.Listen(":3000") } vscode로 코드를 작성하고 F5로 실행 및 디버그를 하면 실행화면이 뜬다. localhost:3000 으로 접속하면 "Hello, World!"를 볼 수 있다. - 값 받기 app.Get("/:value", func(c *fiber.Ctx) error { return c.SendString("Hello, Wor.. 2022. 11. 4.
[Fiber] Go로 DB Connect하기(MariaDB) 전 회사에서 쓰던 Golang framework Fiber를 공부하려고 한다. - 내가 전 회사에서 개발했던 부분은 여러 DB에 접속하고, 접속이 잘 되었는지 확인하는 부분이었다. - 이번에 다시 해보니 정말 금방 개발할 수 있는 양이었는데, 왜 이렇게 헤맸던 건지 모르겠다. - 예전에 DB에 접속하기 위해서 https://github.com/go-sql-driver/mysq GitHub - go-sql-driver/mysql: Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package - GitHub -.. 2022. 8. 13.
[Fiber] Go로 Backend 시작하기 전 회사에서 쓰던 Golang framework Fiber를 공부하려고 한다. express와 비슷해서 찍먹 수준으로 해봤는데, 조금씩 공부해보려고 한다. 당시 go 버전이 1.12였는데, 지금은 1.17이다. 내가 당시 개발했던 기능이 버전에 큰 영향이 있을 것 같진 않을 것 같다. 먼저 fiber를 다운로드. go get -u github.com/gofiber/fiber/v2 예전엔 잘됐는데, cannot find package "github.com/gofiber/fiber/v2" in any of: c:\go\src\github.com\gofiber\fiber\v2 (from $GOROOT) C:\Users\Administrator\go\src\github.com\gofiber\fiber\v2 (f.. 2022. 8. 10.
[Go] 기초 - 채널 1. Go 채널 - Go 채널은 그 채널을 통하여 데이터를 주고 받는 통로 - 채널은 make() 함수를 통해 미리 생성해야 한다. - 채널 연산자 2022. 8. 4.
[Go] 기초 - 루틴(goroutine) 1. Go루틴 - Go루틴(goroutine)은 Go 런타임이 관리하는 Lightweight 논리적 (혹은 가상적) 쓰레드이다. - Go에서 "go" 키워드를 사용하여 함수를 호출하면, 런타임시 새로운 goroutine을 실행한다. - goroutine은 비동기적으로 함수루틴을 실행한다. 이를 통해 여러 코드를 동시에 실행한다. package main import ( "fmt" "time" ) func say(s string) { for i := 0; i < 10; i++ { fmt.Println(s, "***", i) } } func main() { // 함수를 동기적으로 실행 say("첫 번째 함수 실행") // 함수를 비동기적으로 실행 go say("두 번째?") go say("세 번째?") go .. 2022. 8. 2.
[Go] 기초 - defer&panic 1. defer - defer는 특정 문장이나 함수를 나중에 (defer를 호출하는 함수가 리턴하기 직전에) 실행하게 한다. - Java 같은 언어에서의 finally 블럭처럼 마지막에 작업을 위해 사용 package main import "os" func main() { f, err := os.Open("1.txt") if err != nil { panic(err) } // main 마지막에 파일 close 실행 defer f.Close() // 파일 읽기 bytes := make([]byte, 1024) f.Read(bytes) println(len(bytes)) } - 나는 주로 DB 커넥션을 끊을 때 사용했다. 2. panic - panic은 현재 함수를 즉시 멈추고 현재 함수에 defer 함수들.. 2022. 8. 1.
728x90