<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>Blog for Joo***</title>
	<link>http://oheunjoo.egloos.com</link>
	<description>___Oh Eun Joo___
Seoul_South Korea
fkdldp@naver.com

</description>
	<language>ko</language>
	<pubDate>Sat, 21 Nov 2009 13:52:26 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>Blog for Joo***</title>
		<url>http://pds10.egloos.com/logo/200901/02/39/b0063939.jpg</url>
		<link>http://oheunjoo.egloos.com</link>
		<width>80</width>
		<height>168</height>
		<description>___Oh Eun Joo___
Seoul_South Korea
fkdldp@naver.com

</description>
	</image>
  	<item>
		<title><![CDATA[ Machinarium ]]> </title>
		<link>http://oheunjoo.egloos.com/4589971</link>
		<guid>http://oheunjoo.egloos.com/4589971</guid>
		<description>
			<![CDATA[ 
  http://machinarium.net/demo/<br />
<br />
일러스트가 정말 멋진.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds15.egloos.com/pds/200911/21/39/b0063939_4b07eda5d8c91.png" width="500" height="275.390625" onclick="Control.Modal.openDialog(this, event, 'http://pds15.egloos.com/pds/200911/21/39/b0063939_4b07eda5d8c91.png');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds17.egloos.com/pds/200911/21/39/b0063939_4b07edb2448c2.png" width="500" height="275.390625" onclick="Control.Modal.openDialog(this, event, 'http://pds17.egloos.com/pds/200911/21/39/b0063939_4b07edb2448c2.png');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds17.egloos.com/pds/200911/21/39/b0063939_4b07edabdad44.png" width="500" height="275.390625" onclick="Control.Modal.openDialog(this, event, 'http://pds17.egloos.com/pds/200911/21/39/b0063939_4b07edabdad44.png');" /></div><br/><br/>tag : <a href="/tag/Machinarium" rel="tag">Machinarium</a>,&nbsp;<a href="/tag/일러스트" rel="tag">일러스트</a>,&nbsp;<a href="/tag/게임" rel="tag">게임</a>			 ]]> 
		</description>
		<category>Machinarium</category>
		<category>일러스트</category>
		<category>게임</category>

		<comments>http://oheunjoo.egloos.com/4589971#comments</comments>
		<pubDate>Sat, 21 Nov 2009 13:40:11 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ ... ]]> </title>
		<link>http://oheunjoo.egloos.com/4550896</link>
		<guid>http://oheunjoo.egloos.com/4550896</guid>
		<description>
			<![CDATA[ 
  지도층이 노블레스 오블리주의 정신을 실천하지 못하는 나라는 결코 문화국이라고 할 수 없다. 나라의 중심축 역할을 하겠다는 사람들이 위장전입이나 하고 탈세나 하고 뇌물이나 받는 나라가 제대로 된 나라일 수 없다. 그런 위반 정도는 '누구나 할 수 있는 것', '사과하기만 하면 통과될 수 있는 문제'라는 인식이 지도층과 일반국민 사이에 상식화(?)돼 있는 사회에 무슨 품격이 있을 것인가. 나라의 최고위 지도층 인사들이 이런저런 이유와 핑계로 병역의무를 치르지 않고도 위정자의 자리에 오르는 나라에 기강이 제대로 서있을 수 있을 것인가.<p style="FONT-SIZE: 10pt; FONT-FAMILY: ,AppleGothic,sans-serif"><br><a href="http://news.chosun.com/site/data/html_dir/2009/10/11/2009101100767.html">http://news.chosun.com/site/data/html_dir/2009/10/11/2009101100767.html</a></p>			 ]]> 
		</description>

		<comments>http://oheunjoo.egloos.com/4550896#comments</comments>
		<pubDate>Mon, 12 Oct 2009 01:19:03 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ - ]]> </title>
		<link>http://oheunjoo.egloos.com/4542699</link>
		<guid>http://oheunjoo.egloos.com/4542699</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds15.egloos.com/pds/200910/04/39/b0063939_4ac774d977e15.jpg" width="297" height="307" onclick="Control.Modal.openDialog(this, event, 'http://pds15.egloos.com/pds/200910/04/39/b0063939_4ac774d977e15.jpg');" /></div>			 ]]> 
		</description>

		<comments>http://oheunjoo.egloos.com/4542699#comments</comments>
		<pubDate>Sat, 03 Oct 2009 15:59:29 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 구글 안드로이드 ]]> </title>
		<link>http://oheunjoo.egloos.com/4541552</link>
		<guid>http://oheunjoo.egloos.com/4541552</guid>
		<description>
			<![CDATA[ 
  <span style="font-weight: bold;">구글 안드로이드 플랫폼을 중심으로 한 모바일 플랫폼 시장 및 기술 동향</span><br />
<br />
안드로이드는 구글의 휴대폰용 오픈 소스 소프트웨어 플랫폼 및 주변 도구를 의미한다. 구글 안드로이드 플랫폼은 본격적인 모바일 웹응용을 위한 휴대폰 소프트웨어 플랫폼이라는 데 그 의미가 있다. 주로 구글의 서비스를 이동 단말 환경에서 구현하고 활용하기 위한기반 플랫폼으로서 휴대폰뿐 아니라 다양한 정보 가전 기기에 적용할 수 있는 이식의 용이성을 갖추고 있다. 이 글에서는 이러한모바일 플랫폼의 발전에 큰 영향력을 발휘하고 있는 구글의 안드로이드 플랫폼의 특징을 살펴보고 구글 안드로이드 플랫폼을 새로운하드웨어에 탑재하는 절차를 사례를 들어 설명한다. <br />
              <!--                  <table width="100%" border="0" cellspacing="0" cellpadding="0">                    <tr>                       <td><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="511" height="125">                          <param name="movie" value="/banner/mchannel_banner5.swf">                                                    <embed src="/banner/mchannel_banner5.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="511" height="125"></embed></object></td>                    </tr>                  </table>                  <br />
				  -->              글: 임성수 교수 / 국민대학교 전자정보통신대학 컴퓨터공학부 <a href="http://www.kookmin.ac.kr/">www.kookmin.ac.kr</a> / <a href="mailto:sslim@kookmin.ac.kr">sslim@kookmin.ac.kr</a> <br />
<br />
<strong>모바일 플랫폼 시장 동향</strong> <br />
휴대폰 시장은 급격하게 운영체제가 탑재되어 있는 스마트폰 시장 중심으로 발전하고 있다. <span style="color: rgb(0, 0, 153);">일반 휴대폰과 스마트폰을 구분하는 가장중요한 요소는 일반적으로 운영체제의 탑재 여부이다. 운영체제가 탑재되어 있다는 것은 일반적인 컴퓨팅 환경에서처럼 다양한 응용소프트웨어를 실행하기 위한 모든 시스템 서비스가 제공된다는 의미이고, 아울러 일반적인 컴퓨팅 환경에서 응용 소프트웨어를 개발,구현하는 것과 유사한 편의성을 제공할 수 있다는 의미이다. 따라서, 스마트폰 중심의 휴대폰 시장 발달은 스마트폰 이전의휴대폰에서 구동할 수 없었던 다양한 형태의 응용 소프트웨어를 안정적으로 활용할 수 있는 기회를 제공한다. </span>그림 1은 운영체제의종류에 따른 스마트폰 시장 규모를 보인다. 지속적으로 상당한 수준의 성장을 보이는 운영체제는 리눅스이며 상대적으로 WindowsMobile이나 Symbian의 성장세는 약화되고 있다.<br />
<br />
모바일 플랫폼이란 휴대폰의 응용 소프트웨어를 실행하기 위한 기반 소프트웨어 환경을 의미한다. <span style="color: rgb(0, 0, 0);">모바일 플랫폼이 활용되기 시작한이유는 운영체제의 형태를 갖추지 않아 새로운 응용 소프트웨어를 설치, 실행할 수 없는 펌웨어 수준의 소프트웨어 환경을 제공하는기존 일반 휴대폰에서 응용 소프트웨어를 다운로드하여 설치하고 실행하는 기능을 제공하기 위해서였다.</span> 아울러 일관된 API를제공하여 휴대폰 장치가 달라도 같은 모바일 응용 소프트웨어를 실행할 수 있는 환경을 제공하기 위해서 모바일 플랫폼이 진화했다.<br />
<div style="text-align: center;"><img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/0908108.jpg" align="middle" border="1" height="325" width="500"></div><br />
휴대폰에서 실행하는 응용 소프트웨어의 기능이 다양해지고 구조가 복잡해지면서 모바일 플랫폼도 그에 따라 보다 다양한 기능을제공하는 형태로 발전해왔다. <span style="color: rgb(0, 0, 153);">모바일 플랫폼이 운영체제의 종류 등 하위 소프트웨어 계층 구조에 독립적인 형태를 보이지만 소비자가요구하는 다양하고 복잡한 응용 소프트웨어를 수용하려면 기존 펌웨어 수준의 시스템 소프트웨어로는 기능적 한계로 인해 모바일플랫폼의 더 이상의 진화를 가져올 수 없었다. 따라서, 리눅스 등 일반 운영체제를 하위 계층에 두는 모바일 플랫폼이 구현되고이러한 모바일 플랫폼이 제공하는 안정적이고 다양한 서비스를 통해 소비자의 모바일 응용에 대한 욕구를 충족시키게 되었다. 애플사의‘아이폰’은 공개되어 있는 운영체제를 사용하고 있지는 않지만 일반 운영체제의 기능과 유사한 모든 시스템 서비스를 제공하는운영체제를 기반으로 하고 있고 애플사가 개발한 특징적인 사용자 인터페이스를 활용할 수 있는 API를 공개하여 이를 활용한 다양한응용 소프트웨어를 수용한다. </span>스마트폰 시장에서는 이미 심비안 운영체제를 사용한 모바일 플랫폼이 유럽 및 미국 시장에서 가장 비중있는 모바일 플랫폼으로 자리 잡고 있었으나 애플사의 ‘아이폰’의 등장으로 모바일 플랫폼의 개념 및 시장 구조가 급격히 변화하게되었다.<span style="color: rgb(255, 0, 0);"> 애플사의 ‘아이폰’은 기존의 온라인 서비스를 기반으로 하는 새로운 모바일 응용의 개념을 정립하였으며 일반 소비자가만드는 응용 소프트웨어를 유통할 수 있는 온라인 공간인 앱스토어(AppStore)를 제공함으로써 소비자의 참여에 의한 모바일플랫폼의 진화를 유도하였다.</span><br />
<br />
애플사의 ‘아이폰’은 스마트폰 및 모바일 플랫폼 시장의 개념을 바꾸어 놓았으며 이에 대응하기 위한 다양한 모바일 플랫폼의 등장이뒤따랐다. 마이크로소프트는 자사의 Windows Mobile을 업그레이드하여 기존의 데스크톱 윈도우를 닮은 사용자 인터페이스를벗어나 시장의 요구에 부응하기 위한 형태의 모바일 플랫폼 제공을 시도하고 있다. <span style="color: rgb(0, 0, 153);">가장 영향력있는 모바일 플랫폼으로 등장한 것은구글의 안드로이드 플랫폼이며 구글은 자사의 다양한 온라인 서비스를 모바일 시장으로 확장하기 위한 기반으로 안드로이드 플랫폼을개발, 공급하기 시작했다. <span style="color: rgb(0, 0, 0);">스마트폰 시장에서의 영향력은 가장 높은 수준이었으나 비공개 플랫폼을 지향하고 있었던 심비안 플랫폼도구글 안드로이드 플랫폼의 영향을 받아 공개 모바일 플랫폼인 Ovi 플랫폼을 구축, 공급하기 시작했다. 이러한 시장에서의 움직임은모바일 플랫폼을 기존의 단순한 모바일 응용 실행 환경으로서의 개념이 아닌 기존 데스크톱을 위한 온라인 인터넷 서비스를 모바일기기와 연동하기 위한 기반 환경으로서의 개념으로 변화한 것을 의미한다. 현재 가장 높은 수준의 성장률을 보이고 있는 모바일플랫폼은 구글의 안드로이드 플랫폼으로서 2009년 하반기에 삼성전자, LG전자, 모토롤라 등 주요 제조업체에서 다양한 안드로이드플랫폼 기반 휴대폰 출시를 준비 중이다.</span></span><br />
<br />
새로운 개념의 모바일 플랫폼은 앞으로 발전하게 될 모바일 응용을 수용해야 한다는 점에서 갖추고 있어야 하는 몇 가지 필수적인요소가 있다. 먼저 운영체제 기반 플랫폼으로서 충분한 시스템 수준의 서비스를 제공해야 한다는 점이다. 현대 운영체제가 갖추고있는 메모리 관리, 장치 추상화, 프로세스 관리 등의 모든 기능이 상위 모바일 플랫폼에서 필요한 기능이기 때문이다. 둘째,사용자 인터페이스의 성능 요구 수준이 높아짐에 따라 2D/3D 가속 기능을 활용한 그래픽 처리 기술이 차세대 모바일 플랫폼의필수 요소가 되고 있다. 특히, 3D 기술을 활용한 사용자 인터페이스가 일반화되면서 이를 빠르게 처리할 수 있는 가속 기능이필요하게 되었다. 최근 사용되는 모바일 프로세서는 대부분 기본적인 가속 기능을 내장하고 있으며 그렇지 않은 경우에는 가속 기능전용 프로세서를 별도로 사용하는 추세이다. 이러한 가속 기능을 직접 사용하는 OpenGL/ES 등의 API 지원이 향후 시장을주도할 모바일 플랫폼의 필수 기능이다. 셋째, 일반 웹 기반 서비스를 그대로 혹은 모바일 기기에 최적화된 형태로 활용할 수 있는연동 기능이 필요하다. 앞으로의 서비스 시장이 모바일 기기를 위한 특화된 시장으로 발전하기보다는 기존 데스크톱에서의 인터넷/웹서비스를 모바일 기기에서 사용하기 위한 연동 시장으로 발전할 것으로 전망하기 때문이다. <br />
<br />
이 글에서는 이러한 모바일 플랫폼의 발전에 큰 영향력을 발휘하고 있는 구글의 안드로이드 플랫폼의 특징을 살펴보고 구글 안드로이드 플랫폼을 새로운 하드웨어에 탑재하는 절차를 사례를 들어 설명한다.<br />
<br />
<strong>구글 안드로이드 플랫폼이란? </strong><br />
안드로이드는 구글의 휴대폰용 오픈 소스 소프트웨어 플랫폼 및 주변 도구를 의미한다. <span style="color: rgb(0, 0, 153);">구글 안드로이드 플랫폼은 본격적인 모바일 웹응용을 위한 휴대폰 소프트웨어 플랫폼이라는 데 그 의미가 있다.</span> <span style="color: rgb(0, 0, 153);">주로 구글의 서비스를 이동 단말 환경에서 구현하고 활용하기 위한기반 플랫폼으로서 휴대폰뿐 아니라 다양한 정보 가전 기기에 적용할 수 있는 이식의 용이성을 갖추고 있다. </span>안드로이드 플랫폼은현재 전 세계의 주요 휴대폰 제조사, 반도체 제조사는 물론 통신사, 시스템 소프트웨어 개발사, 애플리케이션 개발사를 포함하는<span style="color: rgb(0, 0, 153);">오픈 핸드셋 얼라이언스(OHA, Open Handset Alliance)를 통해 진화</span>하고 있다.<br />
<br />
<img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/0908109.jpg" align="left" border="1" height="150" hspace="5" width="230">안드로이드 플랫폼의 특징을 나열하면 다음과 같다.<span style="color: rgb(0, 0, 153);"> 첫째, 오픈소스 운영체제인 리눅스를 기반으로 하고 있어서 다양한 하드웨어에이식하거나 새로운 기능을 부여하기 쉽다. 둘째, 응용 소프트웨어 실행 환경은 자바 가상머신 환경이며 자바 언어를 사용하여구현한다. 즉, 시스템 자원 및 각종 장치를 운용하는 리눅스 커널 위에 안드로이드 응용을 실행하기 위한 자바 가상머신이탑재된다. 셋째, 구글의 다양한 인터넷 서비스를 직접 이용할 수 있는 API를 갖추고 있다. 안드로이드 응용 API는 모두 자바클래스로 제공되며 구글의 웹 API와 기능 및 형식이 많은 부분 유사하다. 웹 2.0 매시업 응용을 주 응용으로 고려하고 있기때문에 GPS를 이용한 위치 기반 응용 구현을 위한 API를 풍부하게 제공한다. </span><br />
<br />
그림 2은 구글 안드로이드 플랫폼이 지향하는 응용 서비스 개념을 정리하여 보여준다. <span style="color: rgb(255, 0, 0);">단말, 통신 서비스, 응용 분야, 네트워크의종류에 독립적인 오픈 플랫폼을 제공하는 것이 중요한 목표이고 이를 먼저 휴대폰의 형태로 현실화하고 있다. 또한, 안드로이드플랫폼은 사용자가 구현한 응용 소프트웨어를 안드로이드 마켓을 통해 유통할 수 있는 비즈니스 모델을 제공하고 있어서 애플의앱스토어가 이룩한 성공 모델을 따르고 있다.</span><br />
<br />
<strong>안드로이드 플랫폼의 구조와 기능</strong> <br />
안드로이드 플랫폼은 리눅스 커널 상에 다양한 응용 소프트웨어 라이브러리와 안드로이드 응용 소프트웨어를 실행하기 위한 자바가상머신으로 이루어져 있다. 안드로이드 플랫폼에 사용된 자바 가상머신은 Dalvik이라 부르는 가상머신으로선마이크로시스템즈(Sun Microsystems, Inc.)의 자바 가상머신과 유사하지만 다른 형식의 자바 응용 소프트웨어패키징 방법 및 실행 과정을 제공한다. <br />
<br />
<strong>안드로이드 플랫폼 계층 구조</strong> <br />
안드로이드 플랫폼은 소프트웨어 계층으로 구성되어 있다. 가장 하위 영역에는 운영체제인 리눅스 커널이 존재한다. 리눅스 커널 위에녹색으로 표시된 영역에는 하드웨어 추상화 계층과 라이브러리가 존재한다. 하드웨어 추상화 계층은 다양한 하드웨어 장치를 활용할 수있는 안드로이드 응용 소프트웨어를 위한 인터페이스를 제공해주는 계층으로서 일관된 하드웨어 접근 API와 실제 하드웨어 제어 코드부분을 연결한다. 하드웨어 추상화 계층은 응용 소프트웨어에 대해 하드웨어 제어 투명성을 제공하고 동시에 자바 응용이 사용할 수있는 자바 API와 C 언어로 작성된 하드웨어 제어 코드를 JNI(Java Native Interface)를 통해 연결시켜준다. 응용 소프트웨어는 모두 자바 API를 사용하여 구현되지만 각종 응용 소프트웨어가 사용할 수 있는 공통 컴포넌트 혹은라이브러리는 C 언어 등으로 작성되어 있는 오픈 소스 소프트웨어 기반 코드로 구성되어 있다. 이러한 공통 컴포넌트 혹은라이브러리는 데이터베이스 처리를 위한 기능, 그래픽 처리를 위한 기능, 멀티미디어 처리를 위한 기능, 웹 응용을 실행하기 위한기능 등을 포함한다. <span style="color: rgb(0, 0, 0);">안드로이드의 라이브러리는 기존 리눅스의 기본 라이브러리들을 자원 제약 조건이 심한 휴대 이동통신 단말환경에 맞도록 최적화하여 구성되었다. 웹 응용을 위한 웹 브라우저 엔진 WebKit, OpenCORE 플랫폼 기반의 미디어코덱을 포함하는 Media Framework, SQL 데이터베이스인 SQLite, 2D, 3D의 윈도우 렌더링을 위한Surface Manager와 OpenGL|ES 등의 다양한 고성능의 라이브러리들을 포함한다.</span><br style="color: rgb(0, 0, 153);"><br />
안드로이드 응용 소프트웨어가 직접적으로 실행하기 위한 환경을 안드로이드 런타임이라고 부르며 Dalvik 가상 머신과 Core라이브러리들로 구성된다. Dalvik 가상 머신은 임베디드 시스템 환경을 위해 설계된 자바 가상머신으로서 기존 자바 실행파일형식과 다른 실행파일 형식(.dex)을 사용하여 실행파일의 크기와 성능을 임베디드 시스템 환경에 최적화하였다. <br />
<br />
애플리케이션 프레임워크는 자바 기반의 응용 소프트웨어 실행을 위한 가장 높은 수준의 서비스를 포함하고 있는 계층을 말하며 핵심시스템 서비스를 담당하는 코어 시스템 서비스들과 하드웨어와의 인터페이스를 담당하는 하드웨어 서비스들로 구성된다. JNI(JavaNative Interface)를 통해 native C/C++ 코드를 호출하는 부분을 포함한다.<br />
<br />
<img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/09081011.jpg" align="right" border="1" height="177" hspace="5" width="230">그림 3는 안드로이드 응용이 어떻게 구동되는 지 보여준다. 기본적인 시스템 서비스는 리눅스 커널 및 리눅스의 기본 시스템 서비스응용들에 의해 제공되고 안드로이드 응용 소프트웨어에 특화된 서비스는 런타임 서비스 매니져라는 소프트웨어 컴포넌트와 Dalvik가상머신을 중심으로 한 서비스에 의해 제공된다. 안드로이드 응용의 실행 성능을 높이기 위해 zygote라는 서비스가 제공된다.zygote는 안드로이드 응용을 빠르게 구동하기 위해서 필요한 소프트웨어 컴포넌트 실행 이미지를 미리 메모리에 준비하는 기능을제공한다. <br />
<br />
<strong>안드로이드 애플리케이션의 구성 </strong><img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/09081012.jpg" align="left" border="1" height="148" hspace="5" width="230"> <br />
안드로이드의 응용 소프트웨어는 그림 4와 같이 apk라는 패키지의 형태로 구성되어 있다. Apk는 Dalvik이 실행할 수 있는형태의 dex파일과 각각의 리소스들을 가진 WbXML, 각 컴포넌트들에 대한 기술이 있는 Manifest로 구성되며, Zip압축을 통해 apk 파일로 생성되는 형태이다. 안드로이드 응용 소프트웨어를 개발하고자 할 때에는 오픈 소스 개발 도구인이클립스(eclipse)의 플러그인(plug-in)을 사용하여 구성되는 개발 도구를 사용한다. <br />
<br />
<img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/09081013.jpg" align="right" border="1" height="155" hspace="5" width="230">그림 5은 안드로이드의 응용의 구성 요소를 보인다. 가장 중요한 구성 요소 중 하나인 Android-Manifest.xml은시스템의 명세를 담아 두는 파일이다. xml 파일 안에 모든 최상위 수준 컴포넌트를 가지고 시스템이 무엇을 말하는 가를 컴포넌트별로 명시해주는 제어 파일이다. Activity는 가장 기본이 되는 오브젝트로서, 어떤 작업을 하는 코드의 묶음이다. 즉 하나의가상의 사용자 인터페이스에 대한 표현이라고 정의할 수 있다. 이것은 생명주기를 가지며, 사용자에게 사용자 인터페이스를 보여주는것을 포함하기도 하며, 포함하지 않을 수도 있고, 다른 애플리케이션에 종속될 수도 있는 특성을 가지고 있다. View는 화면을그리는 것을 담당하는 오브젝트이다. 이 View에 대한 이벤트, 즉 터치 입력이나 키패드 입력 등의 이벤트에 대한 처리도 담고있다. 필요하다면, 새로운 사용자 인터페이스 위젯을 만들기 위해 View를 생성하는 것도 가능하다. Intent는 어떤 것을 할의도를 표현하는 단순한 메시지 오브젝트이다. 즉 Activity들 간의 매개체로서 수행되어야 할 동작에 대한 표현을 담고 있는것이다. 이것은 요구되는 동작과 동작을 수행하기 위해 필요한 정보를 포함하고 있다. Service는 백그라운드로 동작하는 응용소프트웨어로서 서비스를 포함하는 프로세스 안이나, 다른 애플리케이션의 프로세스 안에서 실행될 수 있는 프로그램을 말한다. <br />
<br />
Notification은 상태 바에 나타나는 작은 아이콘을 말한다. PC에서와 마찬가지로, 사용자는 정보를 수신하는 이 아이콘과상호작용 할 수 있다. 정보 갱신 시에 LED를 깜빡이거나, 사운드, 진동을 통해 사용자에게 입력의 전달을 표현할 수 있다.Notifica-tion의 메시지 기능은 문자 메시지의 도착 시에 사운드나 진동을 통해 Notification 영역의 작은아이콘을 통해 메시지를 확인할 수 있게 한다. 애플리케이션에서 별도의 Notification을 만드는 것도 가능하다.Content Provider는 장치상의 데이터에 대한 접근을 제공하는 오브젝트로서, 다양한 형태의 데이터베이스에 쉽게 적응할수 있는 방법을 제공한다.<br />
<br />
<strong>안드로이드 플랫폼 기반 단말기 구성 </strong><br />
현재 다양한 정보 기기에 안드로이드 플랫폼을 탑재하려는 움직임이 활발하게 진행되고 있다. 구글을 포함하는 오픈 핸드셋얼라이언스(OHA)에서 안드로이드를 발표한 이후 기존 모바일 기기에서 x86 프로세서 기반 넷북까지 안드로이드 탑재가 진행중이다. 본 장에서는 안드로이드 플랫폼을 실제 하드웨어에 탑재하여 구동시키는 절차를 소개하고자 한다. <br />
<br />
안드로이드 플랫폼의 탑재를 위해 가장 먼저 필요한 절차는 개발 환경을 구축하는 것이다. 안드로이드 플랫폼이 오픈 소스소프트웨어인 리눅스 커널 및 다양한 응용 소프트웨어를 중심으로 구성되어 있기 때문에 개발 환경 또한 오픈 소스 소프트웨어 개발환경인 GCC 기반으로 구성되어 있다. 따라서, 안드로이드 플랫폼 탑재를 위한 개발 환경은 리눅스 운영체제가 탑재된 시스템이가장 적합하다. 단, 안드로이드 플랫폼을 위한 응용 소프트웨어 개발은 호스트 시스템의 운영체제에 독립적이다. 리눅스 운영체제가설치된 호스트 시스템이 준비된 후에는 리눅스 기반의 개발 환경을 구축하기 위해 필요한 여러 패키지들을 다운로드하여 설치한다.기본 개발 환경 패키지에는 필요한 소스들을 다운로드하기 위한 리눅스 기반의 소스 관리 도구 패키지와 안드로이드 기반의 SDK(Software Development toolKit)가 포함된다. SDK는 에뮬레이터를 구동하기 위한 사용자 인터페이스 환경및 자바 개발 도구들을 모두 포함한다. 설치해야 할 패키지에 관련된 세부사항은 <a href="http://source.android.com/">http://source.android.com/</a> 을 참고한다.<br />
<br />
안드로이드의 전체 소스 코드를 다운로드 받으면 다운로드 받은 경로 안에 kernel 디렉토리가 존재하는 것을 확인할 수 있다.운영체제 커널의 소스 코드의 필요한 부분을 수정하면 다양한 하드웨어에 탑재할 수 있게 된다. 주로 운영체제 커널의 메모리 영역설정하는 부분, 각종 장치 드라이버, 그리고 HAL(Hardware Adaptation Layer) 등의 부분을 수정하여 새로운하드웨어에 탑재하게 된다. <br />
<br />
<img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/09081014.jpg" align="left" border="1" height="185" hspace="5" width="230">안드로이드의 커널 코드 중 하드웨어 장치를 제대로 제어할 수 있도록 수정하는 부분은 두 부분인데 하나는 장치 드라이버이고, 또한 부분은 장치 드라이버와 안드로이드 플랫폼을 연결하는 JNI 부분이다. JNI는 이미 잘 정의되어 있는 자바 응용과 C 언어수준의 시스템 코드를 연결시켜주기 위한 체계이다. 그림 6은 미디어 플레이어를 실행할 때의 JNI의 역할을 보인다. 그림에나타나 있는 바와 같이 리눅스 커널의 오디오와 비디어 장치 드라이버는 네이티브 코드(C 언어 혹은 C++ 언어 기반 코드)인라이브러리(Libmedia.so)를 통해 접근하도록 설계된다. Libmedia.so와 같은 코드는 원래 오픈소스로 제공되기보다는안드로이드 플랫폼의 JNI 라이브러리를 구성하기 위해 자바 인터페이스와 짝을 이루는 라이브러리로 설계된 것이라고 볼 수 있다.이러한 라이브러리는 JNI 라이브러리인 Libmedia_jni.so와 연결되어 모든 네이티브 코드 함수들이 자바 함수들과연결된다.<br />
<br />
안드로이드 플랫폼의 장치 드라이버는 일반 리눅스 커널의 장치 드라이버 형태를 그대로 사용하기 때문에 특별한 설계가 필요하지않다. 단, 장치 드라이버를 접근하는 경로가 모두 JNI 함수로 구현되어야 하기 때문에 이를 고려하여 장치 드라이버를 작성할필요가 있다. 그리고, 일부 장치 드라이버는 일반 리눅스에서는 필수적인 사항이 아니지만 안드로이드 플랫폼에서는 필수적으로지켜져야 하는 사양이 정해져 있는 경우도 있다.<br />
<br />
<img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/09081015.jpg" align="right" border="1" height="152" hspace="5" width="230">프레임버퍼는 화면 디스플레이를 위한 장치 드라이버이다. 이 장치 드라이버는 리눅스 커널에 /dev/fb 장치 노드를 통해접근하여 사용할 수 있도록 잘 정의되어 있다. 안드로이드 플랫폼에서는 기본적인 리눅스 커널의 프레임버퍼 장치 드라이버 형태를그대로 지키되 더블 버퍼링을 반드시 사용하도록 요구한다. 더블 버퍼링이란 하나의 화면을 디스플레이하기 위한 메모리 상의프레임버퍼를 두 개 만들어서 프레임버퍼를 채우는 동안에 걸리는 시간을 드러나지 않도록 하여 디스플레이 성능을 높이기 위한방법이다. 그림 7에 안드로이드 플랫폼에서 사용하는 더블 버퍼링의 구성을 보인다. <br />
<br />
리눅스 커널에 이미 존재하는 fb_pan_display() 함수는 호출 시 프레임버퍼의 시작 주소를 넘겨주는 함수인데 이 함수가 두 개의 프레임버퍼의 시작 주소를 번갈아 넘겨주도록 구현하면 된다.<br />
<br />
그 외 중요한 장치로는 키 입력장치와 터치스크린 등의 입력장치가 있다. 이러한 입력장치들은 모두 리눅스 커널의 InputDevice라는 부류의 장치로 등록된다. 장치 노드로는 /dev/input을 사용하는데 이 노드에 이벤트의 형태로 각각의 입력장치를 등록하도록 되어 있다. 예를 들면, 키를 입력할 수 있는 입력장치는 키패드, 키보드(QWERTY 자판 형태의 입력장치),그리고 마우스 형태의 입력장치를 안드로이드 플랫폼에서 지원하는데 모두 /dev/input 장치 노드의 이벤트의 형태로 등록하고각 키가 눌렸을 때의 키 값을 정해주기만 하면 그대로 동작할 수 있게 안드로이드 플랫폼에 JNI 코드의 형태로 모두 구현되어있다. 만약 입력장치로 키패드와 터치스크린을 사용한다고 하면 각각 /dev/input/ event0,/dev/input/event1의 입력장치 노드로 등록하고 각 입력장치의 종류를 장치 드라이버 코드 내에 명시하면 이에 맞게구성되어 있는 JNI 코드와 연결시킬 수 있다. 안드로이드 플랫폼의 장치 지원 코드 내에는 아직 애플사의아이폰(iphone)에서 사용되는 멀티 터치에 대한 장치 지원 코드는 공식적으로 완벽하게 마련되어 있지는 않다. 따라서, 멀티터치를 사용하는 경우에는 JNI 코드부터 장치 드라이버까지 필요한 코드 부분을 작성해야 한다.<br />
<br />
<img alt="" src="http://www.techworld.co.kr/PHOTO/PHOTO_FIlES/09081016.jpg" align="left" border="1" height="173" hspace="3" width="230">안드로이드의 커널 코드를 하드웨어에 맞게 수정한 후에는 커널 상에서 구동되는 각종 응용 소프트웨어가 포함되어 있는 파일 시스템을구축하여야 한다. 안드로이드 플랫폼의 파일 시스템 이미지 내에는 리눅스 시스템 구동을 위한 기본적인 시스템 소프트웨어 및라이브러리, 안드로이드 플랫폼을 위한 각종 라이브러리, Dalvik 가상 머신, 안드로이드 플랫폼 내에 사전 설치되는 응용소프트웨어 등이 포함되어 있다. 안드로이드 플랫폼을 위한 파일 시스템 이미지는 현재 YAFFS2와 EXT3 파일 시스템 형식으로제공된다. YAFFS2는 NAND 플래시메모리를 위한 파일 시스템으로서 저널링 기능을 사용하여 안정성을 제공한다. NAND플래시메모리를 위한 전용 파일시스템을 사용하는 경우에는 YAFFS2를 구축하여 사용할 수 있지만 메모리 카드의 형태나 다른 복합형태의 플래시메모리를 사용하는 경우에는 일반 하드 디스크를 위한 파일 시스템을 사용하여야 하기 때문에 EXT3 파일 시스템을위한 이미지를 제공한다. 그림 8는 ARM 코어 기반 프로세서를 사용하는 하드웨어에 필요한 커널 및 파일 시스템 이미지를수정하여 탑재한 장면을 보인다. 아래 사용한 하드웨어는 세븐코아㈜에서 제작한 멀티미디어 스마트폰을 위한 개발 플랫폼으로Marvell 사의 PXA270 프로세서, 3D 가속기, WLAN, 멀티 터치, 블루투스, 가속 센서 등을 갖추고 있다. 필자가속한 연구실에서는 아래 하드웨어에 안드로이드 플랫폼을 탑재하고 다양한 안드로이드 응용 소프트웨어를 작성하는 학생 프로젝트를 시행중이다.<br />
<br />
<strong>결 론 </strong><br />
모바일 플랫폼은 이제 웹 기반 응용을 데스크 탑 및 휴대폰에서 연동하여 실행하기 위한 환경으로서의 경쟁력을 요구하게 되었으며시장 형성 초기이기 때문에 절대적인 시장 압도적 기술은 아직 보이지 않는다. 안드로이드 플랫폼은 구글의 인터넷 서비스를 모바일환경과 연동하는 가장 첫 플랫폼이다. 스마트폰의 시장 확대와 안드로이드 플랫폼 기반 휴대폰의 성장은 모바일 플랫폼의 개념 및발전 방향을 새롭게 정의하고 있으며 이에 대한 시장 예측, 기술 수요 예측, 기술 개발 방향에 있어서의 적극적인 대응이 필요하다.<br />
<br />
이 글에서는 이러한 모바일 플랫폼 시장 및 기술 수요의 변화를 확인하고 그 중심에 자리잡고 있는 안드로이드 플랫폼의 구조와안드로이드 플랫폼 기반 정보 기기를 개발하는 데 필요한 기본적인 기술적 사항을 소개하였다. 안드로이드 플랫폼의 시장 비중 확대및 진화와 함께 모바일 플랫폼의 개념 변화 및 성장이 이루어질 것으로 예상하며 이러한 모바일 플랫폼 시장의 성장에 맞는 새로운차원의 모바일 플랫폼이 개발될 것으로 기대한다.<br />
<br />
그림 1. 스마트폰 시장 동향 그림 2. 구글 안드로이드 플랫폼의 개념 그림 3.안드로이드 응용의 구동 그림 4. 안드로이드실행 파일(.apk)의 구조 그림 5. 안드로이드 응용의 구성 요소 그림 6. 미디어 플레이어 실행과 JNI 그림 7.안드로이드 플랫폼의 프레임버퍼 더블 버퍼링 그림 8. ARM 기반 하드웨어에 탑재된 안드로이드<br />
<br />
출처 http://www.embeddedworld.co.kr/article/view.asp?article_idx=9276<br />
<br />
@_@ 아아아... 뭔말이야...<br />
더 보아야 할 것<br />
http://graynote.tistory.com/279 <br />
<br/><br/>tag : <a href="/tag/구글안드로이드" rel="tag">구글안드로이드</a>			 ]]> 
		</description>
		<category>***</category>
		<category>구글안드로이드</category>

		<comments>http://oheunjoo.egloos.com/4541552#comments</comments>
		<pubDate>Fri, 02 Oct 2009 13:24:17 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 과제 하나. ]]> </title>
		<link>http://oheunjoo.egloos.com/4538765</link>
		<guid>http://oheunjoo.egloos.com/4538765</guid>
		<description>
			<![CDATA[ 
  얼결에 어떤 기회가 주어졌다.<br />
정말 하늘에서 휙 하고 떨어진 느낌<br />
녹록치 않은 상황에서 어떻게 최선을 다할것인가가<br />
나에게 주어진 과제.<br />
기대하지 말고,<br />
잘하자.<br />
			 ]]> 
		</description>
		<category>DAYBYDAY</category>

		<comments>http://oheunjoo.egloos.com/4538765#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:37:35 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 신선한 웹사이트 ]]> </title>
		<link>http://oheunjoo.egloos.com/4523182</link>
		<guid>http://oheunjoo.egloos.com/4523182</guid>
		<description>
			<![CDATA[ 
  http://www.jpeg.cn/<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds17.egloos.com/pds/200909/14/39/b0063939_4aae3f10019cd.png" width="500" height="312.5" onclick="Control.Modal.openDialog(this, event, 'http://pds17.egloos.com/pds/200909/14/39/b0063939_4aae3f10019cd.png');" /></div>JPEG interactive의 포폴 사이트<br />
<br/><br/>tag : <a href="/tag/JPEG" rel="tag">JPEG</a>,&nbsp;<a href="/tag/웹사이트" rel="tag">웹사이트</a>,&nbsp;<a href="/tag/웹디자인" rel="tag">웹디자인</a>			 ]]> 
		</description>
		<category>***</category>
		<category>JPEG</category>
		<category>웹사이트</category>
		<category>웹디자인</category>

		<comments>http://oheunjoo.egloos.com/4523182#comments</comments>
		<pubDate>Mon, 14 Sep 2009 13:04:01 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ What's the real cost? ]]> </title>
		<link>http://oheunjoo.egloos.com/4523155</link>
		<guid>http://oheunjoo.egloos.com/4523155</guid>
		<description>
			<![CDATA[ 
  http://www.whatstherealcost.org/wtrc/<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae38b93b3ff.png" width="500" height="312.5" onclick="Control.Modal.openDialog(this, event, 'http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae38b93b3ff.png');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae38c1794b4.png" width="500" height="312.5" onclick="Control.Modal.openDialog(this, event, 'http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae38c1794b4.png');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae39bb1c025.png" width="500" height="312.5" onclick="Control.Modal.openDialog(this, event, 'http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae39bb1c025.png');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds17.egloos.com/pds/200909/14/39/b0063939_4aae39c6978f4.png" width="500" height="312.5" onclick="Control.Modal.openDialog(this, event, 'http://pds17.egloos.com/pds/200909/14/39/b0063939_4aae39c6978f4.png');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae39db4351c.png" width="500" height="312.5" onclick="Control.Modal.openDialog(this, event, 'http://pds15.egloos.com/pds/200909/14/39/b0063939_4aae39db4351c.png');" /></div><br />
<br />
긴장감있게 전달되는 나래이션과 모션그래피.<br />
우와~ <br />
일만 없으면 설명이라도 쓰고 싶건만... 또 나중에.<br />
들어가보면 알아!<br />
+의약품 가격이 왜 비싼지, 병원과 제약회사의 관계 의료보험의 혜택 머 이런얘기하는데...<br />
결론은 미국의 민영화된 의료보험 제도 개선이 필요함을 이야기 하고있는 듯.<br />
<br/><br/>tag : <a href="/tag/realcost" rel="tag">realcost</a>,&nbsp;<a href="/tag/의료보험" rel="tag">의료보험</a>,&nbsp;<a href="/tag/의료제도" rel="tag">의료제도</a>,&nbsp;<a href="/tag/웹디자인" rel="tag">웹디자인</a>			 ]]> 
		</description>
		<category>***</category>
		<category>realcost</category>
		<category>의료보험</category>
		<category>의료제도</category>
		<category>웹디자인</category>

		<comments>http://oheunjoo.egloos.com/4523155#comments</comments>
		<pubDate>Mon, 14 Sep 2009 12:44:43 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ A bird ]]> </title>
		<link>http://oheunjoo.egloos.com/4514790</link>
		<guid>http://oheunjoo.egloos.com/4514790</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds16.egloos.com/pds/200909/07/39/b0063939_4aa4efdd80ad1.jpg" width="411" height="468" onclick="Control.Modal.openDialog(this, event, 'http://pds16.egloos.com/pds/200909/07/39/b0063939_4aa4efdd80ad1.jpg');" /></div><br />
<br />
			 ]]> 
		</description>
		<category>WORKS</category>

		<comments>http://oheunjoo.egloos.com/4514790#comments</comments>
		<pubDate>Mon, 07 Sep 2009 11:35:24 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 10 Simple Steps to Better Photoshop Performance ]]> </title>
		<link>http://oheunjoo.egloos.com/4514204</link>
		<guid>http://oheunjoo.egloos.com/4514204</guid>
		<description>
			<![CDATA[ 
  <p>Before getting started with Photoshop, we all should have firstvisited the “Edit &gt; Preferences” menu and change the “Performance”settings to fit our personal taste and computer specifications, butthis isn’t always the case – in many situations designers simply forgetthese aspects.</p><p>If you never changed the default performance settings in yourPhotoshop or you just want to double check them to improve thePhotoshop performance, <strong>here are 10 important and useful points that you may want to consider.</strong></p><h3>1. Adjust The Number Of History States</h3><p>Maybe you already went through that bad feeling of clicking “undo”dozens of times and realizing that Photoshop wouldn’t provide you withmore previous steps, but this problem can be easily resolved bychanging the <strong>History States setting</strong> in the “Edit &gt; Preferences &gt; Performance” menu.</p><p class="showcase"><img original="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/history-states.png" src="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/history-states.png" alt="Photoshop - History States" height="192" width="415"></p><p>There are more efficient ways of going back and forward in yourprojects like using the “Snapshots” feature, which are essentiallycomfortable checkpoints of your work that you can go back to. But ifyou use Undo a lot, you may want to consider <strong>adding more states</strong>, e.g. set them to ‘30′. However, be aware that too many states on a single image will usually result in <strong>History Palette literally “eating” RAM</strong> and if you work with less than 2GB of RAM, you probably shouldn’t using the Undo Feature that often!</p><p>Overall, you may add up to 1,000 history state levels in Photoshop.</p><h3>2. How Many Cache Levels Do You Need?</h3><p>The Cache Levels setting can be found inside the “Edit &gt;Preferences &gt; Performance” menu, right under the History States. Itcontrols the histogram and the time it takes an image to reappear onthe screen after an action is applied to it.</p><p class="showcase"><img original="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/cache-levels.png" src="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/cache-levels.png" alt="Photoshop - Cache Levels" height="192" width="415"></p><p>By default, there are 6 cache levels; the number of levels <strong>can be increased to the maximum of 8</strong>which will – obviously – increase the rendering speed. It is particulareffective when you are working with high-resolution images. When workinwith smaller view-sizes, e.g. viewing an image at 50% Zoom, the cachelevels will determine the number of “down samplings” allowing Photoshopto perform operations faster.</p><p>Photoshop uses Image Caching and if you have a good amount of RAM,like at least 2GB and work with high-resolution images, you might wantto raise the level to 8 as the speed performance will compensate thememory loss, but if you have a low RAM amount and usually work withsmall images only (1-4MB), you may want to lower the value to 1 or 2 asthe RAM will be better allocated – storing the images rather thencaching them.</p><h3>3. Keep An Eye On Your Memory Usage</h3><p>Photoshop really likes RAM and will use every little bit it can grab, but it also allows you to <strong>limit the RAM resources of your computer that Photoshop will use</strong>,and it even gives you good suggestions for the appropriate range of RAMvalues it wants. This setting, of course, can be found inside the “Edit&gt; Preferences &gt; Performance” menu, on the Left Side.</p><p class="showcase"><img style="display: inline;" original="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/memory-values.png" src="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/memory-values.png" alt="Photoshop - Memory Usage" height="192" width="415"></p><p>The displayed available RAM is the value left for applications afterthe Operating System loads into memory. If you are going to use mostlyonly Photoshop, or if you have a low amount of memory, you willprobably want to give it 75-80% of the available RAM. But if, on theother hand, you are more of a multi-task kind of person with browser,word processor, mail, Twitter client etc. being always opened, then youmight want to limit Photoshop to around 50%.</p><h4>Efficient Use of Memory</h4><p>After setting up your memory values, you can keep an eye on howPhotoshop is performing. At the base of your image window, click to theright of the document size information and you will be able to choose“Efficiency” which will show you a percentage value. If this value isnot 100%, it indicates that <strong>if you allocate more RAM to Photoshop, the operations would perform faster</strong>.Closing applications or images that you are not using can also increasethe efficiency – not exactly a secret, but worth mentioningnevertheless.</p><p class="showcase"><img style="display: inline;" original="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/memory-efficiency.png" src="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/memory-efficiency.png" alt="Photoshop - Memory Efficiency" height="192" width="578"></p><h3>4. Use Proper Scratch Disks</h3><p class="showcase"><img style="display: inline;" original="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/scratch-disks.png" src="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/scratch-disks.png" alt="Photoshop - Scratch Disks" height="192" width="415"></p><p>Similar to what happened with RAM, Photoshop also uses a good amountof your hard drive space as the so-called “scrath disk” which works asthe secondary memory resource. <strong>Photoshop assumes that your primary hard drive is its scratch disk, but you can set it up differently</strong> with a secondary internal or external hard drive.</p><p>If you are going to work with large images, it is recommended thatyou have a dedicated scratch disk that is different from the onecontaining the image file. Using different scratch disks is good,especially to avoid killing your primary boot drive when you have justa few gigabytes left.</p><h3>5. Turn Font Preview Off</h3><p>Photoshop users (and especially designers) like to have a goodselection of fonts always installed and ready to be used; but when thefont preview is active, having too many fonts can slow you down. <strong>Turning the font preview feature off</strong>can be a simple and instant step towards improving your Photoshopperformance. To do so, simply go to the “Edit &gt; Preferences &gt;Type” menu and remove the check mark from the “Font Preview Size”option, just as it is shown in the picture above.</p><p class="showcase"><img style="display: inline;" original="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/font-preview.png" src="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/font-preview.png" alt="Photoshop - Font Preview" height="192" width="415"></p><h3>6. Use Thumbnails In Your Palettes</h3><p>Displaying preview thumbnails in the Layers, Channels, and Pathspalettes will cause Photoshop to consume some more of your RAM as itwill be constantly updating the thumbnails to reflect the changes youwill be doing in your project. <strong>The memory consumption will keep growing with the amount of thumbnails</strong> you have opened at the same time as well as their size.</p><p class="showcase"><img style="display: inline;" original="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/thumbnail-sizes.png" src="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/thumbnail-sizes.png" alt="Photoshop - Thumbnail Sizes" height="245" width="415"></p><p>You could use the smaller thumbnail size or no thumbnail at all toincrease your Photoshop performance. To do so, in each palette, select“panel options” from the palette menu as it is shown on the pictureabove and select the smallest thumbnail size or “None”.</p><h3>7. Learn How To Use Purge</h3><p>When you are working on your images, Photoshop stores image data forthe Undo, Clipboard, and History features. This data consumes memory,especially if you have been working for a while and have a high numberof History States defined <em>(see Point 1 for more on History States).</em></p><p>To eliminate that extra image data consuming your RAM, go to: “Edit&gt; Purge &gt; ( option )”. Keep in mind that clearing History willremove all the history states saved previously and you will not be ableto undo your latest actions.</p><p class="showcase"><img style="display: inline;" original="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/purge.png" src="http://media1.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/purge.png" alt="Photoshop - Purge" height="245" width="415"></p><h3>8. Set Maximize PSD And PSB File Compatibility to Always or Ask</h3><p>Maximize PSD and PSB File Compatibility increases the size of yourfile by attaching a flattened copy of your image when you save yourimage. A small amount of extra data is included in the file when youchoose this option that ensures that PSD and PBS files saved inPhotoshop will open in previous versions.</p><p>Additionally, if you want to use the Edit in Photoshop feature inPhotoshop Lightroom, this option needs to be on. To change the MaximizeFile Compatibility option choose “Photoshop &gt; Preferences &gt; FileHandling”.</p><h3>9. Don’t clutter your Photoshop</h3><p>Of course, you can easily find an enormous amount of free stuff toadd up to the default Photoshop brushes, fonts, patterns, etc. but thatdoesn’t mean you need to download every freebie that comes in your way.Keep it simple! Having too many plugins and other resources installedin Photoshop will greatly decrease performance. Most top designers usea small selection of fonts and brushes that define their style and thatcan be used in a great amount of ways for literally millions ofdifferent results.</p><p class="showcase"><img style="display: inline;" original="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/clutter.png" src="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/clutter.png" alt="Photoshop - Clutter" height="192" width="415"></p><h3>10. Reset Default Settings</h3><p class="showcase"><img style="display: inline;" original="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/default.png" src="http://media2.smashingmagazine.com/wp-content/uploads/images/improve-photoshop-performance/default.png" alt="Photoshop - Default Settings" height="192" width="415"></p><p>If you are using a shared machine for your Photoshop needs there is <strong>a little Photoshop start-up trick</strong> that may come in handy. When the application is launching, if you press and hold: <em>Alt + Control + Shift (Windows)</em> or <em>Command + Option + Shift (Mac)</em>,a window will pop up asking you if you want to delete the Photoshopsettings file, resetting all of the preferences to their default.</p><h3>Further Resources</h3><ul><li><a href="http://kb2.adobe.com/cps/404/kb404439.html">Optimize performance of Photoshop CS4 on Windows XP and Vista</a></li><li><a href="http://kb2.adobe.com/cps/404/kb404440.html">Optimize performance in Photoshop CS4 on Mac OS</a></li><li><a href="http://www.smashingmagazine.com/2008/08/13/top-10-killer-photoshop-combo-moves/">Top 10 Killer Photoshop Combo Moves</a><br />
Istime kickin’ your ass? Well, learn to defend yourself! Master thesekiller Photoshop keyboard combos and you’ll find yourself with moretime for the important things (e.g. Facebook trivia questions). Thesecombos assume you’re using Photoshop CS3 on Windows platform withdefault keyboard shortcuts.</li><li><a href="http://psd.tutsplus.com/tutorials/tools-tips/professional-tips-for-improving-photoshops-performance/">Professional Tips for Improving Photoshop’s Performance</a><br />
Inthis tutorial, you’ll take a look at the Photoshop Preferences toincrease your Performance. Depending on the Photoshop version, featuresfor working with 3D imagery, motion-based content, and advanced imageanalysis, greatly increase the requirements of both graphics andhardware.</li><li><a href="http://www.smashingmagazine.com/2009/05/26/20-time-saving-tips-to-improve-designers-workflow-part-1/">20 Time-Saving Tips to Improve Designer’s Workflow</a><br />
Wantto save some time? Of course you do! You are probably always lookingfor ways to do this faster and make that easier, it’s human nature! Oneof the best ways to save time is experience. So always stay hard atwhat you do and you will definitely save more than “just” time!</li></ul><h4>About the author</h4><p><em>Marco Sousa is a blogger, computer engineer student and webdesign enthusiast. He is also one of the co-founders of <a href="http://scarletbits.com/">Scarletbits.com</a>, a blog dedicated to high quality freebies, news, tips and tutorials for the web design community.</em></p><p><br />
<em></em></p><p><em>http://www.smashingmagazine.com/2009/08/13/10-simple-steps-to-better-photoshop-performance/<br />
</em></p>			 ]]> 
		</description>
		<category>***</category>

		<comments>http://oheunjoo.egloos.com/4514204#comments</comments>
		<pubDate>Mon, 07 Sep 2009 01:24:38 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
	<item>
		<title><![CDATA[ Iconfinder ]]> </title>
		<link>http://oheunjoo.egloos.com/4500504</link>
		<guid>http://oheunjoo.egloos.com/4500504</guid>
		<description>
			<![CDATA[ 
  Icon검색엔짐진입니다.<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds17.egloos.com/pds/200908/26/39/b0063939_4a94dcc9f0286.png" width="500" height="379.562043796" onclick="Control.Modal.openDialog(this, event, 'http://pds17.egloos.com/pds/200908/26/39/b0063939_4a94dcc9f0286.png');" /></div><br />
<div style="text-align: center;">www.iconfinder.net<br />
</div>			 ]]> 
		</description>
		<category>***</category>

		<comments>http://oheunjoo.egloos.com/4500504#comments</comments>
		<pubDate>Wed, 26 Aug 2009 06:58:04 GMT</pubDate>
		<dc:creator>joo</dc:creator>
	</item>
</channel>
</rss>
