노트: 테스트를 꼭 describe 로 감쌀 필요는 없지만, 이 방법은 관련 있는 테스트를 한곳에 모아 준다. 그리고 터미널 출력을 보다 읽기 쉽게 만들어 주며 반복적인 테스트 메시지 출력을 막아 준다. 만약 테스트 파일이 길어지면 에디터에서 필요없는 테스트 코드 블록을 접어서 가독성을 높일 수도 있다.
[번역] 초보자를 위한 React 어플리케이션 테스트 심층 가이드 (1)
대부분의 개발자는 다음의 사실을 알고 있다: 자동화된 테스트는 중요하다. 그렇게 주장하는 데는 많은 이유가 있다.
- 단지 코드 몇 줄을 바꾸는 것으로 자기도 모르게 앱을 망가뜨릴 수도 있다.
- 코드를 수정한 후에 테스트를 수동으로 돌리는 일은 성가시다.
- 테스트는 edge case1 를 문서화 하는 데 도움을 준다.
- 이직을 원하는 개발자 입장에서 다른 지원자보다 더 높은 경쟁력을 가질 수 있다.
안타까운 얘기지만, 테스트 케이스를 작성하는 일은 처음 시도하는 사람에게 쉬운 일이 아니다. 그것은 마치 완전히 다른 환경에서 개발을 진행하는 것과 유사하다. 당신은 대체 무엇을 테스트해야 할지 모를 수도 있다. 간단한 테스트 케이스를 작성에도 에러가 계속 발생해서 많은 시간이 걸릴 수도 있다. 당신은 브라우저를 기반으로 개발하는 일에 익숙하다. 브라우저는 물론 훌륭한 도구다. 하지만 테스트는 브라우저에서 작성하는 것과 같은 방식으로 동작하지 않는다.
하지만 테스트가 그렇게 어려울 것은 없다. 올바른 접근법을 가진다면 초보자라도 확신을 가지고 테스트를 작성할 수 있다.
이 블로그 포스트의 목표는 당신의 첫 번째 테스트를 위한 가이드가 되는 것이다. 우리는 조그만 예제 앱과 함께 테스트를 작성해 나갈 것이다. 그리고 무엇을 테스트 해야 할지, 무엇을 테스트 하면 안되는지에 대해 이야기 할 것이다. 우리는 시행착오 없이 확신을 갖고 테스트를 작성할 수 있는 다양한 테크닉을 살펴보려 한다.
이 블로그 포스트는 꽤 길고 심층적인 내용을 다루고 있다. 아래의 차례를 통해 어떤 내용이 나올지 미리 확인할 수 있을 것이다.
이 포스트는 많은 정보를 담고 있다. 구체적인 내용을 기억하는데 도움을 주기 위해 나는 모든 팁과 리소스의 목록을 담은 한장의 요약본(cheatsheet)를 만들었다. 그것은 글 마지막 부분에서 얻을 수 있다. 2
테스트할 어플리케이션을 살펴보기 전에 일반적인 React 앱을 테스트하는 방법에 대해 전반적으로 살펴보자.
큰 규모의 앱을 작업할 때 중요한 파트의 코드를 건드리는 일은 무섭게 느껴질 수 있다. 사소한 수정도 매우 중요한 기능을 망가뜨릴 수 있기 때문이다. 개발자는 이런 위험을 최소화하기 위해 테스트를 작성한다.
테스트 작성의 목적은 당신에게 그 앱이 제대로 동작한다는 확신을 주는 데 있다. 만약 모든 중요한 유즈케이스(use-case)가 테스트로 커버되어 있다면 당신이 무언가를 망가뜨렸을 때 빠르게 피드백을 얻을 수 있을 것이다.
나는 이런 테스트가 개발자와 비지니스에 설명할 수도 없을 정도로 큰 이득을 준다고 힘주어 말할 수 있다.
현재 React 앱의 자동화된 테스트에 꼭 맞는 옵션 초보자 가이드 라이브러리는 Jest 와 @testing-library/react(aka Testing Library)의 조합이다.
물론 다른 라이브러리도 있다. Jest는 Mocha, Jasmine, 또는 AVA로 대신할 수 있고, Testing Library는 많은 개발자들이 사용하고 있는 Enzyme으로 대체할 수 있다.
Testing Library는 테스트를 사용자 관점에서 접근한다. 그러므로 그것은 우리를 자연스럽게 복수의 컴포넌트가 함께 테스트되는 Integration Test 3 로 이끈다.
예를 들어 어떤 버튼을 생각해보자. Testing 옵션 초보자 가이드 Library를 사용하면 버튼이 클릭되었을 때 onClick prop이 호출되는지는 잘 테스트하지 않는다. 그보다 특정 버튼이 특정 효과를 발동시키는지 확인한다. 예를 들어 삭제 버튼을 클릭하면 확인 모달이 열리는지 테스트한다.
이 앱은 ooloo.io에 있는 내 강의에서 개발하는 앱의 간단한 버전이다. 만약 준비가 되지 않은 것 같다면, 전문적인 팀이 어떻게 실무에서 사용하는 앱을 개발 하는지 배울 수 있다.
이 앱은 사용자에게 서브레딧(subreddit)에서 가장 인기있는 포스트를 찾을 수 있도록 한다. 이것은 매우 간단한 앱으로 제목과 몇 개의 링크, 폼을 가지고 있을 뿐이다. 하지만 당신의 첫 번째 테스트를 위해서 좋은 예제가 될 것이다.
헤더에 있는 다른 페이지를 가리키는 링크는 단지 헤드라인만 포함한 플레이스홀더 이상의 역할을 한다. 중요한 기능은 바로 다른 페이지로의 네비게이션이다.
1개의 텍스트 입력을 가진 폼에서는 사용자가 검색할 서브레딧의 제목을 입력할 수 있다.
제출(submit) 버튼을 클릭하면 Reddit API로 요청을 보낸다. 응답을 기다리는 동안 앱은 로딩 상태를 표시한다. 데이터는 응답을 받는 대로 표시되며, 단순함을 위해 상위 포스트의 개수만 표시한다.
전체 코드는 이 저장소에서 확인할 수 있다. 원한다면 저장소를 클론한 후에 이 글을 계속 읽어도 좋다.
처음으로 떠오르는 질문은 “무엇을 테스트해야 하는가”일 것이다. 예제로 앱에 있는 폼 컴포넌트를 살펴보자. 코드는 아래와 같다.
폼의 입력값은 상태 변수( subreddit )와 계속 연동된다. 제출 버튼을 클릭하면 상위 컴포넌트에서 전달된 onSearch prop을 호출한다.
어떻게 데이터를 가져오는지도 궁금할 것이다. 그것은 폼 컴포넌트의 부모인 홈 페이지 컴포넌트에서 이뤄진다.
홈 페이지 컴포넌트는 API 응답 데이터를 상태 변수에 저장하며 로딩 상황을 계속 추적한다. 폼에 의해 검색이 실행되면 Reddit API로 요청이 전달된다. 데이터가 도착하면 상태 변수들( posts , status )이 모두 업데이트되며 결과가 폼 아래에 표시된다.
이제 당신은 코드에서 중요한 부분을 살펴보았고 더 진행하기 전에 스스로 다음의 질문의 답해 보기 바란다: 당신은 저 두 컴포넌트를 어떻게 테스트하겠는가?
우리는 아마도 위의 컴포넌트를 살펴보고선 유닛 테스트를 먼저 작성하려 들 것이다. 우리는 아마 상태가 제대로 저장되는지 확인하고 현재의 subreddit 값과 함께 onSearch prop이 호출되는지 확인하길 원할 것이다. 이것이 많은 개발자들이 Enzyme으로 테스트하는 방식이다.
하지만 Testing Library를 사용한다면 상태 변수에 접근하지 않는다. prop으로 전달된 함수를 테스트하긴 할 것이지만, 상태 변수가 정확한 값을 가지고 있는지는 테스트하지 않는다.
이것은 약점이 아니다. 이것은 강점이다. 상태 관리는 컴포넌트의 구현 세부사항(implementation detail)이다. 상태 변수가 지금은 컴포넌트에 있지만 부모로 옮겨질 수도 있고 그렇게 해도 앱은 똑같이 동작해야 한다 4 .
사실 React 자체도 구현 세부사항이다. 우리는 앱 전체를 유저가 모르는 사이에 Vue.js로 옮길 수도 있다.
앱의 코드와 그것의 구현 방식에 집중하는 대신, 우리는 단순히 유저의 관점을 취한다. 그리고 이 관점은 우리가 앱의 중요한 옵션 초보자 가이드 부분을 테스트하는데 집중하도록 강제로 이끈다.
우리가 이 테스팅 철학을 받아들인다면 테스팅은 더 이상 알기 어렵고 무서운 것이 아니게 된다.
노트: 사용자는 어플리케이션의 말단 사용자일 수도 있고 당신이 개발한 컴포넌트를 사용하는 개발자가 될 수도 있다. 당신이 소속된 팀의 다른 개발자들도 사용하는 이미지 갤러리를 개발했다고 가정해보자. 예를 들어 당신은 props가 변경되었을 때 앱이 제대로 동작하는지 테스트해야 한다.
좋다, 사용자 관점이다. 그러니 어플리케이션에서 저 컴포넌트에 대해서는 잠시 잊고 사용자가 직면하는 부분에 대해 집중해 보자. 사용자 입장에서 앱이 제대로 기능하기 위해서는 무엇이 중요할까?
일단 테스트할 앱을 클릭해서 사용해 보자. 앱 테스트에서 중요한 것은 그렇게 직접 사용해 본 내용들이다. 그에 대해서는 이미 위에서 설명했었다.
- 사용자는 폼 입력에 값을 입력하고 제출 버튼을 누른다.
- 데이터를 기다리는 동안 로딩 메시지가 표시된다.
- API 응답이 도착하면 데이터가 렌더링된다.
사용자는 홈 페이지나 폼 컴포넌트가 입력 값을 저장하는지 아닌지는 신경쓰지 않는다. 사용자 입장에서 응답으로 받은 포스트 데이터가 상태 변수에 저장이 되는지, 데이터 구조가 어떤지는 상관할 바가 아니다. 유저에게 중요한 것은 오직 위의 세 단계다.
물론, 우리는 헤더에 있는 링크도 테스트해야 한다. 어찌됐든 깨진 링크(예. 회원 가입 페이지로 가는 링크)는 비지니스에 문제를 줄 수 있기 때문이다.
노트: 보통 우리는 엣지 케이스를 테스트해야 하고 폼에서 발생하는 에러도 처리해야 한다. 하지만 그것까지 이 블로그 포스트에서 다루기에는 너무 양이 많다.
지난 섹션의 내용을 빨리 훑어보고 알게 된 것들을 기술적인 언어로 풀어 보자:
우리는 2개의 테스트 묶음(suite)를 작성할 것이다. 하나는 헤더 링크를 위한 것이며 나머지 하나는 폼을 위한 것이다. 헤더를 위해서는 링크가 정확한 대상을 가리키는지 테스트해야 한다. 그리고 폼을 위해서는 입력 값 변경, 값 제출, 로딩 상태, 그리고 결과 렌더링을 테스트해야 한다.
헤더를 위한 테스트부터 시작해 보자. 먼저, src/app.js 를 열어서 작성되어 있는 테스트를 제거한다. 그리고, 헤더 테스트 묶음을 Jest의 describe 함수를 사용해서 정의하자.
노트: 테스트를 꼭 describe 로 감쌀 필요는 없지만, 이 방법은 관련 있는 테스트를 한곳에 모아 준다. 그리고 터미널 출력을 보다 읽기 쉽게 만들어 주며 반복적인 테스트 메시지 출력을 막아 준다. 만약 테스트 파일이 길어지면 에디터에서 필요없는 테스트 코드 블록을 접어서 가독성을 높일 수도 있다.
테스트 케이스는 test(. ) 로 정의될 수 있다. 그리고 it(. ) 으로 대체할 수도 있다. Jest는 둘 다 제공한다.
우리는 헤더 컴포넌트를 분리된 상태가 아닌 어플리케이션 컨텍스트 안에서 테스트하고 싶다. 그것이 우리가 이 테스트에서 App 컴포넌트를 사용해야 하는 이유다.
App 컴포넌트는 아래와 같이 작성되어 있다.
이 App 컴포넌트는 실제로 운영되고 있는 많은 어플리케이션처럼 React Router를 사용한다. 그리고 헤더 컴포넌트와 홈 페이지를 포함한 몇 개의 라우트를 렌더링한다.
참고로 여기에는 Router 컴포넌트가 없다. 테스트를 위해 Router는 App 컴포넌트를 렌더링하는 index.js 파일에 있다. 테스트 중에는 App 컴포넌트를 MemoryRouter로 감쌀 것이다.
그래서 첫 번째 단계로, 우리는 앱 컴포넌트를 렌더링한다. Testing Library는 주어진 컴포넌트로 DOM을 생성하는 render 함수를 제공한다
이 앱은 create-react-app으로 만들어졌기 때문에 Testing Library 사용에 필요한 모든 것은 이미 설치되어 있다.
테스트를 작성하기 시작하면 당신은 마치 어두운 상자 안을 걷는 듯한 느낌을 받을 수 있다. 안에서 어떤 일이 일어나고 있는지 알 수가 없다. 그리고 당신은 브라우저에서 개발자 도구를 열어 DOM 트리를 직접 확인하며 작업하는 일이 익숙해져 있다.
테스트를 작성하기 시작하면 새로운 환경에 적응할 필요가 있다. 테스트 과정에서 무엇이 일어나고 있는지 이해할 방법이 필요하다. 만약 테스트가 어떤 요소를 찾을 수 없어서 실패를 했는데, 원인을 파악할 수 없다면 어떻게 할 것인가?
바로 그런 상황에서 debug 함수로 무척 편리하게 대처할 수 있다. 그것을 사용하면 원하는 실행 지점에서 DOM 트리를 출력할 수 있다. 브라우저의 개발 도구처럼 편리하고 상호작용적이지는 않지만 당신에게 무슨 일이 일어나고 있는지 확실히 파악할 수 있도록 도와준다.
당신은 이제 막 시행착오에 기대지 않는 테스트를 작성하기 시작했다. 그러므로 옵션 초보자 가이드 시간이 조금 걸리겠지만 각각의 단계마다 debug 함수를 사용하자.
yarn test 명령어로 테스트를 실행하면 아래의 결과를 보게 될 것이다.
훌륭하다. 출력에서 몇개의 링크를 포함하는 헤더를 확인할 수 있고, 그것은 우리가 테스트하고 싶은 “How it works” 링크를 포함하고 있다. 이제 우리는 저것에 접근할 수 있는 방법과 조작 방법을 알아야 한다.
렌더링된 요소 접근에 선호되는 방법은 Testing Library에서 export된 screen 객체를 사용 하는 것이다.
screen 객체는 다양한 쿼리를 제공한다. 그 쿼리들은 DOM에 접근할 수 있는 함수들이다. 아래에 몇개의 예제가 있다.
- getBy* 쿼리 (ex. getByTestId , getByText , getByRole ): 이 함수들은 동기적(synchronous)이며 그 요소가 현재 DOM 안에 있는지 확인한다. 그렇지 않으면 에러를 발생시킨다.
- findBy* 쿼리 (ex. findByText ): 이 함수들은 비동기적(asynchronous)이다. 그 요소를 찾을 때까지 일정 시간(기본 5초)을 기다린다. 만약 그 시간이 지난 후에도 요소를 찾을 수 없으면 에러를 발생시킨다.
- queryBy* 쿼리: 이 함수들은 getBy* 처럼 동기적이다. 하지만 요소를 찾을 수 없어도 에러를 발생시키지 않는다. 단지 null 값을 리턴한다.
위에서 제시한 쿼리만 해도 요소에 접근할 수 있는 많은 방법을 포함하고 있고, 심지어 Testing Library가 제공하는 함수의 전체 목록도 아니다. 그렇다면 이것들 중에서 “How it works” 링크에 접근하기 위해서는 무엇을 사용해야 할까?
우리는 헤더가 항상 존재한다는 사실을 이미 알고 있다. 표시될 때까지 기다릴 필요가 없다. 이는 우리의 옵션을 getBy* 쿼리로 좁힌다. 하지만 그 중에서 무엇을 골라야 할까?
처음 보기에는 getByTestId 가 좋은 선택처럼 보인다. 우리가 해야 할 일은 확인하고 싶은 요소에 테스트 ID를 붙이는 일 뿐이다:
이제 우리는 div 요소에 getByTestId('some-content') 를 사용해서 접근할 수 있다. 간단하다, 그렇지 않은가?
하지만 이 방법은 단지 테스트에 통과하기 위해 코드를 수정해야 한다는 말이다. 그다지 이상적이지 않다. 그러니 더 좋은 방법은 없을까?
Testing Library의 문서는 훌륭하며 읽어 볼 가치가 있다. 사실 거기에는 어떤 쿼리를 사용하는 것이 적합한지를 설명하는 문서가 있다.
모든 사람에게 접근 가능한 쿼리는 높은 우선 순위를 가진다. 그 중에서, getByRole 이 가장 알맞은 쿼리가 되어야 한다. getByAltText 또는 getByTestId 는 오직 예외 상황에서만 사용되어야 한다. 그리고 가장 낮은 우선순위는 getByTestId 다. 당신은 반드시 다른 선택의 여지가 없는 상황에서만 테스트 ID를 사용해야 한다.
좋다, 그럼 getByRole 을 한번 사용해 보자. 첫번째 파라미터는 대상 요소의 ARIA role이어야 한다. 여기서는 link 를 사용할 수 있다. 한 페이지에는 한 개 이상의 링크가 있기 때문에 요소를 찾기 위해 name 옵션을 추가할 필요가 있다.
여기서 문자열 'How it works' 대신 정규표현식 /how it works/i 를 사용했음을 확인하자. 이 방법으로 대소문자가 달라서 요소를 찾지 못하는 경우를 방지할 수 있다(예. CSS text-transformation 속성을 사용해서 대소문자가 바뀌는 경우). 그리고 정규표현식을 사용하면 문자열의 일부를 타겟으로 삼을 수도 있다. /how it/i 정규표현식으로 검색에 성공하겠지만, 'How it' 으로는 실패할 것이다.
파일을 저장하면 테스트가 자동으로 실행된 후 성공했다는 메시지가 뜰 것이다. 이는 우리가 그 링크를 찾았다는 의미다!
우리가 이제 막 시작했기 때문에 모든 것이 예상했던 대로 작동하는지 한번 더 확인하는 편이 좋다. debug 함수를 기억하는가? 많은 개발자는 그것에 파라미터를 넣어도 되는지 모른다. 파라미터에 옵션을 전달해서 콘솔에 1개의 요소만 출력할 수 있다.
아래의 내용을 터미널에서 보게 될 것이다. 출력된 것은 “How it works” 링크. 정확히 우리가 예상했던 대로다.
이제 우리는 DOM 요소에 접근하는 방법을 알게 되었다. 구체적으로는 “How it works” 링크다. 하지만 그것으로는 충분하지 않다. 우리가 테스트하고 싶었던 것을 기억하는가?
링크는 정확한 페이지를 가리켜야 한다.
링크가 우리를 타겟으로 이끌기 위해서는 일단 그것을 클릭해야 한다. Testing Library에는 두 가지 옵션이 있다.
- @testing-library/react 모듈이 export하는 fireEvent.click 함수를 사용한다.
- @testing-library/user-event 모듈이 export하는 click 함수를 사용한다.
가능하다면 @testing-library/user-event 를 사용하는 것이 권장된다. 그것은 실제 유저 이벤트에 가까운 더 많은 이벤트(예. 더블클릭)를 제공한다.
그리고 놀라운 사실: package.json 파일을 살펴보면 create-react-app에는 이것이 기본적으로 설치 되어 있다.
다음은, 유저가 올바른 페이지로 보내졌는지 확인해야 한다.
그걸 확인할 수 있는 방법 중 하나는 URL을 확인하는 것이다. 그리고 react-router 문서에서 설명하고 있는 방법으로 가능하다. 하지만 유저는 사실 URL에는 신경을 안쓰지 않는가? 그리고 URL이 정확하다 해도 앱은 404 메시지를 표시할 가능성이 있다.
유저가 확인하는 부분은 정확한 페이지를 표시하는지 여부다. 아래의 영상은 브라우저에서 링크를 클릭했을 때 화면이 어떻게 바뀌는지 보여준다.
링크를 클릭하면 “How it works” 제목이 있는 페이지를 나오길 기대한다.
만약 제목이 ARIA role을 가지고 있다면 정확한 페이지가 표시되었는지 확인하기 위해 getByRole 함수를 다시 사용할 수 있다. MDN 문서에 의하면 제목 요소는 heading role을 가진다.
이 테스트는 성공한다. 이는 문서 안에 제목이 있다는 의미다. 그리고 또 우리가 정확한 페이지로 이동했다는 것을 의미한다. 아주 훌륭하다!
마지막으로 하나 더: 우리는 어떤 요소가 렌더링 되었는지 확인하는데 getBy* 를 사용하지 말아야 한다. 대신 expect(. ).toBeInDocument() 로 확인해야 한다.
아래에서 전체 테스트 코드를 확인할 수 있다.
테스트는 무척 짧지만 우리가 여기까지 오는 데 많은 시간이 걸렸다. 그리고 그것은 많은 개발자가 처음 테스트를 시작했을 때 느끼는 감정이기도 하다. 하지만 일단 익숙해지면 훨씬 쉽고 빠르게 할 수 있을 것이다.
폼 테스트를 시작하기 전에 하고 싶은 말: 우리는 단지 1개의 링크를 테스트 했을 뿐이다. 당신은 아마 헤더의 왼쪽에 홈 페이지로 이동시키는 로고와 “About” 페이지로 이동시키는 또 다른 링크가 헤더 오른편에 있다는 사실을 알고 있었을 것이다.
그들 두 링크에 대한 테스트는 당신에게 훈련으로 남겨 두려고 한다. 2가지 짧은 힌트를 주자면:
- 로고를 감싸고 있는 링크는 getByRole('link', < name >) 으로 테스트할 수 있다. name 에 무엇을 넣어야 할지 모르겠다면, screen.debug() 의 결과를 확인해 보길 바란다.
- “How it works”, “About” 링크의 테스트는 test.each 함수로 묶을 수 있다.
알고리즘이 처리하는 데이터의 값이 알고리즘의 특성에 따른 일정한 범위를 넘을 경우에 발생하는 문제. 예를 들어 -128~127 까지의 값을 저장할 수 있는 8비트 변수에 범위를 벗어나는 값을 할당하는 경우 등.
원문 최하단에서 메일 주소 입력을 통해 받아볼 수 있음
통합 테스트. 유닛 테스트의 다음 단계로 유닛/컴포넌트를 그룹으로 조합해서 테스트하는 것. 이 테스트의 목적은 컴포넌트가 연결되었을 때 발생하는 문제를 노출시키기 위함이다.
요구사항 문서에 있는 스펙은 개발자마다 다른 방법을 사용해서 구현할 수 있다. 그렇게 서로 달라질 수 있는 내용을 구현 세부 사항이라고 한다. 구현 세부 사항이 다르면 테스트 방법도 서로 달라야 할 것이다. 예를 들면 배열 정렬을 구현할 때 Array.prototype.sort 를 사용할 수도 있고 직접 구현한 알고리즘을 사용할 수도 있다. 중요한 것은 정렬이 제대로 되는지 여부이며, 테스트도 거기에 초점을 맞춰야 한다는 관점.
파생상품의 본질은 계약이며 , 거래 상대방의 신용은 신의성실한 계약이행에 무척이나 중요한 요인입니다 . 그럼 이제 계약을 조금 다른 관점에서 생각해볼까요 ?
계약이란 서로에게 평등함을 전제로 한다 고 보는 것이 타당합니다 . 어느 한 편이 일방적으로 손해 보는 계약이 있다면 그 계약에 나설 사람은 아무도 없을 것이기 때문입니다 .
그런데 파생상품 중에 어느 일방은 권리만 가지고 다른 상대방은 의무만 지는 불평등한 상품이 있습니다 . 바로 ‘ 옵션 ’ 이라는 상품입니다 .
옵션의 구체적인 불평등함을 이해하기 위해 보험 사례를 먼저 살펴볼까요 ?
보험에 가입하는 이유는 보상에 있습니다 . 내가 어려운 상황 , 즉 병이 생기거나 , 다쳤을 때 보상을 받아 어려움을 극복하려는 의도로 보험에 가입하는 것입니다 .
예를 들어 자동차 보험은 교통사고라는 이벤트가 발생했을 때 자동차 소유주는 보상을 받을 권리가 생기고 , 보험회사는 그에 응할 의무가 있습니다 .
이렇게 보험은 한 쪽은 권리만 가지고 상대방은 의무만 가지는 불평등한 계약 인 거죠 .
다만 여기서 명심해야 할 점은 권리는 공짜가 아니라는 것입니다 . 권리를 주장하기 위해서는 권리에 대한 대가를 지불하죠 .
바로 보험료입니다 . 쉽게 말하면 보험료는 권리를 사는 것에 대한 대가 , 즉 보험으로 보상받을 수 있는 권리에 대한 가격 , 비용인 것입니다 .
보험 가입자와 보험회사와의 관계를 옵션에 적용하면
옵션 매수자는 보험 가입자, 옵션 매도자는 보험회사가 됩니다 . 그리고 보험료는 옵션가격인 것입니다 .
옵션 매수자는 옵션 매도자로부터 권리를 삽니다 . 이 권리는 자신이 유리할 때 행사하고 불리할 때 포기하면 됩니다 .
옵션 매도자는 옵션 매수자가 권리를 행사할 때 반드시 이에 응할 의무가 있습니다 .
누구는 권리만 , 누구는 의무만 가지는 불평등한 계약인 거죠 . 이러한 불평등을 해소할 방법은 권리를 사는 데에 따른 대가를 지불하는 것입니다 .
옵션 매수자는 옵션 매도자에게 일정한 돈을 주고 권리를 사야 합니다 . 권리를 사는 것에 대한 대가를 옵션가격 , 옵션프리미엄 이라고 부릅니다 .
옵션가격은 변치 않는 고정된 금액은 아닙니다 . 시장 상황에 따라 수시로 변합니다 . 나이 , 사고 이력 , 자동차 종류 , 운전 경력 등에 따라 자동차 보험료가 다른 것과 같은 이치입니다 .
다만 보험료와 옵션의 가격 변화 주기에는 차이 가 있습니다 . 자동차 보험료가 가입자의 정보를 받아 변경되는 주기가 1 년이라면 , 시장에서 거래되는 옵션가격은 시장의 정보에 따라 실시간으로 변화합니다 .
내가 어떤 권리를 주장할 것인가에 따라 옵션은 두 가지로 나뉩니다 . 특정가격에 살 권리를 콜옵션 , 특정가격에 팔 옵션 초보자 가이드 권리를 풋옵션이라고 합니다 .
우리는 특정가격이라는 단어에 주목해야 하는데 , 전문용어로 이를 행사가격 이라고 합니다 .
혹시 스톡옵션으로 직원들이 대박 났다는 기사를 본 적 있나요 ?
스톡옵션이란 회사가 직원에게 회사 주식을 살 수 있는 권리를 부여해 주는 것 입니다 . 직원이 권리를 행사하면 회사는 이에 응할 의무가 있습니다 . 스톡옵션에서는 여러 가지 조건 중 행사가격이 무척 중요 합니다 .
기술력이 월등한 바이오 기업을 생각해 봅시다 .
회사는 뛰어난 인재를 구하고자 하지만 , 신생기업이라 자본금이 충분치 않아 많은 연봉을 제시하지 못하는 형편입니다.
박한 연봉 때문에 뛰어난 인재를 자꾸 놓치게 되자 CEO 는 스톡옵션을 제안하게 됩니다 .
현재의 연봉은 비록 적지만 회사가 신약 개발에 성공하고 상장한다면 스톡옵션은 충분한 보상이 될 것이라고 제안합니다 .
이때 스톡옵션의 조건 중 행사가격을 5,옵션 초보자 가이드 000 원으로 제시하죠 .
직원은 회사에 입사하여 몇 년을 열심히 연구에 매진하였고 , 회사는 신약 개발에 성공하면서 상장도 진행하였습니다 .
드디어 상장 당일입니다 . 신약 효과에 대한 긍정적인 뉴스 , 증권사 애널리스트의 공격적인 매출 전망 등에 힘입어 기관과 외국인의 수요가 엄청나게 몰리면서 상장 첫날 가격은 공모가격의 2 배인 50,000 원으로 형성되었습니다 .
이제 직원이 보상을 받을 순간이 다가온 것입니다 . 이 가격에 스톡옵션을 행사한다면 바로 10 배의 수익을 얻을 수 있는 거 죠 .
시장가격은 50,000 원이지만 스톡옵션의 행사가격이 5,000 원이므로 직원은 회사 주식을 시장가격의 10 분의 1 수준인 5,000 원에 살 수 있기 때문입니다 .
이렇듯 행사가격이란 내가 권리를 주장할 수 있는 가격으로 사전에 설정된 고정된 가격 입니다 .
스톡옵션과 같은 사례는 콜옵션 입니다 .
스톡옵션을 보유한 직원은 콜옵션 매수자 , 회사는 콜옵션 매도자입니다 .
콜옵션 보유자에겐 가격이 상승한다는 것이 좋은 소식입니다 . 스톡옵션의 사례와 같이 콜옵션을 행사하면 10 배의 대박을 터트릴 수 있기 때문입니다 .
권리는 자신이 유리할 때만 행사하면 됩니다 . 불리한 입장에서는 권리를 행사하지 않으면 됩니다 .
스톡옵션의 사례를 다시 생각해보면 , 만약에 회사가 신약개발에 성공도 못 하고 상장도 못 한다면 스톡옵션은 옵션 초보자 가이드 행사하지 않으면 됩니다 . 행사해 봐야 실익이 없으니까요 .
보험과 같은 사례는 풋옵션 입니다 .
보험 가입자는 풋옵션 매수자 , 보험회사는 풋옵션 매도자입니다 . 풋옵션 매수자에겐 가격이 하락하거나 나쁜 상황이 발생하면 유리합니다 .
자동차 보험 가입자는 사고가 발생해야 자동차 보험금을 청구 ( 풋옵션 행사 ) 할 수 있는 것과 마찬가지입니다. 기초자산이 주식이라면 풋옵션 매수자는 주식가격이 하락해야 유리하겠죠 .
예를 들어 투자자가 A 주식을 기초자산으로 하는 행사가격 10,000 원인 풋옵션을 1,000 원에 매수하였다면 어떨까요 ?
예를 들어 A 주식이 5,000 원까지 하락하였다면
풋옵션의 행사가격이 10,000 원이므로 투자자는 A 주식을 10,000 원에 팔 수 있습니다 . 5,000 원짜리 주식을 10,000 원에 팔 수 있으니 5,000 원의 이익을 보는 거죠 .
그런데 풋옵션을 사는데 1,000 원이 들었으므로 순이익은 5,000 원에서 풋옵션 매수 가격 1,000 원을 뺀 4,000 원이 되는 겁니다 .
옵션 시장에는
콜옵션 '매수자'와 '매도자',
풋옵션 '매수자'와 '매도자',
이렇게 4 명의 플레이어가 존재합니다 .
선물과 비교해보면 이해당사자가 좀 많은 편이죠 . 정리해보면 옵션의 매수자는 권리만 가지고 매도자는 의무만 지는 불평등한 계약입니다 .
다만 권리는 공짜가 아니며 권리를 사는데 비용을 지불해야 합니다 . 권리는 자신이 유리할 때만 행사하면 되며 이때 옵션 매도자는 반드시 의무를 이행해야 합니다 .
신의성실한 계약 이행 관점에서 볼 때 권리만 있는 매수자와 의무만 지는 매도자 중 어느 측이 계약불이행 가능성이 클까요 ?
당연히 의무만 지는 매도자 측입니다 .
그래서 거래소에서는 선물과 달리 옵션은 매도자에게만 증거금을 부과하고 관리 를 합니다 . 계약불이행 가능성이 큰 쪽을 중점 관리하는 것입니다 .
의무를 진다는 점에서 옵션 매도는 상당한 리스크를 감당해야 합니다 .
월스트리트에서는 옵션 매도를 우스갯말로 “토끼같이 먹고 코끼리같이 싸는 전략 ” 이라고 합니다.
옵션 매도의 이익은 옵션가격 , 즉 프리미엄으로 한정되어 있는 반면 , 손실은 이론상 무제한이기 때문입니다 .
옵션 매도는
조그마한 이익을 자주 버는 데 반해
극한 상황에서는
한 번에 엄청난 손실을 보게 됩니다 . 옵션 초보자 가이드
Pale Blue Dot
- 직관적인 필터 옵션들은 넘어가도록 하고, 개인적으로 많이 쓰는 필터들에 대해 설명하도록 하겠습니다.
- 방어구 필터는 원하는 방어 기재만을 검색할 때 매우 유용합니다.
- 예를 들어 '방어도' 기반의 아이템만 검색하고 싶을 경우, 나머지 수치들의 최대값을 '1'로 주면 됩니다.
- 5 or 6링 갑옷 검색 시 가장 많이 쓰입니다. (4링은 제작이 쉽기 때문)
- 홈 최소값 6, 연결부 최소값 6을 넣으시면 색상 관계 없는 6링이 검색됩니다.
- 주로 젬 검색과 타락템 제외때 많이 쓰입니다.
- 21렙 / 23퀄 젬을 여기에서 검색하시면 됩니다.
- 타락 아이템은 홈 갯수 및 색상이 변하지 않으므로, 타락 옵션에서 '아니오'를 선택해 주시면 제외됩니다. (초반에 타락 옵션을 잘 몰라 눈탱이를 크게 맞았. )
- 아이템 가격의 상한치를 둘 때 많이 사용합니다.
- 가장 기능이 많은 능력치 필터입니다.
- 게임 내 존재하는 모든 아이템 옵션을 검색 / 제외 할 수 있습니다.
ex) 생명력 80, 이속30% 이상, 인챈트는 저항력을 하고 싶은 경우 아래와 같이 검색하면
- 이 때, 최대 아이템 자체의 생명력은 +85 이지만 실제로는 힘에서 오는 생명력 23(생명 력 1 / 힘1) 이 진짜이고 나머지 생명력 +62는 인챈트로 붙은 수치입니다.
- 때문에 이러한 옵션을 제외하기 위해서는, 아래와 같이 '제외' 옵션을 함께 선택해야 합니다.
- 그러면 이런 장화가 검색됩니다. 여기에다 하고 싶은 인챈트를 부여하면 되겠죠.
- 이를 응용하여, 굉장히 다양한 가지 수의 아이템이 검색 가능 합니다.
- 참고로 POE의 아이템은 최대 접두 3개(P) / 접미 3개(S)의 옵션을 갖는데, 비어있는 자리가 있다면 인챈트가 가능하다는 뜻입니다.
- 특히 소집의 마법봉 같은 경우, 접미에 트리거가 붙게 되는데 이를 위해 검색 시 아래와 같이 두 가지 경우로 필터링이 가능합니다.
옵션 초보자 가이드
※ 가장 우측의 개인 설정에는 영역에서는 게임 내 UI들을 현재 화면의 해상도에 맞게 최적화 하거나, 여러 설정들을 저장한 뒤 편리하게 불러올 수 있는 프리셋 기능을 지원합니다.
성능 설정 변경
성능 설정을 적절히 조정하면 보다 낮은 PC 사양에서도 쾌적한 플레이가 가능해집니다.
(고성능 PC라면 고급 옵션들을 설정하여 검은사막 그래픽의 진수를 느껴보실수도 있습니다.)
성능 설정에는 매우 다양한 옵션들이 있습니다. 이 중 크게 보았을 때 성능 및 그래픽에 큰 영향을 미치는 요소 몇 가지를 소개해 드립니다.
1. 텍스처 품질
- 사물 표면의 질감을 더욱 사실적으로, 선명하게 표현하는 옵션입니다.
2. 고품질 모드
- 리마스터 모드 또는 울트라 모드를 설정하여 최고 품질로 그래픽을 출력합니다. 리마스터 모드는 고사양 PC에서 실제 게임 플레이용으로 사용 할 수 있으며, 울트라 모드는 고퀄리티의 스크린샷을 촬영할 때 적합한 모드입니다.
3. 자동 프레임 최적화 및 업스케일
- 최적화 메뉴의 자동 프레임 설정을 통해 현재 PC 사양에서 해당 프레임을 유지하기 위한 옵션을 자동으로 설정할 수 있습니다.
- 업스케일은 작게 렌더링해 확대하는 기능으로 고사양 설정에 비해 화질의 손실은 최소로 줄이면서 게임 성능은 더 원활히 해주는 기술입니다. 검은사막에서는 AMD FSR 1.0 기능을 지원합니다.
화면 설정 변경
검은사막은 기본적인 해상도 조정과 텍스쳐 품질, 그래픽 품질 조정 기능 뿐만 아니라
여러 가지 옵션을 직접 켜고 끌 수 있도록 지원합니다.
이를 통해 본인의 PC 사양이나 취향에 따라 설정을 변경하여
검은사막만의 멋진 풍경을 만끽할 수도 있고,
수 백명의 모험가들이 펼치는 난전 속에서도 보다 매끄러운 움직임의 전투를 즐길 수도 있습니다.
PC 사양이 다소 낮다면, 품질 항목 하단의 최적화 옵션을 조정하여 더욱 쾌적한 검은사막을 즐길 수 있습니다.
창 화면
크롭 모드는 인터페이스를 그대로 두고, 배경과 캐릭터가 표현되는 영역의 크기만 줄여주는 기능입니다.
표현해야 하는 그림이 작아지기 때문에 그만큼 PC에 가해지는 부담이 줄어든다는 장점이 있습니다.
▲화면의 크기를 줄여 PC에 가해지는 부담을 줄일 수 있는 크롭 모드.
품질
다른 모험가 이펙트 제거 기능은, 모험가들이 많이 몰리는 곳에서
순간적인 끊김 현상이 심할 때 사용하면 좋은 기능입니다.
자신을 제외한 다른 모험가들의 기술 이펙트를 표현하지 않기 때문에
캐릭터가 많이 모여 있는 곳에서 보다 매끄러운 화면을 볼 수 있습니다.
하지만 다른 모험가 이펙트 제거 기능을 사용하게 되면,
PvP시 적대 모험가가 사용하는 기술을 파악하기 어렵다는 등의 단점이 있습니다.
때문에 점령전이나 거점전 중이 아닐 때에는 다른 모험가의 기술 효과가 표시되지 않지만
점령전이나 거점전이 진행되는 동안에는 다른 모험가가 사용하는 기술의 이펙트가 표현됩니다.
▲ 다른 모험가 이펙트 제거를 사용하면 점령/거점전때만 다른 모험가의 기술 이펙트를 볼 수 있습니다.
업스케일 기능은 PC에서 게임 화면을 작게 그려낸 다음 설정한 해상도만큼 확대하여 보여주는 기능입니다.
작은 그림을 확대한 만큼 화질이 크게 떨어진다는 단점은 있지만,
사양이 낮은 PC에서는 크롭 모드와 함께 사용한다면 큰 효과를 발휘하는 기능입니다.
특히, ADM FidelityFX Super Resolution 1.옵션 초보자 가이드 0(FSR) 기능은 화질의 손상은 최소화하면서 게임 성능은 크게 향상 시킬 수 있어서 유용합니다.
FSR기능은 총 4단계의 세부 설정이 가능한데, 화질을 좀 더 중시하려면 Ultra Quality 혹은 Quality를, 게임 성능을 좀 더 중시하려면 Balanced 또는 Performance를 선택해주시면 됩니다.
최고의 화질은 Ultra Quality, 최고의 성능은 Performance 모드를 설정하면 됩니다.
효과
① 감마 조절
밤이 되거나 어두운 동굴에 들어가는 옵션 초보자 가이드 등, 화면이 너무 어두워져 불편함을 느끼신다면
감마 조절 기능을 사용하면 도움이 됩니다.
감마값이 높아질수록 화면이 밝아져 어두운 곳을 비교적 쉽게 식별할 수 있게 됩니다.
하지만 환한 낮 시간대가 된다면 눈이 부시거나 화면이 너무 밝아
화면을 식별하기 어려울 수도 있다는 점을 유의해야 합니다.
② 대비 조절
색상들을 좀 더 진하게 표현하고 싶거나, 반대로 조금 더 옅게 보고싶다면 대비 조절을 이용하면 됩니다.
대비를 높일 경우 색상이 좀 더 명확해지고 낮출 경우 반투명 막을 씌운 것 처럼 톤이 보정됩니다.
③ 이펙트 투명도
이펙트 효과를 더 화려하고 선명하게 보고 싶거나, 반대로 이펙트를 줄여 눈의 피로를 덜고 싶은 경우 이 옵션을 조절하시면 됩니다.
효과를 높일수록 화려하고 선명하게, 낮게 할수록 옅고 투명하게 이펙트를 보실 수 있습니다.
색각 이상 설정
이 밖에도 적색맹, 혹은 녹색맹 모험가님을 위한 색각 이상 설정 기능도 준비되어 있습니다.
해당 기능을 활성화 하면 게임 내의 일부 색상 표현이 보다 식별하기 쉽게 변경됩니다.
카메라
시야각 조절 기능은 캐릭터를 바라보는 카메라의 높이를 조정할 수 있는 기능입니다.
시야각을 높게 설정하면 캐릭터가 더 작게 보이며,
배경도 더 멀리까지 확인할 수 있다는 장점이 있습니다.
반면, 시야각을 낮추면 가까이서 보는 만큼 자신과 적의 움직임을 더 명확하게 볼 수 있게 됩니다.
▲ 시야각 최대(상단), 시야각 최소(하단)의 차이를 확인해보세요.
카메라 효과 조절 기능은 캐릭터가 움직이거나 기술을 사용할 때,
화면이 떨리고 잔상이 남는 등의 카메라 효과 강도를 조절하는 기능입니다.
100%로 설정하면 더욱 생동감 있고 박진감 넘치는 화면을 즐길 수 있지만,
어지러움을 느끼신다면 카메라 효과를 낮춰 완전히 옵션 초보자 가이드 제거하는 것도 가능합니다.
카메라 진동, 카메라 잔상, 카메라 각도 효과, 카메라 확대/축소 효과를 모두 따로 설정할 수 있지만,
‘카메라 효과 전체’ 항목을 조정하면 이하 4개 항목을 일괄적으로 조정하는 것과 같은 효과를 냅니다
▲카메라 효과 전체 항목만 조정하면 세부 항목을 조정하지 않더라도 효과를 일괄적으로 제거할 수 있습니다.
스크린 샷
Print Screen 키 입력으로 찍을 수 있는 스크린 샷 해상도를 게임 설정에서 변경할 수 있습니다.
그래픽 카드 기능에 따라 4K, 8K의 고해상도 스크린 샷을 찍을 수 있으며,
고해상도로 설정했을 경우 스크린 샷을 찍은 직후에 게임 내 버튼 클릭 하나로 손 쉽게 PC 바탕화면으로 설정할 수 있습니다.
단, 그래픽 카드가 선택한 고해상도(4K 또는 8K)를 지원하지 않는다면
고해상도로 스크린 샷 사이즈를 선택하더라도 일반 해상도 사이즈로 스크린 샷이 찍힙니다.
8K 촬영은 캐릭터가 대기중인 상태에서만 가능한 점도 참고해주세요. (전투 액션 중에는 8K 촬영이 불가합니다)
고해상도 스크린 샷을 찍을 뒤 처리까지 몇 초의 시간이 소요되기 때문에
전투 상황(PvP, 전투지역 등)에서는 주의가 필요하며, 안전한 상황에서 촬영하시기를 권해드립니다.
▲ 바탕화면 지정 버튼을 클릭하면 방금 찍은 고해상도 스크린 샷이 바로 PC의 바탕화면으로!
※ 스크린샷 바탕화면 지정 창은 UI 감추기(Ctrl+U) 상태에서는 보이지 않습니다.
또한 검은사막 스크린 샷에는 검은사막 마크(워터마크)가 표시되는데,
워터마크의 종류, 위치, 크기, 투명도를 게임 설정 창에서 조절할 수 있습니다.
▲ 워터마크의 투명도를 조절한 모습
▲ 검은사막이 서비스되는 각 국가의 로고를 워터마크로 선택할 수 있습니다.
소리 설정
소리 설정을 변경하면 배경음악이나 탑승물을 탔을 때 들리는 음악을 선택해서 켜고 끌 수 있게 됩니다.
뿐만 아니라 효과음이나 다양한 환경음 등을 각각 켜고 끄는 것도 가능합니다.
모든 소리를 켠 상태에서 각각의 음량을 조정하여 입맛대로 조정하는 것도 가능합니다.
▲ 음악이나 효과음 등, 다양한 소리를 켜고 끄거나 각각의 음량을 별도 조정하는 것도 가능합니다.
게임 설정
게임 설정 변경 창에서는 다양한 편의 기능 뿐만 아니라
수많은 정보를 보여주는 검은사막의 인터페이스 중, 원하는 옵션 초보자 가이드 것들만 보여주는 등의 설정이 가능합니다.
게임 설정 창의 항목들을 꼼꼼하게 살펴본다면 더욱 간결해진 화면의 검은사막을 즐길 수도 있고
더 많은 정보를 담은 화면으로 꾸밀 수도 있습니다.
편의 기능
만약 검은사막의 기본 인터페이스가 너무 복잡하다 생각된다면, UI 간소화 기능을 선택해 보세요.
생명력과 정신력 바가 사라지고, 일부 인터페이스가 반투명해져 화면이 보다 간결하게 바뀝니다.
분리형 퀵슬롯 기능을 사용하면 기본 퀵슬롯 10개 이외에도
추가적으로 많은 수의 기술이나 아이템 등을 퀵슬롯에 등록할 수 있게 됩니다.
뿐만 아니라 각 퀵슬롯을 원하는 위치에 각각 배치하여 입맛대로 조정하는 것도 가능합니다.
각 퀵슬롯의 단축키를 변경할 수도 있습니다. F5~F12와 같은 키나
-, =, \와 같은 미사용 키가 있다면 각각 퀵슬롯 단축키로 등록해
전투 중에도 빠르게 아이템을 사용하는 등의 플레이가 가능해집니다.
분리형 퀵슬롯 기능 선택 후, 옵션 초보자 가이드 메뉴(단축키 ESC) – UI 편집에서
각 퀵슬롯을 원하는 위치로 이동시킬 수 있습니다.
▲ 분리형 퀵슬롯을 사용하면 더 많은 퀵슬롯을 사용할 수 있을 뿐만 아니라 각각 원하는 위치로 이동시켜 사용할 수도 있게 됩니다.
화면 보호기 기능을 끄면 아무런 조작 없이 일정 시간이 지나면 인터페이스가 사라지고
다양한 화면 연출이 시작되는 화면 보호기 기능이 더 이상 나타나지 않습니다.
채팅창을 제외한 인터페이스 전체의 글꼴을 조절할 수도 있습니다.
글꼴 크기 설정 항목에서 ‘크게’, ‘더 크게’를 선택하면 의뢰 위젯이나
아이템의 툴팁, 설정 창의 메뉴 등 모든 인터페이스에 쓰인 글꼴을 더 크게 볼 수 있습니다.
▲ 기본 글자 크기가 너무 작아 잘 보이지 않는다면, 글꼴 크기를 조정해 보세요.
글꼴의 크기 외에도 폰트를 변경할 수도 있습니다. 검은사막에서 지원하는 폰트는 '윤고딕'과 'Strong Sword' 폰트의 두 종류로,
좀 더 일반적인 폰트를 원하신다면 '윤고딕' 폰트를, 검은사막만의 감성이 듬뿍 담긴 폰트를 사용하시려면 'Strong Sword' 폰트를 사용하시는 것이 좋습니다.
보기
캐릭터 상태/피아 구분 윤곽선 효과 설정 기능은 캐릭터나 NPC의 상태에 따라
노란색, 빨간색, 녹색 등으로 윤곽선을 더해 구분하기 쉽도록 해 주는 기능입니다.
▲ 의뢰 상태에 따라 NPC의 테두리에 윤곽선을 표시하는 등의 효과를 적용할 수 있습니다.
많은 모험가들이 모이는 곳에서 캐릭터와 애완동물 모두가 표현되어 복잡하다 생각하셨다면,
애완동물 설정에서 ‘나만 보기’나 ‘모두 숨기기’를 선택해 보세요.
자신이 보유한 애완동물만 보거나, 모든 애완동물을 화면에 표시하지 않을 수도 있습니다.
공격 판정 이펙트 보기 기능을 선택하면
전투 시 다운 어택, 백 어택 등의 공격 판정이 텍스트로 출력됩니다.
PvP와 같이 전투 상황에 대한 정보를 보다 명확하게 인지하고자 하는 모험가들에게 추천하는 기능입니다.
넘어진 적에게 다운 어택 효과의 기술을 사용하면 공격 시 DOWN ATTACK 텍스트가 출력되고,
기절 효과를 가진 기술을 사용했는데, 상대방이 기절 효과에 걸리지 않았다면
IMMUNE 텍스트가 출력되는 것을 확인할 수 있습니다.
▲ 각종 상태이상 기술을 사용했을 때, 공격 대상의 머리 위로 텍스트가 출력됩니다.
알림
알림 항목에서는 여러 가지 알림 메시지의 출력 여부를 선택할 수 있습니다.
화면 중앙에 끊임없이 출력되는 시스템 알림을 보고 싶지 않다면,
관심 있는 알림 메시지만 남기고 다른 메시지를 모두 끄시면 더욱 깔끔한 인터페이스를 꾸밀 수 있습니다.
▲ 화면 중앙에 끊임없이 출력되는 알림 메시지를 끌 수 있습니다.
흑정령 알림 기능을 사용하지 않을 경우 흑정령 의뢰 등이 남아 있는 상태에서도
흑정령이 부르는 시스템 메시지가 더 이상 출력되지 않습니다.
기타
길안내 경로표시 방식 기능을 조정하면 길찾기 기능 사용 시,
목표 지점까지 이어지는 길 표시를 다양하게 바꿀 수 있습니다.
기본 설정은 ‘화살표’로 되어 있으며, 희미한 빛이 이어지는 ‘이펙트’,
목표 지점의 빛 기둥까지의 방향만 알려주는 ‘안내요정 소환’ 중 하나를 선택할 수 있습니다.
▲ 길찾기 기능 이용 시 목표 지점까지 길을 안내하는 방식을 변경할 수 있습니다.
게임 패드 사용법
게임 패드를 사용하기 위해서는 인터페이스 설정 - 게임 패드 항목에서
'게임 패드 사용'을 체크해야 합니다.
'게임 패드 사용'은 게임 패드를 연결하지 않은 상태라면 체크할 수 없습니다.
체크 후에는 그대로 사용해도 좋지만, 원하는 대로 단축키를 설정할 수도 있습니다.
기본 입력은 '행동 단축키'에서, UI 등 각종 단축키는 'UI 단축키'에서 입력합니다.
▲ 게임설정 - 인터페이스 설정 - 게임 패드 항목
단축키 변경
단축키는 크게 행동, UI, 퀵슬롯, 기능의 네 종류로 나뉩니다.
단축키 설정을 통해 모험가 개인에 따라 자주 사용하는 기능을 더욱 편리하게 사용할 수 있습니다.
초보자를 위한 전문가 옵션 거래
ExpertOption에 로그인하는 방법 ExpertOption 계정에 어떻게 로그인합니까? 모바일 ExpertOption 앱 또는 웹사이트로 이동합니다 . "로그인"을 클릭하십시오. 이메일과 비밀번호를 입력하세요. "로그인" 파란색 버튼을 클릭합니.
ExpertOption에서 바이너리 옵션을 거래하는 방법
특징 우리는 현대 기술을 사용하여 가장 빠른 거래를 제공합니다. 주문 실행 및 가장 정확한 견적에 지연이 없습니다. 우리의 거래 플랫폼은 주말과 24시간 내내 이용 가능합니다. ExpertOption 고객 서비스는 연중무휴 24시간 이용 가능합니다. 우리는 지속적으로 새로운 금융 상품을 추가하고 있습니다. .
바이너리 옵션을 거래하고 ExpertOption에서 돈을 인출하는 방법
ExpertOption에서 바이너리 옵션을 거래하는 방법 특징 우리는 현대 기술을 사용하여 가장 빠른 거래를 제공합니다. 주문 실행 및 가장 정확한 견적에 지연이 없습니다. 우리의 거래 플랫폼은 주말과 24시간 내내 이용 가능합니다. ExpertOption 고객 서비스는 연중무휴 24시.
2022년에 ExpertOption 거래를 시작하는 방법: 초보자를 위한 단계별 가이드
ExpertOption에 등록하는 방법 한 번의 클릭으로 거래 인터페이스 시작 플랫폼에 등록하는 것은 몇 번의 옵션 초보자 가이드 클릭만으로 이루어진 간단한 과정입니다. 클릭 한 번으로 거래 인터페이스를 열려면 "무료 데모 체험" 버튼을 클릭하십시오. 그러면 데모 거래 페이지로 이동하여 데모 계정에.
ExpertOption에서 데모 계정을 등록하고 거래를 시작하는 방법
ExpertOption에 등록하는 방법 플랫폼의 데모 계정은 고객이 가상 자금을 사용하여 거래한다는 점을 제외하고 기술 및 기능적으로 라이브 거래 계정의 완전한 사본입니다. 자산, 시세, 거래 지표 및 신호는 완전히 동일합니다. 따라서 데모 계정은 모든 종류의 거래 전략을 훈련하고 테스트하며 자금 관리 기술을 .
ExpertOption에서 바이너리 옵션을 입금하고 거래하는 방법
ExpertOption에서 돈을 입금하는 방법 입금은 어떻게 하나요? 직불 또는 신용 카드(VISA, MasterCard), 인터넷 뱅킹, Perfect Money, Skrill, WebMoney. 또는 Crypto와 같은 전자 지갑을 사용하여 입금할 수 있습니다. 최소 보증금은.
초보자를 위한 ExpertOption에서 거래하는 방법
ExpertOption에 등록하는 방법 한 번의 클릭으로 거래 인터페이스 시작 플랫폼에 등록하는 것은 몇 번의 클릭만으로 이루어진 간단한 과정입니다. 클릭 한 번으로 거래 인터페이스를 열려면 "무료 데모 체험" 버튼을 클릭하십시오. 그러면 데모 거래 페이지로 이동하여 데모 계정에.
ExpertOption에서 바이너리 옵션을 등록하고 거래하는 방법
ExpertOption에 등록하는 방법 한 번의 클릭으로 거래 인터페이스 시작 플랫폼에 등록하는 것은 몇 번의 클릭만으로 이루어진 간단한 과정입니다. 클릭 한 번으로 거래 인터페이스를 열려면 "무료 데모 체험" 버튼을 클릭하십시오. 그러면 데모 계정에서 $10,000로 거래를 시.
ExpertOption 모바일 앱 다운로드
언어 선택
최근 뉴스
ExpertOption에서 계정을 열고 돈을 인출하는 방법
계정을 열고 ExpertOption에 로그인하는 방법
파키스탄의 은행 카드(Visa/Mastercard), 전자 결제(UPI, Skrill, Neteller, WebMoney, Perfect Money) 및 암호화폐를 통해 ExpertOption에 돈을 입금하십시오.
인기 뉴스
노트북/PC용 ExpertOption 애플리케이션 다운로드 및 설치 방법(Windows, macOS)
ExpertOption 검토
제휴 프로그램에 가입하고 ExpertOption에서 파트너가 되는 방법
인기 카테고리
이 출판물은 마케팅 커뮤니케이션이며 투자 조언이나 조사를 구성하지 않습니다. 내용은 전문가의 일반적인 견해를 나타내며 개별 독자의 개인적인 상황, 투자 경험 또는 현재 재정 상황을 고려하지 않습니다.
일반 위험 알림: 거래에는 고위험 투자가 포함됩니다. 잃을 준비가되지 않은 자금을 투자하지 마십시오. 시작하기 전에 당사 사이트에 설명 된 거래 규칙 및 조건을 숙지하는 것이 좋습니다. 사이트의 모든 예, 팁, 전략 및 지침은 거래 권장 사항을 구성하지 않으며 법적 구속력이 없습니다. 트레이더는 독립적으로 결정을 내리며이 회사는 이에 대한 책임을지지 않습니다. 서비스 계약은 주권 국가 인 세인트 빈센트 그레나딘에서 체결됩니다. 회사의 서비스는 세인트 빈센트 그레나딘 주권 국가의 영토에서 제공됩니다.
0 개 댓글