[Node.js] figlet을 이용하여 아스키아트 사용하기

[Node.js] figlet을 이용하여 아스키아트 사용하기

1. figlet이란 무엇인가?

figlet은 텍스트를 다양한 스타일의 **아스키 아트(ASCII Art)**로 변환해주는 라이브러리이다. 이를 통해 애플리케이션에서 간단한 텍스트를 좀 더 시각적으로 매력적으로 표현할 수 있다. 예를 들어, 서버 시작 시 콘솔에 멋진 로고를 출력하거나 중요 메시지를 강조하는 데 사용할 수 있다.

2. figlet 설치하기

먼저, 프로젝트에 figlet을 설치해야 한다. 터미널에서 다음과 같은 명령어로 설치한다.


npm install figlet

3. figlet의 사용법: 코드 예제

app.js에서의 figlet 사용 예제를 바탕으로, figlet을 어떻게 활용하는지 설명하겠다.

코드 예제


import express from "express";
import dotenv from "dotenv";
import figlet from "figlet";

import { logger } from "#util/logger.js";
import { config } from "#config/config.js";

const app = express();

// 환경 변수 설정
dotenv.config();

// 서버 시작
app.listen(config.host.port, () => {
    // figlet을 사용해 텍스트를 아스키 아트로 변환
    figlet("NYAONGLAB", (err, data) => {
        if (err) {
            logger.error(`Something went wrong with figlet.. , ${err}`);
            return;
        }
        // 변환된 아스키 아트와 함께 서버 시작 메시지 로그
        logger.info(`

        ${data}

        Server is running on port ${config.host.port}`);
    });
});

위 코드에서 figlet의 역할과 사용법에 대해 자세히 설명해보겠다.

3.1. figlet 사용 과정

  1. import figlet from "figlet":
    • figlet 모듈을 import하여 사용할 준비를 한다.
  2. figlet("NYAONGLAB", (err, data) => { ... }):
    • figlet 함수에 변환할 텍스트 "NYAONGLAB"을 전달하고, 콜백 함수 형태로 결과를 처리한다.
    • 첫 번째 인자로는 변환할 텍스트를, 두 번째 인자로는 콜백 함수를 받는다.
      • err: 변환 중 오류가 발생했을 때의 에러 객체.
      • data: 변환된 아스키 아트 문자열.
  3. 에러 처리:
    • 변환 도중 오류가 발생할 경우, 콜백 함수 내에서 에러를 확인하고 적절하게 처리한다.
    • 코드에서 에러가 발생하면 logger.error()로 오류 메시지를 기록하고 있다.
    • 만약 에러가 없다면, 변환된 아스키 아트를 콘솔에 출력한다.
  4. 서버 시작 메시지 출력:
    • 변환된 아스키 아트가 정상적으로 만들어지면, 서버 시작 메시지와 함께 출력한다.
    • logger.info()를 사용해 콘솔에 아스키 아트와 서버 포트 정보를 기록하고 있다.

3.2. 콜백 함수 사용 이유

figlet은 텍스트 변환을 비동기적으로 처리하기 때문에 콜백 함수를 통해 변환 결과를 받아야 한다. 이 방식은 변환이 완료된 후에 아스키 아트를 출력하거나 추가 작업을 할 수 있도록 해준다.


4. figlet 사용의 다양한 옵션

figlet은 다양한 옵션을 제공하여 출력 스타일을 커스터마이징할 수 있다. 다음과 같이 설정을 추가하여 아스키 아트의 폰트나 너비 등을 지정할 수 있다.

예시: 폰트 설정


figlet.text("NYAONGLAB", { font: "Ghost", horizontalLayout: "default", verticalLayout: "default" }, (err, data) => {
    if (err) {
        logger.error(`Something went wrong with figlet.. , ${err}`);
        return;
    }
    logger.info(`

    ${data}

    Server is running on port ${config.host.port}`);
});

  • font: 텍스트를 변환할 때 사용할 폰트를 지정한다. figlet에는 다양한 폰트가 있으며, "Ghost""Standard""Slant" 등이 있다.
  • horizontalLayout & verticalLayout: 텍스트의 레이아웃을 지정할 수 있는 옵션이다.

폰트와 레이아웃을 통해 더 멋진 디자인으로 텍스트를 표현할 수 있다.


5. 마무리

ss 2024-11-22 105707.png

figlet은 간단하지만 애플리케이션에 멋진 시각적 요소를 추가할 수 있는 유용한 도구이다. 서버가 시작할 때마다 콘솔에 로고나 중요한 메시지를 아스키 아트로 출력하면, 개발자나 운영자가 애플리케이션의 상태를 직관적으로 확인할 수 있다.

네가 작성한 코드에서처럼, 서버가 시작될 때 "NYAONGLAB"이라는 텍스트를 멋지게 아스키 아트로 변환하여 로고처럼 출력하는 방식은 프로젝트의 독창성과 재미를 더해줄 수 있는 좋은 방법이다.

댓글