Node.js - 데이터 지속성 및 사용자 지정 파서

여러분!

이것은 내 데이터베이스 프로젝트를 위한 내 "devlog"의 두 번째 항목입니다. 오늘 저는 데이터 지속성 및 더 복잡한 입력(단어가 두 개 이상인 문자열)의 구문 분석 작업을 시작했습니다.


새로운 기능


  • 데이터 지속성: 이제 "using", "create"또는 "insert"명령을 호출할 때마다 데이터베이스가 .ldb 확장자를 사용하여 디스크에 자신을 씁니다(여전히 JSON입니다. 테이블을 변경할 때마다 nodemon을 계속 트리거함)

  • 예시:


  • 여러 단어가 포함된 문자열 구문 분석: 어제 버전에서는 여러 단어가 포함된 매개 변수를 전달할 수 없었지만 이제 이를 지원하는 사용자 정의 구문 분석기를 만들었습니다
  • .

    예시:




    코드 구조 변경



    우선, 일부 코드를 정리했습니다. 파서 파일이 너무 커져서 몇 가지 항목을 옮겼습니다. 이것이 새로운 구조입니다.


  • commandExecutor: 각 명령에 대한 참조를 보유합니다
  • .
  • 데이터베이스: 현재 데이터베이스의 메모리 인스턴스를 반환하고 새 값으로 설정할 수 있으며 데이터베이스를 저장합니다
  • 파서: 입력 문자열을 명령 및 매개변수의 배열로 변환합니다
  • .

    명령 폴더에는 가능한 각 명령에 대한 파일이 있습니다.




    결론



    이 프로젝트 작업을 좋아해서 크리스마스 전에 다시 쓸 생각은 없었지만 오늘 아침의 결과가 너무 좋아서 기다릴 수 없었습니다.

    다시 말하지만, 누군가 확인하고 싶다면 이 프로젝트의 저장소입니다.


    치오체타 / 배운 DB


    학습 목적으로 만든 데이터베이스 프로젝트





    LuisDB


    My study on how to create a database


    안녕하세요, 제 데이터베이스 프로젝트의 저장소입니다. Node.js를 사용하여 처음부터 데이터베이스를 만드는 방법을 배우려고 합니다.
    내 목표는 데이터베이스가 내부적으로 작동하는 방식을 조금 더 잘 이해하는 것입니다.

    설치


    이 프로젝트를 설치하고 사용하려면 Node.js 및 NPM이 있어야 합니다.
    npm i learndb

    용법


    REPL 또는 데이터베이스 드라이버로 두 가지 방법으로 사용할 수 있습니다.

    REPL


    이 프로젝트를 REPL로 사용하려면 설치하는 대신 복제하는 것이 좋습니다. 복제된 경우 REPL에 액세스하려면 터미널에 다음을 입력하기만 하면 됩니다.
    node index.js repl

    REPL 명령


    [데이터베이스 이름] 사용


    현재 있는 디렉터리에서 데이터베이스를 로드하거나 없는 경우 지정된 이름으로 데이터베이스를 생성합니다...

    View on GitHub

    좋은 웹페이지 즐겨찾기