http://askubuntu.com/questions/65468/where-can-i-find-a-subversion-1-7-binary


As of Ubuntu 12.10, subversion 1.7 is available as part of the distribution. Subversion can be installed using apt-get.

sudo apt-get subversion

For earlier version of Ubuntu, there is a ppa available at subversion-1.7. The repository can be added as follows:

sudo apt-add-repository ppa:dominik-stadler/subversion-1.7

To get the latest version of subversion update and upgrade the repository.

sudo apt-get update
sudo apt-get upgrade

I needed to also do a dist-upgrade.

sudo apt-get dist-upgrade

I'm assuming that you already have subversion installed, if not:

sudo apt-get install subversion

Posted by TY
,

여태까지 세팅한 서버가 2-30대 되는거같은데 맨날 세팅할 때마다 인터넷 찾아보기도 귀찮고 물어보는 사람도 많아서 귀찮아서 걍 정리해서 올림


이건 대학 과제도 아니고 주는 것도 없으므로 음슴체..-_-


1. 생성

귀찮으니까 네이버 블로그에 과제 땜에 썼던 걸로 대체

http://torisdream.blog.me/20165825658


2. apache설치

sudo apt-get install apache2


2-1. apache2 utf-8로 세팅 [할 이유가 전혀 없지만]

 cd /etc/apache2/conf.d/

 cat charset


내용을 보고 다른 문자열로 세팅되어 있을 경우 주석 지우고 바꿔줌. 아닐 경우 걍 생략


2-2. apache2 port설정

cd /etc/apache2/

cat ports.conf


내용을 보고 Listen과 VirtualHost쪽에 포트 확인인

보통 80일거임


SSL포트는 443이 기본


2-3. 홈폴더 설정

cd /etc/apache2/sites-availables/

vi default


DocumentRoot 이 홈 디렉토리임

권한 문제가 있기 때문에 sudo로 수정해 줄 것


기본은 /var/www로 되있을거임


3. php 설치

sudo apt-get install php5


3-1. php 잘 되었나? 테스트


cd /var/www/

* index.html 이 거슬린다면 지운다


sudo vi index.php

<?php

phpinfo();

?>


뭔가 보라딩딩한거 나오면 잘 깔린거


3-2. php-mysql 깔기 (목적 mysqli를 쓰고 싶다)

sudo apt-get install php5-mysql

sudo /etc/init.d/apache2 restart


아까 보라딩딩한거에서 새로고침해서서 mysqli 검색해서 나오면 잘 깔린거


3-3. mcrypt 깔기기

sudo apt-get install php5-mcrypt

sudo /etc/init.d/apache2 restart


다시 보라딩딩한거 새로 고침해서 mcrypt 검색해서 나오면 잘 깔린거


4. mysql 설치

sudo apt-get install mysql-server mysql-client


보라딩딩한 화면에서 패스워드를 입력하려고 한다

꼴리는대로 칠 것


4-1. 잘되었나? 확인해보자

mysql -u root -p 

접속 잘됨?


exit로 빠져나오셈

친절하게 Bye도 나옴

가끔 이걸 바꾸고 싶다는 생각이 들 때가 있지만 영 귀찮아서 알아보지도 않음


4-2. 유니코드 세팅(한글이 되게 하자)


cd /etc/mysql

ls -l | grep my.cnf


없냐? 그럴리 없다능..

일단 기존거 백업부터 해놓자

sudo cp my.cnf my.cnf.old


여기부터는 조금 복잡함

mysql restart했는데 뻑나면 my.cnf.old로 복구시키고 다시 수정하고 이러길 바람 이거 뻑나면 오도가도못함 디비 접속도 못하고 서버도 안올라감. 그래서 백업하라고 하는 거임


근데 한두번 해봤으면 뻑나기도 힘듬


http://oddly.tistory.com/60


여기 2부터 따라할 것. 링크 누르기 귀찬흐면 아래꺼 볼 것

[mysql] 이런 대분류가 있는데 그 아래 추가하란거임


[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci


init_connect=SET collation_connection=utf8_general_ci

init_connect=SET NAMES utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8


대충 이런거임


나는 별 지장 없어서 안하고 innodb폴더를 통째로 떠서 관심없는데 dump뜨는걸로 증분백업하는 사람들은

[mysqldump]에도 default-character-set을 지정해줘야함



다 했으면 mysql 껐다켜보기

mysql stop/waiting

start: Job failed to start


이렇게 뜨면 망한거임


대체 왜망했죠 


라고 하면 가끔 물어보는 사람들이 있는데

제발 복사 붙여넣기 해라 지네가 따라쳐서 오타내놓고 안된다고 난리치고 그러지좀 말고  한글자라도 틀리면 서버 안올라간다


어쨌든 저거 나오게 할라고 고의적으로 오타 한 번 내봄 ㅎㅎ;


5. svn 자동 업데이트 파일


벌써부터 느껴지는 왜 svn을 쓰냐는 geek님들의 눈총이 느껴지는데

저는 bitbucket과 github를 애용한다구여

그냥 사정상 svn을 쓸 일이 다 있는거임

왜냐면 난 힘없는 개발자니까....


난 CUI별로 안좋아해서 GUI tool 꼭 써야겠는데, osx라서 곤란함.


나도 돈내고 cornerstone사서 쓰는거 싫음

나도 무상 github client나 sourcetree같은거 쓰고 싶은데


뭐 세상이 제맘대로 되나여 ㅎㅎ


5-1. svn client 설치

sudo apt-get install subversion


http://www.brightlemon.com/blog/checkout-svn-php


요거 보고 참고해서 만드세여


페북이나 네톤으로 요청하면 제꺼드림 ㅎㅎ



Posted by TY
,

php에서 getimagesize함수를 이용할 경우 이미지에 대한 정보를 얻어올 수 있다.

http://php.net/manual/en/function.getimagesize.php


하지만 reference에 영어로 써있다. (사실 읽기도 귀찮음)


간단한 설명을 붙이자면


$info = getimagesize($filepath)

와 같은 방식으로 이루어져있다. 


$filepath에 이미지의 경로를 주고, $info에서 이미지에 대한 정보를 얻어온다.


Array ( [0] => 1280 [1] => 800 [2] => 3 [3] => width="1280" height="800" [bits] => 8 [mime] => image/png )



이런 식으로 얻어오게 되는데 설명은 다음과 같다.


0: width

1: hieght

2: ?

3: width와 height의 크기를 문자열로(아마 img 태그에 그냥 박으라고 주는 것 같다)

bits: 비트 수 

mime: mime type(아마 이미지 종류를 판별하기 위해 필요한 듯 하다)


2번은 모르겠는데


Index 2 is one of the IMAGETYPE_XXX constants indicating the type of the image.


라고 써있다. 그냥 무시하기로 결심했다.

Posted by TY
,

django date출력시..


{date자료형|date:"표현식"} 을 넣으면 되는데..


기준 시간: 2012-11-26 05:53:04 (KST)


a, A: 오전, 오후(해당 언어를 따라가는 듯 하다)

b: 월 (11월 이런식으로 표기됨)

B: 없는 듯.. 에러난다

c: 년-월-일T시:분:초 로 표기됨

C: 그냥 'C'가 나옴. 뭐죠

d: 날 만 나옴(26 이렇게)

D: 요일(월요일)

e: 암것도 안나옴

E: 월(11월 이렇게 나옴.. b랑 차이가 뭘까)

f:시:분

F: 또 월이 나옴(11월)

g,G: 시간이 숫자만 나옴(5시면 5 이렇게)

h,H: 시간

i:분

I: 0 (왜죠?)

j: 일이 나옴(숫자만)

J: 'J' 가 출력됨

k,K: 'k'가 출력됨

l: 월요일

L: True (?!)

m: 월 숫자만

M: 월 뒤에'월'글자 붙음. 11월

n,N: 각각의 m,M과 같다

o: 년도 나옴

O: GTC +몇인지 (+09:00이 나오므로 추측)

p: 알파벳

P: 시:분 오전/오후 (5:53 오전 이렇게 나옴)

q,Q: q/Q가 나옴

r: 요일, 일 월 년 시:분:초 GTC

R: 'R'

s: 초

S: th(추측 불가.. 월요일인데)

t: 30 (왜 나온지 알 수 업슴)

T: KST(시간 대역)

u: 0 (?)

U: 타임스탬프 출력됨(1353876784)

v: 'v'

V: 'V'

w: 1 (의미 이해 불가).. 요일이 아닐까? 1은 월요일?-_-;

W: 48 (의미 이해 불가)

x: 'x'

X: 'X'

y: 12 (년도의 뒷 2개 숫자인듯?)

Y: 2012(년도 4자리 인듯)

z: 331 ??

Z: 32400 ??


예를 들어서.. 

년-월-일 로 표기하고 싶다면,

{{date|date:"Y-m-d"}}

이런식으로 표기하면 된다.


음.....

새빠지게 삽질해보고 오니 이런 문서 발견

https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs


-_- 난 장애인인가

Posted by TY
,

환경:

OS: Mac OSX 10.8.2 (Mountain lion)

WAS: Python Django 1.4.1

DBMS: MySQL 5.5 community edition

Browser: Chrome 버전 23.0.1271.64 (OSX용)


TinyEditor는 굉장히 가벼운 wisywig richtext editor이다.  이리저리 검색을 해보다가 사용하게 되었다.


홈페이지: http://www.scriptiny.com/2010/02/javascript-wysiwyg-editor/


사용법도 간단하고, 쉬운데 언제나 wisywig에디터의 문제인 'post'였다. 많은 wisywig에디터를 이용해보았고, 대부분 post, dosubmit 등의 함수가 있는데. TinyEditor는 그대로 쳤는데 안되는 것.


tinyeditor 홈페이지에는 다음과 같이 기재되어 있다.


삽입 예제: http://www.scriptiny.com/qa/2134/tinyeditor-php-integration-help


form에서 onsubmit에서 에디터의 instance.post() 함수를 호출하는 것.

<form id='editor' action=admin.php method=post onsubmit='editor.post();'>


와 같은 식으로 호출을 하게 했다. 여기서 editor라는 instance는, 아래에서 알 수 있다. tinyeditor를 생성하는 부분을 살펴보자.


new TINY.editor.edit('editor',{
 
                        id:'input',
 
                        width:584,
 
위에서 굵게 처리한 'editor'가 바로 인스턴스 이름인데, 저렇게 해서는 넘어오지 않는다. (크롬의 문제인가? 내 mac에는 webkit기반의 browser밖에 깔려있지 않고, 다른건 귀찮아서 테스트해보지 못하겠다. 이제 webkit의 세상이 온다구요. 하하.)

하지만 저렇게 해서는 TextArea는 value를 얻어오지 못한다. 네트워크 통신을 감시해도 넘어오는 값이 없다는 것을 쉽게 알 수 있다. 

그래서 자바스크립트콘솔을 이용해서 좀 지질하게 파싱해본 결과.

onsubmit에 함수를 하나 매핑해서 처리했다.

   <!-- form definition -->
<form id="sendForm" method="POST" action="/result/" enctype="multipart/form-data" onsubmit="dosubmit()">
   
   //Javascript function definition
function dosubmit(){
var fileName = document.getElementById("img").src;
                    fileName = fileName.substr(fileName.lastIndexOf('/')+1);
                    document.getElementById("filename").value = fileName;
                    tinyeditor_contents.post();
                    $("#desc").val(tinyeditor_contents.t.value);
}
           //TinyEditor create
var my_instance = new TINY.editor.edit('tinyeditor_contents', {
id: 'tinyeditor',
width: 584,



저런식으로 사전에 post()함수를 호출해준 후에 instance.t.value 로 호출을 하면 값을 얻을 수 있다.

관련된 정보를 명확히 얻을 수 없기에 기재한다. 



Posted by TY
,

'Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause'


나를 4시간동안 뻐큐먹인 에러문. sync db를 못해서, 테스트를 못함. ㅜㅜ


에러 난 이유:


timestamp 가 current_timestamp가 default인 칼럼을 두개 만들지 마라.... 말랜다... 그냥 정신 멍하고 귀찮아서 구글에서 검색만 하다가, 제정신을 차려보니 나를 공격함.


한 마디로..


class Foo(models.Model):

    bar   = UnixTimestampField(auto_created=True)

    bar2  = UnixTimestampField(auto_created=True)


이걸 하지 말란거임.. ㅜㅜ (파이썬)

Posted by TY
,

요즘 감성 폭발이라 화면에 뭐만 떠도 괜히 화가 나서.  예전에 포맷하기 전에 다 꺼놨는데, 안되서 기억을 더듬으며 어떻게 해야 할지 생각 중에 해결 방법을 찾아냄. 사실 인터넷에 널리고 널린 해결법이지만... 오기-.-;




이미지 캡쳐가 뜨면, 왼쪽 하단에 버튼이 하나 있다. 네모 안에 위로 향하는 삼각형이 있다. 그걸 누르면 그림과 같이


이 iPhone이 (... 면 다음을 열기:


라고 뜨는데, 저기서 애플리케이션 없음. 을 선택하면 안 뜬다


전화 받으러 갈 때나 잠깐 어디 갈 때, 노트북 두고 핸드폰만 뽑아놓고 가는데. 다시 와서 꽃으면 저거 떠서 귀찮았는데 그냥 꺼버림.


Posted by TY
,

참다참다 못참아서 그냥 설정 뒤집어 깜.


환경: 

- mbp 13" early 2011 (2.7@Intel core i7, ddr3 4G, hd graphics 384mb)

- osx 10.8.2 (mountain lion)

- mysql 5.5.27



1. /etc/my.cnf 가 없어요!


Open Terminal (in Utilities folder under Applications folder) 

cd /usr/local/mysql/support-files/
sudo cp my-huge.cnf /etc/my.cnf

and enter your admin password when prompted. You could do this from a non-admin account by using the su command, but that's probably a bit scary for some people ;) 

You will now have a copy of my.cnf in /etc (just in case you don't know, that means the etc folder directly under the root folder, not under MySQL's install folder) 

You can edit it with a text-editor such as TextWrangler by using File->Open Hidden, or if you are happy to use the command line, use: 

cd /etc

출처: http://forums.mysql.com/read.php?11,366143,376017#msg-376017

2. 이제 설정을 덮어씌워요!

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci


init_connect=SET collation_connection=utf8_general_ci

init_connect=SET NAMES utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8


를 각각에 추가


출처: http://mirwebma.tistory.com/5


3. 껐다 켜요!







4. 확인을 해봐요 !



와 된다 ..ㅋ.. 그 전에 만들어 놓은 테이블들은 어쩌죠...ㅋ...ㅋ.. 다 날려야징..ㅋ..ㅜㅜ

Posted by TY
,

* 해당 글은 raphaeljs.com 의 글을 번역한 것이며, 어떠한 수익, 영리적 목적이 없습니다. 라파엘JS 측으로부터 공식적인 허가를 받았음을 알립니다.

* 라파엘의 공식 홈페이지는 http://raphaeljs.com/ 이곳이며, Raphael JS는 이하 '라파엘'로 통칭하겠으며, 특별히 영문 풀네임을 써야 하는 경우에만 이용하겠습니다.

 

* 개인 계정에 소스를 포킹해서 올릴까 했지만, 트래픽 용량이 걱정되어 그만두었습니다. 원 사이트와 양식이 다를테니, 원 사이트를 참조하시며 보는 것을 추천합니다.

 

* 이전 글 리스트

 

2012/08/06 - [My study/Web] - [Raphael JS] Raphael JS 번역 1 - 메인 페이지

 

Animation

 

Animation.delay(delay)


 기존에 생성된 애니메이션 객체에 다른 지연시간(delay)을 주어 생성한다.

 

인자

 

 

인자명 

자료형 

설명 

 delay

number 

애니메이션의 시작으로부터 실제 애니메이션이 시작되기까지의 지연시간 설정. 단위는 ms(mili  second, 1/1000 초)로 설정한다. 

 

반환형

 

 

 반환형

 설명

 object

 새로 생성된 애니메이션 객체를 반환한다.

 

예제 소스

 

var anim = Raphael.animation({cx: 10, cy: 20}, 2e3);
circle1.animate(anim); // 애니메이션이 즉각 실행되도록 설정한다

circle2.animate(anim.delay(500)); // 애니메이션이 500ms 이후에 실행되도록 설정한다

 

Animation.repeat(repeat)

 

  기존에 생성된 애니메이션 객체에 반복 회수를 주어 생성한다.

 

인자

인자명

자료형

설명

repeat

number

 애니메이션이 반복될 횟수를 지정한다. 무한 반복되게 설정하려는 경우 인자에 Infinity를 패스하도록 한다.

 

반환형

 

반환형

설명

object

새로 생성된 애니메이션 객체를 반환한다.

 

Element

Element.animate(...)


인자(속성)에 맞는 애니메이션을 생성하고, 시작하게 한다.

 

인자

 

인자명

자료형

설명

params

objects 

넘어오는 Element(가 object로 넘어온다는 뜻)의 마지막 속성을 가져온다. Element.attr 참조

ms

number 

애니메이션의 재생 시간 (단위: ms)

easing

string 

완화되는 방식을 선택한다. Raphael.easing_formula 의 멤버 중 하나나, CSS 포맷인 cubic-bezier(xx, xx, xx, xx) 방식을 사용할 수 있다.

callback

function

애니메이션이 끝날 때 호출될 콜백 함수를 지정한다.

혹은

animation

object 

애니메이션(Raphael.animation) 객체

 

반환형

 

반환형

설명

object

생성된 객체

 

Element.animateWith(...)


Element.animate 랑 비슷하게 작동하지만, 지정된 애니메이션들이 동시에 시작하는 것을 보장한다.

 

인자

인자명

자료형

설명

el

objects

동기화할 원소

anim

objects

동기화할 애니메이션

params

objects

넘어오는 Element(가 object로 넘어온다는 뜻)의 마지막 속성을 가져온다. Element.attr 참조

ms

number

애니메이션의 재생 시간 (단위: ms)

easing

string

완화되는 방식을 선택한다. Raphael.easing_formula 의 멤버 중 하나나, CSS 포맷인 cubic-bezier(xx, xx, xx, xx) 방식을 사용할 수 있다.

callback

function

애니메이션이 끝날 때 호출될 콜백 함수를 지정한다.

혹은

element

objects

동기화할 원소

anim

objects

동기화할 애니메이션

animation

object

애니메이션(Raphael.animation) 객체

반환형

반환형

설명

object

생성된 객체

 

Element.attr(...)


원소의 속성을 설정한다

 

인자명

자료형 

설명 

 attrName

string 

속성명 

 value

 string

속성값

혹은 

 params

 object

 속성값을 K-V(key-value)형태로 객체로 전달. (attrName, value)

혹은 

 attrname

 array

 속성명

혹은 

attrNames 

 array

 속성명들, 이 경우에는 주어진 이름들에 대한 속성값들을 반환한다

 

반환형

반환형

설명

object

속성명과 속성값이 전달된 원소를 반환

 

반환형

설명

...

속성명(attrName)만 인자로 넘겼을 경우, 그 속성명(attrName)에 해당되는 속성값만 반환

 

반환형

설명

array

attrnames로 속성명들을 여러개 넘겼을 때, 그 속성명들에 대한 값을 반환

 

반환형

설명

object

아무 인자도 넣지 않았을 때, 속성 객체를 반환

 

가능한 인자들

* SVG 명세서를 참고하면 해당 인자들을 좀 더 쉽게 이해할 수 있다(http://www.w3.org/TR/SVG/styling.html)

 

 

 인자명

자료형 

설명 

 arrow-end

 string

 path의 마지막에 화살표 머리를 든다. 다음과 같은 형식으로 설정한다.  <타입>[ -<두께>[-<길이>]]]
타입: classic, block, open, oval, diamond, none
두께: wide, narrow, midium
길이: long, short, midium

 clip-rect

 string

콤마(,) 나 스페이스로 분류된다. x,y,가로,세로 와 같은 방식으로 정의. 

 cursor

 string

css 의 커서 타입 

 cx

 number

원이나 타원의 x축 중심 좌표 

 cy

 number

원이나 타원의 y축 중심 좌표

 fill

 string

색이나, 그라디언트나 이미지  

 fill-opacity

 number

fill의 농도 

 font

 string

 

 font-family

 string

 

 font-size

 number

글씨 크기(단위: 픽셀) 

 font-weight

 string

 

 height

 number

 

 href

 string

어떤 원소를 하이퍼링크처럼 쓰고 싶을 때, URL을 입력 

 opacity

 number

 

 path

 string

SVG path 스트링 포맷 

 r

 number

원, 타원, 가장자리가 둥그런 렉트의 반지름 

 rx

 number

 타원의 수평 반지름 

 ry

 number

 타원의 수직 반지름

 src

 string

 Element.image 원소에서만 작동하는 이미지 주소

 stroke

 string

 스트로크 색상

 stroke-dasharray

 string

 [“”, “-”, “.”, “-.”, “-..”, “. ”, “- ”, “--”, “- .”, “--.”, “--..”]

 stroke-linecap

 string

 [“butt”, “square”, “round”]

 stroke-linejoin

 string

 [“bevel”, “round”, “miter”]

 stroke-miterlimit

 number

 

 stroke-opacity

 number

 

 stroke-width

number 

 스트로크의 두께(단위: 픽셀), 기본값은 1

 target

string

 href를 이용할 경우 사용

 text

 string

 text원소의 내용. \n 을 멀티라인을 구현할 때 쓸 수 있다.

 text-anchor

 string

 [“start”, “middle”, “end”], 기본값은 “middle

 title

 string

 툴팁에 표시될 제목

 transform

 string

 Element.transform 참조

width 

 number

 

 x

 number

 

 y

 number

 

 

그라디언트

 

선형 그라디언트 표현 형식: "<각도> - <색깔>[-<색깔>[:<비율>]]*-<색깔>"

예시) (90도 각도로 흰색에서 검은색으로 바뀌는 그라디언트) "90-#fff-#000"

         (0도 각도로 흰색에서 20%지점까지 빨간색이 되다가 검은색으로 바뀌는 그라디언트) "0-#fff-#f00:20-#000"

 

광선(각도)형 그라디언트 표현 형식: "반지름[(<x가중치>, <y가중치>)]<색깔>[-<색깔>[:<비율>]]*-<색깔>"

예시) (흰색에서 검정색으로 0.25, 0.75 지점에서 바뀌는 그라디언트) "r[0.25, 0.75]#fff-#000"
* x가중치와 y가중치는 0과 1 사이이며, 원 혹은 타원에만 적용 가능

 

경로 문자열

 

http://www.w3.org/TR/SVG/paths.html#PathData 를 참고. 모두 지원함.

 

색 파싱 방법

 

  • 색 명칭 (“red”, “green”, “cornflowerblue”, 등)
  • #••• — 짧은 HTML 색상 표시: (“#000”, “#fc0”, 등)
  • #•••••• — 긴 HTML 색상 표시: (“#000000”, “#bd2300”)
  • rgb(•••, •••, •••) — rgb 채널값: (“rgb(200, 100, 0)”)
  • rgb(•••%, •••%, •••%) — rgb 채널값을 비율로 표기: (“rgb(100%, 175%, 0%)”)
  • rgba(•••, •••, •••, •••) — rgba 채널값: (“rgba(200, 100, 0, .5)”)
  • rgba(•••%, •••%, •••%, •••%) — rgba 채널값을 비율로 표시: (“rgba(100%, 175%, 0%, 50%)”)
  • hsb(•••, •••, •••) — hsb(hue, saturation, brightness)값 : (“hsb(0.5, 0.25, 1)”)
  • hsb(•••%, •••%, •••%) — hsb값을 비율로 표기
  • hsba(•••, •••, •••, •••) — hsba 값
  • hsl(•••, •••, •••) — hsb값과 거의 유사하다, 참조 Wikipedia page
  • hsl(•••%, •••%, •••%) — hsl값을 비율로
  • hsla(•••, •••, •••, •••) — hsla값
  • hsb와 hsl은 선택적으로 hue를 도(degree) 형식으로 표기할 수 있다.: “hsl(240deg, 1, .5)” 만약 당신이 간지나게 표기하고 싶다면: “hsl(240°, 1, .5)
  •  

    Element.click(handler)


    해당 원소의 클릭 이벤트 리스너를 설정

     

    인자

    인자명

    자료형

    설명

    handler

    function

    click 이벤트 핸들러

    반환형

    반환형

    설명

    object

    해당 원소 반환

     

    Element.clone()


    해당 원소를 복제

     

    반환형

    반환형

    설명

    object

    해당 원소를 복제한 원소

     

    Element.data(key, [value])

     

    새로운 데이터를 추가하거나, 이름만 주어질 경우 해당 키에 맞는 값을 반환. Element.removeData 참조

    인자

    인자명

    자료형

    설명

    key

    string

    저장하려는 데이터의 값

     value

     any

    저장하려는 값 

     

    반환형

    반환형

    설명

    object

    해당 원소 반환

     

    반환형[만약 key 값만 넣었다면]

    반환형

    설명

    any

    key에 해당하는 값

     

    사용 예

     

    for (var i = 0, i < 5, i++) {
        paper.circle(10 + 15 * i, 10, 10)
             .attr({fill: "#000"})
             .data("i", i)
             .click(function () {
                alert(this.data("i"));
             });

     

    Element.dblclick(handler)


    해당 원소의 더블 클릭 이벤트 리스너를 설정

    인자

    인자명

    자료형

    설명

    handler

    function

    더블 클릭 이벤트 핸들러

    반환형

    반환형

    설명

    object

    해당 원소 반환

     

    -------------

     

    두시간 반을 했는데 겨우 이만큼밖에 못했네요 ㅠㅠ 번역보다 표그리는게 더 일이군요~

    Posted by TY
    ,

    * 해당 글은 raphaeljs.com 의 글을 번역한 것이며, 어떠한 수익, 영리적 목적 없이 그냥 개인 공부용으로 번역함을 알립니다. 저도 허락받고 쓰는 글이 아니라서 퍼가시거나 그런건 좀 찝찝합니다 -.-;

     

     번역을 오랜만에 하는거고, 또 인터넷에 글을 올리는게 거의 없던 일이라 잘 써질지 모르겠습니다.

    라파엘의 공식 홈페이지는 http://raphaeljs.com/ 이곳이며, 현재는 이 곳의 메인페이지를 번역합니다.

     

     Raphael JS는 이하 '라파엘'로 통칭하겠으며, 특별히 영문 풀네임을 써야 하는 경우에만 이용하겠습니다.

     

    1. 메인페이지

     

    -     이게 뭐지?

      라파엘은 웹에서 벡터 그래픽 작업을 할 때, 일을 더 쉽게 해결해줄 수 있게 만들어주는 가벼운 자바스크립트 라이브러리이다. 예를 들어 당신만의 고유한 차트나, 이미지를 자르거나 돌리는 위젯을 만들 때 라파엘을 이용하면 좀 더 쉽고 간단하게 할 수 있을 것이다.

     라파엘은 이미지 생성에 SVG(W3C 권고안) 과 VML을 기본적으로 사용한다. 즉, 당신이 생성한 모든 그래픽 객체는 DOM 객체로 만들어지며, JS의 이벤트 핸들러를 추가하거나 수정할 수 있다는 이야기다. 라파엘의 목적은 만들어진 벡터와 그림들해서 쉽고, 크로스 브라우징을 지원하게 하는 것이다.

     라파엘은 현재 Firefox 3.0 이상, Safari 3.0이상, Chrome 5.0이상, Opera 9.5이상, IE 6.0이상을 지원하고 있다.

     

     *역자 주: SVG는 HTML5를 지원하는 대부분의 브라우저는 지원을 합니다. 그러나 그렇지 않은 브라우저들, 국내에서는 점유율이 높은 IE7과 8을 생각할 수 있는데요. IE7과 8은 VML을 지원하므로 크로스 브라우징이 원활히 지원됨을 이야기하는 것 같습니다.

     

    - 어떻게 쓰는거야?

     raphael.js를 다운받아서 네 페이지에 넣어, 그리고 이렇게 쉽게 쓸 수 있지.

     

     // Creates canvas 320 × 200 at 10, 50
    var paper = Raphael(10, 50, 320, 200);

    // Creates circle at x = 50, y = 40, with radius 10
    var circle = paper.circle(50, 40, 10);
    // Sets the fill attribute of the circle to red (#f00)
    circle.attr("fill", "#f00");

    // Sets the stroke attribute of the circle to white
    circle.attr("stroke", "#fff");

     

    - 데모들

     

    은.. 다 그림이라 페이지가서 직접 확인하시길 :)

     

    http://raphaeljs.com/

     

    Posted by TY
    ,