시작하기
이번 섹션에서는 패키지와 패키지 사용법에 대한 실전 예제를 다룰 것입니다. 우리의 목표는 텍스트를 입력받고 해당 텍스트가 어떤 언어인지 감지하는 언어 감지기를 만드는 것입니다. 프로젝트를 시작하기 전에 어떤 패키지를 사용할지 결정해야 합니다.
프로젝트 요구사항
우리의 언어 감지기 프로젝트는 다음 요구사항을 충족해야 합니다:
사용자로부터 텍스트를 입력받습니다.
입력된 텍스트가 어떤 언어인지 감지합니다.
언어가 감지된 경우, 해당 언어의 이름을 출력합니다.
언어가 감지되지 않거나 알 수 없는 경우, 사용자에게 알림을 표시합니다.
필요한 패키지
프로젝트를 개발하기 위해 다음 패키지를 사용할 것입니다:
franc: 텍스트의 언어를 식별하는 패키지입니다. 각 언어에 대한 ISO 코드를 반환합니다.
langs: ISO 639 언어 코드와 언어 이름을 매핑하는 패키지입니다.
colors: 터미널에 색을 입히기 위한 패키지입니다.
프로젝트 설정
프로젝트를 시작하려면 다음 단계를 따르십시오:
빈 디렉토리를 만듭니다.
해당 디렉토리에서 npm init 명령을 실행하여 package.json 파일을 생성합니다. 명령을 실행한 후 나오는 프롬프트에 대답하여 기본 설정을 완료합니다.
npm install franc@5.0.0
npm install langs colors
위 명령을 통해 franc, langs, colors 패키지가 설치됩니다.
※ 주의 ※ : franc는 최신버전을 사용한다면 코드를 다르게 작성해야 합니다.
다르게 작성하는 부분은 다음과 같습니다.
ES6 모듈 시스템이 작동하도록 package.json 파일에 새 항목을 추가해야 합니다.
프로젝트 폴더의 package.json 파일을 열어 "type": "module" 항목을 추가합니다.
package.json 코드
{
"type": "module", // 여기 수정
"name": "langguessr",
"version": "2.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"colors": "^1.4.0",
"franc": "^6.1.0",
"langs": "^2.0.0"
}
}
index.js 코드
import { franc } from 'franc';
import langs from 'langs';
import colors from 'colors';
const input = process.argv[2];
const langCode = franc(input);
if (langCode === 'und') {
console.log(colors.red("잘 모르겠어요. 다른 텍스트를 넣어보세요.".red));
} else {
const language = langs.where("3", langCode);
console.log(colors.green(`추측 결과: ${language.name}입니다`.green));
}
프로젝트 개발
이제 프로젝트를 개발할 준비가 되었습니다. 프로젝트 디렉토리에서 index.js 파일을 생성하고 다음 코드를 추가하세요
const franc = require("franc");
const langs = require("langs");
const colors = require("colors");
const input = process.argv[2];
try {
const languageCode = franc(input);
const language = langs.where("3", languageCode);
if (languageCode === "und") {
console.log("잘 모르겠어요. 다른 텍스트를 넣어보세요.".red);
} else {
console.log(`추측 결과: ${language.name}입니다`.green);
}
} catch (error) {
console.error("언어를 감지하지 못했습니다. 다른 텍스트를 시도해보세요.".red);
}
프로젝트 실행
이제 프로젝트를 실행할 수 있습니다. 명령줄에서 다음 명령을 사용하여 언어 감지기를 실행하세요.
node index.js 'bonjour je suis colt'
node index.js 'Alle menslike wesens word vry' //=> 'afr'
node index.js 'এটি একটি ভাষা একক IBM স্ক্রিপ্ট' //=> 'ben'
node index.js 'Alle menneske er fødde til fridom' //=> 'nno'
마무리
언어 감지기 프로젝트는 패키지와 패키지 사용법을 학습하고, 그것들을 실전 프로젝트에 적용하는 좋은 예제입니다. 패키지를 활용하면 몇 줄의 코드로 강력한 기능을 구현할 수 있습니다. 이러한 실습을 통해 Node.js와 NPM 생태계에 대한 이해를 높이고 프로젝트 개발 능력을 향상시킬 수 있습니다.
다음 시간에는 Express.js를 배우고 이 프레임워크를 사용하여 웹 애플리케이션을 개발하는 방법을 다룰 것입니다. Express.js는 Node.js로 웹 애플리케이션을 구축하는 데 필수적인 도구 중 하나이며, 매우 강력하고 유연한 도구입니다. 이를 통해 웹 애플리케이션 개발에 대한 흥미로운 시간이 될 것입니다. 계속 공부하고 진행하세요!
언어 감지기 프로젝트는 패키지와 패키지 사용법을 학습하고, 그것들을 실전 프로젝트에 적용하는 좋은 예제입니다. 패키지를 활용하면 몇 줄의 코드로 강력한 기능을 구현할 수 있습니다. 이러한 실습을 통해 Node.js와 NPM 생태계에 대한 이해를 높이고 프로젝트 개발 능력을 향상시킬 수 있습니다.
다음 시간에는 Express.js를 배우고 이 프레임워크를 사용하여 웹 애플리케이션을 개발하는 방법을 다룰 것입니다. Express.js는 Node.js로 웹 애플리케이션을 구축하는 데 필수적인 도구 중 하나이며, 매우 강력하고 유연한 도구입니다. 이를 통해 웹 애플리케이션 개발에 대한 흥미로운 시간이 될 것입니다. 읽어주셔서 감사합니다.
'프로그래밍 언어 > Node.js' 카테고리의 다른 글
[Node.js] 첫 번째 Express 앱 (2) | 2023.11.09 |
---|---|
[Node.js] Express 여행을 시작하겠습니다. (0) | 2023.11.08 |
[Node.js] Node.js에서 중요한 역할을 하는 package.json 파일 (0) | 2023.11.07 |
[Node.js] Node.js에서 패키지 설치: 지역 및 전역 설치 (0) | 2023.11.07 |
[Node.js] NPM 패키지 설치하기 (Jokes & Rainbow) (0) | 2023.11.06 |