템플릿
(♥ 0)
나무위키의 템플릿(분야별 문서 양식)에 대한 내용은 문서 참고하십시오.
Template
형판, 형틀, 어떤 특정한 모양을 만들기 위해 만들어진 틀을 말한다. 예를 들어 빵이나 주먹밥 같은 것의 모양을 내기 위해 찍거나 채워넣도록 만든 틀도 일종의 템플릿이다. 여기서 파생된 의미로 특정한 서식 구조를 만들어 놓은 양식#樣式. 일정한 모양이나 형식이란 의미도 있다.
참고로 한국에서는 템플릿 외에 '서식', '보기판'이라고도 호칭한다.
문서 프로그램[1] 이나 동영상 프로그램[2] 등에서 작업 시 활용하는, 미리 짜놓은 틀과 같은 파일을 말한다.
작업할 때 파일을 백지부터 만드는 대신 미리 예쁘장하거나 전문적인 모양으로 만들어놓은 템플릿을 불러와 수정하는 식으로 작업한다면, 일정 수준 이상의 완성도를 내기 위해 필요한 노력과 시간을 상당히 줄일 수 있다.
보통 위키위키에서 사용할 때는 '틀'이라고 번역되지만 나무위키에선 템플릿이라는 어휘를 그대로 쓴다. 왜냐하면 틀이라고 하면 주요 정보를 전달하거나 여러 문서를 연결하기 위해 include 문법으로 삽입하는 틀과 용어가 겹치기 때문이다.
나무위키에서 템플릿은 특정 분야의 문서들 간에 통일성을 주기 위해 만들어진 기본적인 양식 문서를 의미한다. 특정 분야의 템플릿 문서가 만들어지면 해당 분야의 문서들을 템플릿에 맞춰 수정하거나, 새 문서를 생성할 때 템플릿 문서를 통째로 복사·붙여넣기한 후 수정해 새 문서를 만드는 식으로 쓰인다. 템플릿 생성법과 사용법에 대한 자세한 설명은 분류:템플릿 문서를 참고.
미디어위키 같은 위키 엔진의 템플릿 기능과 달리 나무위키의 템플릿은 현재로썬 단순히 특정 레이아웃을 구성해놓고 복붙하려고 쓰는 일종의 양식 역할에 불과하다. 즉, 연동 기능을 지원하지 않기 때문에[3] 템플릿의 양식 자체가 변경될 경우 해당 템플릿의 변경 이전 양식을 사용한 문서의 내용을 일일이 수작업으로 바꿔줘야 하는 불편함이 따른다. 추후 개선이 필요한 부분이다.
템플릿은 문서 간 통일성을 위해 만들어지지만 편집 지침에서 해당 템플릿을 사용하도록 하는 규정이 있는 템플릿[4] 을 제외하면 템플릿을 반드시 따를 필요는 없다. 템플릿 문서 자체가 기본적으로 자유로운 생성과 수정이 가능하고 따라서 어떠한 권위도 없기 때문이다. 이 경우 템플릿을 따르는 편집자와 무시하는 편집자 간의 편집 분쟁이 벌어질 수 있고, 이를 방지하자면 템플릿에 강제력을 부여하는 규정을 편집지침에 신설해야 한다. 규정상의 권위를 부여받은 템플릿은 이전처럼 자유로운 수정은 불가능해지지만[5] 함부로 템플릿을 무시하는 편집 역시 불가능하게 함으로써 특정 분야의 문서들을 확실하게 통일된 양식으로 구성하는 걸 가능하도록 만든다.
Copypasta
인터넷 커뮤니티나 인터넷 방송 등에서 밈이 된 글의 내용 그 자체, 혹은 해당 글을 패러디하여 특정 상황이나 내용에 맞게 단어 등 일부만 바꿔서 쓸 때, 그 형식을 의미하는 용어이다. 어느 순간부터 템플릿이라는 용어를 쓰기 시작해서 정착되었다. 보통 일반적인 글에 비해 특이한 말투, 이상한 내용으로 템플릿이 된 경우가 많기 때문에, 역으로 이상한 글이 보이면 이것도 템플릿이냐고 하기도 한다.
댓글이나 채팅 등에서 쓰기 위해 일부러 템플릿을 만들기도 한다. 보통 유명인의 어록이나 노래의 가사 등을 인용하며, 글의 사이사이의 단어에 맞는 적절한 이모지를 끼워 넣기도 한다.[6] 각종 템플릿을 많이 쓰는 곳일 경우, 관련 커뮤니티에서 한곳에 모아 놓고 공유하기도 한다.
템플릿 대신 말이 비슷한 템플스테이, 다크템플러, 태블릿, 템플런, 팜플렛 등으로 언어유희적으로 표현하기도 한다.
テンプレ(텐푸레)
스토리 플롯, 인물들의 관계 구도, 특정 상황에서 나타나는 복선 등의 전개의 전형성 또는 그러한 전개 자체를 가리키는 속어이다. 클리셰와 비슷한 의미를 지닌다. 여러 상황에서 쓰이나 주로 소설, 만화, 애니 등 창작 과정을 다룰 때 쓰인다. 예를 들면 특이한 여성과의 조우를 히로인 등장 템플릿이라 일컫거나, 소꿉친구와 학교 내 아이돌과 학생회 회장 등이 주인공과 친밀한 것을 하렘 전개의 템플릿이라 하고, 전쟁을 하기 전 병사가 '이번 전쟁이 끝나면'으로 이야기를 시작하면 사망 플래그를 꽂는 템플릿이라 지적하는 등, 흔히 쓰이는 또는 유행하는 전형적 스토리 전개가 나타날 때 이를 가리키는 표현이다.
스토리 전개를 그대로 따르는 표절이나 인물이나 스토리를 일정 부분까지 그대로 쓰는 2차 창작과 달리, 대체로 유행이나 유명한 것을 짤막하게 삽입하거나 대략적인 틀이나 양식만 비슷하게 짠 것을 템플릿이라고 가리키며, 작가가 감정표현을 얼마나 독창적으로 풀어내느냐에 따라 표절 의혹을 받는 정도가 달라진다.
예를 들면, 일본 소설 등재 사이트 '소설가가 되자'에서 2010년 전후로 퍼진 이세계 전이물 중 여성향 게임의 세계에 빠져 들어가게 된 남자 주인공의 이야기가 많이 나타나며 유행을 탔다. 이 유행을 통해 게임 속 인물이 되어 게임 속 히로인이나 악역 영애를 비롯한 주조연들을 도와 원래 게임 보다 더 좋은 결말을 맞거나 게임 속 알려지지 않은 비밀을 파헤쳐 원래 게임 스토리의 진행을 망가뜨리는 것이 템플릿이 되었다. 그런데 인물과 환경 구성, 이세계 트럭과 같이 게임 속 세계에 가게 된 원인 등 전개가 유사한 소설들이 많이 나타나면서 작가들 간 표절 의혹으로 번지는 경우가 가끔 발생했다.
반면 소재와 관련된 템플릿도 존재한다. 슬라임이란 것이 처음에는 아메바나 점성균 같은 미생물 혹은 산업에서의 점액성 물질과 같은 형태로 지성 없이 탐욕스럽게 먹는 몬스터로 표현된 반면, 드래곤 퀘스트나 뿌요뿌요 등장 이후 둥근 젤리형에 두 눈이 있거나 없거나 한 귀엽고 최약의 몬스터로 표현하는 것이 유행하고 곧 템플릿이 되어 누구나 의문을 갖지 않는다. 작가가 제대로 된 묘사 없이 '게임이나 이야기 속' 슬라임이라 써도 독자들은 템플릿에서의 슬라임으로 받아들이고, 템플릿을 쓴 것 이상으로 표절 의혹을 제기하지 않는다.
즉 소재와 전개 모두 템플릿이 될 수 있으나, 전개와 관련된 템플릿을 쓰는 것은 표절 의혹을 받기 쉬우며, 작가가 클리셰 또는 패러디를 의도하며 구성한 게 독자의 입장에서는 표절과 구별하기 어렵다는 문제가 있다. 또한 작가의 실력이 떨어지거나 전개나 소재를 억지로 밀어붙일 경우 독자의 흥미가 빠르게 떨어지고 반감을 살 수 있다.
그러나 잘 쓴 템플릿은 해당 템플릿의 근원 작품을 독자에게 상기하여 친숙함과 그리움을 느끼게 하며, 템플릿의 원작과 함께 유명세를 가져와 준다는 장점이 있으며, 원작보다 치밀하게 구성하거나 해당 템플릿에 변화를 주어 독자의 호평을 이끌어 낼 수도 있다.
이 텐프레의 변천 과정은 다음과 같다.
텐프레란, 틀에 박힌 듯 비슷하거나 동일한 행위 따위를 뜻하는 단어이다. 이 단어의 어원은 template의 외래어 표현인 テンプレート의 준말 テンプレ이며, 영어의 뜻인 '전형적인, 틀, 형식' 등의 의미에서 시작한 것으로 보인다. 처음 단어 사용의 이유나 시작 및 유행 장소는 불분명하지만, 처음 사용 장소는 2ch로 추정한다. 2ch에는 스레드당 레스 1000건 제한이 있어 같은 내용을 다루는 스레의 part 2 이후의 스레드 첫머리는 항상 동일한 내용으로 채워지게 되고, 그 부분을 텐프레라 부르는데, 그러다가 단순 코피페(복붙) 글을 텐프레라 부르게 되었을 가능성이 높다. 니코니코 동화에서는 같거나 비슷한 장면에 동일한 코멘트를 남기는 행위를 뜻하며, 악마성 TAS 등에서 코멘트 탄막을 덧붙이고 마지막에 여기까지 텐프레(テンプレ)였다고 코멘트 하던게 다른 비슷한 영상에도 적용되기도 한다.
이후 내용이 확장되어 서브컬처 작품에서 캐릭터나 스토리 흐름등이 '일반적인 경우 ~~라면 떠오르는 형태'라는 의미로도 쓰인다. '텐프레 전개' '텐프레 주인공' '텐프레 히로인' 등등.
나아가서 발음의 유사성 탓인지 天婦羅・天麩羅(덴뿌라...)라고 표기하는 경우도 있다. 텐프레만 재탕하는 경우를 가리켜 튀김덮밥[7] 이라고 표현하는 경우도 있지만, 애초에 이 텐동(天丼)이란 말은 주로 일본 만담업계 쪽에서 재탕을 의미하는 단어로 더 자주 쓰이는지라 다소 마이너한 표현.
몬스터 헌터 시리즈 등에서 무기에 맞는 최대 효율을 낼 수 있거나 입수/제작 난이도 대비 성능이 좋은 장비 구성을 흔히 이렇게 부른다. 좀 더 정확히는 '템플릿 장비(テンプレ装備)'.
한국의 '교복'이나 '국민 세팅'과는 거의 일맥상통한다. 다만 일본의 템플릿 장비는 '범용성'을 가장 중시하기 때문에, 상대하는 인스턴스에 맞춰서 스킬을 변형할 수 있도록 슬롯을 비워놓거나 호석이 채용된 시리즈는 가장 범용적인 호석(3슬롯이면 뭐든 OK라던가)을 사용한다든가 하는 미묘한 차이점이 있다. 스킬 조합이 가장 우선되므로 대부분 다양한 몬스터의 장비를 부위별로 하나씩 따와 조합하는 경우가 많지만, 단일 세트 장비 자체가 템플릿 장비로 쓰이는 경우도 드물지만 있다. 아트랄 카의 장비가 좋은 예시.
몬스터 헌터 포터블 세컨드G의 각왕검 아틸라트 + 진라쟌셋, 노산룡포 극 + 자동 장전 스킬(일명 라오토), 몬스터 헌터: 월드의 제노라지 3셋 기반의 헤비보우건 세팅이나 용기사 4셋 혹은 카이저 3셋 기반의 극딜 + 예리도 세팅 등을 템플릿 장비의 예시로 들 수 있다.
자주 쓰이는 도형을 쉽게 그릴 수 있게 도형 모양으로 구멍을 뚫어 놓은 자. 예를 들면 아래의 컴퓨터 도형자는 순서도에 사용되는 기호를 그리는데 특화되어 있다. 기호, 글자를 쓸 수 있게 만든 것도 있다.
학생들은 구멍이 빵빵 뚫려 있다 해서 빵빵이라고 부른다. 원 빵빵이, 타원 빵빵이 등.
의외로 전문가용은 비싸다. 각기 다른 이심률, 지름을 가진 구멍끼리 모아 10~20장 세트로 한 타원 템플릿 같은 것은 80년대에 10만 원대였다.[8] 2019년 현재에도 15개들이 타원 템플릿 세트는 거의 20만 원(아마존에서 180 달러)이나 한다.
다만 디자인, 공학 부분에 캐드 CAD가 일상화되면서 일러스트레이션 등 수작업을 하는 일부 사람 외에는 쓰지 않는, 거의 사장된 과거의 도구다.
공인노무사나 행정고시 등 서술형 시험을 치르는 수험생들 사이에서는 다이어그램을 그리는 데 특화된 모양자가 절찬리에 사용되고 있다. 특히 경제학 관련 그래프를 그리는 데 특화되어 있는 모양자는 '갈바마리자'라는 별칭으로도 불린다. 관련 커뮤니티에서 '갈바마리'라는 닉네임을 가진 사람이 해당 모양자를 고안해서 그런 별칭이 붙었는데 그 별칭이 퍼져나가 인터넷 쇼핑몰에서도 아예 '갈바마리자'라는 별칭을 상품명에 포함할 정도.
도면
Warhammer 40,000의 템플릿.
'템플릿'이라는 말처럼 여러 가지 모양을 한 얇고 평평한 플라스틱 판. 사실 규격만 맞는다면 재질은 종이가 되었든[9] 금속제든 간에 상관 없지만, 일반적으로 게임 회사에서 공식적으로 파는건 보통 투명한 플라스틱 판이다. 이는 템플릿이 광역 공격 등에 주로 사용되므로, 적이 공격에 얼마나 얻어맞는가를 보는 데에는 투명한 재질이 게임 플레이에 보다 유리하기 때문이다.
Warhammer 40,000에서는 폭발 공격을 할 때 템플릿을 사용한다. 이러한 무기는 옵션에 '블라스트(Blast)'가 들어 있으며, 각각 사이즈가 다른 동그란 것을 사용한다.
블라스트 무기는 착탄점을 기준으로 반경 3인치(일반 블라스트) 혹은 5인치(라지 블라스트) 내에 범위로 데미지를 주는 무기인데, 특이하게도 블라스트 무기는 추가로 스캐터 다이스[10] 를 이용해서 무기가 얼마나 빗나갔는지를 판정해야 한다. 이 경우 무기가 원하는 대상에 명중할 확률은 모델의 BS에 상관없이 3분의 1이며, 나머지의 경우 스캐터 다이스에서 나온 화살표 방향에 아틸러리 다이스[11] 를 추가로 굴려 주사위에 나온 수만큼 블라스트 템플릿을 이동시킨 후 데미지 판정을 한다. 이 경우 BS 수치만큼 빗나간 거리를 보정할 수 있다.[12][13]
구판에서는 화염방사기 등의 광역 공격 무기의 사정거리에도 '템플릿(Template)'이라 씌여있었다. 이 당시 '템플릿'으로 판정하는 무기들은 화염방사기 계열의 무기들로, 공격 선언 후 템플릿의 좁은 부분을 공격자의 무기 총구에, 넓은 부분을 적으로 향하게 배치한 후 명중 판정을 하지 않고 템플릿에 겹쳐있는 모든 적에게 자동으로 명중한 것으로 간주했다. 현재(9판)는 사거리 안에만 들어오면 그냥 오토힛, 그러니까 자동으로 명중 판정이 뜨도록 변경되었다.
특이하게 새비지 월드의 경우에는 TRPG이면서도 미니어처 게임의 게임성을 바탕으로 하기 때문에 TRPG임에도 불구하고 템플릿을 사용한다.[14] 현대 중화기나 이능이 난무할 경우 중형 폭발 범위나 대형 폭발 범위가 턴마다 깔리고 PC건 NPC건 바람 앞의 등불처럼 훅훅 꺼져버리는 장관을 볼 수 있다.
C++에서 템플릿은 일반화 프로그래밍(Generic Programming)과 템플릿 메타 프로그래밍(Template Meta-Programming)이라는 두 가지 용도로 사용된다. 보통 C++ 템플릿 프로그래밍이라고 하면 전자인 일반화 프로그래밍을 지칭하는 것이다.
일반화 프로그래밍(Generic Programming)은 알고리즘이 후에 사용자가 명시할 형에 따라 생성되도록 하는 컴퓨터 프로그래밍의 한 방식이다. C++에서는 오래전부터 템플릿이라고 하는 문법을 통해 컴파일 시간에 제공하고 있고, Java나 C\# 등 많은 객체지향 언어에서도 이를 제한적으로 채용해서 사용하고 있다.
함수나 클래스의 구현 코드 맨 위에 template<typename T> 또는 template<class T>라고 정의한 후, 함수나 클래스를 사용할 때 자료형을 지정하면 T를 자료형으로 사용한 부분은 모두 해당 자료형으로 치환된다.
여기서 템플릿 문법에 typename이 붙은 T는 정의되지 않은 자료형 이라는 의미로 템플릿 매개변수이이다. 그리고 나중에 int, float 같이 이 자리에 전달되는 자료형의 정보를 템플릿 인자라고 한다.[15]
간단한 예시로 만일 두 값의 합을 반환하는 Add 함수를 다양한 자료형에 대응시켜야 한다면 단순히 원하는 자료형 갯수만큼 함수 오버로딩을 통해 구현할 수 있지만, 템플릿을 사용하는 경우 하나의 Add 함수에 변수에 따라 달라지는 부분을 템플릿 매개변수로 선언 후 나중에 실질적으로 함수를 부를 때 자료형을 지정해서 간단히 끝낼 수 있다.[16] 컴파일러는 이렇게 T 같은 템플릿 매개변수로 정의되어 있는 부분을 실질적인 자료형을 채워넣어 코드를 완성한다.
다만 앞에서 정수 또는 실수의 숫자를 더하는 Add 함수와는 달리 두 문자를 입력받고 문자를 이어주는 Add 함수가 필요하다면, 그 기능이나 구현이 앞의 숫자만를 사용하는 함수와는 차이가 있음으로. 이 때는 특정 자료형에 따라 사용자가 미리 작업을 지정해주는 특수화 과정을 추가로 정의해주어야 한다.
한가지 주의점은 템플릿으로 선언한 클래스는 나중에 실질적인 사용시 특정 자료형으로 템플릿 인자를 채워넣는 방식으로 동작하므로, 컴파일러가 해당 템플릿 클래스의 모든 부분을 알고 있어야 한다. 때문에 클래스의 선언과 실질적인 구현이 헤더와 다른 소스 파일로 분산되어 있다면 컴파일 오류가 발생한다. 해결법은 이렇다.
이러니까 모듈 시스템 만들자고 하지
매크로처럼 컴파일 단계에서 템플릿 인자를 자료형으로 채워넣는 방식이므로 자료형이 많아지면 컴파일이 느려지고 디버그가 어려워진다. 특히 헤더 파일에 템플릿 라이브러리가 들어가는 경우 헤더 파일을 하나 공유하면서 여러 파일이 각각 템플릿 코드를 생성하기 때문에 실질적으로는 엄청난 길이의 코드를 컴파일하게 되는 것. 이를 방지하기 위해서는 별도 객체로 패킹하여 공유되는 헤더파일에는 필요한 자료형만 반환하도록 하면 된다.
특히 구문 분석 기능이 복잡하기 때문에, 템플릿 남용은 에러가 났는데 당최 뭐가 문젠지 알 수 없을 정도로 복잡한 경고가 발생하거나, 자료형을 찾기도 힘들거나[18] , 컴파일 된 실행 파일이 너무 커서 실행 시간이 오히려 떨어지거나[19] , 용량이 무지막지하게 증가하거나, 컴파일 시간이 하루 종일 걸리는 등의 문제가 생길 수 있으므로 주의해야 한다.
템플릿을 제대로 지원해주는 환경에서 작업하려면 C++14, 최소 C++11을 지원해줘야 한다. C++11과 14의 템플릿 코드는 단축 코드[20] 가 가능한가, constexpr의 지원, 최적화 등의 이슈로 인해 상당히 차이가 큰 편이다.[21]
C++20부터는 아애 탬플릿 매개변수에 명시적인 조건을 추가할 수 있는 컨셉트가 추가될 예정이어서 C++의 버전 별 차이가 더더욱 커질 것이다.
C++의 템플릿 문법을 활용해 컴파일 시간에 상수나 데이터 구조체, 함수가 결정되도록 하는 메타 프로그래밍 기술의 일종이다. 이를 구현하는 언어는 C++가 대표적이고 D언어 등의 극소수의 언어가 지원하고 있다. 자세한 내용은 해당 문단을 참고.
자세한 내용은 TEMPLATE 문서를 참고하십시오.
1. 사전적 의미[편집]
Template
어떤 것을 만들 때 안내 역할을 하는, 사용상의 형식.
형판, 형틀, 어떤 특정한 모양을 만들기 위해 만들어진 틀을 말한다. 예를 들어 빵이나 주먹밥 같은 것의 모양을 내기 위해 찍거나 채워넣도록 만든 틀도 일종의 템플릿이다. 여기서 파생된 의미로 특정한 서식 구조를 만들어 놓은 양식#樣式. 일정한 모양이나 형식이란 의미도 있다.
참고로 한국에서는 템플릿 외에 '서식', '보기판'이라고도 호칭한다.
2. 작업용 양식 파일[편집]
문서 프로그램[1] 이나 동영상 프로그램[2] 등에서 작업 시 활용하는, 미리 짜놓은 틀과 같은 파일을 말한다.
작업할 때 파일을 백지부터 만드는 대신 미리 예쁘장하거나 전문적인 모양으로 만들어놓은 템플릿을 불러와 수정하는 식으로 작업한다면, 일정 수준 이상의 완성도를 내기 위해 필요한 노력과 시간을 상당히 줄일 수 있다.
3. 나무위키에서[편집]
보통 위키위키에서 사용할 때는 '틀'이라고 번역되지만 나무위키에선 템플릿이라는 어휘를 그대로 쓴다. 왜냐하면 틀이라고 하면 주요 정보를 전달하거나 여러 문서를 연결하기 위해 include 문법으로 삽입하는 틀과 용어가 겹치기 때문이다.
나무위키에서 템플릿은 특정 분야의 문서들 간에 통일성을 주기 위해 만들어진 기본적인 양식 문서를 의미한다. 특정 분야의 템플릿 문서가 만들어지면 해당 분야의 문서들을 템플릿에 맞춰 수정하거나, 새 문서를 생성할 때 템플릿 문서를 통째로 복사·붙여넣기한 후 수정해 새 문서를 만드는 식으로 쓰인다. 템플릿 생성법과 사용법에 대한 자세한 설명은 분류:템플릿 문서를 참고.
미디어위키 같은 위키 엔진의 템플릿 기능과 달리 나무위키의 템플릿은 현재로썬 단순히 특정 레이아웃을 구성해놓고 복붙하려고 쓰는 일종의 양식 역할에 불과하다. 즉, 연동 기능을 지원하지 않기 때문에[3] 템플릿의 양식 자체가 변경될 경우 해당 템플릿의 변경 이전 양식을 사용한 문서의 내용을 일일이 수작업으로 바꿔줘야 하는 불편함이 따른다. 추후 개선이 필요한 부분이다.
템플릿은 문서 간 통일성을 위해 만들어지지만 편집 지침에서 해당 템플릿을 사용하도록 하는 규정이 있는 템플릿[4] 을 제외하면 템플릿을 반드시 따를 필요는 없다. 템플릿 문서 자체가 기본적으로 자유로운 생성과 수정이 가능하고 따라서 어떠한 권위도 없기 때문이다. 이 경우 템플릿을 따르는 편집자와 무시하는 편집자 간의 편집 분쟁이 벌어질 수 있고, 이를 방지하자면 템플릿에 강제력을 부여하는 규정을 편집지침에 신설해야 한다. 규정상의 권위를 부여받은 템플릿은 이전처럼 자유로운 수정은 불가능해지지만[5] 함부로 템플릿을 무시하는 편집 역시 불가능하게 함으로써 특정 분야의 문서들을 확실하게 통일된 양식으로 구성하는 걸 가능하도록 만든다.
4. 밈화된 글 형식[편집]
Copypasta
인터넷 커뮤니티나 인터넷 방송 등에서 밈이 된 글의 내용 그 자체, 혹은 해당 글을 패러디하여 특정 상황이나 내용에 맞게 단어 등 일부만 바꿔서 쓸 때, 그 형식을 의미하는 용어이다. 어느 순간부터 템플릿이라는 용어를 쓰기 시작해서 정착되었다. 보통 일반적인 글에 비해 특이한 말투, 이상한 내용으로 템플릿이 된 경우가 많기 때문에, 역으로 이상한 글이 보이면 이것도 템플릿이냐고 하기도 한다.
댓글이나 채팅 등에서 쓰기 위해 일부러 템플릿을 만들기도 한다. 보통 유명인의 어록이나 노래의 가사 등을 인용하며, 글의 사이사이의 단어에 맞는 적절한 이모지를 끼워 넣기도 한다.[6] 각종 템플릿을 많이 쓰는 곳일 경우, 관련 커뮤니티에서 한곳에 모아 놓고 공유하기도 한다.
템플릿 대신 말이 비슷한 템플스테이, 다크템플러, 태블릿, 템플런, 팜플렛 등으로 언어유희적으로 표현하기도 한다.
5. 일본어 속어[편집]
5.1. 개요[편집]
テンプレ(텐푸레)
스토리 플롯, 인물들의 관계 구도, 특정 상황에서 나타나는 복선 등의 전개의 전형성 또는 그러한 전개 자체를 가리키는 속어이다. 클리셰와 비슷한 의미를 지닌다. 여러 상황에서 쓰이나 주로 소설, 만화, 애니 등 창작 과정을 다룰 때 쓰인다. 예를 들면 특이한 여성과의 조우를 히로인 등장 템플릿이라 일컫거나, 소꿉친구와 학교 내 아이돌과 학생회 회장 등이 주인공과 친밀한 것을 하렘 전개의 템플릿이라 하고, 전쟁을 하기 전 병사가 '이번 전쟁이 끝나면'으로 이야기를 시작하면 사망 플래그를 꽂는 템플릿이라 지적하는 등, 흔히 쓰이는 또는 유행하는 전형적 스토리 전개가 나타날 때 이를 가리키는 표현이다.
스토리 전개를 그대로 따르는 표절이나 인물이나 스토리를 일정 부분까지 그대로 쓰는 2차 창작과 달리, 대체로 유행이나 유명한 것을 짤막하게 삽입하거나 대략적인 틀이나 양식만 비슷하게 짠 것을 템플릿이라고 가리키며, 작가가 감정표현을 얼마나 독창적으로 풀어내느냐에 따라 표절 의혹을 받는 정도가 달라진다.
예를 들면, 일본 소설 등재 사이트 '소설가가 되자'에서 2010년 전후로 퍼진 이세계 전이물 중 여성향 게임의 세계에 빠져 들어가게 된 남자 주인공의 이야기가 많이 나타나며 유행을 탔다. 이 유행을 통해 게임 속 인물이 되어 게임 속 히로인이나 악역 영애를 비롯한 주조연들을 도와 원래 게임 보다 더 좋은 결말을 맞거나 게임 속 알려지지 않은 비밀을 파헤쳐 원래 게임 스토리의 진행을 망가뜨리는 것이 템플릿이 되었다. 그런데 인물과 환경 구성, 이세계 트럭과 같이 게임 속 세계에 가게 된 원인 등 전개가 유사한 소설들이 많이 나타나면서 작가들 간 표절 의혹으로 번지는 경우가 가끔 발생했다.
반면 소재와 관련된 템플릿도 존재한다. 슬라임이란 것이 처음에는 아메바나 점성균 같은 미생물 혹은 산업에서의 점액성 물질과 같은 형태로 지성 없이 탐욕스럽게 먹는 몬스터로 표현된 반면, 드래곤 퀘스트나 뿌요뿌요 등장 이후 둥근 젤리형에 두 눈이 있거나 없거나 한 귀엽고 최약의 몬스터로 표현하는 것이 유행하고 곧 템플릿이 되어 누구나 의문을 갖지 않는다. 작가가 제대로 된 묘사 없이 '게임이나 이야기 속' 슬라임이라 써도 독자들은 템플릿에서의 슬라임으로 받아들이고, 템플릿을 쓴 것 이상으로 표절 의혹을 제기하지 않는다.
즉 소재와 전개 모두 템플릿이 될 수 있으나, 전개와 관련된 템플릿을 쓰는 것은 표절 의혹을 받기 쉬우며, 작가가 클리셰 또는 패러디를 의도하며 구성한 게 독자의 입장에서는 표절과 구별하기 어렵다는 문제가 있다. 또한 작가의 실력이 떨어지거나 전개나 소재를 억지로 밀어붙일 경우 독자의 흥미가 빠르게 떨어지고 반감을 살 수 있다.
그러나 잘 쓴 템플릿은 해당 템플릿의 근원 작품을 독자에게 상기하여 친숙함과 그리움을 느끼게 하며, 템플릿의 원작과 함께 유명세를 가져와 준다는 장점이 있으며, 원작보다 치밀하게 구성하거나 해당 템플릿에 변화를 주어 독자의 호평을 이끌어 낼 수도 있다.
이 텐프레의 변천 과정은 다음과 같다.
텐프레란, 틀에 박힌 듯 비슷하거나 동일한 행위 따위를 뜻하는 단어이다. 이 단어의 어원은 template의 외래어 표현인 テンプレート의 준말 テンプレ이며, 영어의 뜻인 '전형적인, 틀, 형식' 등의 의미에서 시작한 것으로 보인다. 처음 단어 사용의 이유나 시작 및 유행 장소는 불분명하지만, 처음 사용 장소는 2ch로 추정한다. 2ch에는 스레드당 레스 1000건 제한이 있어 같은 내용을 다루는 스레의 part 2 이후의 스레드 첫머리는 항상 동일한 내용으로 채워지게 되고, 그 부분을 텐프레라 부르는데, 그러다가 단순 코피페(복붙) 글을 텐프레라 부르게 되었을 가능성이 높다. 니코니코 동화에서는 같거나 비슷한 장면에 동일한 코멘트를 남기는 행위를 뜻하며, 악마성 TAS 등에서 코멘트 탄막을 덧붙이고 마지막에 여기까지 텐프레(テンプレ)였다고 코멘트 하던게 다른 비슷한 영상에도 적용되기도 한다.
이후 내용이 확장되어 서브컬처 작품에서 캐릭터나 스토리 흐름등이 '일반적인 경우 ~~라면 떠오르는 형태'라는 의미로도 쓰인다. '텐프레 전개' '텐프레 주인공' '텐프레 히로인' 등등.
나아가서 발음의 유사성 탓인지 天婦羅・天麩羅(덴뿌라...)라고 표기하는 경우도 있다. 텐프레만 재탕하는 경우를 가리켜 튀김덮밥[7] 이라고 표현하는 경우도 있지만, 애초에 이 텐동(天丼)이란 말은 주로 일본 만담업계 쪽에서 재탕을 의미하는 단어로 더 자주 쓰이는지라 다소 마이너한 표현.
5.2. 비디오 게임[편집]
몬스터 헌터 시리즈 등에서 무기에 맞는 최대 효율을 낼 수 있거나 입수/제작 난이도 대비 성능이 좋은 장비 구성을 흔히 이렇게 부른다. 좀 더 정확히는 '템플릿 장비(テンプレ装備)'.
한국의 '교복'이나 '국민 세팅'과는 거의 일맥상통한다. 다만 일본의 템플릿 장비는 '범용성'을 가장 중시하기 때문에, 상대하는 인스턴스에 맞춰서 스킬을 변형할 수 있도록 슬롯을 비워놓거나 호석이 채용된 시리즈는 가장 범용적인 호석(3슬롯이면 뭐든 OK라던가)을 사용한다든가 하는 미묘한 차이점이 있다. 스킬 조합이 가장 우선되므로 대부분 다양한 몬스터의 장비를 부위별로 하나씩 따와 조합하는 경우가 많지만, 단일 세트 장비 자체가 템플릿 장비로 쓰이는 경우도 드물지만 있다. 아트랄 카의 장비가 좋은 예시.
몬스터 헌터 포터블 세컨드G의 각왕검 아틸라트 + 진라쟌셋, 노산룡포 극 + 자동 장전 스킬(일명 라오토), 몬스터 헌터: 월드의 제노라지 3셋 기반의 헤비보우건 세팅이나 용기사 4셋 혹은 카이저 3셋 기반의 극딜 + 예리도 세팅 등을 템플릿 장비의 예시로 들 수 있다.
6. 도형자[편집]
자주 쓰이는 도형을 쉽게 그릴 수 있게 도형 모양으로 구멍을 뚫어 놓은 자. 예를 들면 아래의 컴퓨터 도형자는 순서도에 사용되는 기호를 그리는데 특화되어 있다. 기호, 글자를 쓸 수 있게 만든 것도 있다.
학생들은 구멍이 빵빵 뚫려 있다 해서 빵빵이라고 부른다. 원 빵빵이, 타원 빵빵이 등.
의외로 전문가용은 비싸다. 각기 다른 이심률, 지름을 가진 구멍끼리 모아 10~20장 세트로 한 타원 템플릿 같은 것은 80년대에 10만 원대였다.[8] 2019년 현재에도 15개들이 타원 템플릿 세트는 거의 20만 원(아마존에서 180 달러)이나 한다.
다만 디자인, 공학 부분에 캐드 CAD가 일상화되면서 일러스트레이션 등 수작업을 하는 일부 사람 외에는 쓰지 않는, 거의 사장된 과거의 도구다.
공인노무사나 행정고시 등 서술형 시험을 치르는 수험생들 사이에서는 다이어그램을 그리는 데 특화된 모양자가 절찬리에 사용되고 있다. 특히 경제학 관련 그래프를 그리는 데 특화되어 있는 모양자는 '갈바마리자'라는 별칭으로도 불린다. 관련 커뮤니티에서 '갈바마리'라는 닉네임을 가진 사람이 해당 모양자를 고안해서 그런 별칭이 붙었는데 그 별칭이 퍼져나가 인터넷 쇼핑몰에서도 아예 '갈바마리자'라는 별칭을 상품명에 포함할 정도.
도면
7. 미니어처 게임의 게임용 도구[편집]
Warhammer 40,000의 템플릿.
'템플릿'이라는 말처럼 여러 가지 모양을 한 얇고 평평한 플라스틱 판. 사실 규격만 맞는다면 재질은 종이가 되었든[9] 금속제든 간에 상관 없지만, 일반적으로 게임 회사에서 공식적으로 파는건 보통 투명한 플라스틱 판이다. 이는 템플릿이 광역 공격 등에 주로 사용되므로, 적이 공격에 얼마나 얻어맞는가를 보는 데에는 투명한 재질이 게임 플레이에 보다 유리하기 때문이다.
Warhammer 40,000에서는 폭발 공격을 할 때 템플릿을 사용한다. 이러한 무기는 옵션에 '블라스트(Blast)'가 들어 있으며, 각각 사이즈가 다른 동그란 것을 사용한다.
블라스트 무기는 착탄점을 기준으로 반경 3인치(일반 블라스트) 혹은 5인치(라지 블라스트) 내에 범위로 데미지를 주는 무기인데, 특이하게도 블라스트 무기는 추가로 스캐터 다이스[10] 를 이용해서 무기가 얼마나 빗나갔는지를 판정해야 한다. 이 경우 무기가 원하는 대상에 명중할 확률은 모델의 BS에 상관없이 3분의 1이며, 나머지의 경우 스캐터 다이스에서 나온 화살표 방향에 아틸러리 다이스[11] 를 추가로 굴려 주사위에 나온 수만큼 블라스트 템플릿을 이동시킨 후 데미지 판정을 한다. 이 경우 BS 수치만큼 빗나간 거리를 보정할 수 있다.[12][13]
구판에서는 화염방사기 등의 광역 공격 무기의 사정거리에도 '템플릿(Template)'이라 씌여있었다. 이 당시 '템플릿'으로 판정하는 무기들은 화염방사기 계열의 무기들로, 공격 선언 후 템플릿의 좁은 부분을 공격자의 무기 총구에, 넓은 부분을 적으로 향하게 배치한 후 명중 판정을 하지 않고 템플릿에 겹쳐있는 모든 적에게 자동으로 명중한 것으로 간주했다. 현재(9판)는 사거리 안에만 들어오면 그냥 오토힛, 그러니까 자동으로 명중 판정이 뜨도록 변경되었다.
특이하게 새비지 월드의 경우에는 TRPG이면서도 미니어처 게임의 게임성을 바탕으로 하기 때문에 TRPG임에도 불구하고 템플릿을 사용한다.[14] 현대 중화기나 이능이 난무할 경우 중형 폭발 범위나 대형 폭발 범위가 턴마다 깔리고 PC건 NPC건 바람 앞의 등불처럼 훅훅 꺼져버리는 장관을 볼 수 있다.
8. C++에서[편집]
C++에서 템플릿은 일반화 프로그래밍(Generic Programming)과 템플릿 메타 프로그래밍(Template Meta-Programming)이라는 두 가지 용도로 사용된다. 보통 C++ 템플릿 프로그래밍이라고 하면 전자인 일반화 프로그래밍을 지칭하는 것이다.
8.1. 일반화 프로그래밍[편집]
일반화 프로그래밍(Generic Programming)은 알고리즘이 후에 사용자가 명시할 형에 따라 생성되도록 하는 컴퓨터 프로그래밍의 한 방식이다. C++에서는 오래전부터 템플릿이라고 하는 문법을 통해 컴파일 시간에 제공하고 있고, Java나 C\# 등 많은 객체지향 언어에서도 이를 제한적으로 채용해서 사용하고 있다.
함수나 클래스의 구현 코드 맨 위에 template<typename T> 또는 template<class T>라고 정의한 후, 함수나 클래스를 사용할 때 자료형을 지정하면 T를 자료형으로 사용한 부분은 모두 해당 자료형으로 치환된다.
여기서 템플릿 문법에 typename이 붙은 T는 정의되지 않은 자료형 이라는 의미로 템플릿 매개변수이이다. 그리고 나중에 int, float 같이 이 자리에 전달되는 자료형의 정보를 템플릿 인자라고 한다.[15]
간단한 예시로 만일 두 값의 합을 반환하는 Add 함수를 다양한 자료형에 대응시켜야 한다면 단순히 원하는 자료형 갯수만큼 함수 오버로딩을 통해 구현할 수 있지만, 템플릿을 사용하는 경우 하나의 Add 함수에 변수에 따라 달라지는 부분을 템플릿 매개변수로 선언 후 나중에 실질적으로 함수를 부를 때 자료형을 지정해서 간단히 끝낼 수 있다.[16] 컴파일러는 이렇게 T 같은 템플릿 매개변수로 정의되어 있는 부분을 실질적인 자료형을 채워넣어 코드를 완성한다.
다만 앞에서 정수 또는 실수의 숫자를 더하는 Add 함수와는 달리 두 문자를 입력받고 문자를 이어주는 Add 함수가 필요하다면, 그 기능이나 구현이 앞의 숫자만를 사용하는 함수와는 차이가 있음으로. 이 때는 특정 자료형에 따라 사용자가 미리 작업을 지정해주는 특수화 과정을 추가로 정의해주어야 한다.
한가지 주의점은 템플릿으로 선언한 클래스는 나중에 실질적인 사용시 특정 자료형으로 템플릿 인자를 채워넣는 방식으로 동작하므로, 컴파일러가 해당 템플릿 클래스의 모든 부분을 알고 있어야 한다. 때문에 클래스의 선언과 실질적인 구현이 헤더와 다른 소스 파일로 분산되어 있다면 컴파일 오류가 발생한다. 해결법은 이렇다.
- 클래스의 선언과 정의를 하나의 헤더 파일 안에 모두 끝낸다. 이 경우 강제되는 것은 아니지만, 일반적으로 파일의 확장자를 .hpp로 표기한다.
- 해당 클래스를 사용하는 소스의 전처리 부분에 클래스 선언이 들어가 있는 헤더 파일과 실질적인 구현이 들어있는 소스 파일을 모두 포함시킨다.
- 아직 시범적인 표준인 모듈을 사용하여, 해당 부분을 export하고 사용하는 코드에 import한다.
- 소스 코드 파일(.cpp) 를 헤더 파일처럼 마지막에 #include 해놓는다. 이러한 경우의 소스 코드 파일은 보통 .tpp[17] 확장자로 지정한다.
매크로처럼 컴파일 단계에서 템플릿 인자를 자료형으로 채워넣는 방식이므로 자료형이 많아지면 컴파일이 느려지고 디버그가 어려워진다. 특히 헤더 파일에 템플릿 라이브러리가 들어가는 경우 헤더 파일을 하나 공유하면서 여러 파일이 각각 템플릿 코드를 생성하기 때문에 실질적으로는 엄청난 길이의 코드를 컴파일하게 되는 것. 이를 방지하기 위해서는 별도 객체로 패킹하여 공유되는 헤더파일에는 필요한 자료형만 반환하도록 하면 된다.
특히 구문 분석 기능이 복잡하기 때문에, 템플릿 남용은 에러가 났는데 당최 뭐가 문젠지 알 수 없을 정도로 복잡한 경고가 발생하거나, 자료형을 찾기도 힘들거나[18] , 컴파일 된 실행 파일이 너무 커서 실행 시간이 오히려 떨어지거나[19] , 용량이 무지막지하게 증가하거나, 컴파일 시간이 하루 종일 걸리는 등의 문제가 생길 수 있으므로 주의해야 한다.
템플릿을 제대로 지원해주는 환경에서 작업하려면 C++14, 최소 C++11을 지원해줘야 한다. C++11과 14의 템플릿 코드는 단축 코드[20] 가 가능한가, constexpr의 지원, 최적화 등의 이슈로 인해 상당히 차이가 큰 편이다.[21]
C++20부터는 아애 탬플릿 매개변수에 명시적인 조건을 추가할 수 있는 컨셉트가 추가될 예정이어서 C++의 버전 별 차이가 더더욱 커질 것이다.
8.2. 템플릿 메타 프로그래밍[편집]
C++의 템플릿 문법을 활용해 컴파일 시간에 상수나 데이터 구조체, 함수가 결정되도록 하는 메타 프로그래밍 기술의 일종이다. 이를 구현하는 언어는 C++가 대표적이고 D언어 등의 극소수의 언어가 지원하고 있다. 자세한 내용은 해당 문단을 참고.
9. 호시마치 스이세이의 오리지널 곡[편집]
자세한 내용은 TEMPLATE 문서를 참고하십시오.
이 문서의 내용 중 전체 또는 일부는 2024-06-19 12:05:30에 나무위키 템플릿 문서에서 가져왔습니다.
[1] 워드, 엑셀, 파워포인트 등.[2] 애프터 이펙트 등.[3] 이는 틀:관련 문서처럼 변수 입력을 지원하는 틀의 그것과 같다.[4] 주로 템플릿:학교 등등. 이 템플릿들은 틀:규정상 강제되는 템플릿 틀이 달려 있다.[5] 이용자들끼리 따르기로 합의한 템플릿은 당연히 규정 토론 당시의 템플릿일 뿐, 누가 임의로 수정한 템플릿을 따를 이유는 없기 때문이다. 규정상 강제력이 있는 템플릿을 수정하려면 수정할 때마다 매번 새로 토론을 열어 합의를 구해야 한다.[6] 예시: 1557 해설, 마즈피플 밈 가사, 그 긴거.[7] 天ぷら丼(텐푸라동). 보통 줄여서 텐동(天丼)이라고 한다.[8] 당시 중소기업 대졸자 초봉이 50만 원선이었다. 그 때 템플릿 값을 요즘 돈으로 치면 40만 원 이상.[9] 가령 Warhammer 40,000 룰북에는 템플릿 모양이 나와있는 페이지가 있어서, 이걸 복사해서 잘라 쓸 수 있도록 되어있다.[10] 2개의 명중 표시와 4개의 화살표 표시가 있는 주사위.[11] 2, 4, 6, 8, 10, 12의 숫자가 표시된 주사위. 이건 그냥 일반 주사위를 하나 굴린 후 2배를 해도 된다.[12] 가령 BS4짜리 모델이 스캐터 판정이 나온 후 아틸러리 다이스에서 8이 나왔다고 하자. 그러면 이 공격의 경우 아틸러리 다이스의 수 8에서 BS 수치 4를 뺀 4값만큼만 블라스트 템플릿을 이동시켜 판정한다. BS 수치가 아틸러리 다이스의 눈수보다 높을 경우 빗나감 판정을 무시할 수 있다.[13] 다만 전혀 명중할 수가 없는 상황에서 명중 판정이 난 경우 명중 주사위 면에 있는 작은 화살표 방향으로 템플릿을 이동시킨다.[14] 미니어처가 없어도 할 수 있지만 그래도 보통 새비지 월드를 플레이하는 팀은 거리 계산을 엄격하게 한다.[15] 물론 T 말고 다른 문자도 상관 없다.[16] 사실 템플릿 함수를 부르는 과정에서 자료형이 명확하다면 명시를 안해도 컴파일러가 자동으로 알맞는 자료형으로 만들어준다. 템플릿 클래스의 경우는 C++14까지는 형을 명시적으로 지정해줘야 하지만, C++17부터는 생성자에서 형 추론이 가능해졌다. 즉, std::vector a{10, 20, 30}; 이런 식으로 오버로드된 std::initializer_list 생성자 호출이 가능해졌다.[17] t는 template.[18] 심하면 IDE의 디버그 창 한 페이지 전부를 집어먹는 에러 메시지가 고작 하나의 오류를 뜻하는 경우도 생긴다.[19] 보통 명령어 캐시(instruction cache) 용량 초과 때문이다.[20] C++14가 동일한 코드를 더 짧게 쓸 수 있다.[21] 물론 표준 라이브러리에서 지원해주는 부분은 이전 버전에서 해당 코드만 가져와서 사용할 수도 있다.