‘HD+’ 란?

HD+ is a package of high definition digital satellite TV channels for German-speaking viewers and (as HD PLUS GmbH) the company providing that package, based in Unterföhring near Munich, Germany. HD PLUS is a subsidiary company of SES Astra, itself a subsidiary of SES based in Betzdorf, Luxembourg.

HD+ provides a broadcast platform from satellites at the Astra 19.2°E position, independent from TV operators, for channels outside of the established pay-TV networks, such as Sky Deutschland.

 

채널

The HD+ service launched on November 1, 2009 with two channels, RTL and Vox, and Sat.1Pro7 and kabel eins were added in January 2010. Other German free-to-air HD channels broadcasting from Astra 19.2°E such as ARDArte, and ZDF can also be received with the same receiver used for HD+ and also with any independent free-to-air HD receiver.

 

출처: http://en.wikipedia.org/wiki/HD%2B#HD.2B_Channels

 

 

‘HbbTV’(Hybrid Broadcast Broadband Television) 란?
위성, 케이블, 지상파 등 기존의 방송과 광대역 인터넷 접속을 통한 인터렉티브 디지털TV 서비스 제공을 목적으로 지난 2009년 2월 만들어진 유럽의 하이브리드 방송 기술 표준이다. 이 컨소시엄에는 카날+(Canal+), 프랑스텔레비젼(France Televisions), TF1 등의 방송사와 위성사업자 SES ASTRA, 소트트웨어 및 미디어 솔루션 업체인 ANT, Open TV, 가전 업체로는 휴맥스, 필립스 등이 참여하고 있다

 About HbbTV.ppt

 trev_2010-Q1_HbbTV.pdf

 EBU–TECH 3338.pdf

 

product:

Humax iCord HD+ Hybrid Satellite Receiver

VideoWeb 600S Hybrid Satellite Receiver

 

참고: http://www.humaxdigital.com/korea/newscenter/news_091118.asp

 

[추가1]

HbbTV 는 Hybrid broadcasting broadband TV 의 약자로서 방송신호를 통해서는 방송을 발송하고 인터넷에 연결된 유선을 통해서는 웹기반의 컨텐츠를 전송하는 형식이다. 그리고 사용자는 원하면 웹브라우저를 구동하여 인터넷에 접속할 수 도 있고 사업자가 제공하는 인터넷 컨텐츠들도 접할 수 있는 방송과 인터넷 컨텐츠가 융합된 형태의 서비스를 즐기게 된다. Hbbtv 에서 가장 중요한 부분은 IPTV 와 셋탑박스에서 브라우저가 중추적인 Layer 를 담당한다는 데 있다. 서비스 UI가 웹으로 제작이 되고 웹을 통해 하드웨어 모듈을 통제하는 방식이며 이 방식은 우리가 익숙한 Javascript 를 이용하면 된다. Hbbtv또한 유럽 방송사들과 국내 가전사들이 표준화 작업을 진행중인 사항이며 점차 국내에도 확산될 것으로 생각된다. 



 


event.stopPropagation(), event.preventDefault () 이해하기

 

TestEventHandler.html


 

event.stopPropagation() 을 이해하기 위해서는 우선 HTML 상에서 사용자 이벤트가 어떻게 전달되는지 이해해야 합니다.


웹에서의 클릭이벤트 전파

propagation 의 사전적의미는 전파, 확산입니다. 

사용자가 마우스로 웹페이지 내의 버튼을 클릭했을때 대부분의 사람들은 버튼만 반응했다고 생각하게 됩니다. 하지만 웹페이 내부에서는 

버튼을 감싸고 있는 부모 태그들 또한 클릭 이벤트에 반응하게 됩니다. 이것을 Bubble Up(버블업)이라고 합니다.

 

 

위 슬라이드 우측의 문서구조를 보면 a 태그는 li, ul 의 두개의 부모태그가 있습니다.

사용자가 a 태그를 클릭했을때 클릭이벤트는 a 태그를 감싸고 있는 li, ul 태그로 순차적으로 전달되게 됩니다. 

즉 a 태그의 onclick  -> li 태그의 onclick  -> ul 태그의 onclick 을 실행하게 됩니다.

만약에 ul 태그에 클릭 이벤트가 있을 경우 a 태그를 클릭하는 순간에는 의도하지 않은 ul 태그의 클릭 이벤트가 실행됩니다.


예를 들어 설명하면

이웃집에서 이사를 와서 바로 옆집에 살고 있는 철수네 집에 떡을 돌렸다고 칩시다. 철수는 떡을 받고 기쁜 나머지 아버지에게 가져다 줍니다. 철수 왈 "아버지 옆집에서 새로 이사를 왔다고 맛있는 떡을 주고 갔어요~" 철수는 효심이 지극했습니다. 철수 아버지 또한 효심이 지극하여 받자 마자 바로 철수 할아버지에게 떡을 가져다 줍니다. 철수 아버지 왈 "아버님 옆집에서 새로 이사를 왔다고 맛있는 떡을 주고 갔습니다." 이렇게 3부자는 떡을 오손 도손 나눠 먹게됩니다.

그런데 옆집에서 철수에게 떡을 주면서 "이 떡은 꼭 너 혼자만 먹어야 한다" 라고 말하면서 철수에게 떡을 주었다면... 철수는 혼자 먹습니다. 효심보다는 떡에 눈이 멀었던 거죠...

 

이때 혼자만 먹어라는 의미를 stopPropagation 이라고 합니다.


즉, stopPropagation 은 부모태그로의 이벤트 전파를 stop 중지하라는 의미입니다.

 

event.preventDefault() 는?

preventDefault 를 이해하기 위해서는 a 태그를 유심히 봐야 합니다. 위 슬라이드에 표시된 a 태그는 내부적으로 href="#" 속성을 가지고 있습니다. href 속성은 웹브라우저에게 a 태그 클릭시 이동하여야할 페이지를 나타냅니다.

예를 들면) <a href="http://ismydream.tistory.com" onclick="...">창조적고찰 블로그</a> 처럼 사용합니다.

 

위 a 태그는 click 이벤트 또한 가지고 있기 대문에 a 태그를 클릭했을 때는 두가지 행동을 하게 됩니다.

첫번째 click 이벤트를 실행합니다. 두번째는 브라우저에게 href 에 표시된 곳으로 이동하도록 합니다.

 

href="#" 속성을 넣은 이유는 a 태그에는 click 이벤트가 있으니 click 이벤트만 실행하고 웹브라우저는 이동하지 말아라 하는 의도로 설정한 값입니다. 이렇게 하게 되면 클릭시에는 click 이벤트만 실행되고 웹브라우저가 이동하지는 않게 됩니다. 제가 생각하기에는 좀 꼼수 같기도 합니다.

 

근데 여기서 한가지 주의해야 할 점이 있습니다. href="#" 은 웹브라우저가 다른 곳으로 이동하지는 않지만 스크롤이 있는 곳에서는 페이지 상단으로 이동하게 됩니다. href="#~~~" 으로 사용하는것을 앵커(닻) 라고 하는데 href="#" 은 웹브라우저의 최상단을 가리키는 앵커입니다.

 

글을 작성할때나, 회원가입을 할때 버튼 한번 클릭할때마다 페이지가 쭉 위로 올라가는 경험을 해보신분들은 그 짜증스러움을 익히 아시리라 생각합니다. ㅠㅠ

 

이 브라우저 행동을 막기위해서 사용하는게 preventDefault 입니다.


preventDefault 는 a 태그 처럼 클릭 이벤트 외에 별도의 브라우저 행동을 막기 위해 사용됩니다.


출처 : http://ismydream.tistory.com/98

'Programming > JavaScript' 카테고리의 다른 글

[typescript] Cannot use JSX unless the '--jsx' flag is provided.  (0) 2020.12.10
[JAVASCRIPT] replace  (0) 2013.05.08


Git 명령어 정리
카테고리명령어설명
환경설정git config --global --list현재 설정정보 조회 
--global옵션은 전역설정에 대한 옵션이며 현재 프로젝트에만 적용할때는 주지 않음
git config --global user.name "사용자명"사용자명을 등록 (필수)
git config --global user.email "이메일주소"이메일 주소를 등록 (필수)
git config --global color.ui "auto"터미널에 표시되는 메시지에 칼라를 표시해줌
git config --global core.editor "vim"기본 편집 툴을 vim으로 설정함
git config --global merge.tool "vimdiff"머지 툴을 vimdiff로 설정함
기본 명령어git --version현재 git의 버전을 확인
git init현재 디렉토리에 git 저장소를 생성
git add [파일명]git add는 2가지를 하는데 untracked files의 파일들을 git가 추적하도록 하거나 
파일은 수정했지만 아직 스테이징 영역에 올라가지 않은 파일들을 스테이징 영역에 올림 
-i 옵션을 주면 대화형모드가 시작되며 파일의 일부분만 선택해서 스테이징하는 것이 가능
-p 옵션을 사용하면 -i 대화형모드없이 바로 패치모드를 사용할 수 있음
git commit -m "커밋메시지"스테이징 영역에 올라가 있는 파일들을 커밋
-m 은 커밋메시지를 주는 옵션으로 여러 줄의 커밋메시지를 쓸 경우 -m 을 여러개 사용할 수 있음
-a 옵션을 사용하면 스테이징에 올리는 작업과 커밋을 동시에 할 수 있음
(추적되지 않는 파일은 추가하지 않음) 
-m을 사용하지 않을때 -v옵션을 사용하면 편집기에 커밋하려는 변경사항의 다른점을 보여줌
특정파일만 커밋하려면 마지막에 파일명을 추가해주면 됨
git commit -C HEAD -a --amend지정한 커밋의 로그메시지를 다시 사용하여 기존커밋을 수정함
-c를 사용하면 기존메시지를 수정할 수 있는 편집기를 실행해 줌
git status커밋되지 않은 변경사항을 조회
git diff스테이징영역과 현재 작업트리의 차이점을 보여줌 
--cached 옵션을 추가하면 스테이징영역과 저장소의 차이점을 볼 수 있음
git diff HEAD를 입력하면 저장소, 스테이징영역, 작업트리의 차이점을 모두 볼 수 있음 
파라미터로 log와 동일하게 범위를 지정할 수 있으며 
--stat를 추가하면 변경사항에 대한 통계를 볼 수 있음
git mv [파일명] [새파일명]기존에 존재하는 파일을 새파일로 이동함. 변경이력은 그대로 유지
git checkout -- [파일명]아직 스테이징이나 커밋을 하지 않은 파일의 변경내용을 취소하고 이전 커밋상태로 돌림
svn에서 revert와 동일
Branch와 Taggit branch현재 존재하는 브랜치를 조회.
-r 옵션을 사용하면 원격저장소의 브랜치를 확인할 수 있음
git branch [브랜치명B] [브랜치명A]브랜치명A에서 새로운 브랜치 브랜치명B를 만듬
(git에서 기본 브랜치는 master라는 이름을 사용)
git branch [브랜치명]브랜치명의 새로운 브랜치를 만듬
(체크아웃은 하지 않음)
git branch -d [브랜치명]브랜치를 삭제
git branch -m [존재하는브랜치명] [새로운브랜치명]존재하는 브랜치를 새로운브랜치로 변경함
이미 존재하는 브랜치명이 있을 경우에는 에러가 나는데 
-M 옵션을 사용하면 이미 있는 브랜치의 경우에도 덮어씀
git tag [태그명] [브랜치명]브랜치명의 현재시점에 태그명으로 된 태그를 붙힘
git tag만 입력하면 현재 존재하는 태그 목록을 볼 수 있음
git checkout [브랜치명/태그명]해당 브랜치나 태그로 작업트리를 변경함
git checkout -b [브랜치명B] [브랜치명A]브랜치명A에서 브랜치명B라는 새로운 브랜치를 만들면서 체크아웃을 함
git rebase [브랜치명]브랜치명의 변경사항을 현재 브랜치에 적용함
git merge [브랜치명]브랜치명의 브랜치를 현재 브랜치로 합침
--squash 옵션을 주면 브랜치명의 모든 커밋을 하나의 커밋으로 만듬
git cherry-pick [커밋명]커밋명의 특정 커밋만을 선택해서 현재 브랜치에 커밋으로 만듬
-n 옵션을 주면 작업트리에 합치지만 커밋은 하지 않기 때문에 여러개의 커밋을 합쳐서 커밋할 수 있음
로그 관리git log커밋로그들을 볼 수 있으며 
-1나 -2같은 옵션을 주어 출력할 커밋로그의 갯수를 지정할 수 있음
--pretty=oneline 옵션을 주면 한줄로 간단히 보여주고 
--pretty=format:"%h %s"처럼 형식을 정해줄 수 있음
-p 옵션을 사용하면 변경된 내용을 같이 보여줌
--since="5 hours" 이나 --before="5 hours"같은 옵션도 사용가능
--graph 옵션을 주면 브랜치 트리를 볼 수 있음
git log [커밋명]해당 커밋명의 로그를 볼 수 있음
커밋명A..커밋명B (마침표2개)와 같이 입력하면 커밋명A이후부터 커밋명B까지의 로그를 볼 수 있음
^은 -1과 동일해서 HEAD^라고 하면 최신바로 이전 커밋이고 
HEAD^^^와 같이 쓸 수 있으며 
HEAD~3을 하면 HEAD의 3개 이전의 커밋을 뜻함
git blame [파일명]갈 줄 앞에 커밋명과 커밋한 사람등의 정보를 볼 수 있음
git blame -L 10,15 [파일명] -L 옵션을 사용하면 10줄부터 15줄로 범위를 지정해서 볼수 있고 
15대신 +5와 같이 사용할 수 있음
숫자의 범위 대신 정규식도 사용이 가능함
git blame -M [파일명] -M 옵션을 사용하면 반복되는 패턴을 찾아서 복사하거나 이동된 내용을 찾아줌
-C -C 옵션을 사용하면 파일간의 복사한 경우를 찾아줌
-C -C는 git log에서도 사용가능하며 내용의 복사를 찾을때는 git log에서 -p옵션을 사용함
git revert [커밋명]기존의 커밋에서 변경한 내용을 취소해서 새로운 커밋을 만듬
-n옵션을 사용하면 바로 커밋하지 않기 때문에 revert를 여러번한 다음에 커밋할 수 있음
(항상 최신의 커밋부터 revert해야 함)
git rebase -i 커밋범위 -i옵션으로 대화형모드로 커밋 순서를 변경하거나 합치는 등의 작업을 할 수 있음
원격저장소git clone [저장소주소] [폴더명]원격저장소를 복제하여 저장소를 생성
폴더명은 생략가능
git fetch원격저장소의 변경사항을 가져와서 원격브랜치를 갱신
git pullgit fetch에서 하는 원격저장소의 변경사항을 가져와서 지역브랜치에 합치는 작업을 한꺼번에 함
파라미터로 풀링할 원격저장소와 반영할 지역브랜치를 줄 수 있음
git push파라미터를 주지 않으면 origin 저장소에 푸싱하며 현재 지역브랜치와 같은 이름의 브랜치에 푸싱함
--dry-run 옵션을 사용하면 푸싱된 변경사항을 확인할 수 있음
로컬에서 tag를 달았을 경우에 기본적으로 푸싱하지 않기 때문에 
git push origin 태그명이나 모든 태그를 올리기 위해서 git push origin --tags를 사용해야 함
git remote add [이름] [저장소주소]새로운 원격 저장소를 추가함
git remote추가한 원격 저장소의 목록을 확인할 수 있음
git remote show [이름]해당 원격 저장소의 정보를 볼 수 있음
git remote rm [이름]원격저장소를 제거
서브모듈git submodule연관된 하위모듈을 확인할 수 있음
git submodule add [저장소주소] [서브모듈경로]새로운 하위모듈을 해당경로에 추가
추가만하고 초기화는 하지 않으며 커밋 해쉬앞에 마이나스(-)표시가 나타남
git submodule init [서브모듈경로]서브모듈을 초기화 함
git submodule update [서브모듈경로]서브모듈의 변경사하아을 적용함
(저장소의 최신커밋을 추적하지 않음)
기타 명령어git archive --format=tar
 --prefix=폴더명/ [브랜치혹은태그] | gzip > 파일명.tar.gz
해당 브랜치나 태그를 압축파일로 만듬
--prefix를 주면 압축파일이 해당폴더안에 생성되도록 할 수 있음
git archive --format=zip
 --prefix=폴더명/ [브랜치혹은태그] > 파일명.zip
git mergetool설정에 merge.tool의 값에 있는 머지툴을 찾아서 실행
git gc저장소의 로그를 최적화 함
로그가 변경되지는 않고 저장하는 방식만 최적화 함
--aggressive 옵션을 주면 더 자세하게 최적화 함
git rev-parse --show-toplevelgit 저장소내에서 입력하면 루트디렉토리를 알려줌


- 출처 : http://blog.outsider.ne.kr/572 

+ Recent posts