<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
 <channel>
  <atom:link href="http://cyhome.cyworld.com/a1884538/rss2" rel="self" type="application/rss+xml"/>
  <title><![CDATA[t0870의 블로그]]></title>
  <link>http://www.cyworld.com/t0870</link>
  <description><![CDATA[이곳에 정보를 공유합니다.]]></description>
  <language>ko-KR</language>
  <pubDate>Mon, 23 Nov 2009 00:46:05 +0900</pubDate>
  <lastBuildDate>Mon, 23 Nov 2009 00:46:05 +0900</lastBuildDate>
  <generator>CyWorld 2.0 RSS Generator</generator>
  <docs>http://cyhome.cyworld.com/a1884538/rss2</docs>
  <image>
   <url><![CDATA[http://c2down.cyworld.co.kr/download?fid=64221f41db022901fa651f442f552c9f&name=p14406_34223100_t.jpg]]></url>
   <title><![CDATA[t0870의 블로그]]></title>
   <link>http://www.cyworld.com/t0870</link>
  </image>
  <item>
   <title><![CDATA[2009년 11월 19일]]></title>
   <link>http://www.cyworld.com/t0870/3490505</link>
   <guid>http://www.cyworld.com/t0870/3490505</guid>
   <description><![CDATA[<P>예쁜 한글이름 입니다. <BR><BR>닉네임 아직도 이렇게 쓰시는분? 
<P> </P>
★ 1) 닉이 다섯글자가 넘는 회원(특수부호 및 띄워쓰기) 
<P></P>
    2) 협오감을 주는 닉 회원
    3) 뜻도없는 영어 닉 회원(한단어가 넘어가는 긴 영어닉) <BR>    4) 숫자로만 된 닉 회원
<BR>아래에 부르기 쉽고 좋은이름을 소개합니다.<BR><BR><BR><BR><BR>[ㄱ] <BR><BR>*가든 : 가볍고 단출하다 의 뜻인 가든하다 에서 뿌리(어근)를 따온 이름. <BR>*가람 : 강 의 옛말로, 영원히 흘러가는 업적을 남기는 사람이 되라는 뜻으로 지은 이름. <BR>*가람슬기 : 강(가람: 옛말)처럼 푸르게, 그리고 슬기롭게. <BR>*가람휘 : 휘(곡식을 되는 그릇의 한 가지로 20말, 혹은 15말 들어가 있다)에 강(가람: 옛말)물을 가득 채울 수있을 만큼 큰 그릇이 되라고. <BR>*가림 : (좋은 것을) 가리다 의 이름씨꼴(명사형)을 따서 지은 이름. <BR>*가온 : 세상의 중심이 되라는 뜻으로, 가운데 의 옛말 가온대에서 따서 지은 이름. <BR>*가온길 : 정직하고 바른 가운데(가온대: 옛말) 길로 살아가라고 지은 이름. <BR>*가온누리 : 무슨 일이든 세상(누리: 옛말)의 중심(가온대: 옛말)이 되어라. <BR>*가온들찬빛 : 들 한가운데(가온대: 옛말)에 빛이 가득 찬. <BR>*가온뫼 : 가운데의 옛말 가온대의 가온 과 산 의 옛말 뫼를 합친 말로, 산 가운데에서도 가장 중심이 되는 산의 뜻을 담은 이름. <BR>*가온해 : 가운데(가온대: 옛말) 해, 곧 세상의 제일이라는 뜻. <BR>*가이 : 반 씨 성과 어울려 반갑다는 뜻. <BR>*가자 : 높은 이상을 향해 가자는 뜻에서. <BR>*가장 : 어는 것보다 뛰어나라는 뜻에서 어찌씨(부사) 가장 을 그냥 따옴. <BR>*갈 : 가을 을 줄여 지은 이름. <BR>*거늘 : 출세하라는 뜻에서 거느리다 를 줄임. <BR>*거울 : 세상의 본보기가 되라는 뜻에서 물체를 되비쳐 주는 거울을 그대로 따옴. <BR>*겨라 : 의지적 인간이 되도록 이 씨 성과 어울려 지은 이름. <BR>*겨레 : 민족 <BR>*겨루 : 지지 말고 살라는 뜻으로 겨루다 에서 따옴. <BR>*겨슬 : 겨울 같은 어려움도 꿋꿋하게 이겨 나가라고 겨울의 옛말 겨슬을 그대로 따옴. <BR>*그리 : ①그네 의 옛말을 그대로 따서 지은 이름. ②그리다 에서 따옴. <BR>*그린나래 : 그린 듯이 아름다운 날개(나래: 방언). <BR>*글고운 : 고운 글처럼 살라고. <BR>*글길 : 글로써 삶의 길을 살아가라고. <BR>*기쁨해 : 남에게 기쁨을 주는 해처럼 살라는 뜻에서. <BR>*길 : ① 잘 살 수 있도록 인생의 앞길을 잘 닦으라는 뜻에서 지은 이름. ② 길이 없는 곳에 길을 만드는 사람이되라는 뜻에서 지은 이름. <BR>*길가온 : 길 가운데(가온대: 옛말). <BR>*꽃가람 : 꽃이 있는 강(가람: 옛말). <BR>*꽃내 : 꽃의 내음(향기). <BR>*꽃내음 : 꽃의 냄새. <BR>*꽃채운 : 꽃으로 가득 채운. <BR>*꽃초롱 : 꽃같이 생긴 초롱. <BR>*꽃큰 : 꽃처럼 예쁜게 크라는 뜻. <BR><BR>[ㄴ] <BR><BR>*나길 : 나(자신)의 길을 꿋꿋이 걸어가라는 뜻. <BR>*나나 : 그냥 부드러운 소리를 그대로 따옴. <BR>*나라빛 : 빛나라. <BR>*나라우람 : 우람하고 씩씩하게 자라나라. <BR>*나라찬 : 참된 마음이 가득 찬 사람으로 자라나라. <BR>*나래 : 날개(나래: 방언)가 상징하는 것처럼 자유롭고 창조적인 사람이 되어라. <BR>*나래울 : 나래(날개: 방언)가 날아오른 꽃 울타리 를 줄여 다듬음. <BR>*나려 : 늘 좋은 일이 하늘에서 내려오길 바라는 마음에서 경기도 방언 나려오다 에서따   온이름. <BR>*나로 : 나로 하여금 이란 말에서 따온 말. <BR>*나루해오름 : 강나루에 해가 떠오름. <BR>*나봄 : 봄에 태어나다. <BR>*나빛 : 빛처럼 밝고 환한 아이가 태어나다. <BR>*나샘 : 샘처럼 맑고 깨끗한 아이가 태어나다. <BR>*나슬 : 남들보다 더 나을 훌륭한 일을 하라는 뜻에서 나을 의 방언을 삼은 이름. <BR>*나예 : 나비처럼 예쁘게 를 줄여 다듬음. <BR>*나오 : 안에서 밖으로 나오다 의 나오다 에서 줄기(어간)을 따온 이름. <BR>*난길 : 밝고 환한, 앞날을 향해 난 길. <BR>*난새 : 한껏 날아오른 새. <BR>*난슬 : 빼어난 슬기 를 줄여 다듬은 이름. <BR>*날샘 : 언젠가 힘차게 솟아날 샘. <BR>*날애 : 날개의 방언 나래를 바꾸어 적은 이름. <BR>*남 : 나무처럼. 남은 나무의 제주도 방언. <BR>*남은 : 늘 넉넉한(남은) 삶을 살라는 뜻에서 지은 이름. <BR>*내길 : 시냇가로 나 있는 길, 또는 나의 길. <BR>*내꽃 : 시냇가에 피어 있는 꽃. <BR>*내담 : 힘차게 나아가라는 뜻에서 내닫다 의 이름씨꼴(명사형) 내달음을 줄여 다듬음. <BR>*노아 : 놓아가다(배가 빨리 가다) 를 소리나는 대로 적은 노아가다에서 따온 이름. <BR>*노을 : 노을처럼 예쁘게 자라라고. <BR>*누리보듬 : 세상의 옛말 누리 와 보듬다 의 보듬 을 합쳐 지은 이름으로, 온 세상을 한껏 보듬고 살아가거라라는 뜻을 지닌 말. <BR>*누리봄 : 세상(누리: 옛말)을 봄처럼 늘 희망 있게 가꾸라고. <BR>*누리알찬 : 세상(누리: 옛말)을 알차게 만드는 사람이 되라고. <BR>*누림 : 인생의 참된 즐거움을 모두 누림. <BR>*눈꽃 : 눈 속에서도 피어나는 꽃. <BR>*눈솔 : 눈이 쌓인 소나마(솔). <BR>*뉘 : 뉘 는 평생, 세상 의 옛말. <BR>*늘다 : 자라날수록 슬기, 지식 따위가 점점 늘어나라고. <BR>*늘봄 : 언제나 봄처럼 활기차고 새롭게 살아가라. <BR>*늘빈 : 언제나 빈 마음으로 욕심 없이 살아가라. <BR>*늘솔길 :언제나 솔바람이 부는 길. <BR>*늘솜 : 언제나 솜씨가 좋다. <BR>*늘예솔 :언제나 이쁘고 소나무(솔)와 같은 변함이 없다. <BR>*늘찬 : 언제나 옹골찬. <BR><BR>[ㄷ] <BR><BR>*다가 : 어렵고 험한 일은 모두 다 가라는 뜻에서 지은 이름. <BR>*다빈 : 빈 마음으로 최선을 다하다. <BR>*다스리 : 다스리다 의 줄기(어간)를 그대로 삼은 이름. <BR>*다슬 : ①모든 일을 다 슬기롭게 헤쳐나갈. ②다스릴 을 줄여 다듬음. ③다사롭다 의 슬겁다 에서 첫 소리마디(음절)을 따옴. <BR>*다온 : 좋은 모든 일들이 다 오는. <BR>*다올 : 하는 일마다 모두(다) (복이) 올. <BR>*다옴 : 하는 일마다 모두(다) (복이) 옴. <BR>*다와 : 하는 일마다 모두(다) (복이)와. 특히 정씨 성과 잘 어울리는 이름으로, 정다와. <BR>*다은 : 다사롭고 은은한 을 줄여 다듬음. <BR>*다이 : 정다이, 즉 정답게. 다이 는 -답게 의 옛말. <BR>*다참 : 다 가득 참. 다 진실(참). <BR>*다한 : 모든 일에 최선을 다하는. <BR>*다흰 : 모두 하얀. <BR>*다힘 : 있는 힘을 다하다. <BR>*도담 : 건강하게 자라나라는 뜻에서 어린애가 탈 없이 잘 자라는 모양 을 나타내는 도담도담 에서 따온 이름. <BR>*도도 : 돋우다 의 옛말 도도다 에서 줄기(어간)를 따온 이름. <BR>*도란 : 나직한 목소리로 정겹게 의 뜻을 지닌 도란도란 에서 따온 말. <BR>*도래 : 오래오래 잘 살라는 뜻에서 오래오래 의 다른 말인 도래 도래에서 따온 이름. <BR>*도손 : 오손도손(→오순도순) 에서 뒷말을 따온 이름. <BR>*도움 : 어려울 때 도움이 되는. <BR>*동이 : 딸 그만 낳아라 라는 뜻으로 한동이 났다 에서 따온 이름. <BR>*동은 : 윷놀이에서 말이 첫 밭에서 끝 밭을 거쳐 나가는 한 차례. <BR>*두나 : 둘째로 얻은 아이라는 뜻에서 둘 의 경상남도 방언 두나를 그대로 따온 이름. <BR>*두동 : 앞뒤가 엇갈리거나 어긋나다 라는 두둥지다 에서 따온 이름.모순된 삶을 살지 않겠다는 반어적 이름. <BR>*두루 : 들처럼 넓고 탁 트인 마음을 가지라고. 두루는 들의 방언. 두루두루 에서 따온이름. <BR>*두메꽃 : 깊은 산골에 피어 있는 꽃. <BR>*두바다찬솔 : 바다처럼 넓은 마음을 지닌 옹골차고 소나무(솔)처럼 꿋꿋한 아이를 두다. <BR>*두빛나래 : 두 개의 빛나는 날개(나래: 방언). <BR>*두온 : 두 번째로 온. <BR>*두힘 : 힘있는 아이를 두다. <BR>*드리 : 드리다 에서 줄기(어간)를 따온 이름. <BR>*든솔 : 든든함이 든 굳세고 야무진 소나무(솔)처럼 살라고. <BR>*든해 : 집안으로 가득 든 햇빛. <BR>*든해솔 : 가득히 든 해와 소나무(솔)처럼. <BR>*들샘 : 들에서 솟는 샘. <BR>*들찬 : 들판 가득 찬. <BR>*들찬길 : 들판으로 박차고 나아가는 길. <BR><BR>[ㄹ] <BR><BR>*라 : 해라, 이겨라 들에서 맺음씨꼴(종결어미)을 따온 이름. <BR>*라라 : 흥겨울 때 읊조리는 소리. <BR>*라미 : 동그라미 에서 따온 이름. <BR>*라별 : 빛나라 별들아 에서 특정 소리마디(음절)를 따서 지은 이름. <BR>*라와 : 비교를 나타내는 어찌자리 토씨(부사격조사) 보다 의 옛말. <BR>*란새 : 노란새 에서 따온 이름으로 노 씨 성과 어울려 지은 이름. <BR>*렁찬 : 우 씨 성과 어울려 남자답게 우렁차게, 힘차게. <BR>*로다 : 기다리던 아이가 바로 너로다 라는 뜻으로 너로다 에서 따온 이름. <BR>*로와 : 슬기로와, 이로와 등에서 따온 이름. <BR>*로운 : 슬기로운, 이로운 에서 따온 이름. <BR>*로지 : 오 씨 성과 어울려 지어 오로지 , 즉 한 곬로. <BR>*루다 : 이 씨 성과 어울려 지어 이루다 , 즉 뜻하는 것이 그대로 되게 하다. <BR>*루라 : 뜻한 바를 잘 이루라고 이 시 성과 어울려 지은 이름. <BR>*루리 : 이 씨 성과 어울려 지어 이루리 , 즉 뜻을 펴리. <BR>*리네 : 우리네 조상, 우리네 정, 우리네 나라 들의 우리네 에서 따온 이름. <BR>*리라 : 하리라, 이리라 들의 씨끝(어미)에서 따온 이름. 특히 이 씨 성과 어울려 지은 이름. <BR>*리리 : 소리가 좋다고 생각되는 소리마디(음절)들을 모아 지은 이름. <BR><BR>[ㅁ] <BR><BR>*마디 : 이 편을 맺고 저 편은 시작하는 마디 같은 사람이 되어라. <BR>*마루 : 산의 꼭대기. <BR>*마루나 : 꼭대기, 즉 훌륭한 인물이 될 아이를 낳아. 마루에서 태어났다하여 마루+나다 를 줄여 다듬은 말. <BR>*마루한 : 으뜸(마루)가는 큰(한) 사람이 되라고. <BR>*마리 : 머리, 즉 우두머리. 으뜸가는 사람. 마리는 머리 의 옛말. <BR>*마음 : 언제나 마음을 올바르게 건사하여라. <BR>*마음새 : 마음 씀씀이. <BR>*말근 : 티없이 정의롭게 살라는 뜻에서 맑은 을 소리나는 대로 지은 이름 <BR>*말글 : 말과 글처럼 중요한 사람이 되어라. 맑을 을 소리나는 대로 지은 이름. <BR>*맑은 : 마음씨가 맑고 깨끗한 사람이 되라고. <BR>*맑은가람 : 맑은 강(가람: 옛말). <BR>*맑은누리 : 깨끗한 세상(누리: 옛말). <BR>*매디 : 무슨 일을 하든지 마무리를 분명하게 짓는 사람이 되라는 뜻으로, 매듭 의 강원도, 전라남도,경상도 방언을 따온 이름. <BR>*모두가람 : 모두가 강(가람: 옛말) 이라는 뜻. <BR>*모두다 : 모두 함께. <BR>*모드니 : 모든 것을 가진 사람 이란 뜻으로 모든+이 를 소리나는 대로 지은 이름. <BR>*모든 : 여러 가지의, 전부의. <BR>*모람 : 가끔 가끔 한데 몰아서 띵나 뜻의 모람모람 에서 따온 이름. <BR>*모아 : 늘 뜻을 모라 살는 삶을 살라고. <BR>*모은 : 값진 것을 모은 사람. <BR>*모이 : 작고도 야무지다 는 뜻의 모이다 에서 줄기(어간)만을 따온 이름. <BR>*모해 : 모퉁이를 비쳐 주는 해(햇빛). <BR>*무들 : 광주 의 옛 땅이름을 그대로 삼은 이름. <BR>*무슬 : 섬돌, 우물, 진터에 쌓은 돌 을 뜻하는 옛말 무를 변형시킨 이름. <BR>*무지개 : 비가 갠 뒤 하늘에 생기는 일곱가지 색의 아름다운 띠. <BR>*물맑 : 맑은 물처럼 맑고 깨끗한 사람이 되라는 뜻에서 지은 이름. <BR>*물보라 : 물결이 부서져 안개처럼 흩어지는 잔 물방울처럼 시원스레 살라고. <BR>*미나 : 미덥게 나다 에서 가 말마디(어절)의 첫 소리마다(음절)을 따서 지은 이름. <BR>*미나래 : 믿음성이 있다 의 뜻을 지닌 미쁘다, 미덥다 의 "미" 와 날개 의 방언 "나래" 가 합쳐진 말로, 깊은 믿음을 갖고 세 상을 훨훨 날며 살라는 뜻에서 지은 이름. <BR>*미드미 : 믿음이 강한 사람 이라는 뜻에서 믿음+이 를 소리나는 대로 지은 이름. <BR>*미라 : 미덥게 자라라 를 줄여 다듬음. <BR>*미리별 : 미리내(은하수)의 별. <BR><BR>[ㅂ] <BR><BR>*바다 : 바다처럼 넓음 마음을 가지라는 뜻에서 지은 이름. <BR>*바로찬글 : 바르고 옹골한 글을 쓰라 는 뜻으로 지음. <BR>*바론 : 바른 의 옛말 바론 을 그대로 삼은 이름. <BR>*바름 : 바르다 의 활용형으로, 올바르게 살라는 뜻. <BR>*밝은빛누리예 : 밝은 빛이 환하게 비치는 세상(누리: 옛말)에서 예쁘게 살아가라 는 뜻에서 지은 이름. 여기서 예는 예쁘다의 뜻 이외에 소리의 아름다움을 살려 짓기도 하였다. <BR>*밝음이 : 밝음+이 로 마음이 밝은 사람이 되라 는 뜻. <BR>*범한 : 범처럼 씩씩하고 큰 인물로 크라. <BR>*벼리 : 일이나 글의 뼈대가 되는 줄거리 를 뜻하는 낱말을 그대로 삼은 이름. <BR>*별 : 밤 하늘의 별같이 빛나는 인물이 되라는 뜻에서 지은 이름. <BR>*별글 : 별처럼 아름답고 빛을 내는 글. <BR>*별솔 : 별처럼 빛나게 소나무(솔)처럼 푸르게. <BR>*별하 : 별같이 높이 빛나는 사람이 되라는 뜻. 하는 대상을 높여서 부를 때 붙이는 토씨(조사). <BR>*보나 : 보람이 나타나. <BR>*보늬 : 보늬 는 밤처럼 겉껍질이 있는 과일 속의 얇은 껍질로, 이 껍질처럼 여리고 약한 사람들 을 감쌀 수 있는 사람이 되라고 지은 이름. <BR>*보단 : 어는 누구보다는 더 나은 삶을 살라고 보다는 을 줄여 지은 이름. <BR>*보담 : 어느 누구보다 더 나은 삶을 살라는 뜻에서 보다 의 방언을 따온 이름. <BR>*보라나 : 보랏빛으로 피어나. <BR>*보람 : 무슨 일이나 보람을 느끼며 살라는 뜻에서 지은 이름. <BR>*보르미 : 보름 에 태어난 아이. <BR>*보미 : 봄에 태어난 아이. 보람차고 미덥게. <BR>*보미나 : 보람차고 미덥게 자라나라. <BR>*보슬 : 눈이나 비가 가늘고 성기게 조용히 내리는 모양. 보람과 슬기. <BR>*보아라 : 나를 보라. <BR>*보예 : 보람차고 예쁘게 자라라는 뜻. <BR>*봄나 : 봄에 태어난 아이. <BR>*봄시내 : 봄철의 시냇물. <BR>*봄해 : 봄철의 태양. <BR>*부루 : 한꺼번에 없애 버리지 않고 오래 가도록 늘여서 를 뜻하는 우리말을 그대로 삼은 이름. <BR>*불꾼 : 사냥꾼, 지게꾼 과 같은 형식으로 지은 이름으로, 불을 지피는 사람 의 뜻. 넓게 말하면 쌀쌀하고 찬 기운이 도는 사람들 사이에 따뜻한 불을 지펴 서로의 사랑이 도타워지도록하는 사람 무슨 일이든 뜻하는 일이면 불같은 마음으로 꼭 해내는 사람 의 뜻을 지님. <BR>*비사벌 : 전주의 옛 땅이름을 그대로 삼은 이름. <BR>*비치 : 빛이 를 소리나는 대로 지은 이름, 또는 비치다 에서 따온 이름. <BR>*비치나 : 빛이나 를 소리나는 대로 지은 이름. <BR>*빈길 : 비어 있는 길. <BR>*빛글 : 세상 사람들의 빛, 곧 길잡이가 되는 글을 쓰라는 뜻. <BR>*빛길 : 빛을 밝혀 세상을 이끄는 길. <BR>*빛다 : 빛을 다 모은 듯이 밝고 환한 아이. <BR>*빛솔 : 빛처럼 밝게 솔처럼 푸르게. <BR>*빛초롱 : 빛나는 초롱, 빛을 내는 초롱. <BR><BR>[ㅅ] <BR><BR>*새길 : 새로운 길을 개척해 나가라는 뜻. <BR>*새꽃 : 새로 핀 꽃. <BR>*새나 : 새가 나는 것처럼 자유롭고 아름다운. <BR>*새난 : 새로 난 의 뜻으로, 늘 새로난 것처럼 신선하다는 뜻. <BR>*새누 : 새로운 누리(옛말) 의 줄임말로 새 세상 이라는 뜻. <BR>*새늘 : 언제나(늘) 새롭게. <BR>*새론 : 늘 새로운 사람이 되라는 뜻에서 새로운 을 줄여 지은 이름. <BR>*새밝 : 새롭게 밝아오는 에서 특정 음절을 따서 지은 이름. <BR>*새솔 : 새로 난 소나무(솔)의 푸르름처럼 살라는 뜻에서. <BR>*새얀 : 새롭고 하얀. <BR>*세련 : 굳세게 살으련 에서 특정 음절을 따온 이름. <BR>*세리 : 큰 뜻을 세우고 살아가리에서 특정 음절을 따온 이름. <BR>*세움 : 뜻을 똑바로 자리잡게 함. <BR>*세이 : 세 번째 태어난 아이. <BR>*세찬 : 힘있고 억센. <BR>*소리 : 소리(목소리)를 잘 하는 사람이 되라는 뜻에서 소리 를 삼은 이름. <BR>*소미 : 솜과 같이 부드러운 여자가 되라는 뜻에서 솜+이 를 소리나는 대로 지은 이름 <BR>*소아 : 소담스럽고 아름답다 에서 특정 음절을 따서 지은 이름. <BR>*소예 : 소답스럽고 예쁘다에서 특정 음절을 따서 지은 이름. <BR>*솔관 : 천으로 된 과녁 의 뜻을 지닌 옛말을 그대로 따온 이름. <BR>*솔길 : 소나무(솔)가 늘어서 있는 길. <BR>*솔빛길 : 네 앞에 펼쳐질 길이 솔빛처럼 희망차거라. <BR>*솔잎 : 소나무(솔) 잎과 같은 날카로움과 향기를 지닌. <BR>*솔찬 : 소나무(솔)처럼 푸르고 옹골찬. <BR>*수련 : 몸가짐과 마음씨가 맑고 곱다는 뜻의 수련하다 에서 따온 이름. <BR>*수리 : 하는 일에서 우두머리(꼭대기)가 되라는 뜻에서 독수리 , 정수리 에서 따온 이름. <BR>*슬기 : 언제나 슬기로움을 잃지 말라고. <BR>*슬아 : 슬기로움과 아름다움을 지니라는 뜻에서 특정 음절을 따서 지은 이름. <BR>*슬아라 : 슬기롭고 아름다워라 에서 특정 음절을 따서 지은 이름. <BR>*슬예 : 슬기롭고 예쁘게 에서 특정 음절을 따서 지은 이름. <BR>*슬옹 : 슬기롭고 옹골차다(실속 있다). <BR>*슬우 : 슬기로움고 우람한 씩씩함을 지니라고. <BR>*슬찬 : 슬기로움으로 가득 찬. <BR>*승아 : 마디풀과에 딸린 여러해살이풀 이름을 삼은 이름. <BR>*시내 : 시내(시냇물)처럼 시원하고 맑은 삶을 살라고. <BR>*시원 : 막힘없이 시원한 성격을 지니라고 시원하다 에서 뿌리(어근)을 따온 이름. <BR><BR>[ㅇ] <BR><BR>*아라 : 조 씨 성과 어울려 좋아의 뜻.무엇이든 알아에서 "알아"를 소리나는 대로 지은 이름. <BR>*아란 : 아름답게 자란 에서 특정 음절을 따서 지은 이름. <BR>*아련나래 : 예쁘고 아름다운(아련: 옛말) 날개(나래: 방언). <BR>*아롱별 : 아롱다롱 빛나는 별처럼 아름다우라고. <BR>*아름나 : 아름다운 아이를 낳아. 아름다운 나라. <BR>*아리솔 : 아리땁고 소나무(솔)처럼 늘 마음이 푸른 사람이 되라고. <BR>*아리알찬 : 아리땁고 알찬 사람이 되라고. <BR>*안찬 : 속 안치 꽉 찬. <BR>*알 : 어디에서나 알맹이와 같은 사람이 되라는 뜻. <BR>*알찬마루 : 알찬 꼭대기(마루)처럼 실제 높은 사람이 되라고. <BR>*알찬바로 : 알차게 바로 살라고. <BR>*알찬해 : 알찬 해처럼 더욱 남을 밝게 해주라고. <BR>*얀 : 하씨 성과 어울려 하얗다 의 뜻을 지닌 이름. <BR>*얀별 : 하얀별 에서 따온 이름. <BR>*얀새 : 하얀새 에서 따온 이름. <BR>*얼 : 정신(얼)이 곧은 사람이 되라고. <BR>*엄지 : 엄지 손가락 에서 따온 이름. <BR>*에가득 : 가슴에 가득 사랑을 지니라고 토씨(조사) 에 에 어찌씨(부사) 가득 를 붙여 지은 이름. <BR>*에다 : 안에다 에서 따온 이름. <BR>*여름 : 열심히 살아 좋은 결과를 얻으라고 열매 를 뜻하는 옛말을 그대로 삼은 이름. <BR>*영글 : 영글다 에서 줄기(어간)을 따온 이름. <BR>*예님 : 예쁘고 고운 임(님). <BR>*예다움 : 예쁨과 정다움을 지니라고. <BR>*외솔 : 한 그루의 소나무와 같은 고고함과 푸르름을 지니라는 뜻. <BR>*우람늘 : 우람하다(크고 위엄 있다) 의 우람 에 언제나 를 뜻하는 "늘"을 붙여 지은 이름. <BR>*우솔 : 우람한 소나무(솔) 처럼 바르고 크게 자라라고. <BR>*움찬 : 돋아 오르는 싹(움)이 힘찬. <BR>*으뜸 : 이 세상에서 이 아이가 최고(으뜸)라는 뜻. <BR>*은새 : 고은(←고운) 새, 조(좋)은 새 에서 따온 이름. <BR>*은소라 : 고은 소라, 조(좋)은 소라 에서 따온 이름. <BR>*은솔 : 고은(←고운) 소나무(솔), 조(좋)은 솔 에서 따온 이름. <BR>*은솜 : 고은 솜 에서 따온 이름. <BR>*은송이 : 고은(←고운) 송이 , 조(좋)은 송이 등에서 따온 이름. <BR>*이든샘 : 착하고 어진(이든: 옛말) 마음이 샘처럼 솟으라고. <BR>*이루리 : 하고자 하는 바를 이룰 것이다. <BR>*이루리라 : 무엇인가를 꼭 이루는 사람이 되라고. <BR>*이룩 : (원하는 바를) 이룩하다 에서 이룩 을 따서 지은 이름. <BR>*이솔 : 소나무(솔)의 기상과 품위를 이루다 에서 특정 음절을 따서 지은 이름. <BR>*이송이 : 송이송이 에서 따온 이름. <BR>*이플 : 청순하고 소박한 느낌을 주는 소리의 장점을 살려 지은 이름. <BR>*잎새 : 나뭇잎처럼 푸르름과 시원함으로 사람들에게 즐거움을 주라고. <BR><BR>[ㅈ] <BR><BR>*자랑 : 남들에게 자랑할 만한 아이. <BR>*자올 : 모든 사람과 친하게 지내는 원만한 성져을 지니라고 친하다 의 뜻인 옛말 압다 에서 따온 이름. <BR>*잔디 : 잔디처럼 어려움을 이기고 끈기를 지니라고. <BR>*재마루 : 고개(재) 마루. <BR>*재미 : 세상을 재미 있고 즐겁게 살라고. <BR>*재바우 : 고개(재)의 바위처럼 듬직하고 믿음직스러운. 바우는 바위 의 방언. <BR>*재찬 : 고개(대)가 찬. <BR>*제나 : 기다리던 아이를 이제 낳아 . <BR>*제철 : 적적한 때에 잘 태어나. <BR>*조롱목 : 조롱박 모양으로 생긴 물건의 잘록한 부분. <BR>*조은 : 좋은 을 소리나는 대로 지은 이름. <BR>*조히 : 깨끗하고 맑은 마음을 잃지 말라고 깨끗이 를 뜻하는 옛말을 삼은 이름. <BR>*종달 : 종달새처럼 하늘 높이 나는 인물이 되라는 뜻. <BR>*주나 : 이웃에게 사랑과 기쁨을 주라고. <BR>*주리 : 주위 사람들에게 기쁜과 즐거움을 주리. <BR>*주미 : 주는 사람이라는 뜻에서 줌+이 를 소리나는 대로 지은 이름. <BR>*지나 : 나쁘고 궂은 일들은 빨리 지나 라고. <BR>*지니 : 많은 복을 지니 라고 지니다 에서 줄기(어간)을 따온 이름. <BR>*지은 : 세상을 바르게 하는 좋은 글을 지은 . <BR>*지음 : 자신의 삶을 아름답게 지음 . <BR>*진나 : 진달래와 개나리 에서 특정 음절을 따서 지은 이름. <BR>*진달래 : 이름 봄의 진달래 처럼 예쁘고 고으라고. <BR>*진샘 : 값진 샘 에서 따온 이름. <BR>*진솔 : 한 번도 빨지 않은 새 옷 을 뜻하는 우리말을 그대로 삼은 이름. <BR>*진이 : 진달래처럼 곱고 예쁜 아이 에서 특정 음절을 따서 지은 이름. <BR><BR>[ㅊ] <BR><BR>*차나 : 옹골찬 아이라는 뜻에서 찬+아 를 소리나는 대로 지은 이름. <BR>*차미 : 옹골차고 미더운 에서 특정 음절을 따서 지은 이름. <BR>*차분 : 성격이 찬찬하고 침착하라고. <BR>*차분나래 : 차분한 심성에 날개(나래: 방언) 단 선녀와 같은 아름다움을 지닌. <BR>*차오름 : 박차고 힘껏 날아오르는 기상을 지니라고. <BR>*착히 : 모든 일을 착하고 바른 마음으로 풀어가라고. <BR>*찬 : 속이 꽉 차 흐트러짐이 없는. <BR>*찬내 : 물이 가득 찬 시내. <BR>*찬놀 : 하늘 가득 찬 놀. <BR>*찬누리 : 복이 가득 찬 세상(누리: 옛말)을 누리다. <BR>*찬늘 : 늘 가득 찬. <BR>*찬늘봄 : 늘 봄 기운으로 가득 찬. <BR>*찬들 : 곡식이 가득 찬 풍성한 들판. <BR>*찬솔 : 알차게 잘 자란 소나무(솔). <BR>*찬솔나라 : 알찬 소나무(솔)처럼 자라나라. <BR>*찬솔큰 : 알찬 소나무(솔)처럼 큰 사람. <BR>*찬슬 : 슬기로움으로 가득 찬 <BR>*찬슬기 : 옹골차고 슬리롭게 살라고 <BR>*참 : 언제나 거짓 없는 참된 마음을 지니라고 <BR>*참이 : 참되고 바르게 살아갈 이 <BR>*참이삭 : 참된 이삭 <BR>*채움늘 : 늘 부족한 점이 없도록 채워나가라 <BR>*초고리 : 작은 매(초고리)와 같이 재빠르고 날카로우라고 <BR>*초롬 : 함초롬하다(차분하다) 에서 초롬 을 따 이 를 덧붙여 지은 이름 <BR>*초롱 : 맑고 영롱하게 빛나다 라는 뜻의 초롱초롱하다 에서 따온 이름 <BR>*초롱꽃 : 초롱꽃처럼 예쁘고 생기발랄하다는 뜻에서 <BR>*치리 : 모든 악한 것들을 물리치리 <BR><BR>[ㅋ] <BR><BR>*크나 : 크고 훌륭하게 자라나. <BR>*크심 : 마음과 덕이 큰 사람이 되라고. <BR>*큰가람 : 큰 강(가람: 옛말). <BR>*큰길 : 크고 넓은 길로 바르게 나아가라고. <BR>*큰깃 : 큰 새 날개의 털. <BR>*큰꽃 : 커다란 꽃. <BR>*큰꽃늘 : 큰 꽃이 늘. <BR>*큰꽃들 : 큰 꽃이 가득 핀 들. <BR>*큰나라 : 큰 인물로 자라나라. <BR>*큰나래 : 커다란 날개(나래: 방언)를 단듯이 품은 뜻을 마음껏 펼쳐라. <BR>*큰돌찬 : 바위처럼 꽉 찬 사람. <BR>*큰돛 : 커다란 돛을 단 배처럼 쑥쑥 앞으로 나아가라고. <BR>*큰마루 : 커다란 산처럼 넓은 마음을 지니라고. 마루는 산의 꼭대기 . <BR>*큰말 : 커다란 마을(말)에서 널리 이름을 떨칠. <BR>*큰맘 : 크고 넓은 마음으로 사람들에게 베풀면서 살라고. <BR>*큰모듬 : 큰 모음. <BR>*큰모음 : 큰 모음. <BR>*큰뫼 : 큰 산(뫼: 옛말). <BR>*큰솔 : 크고 우람하게 잘 자란 소나무(솔). <BR>*큰아 : 큰 인물이 될 아이 라는 뜻에서 특정 음절을 따서 지은 이름. <BR>*큰애 : 크고 훌륭한 일을 할 아이. 큰아 참조. <BR>*큰재 : 커다랗고 높다란 고개(재)처럼 사람들이 우러러보는 인물이 되라고. <BR>*큰힘 : 큰 힘을 지녀서 올바르게 쓰라고. <BR>*클 : 앞으로 큰 인물로 자랄. <BR>*키움 : 예쁘고 바르게 키우겠다는 뜻. <BR>*키클 : 키와 마음이 클 사람. <BR><BR>[ㅌ] <BR><BR>*타고나 : 훌륭한 자질을 갖고 타고나. <BR>*터전 : 삶의 기틀을 단단히 다지라고. <BR>*터큰 : 앞으로 살아가기 위한 그 기틀(터)이 큰. <BR>*텃골 : 터 잡힌 골짜기처럼 든든하게. <BR>*텃골돌샘터 : 충청북도의 땅이름을 그대로 삼은 이름. <BR>*토리 : 도토리처럼 작지만 야무지고 옹골차라고 도토리에서 따온이름. <BR>*통꽃 : 통꽃의 꽃잎처럼 서로 도우며 조화롭게 사는. <BR>*튼동 : 이 아이를 낳아 동쪽 하늘이 훤히 개인듯이 시원하고 기쁜. <BR>*튼싹 : 이제 막 자라기 시작하는 새싹. <BR>*튼트나 : 튼튼하고 건강하게 자랄 아이 의 뜻인 튼튼+이 를 소리나는대로 지은 이름. <BR>*튼튼 : 몸과 마음이 모두 튼튼하라고. <BR>*틀큰 : 사람의 됨됨이나 여러 가지 틀이 큰. <BR>*티나 : 어디에서나 예쁘고 고운 티가 나타나. <BR><BR>[ㅍ] <BR><BR>*파라 : 노 씨 성과 어울려 지은 이름으로 높아라 의 일부분을 소리나는 대로 지은 이름. <BR>*파라나 : 마음이 푸르러서 언제나 싱싱한 기운을 느끼게 하는 아이. <BR>*파라미 : 파란 기운이 나는 이라는 뜻에서 파람+이 를 소리나는 대로 지은 이름. <BR>*파란 : 파란 하늘처럼 맑고 깨끗하게 살아라. <BR>*파랑 : 파란빛처럼 시원하고 강인한 성격을 지니라고. <BR>*파랑새 : 언제나 파랑새와 같은 꿈과 희망을 잃지 말라고. <BR>*퍼리 : 넓고 큰 벌판을 누비라는 뜻에서 벌판의 옛말을 그대로 삼은 이름. <BR>*펴라 : 온 힘을 기울여 꿈을 펼쳐라. <BR>*푸르 : 삶을 늘 푸르게 살라는 뜻에서 푸르다의 줄기(어간)를 따온 이름. <BR>*푸르나 : 푸른아이라는 뜻에서 푸른+아 를 소리나는 대로 지은 이름. <BR>*푸르내 : 푸른 물이 가득 흐르는 맑은 시내. <BR>*푸르니 : 마음이 늘 푸르니. <BR>*푸른나래 : 푸르고 싱그러운 날개(나래: 방언). <BR>*푸른나무 : 알차게 잘 자라서 푸른 기운이 넘쳐나는 나무. <BR>*푸른들 : 앞으로 곡식이 익을 풍성함을 준비하는 들판. <BR>*푸른마을 : 나무들이 푸르게 우거진 아름다운 마을. <BR>*풀잎 : 풀잎처럼 부드러우면서도 강인하게 자라라고. <BR>*풀큰 : 가꾸지 않아도 잘 자라는 풀처럼 큰. <BR>*풋내 : 새로 나온 푸성귀, 풋나물 들에서 나는 풀 냄새 로 언제난 신선함을 지니라는 뜻. <BR>*피네 : 꽃이 피네. <BR>*피라 : 꽃처럼 곱고 예쁘게 피어라. <BR>*피리 : 피리와 같이 맑고 고운 소리로 사람들에게 감동과 즐거움을 주라고. <BR>*피어나 : 예쁘고 바르게 피어나. <BR>*핀아 : 오랜 정성과 사랑으로 꽃처럼 핀(태어난) 아이. <BR><BR>[ㅎ] <BR><BR>*하나 : 이 세상에 하나밖에 없는 소중한 아이. <BR>*하늬 ; 하늬바람처럼 시원한 성격을 지니라고. <BR>*하람 : 하늘이 내리신 소중한 사람 에서 특정 음절을 따서 지은 이름. <BR>*하랑 : 하 는 높다라는 뜻(하늘) 랑 은 함께 라는 뜻(∼랑∼). 함께 사는 세상에서 높은(훌륭한) 사람이 되라는 뜻. <BR>*하련솔 : 하려무나(하련), 소나무(솔) 처럼 지조 높은 일을. <BR>*하예라 : 예쁘게 하늘을 닮으며 자라라. <BR>*하예진 : 하늘처럼 높은 뜻과 예쁜 마음을 지닌. <BR>*한 : 크고(한) 대범한 마음을 지니라고. <BR>*한가람 : 몹시 넓고(한) 물이 풍족하게 흐르는 강(가람: 옛말). <BR>*한결 : 한결같은 지조를 지니는 사람이 되라고. <BR>*한길찬 : 큰(한)길에 가득 찬. <BR>*한내 : 큰 시내처럼 물이 풍족해서 사람들을 이롭게 하는. <BR>*한누리 : 큰(한) 세상(누리: 옛말)을 두루 경험하며 크게 살라고. <BR>*한별나라 : 큰(한) 별처럼 차고 오른. <BR>*한봄찬 : 깊은 봄에 차고 나온. <BR>*한빛 : 세상을 이끄는 환한 큰(한) 빛이 되라는 뜻에서. <BR>*한샘가온 : 큰(한) 샘 가운데(가온대: 옛말)처럼 깊고 깨끗한. <BR>*한울 : 큰(한) 울타리와 같이 사람들에게 포근함을 주라고. <BR>*해가빛 : 해가 빛나는. <BR>*해긴 : 매우(많이) 긴. 즉 오래 행복하게 살아라. 해 는 많이의 옛말. <BR>*해길 : 해가 비추는 길 을 가듯 평탄하게 살아라. <BR>*해나 : 해가 나다. <BR>*해늘 : 늘 해처럼 밝게 살아라. <BR>*해님꽃 : 해처럼 밝고 꽃처럼 예쁘게 자라라. <BR>*해련 : 밝다 는 뜻의 해 에다 마음이 순하고 곱다는 뜻의 수련하다에서 련 을 따와 지은 이름. <BR>*해비치 : 해 비치다 에서 따온 이름. <BR>*해사랑해 : 해를 사랑해. <BR>*해샘찬 : 샘에 가득 찬 햇빛. <BR>*해솔 : 해처럼 밝고 소나무(솔)처럼 바르게. <BR>*해찬나래 : 햇빛(해)이 차서 더욱 높이 날 수 있는 날개(나래: 방언). <BR>*해찬솔 : 햇빛이 가득 차 더욱 푸른 소나무(솔). <BR>*환찬 : 환한 것이 찬. <BR>*환히찬 : 빛이 환하게 차 있는. <BR>*횃불 : 세상을 이끄는 횃불이 되라고. <BR>*희라 : 깨끗하게 살아라. <BR>*흰가람 : 하얗고 깨끗한 강(가람: 옛말). <BR>*흰꽃 : 하얀꽃처럼 깨끗하고 순결하게 자라라. <BR>*힘차 : 힘차고 굳세게 살라는 뜻. <BR>*힘찬 : 힘차게 날아오르라고 
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3490505]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[삶의 철학]]></category>
   <pubDate>Thu, 19 Nov 2009 13:37:29 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[[펌]Unity 빌드를 이용한 빌드 시간 단축]]></title>
   <link>http://www.cyworld.com/t0870/3484307</link>
   <guid>http://www.cyworld.com/t0870/3484307</guid>
   <description><![CDATA[<P>




<A title="Unity 빌드를 이용한 빌드 시간 단축" name=2243326 target=_blank>Unity 빌드를 이용한 빌드 시간 단축</A>
</P>
 많은 프로젝트에서 빌드 시간은 작업의 효율을 낮추는 요인 중 하나이다. 10분 20분도 부족해서 시간 단위로 걸리는 경우도 볼 수 있는데, 그 정도 쯤 되면 "빌드 걸어놓고 담배 한 대 피우고 오지" 라는 말도 무색 해 진다. 그렇지만 프로젝트가 진행됨에 따라 소스코드의 양적 증가는 불가피한 경우가 대부분이고 그러다 보면 정말 끝없이 빌드 시간은 늘어만 간다. <BR><BR> 빌드 시간을 줄이는 데에 가장 간단한 방법은 바로 "고성능 머신" 이다. 실제로 컴파일은 CPU 에 굉장히 의존적인 작업이기해 고성능의 CPU는 상당한 빌드시간 단축 가져다 준다. 또한 IO 에 대한 이슈도 존재하기 때문에 고성능의 Hdd를 Raid 로 엮어서 사용한다거나 SSD 등을 사용하게 된다면 상당한 빌드 시간 단축 효과를 볼 수도 있다.<BR><BR>  
<img src="http://pds12.egloos.com/pds/200905/27/33/d0055733_4a1d16a4def02.jpg"><BR>
네할렘 CPU에 벨로시랩터를 Raid 로 묶어서 사용한다면 분명 빠른 성능이 나올 것이다 <BR><BR><BR> 문제는 역시 돈이다. 고성능 머신을 사용하는것은 좋지만 두 배 비싼 머신을 사용한다고 해서 두 배 빨라지지 않는게 문제다. 그렇다면 결국 적정 선에서 타협하게 될 수 밖에 없다. 특히 단지 빌드 시간 단축을 위해서 무식하게 비싼 머신을 회사가 과연 사 줄까 하는 문제도 있다. 그래서 많은 회사에서 사용하는 방법이 Increadi Build 와 같은 분산 빌드 툴을 사용하는 것이다.혼자서 빌드하는 것 보다는 그래도 여러 머신이 나누어서 하는것이 빠르긴 빠른 편이지만 이쪽도 10대가 같이 빌드 한다고 해서 10배 빨라지지 않는다는 문제가 여전히 존재한다.<BR>
<img src="http://pds15.egloos.com/pds/200905/27/33/d0055733_4a1d16af81e5b.jpg"><BR> 내가 다니는 회사의 경우에는 프로그래머들만 깔아서 사용하는데 일부 회사들은 아티스트나 디자이너들의 머신에도 깔아서 사용하기도 한다고 한다. 문제중의 하나는 자신이 빌드를 하고있지 않아도 남이 빌드 하고 있으면 내 머신이 힘들어 한다는 점. 그래서 별개의 머신들에 빌드 환경을 구축 해 놓은 "빌드 팜" 을 구성하기도 한다. 이 경우 빌드 팜에 있는 머신들만 빌드를 하고 개인의 머신은 그 결과물를 받기만 하기 때문에 다른 사람이 빌드를 하기 때문에 내 머신이 느려지는 일은 없다. 다만 돈이 많이 들 뿐.<BR><BR> 머신에 대한 투자를 하지 않더라도 빌드 시간을 단축 시킬 만 한 다양한 방법들이 존재한다. 대표적인 방법으로 "미리 컴파일 된 헤더" 기법이 있다. 이에 대한 자세한 설명은 하지 않겠다. 구글등에서 검색 해 보면 굉장히 자세하게  설명 해 놓은 자료들이 많이 있다. 간단히 설명하자면 C/C++ 파일에서 자주 참조되는 헤더를 모아서 한꺼번에 미리 컴파일 해 놓고 사용하는 것이다. <BR><BR> 이와같은 방법으로 빌드 시간이 단축 되는 것은 C/C++ 컴파일러의 구조적인 문제 때문인데, C/C++ 컴파일러는 소스파일을 컴파일 할때 헤더 파일을 파싱 해 놓고 참조하는 것이 아니라 소스파일에 물리적으로 헤더의 내용을 삽입하여 컴파일 하기 때문이다. 그렇기 때문에 이와같은 방법에 의한 성능 향상은 꽤 크다. <BR><BR> 사실 C/C++ 컴파일 시간을 단축 시키기 위해 해야할 가장 중요한 작업은 헤더파일 정리 작업이다. 앞서 말했듯이 C/C++ 컴파일러는 헤더파일들을 읽어서 소스파일에 그대로 삽입하기 때문에 헤더파일이 복잡하게 꼬여있거나 많은 헤더파일을들 포함하고 있다면 필연적으로 느려지게 된다. <BR>
<img src="http://pds11.egloos.com/pds/200905/27/33/d0055733_4a1d16bae5c6f.jpg"><BR>
이런 헤더파일들을 정리 하자면 정말 답이 없다<BR><BR><BR> 헤더파일 정리는 작은 규모의 프로젝트에서라면 매우 쉬운 작업이나 프로젝트의 규모가 크다면 이야기가 달라진다. 이 때 헤더파일의 관계를 비주얼 적으로 보여주는 도구들을 사용하면 꽤나 도움을 받을 수 있는데 VIsual Studio 플러그 인으로 나와있는 상용소프트웨어인 <A href="http://www.profactor.co.uk/includemanager.php" target=_blank>IncludeManager </A>나 별개의 프로그램으로 구동하는 <A href="http://sourcenav.sourceforge.net/" target=_blank>Source Navigator</A> 같은 프로그램을 추천한다.<BR><BR> Unity Build 기법은 이러한 헤더 정리에 비해 매우 적은 작업 만으로도 큰 체감효과를 느낄 수 있는 빌드 시간 단축 기법이다. 이는 특히 작은 파일들이 굉장히 많이 있는 프로젝트에서 매우 큰 시간 단축 효과를 보여준다. 그 정도는 프로젝트에 따라서 천차 만별이나 내가 다니는 회사의 프로젝트에서는 거의 7~80% 의 빌드시간 단축 효과를 보여 주었다. 반면 매우 적은 수의 소스파일로 이루어진 프로젝트에서는 큰 시간 단축 효과를 보기 어렵다. Unity Build 를 하는 방법은 다음과 같다.<BR><BR><BR>


1. United.cpp 파일을 만든다<BR><BR>2. 모든 CPP 파일을 United.cpp 파일에 #include 시킨다<BR><BR>3. United.cpp 파일을 제외한 cpp 파일들의 빌드를 끈다<BR><BR>- VC 솔루션 탐색기에서 소스파일의 속성을 보면 빌드 하지 않음 옵션이 있다<BR><BR>
<img src="http://pds13.egloos.com/pds/200905/27/33/d0055733_4a1d26a7167a8.jpg"><BR><BR><BR>4. 마지막으로 빌드를 하자<BR><BR>- VC 의 컴파일 가능 한계가 있기 때문에 United.cpp 파일 하나로는 에러가 날 수 도 있다. 그런 경우 여러개의 파일을 만들어야 한다.<BR><BR><BR>  그런데 도대체 이와같은 Unity Build 를 하면 빌드 시간이 단축 되는 이유는 무엇일까? 이에 대한 해답은 C/C++ 컴파일러의 컴파일 과정에 있다. 아래의 그림은 GCC 에서 A.cpp 파일이 컴파일 되는 과정을 나타낸 그림이다. VC 컴파일러 역시 이와 크게 다르지 않다. <BR><BR><BR>
  
<img src="http://pds13.egloos.com/pds/200905/27/33/d0055733_4a1d16d858bd1.jpg">GCC Cpp 컴파일 과정 <BR><BR> <BR>  일단 cpp0 이라는 프로그램이 A.cpp 파일을 읽어 전처리 작업을 한다. 이는 macro 를 실제 코드로 바꾸는 작업, 헤더파일을 삽입하는 작업 등이 포함된다. 그 다음에 cpp1 이라는 프로그램이 전처리된 코드를 어셈블리 코드로 컴파일 한다. 그 결과 A.as 파일이 만들어 진다. A.as 파일은 어셈블러를 거쳐 A.o 파일이 되고 이는 링커를 거쳐 최종적으로 실행 가능한 프로그램이 된다. <BR><BR> 이 때 디스크에 대한 IO 가 몇 번 일어나는지 헤아려 보자. A.cpp 를 읽고 A.i 를 쓰고 A.i 를 읽고 A.as 를 쓰고 A.as 를 읽고 A.o를 쓰고 A.o 를 읽고 A.exe 를 쓴다. 즉 읽기 4번 쓰기 4번이 일어난다. 이 때 링크는 최종적으로 한 번 만 일어나기 때문에 소스파일 n 개를 컴파일 한다고 한다면 읽기 4n 번 쓰기 3n+1 번 일어나게 된다.<BR><BR> 이제 Unity Build 를 하는 경우를 보자. Unity Build 는 소스 파일 하나만 빌드 하기 때문에 읽기 4 번 쓰기 4 번이 일어난다. 그런데 실제로 United.cpp 파일을 전처리 할 때 나머지 파일을 모두 읽기 때문에 결과 적으로 읽기 n+4 번 쓰기 4 번이 일어난다. 이러한 IO 횟수의 차이는 파일의 수가 적을 때에는 빌드 시간에 크게 영향을 끼치지 않으나 파일의 수가 많은 때에는 엄청난 영향을 끼친다. 100 개의 소스 파일을 일반 빌드시에는 400 번의 읽기와 301 번의 쓰기가 이루어 지나  이를 Unity Build 할 경우 104 번의 읽기와 4 번의 쓰기만이 이루어 지는 것이다. <BR><BR> 정리를 하자면 Unity Build 에 의해서 빌드 시간이 단축되는 이유는 다음과 같다.<BR><BR>
 1. 파일을 읽고 쓰는 횟수가 적다 <BR><BR style="FONT-WEIGHT: bold"> 2. 읽고 쓰는 파일의 수가 적다<BR><BR>
출처:<A href="http://whonz.egloos.com/2243326" target=_blank>Unity 빌드를 이용한 빌드 시간 단축</A>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3484307]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[소프트웨어]]></category>
   <pubDate>Wed, 04 Nov 2009 18:15:29 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[Get Listbox Items from a TWebBrowser Document?]]></title>
   <link>http://www.cyworld.com/t0870/3483606</link>
   <guid>http://www.cyworld.com/t0870/3483606</guid>
   <description><![CDATA[<P>



...Get Listbox Items from a TWebBrowser Document? 

Autor: Greg 

[ <A href="http://www.swissdelphicenter.ch/en/printcode.php?id=2357" target=_blank>Print tip</A> ]
 
 <BR>



Tip Rating (3):
 

<img src="http://www.swissdelphicenter.ch/pics/progressbar-grau.gif"> <img src="http://www.swissdelphicenter.ch/pics/progressbar-grau.gif"> <img src="http://www.swissdelphicenter.ch/pics/progressbar-blau.gif"> <img src="http://www.swissdelphicenter.ch/pics/progressbar-grau.gif"> <img src="http://www.swissdelphicenter.ch/pics/progressbar-grau.gif"> </P>
<P><BR></P>
<P>//Add MSHTML to your uses clause<BR>//Add a TWebBrowser<BR>//Add two buttons<BR>//Add a ComboBox<BR><BR><BR>//////////////////////////////////////////////////////////////////////////////<BR>function IsSelectElement(eleElement: IHTMLElement): Boolean;<BR>  //////////////////////////////////////////////////////////////////////////////<BR>var<BR>  selElement: IHTMLSelectElement;<BR>begin<BR>  Result := False;<BR>  try<BR>    selElement := eleElement as IHTMLSelectElement;<BR>  except<BR>    Exit;<BR>  end;<BR>  Result := True;<BR>end;<BR><BR>///////////////////////////////////////////////////////////////////////////////<BR>procedure GetListBoxOptions(Web1: TWebBrowser;<BR>  strListBoxName: string;<BR>  intInstance: Integer;<BR>  tslLines: TStrings;<BR>  out intSelected: Integer);<BR>  ///////////////////////////////////////////////////////////////////////////////<BR>var<BR>  eleChild: IHTMLElement;<BR>  eleElement: IHTMLElement;<BR>  colGrandParents: IHTMLElementCollection;<BR>  colParents: IHTMLElementCollection;<BR>  selElement: IHTMLSelectElement;<BR>  intCount: Integer;<BR>  intG: Integer;<BR>  intGMax: Integer;<BR>  intP: Integer;<BR>  intPMax: Integer;<BR>  Document: IHTMLDocument2;<BR>begin<BR>  tslLines.Clear;<BR>  intSelected := -1;<BR>  intCount    := -1;<BR><BR>  //Magic declarations<BR>  Document := Web1.Document as IHTMLDocument2;<BR>  if Document = nil then Exit;<BR><BR>  colGrandParents := Document.All;<BR>  if colGrandParents = nil then Exit;<BR><BR>  intGMax := colGrandParents.Length - 1;<BR>  for intG := 0 to intGMax do<BR>  begin<BR>    eleElement := colGrandParents.Item(intG, '') as IHTMLElement;<BR>    if IsSelectElement(eleElement) then<BR>    begin<BR>      selElement := eleElement as IHTMLSelectElement;<BR>      if selElement.Name = strListBoxName then<BR>      begin<BR>        //Found a list box with the correct name.<BR>        Inc(intCount);<BR>        if intCount = intInstance then<BR>        begin<BR>          //Found the instance with the correct name.<BR>          intSelected := selElement.selectedIndex;<BR>          colParents  := eleElement.children as IHTMLElementCollection;<BR>          intPMax  := colParents.Length - 1;<BR>          for intP := 0 to intPMax do<BR>          begin<BR>            eleChild := colParents.Item(intP, '') as IHTMLElement;<BR>            tslLines.Add(eleChild.InnerText);<BR>          end;<BR>        end;<BR>      end;<BR>    end;<BR>  end;<BR>end;<BR><BR>procedure TForm1.Button1Click(Sender: TObject);<BR>begin<BR>  WebBrowser1.Navigate('http://www.swissdelphicenter.ch/torry');<BR>end;<BR><BR>procedure TForm1.Button2Click(Sender: TObject);<BR>var<BR>  intSelected: Integer;<BR>begin<BR>  ComboBox1.Text := '';<BR>  GetListBoxOptions(WebBrowser1, 'select', 0, ComboBox1.Items, intSelected);<BR>  if intSelected &gt; -1 then<BR>  begin<BR>    ComboBox1.Text := ComboBox1.Items[intSelected];<BR>  end;<BR>end;<BR><BR></P>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3483606]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Mon, 02 Nov 2009 20:36:00 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[automatic fill out HTML forms with TWebBrowser?]]></title>
   <link>http://www.cyworld.com/t0870/3483601</link>
   <guid>http://www.cyworld.com/t0870/3483601</guid>
   <description><![CDATA[<P>Homepage: <A href="http://www.swissdelphicenter.ch/" target=_blank>http://www.swissdelphicenter.ch</A></P>
<P> </P>
<P>{ To test this code put a TWebBrowser and A TButton component on the form }<BR><BR><BR>function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean; <BR>var <BR>  i, j: Integer; <BR>  FormItem: Variant; <BR>begin <BR>  Result := False; <BR>  //no form on document <BR>  if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then <BR>  begin <BR>    Exit; <BR>  end; <BR>  //count forms on document <BR>  for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do <BR>  begin <BR>    FormItem := WebBrowser.OleObject.Document.forms.Item(I); <BR>    for j := 0 to FormItem.Length - 1 do <BR>    begin <BR>      try <BR>        //when the fieldname is found, try to fill out <BR>        if FormItem.Item(j).Name = FieldName then <BR>        begin <BR>          FormItem.Item(j).Value := Value; <BR>          Result := True; <BR>        end; <BR>      except <BR>        Exit; <BR>      end; <BR>    end; <BR>  end; <BR>end; <BR><BR><BR>//When the document is complete try to fill out the field homepage with the url <BR>procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; <BR>  const pDisp: IDispatch; var URL: OleVariant); <BR>begin <BR>  if FillForm(WebBrowser1, 'homepage', 'http://www.swissdelphicenter.ch') = False then <BR>    ShowMessage('Error. Field not available or no Form found.');<BR>end;<BR><BR>// Show the Webbrowser-Progress in Label1 <BR>procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer); <BR>begin <BR>  if ProgressMax = 0 then <BR>  begin <BR>    label1.Caption := ''; <BR>    Exit; <BR>  end; <BR>  try <BR>    if (Progress &lt;&gt; -1) and (Progress &lt;= ProgressMax) then <BR>      label1.Caption := IntToStr((Progress * 100) div ProgressMax) + '% loaded...' <BR>    else <BR>      label1.Caption := ''; <BR>  except <BR>    on EDivByZero do Exit; <BR>  end; <BR>end; <BR><BR><BR>//For example you can load the page /en/addtip.php to the TWebBrowser <BR>//When the document is Complete the form where you can put your homepage <BR>//address is filled out <BR>procedure TForm1.Button1Click(Sender: TObject); <BR>begin <BR>  Webbrowser1.Navigate('http://www.swissdelphicenter.ch/en/addtip.php'); <BR>  // Show the Titel of the currently active Webpage in the titlebar <BR>  // Den Titel der aktuellen Webseite in der Titeleiste anzeigen <BR>  Caption := Webbrowser1.OleObject.Document.Title; <BR>end;</P>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3483601]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Mon, 02 Nov 2009 20:32:47 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[웹 자동 로그인 기본루틴]]></title>
   <link>http://www.cyworld.com/t0870/3483582</link>
   <guid>http://www.cyworld.com/t0870/3483582</guid>
   <description><![CDATA[<P>ebBrowser1.OleObject.Document.all.item('userID').focus 포커스 먼저<BR>WebBrowser1.OleObject.Document.all.item('userID').value := 'k133';<BR>탭이벤트<BR>WebBrowser1.OleObject.Document.all.item('submit').Click; <BR>엔터이벤트</P>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3483582]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Mon, 02 Nov 2009 18:59:30 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[네이버일경우의 로그인 방법입니다]]></title>
   <link>http://www.cyworld.com/t0870/3482624</link>
   <guid>http://www.cyworld.com/t0870/3482624</guid>
   <description><![CDATA[<P>아래는 네이버일경우의 로그인 방법입니다...<BR><BR>포커스를 주지 않고 로그인을 처리하는 페이지에 질의를 날리는 방법입니다.<BR><BR>아래에서 제일 중요한 부분은 szPostData 이변수에 넣는 데이터로<BR><BR>실제 아이디와 패스워드를 받는 페이지에 넘길 데이터입니다.<BR><BR>네이버의 로그인 입력페이지에서 참조하였음.~</P>
<P> </P>
<P>procedure TForm1.AutoWebLogin();<BR>const<BR>csOLEObjName = 'InternetExplorer.Application';<BR>var<BR>IE : Variant;<BR>szURL,szPostData,szCode: String;<BR>niIndexofBegin, niIndexofEnd, niDataSize, niCount: Integer;<BR>c, vFlags, vTargetFrameName, vPostData, vHeaders: OleVariant;<BR>begin<BR>szPostData := 'id=' + 아이디+ '&amp;pw=' + 비번; //다음 페이지로 넘길 이 쿼리를 알아내는 것이 중요.<BR>niDataSize:= Length(szPostData);<BR><BR>c:= VarArrayCreate([0,niDataSize], varByte);<BR>for niCount:= 0 to niDataSize - 1 do begin<BR>c[niCount]:= Ord(szPostData[niCount+1]);<BR>end;<BR><BR>c[niDataSize]:= 0;<BR><BR>vHeaders := 'Content-Type:application/x-www-form-urlencoded'+#13+#10+#0;<BR><BR>IE := CreateOleObject(csOLEObjName);<BR>IE.Visible := true;<BR>IE.FullScreen := False;<BR>IE.Navigate('http://id.naver.com/nidlogin.login' ,null,null,c,vHeaders);<BR>//post로 넘길 페이지...네이버일경우 이페이지로 id와 pwd를 넘김<BR>end; </P>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3482624]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Fri, 30 Oct 2009 21:05:27 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[웹사이트에 자동 Login하기 - ID & 비밀번호 자동 입력]]></title>
   <link>http://www.cyworld.com/t0870/3482623</link>
   <guid>http://www.cyworld.com/t0870/3482623</guid>
   <description><![CDATA[웹사이트에 ID와 비밀번호를 자동으로 입력시키는 방법입니다.<BR>정석대로 하자면 해당 URL을 읽어와 HTML 파서를 만들어서 ID와 PWord의 입력 컨트롤을 알아낸 다음 해당 컨트롤에 값을 넣어주면 되겠지만 웹사이트마다 입력 컨트롤의 Name이 달라 모든 웹사이트에 적용하는 것은 장난이 아니게 어렵습니다.<BR><BR>여기에서는 간단한 트릭(어떤 사람들은 이걸 꽁수라고 하는데 꽁수와 트릭은 엄연히 다른 겁니다)을 이용했습니다.<BR><BR>일반적으로 웹사이트를 만들때 입력 컨트롤은 모두 Form 안에 둡니다. 그리고 비밀번호는 Password 개체를 이용하여 입력받습니다. 포커스의 순서는 ID, PWord, Submit 버튼 순서가 되지요. 또, Login 창에는 Password 개체가 하나밖에 없습니다.<BR><BR>이런 특성을 이용하여 아래 프로그램에서는 해당 URL로 접속한 다음 Password 개체를 찾아 포커스를 이동하고 여기에서 다시 Shift+Tab 키를 날려 ID 컨트롤로 포커스를 이동하는 겁니다.<BR>그 다음에는 아이디, TAB, 비밀번호, Enter 순서로 키를 던져주면 자동 Login이 되겠지요.<BR><BR>단, 얼빵한 웹프로그래머가 포커스 순서를 어정쩡하게 해놓은 웹사이트에서는 제대로 안되는 문제가 있습니다만, 아직 그런 사이트는 발견하지 못했습니다.<BR><BR>아래 프로그램을 실행하면 yahoo.co.kr로 접속한 후 ID로 포커스를 이동하여 줍니다.<BR>각자 다른 사이트로 시험해 보시기 바랍니다. (Daum.net은 처음부터 ID에 포커스가 있으니 별 의미가 없겠지요)<BR><BR>procedure TForm1.Button1Click(Sender: TObject);<BR>const<BR>URL = 'http://yahoo.co.kr';<BR>ID = 'myID';<BR>PWORD = 'myPassWord';<BR>var<BR>IE, vForm : variant;<BR>iHWnd : HWnd;<BR>i, j : integer;<BR>s : string;<BR>begin<BR>IE := CreateOLEObject('InternetExplorer.Application');<BR>IE.Navigate(URL);<BR>IE.Visible := true;<BR>while IE.ReadyState &lt;&gt; 4 do<BR>Application.ProcessMessages;<BR>s := IE.Document.Title + ' - Microsoft Internet Explorer';<BR>iHWnd := FindWindow('IEFrame', PChar(s));<BR>SetForegroundWindow(iHWnd);<BR>for i := 0 to IE.Document.Forms.Length - 1 do begin<BR>vForm := IE.Document.Forms.Item(i);<BR>for j := 0 to vForm.Length - 1 do begin<BR>if UpperCase(vForm.Item(j).type) = 'PASSWORD' then begin<BR>vForm.Item(j).Focus; // 비밀번호 창으로 포커스 이동<BR>Keybd_Event(VK_SHIFT, 0, 0, 0); // Shift + TAB<BR>Keybd_Event(VK_TAB, 0, 0, 0);<BR>Keybd_Event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);<BR>Keybd_Event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);<BR>// SetID - 여기는 각자 알아서 <BR>// Keybd_Event(VK_TAB, 0, 0, 0); // TAB <BR>// Keybd_Event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);<BR>// SetPassWord - 여기도 각자 알아서<BR>// Keybd_Event(VK_RETURN, 0, 0, 0); // Enter <BR>// Keybd_Event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);<BR>Exit;<BR>end;<BR>end;<BR>end;<BR>end;<BR><BR>간단하죠? 도움이 되시길 바랍니다.<BR>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3482623]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Fri, 30 Oct 2009 21:04:31 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[웹로그인ID PW 넣기]]></title>
   <link>http://www.cyworld.com/t0870/3482621</link>
   <guid>http://www.cyworld.com/t0870/3482621</guid>
   <description><![CDATA[강좌 팁, 자료실, 질문과 답변 등을 뒤져서 만들어 봤습니다.<BR><BR>interface<BR><BR>uses<BR>Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<BR>Dialogs, StdCtrls, SHDocVw, OleCtrls, ComObj,MsHTML, ActiveX ;<BR><BR>type<BR>TForm1 = class(TForm)<BR>Memo1: TMemo;<BR>Edit1: TEdit;<BR>Button1: TButton;<BR>Button5: TButton;<BR>Button2: TButton;<BR>Button3: TButton;<BR>Edit2: TEdit;<BR>procedure Button1Click(Sender: TObject);<BR>procedure Button5Click(Sender: TObject);<BR>procedure Button3Click(Sender: TObject);<BR>private<BR>{ Private declarations }<BR>public<BR>{ Public declarations }<BR>end;<BR><BR>var<BR>Form1: TForm1;<BR>WebBrowser: IWebBrowser2;<BR>implementation<BR><BR>{$R *.dfm}<BR><BR>type<BR>TObjectFromLResult = function(LRESULT: lResult; const IID: TIID;<BR>WPARAM: wParam; out pObject): HRESULT; stdcall;<BR><BR><BR>function GetIEFromHWND(WHandle: HWND; var IE: IWebbrowser2): HRESULT;<BR>var<BR>hInst: HWND;<BR>lRes: Cardinal;<BR>MSG: Integer;<BR>pDoc: IHTMLDocument2;<BR>ObjectFromLresult: TObjectFromLresult;<BR>begin<BR>hInst := LoadLibrary('Oleacc.dll');<BR>@ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');<BR>if @ObjectFromLresult &lt;&gt; nil then begin<BR>try<BR>MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');<BR>SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);<BR>Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, pDoc);<BR>if Result = S_OK then<BR>(pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebbrowser2, IE);<BR>finally<BR>FreeLibrary(hInst);<BR>end;<BR>end;<BR>end;<BR><BR>function WB_SendText(strTitle : String; strId_Data : String; strPw_Data : String) : integer;<BR>var<BR>ih,ix : HWNd;<BR>ig : IWebbrowser2;<BR>ihd : IHTMLDocument2;<BR>ihd2 : IHTMLDocument2;<BR>ohd_body, ohd2_body, ohd_id, ohd_pw : olevariant;<BR>strID_Name : String;<BR>strPw_Name : String;<BR>begin<BR><BR>Result := -1;<BR><BR>ih := findwindow(pchar('IEFrame'),PChar(strTitle));<BR><BR>if (ih &lt;= 0 ) then<BR>begin<BR>Result := -2; // 해당 사이트를 오픈한 Explore가 없습니다.<BR>Exit;<BR>end;<BR><BR>ix := findwindowex(ih,0,pchar('Shell DocObject View'),nil);<BR>ix := findwindowex(ix,0,pchar('Internet Explorer_Server'),nil);<BR>getiefromhwnd(ix,ig);<BR><BR>if ig.document.QueryInterface(IHTMLDocument2,ihd)&lt;&gt;S_OK then<BR>begin<BR>Result := -3; // Document 추출 오류<BR>Exit;<BR>end;<BR><BR>if ig.document.QueryInterface(IHTMLDocument2,ihd2)&lt;&gt;S_OK then<BR>begin<BR>Result := -4; // Document2 추출 오류<BR>Exit;<BR>end;<BR><BR>ohd_body := ihd.body;<BR>ohd_id := strId_Data;<BR>ohd_body.ALL.id.value := ohd_id; // id는 웹 로그인 텍스트 ID가 와야 겠죠..<BR><BR>ohd2_body := ihd2.body;<BR>ohd_pw := strPw_Data;<BR>ohd2_body.ALL.pw.value := ohd_pw; // id는 웹 PW 텍스트ID가 와야 겠죠..<BR>result := 1;<BR>end;<BR>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3482621]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Fri, 30 Oct 2009 21:03:34 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[WebBrowser1 를 이용하여 폼 필드에 값 할당과 submit]]></title>
   <link>http://www.cyworld.com/t0870/3482618</link>
   <guid>http://www.cyworld.com/t0870/3482618</guid>
   <description><![CDATA[WebBrowser1 를 이용하여 폼 필드에 값 할당과 submit 
<P>강좌와 질답 게시판에도 언급 되었지만,<BR>안되는 경우도 있어서 다시 정리하여<BR>올립니다.<BR><BR>i) 직접 접근 방법<BR><BR>WebBrowser1.OleObject.Document.frmMain.userID.value := 'k133';<BR>// 폼 이름과 폼 필드 이름을 직접 코딩<BR>WebBrowser1.OleObject.Document.frmMain.submit;<BR>=&gt; "구성원이 없습니다." 라는 에러 발생합니다.<BR><BR><BR>ii) 이름으로 접근 방법<BR><BR>WebBrowser1.OleObject.Document.all.item('userID').value := 'k133';<BR><BR>WebBrowser1.OleObject.Document.all.item('submit').Click;<BR></P>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3482618]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Fri, 30 Oct 2009 21:01:06 +0900</pubDate>
  </item>
  <item>
   <title><![CDATA[TWebBrowser 엔터키 안먹는 현상 패치]]></title>
   <link>http://www.cyworld.com/t0870/3482617</link>
   <guid>http://www.cyworld.com/t0870/3482617</guid>
   <description><![CDATA[델파이의 기본 TWebBrowser를 사용할 경우. 엔터키가 먹질 않습니다.<BR><BR>이에 대한 패치 방법을 소개합니다. <A href="http://www.torry.net/" target=_blank>http://www.torry.net</A> 에서 소개한 방식입니다.<BR><BR><BR><BR>unit uWebFrm;<BR><BR>interface<BR><BR>uses<BR>Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<BR>Dialogs, OleCtrls, SHDocVw_TLB, ActiveX;<BR><BR>type<BR>TFrm_Web = class(TForm)<BR>WebBrowser1: TWebBrowser;<BR>procedure FormCreate(Sender: TObject);<BR>procedure FormDestroy(Sender: TObject);<BR>private<BR>{ Private declarations }<BR>PreAppOnMessage: TMessageEvent;<BR>FOleInPlaceActiveObject: IOleInPlaceActiveObject;<BR>procedure MsgHandler(var Msg: TMsg; var Handled: Boolean);<BR>public<BR>{ Public declarations }<BR>end;<BR><BR>var<BR>Frm_Web: TFrm_Web; <BR><BR>implementation<BR><BR>{$R *.dfm} <BR><BR>procedure TFrm_Web.FormCreate(Sender: TObject);<BR>begin<BR>PreAppOnMessage := Application.OnMessage;<BR>Application.OnMessage := MsgHandler;<BR>end; <BR><BR>procedure TFrm_Web.FormDestroy(Sender: TObject);<BR>begin<BR>FOleInPlaceActiveObject := nil;<BR>Application.OnMessage := PreAppOnMessage;<BR>end; <BR><BR>procedure TFrm_Web.MsgHandler(var Msg: TMsg; var Handled: Boolean);<BR>const<BR>StdKeys = [VK_BACK, VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT];<BR>var IOIPAO: IOleInPlaceActiveObject;<BR>Dispatch: IDispatch;<BR>begin<BR>if WebBrowser1 = nil then<BR>begin<BR>Handled := False;<BR>Exit;<BR>end;<BR>Handled := (IsDialogMessage(WebBrowser1.Handle, Msg) = True);<BR>if (Handled) and (not WebBrowser1.Busy) then<BR>begin<BR>if FOleInPlaceActiveObject = nil then<BR>begin<BR>Dispatch := WebBrowser1.Application;<BR>if Dispatch &lt;&gt; nil then<BR>begin<BR>Dispatch.QueryInterface(IOleInPlaceActiveObject, IOIPAO);<BR>if IOIPAO &lt;&gt; nil then FOleInPlaceActiveObject := IOIPAO;<BR>end;<BR>end;<BR>if FOleInPlaceActiveObject &lt;&gt; nil then<BR>if ((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and<BR>(Msg.wParam in StdKeys) then<BR>//nothing - do not pass on Backspace, Left, Right, Up, Down arrows<BR>else FOleInPlaceActiveObject.TranslateAccelerator(Msg);<BR>end;<BR>end; <BR><BR>initialization<BR>OleInitialize(nil); <BR><BR>finalization<BR>OleUninitialize;<BR><BR>end.<BR>
<P></P>
<img src="http://statetc.cyworld.com/stat/stat.tiff?cp_url=[www_ndretc.cyworld.com/cyblog_rss_post??ndrparam1=c15&ndrparam2=a1884538&ndrparam3=3482617]" width="0" height="0" border="0" />]]></description>
   <dc:creator>박형철</dc:creator>
   <category><![CDATA[delphi]]></category>
   <pubDate>Fri, 30 Oct 2009 20:59:06 +0900</pubDate>
  </item>
 </channel>
</rss>
