[GoLang] .env 파일에 DB 접속 정보를 저장하자

2023. 10. 4. 20:05· Go Lang/Study
목차
  1. 개요
  2. 코드

개요

프로젝트를 만들다 보면 노출하면 안 되는 값이 있습니다. (ex : aws키, db 접속 정보, api 키 등등)

그렇기에 대부분의 프레임워크에서는 .env, wp-config.php, setting.xml 등의 설정파일을 제공해 줍니다.

 

GO에서는 다음 패키지를 사용하면 아주 쉽게 설정 파일을 만들 수 있습니다.

https://github.com/joho/godotenv

 

GitHub - joho/godotenv: A Go port of Ruby's dotenv library (Loads environment variables from .env files)

A Go port of Ruby's dotenv library (Loads environment variables from .env files) - GitHub - joho/godotenv: A Go port of Ruby's dotenv library (Loads environment variables from .env files)

github.com

코드

프로젝트에서 패키지를 다운로드한 다음

go get github.com/joho/godotenv

바로 .env 파일을 다음처럼 만들어줍시다.

내용은 다음과 같이 적어줍시다, 값은 key=value 형태를 유지하시면 됩니다.

DBUSER=root
DBPASS=secret
DBNAME=chat_app

main.go도 다음처럼 작성하고

package main

import (
	"fmt"
	"github.com/joho/godotenv"
	"log"
	"os"
)

func main() {
	err := godotenv.Load(".env")

	if err != nil {
		log.Fatal(".env 파일을 찾을 수 없습니다.")
	}

	dbUser := os.Getenv("DBUSER")
	dbPass := os.Getenv("DBPASS")
	dbName := os.Getenv("DBNAME")

	fmt.Printf("DBUSER=%s\nDBPASS=%s\nDBNNAME=%s", dbUser, dbPass, dbName)
}

프로젝트를 실행하면 다음과 같이 정보가 출력되는 걸 확인할 수 있습니다

만약 파일명을 바꾸고 싶으면 godotenv.Load 부분과 파일명을 바꾸시면 됩니다.

반응형

'Go Lang > Study' 카테고리의 다른 글

[GoLang] 실수 오차 없애기  (1) 2023.10.28
[GoLang] Go언어란?  (1) 2023.10.24
[GoLang] xls 파일을 xlsx 파일로 바꿔주자  (4) 2023.09.17
[GoLang] 자료형을 초과한 큰 수를 계산해보자  (0) 2023.09.01
[GoLang] 정규식으로 URL 분석기 만들기  (0) 2023.08.30
  1. 개요
  2. 코드
'Go Lang/Study' 카테고리의 다른 글
  • [GoLang] 실수 오차 없애기
  • [GoLang] Go언어란?
  • [GoLang] xls 파일을 xlsx 파일로 바꿔주자
  • [GoLang] 자료형을 초과한 큰 수를 계산해보자
DSeung
DSeung
DSeung
Dev log
DSeung
  • 분류 전체보기 (193)
    • PHP (62)
      • Laravel (31)
      • Error (5)
      • Setting (11)
      • Modern PHP (15)
    • Go Lang (51)
      • Study (30)
      • Algorithm (17)
      • Setting (1)
      • Error (3)
    • Java (11)
      • Spring (3)
      • JSP (0)
      • Error (2)
      • Setting (2)
      • 단축키 (2)
    • JavaScript (6)
      • Modern JavaScript (4)
      • Node (1)
    • Android Kotlin (5)
      • Study (4)
      • Error (1)
    • 컴퓨팅 기술 (12)
      • 데이터베이스시스템 (4)
      • Docker (2)
      • 크롤링 & 스크래핑 (1)
      • API (1)
      • 클라우드 (1)
      • 네트워크 (1)
    • MySQL (7)
    • AWS (1)
    • Git (5)
      • GItLab (1)
      • GitHub (4)
    • 도메인 (2)
      • 안과 (2)
    • 자격증 (7)
      • SQLD (1)
      • 정보처리기사 (6)
    • Mac os (1)
    • 나머지 (13)
      • tistory (1)
      • 기타 (9)
      • 일기 (3)
    • 독서 (10)

인기 글

최근 글

블로그 메뉴

  • 홈
  • 태그
전체
오늘
어제
hELLO · Designed By 정상우.v4.2.0
DSeung
[GoLang] .env 파일에 DB 접속 정보를 저장하자
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.