오래된 프로그래머의 요즘 이야기

그리고 소소한 일상들...

허니의 소소한 일상들이 켜켜이 쌓여가고......

SQLite 3

[Flutter / SQLiTE]SQLiTE의 장단점 및 Flutter와 함께 사용 시 주의사항

SQLite란 무엇인가?SQLite는 별도의 서버 프로세스 없이 작동하는 서버리스(Serverless), 자기 완결형(Self-Contained), 트랜잭션 안전(Transactional) SQL 데이터베이스 엔진입니다. SQLite 데이터베이스는 하나의 파일로 구성되어 관리가 용이하며, 임베디드 시스템, 모바일 애플리케이션, 소규모 데스크톱 애플리케이션 등 다양한 환경에서 널리 사용됩니다.SQLite의 역사SQLite는 2000년에 D. Richard Hipp에 의해 개발되었습니다. 원래는 미 해군의 함선에 탑재될 소프트웨어에 사용하기 위해 개발되었으며, 상업적 및 개인적 용도로 자유롭게 사용할 수 있는 퍼블릭 도메인 소프트웨어입니다. 시간이 지나면서 SQLite는 단순함, 이식성, 안정성 덕분에 많은..

Tech Story 2025.06.01

[ SQLiTE ] Local DB Update process (2)

이전글 : [ SQLiTE ] Local DB Update process (1) 현재까지 Flutter 로 만든 앱들의 동작 환경을 살펴보면 휴대폰 내부에서는 SQLiTE 를 사용하고, 서버는 주로 Docker 로 구축한 MariaDB (또는 MySQL)로 되어있다. 서버와의 통신은 Python 으로 만든 RestAPI 호출로 운영하고 있으며 SSL 적용한 WEB Server 도 컨테이너로 돌아가고 있다. (참고 : [Environment] 개발 환경에 대해... ) 처음에는 Database Update를 위해 효율 보다는 빠른 구축이 먼저였기에 서버의 API를 통해 버전번호를 체크/비교하면서 변경된 데이터를 조회해 온 후 휴대폰 내부의 SQLiTE에 Insert 와 Update 쿼리를 사용해 업데이트를..

Tech Story 2023.12.22

[ SQLiTE ] Local DB Update process (1)

일전에 지자체에서 운영하는 Android 와 iOS 앱을 개발해준 적이 있다. 지자체 서버에서 제공하는 API를 호출하고 그 결과를 앱에 표현해 주는 앱인데 API호출 회수를 최소화 하기 위해 대부분의 데이터는 휴대폰의 SQLiTE 에 저장하고 사용했다. 또한 서버와의 동기화(Synchronization)를 위해 Update가 필요한 테이블별 Version No를 Check하여 Local 과 Server 의 DB 동기화를 진행해 왔다. 고도화 작업까지 완료된 꽤 긴 기간동안 작업했던 앱이었기에, 초기의 앱과 비교해 보면 디자인부터 기능까지 무척이나 많은 변화를 간직하고 있는 앱이다. 오늘은 수많은 변화 중 Database 의 Table data Update 관련한 몇가지를 얘기하고자 한다. 우선 서버는 ..

Tech Story 2023.12.22