SQLite 데이터베이스를 10배 빠르게 만드는 방법들

SQLite 데이터베이스를 사용하다보면, 데이터가 많을 경우 처리 속도가 만족스럽지 못한 경우가 생길 수 있습니다. 그럴 때에는 무작정 다른 종류의 데이터베이스를 찾아보거나 다른 기술을 도입하려고 하기보다는, SQLite 데이터베이스를 사용하는 코드를 최적화해볼 필요가 있죠. 그럼 아래에 적용해볼 수 있는 방법들을 정리해보겠습니다. 예제 코드는 SQLite C Library를 기준으로…

SQLite 데이터베이스 C/C++에서 사용하기 2: 심화 (번역)

SQLite 데이터베이스 심화편 SQLite 데이터베이스 C/C++에서 사용하기 시리즈의 이전 편에서는 기본적인 내용에 대해서 알아봤습니다. SQLite 툴의 사용법과 C 코드로 쿼리를 실행하는 방법 정도만 알아도 사용하는데 큰 문제는 없죠. 이번 편은 약간 심화적인 부분에 대해서 다룹니다. 정확히는 이미지같은 Blob(Binary Large OBject)을 다루는 방법, 메타데이터, 트랜잭션에 대한…

SQLite 데이터베이스 C/C++에서 사용하기 1: 기본 (번역)

SQLite 는 관계형 데이터베이스 엔진입니다. 개발자는 SQLite 를 자급자족하는, 서버도 필요 없고, 설정도 필요없는 트랜잭셔널 SQL 데이터베이스 엔진이라고 표현합니다. 지금은 전세계에 수십 수백만 개가 사용되고 있을 정도로 유명하죠. SQLite 는 Solaris 10, Mac OS, 안드로이드, 아이폰에도 사용됩니다. Qt4 라이브러리도 파이썬, PHP 와 함께 SQLite 를 내부적으로 지원하죠. 또 파이어폭스, 구글 크롬 등의 아주 유명한 애플리케이션들도 내부적으로 SQLite 를 사용하고 있습니다. 대단하죠!?

C++ Named Constructor Idiom: 이름을 가진 생성자?

Named Constructor Idiom? 다들 아시다시피 C++의 생성자는 특별한 이름을 가질 수 없습니다. 그런데 가끔씩 가독성을 위해서 Self-descriptive한 이름의 생성자를 만들고 싶을 때가 있습니다. 아니면, 문법적 한계 때문에 꼭 필요한 경우도 생각해볼 수 있죠. 이럴 때 사용할 수 있는 것이 Named constructor idiom 입니다. 첫 번째…