2007년 6월 7일 목요일

네이버 :: 지식iN

Quoted from http://kin.naver.com/open100/db_detail.php?d1id=1&dir_id=10503&eid=aJOeVsxG3rif7LuArTx+AOelNY4F80SZ&qb=x8O3ob3DILvnv+vHz8H2IL7KtMIgtvPAzLrqt6+4riC/67eu:

[플래시]플래시 - 플래시 작업시 유용한 사용법



1.메뉴보다 빠른 단축키(Hot Key)들



플래시를 사용할 때 메뉴보다 단축키를 이용한 작업이 더 빠르기 때문에 알아두면 좋을 것이다.



● 작업할 때 편리한 단축키

Ctrl+N : 새로운 작업창을 불러들 일 때 Ctrl+O : 이전에 작업한 플래시 문서를 불러들일 때

Ctrl+S : 저장 Ctrl+Shift+S : 다른 이름으로 저장

Ctrl+C : 오브젝트 복사 Ctrl+V : 복사한 오브젝트를 붙이기

Ctrl+P : 플래시 작업한 것을 인쇄할 때 Ctrl+A : 모든 오브젝트를 선택할 때

Ctrl+R : 외부 파일 불러오기(음원이나 비트맵, 일러스트레이터에서 작업한 SWF 파일을 불러오고자 할 때)

Ctrl+Shift+V : 복사한 오브젝트를 제자리에 붙이기

Ctrl+Shift+S : 오브젝트의 크기를 픽셀이 아닌 %단위로 조절한다.(수치 값 입력)

Ctrl+Shift+R : 오브젝트를 회전시키고자 할 때(수치 값 입력)

F8 : 선택한 오브젝트를 Symbol로 만들 때

Ctrl+F8 : 새로운 Symbol을 만들 때 쓴다. 이걸 실행하면 바로 심벌편집을 할 수 있다.

Ctrl+B : 외부에서 불러온 비트맵이나 텍스트, 그룹으로 되어 있는 오브젝트를 개별적인 오브젝트를 만들 때 사용한다. 또한, 이 단축키는 무비 테스트(Ctrl+Enter)할 때 Ctrl+B하면 무비의 전체 용량과 초당 프레임 수 등 무비에 대한 전체적인 정보를 알 수 있다.

Ctrl+G : 개별적으로 되어 있는 오브젝트들을 그룹?시킨다.

Ctrl+SHift+B : 작업창에서 Button symbol을 테스트 할 때

Ctrl+U : 플래시 작업을 할 때 사용자에게 편하도록 여러 가지 설정을 할 수 있다.



● 패널에 관련된 단축키

Ctrl+I : Information panel을 연다. Ctrl+T : Transform panel을 연다.

Ctrl+L or F11 : 심벌의 창고인 Library panel을 연다. F9 : Action panel을 연다.



● Frame에 관련된 단축키

F5 : Frame을 삽입 F6 : Keyframe을 삽입

F7 : Blank Keyframe(빈 키프레임)을 삽입 Shift+F5 : Frame을 삭제

Shift+F6 : Keyframe을 삭제





2.무비 크기를 줄이기 위한 10가지 방법



플래시 무비는 되도록 파일 크기가 작은 게 좋으므로 여기에 정리한 내용을 기억해 둡시다.



1. 두 번 이상 같은 오브젝트를 사용할 때는 반드시 심벌로 등록하여 사용한다.



2. 필요없는 프레임과 키프레임은 반드시 삭제한다.

특히 빈프레임이라고 그대로 두지 말고 제작하다 생겨난 불필요한 프레임들은 삭제하여 정리한다.



3. 무비를 제작하고 나서 스테이지 바깥에 나와 있는 오브젝트 중에 필요없는 부분은 반드시 제거한다.



4. 필요없는 레이어나 라이브러리 안의 무비에 사용하지 않은 오브젝트들은 모두 제거한다.



5. 비트맵화일은 되도록 사용하지 말고 사용하더라도 정적인 요소로만 사용한다.

비트맵 파일을 불러 왔을 때는 Break Apart(Ctrl+B)를 해서 심벌이나 그룹화를 시켜주면 무비크기를 줄일 수 있다.



6. 개별 오브젝트들은 가능하면 그룹화하고, 벡터 이미지들은 될 수 있는 한 최적화한다.



7. 사운드는 가능하면 MID, MP3, WAV 순으로 사용한다.



8. 레이블이나 주석을 사용하면 파일 크기가 커지므로 꼭 필요한 때만 사용한다.



9. 다양한 폰트의 사용과 색상 적용 및 크기가 조정은 피한다.



10. 선은 Brush tool(브러시 툴)보다 Pencil tool(연필 툴)을 이용해 그린다.





3.플래시 작업을 할 때 알아두면 좋은 것들



1. layer가 너무 많을 경우에는 레이어 폴더를 만들어서 정리하는 것이 좋다.



2. 무비를 만들 때 심벌이 많아지는 경우들이 많은데, 라이브러리 패널(Ctrl+l or F11)을 열어서 폴더를 만들어서 관련된 심벌끼리 모와 두면 좋다. 그러면 찾고자 하는 심벌을 빠르게 찾을 수가 있다.



3. View메뉴나 작업창에서 마우스 오른쪽버튼을 눌러서 Ruler, Grid, Guide Line를 나타나게 하고 작업을 하면 정교한 작업을 할 수 있다.



4. 무비를 만들 때 Tweening은 Shape Tweening은 가급적이면 피하고 Tweening을 하고자 하는 오브젝트를 심벌로 만든 다음에 Motion Tweening을 해주는 것이 좋다. 이유는 Shape Tweening 지나치게 많이 사용하면 무비속도와 사용자 컴퓨터에 영향을 줄 수가 있기 때문이다.



5. Information panel과 Transform panel은 항상 열어놓고 작업한다. Information panel은 마우스로 오브젝트를 이동하는 것보다 정확한 작업을 할 수 있다.(이건 Properties패널에서도 할 수도 있지만, 저 같은 경우엔 Flash5 시절부터 공부를 했기 때문에 Information Panel에서 하는 것이 습관화되어 있습니다.^^) Transform panel은 오브젝트를 자기가 원하는 각도로 회전을 하거나 비틀 때 수치 값을 입력하면서 작업하면 편리하다.



6. 액션 패널은 안보이도록 하는 것이 좋다. 이유는 작업창의 크기를 차지할 수가 있기 때문에 액션을 입력하고자 할 때는 F9를 누르거나 오른쪽 버튼을 눌러 단축메뉴에서 Action메뉴를 불러와서 작업하면 된다.





7.Window-Save Panel Layout은 자기가 자주 쓰는 패널들을 열어두고 이걸 실행하면 이름을 입력하라는 대화창이 나오는데, 자기가 원하는 이름을 타이핑하고 OK하면, Window-Panel Set에 가면 방금 전에 자신이 저장한 이름이 있다. 여기서 Default Layout은 플래시를 깔고나서 플래시를 처음 실행시켰을 때의 Panel Layout으로 보여지게 하라는 것입니다





4.자주 쓰는 플래시 액션스크립트 용어



● 액션스크립트(Action script) : 플래시에 기반을 두고 있는 객체 지향 스크립트 언어를 말합니다.



● 도트 표기법(Dot Syntax) : 플래시4까지에서의 슬래시 표기법과는 달리 플래시5부터 쓰이기 시작한 액션 스크립트 표기법으로 점(.)으로 변수의 행동이나 속성 또는 경로 등을 나타냅니다. 도트 표기법으로 바뀌면서 액션 스그립트가 실질적인 객체 지향언어가 되었습니다.



● 오브젝트(Object) : 객체를 나타내는 것으로 모든 사물이 대상이 될 수 있습니다. 오브젝트는 속성(Property)이나 행동양식(Method)을 가지고 잇습니다.



● 속성(Property) : 어떤 오브젝트의 성질, 성격을 말합니다.



● 메소드(Method) : 어떤 오브젝트의 행동양식을 나타냅니다.



● 레이블 또는 라벨(Label) : 프레임에 입력하는 주소 내지는 인스턴스 네임정도 생각하면

된다.



● 인스턴스 네임(Instance name) : 일종의 별명을 말합니다. 무비 클립 심벌에 인스턴스 네임을 붙여주고 특정 역할을 부여하기 위해서 사용됩니다. 플래시 MX 버전부터는 버튼 심벌에도 인스턴스 네임을 붙여줄 수 있습니다.



● 루트(_root) : 절대 경로의 루트, 즉 메인 스테이지를 가리키는 말입니다.



● parent : 상위 또는 부모 디렉토리를 가리키는 말로서, 상대 경로를 나타내는 경로 지정 스크립트입니다.



● 변수(Varible) : 말 그대로 항상 변하는 수를 담고 있는 그릇의 역할 하는 것을 말합니다. 메모리에 가상으로 저장공간 만듭니다.



● 표현식(Expression) : flash=10; 이라는 식을 예로 들어 flash에 10이라는 값을 담아둡니다.



● 문자식(Lieral) : flash="best";라는 식을 예로 들어 변수 flash에 “best"라는 문자 겅보를 담아 둡니다.



● 등호(=) : 수학에서의 계산식과는 달리 액션 스크립트에서는 오른쪽의 데이터를 변수에 넘겨주는 것을 뜻합니다. 즉, flash=10; 이라는 식에서 10이라는 값을 변수 flash에 넘겨주는 것을 말합니다.



● 함수(function) : 어떤 객체(오브젝트)의 행동양식이나 속성 또는 변수들에 일정한 값을 주게 되면 그 값을 처리해 결과 값을 돌려줍니다. 액션 스크립트에서 함수를 사용하려면 반드시 함수 선언이 이루어져야 하며, 함수가 선언된 부분의 액션은 함수를 호출하지 않는 이상 실행되지 않습니다.



● 내장 함수 : 플래시에 이미 함수로 정의되어 있는 함수를 말하는 것으로 일반 사용자들이 쉽게 가져다 쓸 수 있도록 플래시 개발들이 미리 만들어둔 것을 말합니다.



● 절대경로(Absolute Path) : 말 그대로 절대 경로를 나타내는 것으로 메인 스테이지, 즉 _root에서부터의 경로를 나타냅니다.



● 상대경로(Relative) : 현재 위치의 자신을 중심으로 하여 다른 곳에 위치한 객체의 경로를 나타낼 때 사용합니다.

● 레벨(level) : 숫자가 높을수록 무비, 즉 화면의 맨 위에 나타나고 아래 레벨은 가려집니다.

2007년 5월 23일 수요일



나루호도 찌 매듭법은 일본의 야마모토 하찌로 명인이 은어낚시 채비에서 힌트를 얻어 개발한 매듭법으로 면사대신 나일론사(모노필라멘트)0.8-1.5호를 사용한다.(단 카본 목줄을 사용하면 안됩니다.) 이찌 매듭법은 찌구슬이 없어도 2b-3b 봉돌이나 수중찌를 달아도 통과 되지 않는다.

이 찌 매듭은 제로 채비에 많이 사용되었는데 요즘은 천조법,전유동,전층조법등에서 다양하게 사용되고 있고 특히 천조법에는 거의 필수적이라 할수있다. 이 찌 매듭법의 사용은 위의 조법으로 낚시를 하다가 입질이 들어오는 수심층을 완전히 파악했을때 이 매듭법을 이용하여 수심을 맞취 집중적 조과를 얻고 입질이 없어 졌을때는 다시 구멍찌에 수동으로 매듭을 통과 시켜서 아래로 내리고 다시 전유동을 할수 있어 아주 편리하게 사용할수 있다 그리고 찌의 입수 모양으로 어종을 판별도 가능한데 벵에돔 감성돔의 입질은 찌 매듭이 찌를 통과하지 않고 찌가 입수하고(속도가 느린 잡어의 입질에도 이와 비슷한 형태가 된다) 잡어의 입질인 경우는 (학꽁치,고등어,전갱이등)찌 매듭이 우선 찌를 통과하고 후에 2차적으로 찌가 입수되는 현상을 보이게 된다. 하지만 전층조법에서는 대구경찌를 사용하기 때문에 위의 설명과 맞지 않을때도 있다. 하지만 이런경우가 아니라도 입질이 왔을때, 찌매듭이 찌를 통과하기에 이물감을 느끼지 않아 바늘이 걸린 상태에서 2차적으로 찌가 잠수하게 된다.

2007년 5월 22일 화요일

바다낚시 기초

▷바닷물고기는 수백종에 이르고 있으나 약 백여 종이 낚시의 대상이 되며 잘 낚이는 것은 약 오십 종 뿐이다.
낚시방법과 장소에 따라 낚이는 물고기가 다르다.
갯바위나 항구, 하구 등 육지쪽에서 낚는 낚시외에도 바다 깊은 곳에서 낚는 배낚시도 있다.

1.갯바위낚시
바위 근처에서 하는 낚시이며 이곳은 물이 깊고 흐름이 빠르다.
그래서 다양한 물고기가 모여들고 포인트가 형성된다.
대상어는 돌돔, 자바리 등 대형어로부터 벵에돔, 감성돔, 줄무늬 전갱이, 부시리, 벤자리 등의 상물과 쏨뱅이, 쥐노래미, 넙치 등의 저물까지 다양하다.

2.해변가 낚시
모래사장에서 수심이 어느 정도 깊은 곳의 물고기를 낚으려면 던질낚시를 해야 한다.
대상어는 넙치, 가자미, 보리면, 양태, 조기, 쥐노래미, 농어 등이다.

3.항구, 방파제 낚시
항구나 방파제가 바다의 어느 곳에 위치하느냐에 따라 대상어가 달라진다.
기본적으로 갯바위 낚시, 해변가 낚시의 대상어 대부분이 낚이지만 특히 항구나 방파제가 외해에 접해 있으면 갯바위 낚시의 대상어가 많이 잡히고 내해에 있으면 해변가 낚시와 하구 낚시의 대상어가 많이 잡힌다.

4.하구낚시
하구는 민물이 바다로 흘러드는 어귀이므로 민물낚시에 속할수도 있으나 바닷물고기인 문절망둑, 농어, 가자미, 숭어, 감성돔 등이 던질낚시나 배낚시로 낚을 수 있다.

5.난바다 낚시, 배낚시
배를 타고 이동하면서 낚으므로 바다에 있는 물고기의 대부분이 이 방법으로 낚을 수 있다.
얕은 곳에서부터 수심이 50m나 되는 암초대, 심지어는 수심 수백 미터나 되는 심해에서도 낚을 수 있다.
바다낚시의 대부분은 배낚시라고 해도 과언이 아니다.

6.트롤링(저인망 낚시)

물로기가 떼로 무리지어 있는 수면 부근까지 배를 타고 나가 미끼 또는 그물망으로 낚는 방법이다.
외국에서 주로 사용하는 낚시법으로 직업 어부에게만 허용되고 있다

뜰채의 사용법 :
고기를 완전히 물 위로 뛰우면 뜰채를 편다.
고기를 몰아서 머리쪽부터 뜰채에 넣고 낚시대를 낮추고 원줄을 약간 풀어 준다.
고기가 뜰채에 들어온 것을 혹인하고는 뜰채를 접는다.
뜰채는 절대 들어서는 안되며 손잡이 앞에서 부터 천천히 접어 넣는다.
이때 낚시대는 양 무릎 사이에 끼운다.

▷고기의 신선도 유지법 :
고기의 비린내나 고기의 살에 피가 베이는데는 이유가 있다.
고기에 대해 잘 아는 사람들은 살아 있을때 피를 빼버린다.
피가 몸에 도는 것을 막고 생선 비린내와 바다 냄새를 제거하는 동시에 고기의 신선도를 유지하는 중요한 처리 방법이다.
감성돔이나 농어 등은 꿰미에 꿴 채 피를 빼고 바다에 떨어뜨려 흔들면 피가 깨끗이 빠진다.
고기에 에 칼집을 내고 몸을 꾸부려서 피를 빼기도 한다.
피를 빼는 위치는 감성돔의 경우 눈과 아가미선 상을 찌르면 되지만, 위치를 모를 때 아가미를 칼로 찌르면 된다.
고기가 움직일 때는 칼을 잘 다루어서 손을 다치지 않게 조심한다.

▷감성돔 릴 찌낚시의 기본은 밑밥으로 감성돔을 유인해서 낚는 것이다.
특히 크릴을 미 끼로 사용하는 흘림낚시는 미끼를 조류에 얼마나 자연스럽게 밑밥띠와 동조시키면서 감성돔이 있는 수심까지 서서히 가라앉느냐가 중요하다.
밑밥을 조류에 흘려보내 감성돔을 불러 모으기 위해서는 우선 조류를 잘 파악해야 한 다.
주변을 잘 관찰해서 포인트를 결정하면 밑밥을 한 두 주걱 물에 던져 그 지점의 조 류 흐름을 파악한다.
조류의 방향, 속도 등이 파악되면 채비를 던져 조류가 흐르다 멈 추거나 돌아나가는 지점이 없는지 탐색해본다.
만약 그런 곳이 있다면 그곳에 포인트 가 형성될수 있게 조류의 속도나 방향을 생각하면서 조류의 상류에 밑밥을 투여한다.
미끼가 밑밥띠와 동조되어 흐르게 되면 조금전 보아둔 포인트로 미끼가 흘러갈수 있도 록 뒷줄을 조작한다.
이때 찌보다 미끼가 먼저 흐를 수 있도록 뒷줄을 조절해 주어야 감성돔의 시야에 목줄이 잘 보이지 않게 되어 자연스런 입질을 유도할 수 있다.
감성돔을 한마리 걸었을 때에도 주위의 감성돔들이 도망가지 않게 하기 위해 한손으 로 대를 잡고 다른 한손으로는 밑밥을 투여해줘야 한다.
이때 흔히들 성급하게 포인트 에 직접 투여하는데 이것은 오히려 감선돔의 경계심을 유발시켜 감성돔 무리를 쫓아 버리는 결과가 될 수도 있음을 기억해야 한다.
밑밥 투여의 가장 중요한 점은 한 곳의 포인트에 감성돔을 불러모아 낚는 것으로 같 은 물때에는 같은 포인트에만 투여해야 감성돔 무리가 흩어지지 않는다.

보통의 경우 다음과 같은 몇가지 상식만 알고 있으면 많은 도움된다.

첫째
릴 찌낚시에서 사용되는 밑밥은 대부분 크릴과 집어제를 혼합하여서 사용한다.
집어제는 집어 효과를 높이면서 먹이 활동을 활발하게 하는 작용을 하는 것이고 실제 로 감성돔을 모아두는 것은 크릴이다.
그러므로 크릴의 침강 속도를 정확히 알아야 하 는데 이것은 미끼를 밑밥띠와 효과적으로 동조시키기 위한 것이므로 크릴의 침강속도 를 파악하는 것이 좋다.

둘째
크릴은 밑밥과 반죽하기 전에 잘게 부수어야 한다.
냉동되는 과정에서 크릴의 머리 부분에 가스가 차기 때문에 그냥 반죽만해서 투여할 경우 크릴이 제대로 가라앉 지 않아 미끼와 동조시킬 수가 없다.

셋째
조류의 지류대를 이용해야 한다.
본류대에 밑밥을 투여할 경우 센 조류가 아니더 라도 밑밥은 모두 떠내려 가버리므로 목적하는 집어 효과를 기대하기 힘들다.
다만 먼 곳에 있는 감성돔을 유인하는 효과는 기대할 수 있으나 지류대를 이용하는 것에 비 하면 그 효과가 작을 수 밖에 없다.

넷째

밑밥은 인공적인 포인트 형성이 목적이지만 조류를 이용해 자연스럽게 포인트로 유입되게 하면 그 효과가 배가 된다.
엉뚱한 곳에 밑밥을 뿌려 포인트에 모여 있던 감 성돔까지 다른 곳으로 쫓아내는 실수를 해서는 안된다.

다섯째
밑밥은 항상 조류의 상류에 투여하되 들물때는 조금씩 날물때는 많이 투여한다.
들물때는 물고기들이 느긋하게 먹이활동을 하지만 물이 빠질 때는 불안해 하며 이 동하기에 급급 하기때문에 많은 밑밥으로 물고기를 포인트에 묶어 놓아야 한다.

여섯째
밑밥은 처음 반죽했을 때보다 시간이 지나면 크릴이 녹으면서 생긴 물때문에 질어지는데 질어지는 것을 대비해 약간의 집어제를 여분으로 남겨두었다가 점도를 조 정한다.

일곱째
시간이 지나면 물 흐름도 바뀌므로 수시로 조류의 방향과 세기를 체크해 조류 의 상황에 따라 투여지점을 바꾸어야 하다.

여덟째
잡어떼가 설칠 경우 잡어떼밑에 감성돔이 있다는 사실을 기억해야 한다.
잡어 떼의 입질이 있을 경우 잡어떼를 피하여 미끼를 내려보낼 수만 있다면 감성돔의 입질 을 받을 수 있는 가능성이 크기때문에 잡어떼를 피해는 방법을 연구하면 도움이 된 다.

아홉째

밑밥은 크릴3개, 습식 또는 건식 집어제 1봉지, 압맥(보리쌀) 1봉지 섞어 사용 하는 것이 일반적인 밑밥만드는 방법이다.
중요한 것은 과연 감성돔이 밑밥에 섞여 있는 그 많은 크릴을 다 놔두고 자신의 채비 에 달린 미끼만을 물기를 바라는 것은 잘못된 생각이다.
수 많은 밑밥용 크릴 무더기 중에서 내 바늘에 달린 미끼(크릴)가 아주 자연스럽게 그 리고 가장 먹음직스럽게 보이도록 유인을 해야 한다.
그러기 위해서는 밑밥에 섞는 크릴을 잘게 부술 필요가 있다. 잘게 부숴진 크릴은 잘 가라앉는 장점도 있지만 자잘한 크릴 가루 속에서 빛나는 큼직한 크릴 한 마리는 감성 돔의 식욕을 돋구기에 충분한 역활을 한다.
그리고 밑밥은 너무 아끼지 말고 그렇다고 너무 자주 주지는 말아야 한다.
.

▷물때는 바다낚시를 즐기려는 낚시꾼이라면 누구나 알아야 할 '낚시 시간표'라고 할수 있다.
물때를 모르고 바다낚시를 떠난다는 것은 이미 50%의 실패 확률을 가지고 떠난다는 것 을 의미한다.
특히 이제 막 갯바위낚시에 입문한 낚시인이라면가장 먼저 익혀 두어야 할 것이 바로 물때인 것이다.
초보낚시꾼일수록 마음이 먼저 앞서 낚시대를 들고 바다로 나서는 경우가 대부분이다.
또 한 물때만 볼 줄 알면 언제 낚시를떠나야 되고, 또 어느 곳을 출조 지로 잡아야 하는가 등의 계산도 가능하기 때문에 합리적인 출조가 가능해진다.

조석현상
은 해면의 완만한 주기적 상승(밀물과 썰물)을 말한다.
보통은 하루에 두 번 씩 주기적으로 일어난다.
어떤 곳은 하루 한 번 불규칙적으로 일어나기도 한다. 따라 서 오늘 재미 본 물때와 가장 유사한 물때는 보름 후에나 다가오게 된다.
만약 자신 이 재미본 포인트가 유독 그 물때에만 호황을 보이는 자리라면, 3∼4일이 경과한 후에 는 미련없이 다른 포인트로 출조지를 옮기는 것이 바람직할 것이다.
또한 몇 물때는 몇 시부터가 만조이고 몇시부터가 간조인가를 미리 파악할 수 있기 때 문에 하루중 어느 시간대를 집중 공략하고 어느 시간대에 휴식을 취할 것인가를 미리 파악할 수 있다.

기본적인 물때표 보는 방법과 물때의 지역적 특징, 물때표 없이도 대강의 물때를 알아 낼 수 있는 방법 등에 대해서 알아보자.
사리물때를 갯바위낚시의 황금물때라고 하는 데는 두 가지 이유가 있다.
첫째 이유는 조류 흐름이 활발하기 때문에 물고기들의 활성도가 최고조에 이른다는 점 이고,
두 번째 이유는 당일 낚시의 경우 낮시간동안 들물을 두 번 보며 낚시를 즐길 수 있다는 점이다.

여수권의 사리 물때와 조금 물때를 예로 들어 물때별 특성을 알아 보자 예를 들어 남해안 여수의 12월 두 번째 사리(14일) 물때는 오전 들물이 새벽 3시경에 시작돼 오후 9시경 만조에 이른다.
따라서 새벽 5시경에 포인트에 내린 낚시꾼들은 곧바로 들물을 만나게 되므로 바로 낚 싯대를 담그면 된다.
또 한 이른 새벽은 모든 어종들이 왕성한 입질을 해대는 시간대이 기 때문에 들물과 새벽의 만남은 갯바위낚시의 황금 물때라고 할 수 있다. 이후 들물 이 최고조에 이르는 만조(오전 9시경)를 지나 오후 3시경이 되면 다시 오후 초들물이 시작되는데, 낚시인들은 아직도 해가 중천에 떠 있는 상황에서 두번째 들물을 맞게 된 다.
포인트에 따라 조금씩의 차이가 나긴 하지만 감성돔의 입질은 초들물 한 두시간 사이 에 집중되는 것이 일반적이다. 따라서 철수 시간이 오후 6시라 하더라도 충분히 초들 물 낚시를 즐길 수 있기 때문에 하루에 들물을 두 번이나 볼 수 있게 된다.

반면 조금 때는, 조류가 약한 것도 문제지만 날이 밝을 때 초들물을 만날 기회가 단 한 번밖에 없기 때문에 낚시인 입장에서 보면 여러 모로 손해다.
만약 조금 때(12월 22일) 새벽 6시경 포인트에 상륙한다고 가정하면 물때상 중썰물을 지나 이제 막 간조를 향하는 시간이기 때문이다.

일반적으로 들물 때는 입질이 집중되는 감성돔낚시에서는 최악의 시간대라고 볼 수 있 다.
결국 낚시인은 약 3시간 동안은 별다른 입질을 받지 못한 채 밑밥만 주다가 오전 10시경 부터나 감성돔 입질을 기대할 수 있게 되며, 오후 3시경의 만조 시간에 맞춰 낚시를 마감하는 것이 일반적이다.
다음 들물은 약 8시간 뒤인 밤 10시경에나 찾아오므로 밤낚시를 하지 않는 이상 그날 또 다시 들물을 만날 수 있는 기회는 없는 것이다.
그러나 조금 때라 해서 무조건 썰 물 시간대를 포기하는 것은 바람직하지 않다.
특히 새벽 시간대는 물때와 관계없이 감성돔의 먹이활동이 활발할 시간이기 때문에 충 분히 감성돔을 뽑을 수도 있다.
따라서 낚시인의 입장에서 보면 당연히 조금때 보다 는 사리때 맞춰 출조날을 잡는 것이 유리하며, 특히 전문 출조점을 통한 출조가 많은 직장인의 경우엔 사리 때를 출조일로 잡는 것이 좀 더 긴 손맛을 보는데 유리할 것이 다.

서해안 지역의 물때 선택 사리때가 황금 물때로 꼽히는 남해안과는 달리 수심이 얕고 뻘밭이 많은 서해안 지역 은 가급적 사리 물때를 피하는 것이 좋다.
조류발이 점차 세지기 시작하는 6물 이후부터는 물빛이 흐려지기 시작해 조류가 가장 거세지는 9물∼11물 경우엔 서해권 전역에 뻘물이 진다.
감성돔은 물빛이 아주 맑은 것보다는 약간 탁한 정도를 선호하지만 사리 물때를 전후한 때는 조과가 급격히 떨어 진다.

아무리 밑밥을 주고 감성돔을 불러 모아도 뻘물 탓에 감성돔이 미끼를 발견할 수 없 기 때문이다.
대 신 참갯지렁이와 같이 냄새가 강한 미끼를 사용해 감성돔을 낚아내는 경우도 있으나 그런 경우는 악조건 속의 차선책일 뿐, 서해권을 잘 아는 전문 낚시인 들이라면 십중 팔구 서해안으로 낚시를 떠나지 않거나 남해안쪽으로 출조지를 바꾼 다. 따라서 서해안 지역은 부득이 물발이 죽기 시작하는 조금을 전후한 물때를 선택해 출 조일을 잡아야 하는데 조금 때라고 해서 무조건 호황을 거두는 것은 아니다.
조금 물때는 물색만 맑아질 뿐이지 조류 흐름이 약해지고 물색도 너무 맑아 감성돔이 갯바위 가까이 잘 붙지 않는 경향이 있기 때문이다.

따라서 무조건 조금 물때에 맞춰 낚시를 가라는 맹목적인 물때 선정 보다는, 조류가 점차로 약해지는 죽는 물때(11∼조 금 사이)나 서서히 살아나기 시작하는 사는 물때(1∼5물 사이)에 맞춰 출조일을 잡는 것이 바람직하다.
동해안은 물때보다 파도 흔히 동해의 감성돔낚시는 파도밭 낚시라고 말한다.
그만큼 파도가 조황에 지대한 영 향을 미치기 때문이다.
물빛이 맑고 수심이 얕은 지역이 대부분이라 파도가 없는 날은 아무리 물때가 좋아도 감성돔이 연안 가까이 잘 붙지 않는다.

특히 동해안 낚시인들은 다른 바람 보다도 동 풍을 기다렸다가 낚시를 떠난다.
동 풍이 불어야 갯바위쪽에서 파도가 생겨나기 때문이 다. 또한 동해안에서 파도가 치는 날의 낚시라 함은 최소한 낚시인이 갯바위에 올라서서 낚시를 할 수 있을 정도를 의미하기 때문에 파도가 약한 날은 확실히 물때가 뒷받침되 어야만 감성돔 입질을 기대할 수 있다.
만약 음력 날짜를 제대로 외우고 있지 못해 물때를 구분하기 어려울 때는 밤 하늘에 떠 있는 달의 모양을 보고도 대강의 물때를 알아낼 수 있다.

기본적으로 보름달이 뜨는 날은 사리를 전후한 물때로 보면되고 반달이 떠오른 날은 조금을 전후한 물때로 보면 되겠다 또한 반달이라 하더라도 왼쪽편이 밝은 달이 뜰 경우(상현달)일 경우에 는 물때가 보름 사리를 향해 나아가고 있는 중이며, 오른편이 밝은 달의 경우(하현)에 는 물때가 점차 그믐 사리를 향해 나아가고 있다고 보면 된다.
따라서 사리 물때를 향해 날짜가 진행되어도 상현달이 뜰 경우의 사리가 하현달이 뜰 때의 사리 보다 조류의 세기와 간만조 차가 크다고 생각하면 된다. 포인트의 선정에 있어서도 조류 흐름이 약한 홈통은 사리때를 전후한 물때에 자리를 잡는 것이 유리하고, 상현달이 뜬 날 보다는 하현달이 뜬 날 좀 더 바깥쪽에 자리를 잡는 것이 좋다.

반대로 조류 흐름이 원할한 먼 바다의 간출여 등은 조류 흐름이 약 한 조금때 자리를 잡는 편이 유리하며 하현달이 뜬 날은 상현달이 떠 있는 날에 좀더 작은 여에 내리는 것이 바람직하다.
원도권의 물때시간 파악법 일반 물때표에는 낚시터로 유명한 섬 하나하나마다 물때시각이 나와 있지 않기 때문 에 출항 도시의 물때표를 보고 판단해야 한다.
한 예로 가거도의 경우엔 '대흑산항 표준 -1시간' 이라고 되어 있다. '-1시간'이라는 것은 가거도가 대흑산항보다 간조든 만조든 1시간 빨리 진행된다는 표시이다.
만약에 어떤 섬이 '+1시간'이면 표준항보다 한 시간 늦게 조석현상이 일어난다는 것을 말한다.
그러나 각각의 섬마다 이런 방식으로 물때 시각을 이해하기란 너무 복잡하다.

다음의 방법으로 물때를 기억하면 어떨까.


추자도 완도항보다는 약 1시간, 제주항보다는 약 30분이 늦다.
사리물때에 완도항 아침 초들 물 시각이 대략 4시 전후라는 것을 기억하고 있는 꾼들은 역시 사리물때에 추자도를 갔다면 아침 초들물 시작이 대략 5시라는 것을 쉽게 알 수 있을 것이다. 가거도 목포항이 기준이 된다.
목포보다 약 2시간 가량 만조나 간조시각이 빠르다.
목포항 사 리물때 아침 초들물이 대략 6∼7시이고, 가거도의 사리 초들물시각은 그 보다 2시간 빠른 4∼5시가 된다.
거문도 약 30분 간·만조 시각이 빠르다.
여수항 사리물때 초들물 시각이 대략 새벽 2∼3시. 이제 거문도의 사리물때 아침 초들물 시각은 대충 몇 시에 시작되는지는 쉽게 알 수 있을 것이다.
한편 동해안은 간조와 만조의 차가 아주 작다. 감포 이북은 불과 0.3m, 울산은 0.5m, 부산 이남으로 내려와야 1m 이상의 차이를 보인다.
때문에 만조의 높이 와 간조의 높이 차(조고)에 의해 일어나는 조류는 사리때나 조금때라도 크게 차가 없 는 것이다.
따라서 동해안 낚시는 물때보다는 파도가 더 큰 영향을 미친다.
▷집어제의 사용 :
밑밥을 만드는 방법 녹여 놓은 크릴과 곤쟁이를 밑밥통 안에 넣고 밑밥브랜더로 잘게 부순다.
( 원형 그대로 쓰기도 함.)

밑밥용 파우더를 넣고 밑밥브랜더로 잘 섞는다.
경도를 조절하기 위하여 물을 첨가하면서 브랜더로 잘 섞는다.
상황과 어종에 맞게 빵가루나 압맥 등을 첨가하여 잘 섞는다.
마지막으로 손으로 만져보아 경도를 체크 한다.
집어제의 필요성 노리는 고기를 모으기 위하여 뿌린다.

잡고기들을 다른 곳으로 보내기 위해 뿌린다. 채비를 감추기 위하여 뿌린다.
집어제 투여 방법 정하고 있는 포인트에 흩어지게 밑밥을 뿌리면 잡어들이 모여든다.
조류에 의하여 약 6~8m 정도 밑밥이 흐르면, 정해진 포인트에 채비를 투척하고, 채비를 중심으로 뒤쪽 한 번, 앞 쪽 두번 정도 던져 넣는다.
어느 정도까지 흘러도 입질이 없으면 처음부터 다시 한다.
집어제는 한 번에 많이씩 던지지 말고 조금씩 꾸준히 투여해야 한다.

수중 찌의 용도 수중찌 사용용도는 봉돌(납추) 이라고 생각하면 됩니다.
즉, 물 속에서의 무게는 같은 호수의 봉돌과 같습니다...

수중 찌는 다음과 같이 사용합니다

1.흘리는 기능 수중의 미세한 조류의 흐름을 포착해서 밑밥의 범위 안에 채비를 띄워준다.
바람의 영향을 받고있는 찌를 조류의 방향으로 끌어주고 조류의 흐름을 타게 한다.

2.유인 기능 조류에 따라 찌를 흘리는 중에 원줄을 잡아 견제하거나 조류가 나쁜상황일 때 의식적으로 채비를 끌어 주므로서 미끼의 움직임을 자연스럽게 만들어주므로써 입질을 효과적으로 유도시킨다.

3.정지 기능 .봉돌로는 연출할 수 없는 씨 앵커(닺) 브레이크의 독특한 역할을 한다.
보통 원줄을 잡아당기면 목줄(채비)이 떠오르지만 수중찌를 사용하면 발밑을 노릴 때에도 확실하게 채비를 고정 시켜준다.

4.던지는 기능 맞바람이나 역풍이 불때 멀리 원투를할때 또는 가벼운 어신찌를 보조하는 역할을 한다. 이럴 때는 무게 있는 수중 찌가 모두 대상이 된다

5.보내는 기능 고기가 먹이를 섭이하는 층까지 내려주는 역할을한다.
즉, 봉돌의 기능..이때도 무거운 수중 찌가 좋다.

6.누르는 기능 파도의 상하운동이나 파도에 끌려가거나 밀려가는 어신 찌를 안정되게 잡아주는기능 입니다. 입질이 약할때,날씨가 거칠 때, 파도가 밀어붙일 때 포말지역을 공략하때는 큰 SIZE의 수중찌를 사용하면 좋다.

7.읽는 역할 노란 색이 칠해져있는 수중찌는 수중조류의 움직임을 파악하기 쉽게 해주며 고기가 입질을 했을 때 이를 재빨리 알려주는 역할.. 위의 경우에는 수중 찌를 쓰는 것이 좋지만 바람과 조류의 방향이 거꾸로인 경우에는 수중찌를 쓰면 채비가 아래로 내려가지 않으므로 유의하십시오

▷포인트 선정 :

원 투

조류가 멀리서 흐를 때와 조류가 흐르지 않거나 잡아가 많을 때는 단호히 원투를 선택한다.
직접 본류에 밑밥과 채비를 뿌리는 법과 조류가 움직이지 않을 때 밑밥을 광범위하게 뿌리고 채비를 그 위로 끌어오는 방법이 있다.

* 조류 흐름의 빠르기와 잡어의 정도에 따라 밑밥을 주는 법과 봉돌 채비가 달라 진다.

포 말
"고기는 포말에서 낚아라"라고 말하는 것 처럼 하얀 기포는 고기의 활성을 높이고 목줄이나 낚시인의 모습을 감추게 해 준다.
밑밥을 작은 포말 안에 투입하고 채비를 포말 속으로 흘리고, 앞으로 당겨 다시 흘린다.
포말의 끝 부위에 잠긴여가 보이는 곳은 반드시 공략해 봅시다.

* 아무리 포말이 있어도 조류가 전혀 없다면 죽은포말이므로 고기가 잡히지 않는다.

발밑 직벽
조류의 약간 안쪽과 포말과 포말 사이 등의 패인 곳, 돌출된 곳 등의 그 아래가 포인트가 된다.
파도에 영향을 받지 않는 약간 묵직한 채비가 필요하며 봉돌은 크게 목줄은 약간 짧게 한다.

* 조류가 약간 옆으로 움직이는 듯한 때에 낚기가 쉽다.
포인트 선정에 관하여 일반적으로 초보자들의 경우에는 낚시를 가서 포인트를 선정할때 상당한 어려움이 따르는것으로 알고 있습니다.
포인트 선정시 몇가지 기본 원칙이 있으므로 선장이나 가이드가 내려줄때에 유심히 관찰을 하시 면 조과에 많은 도움이 되실겁니다.
포인트 선정시 크게 수심,조류,수중여,수온에 크게 영향을 받습니다

1.조류--조류는 고기의 움직임에 크게 영향을 줍니다.
본인의 경우에는 가장크게 염두에 두는것이 조류의 형태입니다.
대표적인 포인트는 등여의 메주덩이,소리도 세상여.기름여, 대매물도의요번에 발견된여 등입니다
이런곳을 찿으실때는 본류대가 바로 받히는 곳을 일차적으로 찿으시면 됩니다.
보통의 경우는 조류가 직접 부딛치는곳의 후면이나 측면에 와류가 발생을하는데 주로 본조류에 근접할수록 조과는 뛰어납니다.
이런곳에는 밑밥 효과도 뛰어나므로 품질을 부지런히 하시는것이 좋습니다.

2.수온--수온의 경우는 많은 학설이 나와 있으나 제 경험으로는 가을에는 주로 15도 정도가 왕성한 입질을 보이고 잡어의 극성도 덜합니다.
이경우에는 포인트 선정보다는 출조당일의 조과를 예견하는데 유리합니다.
어차피 수온은 현지에서 알기는 쉽지가 않으니까요.

3.수중여--조류의 소통이 좋고 수중여가 발달된곳이라면 이곳역시 특급 포인트라 할만합니다.
대부분의 꾼들이 즐겨 찿는곳이기도 하구요.
대표적인 포인트라면 등여 계단바위 옆이나 구을비도 중간여. 거제다대의 투구바위등 입니다.
투구바위는 본조류가 받치는곳이라 가을철의 특급 포인트입니다.

4.수심--일반적으로 수심은 가을에는 주로 5~8M 정도 겨울철에는 10M 이상의 수심을 즐겨합니다.
이곳의 남해 동부 지역은 수온이 많이 내려가므로 깊은 수심대가 유리합니다.
대표적인 포인트는 욕지도 총바위일대[20M]이상 양판그미[20M] 매물도 촟대바위[12M],등 주로 겨울에는 10m 이상에서 포인트가 형성이됩니다.
그리고 이곳 남해 동부의 낚시는 주로 가을에는 3~5B의 찌들이 유리하고 겨울에는 바람이나 수심의 관계로 0.8호 이상의 찌들이 주로 사용됩니다.

▷원줄과 목줄, 몇호를 쓸것인가?
- 상황에 따라 다르지만 원칙은 있다.


<<표>>

초급자들이 겪는 어려움 가운데 낚싯줄에 관한 사항을 빼놓을 수 없다.
낚싯줄은 그 용도에 따라 적절한 굵기가 다르지만, 초급자들은 그 기준을 알 수 없어 상당한 고심을 해야만 한다.
릴 찌낚시는 매우 다양한 상황에 적응할 수 있는 낚시 기법이다.
더구나 기존의 감성돔이나 벵에돔을 대상으로 하는 전통적인 릴 찌낚시 이외에 참돔과 농어가 릴 찌낚시 대상어종으로 자리매김 한 지 오래고, 최근에는 돌돔까지 가세하고 있는 상황이다.
이처럼 대상어종이 달라지면 적절한 낚싯줄도 달라지게 된다. 또한 같은 어종을 노리더라도 시즌이나 낚시기법에 따라서도 적절한 낚싯줄이 달라진다.
이처럼 원줄과 목줄은 많은 사항들을 고려해서 선택해야 한다.
자칫 어렵게 생각될 수도 있다. 하지만 기본적인 원리만 알고 나면 어떤 상황에서도 효과적인 원줄과 목줄을 선택할 수 있다.

목줄은 원줄의 1/2 이상으로 사용해야 릴 찌낚시에 쓰이는 낚싯줄은 크게 원줄과 목줄로 나눌 수 있다. 원줄과 목줄 가운데 무엇이 더 중요한지는 딱 부러지게 말하기 어렵다.
하 지만 목줄은 언제든지 새로 묶어서 사용할 수 있으므로 사용 도중 끊어진다 해도 낚시를 계속할 수 있고, 원줄은 경우에 따라서는 이후의 낚시가 불가능한 상황이 전개될 수도 있다는 점에서, 목줄보다는 원줄이 더 중요하다고 할 수 있다.

목줄의 기능에는 여러가지가 있지만, 가장 우선되는 기능은 원줄을 보호하는 것이다.
그렇게 하기 위해서는 기본적으?원줄보다 가늘게 사용하는 게 필요하다.
낚싯줄에 가해지는 힘이 한계에 다다랐을 때 목줄이 먼저 끊어져야 원줄을 보호할 수 있기 때문이다. 어떤 종류의 낚시를 하건 목줄은 원줄보다 한단계 이상 가늘게 사용하는 게 기본이다.

이빨이 날카로운 어종을 상대하는 몇몇 특수한 낚시에서 원줄보다 굵은 목줄을 사용하는 경우도 있지만, 일반적으로 목줄은 원줄보다 가늘게 사용한다.
원 줄보다 가는 목줄을 사용해야 한다고 해서 무조건 굵은 원줄, 또는 가는 목줄을 사용해도 되는 것은 아니다. 원줄과 목줄은 서로 상대적인 측면이 있기 때문에 서로에게 맞는 한계 내에서 선택해야 한다. 원줄에 따른 목줄 선택의 한계는 대략 원줄 굵기의 1/2~1이라고 생각하면 된다.

즉, 3호 원줄을 사용할 때는 1.5호부터 3호까지의 목줄을 사용할 수 있고, 2.5호 원줄에는 1.2~2.5호까지의 목줄을 사용할 수 있는 것이다.
만약 3호 원줄에 1.2호 목줄을 사용하면, 목줄은 자신이 가진 한계에 이르기 전에 끊어지고 만다.
같은 1.2호 목줄이라도 2.5호 원줄에 사용할 때와 3호 원줄에 사용할 때는 견딜 수 있는 한계가 다르다. 이런 현상은 원줄과 목줄의 균형이 맞지 않기 때문에 생긴다.
따라서 3호 원줄을 사용하는 도중, 입질이 약거나 물이 맑아 꼭 1.2호 목줄을 사용하고 싶다면, 2.5호 원줄이 감긴 스풀로 바꿔줘야 한다.

만약 2.5호 원줄로 바꿀 수 없는 상황이라면 차라리 그냥 1.5호 목줄을 사용하는 게 더 낫다.
원줄보다 두단계 가는 목줄이 이상적 원줄에 따라 사용 가능한 목줄 범위가 있지만, 가장 이상적인 것은 원줄보다 한단계만 낮은 것을 선택하는 것이다.
하지만 목줄은 언제나 새 것을 사용하고 원줄은 반복적으로 사용하기 때문에, 시간이 지남에 따라 원줄이 약해진다는 것을 염두에 둬야 한다.

예를 들어
1.7호 목줄을 사용할 때 2호 이상의 원줄을 사용하는 것은 의미가 없다.
그보다 두꺼운 원줄은 목줄에 부담만 줄 뿐이다.
하지만 이것은 어디까지나 원줄이 새것일 때의 얘기다. 반복된 사용으로 원줄이 피로해지는 것을 감안해야 하기 때문에 목줄이 1.7호일 때는 2.5호 원줄을 사용하는 게 바람직하다.
2.5호 원줄을 사용할 때 2호 목줄을 다는 것에 대해 생각해 보자. 2호보다 2.5호가 강하므로, 단순한 계산으로는 별 무리가 없는 채비다.

하지만 이런 채비는, 원줄이 아주 새것인 경우를 제외하면, 채비가 바닥에 걸리거나 대물과 겨루는 등의 상황이 됐을 때 목줄보다 원줄이 먼저 끊어질 확률이 높다.
같은 원리로 3호 원줄을 사용할 때는 2호 목줄까지는 사용할 수 있어도 2.5호 목줄은 삼가는 게 좋다. 다만 원줄이 아주 새 것일 때는 2.5호는 물론, 3호 목줄을 달아도 무리가 없다.
2.5호 원줄에 2.5호 목줄을 달아도 마찬가지다.
원줄이 새 것이라면 원줄과 목줄이 같은 호수일 때 목줄이 먼저 끊어질 확률이 높다.
이는 목줄보다 원줄이 잘 늘어나기 때문에 생기는 현상이다.
원줄이 늘어나면서 힘을 분산시키는 동안, 목줄은 그 힘을 견디지 못하고 끊어지는 것이다.

이처럼 사용할 수 있는 목줄은 원줄의 상태에 따라서도 달라진다.
만약 모처럼 큰 맘 먹고 대물을 노리러 출조한다면, 무엇보다 먼저 원줄을 새 것으로 가는 게 중요하다.
그래야지만 굵은 목줄을 사용해도 마음 든든히 낚시를 즐길 수 있고, 대물과의 승부를 자신감 있게 주도할 수 있다.

최소의 선택이 최선의 선택이다 초급자들에게는 다소 불안한 소리로 들릴 지도 모르지만, 원줄과 목줄은 가늘수록 유리하다.
목줄이 가늘수록 입질을 빨리 받을 수 있다는 것은 분명한 사실이다.
이 유는 목줄이 물고기 눈에 잘 보이지 않기 때문이라기 보다는, 미끼의 움직임이 부드럽기 때문에 생기는 현상으로 해석하는 더 정확하다. 즉, 가는 목줄을 사용할수록 미끼가 자연스럽게 움직이기 때문에 입질 확률이 높아지는 것이다. 원줄도 가늘게 쓸수록 유리하다.
가는 원줄은 찌 구멍을 잘 통과한다는 장점이 있다.
원줄이 찌구멍을 잘 통과하면 같은 수심을 공략하더라도 상대적으로 저부력인 찌를 사용할 수 있어 약은 입질도 잘 파악할 수 있다.
같은 찌를 사용해도 원줄이 가늘면 채비가 빨리 가라앉는다는 이점이 있다.
또한 가는 원줄은 두꺼운 원줄에 비해 많이 늘어나기 때문에 순간적인 충격을 완충시키는 기능이 오히려 더 강하다. 가는 목줄을 사용해도 잘 끊어지지 않는 이유가 이 때문이다.
가는 원줄은 절대적인 강도는 굵은 원줄에 비해 약하지만, 목줄과의 균형을 생각하면 오히려 유리한 점이 더 많은 것이다.

바람이 많이 불 때도 가는 원줄이 유리하다.

줄이 가늘수록 바람에 덜 날리기 때문이다. 따라서 낚시 도중 바람이 세지면 가는 원줄이 감겨 있는 스풀로 교체하는 게 유리하다.
이처럼 낚싯줄은 원줄이건 목줄이건 가늘수록 유리하다.
노리는 어종에 맞는 낚싯줄 가운데 최소 단위의 줄을 선택하면 그만큼 유리한 입장에서 낚시를 즐길 수 있는 것이다.
다만, 너무 가는 줄은 물고기의 힘을 이기지 못하고 끊어질 위험이 높으므로, 반드시 대상어종에 맞는 줄을 사용하는 것을 잊어서는 안된다.

낚싯대 따라 선택 기준 달라진다 어떤 낚싯줄을 사용할 것인가를 결정하는 데 있어 또하나의 변수는 낚싯대다.
낚싯대가 얼마나 완충작용을 하느냐에 따라 낚싯줄이 견딜 수 있는 힘의 한계가 달라지기 때문이다. 감성돔낚시나 벵에돔낚시를 할 때 가장 많이 사용하는 낚싯대는 1호대다.
하지만 최근에는 1.2호나 1.5호, 또는 1.7호, 2호 등의 낚싯대를 사용하는 사람이 점점 늘고 있다.

특히 벵에돔낚시를 할 때는 1호대보다는 벵에돔 전용대인 1.2~2호대를 사용하는 사람이 많다.
영등감성돔낚시를 할 때 역시 1호대보다 강한 낚싯대를 사용하는 사람이 많아지고 있다.
강한 낚싯대는 완충력보다는 탄력 위주로 만들어졌다.
따라서 자체의 힘은 좋지만 외부에서 가해지는 힘을 완충해서 분산시키는 능력은 떨어진다.
따라서 가는 낚싯줄을 사용하면 쉽게 끊어진다는 단점이 있다.
강한 낚싯대를 사용할 때는 굵은 줄을 사용해야 하는 것이다.

감성돔낚시 기본 원줄은 2.5호 감성돔낚시에서 가장 많이 쓰이는 원줄은 2.5호다.
2~3년 전까지만 해도 3호가 가장 많이 쓰였으나, 좀더 효율적인 낚시를 할 수 있는 2.5호가 표준으로 자리잡았다.
최근에는 2호 원줄을 사용하는 꾼도 늘어나고 있는 추세다.
이처럼 갈수록 원줄을 가늘게 사용하는 이유는 앞서 설명한 장점들 때문이다.
특히 감성돔이 있는 수심까지 채비를 내려보내는 시간을 줄일 수 있다는 점이 가는 줄을 선호하게 된 가장 큰 이유다.
여기에 더해 가는 원줄을 사용하면 채비를 정확하면서도 멀리 던질 수 있다.
이는 원줄이 가이드 구멍을 부드럽게 빠져나가기 때문에 얻을 수 있는 장점이다.
따라서 가는 원줄을 사용하면 굵은 원줄을 사용할 때에 비해서 가벼운 찌를 사용할 수 있다.
그만큼 찌 선택의 폭이 넓어지는 것이다. 즉, 가는 원줄은 굵은 원줄에 비해 작고 예민한 찌를 사용할 수 있으므로 훨씬 섬세한 낚시를 즐길 수 있다

========================================>

기본채비와 낚시 장비를 구할수 있는 쇼핑몰은 머털낚시 와 신신낚시를 추천합니다.

다른곳 보다 엄청싸고 일단 물건이 다양하고 그 수량도 엄청나죠

또 빠른 배송과 확실한 a/s로 다른 곳과는 확실히 차별됩니다.

이 두곳을 빼고 는 전부 도토리 키제기 입니다.

다른곳은 볼 필요도 없습니다.


출처: 네이버 지식인

2007년 5월 7일 월요일

자동로그인 주소

네이버 자동 로그인
http://id.naver.com/nidlogin.login?id=아이디&pw=암호



네이버 카페 자동 로그인

http://id.naver.com/nidlogin.login?id=아이디&pw=비밀번호&url=http://cafe.naver.com/카페주소



네이버 블로그 자동 로그인

http://id.naver.com/nidlogin.login?id=아이디&pw=비밀번호&url=http://blog.naver.com/블로그주소



다음 자동 로그인
http://login.daum.net/Mail-bin/login.cgi?dummy=-2085911344&id=아이디&pw=암호&url=http://www.daum.net



다음카페 자동 로그인

http://login.daum.net/Mail-bin/login.cgi?url=http://cafe.daum.net/카페주소/?_top_target=cafe&webmsg=-1&id=아이디&pw=비밀번호&loginmode=normal&x=20&y=5



파란 자동 로그인
http://main.paran.com/mainAction.do?method=paranMainLogin&wbUserid=아이디&wbDomain=paran.com&wbPasswd=비밀번호&wbSurl=http%3A%2F%2Fwww.paran.com%2F&wbFurl=http%3A%2F%2Fmain.paran.com%2Fparan%2Findex.jsp&x=0&y=0



야후 자동 로그인
http://edit.korea.yahoo.com/config/login?login=아이디&passwd=비밀번호&.done=http://kr.yahoo.com/



Google Gmail 자동 로그인
https://www.google.com/accounts/ServiceLoginAuth?continue=http://gmail.google.com/gmail&service=mail&Email=아이디&Passwd=암호&null=Sign+in



Google AdSense 자동 로그인
https://www.google.com/accounts/ServiceLoginAuth?continue=https://www.google.com/adsense/report/overview&service=adsense&Email=아이디&Passwd=암호&null=Sign+in



Google Analytics 자동 로그인
https://www.google.com/accounts/ServiceLoginAuth?continue=https://www.google.com/analytics/home/report?rid&service=analytics&Email=아이디&Passwd=암호&null=Sign+in



태터툴즈 자동 로그인
http://블로그주소/admin/login.php?mode= … icle.php

2007년 4월 1일 일요일

오픈 소스 프로젝트 모음

win32기반의 gcc관련 툴 # Cygwin - Win32에서 GNU 관련 개발툴과 유틸리티를 사용할 수 있게 만들어주는 cygwin에 대한 내용.
MinGW - gcc로 win32 어플리케이션을 만들수 있게 해주는 공식 배포본.
unxutils 이야기 - Karl M. Syring이란 사람이 관리하는 오픈소스 프로젝트입니다. UNIX나 리눅스에서 흔히 사용하는 명령들을 윈도우즈로 옮겨놓았습니다. 인스톨러 형태의 배포본도 있네요.
GNU patch 간략사용법 - 웹에서 퍼왔습니다. patch 화일 만들기 및 적용방법 요약.


2 openoffice #
http://ko.openoffice.org/ - 1.1.3 한국어 버전 다운로드 받는 곳.


3 인스톨러 제작툴 #
NSIS 2 - Winamp로 유명한 널 소프트에서 만든 인스톨러 저작툴입니다. 약간 쓰기 어렵지만, 공개라는 점과 스크립팅 시스템이 거의 상용수준이라는 점이 장점이죠. http://hmne.sourceforge.net/ - 전용 에디터입니다. 간단한 인스톨 스크립트를 만들어주는 위저드 기능 포함. 물론 공개. 델파이로 만들었네요.




4 FTP 관련 #
http://www.gnu.org/software/wget/wget.html - GNU에서 만든 명령행 FTP 다운로드 프로그램입니다. 오픈소스.
http://itooktheredpill.dyndns.org/wput/ - wget의 반대역할을 하는 프로그램입니다. 명령행 FTP 업로드 프로그램인데 쓸만합니다. 폴더전체도 보내주네요. 오픈소스.
http://winscp.sourceforge.net/ - 윈도우즈용 sftp 클라이언트. (sftp는 ssh를 통하여 화일송수신을 구현한 것입니다) 오픈소스 및 공개. 꽤 쓸만함.


5 문서 저작툴 #
Tex - 유명한 조판 언어 tex에 대한 자료.


6 그래프 문서 저작툴 #
Graphviz - AT&T사에서 만든 dot이라는 알고리즘을 구현한 그래프 시각화 툴입니다. 간단히 말하면 '순서도'나 '구조도'를 생성해주는 툴이죠. http://www.spinellis.gr/sw/umlgraph/ - graphviz를 이용한 UML 도해 생성툴. (한글지원이 되는지 미실험)


http://www.ideagraph.net/ - 아이디어를 visual 맵으로 저장해주는 툴. 자바로 제작.
Dia 이야기 - visio 공개판이라 할 수 있는 툴. 그래프 기반의 문서작성 툴. GTK+로 제작.
http://www.gnuplot.info/ - 꽤 오래된 그래프 드로잉 툴. 원래 과학계산용 공식 그래프를 그려주는 툴인데, 간단한 높이필드나 경로체크용 그래프, 산포도등의 용도로 사용해도 좋습니다. 설치도 쉽고 사용하기도 편리합니다.


6.1 프로젝트 일정관리 #
http://ganttproject.sourceforge.net/ - gantt 차트 저작툴. visio외 다른 툴보다도 훨씬 좋고 심플하다. java 1.4이상 요구. 현재 한글깨지는거 해결된 상태


7 프로그래밍 Helper 툴 #
doxygen 이야기 - Doxygen에 대한 내용을 다룹니다. 메뉴얼 번역 및 설치법등등.
CVS - 버전 관리 및 프로젝트 소스 관리시스템인 CVS에 대한 내용입니다. http://subversion.tigris.org/ - subversion이라는 CVS를 개선한 버전관리 시스템입니다. 아파치 서버를 기반 서버로 사용하는 것과 파이선을 이용하는 것이 특징입니다. 아무래도 cvsnt보다는 무거운듯... 대규모 프로젝트에는 괜찮을 거 같다는 생각이 듭니다. tortoisesvn이라는 tortoisecvs 클론이 개발되고 있네요.


http://webcpp.sourceforge.net/ - 여러가지 언어의 프로그램소스를 syntex highlight처리된 html화일로 바꿔주는 프로그램.
autoconf 이야기 - makefile을 자동으로 생성해주는 gnu 툴.
jam 이야기 - perforce사에서 만든 make 대체 툴. C++작업에 유용. boost 라이브러리에 채용.


8 콜백 관리 #
콜백 시스템으로는 크게 시그널-슬롯방식과 메세징 방식이 사용되고 있는데, 주로 GUI라이브러리의 처리에 이용되고 있습니다. MS 윈도우즈는 전통적으로 메세징을 선호하고 있지만, GTK와 Qt와 같은 공개진영과 관련된 곳에서는 시그널-슬롯방식이 많이 사용되는 것 같습니다. 양쪽다 장단점이 있긴하지만... 시그널-슬롯 방식은 국내에는 잘 알려져있지 않을 것 같네요.
http://libsigc.sourceforge.net/ - libsigc++ 이라는 GTK++에 채용된 C++ typesafe 콜백 라이브러리입니다. 보통 boost::signals와 비교되지만... boost의 것은 jam이라는 비make기반의 빌드툴을 사용해야만해서 좀 거부감이....:) sigcpp이야기 - libsigc++에 관한 내용을 정리해둔 것입니다.




9 네트워크 #
netcat - TCP/UDP 패킷 분석 Helper 툴. 간이 서버 및 클라이언트 테스트 용도로도 사용가능. 간단한 RPC툴로도 사용가능합니다! 배포본안에 포함된 실행화일에 트로이목마 바이러스가 걸려있습니다! 압축푸시고 실행화일을 지우신 후 새로 컴파일하시는 것이 좋습니다. netcat 이야기 - readme화일 번역. 자작 mingw용 makefile과 win32용 빌드 실행화일도 있습니다.
http://www.atstake.com/research/ - @Stake라는 회사인데 네트워크 전문 연구소를 소유하고 있음. 위 툴은 hobbit와 chris라는 이 회사 연구원이 개발.
http://farm9.org/Cryptcat/ - netcat에 twofish2 암호화 알고리즘을 붙였네요. 오픈소스. 소스에 twofish2 소스 포함되어있는데 꽤 깔끔합니다.


MRTG 이야기 - multi router traffic grapher. 트래픽 및 기타 정보에 대한 통계 그래프를 웹으로 출력해주는 툴. perl로 작성되어있다. 꽤 잘알려진 오픈소스 프로젝트.
Ethereal 이야기 - 오픈소스 네트워크 분석기. 일명 스니핑 툴이라고 하는데, 패킷을 가로채서 덤프하는 툴이죠. 보통 상용을 쓰는데, 이것도 꽤 괜찮은 툴입니다. 윈도우즈에서는 GUI가 좀 쓰기 그렇다는 단점은 있군요.
STunnel 이야기 - 공개 SSL 프록시 서버 데몬입니다. 간단히 말하면 SSL을 지원하지 않는 서버를 SSL을 지원하도록 하는데 사용합니다.
Snort 이야기 - 공개 IDS 툴(외부로부터 해킹과 같은 침입이 발생했을때 진단하고 알려주는 툴)중에서 유명한 것입니다. 버전업되면서 거의 상용수준의 성능을 자랑합니다.
fragroute - IDC 테스팅 툴.
http://pvpgn.berlios.de/index.php - 블리자드 베틀넷을 공개로 다시 구현한것. 오픈소스.


10 압축 #
http://www.info-zip.org/ - 오래전에 개발된 명령행 zip압축해제툴. zip, unzip과 같이 압축/해제를 별도의 프로젝트로 관리중. 비압축 zip화일을 만들수 있다는 특징이 있음. 오픈소스.
zlib 이야기 - 유명한 공개 압축라이브러리인 zlib입니다. MS도 자사제품일부에 사용했다고 하죠.
http://zziplib.sourceforge.net/ - zZIPlib. zlib를 다소 사용하기 쉽게 정리한 라이브러리. 내장?디렉토리에 따라 화일을 열고 읽을 수 있도록 한것이 특징. mingw에서 컴파일 : 빌드 안됨. mmap 부분에 문제가 있는듯...


http://www.eskimo.com/~scottlu/win/ - zlib기반의 실행화일 압축 프로그램. 오픈소스.
http://www.oberhumer.com/opensource/lzo/ - upx 개발자가 만든 압축 라이브러리. 무손실, 상당히 빠른 압축해제속도, 압축풀때 메모리를 사용안함. ANSI C 기반인점 등등 장점이 많은 라이브러리. http://www.oberhumer.com/opensource/lzo/download/ - 다운로드 링크.
http://www.oberhumer.com/opensource/lzo/download/minilzo-1.08.tar.gz - 위 알고리즘의 미니 버전. 이정도만 있어도 충분.


http://upx.sourceforge.net/ "the Ultimate Packer for eXecutables"의 약자. 실행화일을 압축해서 상당히 작은 크기로 만들어주는 오픈소스 툴. 압축률이 상당히 좋다. 소스는 공개되어있지만 상업적으로 이용하려면 원저자와 협의필요. 팁 : msys에서 사용하려면 32비트 DOS버전을 설치해야만 합니다. 다른 것은 다운되더군요.




11 라이브러리 #
http://cal3d.sourceforge.net/index.html - Cal3D. 공개 오픈소스 캐릭터 에니메이션 라이브러리.
freeimage 이야기 - C 기반의 이미지 라이브러리입니다. 처음 개발자가 개발을 그만두었지만 현재도 개발이 진행중인 라이브러리.
SQLite - SQL92 표준을 따르면서 Metakit의 장점을 모두 가지고 있는 DB 라이브러리.
http://www.icculus.org/physfs/ - 퀘이크 WAD화일처럼 화일 한개내에 여러개의 화일을 담아두고 억세스하도록 해주는 라이브러리.
Makeheaders 이야기 - C/C++ 소스를 모아 헤더화일을 생성해주는 툴. 대규모 프로젝트를 수행할 때 편리함.
LEMON 파서생성기 이야기 - bison이나 yacc과 같은 역할을 하지만 간단하고 상당히 가벼운 파서생성기.
OTL - OTL (Oracle/ODBC Template Library) 공식 홈페이지.
http://dtemplatelib.sourceforge.net/ - DTL (Database Template Library) 공식 홈페이지. ODBC 필요.
http://www.unixodbc.org/ - unixODBC 공식 홈페이지.
http://zeoslib.sourceforge.net/ - ZEOS 라이브러리 공식 홈페이지. 오픈소스 DB 연결에 사용. C빌더/델파이용.
http://www.vorbis.com/ Ogg Vorbis. 오픈소스 사운드 압축화일 포맷 및 그에 따른 지원 라이브러리 프로젝트. oggvorbis/cygwin사용법


http://www.speex.org/ - Ogg와 호환되는 Vorbis 대체용 코덱. vorbis보다 2~4배더 압축효율이 좋다고 한다. 대신 패턴에 따른 손실이 크며 주로 음성코덱용으로 사용.
http://www.portaudio.com/ - 다중 플렛폼 오디오 입출력 라이브러리. 오픈소스.
http://synedit.sourceforge.net/ - 공개인 syntax highlighting 가능한 메모 VCL 콘트롤.
http://libsigc.sourceforge.net/ - signal+slot방식의 콜백시스템을 아주 쉽게 구현하게 해주는 C++기반의 템플릿 라이브러리. qt나 gtk+등등을 써보신 분은 이러한 이벤트 전달방식에 괜찮다는 생각을 하실 수 있을 듯. 현재 버전 2.0 발표.
iconv - 각종 로케일 및 코드변환 라이브러리. 예를 들면 UTF-8 -> 조합형 또는 완성형 처리를 실행해주는 라이브러리입니다. GNU 재단에서 관리하네요.
curl 이야기 - HTTP, FTP등등의 잘알려진 프로토콜을 사용하여 화일을 송수신할 수 있도록 하는 유명한 라이브러리입니다.
http://www.ginac.de/CLN/ - 큰 상수 및 실수 연산 라이브러리. C++로 되어있습니다.
http://www.geocities.com/axilmar/libgc/libgc.htm - 어떤 사람이 만든 C++ 개비지 컬렉터. 나름대로 정리한 듯. gc되어야하는 객체를 특정 클래스로부터 상속받아야만 하는 것이 단점.
http://conio.sourceforge.net/ - 볼랜드 터보C 스타일의 콘솔 입출력 라이브러리. 간단히 말해 명령 프롬프트상에서 커서이동 및 문자열 색상 변경등을 단순화시킨 것.
http://softwire.sourceforge.net/ - 실시간 임베딩 x86용 어셈블러 라이브러리. C++로 작성되어있으며 특정 상황에 상당히 유용할거라 생각됩니다.
http://www.cs.man.ac.uk/aig/staff/alan/software/ - 2D 폴리곤 clipping 연산 라이브러리. GPL.

11.1 자료구조 #
http://users.footprints.net/~kaz/kazlib.html - 몇몇 리스트, 해쉬트리등등을 구현한 C 라이브러리. C++을 사용할 수 없는 경우(STL을 사용할 수 없는 경우) 유용할 거라 생각합니다.


12 보안 및 암호화 #
12.1 라이브러리 #
cryptopp이야기 - 공개 C++ 암호화 라이브러리.
http://mcrypt.sourceforge.net/ - mcrypt. PHP 모듈에 사용된 공개 암호화 C 라이브러리.
http://www.gnu.org/software/gnu-crypto/ - GNU crypto 라이브러리. 수정된 GPL 라이센스를 적용. 정적링크 가능한 LGPL이라고 생각하면 되는 듯.
http://libtomcrypt.org/ - TNL에서 사용된 암호화 라이브러리죠. 깔끔한 오픈소스형태의 멀티플렛폼 라이브러리.

12.2 PGP #
PGP 참조 13 에디터 #
scite - 최강의 초경량, 다기능 텍스트 에디터. 강추입니다!
vim 이야기 - vim/cream에 대한 내용입니다.
http://www.jedit.org/ - 자바로 만든 오픈소스 플러그인방식의 에디터. 상당히 기능이 다양하며 뭐니뭐니해도 플렛폼 독립적이라는게 장점. 한글인코딩지원 및 문법 하이라이팅을 XML을 통하여 쉽게 고칠수 있다는 점이 장점.
http://www.eclipse.org/ - 자바로 만든 통합 IDE. 다소 느리지만 J빌더 수준은 나온다는 소문이...

13.1 diff 툴 #
http://winmerge.sourceforge.net/ - 상당히 쓸만한 diff 및 merge 프로그램. tortoisecvs와 연동도 가능. 정식보다는 가급적 최신 베타 버전을 받는 것이 좋습니다. 메뉴 한글화됨.

14 기타 툴 #
http://popfile.sourceforge.net/ - 공개 멀티플렛폼 오픈소스 메일 필터링 툴. 제가 사용해본 결과 꽤 분류율이 높습니다. 사용하면 할수록 자신이 패턴을 학습해간다는게 좋군요. 한글 메뉴얼이 있습니다.
http://www.cs.unc.edu/~baxter/projects/imdebug/ - image debugger. 간단한 api 함수 하나로 이미지 좌표 처리관련 루틴을 시험할 수 있는 helper 라이브러리. win32 전용. cygwin으로 변환가능할 듯.
http://audacity.sourceforge.net/ 공개 사운드 에디터 audacity. ogg vorbis 지원.
http://www.tightvnc.com/ - tightvnc. 기존 realvnc에서 기능확장한 것. 유명한 원격제어 소프트웨어. http://www.realvnc.com/ - vnc 원본.




15 게임 제작 관련 라이브러리 #
http://plib.sourceforge.net/ - PLib. 여러가지 이식가능한 게임제작관련된 라이브러리의 모음. 네트워크 라이브러리 참고할만함.
http://www.ploksoftware.org/ - ExNihilo라는 오픈소스 3D 엔진을 제공하고 있음.
http://clanlib.org/ clanlib 게임 라이브러리. 출력, 입력, 사운드, 네트워크 통합 지원. 이 라이브러리를 사용한 공개게임들의 품질이 괜찮다.
http://alleg.sourceforge.net/ - allegro. DOS시절부터 발전되어온 게임 제작용 라이브러리. 출력만을 지원.
http://irrlicht.sourceforge.net/ 우연히 발견한 오픈소스 3D 엔진. 성능 및 기능은 모르겠지만, DX와 GL의 통합 계층부분은 쓸만하다.
http://arianne.sourceforge.net/ - 온라인 게임 프레임워크. 자체 서버 프레임워크도 가지고 있음.

16 사운드 #
http://audiere.sourceforge.net/ - 멀티플렛폼 사운드 재생 라이브러리. LGPL.
http://www.underbit.com/products/mad/ - GPL 라이센스를 가진 MP3 decorder. 풀소스 제공. 상업 라이센스는 별도.


17 XML #
expat - expat XML 파서 C 라이브러리. MIT License. PHP등 유명한 여러 프로젝트에 많이 사용.
http://www.xmlsoft.org/ http://www.andre-krause.net/xml/ - libxml2 라이브러리. GNOME 프로젝트, 파이선에 사용됨.
http://ezxml.sourceforge.net/ - 매우 간단한 XML 파싱용 C 라이브러리. 그리 길지않은 xml 문서를 다룰때 유용할 듯.

17.1 XML-RPC #
XML-RPC 참조
18 화일 공유 # http://bitconjurer.org/BitTorrent/index.html - bittorrent라고 하는 잘 알려진 P2P 화일공유 시스템. http://azureus.sourceforge.net/howto_win.php - JRE 1.4.1 기반의 bittorrent 클라이언트.



19 그룹웨어 & 스케줄링 #
http://www.phprojekt.com/ - php + DB 기반의 오픈소스 그룹웨어. 한글이 잘된다. gantt 차트도 그냥 HTML table로 만든 것이 특이.
http://www.k5n.us/webcalendar.php - 간단한 보안기능을 가진 웹 달력. 간이 스케줄러로서 유용. 일부 한글화.
http://www.planscalendar.com/ - 간단한 웹기반 달력시스템. 수정시 암호지정가능. 호스팅 계정에도 설치가 가능하다.


20 마인드매핑 #
http://freemind.sourceforge.net/ - freemind 라는 마인드 매핑툴. 아이디어 정리에 좋을 듯. java기반. 0.8.0 rc2 버전 다운로드 링크 - 소스포지로 옮겼네요.
http://freemind.sourceforge.net/testversions/ - 여기에서 테스트 버전 및 베타/알파버전을 받을 수 있습니다. 최신버전도 쓸만하네요.



21 정규표현식 #
http://www.ezdoum.com/stories.php?story=02/05/19/5810629 - 몇가지 링크 및 정보 캡쳐.
http://www.regular-expressions.info/ - 정규표현식에 대한 튜토리얼 사이트. http://keyis.pe.kr/lectures/lecture4_2.htm - 정규표현식 사용법에 대한 간단요약.


GNU REGEX 강좌 - 오래된 문서인데, 문서에 자유롭게 배포해도 된다고 해서 퍼왔습니다.
PCRE 이야기 - 펄5 호환 정규표현식 c 라이브러리입니다. C++ wrapper 클래스도 있네요. 아파치, 파이선등등에 채용된 유명한 라이브러리. UTF-8지원.
boost/regex이야기 - boost라이브러리에 포함되어있는 정규표현식 c++ 라이브러리. STL과 궁합을 맞춘것이 특징.

22 파서/스캐너 #
22.1 spirit #
http://spirit.sourceforge.net/ - C++내에 inline방식으로 LL 파서를 내장시켜주는 템플릿 라이브러리. 쓰레드안전기능추가를 위해서는 boost.threads, 정규표현식 파서기능을 쓰려면 boost.regex 필요.

22.2 lex/yacc #
http://www-903.ibm.com/developerworks/kr/linux/library/l-lex.html#resources - IBM에 있는 괜찮은 아티클.
http://doc.kldp.org/KoreanDoc/html/Lex_Yacc-KLDP/Lex_Yacc-KLDP.html - kdlp.org에 있는 번역물. 간단한 소개수준.
http://purple.icu.ac.kr/~kimkk/guide/lexyacc/lecture_lexyacc.htm - 괜찮은 한글 튜토리얼.
http://comedu.korea.ac.kr/~mcdoo/study/lexyacc.html - 또다른 튜토리얼.
http://wwwcs.dongguk.ac.kr/~hamks/compiler/cc0002-06.html - 요약이 꽤 잘되어있는 아티클.
http://ds9a.nl/lex-yacc/cvs/output/lexyacc.html - Lex and Yacc primer/HOWTO. 영문 아티클.

23 악세사리 #
http://surf.to/neko/ - 윈도우즈용 neko. 화면뛰어다니는 고양이를 표시해주는 "고루한" 악세사리인데, 소스가 공개되어있다.

24 포럼 #
minibb 이야기 - ACE 포럼을 만드는데 사용한 포럼툴입니다. 간단하고 고치기쉬운것이 장점.

25 머드 #
좀 고전적이지만 기획적인 측면에서 참조할게 있더군요. 공개이고 괜찮은 사이트 링크합니다.
http://www.awemud.net/ - 텔넷기반의 MUD서버제작 사이트. scriptix라고 하는 자체 스크립트 언어도 개발중이다. 모두 오픈소스 공개.


26 번역 툴 #
http://www.poedit.org/ - poedit. gettext를 실행하려면 po화일을 우선 작성해야하는데 이를 작성하기 쉽게 해주는 프로그램. 한글화 되어있음.
http://translation.gnu.or.kr/helping/gettext/ - gettext 번역방법. 간혹 몇몇 공개 어플리케이션은 gettext를 사용하여 국제화를 처리하고 있습니다.


27 텔넷 클라이언트 #
http://kldp.net/projects/iputty/ - putty라는 오픈소스 공개 텔넷 클라이언트가 있는데, 이를 한글화한 것입니다. 오른쪽에 있는 다운로드 탭을 선택해서 다운받으면 됩니다.

28 email 알림 #
http://poptray.sourceforge.net/ - 델파이로 만든 공개 email 통지기.
http://www.moazon.com/korea/prj_mailmoa_down.htm - 국산 이메일 알림 프로그램. hanmail.net과 같은 웹메일도 일부 검사해준다.


29 트루타입 저작툴 #
http://doubletype.sourceforge.net/ - 공개 트루타입 저작툴.


30 벡터기반 그리기도구 #
http://www.inkscape.org/ - 공개 벡터 이미지 저작툴. SVG 지원.
http://www.sodipodi.com/ - Unix, win32 지원하는 저작툴. SVG 지원.


30.1 스포이드 툴 #
http://www.flaxie.com/download/takecolor/ - 간단한 스포이드툴. 화면상의 특정 pixel의 RGB값을 취해 적당한 text값으로 바꿔준다. 매우 유용함.
http://www.datastic.com/tools/colorcop/ - takecolor보다 더 많은 기능을 가진 툴. 역시 공개.


30.2 Hex 에디터 #
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm - 오픈소스. 강력함.
http://www.hhdsoftware.com/hexeditor.html - 프리웨어. 화일비교기능있음.
http://www.codeproject.com/tips/frhed.asp - 화일비교기능있음. 가입필요.
http://www.funduc.com/fshexedit.htm - 프리웨어.


31 그래픽 화일 제어 #
http://www.imagemagick.org/ - 꽤유명한 공개 컨버터 및 효과 이펙터. 커맨드라인명령으로 구성되어있는 것이 특이하다. ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ - 다운로드 링크.


http://enblend.sourceforge.net/ - 여러개의 사진화일을 파노라마 형태의 화일로 리터칭+merge 해주는 툴. 사진 경계의 보기싫은 부분을 블랜딩처리해준다.
http://hugin.sourceforge.net/ - 위와 비슷한 파노라마 사진 저작툴. GUI 제공.

32 웹 에디터 #
http://www.fckeditor.net/ - 웹상에서 간단한 문서에디팅을 예쁘게 지원하는 프로그램. IE, 모질라 계열 모두 지원. 오픈소스. 꽤 좋다.


33 웹 서버 #
http://www.lighttpd.net/ - 아파치보다 빠르다는 벤치마크 결과를 게시하고 있네요. php가능. UNIX계열 only.
http://dmr.ath.cx/net/darkhttpd/ - 단일쓰레드기반에 HTTP 1.1을 지원하는 웹서버 데몬. UNIX계열 운영체계에서 사용가능하다. CGI지원안함. 오픈소스. BSD 라이센스.
http://www.yhttpd.org/ - 이식가능하고 가벼운 오픈소스 웹서버. ychat이라는 채팅서버도 같이 개발중.


34 irc 서버 #
http://sourceforge.net/projects/undernet-ircu/ - 언더넷 irc 서버. 풀소스제공. 스터디용으로 좋을듯.


35 time서버 동기화 클라이언트 #
http://nettime.sourceforge.net/ - 공개 win32 time 서버 클라이언트. 간단히 말해 PC 시간을 자동으로 정확하게 맞춰준다. 우리나라는 한국표준과학연구원 타임서버 time.kriss.re.kr 로 설정하는 것이 좋다.


36 webcam #
http://dorgem.sourceforge.net/ - 간단한 win32용 웹캠 캡쳐 유틸. 오픈소스.


37 괜찮은 공개프로그램(오픈소스아님) #
http://www.teamcti.com/trayit/trayit.htm - 모든 프로그램을 tray로 집어넣어주는 win32용 프로그램. 프로그램 여러개 띄워놓고 사용하는 사람들에게 꽤 쓸만한 툴.
http://free-backup-software.net/ - justzipit이라는 압축 툴 제공. 알집도 좋지만, 가볍고 쓰기좋은 점에서는 이것도 좋은 듯. 속도도 빠르다.
http://www.freedownloadmanager.org/ - flashget과 같은 공개 다중 다운로드관리자. 여러화일을 다중쓰레드로 빨리 다운받을때 유용하죠. 팝업광고도 안뜨는 아주 괜찮은 툴입니다.
http://openproject.nazzim.net/ - 국산 캡쳐 프로그램. 심플하고 있을건 다있다.


38 괜찮은 상용프로그램 #
38.1 sshd 서버 #
http://www.bitvise.com/winsshd.html - 윈도우즈용 ssh 서버. 약 100불정도의 싼가격. 괜찮다.





1 플래시 #
http://www.airtightinteractive.com/simpleviewer/ - 플래시로 만든 간단한 겔러리 무료 swf.


2 블로그 프로그램 #

http://nucleuscms.org/ - 아마도 블로그중에서는 가장 깔끔한듯. http://ibizkorea.com/nucleuscms - 한국 뉴클리오스 사용자 모임.


http://blogcms.com/ - 뉴클리오스 클론.

http://www.movabletype.org/ - 개인 웹로그 시스템 중 꽤 이쁘고 깔쌈한 것. 국제화 모듈은 지원하지만 한글화는 아직 안되어있음.

http://cafelog.com/ - b2. 공개 웹로그 시스템.
http://www.envolution.com/ - GNU 라이센스 기반의 오픈 소스 웹로그. phpBB와도 연계가능. 꽤 깔삼함.


3 쇼핑몰 #
http://www.10x10.co.kr/ - 텐바이텐. 정말 애용하는 소핑몰. 몰스킨을 여기서 구매했다.

http://www.yupgymall.com/ : 엽기물품 소핑몰
http://www.bithobby.com/ : 비트차지나 기타 일본 토미사에서 판매하는 장난감 수입 소핑몰
http://www.indemall.co.kr/FrontStore/dvProduct.phtml?pid=SS02_00201 - 인디몰이라는 선물사이트. 2만원이 좀 쎄긴하지만 사랑을 위해서라면...:)


4 게임서비스 #
http://www.netbabyworld.com/ - 디렉터로 만든 온라인 게임 사이트. 캐릭터가 이쁘다.
http://www.freelunchdesign.com/ - 공개 게임 제작 회사. 꽤 재미있는 게임이 많다. 특히 icy tower는 강추!


5 공개 게임 #
http://www.asahi-net.or.jp/~cs8k-cyu/free/index.html - 오픈소스 슈팅게임 사이트. 극강의 파티클 운용능력을 보여준다. 소스 공개.
http://www.s3dconnector.net/ - 보드게임의 명작 카탄을 풀3D 로 구현한 것. 깔끔하다. 공개.
http://sc2.sourceforge.net/ - 3DO용 스타콘트롤을 네트워크 대전 가능하도록 리메이크한것. 오픈소스 공개. All of starcontrol - 팬사이트.


http://www.ewtoo.org/~matt/wirehang/ - 자바애플릿으로 만든 원작을 blitzbasic이라는 쉐어엔진으로 win32용으로 다시 제작한것. 중독성 짱!
http://www.silverbreeze.com/software.htm#domisol - 꽤 간단해 보여도 어려운 게임.
http://criticalmass.sourceforge.net/critter.php - OpenGL + SDL 로 제작한 슈팅게임. 꽤 어렵다.
http://www.xconq.org/ - 대전략 비슷한 hexa 타일기반의 전략게임.
http://www.wesnoth.org/ - 마찬가지로 hex 타일기반의 팬터지 대전략게임.
http://nuvie.sourceforge.net/ - 과거 ultima 6 엔진을 오픈소스로 제작한 것. 공개라는데 더 의의가 있다.
http://scourge.sourceforge.net/ - OpenGL, SDL, GLUT로 만든 네트워크 게임. (자세히 보질 않아서...)
http://linux.tlk.fr/games/TecnoballZ/ - 리눅스 전용 벽돌깨기 변종게임. 잘하면 win32용으로 빌드할수도...
http://trackballs.sourceforge.net/ - Marble Madness에 영향을 받은 3D 공굴리기 게임. 오픈소스.


6 카운터스트라이크 관련 #
http://podbot.nuclearbox.com/ - 카운터 스트라이크 bot 운용 패치 시스템. 사람끼리밖에 대전을 못하는 카스에 AI가 꽤 괜찮은 bot을 띄워주는 아주아주 초추천 실행화일. 게다가 공개! 카스 플레이어들은 꼭 해보시길...
http://narics.net/ - 카운터 스트라이크 MOD 포털. 괜찮은 MOD 다수 보유.


7 유틸리티 #
http://www.jv16.org/ - 레지스트리 클리너 등등의 기능을 제공하는 깔끔한 툴. 아마 상용화 시작한듯.
http://andojung.com/photoWORKS/ - 디카이미지에 액자를 만들어주는 공개툴. 국산.


8 opengl #
http://glow.sourceforge.net/ - GLOW. GLUT기반의 GUI 시스템.


9 호스팅 #

cafe24호스팅 : 매월 1만1천원에 2기가 HDD 500M Mysql지원. 서브도메인 지원. 월 500원 초저가 호스팅도 하고 있음.


10 한글 프로그래밍 및 IME #
http://gong.snu.ac.kr/~krisna/main.php : 한글 코드표 및 오토마타에 대한 정보를 구할 수 있는 개인 사이트.
http://harmony.cs.pusan.ac.kr/~uliminer/HomePage/Portfolio/HanConv/HanConv.htm - 각종 한글코드 상호 변환툴. 소스공개.
http://sparcs.kaist.ac.kr/~jwjung/seminar/hangul-i18n/ 한글코드(완성형, 유니코드)에 대한 자료.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsf/tsf/text_services_framework.asp - tsf라는 COM기반의 일종의 IME같은 것(?)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/ime_5tiq.asp - IME MSDN 개발문서 링크.


11 3D 랜더링 툴 #
http://www.blender3d.org/ - 공개화되어 더 유명해진 블랜더. 한글화되면 좋겠는데...
http://moonlight3d.net/ - 공개 3D 랜더링 툴 문라이트3D 공식 사이트.

http://www.wings3d.com/ - Wings3D라는 공개 오픈소스 랜더링 툴. 에니메이션은 지원하지 않음.


12 홈페이지 #
http://chonga.pe.kr/ - 청아님 홈피. 알게 모르게 보물이 많다.
http://www.50001.com/ - 괜찮은 개발자 포털(?). 아마도 개인사이트인데 커진듯.


13 충돌검사 관련 #
http://www.euclideanspace.com/physics/dynamics/collision/twod/ - 2D 충돌에 관한 물리공식 설명.
http://www.ragestorm.net/tutorials - 트레이아이콘, 2D 간단 충돌검사, 네트워크등등에 대한 간결한 튜토리얼 모음.
http://www.plasmaphysics.org.uk/programs/coll2d_cpp.htm - 2개의 공사이의 충돌검사 C++ 코드 (안읽어봤음)


14 P2P #
http://entropy.stop1984.com/en/home.html - (미파악. 그냥 수집해둠)


15 책 #
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200303210001 Patterns of Enterprise Application Architecture - 리팩토링의 저자, 마틴 파울러 공저한 패턴책. 번역서!
Design Patterns in Communication Software - 와우북 불가
Practical Algorithms for 3d Computer Graphics - 와우북 불가, 교보 87천원, 영풍 83천원
Non-Photorealistic Rendering - 와우북 불가
1-58450-037-9 Mathematics for 3D Game Programming & Computer Graphics - 와우북 구입가능. 66천원.

3D Math Primer for Graphics and Game Development
POSA1 - C++ network programming이란 책에서 밥먹듯이 인용하는 패턴 책. 2권은 읽어봤지만, 1권은 목차만 보고 파악만 하고 있다.


16 gamasutra #
http://www.gamasutra.com/gdc2004/features/20040325/banninga_pfv.htm - UV 텍스쳐 매핑 팁. 디자이너 입장에서의 팁인듯.


17 개인출판 #
http://www.iolive.co.kr/ - 이전에 아내에게 선물한 자작책 만든 곳. 가격도 저렴하고 미리보기가 잘되어있다.
http://www.photopop.co.kr/ - 사진들어간 좀 뽀대나는 책만들고 싶을때 좋다.


18 기타 미정리 목록 #
http://www.onlamp.com/lpt/a//python/2001/10/04/pythonnews.html : Developing with Python - 오랠리 칼럼.
http://www.mvps.org/win32/ - Win32 프로그래밍 팁들 (근데 약간은 고루한 팁이라는 생각이...)
http://www.geocities.com/foetsch/cbuilder.htm - 씨빌더 + DX8 하기위한 lib화일 제공 사이트.

http://sources.redhat.com/autobook/download.html - "GNU autoconf, automake and libtool"의 온라인 북 다운로드 링크.

http://www.winehq.com/ 리눅스에서 Win32를 구동할 수 있도록 하는 에뮬레이터 시스템.

http://www.lindows.com/ 리눅스+Windows라는 캐치를 건 황당 OS. 아직 버그는 많은 듯.
http://www.ximian.com/ 오픈소스 소프트웨어 회사. "모노"라는 프로젝트와 Gnome으로 유명. http://developer.ximian.com/projects/mono/ 닷넷 프레임워크 공개소스 프로젝트.
http://www.geocities.com/SiliconValley/Vista/7184/guitool.html - 크로스 플랫폼 GUI 라이브러리 비교 사이트

http://hanbat.chungnam.ac.kr/~mhcho/tonghap.html : 통합이론, 게임이론, 제로섬게임등등에 대한 논문.


http://notifylist.com/ : 알림전용 단방향 메일링 리스트 서비스 하는 곳. 업데이트 소식 및 가입 폼 제공. (가입해놓았음)

http://groups.google.com/groups?hl=ko&lr=&ie=UTF-8&group=comp.games.development.programming.algorithms
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/directx.asp Directx sdk 다운로드 사이트


http://www.pragmaticprogrammer.com/ XP와 같은 일종의 프로그램 방법론으로 보임. ruby를 택하고 있는 것이 특징.


http://www.agilealliance.org/ agile 프로그래밍에 대한 아티클이 많이 있음.

http://deepsoftware.ru/nrsxs/index.html syntax suite. 상용이며 문법 하이라이팅을 지원하는 메모 VCL 컴퍼넌트 라이브러리를 판매.
http://www.codeproject.com/dialog/quickwin.asp 콘솔 어플리케이션 프로세스의 출력을 Win32 어플리케이션으로 리다이렉트하는 소스 소개. http://www.codeguru.com/console/dualmode.html 위의 또다른 예제. 파이프 사용.
http://dslweb.nwnexus.com/~ast/dload/guicon.htm gui 어플에 콘솔 기동하기.


http://support.microsoft.com/default.aspx?scid=kb;en-us;257405 윈2000에서 램드라이브 설치하는 법.

http://www.keyworks.net/ - chm확장자의 html 도움말 화일을 역컴파일해주는(HTML화일들로다시 풀어주는) 프로그램 사이트. 물론 공짜. 도움말 화일을 가공하고자 할때 유용.

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=00535334-C8A6-452F-9AA0-D597D16580CC MS Help Workshop 다운로드 링크.

프로그래밍의 도 - 꽤 오래전에 읽었던 것 같은데 다시 읽어도 재밋음.
http://www.scriptocean.com/ - 아마도 여기의 플레시 메뉴를 빌어쓸듯합니다.

http://citeseer.nj.nec.com/ NEC에서 운영하는 과학연구논문 검색사이트. 뭐... 게임제작에는 조금 거리가 멀지만, 가끔 3D관련 논문들을 찾을때 쓸만합니다.

http://www.cs.umbc.edu/~sli2/cube/cube.html - 자바로 구현한 3D 큐빅퍼즐 구현. 자동으로 푸는 것이 인상적. 소스있음.
http://www.yellowtab.com/ - palm에 넘어가 망해버린(?) beos 개발자들이 만든 회사. 차세대 beos인 jeta를 소개하고 있다. 하지만 유료. 한국어 지원.

Directx 9.0 SDK 2003년 여름 업데이트 버전 다운로드 사이트

http://mie.paichai.ac.kr/download/PDSXML/faq_korean.htm - XML FAQ 한글 번역. 깔끔하다.

http://corefonts.sourceforge.net/ - 윈도우즈 트루타입 폰트중 몇개를 공개로 다시 제작한 것. 깔끔하다. 영문 폰트.

http://www.mindview.net/Books/ - Thinking in c++외 다수 공개책을 저술한 bruce eckel이란 사람의 책모음 사이트. http://64.78.49.204/ - 책 다운로드 링크.



http://www.sysinternals.com/ - 회사인듯 보이는 쓸만한 개발자용 시스템 유틸들 제공 사이트. 꽤 쓸만한 툴이 많다. 대부분 Win32용. 일부 리눅스.

http://www.ecma-international.org/publications/standards/Ecma-262.htm - ECMAScript 표준안. 자바스크립트와 플래쉬 액션스크립트가 이것을 따르고 있죠.

http://www-106.ibm.com/developerworks/webservices/library/ws-intgame/ - 온라인게임 및 E-사업모델 인프라스트럭쳐 개요. IBM.

http://msdn.microsoft.com/library/default.asp?url=/workshop/security/authcode/authenticode_node_entry.asp?frame=true - 어플리케이션 인증 관련 MSDN 링크.

http://www.y-windows.org/ - XFree86 프로젝트와는 별개로 하드웨어 가속, 국제화등등을 특징으로하는 별도 오픈소스 윈도우 시스템. 현재 리눅스 전용.

http://bbs.nate.com/BBS?p_bbs_id=driver - 네이트 여성운전자 게시판. 운전초보일 때 읽어보면 도움되는 글 많음.

http://www.perforce.com/ - CVS와 같은 버전관리시스템. 20명에 700불이 넘는 상용툴이지만 꽤 호평을 받고 있다. 화일 공유 및 사용난이도에서는 CVS나 sourcesafe보다 더 높은 점수를 받고 있음.

http://csl.changwon.ac.kr/cyberclasses/courses/datacomm/Chapter4/1-4-0.htm - 네트워크 프로토콜 처리 방식에 대한 요약. (출간된 책내용의 일부)

http://unreal.epicgames.com/UnrealScript.htm - 언리얼 스크립트 개요

http://php.weblogs.com/adodb - PHP DB 제어 모듈. 한글화 문서 있음.

http://www.users.on.net/johnson/resourcehacker/ - Win32 어플의 리소스를 변경할 수 있도록 하는 공개 툴. 시그3 카페에서 퍼옴.

http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx - visual studio 6.0 서비스팩 6

http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnardirdraw/html/msdn_directd5.asp - 추억의 directdraw 5 튜토리얼.

http://www.microsoft.com/xna/ - 마이크로소프트에서 밀어부치고 있는 게임엔진. 역시 대기업은 다르군...

http://www.splitbrain.org/dokuwiki/ - freshmeat에서 발견한 깔끔 위키엔진. UTF-8 지원... 이라고 되어있는데 한글이 이상하게 안된다.

http://www.weihenstephan.de/~syring/ActiveX/ - GL 1.1 기반으로 만든 ActiveX. 풀소스 공개. (분석대상)

http://wiki.kldp.org/wiki.php/HowToBeAProgrammer - 프로그래머가 되는 방법: 짧고 폭넓고 개인적인 요약

http://database.sarang.net/study/study.phtml - DB사랑넷의 스터디글 모음. 공부할 생각을 불끈불끈들게 만들어주는 곳.

Tiny C Compiler. 거의 실시간 인터프리팅을 방불케하는 속도를 자랑한다. x86전용.



http://ps2dev.org/ - playstation 2 콘솔 게임 개발 라이브러리와 팁 개시. 정식은 아닌듯.

http://www.c360.ca/download-Microsoft-VM.html MS java VM 다운로드 모아놓은 곳. XP에 VC6깔때 필요.

http://www.netcraft.com/ - 현재 웹서버가 어떤 운영체계고 어떤 서버와 서버스크립트를 사용하는지를 알려주는 사이트.

http://www.gentee.com/index.htm - createinstall 이라는 인스톨러 생성 툴. 유료. 145$

발췌: http://cafe.naver.com/q69.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=13118

주얼리






































View larger picture















































Starting bid:US $72.00









End time:Apr-03-07 19:15:05 PDT (2 days 14 hours)
Shipping costs:
Check item description and payment instructions or contact seller for details
Ships to:Worldwide
Item location:Los Angeles, California, United States
History:0 bids


You can also:






Get alerts via Text message, IM or Cell phone

Email to a friend







































View larger picture















































Starting bid:US $42.00









End time:12 hours 2 mins (Apr-01-07 17:15:06 PDT)
Shipping costs:
Check item description and payment instructions or contact seller for details
Ships to:Worldwide
Item location:Los Angeles, California, United States
History:0 bids


You can also:






Get alerts via Text message, IM or Cell phone

Email to a friend

2007년 2월 21일 수요일

4:3? 3:2? 16:9? 디지탈 카메라의 화면 비율

디지탈, 특히 영상 기기를 보면 사진이나 동영상에서 화면 비율이라는 단어를 접할 때가 있습니다. 또한 디지탈 카메라나 캠코더, TV 제조사에서는 16:9와 같은 숫자를 명시하면서 와이드 비전, HDTV 영상이라는 광고 문구를 전면에 내걸기도 합니다. 오늘은 디지탈 기기에서 사용되는 화면 비율과 각각의 효과에 대해 알아보겠습니다.

1. 4:3

디지탈 영상을 포함해 일반적인 영상에서 가장 많이 접하는 화면 비율이 4:3입니다. 4:3비율은 가로:세로의 비율이 4:3인 것을 말하며 "Academic Standard"라고도 불렸습니다. 초창기 무성영화 시절부터 사용하던 화면 비율로, 1917년 영화기술자 협회(Society of Motion Picture Engineers)에서 채택되었습니다. 4:3비율은 영상이 한 눈에 들어오는 안정적인 구도를 제공했기 때문에 당시 대부분 영화에 공통적으로 적용됐으며, 이후 TV에서도 영화의 화면 비율을 적용해 4:3비율로 제작 됐습니다. TV 화면비율은 곧 PC 모니터 규격으로까지 확대됐으며, 이에 따른 디지탈 영상 기기 역시 현재 4:3 화면 비율을 기본으로 채택하고 있습니다.

디지탈 카메라에서는 렌즈 교환식 DSLR 카메라를 제외한 일반적인 컴팩트 / 슬림 / 하이엔드 디지탈 카메라에서 4:3 비율을 지닌 이미지 센서를 탑재합니다. 렌즈 교환식 DSLR 카메라는 35mm 필름의 화면비율을 따라 3:2 비율로 설계된 이미지 센서를 장착하지만, 올림푸스 E시스템 DSLR 카메라는 디지탈 전용 포맷을 강조한 4:3비율 이미지 센서를 탑재하고 있기도 합니다.


<4:3비율 이미지 센서를 탑재한 올림푸스 E-시스템 DSLR 카메라>


2. 3:2

3:2 화면비율은 인쇄나 출판물에 주로 사용되는 화면 비율로, 황금 분할법에서 기인한 형식입니다. 사진 인화(35mm 필름 기준)에도 3:2 화면 비율이 표준으로 채택되고 있습니다.

3:2 화면 비율은 4:3비율보다 가로로 더 긴 형태로 감상할 때 4:3 비율보다 더 안정적인 느낌을 전달하는 효과가 있습니다.

디지탈 카메라 분야에서는 렌즈교환식 DSLR 카메라를 제외한 대부분 모델이 4:3 비율로 제작된 이미지 센서를 탑재하고 있지만, 기종에 따라 해상도 메뉴에서 3:2 비율 해상도를 제공하기도 합니다. 하지만 이는 4:3비율로 제작된 이미지 센서로 받아들인 화면의 상하를 잘라내서 만드는 경우가 많아 화소 손실이 있습니다.




<보급형 디지탈 카메라는 4:3 화면에서 상하 영역을 잘라내 3:2, 4:3, 16:9 화면비 제공>



반면, 필름 화각과 동일한 컨셉을 추구하는 DSLR 카메라는 이미지 센서 자체가 3:2로 제작돼 화소 손실없이 35mm 필름 카메라와 동일한 화면 비율을 지닌 이미지를 출력합니다.


3. 16:9

16:9 화면 비율은 이른 바 '와이드 비전'이라는 타이틀로 HDTV를 비롯한 영상기기에서 채택하고 있습니다. 16:9 역시 황금 분할법에 기인해 제작된 화면 비율이지만 3:2 화면보다 가로로 더욱 긴 형태입니다.



<16:9 화면 비율을 기준으로 적용된 4:3, 3:2 화면 비율>


현대 영화는 1.85:1이나 2.35:1 화면 비율로 제작되고 있습니다. 16:9는 이중 1.85:1 비율과 가깝습니다. 디지탈 영상에서 갈수록 와이드 비율을 선호하는 이유는 사람의 시야와 관계있습니다. 일반적으로 가로로 긴 화면이 사람의 시야에 적합해 영상을 감상할 때 더 안정적이고 한 눈에 알아보기 쉬운 것으로 알려져 있습니다.

보통 16:9 화면 비율은 TV와 캠코더와 같은 영상 분야에서 다루고 있었지만 근래들어 디지탈 카메라의 정지화상이나 동영상에서도 16:9 비율을 지원하기 시작했으며, 2005년에는 16:9 비율로 제작된 이미지 센서를 탑재한 제품도 출시돼 주목을 받았습니다.



<16:9비율로 제작된 파나소닉 루믹스 DMC-LX1의 CCD>


*황금분할?

- 황금분할(Golden Section) 혹은 황금비율(Golden Ration)은 예로부터 입증된 가장 안정적이고 조화로운 아름다움을 표현하는 비율로, 1:1.618 또는 5:8을 일컫는 말입니다. 황금분할은 건축과 미술, 사진에 지대한 영향을 줬는데, 사진 구도에서도 황금분할로 피사체를 배치하면 안정감 있는 구도를 얻을 수 있습니다.

정확한 황금분할은 1:1.618 비율이지만 사진을 찍을 때 이를 일일이 계산하기 어려우므로, 일반적인 촬영에서는 1:1.618 비율보다 간단한 삼분법을 사용합니다. 삼분법은 보통 화면을 가로 세로 삼등분 해서 만나는 교차점 4개에 피사체를 위치하게 만드는 것으로, 안정적인 구도를 표현합니다.




<디지탈 카메라에서는 액정 모니터에 삼등분 격자 그리드를 제공한다>




황금비는 고대 그리스에서 발견되었고, 르네상스의 볼로냐의 수도승 루카 파치올리(Luca Pacioli)에 의하여 ‘신성비례(神 聖 比 例)’라고 이름할 정도로 중요시되었습니다.

특히 시각적인 분야에서 많이 이용돼 건축·조각·회화·공예 등, 조형예술 분야에서는 다양한 통일 원리로서 널리 활용되고 있을 뿐만 아니라 엽서, 담배갑이나 명함의 치수 등 일상생활에서도 쉽게 접할 수 있습니다.


출처: http://dcinside.com

2007년 2월 19일 월요일

ASP.NET 가이드 1. 자바 스크립트 사용하기

ASP.NET 가이드 1. 자바 스크립트 사용하기
저자
: 한동훈
0. 소개
웹 프로그래밍을 하는 경우 자바 스크립트를 사용하는 경우가 종종 발생한다. 자바 스크립트를 사용하는 데 있어 문제는 같은 문제에 대해 늘 인터넷을 찾아보고, 스크립트를 작성하는 일을 반복하는 데 있다. 때문에, 웹 개발자들은 자주 이용하는 자바 스크립트 사이트나 관련된 책을 책상에 항상 구비해 두고 있을 것이다.
ASP나 PHP와 같은 언어와 달리 ASP.NET은 객체지향 언어이고, 다양한 컨트롤들을 사용하고 있기 때문에 자바 스크립트 사용법에 차이점이 있다.
여기서는 앞으로 여러회에 걸쳐서 기본적인 자바 스크립트들을 ASP.NET에서 사용하는 방법들을 살펴볼 것이다. 그 이후에는 데이터그리드에서 다중 체크박스 처리와 같은 보다 심도 있는 내용을 다루도록 할 것이다.
1. 꼭 알아야 할 자바 스크립트
자바 스크립트를 잘 모르거나 기억이 흐릿한 분들을 위해 이 글을 이해하는데 꼭 필요한 기본적인 자바 스크립트를 설명할 것이다.(아주 기초적인 것만 다룬다)

위와 같은 HTML이 있다고 하자. 자바 스크립트는 script 태그 안에 위치한다.
자바 스크립트의 변수 선언은 var로 할 수 있으며, str과 str2의 선언에서 볼 수 있는 것처럼 문자열에는 " 또는 '을 모두 사용할 수 있다. HTML에서 속성이름="값"과 같은 형식으로 사용하기 때문에 자바 스크립트에서 문자열을 사용할 때는 '을 선호한다.
FORM 태그에 있는 요소들을 접근할 때는 document.forms[0]과 같은 형식을 사용한다. 하나의 페이지에 FORM 태그가 둘 이상 있는 경우에는 document.forms[0], document.forms[1]과 같은 형식으로 사용할 수 있다.
<form id=Forms1> 태그와 같이 ID가 지정된 경우에는 document.forms.Forms1, document.forms["Forms1"], document.forms.namedItem( "Forms1" )과 같은 형식으로 사용할 수 있다.
document.forms[0].txtName.value는 첫번째 폼에 있는 txtName 요소의 값을 가져오거나 설정하는 데 사용한다.
ASP.NET의 <ASP:TextBox runat=server id=txtID>는 브라우저에 <input type=text id=txtID>로 표시된다. 따라서, 스크립트에서 ASPX 페이지에 있는 텍스트 박스의 값을 이용하기 위해서는 document.forms[0].txtID.value과 같은 형태로 사용한다.
focus() 함수는 해당 텍스트 박스에 커서의 포커스를 이동시킨다. 여러분이 검색 사이트를 방문했을 때 키워드만 입력해서 검색할 수 있는 것도 focus() 함수 때문이다.
스크립트 축약하기
매번 document.forms[0].컨트롤ID 형태로 사용하는 것은 번거롭기 때문에 다음과 같은 형태를 더 빈번하게 사용한다.
<script language=javascript>
var theForm = document.forms[0];
theForm.txtName.value = 'Hello';
theForm.txtName.focus();
</script>
이 코드는 이전의 코드와 완전히 동일한 역할을 한다.
컨트롤 알아내기
ASP.NET에서는 대부분 하나의 FORM 태그만 있다는 가정하에 작업을 한다. 즉, ASP/PHP에서 처럼 여러 개의 FORM 태그를 두고 작업하지 않고 하나의 FORM 태그안에서 작업을 하는 경우가 대부분이다. 그러나, ASP.NET에서도 경우에 따라 여러 개의 폼을 사용할 수 있다. document.forms[0]나 document.forms.폼이름 과 같은 형태로 사용하는 것은 당장 자바 스크립트를 작성할 수 있게 해주나 자바 스크립트를 라이브러리로 사용하는 것을 어렵게 만든다.
원하는 컨트롤에 포커스를 주는 함수를 만들고 싶다고 할 때 어떤 FORM 태그안에 있는 컨트롤에 포커스를 주어야 할지, 또는 데이터 그리드안에 만든 텍스트박스에 어떻게 포커스를 주어야 할지 결정하기 어렵다.
즉, 동적으로 생성되는 컨트롤을 자바 스크립트로 제어하려면 document.forms[0]나 document.forms.Forms1과 같이 폼 인덱스나 폼 이름을 이용하는 자바 스크립트를 작성해서는 안된다.
<script language=javascript>
var ctl = document.getElementById( 'txtName' );
if( ctl != null )
{

ctl.value = 'Hello, cruel world';

ctl.focus();
}
</script>
위 예제에서는 컨트롤을 알아내기 위해 document.getElementById() 함수를 사용한다. 이 함수는 현재 브라우저에 있는 문서에서 ID를 사용해서 해당 컨트롤에 대한 참조를 얻어온다. 이 함수를 사용하기 위해서는 HTML에서 ID 속성만 사용하면 된다. ASP.NET에서는 웹 컨트롤의 ID 속성을 HTML의 ID 속성으로 변환해준다. - 대소문자를 구분하므로 ID 이름의 대소문자도 반드시 일치해야 한다.
현재 브라우저가 갖고 있는 문서에 ID에 해당하는 컨트롤이 없으면 null을 반환하기 때문에 반드시 null을 확인한 이후에 원하는 작업을 수행해야 한다. 그렇지 않으면, 자바 스크립트 오류가 발생한다.
getElementById의 호환성 문제
document.getElementById() 함수는 웹 표준안을 제정하고 있는 W3C의 DOM에 의해 정의된 것이며 오늘날 FireFox, Opera, IE 6+ 같은 대부분의 브라우저에서 잘 동작한다. 그러나 오래된 운영체제를 사용하고 있는 경우 이 함수가 동작하지 않는다. 특히, IE 5.5 이전 버전은 DOM Level 1을 완전히 지원하지 않는다. 때문에, 자바 스크립트의 기본적인 getElementById() 함수 대신에 이를 대체할 getElement() 함수를 작성하고, 이를 앞으로 BasePage의 모든 자바 스크립트에서 사용할 것이다.
<script language=javascript>
function getElement( id ) {

if( document.all ) return document.all( id );

if( document.getElementById ) return document.getElementById( id );
}
</script>
getElement()를 사용하여 작성하는 방법은 하위 버전 브라우저에 대한 동작을 보장하는 것 뿐만 아니라 비호환 브라우저가 등장하는 경우에 해당 브라우저를 지원하기 위해 모든 스크립트를 수정하는 대신 getElement() 스크립트만 수정하면 될 것이다.
이번 글을 이해하기 위해 알아야하는 자바 스크립트의 내용은 이것이 전부다. 자바 스크립트의 나머지는 C/Java/C#의 문법과 대부분 비슷하다. 차이점은 브라우저와 상호 작용하기 위해 document와 같은 몇 가지 객체들을 제공하고 있다는 점 뿐이다.
BasePage 소개
일반적으로 자바 스크립트를 작성하거나 어떤 기능들을 작성했을 때 각각의 페이지에 이러한 내용들을 추가해 주어야하는 번거로움이 있다. filename.js와 같은 외부 자바스크립트 파일을 작성한 경우에도 매번 이 스크립트를 사용할 것이라고 추가해 주어야한다.
게다가, 이렇게 사용하는 자바 스크립트는 ASP.NET의 서버측 코드(C#, VB.NET 소스)에서 사용할 수 없다. 개발자가 직접 태그에 이러한 코드들을 추가하기 위해 Control.Attributes.Add() 함수를 사용해야하고, 이 함수를 사용하기 위해 자바 스크립트의 정확한 이름까지 알고 있어야 한다.
이러한 불편함을 해소하기 위해 BasePage 클래스를 작성한다.
보통의 ASP.NET 페이지는 그림1의 왼쪽과 같이 System.Web.UI.Page 클래스를 상속한다. 여기에 자바 스크립트 지원을 비롯해서 사용자 인증, 예외 처리등을 위한 확장을 용이하게 하기 위해 그림1의 오른쪽 그림과 같이 클래스를 확장하였다.

[그림 1] BasePage 상속구조
BasePage 기본구조
먼저 해야 할 일은 Visual Studio .NET을 실행하고 [새 프로젝트]에서 그림2와 같이 [클래스 라이브러리] 프로젝트를 작성한다.

[그림2] 클래스 라이브러리 프로젝트 생성
그림1과 같이 System.Web.UI.Page 클래스를 상속하여 기능을 확장할 것이기 때문에 System.Web.dll에 대한 참조를 추가해야 한다.

[그림3] 참조 추가하기

[그림4] System.Web.dll 참조 추가
이와 같은 설정을 마치고 Mona.Web.UI.BasePage 클래스의 기본 뻐대를 다음과 같이 작성한다.

[그림5] Mona.Web.UI.BasePage
네임스페이스는 Mona.Web.UI로 정의하고 BasePage 클래스는 Page 클래스를 상속하였다. OnInit은 Page 클래스에서 각 컨트롤의 이벤트를 초기화하는 함수이며 이를 재정의하였다.
함수를 재정의할 때는 필요한 처리를 하고, 나머지 처리에 대해서는 상속 클래스에서 처리할 수 있도록 base.OnInit()과 같이 상속 클래스의 메서드를 호출하는 것을 잊지 말아야 한다. 완전히 재정의하는 경우에는 관계없지만 여기서의 목적은 완전히 재정의하는 것이 아니라 그 기능을 확장하는데 있기 때문에 이와 같이 한다.
자바스크립트: getElement 추가하기
페이지가 로딩되고 브라우저에 전달되기 전에 이벤트가 발생하는 PreRender 이벤트가 자바 스크립트를 추가하기 적합하다.
따라서, 다음과 같이 PreRender 이벤트를 정의한다.

[그림6] PreRender 이벤트 정의
앞으로 추가하게 될 다양한 스크립트 등록을 한 곳에 모아두기 위해 RegisterClientScript() 함수를 작성하였고, BasePage_PreRender()에서 이를 호출하도록 하였다.
자바 스크립트를 추가하기 위해 AddGetElementScript()를 추가하였다. 하나의 자바 스크립트에 대해서는 하나의 함수로 독립시켰다. 필요에 따라 특정 스크립트의 추가와 제거를 손쉽게 하기 위해 이와 같이 스크립트를 나누었다.
앞에서 설명한 것처럼 getElement() 함수는 ASP.NET 페이지의 컨트롤과 상호 작용할 필요가 없기 때문에 단순히 스크립트를 등록하기만 한다. 다음은 AddGetElementScript()의 정의다.
AddGetElementScript() 함수

[그림7] AddGetElementScript() 함수 정의
자바 스크립트 함수 이름과 스크립트를 등록하기 위한 이름을 각각 GetElementFunctionName과 GetElementScriptName 문자열 상수로 만들었다. 다른 스크립트에서도 __getElement() 라는 스크립트를 직접 이용하는 대신 GetElementFunctionName이라는 문자열 상수를 참조하여 작성할 것이다.
자바 스크립트를 등록하기 전에 IsClientScriptBlockRegistered()를 사용하여 스크립트 등록 여부를 확인하고, 등록되어 있지 않은 경우에 RegisterClientScriptBlock()을 사용하여 스크립트를 등록한다. 이와 같은 방법은 Mona.Web.UI.BasePage를 상속하여 클래스를 확장하는 경우에 충돌없이 자바스크립트를 등록하고 사용할 수 있게 해준다.(예를 들어, 사용자 요청을 처리하는 동안 피드백을 보여주거나 에러 처리에 대한 정보를 처리하기 위해 BasePage 클래스를 상속하여 확장하는 경우가 발생할 수 있다)
다음은 원하는 컨트롤에 커서를 위치시키기 위한 자바 스크립트 등록과 SetFocus()를 만들어 볼 것이다.
AddSetFocusScript() 함수
이 자바 스크립트를 사용하는 목적은 원하는 텍스트 박스에 커서를 위치 시키기 위해 반복적으로 자바 스크립트를 작성하지 않기 위한 것이다. 또한, 사용자가 쿠키에 ID를 저장한 경우에 비밀번호를 바로 입력할 수 있게 비밀번호 입력상자에 커서를 위치시키고, 쿠키에 ID를 저장하지 않은 경우 ID 입력 상자에 커서를 위치시키는 것과 같은 동적 스크립팅 처리를 하기 위한 것이다.

[그림8] RegisterClientScript()에 AddSetFocusScript() 추가
RegisterClientScript() 함수에 AddSetFocusScript()를 추가한다.

AddSetFocusScript() 함수 역시 SetFocusScriptName과 SetFocusFunctionName 문자열 상수를 이용해서 스크립트 이름과 함수 이름을 정의한다. 빨간 테두리로 되어 있는 부분이 __setFocus() 함수를 정의하는 부분이다. 노란색 테두리는 사용자가 원하는 컨트롤에 커서를 이동시킨다. 웹페이지에서는 __setFocus( 'txtName' ); 과 같이 된다.
아직, focusedControl 변수를 선언하지 않았다는 것을 알 수 있다. 실제로, 코드에서 사용할 SetFocus() 함수는 이 컨트롤의 이름을 전달받아 내부변수 focusedControl에 설정하는 역할만 한다.
SetFocus() 함수

먼저 focusedControl 변수를 선언하고 생성자에서 내부 변수의 값을 초기화한다. 초기화하지 않으면 NullReferenceException이 발생하므로 주의하기 바란다.
RegisterStartupScript()와 RegisterClientScriptBlock()의 차이
AddGetElementScript()와 AddSetFocusScript()에서 자바 스크립트를 등록하기 위해 서로 다른 함수를 사용했다.
얼핏 생각하기에 두 함수간에 차이점은 없다.(정말?)
RegisterClientScriptBlock() 함수는 시작 FORM 태그(<FORM>) 다음에 스크립트가 생성되지만, RegisterStartupScript() 함수는 닫는 FORM 태그(</FORM>) 바로 앞에 스크립트가 생성된다.
이 두 스크립트의 차이점을 이해하기 위해 자바 스크립트를 설명하며 살펴본 예제를 다시 살펴보자.

여기서는 자바 스크립트에서 이미 있는 txtName 요소를 사용하기 때문에 문제가 발생하지 않는다. 그러나 스크립트와 태그의 순서를 다음과 같이 변경하면 txtName 요소가 선언되기 전에 자바 스크립트가 위치하기 때문에 오류가 발생한다.

마찬가지로 BasePage에서 SetFocus()와 같이 폼 요소들을 참조하는 스크립트를 작성하는 경우에 해당 요소들이 모두 화면에 출력된 다음에 자바 스크립트가 작성되어야 참조 오류가 발생하지 않는다.
앞으로 소개하게 될 자바 스크립트는 모두 폼 요소들을 참조하기 때문에 RegisterStartupScript()를 사용하여 스크립트를 등록한다.
BasePage 테스트: TestBasePage
새로운 ASP.NET 웹 프로젝트를 BasePage 프로젝트에 추가한다.
참조에는 BasePage 프로젝트 참조를 다음과 같이 추가한다.

참조를 추가했으면 TestBasePage.aspx 페이지를 만들고 다음과 같이 폼을 작성한다.

TestBasePage.aspx.cs 소스

소스 코드에서 직접 작성해야 하는 부분은 빨강 테두리로 표시했으며, Mona.Web.UI.BasePage를 상속하고 있다.
이와 같이 작성하고 테스트 해보면 페이지를 처음 로딩할 때는 첫번째 텍스트 박스에 포커스가 위치하고 버튼을 클릭하면 두번째 텍스트 박스에 포커스가 위치하는 것을 알 수 있다.
마찬가지로, 생성된 HTML에서 GetElement와 SetFocus 자바 스크립트의 생성위치를 비교해보기 바란다.
BasePage 버전 관리
System.Web.UI.Page를 BasePage로 대체하기로 결정했다면 여러 프로젝트에서 같은 DLL을 참조하여 사용하게 될 것이다. BasePage의 개선이 자주 발생하지 않는다해도 매번 컴파일시 변경되는 버전은 참조 오류를 일으킨다. 따라서 BasePage 프로젝트의 AssemblyInfo.cs 에서 AssemblyVersion 특성을 다음과 같이 변경하여, 고정된 버전번호를 부여하도록 한다.
[assembly: AssemblyVersion("1.0.0.0")]
SetFocus() 함수와 ASP.NET 2.0
반가운 소식은 앞서 구현한 SetFocus() 함수의 역할을 대신할 함수가 ASP.NET 2.0에 포함되었다는 것이다. 현재 .NET Framework 2.0 베타에서도 이 함수를 사용할 수 있다. System.Web.UI.Page.SetFocus( string controlName )이 바로 그 함수다. ASP.NET 2.0이 도입될 경우에도 BasePage의 SetFocus() 함수를 그대로 사용할 수 있으며, 원한다면 AddSetFocusScript() 함수를 제거하는 것으로 ASP.NET 2.0에 대비할 수 있을 것이다.
다음시간에는 자동탭 넘김, 숫자 입력 텍스트 박스, 문자 입력 텍스트 박스 등에 대해서 살펴볼 것이다.
참고자료
BasePage 소스코드 다운로드

Build Your ASP.NET Pages on a Richer Bedrock

JavaScript: The Definitive Guide, 4th Edition, Ch. 17
JavaScript & DHTML Cookbook, Ch. 8

출처 : Tong - 夢魂™님의 # 기술 자료통

웹서버 부하 분산을 위한 허접한 로드밸런싱 ^^;

웹서버가 그렇게 성능(Xeon 2.4, 스카시HDD, 1G RAM)이 떨어지는 것도 아닌데... 60만명이 넘는 회원을 가진 다음카페 회원들한테 메일한번 쏜 이후로 엄청난 접속에 거의 서버가 멎을 뻔 하였던 경험을 하였습니다.

그래서 생각한 것이 로드밸런싱인데... 허접한 제 실력에 로드밸런싱이란 것은 하기 힘든 작업이었죠.^^

그래도 어디서 들어본 것은 있는지 문득 생각난 것이 rsync와 Round-Robin이였습니다.^^

하지만 들어보기만 했지 직접 해 본적은 없어서... 어떻게 해야 할 지 난감하더군요..^^

어째든 맨땅에 헤딩은 그렇게 시작이 되었습니다.^^

여기서 많은 분들께 질문도 하고... 여기 저기 문서도 많이 찾아 봤습니다.^^



아직 완벽하지는 않은 듯 하니... 참고로 보시고..

물론 더 뛰어난 실력을 갖추신 분들은 더 좋은 로드밸런싱을 사용하시기 바랍니다. (skip... ^^)



그럼 하나 하나 제가 한 방법을 적어보도록 하겠습니다. 이하 존댓말 생략입니다.^^;





기존의 웹서버 A와 새롭게 추가하고자 하는 웹서버 B가 있다고 보자.



A서버의 아이피 : 192.168.1.1

B서버의 아이피 : 192.168.1.2



우선은 두 서버가 하나의 서버로 인식하기 위해서는 두 서버 모두 하나의 도메인을 가지고 있어야 한다. 따라서 DNS의 설정은 필수적이다.





1. DNS 설정(Round-Robin)



$TTL 86400

@ IN SOA ns.localhost.com. root.localhost.com. (

2003052901

21600

1800

1209600

86400)

IN NS ns.localhost.com.

IN A 192.168.1.1

www IN A 192.168.1.1

www IN A 192.168.1.2

www1 IN A 192.168.1.1

www2 IN A 192.168.1.2





위와 같이 zone 파일을 설정한다. 물론 named는 restart 해야 한다. 그러면 www.localhost.com이란 도메인은 192.168.1.1과 192.168.1.2 두개의 아이피를 가지게 된다. 이 상태에서 nslookup www.localhost.com이라고 하면... 다음과 같이 나온다.





Server: 168.126.63.1 --> 질의한 서버 아이피

Address: 168.126.63.1#53



Name: www.localhost.com

Address: 192.168.1.1 --> 결과값1

Name: www.localhost.com

Address: 192.168.1.2 --> 결과값2



이와 같이 나온다면 네임서버는 잘 설정한 것이다.^^





2. 웹서버의 설정



우선 두대 모두다 apache의 httpd.conf파일에 www.localhost.com 도메인을 설정해 두어야 한다. 만일 이미 다른 것으로 사용하고 있다면 apache의 가성서버 설정을 이용해야 한다.(물론 여기서 가상호스트 설정까지 살펴보지는 않겠다.^^) 기본적으로 두 서버의 DocumentRoot가 틀려도 되지만, 손 쉬운 관리를 위해서 경로를 같게 두는 것이 좋을 것이다.



ex)

A서버의 DocumentRoot - /usr/local/localhostSource

B서버의 DocumentRoot - /usr/local/localhostSource





3. rsync의 설정



이제 두대의 서버가 갖춰지고 두대 모두 동일한 도메인을 가지게 되었다면 두 서버의 소스가 동일하도록 할 차례이다. 이러한 것을 위해서 바로 rsync가 필요하다. rsync와 관련된 많은 참고문헌들을 뒤졌는데 결론적으로 '질주본능'님의 조언으로 성공하게 되었다. 이 자리를 빌어 감사하다는 말씀을 전한다. '질주본능'님이 쓰신 rsync 관련 내용을 보시고 싶으신 분은 http://www.phpschool.com/bbs2/inc_view.html?id=9985&code=tnt2&start=0&mode=search&field=title&search_name=&operator=and&period=all&category_id=&s_que=rsync 를 참고하기 바란다.



우선 rsync 는 ssh를 이용한 방법과 873 포트를 이용한 방법이 있다. ssh를 이용한 방법이 조금더 안정성 면에서 좋을 것이라는 생각에 시도하였지만 번번히 실패하게 되었고 결국에는 873포트를 이용한 rsync를 성공하게 되었다. ssh를 이용한 rsync에는 비밀번호를 물어보게 되는데 파일을 이용하여 비밀번호를 자동으로 입력할 수 있다고 하는데 잘 되지 않았다.(성공한 분은 비결좀 알려주시길...^^)





그럼 873포트를 이용한 rsync 설정 방법을 알아보도록 하자.



우선은 xinetd를 이용하여 rsync가 구동되므로 다음과 같이 설정을 해 줘야 한다.



#vi /etc/xinetd.d/rsync



# default: off

# description: The rsync server is a good addition to an ftp server, as it

# allows crc checksumming etc.

service rsync

{

disable = no

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = --daemon

log_on_failure += USERID

}





그 다음 rsync의 설정파일을 수정해 줘야 한다. rsync의 설정 파일은 rsyncd.conf 파일이다. 물론 이 파일은 원래 존재하지 않는다.(원래 존재하는데 필자만 없었을 수도 있다.) 한가지 주의할 것은 설정파일 이름이 rsync.conf가 아니라 rsyncd.conf란 것이다. 일부 tip에서 rsync.conf라고 하는데 이렇게 할 경우에는 rsync가 되지 않았다.



#vi /etc/rsyncd.conf



[www]

path = /usr/local/localSource

comment = webservice-dir

uid = root

gid = root

use chroot = yes

read only = yes

hosts allow = 192.168.1.2

max connections = 1

timeout = 300



여기서 [www] 은 닉네임이다. 즉 아래 설정 내용을 한번에 호칭하기 위해 사용하는 것이다. path는 rsync를 받고자 하는 소스가 존재하는 디렉토리를 정해주면 된다.

uid와 gid는 root로 하는 것이 좋다. nobody로 할 경우에는 일부 기능을 사용하지 못하는 경우가 발생했다.^^(정확한 이유는 모르겠다.^^)

hosts allow는 어느 아이피에서 rsync 서버에 붙어 소스를 가져가도록 허락할 것인지 설정해 주는 것이다.





rsync의 설정을 모두 마쳤다면 xinetd 데몬을 재 시작한다.



/etc/rc.d/init.d/xinetd restart





설정을 마치고 xinetd도 재시작했다면 873 포트가 열려 있는지 테스트 해보자.



#telnet localhost 873

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

@RSYNCD: 26

Localhost rsync server

sysadmin = root@localhost.com



위와 같이 나온다면 정상적으로 설정이 된 것이다. 물론 2번째로 소스를 받아갈 B서버에서도 테스트를 해 봐야 한다.





#telnet 192.168.1.1 873

Trying 192.168.1.1...

Connected to 192.168.1.1.

Escape character is '^]'.

@RSYNCD: 26

Localhost rsync server

sysadmin = root@localhost.com





이렇게 되었다면 이제 rsync는 완전히 성공한 거나 다름 없다.

다음과 같이 테스트 해보자...^^



rsync -avzrt --delete 192.168.1.1::www /usr/local/localSource/





-a는 아카이브 모드. 심볼릭 링크, 속성, 퍼미션, 소유권 등 보존

-v 전송 상태를 보여줌

-z 전송시 압축을 함.

-r recursive (하위 디렉토리까지 포함)

-t 변경시간 전송 (이것이 없으면 전송한 시간으로 바뀜)



--delete A서버에는 없는데 B서버에 있다면 지우라는 명령



::는 873포트를 이용한 rsync에서 사용하며 ssh나 rsh를 사용할 경우에는 : 라고 써야 한다. 우리는 873 포트를 이용하므로 :: 라고 써야 한다.

www는 rsync 서버의 /etc/rsyncd.conf 파일에서 준 닉 이다. 바로 그 곳에서 설정한 path의 소스들을 /usr/local/localSource/ 디렉토리 밑으로 가져온다는 의미이다.



이해를 다 하셨다면 'Enter'를 힘차게 눌러보자.. 화면이 주르륵 하면서 소스를 가져오는 것이 보일 것이다.(안보이면 대략 낭패..-.-;)

처음에는 모든 파일을 다 가져오기에 조금 시간이 걸릴 것이다. 하지만 그 다음부터는 변경된 파일만 가져올 것이므로 그다지 부하는 걸리지 않을 것이다.^^ (예상하건데...)



이 명령어를 수동으로 매번 타이핑할 수 없으므로 /etc/cron.hourly/ 밑에 shell script 파일 하나를 만들자.



#vi rsync.sh



rsync -avzrt --delete 192.168.1.1::www /usr/local/localSource/



그리고 나서 chmod 700 rsync.sh 하면...^^ rsync 완료...





4. nfs의 설정



사이트에 소스만 있다면 이것으로 끝날 수 있다. 하지만 어찌 소스만 있으랴... nobody 권한으로 생성되는 각종 파일들(로그기록, 그림파일, 업로드 되는 파일들... 기타 등등)을 어떻게 두 서버에서 공유할 수 있단 말인가?

사용자가 운좋게 Round-Robin에서 잘 걸려서 A서버로 붙은 후 파일을 업로드 했다면 rsync로 샥~~ 파일을 가져오면 되는데... B서버에 붙어서 파일을 올렸다면 어찌 해 볼 도리가 없다. 그렇다고 B서버에 rsync 서버를 설치하고 거꾸로 다시 가져오는 것도 바보같은 짓이다.^^(설마 이렇게 하는 분들은 안계시겠죠?)



그래서 나온 것이 nfs이다. Network File System의 약자로 원격지에 있는 하드디스크를 마치 자신의 하드디스크인양 mount 해서 쓸 수 있는 것이다.

따라서 A서버에 있는 디렉토리를 B서버에서 마운트 한다면 어느 서버에서 파일을 올리던 한곳에 파일이 기록되게 되는 것이다. 물론 파일서버를 하나 더 두고 A, B 서버 모두 마운트 해서 사용해도 될 것이다(이렇게는 해 보지 않았다^^)



한가지 주의할 사항은 파일이 쌓이는 곳이 DocumentRoot 밖에 있어야 한다는 것이다. 그래야지만 rsync와 상관없이 실시간으로 파일을 공유할 수 있기 때문이다.



필자는 /localData 란 디렉토리를 하나 만들고 이곳에 nobody 권한으로 생기는 모든 파일을 잘 정리해서 사용하고 있었다.

그럼 nfs의 설정을 하나하나 살펴보도록 하자.





우선은 rsync와 마찬가지로 어느 디렉토리를 어떤 아이피와 공유할 것인지를 설정해야 한다. 따라서 A서버에서 다음과 같이 설정해 줘야 한다.



#vi /etc/exports



/localData 192.168.1.2(rw,no_root_squash)





여기서 /localData란 마운트 당할(?) 디렉토리명... 192.168.1.2는 접근 허용할 아이피, rw는 일고 쓰기 가능토록 권한을 주는 것..., no_root_squash는 B서버의 root도 해당 디렉토리에서 A서버의 루트 권한을 주는 것(맞나?)이다. 참고로 아이피는 도메인으로 설정해 줘도 되는데... 우리는 A서버와 B서버의 도메인이 같으므로 아이피로 하도록 한다.

이렇게 설정을 한 다음... nfs 데몬을 재시작 한다.



#/etc/rc.d/init.d/nfs restart



이렇게 하면 5개인가의 데몬이 주르륵 재시작된다.(stop, start 합치면 10개의 ok 사인이 떨어진다.^^)



이상태에서 바로 B 서버에서 mount를 하면 대략 난감이다. ^^(이거때문에 몇일을 헤메었는지 모른다.^^;;)

이렇게 다 했다면 가장 중요한 데몬 하나를 죽여줘야 한다.^^



#/etc/rc.d/init.d/nfslock stop



이놈이 뭐하는 놈인지 모르겠는데, 이 데몬이 살아 있다면 죽어도 B서버에서 A서버의 /localData를 mount 하지 못할 것이다.(하는 분이 나타난다면... 안되는데..^^;;)

어째든 여기까지 했다면 거의 다 성공한 것이다.



하지만 B서버에서도 설정해 줘야 할 것이 몇개 있다.^^



다음과 같이 dns에 질의하지 않고 바로 연결할 수 있도록 hosts파일을 편집해 줘야 한다.(성능상 좋다고 한다^^, hosts파일의 역할을 모르시는 분은 검색..^^)



#vi /etc/hosts



192.168.1.1 localhost.com localhost.com





그다음 마운트!!!



#mount -t nfs localhost.com:/localData /localData/



한번 마운트가 잘 되었는지 확인해 보자...^^



#cd /localData

#ls -al

drwxr-xr-x 8 nobody nobody 4096 2월 23 17:57 .

drwxr-xr-x 20 nobody nobody 4096 2월 24 13:10 ..

drwxr-xr-x 2 nobody nobody 4096 2월 25 10:44 adminCharge

drwxr-xr-x 2 nobody nobody 4096 2월 26 16:48 cafeConn

drwxr-xr-x 38 nobody nobody 4096 2월 11 13:23 history

drwxr-xr-x 38 nobody nobody 4096 7월 22 2003 ipLog

drwxr-xr-x 2 nobody nobody 8192 2월 27 2004 joinWord

drwxr-xr-x 2 nobody nobody 4096 1월 2 00:06 userAgent



이 다음 B서버에서 접속한 경우 nobody 권한으로 기록되는 파일들이 /localData에 제대로 기록되는지 테스트만 해 보면 된다.





마침...



현재 이런 셋팅에서 테스트 해본 결과 잘 되고 있습니. 다만 로드밸런싱을 하는 프로그램이 따로 없고 네임서버를 이용한 Round-Robin을 이용하다 보니 A, B 서버의 사양에 상관없이 균등하게 배분이 되며 한번 A서버에 붙은 사람은 B 서버로 잘 옮겨오지 못하는 경우가 발생합니다.

그렇게 큰 문제는 아니라고 생각되지만, 불편하신 분들은 더 좋은 로드밸런싱 프로그램을 사용하길 바랍니다. 아마도 돈을 조금 지불해야 되지 않을까 십네요^^

그리고 더 좋은 무료 로드밸런싱 제품이 있다면 저한테도 좀 알려주시기 바랍니다.^^





참고로 이 글은 제가 직접 쓴 글이므로(물론 많은 분들의 도움이 있었지만..^^) 옮겨가실 때에는 출처를 밝혀 주시고... 이대로 따라 하시다가 서버가 맛이 간다거나 해도 저의 책임이 없음을 미리 밝히는 바입니다.^^;



그럼 즐프하시고...

좋은 시간 되세요.



참 덧글도 좋은거 있어서 붙입니다.



덧글..



DNS를 사용해서 로드를 구성하신다면 보다 효율적인 분산을 위해서 TTL값이 작게 잡는것이 좋지 않을까요

www 60 IN A 192.168.1.1

www 60 IN A 192.168.1.2

- PHP 스쿨에서 공간사랑님이.. ^^



요즘 서버들 랜카드가 두개잖아요.

랜 포트 하나는 IP 공유기나 허브에 연결하시구.

NFS 는 사설아이피로만 허가하세요.

나머지 포트는 웹으로 사용하시구요.

그리고 DNS 를 . 1,2 번 웹서버에 각각 2번 찍으면 됩니다.

전 이방법으로 서버 4대 돌리고 있는데 트레픽도 내부적으로 하니까 좋습니다. 전 작년 10월부터 지금까지 이상없이 잘 사용하고 있습니다.

- PHP 스쿨에서 영완님이 ^^



NFS 가 편리하긴 하지만, 락이 걸릴 경우 시스템이 그대로 뻗어 버리는 경우가 종종 있습니다. 그래서 실시간으로 공유해야 할 부분에만 NFS를 사용하고, 그외에는 rsync 등을 사용해서 replication 을 해 주는 게 좋습니다. 그리고 서버가 여러대일 경우 NFS로 묶으면 IO쪽 부하가 심해지므로 고려해야 합니다. 만약 NFS를 구지 사용해야 한다면, TCP 기반의 NFS를 사용하는 게 여러가지 특성상 유리합니다.

- PHP 스쿨에서 Samuel Oh님이 ^^



일전에 로드밸런싱을 위하여 제가 작업했던 방식은 일단 l4에서 rr(라운드 로빈)로 각 웹서버의 접속세션을 분산시켜주고 해당 웹서버에서는 nfs서버의 웹파일들을 사용합니다. nfs서버와 웹서버와의 통신은 내부망을 통해서 연결되어 있고요.

이렇게 사용되면 디스크 쓰기 i/o나 읽기 i/o등이 nfs 서버로 분산 되어 웹서버 자체의 시스템적 부하는 줄어들고 서버 파일 관리가 용의해지겠지요. (만약 파일을 한곳에 모아 놓지 않는다면 완벽한 미러링 시스템이 필요하겠지요.)

nfs서버 자체가 그다지 미덥지 못하다면 데이터센터에서

스토리지 서비스를 받는 방법도 좋습니다. 스토리지 서비스를

받는다면 보안이나 운용에 큰 도움이 되겠지요.

- PHP 스쿨에서 santana님이 ^^

----------------------------------------------------------------------------> 다 좋지만 요 밑부분 괜찮습니다. ^^

실제로 운영한 것을 경험으로 정리해본다면..

L4로 웹서버 로드 밸런싱..

DB서버는 Replication 을 통한 로드 밸런싱..

웹소스는 NFS(개별서버) 를 통한 데이터 공유,

웹소스 백업은 rsync OR NFS서버에서의 백업후 백업서버로 이동

DB 백업은 개별 Slave DB(Repliction)에서의 백업후 백업서버로 이동

이와 같이 썼었습니다. 단점으론 서버가 좀 많이 듭니다.

실시간으로 웹소스 및 DB소스를 운용 가능하구요..

사용자가 늘어나면 늘어날수록 해당하는 웹서버와 DB서버를 증설하고.. 캐쉬기능을 보강하구.. 하면 꽤 좋은 성능을 내주더군요..

- PHP 스쿨에서 꾹꾹이 님이 ^^

<---------------------------------------------------------------------------- 요기까지? ^^.. ㅋㅋ



물론 저도 안해봤으니 책임 못집니다. ㅋㅋ

PHPSCHOOL 보다가 좋은글 있길래 뽑아왔습니다. 출처를 밝히시라네요 ^^

근데 자세히 안나와서 나온데로 밝히겠습니다. ^^



출처 : PHPSCHOOL에서 체리필터 님이.. ^^