요다 조건문이란?


보통의 조건문은 아래와 같이 변수를 왼쪽 상수를 오른쪽에 작성합니다.

if ( $value == 42 ) { 
    /* ... */
}


위 코드는 '만약 value의 값이 42와 같다면..' 이라고 읽힙니다.


하지만 요다 조건문을 이용하게 되면 아래와 같이 작성됩니다.

if ( 42 == $value ) {
     /* ... */ 
}

위 코드를 눈으로 읽어보면 '만약 42가 value와 같다면..' 이라고 읽힙니다.



이런식으로 상수가 왼쪽 변수가 오른쪽으로 작성되는 것을 요다 조건문이라고 합니다.



이렇게 작성하면 컴파일 단계에서 오류를 뱉어내기 때문에 코드를 실수로 작성했을 때 알아보기 쉽다는 장점이 있습니다.

if (42 = myNumber) { 
   /* ... */
} // This is a syntax error and will not compile


...


...?





왜 요다 조건문이지??

이는 스타워즈의 요다의 말투가 어순을 바꿔 말하기 때문입니다.


영어 : Go, I will. Good relations with Wookiees, I have. 

원문 번역 : 가겠네, 내가. 우키족과 좋은 관계를 가지고 있지, 나는. 

어법에 맞춘 번역 : 내가 가겠네. 우키족과 좋은 관계를 가지고 있으니.



출처 : https://en.wikipedia.org/wiki/Yoda_conditions



'프로그래밍 용어' 카테고리의 다른 글

window.location document.location 차이점  (0) 2017.05.12
Coding Style - 네이밍 룰  (0) 2016.08.24
414 request 오류  (0) 2016.08.08

eCPM = (전체 수익 / 전체 노출 수) * 1000

-> 1000회 노출당 얻을 수 있는 광고 수익 예측 값


예를 들면, A와 B라는 두 채널을 가지고 있다고 가정해 봅니다. 테스트 동안 A 채널은 410 뷰가 노출되었고 총 수익은 $2.92이고 

B 채널은 232 뷰가 노출되었고 총 수익은 $0.23 이라면 두 채널의 수익 비교를 위해 eCPM을 계산하면 됩니다. 

1000회 노출 동안 추측할 수 있는 각 채널의 수익은 A채널의 경우 $7.12이며 B채널의 경우는 $0.9가 됩니다.


이러한 eCPM을 계산한 값을 토대로 수익을 위해 A채널의 광고로 교체해야한다는 계산이 서게됩니다.



Vim 단축키 #2

범위 지정 하기

범위 지정에 쓰이는 특수 기호(메타 문자)

명령어 설명

.

현재 행을 의미합니다.

$

마지막 행을 의미합니다.

+#

현재 위치에서 #만큼 아래 행을 의미합니다.

-#

현재 위치에서 #만큼  행을 의미합니다.

%

문서 파일 전체를 의미합니다.


비주얼 모드

행 번호로 범위를 지정하는 방법은 불편합니다. 비주얼 모드라는 것은 마우스를 드래그 하듯이 시각적으로 블록을 선택,복사,삭제 할 수 있습니다.

비주얼 모드 기능

명령어

설명
v 현재 커서 위치에서 블록을 지정
V 현재 커서가 위치한 행에서 행 단위로 블록을 지정

Tip. 비주얼 모드로 텍스트를 선택하고 u를 선택하면 모두 소문자로 변환하고 U를 누르면 대문자로 변환합니다. ~를 누르면 대,소문자가 스위칭됩니다.


옵션,도움말,에러

Vim을 더욱 편하게 사용하려면 각종 옵션과 색상 테마를 설정해야 합니다. 궁금한 기능을 찾아서 볼 수 있도록 도움말을 사용하는 방법과 도움말에서 검색어를 사용하는 방법을 알아 봅시다.

옵션 설정

명령어 설명
:set 옵션 설정
.vimrc 옵션 파일
.colo 색상 테마
.help 도움말

set 명령어 사용법

명령어 설명
:set 현재 옵션 설정을 보여줍니다.
:set all 모든 옵션 설정을 보여줍니다.
:set [no]name name에 해당하는 옵션을 켜거나 끕니다.
:set name! name에 해당하는 옵션 상태를 전환합니다.
:set name=value name에 해당하는 옵션에 value 값을 할당합니다.

Tip. 명령행 모드에서 :set all 명령어를 입력시 출력 결과가 열이 딱 맞이 낳고 들쑥 날쑥한 것이 보이는데 no가 앞에 붙은 옵션은 현재 비활성화 상태고 no가 붙지 않은 것들은 활성화 상태입니다. :set 명령어 입력시 현재 설정된 주요 설정들만 간략하게 볼 수 있습니다.

편집에 관련된 기초 옵션들

명령어 설명
nu(number) 화면에 행 번호를 표시합니다.
ai(autoindent) 자동 들여쓰기를 사용합니다.
cindent C 스타일의 들여쓰기를 제공합니다.
ts=value(tabstop) 탭 크기를 value로 지정합니다.
sw=value(shiftwidth) 블록 이동시 열의 너비입니다.
tw=value(textwidth) 편집할 화면의 열 길이를 정합니다. (0이면 비활성화)

Tip. sw(shiftwidth)는 ts(tabstop)보다 같거나 작아야합니다.


옵션과 색상 테마 저장하기(vim 설정 파일)

설정 파일 만들기

Vim을 실행한 후 리눅스, 유닉스 맥 에선 :e ~/.vimrc라고 명령하고 윈도 계열에선 :e ~/_vimrc 라고 명령합니다.

" vim runtime configuration file
" 행 번호 표시
set nu
" 자동 들여쓰기, C스타일 들여쓰기 설정
set ai cindent
" 탭 크기, 블록 이동시 열의 너비 지정
set ts=4 sw=4

쌍따옴표(")는 주석문 입니다.

문법 오류 표시

명령어 설명
:syntax enable 문법 표시를 사용합니다.
:syntax clear 문법 표시를 사용하지 않습니다.
:colorscheme 색상을 사용합니다.
blue, darkblue, default ... 테마 종류

Tip. 기본 내장 되어 있는 테마들 말고도 다른 사람들이 만들어 놓은 테마들도 사용하실 수 있습니다. 저 같은 경우는 sublime text에서 monokai를 사용했었는데 혹시나 해서 찾아보니 vim용도 제작되어 있네요. monokai Theme Github ~/.vim/colors/ 폴더에서 받으신 파일(monokai.vim)을 넣으시고 ~/.vimrc 에 syntax enable colorscheme monokai 코드를 입력하시면 됩니다.


도움말 사용하기

도움말에 사용되는 접두어

명령어 설명
nu(number) 화면에 행 번호를 표시합니다.
ai(autoindent) 자동 들여쓰기를 사용합니다.
cindent C 스타일의 들여쓰기를 제공합니다.
ts=value(tabstop) 탭 크기를 value로 지정합니다.
sw=value(shiftwidth) 블록 이동시 열의 너비입니다.
tw=value(textwidth) 편집할 화면의 열 길이를 정합니다. (0이면 비활성화)


'Vim' 카테고리의 다른 글

Vim 시작 #1  (0) 2015.02.07