플래시에서 외부 데이터와 연동작업을 하다 보면 한글이 깨지는 경우가 많습니다. 기본적으로 윈도우에서 작업을 하게 되면 거의 대부분이 이러한 문제를 겪게 될 것 입니다. 네이버 같은 곳에서 검색을 해 보면 아래와 같은 해결책을 제시하는 글들이 많습니다.

System.useCodepage = true; // 한글 깨짐 방지


위와 같은 코드를 플래시 처음에 넣으면 한글이 안 깨진다고 하는 글들이 많습니다. 그리고 실제로 윈도우 환경에서는 한글이 제대로 나옵니다. 하지만 이는 매우 잘못된 방법입니다.

정확한 버전은 기억이 안나는데 MX때인가 플래시의 내부가 유니코드를 사용하게 변경된 적이 있습니다. 저 코드도 그때 추가된 구문일텐데요. 플래시에서 useCodepage의 기본값은 false이고 이 상태에서는 플래시가 유니코드를 사용해서 데이터를 처리합니다. 과거의 시스템 인코딩을 따라가는 방식이 너무 문제가 많았기 때문에 유니코드 방식으로 변경된 것인데, 한국에서 만들어지는 대부분의 플래시들이 아직까지도 새로운 방법을 따르지 않고 위의 코드를 삽입하여 예전의 구식 방법을 사용하고 있습니다. 게다가 대다수의 사람들이 이 방법을 완적한 해결책인 것으로 생각하고 있습니다. 이 방법은 한국어 설정이 되어 있는 윈도우에서만 한글이 정상적으로 나오는 아주 잘못된 방법입니다. 지역 설정이 한국으로 되어 있지 않은 윈도우나 유니코드 기반으로 되어 있는 리눅스와 맥에서는 한글이 깨져서 나오게 됩니다.

앞으로는 저러한 방법으로 구식코드 사용을 강제하지 말고, 데이터 자체를 유니코드로 사용하는 것을 권장합니다. 유니코드를 사용하려면 윈도우 환경에서는 유니코드를 지원하는 에디터가 필요합니다. 드림위버나 에디트 플러스2 같은 에디터들이 유니코드를 지원합니다.

드림위버에서는 "파일 - 새파일" 메뉴에서 XML을 선택해서 새 XML파일을 만들고 "수정 - 페이지" 속성 메뉴에서 문서 인코딩을 유니코드로 선택하면 됩니다. 에디트 플러스2에서는 새 파일을 생성하고 이 문서를 우선 저장합니다. 그리고 "Document - Reload As"를 선택하여 UTF-8을 선택해서 문서를 다시 로드하면 에디트 플러스2 우측 하단에 UTF-8이라고 표시된 것을 보실 수 있습니다. 윈도우 기본 에디터인 메모장(notepad)역시 유니코드를 사용할 수 있습니다. 저정할 때에 인코딩을 UTF-8로 선택해 주면 됩니다.

최근에 이와 동일한 문제로 싸이월드 홈2 쪽에 화면까지 캡춰해서 문의를 보낸적이 있는데 CR팀과 개발팀 모두 이러한 쪽을 너무 모르더군요. 4~5차례 메일로 내용을 주고 받다가 CR팀이 너무 안일하게 응대를 해줘서 그냥 관뒀던 기억이 납니다. (지금 확인해 보니 문제가 해결이 됐군요.)

이 내용을 널려 알려서 앞으로는 잘못된 방식으로 플래시를 만들지 말고 보다 나은 방법으로 플래시를 만들 수 있도록 해 주세요.

참고 : Working with Multiple Languages
by Anna 안나 2009. 1. 2. 12:37
btn.onRollOver = function() {
onEnterFrame = null;
play();
}

btn.onRollOut = function() {
onEnterFrame = function() {
prevFrame();
}
by Anna 안나 2009. 1. 2. 12:35
우선 버튼 심벌을 만듭니다.. 그리고 속성창에서 이름을 btn 이라고 적어 주세요(btn 은 예를 든 것입니다.) 그리고 버튼에 오버 했을때 실행될 무비클립을 만드세요~ 이름은 over_movie 라고 하죠. btn 과 over_movie 이 있는 프래임의 타임 라인에 레이어를 추가하고 추가한 레이어의 프래임중에 btn 과 over_movie 이 나오기 시작하는 프래임에 다음의 스크립트를 넣어 줍니다.. //마우스 오버 btn.onRollOver = function() {
this._parent.over_movie.over = "over";
} // 마우스 롤 아웃
btn.onRollOut = function() {
this._parent.over_movie.over = "out";
} 위 스크립트는 타임 라인에 들어가야 합니다. 다음에는 over_movie 무비클립을 선택 하시고 다음 스크립트를 삽입 하세요. //무비클립이 로드 되었을때.. onClipEvent (load) {
this.over = "out";
} // 무비클립이 보이는 동안 반복적으로 계속 실행.
onClipEvent (enterFrame) {
if(this.over == "out"){
prevFrame();
}else if(this.over == "over"){
nextFrame();
}
} 위 스크립트는 무비 클립에 넣어야 합니다..
by Anna 안나 2009. 1. 2. 12:34
건망증 멀티팩 스티커 후기입니다.
아래로 가주세요~
http://blog.praday.com/94
by Anna 안나 2008. 12. 31. 14:26
오프 스터디에서 발표한 내용을 너무 늦게 올려서 죄송합니다. embededFonts 를 사용한 TextField , TextArea , TextInput 폰트 관리 하는 방법 입니다. var hyfont:Font = new HYKANG(); // 할 필요 없음 var format:TextFormat = new TextFormat();format.font = hyfont.fontName; // format.font = "폰트이름"; 으로 대체 가능format.bold = true;format.size = 15; atxt.text = "플래시 액션스크립트 카페, 정기 스터디 모임, 우왕 굿"; // TextArea atxt.setStyle("antiAliasType", AntiAliasType.ADVANCED);atxt.setStyle("embedFonts", true);atxt.setStyle("textFormat",format); itxt.text = "플래시 액션스크립트 카페, 정기 스터디 모임, 우왕 굿"; // TextInputitxt.setStyle("antiAliasType", AntiAliasType.ADVANCED);itxt.setStyle("embedFonts", true);itxt.setStyle("textFormat",format); dtxt.text = "플래시액션스크립트 카페, 정기 스터디 모임, 우왕 굿"; // TextFielddtxt.antiAliasType = AntiAliasType.ADVANCED;dtxt.embedFonts = true;dtxt.setTextFormat(format); 보통 한글 폰트를 embed 없이 사용하면 깨짐 현상이 발생하는데 그 현상을 없애주는 방법 입니다. 라이브러리 - > New Font - >Name : 자신이 확인가능한 이름 Fonts : embed 하고 싶은 폰트 이렇게 라이브 러리에 새로운 폰트를 만든후에 그 해당 폰트를 적용 시켜 주면 깨짐이 없이 컴파일이 됨니다. Properties 창에 있는 Embed... 버튼으로 적용해 줄수 있지만, 동적으로 TextField 나 TextArea , TextInput 을 생성했을때는 위와 같은 방법으로 사용하여야 합니다.
by Anna 안나 2008. 12. 29. 01:52
provenance 참조
by Anna 안나 2008. 12. 29. 01:45

* 쿠키폰트 http://kcookie7.ivyro.net * 소야폰트 http://soya.sumgim.net* 포티폰트 http://poty.pe.kr
* 엔터폰트 http://typoenter.net* 엽토군 http://jeongjache.wo.to 김어진정자,엽토체* 화이트데이 http://white-day.pe.kr* 해코폰트 http://flancho.ce.ro 플란초 외 만년필, 라일락(웹폰트형식만 배포)* 폰트포유 http://font4u.com 참사랑가나다, 참사랑러브레터, 참사랑우유병등등..* nontoxic http://nontoxic.cherilove.co.kr 한글폰트는 배포중지하셨음 , 영문비트맵 nontoxic시리즈 배포중* seevaa http://seevaa.byus.net/zbbs/zboard.php?id=sf seevaa9 * 글꼴이름옆의 숫자는 포토샵에서 최적화된 크기를 말하는겁니다. (해상도 72기준) 제작자의 홈페이지를 찾을 수 없는 폰트들 혹시 주소 아시면 답글 좀 달아주세요.
무료웹폰트 알고보면 예쁜것들 참 많은데 몰라서 못쓰고 계신분들께 도움이 되었음 좋겠네요
회원제.레벨제로 다운로드 받을 수 있는 웹폰트들도 많이 있습니다.성격급하신분들은 skip해주시고요. 제작자분들 홈페이지에서 폰트를 다운받게 되거든감사하다는 인사정도는 남겨주시는게 예의인거 같네요.몇몇 빠진 폰트들도 있습니다. 참고하세요~
by Anna 안나 2008. 12. 29. 01:44
윈도와 달리 맥의 한글 환경은 아쉬운 점이 많습니다. 맥에서 한글을 읽고 쓰는데 장애는 없지만 그래도 많은 분들이 한글입력기와 기본 한글 글꼴에 대해 불만을 토로하고 있습니다.
입력기와 폰트 문제는 당연히 애플코리아에서 힘써야 하는 일인데 아직 이렇다할 성과를 보여지주 않고 있는 가운데 개인 개발자의 노력으로 하늘입력기, 바람입력기 등이 기본입력기의 부족한 부분을 채워주고 있습니다. 그리고 여기에 추가하여 기본 글꼴인 애플고딕 폰트를 대신할 수 있는 다양한 공개글꼴이 있어서 소개해 드립니다.
공개 글꼴 안내 및 다운로드 페이지 한겨레 결체 조선일보 명조체 Naver 사전체 Naver 나눔글꼴 (→ 리눅스용 패키지) Daum 다음체 아모레퍼시픽 아리따체 서울시 서울서체 순천향대학교 순천향체 QuarkXPress 6.5K용 Korea OpenType Font 6종
한겨레신문에서 배포하는 한결체는 당시 큰 이슈가 되었고, 조선일보 명조체는 언론사에 대한 비판적 시각과 별개로 글꼴 자체는 마음에 들더군요. 아리따체는 오래전부터 맥 유저들 사이에 사랑받아 온 서체이고, 비교적 최근 배포된 서울체도 반응이 좋습니다. 네이버 사전체는 네이버에서 중국어 사전과 한글 고어를 잘 표현하기 위한 것이어서 살짝 다른 의미이고, 이번에 다음에서 배포한 다음체는 포털이 공개하는 첫 서체라는 점에서 기대가 큽니다. 쿼크를 판매하는 인큐브테크에서 배포하는 오픈타입 글꼴 6종도 꽤 괜찮습니다. 현재 LUV4US 블로그에서는 본문은 나눔고딕, 제목은 나눔명조 글꼴로 설정되어 있습니다. 해당글꼴이 설치되어 있다면 나눔글꼴의 깔끔함을 느끼셨을 것입니다. 혹시 윈도우 피씨에서 글꼴이 거칠고 날카롭게 보인다면 디스플레이 환경 설정에서 클리어타입을 활성화하면 부드럽고 깨끗하게 나타납니다. 맥은 기본적으로 클리어타입이 적용되어 있습니다.
공개 글꼴이기 때문에 각 언론사, 포털 등이 제시하는 규정에만 맞게 사용한다면 누구나 무료로 이용할 수 있습니다.
by Anna 안나 2008. 12. 29. 00:48
산돌-폰트클럽
나눔명조, 나눔고딕, 한글아씨 구봉두리샘3종, 한글아씨 크로키2종, 한글아씨 그네, 한글아씨 나뭇가지, 한글아씨 세발자전거, 한글아씨 청둥오리, 한글아씨 테트리스 https://www.fontclub.co.kr/Community/FreeFonts.asp

폰트포유 웹폰트- 참사랑가나다9, 참사랑러브레터12, 참사랑박스체15, 참사랑우유병15
디자인글꼴- 순수아이, 산타할머니LMB / 영문글꼴12종
http://font4u.com/pds.html 신영복 엽서체(araea엽서체)
http://www.shinyoungbok.pe.kr/work/withsoop/board/zboard.php?id=storyfromsoop 윤폰트-한글상상체
http://yoonfont.co.kr/2008SS/ 네이버 나눔글꼴- 나눔고딕, 나눔명조
http://hangeul.naver.com/index.nhn?goto=fonts#fonts 다음-다음체
http://fontevent.daum.net/ 모아시스템-디컴즈
김제시체L,M 전라북도체L,M 웹폰트23종
http://www.moaa.co.kr/dcomzbbs/bbs/board.php?bo_table=download 이호석-은진체
은진구슬,은진반달, 은진방울, 은진, 은진낙서
http://packages.debian.org/unstable/x11/ttf-alee 은글꼴
은궁서, 은그래픽, 은돋움, 은디나루, 은바다, 은바탕, 은봄, 은신문, 은옛글, 은자모노벨, 은자모돋움, 은자모바탕, 은자모소라, 은타자, 은펜, 은펜흘림, 은필기, 은필기a http://kldp.net/projects/unfonts/ 초롱테크-초롱폰트
http://www.crfont.com/fp_korea/html/detail/no_charge_font.html 폰트릭스-RIX독도체, RIX필승코리아체
http://www.fontrix.co.kr/bbs/zboard.php?id=Download 이철수목판글꼴
FB이철수80-TL,TM,TB,M 90-TL,TM,TB,M 2000-TL,TM,TB,M 2001TM,TB,M
http://www.mokpan.com/Gift/font.asp 폰트나비-초코마우스체
http://fontnavi.com/shop/index10.php 기업전용서체----------------------------------- 아모레퍼시픽
아리따글꼴-아리따L,M,SB,B
http://www.amorepacific.co.kr/company/ci/font.jsp 서울서체
서울한강체L,M 서울남산체L,M,B,EB
http://design.seoul.go.kr/policy/data_view.php?id=63 한국스카우트연맹
http://www.scout.or.kr/headofficek/file/mycomputer/handwriting.asp 한국디자인진흥원
한길체-도로명판 및 건물번호판 상세설계 전용서체
http://www.designdb.com/kidp/DP_XXQX_notifyView.asp?nGubun=1&seqno=2790 조선일보체
http://font.chosun.com/ 세종대왕기념사업회 문화체육부 개발글자체 (쓰기 정체, 궁체 정자체, 쓰기 흘림체, 제목 바탕체, 제목 돋음체, 훈민정음체, 궁체 흘림체, 돋움체 한글, 바탕체 한글) http://sejongkorea.org/sub/sub05_03.php 연세대학교
연세제목체, 연세소제목체, 연세로고체
http://www.yonsei.ac.kr/contents/intro/font.html
한겨례결체
http://bbs.hani.co.kr/Board/ui_hkr_alim/Contents.asp?STable=ui_hkr_alim&RNo=56&Search=&Text=&GoToPage=1&Idx=56&Sorting=2 한국철도공사-코레일체
http://app.korail.go.kr/ROOT/cambo-view.cambo?page=15&programid=3&boardid=111&lang=kor&listnum=10&category=null
한국지역난방공사-한난체
http://www.kdhc.co.kr/kor/template/template.jsp?wid=CY0305000000
일산병원
http://www.nhimc.or.kr/info/info_01_s7_4.htm 옥션고딕(L,M,B) http://event.auction.co.kr/event2008/12/GoodBye2008/?frm=widescreen8#anchor_2 웹폰트(비트맵, 픽셀폰트)-------------------------------- 소야홈-소야폰트(웹폰트)
http://soyafont.com/ 화이트데이체(웹폰트)
http://wtdy.kr/tt/notice 포티폰트(웹폰트)
http://poty.pe.kr/ seevaa9(웹폰트)
http://www.seevaa.net/15
by Anna 안나 2008. 12. 29. 00:47
쓰이는 것은 정의하는데에 따라 다르겠지만 제가 알고 있는 몇 안되는 것을 적어봅니다. Α α →알파(ALPHA) Β β →베타(BETA) Γ γ →감마(GAMMA) --> 위의 세 문자에서 소문자는 방정식의 근을 나타내는 것으로 많이 쓰이고 공간도형에서 평면을 나타내기도 하고, 방사선의 종류로 쓰이기도 합니다. Δ δ →델타(DELTA) --> 소문자는 근으로 많이 쓰이며 대문자는 미분에서 변화량을 나타낼 때 주로 쓰입니다. Ε ε →입실론(EPSILON) --> 소문자 형태는 극한을 엄밀하게 정의할 때, 아주 작은 미세한 값을 뜻할 때 주로 쓰입니다.. Ζ ζ →제타(ZETA) Η η →에타(ETA) Θ θ →쎄타(THETA) --> 소문자는 주로 삼각함수에서 각을 나타낼 때 주로 쓰입니다.. Ι ι →이오타(IOTA) Κ κ →카파(KAPPA) Λ λ →람다(LAMBDA) --> 물리에서 주로 파장을 표현할 때 씁니다. Μ μ →뮤(MU) --> 수학에서 모집단의 평균으로 많이 나타냅니다. Ν ν →뉴(NU) Ξ ξ →크사이(XI) Ο ο →오미크론(OMICRON) --> 알파벳의 'o'와 비슷해서 거의 안 씁니다. Π π →파이(PI) --> 소문자는 주로 원주율을 나타내고 대문자는 곱하기의 기호로 많이 씁니다. Ρ ρ →로우(RHO) Σ σ →시그마(SIGMA) --> 대문자는 더하기의 기호로 많이 쓰고, 소문자는 모집단의 표준편차를 많이 나타냅니다. Τ τ →타우(TAU) Υ υ →웁실론(UPSILON) Φ φ →화이(PHI) --> 대문자는 주로 공집합을 표현하고 소문자는 함수로도 표현합니다. Χ χ →카이(CHI) Ψ ψ →프사이(PSI) Ω ω →오메가(OMEGA) --> 그리스문자의 마지막 글자이다. 대문자는 저항의 크기를 표현하고, 수학에서는 x^3 =1 의 한 허근을 나타냅니다. 더 많이 사용되는 부분이 있는데 생각이 별로 나지 않는군요..
by Anna 안나 2008. 12. 27. 23:08
슈퍼액션히어로3 모든기술, 무기능력치 공략

슈퍼액션히어로3 기술공략
기본기술
- OK버튼이나 5버튼으로 되는 기술.
여러가지 조합이 있는데, 상하좌우와 같이 연타하시면 연속공격이 나갑니다.

크리티컬
- OK버튼이나, 5버튼 그리고 상하좌우를 적절하게 누르시면, 크리티컬 이팩트가 생기면서 크리티컬기술이 나갑니다. 화면상에선 기본기술과, 크리티컬 기술이 별차이 안나는것 같지만, 실제로는 많은 차이를 보여줍니다. 벽뿌에서 정말 필요하므로, 연습이 중요!

크리티컬히트
- 크리티컬을 쓰면서, 연속기가 가능한 상하좌우키를 누르면 나가는 기술입니다.
그냥 크리티컬보다 훨씬 어렵습니다. 게임에선 튜토리얼 빼면 별 쓸모없고, 시간낭비이므로, 그냥 크리티컬을 쓰시는것을 추천합니다^^

가드브레이크
- 전작과 달리 방패를 들고 나오는 적들이 있는데, 이런경우 ↓버튼을 누르고 있다가 ↑버튼을 누르는 것으로 방패를 파괴시킬수 있습니다. 이것도 타이밍이 중요하므로 연습이 필요합니다. 그러나, 별 쓸모 없다는...

무기사용법
- 적을 OK버튼(5)으로 한대 때리고, ↑버튼을 눌러 뛰운뒤에 공격버튼을 누르면 무기 공격을 합니다.

슈퍼액션히어로3 무기능력치 공략
무쇠칼 - 자이언트 변신 - 커지는거
메이스 - 불릿타입
자동소총 - 건슛 - 총을 쏩니다.
머신건 - 건슛 - "
황룡도 - 메테오
헬가이 글러브 - 어스퀘이크
티타늄실드 - 불릿타임
나이프 - 타이니 히어로 - 캐릭터가 조그만해집니다.
베오울프 갈귀 - 메테오 슛
대구경 권총 - 건슛
워엑스 - 장풍
시클 - 타이니 히어로 - 캐릭터 조그만해지는거.
배틀엑스 - 실드 브레이커
광선검 - 히어로 포스

슈퍼액션히어로3 점프버그
- 점프점프1에서 처음 시작하자마자, 하나 ?고 아래버튼으로 찍고 나서 계속 타고 올라가면 새로운 길 생겨요. 그거 타고 올라가면, 잘하면 별 100개에서 150개는 거뜬 합니다.^^

'게임 > 슈액히3' 카테고리의 다른 글

슈액히2 - 가면 얻는 법  (0) 2008.11.08
by Anna 안나 2008. 12. 27. 23:06
1. 산술 연산자

$a + $b : 덧셈, $a - $b : 뺄셈. $a * $b : 곱셈, $a / $b : 나눗셈
$a % $b : 나머지 2. 증감 연산자

++$a : $a를 1 증가한후 $a를 반환
$a++ : $a값을 먼저 반환하고 1을 증가
--$a : 1을 먼저 감소하고 $a를 반환
$a-- : $a를 먼저 반환하고 1을 감소 3. 비교 연산자

$a == $b : $a와 $b는 같다.
$a != $b : $a와 $b는 같지 않다. 4. 논리 연산자

$a &&(and) $b : 둘다 참이어야 참이다.
$a ||(or) $b : 둘중에 하나라도 참이면 참이다.
$a xor $b 결과값$c
T T F
T F T
F T T
F F F

!$a : $a가 참이면 거짓이고 $a가 거짓이면 참이다. 즉 not(아니다)연산이다. 5. 문자열 연결 연산자
- php에서는 문자열 연결 연산이 단하나만 존재한다. 문자열과 문자열을 연결할때는 기호 '.' 마침표를 사용한다.
asp에서는 '+','&' 문자열 연결 연산이 존재하지만, 되도록 '&'을 사용한다. 이유는 변수에 숫자가
저장되었을때 '+'연산을 사용하면 문자열을 연결시켜주는 것이 아니라 산술 연산인것으로 인식되어서
덧셈을 한다. 연산자 우선순위에서 산술연산이 문자열 연결 연산보다 우선하기 때문이다.
자바스크립트에서는 문자열 연결 연산 단하나만 존재한다. '+'를 문자열 연결연산으로 사용한다. 6. 대입연산자
- '='은 대입연산자이다. 이 기호는 좌우의 값이 같다라는 의미가 절대 아니다.
오른쪽 값을 왼쪽에 대입하라는 뜻이다. php에서 같다라는 연산기호는 '=='이다. 7. bit 단위 연산자
- 이 연산 비교는 반드시 십진수 숫자를 이진수로 바꿔서 비교해야 이해할 수 있따. * $a & $b : 둘 모두 이진수 1일때만 결과값이 1이 된다.
* $a | $b : 둘중의 하나라도 1이면 경과값은 1이 되고 둘다 0이면 0이다. 여기서 말하는 1은 논리값으로
true에 해당되고, 0은 false에 해당된다.
* $a ^ $b : 둘다 1과 0이면 결과값은 0이고 둘중의 하나라도 1이면 1이 된다.
* ~$a : 1인 것은 0, 0인것은 반대로 1이 된다. 우리가 ~이 아니다라는 것은 보수라는 개념으로 사용된다.
1의 보수는 0이고 0의 보수는 1이 된다. 보수는 반대 또는 아니다 라는 개념이다. * $a << $b : $a값을 $b만큼 왼쪽으로 이동한다.
* $a >> $b : $a값을 $b만큼 오른쪽으로 이동한다. 참고적으로 linux, nuix 운영체제에서 현재 디렉토리 경로를 보여주는 명령어는 pwd이다. 8. 제어문 중 조건문 if(조건문) {
참일때 실행
else {
조건문이 거짓일때 실행
}
if(조건문1) {
조건문1 참일때 실행
}
elseif(조건문2) {
조건문2가 참일때 실행
}
else {
해당조건문이 없을때... 즉 거짓일때 실행한다.
} if나 else문 다음의 문장이 한줄일때 {}를 안해도 에러가 나지 않는다. 하지만 반드시 두줄 이상일 때는 블록 단위를 묶여져야 하기 때문에 해줘야 한다. 되도록 {}를 하는 습관을 가져야 한다. -- 스크랩 해가실때 덧글은 기본입니다!
by Anna 안나 2008. 12. 26. 16:44
점점 게을러져 강좌 만들기를 소홀히 하고 있습니다. 오늘은 직접 만들어서 올리지 못하고, 갖고 있는 강좌를 하나 올리겠습니다. 작년 여름, 사진 관련 커뮤니티에 강좌를 올릴 일이 생겨, [기억 그리고 추억] 블로그(http://blog.naver.com/bigway22) 운영자에게 부탁한 강좌입니다. 설명에도 나온 것처럼, 비네팅 효과와 함께 색상을 좀더 선명하게 하는 방법을 배울 수 있습니다. 포토샵 입문자는 조금 어렵게 느껴질 수 있습니다. 그냥 이런 것도 있구나 하면서 보는 것도 좋을 듯 합니다.


by Anna 안나 2008. 12. 21. 23:35
provenance 참조
by Anna 안나 2008. 12. 21. 23:22
사랑 소윤 하영 혜윤 하은 명신 하린 채린 수지 지우 민경 은정 지윤 예린 연경 수민 슬기 새별 혜원 승주 태영 지수 유진 다은 희진 가연 기은 동은 채원 수빈 유민 수아 정연 연희 연실 윤아 채민 고은 인혜 미연 진희 다빈 현주 예은세빈 세리 효림 애린 혜리 주린 소윤 민혜 한래 예진 유리 안혜 수미 수아 아라 아리 채윤 채린1.미진 2.문영 3.도은 4.은상 5.선예 6.지수 7.주희 6.현지
by Anna 안나 2008. 12. 21. 23:22
모든 디자이너가 해야할 9가지 CSS 원칙 이라는 나름 재미있는 포스팅이 올라와 번역하여 소개한다.


이미 웹개발 UI가이드는 국내에도 많이 소개되어있고

웹표준 강의시에도 항상 나오는 이야기이다.


또한 네이버UI가이드(http://html.nhndesign.com/)가 공개됨으로써

많은 분들이 이곳을 참고하고 있기도하다.


네이버 UI가이드 역시 100% 완벽하지 않다.

갑론을박해야할 요소도 있긴 하지만

이정도 분량의 꼼꼼한 가이드을 공개한것 역시 네이버가 한일중에서는 정말 칭찬할 만한 일이라고

생각한다.



1. 하위선택자 사용에 따른 들여쓰기

필자의 견해 :
하위선택자를 사용했을때 이에 맞춰 들여쓰기를 하면 훨씬 코드 보기가 수월해진다.
이미 대다수의 홈페이지에서 이렇게 사용하고 있는 것같다.


2. 그룹화와 CSS의 주석

필자의 견해 :
의미있는 CSS끼리 그룹화 시키고 보기 쉽게 주석처리
물론 모든 네이밍작업이 그렇지만 CSS 네이밍도 사람들마다 조금씩 다르다
어떤이는 영어를 그냥 발음나는대로 영어로 옮기는 사람이 있는 반면에
영단어를찾아서 쓰는 사람이 있고
아니면 영어동사까지 포함해서 쓰는 사람도 있고
영문네이밍은 정말 사람마다 다양하다 이때 주석으로 이 부분이 어디에 해당하는 부분임을 명시하면
좀더 보기 수월한 코드가 된다.


3. 스타일 선언은 한줄에

필자의 견해 :
물론 CSS 코드가 길어지면
한줄에 하나의 속성만 지정하는 방식은 괜한 공백을 많이 잡아먹어서
용량이 커지기 때문에 불필요하지만
확실히 한줄에 하나의 속성만 적어놓는것이 가독성이 좋을때가 많다
때에 따라 둘을 적절히 사용하는 센스가 필요하겠다.

4. css 파일의 분리

필자의 견해 :
이곳의 예제에서는 layout.css, typography.css 등으로 css 파일을 분류하였는데
물론 이런식으로 분류도 있겠지만
나는 메뉴섹션별로(우리나라의 웹사이트는 대게 섹션별로 공통되는 디자인이 많다)
CSS파일을 구분하여 사용한다


5. 엘리먼트 초기화

필자의 견해 :
브라우저마다 엘리먼트의 default style일 틀리므로 반드시 초기화 할것.

6. 사용되는 색상코드를 한곳에 모아 적어 둔다

필자의 견해 :
확실히 도움되는 정보다
해당 웹사이트에서 주로 사용되는 폰트명과 폰트사이즈 컬러셋을 모아놓고 이를 미리 정의해두면
색상 가이드라인이 확실해질수 있겠다

실제로 프로젝트 경험에 의해 특정 콘텐츠마다 각각의 색상과 폰트와 line-height, 마진을 가진 경우를 보았다.
예를 들면 A에 관한 콘텐츠는 어떤 폰트와 어떤 색상을 사용하며 하단에 마진값 얼마를 반드시 가져야 한다. 이런종류.
이럴때 해당 프로젝트에 처음 투입되는 사람은 그러한 규칙이 이미 있는지 인수인계를 못받았을 확률도 많다.
이 때 이러한 규칙에 대해서 짤막하게(길게 주석으로 남긴다는 것은 절대 하지 말아야할것. 길게 주석을 적어 넣을바에야 차라리 ppt또는 문서 파일로 UI 가이드라인을 만드는게 낫다.) 적어 놓으면 갑작스럽게 관계자가 아닌사람이 UI를 수정한다거나 할때 좋은점도 있는 것 같다.




7. 의미있는 네이밍

필자의 견해 :
가장 중요하다
네이밍기법에 항상 언급되는 내용이지만
green 이라던지 left, right 등의 네이밍보다는
header, menu, nav, footer등의 의미있는 네이밍이 좋다.



8. 알파벳순서의 프로퍼티정의

필자의 견해 :
사실 나는 이부분은 찬성하지 않는다
자주쓰이는 속성 순서대로, 레이아웃에 영향을 많이 주는 순서대로 나열하는 것이
경험상 코드가독성에 아주 좋다.
알파벳순으로 나열하게 되면 정작 중요한 width같은 속성은 거의 맨뒤에 위치하게 되는데
이것보다는 중요한 순서대로 프로퍼티를 나열하는게 경험상 좋은것 같다.
필자는 display,position,float,width,height,padding,margin,border,background 순으로 사용한다
물론 이부분 역시 네이버UI가이드에서 사용빈도에 따른 프로퍼티 나열이 언급되어있다.



9. 유용한 css 클래스 유지

필자의 견해 :
유용한 css 클래스를 미리 정의하는 것은 아주 좋은 행위지만
이곳 예제에서는 width100이라던지 alignRight라던지
7번에서 언급한 의미있는 네이밍이 되어 있지 않다

필자는 clear라는 css클래스를 global css에 선언하는데
IE에서 clear:both시에 상단에 마진이 생기는 현상을 제거하기 위해

.clear {clear:both;height:0;line-height:0;font-size:0;}

이렇게 사용하고 있다.

현석님의 트랙백을 보고나니 내가 이 9번 문항에 대해서 잘못 코멘트한것 같다.
원 본에서의 유용한 CSS의 클래스의 의미가 단순히 표현을 위한 width100, width75 이런 클래스가 유용한 클래스라고 말한것이라면 정말 절대 삼가해야할 것이다. 현석님 말대로 .mt10 {margin-top:10px;} 이런 클래스는 정말 삼가해야할 일이다. 이걸 클래스로 지정해서 사용하느니 인라인 스타일시트로 적용하는게 훨씬 나은 방법이다.
저는 유용한 클래스의 의미를 좀더 넓은 범위의 유용한 클래스(의미있는 네이밍이 되어있는 특정 콘텐츠 형식에 대한 클래스화)라고 잘못 해석하고 이해한것 같아서 추가 코멘트 남깁니다.




모두 아주 좋은 내용이다.

계속해서 HTML과 CSS를 사용하여 표현과 문서를 분리하는 곳이 많아졌다.

이런 중요한 개발방법론은 계속해서 공유되어져

새로 웹퍼블리셔가 되고싶은 사람들에게 많은 도움이 되었으면 좋겠다.
by Anna 안나 2008. 12. 21. 23:21
CSS를 사용하기 이전에 예상가능한 class군을 설정하고서 제작을 하는 것이 좋습니다. class의 네이밍에 있어서도 편리함이 있고, 제작자가 아닌 다른 이가 코딩가이드만 보고서도 그 내용을 쉽게 파악하기도 쉬우며, 그 결과물만으로도 추후 제작될 사이트 디자인에 있어 디자이너들도 어느 정도의 군을 나누게 됨으로서 조금이나마 체계적인 디자인에 도움을 줄 수 있습니다. 1. 기본적인 Text Style 지정 전체적으로 쓰일 기본적인 태그들의 Style을 지정합니다. td, div, span, p, font, a, { text-decoration:none ; font-size:9pt ; font-family : 돋움, Dotum,Helvetica ; color:#454545 } 이는 먼저 지정된 class의 속성을 그 이후의 class에서 상속받는 것을 이용한 것입니다. 몇몇 에이전시에서는 이러한 방법이 다수의 제작자들에게 공통으로 쓰이기 힘들다는 이유로, 또는 사이트 전체에 로드를 가져온다는 이유로 각각의 class마다 지정하는 방법을 쓰기도 합니다만, 일부는 이러한 속성을 모르기 때문입니다. 2. Logical 태그의 속성을 지정합니다. <abbr>, <acronym>, <dfn>, <address>, <cite>, <q>, <code>, <kbd>, <samp>, <var>, <del>, <ins>, <em>, <strong> 의 태그에 대한 스타일을 지정합니다. 위의 태그들은 각각 고유의 text style을 가지고 있습니다. 하지만, 그런 text style들은 영어권의 사람들의 눈에 익숙한 방법입니다, 한국에서는 그 효용성이 감소하며, 이탤릭체의 경우 오히려 마이너스가 됩니다. 이를 유저들에게 어필할 수 있는 색상이나 폰트, 스타일로 규정함으로서 User Interface에 뛰어난 효과를 가져올 수 있으며, 체계적인 디자인가이드를 만들 수 있습니다. em { text-decoration : none ; font-family : 돋움, Dotum, Helvetica ; font-weight : bolder ; color : #D34145 } cite { text-decoration : underline ; font-family : 돋움, Dotum, Helvetica ; font-weight : normal ; color : #6347EE ; } ※ 폰트의 크기는 되도록 지정을 하지 않습니다. 이들 태그는 컨텐츠 중간중간 위치하기 때문에 컨텐츠에 지정된 스타일을 상속받도록 하는 것이 좋습니다. 예외적으로 글자의 크기를 크게 혹은 작게 지정하고 싶다면, font-size의 속성 larger, smaller를 사용하는 것이 좋을 것입니다. strong { text-decoration : none ; font-family : 돋움, Dotum, Helvetica ; font-weight : bolder ; color : #FF2222 ; font-size : larger ; } 3. 컨텐츠의 종류와 각각의 타이틀, 본문, 주석, 맺음부분을 구분하여 줍니다. 일반적으로 코딩순서상 가장 나중에 지정되는 경우가 많지만, 미리 지정하고서 디자인팀과 프로그래머팀과의 협의를 통해 각 메뉴별로 본문색이 변할 것인지, 타이틀의 단계는 몇가지가 될 것인지, 본문중에 주석이나, 맺음말부분은 존재할 것인지 등등을 통일하고 정의하는 것도 상당히 중요합니다. 하지만, 제가 겪어본 대부분의 디자이너분들이 글의 스타일은 거의 지정을 안해주더이다. 그래서 거의 제가 생각하는대로 했기 때문에 조금은 이부분이 객관화가 덜 된 부분일지 모르겠습니다. 서로 다른 본문의 스타일을 구분해봅니다. 일반적으로 카테고리별로 디자인에 맞추어 글자색이 다른 경우가 많으니 카테고리명으로 class이름을 정할 때가 많습니다. .company_Content {color : #363636 ; line-height : 150%} .education_Content {color : #210021 ; line-height : 150%} 임의로 본문이라는 뜻으로 Content를 자주 쓰는데, class이름을 정할 때 카테고리명을 앞에 쓸지 Content를 앞에 쓸것인지는 상황에 따라 다를 수 있습니다. 입맛대로 하시길... 간혹, 본문중간에 이미지가 들어간다던지, 테이블이 삽입되는 경우에는... line-height속성이 각각의 자간과 줄간격을 일그러트리는 경우가 많습니다. 이때에는 class가 정의된 문단을 종료하고서 테이블을 삽입하는 것이 좋습니다. 타이틀의 class이름도 마찬가지로 정의합니다. .company_title {color : #363636 ; font-weight : bolder ; } .education_title {color : #210021 ; font-size : 15pt ; } 타이틀의 경우 타이틀 앞부분에 아이콘이 붙는다던지, 뒤에 링크버튼이 붙는다는지, 주석이 달린다던지...하는 경우가 많습니다. 이 점도 감안해서 각각의 경우를 정의해놓습니다. .company_title_icon {color : #363636 ; vertical-align : bottom } .company_title_more {color : #363636 ; vertical-align : middle } .company_title_sup {color : #363636 ; vertical-align : top ; line-height : 19pt; } 주석과 맺음말, 그외의 다른 문단이 삽입되는 경우를 정의합니다. 이 부분은 웬만해선 미리 정의하기에는 어려운 면이 많습니다. class이름정도만 미리 예상해놓는 것만으로도 상당히 편리할 것입니다. .company_notes {} .company_epil {} 4. 예상가능한 링크의 종류를 설정한다. 네비게이션의 단계의 구분이 뚜렷하다면, 이를 설정하는 것도 꽤 유용한 방법입니다. 보통은, 상단네비게이션, 좌단네비게이션, 하단네비게이션, CopyRight부분등이 이에 해당하며, 각각의 링크는 뚜렷한 연계성이 없기 때문에 각각을 구분하여 지정하는 것이 좋습니다. 한단계 더 하자면 각 위치별로 상위, 하위링크인지도 뚜렷하다면 이도 지정하는 것이 좋습니다. *///////////////기본적인 링크의 스타일 정의//////////////////////// a:link { text-decoration:none ; font-family : 굴림, Gulim, Helvetica ; } a:active { text-decoration:none ; font-family : 굴림, Gulim, Helvetica ; } a:visited { text-decoration:none ; font-family : 굴림, Gulim, Helvetica ; } a:hover { text-decoration:none ; font-family : 굴림, Gulim, Helvetica ; } *///////////////상단 네비게이션 링크//////////////////////// a.TopNv_Hi { font-size : 15px ; font-weight : bolder ; color : #164234} a.TopNv_Lo { font-size : 13px ; font-weight : normal ; color : #030303} *///////////////상단 네비게이션 링크//////////////////////// a.LeftNv_Hi { font-size : 13px ; font-weight : normal ; color : #3462FF} .LeftNv_Lo a { font-size : 13px ; font-weight : normal ; color : #3462AA} .LeftNv_Lo { font-size : 13px ; font-weight : normal ; color : #3462AA} <<링크와 같은 스타일의 text가 혼재한다면 같이 지정함이 좋습니다.>> 두번째로 본문에 들어갈 링크의 종류를 예상해봅니다. 일반적으로 예상가능한 종류는 다른 메뉴로의 이동, 타 사이트로의 이동, 메일주소, 이름, 주석 혹은 설명페이지로의 이동, ?업 역시 컨텐츠에 지정된 폰트크기를 상속받게 하는 것이 좋으므로 font-size를 지정하지 않는 것이 좋으며, 종류에 따라 underline만이 필요할지, 뚜렷한 스타일이 필요할 것인지 디자이너가 판단하여야 할것 입니다. a.text_Outer { color : #FF0000 ; text-decoration : underline ; } a.text_email { color : #000000 ; background-color : #EEEEEE } a.text_username{ color : #3333FF ; font-weight : bolder ; } 세번째로 게시판 리스트부분의 링크 스타일을 정의합니다. 보통은 각 카테고리마다 게시판의 디자인이 다르게 하는 경우가 많으므로 카테고리명 그대로 사용하는 것이 편할 때가 많습니다. a.bbs_shop { color : #3232FA ; text-decoration : none ; } a.bbs_biz { color : #4444AA ; text-decoration : none ; } 3~4줄의 리스트를 컨텐츠 페이지에서 보여주는 게시판의 경우는 active 링크에 볼드를 처리하는 경우도 있고, 자신의 글의 경우, 자신의 이름부분에 스타일을 달리하는 경우도 있겠죠. a.bbs_shop_act { color : #3232FA ; text-decoration : none ; font-weight : bolder ; } 5. Form태그들의 스타일을 정의합니다. form태그의 기본 문자 스타일을 정의합니다. form { text-decoration:none ; font-size:9pt ; font-family : 굴림,Gulim,Helvetica ; margin : 0 0 0 0 } input, select , option, textarea, button , fieldset, legend, label { text-decoration:none ; font-size:9pt ; font-family : 굴림,Gulim,Helvetica ; color:#454545 } (form에서 유저가 입력하는 내용은 다른 본문과 다른 스타일로 쓰여지는 것이 UI에서 이점을 가지고 있다고 연구되어왔고, 저도 예전부터 그렇게 생각해왔지만, 디자이너분들이 사소한 부분이라고 치부하는 바람에 그다지 보편화되지는 못한 듯 합니다.) form태그들은 각 카테고리별로 크기와 배경색, 보더를 가지기에 미리 정하기가 애매합니다. 네비게이션부분에서 쓰이는 부분, 검색부분, 로그인부분을 미리 정하고, 각 카테고리별로도 검색, 사용자입력, 기능형등으로 분류해서 정하는 것이 좋을 듯 합니다. 저두 이건 예상하기 너무 힘들어서 그때그때 씁니다...^^ 6. 사이트 특징적인 부분 설명하기 애매합니다만, 쇼핑몰의 가격, Confirm부분의 YES or NO, 입력확인부분, History 커뮤니티의 유저이름, 기능성 링크, Site Depth부분, History 증권사사이트의 가격변동폭, 지수, 들과 같이 유저에게 가장 강하게 어필되어야 하는 text부분같은 것은 사이트 전체에서 일관성이 강조되어야 하는 것들입니다. 이런 것들은 기획단계에서부터 그 종류와 성격, 강조의 경중 등등을 미리 협의, 검토, 정리를 한 후 CSS코딩되어야 합니다. 워낙 많으니 예는 안 올릴렵니다. 끝?슈~ 간단하게 요약하자면 object(text) > inline > block 작은 단위에서 큰 단위로 정의하고, 다시 기능적인 부분과 특이한 경우를 세밀하게 정의하는 순서입니다.
by Anna 안나 2008. 12. 21. 23:20
provenance 참조
by Anna 안나 2008. 12. 14. 19:58
※ 다음방법을 실행하기전에 이전상태를 기록해놓습니다.
혹 안되는경우를 대비하여 기록하시면서 진행하시고
나중에 안될? 복구가 가능하도록..^^

답변입니다. 길어보여도 간단합니다 ^^ ;;; 이해 못하시는분들을 위해 아주자세히 쓰게되어 이렇게 복잡하게 ?네요^^;; 실행->cmd->실행->도스창에서 ipconfig 입력->
IP Address. . . . . . . . . . . . : 222.209.219.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 61.209.219.1
(예를들어서 저렇게뜨게됩니다 ^^ 당연히 본인은 위에꺼와 다르게 나옵니다.) 내 내트워크 환경->네트워크 연결 보기->연결되있는 인터넷아이콘 오른쪽마우스키로 속성 클릭 ->항목중에 인터넷 프로토콜(TCP/IP) 더블클릭-> 체크창에서 다음 ip주소 사용 선택 -------------------------------- IP 주소 : 222.209.219.2 서브넷 마스크 255.255.255.0 기본 게이트 웨이 61.209.219.1 ------------------------------------ 위는 예로 한것입니다 프로그램 다운>> 다운로드 아이피 보는 프로그램 다운>> 다운로드 다운로드 클릭 하신후 압축 해제후 나오는 폴더를 들어가 ipscan 라는 프로그램을 실행합니다. 프로그램이 실행되었으면 이제 IP range 항목에 자신의 아이피주소 를 써줍니다. (아이피를 모르시면 위에 아이피 보는 프로그램을 다운해서 자신의 아이피를 알아보세요^^) 쓰게되면 이렇게 되겠죠?? IP range : 222.209.219.2 [위를 예로한것입니다] 그후에 바로옆에 to 하는 항목이있습니다. 그쪽에도 똑같이 써줍니다. 쓰게되면 이렇게 되있겠지요?? IP range : 222.209.219.2 to 222.209.219.2 이렇게 되있을껍니다. 이제 아이피맨뒤를 수정해야하는데요 ^^ 예로한 숫자를 보시면 맨마지막에 2라고 보이실겁니다. 222.209.219.2 실행되어있는 ipscan프로그램에서 이렇게 변경해줍니다. 마지막숫자만요! 예) IP range : 222.209.219.1 to 222.209.219.255 <<자신아이피에서 맨마지막만 저렇게 바꿔주세요 ^^ 저처럼 위에처럼 똑같이 숫자쓰시면안됩니다!! 본인의 아이피를 적어주신후 마지막 숫자 1 하고 숫자 255만 변경하라는거에요 ^^ 다되셨으면 프로그램 오른쪽 상단에 Start [스타트] 눌러주세요! 만약 예 아니오 누르는게 나오게되면 예를 눌러주시구요 ^^ 몇초만 기다리시면 아이피들이 쭈루룩~~나타납니다 ㅎ 동그라미로 빨갛게 되어있으면 쓸쑤있는 아이피구요. 파란색으로 동그랗게 되어있으면 다른사람이 쓰구있는겁니다. 빨간색중에 자신이 하고싶은 아이피를 기억하시구요 ㅎ 프로그램 켜놓아도 상관없습니다. 이제 컴퓨터에 인식 시킬차례입니다. 내 내트워크 환경->네트워크 연결 보기->연결되있는 인터넷아이콘 오른쪽마우스키로 속성 클릭 ->항목중에 인터넷 프로토콜(TCP/IP) 더블클릭-> 체크창에서 다음 ip주소 사용 선택 여기서 IP 주소 : 222.209.219.2 서브넷 마스크 255.255.255.0 기본 게이트 웨이 61.209.219.1 이렇게 되있습니다. 프로그램에서 ?은 아이피를 ip주소에 써넣어주세요 ^^ 저는 예를들어서 80으로변경했습니다. 바꾸게 되면 이렇게 바뀌지요 ? IP 주소 : 222.209.219.80 서브넷 마스크 255.255.255.0 기본 게이트 웨이 61.209.219.1 [%% 서브넷 , 기본게이트 확인은 실행->cmd->실행->도스창에서 ipconfig 입력 여기서 확인하시면 됩니다. ]
이제 확인을 누른후 로컬 영역 연결 속성도 확인눌러주세요. 이제 변경되었나 인터넷을 한번 켜봅니다. 만약 인터넷이 연결되지 않았다면 다시 내 내트워크 환경->네트워크 연결 보기->연결되있는 인터넷아이콘 오른쪽마우스키로 속성 클릭 ->항목중에 인터넷 프로토콜(TCP/IP) 더블클릭 해주세요. 취소 위에 고급이라는 메뉴가있습니다. 눌러주시구요 ~기본 게이트 웨이에 아무것도 없다면 추가를 눌러주세요~ 눌러주시면 게이트웨이 주소를 쓰게됩니다. 위에 ipconfig 확인 창에서 나오는 기본 게이트 웨이 영어로 나오게 됩니다. 도스창에서 3번째꺼가 게이트웨이 주소입니다. 그주소를 써넣어주세요~ 그리고 추가! 눌러주신후 다시 확인! 네트워크 모두확인 눌러 창을 꺼주신후 다시 인터넷을 시작해보세요~ 인터넷이 됩니다. 당연히 아이피도 변경되어있죠 ^^ 아이피확인기에서 한번 확인해봅시다. 변경된걸 보실수가있습니다^^ . 에고 ㅠ 팔아파라.. 성공하셨길 바랍니다 ^^
by Anna 안나 2008. 12. 14. 19:57
케이블 인터넷을 쓰고있는데 아이피를 바꾸고자 검색해서 많은 방법을 써봤찌만 않바뀌네요. 결국 시간투자 끝에 알아냈는데 혼자 알아두기엔 아까운것같아서 ...... 내컴퓨터(우클릭속성>하드웨어)---->장치관리자---->네트워크어댑터---->랜카드등록정보(내어댑터우클 릭 속성)---->고급---->네트워크주소 (우측 값(v) )란에 12자리 000000000000 입력하시고 확인 기달리시면 자동으로 주소가져오기를 읽어냅니다... 여기서 맨끝자리를 1.2.3 (000000000001)중에 하나입력하실때마다 아이피 주소가 바뀝니다.. 바뀐아이피 확인은 시작>실행란에 cmd 도스창 띄우시고 >ipconfig입력하시면 주소나오니까 1.2.3 번갈아가면서 바뀔때까지 해보세요.... 이상 아이피 바꾸는법이였습니다..............
by Anna 안나 2008. 12. 14. 19:56
안녕하세요?
최근 가장 인기있는 자바스크립트 라이브러리는 jQuery입니다.
MS도 ASP.NET MVC에 jQuery를 포함시킬 예정입니다.이미 시중에 jQuery 책이 번역되어 나와 있지만,
IBM 사이트에서 jQuery 강좌를 번역해서 연재하고 있으니까
이것을 먼저 보시는 것도 좋으리라 생각합니다.http://www.ibm.com/developerworks/kr/library/wa-jquery1/index.html
http://www.ibm.com/developerworks/kr/library/wa-jquery2/index.htmlhttp://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html
http://www.ibm.com/developerworks/kr/library/wa-aj-overhaul1/index.html
http://www.ibm.com/developerworks/kr/library/wa-aj-overhaul2/index.html

'JS > jquery' 카테고리의 다른 글

jQuery 링크에 걸린 파일 사이즈 자동으로 알아내기  (0) 2009.01.05
jQuery Loading바 구현하기  (0) 2009.01.05
Test if jquery has loaded  (0) 2009.01.05
IE를 위해 코딩할때  (0) 2009.01.05
CSS Text Gradients  (0) 2009.01.04
InnerFade with JQuery  (0) 2008.12.14
jQuery Corner Demo  (0) 2008.12.14
jQuery Treeview Plugin Demo  (0) 2008.12.14
jQuery를 이용한 쇼핑카드 예제  (0) 2008.12.14
가볍고 쉬운 Ajax - jQuery 시작하기  (0) 2008.12.14
by Anna 안나 2008. 12. 14. 19:34
provenance 참조

'JS > jquery' 카테고리의 다른 글

jQuery Loading바 구현하기  (0) 2009.01.05
Test if jquery has loaded  (0) 2009.01.05
IE를 위해 코딩할때  (0) 2009.01.05
CSS Text Gradients  (0) 2009.01.04
jQuery 강좌 링크  (0) 2008.12.14
jQuery Corner Demo  (0) 2008.12.14
jQuery Treeview Plugin Demo  (0) 2008.12.14
jQuery를 이용한 쇼핑카드 예제  (0) 2008.12.14
가볍고 쉬운 Ajax - jQuery 시작하기  (0) 2008.12.14
renderCalendar  (0) 2008.12.14
by Anna 안나 2008. 12. 14. 19:33
provenance 참조

'JS > jquery' 카테고리의 다른 글

Test if jquery has loaded  (0) 2009.01.05
IE를 위해 코딩할때  (0) 2009.01.05
CSS Text Gradients  (0) 2009.01.04
jQuery 강좌 링크  (0) 2008.12.14
InnerFade with JQuery  (0) 2008.12.14
jQuery Treeview Plugin Demo  (0) 2008.12.14
jQuery를 이용한 쇼핑카드 예제  (0) 2008.12.14
가볍고 쉬운 Ajax - jQuery 시작하기  (0) 2008.12.14
renderCalendar  (0) 2008.12.14
플러그인 소개 demo  (0) 2008.12.14
by Anna 안나 2008. 12. 14. 19:32
provenance 참조

'JS > jquery' 카테고리의 다른 글

IE를 위해 코딩할때  (0) 2009.01.05
CSS Text Gradients  (0) 2009.01.04
jQuery 강좌 링크  (0) 2008.12.14
InnerFade with JQuery  (0) 2008.12.14
jQuery Corner Demo  (0) 2008.12.14
jQuery를 이용한 쇼핑카드 예제  (0) 2008.12.14
가볍고 쉬운 Ajax - jQuery 시작하기  (0) 2008.12.14
renderCalendar  (0) 2008.12.14
플러그인 소개 demo  (0) 2008.12.14
JQuery를 이용한 겸손한 탭 메뉴 구현  (0) 2008.11.16
by Anna 안나 2008. 12. 14. 19:31
jQuery를 활용한 쇼핑 카트 구현 예제 jQuery를 활용하여 쇼핑 카트를 만들어봤는데 재밌네요.
좀더 확장하면 쇼핑몰에 응용할 수 있는 수준이군요. 예제 링크 1. Draggables 1.1 Options: handle string or DOMElement optional the handel that starts the draggable revert boolean optional when true, on stop drag the element returns to initial position ghosting boolean optional when true a copy of the element is moved zIndex integer optional zIndex depth for the element while in drag opacity float ( < 1) optional opacity for the element while in drag grid mixed (integer or array) optional define a grid for draggable to snap to fx integer optional duration for the effect applied to the draggable containment string ('parent' or 'document') or array (left, top, width, height) optional define the zone where the draggable can be moved. Use value 'parent' to move it inside parent element, 'document' for not moving it outside the document, so no extra scroll. axis string ('vertically' or 'horizontally') optional define the axis which the dragged elements moves on onStart function optional callback function triggered when the dragging starts onStop function optional callback function triggered when the dragging stops onChange function optional callback function triggered when the dragging stops and elements was moved at least one pixel onDrag function optional callback function triggered while the element is dragged. Receives two parameters the x and y coordinates. You can return an object with new coordinates {x: new x, y: new y} so this way you can interact with the dragging process, build your containment for instance. insideParent boolean optional tell whatever the element is dragged inside its parent snapDistance integer optional the dragged element is not moved unless is moved more then snapDistance. This way you can prevent accidental dragging cursorAt object optional the dragged element is moved to the cursor position with the offset specified. Accepts value for top, left, right and bottom offset. autoSize boolean optional when true the drag helper is resized to its content, instead of the dragged element's sizes frameClass String optional When is set the cloned element is hidden so only a frame is dragged 1.2 사용된 샘플 소스 $('div.product').Draggable({revert: true, fx: 300, ghosting: true, opacity: 0.4});
2. Droppables 2.1 Options: accept string mandatory the class name for draggables to get accepted by the droppable activeclass string optional when an acceptable draggable is moved the droppable gets this class hoverclass string optional when an acceptable draggable is inside the droppable, the droppable dets this class tolerance 'pointer', 'intersect' or 'fit' optional points how the draggble must be against the droppable onDrop function optional when an accepted draggble is drop on a droppable this functin is called. Applies to the droppable and gets as parameter the draggable DOMElement onHover function optional called when an accepted draggble is hovering a droppable. Applies to the droppable and gets as parameter the draggable DOMElement onOut function optional called when an accepted draggble is leaving a droppable. Applies to the droppable and gets as parameter the draggable DOMElement 2.2 사용된 샘플 소스 $('#cart').Droppable(

{

accept : 'product',

activeclass: 'activeCart',

hoverclass: 'hoverCart',

tolerance: 'intersect',

onActivate: function(dragged)

{

if (!this.shakedFirstTime) {

$(this).Shake(3);

this.shakedFirstTime = true;

}

},

onDrop: addProductToCart

}

);
재밌네요. 좀 더 공부한다면 더 좋은 인터페이스, 더 많은 문제점을 알게 될 것 같네요. 아직은 모르는 부분이 많아서인지 기본 기능만 되어도 좋아 보이네요. jQuery 다시 보았어...^^

'JS > jquery' 카테고리의 다른 글

CSS Text Gradients  (0) 2009.01.04
jQuery 강좌 링크  (0) 2008.12.14
InnerFade with JQuery  (0) 2008.12.14
jQuery Corner Demo  (0) 2008.12.14
jQuery Treeview Plugin Demo  (0) 2008.12.14
가볍고 쉬운 Ajax - jQuery 시작하기  (0) 2008.12.14
renderCalendar  (0) 2008.12.14
플러그인 소개 demo  (0) 2008.12.14
JQuery를 이용한 겸손한 탭 메뉴 구현  (0) 2008.11.16
imgAreaSelect Examples  (0) 2008.11.15
by Anna 안나 2008. 12. 14. 19:30

시작 하기 전에 jQuery는 2006년 초에 John Resig가 개발한 자바스크립트 라이브러리 이다. 전체 라이브러리가 55kb밖에는 안되는 초 경량이면서도 누구나 쉽게 브라우져 기반의 자바스크립트 프로그래밍을 쉽게 할 수 있을 뿐더러, Ajax또한 쉽게 구현 할 수 가 있다. 또한 플러그인 방식의 확장을 지원하여, 현재 많은 수의 플러그인을 확보하고 있다. 나온지는 얼마 안되었지만 수백여개의 사이트가 사용할 만큼 안정적이며, 유명한 라이브러리 이다. 구지 비교하자면 prototype이라는 기존 유명 라이브러리와 비교가 가능하겠지만, 더욱 간단하며, 쉽다는것을 장점으로 꼽고 있다.(사실 본인은 prototype을 잘 모른다. 따라서 기존 개발자들의 의견을 빌린것이다. 어느것이 더 좋다는 표현이 아님을 알아달라) 무엇이 짧은 시간안에 jQuery를 유명하게 하였을까? 이런 호기심을 가지고 깊이 살펴본 결과 그 이유를 알 수 있었다. 작고, 쉽고, 그러나 강력하다는 것이 그 이유이다. 따라서 이런 본인의 경험을 공유하고자 이글을 올린다. 이 글은 jQuery의 튜토리얼문서를 기반으로하여 작성 되었다. 따라서 예제의 상당 부분은 동일하다, 단, 직접 프로그래밍을 통해 소스를 돌려보고 그 경험을 글로 올리는것이니 만큼 그냥 번역 보다는 더 나을 것으로 판단 한다. 참고로 이글에서 Ajax는 비동기 통신의 경우에만 국한 하겠다. 그 이유는 jQuery에서 Ajax라는 별도 네임스페이스로 라이브러리를 지원하기 때문이다. 자바스크립트 전용 IDE 소개 - Aptana 프로그래머들 중에는 IDE를 싫어하는 사람도 있다. 그러나 나는 없는것보다는 있는것이 더 낳다고 생각한다. 특히 한 언어를 위한 전용 환경을 지원할 경우는 더욱 그러하다. 브라우져 기반의 자바스크립트 프로그래밍을 하다보면 가장 어려운 점이 디버깅이다. printf디버거도 어려울 경우가 많다.(printf디버거는 디버깅을 위해 필요한 값을 출력하여 확인 하는 방법을 말한다.-본인이 만들어낸 용어이다.) 특히 브라우져의 경우는 로컬파일을 사용할 수 없어 화면을 이용한 값의 출력에 의존하여야 함으로 루프값을 출력할 경우는 거의 죽음이고, HTML태그를 생성하여 이곳에 이벤트를 결합하고, 코딩하는것을 반복하는 동적 HTML프로그래밍은 더욱 디버깅이 어렵다. 따라서 브라우져의 플러그인과 결합된 디버거를 사용하는것이 매우 도움이 된다. Firefox용 Firebug가 대표적인 것인데, 가장 많이 사용하는 디버거 이기도 하다. 그러나 편집기와 독립된 형태로 사용해야 함으로 수정 작업 시 불편함이 따른다. 이러한 점을 개선하려면 역시 디버거와 편집기를 포함하는 전용 IDE가 필요하다. 한가지더 이야기 하면, 기존 Eclipse와 같은 IDE에서 지원하는 Code Inspector기능의 필요를 들 수 있다. 사실 한 언어에 익숙한 사람이면 이 기능이 불편 하다. 매번 객체명뒤 점을 찍어 객체의 맴버를 보는 것은 그것을 아는 사람에게는 편집속도만 떨어뜨릴 뿐이다. 그러나 언어에 익숙치 않다거나, 남이 제공한 라이브러리를 사용할 경우는 이기능이 매우 유용하다. 특히 해당 맴버의 간단한 도움말까지 표시되면 API문서를 일일이 그때마다 검색하지 않아도 되어서 편리하다. 기존 자바 스크립트 편집기는 사실 이러한 기능이 부족한것이 사실 이었다. 그러나 지금 소개할 Aptana는 자바스크립트 전용 IDE를 표방한 몇 안되는 IDE중 하나이다. 이클립스 기반에 프러그인으로 개발되고 배포는 리치클라이언트와 플러그인 방식 모두를 지원한다. 따라서 기존 설치된 이클립스에서도 사용할 수 있고, 별도 설치를 통해 독립적인 IDE로 사용 할수도 있다. 다음은 Aptana의 실행 화면이다.


특히 Code Inspector가 매력 적이다. 노란 색으로 나오는 도움말도 매우 유용하다.
Apatana의 설치는 쉽다. 또한 무료로 사용 할 수 가 있다. (http://www.aptana.org/) 사용법은 기존 Eclipse와 동일하다. 단 디버거를 사용하려면 Firefox가 설치 되어 있어야 한다. 또한 기존 Ajax라이브러리들도 지원하는데, jQuery도 지원한다. 위 화면에서 객체의 도움말이 나올 수 있는것은 이 때문이다. 프로젝트 생성 시 jQuery프로젝트를 선택하여 생성 하면 된다. jQuery 사용 위에서 소개한 Aptana를 설치 하였다면, 별도 jQuery설치는 필요 없다. 하지만 설치가 어려운것은 아니다. jQuery라이브러리는 55kb짜리 파일 하나로 되어 있다. 이를 HTML에 사용 선언을 하여 주면 된다. <html>
<head>
<script type="text/javascript" src="path/jquery.js"></script>
<script type="text/javascript">
// Your code goes here
</script>
</head>
<body>
<a href="http://jquery.com/">jQuery</a>
</body>
</html> 기존 자바 스크립트 라이브러리 사용과 차이가 없다. 단, 압축버젼과 그렇지 않은 버젼 두개의 파일을 제공하는데, 프로그래밍을 할 때는 디버깅을 위해 압축하지 않은 버젼의 파일을 사용하고, 배포할 경우 압축된 버젼을 사용하는 것이 좋다. jQuery 의 시작 이벤트 보통의 자바스크립트 프로그래머들은 브라우져의 document가 모두 다운로드 되어진 상태에서 코드를 시작하기위해 다음과 같은 이벤트에 스크립트 코드를 넣는다. window.onload = function(){ ... } 그러나 이 경우 이미지 까지 다운로드가 모두 완료 된 후 이벤트가 호출되기 때문에, 큰이미지의 경우 실행속도가 늦은 것처럼 사용자에게 보일 수 있다. 따라서 jQuery는 이러한 문제를 해결하기위해 다음과 같은 이벤트를 제공한다. $(document).ready(function(){
// 이곳에 코드를 넣으면 된다.
}); 이 이벤트는 브라우져의 document(DOM)객체가 준비가 되면 호출이 된다. 따라서 이미지 다운로드에 의한 지연이 없다. 위 코드는 다음과 같이 생략하여 사용 가능하다. $(function() { // run this when the HTML is done downloading }); 사용자 이벤트 처리 - 클릭이벤트의 예 특정 태그를 클릭 했을경우 이벤트의 처리를 jQuery에서 어떻게 처리 하는지를 살펴 보자. 다음은 위 HTML예제의 앵커(a)태그 클릭 시 이벤트를 처리하는 코드 이다. $("a").click(function(){
alert("Thanks for visiting!");
}); jQuery에서 이벤트 처리는 콜백함수를 통해 수행된다. 이코드는 HTML에 있는 모든 앵커 태그의 클릭 시 ?업창을 통해 메시지를 출력해 준다. 코드를 보면 $()로된 문법을 볼 수 있을 것이다. 이것은 jQuery의 셀렉터 이다. $("a")가 의미하는 것은 HTML(브라우져의 DOM)에서 앵커태그 모두를 의미한다. 이후 .click()메소드는 이벤트 메소드로서 이곳에 콜백함수를 파라메타로 넣어 이벤트 처리를 수행 하는것이다. 함수는 위에서 처럼 익명(function(){...})이나 선언된 함수 모두를 사용할 수 있다. jQuery의 셀렉터 $()로 시작하는 셀렉터를 좀더 살펴보자. jQuery는 HTML, DOM객체등을 CSS나 XPATH의 쿼리방법과 동일한 방법으로 선택 한다. 앞선 예처럼 문자열로 특정 태그를 선택하는 것은 CSS를 작성해 본 프로그래머라면 익숙할 것이다. 이와 같은 방법 외에도 다음과 같이 태그의 id를 통해 선택 할 수 있다. $(document).ready(function() {
$("#orderedlist").addClass("red");
}); 위 코드는 id가 orderedlist인 태그에 red라는 CSS 클래스를 할당하는 코드 이다. 만약 이태그가 하위 태그를 가지고 있다면 다음과 같이 선택 할 수 있다. $(document).ready(function() {
$("#orderedlist > li").addClass("blue");
}); 이코드는 id가 orderedlist인 태그의 하위 태그 중 <li> 태그 모두에 blue라는 CSS 클래스를 할당하는 코드 이다. 이코드는 jQuery메소드를 이용 다음과 같이 바꾸어 사용 할 수도 있다. $(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).addClass("blue");
});
}); 한가지 다른 점은 모든 태그에 동일하게 CSS 클래스를 적용하는 방식이 아닌 개별 태그를 선택하여 적용할 수 있다는 것이다. XPath를 사용하는 예를 다음과 같은 것을 들 수 있다 //절대 경로를 사용하는 경우 $("/html/body//p")
$("/*/body//p")
$("//p/../div") //상대경로를 사용하는 경우 $("a",this)
$("p/a",this) 다음과 같이 두 방식을 혼용하여 사용 할 수도 있다. //HTML내 모든 <p>태그중 클래스속성이 foo인 것 중 내부에 <a> 태그를 가지고 있는것 $("p.foo[a]"); //모든 <li>태그 중 Register라는 택스트가 들어있는 <a> 태그 $("li[a:contains('Register')]"); //모든 <input>태그 중 name속성이 bar인 것의 값 $("input[@name=bar]").val(); 이외에도 jQuery는 CSS 3.0 표준을 따르고 있어 기존 보다 더많은 쿼리 방법을 지원하고 있다. 자세한것은 jQuery의 API 설명을 참고 하라(http://docs.jquery.com/Selectors) Chainability jQuery는 코드의 양을 줄이기 위해 특별한 기능을 제공한다. 다음 코드를 보자 $("a").addClass("test").show().html("foo"); <a>태그에 test라는 CSS 클래스를 할당한다. 그후 태그를 보이면서 그안에 foo라는 텍스트를 넣는다. 이런 문법이 가능한 이유는 $(), addClass(), show()함수 모두가 <a>태그에 해당하는 객체를 결과로 리턴해주면 된다. 이를 Chainability라 한다. 좀더 복잡한 경우를 보자 $("a")
.filter(".clickme")
.click(function(){
alert("You are now leaving the site.");
})
.end()
.filter(".hideme")
.click(function(){
$(this).hide();
return false;
})
.end(); // 대상 HTML이다 <a href="http://google.com/" class="clickme">I give a message when you leave</a>
<a href="http://yahoo.com/" class="hideme">Click me to hide!</a>
<a href="http://microsoft.com/">I'm a normal link</a> 중간에 end()함수는 filter()함수로 선택된 객체를 체인에서 끝는 역할을 한다. 위에서는 clickme클래스의 <a>태그 객체를 끊고 hideme를 선택하는 예이다. 또한 this는 선택된 태그 객체를 말한다. 이런 Chainability를 지원 하는 jQuery메소드들에는 다음과 같은 것들이 있다. add() children() eq() filter() gt() lt() next() not() parent() parents() sibling() Callbacks 위에서 click()이벤트를 콜백함수를 통해처리하는 코드를 살펴 보았다. 콜백함수는 기존 자바나 .NET의 그것과 같다. 다음 코드를 보자 $.get('myhtmlpage.html', myCallBack); 먼저 $.get()은 서버로 부터 HTML(또는 HTML 조각)을 가져오는 함수 이다. 여기서 myCallBack함수는 전송이 완료 되면 호출되는 콜백 함수 이다. 물론 앞선 예의 click()이벤트 콜백처럼 익명함수 function(){}을 사용 해도 된다. 그러나 이와 같이 미리 선언된 함수를 콜백으로 사용할 경우 파라메타의 전달 방법은 좀 다르다. 흔히 다음과 같이 하면 될것이라 생각할 것이다. $.get('myhtmlpage.html', myCallBack(param1, param2)); 그러나 위와 같은것은 자바스크립트의 클로져(closure)사용에 위배가 된다. 클로져는 변수화 될수 있는 코드 블록을 이야기한다. 즉 스트링변수와 같이 파라메타로 전달될 수 있지만, 실행가능한 함수 인 것이다. 일반적으로 함수를 ()제외하고 이름만을 사용하면 클로져가 된다. 위의경우 $get()함수의 파라메타로 전달된 myCallBack함수는 클로져로 전달된것이 아닌 myCallBack()를 실행한 결과 값이 전달 된다. 따라서 다음과 같이 코드를 작성하여야 한다. $.get('myhtmlpage.html', function(){
myCallBack(param1, param2);
}); 만약 선언된 함수가 아닌 익명함수를 콜백으로 사용할경우는 다음과 같이 하면 된다. $.get('myhtmlpage.html', function(param1, param2){
//이곳에 코드를 넣는다.
}); jQuery 의 애니메이션 HTML의 태그를 사라지고 나타내게 하거나, 늘리고 줄이고, 이동시키는 애니매이션 동작은 많이 사용하는 기는 중 하나이다. jQuery는 다양안 애니메이션 기능을 메소드를 통해 제공한다. 다음 코드를 보자 $(document).ready(function(){
$("a").toggle(function(){
$(".stuff").hide('slow');
},function(){
$(".stuff").show('fast');
});
}); 이코드는 <a>태그중 stuff클래스가 할당된것을 토글로 느리게 감추고, 빨리 보이게 하는 함수 이다. 다음은 animate()메소드를 이용하여 여러 애니메이션을 합쳐 실행하는 예이다. $(document).ready(function(){
$("a").toggle(function(){
$(".stuff").animate({ height: 'hide', opacity: 'hide' }, 'slow');
},function(){
$(".stuff").animate({ height: 'show', opacity: 'show' }, 'slow');
});
}); 위 코드는 높이와 투명도를 동시에 천천히 사라지고, 나타나게 하는 코드 이다. jQuery에서의 Ajax Ajax는 서버와의 비동기 통신을 말한다. 일반적으로 Ajax하면 요즘은 자바스크립트를 이용한 브라우져의 동적 DOM의 처리, 즉 DHTML, CSS등을 포함하지만, jQuery에서는 Ajax라는 네임스페이스를 통해 비동기 서버 통신을 하는것을 말한다.먼저 다음 예를 보자 $.ajax({
type: "GET",
url: "test.js",
dataType: "script"
}) 이 예는 GET방식으로 서버에서 자바스크립트를 로딩하고 실행하는 코드 이다. 다음 예를 보자 $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
}); 이는 서버로 부터 POST방식으로 파라메터를 주어 데이터를 가져온 후 이를 success콜백을 이용해 처리하는 코드이다. 아마 Ajax에서 가장 많이 사용하는 코드일 것이다. success말고도 $.ajax()함수는 다양한 옵션을 제공한다. 자세한 내용은 API설명을 참조하라 (http://docs.jquery.com/Ajax) 다음 예는 이 옵션 중 async(비동기)방식을 사용할지 아닐지를 사용한 코드이다. var html = $.ajax({
url: "some.php",
async: false
}).responseText; 맺으며... 지금까지 jQuery에 대해 간단히 살펴 보았다. 혹자는 Dojo나 Extjs와 같이 버튼, 그리드등의 위젯이 지원되지 않는다고 실망할 것이다.그러나 jQuery는 Plugin을 지원한다. 이중 Interface와 같은 플러그인은 그 완성도가 매우 높다. 이것 말고도 수백개의 플러그인들이 홈페이지를 통해 공개 되어 있다.(http://docs.jquery.com/Plugins) 하지만 내 경험상으로 그리드와 같은 복잡한 위젯이 아니더라도 자바스크립크를 이용한 동적인 홈페이지와 Ajax를 통한 비통기 통신만으로도 대부분의 고객 요구와 문제를 해결 할 수 있다. 실제로 jQuery는 MSNBC와 같은 유명한 많은 사이트에서 사용되고 있다.(http://docs.jquery.com/Sites_Using_jQuery) 따라서 어떤 서비스를 제공하느냐에 따라 필요한 위젯을 플러그인을 사용하거나 직접 개발하여 사용하는것이 더 나은 전략이라 생각한다. 사실 미리 만들어진 위젯도 나에게 맞추어 사용하기 위해서는 그래픽, CSS등 많은 부분을 손 대야 한다. 차라리 기본 원리를 알고 이를 확장하는 것이 좀더 전문적이고 어려운 문제를 해결 할 수 있는 길이라 생각 한다. 시간이 허락 한다면 꾸준히 jQuery의 개발 경험을 공유 하고 싶은 마음 이다.

'JS > jquery' 카테고리의 다른 글

jQuery 강좌 링크  (0) 2008.12.14
InnerFade with JQuery  (0) 2008.12.14
jQuery Corner Demo  (0) 2008.12.14
jQuery Treeview Plugin Demo  (0) 2008.12.14
jQuery를 이용한 쇼핑카드 예제  (0) 2008.12.14
renderCalendar  (0) 2008.12.14
플러그인 소개 demo  (0) 2008.12.14
JQuery를 이용한 겸손한 탭 메뉴 구현  (0) 2008.11.16
imgAreaSelect Examples  (0) 2008.11.15
JQuery 기초예제  (0) 2008.11.15
by Anna 안나 2008. 12. 14. 19:23
Page sourcecode $(function()
{
// update the firstDayOfWeek when the day of week select changes
$('#dow').bind(
'change',
function()
{
Date.firstDayOfWeek = Number(this.options[this.selectedIndex].value);
}
);
// when the choose date form is submitted grab the chosen month and year
// from the select elements and call renderCalendar...
$('#chooseDateForm').bind(
'submit',
function()
{
var month = Number(this.month.options[this.month.selectedIndex].value);
var year = Number(this.year.options[this.year.selectedIndex].value);

$('#calendar-me').renderCalendar({month:month, year:year});

return false;
}
);
});

'JS > jquery' 카테고리의 다른 글

InnerFade with JQuery  (0) 2008.12.14
jQuery Corner Demo  (0) 2008.12.14
jQuery Treeview Plugin Demo  (0) 2008.12.14
jQuery를 이용한 쇼핑카드 예제  (0) 2008.12.14
가볍고 쉬운 Ajax - jQuery 시작하기  (0) 2008.12.14
플러그인 소개 demo  (0) 2008.12.14
JQuery를 이용한 겸손한 탭 메뉴 구현  (0) 2008.11.16
imgAreaSelect Examples  (0) 2008.11.15
JQuery 기초예제  (0) 2008.11.15
jQuery-프로토타입, jQuery에서 간단히 충돌 피하기  (0) 2008.11.15
by Anna 안나 2008. 12. 14. 19:22
테이블에 대한 플러그인 demo http://motherrussia.polyester.se/docs/tablesorter/ 정렬기능만 http://p.sohei.org/stuff/jquery/columnmanager/demo/demo.html colum을 안보이게 할수 있음 http://ptdateselect.sourceforge.net/example/sample001.html 선택하여 수정가능 http://makoomba.altervista.org/grid/ 보기만 가능(마우스 갖다대면 색 변화) http://ideamill.synaptrixgroup.com/jquery/tablefilter/tabletest.htm 필터기능 http://www.webtoolkit.info/demo/jquery/scrollable/demo.html 그리드에 스크롤바 http://projects.arkanis-development.de/table_navigation/example.html 다른페이지 링크 http://www.dyve.net/jquery/?editable 수정가능 Multi-Column Client-Sortable Dropdown Select Box 페이지가 리스트로 페이지 또는 메뉴에 대한 플러그인 http://stilbuero.de/jquery/tabs/#fragment-29 tag http://rikrikrik.com/jquery/pager/#download *페이지 처리 http://jdsharp.us/jQuery/plugins/jdMenu/1.3.beta2/jdMenu-demo.html 체크박스 http://jquery.bassistance.de/validate/demo-test/radio-checkbox-select-demo.html http://labs.freakdev.com/jquery/fCheck/pizza.php http://kawika.org/jquery/checkbox/ 폼 http://www.lexcat.ro/nicejforms/nicejforms.html http://jquery.bassistance.de/validate/demo-test/ 회원등록 http://jquery.bassistance.de/validate/demo-test/errorcontainer-demo.html 로그인,파일첨부 http://jquery.bassistance.de/validate/demo-test/ajaxSubmit-intergration-demo.html 로그인 유효성 검사 http://jquery.bassistance.de/validate/demo-test/custom-methods-demo.html 필드 유효성 검사 http://www.studioindustryllc.com/icontact.html Security Code 달력 http://marcgrabanski.com/code/jquery-calendar/ http://kelvinluck.com/assets/jquery/datePicker/v2/demo/ http://pttimeselect.sourceforge.net/example/index.html timeselect 미디어 http://jquery.lukelutman.com/plugins/flash/example-basic.html flash 넣기 http://www.sean-o.com/jquery/jmp3/ mp3 파일넣기 http://malsup.com/jquery/media/video.html 미디어 박스 창 띄우기 http://jquery.com/demo/thickbox/ http://www.aspstat.com/jbox/demo.htm 박스 창띄기기(크기조절가능) http://dev.iceburg.net/jquery/jqModal/ 화면 waiting http://malsup.com/jquery/block/#page 스크롤바 http://kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html 문서보기 http://malsup.com/jquery/media/misc.html 플래쉬효과 http://medienfreunde.com/lab/innerfade/#n2 tip http://www.codylindley.com/blogstuff/js/jtip/, http://edgarverle.com/BetterTip/default.cfm http://www.dave-cohen.com/node/1186 http://jquery.bassistance.de/tooltip/ icon http://icon.cat/software/iconDock/ 구글 지도 http://www.dyve.net/jquery/?googlemaps http://projects.sevir.org/storage/jqmaps/index.html 기타 color선택 http://www.wanderinghorse.net/computing/javascript/jquery/colorpicker/demo-colorpicker.html text에 highlightFade http://jquery.offput.ca/highlightFade/ 박스 resize http://dev.iceburg.net/jquery/jqDnR/ 박스 애니메이션 http://dev.jquery.com/~paul/plugins/animateClass/
by Anna 안나 2008. 12. 14. 19:21
안녕하세요?? 전 올해 대학생 1학년생인 프플신녀입니다^^ 제가 작년 수능보고 나서 바로 프랭클린 플래너를 사고 나서 지금까지 쓰면서 느낀 여러가지들과 제가 직접 터득한 노하우를 공개할까합니다~^^;; 5년이상 분들은 이런 5개월밖에 안된 저의 노하우가 아무것도 아니라고 생각하실지 모르겠지만 저 나름대로 플래너를 쓰면서 불편한점들을 제가 직접 터득해 만든 아주 어렵게 만든 거에요~^^;; 그냥 어린 여자애가 그냥 저러고 싶구나~ 하시면서 그러려니 생각해주시길^^;;
저의 텝은요~ time-wellbeing-music-science-saying-H.J.C-TOEIC입니다~


컴팩유저구요~ 일반 바인더에요~^^;; 뭐, 플래너 바인더에는 정말 이쁜 바인더들이 많죠?? 하지만 전 가방에 갱신히 들어가 절 쩔쩔매게 하는 이기적이고도 소중한 이 일반 바인더가 좋습니다~^^;; 왠지 가방에 갱신히 들어가면 이 자식이 밉다가도 어느샌가 제가 이 자식을 사랑하게 되더라구요~^^;;


제일 처음 표지는 줄표시 없는 컷어웨이구요~ 그 다음으로 제일 처음 오는 페이지는 '주인에게 돌려주세요!'라는 문구와 함께하는 페이지에요~^^;; 여학생이라면 누구나 한명쯤은 있는 좋아하는 남자연예인^^;; 전 진심으로 좋아하는 한 가수의 사진으로 시각적으로 저 좋으라고 붙여놨어요~^^;;


스타터세트 사면 그 플래너 가이드 텝, 가치텝 이런거 있잖아요~ 전 그걸 잘 안보게 되더라구요. 그래서 전 그냥 제가 제일 중요하게 생각하는 가치와 목표, 사명서들을 그 다음 페이지에 놔서 제가 항상 볼 수 있게 해두었어요~



프랭클린 플래너 사이트에 우연히 가보았는데 로그인을 하니까 스트레스 테스트? 이런게 있더라구요~ 처음 가입해서 공짜로 준 포인트로 테스트 해보았는데 저에게도 좀 많이 중요한 내용이 많아서 이렇게 인쇄해서 끼워두었어요~ 여러분도 한번 사이트 가보셔서 해보시길~^^;;


제가 제일 신경쓰고도 많이 보는 페이지에요~ 월간계획 앞부분에 있는 곳인데~ 잊어버리면 안되는 계획들은 항상 이 곳에 먼저 써놓고 나중에 정리할 때 이거 보면서 써요~ 계획 내용을 쓰고 나서 그 계획을 완료하면 초록색 펜으로 체크표시를 해두어서 시각화해서 내가 얼마나 많이 미실시한 계획이 많은지를 알 수 있어요~



월간계획부분이에요~ 파란색글씨는 별로 안중요한거구 빨간색으로 쓴 건 반드시 해야하는 일이에요~ 중간에 주황색으로 박스친 것은 제일 중요한 주를 표시한거에요~



제가 제일 좋아하는 페이지고 많이 보는 페이지에요~ 우선순위부분에 빨간색은 꼭 해야하는 거구, 파란색은 그 나머지일이에요~ 전 되도록이면 사소한 것까지 빠트리지 않으려고 한답니다~ 노트부분은 무엇을 쓸까 고민 많이 하실텐데요~ 전 왼쪽 좁은 상자부분에는 개인적인 일이면 개인1, 개인2 이런식으로 쓰고, 공부에 관한 일이면 업무1, 업무2 이런식으로 써서 얼마나 개인적인 일이 많은지 업무적인 일이 많은지를 알 수 있게 했어요~ 오늘 계획 실행하면서 기억나거나 내일 해야할 일은 여기 오늘의 기록사항에 적어두구요. 왠만하면 다 꽉채우지는 않아도 반 이상만 넘으면 오늘 하루 마감 잘 했구나 하고 칭찬해줍니다~


그 다음 텝은 time 텝이에요~ 제가 제일 중요시하는 가치는 전공공부고 그 다음 제일 중요시하는 가치가 바로 절약이에요~ 절약에는 시간절약도 포함되구요. 그래서 그 가치를 제대로 실행하려고 따로 텝을 추가했어요~ 제가 전공한 과목을 처음 공부할 땐 저렇게 외우는게 많답니다.ㅠㅠㅠ 지하철이나 버스 안에서 시간날때마다 시간활용하는 셈으로 저걸 외우고 있습니다~



그 다음텝은 wellbeing텝이에요~ 제가 너무 운동을 안 하는것 같아서 스트레칭이라도 하려고 이렇게 자료 인쇄해서 틈틈히 따라해봅니다~ 그리고 먹으면 몸에 좋은 음식들이나 요리하는 법들을 여기에다가 적어두어요~


제가 제일 좋아하는 취미가 음악듣기에요~ 인터넷방송국 M4Ucast를 아시는지~ 공중파라디오는 게스트를 불러 인터뷰하는 형식이라서 좀 저 자신에 대해서 반성하고 생각하는 자리가 안되는 것 같아서요.. 분위기도 조용하면서도 저 자신에 대해서 반성할 수 있는 시간이 되는 아주 좋은 시간이에요~ M4U매니아죠.ㅋㅋㅋㅋ 엠포유 들으면서 MJ분들이 소개해주시는 곡들 중에 제 느낌에 좋은 곡들은 이렇게 써놓고 나중에 다운받을 때 이걸 보면서 차례차례 다운받아요~ 그리고 제가 제일 좋아하는 MJ분들 방송시간도 위에 적어두어서 항상 들을 수 있게 해두었어요~


제 꿈을 나름대로 적어두어서 머리 속에 박아두라고 크게 문구를 적어두구 왼쪽에는 제가 전공하는 공부 중에 안외워지거나 꼭 외워야하는 내용을 적었구, 오른쪽에는 전공공부를 공부하면서 생기는 질문들을 적는 공간이에요~ 아직 처음이어서 질문은 좀....^^;;; 이 텝을 제일 좋아하고 애착도 많이 가요~^^

그 다음 텝은 SAYING텝이에요~ 날 채찍질해주는 좋은 문구들이나 명언들을 여기에다가 인쇄해서 끼워넣어요~ 지하철 안에서 짜투리 시간 활용하다가 지루하면 명언들을 보면서 저 자신을 채찍질한답니다~


그다음 텝은 H.J.C에요~ 제가 좋아하는 연예인 사진도 인쇄하고 프로필도 인쇄해서 심신이 지치면 이걸 보면서 심신을 달랩니다~^^;; 이걸 볼때마다 잠도 확 깨고 심신이 확 위로됩니다~^^;; 아실랑가 모르겠어요? 워낙 공중파엔 안나오시는 분인지라..............^^;;


그 다음 텝은 TOEIC텝이에요~ 대학생이라서 1학년 때부터 토익공부하면 안된다는 조교님들의 말씀하에^^;; 이렇게 공부를 하고 있습니다. 왼쪽은 듣기나 쓰기 공부하면서 꼭 외워야하는 단어들을 적어두었어요~ 워낙 제가 공부하는 토익교재가 두꺼워서리..... 휴대면에서도 좋고 지하철안에서 공부하는척 안하는 척보여서 좋더라구요~ 오른쪽은 책에 나온 계획표를 제가 직접 쓰고 아래에는 그 교재에서 제공하는 공부방법을 썼어요~ 이걸 보면서 하루동안 공부해야하는 분량을 체크한답니다~


그 다음 텝은 독서텝인데요~ 독서 가치로 많이 세우셨을 거 같은데...... 좀 더 폭넓은 독서를 목표로 세우신 분들은 도서에서도 여러 종류가 있잖습니까?? 인문, 사회, 과학, 종교, 철학, 소설 등등등........ 전 이걸 종류별로 보고 싶은 도서목록을 써놓은 다음에 나중에 도서관에서 이걸 보면서 책을 빌리곤 합니다~ 이렇게 쓰니까 매일 소설만 보던 제가 교양을 보고 있습니다^^; 그리고 저 주황색을 색칠한 부분은 제가 이 책을 읽고 나서 이 책에 대해서 느낀 점이에요~ 별점평가로 따로 두어서 별 대신에 색칠을 한답니다~ 제목 앞에는 이 책의 소개를 보고 난 후의 나의 느낌을 간략하게 적었어요~ 뭐, 보고 싶으면 기대라고 써놓고 별로 보기 싫으면 반기대 이렇게 써놓죠.......


제가 제일 중요시하게 생각하는 위클리 콤파스에요~ 앞부분에 날짜 쓰는 란 위에 주간목표를 써두어서 항상 볼 수 있게 끔 했구요~ 역할은 목표가 주간마다 바뀌긴 해도 가치는 실행하려고 꼭 써놓는 역할도 있고 계속 추가되는 역할도 있어요~ 목표부분에는 제가 주간목표를 실행하기 위해 필요한 일들을 적어두었어요~


제가 생각해낸건데요~ 일요일에 여러분이 세우신 주간목표와 그 역할과 가치 실행의 여부를 이렇게 뒷면에다가 써놓으면 어떨까 이런생각을 했거든요~ 맨 위에는 주간목표를 또 뒤에다 써두고 그 아래에는 저번주의 나는 어땠나? 이번주의 나는 어떨까? 내용을 써넣어서 플래너의 진짜 의미를 실천해가려고 합니다~ 그리고 월화수목금토일을 써넣어서 앞에 있는 역할과 가치들을 하루마다 잘 실행했는지의 평가란을 두었어요~ 빨간색은 아예 못한거고, 초록색은 완료한거고 파란색은 긴가민가구~ 하얀색은 그 가치를 실행하기 위한 계획이 없던 날이었어요~ 예를 들면, 강의 준비를 완벽하게 한다 가 제 역할에 대한 목표 내용인데 그 날은 강의가 아예 없는 날의 경우 하얀색을 붙였어요~ 그리고 주가 끝나는 일요일이 되면 그 스티커들을 보면서 저 자신이 주간 어떻게 했나를 반성하는 시간을 마련해서 나에게 질책하기, 나에게 칭찬하기, 반성하기 를 써넣어서 저 자신을 개발하는 말들을 직접 써두었어요~ 그리고 그 다음 주 계획세울 때 이걸 보면서 나름 저 자신의 태도를 고쳐가면서 주간목표와 역할들을 새로 정하구요. 아직은 많이 부족하지만, 그래도 제가 제일 많이 애착이 가고 손이 많이 가는 보물1호에요~ 이걸 쓰면서 교양도서라는것도 읽게 되었고 신문이란것도 매일 보게 되었답니다~^^;; 무엇보다도 그 가치나 역할을 실행하기 위한 도구뿐이라는것도 깨닫게 되었고, 그 가치나 역할을 실행해준데 제일 필요한 것이 바로 위클리 콤파스라는 것도 알게되었어요~ 아! 네임플레이트 고민 하시는 분들! 네이버 블로그에 '애플의 라벨 뮤지엄입니다' 라는 제목의 블로그가 있는데 거기 가보시면 정말 이쁜 그림도 있고 네임플레이트도 있어요! 저 거기서 다운받아서 인쇄한 네임플레이트에요~^^;; 폰카라서 화질이 좀 안좋죠??^^;; 그래도 여자분들 중 디자인에 관심 많으신 분들은 위의 블로그 가보시면 좋을거에요~ 자작속지의 중요성을 몰랐습니다. 하지만 2개월이 지나니까 자작속지가 없어서 불편하더라구요. 왠지 정리도 안되고.......... 그래서 시작한 자작속지...... 저 자신에게 맞는 속지를 만들어 쓴다는건 참 좋죠~^^;; 자작속지 귀찮아하시는분들! 귀찮아하지마세요~ 그만큼 자신이 공들여 만들고 자신에게 맞는 속지를 만들어 인쇄해 쓴다는게 얼마나 기쁘고도 좋은 일인지....^^;; 나름 플래너를 쓰면서 터득하게된 것들을 쭉 나열해보았는데.......... 작은 도움이라도 드리고 싶어서 이렇게 씁니다^^;; 저는 플래너는 자기가 정한 목표나 가치를 실행하는데에 도움을 주는 가장 작고도 큰 도구라고 생각합니다^0^
by Anna 안나 2008. 12. 13. 01:39
콤파스 뒷면 활용에 대하여 나름대로 노하우를 가지고 계실텐데요.
부끄럽지만 저도 제 나름의 활용법을 올려볼까합니다.

저는 한동안 뒷면을 아무것도 안쓰고 그냥 끼워두었는데요.
그냥 매주 텅빈상태로 붙여버리니깐 아깝더라구요.

그래서 뒷면을 매일 하루를 "정량적"으로 평가하는 표로 사용하기로
결정했습니다.

제가 체크하는 목록은,

-----------------------------------------------------------
사명/ 요일 월 화 수 목 금 토 일 평가
----------------------------------------------------------
건강
1. 수면시간 (시간)
2. 물많이마시기 (리터)
3. 줄넘기 (회)
-----------------------------------------------------------
자기계발
1. 영어학습 (분)
2. 독서(Page)
-----------------------------------------------------------
관계
1. 칭찬하기 (회)
2. 전화/문자 (名)
------------------------------------------------------------

시작한지 아직 10일째라 체크 목록은 몇가지 안됩니다.
매주 주말 콤파스를 작성할때마다 "정량적"으로 평가할 수 있는
새로운 아이템을 개발할 계획입니다.

1주일 실행한 결과, 칭찬하기가 잘 안되더군요. ^^
혹시 비슷하게 사용하시는 분 있으면 좋은 아이템 부탁드려요.
by Anna 안나 2008. 12. 12. 21:42