Common Lisp 웹 앱에서 cl-dotenv와 함께 환경 변수를 사용하는 방법

이 게시물에서는 보안 키, API 키 및 이와 유사한 항목과 같은 기밀 정보를 .env 파일에 얼마나 안전하게 저장하고 Common Lisp 웹 애플리케이션에서 사용할 수 있는지 살펴보겠습니다.

Common Lisp 웹 애플리케이션을 작성하는 방법에 대해 복습을 원하신다면 이미 여기에 대한 게시물을 작성했습니다.




코드와 별도로 환경에 구성을 저장하는 것은 The Twelve-Factor App 방법론을 기반으로 합니다. Common Lisp에는 cl-dotenv 파일에서 정보를 로드하고 웹 앱에 전달하기 위해 Olle Lauri Boström이 만든 .env라는 멋진 라이브러리가 있습니다.

설치



패키지는 Quicklisp을 통해 사용할 수 있습니다.

(ql:quickload :cl-dotenv)


용법


load-env 함수를 호출하여 지정된 .env 파일에서 환경을 로드할 수 있습니다. 사용 가능한 별칭 cl-dotenv , .env 또는 dotenv 를 사용할 수도 있습니다.

  (.env:load-env (merge-pathnames "./path/.env"))


웹 애플리케이션 프레임워크 또는 Caveman 와 같은 Lisp 프로젝트 내부에 있는 경우 예를 들어 cl-hello 라는 프로젝트를 말합니다.

다음과 같은 .env 파일이 있다고 가정해 보겠습니다.

#.env file
API_KEY=1234XXXX


다음 스니펫을 사용하여 프로젝트 루트 폴더 내에 .env 파일을 로드할 수 있습니다.

(.env:load-env (asdf:system-relative-pathname "cl-hello" "./.env"))
(defvar *api-key* (uiop:getenv "API_KEY"))
(print *api-key*)


참조


  • cl-dotenv
  • How to Use Node Environment Variables with a DotEnv File for Node.js and npm
  • 좋은 웹페이지 즐겨찾기