string strSrc = "Test string...";
문자열 비교 테스트를 하는데 위 코드가 월등하게 빠를것으로 예상하고 테스트 했는데 아래 코드가 더 빠르다.
추가로 아래의 대소문자를 구분한 코드도 비교해 보았다.
결과는 위 코드는 string의 compare 함수와 크게 차이가 나지 않았다.
보다 나은 성능을 고려할때에는 문자열 비교 할 때 대 소문자를 구분 하거나 미리 대문자든 소문자든 바꾸어 놓은 후 비교를 해야겠다.
function goUrl(url){
window.location.href = url;
}
Adobe의 Source Code Pro(출처: Adobe Blogs -http://goo.gl/FKHeb)
혼당하기 쉬운 폰트들(출처: Adobe Blogs -http://goo.gl/FKHeb)
특수 문자(출처: Adobe Blogs -http://goo.gl/FKHeb)
Consolas 10p | Source Code Pro 10p |
[Common]
DefaultCharset=949
DefaultFont=MS Shell Dlg
<div id="zone1" class="zone">
<img id="DragItem" draggable="true" src="html5_logo.jpg"/>
</div>
<br/>
<div id="zone2" class="zone">
</div>
<script>
function dragStart(ev)
{
ev.dataTransfer.setData("text/plain", ev.target.id);
}
function dragOver(ev)
{
ev.preventDefault();
}
<script>
<div id="zone1" class="zone">
<img id="DragItem" draggable="true" src="html5_logo.jpg" onDragStart="dragStart(event)"/>
</div>
<br/>
<div id="zone2" class="zone" onDragOver="dragOver(event)">
</div>
<script>
function dragStart(ev)
{
ev.dataTransfer.setData("text/plain", ev.target.id);
}
function dragOver(ev)
{
ev.preventDefault();
}
function dragDrop(ev)
{
ev.preventDefault();
var data = ev.dataTransfer.getData("text/plain");
ev.target.appendChild( document.getElementById( data ) );
}
<script>
<div id="zone1" class="zone">
<img id="DragItem" draggable="true" src="html5_logo.jpg" onDragStart="dragStart(event)"/>
</div>
<br/>
<div id="zone2" class="zone" onDrop="dragDrop(event)" onDragOver="dragOver(event)">
</div>
<script>
function dragStart(ev)
{
ev.dataTransfer.setData("text/plain", ev.target.id);
}
function dragOver(ev)
{
ev.preventDefault();
}
function dragDrop(ev)
{
ev.preventDefault();
var data = ev.dataTransfer.getData("text/plain");
ev.target.appendChild( document.getElementById( data ) );
}
<script>
<div id="zone1" class="zone" onDrop="dragDrop(event)" onDragOver="dragOver(event)">
<img id="DragItem" draggable="true" src="html5_logo.jpg" onDragStart="dragStart(event)"/>
</div>
<br/>
<div id="zone2" class="zone" onDrop="dragDrop(event)" onDragOver="dragOver(event)">
</div>
| |||||||||||
목차 보기
PART 1 안드로이드 기본 개념
SECTION 01 안드로이드 개요 _2
SECTION 02 안드로이드 플랫폼 특징 _3
SECTION 03 안드로이드 버전 히스토리 _4
SECTION 04 안드로이드 버전별 시장 분포 _5
SECTION 05 안드로이드 화면 크기와 해상도별 시장 분포 _7
SECTION 06 안드로이드 2.2의 주요 변화 _9
SECTION 07 안드로이드 2.3의 주요 변화 _10
SECTION 08 안드로이드 3.0의 주요 변화 _12
SECTION 09 안드로이드 4.0의 주요 변화 _13
SECTION 10 안드로이드 실행 환경 _16
SECTION 11 안드로이드 개발 환경 _18
SECTION 12 안드로이드 HelloWorld 작성하기 _19
SECTION 13 안드로이드 프로젝트 구조 _27
SECTION 14 안드로이드 에뮬레이터 살펴보기 _39
PART 2 안드로이드 구성요소
SECTION 01 안드로이드 주요 용어 _50
SECTION 02 안드로이드의 4대 주요 컴포넌트 _51
SECTION 03 안드로이드 애플리케이션 구조 _52
SECTION 04 액티비티 살펴보기 _53
SECTION 05 서비스 살펴보기 _58
SECTION 06 브로드캐스트 리시버 살펴보기 _60
SECTION 07 콘텐트 프로바이더 살펴보기 _61
SECTION 08 인텐트와 인텐트 필터 살펴보기 _63
SECTION 09 통지 살펴보기 _71
SECTION 10 컴포넌트 활성화 및 비활성화 _73
PART 3 안드로이드 사용자 인터페이스
SECTION 01 안드로이드 인터페이스 구성요소 _76
SECTION 02 뷰 _77
SECTION 03 뷰 컨테이너 _108
SECTION 04 레이아웃 _128
PART 4 안드로이드 기초
SECTION 01 로그와 뷰 추가 방법 _138
SECTION 02 스타일과 테마 _147
SECTION 03 리소스 _162
SECTION 04 버튼 _170
SECTION 05 에디트텍스트 _181
SECTION 06 스피너 _189
SECTION 07 액티비티 _193
SECTION 08 키/터치 이벤트 _212
SECTION 09 스크롤뷰 _233
SECTION 10 그리드뷰 _241
SECTION 11 갤러리 _245
SECTION 12 뷰플리퍼 _262
SECTION 13 슬라이딩드로어 _270
SECTION 14 레이아웃 _281
SECTION 15 폰트 _291
SECTION 16 토스트 296
SECTION 17 다이얼로그 _307
SECTION 18 상태바 _326
SECTION 19 메뉴 _331
SECTION 20 환경설정 _341
SECTION 21 이미지/그래픽 _367
SECTION 22 웹뷰 _378
PART 5 안드로이드 활용
SECTION 01 액션바(ActionBar) _404
SECTION 02 프래그먼트(Fragment) _441
SECTION 03 스레드(Thread) _489
SECTION 04 리스트뷰 활용하기 _514
SECTION 05 확장 리스트뷰 활용하기 _546
SECTION 06 파일 활용하기 _556
SECTION 07 데이터베이스 활용하기 _572
SECTION 08 인텐트 활용하기 _592
SECTION 09 XML _633
SECTION 10 브로드캐스트 리시버 _641
SECTION 11 SMS 송신 및 수신하기 _651
SECTION 12 콘텐트 프로바이더 활용하기 _670
SECTION 13 위치 정보 활용하기 _677
SECTION 14 구글 맵 활용하기 _714
SECTION 15 전화 _763
SECTION 16 애니메이션 _783
SECTION 17 네트워크 활용하기 _791
SECTION 18 서비스 _816
SECTION 19 애플리케이션 위젯 _837
SECTION 20 SD 카드 _858
SECTION 21 서피스뷰 _864
SECTION 22 기타 _880
부록
A 개발자 등록 및 애플리케이션 마켓 배포 _890
B TIP & TECH 리스트 _904
C 프로젝트 리스트 _907
D API 리스트 _914
E 안드로이드 개발 환경 구축하기 _918
F 이클립스 개발 환경 구성하기 _937
G 이클립스 개발 팁 살펴보기 _940
찾아보기 _944
; Check OS Platform
System::Call "kernel32::GetCurrentProcess() i .s"
System::Call "kernel32::IsWow64Process(i s, *i .r0)"
StrCmp $0 '0' Win32 Win64
Win32:
Goto EndCheck
Win64:
EndCheck:
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> HTML5 Video </TITLE>
</HEAD>
<BODY>
<video controls="controls">
<source src="Friends - [1x01] - The One where Monica gets a Roommate.mkv" type="audio/mpeg" />
Your browser does not support the video element.
</vedeo>
</BODY>
</HTML>
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> HTML5 Audio </TITLE>
</HEAD>
<BODY>
<audio controls="controls">
<source src="rainymood30a.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
</BODY>
</HTML>
//==== storing data ====
FileStorage fs(".xml", FileStorage::WRITE + FileStorage::MEMORY);
fs << "date" << date_string << "mymatrix" << mymatrix;
string buf = fs.releaseAndGetString();
//==== reading it back ====
FileStorage fs(buf, FileStorage::READ + FileStorage::MEMORY);
fs["date"] >> date_string;
fs["mymatrix"] >> mymatrix;
////////////////////////////////////////////////////////////////////////////////
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta http-equiv="Content-Type" content="text/html; charset=Unicode" />
<style type="text/css">
body
{
margin: 0;
width: 200px;
height: 100px;
font-family: verdana;
font-weight: bold;
font-size: 20px;
}
#gadgetContent
{
margin-top: 0px;
width: 100%: middle;
text-align: center;
overflow: hidden;
}
</style>
</head>
<body>
<div id="gadgetContent">
Canvas
<canvas id="myCanvas" width="200" height="50"></canvas>
</div>
</body>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var grd=ctx.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
ctx.fillStyle=grd;
ctx.fillRect(0,0,175,50);
</script>
</html>