hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
청량 음료 정부 규제
미국에서는 입법자, 보건 전문가, 소비자 옹호자들이 미국인의 비만 확산과 전반적인 건강에 미치는 해로운 영향을 억제하기 위해 청량 음료 및 기타 단맛 제품 판매에 더 높은 세금을 부과하는 것을 고려하고 있다. 일부는 더 높은 세금이 소다 소비를 줄이는 데 도움이 될 수 있다고 추측한다. 다른 사람들은 세금이 과도한 청량 음료 소비의 건강에 해로운 영향에 대한 소비자 인식을 높이는 교육 자금을 지원하고, 과소비로 인한 질병 치료 비용을 충당하는 데도 도움이 되어야 한다고 말한다. 식품 및 음료 산업은 2000년 이후 입법자들에게 5천만 달러 이상을 기부하여 워싱턴 D.C.에서 상당한 영향력을 행사하고 있다.
2013년 1월, 영국 로비 단체는 설탕이 든 탄산 음료의 가격을 인상하고, 이렇게 모금된 돈(리터당 20펜스 기준으로 약 10억 파운드로 추정)을 독립적인 기관이 감독하는 "어린이 미래 기금"에 투자하여 어린이들이 학교에서 건강하게 식사하도록 장려할 것을 요구했다.
2017년 사우디아라비아, 아랍에미리트, 바레인은 상품의 과도한 소비를 억제하고 추가 수익을 위해 청량 음료에 50%의 세금, 에너지 음료에 100%의 세금을 부과했다.
2013년 3월, 뉴욕시 시장 마이클 블룸버그는 편의점과 슈퍼마켓을 제외한 곳에서 16온스 이상의 비다이어트 청량 음료 판매를 금지하는 법안을 제안했다. 이 금지령에 대한 소송은 주 판사에 의해 지지되었는데, 그는 금지령이 "자의적이고 변덕스러운 결과로 가득 차 있다"는 우려를 표명했다. 블룸버그는 이 판결에 항소할 것이라고 발표했다. 주 항소 법원은 원심 법원의 결정을 지지했고, 2021년 현재까지 금지령은 시행되지 않고 있다.
2022년, 치솟는 비만과 당뇨병률 속에서 멕시코의 오아하카 주는 코카콜라를 포함한 설탕 음료 판매 금지령을 시행했지만, 제대로 시행되지 않았다.
다례
다례(茶禮)는 한국의 전통 차 의식이다. 다례의 뜻은 차에 대한 예절이며, 수천년 동안 한국인들에게 전해져 왔다.
다례 현대의 다례
우선적으로 차를 마시는 데 사용하는 다구, 물, 차가 준비되어야 한다.
다구는 차를 마시는 데 사용하는 기물들을 말한다. 시대에 따라 다구의 구성은 많은 차이를 보이지만, 현대에는 보통 찻주전자, 귀때그릇, 개수그릇, 다섯개의 찻잔, 찻잔 받침이 한벌로 구성되어 있다.
이 외에도 다구의 청결을 위한 찻수건, 찻주전자를 받치는 주전자 받침, 다구를 올려두는 찻상 등이 있다.
차의 종류는 발효 정도에 따라 녹차, 우롱차, 홍차 등으로 구분되고, 가공 방법에 따라서는 증제차, 부초차 등으로 나뉜다. 형태에 따라서도 잎차, 가루차, 등으로 나눌 수 있다. 채취 시기에 따라서는 세작, 중작, 대작 등으로 구분된다.
차를 우려낼 물은 샘물이 가장 좋지만 여건이 마땅하지 않으면 수돗물의 앙금을 가라앉히고 사용해도 된다. 물을 너무 오랫동안 끓이면 안 된다. 한국식 다례에서는 섭씨 약 60도에서 70도를 녹차를 우려내기에 적정한 온도로 정의한다. 이는 중국식 다예보다는 낮고 일본식 다도보다는 높은 온도로, 베이징, 서울, 교토의 위도와 평균 온도차이라고 생각된다.
다례 현대의 다례
다구와 차, 물이 준비되면 물을 끓인다. 그리고 끓인 물을 귀때그릇에 담아서 찻주전자에 붓는다. 이후 찻주전자의 물을 찻잔에 옮겨 따른 다음에 적당히 찻잔과 찻주전자가 데워지면 그 물을 개수그릇에 담아서 버린다.
다시 귀때그릇에 물을 담아서 적당한 온도로 식힌다. 이때 우려낼 차의 종류에 따라서 적절한 물의 온도가 다른데, 찻잎의 크기가 클수록 온도를 높게 하는 것이 좋다. 잎이 어린 우전이나 세작의 경우 5, 60도의 낮은 온도가 적당하고, 중작은 60도 정도, 대작은 70도, 이 외에 엽차용 큰 잎은 100도에 우리는 것이 좋다.
차의 종류에 맞게 물이 식으면, 차와 함께 귀때그릇의 물을 찻주전자에 적당량을 붓고 차를 우려낸다. 차가 적당히 우러나오는 시간은 물의 온도에 따라 다른데, 보통 적정 온도에서는 3분가량 우려내고, 더 뜨거우면 더 짧게 우려내면 된다. 온도가 낮으면 좀 더 오래 우려낸다.
차가 다 우러나면 찻잔에 나누어 따르는데, 한번에 채우지 않고 찻잔을 옮겨가며 조금씩 나누어 따른다. 차를 모두 따르면 찻잔 받침 위에 얹어 앞에 놓는다. 차를 모두 마시면 예열과정을 제외하고 차를 우려내는 과정을 반복한다.
차와 같이 먹는 다과로는 송화다식이나 미말다식 같은 다식이나 전통 한과를 먹는 것이 좋지만, 차의 맛을 해치지 않는 선에서 적당한 것을 선택한다.
서류철
서류철(書類綴) 또는 파일은 분류 및 보호를 위해 종이로 된 문서를 묶거나 매어 모을 수 있게 만든 도구이다.
2010년대에 들어서 대한민국에서는 화일이나 파일이라고 부르는 것이 보편적이다. 홀더나 서류철이라고 부르는 사람은 드물다. 하지만 파일의 중의적 의미 때문에, 서류철이라 부르는 것이 올바른 표현이다.
서류철 재질과 규격
보통 플라스틱이나 종이로 이뤄져 있으며, 때로는 천공한 종이를 끼워 가지런히 모을 수 있게 제작된다. 규격은 용지(A시리즈, B시리즈, N절지 등)가 딱 알맞게 보관될 수 있는 수준을 기준으로 표기한다.
서류철 탭 파일 폴더
탭이 다른 위치에서 구분되기 때문에 탭의 위치도 중요하다. 이를테면 1/3 컷 스타일의 경우 가장 먼 오른쪽 위치에 탭이 있는 폴더들은 숫자 3의 위치의 탭을 가지고 있다고 여겨진다.
서류철 클리어 파일 폴더
여러 장에서 수십 장의 비닐이 들어 있는 서류철이다. 비닐 각 장에 문서를 넣어 보관한다. 보통 비닐1장당 용지1장을 넣으나, 서류 내용이 많을 경우 양면으로 보이도록 문서를 중첩해 보관하기도 한다. 개인용은 내부에 문서를 더 넣어 보관하기도 한다. 클리어 파일 내의 문서를 다른 클리어 파일로 쉽게 이동시킬 수 있고, 한번 보관하면 문서 훼손이 적다는 장점이 있다. 그러나 문서를 각 비닐에서 꺼내야 하는 불편함이 있다. 포트폴리오 폴더, 장부형 바인더 등이 여기에 속한다.
서류철 몰딩 파일 폴더
쫄대파일이나 쫄대화일로 불리는 서류철이다. 쫄대는 몰딩에 속하기 때문이다. 반으로 접힌 투명하고 유연한 플라스틱 판의 가운데에 쫄대를 끼워 고정시켜 사용한다. 양이 많지 않은 서류 및 문서를 보관할 때 좋다.  표면이 대부분 투명하기 때문에 라벨을 붙이는 대신 대표격의 문서를 앞에 두는 것으로 구분을 위한 시안성을 확보하는 식으로 보관하기도 한다. 보편적으로 A4 규격이 가장 많이 사용된다. 쫄대 자체의 두께와 크기에도 차이가 있으며, 쫄대가 크고 두꺼울수록 더 많은 종이를 보관할 수 있다. 쫄대가 책의 '제본 선' 역할을 하는 특징이 있다. 책처럼 다룰 수 있다는 것이 장점이다.
쫄대가 감당할 수 없을 정도로 많은 서류를 넣으면 쫄대가 부러져서 못 쓰게 되거나, 쫄대가 헐거워져 적은 양의 서류를 넣으면 빠져버리는 단점이 있다. 쫄대 이외에 문서를 고정시켜 두는 장치가 없으므로, 한 번에 끼워 넣을 수 있는 서류의 양의 제한도 다른 계열의 서류철보다 매우 적다. 끼워 넣을 문서에 스테이플러를 박았다면 쫄대 내에서 불균형이 생겨 쫄대가 제대로 서류를 고정시키지 못한다. 스테이플러 심을 제거하고 넣어야 한다.
서류철 클립보드 파일 폴더
문서를 꿰어버리거나 아예 물도록 만들어진 금속성의 클립이 달린 서류철이다. 보통 ‘클립보드’, 혹은 ‘클립파일’로 불린다. 클립보드는 주로 단단한 재질로 만들어진다. 서류철의 덮개가 있는 제품과 없는 제품으로 구분된다. 오래 보관하지 않거나 자주 열람해야 하는 문서를 보관하는데 주로 쓴다. 장시간 보관시 클립보드에 의해 용지 훼손이 발생할 수 있다.
문서
문서(文書).는 의사소통을 위해 고안된 정보를 물리적으로 묶어 놓은 것을 말한다. 서류(書類) 또는 문건(文件)).이라고도 한다. 오늘날에는 종이로 된 것을 주로 문서라고 부르지만, 역사적으로는 돌(비석 또는 암벽), 나무(비석 또는 목간), 풀(죽간, 파피루스), 금속, 베(피륙),점토 등 여러 곳에 기록하였다.
일상적으로는 문서는 "사람의 생각을 상징적인 기호로 정보를 제공하여 글로 쓴 것"으로 정의할 수도 있지만 현대에 이르러 컴퓨터의 발달에 따라 특정 형식의 디지털 파일을 가리키기도 한다.
문서 추상적 정의
문서라는 개념은 수잔 브리엣(Suzanne Briet)에 따르면 "물리적이든 정신적이든 간에 어떠한 현상을 재구성하거나 입증하기 위해 보존되거나 기록된, 구체적이거나 상징적인 표식"을 말한다.
문서 종류
문서는 표로 나타낸 문서와 같이 구조화가 가능하다: 목록, 폼, 학술용 차트, 책이나 뉴스 기사처럼 반정형 형태, 손으로 직접 쓴 노트처럼 비정형 형태. 문서는 기밀, 비공개, 공개 형태로 분류하기도 한다. 초안, 교정판과 같이 기술될 수도 있다. 문서가 복사되면 원본은 독창성이 있다고 말한다.
문서는 수많은 분야에 사용된다:
문서 미디어
전통적으로 문서의 매개체는 종이였고 정보는 손으로 직접 쓰거나 기계적 공정을 통해 잉크로 적재되었다. 오늘날 일부 짧은 문서들은 스테이플로 하여금 여러 시트로 함께 구성되는 경우가 있다.
기념 또는 표시를 목적으로 한 현대의 전자적 수단은 다음을 포함한다:
디지털 문서는 일반적으로 특정 매개체를 표출할 수 있게 하기 위한 특정한 파일 형식을 요구한다. 데이터 문서에 관해서는 Schöpfel et al. (2020)를 참고.
C 표준 라이브러리
C 표준 라이브러리(C standard library)는 C 언어를 위한 표준 라이브러리로서, ANSI C 표준에 의해 명시되었다. 이것은 상위 집합인 C POSIX 라이브러리와 동시에 개발되었다. ANSI C가 국제 표준화 기구에 의해서 채택됨에 따라, C 표준 라이브러리는 또한 ISO C library로도 불린다.
C 표준 라이브러리는 매크로, 타입 정의 그리고 문자열 처리나 수학적 연산, 입출력 프로세스, 메모리 할당과 다른 운영 체제 서비스 같은 작업을 위한 함수들을 제공한다.
C 표준 라이브러리 애플리케이션 프로그래밍 인터페이스 (API)
C 표준 라이브러리의 API는 많은 헤더 파일들에 정의되어 있다. 각 헤더 파일은 하나 이상의 함수 정의와 데이터 타입 정의 그리고 매크로들을 포함한다.
세 헤더 파일들의(complex.h, stdatomic.h, threads.h) 구현은 필수는 아니다.
POSIX 표준은 유닉스를 위한 기능을 위해 여러 표준이 아닌 C 헤더들을 추가하였다. 예를 들면 unistd.h 그리고 signal.h가 있다.
유닉스 계열 시스템들에서 실제 구현된 API의 권위 있는 문서화는 man page의 형태로 제공된다.
C 표준 라이브러리 구현
유닉스 계열 시스템들은 일반적으로 공유 라이브러리 형태로 C 라이브러리를 가지지만, 헤더 파일들이 설치 시에 존재하지 않아서 C 개발이 불가능할 수도 있다. C 라이브러리는 유닉스 계열 운영 체제에서 한 부분으로 여겨진다. ISO C 표준을 포함한 C 함수들은 프로그램들에서 널리 사용되지만, 운영 체제 인터페이스의 한 부분이다. 유닉스 계열 시스템들은 일반적으로 C 라이브러리가 제거되면 동작할 수 없다.
마이크로소프트 윈도우에서, 핵심 시스템 동적 라이브러리들은 C 표준 라이브러리의 구현을 제공한다. C 로 쓰여진 컴파일된 애플리케이션들은 C 라이브러리와 정적으로 링크되거나 딸려온 라이브러리와 동적으로 링크된다. 컴파일러의 C 라이브러리에 존재하는 함수들은 마이크로소프트 윈도우와의 인터페이스로 여겨지지 않는다.
운영 체제와 C 컴파일러에서 제공되는 많은 구현들이 존재한다. 몇몇 유명한 구현들은 다음과 같다.
C 표준 라이브러리 구현
몇몇 컴파일러들은(예를 들면 GCC) C 표준 라이브러리에서 많은 함수들의 빌트인 버전들을 제공한다; 즉, 함수들의 구현들은 컴파일된 목적 파일로 쓰여지며 프로그램은 C 라이브러리 공유 목적 파일에 있는 함수들 대신 빌트인 버전들을 호출한다. 이것은 특히 만약 함수 호출들이 인라인 형태로 대체된다면 함수 호출 오버헤드를 감소시키며, 최적화의 다른 형태(컴파일러가 빌트인 형태의 제어 흐름 특징을 알 때)를 허용하지만 디버깅 시에 혼란을 야기할 수 있다. (예를 들면 빌트인 버전들은 인스트루멘트된 형태로 대체될 수 없다)
그러나 빌트인 함수들은 반드시 ISO C에 따라 기본 함수들처럼 행동해야 한다. 중요한 것은 프로그램이 반드시 이러한 함수들을 가리키는 포인터를 주소를 사용해서 생성할 수 있어야 하고, 이 포인터로 함수를 발생시킬 수 있어야 한다. 만약 같은 함수에 대한 두 포인터들이 프로그램에서 두 다른 변환 유닛으로 만들어진다면, 이러한 두 포인터들은 반드시 같아야 한다. 즉, 외부 링크를 갖는 함수의 이름을 리졸브해서 얻은 주소이다.
C 표준 라이브러리 구현
리눅스 그리고 FreeBSD에서, 수학 함수들( math.h에 정의된)은 수학 라이브러리 libm에서 따로 묶어져야 한다. 만약 이것들 중 어느 것이 사용된다면, 링커는 반드시 지시자 -lm을 받아야 한다.
C 표준에 따르면, 만약 구현이 호스트된다면 매크로 __STDC_HOSTED__ 는  1 로 정의될 것이다. 호스트된 구현은 C 표준에 명시된 모든 헤더들을 갖는다. 구현은 또한 freestanding 일 수 있는데 이것은 이러한 헤더들이 존재하지 않는다는 의미이다. 만약 구현이 freestanding이라면, 이것은 __STDC_HOSTED__ 을 0으로 정의할 것이다.
C 표준 라이브러리 개념, 문제 그리고 해결책
C 표준 라이브러리에 있는 몇몇 함수들은 버퍼 오버플로우 취약점들과 채택 이후의 버그를 유발하는 프로그래밍을 조장하는 것으로 악명 높다. 가장 비판받는 항목은:
gets()를 사용한 극단적인 경우를 제외하고, 모든 보안 취약점들은 보조 코드가 메모리 관리, 경계 검사, 입력 검사 등을 수행하게 함으로써 피할 수 있다. 이것은 종종 표준 라이브러리 함수들을 사용하기 쉽고 안전하게 만들어 주는 래퍼의 형태를 통해 가능해 진다.
함수들에 경계 검사와 자동 버퍼 할당을 채택하는 것을 제안하기 위해 ISO C 윈원회는 기술 보고서 TR 24731-1를 발행하였고 TR 24731-2를 작성중에 있다. 전자는 많은 비판을 받았지만, 후자는 비판과 칭찬을 모두 받았다. 그럼에도 불구하고 TR 24731-1는 마이크로소프트의 C 표준 라이브러리에 구현되었으며, 이것의 컴파일러는 오래된 불안정한 함수들을 사용할 때 경고를 발생시킨다.
C 표준 라이브러리 개념, 문제 그리고 해결책
mktemp() 과 strerror() 루틴들은 스레드 안전와 경쟁 상태에 대한 취약점 때문에 비판을 받았다.
C 표준 라이브러리에서 함수들의 오류 처리는 일관되지 않으며 가끔은 혼란스럽다. 이것은 리눅스 매뉴얼 페이지 math_error 에 잘 요약되어 있다:
C 표준 라이브러리 표준화
다른 언어들과 달리, 원본 C 언어는 입출력 동작 같은 빌트인 함수들을 제공하지 않았다. 시간이 지나면서 C의 사용자 커뮤니티들은 생각을 공유하고 현재 C 표준 라이브러리라고 불리는 것을 구현하였다. 이러한 아이디어들 중 많은 수가 결국 표준 C 언어의 정의에 포함되었다.
유닉스와 C는 모두 벨 연구소에서 1960년대에에서 1970년대에 만들어졌다. 1970년대 동안 C 언어는 점점 유명해 졌다. 많은 대학교들과 단체들이 자신의 프로젝트를 위해 이 언어를 자신만의 형태로 만들었다. 1980년대의 시작에 이것들 간에 호환 문제가 발생하였다. 1983년 미국 국립 표준 협회(ANSI)는 위원회를 구성해서 C의 표준 명세를 확립하였고 이것은 ANSI C로 불린다. 이 작업은 1989년 C89라고 불리는 것이 만들어짐으로써 끝이나게 된다.
C 표준 라이브러리 표준화
POSIX, 또는 SUS는 기본 C 표준 라이브러리에서 사용 가능한 많은 수의 루틴들을 명시하였다. POSIX 명세는 멀티 스레드, 네트워킹 그리고 정규 표현식에 대한 헤더 파일들을 포함한다. 이러한 것들은 종종 C 표준 라이브러리 기능들과 동시에 구현되었다. 예를 들면 glibc는 libc.so 내의 fork 같은 함수들을 구현하였다. 종종 POSIX 명세의 기능은 라이브러리의 한 부분으로 여겨질 수 있다; 기본 C 라이브러리는 ANSI 또는 ISO C 라이브러리로 식별된다.
BSD libc는 POSIX 표준 라이브러리의 상위 집합으로서 FreeBSD, NetBSD, OpenBSD 그리고 OS X 같은 BSD 운영 체제에서 사용된다. 이것은 1994년 릴리즈된 4.4BSD에서 처음 선보여졌다. BSD libc는 원본 표준에서 정의되지 않은 몇몇 확장들을 갖는다. BSD libc의 확장들 중 몇몇은 다음과 같다:
C 표준 라이브러리 다른 언어들에서의 C 표준 라이브러리
몇몇 언어들은 자신의 라이브러리에 표준 C 라이브러리의 기능을 포함한다. 라이브러리는 그 언어의 구조에 어울리게 해서 채택되지만, 동작 의미는 비슷하게 된다. 예를 들면 C++ 언어는 이름공간 std (예를 들면 std::printf, std::atoi, std::feof)에서 C 표준 라이브러리의 기능을 포함하는데, 헤더 파일도 C의 것과 비슷하다(cstdio, cmath, cstdlib, 등). 다른 언어들은 D와 비슷한 접근법을 갖는데 파이썬의 경우 C파이썬이 있다. 예를 들면 파이썬 2에서 빌트인 파일 객체들은 "C의 stdio 패키지를 사용해서 구현되었다"고 정의되어서, 사용 가능한 연산들(open, read, write 등)은 상응하는 C 함수들과 같은 동작을 한다고 기대할 수 있다.
C 표준 라이브러리 다른 언어들의 표준 라이브러리들과의 비교
C 표준 라이브러리는 다른 언어들의 표준 라이브러리들과 비교했을 때 작다고 할 수 있다. C 라이브러리는 수학, 문자열 조작, 형 변환 그리고 파일과 콘솔 기반 입출력 함수들의 기본 집합을 제공한다. 이것은 C++ 표준 템플릿 라이브러리처럼 컨테이너 타입의 표준 집합을 포함하지 않는다. 이러한 작은 표준 라이브러리의 장점은 일할 ISO C 환경을 다른 언어들 보다 더 쉽게 제공한다는 것이며, 결과적으로 C를 새로운 플랫폼에 포팅하는 것이 상대적으로 쉽게 된다.
드림
드림(dream)은 영어로 잠 자는 동안 꾸는 꿈을 말한다.
드림(dream) 또는 드림즈(dreams)는 또한 다음을 가리키는 말이다.
헤더 파일
컴퓨터 프로그래밍에서, 특히 C와 C++ 프로그래밍 언어에서, 헤더 파일(header file) 또는 인클루드 파일(include file)은 컴파일러에 의해 다른 소스 파일에 자동으로 포함된 소스 코드의 파일이다. 일반적으로 헤더 파일들은 다른 소스 파일 속의 첫 부분에 포함된다.
C와 C++ 프로그래밍 언어에서, 표준 라이브러리 함수는 전통적으로 헤더 파일 안에서 선언되어 있다. C 표준 라이브러리와 C++ 표준 라이브러리에 많은 함수들이 존재한다. 함수들은 사용자가 API 수준에서 알아야 한다. 따라서 개발 도구를 만드는 입장에서, 함수 자체를 설계하고 코딩을 한 측에서 제공해야 한다. 라이브러리 오브젝트 코드는 파일로 존재하고 헤더 파일에 함수나 변수의 형이 선언되어 있으므로 사용자 측에서 붙여 사용하면 된다. 사용자 측에서 사용한 라이브러리는 라이브러리 파일의 코드를 링커가 응용 프로그램에 붙여 전체 실행 코드가 완성된다. 결국 헤더 파일의 형을 사용하여 라이브러리 사용자의 인클루드에 의해 함수 호출이 방식이 결정된다.
헤더 파일 C/C++ 헤더 파일 사용 예
대표적으로 C언어에서 많이 사용하는 printf함수는 stdio.h 표준 라이브러리에 존재한다.
여기서 실시간 라이브러리 함수  printf 코드는 라이브러리 파일에 존재하고, stdio.h 헤더 파일에 형이 선언되어 있다.
헤더 파일의 가장 일반적인 형태는 다음과 같은 예에서 볼 수 있다.
헤더파일에서 사용하는 코드는 형을 알리는 타입이 가장 일반적이다. 프로세서가 실행될 때 변수 공간을 잡는 형태는 중복에 의해 문제가 될 수도 있다. 헤더파일의 사용은 여러 파일에서 중복 인클루드로 붙여서 사용하는 것이 일반적이기 때문이다.
형을 알리는 C/C++ 코드 :
등이 대표적이다.
따라서 이것들은 헤더 파일에 넣는 것이 일반적이다. 헤더 파일에 변수의 선언은 C/C++ 언어 입장에서는 문제가 없지만 프로그래밍 코드가 복잡해지면 혼돈의 염려가 있으므로 습관된 헤더 파일의 사용 방법에 대한 숙지가 필요하다.
적절하지 못한 헤더 파일 사용 예 :
표준 라이브러리
컴퓨터 프로그래밍에서 표준 라이브러리(standard library)란 프로그래밍 언어의 여러 구현체에서 통용될 수 있도록 만들어진  라이브러리를 말한다. 이러한 라이브러리는 관습적으로 프로그래밍 언어의 명세에 포함되어 있지만, 어떤 언어와 연관된 라이브러리의 내용은 (부분적으로든 전체적으로든) 그 언어를 사용하는 커뮤니티의 비공식적인 실천에 따라 결정되기도 한다.
표준 라이브러리
언어를 고안한 사람들은 표준 라이브러리와 언어를 분리해서 독립적인 것으로 생각하더라도, 해당 언어의 사용자들은 표준 라이브러리 역시 언어의 일부로서 취급하곤 한다. 많은 언어 명세들은 모든 구현체가, 그리고 일부만 구현된 부분체라도, 포함해야 하는 핵심적인 부분(core set)을 정의하고 있다. 그래서 한 언어와 그 라이브러리 간의 관계는 언어마다 다르다. 사실, 어떤 언어들은 핵심 라이브러리를 참조하지 않고서는 통사적 구성물(syntactic constructs: 언어 문법)의 의미를 기술할 수 없도록 설계되어 있기도 하다. 예를 들어, 자바(Java)에서, 문자열 리터럴은 java.lang.String 클래스의 인스턴스로 정의되어 있다. 비슷하게, Smalltalk에서 익명 함수 표현(소위 "block")은 라이브러리의 BlockContext 클래스의 인스턴스를 생성한다. 반대로, Scheme은 여러 개의 일관된 부분집합을 가지고 있는데, 이것은 라이브러리 매크로로서 해당 언어의 나머지 부분을 구성하는 데 부족함이 없다. 그래서 언어 설계자는, 언어의 문법(constructs - 흔히 syntax를 대신해서 사용됨)으로서 어떤 부분이 반드시 구현되어야 하는지, 어떤 부분이 라이브러리의 부분으로 구현되어야 하는지 말할 필요조차 없다
표준 라이브러리 구성물
표준 라이브러리는 일반적으로 공통으로 사용되는 알고리즘, 데이터 구조, 입출력을 위한 매커니즘을 위한 정의들을 포함하고 있다. 호스트 언어에서 사용 가능한 구성체에 따라 표준 라이브러리는 다음을 포함할 수 있다:
대부분의 표준 라이브러리는 적어도 공통으로 쓰이는 다음의 기능들을 위한 정의들을 포함한다:
C++ 표준 라이브러리
C++ 프로그래밍 언어에서, C++ 표준 라이브러리 (C++ Standard Library)는 C++과 C++ ISO 표준 자체로 쓰여진 클래스들과 함수들의 집합이다. C++ 표준 라이브러리는 여러 제네릭 컨테이너들, 그리고 이러한 컨테이너들과 함수 객체, 제네릭 문자열, 스트림(인터렉티브와 파일 입출력을 포함하는), 몇몇 언어 특징 그리고 숫자의 제곱근을 찾는 것 같은 작업을 위한 모든 함수들을 활용하기 위한 함수들을 제공한다. C++ 표준 라이브러리는 또한 ".h"로 끝나는 ISO C90 C 표준 라이브러리의 18 헤더들을 포함하지만 이것들의 사용은 추천되지 않는다. ".h"로 끝나지 않는 헤더는 C++ 표준 라이브러리에는 존재하지 않는다. C++ 표준 라이브러리의 특징은 std 이름공간 (namespace) 내에 선언된다는 것이다.
C++ 표준 라이브러리는 표준 템플릿 라이브러리(STL : Standard Template Library)에 의해 도입된 관습에 기반하며, 제네릭 프로그래밍과 STL의 개발자들의 연구에 영향을 받았다. 비록 C++ 표준 라이브러리와 STL이 많은 특징들을 공유하지만, 둘 중 어느것도 다른 하나의 상위 집합은 아니다.
C++ 표준 라이브러리
C++ 표준 라이브러리의 주목할 만한 특징은 이것이 단지 제네릭 알고리즘의 구문과 의미를 명시하는 것이 아니라 이것들의 성능의 요구에 가치를 두었다는 것이다. 이러한 성능 요구 사항들은 종종 잘 알려진 알고리즘과 상응하는데, 이것은 기대되지만 사용되기 위해 요구되지는 않는다. 대부분의 경우에 이것은 선형 시간 O(n) 또는 선형 로그형 시간 O(n log n)를 요구하지만, 어떤 경우에는 안정 정렬을 위해 준선형 시간 O(n log2 n) 같은 높은 수준도 허용된다. 이전의 정렬은 실질적으로 빠른 퀵 정렬의 사용을 허락하며 단지 평균적으로 O(n log n)를 요구하였지만, 인트로 정렬이 빠른 평균 성능과 최악의 상황 복잡도 최적화 모두를 위해 도입되었으며, C++11에서는 정렬이 최악의 경우라도 선형 로그적으로 보장되었다. 다른 경우에 요구 사항들은 퀵 선택의 경웨 단지 평균적으로 선형 시간을 요구하는 선택 알고리즘 같이 느슨한 상태로 남아 있으며, 인트로 선택의 경우 최악의 경우에도 선형임을 요구하지 않는다.
C++ 표준 라이브러리는 C++ ISO 표준화 노력의 일환으로 ISO 표준화를 지나왔으며, 확장된 기능의 표준화를 다루는 다른 작업을 진행하고 있다.
C++ 표준 라이브러리 표준 헤더
다음의 파일들은 C++ 표준 라이브러리의 선언들을 포함하고 있다.
<array>
C++11과 TR1에서 새로 추가되었다. 고정 크기 배열을 위한 컨테이너인 std::array 컨테이너 클래스 템플릿을 제공한다.
<bitset>
비트 배열인 특수화된 std::bitset 컨테이너 클래스를 제공한다.
<deque>
덱인 std::deque 컨테이너 클래스 템플릿을 제공한다.
<forward_list>
C++11과 TR1에서 새로 추가되었다. 단일 연결 리스트인 std::forward_list 컨테이너 클래스 템플릿을 제공한다.
<list>
이중 연결 리스트인 std::list 컨테이너 클래스 템플릿을 제공한다.
<map>
연관 배열과 멀티맵인 std::map 와 std::multimap 컨테이너 클래스 템플릿을 제공한다.
<queue>
단일 큐인 std::queue, 그리고 우선순위 큐인 std::priority_queue 컨테이너 어댑터 클래스를 제공한다.
<set>
정렬된 연관 컨테이너 또는 집합인 std::set 와 std::multiset 컨테이너 클래스 템플릿을 제공한다.
C++ 표준 라이브러리 표준 헤더
<stack>
스택인 std::stack 컨테이너 어댑터 클래스를 제공한다.
<unordered_map>
C++11과 TR1에서 새로 추가되었다. 해시 테이블인 std::unordered_map와 std::unordered_multimap 컨테이너 클래스 템플릿을 제공한다.
<unordered_set>
C++11과 TR1에서 새로 추가되었다. std::unordered_set 와 std::unordered_multiset 컨테이너 클래스 템플릿을 제공한다.
<vector>
동적 배열인 std::vector 컨테이너 클래스 템플릿을 제공한다.
<algorithm>
많은 컨테이너 알고리즘의 정의를 제공한다.
<chrono>
std::chrono::duration, std::chrono::time_point 그리고 시계 같은 시간 요소를 제공한다.
<functional>
표준 알고리즘들과 함께 사용되는 목적으로 설계된 여러 함수 객체들을 제공한다.
<iterator>
반복자(iterator)들과 함께 사용되는 클래스와 템플릿을 제공한다.
<memory>
C++에서 클래스 템플릿 std::unique_ptr를 포함한 메모리 관리를 위한 기능들을 제공한다.
C++ 표준 라이브러리 표준 헤더
<stdexcept>
std::logic_error 와 std::runtime_error (둘 다 std::exception를 상속한다.) 같은 표준 예외 클래스들을 포함한다.
<tuple>
C++11과 TR1에서 새로 추가되었다. 튜플인 클래스 템플릿 std::tuple를 제공한다.
<utility>
객체 쌍들(2 멤버 튜플들)과 함께 동작하기 위한 템플릿 클래스 std::pair, 간단한 연산자 오버로딩을 위한 이름공간 std::rel_ops를 제공한다.
<locale>
로케일에 따른 특유한 정보를 캡슐화하고 조작하는 클래스들을 정의하고 함수들을 선언한다.
<codecvt>
다양한 문자 인코딩들을 위한 코드 전환 측면을 제공한다.
<string>
C++ 표준 문자열 클래스와 템플릿들을 제공한다.
<regex>
C++11과 TR1에서 새로 추가되었다. 정규 표현식을 사용하여 문자열 패턴 매칭을 위한 유틸리티들을 제공한다.
<fstream>
파일 기반 입력과 출력을 위한 기능을 제공한다. fstream을 보자.
<iomanip>
정수와 부동소수점 값의 유효숫자를 포맷팅할 때 사용되는 베이스 같은 출력 포맷 조작을 위한 기능을 제공한다.
C++ 표준 라이브러리 표준 헤더
<ios>
iostream의 동작을 위한 여러 타입과 함수들의 기본을 제공한다.
<iosfwd>
여러 입출력 관련 클래스 템플릿들의 선행선언을 제공한다.
<iostream>
C++ 입출력 기본을 제공한다. iostream을 보자.
<istream>
템플릿 클래스 std::istream와 다른 입력을 위한 지원 클래스들을 제공한다.
<ostream>
템플릿 클래스 std::ostream와 다른 출력을 위한 지원 클래스들을 제공한다.
<sstream>
템플릿 클래스 std::stringstream와 다른 문자열 조작을 위한 지원 클래스들을 제공한다.
<streambuf>
외부 파일이나 문자열 같은 특정한 타입의 문자들로 또는 문자들로부터 읽고 쓰는 기능을 제공한다.
<exception>
표준 라이브러리에 의해 던져진 모든 예외들의 기본 클래스인 std::exception를 포함한 예외 처리와 관련된 여러 타입들과 함수들을 제공한다.
<limits>
기본 수치 타입들의 속성들을 만드는데 사용되는 템플릿 클래스 std::numeric_limits를 제공한다
C++ 표준 라이브러리 표준 헤더
<new>
연산자 new와 delete 그리고 C++ 메모리 관리의 기본을 구성하는 다른 함수들과 타입들을 제공한다.
<typeinfo>
C++ 런타임 타입 정보와 함께 동작하기 위한 기능들을 제공한다.
<thread>
C++11과 TR1에서 새로 추가되었다. 스레드와 동작하기 위한 클래스와 이름공간을 제공한다.
<mutex>
C++11과 TR1에서 새로 추가되었다. 30.4-1 이 섹션은 상호 배제 메커니즘을 제공한다: 뮤텍스 락 등.
<condition_variable>
C++11에서 새로 추가되었다. 30.5-1 상태 변수들은 다른 스레드에 의해 통지되기 전까지 스레드를 막기 위해 사용되는 동기화를 제공한다.
<future>
C++11에서 새로 추가되었다. 30.6.1-1은 C++ 프로그램이 한 스레드의 함수에서의 결과를 검색하기 위해 사용될 수 있는 구성 요소들을 제공한다.
C++ 프로그램들이 준-수치 연산들을 수행하기 위해 사용할 수 있는 구성 요소들.
<complex>
헤더 <complex>는 클래스 템플릿과 복잡한 숫자들을 표현하고 다루기 위한 많은 함수들을 정의한다
C++ 표준 라이브러리 표준 헤더
<random>
(슈도)랜덤 숫자들을 생성하기 위한 기능
<valarray>
5개의 클래스 템플릿(valarray, slice_array, gslice_array, mask_array 그리고 indirect_array), 두 클래스(slice와 gslice), 그리고 값들의 배열들을 표현하고 조작하는데 사용되는 관련된 함수들을 정의한다.
<numeric>
일반화된 수치 연산들.
C 표준 라이브러리의 각 헤더들은 C++ 표준 라이브러리에서 다른 이름으로, .h를 제거하고 처음에 'c'를 추가한 상태로 생성된 채 포함된다; 예를 들면 'time.h'는 'ctime'이 된다. 이러한 헤더들과 전통적인 C 표준 라이브러리 헤더들의 유일한 차이점은 std:: 이름 공간의 어디에 함수들이 위치할 수 있느냐이다. ISO C에서, 표준 라이브러리에 존재하는 함수들은 매크로에 의해 구현될 수 있지만 ISO C++에서는 허락되지 않는다.
표준화
표준화(한국 한자: 標準化)는 기업, 사용자, 이해 집단, 표준화 기구, 정부 등 다양한 당사자 간의 합의를 바탕으로 기술 표준을 구현하고 개발하는 과정이다. 표준화는 호환성, 상호운용성, 안전, 반복성, 효율, 품질을 극대화하는 데 도움이 될 수 있다. 또한 이전에 맞춤형이었던 프로세스의 표준화를 촉진할 수도 있다.
경제학을 포함한 사회과학에서 표준화의 개념은 모든 당사자가 상호 이익을 얻을 수 있지만, 상호 일관된 결정을 통해서만 가능한 상황인 조정 문제에 대한 해결책과 가깝다. 이질적인 국가 표준은 소비자에게 비용을 부과하고 비관세 무역 장벽의 한 형태가 될 수 있다.
표준화 역사
표준화된 도량형은 인더스 문명에 의해 개발되었다. 중앙 집중식 도량형 시스템은 더 작은 중량 측정 도구는 사치품 측정에 사용되고 더 큰 중량 도구는 식량 곡물과 같은 부피가 큰 품목 구매에 사용되어 인더스 상인들의 상업적 이익에 기여했다. 중량은 표준 중량의 배수 및 범주로 존재했다. 기술 표준화는 측정 기기가 각도 측정 및 건설 측정에 효과적으로 사용될 수 있도록 했다. 로탈, 수르코타다, 칼리반간, 돌라비라, 하라파, 모헨조다로와 같은 도시 계획에는 균일한 길이 단위가 사용되었다. 인더스 문명의 도량형은 페르시아와 중앙아시아에도 전파되어 더욱 변형되었다. 시게오 이와타는 인더스 문명에서 발굴된 유물에 대해 다음과 같이 설명한다.
표준화 역사
모헨조다로, 하라파, 찬후다로에서 결함 있는 중량물을 제외하고 총 558개의 중량물이 발굴되었다. 깊이가 약 1.5미터인 5개의 다른 층에서 발굴된 중량물 사이에서 통계적으로 유의미한 차이는 발견되지 않았다. 이는 최소 500년 동안 강력한 통제가 존재했다는 증거이다. 13.7g의 중량은 인더스 계곡에서 사용된 단위 중 하나로 보인다. 표기법은 이진법과 십진법을 기반으로 했다. 위 세 도시에서 발굴된 중량물의 83%는 입방형이었고, 68%는 각암으로 만들어졌다.
산업 혁명의 시작과 고정밀 공작기계 및 호환 부품의 필요성으로 인해 산업 및 상업 분야에서 표준 구현이 매우 중요해졌다.
헨리 모즐리는 1800년에 최초의 산업적으로 실용적인 나사 절삭 선반을 개발했다. 이로써 나사산 크기의 표준화가 처음으로 가능해졌고, 암나사와 나사못에 호환성 (이미 자리 잡고 있던 아이디어)을 실질적으로 적용할 수 있는 길이 열렸다.
표준화 역사
이전에는 나사산이 일반적으로 끌과 줄을 사용하여 수공으로 만들어졌다. 암나사는 드물었고, 금속 나사는 만들어진다 해도 주로 나무에 사용되었다. 나무 프레임을 통과하여 반대편의 금속 고정 장치에 연결되는 금속 볼트는 일반적으로 나사산이 없는 방식으로 고정되었다(예: 와셔에 대해 고정하거나 압축하는 방식). 모즐리는 작업장에서 사용되는 나사산을 표준화하고, 해당 표준에 따라 암나사와 볼트를 일관되게 만들 수 있는 탭과 다이 세트를 생산하여, 적절한 크기의 볼트가 같은 크기의 모든 암나사에 맞도록 했다. 이것은 작업장 기술의 큰 발전이었다.
모즐리의 작업과 다른 엔지니어들의 기여는 산업 표준화에 어느 정도 기여했다. 일부 기업의 자체 표준은 해당 산업 내에서 약간 퍼져나갔다.
조지프 휘트워스의 나사산 측정값은 1841년 전국 기업에 의해 최초의 (비공식적) 국가 표준으로 채택되었다. 이는 영국 표준 휘트워스로 알려지게 되었고 다른 나라에서도 널리 채택되었다.
표준화 역사
이 새로운 표준은 55°의 나사산 각도와 0.640327p의 나사산 깊이, 그리고 0.137329p의 반경을 명시했는데, 여기서 p는 피치이다. 나사산 피치는 차트에 명시된 단계에 따라 직경과 함께 증가했다. 휘트워스 나사산 사용의 예로는 영국 왕립 해군의 크림 전쟁 포함이 있다. 이는 해양 공학에 "대량 생산" 기술이 적용된 첫 번째 사례였다.
영국 철도 노선이 BSW를 채택하면서 (이전에 나사산과 볼트 머리 및 너트 프로필 모두에 자체 표준을 사용했던 많은 노선들이), 그리고 제조 기술이 향상되면서, BSW는 영국 제조업을 지배하게 되었다.
미국 통합 거친 나사산은 원래 거의 동일한 영국식 분수 기반이었다. 통합 나사산 각도는 60°이며 평평한 상단(휘트워스 나사산은 둥글다)을 갖는다. 나사산 피치는 두 시스템 모두에서 동일하지만, 1⁄2인치 볼트의 나사산 피치는 BSW에서 12산/인치(tpi)인 반면 UNC에서는 13산/인치이다.
표준화 역사
19세기 말에 이르러 기업 간 표준 차이는 무역을 점점 더 어렵고 긴장하게 만들었다. 예를 들어, 철강 딜러는 타임스에 다음과 같이 불만을 표했다. "건축가와 엔지니어들은 일반적으로 주어진 작업에 대해 불필요하게 다양한 유형의 단면 재료를 지정하여 경제적이고 지속적인 제조가 불가능해진다. 이 나라에서는 어떤 전문가도 주어진 작업에 사용할 거더의 크기와 무게에 대해 동의하지 않는다."
공학 표준 위원회는 1901년 런던에 세계 최초의 국가 표준 기구로 설립되었다. 이후 표준화 작업을 확장하여 1918년 영국 공학 표준 협회가 되었고, 1929년 왕실 헌장을 받은 후 1931년 영국 표준 협회라는 이름을 채택했다. 국가 표준은 전국적으로 보편적으로 채택되었으며, 시장이 더 합리적이고 효율적으로 기능하고 협력 수준이 향상될 수 있도록 했다.
제1차 세계 대전 이후 다른 국가에서도 유사한 국가 기관이 설립되었다. 독일 표준화 협회는 1917년 독일에 설립되었고, 이어서 미국 국가 표준 협회와 프랑스의 영구 표준화 위원회가 모두 1918년에 설립되었다.
표준화 역사
지역 수준(예: 유럽, 미주, 아프리카 등) 또는 준지역 수준(예: 메르코수르, 안데스 공동체, 동남아시아, 동남아프리카 등)에는 여러 지역 표준화 기구가 존재한다(표준화 기구 참조).
유럽의 세 지역 표준화 기구(유럽 표준화 기구, ESOs)는 EU 표준화 규정(규정 (EU) 1025/2012)에 의해 인정된 CEN, CENELEC, ETSI이다. CEN은 다양한 종류의 제품, 재료, 서비스 및 공정에 대한 표준을 개발한다. CEN이 다루는 일부 분야에는 운송 장비 및 서비스, 화학 물질, 건설, 소비재, 국방 및 보안, 에너지, 식품 및 사료, 보건 및 안전, 의료, 디지털 부문, 기계 또는 서비스가 포함된다. 유럽 전기기술 표준화 위원회(CENELEC)는 전기기술 분야의 표준을 개발하는 유럽 표준화 기구이며, 유럽의 국제전기기술위원회에 해당한다.
표준화 역사
최초의 현대적인 국제기구(정부간 기구)인 국제 전신 연합(현 국제전기통신연합)은 1865년에 창설되어 국가별 전신망을 연결하기 위한 국제 표준을 설정했다. 이는 유사한 목표를 가졌지만 더 제한된 지역에서 활동했던 두 개의 전신 조직(베른 및 파리 조약)의 합병이었다. 창설 직후 무선 통신이 등장하면서 ITU의 작업은 전신 통신 표준화에서 일반적인 통신 표준 개발로 빠르게 확장되었다.
19세기 중후반에 전기 측정의 표준화를 위한 노력이 진행되었다. 켈빈 경은 이 과정에서 중요한 인물이었는데, 그는 전기를 측정하는 정확한 방법과 장치를 도입했다. 1857년, 그는 정전기 측정의 전체 분야를 다루는 사분면 전위계 등 일련의 효과적인 기기들을 도입했다. 그는 정확한 암페어 사양을 위해 켈빈 저울 또는 암페어 저울(SiC)이라고도 불리는 전류 저울을 발명했는데, 암페어는 전류의 표준 단위이다.
표준화 역사
R. E. B. 크롬턴은 20세기 초 전기 공학 회사와 과학자들이 사용하는 다양한 표준과 시스템에 대해 우려했다. 많은 회사들이 1890년대에 시장에 진입했고, 모두 전압, 주파수, 전류, 심지어 회로도에 사용되는 기호까지 자체 설정을 선택했다. 인접한 건물이라도 단순히 다른 회사에서 시공했다는 이유만으로 완전히 호환되지 않는 전기 시스템을 가졌다. 크롬턴은 이 시스템의 비효율성을 파악하고 전기 공학의 국제 표준 제정 제안을 고려하기 시작했다.
1904년, 크롬턴은 루이지애나 구매 박람회와 관련하여 세인트루이스에서 개최된 국제 전기 기술 대회에서 전기 공학 협회 대표단으로 영국을 대표했다. 그는 표준화에 관한 논문을 발표했는데, 매우 좋은 반응을 얻어 이 과정을 감독할 위원회 구성에 대해 알아보라는 요청을 받았다. 1906년 그의 작업이 완료되었고 그는 국제전기기술위원회의 영구 헌법을 초안했다. 이 단체는 그 해 런던에서 14개국 대표들이 참석한 가운데 첫 회의를 개최했다. 전기 표준화에 대한 그의 공헌을 기리기 위해 켈빈 경이 이 단체의 초대 회장으로 선출되었다.
국가 표준화 협회 국제 연맹(ISA)은 모든 기술 표준 및 사양에 대한 국제 협력을 강화하기 위해 더 광범위한 권한을 가지고 1926년에 설립되었다. 이 단체는 제2차 세계 대전 중에 중단되었다.
전쟁 후, ISA는 최근에 결성된 유엔 표준 조정 위원회(UNSCC)로부터 새로운 글로벌 표준 기구를 설립하자는 제안을 받았다. 1946년 10월, ISA와 UNSCC 대표단 25개국이 런던에서 만나 새로운 국제 표준화 기구(ISO)를 만들기 위해 협력하기로 합의했다. 새로운 조직은 1947년 2월에 공식적으로 운영을 시작했다.
일반적으로 각 국가 또는 경제권에는 단일하게 인정되는 국가 표준 기구(NSB)가 있다. 예를 들면 ABNT, [[스페인 표준화 및 인증 협회|AENOR (현재 UNE, 스페인 표준화 협회)], AFNOR, ANSI, BSI, DGN, DIN, IRAM, JISC, KATS, SABS, SAC, SCC, SIS 등이 있다. NSB는 해당 경제권에서 ISO의 유일한 회원일 가능성이 높다.
NSB는 공공 부문 또는 민간 부문 조직이거나, 이 둘의 조합일 수 있다. 예를 들어, 캐나다, 멕시코, 미국의 세 NSB는 각각 캐나다 표준 협의회(SCC), 멕시코 경제부 내 정부 기관인 표준 총국(Dirección General de Normas, DGN), 그리고 미국 국가표준 협회(ANSI)이다. SCC는 캐나다 왕실 공사이고, DGN은 멕시코 경제부 내 정부 기관이며, ANSI와 AENOR는 민간 및 공공 부문 회원으로 구성된 501(c)(3) 비영리 단체이다. 특정 경제권의 NSB가 공공 또는 민간 부문 기관인지 여부를 결정하는 요인에는 해당 경제권에서 민간 부문이 공공 업무에서 차지하는 역사적 및 전통적 역할 또는 해당 경제권의 발전 단계가 포함될 수 있다.
표준화 사용
표준은 다음을 포함할 수 있다.
게시된 표준의 존재가 반드시 그것이 유용하거나 정확하다는 것을 의미하지는 않는다. 어떤 품목에 표준 번호가 찍혀 있다고 해서 그 품목이 특정 용도에 적합하다는 것을 의미하지는 않는다. 해당 품목이나 서비스를 사용하는 사람(엔지니어, 노동조합 등)이나 이를 지정하는 사람(건축 법규, 정부, 산업체 등)은 사용 가능한 표준을 고려하고, 올바른 표준을 지정하고, 준수를 강제하고, 품목을 올바르게 사용할 책임이 있다: 유효성 검증 및 확인.
산업 표준, 즉 사적 표준의 확산을 피하기 위해 미국 규제 기관은 "산업 표준"에 의존하거나 "정부 표준"을 개발하기 전에 "자발적 합의 표준"을 채택하도록 정부 기관으로부터 지시를 받는다. 규제 당국은 자발적 합의 표준을 참조하여 국제적으로 인정된 기준을 공공 정책으로 전환할 수 있다.
표준화 사용
정보 교환의 맥락에서 표준화는 특정 형식 언어를 사용하여 특정 비즈니스 프로세스에 대한 표준을 개발하는 과정을 의미한다. 이러한 표준은 일반적으로 유엔 무역 촉진 및 전자 비즈니스 센터(UN/CEFACT), 월드 와이드 웹 컨소시엄(W3C), 미국 전기통신공업회(TIA), 구조화된 정보 표준 발전 기구(OASIS)와 같은 자발적 합의 표준 기관에서 개발된다.
인터넷에서 장치와 소프트웨어의 작동 및 상호 작용을 규율하는 많은 사양들이 있으며, 이들은 이름에 "표준"이라는 용어를 사용하지 않는다. 예를 들어, W3C는 "권고안"을 발표하고, IETF는 "의견 요청서"(RFC)를 발표한다. 그럼에도 불구하고, 이러한 출판물들은 정기적인 표준화 과정의 산물이기 때문에 종종 "표준"이라고 불린다.
표준화 사용
유기농 식품, 그린 빌딩, 잠재적으로 지속 가능한 해산물과 같은 표준화된 제품 인증 및 표준화된 제품 안전 평가 및 승인/불허 절차(예: 화학 물질 규제, 화장품 및 식품 안전)는 환경을 보호할 수 있다. 이러한 효과는 관련 수정된 소비자 선택, 전략적 제품 지원/방해, 요구 사항 및 금지 사항, 그리고 과학적 근거와의 일치성, 과학적 근거의 견고성 및 적용 가능성, 인증 채택이 자발적인지 여부, 그리고 사회경제적 맥락(거버넌스 시스템 및 경제체제)에 따라 달라질 수 있으며, 지금까지 대부분의 인증은 크게 효과적이지 않을 수 있다.
더욱이 표준화된 과학적 틀은 해양보호구역과 같은 환경 보호 수준을 평가할 수 있게 하며, 보호 품질, 범위 및 정도를 개선, 계획 및 모니터링하기 위한 잠재적으로 진화하는 지침으로 사용될 수 있다.
또한 기술 표준은 전자 쓰레기를 줄이고 이를 통해 제품이 상호운용성, 호환성(다른 제품, 인프라, 환경 등과), 내구성, 에너지 효율성, 모듈식, 업그레이드 가능/수리 가능 및 재활용 가능하며 다목적이고 최적의 표준 및 프로토콜을 준수하도록 요구(또는 가능하게)함으로써 자원 필요량을 줄일 수 있다.
표준화 사용
이러한 표준화는 스마트폰 및 휴대폰 충전기와 같은 전자 장치 영역에만 국한되지 않고 예를 들어 에너지 기반 시설에도 적용될 수 있다. 정책 입안자는 "표준 설계 및 인터페이스를 육성하고, 공장 전반에 걸쳐 모듈 및 구성 요소의 재사용을 촉진하여 보다 지속 가능한 에너지 인프라를 개발하는" 정책을 개발할 수 있다. 컴퓨터와 인터넷은 실용성을 높이고 최적화되지 않은 결과, 해로운 표준, 그리고 전통적인 표준화 과정 및 결과와 종종 관련된 관료제를 줄이는 데 사용될 수 있는 도구 중 일부이다. 세금 및 보조금, 연구 개발 자금은 상호 보완적으로 사용될 수 있다. 표준화된 측정은 환경 영향(주로 기업)의 모니터링, 보고 및 검증 프레임워크에 사용되며, 예를 들어 기업의 온실가스 배출량 과소 보고를 방지하는 데 사용된다.
일반적인 제품 테스트 및 제품 분석에서 결과는 공식 또는 비공식 표준을 사용하여 보고될 수 있다. 이는 소비자보호를 강화하고, 제품의 안전, 건강성, 효율성, 성능 또는 지속 가능성을 보장하기 위해 수행될 수 있다. 제조업체, 독립 실험실, 정부 기관, 잡지 또는 기타 기관에 의해 자발적 또는 위임/의무적으로 수행될 수 있다.
표준화 사용
슈퍼마켓의 57,000개 이상의 식품 제품 데이터셋으로 수행된 것과 같이 식품 제품의 환경 영향을 표준화된 방식으로 추정하는 것은 예를 들어 소비자에게 정보를 제공하거나 정책에 활용될 수 있다. 예를 들어, 이러한 정보는 개인 탄소 할당량(또는 유사한 할당량)을 사용하는 접근 방식이나  (궁극적인 전체) 비용의 목표 변경에 유용할 수 있다.
공공 정보 상징(예: 위험물 표식)은 특히 안전과 관련된 경우 종종 표준화되며, 때로는 국제 수준에서도 표준화된다.
표준화는 실험실 및 유사한 잠재적 위험 작업장의 안전한 설계 및 운영을 보장하는 데도 사용된다. 예를 들어, 생물 안전 수준을 보장하는 데 사용된다. 임상 및 연구 실험실에서 사용되는 미생물학 안전 표준에 대한 연구가 진행되고 있다.
국방 분야에서 표준화는 NATO에 의해 운영, 절차, 물질, 기술 및 행정 분야에서 호환성, 호환성 또는 공통성 수준을 달성하고 유지하기 위한 개념, 교리, 절차 및 설계의 개발 및 구현으로 정의된다.
표준화 사용
어떤 경우에는 표준이 소비자 건강에 영향을 미칠 수 있는 작업장 및 제품의 설계 및 운영에 사용된다. 이러한 표준 중 일부는 직업안전보건 및 인간공학을 보장하려고 한다. 예를 들어, 의자 (예: 액티브 시팅 및 연구 단계 참조)는 적절한 과학적 데이터에 기반할 수도 있고 그렇지 않을 수도 있는 표준을 사용하여 설계되고 선택될 수 있다. 표준은 제품의 다양성을 줄이고 소수의 광범위한 디자인 – 종종 공통적으로 공유되는 자동화된 절차 및 도구를 통해 효율적으로 대량 생산될 수 있음 – 또는 가장 건강하거나, 가장 효율적이거나, 건강과 다른 요인 사이의 최상의 타협점으로 간주되는 제형으로 수렴될 수 있다. 표준화는 때때로 또는 작업장 및 인체 공학 외에도 식품, 식품 생산, 위생 제품, 수돗물, 화장품, 의약품/ 음료 및 건강 보조 식품과 같은 소비자 건강 보호를 보장하거나 증가시키거나 가능하게 하는 데 사용되거나 사용될 수 있으며, 특히 (성분 등) 건강에 해로운 영향이 있음을 강력한 과학적 데이터가 시사하지만 대체 가능하고 반드시 소비자 관심사가 아닌 경우에 그렇다.
표준화 사용
평가의 맥락에서 표준화는 측정 도구 또는 절차가 모든 대상자 또는 환자와 얼마나 유사한지를 정의할 수 있다.:399:71 예를 들어, 교육 심리학자는 구조화된 인터뷰를 채택하여 관련 사람들을 체계적으로 인터뷰할 수 있다. 동일한 절차를 수행함으로써 모든 대상자는 동일한 기준을 사용하여 평가되며 교란 변수를 최소화하여 유효성을 높인다.:72 다른 예로는 정신 상태 검사와 성격 검사가 있다.
사회 비판 및 사회과학의 맥락에서 표준화는 다양한 종류의 표준을 수립하고 사람, 상호 작용, 사례 등을 처리하는 효율성을 향상시키는 과정을 의미한다. 예를 들어 법원의 사법 절차를 공식화하고 정신 질환 진단을 위한 통일된 기준을 설정하는 것이 있다. 이러한 의미의 표준화는 종종 근대화, 관료화, 균질화, 사회 중앙 집중화와 같은 대규모 사회 변화와 함께(또는 동의어로) 논의된다.
고객 서비스의 맥락에서 표준화는 조직이 고객 서비스에 집중할 수 있도록 하면서 동시에 영국 표준 협회와 같은 제3자 조직을 통해 성공을 인정받을 수 있도록 하는 국제 표준을 개발하는 과정을 의미한다. 국제 표준은 국제 고객 서비스 연구소(The International Customer Service Institute)에 의해 개발되었다.
공급망 관리 및 자재 관리의 맥락에서 표준화는 회사가 구매하거나 만들어야 하는 모든 품목의 사양 및 사용, 허용 가능한 대체품, 그리고 제조 또는 구매 결정을 다룬다.