<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 'sqlite' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/sqlite</link>
		<description>sqlite</description>
		<language>ko</language>
		<pubDate>Tue, 25 Mar 2008 05:49:51 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[SQLite 간단 사용법]]></title>
	<link>http://javawork.egloos.com/1812306</link>
	<guid>http://javawork.egloos.com/1812306</guid>
	<description>
	<![CDATA[ 
		SQLite는 오픈소스 파일 DB입니다. API도 간단해서 쉽게 사용할 수 있습니다.  SQLite를 간단하게 설치(?)하고 CppSQLite라는 래퍼 클래스를 이용하여 제어하는 방법을 제공합니다.    다운로드    - SQLite 다운로드 : 에서 최신버젼(현재 sqlite-3_4_0.zip)을 받아서 압축 해제하면 exe파일이 하나 나옵니다. 설치파일은 아니니 그냥 압축해제만 해놓으시면 됩니다.  - CppSQLite 다운로드 : 에서 최신 버젼(현재 3.0.8)을 받습니다. 압축해제하면 나오는 폴더중에 Common 폴더만 프로젝트 폴더로 복사합니다.      사용준비  - 프로젝트를 생성하시고 Common폴더에 있는 CppSQLite.h/cpp를 추가합니다  - sqlite3.lib를 라이브러리에	]]>
	</description>
	<pubDate>Tue, 25 Mar 2008 05:49:51 +0900</pubDate>
	<dc:creator><![CDATA[flexible gameserver]]></dc:creator>
</item>
<item>
	<title><![CDATA[각종 DataReader 성능 비교]]></title>
	<link>http://javawork.egloos.com/1812305</link>
	<guid>http://javawork.egloos.com/1812305</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://pds9.egloos.com/pds/200803/25/14/d0043314_47e8130f2ba17_t.jpg"  
				alt="각종 DataReader 성능 비교" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 게임내에서 사용되는 각종 데이터들, 주로 기획에서 만들어서 서버/클라이언트에서 읽을수 있는 데이터로 변환해서 게임내에서 다양하게쓰이게 됩니다. 예를 들면 아이템 데이터, NPC데이터, 스킬데이터 등이 있겠습니다. 이런 데이터들은 보통 서버가 시작될때메모리로 읽어들여서 로직내에서 필요한 데이터가 있을때 저장된 특정한 컨테이너(벡터, 맵, 해쉬테이블 등)에서 값을 가져오게됩니다.  저는 DataReader라고 부르고 있습니다. 이 DataReader를 메모리상에 상주 시키지 않고 DB를 이용해볼까 하는 생각이 들어서 성능 비교를 해보게 되었습니다. (특성상 Insert/Update/Delete 속도는 별 의미가없으므로 Select속도만 측정)    사용된 컨테이너(혹은 DB)  - Array(strcmp) : 	]]>
	</description>
	<pubDate>Tue, 25 Mar 2008 05:47:55 +0900</pubDate>
	<dc:creator><![CDATA[flexible gameserver]]></dc:creator>
</item>
<item>
	<title><![CDATA[개발팀에 TRAC을 도입하다]]></title>
	<link>http://poorpuppet.egloos.com/3640529</link>
	<guid>http://poorpuppet.egloos.com/3640529</guid>
	<description>
	<![CDATA[ 
프로젝트의 관리를 위해...  수년 동안 다른 일에 치어서 미뤄오고 미뤄왔던 일을 급하게 하루만에 해치워버렸다. 그동안(2년 정도 지났으니;;) 좋은 설치 툴(eazy_install)도 나왔고, pgsql이나 sqlite등에 대한 지식이 많이 쌓인 것도 나름 도움이 되었다.   wiki의 개념과 ticket의 개념을 팀원들에게 설명하는 것이 현재 과제인데 물론 무엇보다 내가 마일스톤과 콤퍼넌트를 이해하지 못하고 있는것이 또한 문제이다.  새로 시스템을 도입하는데 있어서 걸림 돌이 되는 부분은 실패하면 굉장한 시간낭비라는 것. 팀원들의 따라와 주려는 의지가 중요하다기존의 일일업무보고라는 시스템을 유지하기 힘들다. 2중화가 되어야 한다이미 만들어 놓은(?) Knowladge Management System이 있	]]>
	</description>
	<pubDate>Fri, 29 Feb 2008 14:59:08 +0900</pubDate>
	<dc:creator><![CDATA[극히 주관적인 관점]]></dc:creator>
</item>
<item>
	<title><![CDATA[Lemon vs Yacc(Bison)]]></title>
	<link>http://programmer.egloos.com/1390756</link>
	<guid>http://programmer.egloos.com/1390756</guid>
	<description>
	<![CDATA[ 
 이 예제는 일단 Yacc(Bison)의 무거움(속도, 심볼테이블싸이즈)를 벗어나고자 동일한 예제를 lemon과 비교 하였다.  lemon은 SQLite에 쓰이고 있고, 별도로 사용가능하다!! 자세한건 홈페이지를...  일단 계산기를 만들어 보았다. 속도보다는 symbol table 및 code size 를 보기 위해서였다. 그러나, 이는 부적절하다.  테스트용으로는 오히려 TinyC, C--, C Minus, miniC, Small C, NOC... 등 C 의 grammer 보다는 작은 C버젼을 쓰는 것이 좋을 듯하다. 이는 적당한 복잡도와 심볼을 얻을수 있기 때문이다. 참고로 if-else 와 같이 댕글링문제를 내포한 문법도 좋을 법하다.  위의 예제들이 yacc 용으로는 있긴 한데, lemon 용은 없어	]]>
	</description>
	<pubDate>Thu, 07 Feb 2008 22:59:23 +0900</pubDate>
	<dc:creator><![CDATA[beborn();(while(!sleep(0)){eat();excrete();}die();]]></dc:creator>
</item>
<item>
	<title><![CDATA[Lemon parser]]></title>
	<link>http://programmer.egloos.com/1305226</link>
	<guid>http://programmer.egloos.com/1305226</guid>
	<description>
	<![CDATA[ 
레몬파서란?  Lemon is an LALR(1) parser generator for C or C++. It does the same job as GNU bison and yacc.  레몬은 C 와 C++ 을 위한 LALR 파서이다. 레몬은 GNU bison 과 yacc 와 비슷한 일을 한다.  But lemon is not another bison or yacc clone  그러나, bison 과 yacc 의 클론은 아니다.  LALR 이란?  LookAhead (one) Left-Right : 한마디로 한개 미리보면서 왼쪽에서 오른쪽으로 파싱.  한개 미리 보는 이유는? 인간이 미래를 볼수 있다면 무긍한 발전을 할수 있는 이유랑 똑같다.  영어, 한국어, 일어 ..등등 대부분 LR 이지만, 중동이던가.	]]>
	</description>
	<pubDate>Fri, 18 Jan 2008 11:46:29 +0900</pubDate>
	<dc:creator><![CDATA[beborn();(while(!sleep(0)){eat();excrete();}die();]]></dc:creator>
</item>
<item>
	<title><![CDATA[Embedded database supports Google's Android]]></title>
	<link>http://programmer.egloos.com/1263431</link>
	<guid>http://programmer.egloos.com/1263431</guid>
	<description>
	<![CDATA[ 
URL :  Jan. 07, 2008  An embedded, object-oriented database management system (OODBMS) has been deemed compatible with the Android mobile device platform. McObject says its open source &quot;Perst&quot; OODBMS for Java objects was verified compliant by the Open Handset Alliance (OHA), the industry group overseeing the Linux-based phone-stack.  McObject says it is offering free downloads of the open source P	]]>
	</description>
	<pubDate>Wed, 09 Jan 2008 13:45:11 +0900</pubDate>
	<dc:creator><![CDATA[beborn();(while(!sleep(0)){eat();excrete();}die();]]></dc:creator>
</item>
<item>
	<title><![CDATA[파일 DB 찾아보기]]></title>
	<link>http://swguru.egloos.com/1688193</link>
	<guid>http://swguru.egloos.com/1688193</guid>
	<description>
	<![CDATA[ 
개발중인 도구에서 관리하는 메타정보가 점점 많아진다. XML 파일로 저장중인데 사이즈도 점점 커지고, 메모리도 많이 먹는다. DB의 사용을 검토할 때가 되었다.  독립적으로 수행되는 도구를 배포하면서 사용자에게 DB를 설치하라고 하면 모두 자빠질 것이므로  - 검토범위는 파일DB로 제한한다. - DB로의 원격접속은 불필요하다. - 무료로 쓸 수 있어야 한다.  1) SQLite  2) Access(mdb) Java와는 궁합이 맞지 않을것 같아서 배제, 솔직히... 안쓰고 싶다.  3) Apache Derby  4) HSQL  * open source db - MySQL: 워낙 유명하니... - cubrid: 국내개발, 오픈소스 전환. - Apache Derby: JDK1.6에 Java DB라는 항목으로 포함	]]>
	</description>
	<pubDate>Tue, 08 Jan 2008 09:57:20 +0900</pubDate>
	<dc:creator><![CDATA[Purpose driven development]]></dc:creator>
</item>
<item>
	<title><![CDATA[SQLite C API 소개]]></title>
	<link>http://eminency.egloos.com/3325961</link>
	<guid>http://eminency.egloos.com/3325961</guid>
	<description>
	<![CDATA[ 
꽤 간단한 내용이지만, SQLite는 한글 매뉴얼이 별로 없는 탓에 끄적여 봅니다.  그간 C API를 써 본 DB들을 보면, ODBC와 비슷한 형태를 갖고 있는 경우가 많습니다. 오라클은 C API보다는 Pro*C를 쓰니 예외로 하고요.. 오라클 C API가 어떻게 되어 있는 지도 모르겠네요 -_-;  대략 Open-Prepare-Bind-Execute-(Fetch)-Close의 과정을 거치는데 open-close는 당연히 DB를 열고 핸들러(DB 정보 구조체)를 초기화하는 것과 종료하는 것이니 어려울 것 없고요.  Prepare는 DB에게 자기가 실행할 SQL 문장을 던져주고 미리 실행 플랜을 준비하도록 합니다. binding 할 값이 없다면 prepare 하지 않고 곧바로 execute도 가능합니다만,	]]>
	</description>
	<pubDate>Wed, 08 Aug 2007 15:19:13 +0900</pubDate>
	<dc:creator><![CDATA[Tunned Life Algorithm]]></dc:creator>
</item>
<item>
	<title><![CDATA[Thread-safe(3) : Lock in SQLite]]></title>
	<link>http://eminency.egloos.com/3269927</link>
	<guid>http://eminency.egloos.com/3269927</guid>
	<description>
	<![CDATA[ 
무지무지 오랜만의 포스팅이군요. 별로 바쁘지도 않았던 거 같은데...ㅡㅡ  시간 날 때마다 SQLite 소스를 보는 터라 -아직도 많이 부족하지만- thread-safe에 대한 포스팅을 몇 했던 만큼 SQLite의 Locking 메커니즘에 대해 간략히 적어볼까 합니다. 하지만 아시는 분은 다 아시듯 쓰고 보면 별로 안 간략하다는 거...   개  요  우선 DB에서의 lock이란 어떻게 보면 상당히 추상적인 개념이라고 할 수 있습니다. semaphore나 pthread의 mutex같은 것은 거의 가장 하위 레벨의 원자적인 락을 위한 구현이고, DB에서의 락은 이런 것들을 이용해 좀 더 고차원적인 동시성 제어를 구현한 것입니다. 그러므로 DB의 Lock과 OS 차원에서 말하는 세마포어나 뮤텍스 등등의 락은 의	]]>
	</description>
	<pubDate>Fri, 06 Jul 2007 13:56:49 +0900</pubDate>
	<dc:creator><![CDATA[Tunned Life Algorithm]]></dc:creator>
</item>
<item>
	<title><![CDATA[SQLite의 라이센스]]></title>
	<link>http://eminency.egloos.com/3219024</link>
	<guid>http://eminency.egloos.com/3219024</guid>
	<description>
	<![CDATA[ 
SQLite는 라이센스가 없습니다 -_-;; 아무렇게나 소스를 써도 됩니다. 개발자들이 존경스럽지요. 리눅스나 gcc 같은 것들은 GPL을 따르기 때문에 소스를 공개해야 된다는 제약이 있습니다. 그리고 BSD 라이센스는 아무렇게나 써도 되지만 라이센스는 명시해야 될 겁니다(아마도.. 기억이 잘..). 하지만 SQLite는 라이센스가 없기 때문에 정말로 '아무렇게나' 써도 됩니다.  소스 코드의 앞 부분에는 주석으로 다음과 같은 내용이 있습니다. hash.c의 내용입니다.  /* ** 2001 September 22 ** ** The author disclaims copyright to this source code.  In place of ** a legal notice, here is a blessing:	]]>
	</description>
	<pubDate>Fri, 08 Jun 2007 17:16:16 +0900</pubDate>
	<dc:creator><![CDATA[Tunned Life Algorithm]]></dc:creator>
</item>
<item>
	<title><![CDATA[[SQLite] 06. 자료넣기(txt 파일과 .import FILE TABLE 을 이용해서)]]></title>
	<link>http://nahanmil.egloos.com/2805438</link>
	<guid>http://nahanmil.egloos.com/2805438</guid>
	<description>
	<![CDATA[ 
  앞에서 insert into 를 이용한 데이터 넣는 방법을 배웠다. 자료가 1, 2 개 추가 할 때는 사용할 만 하나 자료의 양이 많아지면 일일이 손으로 자료 넣기가 어려워진다. 그리고 mysql 이나 엑셀로 작성된 파일이 있고 이를 SQLite 에 다시 넣으려고 할 때도 있다. 이럴 때는 자료를 txt 파일로 만들어서 SQLite 에서 읽어 들이면 된다.     보통, SQL을 지원하는 Database Management System 에서는 txt 형으로 파일을 만드는 것을 지원한다. 엑셀에서도 txt 형으로 파일을 만들수 있다. MySQL Tutorial에 있는 것처럼 SQLite 에서도 텍스트로 된 파일을 불러올 수 있다.     우선 테이블을 만들자.  ========================	]]>
	</description>
	<pubDate>Wed, 08 Nov 2006 18:02:41 +0900</pubDate>
	<dc:creator><![CDATA[토끼눈 비비며]]></dc:creator>
</item>
<item>
	<title><![CDATA[[SQLite] 05. 출력, 입력하는 모양 및 포멧 옵션 조절]]></title>
	<link>http://nahanmil.egloos.com/2786060</link>
	<guid>http://nahanmil.egloos.com/2786060</guid>
	<description>
	<![CDATA[ 
MySQL 을 사용하다가 SQLite 에서 들어있는 데이터를 확인할 때(select * from 문 이용할 때) 너무 단순하게 출력해서 이상하다가 생각하는 사람이 있을 것 같다. 그래서 SQLite 에서 이런 출력 모양을 예쁘게 만들어 주는 옵션들이 존재한다. 또 이 옵션들은 다음에 나오는 .import FILE TABLE 을 이용할 때  처럼 읽어 들일 때도 사용된다.    여기 부분은 당연히  표준 SQL  문이 아니다. 그래서 점(.) 으로 시작하고 세미코론(;) 을 끝에 찍으면 안된다.   이 내용은 SQLite 홈페이지  를 참조했다.      앞에서 만든 테이블을 기본으로 삼기로 하자. 우선 sqlite.exe 프로그래을 실행시키고, 다음처럼 입력하자. 약간 귀찮다면 그냥 복사 해서 넣자. (복사	]]>
	</description>
	<pubDate>Sun, 29 Oct 2006 22:09:05 +0900</pubDate>
	<dc:creator><![CDATA[토끼눈 비비며]]></dc:creator>
</item>
<item>
	<title><![CDATA[[SQLite] 04. 자료넣기(insert into)]]></title>
	<link>http://nahanmil.egloos.com/2785193</link>
	<guid>http://nahanmil.egloos.com/2785193</guid>
	<description>
	<![CDATA[ 
데이터 베이스를 이용하기 위해서는 당연히 Table 을 만든 후 사용할 자료를 넣어야 한다. 이 때 사용하는 구문이 insert into 이다.       실습을 위해 다시 프로그램을 인수없이(더블클릭해서) 실행시켜보자. 지난 번에 사용한 테이블을 다시 사용해 보겠다. ==================================================================== sqlite&amp;gt; CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(2), birth DATE, death DATE); =======================================================	]]>
	</description>
	<pubDate>Sun, 29 Oct 2006 12:15:15 +0900</pubDate>
	<dc:creator><![CDATA[토끼눈 비비며]]></dc:creator>
</item>
<item>
	<title><![CDATA[[SQLite] 03. 테이블 생성(create table)]]></title>
	<link>http://nahanmil.egloos.com/2762737</link>
	<guid>http://nahanmil.egloos.com/2762737</guid>
	<description>
	<![CDATA[ 
  데이터 베이스 프로그램이라는 것은 당연히 데이터를 넣을 수 있어야 한다. 그러기 위해서는 Table 을 만들고 그 안에 어떠한 데이터를 넣을 것인지 정의해 놓아야 한다.     SQL 에 대해 모르는 사람을 위해 간단히 설명을 하면 우선 Table 을 만들어야 한다. Table 이 우리말로 표(도표)이다. 그래서 간단히 표라고 생각하면 된다. 그런데 SQL 안에 여러개의 표를 만들 수 있다. 다시말해 여러개의 데이터 묶음을 저장해 놓을 수 있다. 그래서 그 표에 이름을 붙여주어야 한다. 더 쉽게 생각하기 위해 표를 한 번의 번호 별로 있는 성적표라고 생각해 보자. 성적표 맨 첫 행은 이름, 수학, 영어, 이런 식으로 그 다음 행에 오는 것들의 성격을 넣어 났다. 이것이 열이름이다.  그리고 각 행은 번호	]]>
	</description>
	<pubDate>Wed, 18 Oct 2006 00:05:58 +0900</pubDate>
	<dc:creator><![CDATA[토끼눈 비비며]]></dc:creator>
</item>
<item>
	<title><![CDATA[[SQLite] 02. 간단한 select 문 사용방법 ]]></title>
	<link>http://nahanmil.egloos.com/2758144</link>
	<guid>http://nahanmil.egloos.com/2758144</guid>
	<description>
	<![CDATA[ 
  모든 sql 문은 끝이 ; (세미콜론)으로 끝나야 한다. 간혹가다 이걸 빼먹고 왜 안되냐고 탓하는 경우가 있다.     우선 SQLite 를 실행해 보자. 그냥 연습삼아 하는 것이니까 앞에서 말한 것 처럼, 파일을 만들 필요가 없다. 그래서 그냥 sqlite3.exe 를 콘솔에서 실행하거나 더블클릭해서 실행시켜보자. 우선  ========================= sqlite&amp;gt; ========================= sqlite&amp;gt; 라고 써 있는 부분옆에 커서가 깜박이는 것을 볼수 있다. 내가 예제를 보일 때 이 옆에 있는 내용은 내가 직접 친것이라는 뜻이다.    ...&amp;gt;  나 sqlite&amp;gt;   이것 옆에 있는 것도 내가 직접 친 것이다. 이 외는 자동으로 출력되는 것 	]]>
	</description>
	<pubDate>Mon, 16 Oct 2006 00:00:46 +0900</pubDate>
	<dc:creator><![CDATA[토끼눈 비비며]]></dc:creator>
</item>
	</channel>
</rss>