<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6838375132650503659</id><updated>2012-02-16T15:19:44.310+09:00</updated><category term='bcc32pch'/><category term='OnSysCommand'/><category term='Visual Studio'/><category term='bootcd'/><category term='ON_CONTROL_RANGE'/><category term='TSpeedButton'/><category term='Weaver RAD Studio'/><category term='메뉴추가'/><category term='관리자암호'/><category term='SQLite Dll'/><category term='AfxFormatString1'/><category term='문법 강조'/><category term='VK_SCROLL'/><category term='MySQL++'/><category term='GMP'/><category term='Virtual Keycode'/><category term='Access Password'/><category term='GmpMP3 v2'/><category term='SQLite for C++ Builder'/><category term='Tokenizing'/><category term='MySQL Connector C++'/><category term='VS2005 SP1 통합'/><category term='implib'/><category term='SetLayeredWindowAttributes'/><category term='Delphi Tweak'/><category term='굴림체'/><category term='음력양력 변환'/><category term='GExperts'/><category term='#pragma once'/><category term='xenotactic'/><category term='멤버함수'/><category term='subversion client'/><category term='Delphi Distiller'/><category term='MouseLeave'/><category term='SQLite Library for Visual C++'/><category term='#ifndef'/><category term='로컬 데이타베이스'/><category term='난수'/><category term='SQLite Create Function'/><category term='비트맵폰트'/><category term='byte order mark'/><category term='빌더'/><category term='굿모닝 팝스 재생기'/><category term='Visual C++ 9 2008'/><category term='RAD Studio 2007'/><category term='mp3player'/><category term='Subversion'/><category term='file extention'/><category term='굿모닝 팝스 MP3 다운로드'/><category term='VC++ 2005'/><category term='WM_HOTKEY'/><category term='CRT Function'/><category term='at'/><category term='마우스이벤트무시'/><category term='Tips'/><category term='Vista GDIPlus'/><category term='Example code'/><category term='CUI'/><category term='WM_MOUSELEAVE'/><category term='Unicode'/><category term='DelphiDistiller'/><category term='UpdateUI Handler'/><category term='Firefox'/><category term='Drag &amp;amp; Drop'/><category term='OpenCV DLL'/><category term='리스트 배경색'/><category term='MDI'/><category term='CommandLineToArgv'/><category term='MySQL Connector/C++ Library'/><category term='작업표시줄'/><category term='mp3'/><category term='동영상정보'/><category term='SQLite Library for C++ Builder'/><category term='화면보호기'/><category term='RAD Studio 2009'/><category term='WideCharToMultiByte'/><category term='무료 프로그램'/><category term='Vista'/><category term='Inside C#'/><category term='CImageList'/><category term='중복실행방지'/><category term='Microsoft'/><category term='cryptography'/><category term='시작프로그램'/><category term='라눅스'/><category term='로컬 데이터베이스'/><category term='auto_ptr'/><category term='OpenCV'/><category term='암호변경'/><category term='SVN Client'/><category term='Window Handle'/><category term='번역문서'/><category term='개발툴'/><category term='Float Validation'/><category term='tray'/><category term='굿모닝 팝스'/><category term='시스템메뉴'/><category term='공익근무요원'/><category term='Exception'/><category term='델파이 2008'/><category term='ScrollView'/><category term='plugin'/><category term='ssh server'/><category term='MS CryptoAPI'/><category term='구조체 크기'/><category term='Hiren&apos;s BootCD 9.4'/><category term='나눔 고딕'/><category term='C++ IDE'/><category term='Building System'/><category term='Visual C++ 8 2005'/><category term='AfxFormatString2'/><category term='찐쌀'/><category term='개발자용 굴림체'/><category term='대화상자 스크립트 에러'/><category term='암호화'/><category term='ASCII'/><category term='TransparentBlt'/><category term='확장자 검색'/><category term='ssh'/><category term='MainFormOnTaskBar'/><category term='헤더 중복 방지'/><category term='AVIConverter'/><category term='Code::Blocks'/><category term='freeware'/><category term='Registry'/><category term='TrackMouseEvent'/><category term='SQLite Spy'/><category term='Computer Vision'/><category term='TTN_NEEDTEXTA'/><category term='win64'/><category term='날짜변환'/><category term='RAD Studio Tweak'/><category term='CListCtrl'/><category term='유니코드'/><category term='MFC'/><category term='Thinking'/><category term='SQLite User Function'/><category term='sql'/><category term='Mencoder'/><category term='container'/><category term='SyntaxHighlighter 2.0'/><category term='문자를 날짜로'/><category term='samba'/><category term='boost library'/><category term='CString'/><category term='굿모닝팝스 MP3 재생기'/><category term='ModelRight 3 Community Edition'/><category term='DOS'/><category term='프린터 스풀러'/><category term='Delphi 2010'/><category term='이미지'/><category term='UTF8'/><category term='굿모닝 팝스 MP3'/><category term='MessageBoxTimeout'/><category term='Greenfish'/><category term='regedit'/><category term='C'/><category term='ISO 편집'/><category term='C++ Builder library'/><category term='Little Edian'/><category term='method'/><category term='grant'/><category term='음악'/><category term='Flash Game'/><category term='최상위 프로그램'/><category term='My Apps'/><category term='library'/><category term='windows 7'/><category term='대소문자변환'/><category term='SQLite library'/><category term='반투명윈도우'/><category term='CreateProcess'/><category term='Relo'/><category term='엑세스파일 암호'/><category term='LayeredWindow'/><category term='WinAPI'/><category term='윈도우 모양'/><category term='비스타'/><category term='DAO'/><category term='xml'/><category term='삽질'/><category term='Launchy'/><category term='VAX'/><category term='GmpMP3'/><category term='Delphi v14.0.3391.20582'/><category term='프로그램 런쳐'/><category term='VisualStudio'/><category term='Version Control'/><category term='아이뮤즈'/><category term='TidHTTP'/><category term='className'/><category term='struct'/><category term='Replace'/><category term='프로그래머를 위한 폰트'/><category term='ON_UPDATE_COMMAND_UI_RANGE'/><category term='CVSNT 설정'/><category term='Windows 7 x64'/><category term='LoadCursor'/><category term='투명이미지'/><category term='아이콘 편집'/><category term='검색사이트'/><category term='cvsnt'/><category term='하하'/><category term='NO_WIN32_LEAN_AND_MEAN'/><category term='STL'/><category term='무료프로그램'/><category term='Product'/><category term='swf'/><category term='MouseEnter'/><category term='partition'/><category term='XP암호초기화'/><category term='Toad Data Modeler'/><category term='사랑밭 새벽편지'/><category term='VisualSVN'/><category term='remove'/><category term='Google Chart'/><category term='키입력다운'/><category term='폰트 연결'/><category term='코딩용 폰트'/><category term='복구프로그램'/><category term='MDB'/><category term='투명윈도우'/><category term='Shell API'/><category term='#pragma'/><category term='동영상변환'/><category term='Hiren&apos;s BootCD'/><category term='파이어폭스 3 베타 4'/><category term='Inside C Sharp'/><category term='Nothing'/><category term='map'/><category term='URLDownloadToFile'/><category term='Free Database'/><category term='firefox3'/><category term='firefox3 beta4'/><category term='VK_CAPITAL'/><category term='Delphi 2009'/><category term='Delphi 2009 Trial'/><category term='파일버전'/><category term='Merge Tracking'/><category term='free SVN'/><category term='델파이'/><category term='OpenCV Library'/><category term='download'/><category term='SQLite Static Library'/><category term='CURSOR'/><category term='SubVersion Server'/><category term='avi'/><category term='9Down.com'/><category term='C++ Builder 2009 Bug'/><category term='블럭암호알고리즘'/><category term='폰트'/><category term='고정폭 폰트'/><category term='단축키'/><category term='vector'/><category term='Boost 1.36'/><category term='TXMLDocument'/><category term='Rstudio'/><category term='Menu'/><category term='user32.dll'/><category term='Visual Assist X'/><category term='MDB Password'/><category term='ModelRight 3'/><category term='cvs'/><category term='bcc 5.5'/><category term='데이터베이스'/><category term='prepareStatement'/><category term='Delphi 2007'/><category term='GoodMorning Pops'/><category term='php'/><category term='바닥'/><category term='Tahoma'/><category term='만세력'/><category term='권한설정'/><category term='Modeling'/><category term='음력양력'/><category term='숫자'/><category term='chart'/><category term='OpenSource'/><category term='taskbar'/><category term='iCon'/><category term='Algorithm'/><category term='END'/><category term='DelphiSpeedUp'/><category term='모료 SVN 서버'/><category term='AIMP2'/><category term='구조체 메모리 영역'/><category term='SQLite for Visual C++'/><category term='ProcessID'/><category term='Nero Micro'/><category term='Visual Assist'/><category term='Delphi 2008'/><category term='vfw'/><category term='Safety Function'/><category term='Unicode Project'/><category term='Animation Cursor'/><category term='키보드상태'/><category term='Gulim'/><category term='SHDeleteKey'/><category term='Vista Icon'/><category term='프로그래밍'/><category term='Drop File'/><category term='TApplication'/><category term='문자변환'/><category term='Global Hotkey'/><category term='Connector/C++'/><category term='Bom'/><category term='Prof-UIS'/><category term='AlphaBlend'/><category term='버전관리'/><category term='api'/><category term='service'/><category term='VCL'/><category term='플래시플레이어'/><category term='array'/><category term='win32'/><category term='Registry Merge'/><category term='Delphi 2009 Bug'/><category term='SQLite Compile'/><category term='레지스트리 병합'/><category term='Embarcadero'/><category term='RegisterHotKey'/><category term='Foxit Reader'/><category term='Color Picker'/><category term='Command line'/><category term='서브버전'/><category term='Delphi'/><category term='c++0x'/><category term='Dilation'/><category term='ON_COMMAND_RANGE'/><category term='SyntaxHighlighter'/><category term='Dialog Box'/><category term='아이콘 편집기'/><category term='CStatusBar text'/><category term='strtok'/><category term='Link32 error'/><category term='system'/><category term='GlobalAddAtom'/><category term='지운파일복구'/><category term='PDF'/><category term='GetWindowThreadProcessId'/><category term='rand'/><category term='CP_UTF8'/><category term='CTimeSpan'/><category term='Erosion'/><category term='format'/><category term='마우스커서'/><category term='Andale Mono 9pt'/><category term='Turbo C++ Explorer'/><category term='libra'/><category term='Com. Story'/><category term='구글툴바'/><category term='asterisk'/><category term='Nero Burning ROM'/><category term='이미지 투명처리'/><category term='시스템 색상'/><category term='마우스이벤트'/><category term='한국정보보호진흥원'/><category term='GDI+'/><category term='My Components'/><category term='Boost'/><category term='FlexBuilder'/><category term='Mess'/><category term='Codegear'/><category term='sprintf'/><category term='MySQL Library'/><category term='24bit Image'/><category term='설문조사'/><category term='데이터베이스 모델링'/><category term='AfxExtractSubString'/><category term='TortoiseCVS'/><category term='English'/><category term='TTN_NEEDTEXT'/><category term='ISO'/><category term='TImageList'/><category term='UnRegisterHotKey'/><category term='Good Morning Pops'/><category term='Indy'/><category term='diskpart'/><category term='WM_MOUSEHOVER'/><category term='MU908'/><category term='GetMessageString'/><category term='IT Story'/><category term='굿모닝팝스'/><category term='MySQL 모델링'/><category term='SS_NOTIFY'/><category term='C++ Builder 2007'/><category term='xcopy'/><category term='VK_NUMLOCK'/><category term='popup menu'/><category term='SVN 호스팅'/><category term='바닥설정'/><category term='64비트'/><category term='access'/><category term='Programer&apos;s font'/><category term='동적배열'/><category term='ico'/><category term='클립보드'/><category term='Database Modeling'/><category term='Turbo C++'/><category term='SQLite for C++Builder'/><category term='음악플레이어'/><category term='login'/><category term='Andale Mono'/><category term='sqlite'/><category term='Dialog'/><category term='티스토리 버그'/><category term='Second Edition'/><category term='안혜경'/><category term='Tahoma 보이게 하기'/><category term='CTime'/><category term='VisualSVN Server'/><category term='ARIA'/><category term='Free IDE'/><category term='Google'/><category term='Icon Editor'/><category term='SVN Server'/><category term='명령행 인터페이스'/><category term='C++ Builder 2009'/><category term='USES_CONVERSION'/><category term='gdiplus.dll'/><category term='Linux'/><category term='MFC8'/><category term='진짜만세력'/><category term='GetCommandLine'/><category term='GetFileVersionInfo'/><category term='MultiByteToWideChar'/><category term='Write in C'/><category term='srand'/><category term='Inside C# 2nd'/><category term='clipboard'/><category term='Regular Expression'/><category term='C++ Builder'/><category term='시스템 정보'/><category term='CVSNT 설치'/><category term='RAD Studio 2009 IDE Patch'/><category term='TrayTopper'/><category term='서비스'/><category term='9.4'/><category term='버전관리시스템'/><category term='MS Build'/><category term='C++ Builder 2009 Trial'/><category term='TEdit'/><category term='nProtect'/><category term='Drive letter'/><category term='BoostPro Free'/><category term='MySQL Connector/C++ 컴파일 하기'/><category term='Caption Bar Dragging'/><category term='재배포 가능 패키지'/><category term='date'/><category term='WIN32 API &amp;amp; MFC'/><category term='로컬데이터베이스'/><category term='MSDN Magazine'/><category term='MSDN'/><category term='GetKeyState'/><category term='Apps'/><category term='Beta'/><category term='Nero Lite'/><category term='Structuring element'/><category term='암호'/><category term='RAD Studio'/><category term='프린터 서비스'/><category term='gdiplus'/><category term='badak preset'/><category term='prepared statement'/><category term='xp'/><category term='google toolbar'/><category term='CDialogBar'/><category term='Visual Component Library'/><category term='Flex3'/><category term='IDE Fix Pack'/><category term='win32API'/><category term='런쳐'/><category term='MySQL'/><category term='Resource'/><category term='rbegin'/><category term='사용자 검색 사이트 추가'/><category term='game'/><category term='대화상자 Script Error'/><category term='CryptoAPI'/><category term='Local Database'/><category term='phpinfo'/><category term='Active Password Changer'/><category term='바로가기'/><category term='무료 SVN'/><category term='#pragma comment'/><category term='Visual C++'/><category term='TortoiseSVN'/><category term='ms access'/><category term='팝업메뉴'/><category term='DBMS'/><category term='free svn hosting'/><category term='Multiboot CD'/><category term='#pragma link'/><category term='MySQL Library for Visual Studio 2005'/><category term='SetClassLong'/><category term='MySQL Connector/C++'/><category term='std::string'/><category term='CStatic'/><category term='Indy 10'/><category term='MySQL Workbench'/><category term='std::out_of_range'/><category term='Prompt String'/><category term='openGL'/><category term='TTN_NEEDTEXTW'/><category term='Font'/><category term='format string'/><category term='string'/><category term='C++'/><category term='Morphology'/><category term='find'/><category term='2차원배열'/><category term='커서바꾸기'/><category term='검색사이트 플러그인'/><category term='hotkey'/><category term='Mouse Notify'/><category term='라이센스'/><category term='SEED'/><category term='VerQueryValue'/><category term='아내에게 쓰는 편지'/><category term='프린터'/><category term='2차원동적배열'/><category term='badak'/><category term='메세지박스'/><category term='database'/><category term='레지스트리'/><category term='Erase'/><category term='SetCursor'/><category term='undelete'/><category term='std::tranform'/><category term='MFC Class'/><category term='C++ Programming'/><category term='무한도전'/><category term='나눔고딕 코딩폰트'/><category term='굿모닝팝스 재생기'/><category term='BoostPro'/><category term='예제코드'/><category term='ghost'/><category term='Deprecated Function'/><category term='swf player'/><category term='Source Code'/><category term='아내에게'/><category term='Mac Icon'/><category term='명령행 인자 분석'/><category term='MP3 플레이어'/><category term='CHM 보안설정'/><category term='굿모닝팝스 RSS'/><category term='다운로드'/><category term='Random Number'/><category term='Simple Database'/><category term='UpdateCommandUI Handler'/><category term='계정 감추기'/><category term='SVN'/><category term='프로그램 감추기'/><category term='Library link'/><category term='AnkhSVN'/><category term='IBindStatusCallback'/><category term='런쳐 프로그램'/><category term='Dev Story'/><category term='SHBrowseForFolder'/><title type='text'>NeoDreamer's DevCube</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default?start-index=101&amp;max-results=100'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>308</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4185986027169035957</id><published>2009-07-22T17:20:00.000+09:00</published><updated>2011-01-30T14:09:22.206+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7 x64'/><category scheme='http://www.blogger.com/atom/ns#' term='windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>Windows 7 에서의 RAD Studio 2009 버그 해결 방법!!</title><content type='html'>얼마전 새로운 운영체제인 Windows 7 에서 C++ Builder 2009 사용시 발생하는 문제에 대하여 글을 쓴 적이 있는데 오늘 RSS Reader 를 탐독하다 해결책에 대한 글을 발견했다.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://cfile22.uf.tistory.com/original/160C0A1B49E76E1E02ADA8" rel="lightbox" target="_blank"&gt;&lt;img src="http://cfile22.uf.tistory.com/image/160C0A1B49E76E1E02ADA8" alt="" border="0" height="173" width="335"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="/291"&gt;2009/04/17 - [Dev Story/Mess] - C++ Builder 2009 Bug on Windows 7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이 방법은 DLL 파일 중 조건부 점프(JZ : 0x74)를 무조건 점프(JMP : 0xEB)로 바꾸는 것이다.&lt;br /&gt;&lt;br /&gt;1) bordbk***.dll 을 찾는다 ( Delphi 2007 의 경우 bordbk105.dll, Delphi 2009 의 경우 bordbk120n.dll 이다)&lt;br /&gt;2) 원본 파일을 백업해 두고 dll 파일을 Hex Editor로 연다.&lt;br /&gt;3) 다음 코드를 찾는다 (01 00 48 74 47 80 3D) 이 코드는 한번만 존재 한다.&lt;br /&gt;4) 찾은 코드 중 74 를 EB 로 바꾸고 저장한다.&lt;br /&gt;&lt;br /&gt;참고로 이 방법은 공식적인 방법이 아니란다.&lt;br /&gt;&lt;br /&gt;자료 출처 :&lt;br /&gt;&lt;a href="http://www.delphifeeds.com/go/f/58293" target="_blank"&gt;http://www.delphifeeds.com/go/f/58293&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://www.delphifeeds.com/go/f/58308]로 이동합니다." target="_blank" href="http://www.delphifeeds.com/go/f/58308"&gt;http://www.delphifeeds.com/go/f/58308&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4185986027169035957?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4185986027169035957/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/windows-7-%EC%97%90%EC%84%9C%EC%9D%98-rad-studio-2009-%EB%B2%84%EA%B7%B8-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4185986027169035957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4185986027169035957'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/windows-7-%EC%97%90%EC%84%9C%EC%9D%98-rad-studio-2009-%EB%B2%84%EA%B7%B8-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95.html' title='Windows 7 에서의 RAD Studio 2009 버그 해결 방법!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-183013101291029149</id><published>2009-07-21T13:11:00.000+09:00</published><updated>2011-01-30T14:09:22.148+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='헤더 중복 방지'/><category scheme='http://www.blogger.com/atom/ns#' term='#pragma once'/><category scheme='http://www.blogger.com/atom/ns#' term='#ifndef'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>헤더 중복 include 방지 #pragma once VS #ifndef ~</title><content type='html'>C++ 프로그래밍에서 헤더의 중복 #include 를 방지하는 방법으로 #pragma once 와 #ifndef 를 활용하는 방법이 있다. 이 두 방법은 모든 컴파일러에서  동작하는 것은 아니다.&lt;br /&gt;&lt;br /&gt;우선 사용법을 보면 #pragma once 의 경우 헤더의 상단에 한번 적용 하면 된다.&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;#pragma onceclass something{	int a;public:	something();	~something();	int getA( void ) { return a; };	void setA( int a1 ) { a = a1; };}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;그리고 #ifndef 를 활용하는 방법은 아래 처럼 define 이 되지 않았을 경우 지정된 값을 지정하여 이후에 다시 불러 들이는 것을 방지한다.&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;#ifndef __SOMETHING_H__#define __SOMETHING_H__class something{	int a;public:	something();	~something();	int getA( void ) { return a; };	void setA( int a1 ) { a = a1; };}#endif // __SOMETHING_H__&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;위 두 가지 방법은 여러가지 면에서 차이가 있다.&lt;br /&gt;&lt;br /&gt;우선 첫 번째의 경우인 #pragma once 의 경우 컴파일러 지시자로 이를 한번 인식한 후 다음부터 같은 파일의 경우 파일을 읽기조차 하지 않는다. 그래서 컴파일 단계의 파일 해석 단계는 두 번째 방법보다 빠르다. 하지만 컴파일러 지시자로 특정 컴파일러에서만 동작을 한다. 이 지시자는 Visual C++ 5.0 이상에서만 동작을 한다.&lt;br /&gt;&lt;br /&gt;두 번째의 경우 모든 컴파일러에서 동작을 하지만 헤더 파일을 여러번 include 를 할 경우 매번 헤더 파일을 열어서 define 여부를 확인해야 하기 때문에 컴파일 과정인 파일 해석 단계에서 첫 번째 방법보다 다소 느리다.&lt;br /&gt;&lt;br /&gt;두 가지 방법은 속도와 호환성 문제가 얽혀 있는데 무지 큰 프로젝트가 아닐 경우 속도에서는 크게 차이가 나지 않을 것 같고 Visual C++ 에서만 작업하는 것이 아니라면 호환성을 고려하여 두번째 방법을 사용하는 것이 좋아 보인다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-183013101291029149?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/183013101291029149/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/%ED%97%A4%EB%8D%94-%EC%A4%91%EB%B3%B5-include-%EB%B0%A9%EC%A7%80-pragma-once-vs-ifndef.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/183013101291029149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/183013101291029149'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/%ED%97%A4%EB%8D%94-%EC%A4%91%EB%B3%B5-include-%EB%B0%A9%EC%A7%80-pragma-once-vs-ifndef.html' title='헤더 중복 include 방지 #pragma once VS #ifndef ~'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7009985139926204127</id><published>2009-07-21T12:19:00.000+09:00</published><updated>2011-01-30T14:09:22.085+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='구조체 크기'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='struct'/><category scheme='http://www.blogger.com/atom/ns#' term='method'/><category scheme='http://www.blogger.com/atom/ns#' term='구조체 메모리 영역'/><category scheme='http://www.blogger.com/atom/ns#' term='멤버함수'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>구조체 크기로 삽질하다</title><content type='html'>무심코 사용하는 구조체에 포함 된 함수로 메모리를 객체 수 만큼 차지 하는게 아닐까 하는 의심이 들어 테스트 해 보았다.&lt;br /&gt;&lt;br /&gt;같은 멤버 변수를 갖는 구조체 두개를 선언하고 둘 중 하나에는 함수를 몇 개 추가하고 객체를 만들었을때 생성되는 메모리 위치를 비교해 보았다. 의심과는 다르게 메모리에 생성되는 구조체 객체는 함수에 대한 메모리 차지는 없었다. &lt;br /&gt;&lt;br /&gt;virtual 함수의 경우 조금 다르다 하는데 그 부분은 좀 더 공부를 해 봐야겠다. (역시 기본이 중요한 것 같다.)&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="10"&gt;    struct TEST    {        int a;        int b;        int c;        int d;        int e;        int f;    };    struct TEST2    {        int a;        int b;        int c;        int d;        int e;        int f;        TEST2()        {            a = 0;            b = 1;            c = 2;            d = 3;            e = 4;            f = 5;        }        void Init()        {            a = b = c = d = e = f = 0;        }        int GetA() { return a; };        int GetB() { return b; };        int GetC() { return c; };        int GetD() { return d; };        int GetE() { return e; };        int GetF() { return f; };    };    int nSizeFunc1 = (int)sizeof(TEST); // 24    int nSizeFunc2 = (int)sizeof(TEST2); // 24    TEST *s1_1 = new TEST;    TEST *s1_2 = new TEST;    TEST2 *s2_1 = new TEST2;    TEST2 *s2_2 = new TEST2;    TEST tt1[5];    for ( int i = 0; i &amp;lt; 5; ++i )    {        TRACE( "%d =&amp;gt; %p\n", i, tt1 + i );    }// Output0 =&amp;gt; 0018F5E01 =&amp;gt; 0018F5F82 =&amp;gt; 0018F6103 =&amp;gt; 0018F6284 =&amp;gt; 0018F640    TEST2 tt2[5];    for ( int i = 0; i &amp;lt; 5; ++i )    {        TRACE( "%d =&amp;gt; %p\n", i, tt2 + i );    }// Output0 =&amp;gt; 0018F5541 =&amp;gt; 0018F56C2 =&amp;gt; 0018F5843 =&amp;gt; 0018F59C4 =&amp;gt; 0018F5B4&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&amp;amp;db=bcb_qna&amp;amp;no=57647" target="_blank"&gt;이 문제에 대한 Borland Forum 의 Lyn님의 답변&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7009985139926204127?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7009985139926204127/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/%EA%B5%AC%EC%A1%B0%EC%B2%B4-%ED%81%AC%EA%B8%B0%EB%A1%9C-%EC%82%BD%EC%A7%88%ED%95%98%EB%8B%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7009985139926204127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7009985139926204127'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/%EA%B5%AC%EC%A1%B0%EC%B2%B4-%ED%81%AC%EA%B8%B0%EB%A1%9C-%EC%82%BD%EC%A7%88%ED%95%98%EB%8B%A4.html' title='구조체 크기로 삽질하다'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7565334854490904959</id><published>2009-07-18T10:20:00.000+09:00</published><updated>2011-01-30T14:09:22.033+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Regular Expression'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Float Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Float 형 문자열 검증하기</title><content type='html'>문자열이 Float 형 데이터가 맞는지 확인을 해야 했다.&lt;br /&gt;&lt;br /&gt;가장 간단하고 확실한 방법은 정규식(Regular Expression)을 사용하면 될 것 같은데 문제는 MFC에서 정규식 라이브러리를 찾을 수 없다는 것이다. boost 라이브러리를 이용할 수도 있지만 현재 프로젝트에 추가 계획이 없어  검증하는 루틴을 만들어 보았다.&lt;br /&gt;&lt;br /&gt;지수형 데이터 검증할 수 있어야 하지만 우선 단순 Float 형을 기준으로 검증 루틴을 만을어 보았다.&lt;br /&gt;&lt;br /&gt;유효한 Float 형 문자열이 부호로 시작할 수 있으며 단 하나의 소수점만 갖고 있을 수 있다는 조건하에 구현하였다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;	bool bDotFound = false;	for ( int digit = 0; digit &amp;lt; strData.GetLength(); ++digit )	{		TCHAR ch = strData[ digit ];		// 시작이 아닌 곳에 부호가 나타날 경우		if ( digit != 0 &amp;amp;&amp;amp; ( ch == _T('+') || ch == _T('-') ) )		{			return false;		}		// 소수점에 대한 처리		if ( ch == _T('.') )		{			if ( bDotFound )			{				return false;			}			bDotFound = true;		}		// Float 형 문자열이 갖을 수 없는 문자열을 갖고 있을 경우		if (( ch &amp;lt; _T('0') || ch &amp;gt; _T('9')) &amp;amp;&amp;amp; ch != _T('.') &amp;amp;&amp;amp; ch != _T('+') &amp;amp;&amp;amp; ch != _T('-'))		{			return false;		}	}	return true;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;지수형(-123.45e-3)을 포함한 검증 루틴은 나중에 한번 만들어 보아야 겠다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7565334854490904959?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7565334854490904959/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/float-%ED%98%95-%EB%AC%B8%EC%9E%90%EC%97%B4-%EA%B2%80%EC%A6%9D%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7565334854490904959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7565334854490904959'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/float-%ED%98%95-%EB%AC%B8%EC%9E%90%EC%97%B4-%EA%B2%80%EC%A6%9D%ED%95%98%EA%B8%B0.html' title='Float 형 문자열 검증하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5825783199194654883</id><published>2009-07-09T00:20:00.000+09:00</published><updated>2011-01-30T14:09:21.975+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Compile'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Dll'/><title type='text'>SQLite 컴파일하기 ( DLL 만들기 )</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;SQLite 홈페이지를 방문하면 동적 라이브러리(DLL) 파일(sqlite3.dll)을 쉽게 다운로드 받을 수 있다. 정적 라이브러리를 만들때나 직접 컴파일을 하였는데 64비트용 프로그램 개발에 필요하여 64비트 환경에서 만들어진 dll이 필요하여 컴파일 방법을 찾아 보았는데 정보가 많지 않았다.&lt;br /&gt;&lt;br /&gt;어렵사리 찾아서 정리를 해 보았다.&lt;br /&gt;&lt;br /&gt;준비물&lt;br /&gt; &amp;nbsp; &amp;nbsp;sqlite-source-3_6_16.zip&lt;br /&gt; &amp;nbsp; &amp;nbsp;sqlitedll-3_6_16.zip&lt;br /&gt; &amp;nbsp; &amp;nbsp;C++ Compiler ( Visual C++ 2005 )&lt;br /&gt;&lt;br /&gt;우선 Visual C++ 2005에서 Win32 프로젝트 생성하고 응용프로그램 설정을 아래와 같이 종류를 DLL로 설정하고 추가 옵션에 "빈 프로젝트"로 설정한다. &lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XPZxUXgCcB.PNG" style="width:620px;height:389px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XPZxUXgCcB.PNG')" /&gt;&lt;/div&gt;&lt;br /&gt;생성된 프로젝트 폴더에 sqlite 소스 파일(sqlite-source-3_6_16.zip)을 풀어 놓고 sqlitedll-3_6_16.zip 파일에서 sqlite3.def 파일을 프로젝트 폴더에 풀어 놓는다.&lt;br /&gt;&lt;br /&gt;프로젝트에 sqlite 소스 파일을 추가한다. 그리고 tclsqlite.c 와 shell.c 파일을 프로젝트에서 제거한다.&lt;br /&gt;&lt;br /&gt;프로젝트 속성 페이지의 링크 메뉴의 입력 메뉴에서 모듈 정의 파일 항목에 sqlite3.def 로 설정한다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XY6jJUGOwx.PNG" style="width:620px;height:400px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XY6jJUGOwx.PNG')" /&gt;&lt;/div&gt;&lt;br /&gt;위의 설정만으로 빌드를 하면 아래와 같은 링크 에러를 만나게 된다.&lt;br /&gt;1&amp;gt;fts3_tokenizer.obj : error LNK2005: _sqlite3_api이(가) fts3.obj에 이미 정의되어 있습니다.&lt;br /&gt;1&amp;gt;rtree.obj : error LNK2005: _sqlite3_extension_init이(가) fts3.obj에 이미 정의되어 있습니다.&lt;br /&gt;1&amp;gt;rtree.obj : error LNK2005: _sqlite3_api이(가) fts3.obj에 이미 정의되어 있습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_column_database_name 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_column_database_name16 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_column_origin_name 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_column_origin_name16 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_column_table_name 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_column_table_name16 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;sqlite3.def : error LNK2001: sqlite3_table_column_metadata 외부 기호를 확인할 수 없습니다.&lt;br /&gt;1&amp;gt;D:\MyProject\VS\sqlite3\Debug\sqlite3.lib : fatal error LNK1120: 7개의 확인할 수 없는 외부 참조입니다.&lt;br /&gt;&lt;br /&gt;위의 에러들을 없애기 위해 아래 내용을 전처리기 정의에 설정한다.&lt;br /&gt; &amp;nbsp; &amp;nbsp;SQLITE_ENABLE_FTS3&lt;br /&gt; &amp;nbsp; &amp;nbsp;SQLITE_ENABLE_RTREE&lt;br /&gt; &amp;nbsp; &amp;nbsp;SQLITE_ENABLE_COLUMN_METADATA&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/Xb8M0JTFLG.PNG" style="width:516px;height:335px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;마지막으로 sqlite3ext.h 내용 중 일부를 수정한다.&lt;br /&gt;&lt;br /&gt;원본 : #define SQLITE_EXTENSION_INIT1 &amp;nbsp; &amp;nbsp; const sqlite3_api_routines *sqlite3_api = 0;&lt;br /&gt;수정 : #define SQLITE_EXTENSION_INIT1 &amp;nbsp; &amp;nbsp; const sqlite3_api_routines *sqlite3_api;&lt;br /&gt;&lt;br /&gt;최종 빌드한다.&lt;br /&gt;&lt;br /&gt;위의 내용은 32비트에서 진행된 내용이다. 64비트용이라고 크게 다른건 아니고 구성 관리자에서 Win32 구성을 복사하여 x64구성을 만들고 전치리기 설정에서 WIN32를 WIN64로 바꾸면 된다.&lt;br /&gt;&lt;br /&gt;실제 동작 여부는 아직 테스트 해보지 않았다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5825783199194654883?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5825783199194654883/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/sqlite-%EC%BB%B4%ED%8C%8C%EC%9D%BC%ED%95%98%EA%B8%B0-dll-%EB%A7%8C%EB%93%A4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5825783199194654883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5825783199194654883'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/07/sqlite-%EC%BB%B4%ED%8C%8C%EC%9D%BC%ED%95%98%EA%B8%B0-dll-%EB%A7%8C%EB%93%A4%EA%B8%B0.html' title='SQLite 컴파일하기 ( DLL 만들기 )'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8266571052297991853</id><published>2009-06-29T09:01:00.000+09:00</published><updated>2011-01-30T14:09:21.913+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>무료 로컬데이터베이스 SQLite Release 3.6.16</title><content type='html'>이번 버전에서 바뀐 내용&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2009 June 27 (3.6.16)&lt;ul&gt;&lt;li&gt; Fix a bug (ticket #3929) that occasionally causes INSERTor UPDATE operations to fail on an indexed table that has aself-modifying trigger.&lt;/li&gt;&lt;li&gt; Other minor bug fixes and performance optimizations. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.sqlite.org/"&gt;SQLite Homepage&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.sqlite.org/download.html"&gt;SQLite Download Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8266571052297991853?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8266571052297991853/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sqlite-release-3616.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8266571052297991853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8266571052297991853'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sqlite-release-3616.html' title='무료 로컬데이터베이스 SQLite Release 3.6.16'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7600860797025333594</id><published>2009-06-25T09:33:00.000+09:00</published><updated>2011-01-30T14:09:21.847+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inside C# 2nd'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Inside C Sharp'/><category scheme='http://www.blogger.com/atom/ns#' term='Second Edition'/><category scheme='http://www.blogger.com/atom/ns#' term='Inside C#'/><title type='text'>무료 기술 서적 - Inside C# (한글 번역본)</title><content type='html'>MS에서 C#에 대하여 심도깊게 다룬 Inside C# Second Edition 의 한글 번역판을 공개하였다. 회사에서 C#으로 진행되고 있는 프로젝트로 있어 이 자료가 많이 유용할 것 같다.&lt;br /&gt;&lt;br /&gt;자료 출처 : http://www.microsoft.com/korea/msdn/vbrun/staythepath/additionalresources/InsideCSharp/default.aspx&lt;br /&gt;&lt;br /&gt;출처로 부터 발췌해 온 내용&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.microsoft.com/korea/msdn/VBRun/Art/InsideCSharp.jpg"&gt;&lt;/td&gt;&lt;td style="font-weight: normal;" valign="top"&gt;이책은 C# 언어의 내부 구조를 샅샅이 파헤치고, Microsoft .NET 플랫폼과 Microsoft Visual Studio.NET에 대한 최신 정보를 다룬다. 그리고 C# 예제 코드와 예제 응용 프로그램을 작성하여 손쉽게 개발 방법을 체득할 수 있게한다. 또한, 고급 기능도 빼놓지 않고 다루고 있어 C#을 어떻게 코딩해야 하는지, C#이 어떻게 흘러가는지 쉽게 이해할 수있다.&lt;/td&gt;&lt;/tr&gt;	    	  &lt;/tbody&gt;&lt;/table&gt;&lt;/b&gt;&lt;b&gt;	  &lt;table&gt;	  &lt;tbody&gt;&lt;tr&gt;		&lt;td&gt;			&lt;b&gt;이 책의 주요 학습 내용&lt;/b&gt;			&lt;br /&gt;&lt;br /&gt;			- C# 클래스 기초				&lt;ul style="font-weight: normal;"&gt;&lt;li&gt;C# 응용 프로그램 및 라이브러리 작성하기&lt;/li&gt;&lt;li&gt;.NET 타입 시스템&lt;/li&gt;&lt;li&gt;클래스와 구조체&lt;/li&gt;&lt;li&gt;메서드, 프로퍼티, 배열, 인덱서, 어트리뷰트&lt;/li&gt;&lt;li&gt;XSL 변환&lt;/li&gt;&lt;li&gt;인터페이스&lt;/li&gt;&lt;/ul&gt;			&lt;br /&gt;			- 코드 작성하기				&lt;ul style="font-weight: normal;"&gt;&lt;li&gt;수식과 연산자&lt;/li&gt;&lt;li&gt;프로그램 흐름 제어&lt;/li&gt;&lt;li&gt;String 다루기와 정규식&lt;/li&gt;&lt;li&gt;스트림을 이용한 파일 I/O&lt;/li&gt;&lt;li&gt;예외를 이용하여 오류 처리하기&lt;/li&gt;&lt;li&gt;연산자 오버로딩 및 사용자 정의 변환&lt;/li&gt;&lt;li&gt;위임(Delegate)과 이벤트 핸들러&lt;/li&gt;&lt;li&gt;XML을 이용한 문서화&lt;/li&gt;&lt;/ul&gt;			&lt;br /&gt;			- C#의 고급 기능			&lt;ul style="font-weight: normal;"&gt;&lt;li&gt;수치 연산과 Math 클래스&lt;/li&gt;&lt;li&gt;컬렉션과 객체 열거&lt;/li&gt;&lt;li&gt;다중 쓰레드 프로그래밍&lt;/li&gt;&lt;li&gt;리플렉션을 사용하여 메타데이터 정보 조회하기&lt;/li&gt;&lt;li&gt;결정론적 종료와 Dispose 패턴&lt;/li&gt;&lt;li&gt;메모리 고정 및 관리&lt;/li&gt;&lt;li&gt;C# 응용 프로그램에서 COM 사용하기&lt;/li&gt;&lt;li&gt;비관리 코드에서 .NET 컴포넌트 사용하기&lt;/li&gt;&lt;li&gt;보안&lt;/li&gt;&lt;/ul&gt;		&lt;/td&gt;	  &lt;/tr&gt;	  &lt;/tbody&gt;&lt;/table&gt;	  &lt;/b&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li class="gray"&gt;&lt;a target="_blank" style="font-weight: bold;" href="http://download.microsoft.com/download/4/4/7/447e2cf1-050a-4698-8961-a1c813133f55/Inside_C_sharp.zip"&gt;다운로드&lt;/a&gt;&lt;p&gt;	&lt;span style="color: rgb(0, 0, 0);"&gt;Inside C#_2E 한글번역본 다운로드 - 압축(ZIP) PDF문서 48.0MB&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7600860797025333594?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7600860797025333594/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/%EB%AC%B4%EB%A3%8C-%EA%B8%B0%EC%88%A0-%EC%84%9C%EC%A0%81-inside-c-%ED%95%9C%EA%B8%80-%EB%B2%88%EC%97%AD%EB%B3%B8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7600860797025333594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7600860797025333594'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/%EB%AC%B4%EB%A3%8C-%EA%B8%B0%EC%88%A0-%EC%84%9C%EC%A0%81-inside-c-%ED%95%9C%EA%B8%80-%EB%B2%88%EC%97%AD%EB%B3%B8.html' title='무료 기술 서적 - Inside C# (한글 번역본)'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6462225321929508696</id><published>2009-06-22T12:26:00.000+09:00</published><updated>2011-01-30T14:09:21.783+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>SQLite 3.6.15 Library</title><content type='html'>SQLite 3.6.15의 C++ Builder 와 Visual C++ 을 위한 라이브러리이다.&lt;br /&gt;&lt;br /&gt;각각의 압축파일에는 동적라이브러리과 정적라이브러리 그리고 헤더파일이 포함되어 있다.&lt;br /&gt;&lt;br /&gt;C++ Builder 용&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XcywxCGmk7.7z/SQLite3_v3.6.15_Libraries_For_CppBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.15_Libraries_For_CppBuilder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Visual C++ 용&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XLtnEw3ma6.7z/SQLite3_v3.6.15_Libraries_for_VisualCpp.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.15_Libraries_for_VisualCpp.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6462225321929508696?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6462225321929508696/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/sqlite-3615-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6462225321929508696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6462225321929508696'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/sqlite-3615-library.html' title='SQLite 3.6.15 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6971920632265771471</id><published>2009-06-16T11:35:00.000+09:00</published><updated>2011-01-30T14:09:21.727+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Simple Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>SQLite Release 3.6.15</title><content type='html'>오랜만에 SQLite 가 업데이트 되었다. &lt;br /&gt;3.6.11 버전 이전이나 3.6.14 또는 3.6.14.1 버전을 사용하고 있을경우 업그레이드를 권장하고 있다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;이번 버전에서 바뀐 내용 (Release 3.6.15 On 2009 June 15)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Refactor the internal representation of SQL expressions so that they use less memory on embedded platforms.&lt;/li&gt;&lt;li&gt; Reduce the amount of stack space used&lt;/li&gt;&lt;li&gt; Fix an 64-bit alignment bug on HP/UX and Sparc&lt;/li&gt;&lt;li&gt; The sqlite3_create_function() family of interfaces now return SQLITE_MISUSE instead of SQLITE_ERROR when passed invalid parameter combinations.&lt;/li&gt;&lt;li&gt; When new tables are created using CREATE TABLE ... AS SELECT ... the datatype of the columns is the simplified SQLite datatype (TEXT, INT, REAL, NUMERIC, or BLOB) instead of a copy of the original datatype from the source table.&lt;/li&gt;&lt;li&gt; Resolve race conditions when checking for a hot rollback journal.&lt;/li&gt;&lt;li&gt; The sqlite3_shutdown() interface frees all mutexes under windows.&lt;/li&gt;&lt;li&gt; Enhanced robustness against corrupt database files&lt;/li&gt;&lt;li&gt; Continuing improvements to the test suite and fixes to obscure bugs and inconsistencies that the test suite improvements are uncovering. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6971920632265771471?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6971920632265771471/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/sqlite-release-3615.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6971920632265771471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6971920632265771471'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/06/sqlite-release-3615.html' title='SQLite Release 3.6.15'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-604871101077706700</id><published>2009-05-09T13:12:00.000+09:00</published><updated>2011-01-30T14:09:19.702+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Library for Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Library for C++ Builder'/><title type='text'>SQLite 3.6.14 Library</title><content type='html'>&lt;span style="font-weight: bold;"&gt;For C++ Builder&lt;/span&gt;&lt;br /&gt;&lt;a style="" href="http://neodreamer.tistory.com/211" target="_blank"&gt;2008/12/07 - [Dev Story/Tips] - C++ Builder 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XApnBqhfOM.7z/SQLite3_v3.6.14_Library_for_CppBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.14_Library_for_CppBuilder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XIdA2imKZb.7z/SQLite3_v3.6.14_StaticLibrary_for_CppBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.14_StaticLibrary_for_CppBuilder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For&lt;span id="callbacknestneodreamertistorycom2897717" style="width: 1px; height: 1px; float: right;"&gt;&lt;embed allowscriptaccess="always" id="bootstrapperneodreamertistorycom2897717" src="../../../plugin/CallBack_bootstrapperSrc?nil_profile=tistory&amp;amp;nil_type=copied_post" wmode="transparent" type="application/x-shockwave-flash" enablecontextmenu="false" flashvars="&amp;amp;callbackId=neodreamertistorycom2897717&amp;amp;host=http://neodreamer.tistory.com&amp;amp;embedCodeSrc=http%3A%2F%2Fneodreamer.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fcfs.tistory.com%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D289%26callbackId%3Dneodreamertistorycom2897717%26destDocId%3Dcallbacknestneodreamertistorycom2897717%26host%3Dhttp%3A%2F%2Fneodreamer.tistory.com%26float%3Dleft" swliveconnect="true" height="1" width="1"&gt;&lt;/span&gt; Visual C++&lt;/span&gt;&lt;br /&gt;&lt;a style="" href="http://neodreamer.tistory.com/210" target="_blank"&gt;2008/12/07 - [Dev Story/Tips] - Visual C++ 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XFwHViWWfe.7z/SQLite3_v3.6.14_Library_for_VisualCpp.7z.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.14_Library_for_VisualCpp.7z.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XEAAjAjR1c.7z/SQLite3_v3.6.14_StaticLibrary_for_VisualCpp_win32.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.14_StaticLibrary_for_VisualCpp_win32.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XHlAUj1g2N.7z/SQLite3_v3.6.14_StaticLibrary_for_VisualCpp_win64.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.14_StaticLibrary_for_VisualCpp_win64.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-604871101077706700?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/604871101077706700/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/05/sqlite-3614-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/604871101077706700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/604871101077706700'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/05/sqlite-3614-library.html' title='SQLite 3.6.14 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-13136238859501466</id><published>2009-05-07T13:12:00.000+09:00</published><updated>2011-01-30T14:09:17.988+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>SQLite 3.6.14 Released!!</title><content type='html'>SQLite Release 3.6.14 On 2009 May 7 (3.6.14)&lt;br /&gt;&lt;ul&gt;    &lt;li&gt;Added the optional asynchronous VFS module.&lt;/li&gt;    &lt;li&gt;Enhanced the query optimizer so that virtual tables are able to make use of OR and IN operators in the WHERE clause.&lt;/li&gt;    &lt;li&gt;Speed improvements in the btree and pager layers.&lt;/li&gt;    &lt;li&gt;Added the SQLITE_HAVE_ISNAN compile-time option which will cause the isnan() function from the standard math library to be used instead of SQLite's own home-brew NaN checker.&lt;/li&gt;    &lt;li&gt;Countless minor bug fixes, documentation improvements, new and improved test cases, and code simplifications and cleanups. &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.sqlite.org/" target="_blank"&gt;SQLite&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/changes.html" target="_blank"&gt;SQLite Release Notes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite Download page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-13136238859501466?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/13136238859501466/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/05/sqlite-3614-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/13136238859501466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/13136238859501466'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/05/sqlite-3614-released.html' title='SQLite 3.6.14 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-3697336417380380373</id><published>2009-05-02T13:06:00.000+09:00</published><updated>2011-01-30T14:09:17.879+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++ Library'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.0.5 GA Library  with MySQL 5.1</title><content type='html'>MySQL Connector/C++ 는 MySQL 5.0 버전 이상에서 동작을 하며 5.1 버전에서 완벽하게 동작을 한다. 그래서 MySQL 5.1.34 버전을 사용하여 라이브러리를 만들어 보았다.&lt;br /&gt;&lt;br /&gt;다 만들고 난 후 5.0과 만든 Library와 비교를 해 보니 동적라이브러리는 차이가 없었지만 정적라이브러리는 약간 차이가 있었다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XJGjYeCYmm.7z/mysql_connector_cpp_1_0_5_ga_win32_vs2005_5134_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win32_vs2005_5134_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XLYRGk1xeQ.7z/mysql_connector_cpp_1_0_5_ga_win32_vs2005_5134_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win32_vs2005_5134_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XZehlMyZxs.7z/mysql_connector_cpp_1_0_5_ga_win64_vs2005_5134_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win64_vs2005_5134_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XO9vyZQzK5.7z/mysql_connector_cpp_1_0_5_ga_win64_vs2005_5134_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win64_vs2005_5134_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-3697336417380380373?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/3697336417380380373/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/05/mysql-connectorc-105-ga-library-with.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3697336417380380373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3697336417380380373'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/05/mysql-connectorc-105-ga-library-with.html' title='MySQL Connector/C++ 1.0.5 GA Library  with MySQL 5.1'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4217390806547762566</id><published>2009-04-30T09:47:00.000+09:00</published><updated>2011-01-30T14:09:17.806+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Weaver RAD Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi v14.0.3391.20582'/><category scheme='http://www.blogger.com/atom/ns#' term='Codegear'/><title type='text'>Delphi 2010 v14.0.3391.20582</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XWxrddRM8y.png" style="width:620px;height:483px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XWxrddRM8y.png')" /&gt;&lt;/div&gt;&lt;br /&gt;인터넷으로 우연히 Delphi 2010 버전에 대한 소식을 접하게 되었다.&lt;br /&gt;Delphi 2010 버전의 경우 64비트를 지원한다는데 상당히 기대 되는 버전 이었는데 벌써 베타 버전이 나온 듯 하다. 그래서 인터넷 사이트를 둘러 보았는데 Delphi 2010 버전에 대한 정보가 심심치 않게 올라오고 있었다.&lt;br /&gt;&lt;br /&gt;"Delphi 2010" 키워드 만으로는 검색되는 내용이 2010버전에서 지원되는 사항과 간단한 스크린 샷 정도인데 빌드 번호 "v14.0.3391.20582"로 검색을 해 보면 현재 누출된 베타 버전에 대한 정보도 찾을 수 있었다.&lt;br /&gt;&lt;br /&gt;대부분 중국사이트를 통해 누출이 되었는데 다운 받아서 설치를 해 봐야겠다.&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://www.google.co.kr/search?q=14.0.3391.20582&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a]로 이동합니다." target="_blank" href="http://www.google.co.kr/search?q=14.0.3391.20582&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a"&gt;구글의 "14.0.3391.20582" 검색 결과&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;검색 결과에 포함되어 있는 몇몇 사이트들&lt;br /&gt;http://hosxp.net/index.php?option=com_smf&amp;amp;Itemid=28&amp;amp;topic=9877.0&lt;br /&gt;http://hi.baidu.com/delphilee/blog/item/bbcac734e97f4546241f1437.html&lt;br /&gt;http://www.programbbs.com/bbs/printpage.asp?BoardID=12&amp;amp;id=19537&lt;br /&gt;http://bbs.2ccc.com/topic.asp?topicid=321057&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4217390806547762566?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4217390806547762566/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/delphi-2010-v140339120582.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4217390806547762566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4217390806547762566'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/delphi-2010-v140339120582.html' title='Delphi 2010 v14.0.3391.20582'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8282618808754384757</id><published>2009-04-27T20:54:00.000+09:00</published><updated>2011-01-30T14:09:17.644+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Good Morning Pops'/><category scheme='http://www.blogger.com/atom/ns#' term='GmpMP3 v2'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝팝스'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝 팝스 재생기'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝팝스 MP3 재생기'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝 팝스'/><category scheme='http://www.blogger.com/atom/ns#' term='My Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='GmpMP3'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝 팝스 MP3 다운로드'/><title type='text'>굿모닝팝스 MP3 재생및 다운로더 v2 build 16 (KBS TUNE 서비스 대응)</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XENjRDylg9.png" style="width:472px;height:113px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;이전에 공개한 굿모닝팝스 MP3 재생기에 불편한 점이 있어 아주 조금 수정한 버전이다.&lt;br /&gt;&lt;br /&gt;매일 이 프로그램을 이용하여 GMP를 들을 경우 매번 날짜를 선택한 후 재생을 눌러야했는데 이를 개선하여 프로그램 시작시나 리스트 새로고침 수행시 가장 첫 번째 목록을 자동으로 선택하여 재생만 누르면 바로 들을 수 있도록 수정하였다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XTaJQX1nrj.7z/GmpMP3v2b16.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; GmpMP3v2b16.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8282618808754384757?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8282618808754384757/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EA%B5%BF%EB%AA%A8%EB%8B%9D%ED%8C%9D%EC%8A%A4-mp3-%EC%9E%AC%EC%83%9D%EB%B0%8F-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%8D%94-v2-build-16-kbs-tune.html#comment-form' title='7개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8282618808754384757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8282618808754384757'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EA%B5%BF%EB%AA%A8%EB%8B%9D%ED%8C%9D%EC%8A%A4-mp3-%EC%9E%AC%EC%83%9D%EB%B0%8F-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%8D%94-v2-build-16-kbs-tune.html' title='굿모닝팝스 MP3 재생및 다운로더 v2 build 16 (KBS TUNE 서비스 대응)'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2596574730415127897</id><published>2009-04-27T16:26:00.000+09:00</published><updated>2011-01-30T14:09:17.584+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++ Library'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Library for Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.0.5 GA Library for VC++ 2005</title><content type='html'>얼마전 공개된 Connector/C++ 1.0.5 GA 버전의 라이브러리를 만들었다.&lt;br /&gt;&lt;br /&gt;1.0.4 버전 부터는 빌드된 바이너리 파일을 제공하고 있기는 하지만 내가 사용하기에는 문제가 있어 보여 직접 만들었다.&lt;br /&gt;&lt;br /&gt;공 개된 binary library를 이용하며 테스트 할 때, Release 모드에서는 문제가 없어 보이는데 Debug 모드에서 사용하려면 정상동작을 하지 않았다. 예전에도 비슷한 문제가 있었는데 Debug 모드에서는 Connector/C++ 또는 Debug 용 Dll 을 사용하면 문제가 없었는데 배포본에는 Debug 용이 포함되어 있지 않다. 설치 패키지(.msi)에는 포함되어 옵션으로 설정하여 설치할 수 있지만 이는 Visual Studio 2008용만 있고 Visual Studio 2005 용은 제공하지 않고 있다. 그래서 직접 작업을 하였다.&lt;br /&gt;&lt;br /&gt;환경은 Visual Studio 2005 와 CMake 2.6.3 그리고 MySQL 5.0.77 버전을 이용하였다. 그리고 각 압축파일에는 DLL 과 Library 그리고 소스가 포함되어 있다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XSDYTqz62w.7z/mysql_connector_cpp_1_0_5_ga_win32_vs2005_5077_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win32_vs2005_5077_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XS1TbIlajj.7z/mysql_connector_cpp_1_0_5_ga_win32_vs2005_5077_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win32_vs2005_5077_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XBm65THoD2.7z/mysql_connector_cpp_1_0_5_ga_win64_vs2005_5077_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win64_vs2005_5077_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XNNbbqHYoS.7z/mysql_connector_cpp_1_0_5_ga_win64_vs2005_5077_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_5_ga_win64_vs2005_5077_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2596574730415127897?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2596574730415127897/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/mysql-connectorc-105-ga-library-for-vc.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2596574730415127897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2596574730415127897'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/mysql-connectorc-105-ga-library-for-vc.html' title='MySQL Connector/C++ 1.0.5 GA Library for VC++ 2005'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4771136956491933689</id><published>2009-04-23T12:57:00.000+09:00</published><updated>2011-01-30T14:09:17.515+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='TApplication'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio'/><title type='text'>[VCL] 프로그램의 최소화(Minimize) 및 복구(Restore) 이벤트 잡기</title><content type='html'>VCL 의 TForm 에는 최소화(Minimize) 및 복구(Restore) 이벤트 핸들러가 없다. 그래서 TApplication 의 이벤트 핸들러를 이용해야 한다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;// Headervoid __fastcall OnAppMinimize(TObject *Sender);void __fastcall OnAppRestore(TObject *Sender);// Source__fastcall TfrmMain::TfrmMain(TComponent* Owner)	: TForm(Owner){	Application-&amp;gt;OnMinimize = OnAppMinimize;	Application-&amp;gt;OnRestore  = OnAppRestore;}void __fastcall TfrmMain::OnAppMinimize(TObject *Sender){	ShowMessage("App Minimized");}void __fastcall TfrmMain::OnAppRestore(TObject *Sender){	ShowMessage("App Restored");}&lt;/textarea&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4771136956491933689?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4771136956491933689/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vcl-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%98-%EC%B5%9C%EC%86%8C%ED%99%94minimize-%EB%B0%8F-%EB%B3%B5%EA%B5%ACrestore-%EC%9D%B4%EB%B2%A4%ED%8A%B8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4771136956491933689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4771136956491933689'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vcl-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%98-%EC%B5%9C%EC%86%8C%ED%99%94minimize-%EB%B0%8F-%EB%B3%B5%EA%B5%ACrestore-%EC%9D%B4%EB%B2%A4%ED%8A%B8.html' title='[VCL] 프로그램의 최소화(Minimize) 및 복구(Restore) 이벤트 잡기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5409392111013426</id><published>2009-04-22T09:46:00.000+09:00</published><updated>2011-01-30T14:09:17.455+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>드디어!! MySQL Connector/C++ 1.0.5 GA 릴리즈</title><content type='html'>Preview 버전을 공개한지 8개월 만에 정식판을 공개 하였다.&lt;br /&gt;&lt;br /&gt;Preview 버전부터 소스를 컴파일 하여 프로젝트에 사용해 왔는데 MySQL C API 를 사용하는 것 보다 사용하기 편하였다.&lt;br /&gt;&lt;br /&gt;JDBC 구조를 사용하여 JDBC를 사용해 본 사람에게는 보 다 더 가깝께 느껴질 수 있다.&lt;br /&gt;&lt;br /&gt;1.0.4 Beta 버전 부터 각 플랫폼의 컴파일러 마다 생성된 Binary를 지원해서 소스를 컴파일 해서 사용해야하는 불편이 사라졌다.&lt;br /&gt;&lt;br /&gt;그전에는 정적라이브러리에서 문제가 있어 보였는데 정식판을 어떠한지 확인을 해 보아야 겠다.&lt;br /&gt;&lt;br /&gt;MySQL Connector/C++ 1.0.5 GA (21.04.2009)&lt;ul&gt;    &lt;li&gt;Changed the interface of sql::ConnectionMetaData, sql::ResultSetMetaData and sql::ParameterMetaData to have a protected destructor. In this way the client code doesn't need, and won't be able, to destruct the metadata objects returned by the connector. The connector will handle their destruction. This enables statements like: connection-&amp;gt;getMetaData-&amp;gt;getSchema(); without the result of leaking memory because we lost the pointer returned by getMetaData(). (Lawrin, Andrey)&lt;/li&gt;    &lt;li&gt;Large overhaul of the code to improve the memory management to not leak in exceptional situations. Big improvement compared to Beta1. (Andrey)&lt;/li&gt;    &lt;li&gt;Fixed the interface of sql::Driver and sql::Connection so they accept the options map by alias instead of by value. (Andrey)&lt;/li&gt;    &lt;li&gt;Changed the return type of sql::SQLException::getSQLState() from std::string to const char &lt;/li&gt;&lt;li&gt;to be consistent with std::exception::what(). (Andrey)&lt;/li&gt;    &lt;li&gt;Implemented getResultSetType() and setResultSetType() for Statement. Used are TYPE_FORWARD_ONLY, which means unbuffered result set and TYPE_SCROLL_INSENSITIVE, which means buffered result set. (Andrey)&lt;/li&gt;    &lt;li&gt;Implemented getResultSetType() for PreparedStatement. The setter is not implemented because currently PreparedStatement can't do refetching and storing the result means the bind buffers will be correct. (Andrey)&lt;/li&gt;    &lt;li&gt;Added "defaultStatementResultType" to MySQL_Connection::setClientOption() as an option. Also the method now returns `sql::Connection *`. (Andrey)&lt;/li&gt;    &lt;li&gt;Added Result::getType() and implemented it in the three result set classes.(Andrey)&lt;/li&gt;    &lt;li&gt;Enabled tracing functionality when building with VC8 and up (VS2005 and up). (Andrey)&lt;/li&gt;    &lt;li&gt;Added better support for named pipes, on Windows. Use pipe:// and add the path to the pipe. Shared memory connections are currently not supported. (Andrey)&lt;/li&gt;    &lt;li&gt;Fixed a bug in MySQL_Connection::setSessionVariable() which led to exception being thrown. (Andrey) &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://forge.mysql.com/wiki/Connector_C%2B%2B" target="_blank"&gt;MySQL Connector/C++ Wiki&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/connector/cpp/1.0.html" target="_blank"&gt;MySQL Connector/C++ Download&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5409392111013426?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5409392111013426/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EB%93%9C%EB%94%94%EC%96%B4-mysql-connectorc-105-ga-%EB%A6%B4%EB%A6%AC%EC%A6%88.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5409392111013426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5409392111013426'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EB%93%9C%EB%94%94%EC%96%B4-mysql-connectorc-105-ga-%EB%A6%B4%EB%A6%AC%EC%A6%88.html' title='드디어!! MySQL Connector/C++ 1.0.5 GA 릴리즈'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6676810441528201142</id><published>2009-04-21T20:55:00.000+09:00</published><updated>2011-01-30T14:09:17.248+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Good Morning Pops'/><category scheme='http://www.blogger.com/atom/ns#' term='GmpMP3 v2'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝팝스'/><category scheme='http://www.blogger.com/atom/ns#' term='굿모닝 팝스'/><category scheme='http://www.blogger.com/atom/ns#' term='My Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='GmpMP3'/><title type='text'>굿모닝팝스 MP3 재생및 다운로더 v2 build 15 (KBS TUNE 서비스 대응)</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;예전에 만들어 놓은 굿모닝 팝스 MP3 다운로더는 KBS 의 TUNE 서비스로인해 단팥에서 제공하는 서비스가 종료되어 더이상 사용할 수 없게 되었다.&lt;br /&gt;&lt;br /&gt;몇 일 신경을 쓰지 못하다가 서비스가 변경된 걸 알게되어 다시 만들었다. 개인적으로 사용하려 만든거라 완성도는 그리 높지 않다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XXbasZ38zo.png" style="width:472px;height:113px;" alt="GmpMP3 메인화면"  /&gt;&lt;p class="cap1"&gt;GmpMP3 메인화면&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;프로그래밍 연습 삼아 만든 것으로 예전 소스를 조금만 바꾸면 되는 것을 다시 새로 만들어 보았다. XML 처리 루틴을 바꾸고 작업표시줄을 깔끔하게 하기 위해 트레이 아이콘을 지원하도록 만들어 보았다.&lt;br /&gt;&lt;br /&gt;사용법은 방송 목록에서 듣고 싶은 항목을 선택하여 &lt;span style="font-weight: bold;"&gt;재생&lt;/span&gt; 버튼을 누르기만 하면 된다. 다운로드 받으려면 &lt;span style="font-weight: bold;"&gt;다운로드&lt;/span&gt; 버튼을 이용하면 되고, 더욱 빨리 다운받기 위해 다른 다운로더에 복사할 다운로드 주소가 필요할 경우 &lt;span style="font-weight: bold;"&gt;주소복사&lt;/span&gt;를 이용하면 된다.&lt;br /&gt;&lt;br /&gt;설정 메뉴를 이용하면 RSS 정보와 간단한 UI 설정을 할 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XHXObNjiwm.png" style="width:437px;height:393px;" alt="GmpMP3 설정화면"  /&gt;&lt;p class="cap1"&gt;GmpMP3 설정화면&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XQ89CeS1mt.7z/GmpMP3v2b15.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; GmpMP3v2b15.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6676810441528201142?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6676810441528201142/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EA%B5%BF%EB%AA%A8%EB%8B%9D%ED%8C%9D%EC%8A%A4-mp3-%EC%9E%AC%EC%83%9D%EB%B0%8F-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%8D%94-v2-build-15-kbs-tune.html#comment-form' title='7개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6676810441528201142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6676810441528201142'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EA%B5%BF%EB%AA%A8%EB%8B%9D%ED%8C%9D%EC%8A%A4-mp3-%EC%9E%AC%EC%83%9D%EB%B0%8F-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%8D%94-v2-build-15-kbs-tune.html' title='굿모닝팝스 MP3 재생및 다운로더 v2 build 15 (KBS TUNE 서비스 대응)'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6496159281841453632</id><published>2009-04-21T12:35:00.000+09:00</published><updated>2011-01-30T14:09:17.156+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='TImageList'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Component Library'/><category scheme='http://www.blogger.com/atom/ns#' term='TSpeedButton'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>[VCL] TImageList 의 이미지를 TSpeedButton 에서 사용하기</title><content type='html'>TImageList는 여러 이미지를 담아두고 인덱스로 접근하여 사용할 수 있는 컴포넌트 이다. 이 TImageList 의 이미지를 TSpeedButton에 할당해 보았다.&lt;br /&gt;&lt;br /&gt;방법은 아주 간단하다. 아래의 한 줄짜리 코드가 그 것이다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;// ImageList 의 첫번째 인덱스(실제로는 두 번째)의 이미지를 // SpeedButton 에 할당한다.ImageList-&amp;gt;GetBitmap( 1, SpeedButton-&amp;gt;Glyph );&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;위의 코드는 ImageList 의 특정이미지를 SpeedButton 에 할당을 하는데 위와 같은 코드를 한 번 더 사용하여 다른 이미지를 할당하려 하면 되지 않았다.&lt;br /&gt;새로운 이미지를 할당하기 위해서는 TBitmap 포인터를 생성하고 포인터 값을 할당 한 후에 SpeedButton 의 Glyph 에 할당하면 된다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;Graphics::TBitmap* Bitmap = SpeedButton-&amp;gt;Glyph;ImageList-&amp;gt;GetBitmap( 2, Bitmap );SpeedButton-&amp;gt;Glyph = Bitmap;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;위의 코드 실행시 이미지를 바꿀 수 있다. 하지만 위의 코드도 문제가 있다. 배경이 투명한 이미지가 아닐 경우 덮어 씌우기 때문에 문제가 되지 않지만 아이콘과 같은 투명한 이미지를 적용시 이전 이미지가 남아 있는 문제가 있었다. 이를 해결하기 위해서 새로운 이미지를 할당하기 전에 SpeedButton 의 Glyph 에 NULL 을 할당하면 해결할 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;TEXTAREA name="code" class="cpp" rows=5 cols=30&gt;Graphics::TBitmap* Bitmap = SpeedButton-&gt;Glyph;SpeedButton-&gt;Glyph = NULL;ImageList-&gt;GetBitmap( 2, Bitmap );SpeedButton-&gt;Glyph = Bitmap;&lt;/TEXTAREA&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6496159281841453632?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6496159281841453632/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vcl-timagelist-%EC%9D%98-%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC-tspeedbutton-%EC%97%90%EC%84%9C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6496159281841453632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6496159281841453632'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vcl-timagelist-%EC%9D%98-%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC-tspeedbutton-%EC%97%90%EC%84%9C.html' title='[VCL] TImageList 의 이미지를 TSpeedButton 에서 사용하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4255593778321324893</id><published>2009-04-17T17:22:00.000+09:00</published><updated>2011-01-30T14:09:17.085+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Indy 10'/><category scheme='http://www.blogger.com/atom/ns#' term='TidHTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>C++ Builder 2009에서 TIdHTTP의 Get 함수를 이용시 한글 문제</title><content type='html'>새로 바뀐 굿모닝 팝스 RSS를 분석해 보기 위해서 Indy v10 컴포넌트의 TIdHTTP를 이용해 XML 문서를 가져왔는데 이상하게 한글이 깨져버렸다. RSS 인코딩은 euc-kr 이였고 TIdHTTP 의 Get 함수를 통해 얻은 결과가 UnicodeString 이라서 문제가 발생한게 아닌가하여 AnsiString 으로 바꾸어도 보았지만 한글이 비정상적으로 나왔다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;// strRSSUrl 의 소스 받기UnicodeString strXML = IdHTTP-&amp;gt;Get( strRSSUrl );&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;그래서 인터넷에서 관련 정보를 찾다가 일본 웹페이지에서 &lt;a href="http://totonica.s41.xrea.com/doc/delphi_tiburon/doc_thirdparty/tp_indy_getwithtencoding.htm" target="_blank"&gt;델파이를 사용할때 비슷한 문제가 발생하여 해결 했다는 글&lt;/a&gt;을 찾았다. 그 글을 참고하여 C++ Builder 로 바꾸어 보았다. 아래 코드가 바꾼 코드이다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;// Stream 으로 받아서 Encoding 을 하여 받는 방법    TMBCSEncoding* pEnc = new TMBCSEncoding( 949 );    TMemoryStream* pStream = new TMemoryStream();    IdHTTP-&amp;gt;Get( strRSSUrl, pStream );    pStream-&amp;gt;Position = 0;    TStrings* pStrXML = new TStringList();    pStrXML-&amp;gt;LoadFromStream( pStream, pEnc );    AnsiString strContentXML = AnsiString( pStrXML-&amp;gt;GetText() );    int size = strContentXML.Length();    pEnc-&amp;gt;Free();    pStream-&amp;gt;Free();    pStrXML-&amp;gt;Free();&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;위의 코드로 하니 한글이 깨지지 않았다. 그렇지만 완전한 해결책은 아닌 것 같다.&lt;br /&gt;&lt;br /&gt;두가지 방법으로 다른 웹페이지를 접근해 보았는데 Stream 으로 받아 Encode을 거쳐 받는 방법이 항상 한글이 정상적으로 보여지지는 않았다. 웹페이지의 인코딩 방법에 따른 것도 아닌 것 같고, 일단 GMP RSS 분석에서는 문제가 없었지만 깔끔하게 해결하기 위해서는 문제의 원인을 먼저 파악 해 보아야 겠다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4255593778321324893?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4255593778321324893/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/c-builder-2009%EC%97%90%EC%84%9C-tidhttp%EC%9D%98-get-%ED%95%A8%EC%88%98%EB%A5%BC-%EC%9D%B4%EC%9A%A9%EC%8B%9C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4255593778321324893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4255593778321324893'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/c-builder-2009%EC%97%90%EC%84%9C-tidhttp%EC%9D%98-get-%ED%95%A8%EC%88%98%EB%A5%BC-%EC%9D%B4%EC%9A%A9%EC%8B%9C.html' title='C++ Builder 2009에서 TIdHTTP의 Get 함수를 이용시 한글 문제'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6225747611968029197</id><published>2009-04-17T03:03:00.000+09:00</published><updated>2011-01-30T14:09:16.973+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder 2009 Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 2009 Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>C++ Builder 2009 Bug on Windows 7</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;64비트 개발을 해야해서 XP x64를 사용하다가 차기 운영체제인 Windows 7 에 눈길을 돌렸다. 아직 정식이 발표되지 않았지만 기존의 비스타보다 사용자들의 평이 좋아서 비스타를 뛰어 넘고 Windows 7 x64 7068을 사용해 보았다.&lt;br /&gt;&lt;br /&gt;업무에 사용하는 툴은 Visual C++ 이지만 개인적으로는 C++ Builder에 관심을 두고 있다. &lt;br /&gt;&lt;br /&gt;Visual C++ 의 경우는 현재의 Project를 x64 기반에서 작업하는데 문제가 없었다.&amp;nbsp; 그래서 C++ Builder는 문제가 없는지 테스트 해 보았다. 작은 프로젝트를 생성하여 간단한 코드를 작성해 보았다. 프로그램 작성에는 큰 문제가 없어 보였는데 가끔 프로그램 종료시에 아래와 같은 에러가 발생하였다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XJuKCelwoD.png" style="width:335px;height:173px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;위의 메세지에서 Yes를 선택하건 No를 선택하건 프로젝트를 컴파일 할 때 문제가 발생하였다. 컴파일이 잘 되는 것 처럼 보이더니 마지막에 에러 한 줄을 내 뱉고 컴파일이 완료 되지 않았다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XWbJBTRUFT.png" style="width:464px;height:41px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;IDE가 비정상 종료로 끝나서 인지 IDE에서 Project.tds 파일을 물고 있어서 문제가 되는 것 같았다. 프로젝트를 닫고 재 오픈하여 시도를 해도 안되며 C++ Builder를 종료 한 후에 다시 실행시켜야만 해결이 되었다.&lt;br /&gt;&lt;br /&gt;인터넷에서 이와 같은 에러에 대해서 찾아 보았지만 많지 않았다. 개발툴 제작사인 Embarcadero에도 보고가 된 것 같은데 아직까지 해결책이나 우회 방법은 없는 것 같다. &lt;br /&gt;&lt;br /&gt;릴리즈 모드에서는 발생하지 않는 것 같기는 한데 프로그램을 만들 땐 디버깅 모드가 필수라 크게 의미가 없어 보인다.&lt;br /&gt;&lt;br /&gt;앞으로는 Windows 7 을 사용해야 하기 때문에 빨리 개선방법이나 우회 방법이 나왔으면 좋겠다. &lt;br /&gt;&lt;br /&gt;&lt;a title="[http://qc.embarcadero.com/wc/qcmain.aspx?d=33684]로 이동합니다." target="_blank" href="http://qc.embarcadero.com/wc/qcmain.aspx?d=33684"&gt;Embarcadero의 리포팅 내용&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://ficforlife.com/2009/01/bug-delphi-2009-pada-windows-7-beta.html]로 이동합니다." target="_blank" href="http://ficforlife.com/2009/01/bug-delphi-2009-pada-windows-7-beta.html"&gt;Windows 7 beta 버전에서 문제가 발생한 블로거의 포스팅&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6225747611968029197?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6225747611968029197/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/c-builder-2009-bug-on-windows-7.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6225747611968029197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6225747611968029197'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/c-builder-2009-bug-on-windows-7.html' title='C++ Builder 2009 Bug on Windows 7'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4781447946751503129</id><published>2009-04-14T15:10:00.000+09:00</published><updated>2011-01-30T14:09:16.925+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='작업표시줄'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='MainFormOnTaskBar'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그램 감추기'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='taskbar'/><title type='text'>[VCL] 작업표시줄의 프로그램 버튼 숨기기</title><content type='html'>프로그램 실행 시 작업표시줄(Taskbar)에 나타나는 프로그램 버튼을 숨기기 위해서는 MainForm 의 부모인 Application을 ShowWindow로 숨기면 된다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;void __fastcall TfrmMain::FormShow(TObject *Sender){	ShowWindow( Application-&amp;gt;Handle, SW_HIDE );}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;이 방법은 C++ Builder 2007 이전에만 적용되며 C++ Builder 2007 이후에 만들어진 프로젝트의 경우 한가지 설정을 대 해 주어야 한다.&lt;br /&gt;&lt;br /&gt;Application 이 초기화 되고 MainForm이 생성되기 전에 Application의 MainFormOnTaskBar 속성을 false로 설정해 주어야 위의 코드가 정상적으로 처리가 된다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int){	try	{		Application-&amp;gt;Initialize();		Application-&amp;gt;MainFormOnTaskBar = false;		Application-&amp;gt;CreateForm(__classid(TfrmMain), &amp;amp;frmMain);		Application-&amp;gt;Run();	}	:	return 0;}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;MainFormOnTaskBar 속성은 Delphi 2007 버전부터 추가된 속성으로 작업표시줄의 프로그램 버튼을 어떻게 핸들링 할지를 설정하는 기능이다. 이 속성을 Vista 이후에 추가된 기능을 지원하기 위해 추가 되었다고 한다.&lt;br /&gt;&lt;br /&gt;MainFormOnTaskBar 속성이 true 이면 메인폼의 프로그램 타이틀을 작업표시줄에 출력하고, false 이면 Application의 타이틀을 출력한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;참고자료&lt;br /&gt;&lt;a href="http://delphi.about.com/od/adptips1999/qt/hidefromtaskbar.htm" target="_blank"&gt;Hide a Delphi Application Button from the TaskBar&lt;/a&gt;&lt;br /&gt;&lt;a href="http://delphi.about.com/od/delphitips2008/qt/hide_taskbutton.htm" target="_blank"&gt;Hide a Delphi 2007 Application Button from the TaskBar &lt;/a&gt;&lt;br /&gt;&lt;a href="http://delphi.borlandforum.com/impboard/impboard.dll?action=read&amp;amp;db=del_qna&amp;amp;no=11579" target="_blank"&gt;박지훈님(볼랜드 포럼)의 MainFormOnTaskbar에 대한 글&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4781447946751503129?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4781447946751503129/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vcl-%EC%9E%91%EC%97%85%ED%91%9C%EC%8B%9C%EC%A4%84%EC%9D%98-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EB%B2%84%ED%8A%BC-%EC%88%A8%EA%B8%B0%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4781447946751503129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4781447946751503129'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vcl-%EC%9E%91%EC%97%85%ED%91%9C%EC%8B%9C%EC%A4%84%EC%9D%98-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EB%B2%84%ED%8A%BC-%EC%88%A8%EA%B8%B0%EA%B8%B0.html' title='[VCL] 작업표시줄의 프로그램 버튼 숨기기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6671206828717245597</id><published>2009-04-14T11:32:00.000+09:00</published><updated>2011-01-30T14:09:16.848+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>SQLite 3.6.13 Library</title><content type='html'>&lt;span style="font-weight: bold;"&gt;For C++ Builder&lt;/span&gt;&lt;br /&gt;&lt;a href="http://neodreamer.tistory.com/211" target="_blank"&gt;2008/12/07 - [Dev Story/Tips] - C++ Builder 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XW76lVwEvT.7z/SQLite3_v3.6.13_Library_for_C%20%20Builder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.13_Library_for_C  Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XAmP6j3sH4.7z/SQLite3_v3.6.13_StaticLibrary_for_C%20%20Builder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.13_StaticLibrary_for_C  Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For Visual C++&lt;/span&gt;&lt;br /&gt;&lt;a href="http://neodreamer.tistory.com/210" target="_blank"&gt;2008/12/07 - [Dev Story/Tips] - Visual C++ 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XSwuaLxpHe.7z/SQLite3_v3.6.13_Library_for_VisualC%20%20.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.13_Library_for_VisualC  .7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XNbVqQDbBy.7z/SQLite3_v3.6.13_StaticLibrary_for_VisualC%20%20_win32.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.13_StaticLibrary_for_VisualC  _win32.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XeO1sM199r.7z/SQLite3_v3.6.13_StaticLibrary_for_VisualC%20%20_win64.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.13_StaticLibrary_for_VisualC  _win64.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6671206828717245597?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6671206828717245597/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3613-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6671206828717245597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6671206828717245597'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3613-library.html' title='SQLite 3.6.13 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5840788289654103844</id><published>2009-04-14T09:09:00.000+09:00</published><updated>2011-01-30T14:09:16.788+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>SQLite 3.6.13 Released!!</title><content type='html'>3.6.13 버전에서 바뀐 내용&lt;ul&gt;    &lt;li&gt;Fix a bug in version 3.6.12 that causes a segfault when running a count(*) on the sqlite_master table of an empty database. Ticket #3774.&lt;/li&gt;    &lt;li&gt;Fix a bug in version 3.6.12 that causes a segfault that when inserting into a table using a DEFAULT value where there is a function as part of the DEFAULT value expression. Ticket #3791.&lt;/li&gt;    &lt;li&gt;Fix data structure alignment issues on Sparc. Ticket #3777.&lt;/li&gt;    &lt;li&gt;Other minor bug fixes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a style="" href="http://www.sqlite.org/" target="_blank"&gt;SQLite&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/changes.html" target="_blank"&gt;SQLite Release Notes&lt;/a&gt;&lt;br /&gt;&lt;a style="" href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite Download page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5840788289654103844?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5840788289654103844/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3613-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5840788289654103844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5840788289654103844'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3613-released.html' title='SQLite 3.6.13 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1418423518254697958</id><published>2009-04-03T12:59:00.000+09:00</published><updated>2011-01-30T14:09:16.691+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='대화상자 스크립트 에러'/><category scheme='http://www.blogger.com/atom/ns#' term='대화상자 Script Error'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>VS2005 에서 Wizard 대화상자 Script Error 해결하기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;개발 환경을 Windows 7 으로 바꾼 후 Visual Studio 2005의 리소스 편집기에서 대화상자를 추가하고 Add Class... 를 실행하면 스크립트 에러가 발생하고 클래스 대화상자에서 Base Class 목록이 나오지 않았다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XTWcIih4ba.png" style="width:458px;height:294px;" alt="Script Error"  /&gt;&lt;p class="cap1"&gt;Script Error&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XdOFZEhrPX.png" style="width:574px;height:407px;" alt="Wizard 대화상자" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XdOFZEhrPX.png')" /&gt;&lt;p class="cap1"&gt;Wizard 대화상자&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;Wizard 대화상자가 DHTML Dialog로 만들어져서 보안 설정에 문제가 있어 그런것으로 짐작 되었다. 그래서 보안 설정을 이리저리 바꾸어 보아도 변화가 없었다. 그래서 인터넷을 찾아보다가 &lt;a title="[http://blogs.msdn.com/vcblog/default.aspx]로 이동합니다." target="_blank" href="http://blogs.msdn.com/vcblog/default.aspx"&gt;Visual C++ Team Blog&lt;/a&gt; 에서 해결책을 찾았다.&lt;br /&gt;&lt;br /&gt;역시나 Explorer의 보안 설정이 문제였다. 이를 해결하기 위해서는 Registry에 키 하나를 추가 하면 된다.&lt;br /&gt;추가할 위치는 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones 이다. 이 위치에 1000 키를 추가하고 그 아래에 DWORD 항목을 추가 한다. 이름은 1207로 하고 값을 0x0000000 으로 해준다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XDm16a0e3a.png" style="width:580px;height:326px;" alt="키 입력하기" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XDm16a0e3a.png')" /&gt;&lt;p class="cap1"&gt;키 입력하기&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XIUMlExKkP.png" style="width:580px;height:327px;" alt="새로 입력된 키 - 1000" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XIUMlExKkP.png')" /&gt;&lt;p class="cap1"&gt;새로 입력된 키 - 1000&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XLq7ae14zc.png" style="width:580px;height:326px;" alt="DWORD 항목 추가하기" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XLq7ae14zc.png')" /&gt;&lt;p class="cap1"&gt;DWORD 항목 추가하기&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/Xb7mQhVOed.png" style="width:580px;height:327px;" alt="추가된 DWORD 항목 - 1027 / 0x00000000" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/Xb7mQhVOed.png')" /&gt;&lt;p class="cap1"&gt;추가된 DWORD 항목 - 1027 / 0x00000000&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XJRSQSxqwh.reg/VS_Wizard_ErrFix.reg" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; VS_Wizard_ErrFix.reg&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;관련 자료 출처 : &lt;a title="[http://blogs.msdn.com/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx]로 이동합니다." target="_blank" href="http://blogs.msdn.com/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx"&gt;Visual C++ Team Blog&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1418423518254697958?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1418423518254697958/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vs2005-%EC%97%90%EC%84%9C-wizard-%EB%8C%80%ED%99%94%EC%83%81%EC%9E%90-script-error-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1418423518254697958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1418423518254697958'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/vs2005-%EC%97%90%EC%84%9C-wizard-%EB%8C%80%ED%99%94%EC%83%81%EC%9E%90-script-error-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0.html' title='VS2005 에서 Wizard 대화상자 Script Error 해결하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1168557626623277796</id><published>2009-04-03T12:29:00.000+09:00</published><updated>2011-01-30T14:09:16.617+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahoma'/><category scheme='http://www.blogger.com/atom/ns#' term='Tahoma 보이게 하기'/><title type='text'>사라진 Tahoma를 찾아라.</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;얼마전 개발 환경을 Windows 7 x64 로 바꾸었다.&lt;br /&gt;&lt;br /&gt;그런데 리소스를 편집할 때 대화상자 속성의 폰트 설정에 Tahoma 폰트가 보이지 않았다. 프로젝트의 모든 대화상자의 기본 폰트로 Tahoma를 사용하기 때문에 Tahoma 설정이 꼭 필요하다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XJ4hFbWcgu.png" style="width:447px;height:357px;" alt="Tahoma가 보이지 않는 Font 설정 대화 상자"  /&gt;&lt;p class="cap1"&gt;Tahoma가 보이지 않는 Font 설정 대화 상자&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;그래서 윈도우즈의 폰트 폴더에서 달라진게 있는지 보았다. XP에서는 없던 Show/Hide 컬럼이 보였다. 그리고 Tahoma 폰트를 확인해 보니 Hide 로 설정되어 있었다.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XYzqisHx0k.png" style="width:584px;height:332.00000000000006px;" alt="폰트 폴더의 Tahoma"  /&gt;&lt;p class="cap1"&gt;폰트 폴더의 Tahoma&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;Tahoma 폰트에서 오른쪽 버튼을 눌러보니 Show 메뉴가 보였다. Show 메뉴를 선택하여 Tahoma 폰트의 Show/Hide 컬럼 값이 변경이 되었다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XbiLMYwPXn.png" style="width:585px;height:141px;" alt="Tahoma 폰트가 보여지도록 설정한 화면"  /&gt;&lt;p class="cap1"&gt;Tahoma 폰트가 보여지도록 설정한 화면&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;그리고 다시 Visual Studio 의 리소스 편집기에서 대화상자 폰트 속성을 확인해 보니 Tahoma 폰트가 보였다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XI0FgiS7J8.png" style="width:447px;height:357px;" alt="Tahoma가 보여지는 Font 설정 대화 상자"  /&gt;&lt;p class="cap1"&gt;Tahoma가 보여지는 Font 설정 대화 상자&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1168557626623277796?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1168557626623277796/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EC%82%AC%EB%9D%BC%EC%A7%84-tahoma%EB%A5%BC-%EC%B0%BE%EC%95%84%EB%9D%BC.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1168557626623277796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1168557626623277796'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/%EC%82%AC%EB%9D%BC%EC%A7%84-tahoma%EB%A5%BC-%EC%B0%BE%EC%95%84%EB%9D%BC.html' title='사라진 Tahoma를 찾아라.'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7520852685413736120</id><published>2009-04-02T13:10:00.000+09:00</published><updated>2011-01-30T14:09:16.538+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Library for Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Library for C++ Builder'/><title type='text'>SQLite 3.6.12 Library</title><content type='html'>얼마전 공개된 SQLite 3.6.12 버전의 라이브러리를 만들어 보았다. Visual C++ 과 C++ Builder 용으로 만들었는데 아직 테스트는 하지 않았지만 만드는 방법이 다르지 않아 문제가 없어 보인다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XKvb2uAggL.7z/SQLite3_v3.6.12_Library_for_VisualC%20%20.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.12_Library_for_VisualC  .7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XXBq9N2ezc.7z/SQLite3_v3.6.12_StaticLibrary_for_VisualC%20%20_win32.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.12_StaticLibrary_for_VisualC  _win32.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XH0k9akncc.7z/SQLite3_v3.6.12_StaticLibrary_for_VisualC%20%20_win64.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.12_StaticLibrary_for_VisualC  _win64.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XFaOAZjzth.7z/SQLite3_v3.6.12_Library_for_C%20%20Builder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.12_Library_for_C  Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XdLYLX16l8.7z/SQLite3_v3.6.12_StaticLibrary_for_C%20%20Builder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.12_StaticLibrary_for_C  Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7520852685413736120?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7520852685413736120/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3612-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7520852685413736120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7520852685413736120'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3612-library.html' title='SQLite 3.6.12 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1339272766417636269</id><published>2009-04-02T01:19:00.000+09:00</published><updated>2011-01-30T14:09:16.474+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>SQLite 3.6.12 Released!!</title><content type='html'>3.6.12 버전에서 바뀐 내용&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed a bug that caused database corruption when an incremental_vacuum is rolled back in an in-memory database. Ticket #3761.&lt;/li&gt;&lt;li&gt;Added the sqlite3_unlock_notify() interface.&lt;/li&gt;&lt;li&gt;Added the reverse_unordered_selects pragma.&lt;/li&gt;&lt;li&gt;The default page size on windows is automatically adjusted to match the capabilities of the underlying filesystem.&lt;/li&gt;&lt;li&gt;Add the new ".genfkey" command in the CLI for generating triggers to implement foreign key constraints.&lt;/li&gt;&lt;li&gt;Performance improvements for "count(*)" queries.&lt;/li&gt;&lt;li&gt;Reduce the amount of heap memory used, especially by TRIGGERs. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org" target="_blank"&gt;SQLite&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite Download page&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1339272766417636269?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1339272766417636269/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3612-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1339272766417636269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1339272766417636269'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/sqlite-3612-released.html' title='SQLite 3.6.12 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2587822895976413258</id><published>2009-04-01T19:00:00.000+09:00</published><updated>2011-01-30T14:09:16.408+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio Tweak'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi Distiller'/><title type='text'>Delphi Tweak - Delphi Distiller v1.61</title><content type='html'>&lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family: verdana;"&gt;1. WHAT IS DELPHI DISTILLER&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;Delphi Distiller is a customization tool for Delphi 5/6/7/2006/2007/2009 that&lt;br /&gt;lets you manage packages and experts and apply several tweaks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family: verdana;"&gt;2. FEATURES&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Choose what packages and experts are loaded by Delphi 5/6/7/2006/2007/2009.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;File associations manager for Delphi 5/6/7/2006/2007/2009.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Delphi 5 tweaks:&lt;br /&gt;- Don't create .~bpl files.&lt;br /&gt;- Don't create .cfg files.&lt;br /&gt;- Use Tahoma font by default.&lt;br /&gt;- Don't show splash screen.&lt;br /&gt;- Customize editor colors.&lt;br /&gt;- Trial to Retail conversion.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Delphi 6 tweaks:&lt;br /&gt;- Don't create .~bpl files.&lt;br /&gt;- Don't create .ddp files.&lt;br /&gt;- Don't create .cfg files.&lt;br /&gt;- Use Tahoma font by default.&lt;br /&gt;- Don't show splash screen.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Delphi 7 tweaks:&lt;br /&gt;- Don't create .~bpl files.&lt;br /&gt;- Don't create .ddp files.&lt;br /&gt;- Don't create .cfg files.&lt;br /&gt;- Use Tahoma font by default.&lt;br /&gt;- Don't show splash screen.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Delphi 2006 tweaks:&lt;br /&gt;- Don't create .~bpl files.&lt;br /&gt;- Don't create .local files.&lt;br /&gt;- Don't create .cfg files.&lt;br /&gt;- Remove toolbar gradients.&lt;br /&gt;- Fix TabStop bug in TFrame's.&lt;br /&gt;- Don't show splash screen.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Delphi 2007 tweaks:&lt;br /&gt;- Don't create .~bpl files.&lt;br /&gt;- Don't create .local files.&lt;br /&gt;- Don't check for updates when the IDE starts.&lt;br /&gt;- Avoid loading of additional .NET crap by delphicoreide100.bpl.&lt;br /&gt;- Remove toolbar gradients.&lt;br /&gt;- Don't show splash screen.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;• &lt;span style="color: rgb(94, 94, 94); font-size: 11px;"&gt;&lt;font face="Lucida Console"&gt;&lt;span style="font-family: verdana;"&gt;Delphi 2009 tweaks:&lt;br /&gt;- Don't create .~bpl files.&lt;br /&gt;- Don't create .local files.&lt;br /&gt;- Don't check for updates when the IDE starts.&lt;br /&gt;- Avoid loading of additional .NET crap by delphicoreide120.bpl.&lt;br /&gt;- Don't show splash screen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ctrl + Alt + L 에 숨겨진 기능이 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://www.liteapplications.com/]로 이동합니다." target="_blank" href="http://www.liteapplications.com/"&gt;Delphi Distiller&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://sites.google.com/site/liteapp/files/DelphiDistiller.rar?attredirects=0]로 이동합니다." target="_blank" href="http://sites.google.com/site/liteapp/files/DelphiDistiller.rar?attredirects=0"&gt;Delphi Distiller 1.61 Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XJO94RUbhH.7z/DelphiDistiller161.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; DelphiDistiller161.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2587822895976413258?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2587822895976413258/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/delphi-tweak-delphi-distiller-v161.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2587822895976413258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2587822895976413258'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/delphi-tweak-delphi-distiller-v161.html' title='Delphi Tweak - Delphi Distiller v1.61'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1998066705304055792</id><published>2009-04-01T13:32:00.000+09:00</published><updated>2011-01-30T14:09:16.304+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++ 컴파일 하기'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL 매뉴얼에 포함되어 있는 Connector/C++ 이용한 프로그램 작성</title><content type='html'>필요할 때가 있을 것 같아서 접근하기 쉽도록 MySQL 매뉴얼에 포함되어 있는 Connector/C++ 컴파일 방법을 스크랩 하였다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;20.6.3. MySQL Connector/C++ Building applications on Windows&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;MySQL Connector/C++ is available as a static or dynamic library to use with your application. This section looks at how to link the library to your application.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Static library&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The MySQL Connector/C++ static library file is mysqlcppconn-static.lib. This needs to be statically linked with your application. You also need to link against the files libmysql.dll and libmysql.lib. Once linking has been successfully completed, the application will require access to libmysql.dll at run time.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dynamic library&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The MySQL Connector/C++ dynamic library file is mysqlcppconn.dll. In order to build your client application you need to link it with the file mysqlcppconn.lib. At run time the application will require access to the files mysqlcppconn.dll and libmysql.dll.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Building an application using the static library - step-by-step&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;	&lt;li&gt;Select File, New, Project from the main menu. Then in the wizard select Visual C++, Win32. From Visual Studio Installed Templates select the application type Win32 Console Application. Enter a name for the application, and then click OK, to move to the Win32 Application Wizard.&lt;/li&gt;	&lt;li&gt;In the Win32 Application Wizard, click on Application Settings and ensure the defaults are selected. The radio button Console application, and the checkbox Precompiled headers will be selected.&lt;/li&gt;	&lt;li&gt;From the drop down list box on the toolbar, change from the default Debug build to the Release build.&lt;/li&gt;	&lt;li&gt;From the main menu select Project, Properties. This can also be accessed using the hot key ALT + F7.&lt;/li&gt;	&lt;li&gt;Under Configuration Properties, open the tree view.&lt;/li&gt;	&lt;li&gt;Select C++, General in the tree view. Then in the Additional Include Directories text field, add include/.&lt;/li&gt;	&lt;li&gt;In the same tree view under Linker, General, add lib/opt into the Additional Library Directories text field.&lt;/li&gt;	&lt;li&gt;Also in Linker, General, Additional Library Directories, add MySQL Server lib/opt for libmysql.lib.&lt;/li&gt;	&lt;li&gt;Then in Linker, Input, Additional Dependencies, enter mysqlcppconn-static.lib and libmysql.lib.&lt;br /&gt;&lt;pre&gt;  ------ Rebuild All started: Project: cpp_static_client, Configuration:  Release Win32 ------&lt;br /&gt;  Deleting intermediate and output files for project 'cpp_static_client',  configuration 'Release|Win32'&lt;br /&gt;  Compiling...&lt;br /&gt;  cpp_static_client.cpp&lt;br /&gt;  stdafx.cpp&lt;br /&gt;  Linking...&lt;br /&gt;  cpp_static_client.obj : error LNK2001: unresolved external symbol  __imp__get_driver_instance&lt;br /&gt;  cpp_static_client.obj : error LNK2001: unresolved external symbol  "__declspec(dllimport) &lt;br /&gt;	public: int __thiscall  sql::SQLException::getErrorCode(void)const "  &lt;br /&gt;	(__imp_?getErrorCode@SQLException@sql@@QBEHXZ)&lt;br /&gt;  cpp_static_client.obj : error LNK2001: unresolved external symbol  "__declspec(dllimport) &lt;br /&gt;	public: class std::basic_string&lt;char,struct std::char_traits=""&gt;&lt;char&gt;,&lt;br /&gt;	class std::allocator&lt;char&gt; &amp;gt; const &amp;amp; __thiscall   &lt;br /&gt;	sql::SQLException::getSQLState(void)const "    &lt;br /&gt;	(__imp_?getSQLState@SQLException@sql@@QBEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)&lt;br /&gt;  C:\Dokumente und Einstellungen\T60\Eigene Dateien\Visual Studio 2008\Projects &lt;br /&gt;	\cpp_static_client\Release\cpp_static_client.exe : fatal error  LNK1120: 3 unresolved externals&lt;br /&gt;  Build log was saved at "file://c:\Dokumente und Einstellungen\T60\Eigene  Dateien\Visual Studio 2008\&lt;br /&gt;	Projects\cpp_static_client\cpp_static_client\Release \BuildLog.htm"&lt;br /&gt;  cpp_static_client - 4 error(s), 0 warning(s)&lt;br /&gt;&lt;/char&gt;&lt;/char&gt;&lt;/char,struct&gt;&lt;/pre&gt;&lt;/li&gt;	&lt;li&gt;In the Project, Properties tree view, under C++, Preprocessor, enter CPPCONN_PUBLIC_FUNC= into the Preprocessor Definitions text field.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Building an application to use the dynamic library - step-by-step&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;	&lt;li&gt;From the main menu select File, New Project. Then in the wizard select Visual C++, Win32. Under Visual Studio installed templates select Win32 Console Application. Enter a suitable name, and then click OK to enter the Win32 Application wizard.&lt;/li&gt;	&lt;li&gt;In the Win32 Application Wizard, click on Application Settings. Use the default settings. The Console application radio button, and Precompiled header checkbox should be selected. Click Finish to close the wizard.&lt;/li&gt;	&lt;li&gt;From the drop down list box on the toolbar, change from the default Debug build to the Release build.&lt;/li&gt;	&lt;li&gt;From the main menu select Project, Properties. This can also be accessed using the hot key ALT + F7.&lt;/li&gt;	&lt;li&gt;Under Configuration Properties, open the tree view.&lt;/li&gt;	&lt;li&gt;Under C++, General, add include/ into the Additional Include Directories text field.&lt;/li&gt;	&lt;li&gt;Under Linker, General, add lib/opt into the Additional Library Directories text field.&lt;/li&gt;	&lt;li&gt;Under Linker, Input, add mysqlcppconn.lib into the Additional Dependencies text field.&lt;/li&gt;	&lt;li&gt;In the Editor, copy standalone_example_docs1.cpp, and add #include "stdafx.h" at the top of the file.&lt;/li&gt;	&lt;li&gt;From the main menu select Build, Build Solution, to build the solution.&lt;/li&gt;	&lt;li&gt;Open a command prompt by selecting Start, Execute, and entering cmd. Go to the build directory for the project, and change into the Release directory.&lt;/li&gt;	&lt;li&gt;Run the application. You will receive an error: “cannot find mysqlcppconn.dll”.&lt;/li&gt;	&lt;li&gt;Copy mysqlcppconn.dll to the working directory or extend the PATH environment variable using SET PATH=%PATH%;C:\path\to\cpp. Alternatively, you can copy mysqlcppconn.dll to the Windows installation Directory, typically c:\windows.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1998066705304055792?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1998066705304055792/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/mysql-%EB%A7%A4%EB%89%B4%EC%96%BC%EC%97%90-%ED%8F%AC%ED%95%A8%EB%90%98%EC%96%B4-%EC%9E%88%EB%8A%94-connectorc-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1998066705304055792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1998066705304055792'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/mysql-%EB%A7%A4%EB%89%B4%EC%96%BC%EC%97%90-%ED%8F%AC%ED%95%A8%EB%90%98%EC%96%B4-%EC%9E%88%EB%8A%94-connectorc-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8.html' title='MySQL 매뉴얼에 포함되어 있는 Connector/C++ 이용한 프로그램 작성'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4924112154812342790</id><published>2009-04-01T12:17:00.000+09:00</published><updated>2011-01-30T14:09:16.239+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Connector/C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>MySQL Connector/C++ 1.0.4 beta Library 정식 배포</title><content type='html'>&lt;div style="text-align: center;" id="logo"&gt;&lt;span class="nobr"&gt;&lt;a href="http://www.mysql.com/" title="MySQL.COM" target="_blank"&gt;&lt;img src="http://dev.mysql.com/common/logos/logo_mysql_sun_a.gif" alt="MySQL" border="0" width="114" height="68"&gt;&lt;/a&gt;&lt;a href="http://www.sun.com/" title="Sun.COM" target="_blank"&gt;&lt;img src="http://dev.mysql.com/common/logos/logo_mysql_sun_b.gif" alt="Sun Microsystems, Inc." border="0" width="91" height="68"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Connector/C++ 이 Alpha 딱지를 떼고 Beta 딱지를 붙이고나서 드디어 정식으로 라이브러리 제공을 시작하였다.&lt;br /&gt;&lt;br /&gt;1.0.4 버전 이전에는 소스를 받아서 필요한 플랫폼에서 컴파일을 해서 직접 라이브러리를 만들어서 사용해야했는데 이제는 각각의 운영체제에 맞는 라이브러리를 제공한다.&lt;br /&gt;&lt;br /&gt;현재(2009/04/01) 지원하는 운영체제는 다음과 같다.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Windows&lt;/li&gt;&lt;li&gt;Windows x64&lt;/li&gt;&lt;li&gt;Linux (non RPM packages, glibc-2.3)&lt;/li&gt;&lt;li&gt;Red Hat Enterprise Linux 5 (non RPM packages)&lt;/li&gt;&lt;li&gt;Red Hat Enterprise Linux 4 (non RPM packages)&lt;/li&gt;&lt;li&gt;SuSE Linux Enterprise Server 9 (non RPM packages)&lt;/li&gt;&lt;li&gt;SuSE Linux Enterprise Server 10 (non RPM packages)&lt;/li&gt;&lt;li&gt;Solaris (TAR packages)&lt;/li&gt;&lt;li&gt;FreeBSD (TAR packages)&lt;/li&gt;&lt;li&gt;Mac OS X (TAR packages)&lt;/li&gt;&lt;li&gt;HP-UX (TAR packages)&lt;/li&gt;&lt;li&gt;AIX (TAR packages)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;라이브러리를 직접 배포하니 신뢰도 또한 더 높으리라 생각 된다. 직접 라이브러리를 만들어 사용할 때는 정적라이브러리에서 링크문제로 사용하지 못했는데 정식 버전은 어떤지 테스트 해 봐야 겠다. 그리고 C++ Builder 에서도 사용 가능한지도 테스트 해 봐야 겠다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/connector/cpp/1.0.html" target="_blank"&gt;Connector/C++ Download Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/get/Downloads/Connector-C%2B%2B/mysql-connector-c%2B%2B-1.0.4.0-win32.msi/from/http://mysql.byungsoo.net/" target="_blank"&gt;Download Connector/C++ 1.0.4 beta Windows MSI Installer (x86)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/get/Downloads/Connector-C%2B%2B/mysql-connector-c%2B%2B-noinstall-1.0.4-beta-win32.zip/from/http://mysql.byungsoo.net/" target="_blank"&gt;Download Connector/C++ 1.0.4 beta Without installe (x86)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/get/Downloads/Connector-C%2B%2B/mysql-connector-c%2B%2B-1.0.4.0-winx64.msi/from/http://mysql.byungsoo.net/" target="_blank"&gt;Download Connector/C++ 1.0.4 beta Windows MSI Installer (AMD64 / Intel EM64T)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/get/Downloads/Connector-C%2B%2B/mysql-connector-c%2B%2B-noinstall-1.0.4-beta-winx64.zip/from/http://mysql.byungsoo.net/" target="_blank"&gt;Download Connector/C++ 1.0.4 beta Without installe (AMD64 / Intel EM64T)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4924112154812342790?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4924112154812342790/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/mysql-connectorc-104-beta-library-%EC%A0%95%EC%8B%9D-%EB%B0%B0%ED%8F%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4924112154812342790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4924112154812342790'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/04/mysql-connectorc-104-beta-library-%EC%A0%95%EC%8B%9D-%EB%B0%B0%ED%8F%AC.html' title='MySQL Connector/C++ 1.0.4 beta Library 정식 배포'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1144045354831413211</id><published>2009-03-31T12:16:00.000+09:00</published><updated>2011-01-30T14:09:16.183+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.0.4 Beta Library</title><content type='html'>MySQL Connector/C++ 1.0.4 버전을 &lt;a style="" title="[http://neodreamer.tistory.com/206]로 이동합니다." target="_blank" href="http://neodreamer.tistory.com/206"&gt;MySQL Connector/C++ 1.0.1 Alpha 컴파일 하기&lt;/a&gt;에 따라 라이브러리를 만들었다.&lt;br /&gt;&lt;br /&gt;컴파일러는 Visual C++ 2005를 사용하였고 MySQL은 5.0.77버전을 사용하여 Win32용과 Win64용을 만들었다.&lt;br /&gt;&lt;br /&gt;이번 버전은 컴파일을 하면 두개의 새로운 파일( config.h build_config.h )이 생기는데 Connector/C++ 을 포함한 프로젝트를 수행시 필요하다.&lt;br /&gt;&lt;br /&gt;간단하게 테스트를 해 보았는데 동정라이브러니는 정상 동작을 하였는데 정적라이브러리는 링크에러가 발생하였다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/Xev6Y1kYXZ.7z/mysql_connector_cpp_1_0_4_beta_win32_5077_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_4_beta_win32_5077_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XHcLmhHOeG.7z/mysql_connector_cpp_1_0_4_beta_win32_5077_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_4_beta_win32_5077_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XTWhWLwMDK.7z/mysql_connector_cpp_1_0_4_beta_win64_5077_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_4_beta_win64_5077_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XT8X3JygBl.7z/mysql_connector_cpp_1_0_4_beta_win64_5077_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_4_beta_win64_5077_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XJnTT8BwKv.7z/mysql_connector_cpp_1_0_4_src.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_4_src.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1144045354831413211?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1144045354831413211/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-104-beta-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1144045354831413211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1144045354831413211'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-104-beta-library.html' title='MySQL Connector/C++ 1.0.4 Beta Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8365371028440048533</id><published>2009-03-31T11:04:00.000+09:00</published><updated>2011-01-30T14:09:16.113+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='VisualSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion client'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='SubVersion Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>Visual SVN Server/Client 1.7 Released!!</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XVOxMMwcCE.png" style="width:620px;height:424px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XVOxMMwcCE.png')" /&gt;&lt;/div&gt;&lt;br /&gt;Subversion 1.6 공개에 따라 VisualSVN 도 subversion 1.6을 포함하는 새로운 버전을 공개하였고, 홈페이지도 새 단장을 하였다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Version 1.7 (March 24, 2009)&lt;br /&gt;&lt;ul&gt;    &lt;li&gt;Updated to Subversion 1.6.&lt;/li&gt;    &lt;li&gt;Updated to OpenSSL 0.9.8j.&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a title="[http://www.visualsvn.com/visualsvn/changes/1.7/]로 이동합니다." target="_blank" href="http://www.visualsvn.com/visualsvn/changes/1.7/"&gt;VisualSVN 1.7 Release Notes&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://www.visualsvn.com/files/VisualSVN-1.7.msi]로 이동합니다." target="_blank" href="http://www.visualsvn.com/files/VisualSVN-1.7.msi"&gt;VisualSVN 1.7 Download&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://www.visualsvn.com/server/changes/1.7/]로 이동합니다." target="_blank" href="http://www.visualsvn.com/server/changes/1.7/"&gt;VisualSVN Server 1.7 Release Notes&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://www.visualsvn.com/files/VisualSVN-Server-1.7.msi]로 이동합니다." target="_blank" href="http://www.visualsvn.com/files/VisualSVN-Server-1.7.msi"&gt;VisualSVN Server 1.7 Download&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8365371028440048533?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8365371028440048533/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/visual-svn-serverclient-17-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8365371028440048533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8365371028440048533'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/visual-svn-serverclient-17-released.html' title='Visual SVN Server/Client 1.7 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-3189117339616718007</id><published>2009-03-31T10:17:00.000+09:00</published><updated>2011-01-30T14:09:16.054+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVN Client'/><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='TortoiseSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Version Control'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='버전관리'/><category scheme='http://www.blogger.com/atom/ns#' term='버전관리시스템'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>TortoiseSVN-1.6.0.15855 Released!!</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;What's New in TortoiseSVN 1.6&lt;br /&gt;&lt;ul&gt;    &lt;li&gt;file:/// access to BDB repositories&lt;/li&gt;    &lt;li&gt;handling of tree conflicts&lt;/li&gt;    &lt;li&gt;log cache&lt;/li&gt;    &lt;li&gt;revision graph&lt;/li&gt;    &lt;li&gt;IBugtraq provider plugin enhancements&lt;/li&gt;    &lt;li&gt;Misc changes&lt;/li&gt;&lt;/ul&gt;&lt;p id="more-278-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '278-0','자세한 변경사항 보기','자세한 변경사항 감추기'); return false;} else {document.getElementById('content-278-0').style.display='';}"&gt;      자세한 변경사항 보기&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-278-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt; Changes:&lt;br /&gt;Version 1.6.0&lt;br /&gt;- NEW: Ignoring of multiple selected items by their extension. See&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; issue #423 for details. (Stefan)&lt;br /&gt;- NEW: The log dialog allows filtering by bug-ID.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; See issue #422 for details. (Stefan)&lt;br /&gt;- NEW: Column to show the remote revision in the CfM dialog. (Stefan)&lt;br /&gt;- NEW: The current revision of the working copy item is shown in&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; bold in the log dialog. See issue #425 for details. (Stefan)&lt;br /&gt;- NEW: The custom tsvn: urls allow a revision to be specified after the&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; real url, separated with '?'. (Stefan)&lt;br /&gt;- NEW: The state of the 'merge non-interactive' checkbox is remembered&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; across sessions. (Stefan)&lt;br /&gt;- NEW: editing the author in the log dialog is now possible for&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; multiple selected revisions. (Stefan)&lt;br /&gt;- NEW: Paste command to paste copied/cut files from explorer into&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; a working copy. See issue #427 for details. (Stefan)&lt;br /&gt;- NEW: TortoiseProc returns now 0 after the command finished successfully&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; and -1 if the command failed with an error. See issue #426&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; for details. (Stefan)&lt;br /&gt;- NEW: Added blame command to context menu of the status list control. (Stefan)&lt;br /&gt;- NEW: "up" button in the repo browser. (Stefan)&lt;br /&gt;- NEW: Checkbox to exclude the externals in the Check-For-Modifications&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; dialog. (Stefan)&lt;br /&gt;- NEW: Ability to cancel the "patch all" function. (Stefan)&lt;br /&gt;- NEW: Option to disable the context menu for specific paths. (Stefan)&lt;br /&gt;- NEW: Extended the IBugTraqProvider. See issue #428 for details. (Stefan)&lt;br /&gt;- NEW: The status cache handles "runas" now better. (Stefan)&lt;br /&gt;- NEW: Automated removal of unused log caches. (Stefan Fuhrmann)&lt;br /&gt;- NEW: When diffing against BASE, the diff tool now shows the BASE revision&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; in the view title. (Stefan)&lt;br /&gt;- NEW: if "unversioned files mark parent folder as modified" is active,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; the revert dialog shows a hint if unversioned files are found. (Stefan)&lt;br /&gt;- NEW: Auto-maintenance for log caches plus several settings to control&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; its behavior. (Stefan Fuhrmann)&lt;br /&gt;- NEW: Log cache supports multiple repositories with the same UUID.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; (Stefan Fuhrmann)&lt;br /&gt;- NEW: Revision graph settings page. Several previously hidden&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; features are now available to the user. (Stefan Fuhrmann)&lt;br /&gt;- NEW: The status list control shows the entries grouped by externals if&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; no changelists are present. (Stefan)&lt;br /&gt;- NEW: two project properties (bugtraq:provideruuid and bugtraq:providerparams)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; to specifiy the IBugTraqProvider for the project. (Stefan)&lt;br /&gt;- NEW: Helper dialog to resolve property conflicts. (Stefan)&lt;br /&gt;- NEW: Revision graph can be collapsed / expanded as well as &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; split and joined. (Stefan Fuhrmann)&lt;br /&gt;- NEW: Helper dialog to resolve tree conflicts. (Stefan)&lt;br /&gt;- NEW: TortoiseBlame shows the revision range in the title. See&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; issue #429 for details. (Stefan)&lt;br /&gt;- NEW: Revision graph: Option to hide unmodified branches (Stefan Fuhrmann)&lt;br /&gt;- NEW: Revision graph: Option to show workspace modifications as extra node&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; (Stefan Fuhrmann)&lt;br /&gt;- NEW: Revision graph: Update / Switch WC in node context menu &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; (Stefan Fuhrmann)&lt;br /&gt;- NEW: A warning is shown if the user tries to add a file that was versioned&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; but renamed in case. (Stefan)&lt;br /&gt;- NEW: TortoiseMerge scrolls the views automatically when selecting with&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; the left mouse button down. (Stefan)&lt;br /&gt;- NEW: In the log dialog filter, a ! char at the beginning will negate&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; the filter string. (Stefan)&lt;br /&gt;- NEW: Column in the check-for-modifications dialog to show &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; the lock date. (Stefan)&lt;br /&gt;- NEW: Context menu to delete and ignore files at the same time. (Stefan)&lt;br /&gt;- NEW: Tooltips in the action column of the log dialog, explaining the&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; action icons. (Stefan)&lt;br /&gt;- NEW: When moving/copying a file over an existing file, ask the user whether&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; to replace that existing file. (Stefan)&lt;br /&gt;- NEW: Shift-click feature for merge tools. See issue #430 for details. (Stefan)&lt;br /&gt;- NEW: "Create patch" and "Check for Modifications" available from &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; commit/CfM dialog. (Stefan)&lt;br /&gt;- NEW: new column for checkout depth in the CSVNStatusListCtrl. (Stefan)&lt;br /&gt;- NEW: overlays in the CSVNStatusListCtrl for the different depths and&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; external/nested files and folders. (Stefan)&lt;br /&gt;- CHG: The bug-ID column width in the log dialog is now limited &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; to 200 pixels. (Stefan)&lt;br /&gt;- CHG: The right-drag context menu now only shows "Export" if a versioned&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; folder is dragged (for files, the windows 'copy' does the same). (Stefan)&lt;br /&gt;- CHG: The right-drag context menu checks whether source and target are&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; from the same repository and shows the "SVN move" and "SVN copy"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; commands only if they are. (Stefan)&lt;br /&gt;- CHG: When only files are selected for "Add", the Add-dialog is not&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; shown anymore but the files are added immediately. (Stefan)&lt;br /&gt;- CHG: file:// access to BDB based repositories is no longer supported. (Stefan)&lt;br /&gt;- CHG: the log dialog now shows a possible error message when fetching the&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; log as a text in the top list control instead of showing a popup&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; message box. (Stefan)&lt;br /&gt;- CHG: New revision graph look. (Stefan Fuhrmann)&lt;br /&gt;- CHG: Faster and more reliable revision graph filtering. (Stefan Fuhrmann)&lt;br /&gt;- CHG: If tsvn:logtemplate was set and not changed in the commit dialog, it&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; isn't added to the log history anymore. (Stefan)&lt;br /&gt;- CHG: "Ambiguous URL" option no longer limits log cache functionality.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; (Stefan Fuhrmann)&lt;br /&gt;- CHG: Various improvements to log statistics graphs (Aras Pranckevicius)&lt;br /&gt;- CHG: The merge wizard is now resizable. (Stefan)&lt;br /&gt;- CHG: The checkout/export dialogs do not ask whether to create the folder&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; to checkout/export aynmore but silently create it. (Stefan)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tortoisesvn.net/" target="_blank"&gt;TortoriseSVN website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tortoisesvn.tigris.org/tsvn_1.6_releasenotes.html" target="_blank"&gt;TortoiseSVN 1.6 Release Note&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/project/shownotes.php?release_id=669833" target="_blank"&gt;TortoiseSVN 1.6 Change Logs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download : &lt;a href="http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.0.15855-win32-svn-1.6.0.msi?download" target="_blank"&gt;TortoiseSVN-1.6.0.15855-win32-svn-1.6.0.msi&lt;/a&gt;&lt;br /&gt;Download : &lt;a href="http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.0.15855-x64-svn-1.6.0.msi?download" target="_blank"&gt;TortoiseSVN-1.6.0.15855-x64-svn-1.6.0.msi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-3189117339616718007?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/3189117339616718007/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/tortoisesvn-16015855-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3189117339616718007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3189117339616718007'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/tortoisesvn-16015855-released.html' title='TortoiseSVN-1.6.0.15855 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4619388724320474917</id><published>2009-03-31T09:56:00.000+09:00</published><updated>2011-01-30T14:09:15.993+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Version Control'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='버전관리시스템'/><title type='text'>Subversion 1.6 Released!!</title><content type='html'>What's New in Subversion 1.6&lt;br /&gt;&lt;ul&gt;    &lt;li&gt;Improved handling of authentication data&lt;/li&gt;    &lt;li&gt;Repository root relative URLs&lt;/li&gt;    &lt;li&gt;Improvements to svn:externals&lt;/li&gt;    &lt;li&gt;Detection of tree conflicts&lt;/li&gt;    &lt;li&gt;Filesystem storage improvements&lt;/li&gt;    &lt;li&gt;Ctypes Python Bindings&lt;/li&gt;    &lt;li&gt;Improved interactive conflict resolution&lt;/li&gt;    &lt;li&gt;Sparse directory exclusion&lt;/li&gt;    &lt;li&gt;Logging support for svnserve&lt;/li&gt;    &lt;li&gt;New public HTTP URI syntax for examining history&lt;/li&gt;    &lt;li&gt;Command-line client improvements&lt;/li&gt;    &lt;li&gt;API changes, improvements, and much language bindings work&lt;/li&gt;    &lt;li&gt;More than 65 new bug fixes, enhancements&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://subversion.tigris.org/" target="_blank"&gt;Subversion website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://subversion.tigris.org/svn_1.6_releasenotes.html" target="_blank"&gt;Subversion 1.6 Release Note&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4619388724320474917?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4619388724320474917/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/subversion-16-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4619388724320474917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4619388724320474917'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/subversion-16-released.html' title='Subversion 1.6 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1655024402903818177</id><published>2009-03-31T09:00:00.000+09:00</published><updated>2011-01-30T14:09:15.935+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.04 beta 버전이 공개 되었다.</title><content type='html'>기나긴 Alpha 딱지를 떼고 Beta 딱지를 붙이고 나왔다.&lt;br /&gt;&lt;br /&gt;공개된 일정데로라면 다음 버전인 1.05 버전에서 Beta 딱지도 떼고 정식이 된다.&lt;br /&gt;&lt;br /&gt;이번 버전에서 바뀐 점은 아래와 같다. (출처: &lt;a href="http://forge.mysql.com/wiki/Connector_C%2B%2B#MySQL_Connector.2FC.2B.2B_1.0.4_Beta_.28not_yet_published_-_scheduled:_30.03.2009.29" target="_blank"&gt;MySQL site&lt;/a&gt;)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Prepared support for upcoming Connector/C. (Georg)&lt;/li&gt;&lt;li&gt;Added Windows GUI (MSI) installer (Georg)&lt;/li&gt;&lt;li&gt;Bumping up CMake minimum version requirement from 2.4.2 to 2.6.2. We need the latest version for Windows. (Lawrin)&lt;/li&gt;&lt;li&gt;Added "metadataUseInfoSchema" to connection propery map which allows you to control the use of the INFORMATION_SCHEMA for meta data. (Andrey)&lt;/li&gt;&lt;li&gt;Fixed a bug in all implementations of ResultSet::relative() which was giving wrong return value although positioning was working correctly. (Andrey)&lt;/li&gt;&lt;li&gt;Fixed a leak in MySQL_PreparedResultSet when the result was containing a BLOB column. Andrey)&lt;/li&gt;&lt;li&gt;Implemented MySQL_ConnectionMetaData::supportsConvert(from, to). (Andrey)&lt;/li&gt;&lt;li&gt;Introduced sql::DataType::YEAR to complement MySQL's YEAR type. (Andrey)&lt;/li&gt;&lt;li&gt;Introduced PreparedStatement::getMetaData(). (Andrey)&lt;/li&gt;&lt;li&gt;Introduced ResultSetMetaData::isZerofill(), which is not in the JDBC specification. (Andrey)&lt;/li&gt;&lt;li&gt;Fixed all implementations of ResultSet::isNull() to check whether the current position is on a real row, not isBeforeFirst() nor isAfterLast(), like all getXXX methods do. (Andrey)&lt;/li&gt;&lt;li&gt;Implementation for MySQL_DatabaseMetaData::getProcedures() when INFORMATION_SCHEMA is asked not to be used. (Andrey)&lt;/li&gt;&lt;li&gt;Removed MySQL_DatabaseMetaData::getProcedureColumns() from the interface. Until now it was returning always an empty result set. Full implementation will be added at a later stage. (Andrey)&lt;/li&gt;&lt;li&gt;Changed a bunch of methods of DatabaseMetaData()::getXXX, which returned `int` to return `unsigned int` because it makes more sense. (Andrey) &lt;/li&gt;&lt;/ul&gt;이번 버전 부터는 윈도우즈 상에서 Installer 를 지원한다. 어떤 형식으로 설치가 되는지는 실험을 해 봐야겠다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge.mysql.com/wiki/Connector_C%2B%2B" target="_blank"&gt;MySQL Connector/C++&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/connector/cpp/1.0.html" target="_blank"&gt;MySQL Connector/C++ Download&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1655024402903818177?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1655024402903818177/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-104-beta-%EB%B2%84%EC%A0%84%EC%9D%B4-%EA%B3%B5%EA%B0%9C-%EB%90%98%EC%97%88%EB%8B%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1655024402903818177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1655024402903818177'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-104-beta-%EB%B2%84%EC%A0%84%EC%9D%B4-%EA%B3%B5%EA%B0%9C-%EB%90%98%EC%97%88%EB%8B%A4.html' title='MySQL Connector/C++ 1.04 beta 버전이 공개 되었다.'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7646796839359110622</id><published>2009-03-30T00:54:00.000+09:00</published><updated>2011-01-30T14:09:15.881+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='win32API'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>윈도우가 보여지고 사라질때 에니메이션 효과 주기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;AnimateWindow&lt;br /&gt;&lt;br /&gt;윈도우에 효과를 주어 사라지고 등장하게 해 주는 API 이다.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="568" height="346"&gt;&lt;param name="wmode" value="transparent"/&gt;&lt;param name="movie" value="http://neodreamer.tistory.com/attachment/XcmqtjASUs.swf"/&gt;&lt;!--[if !IE]&gt; &lt;--&gt;&lt;object type="application/x-shockwave-flash" wmode="transparent" data="http://neodreamer.tistory.com/attachment/XcmqtjASUs.swf" width="568" height="346"&gt;&lt;p&gt;&lt;a href="http://neodreamer.tistory.com/attachment/XcmqtjASUs.swf"&gt;[Flash] http://neodreamer.tistory.com/attachment/XcmqtjASUs.swf&lt;/a&gt;&lt;/p&gt;&lt;/object&gt;&lt;!--&gt; &lt;![endif]--&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;함수 설명 ( 출처 : &lt;a href="http://msdn.microsoft.com/en-us/library/ms632669%28VS.85%29.aspx" target="_blank"&gt;MSDN&lt;/a&gt; )&lt;br /&gt;&lt;pre&gt;Syntax&lt;br /&gt;&lt;br /&gt;    BOOL AnimateWindow(&lt;br /&gt;        HWND hwnd,&lt;br /&gt;        DWORD dwTime,&lt;br /&gt;        DWORD dwFlags&lt;br /&gt;    );&lt;br /&gt;&lt;/pre&gt;&lt;p id="more-275-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '275-0','Parameter 설명 보기','Parameter 설명 감추기'); return false;} else {document.getElementById('content-275-0').style.display='';}"&gt;      Parameter 설명 보기&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-275-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt;&lt;pre&gt;Parameters&lt;br /&gt;&lt;br /&gt;    hwnd&lt;br /&gt;        [in] Handle to the window to animate.&lt;br /&gt;            The calling thread must own this window. &lt;br /&gt;    dwTime&lt;br /&gt;        [in] Specifies how long it takes to play the animation, in milliseconds.&lt;br /&gt;            Typically, an animation takes 200 milliseconds to play. &lt;br /&gt;    dwFlags&lt;br /&gt;        [in] Specifies the type of animation.&lt;br /&gt;            This parameter can be one or more of the following values.&lt;br /&gt;            Note that, by default, these flags take effect when showing a window.&lt;br /&gt;            To take effect when hiding a window,&lt;br /&gt;            use AW_HIDE and a logical OR operator with the appropriate flags.&lt;br /&gt;&lt;br /&gt;        AW_SLIDE&lt;br /&gt;            Uses slide animation. By default, roll animation is used.&lt;br /&gt;            This flag is ignored when used with AW_CENTER. &lt;br /&gt;        AW_ACTIVATE&lt;br /&gt;            Activates the window. Do not use this value with AW_HIDE. &lt;br /&gt;        AW_BLEND&lt;br /&gt;            Uses a fade effect.&lt;br /&gt;            This flag can be used only if hwnd is a top-level window. &lt;br /&gt;        AW_HIDE&lt;br /&gt;            Hides the window. By default, the window is shown. &lt;br /&gt;        AW_CENTER&lt;br /&gt;            Makes the window appear to collapse inward&lt;br /&gt;            if AW_HIDE is used or expand outward if the AW_HIDE is not used. &lt;br /&gt;            The various direction flags have no effect. &lt;br /&gt;        AW_HOR_POSITIVE&lt;br /&gt;            Animates the window from left to right.&lt;br /&gt;            This flag can be used with roll or slide animation. &lt;br /&gt;            It is ignored when used with AW_CENTER or AW_BLEND.&lt;br /&gt;        AW_HOR_NEGATIVE&lt;br /&gt;            Animates the window from right to left.&lt;br /&gt;            This flag can be used with roll or slide animation. &lt;br /&gt;            It is ignored when used with AW_CENTER or AW_BLEND.&lt;br /&gt;        AW_VER_POSITIVE&lt;br /&gt;            Animates the window from top to bottom.&lt;br /&gt;            This flag can be used with roll or slide animation. &lt;br /&gt;            It is ignored when used with AW_CENTER or AW_BLEND. &lt;br /&gt;        AW_VER_NEGATIVE&lt;br /&gt;            Animates the window from bottom to top.&lt;br /&gt;            This flag can be used with roll or slide animation. &lt;br /&gt;            It is ignored when used with AW_CENTER or AW_BLEND. &lt;br /&gt;&lt;/pre&gt; &lt;/div&gt;&lt;br /&gt;첫 번째 인자인 hwnd 는 효과를 적용하기위한 윈도우의 핸들이다.&lt;br /&gt;&lt;br /&gt;두 번째 인자인 dwTime 은 지정된 효과를 수행할 시간으로 밀리세컨드 단위로 입력한다. 입력값이 작을 수록 에니메이션 효과의 시간이 짧아 지므로 에니메이션이 빠르게 동작한다.&lt;br /&gt;&lt;br /&gt;세 번째 인자는 효과의 종류이다.&lt;br /&gt;&lt;ul&gt;        &lt;li&gt;AW_SLIDE : 기본 인자로 에니메이션 효과를 의미하며 생략해도 슬리이딩 효과가 있는 것 같다. AW_CENTER 가 함께 적용되면 무시된다.&lt;/li&gt;        &lt;li&gt;AW_ACTIVATE : 윈도우을 활성화 한다. AW_HIDE와 사용하지 않는다.&lt;/li&gt;        &lt;li&gt;AW_BLEND : Fading 효과&lt;/li&gt;        &lt;li&gt;AW_HIDE : 윈도우를 사라지게 한다.&lt;/li&gt;        &lt;li&gt;AW_CENTER : 윈도우의 가운데 점을 기준으로 효과를 적용한다.&lt;/li&gt;        &lt;li&gt;AW_HOR_POSITIVE : 윈도우를 좌에서 우로 사라지게 또는 보이게 함.&lt;/li&gt;        &lt;li&gt;AW_HOR_NEGATIVE : 윈도우를 우에서 좌로 사라지게 또는 보이게 함.&lt;/li&gt;        &lt;li&gt;AW_VER_POSITIVE : 윈도우를 위에서 아래로 사라지게 또는 보이게 함.&lt;/li&gt;        &lt;li&gt;AW_VER_NEGATIVE : 윈도우를 아래에서 위로 사라지게 또는 보이게 함.&lt;/li&gt;&lt;/ul&gt;아래 소스는 이 글 위에 포함되어 있는 플래시를 만들면서 작성한 코드이다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;//---------------------------------------------------------------------------void __fastcall TfrmMain::btnBlendClick(TObject *Sender){	// Blending    AnimateWindow( Handle, 1000, AW_HIDE | AW_BLEND );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_BLEND );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnCenterClick(TObject *Sender){	// Center    AnimateWindow( Handle, 1000, AW_HIDE | AW_CENTER );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_CENTER );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnHPosClick(TObject *Sender){	// Horizontal Positive    AnimateWindow( Handle, 1000, AW_HIDE | AW_HOR_POSITIVE );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_HOR_POSITIVE );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnHNegClick(TObject *Sender){	// Horizontal Negative    AnimateWindow( Handle, 1000, AW_HIDE | AW_HOR_NEGATIVE );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_HOR_NEGATIVE );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnVPosClick(TObject *Sender){	// Vertical Positive    AnimateWindow( Handle, 1000, AW_HIDE | AW_VER_POSITIVE );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_VER_POSITIVE );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnVNegClick(TObject *Sender){	// Vertical Negative    AnimateWindow( Handle, 1000, AW_HIDE | AW_VER_NEGATIVE );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_VER_NEGATIVE );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnHPosVPosClick(TObject *Sender){    AnimateWindow( Handle, 1000, AW_HIDE | AW_HOR_POSITIVE | AW_VER_POSITIVE );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_HOR_POSITIVE | AW_VER_POSITIVE );}//---------------------------------------------------------------------------void __fastcall TfrmMain::btnHNegVNegClick(TObject *Sender){    AnimateWindow( Handle, 1000, AW_HIDE | AW_HOR_NEGATIVE | AW_VER_NEGATIVE );    Sleep(1000);    AnimateWindow( Handle, 1000, AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_NEGATIVE );}//---------------------------------------------------------------------------&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7646796839359110622?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7646796839359110622/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EC%9C%88%EB%8F%84%EC%9A%B0%EA%B0%80-%EB%B3%B4%EC%97%AC%EC%A7%80%EA%B3%A0-%EC%82%AC%EB%9D%BC%EC%A7%88%EB%95%8C-%EC%97%90%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%ED%9A%A8%EA%B3%BC-%EC%A3%BC%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7646796839359110622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7646796839359110622'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EC%9C%88%EB%8F%84%EC%9A%B0%EA%B0%80-%EB%B3%B4%EC%97%AC%EC%A7%80%EA%B3%A0-%EC%82%AC%EB%9D%BC%EC%A7%88%EB%95%8C-%EC%97%90%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%ED%9A%A8%EA%B3%BC-%EC%A3%BC%EA%B8%B0.html' title='윈도우가 보여지고 사라질때 에니메이션 효과 주기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6299168490019169097</id><published>2009-03-23T17:12:00.000+09:00</published><updated>2011-01-30T14:09:15.824+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='openGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>OpenGL 로 간단하게 2D Drawing 하는 기본 소스</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;OpenGL 로 간단하게 2D 드로잉 하는 걸 공부하고 있는데 진도가 느리다.&lt;br /&gt;&lt;br /&gt;아래 소스는 Visual C++ 에서 OpenGL을 이용하여 간단하게 2D 드로잉을 하는 기본 소스이다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;// stdafx.h////////////////////////////////////////////////////////////////////////////////// for OpenGL#pragma comment (lib, "opengl32.lib")#pragma comment (lib, "glu32.lib")#pragma comment (lib, "glaux.lib")#include &amp;lt;gl/GL.h&amp;gt;#include &amp;lt;gl/GLU.h&amp;gt;#include &amp;lt;gl/GLAux.h&amp;gt;// for OpenGL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Header	HGLRC	m_hRC; //Rendering Context	CDC*	m_pDC; //Device Context	int		m_nPixelFormat;	BOOL InitializeOpenGL();	void RenderScene();		////////////////////////////////////////////////////////////////////////////////// Sourceint CGLTestView::OnCreate(LPCREATESTRUCT lpCreateStruct){	if (CView::OnCreate(lpCreateStruct) == -1)		return -1;	InitializeOpenGL();	return 0;}BOOL CGLTestView::InitializeOpenGL(){	//Get a DC for the Client Area	m_pDC = new CClientDC(this);	//Failure to Get DC	if(m_pDC == NULL)	{		MessageBox( _T("Error Obtaining DC") );		return FALSE;	}	////////////////////////////////////////////////////////////////////////////////	// Setup Pixel Format	static PIXELFORMATDESCRIPTOR pfd = 	{		sizeof(PIXELFORMATDESCRIPTOR),	// size of this pfd		1,								// version number		PFD_DRAW_TO_WINDOW |            // support window		PFD_SUPPORT_OPENGL |			// support OpenGL		PFD_DOUBLEBUFFER,				// double buffered		PFD_TYPE_RGBA,					// RGBA type		32,								// color depth		0, 0, 0, 0, 0, 0,				// color bits ignored		0,								// no alpha buffer		0,								// shift bit ignored		0,								// no accumulation buffer		0, 0, 0, 0,						// accumulation bits ignored		32,								// z-buffer		0,								// no stencil buffer		0,								// no auxiliary buffer		PFD_MAIN_PLANE,					// main layer		0,								// reserved		0, 0, 0							// layer masks ignored	};	int m_nPixelFormat = ::ChoosePixelFormat( m_pDC-&amp;gt;GetSafeHdc(), &amp;amp;pfd );	if ( m_nPixelFormat == 0 )	{		return FALSE;	}	if ( ::SetPixelFormat( m_pDC-&amp;gt;GetSafeHdc(), m_nPixelFormat, &amp;amp;pfd ) == FALSE )	{		return FALSE;	}	////////////////////////////////////////////////////////////////////////////////	//Create Rendering Context	m_hRC = ::wglCreateContext( m_pDC-&amp;gt;GetSafeHdc() );	//Failure to Create Rendering Context	if( m_hRC == 0 )	{		MessageBox( _T("Error Creating RC") );		return FALSE;	}	//Make the RC Current	if( ::wglMakeCurrent ( m_pDC-&amp;gt;GetSafeHdc (), m_hRC ) == FALSE )	{		MessageBox( _T("Error making RC Current") );		return FALSE;	}	//Specify Black as the clear color	::glClearColor( 0.0f, 0.0f, 0.0f, 0.0f);	//Specify the back of the buffer as clear depth	//::glClearDepth( 1.0f );	//Enable Depth Testing	//::glEnable( GL_DEPTH_TEST );	::glDisable( GL_DEPTH_TEST ); // For 2D	return TRUE;}void CGLTestView::OnDraw(CDC* /*pDC*/){	CGLTestDoc* pDoc = GetDocument();	ASSERT_VALID(pDoc);	if (!pDoc)		return;	// 컬러버퍼와 깊이버퍼를 초기화	glClearColor(0.0f, 0.0f, 0.0f, 0.0f);	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    RenderScene();	// Tell OpenGL to flush its pipeline	::glFinish();	// Now Swap the buffers	::SwapBuffers( m_pDC-&amp;gt;GetSafeHdc() );}void CGLTestView::RenderScene(){	glBegin(GL_TRIANGLES);	{		glVertex2f(  0.0f,  0.0f );		glVertex2f( 20.0f,  0.0f );		glVertex2f(  0.0f, 20.0f );	}	glEnd();}void CGLTestView::OnSize(UINT nType, int cx, int cy){	CView::OnSize(nType, cx, cy);	GLdouble aspect_ratio; // width/height ratio	if ( 0 &amp;gt;= cx || 0 &amp;gt;= cy )	{		return;	}	// select the full client area	::glViewport(0, 0, cx, cy);	// compute the aspect ratio	// this will keep all dimension scales equal	aspect_ratio = (GLdouble)cx/(GLdouble)cy;	// select the projection matrix and clear it	::glMatrixMode(GL_PROJECTION);	::glLoadIdentity();	// select the viewing volume	//::gluPerspective(45.0f, aspect_ratio, .01f, 200.0f);	GLfloat nRange = 50.0f;	if (cx &amp;lt;= cy)	{		glOrtho(-nRange, nRange, -nRange * cy / cx,			nRange * cy / cx, -nRange, nRange );	}	else	{		glOrtho(-nRange * cx / cy,			nRange * cx / cy,			-nRange, nRange, -nRange, nRange);	}	// switch back to the modelview matrix and clear it	::glMatrixMode(GL_MODELVIEW);	::glLoadIdentity();}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XHaRKFCrZm.PNG" style="width:544px;height:432px;" alt="결과 화면"  /&gt;&lt;p class="cap1"&gt;결과 화면&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;glut를 사용하지 않고 기본으로 포함되어있는 OpenGL 만을 이용한 소스이다. 분석을 하여 나중에는 glut까지 이용하는 코드를 작성해 보아야겠다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XRsJw2Gqav.7z/GLTest.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; GLTest.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6299168490019169097?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6299168490019169097/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/opengl-%EB%A1%9C-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-2d-drawing-%ED%95%98%EB%8A%94-%EA%B8%B0%EB%B3%B8-%EC%86%8C%EC%8A%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6299168490019169097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6299168490019169097'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/opengl-%EB%A1%9C-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-2d-drawing-%ED%95%98%EB%8A%94-%EA%B8%B0%EB%B3%B8-%EC%86%8C%EC%8A%A4.html' title='OpenGL 로 간단하게 2D Drawing 하는 기본 소스'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2475462987810096287</id><published>2009-03-23T14:11:00.000+09:00</published><updated>2011-01-30T14:09:15.768+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>SQLite 64비트에서 테스트...</title><content type='html'>직접 만든 SQLite 64비트용 정적라이브러리가 정상 동작을 하는지 테스트 해 보았다.&lt;br /&gt;&lt;br /&gt;컴파일과 링크에서 경고 메세지가 나오기는 하지만 동작은 하였다.&lt;br /&gt;&lt;br /&gt;아래 코드는 테스트에 사용한 코드이다.&lt;br /&gt;이전에 C++Builder 에서 테스트한 코드와 크게 다르지 않다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="20" cols="30"&gt;void CSQLiteTestView::OnSqliteTest(){	sqlite3* 		pSQLite3 	= NULL;	sqlite3_stmt* 	pStmt 		= NULL;	char*			szErrMsg 	= NULL;	const char* 	szErr;	CString strMsg;	// Open Database	int rst = sqlite3_open( "test.db", &amp;amp;pSQLite3 );	TRACE( L"Test Start...\n" );	if ( rst )	{		strMsg.Format( L"\t Can't open database: %s\n", 			sqlite3_errmsg16( pSQLite3 ) );		TRACE( strMsg );	}	else	{		TRACE( L"\t Database (test.db) Opened...\n" );		std::string strQuery;		// 테이블 생성		strQuery = "CREATE TABLE IF NOT EXISTS TestTable ("			"	 name 		VARCHAR(20)"			"	,age	    int"			"	,country	VARCHAR(20)"			")";		rst = sqlite3_exec(pSQLite3, strQuery.c_str(), NULL, 0, &amp;amp;szErrMsg);		if ( rst == SQLITE_OK )		{			TRACE( L"\t Test Table Created... OK\n" );		}		else		{			TRACE( L"\t Test Table Created... FAILE\n" );			strMsg.Format( L"\t\t Error %d : %s", 				sqlite3_errcode( pSQLite3 ), 				sqlite3_errmsg16( pSQLite3 ) );			TRACE( strMsg );		}		// Inserting...		TRACE( L"\t Inserting... \n" );		strQuery = "INSERT INTO TestTable ( name, age, country) VALUES ( ?, ?, ? );";		if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), 			(int)strQuery.size(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )		{			for ( int i = 0; i &amp;lt; 10; ++i )			{				CStringA str;				std::string strName;				str.Format( "name%d", i );				strName = str;				sqlite3_bind_text( pStmt, 1, strName.c_str(), 					(int)strName.size(), NULL );				sqlite3_bind_int(  pStmt, 2, i );				std::string strCountry;				sqlite3_bind_text( pStmt, 3, strCountry.c_str(), 					(int)strCountry.size(), NULL );				sqlite3_step( pStmt );				INT64 nLast = sqlite3_last_insert_rowid( pSQLite3 );				strMsg.Format( L"\t\t Inserted... OK (%d)\n", nLast );				TRACE( strMsg );				sqlite3_reset( pStmt );			}			sqlite3_finalize( pStmt );		}		else		{			TRACE( L"\t Inserting... FAILE\n" );			strMsg.Format( L"\t\t Error %d : %s", 				sqlite3_errcode( pSQLite3 ), 				sqlite3_errmsg16( pSQLite3 ) );			TRACE( strMsg );		}		TRACE( L"\t Selecting... \n" );		strQuery = "SELECT COUNT(*) FROM TestTable;";		if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), 			(int)strQuery.size(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )		{			int nRow = sqlite3_data_count( pStmt );			int nCol = sqlite3_column_count( pStmt );			const char* col1name = sqlite3_column_name( pStmt, 0 );			int nRowCnt = 0;			while ( sqlite3_step( pStmt ) == SQLITE_ROW )			{				++nRowCnt;				int Count = sqlite3_column_int( pStmt, 0 );				strMsg.Format( L"\t\t Row Count ... %d\n", Count );				TRACE( strMsg );			}		}		else		{			TRACE( L"\t Selecting... FAILE\n" );			strMsg.Format( L"\t\t Error %d : %s", 				sqlite3_errcode( pSQLite3 ), 				sqlite3_errmsg16( pSQLite3 ) );			TRACE( strMsg );		}		// Updating...		TRACE( L"\t Updating... \n" );		strQuery = "UPDATE TestTable SET country = :country WHERE age &amp;lt; :age;";		if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), 			(int)strQuery.size(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )		{			sqlite3_bind_text( pStmt, 1, "KOREA", 5, NULL );			sqlite3_bind_int( pStmt, 2, 5 );			sqlite3_step( pStmt );			int nUpdated = sqlite3_changes( pSQLite3 );			strMsg.Format( L"\t\t Updated... %d Rows\n", nUpdated );			TRACE( strMsg );		}		else		{			TRACE( L"\t Updating... FAILE\n" );			strMsg.Format( L"\t\t Error %d : %s", 				sqlite3_errcode( pSQLite3 ), 				sqlite3_errmsg16( pSQLite3 ) );			TRACE( strMsg );		}		// Deleting...		TRACE( L"\t Deleting... \n" );		strQuery = "DELETE FROM TestTable WHERE age &amp;lt; :age;";		if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), 			(int)strQuery.size(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )		{			sqlite3_bind_int( pStmt, 1, 2 );			sqlite3_step( pStmt );			int nUpdated = sqlite3_changes( pSQLite3 );			strMsg.Format( L"\t\t Deleted... %d Rows\n", nUpdated );			TRACE( strMsg );		}		else		{			TRACE( L"\t Updating... FAILE\n" );			strMsg.Format( L"\t\t Error %d : %s", 				sqlite3_errcode( pSQLite3 ), 				sqlite3_errmsg16( pSQLite3 ) );			TRACE( strMsg );		}		// 테이블 삭제		strQuery = "DROP TABLE IF EXISTS TestTable;";		rst = sqlite3_exec(pSQLite3, strQuery.c_str(), NULL, 0, &amp;amp;szErrMsg);		if ( rst == SQLITE_OK )		{			TRACE( L"\t Test Table Deleted... OK\n" );		}		else		{			TRACE( L"\t Test Table Deleted... FAILE\n" );			strMsg.Format( L"\t\t Error %d : %s\n", 				sqlite3_errcode( pSQLite3 ), 				sqlite3_errmsg16( pSQLite3 ) );			TRACE( strMsg );		}		sqlite3_close( pSQLite3 );		TRACE( L"\t Database (test.db) Closed...\n" );		pSQLite3 = NULL;	}	TRACE( L"Test End...\n" );}// 결과Test Start...	 Database (test.db) Opened...	 Test Table Created... OK	 Inserting... 		 Inserted... OK (1)		 Inserted... OK (2)		 Inserted... OK (3)		 Inserted... OK (4)		 Inserted... OK (5)		 Inserted... OK (6)		 Inserted... OK (7)		 Inserted... OK (8)		 Inserted... OK (9)		 Inserted... OK (10)	 Selecting... 		 Row Count ... 10	 Updating... 		 Updated... 5 Rows	 Deleting... 		 Deleted... 2 Rows	 Test Table Deleted... OK	 Database (test.db) Closed...Test End...&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;테스트에 사용 된 라이브러는 SQLite 3.6.11 버전 소스를 갖고 만든 32비트 용과 64비트용 정적라이브러리를 사용하였다. 두 버전 모두 정상 동작을 하였다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2475462987810096287?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2475462987810096287/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/sqlite-64%EB%B9%84%ED%8A%B8%EC%97%90%EC%84%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2475462987810096287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2475462987810096287'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/sqlite-64%EB%B9%84%ED%8A%B8%EC%97%90%EC%84%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8.html' title='SQLite 64비트에서 테스트...'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8768722095066526224</id><published>2009-03-23T01:53:00.000+09:00</published><updated>2011-01-30T14:09:15.695+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>SQLite 테스트...</title><content type='html'>64bit SQLite 라이브러리를 테스트 하려고 했는데 잘 되지 않아서 우선 32bit 라이브러리를 테스트 해 보았다.&lt;br /&gt;&lt;br /&gt;동적 라이브러리와 정적 라이브러리를 테스트 해 보았는데 문제가 없었다.&lt;br /&gt;&lt;br /&gt;아래는 C++ Builder 에서 테스트한 소스이다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="30" cols="30"&gt;#include "SQLite3.h"#pragma link "sqlite3.lib"//#pragma link "SQLite_Static.lib"void TfrmMain::Test(){    sqlite3* 		pSQLite3 	= NULL;    sqlite3_stmt* 	pStmt 		= NULL;    char*			szErrMsg 	= NULL;    const char* 	szErr;    String strMsg;    // Open Database    int rst = sqlite3_open( "test.db", &amp;amp;pSQLite3 );    memProc-&amp;gt;Lines-&amp;gt;Clear();    memProc-&amp;gt;Lines-&amp;gt;Append( L"Test Start...\n" );    if ( rst )    {        strMsg.sprintf( L"\t Can't open database: %s\n", sqlite3_errmsg( pSQLite3 ) );        memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );    }    else    {    	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Database (test.db) Opened...\n" );        AnsiString strQuery;        // 테이블 생성        strQuery = "CREATE TABLE IF NOT EXISTS TestTable ("        	"	 name 		VARCHAR(20)"            "	,age	    int"            "	,country	VARCHAR(20)"            ")";        rst = sqlite3_exec(pSQLite3, strQuery.c_str(), NULL, 0, &amp;amp;szErrMsg);        if ( rst == SQLITE_OK )        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Test Table Created... OK\n" );        }        else        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Test Table Created... FAILE\n" );            strMsg.sprintf( L"\t\t Error %d : %s", sqlite3_errcode( pSQLite3 ), sqlite3_errmsg16( pSQLite3 ) );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        // Inserting...        memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Inserting... \n" );        strQuery = "INSERT INTO TestTable ( name, age, country) VALUES ( ?, ?, ? );";        if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), strQuery.Length(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )        {        	for ( int i = 0; i &amp;lt; 10; ++i )            {                AnsiString strName;                strName.sprintf( "name%d", i );                sqlite3_bind_text( pStmt, 1, strName.c_str(), strName.Length(), NULL );                sqlite3_bind_int(  pStmt, 2, i );                AnsiString strCountry;                sqlite3_bind_text( pStmt, 3, strCountry.c_str(), strCountry.Length(), NULL );                sqlite3_step( pStmt );                int nLast = sqlite3_last_insert_rowid( pSQLite3 );                strMsg.sprintf( L"\t\t Inserted... OK (%d)\n", nLast );                memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );                sqlite3_reset( pStmt );            }            sqlite3_finalize( pStmt );        }        else        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Inserting... FAILE\n" );            strMsg.sprintf( L"\t\t Error %d : %s", sqlite3_errcode( pSQLite3 ), sqlite3_errmsg16( pSQLite3 ) );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Selecting... \n" );        strQuery = "SELECT COUNT(*) FROM TestTable;";        if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), strQuery.Length(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )        {			int nRow = sqlite3_data_count( pStmt );            int nCol = sqlite3_column_count( pStmt );			const char* col1name = sqlite3_column_name( pStmt, 0 );            int nRowCnt = 0;            while ( sqlite3_step( pStmt ) == SQLITE_ROW )            {                ++nRowCnt;                int Count = sqlite3_column_int( pStmt, 0 );                strMsg.sprintf( L"\t\t Row Count ... %d\n", Count );                memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );            }        }        else        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Selecting... FAILE\n" );            strMsg.sprintf( L"\t\t Error %d : %s", sqlite3_errcode( pSQLite3 ), sqlite3_errmsg16( pSQLite3 ) );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        // Updating...        memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Updating... \n" );        strQuery = "UPDATE TestTable SET country = :country WHERE age &amp;lt; :age;";        if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), strQuery.Length(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )        {			sqlite3_bind_text( pStmt, 1, "KOREA", 5, NULL );            sqlite3_bind_int( pStmt, 2, 5 );            sqlite3_step( pStmt );            int nUpdated = sqlite3_changes( pSQLite3 );            strMsg.sprintf( L"\t\t Updated... %d Rows", nUpdated );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        else        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Updating... FAILE\n" );            strMsg.sprintf( L"\t\t Error %d : %s", sqlite3_errcode( pSQLite3 ), sqlite3_errmsg16( pSQLite3 ) );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        // Deleting...        memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Deleting... \n" );        strQuery = "DELETE FROM TestTable WHERE age &amp;lt; :age;";        if ( sqlite3_prepare_v2( pSQLite3, strQuery.c_str(), strQuery.Length(), &amp;amp;pStmt, &amp;amp;szErr ) == SQLITE_OK )        {            sqlite3_bind_int( pStmt, 1, 2 );            sqlite3_step( pStmt );            int nUpdated = sqlite3_changes( pSQLite3 );            strMsg.sprintf( L"\t\t Deleted... %d Rows", nUpdated );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        else        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Updating... FAILE\n" );            strMsg.sprintf( L"\t\t Error %d : %s", sqlite3_errcode( pSQLite3 ), sqlite3_errmsg16( pSQLite3 ) );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        // 테이블 삭제        strQuery = "DROP TABLE IF EXISTS TestTable;";        rst = sqlite3_exec(pSQLite3, strQuery.c_str(), NULL, 0, &amp;amp;szErrMsg);        if ( rst == SQLITE_OK )        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Test Table Deleted... OK\n" );        }        else        {        	memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Test Table Deleted... FAILE\n" );            strMsg.sprintf( L"\t\t Error %d : %s", sqlite3_errcode( pSQLite3 ), sqlite3_errmsg16( pSQLite3 ) );            memProc-&amp;gt;Lines-&amp;gt;Append( strMsg );        }        sqlite3_close( pSQLite3 );        memProc-&amp;gt;Lines-&amp;gt;Append( L"\t Database (test.db) Closed...\n" );        pSQLite3 = NULL;    }    memProc-&amp;gt;Lines-&amp;gt;Append( L"Test End...\n" );}//---------------------------------------------------------------------------// OutputTest Start...	 Database (test.db) Opened...	 Test Table Created... OK	 Inserting... 		 Inserted... OK (1)		 Inserted... OK (2)		 Inserted... OK (3)		 Inserted... OK (4)		 Inserted... OK (5)		 Inserted... OK (6)		 Inserted... OK (7)		 Inserted... OK (8)		 Inserted... OK (9)		 Inserted... OK (10)	 Selecting... 		 Row Count ... 10	 Updating... 		 Updated... 5 Rows	 Deleting... 		 Deleted... 2 Rows	 Test Table Deleted... OK	 Database (test.db) Closed...Test End...&lt;/textarea&gt;&lt;br /&gt;위의 테스트 소스로 64bit 에서도 테스트를 해 보아야겠다.&lt;br /&gt;&lt;br /&gt;테스트 프로젝트&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XbcGzdTAwD.7z/SQLiteTest.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLiteTest.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8768722095066526224?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8768722095066526224/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/sqlite-%ED%85%8C%EC%8A%A4%ED%8A%B8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8768722095066526224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8768722095066526224'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/sqlite-%ED%85%8C%EC%8A%A4%ED%8A%B8.html' title='SQLite 테스트...'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1273867939544552700</id><published>2009-03-18T09:14:00.000+09:00</published><updated>2011-01-30T14:09:15.640+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='VisualSVN Server'/><title type='text'>무료 SVN Server - VisualSVN Server 1.6.4 Released</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://cfs9.tistory.com/upload_control/download.blog?fhandle=YmxvZzEzNDk1NkBmczkudGlzdG9yeS5jb206L2F0dGFjaC8wLzM2MDAwMDAwMDAwOC5QTkc=" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;이번 버전에서 바뀐 내용&lt;br /&gt;Version 1.6.4 (March 16, 2009)&lt;br /&gt;&lt;UL&gt;    &lt;LI&gt;New VisualSVNServerHooks parameters: smtp-port, smtp-user, smtp-password and smtp-ssl are added.&lt;/LI&gt;    &lt;LI&gt;mod_log_config Apache module is included into the installation package.&lt;/LI&gt;    &lt;LI&gt;Updated to Subversion 1.5.6. For further details please see:&lt;BR&gt;      http://svn.collab.net/repos/svn/tags/1.5.6/CHANGES&lt;/LI&gt;&lt;/UL&gt;&lt;a style="" href="http://neodreamer.tistory.com/106" target="_blank"&gt;2008/06/19 - [Dev Story/Tips] - 그림으로 보는 간단한 개발서버 구축하기&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(127, 127, 255);" href="http://neodreamer.tistory.com/107" target="_blank"&gt;2008/06/19 - [Dev Story/Tips] - VisualSVN Server 와 TortoiseSVN을 이용하기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://www.visualsvn.com/" target="_blank"&gt;VisualSVN Official website&lt;/a&gt;&lt;br /&gt;&lt;a style="" href="http://www.visualsvn.com/server/" target="_blank"&gt;VisualSVN Server page&lt;/a&gt;&lt;br /&gt;&lt;a style="" href="http://www.visualsvn.com/server/download/" target="_blank"&gt;VisualSVN Server Download Pag&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1273867939544552700?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1273867939544552700/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EB%AC%B4%EB%A3%8C-svn-server-visualsvn-server-164.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1273867939544552700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1273867939544552700'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EB%AC%B4%EB%A3%8C-svn-server-visualsvn-server-164.html' title='무료 SVN Server - VisualSVN Server 1.6.4 Released'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6817757245724657886</id><published>2009-03-17T17:45:00.000+09:00</published><updated>2011-01-30T14:09:15.555+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='#pragma'/><category scheme='http://www.blogger.com/atom/ns#' term='Library link'/><category scheme='http://www.blogger.com/atom/ns#' term='#pragma link'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='#pragma comment'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>코드로 라이브러리 파일 포함시키기</title><content type='html'>C++ Builder 든 Visual C++ 이든 프로젝트 옵션에서 라이브러리를 포함시킬 수 있다. 프로젝트 옵션에 추가하는 방법 외에 코드로 추가하려면 #pragma 의사코드를 사용하면 된다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;#pragma link "xxx.lib"//또는#pragma comment ( "lib", "xxx.lib" )&lt;/textarea&gt;&lt;br /&gt;위의 두 #pragma 구문은 같은 의미 이며, #pragma link 는 C++ Builder 에서만 동작을하고 #pragma comment 는 두 컴파일러 모두에서 동작을 한다.&lt;br /&gt;&lt;br /&gt;프록젝트 옵션에 라이브러리를 추가하는 방법보다 위처럼 코드로 추가를 하면 빌드 타입에 따라 어떤 라이브러리가 링크가 되는지 쉽게 파악할 수 있다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;#ifdef _DEBUG	#pragma comment ( lib, "A_debug.lib" );	#pragma comment ( lib, "B_debug.lib" );	#pragma comment ( lib, "C_debug.lib" );#else // _DEBUG	#pragma comment ( lib, "A_release.lib" );	#pragma comment ( lib, "B_release.lib" );	#pragma comment ( lib, "C_release.lib" );#endif // _DEBUG&lt;/textarea&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6817757245724657886?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6817757245724657886/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EC%BD%94%EB%93%9C%EB%A1%9C-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%ED%8C%8C%EC%9D%BC-%ED%8F%AC%ED%95%A8%EC%8B%9C%ED%82%A4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6817757245724657886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6817757245724657886'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EC%BD%94%EB%93%9C%EB%A1%9C-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%ED%8C%8C%EC%9D%BC-%ED%8F%AC%ED%95%A8%EC%8B%9C%ED%82%A4%EA%B8%B0.html' title='코드로 라이브러리 파일 포함시키기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7254418084142405219</id><published>2009-03-12T17:05:00.000+09:00</published><updated>2011-01-30T14:09:15.471+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='openGL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>C++ Builder 에서 OpenGL을 사용하기 위한 기본 뼈대</title><content type='html'>원문 주소 : &lt;a href="http://edn.embarcadero.com/article/10528" target="_blank"&gt;http://edn.embarcadero.com/article/10528&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;C++ Builder 의 TForm 위에 OpenGL을 드로잉하기 위한 기본적인 뼈대 이다. C++ Builder 에서 OpenGL을 사용하기 위한 방법을 찾다가 발견한 정보이다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="10"&gt;///////////////////////////////////////////////////////////////////////////////glskeleton.h///////////////////////////////////////////////////////////////////////////////--------------------------------------------------------------------------- #include &amp;lt;vcl/vcl.h&amp;gt; //--------------------------------------------------------------------------- #ifndef GLSkeletonH #define GLSkeletonH //--------------------------------------------------------------------------- #include &amp;lt;vcl/Classes.hpp&amp;gt; #include &amp;lt;vcl/Controls.hpp&amp;gt; #include &amp;lt;vcl/StdCtrls.hpp&amp;gt; #include &amp;lt;vcl/Forms.hpp&amp;gt; #include &amp;lt;gl/gl.h&amp;gt; #include &amp;lt;gl/glu.h&amp;gt; //--------------------------------------------------------------------------- class TForm1 : public TForm { published:    // IDE-managed Components     void __fastcall FormCreate(TObject *Sender);     void __fastcall FormDestroy(TObject *Sender);     void __fastcall FormResize(TObject *Sender);     void __fastcall FormPaint(TObject *Sender); private:    // User declarations     HDC hdc;    HGLRC hrc;     int PixelFormat; public:        // User declarations     fastcall TForm1(TComponent* Owner);     void __fastcall IdleLoop(TObject*, bool&amp;amp;);     void __fastcall RenderGLScene();     void __fastcall SetPixelFormatDescriptor(); }; /////////////////////////////////////////////////////////////////////////////// glskeleton.cpp///////////////////////////////////////////////////////////////////////////////--------------------------------------------------------------------------- extern TForm1 *Form1; //--------------------------------------------------------------------------- #endif //--------------------------------------------------------------------------- #include &amp;lt;vcl/vcl.h&amp;gt; #pragma hdrstop #include "GLSkeleton.h" //--------------------------------------------------------------------------- #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner)     : TForm(Owner) {     Application-&amp;gt;OnIdle = IdleLoop;     _control87(MCW_EM, MCW_EM);} //--------------------------------------------------------------------------- void __fastcall TForm1::IdleLoop(TObject*, bool&amp;amp; done) {      done = false;      RenderGLScene();      SwapBuffers(hdc); } //--------------------------------------------------------------------------- void __fastcall TForm1::RenderGLScene() {      //Place your OpenGL drawing code here} //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) {     hdc = GetDC(Handle);     SetPixelFormatDescriptor();     hrc = wglCreateContext(hdc);     wglMakeCurrent(hdc, hrc);     SetupRC(); } //--------------------------------------------------------------------------- void __fastcall TForm1::SetupRC() {     glClearColor(1.0f, 1.0f, 1.0f, 1.0f);     glClear(GL_COLOR_BUFFER_BIT);     glFlush(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) {     ReleaseDC(hdc);    wglMakeCurrent(hdc, NULL);     wglDeleteContext(hrc); } //--------------------------------------------------------------------------- void __fastcall TForm1::SetPixelFormatDescriptor() {     PIXELFORMATDESCRIPTOR pfd = {         sizeof(PIXELFORMATDESCRIPTOR),         1,         PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,         PFD_TYPE_RGBA,         24,         0,0,0,0,0,0,         0,0,         0,0,0,0,0,         32,         0,         0,         PFD_MAIN_PLANE,         0,         0,0,0         };     PixelFormat = ChoosePixelFormat(hdc, &amp;amp;pfd);     SetPixelFormat(hdc, PixelFormat, &amp;amp;pfd); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormResize(TObject *Sender) {     GLfloat nRange = 200.0f;     glViewport(0, 0, ClientWidth, ClientHeight);     glMatrixMode(GL_PROJECTION);     glLoadIdentity(); 	        if (ClientWidth &amp;lt;= ClientHeight)        glOrtho(-nRange, nRange, -nRange*ClientHeight/ClientWidth,        			nRange*ClientHeight/ClientWidth, -nRange, nRange);     else        glOrtho(-nRange*ClientWidth/ClientHeight, nRange*ClientWidth/ClientHeight,        			-nRange, nRange, -nRange, nRange);     glMatrixMode(GL_MODELVIEW);     glLoadIdentity(); } //---------------------------------------------------------------------------&lt;/textarea&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7254418084142405219?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7254418084142405219/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/c-builder-%EC%97%90%EC%84%9C-opengl%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EA%B8%B0%EB%B3%B8-%EB%BC%88%EB%8C%80.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7254418084142405219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7254418084142405219'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/c-builder-%EC%97%90%EC%84%9C-opengl%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EA%B8%B0%EB%B3%B8-%EB%BC%88%EB%8C%80.html' title='C++ Builder 에서 OpenGL을 사용하기 위한 기본 뼈대'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6207256708357842255</id><published>2009-03-12T09:50:00.000+09:00</published><updated>2011-01-30T14:09:15.386+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>Visual Studio에서 사용되는 확장자와 설명</title><content type='html'>&lt;span style="font-weight: bold;"&gt;윈도우즈 프로그램에서 사용되는 파일 확장자에 대한 설명&lt;/span&gt;&lt;ul&gt;&lt;li&gt;C&lt;br /&gt; C언어 소스 파일. C방식으로 컴파일된다. 만약 소스내에 C++코드가 있다면 확장자를 CPP로 변경하거나 컴파일시 옵션을 /TP로 설정한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;CPP(또는 CXX)&lt;br /&gt; C++언어 소스파일. C++방식으로 컴파일된다. 만약 확장자만 CPP이고 실제 내용이 C코드이면 확장자를 C로 변경하거나 컴파일시 옵션을 /Tc로 설정한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;H(또는 HPP, HXX)&lt;br /&gt; 헤더 파일. 이 파일은 함수의 원형선언, 클래스 정의, 상수정의를 위해 사용된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;INL&lt;br /&gt; 인라인 함수 파일. 이 파일에는 인라인 함수가 정의된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;RC와 RC2&lt;br /&gt; RC는 리소스 파일을 말하며 리소스 컴파일러(RC.EXE)에 의해 컴파일된다. 다이얼로그, 아이콘, 메뉴, 커서 등과 같은 리소스에 대한 정보가 기술되어 있다. RC2 또한 리소스에 대한 정보가 포함된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;DEF&lt;br /&gt; 모 듈 정의 파일(Module definition file). 프로젝트 유형에 따라 사용목적이 다른데 윈도우즈 또는 윈도우즈 NT 기반의 프로그램인 경우 익스포트되는 함수의 리스트, 힙(Hea p)크기, 세그먼트 속성 등을 지정한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Developer Studio가 생성하는 파일들에 대한 목록&lt;/span&gt;&lt;ul&gt;&lt;li&gt;APS&lt;br /&gt; 리소스 파일에 대한 바이너리 파일. App Studio에서 리소스 파일을 로딩하는데 사용된다.(로딩 속도 향상)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;BSC&lt;br /&gt; 소스 브라우저 정보 파일(Browser database file). 이 파일은 BSCMAKER.EXE를 실행할 때 SBR파일로부터 생성된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;CLW&lt;br /&gt; 클래스위저드 상태 파일. 클래스위저드를 사용하여 추가되는 메시지 핸들링 함수 등과 관련된 정보들이 포함된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;DSP&lt;br /&gt; 메이크 파일(MAK)과 동일한 목적의 파일로 VC++5.0에서 사용한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;DSW&lt;br /&gt; 워크스페이스 파일. 워크스페이스내의 각 프로젝트에 대한 엔트리 정보를 포함한 파일&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;PCH&lt;br /&gt; 프리컴파일 헤더 파일 (Precompiled header file). 이 파일은 컴파일 속도를 향상시키며 컴파일 옵션/Yc, /Yu 또는 /YX를 사용할 때 생성된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;PDB&lt;br /&gt; 프로그램 정보 파일(Program database file). 이 바이너리 파일은 컴파일링, 링킹 과정을 통해 얻어지는 디버깅 정보를 포함한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;SBR&lt;br /&gt; 소스 브라우저 파일(Source browser file). 이 파일은 소스 파일에 대한 상세한 정보들이 포함된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;WSP&lt;br /&gt; Workspace information file(16비트 버전)은 통합 개발 환경이 종료될때의 상태 정보를 포함한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;VCP&lt;br /&gt; Workspace information file(VC++ 2.X버전 또는 이후버전)은 통합개발 환경이 종료될 때의 상태 정보를 포함한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;EXP&lt;br /&gt; 익스포트 파일 (Export file). 익스포트되는 힘수와 데이터 정보를 포함한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;MAP&lt;br /&gt; 맵 파일(Map file). 프로그램의 엔트리 포인트, 심볼이름, 시작 주소, 프로그램에 링크된 정보를 포함한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;RES&lt;br /&gt; 리소스 파일(RC)이 컴파일된 바이너리 파일&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;HPJ&lt;br /&gt; 문맥 감지형 도움말 파일(Context-sensitive help project file). AppWizard 단계 4 에서 [Context-sensitive help]를 체크하면 자동 생성된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;NCB&lt;br /&gt; Parser information file. 이 파일은 클래스뷰와 컴포넌트 갤러리를 지원하기 위한 정보를 포함한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;MDP&lt;br /&gt; Microsoft Developer Studio file. 이 파일은 VC++ 2.X 버전에서 사용한 VCP파일을 대체한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;RCT&lt;br /&gt; 리소스 템플릿 파일 (Resource template file)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;OPT&lt;br /&gt; 워크스페이스 환경설정을 보유&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;PLG&lt;br /&gt; 빌드 로그 파일&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;[출처] &lt;a href="http://blog.naver.com/ratmsma/40022231264" target="_blank"&gt;비주얼 C++ VC 확장자들 설명&lt;/a&gt;&lt;span style="padding: 0pt 7px 0pt 5px;"&gt;|&lt;/span&gt;&lt;strong style="padding: 0pt 7px 0pt 0pt;"&gt;작성자&lt;/strong&gt; &lt;a href="http://blog.naver.com/ratmsma" target="_blank"&gt;헤더막스&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6207256708357842255?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6207256708357842255/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/visual-studio%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94-%ED%99%95%EC%9E%A5%EC%9E%90%EC%99%80-%EC%84%A4%EB%AA%85.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6207256708357842255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6207256708357842255'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/visual-studio%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94-%ED%99%95%EC%9E%A5%EC%9E%90%EC%99%80-%EC%84%A4%EB%AA%85.html' title='Visual Studio에서 사용되는 확장자와 설명'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6806256546715785676</id><published>2009-03-07T13:18:00.000+09:00</published><updated>2011-01-30T14:09:15.331+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='대소문자변환'/><category scheme='http://www.blogger.com/atom/ns#' term='std::string'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='std::tranform'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[STL]  std::string 대소문자 바꾸기</title><content type='html'>std::string 의 문자열을 대소문자 변환이 필요해 찾아보았는데 쉽게 처리할 수 있는 방법을 찾았다.&lt;br /&gt;&lt;br /&gt;std::transform 함와 cctype 헤더의 tolower() 와 toupper() 함수를 이용하면 쉽게 해결이 되었다.&lt;br /&gt;&lt;br /&gt;transform 함수는 이외에도 응용할 부분이 많아보인다. container 의 각 원소에 특정을 변형을 주어&lt;br /&gt;바꾸거나 다는 container에 넣을 수도 있다. transform 함수에 대해서는 좀더 공부를 해서 나중에 포스팅을 한번 해야겠다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;#include &amp;lt;cctype&amp;gt; // for toupper &amp;amp; tolower#include &amp;lt;string&amp;gt;#include &amp;lt;algorithm&amp;gt;using namespace std;	// 대문자로 바꾸기	string s1 = "sample string";	transform( s1.begin(), s1.end(), s1.begin(), toupper );	// 결과 : s1	"SAMPLE STRING"	// 소문자로 바꾸기	string s2 = "HELLO";	transform( s2.begin(), s2.end(), s2.begin(), tolower );	// 결과 : s2	"hello"	// 첫 문자만 대문자로 바꾸기	string s3 = "title";	transform( s3.begin(), s3.begin() + 1, s3.begin(), toupper );	// 결과 : s3	"Title"&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6806256546715785676?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6806256546715785676/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/stl-stdstring-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EB%B0%94%EA%BE%B8%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6806256546715785676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6806256546715785676'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/stl-stdstring-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EB%B0%94%EA%BE%B8%EA%B8%B0.html' title='[STL]  std::string 대소문자 바꾸기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6233344182142590131</id><published>2009-03-05T13:31:00.000+09:00</published><updated>2011-01-30T14:09:15.258+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Assist X'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='VAX'/><title type='text'>Visual Assist X 10.5.1715</title><content type='html'>중독성이 강한 Visual Studio 보조 프로그램 Visual Assist X.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.wholetomato.com/images/tour/mondoPerspectiveTrans.gif" border="0"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wholetomato.com" target="_blank"&gt;WholeTomato Website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wholetomato.com/downloads/default.asp" target="_blank"&gt;Visual Assist X Download page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://f60s.com/forums/t/298762.aspx" target="_blank"&gt;Download1 ^^*&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rapidshareindex.com/Whole-Tomato-Visual-Assist-X-10-5-1715-0_180114.html" target="_blank"&gt;Download2 ^^*&lt;/a&gt;&lt;br /&gt;&lt;a href="http://torrentportal.com/details/3989002/Whole.Tomato.Visual.Assist.X.v10.5.1715.0.WinALL.Cracked-BRD.torrent" target="_blank"&gt;Download3 ^^*&lt;/a&gt; (torrent)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6233344182142590131?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6233344182142590131/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/visual-assist-x-1051715.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6233344182142590131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6233344182142590131'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/visual-assist-x-1051715.html' title='Visual Assist X 10.5.1715'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2413070096058523380</id><published>2009-03-05T13:12:00.000+09:00</published><updated>2011-01-30T14:09:15.207+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio 2009 IDE Patch'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE Fix Pack'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Codegear'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>IDE Fix Pack 2009 2.5 Released!!</title><content type='html'>Rad Studio 2007/2009 의 IDE 버그를 패치하는 IDE Fix Pack 이 2.5 버전을 공개 하였다.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://andy.jgknet.de/blog/wp-content/uploads/2008/11/fixpack20091.png" border="0"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;    &lt;li&gt; QC #47807: Error insight fails to find TObject class &lt;/li&gt;    &lt;li&gt; Possible deadlock when Error Insight calls ProcessMessages&lt;/li&gt;    &lt;li&gt; Error Insight defines VER190 instead of VER200&lt;/li&gt;    &lt;li&gt; QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor&lt;/li&gt;    &lt;li&gt; QC #67351: Debugger invokes anonymous method by itself&lt;/li&gt;    &lt;li&gt; QC #22880: Cannot resolve unit name&lt;/li&gt;    &lt;li&gt; QC #58045: Component captions and component icons disappear from form designer&lt;/li&gt;    &lt;li&gt; QC #50278: IDE Compiler opens all files in ReadWrite mode and blocks command line compiler&lt;/li&gt;    &lt;li&gt; QC #69456: IDE dead lock when updating the editors&lt;/li&gt;    &lt;li&gt; QC #55910: TDBText.Color always reverts to Parent.Color&lt;/li&gt;    &lt;li&gt; QC #68647: Infinite loop in Forms.GetNonToolWindowPopupParent&lt;/li&gt;    &lt;li&gt; QC #68740: Lost focus after TOpenDialog when MainFormOnTaskBar is set&lt;/li&gt;    &lt;li&gt; QC #59963: Closing non-modal forms after a task switch can deactivate the application&lt;/li&gt;    &lt;li&gt; QC #66892: Closing forms deactivates the application (missing “stdcall”)&lt;/li&gt;    &lt;li&gt; QC #64484: SysUtils.Abort can raise an AccessViolation&lt;/li&gt;    &lt;li&gt; QC #56252: TPageControl flickers a lot with active theming&lt;/li&gt;    &lt;li&gt; QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://andy.jgknet.de/blog/?page_id=246" target="_blank"&gt;IDE Fix Pack 2009 2.5&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2413070096058523380?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2413070096058523380/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/ide-fix-pack-2009-25-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2413070096058523380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2413070096058523380'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/ide-fix-pack-2009-25-released.html' title='IDE Fix Pack 2009 2.5 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7449147449547879066</id><published>2009-03-05T10:44:00.000+09:00</published><updated>2011-01-30T14:09:15.155+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='std::string'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='CString'/><category scheme='http://www.blogger.com/atom/ns#' term='CP_UTF8'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='UTF8'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='MultiByteToWideChar'/><title type='text'>UTF8 문자열을 std::string 이나 CString 으로 변환하기</title><content type='html'>다국어 프로그래밍에서 RapidXML 을 이용하다가 필요하여 만들어 본 문자열 변환 함수 이다.&lt;br /&gt;&lt;br /&gt;&lt;TEXTAREA name="code" class="cpp" rows=5 cols=30&gt;////////////////////////////////////////////////////////////////// UTF8 문자열은 std::string 으로 변환하기void CMultiLang::UTF82A( IN const char* utf8, OUT string&amp; ansi ){	int length = MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, NULL, NULL );	wchar_t* pBuf = new wchar_t[ length + 1 ];	MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, pBuf, length );	pBuf[length] = 0;	ansi = CStringA( pBuf );	delete [] pBuf;}////////////////////////////////////////////////////////////////// UTF8 문자열은 CString 으로 변환하기void CMultiLang::UTF82T( IN const char* utf8, OUT CString&amp; out ){	int length = MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, NULL, NULL );	wchar_t* pBuf = new wchar_t[ length + 1 ];	MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, pBuf, length );	pBuf[length] = 0;	out = CString( pBuf );	delete [] pBuf;}&lt;/TEXTAREA&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7449147449547879066?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7449147449547879066/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/utf8-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-stdstring-%EC%9D%B4%EB%82%98-cstring-%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7449147449547879066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7449147449547879066'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/utf8-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-stdstring-%EC%9D%B4%EB%82%98-cstring-%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0.html' title='UTF8 문자열을 std::string 이나 CString 으로 변환하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-536553125641863202</id><published>2009-03-04T23:26:00.000+09:00</published><updated>2011-01-30T14:09:15.091+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VK_CAPITAL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='VK_SCROLL'/><category scheme='http://www.blogger.com/atom/ns#' term='VK_NUMLOCK'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='GetKeyState'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Num Lock, Caps Lock, Scroll Lock 상태 알아내기</title><content type='html'>&lt;textarea name="code" class="cpp" rows="3" cols="30"&gt;	bool bScrollLock = (bool)( ::GetKeyState(VK_SCROLL)  &amp;gt; 0 );	bool bNumLock    = (bool)( ::GetKeyState(VK_NUMLOCK) &amp;gt; 0 );	bool bCapsLock   = (bool)( ::GetKeyState(VK_CAPITAL) &amp;gt; 0 );&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-536553125641863202?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/536553125641863202/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/num-lock-caps-lock-scroll-lock-%EC%83%81%ED%83%9C-%EC%95%8C%EC%95%84%EB%82%B4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/536553125641863202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/536553125641863202'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/num-lock-caps-lock-scroll-lock-%EC%83%81%ED%83%9C-%EC%95%8C%EC%95%84%EB%82%B4%EA%B8%B0.html' title='Num Lock, Caps Lock, Scroll Lock 상태 알아내기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6563991307932953826</id><published>2009-03-04T18:26:00.000+09:00</published><updated>2011-01-30T14:09:15.037+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++ 8 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.0.3 Alpha Library</title><content type='html'>3월 3일자로 발표된 MySQL Connector/C++ 1.0.3 을 오래전에 소개한 &lt;a title="[http://neodreamer.tistory.com/206]로 이동합니다." target="_blank" href="http://neodreamer.tistory.com/206"&gt;MySQL Connector/C++ 1.0.1 Alpha 컴파일 하기&lt;/a&gt;에 따라 라이브러리를 만들었다.&lt;br /&gt;&lt;br /&gt;컴파일러는 Visual C++ 2005를 사용하였고 MySQL은 5.0.77버전을 사용하여 Win32용과 Win64용을 만들어 보았다.&lt;br /&gt;&lt;br /&gt;오랜만에 버전업이 되어 보다 안정적이 된 것 같다. 이번 버전은 컴파일러 환경에 따라 config.h 파일의 내용이 약간 바뀌므로 아래 첨부된 라이브러리를 사용하기 위해서는 함께 첨부된 include.7z 을 이용해야한다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XfkfYYVwn2.7z/mysql_connector_cpp_1_0_3_alpha_win32_5077_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_3_alpha_win32_5077_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XPLx8mBcpD.7z/mysql_connector_cpp_1_0_3_alpha_win32_5077_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_3_alpha_win32_5077_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XAYzDkgjku.7z/mysql_connector_cpp_1_0_3_alpha_win64_5077_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_3_alpha_win64_5077_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XdxsnkgL1X.7z/mysql_connector_cpp_1_0_3_alpha_win64_5077_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_3_alpha_win64_5077_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XYzC2URU5n.7z/include.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; include.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;위 라이브러리들은 아래의 코드로 테스트를 수행하였다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;try{	TRACE("Test Begin!!\n");	std::string strQuery;	// Driver 인스턴스 가져오기	sql::Driver* pDriver = sql::mysql::MySQL_Driver::Instance();	//sql::Driver* pDriver = sql::mysql::get_mysql_driver_instance();	if ( pDriver )	{		sql::Connection* pConn = pDriver-&amp;gt;connect( "127.0.0.1", "root", "");		TRACE("Database Connected!!\n");		if ( pConn )		{			sql::PreparedStatement *pPreStmt;			sql::ResultSet *res = NULL;			////////////////////////////////////////			// Statement 생성			sql::Statement *pStmt = pConn-&amp;gt;createStatement();			////////////////////////////////////////			// 데이터베이스 생성			pStmt-&amp;gt;execute( "CREATE DATABASE IF NOT EXISTS TESTDB" );			TRACE("Database Created!!\n");			pStmt-&amp;gt;execute( "USE TESTDB" );			TRACE("Select Database!!\n");			////////////////////////////////////////			// Table 생성			pStmt-&amp;gt;execute( "DROP TABLE IF EXISTS TestTable" );			strQuery = "CREATE TABLE TestTable "				"( "				" name VARCHAR(30),"				" age  INT,"				" big  BIGINT"				")";			pStmt-&amp;gt;execute( strQuery );			TRACE("    Table Created!!\n");			////////////////////////////////////////			// Insert			strQuery = "INSERT INTO TestTable ( name, age, big )"				" VALUES ( 'tester', 20, 0 );";			pStmt-&amp;gt;execute( strQuery );			TRACE("    Insert!!\n");			////////////////////////////////////////			// Select			strQuery = "SELECT name, age FROM TestTable";			res = pStmt-&amp;gt;executeQuery( strQuery );			TRACE("    Select Begin!!\n");			while( res-&amp;gt;next() )			{				std::string name = res-&amp;gt;getString( "name" );				int age = res-&amp;gt;getInt( "age" );				CString strResult;				strResult.Format( _T("        name:%s, age:%d\n"), 					CString( name.c_str()), age );				TRACE( strResult );			}			TRACE("    Select End!!\n");			delete res;			////////////////////////////////////////			// Update			strQuery = "UPDATE TestTable SET age = 25"				" WHERE name = 'tester';";			int rows = pStmt-&amp;gt;executeUpdate( strQuery );			TRACE1("    Update (%d rows)!!\n", rows );			////////////////////////////////////////			// Select			strQuery = "SELECT name, age FROM TestTable ";			res = pStmt-&amp;gt;executeQuery( strQuery );			TRACE("    Select Begin!!\n");			while( res-&amp;gt;next() )			{				std::string name = res-&amp;gt;getString( "name" );				int age = res-&amp;gt;getInt( "age" );				CString strResult;				strResult.Format( _T("        name:%s, age:%d\n"), 					CString( name.c_str()), age );				TRACE( strResult );			}			TRACE("    Select End!!\n");			delete res;			////////////////////////////////////////			// Delete			strQuery = "DELETE FROM TestTable";			rows = pStmt-&amp;gt;executeUpdate( strQuery );			TRACE1("    Delete (%d rows)!!\n", rows );			////////////////////////////////////////			// PreprareStatement Insert			strQuery = "INSERT INTO TestTable ( name, age, big ) "				"VALUES ( ?, ?, ? );";			pPreStmt = pConn-&amp;gt;prepareStatement( strQuery );			char name[100];			for ( int i = 0; i &amp;lt; 10; ++i )			{				sprintf_s( name, 100, "name%03d\0", i );				// 데이터 바인딩				pPreStmt-&amp;gt;setString( 1, name );				pPreStmt-&amp;gt;setInt( 2, 20 + i );				pPreStmt-&amp;gt;setInt64( 3, 202012014 );				// Prepared Statement 수행				pPreStmt-&amp;gt;executeUpdate();				TRACE("        PrepareStatement Insert!!\n");			}			// Statement 삭제			delete pPreStmt;			////////////////////////////////////////			// Select			strQuery = "SELECT name, age, big FROM TestTable ";			res = pStmt-&amp;gt;executeQuery( strQuery );			TRACE("    Select Begin!!\n");			while( res-&amp;gt;next() )			{				std::string name = res-&amp;gt;getString( "name" );				int age = res-&amp;gt;getInt( "age" );				int64_t big = res-&amp;gt;getInt64( "big" );				CString strResult;				strResult.Format( _T("        name:%s, age:%d, big:%d\n"), 					CString( name.c_str()), age, big );				TRACE( strResult );			}			TRACE("    Select End!!\n");			delete res;			////////////////////////////////////////			// PreprareStatment Update			strQuery = "UPDATE TestTable SET age = ? WHERE name = ?;";			pPreStmt = pConn-&amp;gt;prepareStatement( strQuery );			for ( int i = 0; i &amp;lt; 10; ++i )			{				sprintf_s( name, 100, "name%03d\0", i );				// 데이터 바인딩				pPreStmt-&amp;gt;setInt( 1, 30 + i );				pPreStmt-&amp;gt;setString( 2, name );				// Prepared Statement 수행				pPreStmt-&amp;gt;executeUpdate();				TRACE("        PrepareStatement Update!!\n");			}			// Statement 삭제			delete pPreStmt;			////////////////////////////////////////			// Select			strQuery = "SELECT name, age, big FROM TestTable ";			res = pStmt-&amp;gt;executeQuery( strQuery );			TRACE("    Select Begin!!\n");			while( res-&amp;gt;next() )			{				std::string name = res-&amp;gt;getString( "name" );				int age = res-&amp;gt;getInt( "age" );				INT64 big = res-&amp;gt;getInt64( "big" );				CString strResult;				strResult.Format( _T("        name:%s, age:%d, big:%d\n"), 					CString( name.c_str()), age, big );				TRACE( strResult );			}			TRACE("    Select End!!\n");			delete res;			// 데이터베이스 삭제			pStmt-&amp;gt;execute( "DROP DATABASE IF EXISTS TESTDB" );			TRACE("Drop Database\n");			delete pStmt;		}	}	TRACE("Test Finished!!\n");}catch ( sql::SQLException &amp;amp;e ) {	// 예외처리 - 에러 메시지와 에러 코드를 가져올 수 있다.	int nErrorCode = e.getErrorCode();	std::string err = e.what();	TRACE1( "Exception : %s\n", err.c_str() );}&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6563991307932953826?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6563991307932953826/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-103-alpha-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6563991307932953826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6563991307932953826'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-103-alpha-library.html' title='MySQL Connector/C++ 1.0.3 Alpha Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4196547129785781714</id><published>2009-03-04T10:06:00.000+09:00</published><updated>2011-01-30T14:09:14.976+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Write in C'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>C 찬양가 "Write in C"</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XHosLhPEN3k&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/XHosLhPEN3k&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jeony.tistory.com/entry/C-%EC%B0%AC%EC%96%91%EA%B0%80-Write-in-C-C-%EB%A1%9C-%EC%A7%9C" target="_blank"&gt;Joeny 님의 블로그&lt;/a&gt;에 가사도 있습니다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4196547129785781714?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4196547129785781714/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/c-%EC%B0%AC%EC%96%91%EA%B0%80-in-c.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4196547129785781714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4196547129785781714'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/c-%EC%B0%AC%EC%96%91%EA%B0%80-in-c.html' title='C 찬양가 &amp;quot;Write in C&amp;quot;'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-298948115369036896</id><published>2009-03-03T23:57:00.000+09:00</published><updated>2011-01-30T14:09:14.907+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Connector/C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>MySQL Connector/C++ 1.0.3 Alpha Released!!</title><content type='html'>MySQL 의 C++ Connector 가 1.0.3 Alpha 버전이 공개 되었다.&lt;br /&gt;&lt;br /&gt;MySQL Connector/C++ 1.0.3 Alpha (03.03.2009)&lt;br /&gt;&lt;ul&gt;    &lt;li&gt; Added new tests at test/unit/classes. Those tests are mostly about code coverage. Most of the actual functionality of the driver is tested by the tests found at test/CJUnitPort. (Ulf)&lt;/li&gt;    &lt;li&gt; New data types added to the list returned by DatabaseMetaData::getTypeInfo(): FLOAT UNSIGED, DECIMAL UNSIGNED, DOUBLE UNSIGNED. Those tests may not be in the JDBC specification. However, due to the change you should be able to look up every type and type name returned by, for example, ResultSetMetaData::getColumnTypeName(). (Andrey)&lt;/li&gt;    &lt;li&gt; MySQL_Driver::getPatchVersion introducted. (Andrey)&lt;/li&gt;    &lt;li&gt; Major performance improvements due to new buffered resultset implementation by Andrey. (Ulf)&lt;/li&gt;    &lt;li&gt; Addition of test/unit/README with instructions for writing bug/regression tests. (Ulf)&lt;/li&gt;    &lt;li&gt; Experimental support for STLPort. This feature may be removed again at any time later without prior warning! Check cmake -L for configuration instructions. (Andrey)&lt;/li&gt;    &lt;li&gt; Fixed a bug in MySQL_PreparedResultSet::getString(). Returned string had real data but the length was random. Now, the string is initialized with correct length and thus is binary safe. (Andrey)&lt;/li&gt;    &lt;li&gt; Added properties-enabled (map of key-&amp;gt;value) methods for connecting, which add many connect options. (Andrey)&lt;br /&gt;          o Driver::connect( map )&lt;br /&gt;          o Connection::Connection( map ) &lt;/li&gt;    &lt;li&gt; New BLOB implementation. Got rid of sql::Blob in favor of std::istream. C++'s IOStream library is very powerful, similar to PHP's streams. It makes no sense to reinvent the wheel. For example one can pass a std::istringstream object to setBlob() if the data is in memory, or just open a file std::fstream and let it stream to the DB, or write own stream. Similar will be true for getBlob() where we can just copy data, if buffered result set, or stream, if we implement it. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented ResultSet::getBlob() which returns std::stream. (Andrey)&lt;/li&gt;    &lt;li&gt; Fixed MySQL_DatabaseMetaData::getTablePrivileges() to work correctly. Test cases added in the first unit testing framework. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_Connection::setSessionVariable() for setting variables like sql_mode. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_DatabaseMetaData::getColumnPrivileges(). (Andrey)&lt;/li&gt;    &lt;li&gt; cppconn/datatype.h changed and used again. Reimplemented the type subsystem to be more usable - more types for binary and non-binary strings. (Andrey)&lt;/li&gt;    &lt;li&gt; Implementation for MySQL_DatabaseMetaData::getImportedKeys() for MySQL versions before 5.1.16 using SHOW, and above using INFORMATION_SCHEMA. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_ConnectionMetaData::getProcedureColumns(). (Andrey)&lt;/li&gt;    &lt;li&gt; make package_source packs now with bzip2. (Andrey)&lt;/li&gt;    &lt;li&gt; Re-added getTypeInfo() with information about all types supported by MySQL and the sql::DataType. (Andrey)&lt;/li&gt;    &lt;li&gt; Exchanged the implementation of MySQL_ConstructedResultSet to use more efficient non O(n) but O(1) access method. This should improve the speed with which the metadata result sets are used. Also, there is less copy during the construction of the result set, which means that all result sets returned from the metadata functions will be faster. (Andrey)&lt;/li&gt;    &lt;li&gt; Introduced, internally, sql::mysql::MyVal which has implicit constructors used in mysql_metadata.cpp to create result sets with more native data instead of always string (varchar). (Andrey)&lt;/li&gt;    &lt;li&gt; Renamed ResultSet::getLong() to ResultSet::getInt64(). resultset.h includes typdefs for Windows to be able to use int64_t. (Andrey)&lt;/li&gt;    &lt;li&gt; Introduced ResultSet::getUInt() and ResultSet::getUInt64(). (Andrey)&lt;/li&gt;    &lt;li&gt; Corrected handling of unsigned server types. Now returning correct values (Andrey)&lt;/li&gt;    &lt;li&gt; Fixed handling of numeric columns in ResultSetMetaData::isCaseSensitive to return false. (Andrey)&lt;/li&gt;    &lt;li&gt; Better implementation for ResultSetMetaData::isReadOnly. Values generated from views are read-only. Seems that these generated values don't have `db` in MYSQL_FIELD set, while all normal columns do have. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_DatabaseMetaData::getExportedKeys(). (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_DatabaseMetaData::getCrossReference(). (Andrey) &lt;/li&gt;&lt;/ul&gt;소스는 프로젝트 페이지에서 다운 받을 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://forge.mysql.com/wiki/Connector_C%2B%2B" target="_blank"&gt;MySQL Connector/C++ Webpage&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/connector/cpp/1.0.html" target="_blank"&gt;MySQL Connector/C++ 1.0.3 Download&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-298948115369036896?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/298948115369036896/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-103-alpha-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/298948115369036896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/298948115369036896'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/mysql-connectorc-103-alpha-released.html' title='MySQL Connector/C++ 1.0.3 Alpha Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1484633791887479574</id><published>2009-03-02T13:23:00.000+09:00</published><updated>2011-01-30T14:09:14.854+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++0x'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='번역문서'/><title type='text'>차기 C++ 표준 C++0x 미리보기</title><content type='html'>차기 C++ 표준에대한 문서를 깔끔하게 번역해 놓은 곳 입니다.&lt;br /&gt;&lt;br /&gt;C++에 관심이 있다면 한번쯤 읽어 봐야 할 것 같습니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://occamsrazr.net/tt/" target="_blank"&gt;류광&lt;/a&gt;님의 &lt;a href="http://occamsrazr.net/tt/tag/C++0x?page=1" target="_blank"&gt;C++0x 미리보기 번역 문서&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1484633791887479574?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1484633791887479574/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EC%B0%A8%EA%B8%B0-c-%ED%91%9C%EC%A4%80-c0x-%EB%AF%B8%EB%A6%AC%EB%B3%B4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1484633791887479574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1484633791887479574'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/%EC%B0%A8%EA%B8%B0-c-%ED%91%9C%EC%A4%80-c0x-%EB%AF%B8%EB%A6%AC%EB%B3%B4%EA%B8%B0.html' title='차기 C++ 표준 C++0x 미리보기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5476917720916049459</id><published>2009-03-02T12:37:00.000+09:00</published><updated>2011-01-30T14:09:14.797+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='문법 강조'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter'/><title type='text'>SyntaxHighlighter 2.0.296 Released!!</title><content type='html'>이번 버전에 수정된 내용.&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;# Added "current" to published folder which always points to latest version.&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;# Added rollover to the copy to clipboard button.&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;# Fixed OSX specific line wrapping image issue.&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;# Switched to LGPL v3.&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank"&gt;SyntaxHighlighter project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://neodreamer.tistory.com/248"&gt;2009/02/04 - [Com. Story/Tips] - Tistory에 SyntaxHighlighter 2.0 적용하기&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5476917720916049459?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5476917720916049459/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/syntaxhighlighter-20296-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5476917720916049459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5476917720916049459'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/03/syntaxhighlighter-20296-released.html' title='SyntaxHighlighter 2.0.296 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8317793018443184275</id><published>2009-02-23T15:35:00.000+09:00</published><updated>2011-01-30T14:09:14.737+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rbegin'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='map'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='container'/><category scheme='http://www.blogger.com/atom/ns#' term='END'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[STL] map 의 맨 마지막 원소에 접근하기 (map.end() 는 마지막 원소가 아니다!!)</title><content type='html'>vector 나 list의 경우 크기를 가져와 마지막 원소에 쉽게 접근 할 수 있지만 map의 경우 Key 에 의해 접근으로 find() 멤버함수를 이용하여 iterator를 가져와서 접근할 수 있다.&lt;br /&gt;&lt;br /&gt;그러면 맨 마지막 값을 가져오기 위해서는 맨 마지막 iterator를 가져오기만 하면 되는데...&lt;br /&gt;map 의 member 함수 중 end() 함수가 있는데 이는 맨 마지막 iterator를 가리키기 않는다. end() 함수는 맨마지막 원소를 넘어선 map의 가장 마지막을 가르킨다. 그래서 end() 함수를 활용하여 맨 마지막 원소에 접근하려면 증감연산자(--)를 이용해 한단계 앞으로 iterator를 옮겨 주면 된다. 그리고 map 에는 rbegin() 이라는 함수도 제공하는데 이는 현재 map에 있는 원소를 거꾸로 하였을때 맨 처음 원소를 가리킨다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;map&amp;lt; int, Data* &amp;gt; mpData;// end() 의한 마지만 원소 접근map&amp;lt; int, Data* &amp;gt;::iterator it = --mpData.end();Data* pData = it-&amp;gt;second;// rbegin() 에 의한 마지막 원소 접근map&amp;lt; int, Data* &amp;gt;::reverse_iterator it = mpData.rbegin();Data* pData = it-&amp;gt;second;&lt;/textarea&gt;&lt;br /&gt;위의 코드중 end() 함수에 의한 접근은 위험 요소를 갖고 있다. map에 저장된 데이터가 하나도 없을 경우 에러를 발생한다. end()에 의한 접근 전에 map의 크기를 검사 하는 루틴을 포함해 주어야한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8317793018443184275?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8317793018443184275/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/stl-map-%EC%9D%98-%EB%A7%A8-%EB%A7%88%EC%A7%80%EB%A7%89-%EC%9B%90%EC%86%8C%EC%97%90-%EC%A0%91%EA%B7%BC%ED%95%98%EA%B8%B0-mapend-%EB%8A%94-%EB%A7%88%EC%A7%80%EB%A7%89.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8317793018443184275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8317793018443184275'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/stl-map-%EC%9D%98-%EB%A7%A8-%EB%A7%88%EC%A7%80%EB%A7%89-%EC%9B%90%EC%86%8C%EC%97%90-%EC%A0%91%EA%B7%BC%ED%95%98%EA%B8%B0-mapend-%EB%8A%94-%EB%A7%88%EC%A7%80%EB%A7%89.html' title='[STL] map 의 맨 마지막 원소에 접근하기 (map.end() 는 마지막 원소가 아니다!!)'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5521359872815050600</id><published>2009-02-19T12:33:00.000+09:00</published><updated>2011-01-30T14:09:14.682+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='vector'/><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='at'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='std::out_of_range'/><category scheme='http://www.blogger.com/atom/ns#' term='Exception'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>[STL] vector 에서 [] 과 at() 의 차이점</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;vector 의 원소에 접근하는 방법은 배열의 접근 방법과 갈은 [] 를 이용하는 방법과 멤버 함수인 at() 을 이용하는 방법이 있다.&lt;br /&gt;이 두가지 방법의 차이점은 첨자의 범위를 체크하는지 여부와 범위를 벗어난 접근일 경우 예외 발생 여부이다.&lt;/P&gt;&lt;P&gt;배열 접근 기호인 [] 에의한 접근은 첨자의 범위를 체크하지 않기 때문에 범위를 벗어난 접근을 시도할 경우 예외를 발생하지 않고 에러를 발생한다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XCASS3Verg.PNG" style="width:444px;height:197px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;멤버함수 at() 를 이용한 접근은 첨자의 범위를 체크하여 벗어난 접근을 시도할 경우 std::out_of_range 예외를 발생 한다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XJjXFgiNxq.PNG" style="width:444px;height:197px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;범위내의 접근을 보장할 경우 별도의 범위 체크가 필요 없으므로 []의해 원소에 접근하며&lt;br /&gt;&lt;TEXTAREA class=cpp name=code rows=5 cols=30&gt;for ( int n = 0; n &amp;lt; (int)vInt.size(); ++n ){  int a = vInt[ n ];  :}&lt;/TEXTAREA&gt; &lt;br /&gt;&lt;br /&gt;그렇지 않을 경우 at() 의한 접근으로 예외를 처리해 준다.&lt;br /&gt;&lt;TEXTAREA class=cpp name=code rows=5 cols=30&gt;void foo( int n ){	try	{		int a = vInt.at( n );	}	catch (std::out_of_range&amp;amp; e)	{		AfxMessageBox( _T("Catch the std::out_of_range") );	}}&lt;/TEXTAREA&gt; &lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5521359872815050600?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5521359872815050600/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/stl-vector-%EC%97%90%EC%84%9C-%EA%B3%BC-at-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5521359872815050600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5521359872815050600'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/stl-vector-%EC%97%90%EC%84%9C-%EA%B3%BC-at-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90.html' title='[STL] vector 에서 [] 과 at() 의 차이점'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2536528810268618688</id><published>2009-02-18T19:11:00.000+09:00</published><updated>2011-01-30T14:09:14.619+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='vector'/><category scheme='http://www.blogger.com/atom/ns#' term='remove'/><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Erase'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>[STL] remove algorithm 은 실제로 지우지 않는다.</title><content type='html'>vector 를 사용하다 특정 원소를 삭제하기 위해 algorithm 의 remove 를 이용하였다. vector 자체에는 remove 를 지원하지 않기 때문에... 하지만 결과는 예상을 빗나가 버렸다.&lt;br /&gt;&lt;br /&gt;remove를 하면 원소는 사라지는 것 처럼 보이는데 vector의 크기는 그대로였다.&lt;br /&gt;그래서 remove에 대한 정보를 찾아보았다.&lt;br /&gt;&lt;br /&gt;remove 의 기능은 지정된 시작위치부터 끝위치까지 탐색하여 지워야하는 원소가 있을 경우 그 위치에 다음의 지우지 않을 원소를 덮어 써서 뒤쪽의 일부 영역을 무효화 한다.&lt;br /&gt;그렇게 삭제(?)를 마치면 뒤쪽의 무효화 영역이 시작되는 iterator 를 반환한다.&lt;br /&gt;&lt;br /&gt;실제로 지우기 위해서는 이 iterator 부터 마지막까지 erase 로 지워야한다. erase 할 경우 마지막까지 지우지 않고 iterator 만 지울 경우 다수의 원소를 삭제하고자 할 경우 정확하게 지워지지 않는다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;vector&amp;lt; int &amp;gt; vInt;vector&amp;lt; int &amp;gt;::iterator it;vInt.push_back( 2 );vInt.push_back( 3 );vInt.push_back( 4 );vInt.push_back( 12 );vInt.push_back( 15 );vInt.push_back( 35 );vInt.push_back( 2 );vInt.push_back( 62 );vInt.push_back( 24 );vInt.push_back( 15 );vInt.push_back( 91 );TRACE0("\nsource : ");for ( int i = 0; i &amp;lt; (int)vInt.size(); ++i )	TRACE1( " %d", vInt[i] );it = remove( vInt.begin(), vInt.end(), 15 );TRACE0("\nremove 15 : ");for ( int i = 0; i &amp;lt; (int)vInt.size(); ++i )	TRACE1( " %d", vInt[i] );//vInt.erase( it );vInt.erase( it, vInt.end() );TRACE0("\nerase : ");for ( int i = 0; i &amp;lt; (int)vInt.size(); ++i )	TRACE1( " %d", vInt[i] );it = remove( vInt.begin(), vInt.end(), 2 );TRACE0("\nremove 2 : ");for ( int i = 0; i &amp;lt; (int)vInt.size(); ++i )	TRACE1( " %d", vInt[i] );//vInt.erase( it );vInt.erase( it, vInt.end() );TRACE0("\nerase : ");for ( int i = 0; i &amp;lt; (int)vInt.size(); ++i )	TRACE1( " %d", vInt[i] );결과////////////////////////////////////////////////////////////////////////////////// remove로 받은 iterator 만을 지울 경우 : vInt.erase( it )source :  2 3 4 12 15 35 2 62 24 15 91remove 15 :  2 3 4 12 35 2 62 24 91 15 91// 15 삭제시 15 두 개가 삭제되고 뒤쪽의 원소들로 앞쪽으로 덮어 씌운다.// 마지막 두 원소는 유령처럼 살아있다. // 반환된 iterator 는 끝에서 두 번째 원소를 가리킨다.erase :  2 3 4 12 35 2 62 24 91 91// 반환받은 iterator 위치의 원소를 삭제할 경우 마지막에서 두 번째 원소만// 삭제한다. 마지막 91은 여전히 살아있다.remove 2 :  3 4 12 35 62 24 91 91 91 91erase :  3 4 12 35 62 24 91 91 91////////////////////////////////////////////////////////////////////////////////// remove로 받을 iterator 에서 마지막까지 지울 경우 : vInt.erase( it, vInt.end() )source :  2 3 4 12 15 35 2 62 24 15 91remove 15 :  2 3 4 12 35 2 62 24 91 15 91// 15 삭제시 15 두 개가 삭제되고 뒤쪽의 원소들로 앞쪽으로 덮어 씌운다.// 마지막 두 원소는 유령처럼 살아있다. // 반환된 iterator 는 끝에서 두 번째 원소를 가리킨다.erase :  2 3 4 12 35 2 62 24 91// 반환받은 iterator 위치부터 마지막까지 삭제할 경우 원하는 결과를 얻을 수 있다.remove 2 :  3 4 12 35 62 24 91 24 91erase :  3 4 12 35 62 24 91&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2536528810268618688?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2536528810268618688/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/stl-remove-algorithm-%EC%9D%80-%EC%8B%A4%EC%A0%9C%EB%A1%9C-%EC%A7%80%EC%9A%B0%EC%A7%80-%EC%95%8A%EB%8A%94%EB%8B%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2536528810268618688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2536528810268618688'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/stl-remove-algorithm-%EC%9D%80-%EC%8B%A4%EC%A0%9C%EB%A1%9C-%EC%A7%80%EC%9A%B0%EC%A7%80-%EC%95%8A%EB%8A%94%EB%8B%A4.html' title='[STL] remove algorithm 은 실제로 지우지 않는다.'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-986294756345749199</id><published>2009-02-18T10:04:00.000+09:00</published><updated>2011-01-30T14:09:14.560+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>SQLite Release 3.6.11</title><content type='html'>Changes associated with this release include the following:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Added the hot-backup interface.&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Added new commands ".backup" and ".restore" to the CLI.&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Added new methods backup and restore to the TCL interface.&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Improvements to the syntax bubble diagrams&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Various minor bug fixes &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/sqlite-3_6_11.zip" target="_blank"&gt;SQLite 3.6.11&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/sqlitedll-3_6_11.zip" target="_blank"&gt;SQLite 3.6.11 Dll&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/sqlite-source-3_6_11.zip" target="_blank"&gt;SQLite 3.6.11 Source&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQLite3 v3.6.9 Library for C++ Builder&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XPdJAmmpRj.7z/SQLite3_v3.6.11_Library_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.11_Library_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XUeCCtTmlE.7z/SQLite3_v3.6.11_StaticLibrary_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.11_StaticLibrary_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;SQLite3 v3.6.9 Libary for Visual C++&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XFJdl6xwIS.7z/SQLite3_v3.6.11_Library_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.11_Library_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XKPJwNFQxy.7z/SQLite3_v3.6.11_StaticLibrary_for_VisualC%2B%2B_win32.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.11_StaticLibrary_for_VisualC++_win32.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XBXAaPAPY6.7z/SQLite3_v3.6.11_StaticLibrary_for_VisualC%2B%2B_win64.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.11_StaticLibrary_for_VisualC++_win64.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://neodreamer.tistory.com/211" target="_blank"&gt;C++ Builder 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;a href="http://neodreamer.tistory.com/210" target="_blank"&gt;Visual C++ 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-986294756345749199?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/986294756345749199/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/sqlite-release-3611.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/986294756345749199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/986294756345749199'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/sqlite-release-3611.html' title='SQLite Release 3.6.11'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-102942549256004194</id><published>2009-02-14T09:50:00.000+09:00</published><updated>2011-01-30T14:09:14.501+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo C++ Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Codegear'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ Builder'/><title type='text'>TurboC++ Explorer 에서 Indy9 사용하기</title><content type='html'>[출처] &lt;br /&gt;볼랜드 포럼 : 김태선 님&lt;br /&gt;http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&amp;amp;db=bcb_tip&amp;amp;no=858&lt;br /&gt;&lt;br /&gt;TurboC++ Explorer 버전에는 Indy 9과 Indy 10이 모두 들어 있습니다.&lt;br /&gt;다만 컴포넌트로 설치되어 있지 않아 디자인 타임에 쓸 수 없을 따름입니다.&lt;br /&gt;하지만 코드로 동적 생성해서 사용하는 것은 아무런 문제가 없습니다.&lt;br /&gt;&lt;br /&gt;Indy 9은 9.0.50 버전이 들어 있어 Indy 9을 잘 쓰는 분들은 9.0.18 쓰듯이 쓸 수 있습니다.&lt;br /&gt;&lt;br /&gt;코딩으로는 아래처럼 동적 생성해서 사용할 수 있습니다. &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: cpp; ruler: true"&gt;&lt;br /&gt;#include &amp;lt;idbasecomponent.hpp&gt;&lt;br /&gt;#include &amp;lt;idcomponent.hpp&gt;&lt;br /&gt;#include &amp;lt;idtcpclient.hpp&gt;&lt;br /&gt;#include &amp;lt;idtcpconnection.hpp&gt;&lt;br /&gt;#include &amp;lt;idtcpserver.hpp&gt;&lt;br /&gt;&lt;br /&gt;//---------------------------------------------------------------------------&lt;br /&gt;void __fastcall TForm1::FormCreate(TObject *Sender)&lt;br /&gt;{&lt;br /&gt;    TCPServer = new TIdTCPServer(this);&lt;br /&gt;    TCPServer-&amp;gt;DefaultPort = 80;&lt;br /&gt;&lt;br /&gt;    Caption = TCPServer-&amp;gt;Version;&lt;br /&gt;}&lt;br /&gt;//---------------------------------------------------------------------------&lt;br /&gt;&lt;/pre&gt;하지만 링크에서 에러를 내는데, 이는&lt;br /&gt;Install Packages-&amp;gt;Runtime Packages에 한줄로 패키지 명이 나열되어 있는 끝에&lt;br /&gt;;indy 를 추가해 주면 됩니다.&lt;br /&gt;그러면 링크 및 실행화일 만들어 내는데 아무런 문제 없이 잘 됩니다.&lt;br /&gt;하지만 단독실행 화일을 만들때는 안되므로 이때는 코드 중에&lt;br /&gt;#pragma link "indy.lib"&lt;br /&gt;를 한줄 넣어주면 됩니다.&lt;br /&gt;&lt;br /&gt;코딩으로 일일이 인디를 쓰자면 조금 답답한 면이 있는데,&lt;br /&gt;이는 Builder 6 Personal 버전에 Indy9를 설치하면 디자인타임에 쓸수 있으므로, 같은 코딩을 해보면&lt;br /&gt;Include 파일 및 이벤트 핸들러 프로토타입 형태의 코드가 생성되므로&lt;br /&gt;이를 그대로 TurboC++ Explorer 버전에 복사해서 쓰면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;이는 TurboC++ Explorer 설치시 Indy 9을 선택한 뒤라 이렇게만 해도 되는데,&lt;br /&gt;인디 10을 선택한 경우는 Search Path를 Indy9으로 재조정해야 합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그럼.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-102942549256004194?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/102942549256004194/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/turboc-explorer-%EC%97%90%EC%84%9C-indy9-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/102942549256004194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/102942549256004194'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/turboc-explorer-%EC%97%90%EC%84%9C-indy9-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html' title='TurboC++ Explorer 에서 Indy9 사용하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-3192007606629697819</id><published>2009-02-12T01:15:00.000+09:00</published><updated>2011-01-30T14:09:12.729+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='ARIA'/><category scheme='http://www.blogger.com/atom/ns#' term='SEED'/><category scheme='http://www.blogger.com/atom/ns#' term='블럭암호알고리즘'/><title type='text'>국산 블럭 암호 알고리즘 SEED / ARIA</title><content type='html'>국산 암호화 기술은 SEED와 ARIA가 있는데 민간분야과 공공분야에 표준화되어 있는 이 두 알고리즘은 지금까지 무료로 배포되고 있었다.&lt;br /&gt;&lt;br /&gt;하지만 자료의 접근에있어서 쉽지 않았다.&lt;br /&gt;&lt;br /&gt;하지만 이번에 국가사이버안전센터와 한국정보보호진흥원에서는 이 두 알고리즘의 보다 많은 확산을 위해 서로 협력하여 배포를 하기로 하였다.&lt;br /&gt;&lt;br /&gt;그리고 문제가 많았던 알고리즘 코드에 대한 접근을 개선하여 SEED는 간단한 양식을 작성해 입력하면 바로 메일로 코드를 받아볼 수 있었다. 이전에는 양식을 관리자가 검토하여 승인을 얻은뒤 메일로 전송해 주었는데 일반적으로 하루 정도 소요되며 주말이 포함되면 관리자의 부재로 인하여 몇일을 기다려야만 했다. 하지만 이제는 곧 바로 받아 볼 수 있게되었다.&lt;br /&gt;ARIA 는 이보다 더 쉽게 접근을 할 수 있다. 웹페이지를 방문하여 바로 다운로드 받으면 된다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kisa.or.kr/kisa/seed/jsp/seed.jsp" target="_blank"&gt;한국정보진흥원 암호이용 활성화 페이지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kisa.or.kr/kisa/seed/jsp/seed_1020.jsp" target="_blank"&gt;Seed 알고리즘 보급 신청 페이지&lt;/a&gt; (간단한 양식 접수 후 바로 메일로 받음)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kecs.go.kr/pw_certified/aria_open.jsp" target="_blank"&gt;국가정보원 ARIA 알고리즘 소개 페이지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kecs.go.kr/pw_certified/aria_open.jsp" target="_blank"&gt;ARIA 알고리즘 기술 문서및 소스 코드 다운로드 페이지&lt;/a&gt; (웹페이지를 방문하여 바로 다운 받을 수 있음)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-3192007606629697819?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/3192007606629697819/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/%EA%B5%AD%EC%82%B0-%EB%B8%94%EB%9F%AD-%EC%95%94%ED%98%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-seed-aria.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3192007606629697819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3192007606629697819'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/%EA%B5%AD%EC%82%B0-%EB%B8%94%EB%9F%AD-%EC%95%94%ED%98%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-seed-aria.html' title='국산 블럭 암호 알고리즘 SEED / ARIA'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5137245847059325506</id><published>2009-02-11T12:15:00.000+09:00</published><updated>2011-01-30T14:09:11.056+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter'/><title type='text'>SyntaxHighlighter 2.0.287 Released!!</title><content type='html'>얼마전 2.0 버전 (278) 버전을 발표한 SyntaxHighlighter 가 버전업을 하였다.&lt;br /&gt;&lt;br /&gt;이번 버전에 수정된 내용.&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Added 'c#' alias to C# brush.&lt;br /&gt;&amp;nbsp; &amp;nbsp; * Fixed blogger double lines style error. &lt;br /&gt;&lt;br /&gt;2.0 버전 부터는 프로젝트 웹페이지를 새로 단장하면서 Hosting 까지 지원을 하여서 보다 쉽게 SyntaxHighlighter를 적용할 수 있을 뿐만 아니라 업데이트또한 쉬워졌다.&lt;br /&gt;참조 경로만을 바꾸는 것으로 업데이트를 할 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank"&gt;SyntaxHighlighter project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="/248"&gt;2009/02/04 - [Com. Story/Tips] - Tistory에 SyntaxHighlighter 2.0 적용하기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5137245847059325506?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5137245847059325506/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/syntaxhighlighter-20287-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5137245847059325506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5137245847059325506'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/syntaxhighlighter-20287-released.html' title='SyntaxHighlighter 2.0.287 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5821165026765278016</id><published>2009-02-10T19:44:00.000+09:00</published><updated>2011-01-30T14:09:10.996+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='CString'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='remove'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Replace'/><title type='text'>[MFC] CString 의 문자/문자열 삭제 및 치환하기</title><content type='html'>CString 의 멤버 함수인 Remove 와&amp;nbsp; Replace 의 활용 예이다.&lt;br /&gt;&lt;br /&gt;Remove 함수는 문자열에서 지정된 문자를 삭제하고 Replace 는 문자열에서 지정된 문자 또는 문자열을 다를 문자나 문자열로 치환한다.&lt;br /&gt;&lt;pre class="brush: cpp; ruler: true;"&gt;	strValue = _T("Hello World!!");&lt;br /&gt;&lt;br /&gt;	int nCh = strValue.Replace( _T('l'), _T('w') );&lt;br /&gt;	TRACE2( "Replaced %d : %s \r\n", nCh, strValue );&lt;br /&gt;&lt;br /&gt;	nCh = strValue.Replace( _T("ww"), _T("ll") );&lt;br /&gt;	TRACE2( "Replaced %d : %s \r\n", nCh, strValue );&lt;br /&gt;&lt;br /&gt;	nCh = strValue.Remove( _T('!') );&lt;br /&gt;	TRACE2( "Removed %d : %s \r\n", nCh, strValue );&lt;br /&gt;&lt;br /&gt;#결과&lt;br /&gt;Replaced 3 : Hewwo Worwd!! &lt;br /&gt;Replaced 1 : Hello Worwd!! &lt;br /&gt;Removed 2 : Hello Worwd &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;MSDN 사이트에서 발췌한 Replace 사용 예.&lt;br /&gt;http://msdn.microsoft.com/en-us/library/aa300582(VS.60).aspx&lt;br /&gt;&lt;pre class="brush: cpp; ruler: true;"&gt;//First example, with old and new equal in length.&lt;br /&gt;&lt;br /&gt;CString strZap("C--");&lt;br /&gt;int n = strZap.Replace('-', '+');&lt;br /&gt;ASSERT(n == 2);&lt;br /&gt;ASSERT(strZap == "C++");&lt;br /&gt;&lt;br /&gt;//Second example, old and new are of different lengths.&lt;br /&gt;&lt;br /&gt;CString strBang("Everybody likes ice hockey");&lt;br /&gt;n = strBang.Replace("hockey", "golf");&lt;br /&gt;ASSERT(n == 1);&lt;br /&gt;n = strBang.Replace("likes", "plays");&lt;br /&gt;ASSERT(n == 1);&lt;br /&gt;n = strBang.Replace("ice", NULL);&lt;br /&gt;ASSERT(n == 1);&lt;br /&gt;ASSERT(strBang == "Everybody plays  golf");&lt;br /&gt;&lt;br /&gt;// note that you now have an extra space in your&lt;br /&gt;// sentence. To remove the extra space, include it&lt;br /&gt;// in the string to be replaced, i.e.,"ice ".&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;MSDN 사이트에서 발췌한 Remove 사용 예.&lt;br /&gt;http://msdn.microsoft.com/en-us/library/aa300579(VS.60).aspx&lt;br /&gt;&lt;pre class="brush: cpp; ruler: true;"&gt;//remove the lower-case letter 't' from a sentence:&lt;br /&gt;&lt;br /&gt;CString str("This is a test.");&lt;br /&gt;int n = str.Remove('t');&lt;br /&gt;ASSERT(n == 2);&lt;br /&gt;ASSERT(str == "This is a es.");&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5821165026765278016?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5821165026765278016/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-cstring-%EC%9D%98-%EB%AC%B8%EC%9E%90%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%82%AD%EC%A0%9C-%EB%B0%8F-%EC%B9%98%ED%99%98%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5821165026765278016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5821165026765278016'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-cstring-%EC%9D%98-%EB%AC%B8%EC%9E%90%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%82%AD%EC%A0%9C-%EB%B0%8F-%EC%B9%98%ED%99%98%ED%95%98%EA%B8%B0.html' title='[MFC] CString 의 문자/문자열 삭제 및 치환하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7720864224847435056</id><published>2009-02-05T01:40:00.000+09:00</published><updated>2011-01-30T14:09:10.918+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='티스토리 버그'/><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><title type='text'>Tistory 새로운 관리자 모드의 글쓰기의 심각한 버그!!</title><content type='html'>티스토리의 새로운 관리자 모드는 산뜻하고 잘 다듬어진 UI를 갖고는 있지만 글쓰기 기능에 심각한 버그가 있다.&lt;br /&gt;&lt;br /&gt;편집시에 HTML 모드와 EDIT(위지윅) 모드를 전환을 하다보면 쓸데 없는 줄넘김 태그(BR)가 붙는다.&lt;br /&gt;&lt;br /&gt;소스 코드를 자주 올리는 나에게는 큰 문제이다. 이전 관리모드에서 테스트를 해 보았지만 그런 문제는 발생하지 않았다.&lt;br /&gt;&lt;br /&gt;HTML 모드에서 아래와 같이 작성을 한 후&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;&amp;lt;PRE&amp;gt;void main(){    printf("Hello World");}&amp;lt;/PRE&amp;gt;&lt;/textarea&gt;&lt;br /&gt;EDIT(위지윅) 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;void main(){    printf("Hello World");}&lt;/textarea&gt;&lt;br /&gt;HTML 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;&amp;lt;pre&amp;gt;void main()&amp;lt;br /&amp;gt;{&amp;lt;br /&amp;gt;    printf("Hello World");&amp;lt;br /&amp;gt;}&amp;lt;br /&amp;gt;&amp;lt;/pre&amp;gt;&lt;/textarea&gt;&lt;br /&gt;EDIT(위지윅) 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;void main(){    printf("Hello World");}&lt;/textarea&gt;&lt;br /&gt;HTML 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;&amp;lt;pre&amp;gt;void main()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;{&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    printf("Hello World");&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/pre&amp;gt;&lt;/textarea&gt;&lt;br /&gt;EDIT(위지윅) 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;void main(){    printf("Hello World");}&lt;/textarea&gt;&lt;br /&gt;HTML 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;&amp;lt;pre&amp;gt;void main()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;{&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    printf("Hello World");&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/pre&amp;gt;&lt;/textarea&gt;&lt;br /&gt;EDIT(위지윅) 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;void main(){    printf("Hello World");}&lt;/textarea&gt;&lt;br /&gt;HTML 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;&amp;lt;pre&amp;gt;void main()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;{&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    printf("Hello World");&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/pre&amp;gt;&lt;/textarea&gt;&lt;br /&gt;EDIT(위지윅) 모드로 전환&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="5"&gt;void main(){    printf("Hello World");}&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7720864224847435056?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7720864224847435056/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/tistory-%EC%83%88%EB%A1%9C%EC%9A%B4-%EA%B4%80%EB%A6%AC%EC%9E%90-%EB%AA%A8%EB%93%9C%EC%9D%98-%EA%B8%80%EC%93%B0%EA%B8%B0%EC%9D%98-%EC%8B%AC%EA%B0%81%ED%95%9C-%EB%B2%84%EA%B7%B8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7720864224847435056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7720864224847435056'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/tistory-%EC%83%88%EB%A1%9C%EC%9A%B4-%EA%B4%80%EB%A6%AC%EC%9E%90-%EB%AA%A8%EB%93%9C%EC%9D%98-%EA%B8%80%EC%93%B0%EA%B8%B0%EC%9D%98-%EC%8B%AC%EA%B0%81%ED%95%9C-%EB%B2%84%EA%B7%B8.html' title='Tistory 새로운 관리자 모드의 글쓰기의 심각한 버그!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1789543545162505523</id><published>2009-02-04T19:31:00.000+09:00</published><updated>2011-01-30T14:09:10.776+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='문법 강조'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter'/><title type='text'>Tistory에 SyntaxHighlighter 2.0 적용하기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;2.0이 발표되고 내용을 살펴 보았다. &lt;br /&gt;&lt;br /&gt;뭐가 크게 바뀌었나 설치를 해 보고 싶었는데 기존 1.5.1 버전을 삭제하고 다시 할 경우 호환이 되는지를 먼저 파악해야 했다. 2.0으로 업데이트 하면서 기존의 글들을 수정해야 된다면 여간 큰일이 아닐 수 없기 때문이다.&lt;br /&gt;다행이 2.0에서 하위 호환성을 지켜주고 있었다. 1.5 버전을 위한 shBrushBash.js 를 포함시켜주고 이전의 Highlighter 적용 코드를 추가 해 주면 된다. 그에 대한 자세한 내용을 이 글 마지만에 다시 언급 하겠다.&lt;br /&gt;&lt;br /&gt;우선 2.0 을 Tistory에 적용하는 방법은 두 가지가 있다. &lt;br /&gt;소스 코드를 직접 올려서 적용하는 방법과 SyntaxHighlighter Project 페이지에서 호스팅하는 소스를 호출해 주면 된다.&lt;br /&gt;&lt;br /&gt;먼저 소스 코드를 직접 올리는 방법이다.&lt;br /&gt;SyntaxHighlighter 2.0 소스를 &lt;a title="[http://alexgorbatchev.com/downloads/grab.php?name=sh]로 이동합니다." target="_blank" href="http://alexgorbatchev.com/downloads/grab.php?name=sh"&gt;다운로드&lt;/a&gt; 받아서 scripts 와 styles 폴더의 모든 파일을 스킨 편집의 직접 올리기를 통해 업로드 한다.&lt;br /&gt;&lt;br /&gt;&lt;p id="more-248-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '248-0','scripts 와 styles 폴더의 파일 구성 보기','scripts 와 styles 폴더의 파일 구성 감추기'); return false;} else {document.getElementById('content-248-0').style.display='';}"&gt;      scripts 와 styles 폴더의 파일 구성 보기&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-248-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt;syntaxhighlighter_2.0.278\scripts 디렉터리&lt;br /&gt;&lt;br /&gt;2009-02-04&amp;nbsp; 18:53&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;br /&gt;2009-02-04&amp;nbsp; 18:53&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (1,361) clipboard.swf&lt;br /&gt;2009-02-04&amp;nbsp; 18:53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 scripts.txt&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,713) shBrushBash.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (5,378) shBrushCpp.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,328) shBrushCSharp.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (5,790) shBrushCss.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,471) shBrushDelphi.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (1,150) shBrushDiff.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (3,076) shBrushGroovy.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,091) shBrushJava.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,026) shBrushJScript.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (5,309) shBrushPhp.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (844) shBrushPlain.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (1,943) shBrushPython.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,279) shBrushRuby.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (3,148) shBrushSql.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,371) shBrushVb.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,117) shBrushXml.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (18,139) shCore.js&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,449) shLegacy.js&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20개 파일&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 66,983 바이트&lt;br /&gt;&lt;br /&gt;syntaxhighlighter_2.0.278\styles 디렉터리&lt;br /&gt;&lt;br /&gt;2009-02-04&amp;nbsp; 18:53&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;br /&gt;2009-02-04&amp;nbsp; 18:53&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (786) help.png&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (615) magnifier.png&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (603) page_white_code.png&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (309) page_white_copy.png&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (731) printer.png&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (6,064) shCore.css&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (3,156) shThemeDefault.css&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,985) shThemeDjango.css&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,985) shThemeEmacs.css&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (3,012) shThemeFadeToGrey.css&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2,996) shThemeMidnight.css&lt;br /&gt;2009-02-03&amp;nbsp; 15:39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (3,015) shThemeRDark.css&lt;br /&gt;2009-02-04&amp;nbsp; 18:53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 styles.txt&lt;br /&gt;2009-01-25&amp;nbsp; 13:59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (631) wrapping.png&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14개 파일&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27,888 바이트&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;그리고 스킨의 HTML/CSS 소스 수정에서 Head tag 를 닫기 전에 아래의 코드를 추가해 준다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="js" rows="5" cols="30"&gt;&amp;lt;head&amp;gt;:	&amp;lt;script type="text/javascript" src="images/shCore.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shLegacy.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushBash.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushCpp.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushCSharp.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushCss.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushDelphi.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushDiff.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushGroovy.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushJava.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushJScript.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushPhp.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushPlain.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushPython.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushRuby.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushScala.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushSql.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushVb.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="images/shBrushXml.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;link type="text/css" rel="stylesheet" href="styles/shCore.css"&amp;gt;	&amp;lt;link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"&amp;gt;	&amp;lt;script type="text/javascript"&amp;gt;		SyntaxHighlighter.all();	&amp;lt;/script&amp;gt;&amp;lt;/head&amp;gt;&lt;/textarea&gt;&lt;br /&gt;이제 SyntaxHighlighter 를 사용할 준비가 되었다. &lt;br /&gt;&lt;br /&gt;다음으로 SyntaxHighlighter project 페이지에서 제공하는 호스팅 서버에서 소스를 받아 사용하는 방법이다. 파일을 직접 올리기 귀찮은 사람은 이 방법이 더 편할 것이다.&lt;br /&gt;&lt;br /&gt;호스팅 주소는 http://alexgorbatchev.com/pub/sh/[VERSION] 이고 현재 마직막 버전은 2.0.278 으로 정확한 주소는 http://alexgorbatchev.com/pub/sh/2.0.278/ 이다.&lt;br /&gt;따라서 javascript 주소를 베이스를 위의 주소로 설정해 주면 된다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="js" rows="5" cols="30"&gt;&amp;lt;head&amp;gt;:	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shCore.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushBash.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushCpp.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushCSharp.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushCss.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushDelphi.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushDiff.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushGroovy.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushJava.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushJScript.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushPhp.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushPlain.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushPython.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushRuby.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushScala.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushSql.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushVb.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.278/scripts/shBrushXml.js"&amp;gt;&amp;lt;/script&amp;gt;	&amp;lt;link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/2.0.278/styles/shCore.css"/&amp;gt;	&amp;lt;link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/2.0.278/styles/shThemeDefault.css"/&amp;gt;	&amp;lt;script type="text/javascript"&amp;gt;		SyntaxHighlighter.all();	&amp;lt;/script&amp;gt;&amp;lt;/head&amp;gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그리고 아래 코드로 테스트 해 본다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="js" rows="3" cols="30"&gt;&amp;lt;pre class="brush: js"&amp;gt;	alert("Hello world");&amp;lt;/pre&amp;gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;위의 코드는 2.0에서 지원하는 코드이지만 tistory 에서는 1.5 버전에서 사용하던 방식인 TEXTAREA 태그를 활용하는 것이 HTML 편집과 위지윅 편집을 번갈아 가면서 편집하는데 더 편하다.&lt;br /&gt;&lt;textarea name="code" class="js" rows="3" cols="30"&gt;&amp;lt;textarea name="code" class="js" rows=3 cols=30&amp;gt;	alert("Hello world");&amp;lt;textarea&amp;gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;마지막으로 1.5.1 버전으로부터 업그레이드할 경우 몇 가지 알아 두어야 할 사항이 있다.&lt;br /&gt;&lt;br /&gt;1.5.1 버전을 사용할 때 작성한 코드가 실행 되게 하기 위해서는 brush Script 중에서 shLegacy.js 를 호출 해 주어야 하고 BODY 태그의 OnLoad 에 Syntax Highlighter 를 적용하는 코드를 추가해 주어야 한다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="js" rows="5" cols="30"&gt;&amp;lt;head&amp;gt;::	&amp;lt;script type="text/javascript" src="images/shLegacy.js"&amp;gt;&amp;lt;/script&amp;gt;::&amp;lt;/head&amp;gt;&amp;lt;body OnLoad="dp.SyntaxHighlighter.HighlightAll('code');"&amp;gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;그리고 Brush Alias 가 바뀐 내용도 알아 두어야한다. 이전에 Brush Alias로 class="c++" 나 class="c#" 을 사용했을 경우 "cpp" 와 "csharp" 으로 바꾸어 주어야 한다. 자세한 내용은 아래 페이지를 참고 하면 된다.&lt;br /&gt;&lt;br /&gt;1.5 버전의 지원 언어와 Alias : &lt;a title="[http://code.google.com/p/syntaxhighlighter/wiki/Languages]로 이동합니다." target="_blank" href="http://code.google.com/p/syntaxhighlighter/wiki/Languages"&gt;http://code.google.com/p/syntaxhighlighter/wiki/Languages&lt;/a&gt;&lt;br /&gt;2.0 버전의 지원 언어와 Alias : &lt;a title="[http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes]로 이동합니다." target="_blank" href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes"&gt;http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1789543545162505523?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1789543545162505523/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/tistory%EC%97%90-syntaxhighlighter-20-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0.html#comment-form' title='3개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1789543545162505523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1789543545162505523'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/tistory%EC%97%90-syntaxhighlighter-20-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0.html' title='Tistory에 SyntaxHighlighter 2.0 적용하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8748318051402503776</id><published>2009-02-04T18:41:00.000+09:00</published><updated>2011-01-30T14:09:10.695+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SyntaxHighlighter'/><title type='text'>SyntaxHighlighter 가 업데이트 버전(2.0) 을 발표 하였다.</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;이전 버전은 1.5.1 버전 이였고 새롭게 프로젝트 페이지를 만들고 2.0을 발표 하였다.&lt;br /&gt;&lt;br /&gt;SyntaxHighlighter 는 소스코드를 웹페이지 상에서 상당히 보기 좋게 출력해 준다. 아래 이미지는 1.5.1 버전이 적용된 모습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/Xc3OQfAZ7O.png" style="width:592px;height:422px;" alt="SyntaxHighlighter 1.5.1"  /&gt;&lt;p class="cap1"&gt;SyntaxHighlighter 1.5.1&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;새로운 2.0 버전은 새로운 기능이 추가도 UI의 변화가 생겼다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XPRfnPhaSY.png" style="width:620px;height:240px;" alt="SyntaxHighlighter 2.0"  /&gt;&lt;p class="cap1"&gt;SyntaxHighlighter 2.0&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;상당의 코드보기, 복사, 인쇄 기능이 플래시에서 이미지로 바뀌고 오른쪽 구석으로 이동 하였다.&lt;br /&gt;&lt;br /&gt;새롭게 추가된 기능은 pre tag에 property 형태로 highlight 지원이 추가 되고 가로 방향의 스크롤바가 생성되지 않도록 줄넘김 기능이 추가 되었다.&lt;br /&gt;&lt;br /&gt;아래는 &lt;img src="file:///D:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg" alt=""&gt;SyntaxHighlighter 사이트에서 발췌해 온 1.5 와 2.0 과의 비교 자료이다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XTPZz2keRE.png" style="width:537px;height:549px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;프로젝트 페이지를 새단장 하면서 SyntaxHighlighter Hosting 도 지원하여 어디서나 쉽게 사용할 수 있게 되었다. 그에 대한 내용은 정리를 하여 다시 올릴 계획이다.&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://alexgorbatchev.com/wiki/SyntaxHighlighter]로 이동합니다." target="_blank" href="http://alexgorbatchev.com/wiki/SyntaxHighlighter"&gt;SyntaxHighlighter project site&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8748318051402503776?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8748318051402503776/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/syntaxhighlighter-%EA%B0%80-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%EB%B2%84%EC%A0%8420-%EC%9D%84-%EB%B0%9C%ED%91%9C-%ED%95%98%EC%98%80%EB%8B%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8748318051402503776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8748318051402503776'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/syntaxhighlighter-%EA%B0%80-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%EB%B2%84%EC%A0%8420-%EC%9D%84-%EB%B0%9C%ED%91%9C-%ED%95%98%EC%98%80%EB%8B%A4.html' title='SyntaxHighlighter 가 업데이트 버전(2.0) 을 발표 하였다.'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2988681471904754008</id><published>2009-02-03T20:16:00.000+09:00</published><updated>2011-01-30T14:09:10.615+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='TTN_NEEDTEXTW'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='TTN_NEEDTEXT'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='TTN_NEEDTEXTA'/><title type='text'>실행시간에 툴바의 툴팁 바꾸기</title><content type='html'>다국어 프로그래밍에대한 정보를 찾다가 알게된 정보이다.&lt;br /&gt;실생시간에 툴바의 툴팁을 바뀌기 위해서는 TTN_NEEDTEXTA, TTN_NEEDTEXTW 메세지를 받아 처리하면 된다.&lt;br /&gt;&lt;br /&gt;TTN_NEEDTEXTA 는 Ascii 형식의 툴팁 데이터를 요구할때 발생하며 Win95에서 발생하고 TTN_NEEDTEXTW는 유니코드 형식의 툴팁 데이터를 요구할 때 발생하며 WinNT 이상에서 발생한다.&lt;br /&gt;&lt;br /&gt;이 메세지를 처리하기 위한 메세지 맵을 작성한다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="2" cols="30"&gt;ON_NOTIFY_EX_RANGE( TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)ON_NOTIFY_EX_RANGE( TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipText)&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;실행시간에 컨트롤 아이디에 맞는 툴팁을 생성하기 위한 함수와 TTN_NEEDTEXTA, TTN_NEEDTEXTW 메세지를 핸들링할 함수를 작성한다.&lt;br /&gt;&lt;br /&gt;아래 소스는 다국어 처리를 하기 위한 소스 중 일 부분으로 툴팁에 대한 메세지를 테스트한 내용의 소스이다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;BOOL GetToolTip( UINT nID, CString&amp;amp; strTipText, CString&amp;amp; /*strMessage*/);virtual afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, 					LRESULT* pResult );BOOL CMainFrame::GetToolTip( UINT nID, CString&amp;amp; strTipText, 		CString&amp;amp; /*strMessage*/){	CString strFullString;	switch( nID )	{	case ID_FILE_NEW:  // have to handle all toolbar tool tip messages here		theApp.m_Lang.GetMenuTip2( strTipText, _T("ID_FILE_NEW") );		break;	case ID_FILE_OPEN:		theApp.m_Lang.GetMenuTip2( strTipText, _T("ID_FILE_OPEN") );		break;	case ID_FILE_SAVE:		theApp.m_Lang.GetMenuTip2( strTipText, _T("ID_FILE_SAVE") );		break;	case ID_EDIT_CUT:	case ID_EDIT_COPY:	case ID_EDIT_PASTE:	case ID_FILE_PRINT:	case ID_APP_ABOUT:		if (strFullString.LoadString(nID))			AfxExtractSubString ( strTipText, strFullString, 1,'\n');		break;	}	return TRUE;}BOOL CMainFrame::OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult ){	ASSERT ( pNMHDR-&amp;gt;code == TTN_NEEDTEXTA || TTN_NEEDTEXTW );	TOOLTIPTEXTA* pTTTA = ( TOOLTIPTEXTA *)pNMHDR;	TOOLTIPTEXTW* pTTTW = ( TOOLTIPTEXTW *)pNMHDR;	CString strTipText;	CString strMessage;	if( GetToolTip( (UINT)pNMHDR-&amp;gt;idFrom, strTipText, strMessage))	{#ifndef _UNICODE		if(pNMHDR-&amp;gt;code == TTN_NEEDTEXTA)			lstrcpyn(pTTTA-&amp;gt;szText,strTipText,_countof(pTTTA-&amp;gt;szText));		else			_mbstowcsz(pTTTW-&amp;gt;szText,strTipText,_countof(pTTTW-&amp;gt;szText));#else		if(pNMHDR-&amp;gt;code == TTN_NEEDTEXTA)			_wcstombsz(pTTTA-&amp;gt;szText,strTipText,_countof(pTTTA-&amp;gt;szText));		else			lstrcpyn(pTTTW-&amp;gt;szText,strTipText,_countof(pTTTW-&amp;gt;szText));#endif		// change status bar message here need pointer to CMainFrame		// SetMessageText(strMessage);  		// ok we handled the message, the buck stops here		return TRUE;	}	// we did not handle the message, pass it on	return CMainFrame::OnToolTipText(nID,pNMHDR,pResult);}&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2988681471904754008?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2988681471904754008/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/%EC%8B%A4%ED%96%89%EC%8B%9C%EA%B0%84%EC%97%90-%ED%88%B4%EB%B0%94%EC%9D%98-%ED%88%B4%ED%8C%81-%EB%B0%94%EA%BE%B8%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2988681471904754008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2988681471904754008'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/%EC%8B%A4%ED%96%89%EC%8B%9C%EA%B0%84%EC%97%90-%ED%88%B4%EB%B0%94%EC%9D%98-%ED%88%B4%ED%8C%81-%EB%B0%94%EA%BE%B8%EA%B8%B0.html' title='실행시간에 툴바의 툴팁 바꾸기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8259232400357613255</id><published>2009-02-02T20:50:00.000+09:00</published><updated>2011-01-30T14:09:10.546+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='AfxFormatString2'/><category scheme='http://www.blogger.com/atom/ns#' term='AfxFormatString1'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>[MFC] AfxFormatString1() 과 AfxFormatString2()를 이용한 파라메터 스트링의 활용</title><content type='html'>&lt;span style="font-family: 'courier new',courier,monospace;"&gt;void AfxFormatString1(&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; CString&amp;amp; rString,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; UINT nIDS,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; LPCTSTR lpsz1 &lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;); &lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;void AfxFormatString2(&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; CString&amp;amp; rString,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; UINT nIDS,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; LPCTSTR lpsz1,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; LPCTSTR lpsz2 &lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;); &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;이 함수들은 AfxExtractSubString() 함수에 대한 정보를 찾다가 알게된 함수들이다.&lt;br /&gt;AfxFormatString1 함수는 String Table 의 String 중 %1 을 특정 문자열로 치환 해주고 AfxFormatString2 함수는&amp;nbsp; %1,%2 를 특정 문자열로 치환해 준다.&lt;br /&gt;&lt;br /&gt;예들 들어 String Table 에 다음과 같은 문자열이 정이 되어 있을때.&lt;br /&gt;IDS_TEST "파일 %1을 찾을 수 없습니다."&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;CString strTest;&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;AfxFormatString1( strTest, IDS_TEST, _T("version.dat") );&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;strTest 는 "파일 version.dat 을 찾을 수 없습니다." 란 문자열이 들어가게 된다.&lt;br /&gt;&lt;br /&gt;문자열만 치환 할 수 있고 개수도 한개 또는 두 개로 제한적이라서 활용 범위는 크지 않지만 가끔 유용하게 사용할 수 도 있을것 같다.&lt;br /&gt;&lt;br /&gt;아래는 MSDN 사이트에서 발췌한 사용 예이다.(&lt;a href="http://msdn.microsoft.com/en-us/library/f1w5d2h2.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/f1w5d2h2.aspx&lt;/a&gt;)&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;void DisplayFileNotFoundMessage(LPCTSTR pszFileName, LPCTSTR pszDirectory){   CString strMsg;   // The IDS_FILENOTFOUND string resource contains "Error: File %1 not    // found in directory %2"   AfxFormatString2(strMsg, IDS_FILENOTFOUND2, pszFileName, pszDirectory);   // In the previous call, substitute the actual file and directory    // names into the message string   AfxMessageBox(strMsg);  // Display the error message}&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8259232400357613255?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8259232400357613255/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-afxformatstring1-%EA%B3%BC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8259232400357613255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8259232400357613255'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-afxformatstring1-%EA%B3%BC.html' title='[MFC] AfxFormatString1() 과 AfxFormatString2()를 이용한 파라메터 스트링의 활용'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2780892850906436707</id><published>2009-02-02T16:30:00.000+09:00</published><updated>2011-01-30T14:09:10.476+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='AfxExtractSubString'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>[MFC] 간단하게 부분 문자열을 추출하는 방법 - AfxExtractSubString()</title><content type='html'>Toolbar 의 ToolTip 을 변경하고 싶어서 자료를 찾던 도중 알게된 함수이다.&lt;br /&gt;&lt;br /&gt;이 함수는 전체 문자열 중에서 지정된 구분자로 구분하였을때 특정 위치의 문자열을 찾아 준다.&lt;br /&gt;&lt;br /&gt;다음은 함수 원형이다.&lt;br /&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;BOOL AFXAPI AfxExtractSubString (&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; CString&amp;amp; rString,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; LPCTSTR lpszFullString,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; int iSubString,&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; TCHAR chSep = '\n'&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MSDN 사이트에서 발췌한 사용예(&lt;a href="http://msdn.microsoft.com/en-us/library/aa991543.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/aa991543.aspx&lt;/a&gt;)&lt;br /&gt;&lt;textarea name="code" class="cpp" cols="30" rows="10"&gt;// The following example extracts a series of name, value pairs from a// given source string:// Input string consisting of a number of name, value pairsLPCTSTR lpszSource = _T("\"Name\"=\"John Smith\"\n")   _T("\"Company\"=\"Contoso, Ltd\"\n\"Salary\"=\"25,000\"");CString strNameValue; // an individual name, value pairint i = 0; // substring index to extractwhile (AfxExtractSubString(strNameValue, lpszSource, i)){   // Prepare to move to the next substring   i++;   CString strName, strValue; // individual name and value elements   // Attempt to extract the name element from the pair   if (!AfxExtractSubString(strName, strNameValue, 0, _T('=')))   {      // Pass an error message to the debugger for display      OutputDebugString(_T("Error extracting name\r\n"));      continue;   }   // Attempt to extract the value element from the pair   if (!AfxExtractSubString(strValue, strNameValue, 1, _T('=')))   {      // Pass an error message to the debugger for display      OutputDebugString(_T("Error extracting value element\r\n"));      continue;   }   // Pass the name, value pair to the debugger for display   CString strOutput = strName + _T(" equals ") + strValue + _T("\r\n");   OutputDebugString(strOutput);}&lt;/textarea&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2780892850906436707?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2780892850906436707/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EB%B6%80%EB%B6%84-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2780892850906436707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2780892850906436707'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EB%B6%80%EB%B6%84-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95.html' title='[MFC] 간단하게 부분 문자열을 추출하는 방법 - AfxExtractSubString()'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4195185707571610489</id><published>2009-02-02T01:34:00.000+09:00</published><updated>2011-01-30T14:09:10.404+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Prompt String'/><category scheme='http://www.blogger.com/atom/ns#' term='CStatusBar text'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='GetMessageString'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>[MFC] 실행시 CStatusBar 의 Prompt 문자열 제어하기</title><content type='html'>다국어 지원 프로그램을 테스트 하다 필요해 찾아본 정보인다. 메뉴나 툴바의 Prompt String 을 지정하면 실행시 마우스로 가리킬때 상태바에 Prompt String 이 출력된다.&lt;br /&gt;&lt;br /&gt;실행시에 이 메세지를 변경을 해야할 필요가 있어 그 방법을 찾아 보았다.&lt;br /&gt;&lt;br /&gt;실생시에 Prompt String을 제어하기 위해서는 MainFrame 의 GetMessageString 함수를 재정의(Override)하면 된다.&lt;br /&gt;&lt;br /&gt;GetMessageString 은 다음과 같은 원형을 갖고 있다. (&lt;a href="http://msdn.microsoft.com/en-us/library/5a41s1z4%28VS.80%29.aspx" target="_blank"&gt;MSDN 발췌&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;virtual void GetMessageString(&lt;br /&gt;&amp;nbsp;&amp;nbsp; UINT nID,&lt;br /&gt;&amp;nbsp;&amp;nbsp; CString&amp;amp; rMessage &lt;br /&gt;) const;&lt;br /&gt;&lt;br /&gt;Parameters&lt;br /&gt;&lt;br /&gt;nID&lt;br /&gt;&amp;nbsp; &amp;nbsp; Resource ID of the desired message.&lt;br /&gt;&lt;br /&gt;rMessage&lt;br /&gt;&amp;nbsp; &amp;nbsp; CString object into which to place the message.&lt;br /&gt;&lt;br /&gt;GetMessageString 함수를 재정의 하며 필요한 컨트롤의 Prompt String 을 실생 시간에 제어할 수 있다.&lt;br /&gt;아래는 그 예이다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;void CMainFrame::GetMessageString(UINT nID, CString&amp;amp; rMessage) const{	switch ( nID )	{	case ID_FILE_NEW:		theApp.m_Lang.GetMenuTip2( rMessage, _T("ID_FILE_NEW") );		return;		break;	}	return CFrameWnd::GetMessageString(nID, rMessage);}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4195185707571610489?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4195185707571610489/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-%EC%8B%A4%ED%96%89%EC%8B%9C-cstatusbar-%EC%9D%98-prompt-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4195185707571610489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4195185707571610489'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/02/mfc-%EC%8B%A4%ED%96%89%EC%8B%9C-cstatusbar-%EC%9D%98-prompt-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0.html' title='[MFC] 실행시 CStatusBar 의 Prompt 문자열 제어하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2777003193195094206</id><published>2009-01-23T15:45:00.000+09:00</published><updated>2011-01-30T14:09:10.293+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='코딩용 폰트'/><category scheme='http://www.blogger.com/atom/ns#' term='굴림체'/><category scheme='http://www.blogger.com/atom/ns#' term='나눔고딕 코딩폰트'/><category scheme='http://www.blogger.com/atom/ns#' term='Andale Mono 9pt'/><title type='text'>프로그래머용 한글 고정폭 폰트 "나눔고딕 코딩" 간단 사용기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;img src="http://cfs14.tistory.com/image/31/tistory/2009/01/23/12/42/49793ca09a7d4" style="margin-right: 10pt; margin-bottom: 5pt;" align="left" border="0"&gt;네이버에서 공개한 프로그래머용 한글 고정폭 폰트인 "나눔고딕 코딩"폰트를 잠시 사용해 보았다. &lt;br /&gt;&lt;br /&gt;프로그래머를 위한 한글 글꼴이기에 기대가 많았지만 내 기대에는 닿지 않는 부족한 점이 몇 가지 있었다.&lt;br /&gt;&lt;br /&gt;현재까지 본인이 사용하고 있는 폰트는 Andale Mono 폰트의 9point 폰트를 한글 굴림체와 어울리도록 수정을하고 레지스트리를 수정하여 한글 굴림체와 사용을 하고있다. 이 폰트를 Turbo Delphi, Turbo C++ 그리고 Visual C++에서 사용하고 있다. 아래 이미지는 Visual C++의 편집기 창에 간단하게 글자를 입력한 모습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XaWNTJjU9E.PNG" style="width:256px;height:71px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;보이는 것처럼 비트맵 글꼴이다 보니 크기 조절은 불가능 하지만 폰트 주변이 샤프해서 눈에 확 들어 온다. 물론 지극히 개인적인 느낌 이겠지만...&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XYfl5P0jFj.PNG" style="width:498px;height:250px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;이번에는 네이버에서 공개한 "나눔고딕 코딩"폰트를 사용해 보았다.&lt;br /&gt;아래 모습은 Clear Type을 사용하지 않은 상태에서 적용한 모습이다. 한눈에 보기에도 안좋아 보인다. 위의 Andale Mono 와 비교할 수 없는 수준이다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XMbhYgliIF.PNG" style="width:496px;height:322px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;하지만 요즘은 Clear Type 을 사용하는게 대세처럼 보이니 한번 Clear Type를 적용해 보았다. ( 개인적으로 코딩시에는 ClearType을 적용하는 것보다 하지 않는것이 배경과의 대비가 확실하게 눈에 들어오기 때문에 더 좋아 보인다.)&lt;br /&gt;&lt;br /&gt;아래 모습은 Clear Type를 적용한 모습니다. 적용전과 후가 너무도 많은 차이를 보여주고 있다. 적용을 하면 글꼴이 많이 부드러워지고 가독성이 더 좋아 졌다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XeQAXDlBEQ.PNG" style="width:496px;height:325px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;하지만 뭔가 좀 이상해 보였다. ClearType 를 적용해서인지 폰트가 약간 Blur 된 느낌을 지울 수가 없다. 이런 화면을 장시간 보고 있을경우 눈의 피로가 비트맵 글꼴을 보는 경우보다 더 느껴질 것 같다.(적어도 본인만이라도... &lt;br /&gt;ClearType 튜닝을 하면 조금은 더 좋아지겠지만 Blur된 느낌이 줄어드는 것이지 비트맵 글꼴과 같이 배경과의 대비가 확  들어나 보이는건 아니다.&lt;br /&gt;&lt;br /&gt;그리고 좁은 화면에서 보다 많은 양의 코드를 보고 싶은데 "나눔고딕 코딩"폰트의 경우 같은 포인트 크기일때 폰트 크기가 높아 화면에 출력되는 코드 양도 상대적으로 적었다. 그동안 써왔던 Andale Mono 9 의 경우 46줄을 표현할 수 있었다면 "나눔고딕 코딩"폰트는 35줄 밖에 표현하지 못하였다.&lt;br /&gt;&lt;br /&gt;한글 고정폭 폰트가 최초로 공개되어다는 점에서는 반길만 하지만 적어도 본인의 취향은 아닌 것 같다. 하지만 앞으로 이러한 폰트들이 많이 개발되고 공개되어 프로그래머의 선택의 폭을 넓혀 주었으면 좋겠다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2777003193195094206?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2777003193195094206/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%9A%A9-%ED%95%9C%EA%B8%80-%EA%B3%A0%EC%A0%95%ED%8F%AD-%ED%8F%B0%ED%8A%B8-%EC%BD%94%EB%94%A9-%EA%B0%84%EB%8B%A8-%EC%82%AC%EC%9A%A9%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2777003193195094206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2777003193195094206'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%9A%A9-%ED%95%9C%EA%B8%80-%EA%B3%A0%EC%A0%95%ED%8F%AD-%ED%8F%B0%ED%8A%B8-%EC%BD%94%EB%94%A9-%EA%B0%84%EB%8B%A8-%EC%82%AC%EC%9A%A9%EA%B8%B0.html' title='프로그래머용 한글 고정폭 폰트 &amp;quot;나눔고딕 코딩&amp;quot; 간단 사용기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7585402030407998057</id><published>2009-01-23T13:06:00.000+09:00</published><updated>2011-01-30T14:09:10.218+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='나눔 고딕'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래머를 위한 폰트'/><category scheme='http://www.blogger.com/atom/ns#' term='고정폭 폰트'/><title type='text'>프로그래머를 위한 한글 고정폭 폰트 - 나눔고딕 코딩</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XQGvPWlXzc.PNG" style="width:201px;height:58px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;네이버 개발자 센터에서 프로그램머를 위한 코딩용 글꼴(고정폭 폰트) 발표하였다.&lt;br /&gt;&lt;br /&gt;코딩용 폰트는 고정폭 이어야 한다는 일반적 조건 외에 가독성을 높이기 위해 몇가지 조건을 더 갖추어야한다. 그 조건 중 가장 일반적으로 알려진 사항은 다음과 같다.&lt;br /&gt; &amp;nbsp;&amp;nbsp; - 숫자 0과 알파벳 대문자 O 의 구분&lt;br /&gt; &amp;nbsp;&amp;nbsp; - 숫자 1과 알파벳 소문자 l 그리고 대문자 I&lt;br /&gt;&lt;br /&gt;개인적으로 추가 하고픈 사항은...&lt;br /&gt; &amp;nbsp;&amp;nbsp; - 대문자 Y (와이) 와 대문자 V (브이)의 구분&lt;br /&gt; &amp;nbsp;&amp;nbsp; - : (콜론) 과 ;(세미콜론) 의 구분&lt;br /&gt;&lt;br /&gt;대부분의 글꼴은 미려함을 강조해서인지 이러한 사항을 지키지 않아 코딩시 가독성을 떨어뜨린다. &lt;br /&gt;&lt;br /&gt;영문 폰트는 한글에 비해 상당히 많아서 인지 코딩용으로 사용하기 좋은 폰트들이 많다. 예를들어 Anadale Mono, Courier New 등이 있고 계속해서 개발 되어 지고 있다. 얼마전 MS 에서도 Consolas 폰트를 발표하기도 하였다. 하지만 한글을 포함한 폰트는 "나눔고딕 코딩" 처음인 것 같다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XZkmxIznNU.PNG" style="width:303px;height:351px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;"나눔고딕 코딩" 폰트는 일반적인 코딩용 폰트가 갖추어야할 조건을 잘 갖추고 있다. &lt;br /&gt;&lt;br /&gt;&lt;a title="[http://dev.naver.com/projects/nanumfont/]로 이동합니다." target="_blank" href="http://dev.naver.com/projects/nanumfont/"&gt;나눔고딕 코딩 글꼴 프로젝트 홈&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://dev.naver.com/frs/download.php/259/NanumGothic_Coding.zip]로 이동합니다." target="_blank" href="http://dev.naver.com/frs/download.php/259/NanumGothic_Coding.zip"&gt;나눔고딕 코딩 글꼴 다운로드&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7585402030407998057?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7585402030407998057/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EB%A5%BC-%EC%9C%84%ED%95%9C-%ED%95%9C%EA%B8%80-%EA%B3%A0%EC%A0%95%ED%8F%AD-%ED%8F%B0%ED%8A%B8-%EB%82%98%EB%88%94%EA%B3%A0%EB%94%95-%EC%BD%94%EB%94%A9.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7585402030407998057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7585402030407998057'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EB%A5%BC-%EC%9C%84%ED%95%9C-%ED%95%9C%EA%B8%80-%EA%B3%A0%EC%A0%95%ED%8F%AD-%ED%8F%B0%ED%8A%B8-%EB%82%98%EB%88%94%EA%B3%A0%EB%94%95-%EC%BD%94%EB%94%A9.html' title='프로그래머를 위한 한글 고정폭 폰트 - 나눔고딕 코딩'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5731400824127187277</id><published>2009-01-16T15:02:00.000+09:00</published><updated>2011-01-30T14:09:10.113+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for Visual C++'/><title type='text'>무료 로컬 데이터베이스 - SQLite 3.6.10 Released! (Library)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img style="clear: none; float: none;" src="http://sqlite.org/images/SQLite.gif" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3.6.9 버전을 발표한지 하루만에 또 다시 3.6.10 버전을 발표 하였다.&lt;br /&gt;&lt;br /&gt;이번 버전에서 바뀐점은 다음과 같다.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fix a cache coherency problem that could lead to database corruption. Ticket #3584.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.sqlite.org/" target="_blank"&gt;SQLite 홈페이지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite 다운로드 페이지&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;C++ Builder 용 라이브러리&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XcowwwQiab.7z/SQLite3_v3.6.10_Library_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.10_Library_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XXHVBK3Xms.7z/SQLite3_v3.6.10_StaticLibrary_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.10_StaticLibrary_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Visual C++ 용 라이브러리&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XbOkdiAqAB.7z/SQLite3_v3.6.10_Library_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.10_Library_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XLG5aAhAQO.7z/SQLite3_v3.6.10_StaticLibrary_for_VisualC%2B%2B_win32.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.10_StaticLibrary_for_VisualC++_win32.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XPcA3yyW4C.7z/SQLite3_v3.6.10_StaticLibrary_for_VisualC%2B%2B_win64.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.10_StaticLibrary_for_VisualC++_win64.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5731400824127187277?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5731400824127187277/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sqlite-3610-released.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5731400824127187277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5731400824127187277'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sqlite-3610-released.html' title='무료 로컬 데이터베이스 - SQLite 3.6.10 Released! (Library)'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4201068820733995678</id><published>2009-01-14T21:15:00.000+09:00</published><updated>2011-01-30T14:09:10.039+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for Visual C++'/><title type='text'>SQLite3 Version 3.6.9 Library</title><content type='html'>SQLite3 v3.6.9 Library for C++ Builder&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XRlSAngMJO.7z/SQLite3_v3.6.9_Library_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.9_Library_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XA6KbkRKNN.7z/SQLite3_v3.6.9_StaticLibrary_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.9_StaticLibrary_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;SQLite3 v3.6.9 Libary for Visual C++&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XQsbrn2xui.7z/SQLite3_v3.6.9_Library_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.9_Library_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XKULvZHc7G.7z/SQLite3_v3.6.9_StaticLibrary_for_VisualC%2B%2B_win32.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.9_StaticLibrary_for_VisualC++_win32.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XQr9R8VD3i.7z/SQLite3_v3.6.9_StaticLibrary_for_VisualC%2B%2B_win64.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.9_StaticLibrary_for_VisualC++_win64.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Visual C++ 용은 간단하게 테스트를 해 보았지만 C++ Builder 용은 테스트를 하지 못 하였음.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="" title="[http://neodreamer.tistory.com/211]로 이동합니다." target="_blank" href="http://neodreamer.tistory.com/211"&gt;C++ Builder 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;a style="" title="[http://neodreamer.tistory.com/210]로 이동합니다." target="_blank" href="http://neodreamer.tistory.com/210"&gt;Visual C++ 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4201068820733995678?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4201068820733995678/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/sqlite3-version-369-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4201068820733995678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4201068820733995678'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/sqlite3-version-369-library.html' title='SQLite3 Version 3.6.9 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2124947251230616057</id><published>2009-01-14T14:06:00.000+09:00</published><updated>2011-01-30T14:09:09.894+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='로컬 데이터베이스'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>강력한 무료 로컬 데이터베이스 시스템 - SQLite 3.6.9 Released!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://sqlite.org/images/SQLite.gif" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;무료 로컬 데이터베이스인 SQLite 가 3.6.9 버전을 공개하였다.&lt;br /&gt;이틀만에 버전업을 한 것을 보니 3.6.8 버전에 심각한 문제가 있었나 보다. 제작자도 3.6.8에서 3.6.9로 업데이트를 권장하고 있다.&lt;br /&gt;&lt;br /&gt;이번 버전에서 바뀐점은 다음과 같다.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fix two bugs, which when combined might result in incorrect query results. Both bugs were harmless by themselves; only when they team up do they cause problems. Ticket #3581.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.sqlite.org/" target="_blank"&gt;SQLite 홈페이지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite 다운로드 페이지&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2124947251230616057?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2124947251230616057/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EA%B0%95%EB%A0%A5%ED%95%9C-%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-sqlite-369.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2124947251230616057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2124947251230616057'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EA%B0%95%EB%A0%A5%ED%95%9C-%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-sqlite-369.html' title='강력한 무료 로컬 데이터베이스 시스템 - SQLite 3.6.9 Released!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4699194097768428035</id><published>2009-01-13T17:52:00.000+09:00</published><updated>2011-01-30T14:09:09.832+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><title type='text'>SQLite3 Version 3.6.8 Library</title><content type='html'>SQLite3 v3.6.8 Library for C++ Builder&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XeWGETxNv4.7z/SQLite3_v3.6.8_Library_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.8_Library_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XTvNiuygsJ.7z/SQLite3_v3.6.8_StaticLibrary_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.8_StaticLibrary_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;SQLite3&lt;span id="callbacknestneodreamertistorycom2216568" style="width: 1px; height: 1px; float: right;"&gt;&lt;embed allowscriptaccess="always" id="bootstrapperneodreamertistorycom2216568" src="../../../plugin/CallBack_bootstrapperSrc?nil_profile=tistory&amp;amp;nil_type=copied_post" wmode="transparent" type="application/x-shockwave-flash" enablecontextmenu="false" flashvars="&amp;amp;callbackId=neodreamertistorycom2216568&amp;amp;host=http://neodreamer.tistory.com&amp;amp;embedCodeSrc=http%3A%2F%2Fneodreamer.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fcfs.tistory.com%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D221%26callbackId%3Dneodreamertistorycom2216568%26destDocId%3Dcallbacknestneodreamertistorycom2216568%26host%3Dhttp%3A%2F%2Fneodreamer.tistory.com%26float%3Dleft" swliveconnect="true" width="1" height="1"&gt;&lt;/span&gt; v3.6.8 Libary for Visual C++&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XX2I7bUPDA.7z/SQLite3_v3.6.8_Library_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.8_Library_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XbkrKg2Al3.7z/SQLite3_v3.6.8_StaticLibrary_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.8_StaticLibrary_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://neodreamer.tistory.com/211]로 이동합니다." target="_blank" href="http://neodreamer.tistory.com/211"&gt;C++ Builder 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://neodreamer.tistory.com/210]로 이동합니다." target="_blank" href="http://neodreamer.tistory.com/210"&gt;Visual C++ 용 SQLite 정적 라이브러리 만들기&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4699194097768428035?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4699194097768428035/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/sqlite3-version-368-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4699194097768428035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4699194097768428035'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/sqlite3-version-368-library.html' title='SQLite3 Version 3.6.8 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7157723770737508602</id><published>2009-01-13T17:46:00.000+09:00</published><updated>2011-01-30T14:09:09.748+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><title type='text'>강력한 무료 로컬 데이터베이스 시스템 - SQLite 3.6.8 Released!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://sqlite.org/images/SQLite.gif" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;무료 로컬 데이터베이스인 SQLite 가 3.6.8 버전을 공개하였다.&lt;br /&gt;&lt;br /&gt;이번 버전에서 바뀐점은 다음과 같다.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Added support for nested transactions&lt;/li&gt;&lt;li&gt;Enhanced the query optimizer so that it is able to use multiple indices to efficiently process OR-connected constraints in a WHERE clause.&lt;/li&gt;&lt;li&gt;Added support for parentheses in FTS3 query patterns using the SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.sqlite.org/" target="_blank"&gt;SQLite 홈페이지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite 다운로드 페이지&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7157723770737508602?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7157723770737508602/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EA%B0%95%EB%A0%A5%ED%95%9C-%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-sqlite-368.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7157723770737508602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7157723770737508602'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EA%B0%95%EB%A0%A5%ED%95%9C-%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-sqlite-368.html' title='강력한 무료 로컬 데이터베이스 시스템 - SQLite 3.6.8 Released!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6846745330092180140</id><published>2009-01-13T17:43:00.000+09:00</published><updated>2011-01-30T14:09:09.676+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><category scheme='http://www.blogger.com/atom/ns#' term='VisualSVN Server'/><title type='text'>무료 SVN Server - VisualSVN Server 1.6.3 Released</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://cfs9.tistory.com/upload_control/download.blog?fhandle=YmxvZzEzNDk1NkBmczkudGlzdG9yeS5jb206L2F0dGFjaC8wLzM2MDAwMDAwMDAwOC5QTkc=" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;이번 버전에서 바뀐 내용&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Updated to Subversion 1.5.5. For further details please see:&lt;br /&gt;http://svn.collab.net/repos/svn/tags/1.5.5/CHANGES&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Potentially insecure SSL 2.0 protocol is disabled.&lt;/li&gt;&lt;li&gt;mod_alias and mod_proxy Apache modules are included into the installation package.&lt;/li&gt;&lt;/ul&gt;&lt;a style="" href="http://neodreamer.tistory.com/106" target="_blank"&gt;2008/06/19 - [Dev Story/Tips] - 그림으로 보는 간단한 개발서버 구축하기&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(127, 127, 255);" href="http://neodreamer.tistory.com/107" target="_blank"&gt;2008/06/19 - [Dev Story/Tips] - VisualSVN Server 와 TortoiseSVN을 이용하기&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://www.visualsvn.com/" target="_blank"&gt;VisualSVN Official website&lt;/a&gt;&lt;br /&gt;&lt;a style="" href="http://www.visualsvn.com/server/" target="_blank"&gt;VisualSVN Server page&lt;/a&gt;&lt;br /&gt;&lt;a style="" href="http://www.visualsvn.com/server/download/" target="_blank"&gt;VisualSVN Server Download Pag&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6846745330092180140?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6846745330092180140/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EB%AC%B4%EB%A3%8C-svn-server-visualsvn-server-163.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6846745330092180140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6846745330092180140'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/%EB%AC%B4%EB%A3%8C-svn-server-visualsvn-server-163.html' title='무료 SVN Server - VisualSVN Server 1.6.3 Released'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5419706782384931446</id><published>2009-01-06T14:43:00.000+09:00</published><updated>2011-01-30T14:09:09.610+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TortoiseSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>TortoiseSVN-1.5.6.14908 Released!!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://cfs8.tistory.com/upload_control/download.blog?fhandle=YmxvZzEzNDk1NkBmczgudGlzdG9yeS5jb206L2F0dGFjaC8wLzE0LnBuZw==" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;이번 버전에서 수정된 사항&lt;br /&gt;Version 1.5.6&lt;br /&gt;- CHG: Disabled capieng again - users were annoyed. (Stefan)&lt;br /&gt;- BUG: possible segfault in TSVNCache when shutting down windows. (Stefan)&lt;br /&gt;- BUG: The client-side hook scripts weren't started if only deletions were&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; committed or updated. (Stefan)&lt;br /&gt;- BUG: The "show log" was shown for added files in the status &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; list control. (Stefan)&lt;br /&gt;- BUG: Files/Folders with '%' in the name could not be renamed in the&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; repository browser. (Stefan)&lt;br /&gt;- BUG: Reverting files could have removed associated folders. (Stefan)&lt;br /&gt;- BUG: The OK button in the checkout dialog was sometimes disabled. (Stefan)&lt;br /&gt;- BUG: Creating a tag/branch from the repository browser didn't work if&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; the target folder did not exist. (Stefan)&lt;br /&gt;- BUG: Under rare conditions, log reported revisions twice (Stefan Fuhrmann)&lt;br /&gt;- BUG: Log for branches, tags etc. could be slow if the log cache is &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; incomplete and the repository has many revisions (Stefan Fuhrmann)&lt;br /&gt;- BUG: Reported RAM usage of log cache too large (Stefan Fuhrmann)&lt;br /&gt;- BUG: The "delete unversioned items" command only worked for single paths.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; If multiple items were selected, the dialog showed &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; an empty list. (Stefan)&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://tortoisesvn.net/" target="_blank"&gt;TortoiseSVN Homepage&lt;/a&gt;&lt;br /&gt;&lt;a href="http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.5.6.14908-win32-svn-1.5.5.msi?download"&gt;TortoiseSVN-1.5.6.14908-win32-svn-1.5.5.msi&lt;/a&gt;&lt;br /&gt;&lt;a href="http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.5.6.14908-x64-svn-1.5.5.msi?download"&gt;TortoiseSVN-1.5.6.14908-x64-svn-1.5.5.msi&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5419706782384931446?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5419706782384931446/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/tortoisesvn-15614908-released.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5419706782384931446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5419706782384931446'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2009/01/tortoisesvn-15614908-released.html' title='TortoiseSVN-1.5.6.14908 Released!!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6358868030886519106</id><published>2008-12-31T09:55:00.000+09:00</published><updated>2011-01-30T14:09:09.515+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><title type='text'>Visual Assist X 10.5 1175 Released</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XGDM6HUCRp.gif" style="width:602px;height:550px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;중독성이 아주 강한 Visual Studio의 프로그램밍 보조툴...&lt;br /&gt;&lt;br /&gt;이번 버전은 많은 기능이 추가 되었고 WPF 쪽 지원과 VS2008에 대한 지원이 많이 강화 되었다네요. &lt;br /&gt;&lt;br /&gt;&lt;a title="[http://www.wholetomato.com]로 이동합니다." target="_blank" href="http://www.wholetomato.com"&gt;Visual Assist X 홈페이지&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://www.wholetomato.com/downloads/default.asp]로 이동합니다." target="_blank" href="http://www.wholetomato.com/downloads/default.asp"&gt;Visual Assist X 10.5.1175 Download&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://www.egyptfans.net/2008122310013/Sofware/-Whole-Tomato-Visual-Assist-X-v10.5.1711.0.html]로 이동합니다." target="_blank" href="http://www.egyptfans.net/2008122310013/Sofware/-Whole-Tomato-Visual-Assist-X-v10.5.1711.0.html"&gt;Visual Assist X 10.5.1175 Download ^^*&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://mangga2.net/office/2814-visual-assist-x-v10.5.1711.0.html]로 이동합니다." target="_blank" href="http://mangga2.net/office/2814-visual-assist-x-v10.5.1711.0.html"&gt;Visual Assist X 10.5.1175 Download ^^*&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6358868030886519106?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6358868030886519106/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/visual-assist-x-105-1175-released.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6358868030886519106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6358868030886519106'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/visual-assist-x-105-1175-released.html' title='Visual Assist X 10.5 1175 Released'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6174938398014306461</id><published>2008-12-29T13:14:00.000+09:00</published><updated>2011-01-30T14:09:09.443+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='partition'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='diskpart'/><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Drive letter'/><title type='text'>DISKPART 를 이용한 HDD 숨기기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;Diskpart는 명령행 프로그램으로 HDD의 partition 을 관리하는 프로그램이다.&lt;br /&gt;(MSDN : &lt;a title="[http://msdn.microsoft.com/en-us/library/bb905593.aspx]로 이동합니다." target="_blank" href="http://msdn.microsoft.com/en-us/library/bb905593.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb905593.aspx&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Diskpart 지원 명령어&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 단순 볼륨에 미러를 추가합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACTIVE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 현재 기본 파티션을 활성 부팅 파티션으로 표시합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASSIGN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 선택한 볼륨에 드라이브 문자 또는 탑재 지점을 할당합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BREAK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 미러 집합을 나눕니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLEAN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 디스크에서 구성 정보 또는 모든 정보를 삭제하고, 디스크를 닫습니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONVERT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 서로 다른 디스크 형식으로 변환합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CREATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 볼륨 또는 파티션을 만듭니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELETE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 개체를 삭제합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DETAIL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 개체 정보를 제공합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - DiskPart 끝내기&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTEND&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 볼륨을 확장합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HELP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 명령 목록을 인쇄합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 디스크 그룹을 가져옵니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LIST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 개체 목록을 인쇄합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INACTIVE&amp;nbsp;&amp;nbsp;&amp;nbsp; - 현재 기본 파티션을 비활성 파티션으로 표시합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ONLINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 현재 오프라인으로 표시된 디스크를 온라인으로 만듭니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 아무 작업도 하지 않습니다. 스크립트를 설명하는데 사용됩니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REMOVE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 드라이브 문자 또는 탑재 지점 할당을 제거합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPAIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - RAID-5 볼륨을 복구하십시오.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESCAN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 디스크 및 볼륨을 다시 검색합니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETAIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 단순 볼륨에 보유자 파티션을 만듭니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 포커스를 개체로 이동합니다.&lt;br /&gt;&lt;br /&gt;이 Diskpart 프로그램을 이용하여 파티션에 할당한 드라이브 문자를 삭제 및 재 할당을 할 수 있다.&lt;br /&gt;삭제를 하면 해당 파티션에대한 사용을 하지 못한다.&lt;br /&gt;&lt;br /&gt;드라이브 문자 삭제 방법&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0. Volume 목록 확인&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;DISKPART&amp;gt;list volume&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. 삭제하고자 하는 Volume 선택&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;DISKPART&amp;gt;select volume 2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. 드라이브 문자 삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;DISKPART&amp;gt;remove letter e&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;드라이브 문자 할당 방법&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0. Volume 목록 확인&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;DISKPART&amp;gt;list volume&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. 삭제하고자 하는 Volume 선택&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;DISKPART&amp;gt;select volume 2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. 드라이브 문자 할당&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;DISKPART&amp;gt;assign letter e&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;아래 화면은 문자를 삭제하고 할당하는 예를 보여주는 화면이다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XeUmNpjBbl.PNG" style="width:620px;height:489px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/2/24585/attach/XeUmNpjBbl.PNG')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6174938398014306461?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6174938398014306461/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/diskpart-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-hdd-%EC%88%A8%EA%B8%B0%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6174938398014306461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6174938398014306461'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/diskpart-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-hdd-%EC%88%A8%EA%B8%B0%EA%B8%B0.html' title='DISKPART 를 이용한 HDD 숨기기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2789119749198493222</id><published>2008-12-27T10:10:00.000+09:00</published><updated>2011-01-30T14:09:09.347+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='CTime'/><category scheme='http://www.blogger.com/atom/ns#' term='CTimeSpan'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>CTime 과 CTimeSpan 으로 시간 연산하기 (시간차 계산)</title><content type='html'>시각을 관리하는 CTime 클래스와 시간을 관리하는 CTimeSpan 을 이용하여 시간을 연산할 수 있다.&lt;br /&gt;&lt;br /&gt;CTime 클래스는 +,- 연산자를 지원하는데 - 연산자의 경우 피연산자를 CTime 을 사용하면 두 시각의 시간차를 구할 수 있다.&lt;br /&gt;+,- 연산자와 피연산자로 CTimeSpan 을 사용하면 특정 시각을 기준으로 일정시간 뒤(-)나 앞(+)의 시각을 계산할 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;TEXTAREA name="code" class="cpp" rows=5 cols=30&gt;// from MSDN : http://msdn.microsoft.com/en-us/library/3a34945y.aspxCTime t1(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999CTime t2(1999, 3, 20, 22, 15, 0); // 10:15 PM March 20, 1999CTimeSpan ts = t2 - t1;             // Subtract 2 CTimesATLASSERT(ts.GetTotalSeconds() == 86400L);ATLASSERT((t1 + ts) == t2);       // Add a CTimeSpan to a CTime.ATLASSERT((t2 - ts) == t1);       // Subtract a CTimeSpan from a CTime.   // t1과 t2의 시간차ts.GetDays(); 			// 두시각의 날짜 차이ts.GetHours();			// 두시각의 시간 차이 ( –23 ~ 23 )ts.GetTotalHours();		// 날짜를 시간으로 환산한 두 시각의 총 시간 차이ts.GetMinutes();		// 두시각의 분 차이 (–59 ~ 59)ts.GetTotalMinutes();	// 날짜와 시간을 분으로 환산한 두 시각의 총 분 차이	ts.GetSeconds();		// 두 시각의 초 차이 (–59 ~ 59)ts.GetTotalSeconds();	// 날짜 시간 분을 초로 환산한 두 시각의 총 초 차이// CTimeSpan 활용하기 : http://msdn.microsoft.com/en-us/library/h7zw4wy1.aspxCTimeSpan ts1;  // Uninitialized time valueCTimeSpan ts2a(ts1); // Copy constructorCTimeSpan ts2b = ts1; // Copy constructor againCTimeSpan ts3(100); // 100 secondsCTimeSpan ts4(0, 1, 5, 12);    // 1 hour, 5 minutes, and 12 seconds   // CTime 에 시간 더하기t1 += CTimeSpan( 100 ); // ti 에 100초 더하기// CTime 에 하루 더하기t1 += CTimeSpan( 1, 0, 0, 0 ); // CTimeSpan( 날짜, 시간, 분, 초 )&lt;/TEXTAREA&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2789119749198493222?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2789119749198493222/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/ctime-%EA%B3%BC-ctimespan-%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EA%B0%84-%EC%97%B0%EC%82%B0%ED%95%98%EA%B8%B0-%EC%8B%9C%EA%B0%84%EC%B0%A8-%EA%B3%84%EC%82%B0.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2789119749198493222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2789119749198493222'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/ctime-%EA%B3%BC-ctimespan-%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EA%B0%84-%EC%97%B0%EC%82%B0%ED%95%98%EA%B8%B0-%EC%8B%9C%EA%B0%84%EC%B0%A8-%EA%B3%84%EC%82%B0.html' title='CTime 과 CTimeSpan 으로 시간 연산하기 (시간차 계산)'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-3004779260311109130</id><published>2008-12-26T15:47:00.000+09:00</published><updated>2011-01-30T14:09:09.285+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='재배포 가능 패키지'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++ 8 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++ 9 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Microsoft 재배포 가능 패키지 다운로드 링크</title><content type='html'>재배포 가능 패키지는 개발툴이 설치되어 있지 않은 컴퓨터에서 Visual C++를 사용하여 개발된 응용 프로그램을 실행하는 데 필요한 Visual C++ 라이브러리의 런타임 구성 요소를 설치합니다.&lt;br /&gt;&lt;br /&gt;이 패키지에서는 C 런타임(CRT), 표준 C++, ATL, MFC, OpenMP 및 MSDIA 라이브러리의 런타임 구성 요소를 설치합니다.&lt;br /&gt;&lt;br /&gt;Visual C++ 2005 SP1 재배포 가능 패키기&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=ko&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=200b2fd9-ae1a-4a14-984d-389c36f85647&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f9%2fa%2f5%2f9a531c2c-42ba-40b4-a855-4116af779cb8%2fvcredist_x86.exe" target="_blank"&gt;Microsoft Visual C++ 2005 SP1 재배포 가능 패키지 (x86)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=ko&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=eb4ebe2d-33c0-4a47-9dd4-b9a6d7bd44da&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2ff%2f4%2f9%2ff492b35d-8bcb-451f-b9be-65d5edb39502%2fvcredist_x64.exe" target="_blank"&gt;Microsoft Visual C++ 2005 SP1 재배포 가능 패키지 (x64)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=200b2fd9-ae1a-4a14-984d-389c36f85647&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fe%2f1%2fc%2fe1c773de-73ba-494a-a5ba-f24906ecf088%2fvcredist_x86.exe" target="_blank"&gt;Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=eb4ebe2d-33c0-4a47-9dd4-b9a6d7bd44da&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fd%2f4%2f1%2fd41aca8a-faa5-49a7-a5f2-ea0aa4587da0%2fvcredist_x64.exe" target="_blank"&gt;Microsoft Visual C++ 2005 SP1 Redistributable Package (x64)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Visual C++ 2008 SP1 재배포 가능 패키기&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=ko&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f3%2f563256db-7faf-440e-839e-c12efe19388d%2fvcredist_x86.exe" target="_blank"&gt;Microsoft Visual C++ 2008 SP1 재배포 가능 패키지(x86)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=ko&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=ba9257ca-337f-4b40-8c14-157cfdffee4e&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f0%2f4%2f1%2f041b9d9f-852b-4a67-9e15-f4ebf699fe63%2fvcredist_x64.exe" target="_blank"&gt;Microsoft Visual C++ 2008 SP1 재배포 가능 패키지(x64)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fd%2fd%2f9%2fdd9a82d0-52ef-40db-8dab-795376989c03%2fvcredist_x86.exe" target="_blank"&gt;Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=ba9257ca-337f-4b40-8c14-157cfdffee4e&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f2%2fd%2f6%2f2d61c766-107b-409d-8fba-c39e61ca08e8%2fvcredist_x64.exe" target="_blank"&gt;Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.Net Framework 3.0&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=ko&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=10cc340b-f857-4a14-83f5-25634c3bf043&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f4%2fd%2fa%2f4da3a5fa-ee6a-42b8-8bfa-ea5c4a458a7d%2fdotnetfx3setup.exe" target="_blank"&gt;Microsoft .NET Framework 3.0 재배포 가능 패키지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=10cc340b-f857-4a14-83f5-25634c3bf043&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f4%2fd%2fa%2f4da3a5fa-ee6a-42b8-8bfa-ea5c4a458a7d%2fdotnetfx3setup.exe" target="_blank"&gt;Microsoft .NET Framework 3.0 Redistributable Package&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-3004779260311109130?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/3004779260311109130/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/microsoft-%EC%9E%AC%EB%B0%B0%ED%8F%AC-%EA%B0%80%EB%8A%A5-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EB%A7%81%ED%81%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3004779260311109130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3004779260311109130'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/microsoft-%EC%9E%AC%EB%B0%B0%ED%8F%AC-%EA%B0%80%EB%8A%A5-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EB%A7%81%ED%81%AC.html' title='Microsoft 재배포 가능 패키지 다운로드 링크'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-341785566544249773</id><published>2008-12-25T12:26:00.000+09:00</published><updated>2011-01-30T14:09:09.204+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='날짜변환'/><category scheme='http://www.blogger.com/atom/ns#' term='std::string'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='CTime'/><category scheme='http://www.blogger.com/atom/ns#' term='date'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='문자를 날짜로'/><title type='text'>std::string 의 날짜를 CTime에 넣기</title><content type='html'>MySQL의 DATE 함수에 의해 얻어진 std::string 문자열("YYY-MM-DD")을 CTime에 넣기.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;		// "1999-01-01"		// "0123456789"		std::string d = "1999-01-01";		CTime time( 			atoi( d.substr(0, 4).c_str() ), // Year			atoi( d.substr(5, 2).c_str() ), // Month			atoi( d.substr(8, 2).c_str() ), // Day			0, 0, 0 /* Time */ );&lt;/textarea&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-341785566544249773?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/341785566544249773/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/stdstring-%EC%9D%98-%EB%82%A0%EC%A7%9C%EB%A5%BC-ctime%EC%97%90-%EB%84%A3%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/341785566544249773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/341785566544249773'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/stdstring-%EC%9D%98-%EB%82%A0%EC%A7%9C%EB%A5%BC-ctime%EC%97%90-%EB%84%A3%EA%B8%B0.html' title='std::string 의 날짜를 CTime에 넣기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4609248030179329433</id><published>2008-12-23T13:47:00.000+09:00</published><updated>2011-01-30T14:09:09.102+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='CDialogBar'/><title type='text'>CDialogBar 를 CDialog 처럼 사용하기</title><content type='html'>이 내용은 다음의 사이트를 참고하여 직접 작업을 해 보면서 작성한 글임.&lt;br /&gt;http://myhome.hanafos.com/~kukdas/doc/mfc/dialogbar.html&lt;br /&gt;http://www.charmzine.com/blog/charmzine/17&lt;br /&gt;&lt;br /&gt;1. 리소스에 다이얼로그 추가&lt;br /&gt;다이얼로그 리소스를 추가하고 아이디를 부여한다.&lt;br /&gt;DialogBar로 사용하기 위해 Style 속성을 Child로, Border 속성을 None 으로 변경한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. 클래스 생성&lt;br /&gt;추가된 다이얼로그 리소스를 기반으로 클래스를 생성한다.&lt;br /&gt;이때 Base 클래스가 CDialogBar가 없기 때문에 CDialog 를 상속 받아서 생성한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 기반(Base) 클래스 변경&lt;br /&gt;생성된 클래스에서 CDialog 를 CDialogBar로 변경한다.&lt;br /&gt;생성자 부분의 기반 클래스 생성자 호출 부분은 주석처리 한다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;	IMPLEMENT_DYNAMIC(CMyBar, CDialogBar)	CMyBar::CMyBar(CWnd* pParent /*=NULL*/)		/*: CDialogBar(CDialogBar::IDD, pParent)*/	{	}	CMyBar::~CMyBar()	{	}	void CMyBar::DoDataExchange(CDataExchange* pDX)	{		CDialogBar::DoDataExchange(pDX);	}	BEGIN_MESSAGE_MAP(CMyBar, CDialogBar)	END_MESSAGE_MAP()&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;4. DDX/DDV를 사용하기 위해 메세지 처리 함수 추가하고 WM_INITDIALOG 와 매핑시킨다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;	// Header	afx_msg LRESULT OnInitDialog(WPARAM, LPARAM);	// Source	BEGIN_MESSAGE_MAP(CMyBar, CDialogBar)		:		ON_MESSAGE( WM_INITDIALOG, OnInitDialog)		:	END_MESSAGE_MAP()	LRESULT CMyBar::OnInitDialog(WPARAM wParam, LPARAM lParam)	{		if ( !HandleInitDialog(wParam, lParam) || !UpdateData( FALSE ) )		{			TRACE0("Warning: UpdateData failed during dialog init.\n");			return FALSE;		}		return TRUE;	}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;5. 메인 프레임에서 생성하기&lt;br /&gt;생성된 클래스의 헤더파일을 메인프레임에 포함시켜 주고 OnCreate 에 다이얼로그바를 생성한다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;	// Header	#include "MyBar.h"	CMyBar m_wndDialogBar;	// Source	if ( !m_wndDialogBar.Create( this, IDD_MYBAR, 		CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY, 		IDD_MYBAR ))	{		TRACE0("Failed to create dialogbar");		return -1;	}&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;6. 버튼 활성화 시키기&lt;br /&gt;DialogBar에 올려진 버튼은 ON_BN_CLICKED 이벤트를 매핑 시켜 주어도 활성화가 되지 않는다.&lt;br /&gt;ON_UPDATE_COMMAND_UI 이벤트를 매핑 시켜 주어야하는데 이 작업은 수동으로 해야한다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;	// Source	afx_msg void OnUpdateCmdUI(CCmdUI* pCmdUI);	// Header	BEGIN_MESSAGE_MAP(CMyBar, CDialogBar)		ON_UPDATE_COMMAND_UI( IDC_BTN_SEARCH, OnUpdateCmdUI )	END_MESSAGE_MAP()&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4609248030179329433?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4609248030179329433/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/cdialogbar-%EB%A5%BC-cdialog-%EC%B2%98%EB%9F%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4609248030179329433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4609248030179329433'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/cdialogbar-%EB%A5%BC-cdialog-%EC%B2%98%EB%9F%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html' title='CDialogBar 를 CDialog 처럼 사용하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6685013056556873693</id><published>2008-12-23T12:36:00.000+09:00</published><updated>2011-01-30T14:09:09.032+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Com. Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 에 MSDN 검색 사이트 추가하기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;1. &lt;a title="[http://mycroft.mozdev.org/]로 이동합니다." target="_blank" href="http://mycroft.mozdev.org/"&gt;http://mycroft.mozdev.org/&lt;/a&gt; 접속&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. 검색어 MSDN 으로 검색&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XLgrDTDaHz.PNG" style="width:472px;height:168px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 검색 사이트 선택&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XIycapjNAM.PNG" style="width:523px;height:387px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. 등록 완료&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6685013056556873693?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6685013056556873693/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/firefox-%EC%97%90-msdn-%EA%B2%80%EC%83%89-%EC%82%AC%EC%9D%B4%ED%8A%B8-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6685013056556873693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6685013056556873693'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/firefox-%EC%97%90-msdn-%EA%B2%80%EC%83%89-%EC%82%AC%EC%9D%B4%ED%8A%B8-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0.html' title='Firefox 에 MSDN 검색 사이트 추가하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6638547072696236886</id><published>2008-12-22T18:18:00.000+09:00</published><updated>2011-01-30T14:09:08.936+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Library'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++ 8 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.0.2 Alpha Library</title><content type='html'>몇일 전 공개된 MySQL Connector/C++ 1.0.2 Alpha 버전을 컴파일 하여 DLL 과 라이브러리(Static 포함)를 만들었다. 컴파일러 버전은 Visual C++ 2005를 사용하였다.&lt;br /&gt;&lt;br /&gt;진행 중인 프로젝트(32bit, 64bit)에 바로 적용을 하여 테스트 해보았는데 크게 문제가 되는게 없어 보였다.&lt;br /&gt;테스트에 사용된 라이브러리는 MySQL 5.0.67 과 함께 컴파일한 라이브러리이다.&lt;br /&gt;&lt;br /&gt;MySQL Connector/C++ 1.0.2 Source&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XdMagdEYep.zip/mysql-connector-c%2B%2B-1.0.2-alpha.zip" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/zip.gif" alt="" style="vertical-align: middle;" /&gt; mysql-connector-c++-1.0.2-alpha.zip&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;With MySQL 5.0.67&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XAMOgAwKRf.7z/mysql_connector_cpp_1_0_2_alpha_win32_5067_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win32_5067_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XFL5u2SN84.7z/mysql_connector_cpp_1_0_2_alpha_win32_5067_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win32_5067_release.7z&lt;/a&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XTDi2cza9s.7z/mysql_connector_cpp_1_0_2_alpha_win64_5067_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win64_5067_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XaMvKuBa1u.7z/mysql_connector_cpp_1_0_2_alpha_win64_5067_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win64_5067_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;With MySQL 5.1.30&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XNHQvBVZQx.7z/mysql_connector_cpp_1_0_2_alpha_win32_5130_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win32_5130_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XJ7SbpXtRF.7z/mysql_connector_cpp_1_0_2_alpha_win32_5130_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win32_5130_release.7z&lt;/a&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XRdutJgt9t.7z/mysql_connector_cpp_1_0_2_alpha_win64_5130_debug.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win64_5130_debug.7z&lt;/a&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XA1pbR2ROH.7z/mysql_connector_cpp_1_0_2_alpha_win64_5130_release.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; mysql_connector_cpp_1_0_2_alpha_win64_5130_release.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6638547072696236886?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6638547072696236886/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-connectorc-102-alpha-library.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6638547072696236886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6638547072696236886'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-connectorc-102-alpha-library.html' title='MySQL Connector/C++ 1.0.2 Alpha Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2906452494031070499</id><published>2008-12-22T16:49:00.000+09:00</published><updated>2011-01-30T14:09:08.867+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><title type='text'>MySQL Connector/C++ 1.0.2 Alpha Release</title><content type='html'>MySQL 의 C++ Connector 가 1.0.2 Alpha 버전을 공개하였다.&lt;br /&gt;&lt;br /&gt;이번 버전에서 수정된 내용&lt;br /&gt;&lt;br /&gt;MySQL Connector/C++ 1.0.2 Alpha (19. December 2008)&lt;ul&gt;    &lt;li&gt; Adding test/unit as a basis for general unit tests based on the new test framework, see test/unit/example for basic usage examples (Ulf)&lt;/li&gt;    &lt;li&gt; Fixed MySQL_PreparedStatement::setBlob() to really work. In the tests there is a simple example of a class implementing sql::Blob. (Andrey)&lt;/li&gt;    &lt;li&gt; Addition of a new unit test framework for JDBC compliance and regression testing. We now include our JDBC compliance tests in the releases (Lawrin)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_ResultSetMetaData::getPrecision() and MySQL_Prepared_ResultSetMetaData::getPrecision(),updating example. (Andrey)&lt;/li&gt;    &lt;li&gt; Fixing bug in FLOAT handling. (Andrey)&lt;/li&gt;    &lt;li&gt; Fixing bug in getString(): getString() is binary safe now (Andrey), new example. (Ulf)&lt;/li&gt;    &lt;li&gt; Fixing bugs in MySQL_PreparedStatements: setBigInt() and setDatetime() have decremented the internal column index before forwarding the request. This resulted in double-decrement and wrong internal column index. Typical error message: setString() ... invalid "parameterIndex" (Ulf)&lt;/li&gt;    &lt;li&gt; Adding PHP script examples/cpp_trace_analyzer.php to filter the output of the debug trace. Please see the inline comments for documentation. This script is unsupported! We do no promise to maintain it. (Ulf)&lt;/li&gt;    &lt;li&gt; Fixed bugs in MySQL_DatabaseMetaData :all supportsCatalogXXXXX methods were returning `true` and all supportSchemaXXXX methods false, which is not as it should be. Now it is reversed, to be consistent with the rest. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_PreparedStatement::clearParameters(). (Andrey)&lt;/li&gt;    &lt;li&gt; Fixed a bug in MySQL_ConnectionMetaData::getColumns() which was performing a cartesian product of the columns in the table times the columns matching columnNamePattern. example/connection_meta_schemaobj.cpp extended to cover the function. (Andrey)&lt;/li&gt;    &lt;li&gt; Fixed lame bug in MySQL_ConnectionMetaData::getIndexInfo() which did not work because the schema name wasn't included in the query sent to the server. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented MySQL_PreparedStatement::setNull(). (Andrey)&lt;/li&gt;    &lt;li&gt; Reverted implementation of MySQL_DatabaseMetaData::getTypeInfo(). Now unimplemented. In addition, removed cppconn/datatype.h for now till we havea proper implementation of the types.&lt;/li&gt;    &lt;li&gt; DATE, DATETIME and TIME are now being handled when calling MySQL_PreparedResultSet::getString(), ::getDouble, ::getInt(), ::getLong(), ::getBoolean()&lt;/li&gt;    &lt;li&gt; Fixed MySQL_PreparedStatementResultSet::getDouble() to return proper value when the underlying type is MYSQL_TYPE_FLOAT. (Andrey)&lt;/li&gt;    &lt;li&gt; Changed ResultSetMetaData::getColumnDisplaySize(), ::getPrecision(), ::getScale() to return unsigned int instead of signed int. (Andrey)&lt;/li&gt;    &lt;li&gt; Implemented getScale(), getPrecision() and getColumnDisplaySize() for MySQL_ResultSetMetaData and MySQL_Prepared_ResultSetMetaData. (Andrey) &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://forge.mysql.com/wiki/Connector_C%2B%2B" target="_blank"&gt;MySQL Connector/C++ Webpage&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2906452494031070499?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2906452494031070499/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-connectorc-102-alpha-release.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2906452494031070499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2906452494031070499'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-connectorc-102-alpha-release.html' title='MySQL Connector/C++ 1.0.2 Alpha Release'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6609340799556434792</id><published>2008-12-22T15:04:00.000+09:00</published><updated>2011-01-30T14:09:08.773+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='CListCtrl'/><title type='text'>CListCtrl 에서 전체 Row 선택 설정하기</title><content type='html'>CListCtrl 에서 아이템을 선택하면 아이템 부분만 선택이 되고 SubItem 부분은 선택이 되지 않는데 이때 CListCtrl 에 LVS_EX_FULLROWSELECT 속성을 추가해 주면 SubItem 부분도 선택이 된다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;	m_lstLibrary.SetExtendedStyle( 		m_lstLibrary.GetExtendedStyle()		| LVS_EX_FULLROWSELECT 	);&lt;/textarea&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6609340799556434792?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6609340799556434792/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/clistctrl-%EC%97%90%EC%84%9C-%EC%A0%84%EC%B2%B4-row-%EC%84%A0%ED%83%9D-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6609340799556434792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6609340799556434792'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/clistctrl-%EC%97%90%EC%84%9C-%EC%A0%84%EC%B2%B4-row-%EC%84%A0%ED%83%9D-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0.html' title='CListCtrl 에서 전체 Row 선택 설정하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-1716797797564145832</id><published>2008-12-22T14:47:00.000+09:00</published><updated>2011-01-30T14:09:08.712+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='CListCtrl'/><title type='text'>CListCtrl의 Header 비활성화 - 크기 조절 및 클릭 방지</title><content type='html'>CListCtrl 사용시에 각 컬럼의 크기를 고정해 놓고 사용자가 임의로 크기를 변경하지 못하도록 막을때 사용하면 된다.&lt;br /&gt;&lt;br /&gt;이 방법은 윈도우를 사용하지 못하게 하는 방법으로 컬럼헤더에서 클릭이 필요한 경우에는 사용할 수 없다.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;// 방법 1	HWND lvHeader;	lvHeader = ::FindWindowEx(m_lstMachine.GetSafeHwnd(), 		NULL, _T("SysHeader32"), _T(""));	::EnableWindow(lvHeader, 0);	// 방법 2	CHeaderCtrl* pHeader = (CHeaderCtrl*) m_listctrl.GetDlgItem(0);	::EnableWindow(pHeader-&amp;gt;GetSafeHwnd(), 0);&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-1716797797564145832?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/1716797797564145832/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/clistctrl%EC%9D%98-header-%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94-%ED%81%AC%EA%B8%B0-%EC%A1%B0%EC%A0%88-%EB%B0%8F-%ED%81%B4%EB%A6%AD-%EB%B0%A9%EC%A7%80.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1716797797564145832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/1716797797564145832'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/clistctrl%EC%9D%98-header-%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94-%ED%81%AC%EA%B8%B0-%EC%A1%B0%EC%A0%88-%EB%B0%8F-%ED%81%B4%EB%A6%AD-%EB%B0%A9%EC%A7%80.html' title='CListCtrl의 Header 비활성화 - 크기 조절 및 클릭 방지'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6182064808050376151</id><published>2008-12-22T14:42:00.000+09:00</published><updated>2011-01-30T14:09:08.633+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='24bit Image'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='CImageList'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><title type='text'>CImageList에 24bit Color 이미지 로딩하기</title><content type='html'>&lt;textarea name="code" class="cpp" rows="5" cols="30"&gt;	CBitmap bitmap;	bitmap.LoadBitmap(IDB_BITMAP1);	m_pImgList = new CImageList();	m_pImgList-&amp;gt;Create(36, 36, ILC_COLOR24, 0, 3);	m_pImgList-&amp;gt;Add(&amp;amp;bitmap, RGB(255, 0, 255));&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6182064808050376151?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6182064808050376151/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/cimagelist%EC%97%90-24bit-color-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%A1%9C%EB%94%A9%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6182064808050376151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6182064808050376151'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/cimagelist%EC%97%90-24bit-color-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%A1%9C%EB%94%A9%ED%95%98%EA%B8%B0.html' title='CImageList에 24bit Color 이미지 로딩하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8701386797556289816</id><published>2008-12-18T23:19:00.000+09:00</published><updated>2011-01-30T14:09:08.577+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for C++ Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite library'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite Static Library'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite for Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>SQLite3 Version 3.6.7 Library</title><content type='html'>SQLite3 v3.6.7 Library for C++ Builder&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XDTR8hmTzB.7z/SQLite3_v3.6.7_Library_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.7_Library_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XR0gX1EkF7.7z/SQLite3_v3.6.7_StaticLibrary_for_C%2B%2BBuilder.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.7_StaticLibrary_for_C++Builder.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;SQLite3 v3.6.7 Libary for Visual C++&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XezynIA5hv.7z/SQLite3_v3.6.7_Library_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.7_Library_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;a href="http://ss.textcube.com/blog/2/24585/attach/XLsqhRkvyW.7z/SQLite3_v3.6.7_StaticLibrary_for_VisualC%2B%2B.7z" rel="enclosure" &gt;&lt;img src="http://ss.textcube.com/service/blog/image/extension/unknown.gif" alt="" style="vertical-align: middle;" /&gt; SQLite3_v3.6.7_StaticLibrary_for_VisualC++.7z&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8701386797556289816?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8701386797556289816/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/sqlite3-version-367-library.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8701386797556289816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8701386797556289816'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/sqlite3-version-367-library.html' title='SQLite3 Version 3.6.7 Library'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-5274616961673933053</id><published>2008-12-18T14:31:00.000+09:00</published><updated>2011-01-30T14:09:08.470+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>강력한 무료 로컬 데이터베이스 시스템 - SQLite 3.6.7 Released!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://sqlite.org/images/SQLite.gif" border="0"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;무료 로컬 데이터베이스인 SQLite 가 3.6.7 버전을 공개하였다.&lt;br /&gt;&lt;br /&gt;이번 버전에서 바뀐점은 다음과 같다.&lt;br /&gt;&lt;ul&gt;    &lt;li&gt;Reorganize the Unix interface in os_unix.c&lt;/li&gt;    &lt;li&gt;Added support for "Proxy Locking" on MacOSX.&lt;/li&gt;    &lt;li&gt;Changed the prototype of the sqlite3_auto_extension() interface in a way that is backwards compatible but which might cause warnings in new builds of applications that use that interface.&lt;/li&gt;    &lt;li&gt;Changed the signature of the xDlSym method of the sqlite3_vfs object in a way that is backwards compatible but which might cause compiler warnings.&lt;/li&gt;    &lt;li&gt;Added superfluous casts and variable initializations in order to suppress nuisance compiler warnings.&lt;/li&gt;    &lt;li&gt;Fixes for various minor bugs.&lt;/li&gt;&lt;/ul&gt;제작사 측은 이전 버전중 3.6.6.2 버전 사용자는 업그레이드 필요성이 많지 않지만&amp;nbsp; 3.6.4 에서 3.6.6.1 버전까지 사용자는 3.6.7 로 바꾸는길 권하고 있다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org" target="_blank"&gt;SQLite 홈페이지&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlite.org/download.html" target="_blank"&gt;SQLite 다운로드 페이지&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-5274616961673933053?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/5274616961673933053/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EA%B0%95%EB%A0%A5%ED%95%9C-%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-sqlite-367.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5274616961673933053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/5274616961673933053'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EA%B0%95%EB%A0%A5%ED%95%9C-%EB%AC%B4%EB%A3%8C-%EB%A1%9C%EC%BB%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-sqlite-367.html' title='강력한 무료 로컬 데이터베이스 시스템 - SQLite 3.6.7 Released!'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-6413536028751492637</id><published>2008-12-13T18:04:00.000+09:00</published><updated>2011-01-30T14:09:08.393+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='auto_ptr'/><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>매력적인 힙 메모리 관리 템플릿 클래스 auto_ptr</title><content type='html'>new로 생성한 포인터 변수는 반드시 delete로 할당된 메모리를 해제해 주어야 한다.&lt;br /&gt;짧은 코드나 중간에 실행 경로를 바꾸는 일이 없을 경우에는 처리가 비교적 쉽지만 예외사항을 처리하고 중간에 함수를 빠져나가는경우가 있을경우 힙 영역에 할당한 메모리 해제에 대하여 신중해야한다. 이럴경우 auto_prt 을 사용하면 편리하다.&lt;br /&gt;&lt;br /&gt;MySQL Connector/C++ 을 사용하면서 사용하게 되었는데 아주 놈이다.&lt;br /&gt;&lt;br /&gt;사용 방법은 아래와 같다.&lt;br /&gt;std::auto_ptr&amp;lt; 데이터 타입 &amp;gt; variable( 할당할 데이터 포인터 ); &lt;br /&gt;&lt;br /&gt;std::auto_ptr&amp;lt; int &amp;gt; myInt( new int(5) );&lt;br /&gt;&lt;br /&gt;위의 구문은 myInt 를 int 형을 가리키는 포인터이며 새로 생성한 int(5)를 가리키고 있다. 이때 생성한 newint(5) 는 명시적으로 delete로 해제 하지 않아도 함수가 종료되는 시점에 자동으로 delete가 된다.&lt;br /&gt;&lt;br /&gt;auto_ptr 은 기본적으로 포이터만 핸들링 할 수 있으며 포인터 배열( new int[5] )의 경우 메모리 해제에 문제가 있다. 그리고 stl 의 container 에는 사용할 수 없다.&lt;br /&gt;&lt;br /&gt;auto_ptr 은 기본 생성자및 소멸자 외에 다음과 같은 메소드를 갖고 있다.&lt;br /&gt;auto_ptr::get()&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;auto_ptr이 담고 있는 데이터의 포인터를 반환&lt;br /&gt;&lt;br /&gt;auto_ptr::operator *&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;auto_ptr이 담고 있는 객체&lt;br /&gt;&lt;br /&gt;auto_ptr::operator -&amp;gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;auto_ptr 이 담고 있는 객체의 멤버에 접근&lt;br /&gt;&lt;br /&gt;auto_ptr::operator =&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;auto_ptr 이 가리키고 있는 포이터의 소유권 이전 다른 auto_ptr에게 받아오고 넘겨준 auto_ptr 은 갖고 있던 포인터를 해제함.&lt;br /&gt;&lt;br /&gt;auto_ptr::release()&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;auto_ptr 이 가리키고 있는 포인터를 명시적으로 삭제함.&lt;br /&gt;&lt;br /&gt;auto_ptr::reset()&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;기존 포인터를 삭제하고 새로운 포인터를 할당한다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-6413536028751492637?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/6413536028751492637/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EB%A7%A4%EB%A0%A5%EC%A0%81%EC%9D%B8-%ED%9E%99-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%ED%85%9C%ED%94%8C%EB%A6%BF-%ED%81%B4%EB%9E%98%EC%8A%A4-autoptr.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6413536028751492637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/6413536028751492637'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EB%A7%A4%EB%A0%A5%EC%A0%81%EC%9D%B8-%ED%9E%99-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%ED%85%9C%ED%94%8C%EB%A6%BF-%ED%81%B4%EB%9E%98%EC%8A%A4-autoptr.html' title='매력적인 힙 메모리 관리 템플릿 클래스 auto_ptr'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4875177045917598496</id><published>2008-12-12T13:00:00.000+09:00</published><updated>2011-01-30T14:09:08.321+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector/C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>어영부영 뒷걸음질 치다가 버그 잡았다. MySQL Connector/C++ 에 판정승.. ^^*</title><content type='html'>어제 종일 씨름 했던 PreparedStatement 문제를 해결 하였다.&lt;br /&gt;&lt;br /&gt;릴리즈 모드에서는 문제 없이 실행되던 prepared statement 가 디버그에서는 문제가 발생을 하여 디버그에서 릴리즈용 Library을 사용하여 시도를 해보았지만 다른 문제가 발생하였다.&lt;br /&gt;&lt;br /&gt;Library를 새로 만들고 해봐도 해결되지 않다가 프로젝트 속성에서 MFC 라이브러리 사용을 정적으로 바꾸니 그제서야 동작을 하였다.&lt;br /&gt;&lt;br /&gt;일단 문제 없이 실행이 되어서 계속진행을 할 수 있지만 왠지 찜찜하다. 짬 나는대로 자료 조사를 좀 해봐야겠다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4875177045917598496?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4875177045917598496/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EC%96%B4%EC%98%81%EB%B6%80%EC%98%81-%EB%92%B7%EA%B1%B8%EC%9D%8C%EC%A7%88-%EC%B9%98%EB%8B%A4%EA%B0%80-%EB%B2%84%EA%B7%B8-%EC%9E%A1%EC%95%98%EB%8B%A4-mysql-connectorc-%EC%97%90.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4875177045917598496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4875177045917598496'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EC%96%B4%EC%98%81%EB%B6%80%EC%98%81-%EB%92%B7%EA%B1%B8%EC%9D%8C%EC%A7%88-%EC%B9%98%EB%8B%A4%EA%B0%80-%EB%B2%84%EA%B7%B8-%EC%9E%A1%EC%95%98%EB%8B%A4-mysql-connectorc-%EC%97%90.html' title='어영부영 뒷걸음질 치다가 버그 잡았다. MySQL Connector/C++ 에 판정승.. ^^*'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7171032778046258194</id><published>2008-12-11T23:37:00.000+09:00</published><updated>2011-01-30T14:09:08.247+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='prepareStatement'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Connector C++'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>MySQL Connector/C++ 과 씨름하다 진이 다 빠졌다.</title><content type='html'>기본 MySQL C API 를 활용하였었는데 PreparedStatement 를 좀 더 깔끔하게 사용하기위해 MySQL Connector/C++을 사용을 시도해 보았다.&lt;br /&gt;&lt;br /&gt;커넥션 관리나 질의문을 다루는 것에는 아무런 문제가 없이 잘 활용 할 수 있었으나 PreparedStatement 사용에 있어 문제가 발생하였다.&lt;br /&gt;&lt;br /&gt;자꾸만 Error: 2036 (CR_UNSUPPORTED_PARAM_TYPE) 에러가 발생하였다. 같은 코드를 빈 프로젝트를 생성하여 테스트하면 아무런 문제가 없는데 실제 적용을 하려면 문제가 발생하였다.&lt;br /&gt;&lt;br /&gt;라이브러리도 새로 만들어보고 디버그로 해보고 릴리즈모드로도 해보고 도대체 원인을 알 수 가 없었다.&lt;br /&gt;&lt;br /&gt;조금만 더 지치면 MySQL++ 로 선회 해버릴 것 같다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7171032778046258194?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7171032778046258194/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-connectorc-%EA%B3%BC-%EC%94%A8%EB%A6%84%ED%95%98%EB%8B%A4-%EC%A7%84%EC%9D%B4-%EB%8B%A4-%EB%B9%A0%EC%A1%8C%EB%8B%A4.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7171032778046258194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7171032778046258194'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-connectorc-%EA%B3%BC-%EC%94%A8%EB%A6%84%ED%95%98%EB%8B%A4-%EC%A7%84%EC%9D%B4-%EB%8B%A4-%EB%B9%A0%EC%A1%8C%EB%8B%A4.html' title='MySQL Connector/C++ 과 씨름하다 진이 다 빠졌다.'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-8855667876896865988</id><published>2008-12-11T21:04:00.000+09:00</published><updated>2011-01-30T14:09:08.181+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC8'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='format'/><category scheme='http://www.blogger.com/atom/ns#' term='CString'/><category scheme='http://www.blogger.com/atom/ns#' term='삽질'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Mess'/><title type='text'>CString::Format 으로 삽질하다.</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;CString 의 Format 문 때문에 종일 삽질을 했다.&lt;br /&gt;&lt;textarea name="code" class="cpp" rows="10" cols="30"&gt;	const CString INSERT_MODEL =		_T("INSERT INTO MODEL ")		_T(" (")		_T("	`1`,")		_T("	`2`,")		_T("	`3`,")		_T("	`4`,")		_T("	`5`,")		_T("	`6`,")		_T("	`7`,")		_T("	`8`,")		_T("	`9`,")		_T("	`0`")		_T(" ) VALUES (")		_T(" '%s',")  // M		_T("  %f, ")  // P		_T("  %f, ")  // P		_T("  %f, ")  // S		_T(" '%s',")  // M		_T(" '%s',")  // M		_T("  %d, ")  // I		_T("  %f, ")  // D		_T(" '%s',")  // L		_T(" '%s' ")  // M		_T(" );");		CString strSQL;	strSQL.Format( INSERT_MODEL		, CString( "g800" )	// '%s',		, 190.999f			//  %f, 		, 89.999f			//  %f, 		, 0.000f			//  %f, 		, _T("")			// '%s',		, CString( "" )		// '%s',		, 0					//  %d, 		, 0					//  %f, 		, _T("")			// '%s',		, CString( "" )		// '%s' 		);	AfxMessageBox( strSQL );&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;정말 문제가 없어보이는 코드인데... (기본이 부족한 것일까?)&lt;br /&gt;&lt;br /&gt;문제가 되었던 부분은 36번째 줄의 실수형을 넣어주어야 하는곳에 정수형 0을 넣어준게 문제였다.&lt;br /&gt;정수형 0을 넣고 실행을 하면 아래와 같은 에러 메시지가 출력된다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/2/24585/attach/XBTVwCELBv.PNG" style="width:517px;height:184px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;실수형으로 (0.0f) 넣고 실행을 하면 아무런 문제가 없이 정상 동작을 하였다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-8855667876896865988?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/8855667876896865988/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/cstringformat-%EC%9C%BC%EB%A1%9C-%EC%82%BD%EC%A7%88%ED%95%98%EB%8B%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8855667876896865988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/8855667876896865988'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/cstringformat-%EC%9C%BC%EB%A1%9C-%EC%82%BD%EC%A7%88%ED%95%98%EB%8B%A4.html' title='CString::Format 으로 삽질하다.'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-7124910890263803146</id><published>2008-12-11T10:46:00.000+09:00</published><updated>2011-01-30T14:09:08.117+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='권한설정'/><category scheme='http://www.blogger.com/atom/ns#' term='grant'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>사용자에게 모든 권한 주기</title><content type='html'>&lt;br style="font-family: 'courier new',courier,monospace;"&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;GRAND ALL PRIVILEGES ON *.* TO 'user'@'host';&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-7124910890263803146?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/7124910890263803146/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EC%82%AC%EC%9A%A9%EC%9E%90%EC%97%90%EA%B2%8C-%EB%AA%A8%EB%93%A0-%EA%B6%8C%ED%95%9C-%EC%A3%BC%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7124910890263803146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/7124910890263803146'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%EC%82%AC%EC%9A%A9%EC%9E%90%EC%97%90%EA%B2%8C-%EB%AA%A8%EB%93%A0-%EA%B6%8C%ED%95%9C-%EC%A3%BC%EA%B8%B0.html' title='사용자에게 모든 권한 주기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-3892943575103826925</id><published>2008-12-11T10:43:00.000+09:00</published><updated>2011-01-30T14:09:08.057+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Command 창에서 스크립트 실행하기</title><content type='html'>도스창에서 특정 SQL 스크립트 파일을 실행하는 방법이다.&lt;br /&gt;요즘은 데이터베이스를 사용할 일이 많지 않아 자주 사용하는게 아니라서 인지 자꾸 잊어버린다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new',courier,monospace;"&gt;C:\mysql\bin&amp;gt;mysql -u root -pPASSWORD DATABASENAME &amp;lt; script.sql&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-3892943575103826925?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/3892943575103826925/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/command-%EC%B0%BD%EC%97%90%EC%84%9C-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3892943575103826925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/3892943575103826925'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/command-%EC%B0%BD%EC%97%90%EC%84%9C-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0.html' title='Command 창에서 스크립트 실행하기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-4425612560232827885</id><published>2008-12-09T17:04:00.000+09:00</published><updated>2011-01-30T14:09:07.940+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>MySQL 에서 현재 데이터베이스 이름 알아내기</title><content type='html'>MySQL 에서 핸재 사용중인 데이터베이스 이름을 알아내는 함수로 DATABASE() 를 제공하고 있고 select DATABASE() 하면 데이터베이스 이름을 가져올 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;mysql&amp;gt; select database();&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;+------------+&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;| database() |&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;+------------+&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;| NULL &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;+------------+&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;1 row in set (0.00 sec)&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;mysql&amp;gt; \u mysql&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;Database changed&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;mysql&amp;gt; select database();&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;+------------+&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;| database() |&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;+------------+&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;| mysql &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;+------------+&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;1 row in set (0.00 sec)&lt;/span&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;br style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;&lt;span style="font-family: 'courier new',courier,monospace; font-weight: bold;"&gt;mysql&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-4425612560232827885?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/4425612560232827885/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-%EC%97%90%EC%84%9C-%ED%98%84%EC%9E%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%EB%A6%84-%EC%95%8C%EC%95%84%EB%82%B4%EA%B8%B0.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4425612560232827885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/4425612560232827885'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/mysql-%EC%97%90%EC%84%9C-%ED%98%84%EC%9E%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%EB%A6%84-%EC%95%8C%EC%95%84%EB%82%B4%EA%B8%B0.html' title='MySQL 에서 현재 데이터베이스 이름 알아내기'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6838375132650503659.post-2209113993375524305</id><published>2008-12-07T20:30:00.000+09:00</published><updated>2011-01-30T14:09:07.881+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dev Story'/><category scheme='http://www.blogger.com/atom/ns#' term='한국정보보호진흥원'/><category scheme='http://www.blogger.com/atom/ns#' term='암호'/><category scheme='http://www.blogger.com/atom/ns#' term='SEED'/><title type='text'>한국정보보호진흥원에서 배포하는 SEED 블럭암호화 알고리즘</title><content type='html'>&lt;a title="[http://www.kisa.or.kr/index.jsp]로 이동합니다." target="_blank" href="http://www.kisa.or.kr/index.jsp"&gt;한국정보보호진흥원&lt;/a&gt;에서는 개인 정보 보호를 위해 1999년 2월에 제작한 블럭암호화 알고리즘 SEED를 배포하고 있다.&lt;br /&gt;&lt;br /&gt;요즘 데이터 암호화에 관심이 있어 찾아 보다 알게된 정보이다. 그래서 소스를 받고자 한국정보보호진흥원을 방문해 보았지만 SEED에 대한 설명만 있었다.&lt;br /&gt;&lt;br /&gt;소스를 받기위해서는 신청서를 작성하고 관리자의 인증을 거쳐 보내준다 한다. 급한 일이거나 잠깐 테스트 할 경우리면 답답한 일이 아닐 수 없다.&lt;br /&gt;&lt;br /&gt;그래서 인터넷에 소스가 올라온 곳을 찾을 수 있었다.&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://blog.naver.com/idgaeid/130032759136]로 이동합니다." target="_blank" href="http://blog.naver.com/idgaeid/130032759136"&gt;SEED 알고리즘 소스&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="[http://www.kisa.or.kr/kisa/seed/jsp/seed_1010.jsp]로 이동합니다." target="_blank" href="http://www.kisa.or.kr/kisa/seed/jsp/seed_1010.jsp"&gt;SEED 블럭암호 알고리즘&lt;/a&gt;&lt;br /&gt;&lt;a title="[http://www.kisa.or.kr/kisa/seed/jsp/seed_1020.jsp]로 이동합니다." target="_blank" href="http://www.kisa.or.kr/kisa/seed/jsp/seed_1020.jsp"&gt;SEED 블럭암호 알고리즘 신청 페이지&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6838375132650503659-2209113993375524305?l=neodreamer-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neodreamer-textcube.blogspot.com/feeds/2209113993375524305/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%ED%95%9C%EA%B5%AD%EC%A0%95%EB%B3%B4%EB%B3%B4%ED%98%B8%EC%A7%84%ED%9D%A5%EC%9B%90%EC%97%90%EC%84%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EB%8A%94-seed-%EB%B8%94%EB%9F%AD%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2209113993375524305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6838375132650503659/posts/default/2209113993375524305'/><link rel='alternate' type='text/html' href='http://neodreamer-textcube.blogspot.com/2008/12/%ED%95%9C%EA%B5%AD%EC%A0%95%EB%B3%B4%EB%B3%B4%ED%98%B8%EC%A7%84%ED%9D%A5%EC%9B%90%EC%97%90%EC%84%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EB%8A%94-seed-%EB%B8%94%EB%9F%AD%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98.html' title='한국정보보호진흥원에서 배포하는 SEED 블럭암호화 알고리즘'/><author><name>ASURADA</name><uri>http://www.blogger.com/profile/11165882833652360823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
