기존 데이터베이스 없이 구축
종종 온라인 데이터베이스를 사용하는 대신 개인의 장치에 데이터를 저장할 수 있는지 궁금합니다. 그런 식으로 더 안전하다고 느꼈습니다. 내 프로젝트에서 일한 테스트에 나 자신을 맡기십시오. 상당한 도전이었습니다. 목적을 달성하기 위해 Javascript localstorage API를 사용했습니다.
문자열은 localStorage 개체에 영구 키-값 쌍으로 저장할 수 있습니다. 동일한 출처의 다른 모든 창과 프레임은 변경 사항을 빠르게 표시합니다. 사용자가 저장된 데이터를 삭제하거나 만료 제한을 구성하지 않는 한 저장된 값은 무기한 영구적입니다. 값 액세스 및 설정을 위해 localStorage는 맵과 유사한 인터페이스를 사용합니다.
localStorage.setItem(“key”, “value”);
localStorage.getItem(“key”);
localStorage.removeItem(key);
localStorage.clear()
다음은 코드에 대한 링크입니다github code.
localStorage는 약 5MB의 데이터만 저장할 수 있기 때문에 또 다른 어려움이 생겼습니다. 중요한 용도로 사용할 수 없기 때문에 극복해야 하는 중요한 문제였습니다. 예상하셨듯이 저는 다른 방법을 찾았습니다. 방법? 파이썬 선반 라이브러리.
그것은 "지속적이고 사전과 같은 객체"로 정의되었습니다. "dbm"데이터베이스와의 차이점은 선반에 있는 값(키가 아님!)이 본질적으로 임의의 Python 객체(pickle 모듈이 처리할 수 있는 모든 것)일 수 있다는 것입니다.”
자세한 내용은 https://docs.python.org/3/library/shelve.html에서 확인할 수 있습니다.
이 아이디어는 어떻게 생각해냈습니까? 내가 가장 좋아하는 프로그래밍 책 중 하나인 'Al Sweigart의 지루한 작업을 Python으로 자동화'를 읽고 있었습니다. 적극 추천하는 멋진 책입니다.
이것은 영구적인 데이터 저장을 위한 간단하면서도 효과적인 도구이자 더 간단한 용어로 디스크 파일에 지속적으로 저장되는 사전과 같은 개체입니다.
import shelve
shelfFile = shelve.open(‘mydata’)
cats = [‘Zophie’, ‘Pooka’, ‘Simon’]
shelfFile[‘cats’] = cats
shelfFile.close()
그것을 기반으로 건설할 수 있었습니다. thatnoteapp
나는 내가 바랄 수 있었던 가장 쉬운 것을 만드는 데 성공했습니다. 다음은 내가 어떻게 관리했는지에 대한 간략한 설명입니다.
이 상황에서 목록에 데이터를 저장하는 것은 매우 다양하고 관리하기 쉽기 때문에 이상적입니다.
noteObject = shelve.open('daisdb')
note = []
noteObject['notes'] = note
noteObject.close()
새 메모를 만들기 위해 사전을 사용하여 키와 값을 저장했습니다. 목록에 추가하면 이제 사전 목록이 생깁니다.
def new():
obj = {
‘ids’:ids,
‘title’:title,
‘content’: data,
‘date’: current_date
}
noteObject = shelve.open(‘daisdb’, writeback = True)
noteObject[‘notes’].append(obj)
noteObject.sync()
noteObject.close()
return redirect(‘/’)
그리고 이것이 제가 프런트 엔드로 보낸 방법입니다.
def index():
noteObject = shelve.open(‘daisdb’, ‘r’, writeback = True)
notes = noteObject[‘notes’]
return render_template(‘index.html’,notes=notes)
이 게시물에서 발생할 수 있는 수많은 프로젝트에 관심이 있습니다. 그것을 시도하는 프로그래머 중 한 명이 되지 않겠습니까?
편집: 나는 이것에 대한 전체 자습서를 썼습니다.
Reference
이 문제에 관하여(기존 데이터베이스 없이 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/okonkwomandy/python-shelve-or-the-online-database-system-bfd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)