Tuesday, August 9, 2011

[html5] input 추가된 요소 및 추가된 속성들을 알아보자 [출처] [html5] input 추가된 요소 및 추가된 속성들을 알아보자|작성자 이슬

input 태그의 추가된 유형들

유형

설명

코드

텍스트

텍스트를 입력합니다.

패스워드

비밀번호 입력,화면에 ●로 표시됩니다.

체크박스

클릭할때마다 on/off

라디오 단추

그룹 중에서 한가지 선택합니다.

파일

파일을 업로드 합니다.

전송 단추

폼에 입력한 값을 전송합니다.

이메일 주소

이메일 주소를 입력합니다.

웹주소

웹사이트 주소를 입력합니다.

숫자(스핀 박스)

클릭할 때마다 on/off

숫자(슬라이드 박스)

그룹중에서 한가지를 선택합니다.

날짜/시간 등

날짜와 시간을 표시합니다.

검색 상자

폼에 입력한 값을 전송합니다.

색상 선택

웹에서 색상을 선택합니다.

색상을 선택하면 16진수값을 반환하도록 합니다.하지만 아직까진 어떤 브라우저에서도 지원하지 않습니다.


input 태그의 새로 추가된 속성들

속성

설명

autocomplete

브라우저의 자동 완성 기능을 제어합니다.

autofocus

페이지가 로드하자마자 입력 필드안에 마우스 커서를 표시합니다.

list

입력 가능한 값을 가지고 있는 데이터리스트 요소를 가르킵니다.

max 와 min , step

입력값의 범위를 지정합니다.

placeholder

텍스트 필드에 입력 힌트를 표시합니다.

required

필수 입력 필드를 만듭니다.

formaction, formenctype,formmethhod,formnovalidate,formtarget

태그의 여러 속성을 덮어씁니다.

Thursday, July 28, 2011

CSS TABLE

http://spongi.tistory.com/71

최근 들어 적절한 테이블 사용의 사례가 많아지고 있습니다.
예전에는 테이블 태그들을 이용해 사이트의 레이아웃을 잡는 용도로 많이 사용 되었는데 웹접근성과 정보의 명확성을 위해 각각의 태그용도에 맞도록 제작되고 있는 추세입니다.

테이블은 정리되어있지 않은 데이터들을 일목요연하게 보여줄 수 있는 장점이 있습니다.
특히나 게시판 혹은 데이터들의 통계정보 등은 테이블로 표시하기에 좋은 데이터 구조들이죠.

몇몇분들은 테이블 태그의 사용을 자제하라고 하지만 무작정 써도 되는 무방한 태그를 쓰지 말라는 건 어불성설이죠. 용도에 맞는 적절한 사용은 웹표준에 더욱더 부합되는 것이니 쓸땐 쓰는게 좋은 겁니다. 하하하하


우선 본격적인 강좌에 들어가기 앞서 가독성과 접근성에 이야기 하고 들어가겠습니다.
간단하게 말씀드려 가독성이란 읽기 쉬운 정도를 말합니다. 예를 들어 글을 쓰는데 뛰어쓰기도 없고 단락구분도 되어있지 않은 글을 읽는다고 생각해보십시오. 죽빵을 한대 갈기고 싶으시죠? 맞습니다!!! 죽빵 갈겨야죠.
그러면 어떤게 보기 좋죠? 물론 띄어쓰기도 잘 되어있고, 단락구분도 알맞게 되어 거기다 맞춤법까지 완벽하다면 정말 금상첨화겠죠. 이 사람한텐 죽빵 대신에 호빵을 줍시다... 퍽(!!!!) 악~~~

쿨럭...이처럼 가독성이란 데이터들을 나열할 때 그 정보를 보는 사람이 얼마나 편하고 잘 이해할수 있도록 하는지가 가장 큰 목적입니다. 그렇다면 접근성은?

이건 이렇게 말할 수 있습니다. 어떤 문학작품을 보는데 '뫼산이 높디하되...서당견 삼년이면...' 뭐 이딴 작품이 있다고 한다면 이러한 작품을 갓 유치원에 입학하신 유딩분께서 이 글을 보신다면 '음...이 문학작품은 이래서 어쩌구 저쩌구'라고 평가를 내린다면 그건....뭔가 세상이 잘못된겁니다. 자고로....유딩때는 유희왕카드에 열광하고 포켓몬을 사랑해야.....가 아니라 에헴!!
어쨋든 갓 유치원에 입학한 어린아이가 난해한 국문학을 이해하기란 쉽지 않겠죠. 그렇다면 이걸 쉽게 이해할수 있게 하려면 어떻게 해야 할까요. 책안에 한자풀이도 넣어주고 어린아이의 눈높이에 맞는 설명도 같이 곁들여 준다면 어린아이도 쉽진 않겠지만 어느정도 국문학을 읽어보려고 하지 않겠습니까. 혹은 시각장애인이 책을 읽기 위해선 첨자가 필요하죠. 책에 부록을 통해 첨자로 인쇄하여 같이 껴서 준다면 누구나 이 문학작품을 읽을수가 있겠지요.

접근성이란 누구나가 쉽게 읽을수 있도록 접근 장벽을 낮추는 요소입니다. 실제 웹에서 이런 예를 든다면 가장 크게 작용되는 브라우저의 종류, 사용자의 환경적인 요인 등에 의해서 접근성이 판단될 수 있을듯 합니다.

서론이 너무 길었는데 이렇게 두가지 특성들을 잘 이해하고 작성하신다면 웹표준에 가까운 문서들을 만들어 낼수 있을 겁니다. 그러면 본격적으로 테이블 태그를 하나 작성해보도록 하지요.






































































가장 좋아하는 가수 9명
아티스트 번호 가수 앨범
1 박완규 Sweet Lessons 41
2 최재훈 Return
3 임재범 The story of Musicians - 옛사랑 2
4 사랑을 원해
5 이적 나무로 만든 노래
6 임창정 Different Color
7 Say It`s Not True
8 김광석 너무 아픈 사랑은 사랑이 아니었음을
9 트랜스픽션 Revolution


소스가 약간 길긴 하지만 별로 어려운건 없으니 하나하나 살펴보도록 하지요.
우선 스크린샷을 보겠습니다.


스타일 시트를 적용시키기 전의 모습




스타일 시트를 적용시킨 모습



아래와 위의 스크린샷의 모습이 다른걸 보실수가 있습니다. 아무래도 밑의 이미지가 좀 더 보기가 좋죠.
이런 모습을 가독성이 좋다고 할수가 있습니다. 하하하하~

썸머리와 캡션
가장 좋아하는 가수 9명
이부분이 보이시죠? 여기는 현재 테이블로 표시한 데이터가 무슨 데이터인지 표시를 하는 일종의 제목이라고 할수 가 있습니다. 물론 안써주셔도 괜찮지만 가능하다면 사용하는 편이 좋습니다.
summary속성은 현재 테이블의 내용을 요약해서 보여줄수 있는 역할을 합니다. 이미지 태그에 alt속성과 같다고 할 수 있죠.

thead, tbody, tfoot
테이블 내용을 좀 더 세분화 시켜서 구성을 할수가 있습니다. 물론 화면상에서는 이걸 쓴다고 해서 달라지는건 없습니다만 스타일 시트를 적용시킨다거나 소스의 가독성을 생각한다면 저런식으로 나눠주는게 좋다고 생각합니다.
테이블 안에서 이 3개의 태그는 사용의 제한이 있는데 thead와 tfoot은 한 테이블에서 하나만 작성을 하실수가 있습니다. 하지만 tbody의 경우는 여러번 사용해도 무방합니다.



아티스트 번호
가수
앨범


행의 제목 부분은 위 소스와 같이 td대신 th를 사용해 작성하도록 합니다. 그리고 특이한 속성이 나오는데 scope라는 속성입니다. 이 속성은 현재 나타낸 제목이 열(col)에 해당되는건지 행(row)에 해당되는건지 명시하는 겁니다. 물론 화면상 변화는 없습니다.

col, colgroup
이건 멀까요?
행을 나누는 태그는 tr입니다. 이 tr태그에 스타일을 먹이면 그 줄의 td들은 모두 상속을 받게 되서 한번에 스타일 적용이 가능합니다. 그렇다면 반대로 열을 한번에 적용시킬려면 어떻게 해야 될까요?
음.....아무리 생각해도 일일히 적용시키는 수밖에 없죠? 하지만 W3C에서는 이 문제를 해결하기 위해 col엘리먼트와 colgroup엘리먼트를 제공하고 있습니다. 하지만 안타까운건 이 엘리먼트를 지원하는 브라우저들이 많지 않다는 거지요...ㅜ ㅡ
현재는 그렇게 중요한 역할을 하는 것이 아니니 그냥 이런게 있구나만 알고 넘어갑시다.


테이블 테두리
테두리에 대한 모델은 두가지가 있습니다. 한가지는 분리모델(separate) 또한가지는 공유모델(collapse) 입니다. 분리모델은 각 셀마다 테두리선을 지정하고, 공유모델에서는 각 셀이 하나의 테두리선을 함께 사용합니다. 대부분 브라우저는 분리모델을 기본으로 하고 있습니다. 그냥 테이블 속성에 border="1"이라고 주시면 약간 뭔가 두껍게 표시되는 모습을 보실수가 있습니다.
이건 기본적으로 분리모델로 테이블 테두리가 적용되어 있기 때문입니다. 그렇기 때문에 겹치는 부분을 하나의 라인처럼 보이게 할려면 border-collapse: collapse; 라는 속성을 주셔야 합니다.
table {
border-collapse: collapse;
width: 40em;
border: 2px solid #ddd;
}


화면 모양을 만들어 볼까요?
caption{
font: bold 1.2em 돋움 sans-serif;
margin: 1em 0;
}
캡션을 좀더 강조해서 제목부분처럼 보이게 했습니다.
em이라는 단위가 나오는데 이건 좀더 나중에 설명하겠습니다.

col{
border-right: 1px solid #ccc;
}
col#album{
border: none;
}
열의 오른쪽 라인에 옅은 회색의 줄을 넣어주기 위해 col 선택자에 모두 1px 줄을 지정해 주었습니다.
하지만 맨 오른쪽에 있는 열은 적용이 되면 안되겠죠. 왜냐 본래 테이블 테두리가 있으니까요. 그래서 album의 열에는 border를 주지 않았습니다.

thead{
background-color: #ddd;
border-top: 1px solid #a5a5a5;
border-bottom: 1px solid #a5a5a5;
}

각 열의 제목부분에 해당되는 thead부분도 본문과는 다르게 표시하면 좋겠지요.
배경색과 라인을 좀더 새롭게 해줬습니다.

th{
font-weight: normal;
text-align: center;
}
th부분은 본래 bold체가 기본으로 되어있지만 이 부분은 그냥 normal로 지정해주었습니다.
text-align 은 글자 정렬 속성인거 아시죠?

#artistNumHead{
text-indent: -1000em;
}

번호에 해당되는 열제목을 숨기기위해서 들여쓰기 속성을 음수로 지정하였습니다.
안보이게 할거면 왜 써줬냐는 분도 있지만 써주는게 좋습니다. 왜냐 시각장애인을 위한 스크린리더라는 프로그램이 있는데 이게 간단하게말해서 뭐냐면....그냥 음성으로 화면의 내용을 말해주는 프로그램입니다.
그렇기 때문에 제가 앞전에 말씀드린 웹의 접근성을 위한다면 화면상에는 보이진 않아도 소스상에는 보여줘야
하겠죠?

추가사항 정리
.odd{
background-color:#edf5ff;
}
이건 각 행마다 색을 다르게 해주기 위해서 지정해놓은 스타일입니다.
전 홀수행에만 class속성을 이용해 적용시켜주었습니다. 물론 프로그래밍에선 반복문을 이용해 지정을 하겠지요.

tr:hover{
background-color: #3d80df;
color: #fff;
}

thead tr:hover, tfoot tr:hover{
background-color: transparent;
color: inherit;
}
IE의 경우 hover라는 선택자를 a태그에서만 지원합니다.
그래서 IE에서는 자바스크립트를 사용해서 바꿔주는 방법이 있지만 여기서는 범위를 벗어나는 이야기이므로 따로 언급하지 않겠습니다. 추가적인 사항이니 그냥 이런식으로 효과를 줄수 있다는 걸 알아두세요.

thead td{
border-right: 1px solid #EEE;
}
이 부분은 IE에서 테이블 태그안에 border라는 속성을 주지 않을경우 아래와 같이 스타일을 주었다고 하더라도
table {
border-collapse: collapse;
width: 40em;
border: 2px solid #ddd;
}

테이블 안쪽의 셀에는 라인이 표시되지 않습니다. 그래서 각 열의 오른쪽을 col 셀렉터에 적용시킨 스타일대로 똑같이 표기하기 위해 준 스타일입니다.


별거 아닌 내용인데 글이 길어졌네요...후...
도움이 되셨길 바라며 다음 시간에는 박스모델에 대해서 알아보도록 하겠습니다.
중요한 부분이니 다음 시간을 기대해 주세요~~ bye!!

Wednesday, January 5, 2011

일본 모바일 사이트는 어떻게 만들 수 있나?

1. DoCoMo i-mode 는 i모드 대응 i-HTML, i-XHTML 중심입니다.
2. AU의 EZweb 용은 HDML ( handheld Device Markup Language), WML ( Wireless Markup Language ), XHTML Basic 을 중심으로 합니다. HDML 과 WML 은 WAP ( Wireless Application Protocol) 에 대응하는 언어입니다.
3. 보다폰은 최근 소프트뱅크에 인수가 되어 소프트뱅크 모바일이 되었습니다. 보다폰라이브 HTML, MML ( Mobile Markup Language ), XHTML 중심입니다. AU가 리스모등등 해서 서비스를 잘한다고 생각했는데, 최근에는 소프트뱅크 모바일이 선전하고 있다고 합니다. 이 책을 보시면, 다 아실 수 있습니다. 다만, 핸드폰마다 특수문자가 코드와 모양이 다 다른데, 이것을 처리하는게 어렵다고 합니다. ( 어렵다는건 쌩노가다라서... ) 다행히 Ruby on Rails 에 특수문자를 맞춰주는 라이브러리가 있어서 MVC 외에도 효율을 업청나게 높이고 있다고...

도서 : http://www.amazon.co.jp/%E3%82%B1%E3%83%BC%E3%82%BF%E3%82%A4HTML%E3%82%B3%E3%83%B3%E3%83%91%E3%82%AF%E3%83%88%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-Compact-Reference-%E3%82%A4%E3%83%B3%E3%83%95%E3%82%A9%E3%82%B7%E3%82%A7%E3%83%AB/dp/4839921148/ref=sr_1_11?ie=UTF8&s=books&qid=12152303
출처 : http://freelncr.microtop10.com/2974

Monday, January 3, 2011

일본 모바일 웹사이트 개발 시 주의점

일본 모바일 웹사이트 개발 시 주의점
일본 모바일 웹사이트의 개발 할때 주의사항에 대해서 정리를 해 봅니다.
참고로 일반적으로 우리가 접하는 웹사이트는 PC용 웹사이트라고 부르겠습니다.


일본 모바일 사이트 개발시 일반적인 차이와 주의사항

한국의 모바일 웹사이트는 WAP 표준을 사용하고 있는 것으로 안다. 파일 코드만 보면 모바일 용인지 일반 웹사이트 용인지 쉽게 구별이 가능하다. →WAP전용 태그가 있기 때문으로 압니다.
일본은 도코모의 i-mode때 부터 HTML의 서브셑을 채택해서 지금까지 사용 해 오고 있다. 그 덕분인지 일본의 모바일 사이트를 개발하다 보면 일반 PC용 웹사이트에서 HTML만 바꿔 간단히 서비스 할 수 있는 경우도 종종 있다. 다만 이동통신사 별로 조금씩 차이가 있기 때문에 그 부분만 신경 써주면 된다.(때론 심각하게 고민 하는 경우도 생기긴 한다. ^.^) 그럼 간단히 정리 해 보자.
→au(KDDI)의 경우는 WAP2.0브라우저를 이용하고서 HTML서브셑을 사용하고 있습니다.

1. 핸드폰 기종과 이동통신사에 따라 채용하는 HTML이 차이가 있다.

■핸드폰 제조사가 어떤 브라우저를 사용하고 있느냐에 따라 지원하는 HTML이 결정 된다. 현재는 대부분 3G로 전환 하면서 브라우저도 XHTML을 주로 채용하고 있기 때문에 최근 모바일 사이트 개발은 XHTML에 맞춰서 이루어 지고 있다.

2. HTML 서브셑

■초기 도코모의 i-mode때부터 WAP이 아닌 HTML의 축소버젼을 채택해 오고 있다. au(KDDI)의 초기 단말기는 HDML을 사용하기도 했지만, 대부분은 HTML의 서브셑을 사용해 오고 있다.
■다만 CSS가 지원이 안되는 단점으로 인해 표현에 제한이 있다.

3. XHTML지원

■최근의 핸드폰에서 채택되고 있다. 물론 최신 기종이라고 해서 모두 XHTML을 지원하는 것은 아니다. 회사에서 내가 테스트 하고 있는 핸드폰도 제대로 표현이 안된다.
■CSS가 지원된다. 따라서 디자인 표현이 다채로와 지고 있다.
■여기서 또다른 미묘한 대응이 필요하다. HTML과 XHTML을 모두 지원해야하므로 HTML파일을 작성시 지원하는 것이 HTML인지 XHTML인지를 명시 해 줘야 한다. Content-Type헤더와 DOCTYPE선언이 필요하게 된다.
4. 주요 차이점

■링크나 폼의 버튼에 핸드폰 키를 지정하여 한번 클릭으로 이동 할 수 있다. 예를 들어 1되어 있다면 키패드의 "1"을 눌러서 링크로 바로 이동 할 수 있도록 지원한다.
■table태그를 지원하지 않는 기종이 꽤 있다.
■강조문자(b)태그등은 기종에 따라 지원하지 않는 기종이 꽤 있다.
■input의 택스트 입력 태그에 입력모드(입력 문자 종류)를 지정할 수 있다. 일본은 영문, 반각/전각 히라가나, 반각/전각 가타가나등 몇가지 입력모드가 있다. 입력 모드를 직접 지정해 줌으로서 이용자가 편리하게 사용할 수 있도록 해 준다.
■핸드폰의 고유 식별 코드나 GPS위치 정보등을 제공하기 위해 이동통신사 별로 독자적인 태그나 속성을 정의해서 사용하고 있다.
5. PC웹사이트와 공통적으로 사용되는 HTML 태그들

■텍스트용 : br, div, span, p, font, center
■링크와 이미지 : a, img
■폼 : form, input, select, option, textarea
6. 화면 크기

■보통 폭이 240픽셀 정도를 가정하고 화면 설계를 하는 경우가 많다. 1행에 20~30자 정도 들어가기 때문에 웹디자이너들이 상당히 짜증나게 하기도 한다.

7. 문자 인코딩 문제

■한국은 웹사이트의 경우 "EUC-KR"또는 "UTF-8"에 대응하면 되지만, 일본은 PC 웹사이트의 경우는 "Shift_JIS", "EUC-JP", "UTF-8" 그리고 "ISO-2022-JP"를 지원하고 있다. 모바일의 경우는 최근 들어 "UTF-8"도 지원하는 핸드폰이 나오고 있지만, 안전하게 서비스 하기 위해서는 "Shift_JIS"에 맞추는 것이 좋다.

8. 지원하는 이미지 형식

■핸드폰의 기종에 따라 지원하는 이미지 형식이 다르다. 따라서 서버에서 기종을 체크하여 바꿔 줄 필요가 있다. 최근에 JPEG과 GIF를 모두 지원하는 경우가 늘어가고 있기는 하다.

9. 페이지 용량

■한국의 모바일 사이트도 마찬가지 있겠지만, 한정된 네트워크에서 한 페이지의 크기는 서비스에 상당한 영향을 준다. 일본 모바일 사이트의 경우도 용량에 제한이 엄격하다. 유명한 사이트조차 용량 초과로 인해 핸드폰에서 화면 표시가 중단되는 경우가 자주 있다. 용량의 제한은 이동통신사 별로 차이가 있어 5KB~100KB(이미지포함)정도에 맞추고 있다.

10. 그림문자

■일본 모바일 사이트의 특징 중에 그림문자(絵文字)라는 것이 있다. 특수기호 같은 것인데, 일본 사람들은 그림 문자를 상당히 좋아하고 활용하고 있기 때문에 웹사이트에서 지원이 안된다고 한다면 이용자들로부터 외면 당하기 쉽다.
■사이트 개발에 있어 상당히 골치 아픈 것 중의 하나가 그림문자 지원이다. 이동통신사 별로 지원하는 코드가 다르기 때문인데, 서버에서 어느 이통사이냐를 체크해서 매번 바꿔줘야만 한다. 혹여 PC 웹사이트와 데이터가 공유된다면 PC용으로 변환하는 것도 꼭 필요하다.
11. Javascript사용 불가

■풀브라우징이 아닌 이상 지원하는 핸드폰은 없다. 구글 analytics도 모바일 용으로 따로 최근에 코드를 제공하기 시작했다.


12. 쿠키 사용 불가

■대부분 쿠키 저장을 허용하고 있지 않다. 기종에 따라 쿠키를 사용할 수 있기는 하지만, 없다고 가정하고 개발하는 것이 마음 편하다.
13. 플래시 지원

■플래시를 지원하는 기종이 늘고 있다. 일반적으로 폭 넓게 지원하는 플래시의 버젼은 FlashLite1.1이다. 업그레이드 된 버젼도 있지만, 1.1버젼에 맞추는게 일단은 안정적이라는 얘기가 있다.

간단히 이정도로 정리를 했다. 아주 세부적으로 정리를 한 것은 아니지만, 앞으로 정리하는데 도움이 될 것 같다.
별거 없게 보일 수도 있지만, 실제 개발 시 상당히 짜증(?) 나는 경우가 종종 있다.

다음부턴 좀 더 상세히 정리를 해 보자. ^.^
(그런데 아이폰 모노터치 정리는 어떻게 하고...이걸 하고 있나...참...)


출처 : http://neojjang.egloos.com/2201789

Tuesday, August 10, 2010

{8CFEBA94-3FC2-45CA-B9A5-9EDACF704F66}

log parser error
Hi Guys,

I have never used log parser before.. well I am getting this error now.. i don't know the reason..

Retrieving the COM class factory for component with CLSID {8CFEBA94-3FC2-45CA-B9A5-9EDACF704F66} failed due to the following error: 80040154.

can ya help me out with this.. :)

Question by: Preetham

Answer
The error code means the class in not registered. Running the following command will probably solve the problem:

regsvr32 \LogParser.dll
If you move the DLL around (install it with your app, for instance), you'll have to repeat the call each time. Or, if you'd like to install it from your app, you can call the exported DLLRegisterServer, which is what regsvr32 calls.

Answer by: eran
This question originated from: stackoverflow.com