heegyu/kowiki-sentences huggingface dataset:
동부 지역에서는 지역 문화의 특성상 파푸아뉴기니나 티모르의 영향을 많이 받아 태평양 문화권의 성격을 띤다.
식사는 탄수화물 위주로 구성되며 사고야자에서 뽑은 사고나 곡물로 이를 섭취한다.
대부분의 도시에서는 중국식 국수나 만두를 파는 사람들을 볼 수 있고 식당들도 대개 그런 편이다.
그래서인지 인도네시아-중국 음식의 문화가 도입되었다.
인도네시아인들은 거의 무슬림이기 때문에 포크를 쓰지 않는다.
길에서 음식을 파는 사람들은 아주 흔하고 자전거나 작은 차에 물건을 싣고 돌아다니면서 파는 사람도 꽤 있다.
시장에 가면 아주 다양한 종류의 열대 과일을 볼 수 있다.
과일은 인도네시아 식단에서 중요한 부분을 차지하는데 그냥 먹기도 하고 달게 해서 후식으로 먹기도 한다.
이렇게 이용되는 많은 과일은 인도네시아 토종이며 대개는 인도네시아 망고스틴이나 람부탄을 포함한 주변의 열도에서 생산된다.
한편 다른 종은 인근 열대 국가에서 수입하나 원산지는 확실하지 않다.
바나나와 코코넛도 특별한 재료이다.
콜롬비아 축구 국가대표팀은 콜롬비아를 대표하는 축구 국가대표팀으로 콜롬비아 축구 협회가 관리하며 남미 축구 강호로 불리고 있다.
1938년 2월 10일 멕시코와의 경기에서 국제 A매치 첫 경기를 치렀으며 에스타디오
엘 캄핀을 홈 구장으로 사용하고 있다.
콜롬비아는 1946년과 1970년 중앙 아메리카컵 우승을 차지하였다.
월드컵 예선에는 1958년 처음 참가하였으나 본선에는 진출하지 못하였다.
예선에서 보고타에서 열린 우루과이와의 홈 경기에서 1-1로 비겼으나 몬테비데오에서 열린 원정 경기에서 1-0으로 패배하였다.
파라과이와는 홈 경기에서 3-2로 패배, 원정에서 3-0으로 패배하여 승점 1점으로 월드컵 예선 남미 3조 꼴지를 차지하였다.
1962년 FIFA 월드컵 예선에서는 페루와 홈 &amp; 어웨이 경기를 통하여 사상 첫 월드컵 본선에 진출하였다.
조별예선에서는 소련, 유고슬라비아, 우루과이와 한 조가 되었는데, 당시 월드컵 진출국 수는 16개로 총 4개조였지만 남미에서만 다섯 팀(칠레, 브라질, 아르헨티나, 우루과이, 콜롬비아)이 올라오는 바람에 한 조에 남미 두 팀이 들어가는 사례가 발생했다.
레흐 야신이 버티는 소련, 당 대회 4강에 진출한 동구권의 강호 유고슬라비아, 남미를 제패한 우루과이와 엮인 죽음의 조였기에 콜롬비아의 조 4위는 당연시되었고, 결국 1무 2패 조 4위로 조별리그에서 탈락하고 만다.
다만, 최고의 수문장인 레흐 야신을 상대로 4골을 몰아넣는 저력을 발휘하면서 수비가 강한 소련과 4:4 무승부를 연출하는 명경기를 탄생시키기도 하였다.
콜롬비아 축구 국가대표 대륙간 플레이오프를 이스라엘을 이기고, 이탈리아 월드컵에 출전 하였다.
칠레 월드컵에 1962년 첫출전이후 28년만에 출전하였다.
D조 서독, 유고슬라비아, 아랍에미리트와의 한조 되었다.
첫 상대는 아랍에미리트 2:0으로 첫승을 거두었고, 두번째 경기는 유고슬라비아 0:1로 패하였다.
마지막 3차전에서는 서독 경기에서는 1:1로 무승부로 끝났고, 처음으로 16강에 올랐다.
16강전에는 카메룬와의 상대이었다.
전 후반 득점이 없자 연장 카메룬선수 알베르 로제 모 밀라 106분 만에 골을 넣고, 또 109분에 2골 넣었다.
막판에 콜롬비아 레딘이 115분만에 한골을 넣었다.
결국 같은 대륙의 아르헨티나와 마찬가지로, 검은 돌풍에 발목이 묶여 콜롬비아는 8강에 실패하였다.
1994년 FIFA 월드컵 예선에서는 강호 아르헨티나를 5:0으로 대파하는 대이변을 연출하며 본선에 직행하였으며 그 아르헨티나를 플레이오프로 떨어뜨렸다.
본선에서는 미국, 루마니아, 스위스와 같은 조가 되었는데 1차전에서 루마니아에게 1:3으로 패한 뒤 2차전을 치르게 되었는데, 미국을 상대로 절대로 패하면 안되는 상황에서 안드레스 에스코바르의 자책골로 인하여 미국에게마저 1:2로 패하였다.
마지막 3차전에서 스위스를 2:0으로 이겼지만 조 최하위로 탈락했으며, 당시 기준으로 당대 최고의 수비수였던 에스코바르는 그 자책골이 원인이 되어 귀국 후 나이트클럽에서 총살당했다.
2014년 FIFA 월드컵 예선에서는 브라질이 개최국 자격으로 지역예선에서 제외되어 콜롬비아에게 이기기 힘든 난적은 아르헨티나가 유일했다.
콜롬비아는 아르헨티나의 뒤를 이어 남아메리카 지역 예선에서 2위를 차지하며 가볍게 본선에 진출했다.
이때의 콜롬비아가 FIFA 랭킹이 꽤나 높았기 때문에 본선 32개국 중 8팀만 선정된다는 톱시드로 선정되었다.
콜롬비아의 조에는 일본, 코트디부아르, 그리스가 편성되었는데 거의 아르헨티나에 버금가는 쉬운 조편성이였으며 그나마 난적이라고 예상되었던 팀이 코트디부아르 하나뿐이였다.
콜롬비아는 이 세팀 모두를 상대로 아주 가볍게 승리를 거두며 3전 전승으로 16강에 진출했다.
콜롬비아에 이어서 조 2위로 진출할 것으로 예상되었던 코트디부아르가 졸전하는 바람에 오히려 제일 약하다고 평가된 그리스가 16강에 진출했다.
16강에서는 지역예선에서 공방전을 벌인 바 있는 우루과이를 만났다.
콜롬비아에게 우루과이는 지역예선에서는 꽤 어려운 상대였으나 16강에서 만났을 때는 우루과이의 루이스 알베르토 수아레스가 이탈리아를 상대로 조르조 키엘리니의 어깨를 깨무는 행위를 하여 FIFA로부터 중징계를 받고 팀에서 이탈했기 때문에 전력은 훨씬 약화된 상태였다.
그렇게 약해진 우루과이를 상대로 손쉽게 승리를 거두고 사상 첫 8강에 진출했다. 하지만 8강 상대가 개최국인 브라질이었고 양팀은 시종일관 반칙으로 일관하며 매우 거친 경기를 진행했다.
이러한 흐름으로 이어지다가 결국 후안 카밀로 수니가와 네이마르가 공을 놓고 경합을 벌이는 과정에서 수니가가 네이마르의 허리를 골절시키고 말았다.
이 경기에서 콜롬비아는 브라질에게 패하여 4강 진출에는 실패했지만 승리한 브라질 역시 네이마르를 부상으로 잃고 4강에서 독일에게 기록적인 대패를 당하였고 그 후유증으로 3·4위전에서 네덜란드에게 또다시 대패를 당하였다.
카를루스 케이로스의 임기.
2022년 FIFA 월드컵 남미 지역 예선에서 엄청난 졸전으로 우루과이에게 0-3, 에콰도르에게 1-6이라는 대패를 두 번 연달아 당한 탓에 2022년 FIFA 월드컵 남미 지역 예선 4차전이 종료된 즉시 카를루스 케이로스는 감독 직에서 물러났다.
북중미 대회이지만 콜롬비아는 특별 초청팀으로 1996년~2005년 사이의 일부 대회에 참가했다.
다음은 2020년 3월 26일 베네수엘라, 3월 31일 칠레와의 2022년 FIFA 월드컵 남미 지역 예선에 소집된 선수 명단이다.
코로나19 범유행으로 인해 콜업이 철회되었다.
방실이는 1963년 10월 29일에 인천광역시 강화에서 태어났다.
방실이는 비정규직으로 활동하였기 때문에 좀 더 장기적으로 직업을 이어가기 위해 《방실이와 두 여자》, 《글래머걸스》등 여러 그룹을 결성하여 화려한 율동과 특유의 시원스런 가창력을 무기로 무명시절을 극복해나갔다.
본격적으로 방실이가 가수로 활동한 시기는 1985년에 당시 박진숙, 양정희하고 국내 유일 여성 트로이카 《서울 시스터즈》를 결성하면서 부터이다.
서울 시스터즈의 맏언니였던 방실이는 1집 앨범 《첫차》를 발표하고 공식적인 무대에 출연하게 되었다.
타이틀곡〈첫차〉는 신나는 리듬의 노래와 함께 시원한 가창력으로 데뷔 초부터 남성팬들을 사로잡으면서 일약 스타덤에 올라 정상급 가수로 등극하였다.
그리고〈청춘열차〉도 엄청난 인기몰이를 하면서 당시 젊은 세대들에게 많은 관심을 받기 시작하였다.
몇 년 후 서울시스터즈의 멤버였던 박진숙, 양정희가 국수를 먹게 되면서, 멤버를 떠나 탈퇴를 하는 바람에 서울시스터즈는 공식 해체되어 추억속으로 사라지게 되었다.
따라서, 방실이는 공식적인 데뷔 5년만인 1990년에 솔로로 전향하는 도화선이 되었다.
중장년층을 겨냥한 방실이의 솔로 데뷔곡이자 방실이의 1집 앨범의 타이틀곡 〈서울탱고〉는 탱고리듬으로 된 가요였다는 점과 서울 시즈터즈 활동 때 갈고 닦은 풍부한 가창력을 바탕으로 많은 인기를 얻었다.
이 곡은 낯선 곳을 떠도는 나그네의 쓸쓸한 넋두리를 부질없는 세상사에 연관지어 관조하듯 표현해 특히 중장년층과 기성세대의 폭넓은 사랑을 받았다.
1992년, 2집 앨범의 〈여자의 마음〉도 유행하여 두 번째로 스타덤에 오르게 되었다.
1980년대 후반의 대한민국 가요계를 뜨겁게 달궜던 방실이는 1994년에 재일교포 사업가 김연국을 배우자로 맞고 나서 한동안 연예계에서 자취를 감추었다.
2000년에 가수로 복귀하였고 2003년에서야 발표한 트로트 《뭐야
뭐야》로 대중들에게 많은 사랑을 받으며 성인가요 분야에서 상위권을 석권하였다. 〈뭐야
뭐야〉는 모든 세대들에게 널리 알려져 노래방 애창곡으로도 자리잡게 되었다.
2005년에는 빠른 박자와 댄스 리듬의 트로트 〈아! 사루비아〉도 많은 인기를 얻으며 방실이는 트로트라는 장르에 약간의 댄스비트와 발라드,블루스적인 요소를 가미하여 개성있는 창법과 출중한 가창력, 풍부한 성량을 바탕으로 다양한 장르적 요소들을 섭렵하며 인기를 확보해 온 실력있는 가수로 거듭났다.
또한 방실이는 데뷔 때부터 거구한 체중에다 단발머리를 주로 선호하였기 때문에 이러한 각인된 이미지로 방실이를 흉내내는 가수들 밤실이, 방쉬리 즉, 이미테이션 가수들의 모티브가 되었다.
지난 2007년 6월 7일, 과로와 몸살 증세로 인한 뇌경색으로 주위를 안타깝게 하였으나 현재는 건강이 호전되어 빠른 회복세를 보이고 있다.
2013년 11월 5일에는 SBS 좋은 아침에 출연해 뇌경색으로부터 회복된 모습을 보였다.
아이슬란드 요리(Iceland 料理, )는 북유럽에 있는 아이슬란드의 요리이다.
생선이 중요한 부분을 차지한다.
이외에는 낙농제품이나 양고기가 주재료로 쓰인다.
인기 있는 음식으로는 스키르(skyr)나 연기로 익힌 양고기 항기키외트(hangikjöt) 등 외에 다수가 있다.
아이슬란드에서는 각 지방마다 특산물에 따라 그 종류가 다양하게 나뉜다.
그 질은 아주 좋은 편이며 좋은 환경 덕택에 오염되지 않은 재료로 음식을 맛볼 수 있다.
북대서양에서 잡힌 신선한 생선으로 요리를 할 수 있어 세계적으로도 아이슬란드의 어획량이나 이를 토대로 한 음식이 정평이 나 있다.
신선한 생선은 연중 내내 잡히는데 간하지 않은 대구도 이에 포함된다.
대개 유럽산 가자미, 해덕, 새우, 청어를 아이슬란드 사람들이 즐긴다.
심지어 삭힌 상어도 먹는다.
산악 지역에서 양이 자유롭게 방목되기 때문에 양고기 소비가 많은 편이다.
아이슬란드는 육류 생산에 아주 엄격한 편이며 호르몬 주사를 동물에 주입하여 인위적으로 생산하는 것은 엄중 처벌 대상이다.
가금류를 키우는 농장도 상당히 많으며 닭과 오리 그리고 칠면조를 많이 기른다.
아이슬란드가 북극권에 드는 나라인 것은 확실하지만 대서양 난류로 아이슬란드는 그렇게 춥지 않다.
밭이나 작은 정원에서 채소를 많이 키우고 감자나 양배추가 많다.
하우스에서 화훼나 과일류를 재배하기도 한다.
아이슬란드에서는 요식업이 잘 발달되어 있어 고품질의 생선 요리나 고기 요리를 시골에서 가져와 제공하기도 하며 요식업체들의 신선도나 제공 정도를 가지고 축제를 하여 우수한 팀을 뽑기도 한다.
칠레 축구 국가대표팀(Selección de fútbol de Chile)은 칠레를 대표하는 축구 국가대표팀으로 브라질, 아르헨티나, 우루과이, 콜롬비아와 함께 남미 축구 5대 강호로 손꼽히는 팀들 가운데 하나다.
1910년 5월 27일 아르헨티나와의 친선 경기에서 국제 A매치 첫 경기를 치렀으며 현재 에스타디오
1930년 대회 첫 출전에 2승 1패라는 준수한 성과를 올린 이후 현재까지 월드컵 본선에 9번 출전하여 자국에서 열린 1962년 대회에서 3위를 차지하면서 역대 최고 성적을 거두었다.
그리고 나머지 7번의 본선에서 4번의 조별리그 탈락, 3번의 16강 진출을 기록했으나 2018년 FIFA 월드컵 남미 지역 예선에서 8승 2무 8패·최종 6위에 그쳐 3회 연속이자 통산 10번째 월드컵 본선 진출에 실패했다.
오랜 역사를 자랑하는 이 대회에는 39번 출전하여 2000년대 이전에는 준우승만 4번(1955년, 1956년, 1979년, 1987년)을 기록했지만 2000년대에 들어서면서 2회 연속 우승(2015년, 2016년)을 달성하며 마침내 국제 대회 우승의 한을 풀었다.
코파 아메리카 우승팀 자격으로 2017년 FIFA 컨페더레이션스컵에 처음으로 출전하여 B조 조별리그에서 1승 2무를 기록하며 독일에 이어 조 2위로 4강에 진출했고 포르투갈과의 4강전에서 치열한 공방전을 벌였으나 0-0으로 승부를 가리지 못한 채 승부차기까지 이어졌고 결국 승부차기에서 3-0으로 승리를 거두며 결승에 진출했지만 독일과의 결승전에서 0-1으로 패하며 준우승을 차지했다.
성인대표팀 시절에는 3번 출전하여 1984년 대회에서 8강에 진출했고 U-23 대표팀으로는 2000년 대회에서 동메달을 목에 걸면서 사상 첫 올림픽 메달이라는 쾌거를 이뤘으나 이후의 올림픽 본선 기록은 전무하다.
팬아메리칸 게임에는 5번 출전하여 은메달 1개(1987년), 동메달 2개(1951년, 1963년)를 획득했으며 1995년 대회에서는 8강에 진출했고 1983년 대회에서는 1승 2무라는 나쁘지 않은 성적을 거두었음에도 조별리그 탈락의 고배를 마셨다.
다음 선수들은 2022년 6월 6일 과의 친선 경기와 6월 10일에서 14일까지 진행되는 2022년 기린컵을 위해 선발된 선수 명단이다.
"출장 수와 골 수는 2022년 3월 29일 우루과이전 이후 기록이다"
스위스는 지형의 특성상 사방을 서로 다른 국가와 접하고 있어서, 각 지방별로 접한 국가의 요리의 특징이 나타난다.
따라서 이탈리아어, 프랑스어, 독일어를 쓰는 지역에 따라 음식문화가 다르며 이름도 제각각이다.
스위스의 요리에는 항상 치즈와 초콜릿이 따라온다.
에멘탈 치즈, 바슈랭 치즈, 아펜젤러 치즈는 스위스의 대표적인 치즈이다.
가장 유명한 치즈 요리로는 퐁뒤와 라클레트가 있다.
둘 모두 지방의 요리지만 지금은 스위스 치즈 협회가 도입하여 세계적으로 유명해졌다.
감자를 곁들여 만든 뢰스티()도 인기 있는 요리다.
원래 아침 식사용 음식이었지만 요즘에는 어느 때나 먹는다.
저녁식사로는 버터나 잼을 바른 빵을 먹기도 하며 그냥 치즈와 빵으로도 자주 식사를 해결한다.
타르트와 치즈, 베이컨의 일종인 키슈(Quiche)도 스위스의 전통 음식이다.
타르트는 사과 소스에서 양파에 이르기까지 다양한 종류의 토핑을 올려 만든다.
리벨라(Rivella)는 탄산을 곁들인 스위스의 음료로서 스위스 전역에서 가장 인기 있는 음료이다.
사과 주스도 즐기는데 사과주 형태로 나오기도 한다.
많은 지방에서 생산되는데 각 언어권마다 선호하는 종류가 다르다.
리슬링과 실바너 종을 교배한 백포도주는 독일어권 스위스 지역에서 생산되며 샤살라(Chasselas)는 프랑스어권 지역에서 만든다.
적포도주인 피노 누아(Pinot Noir)는 두 언어권에서 모두 즐겨 찾는다.
이탈리아어권에서는 메를로가 인기있다.
스위스에서 맥주와 와인은 17살 이상이면 살 수 있다. 하지만 증류된 알코올을 포함하는 것은 20세 이상만 살 수 있다.
술문화를 접하며 사회에 적응하는 것은 스위스 사회에서 흔한 일이기 때문에 거의 대부분의 아이들은 14살 정도면 한 번쯤 알코올의 맛을 보게 된다.
초콜릿 음료인 오보말타인(Ovomaltine)은 미국에서 오발타인(Ovaltine)이라고 부르는데 스위스에서 유래한 것이며 계속해서 인기 상승세를 달리고 있다.
특별히 젊은이들 사이에서 인기가 있으며 음료 이외에도 빵 위에 발라서 먹는 것도 흔하다.
최적화(最適化, )는 다음을 가리키는 말이다:
경제의 최적화에 대해 논하려면, 효용 또는 효율성을 참조하라.
프로그램 최적화() 또는 소프트웨어 최적화()는 컴퓨터 과학에서 시스템을 수정하여 어떠한 면의 작업이 더 효과적으로, 또는 자원을 덜 사용하도록 만드는 작업을 말한다.
이를테면, 컴퓨터 프로그램은 더 빠르게 실행되거나 기억 장치나 자원을 덜 차지하게 하여 운영케 하거나, 전력을 덜 쓰게 함으로써 최적화될 수 있다.
이러한 시스템은 인터넷과 같은 완전한 네트워크나 컴퓨터의 모임으로서 단일의 컴퓨터 프로그램이 될 수 있다.
계산 작업은 여러 방식에 따라 효율성이 달라진다.
이를테면, 1에서 N까지의 모든 정수를 합하는 다음의 C 코드를 보라.
아래의 코드는 수학 공식을 사용하여 다시 구성한 것이다: (산술 오버플로우가 없다는 가정 아래)
그러므로, 자동으로 완료되는 최적화는 비록 둘 다 기능이 똑같이 수행되지만 계산하기에 더 효과적인 방식을 채택하는 것이다.
그러나 성능 상의 중대한 개선은 실제 문제만 해결하고 부가되는 기능을 제거함으로써 이룩할 수 있다.
최적화는 언제나 명백하거나 직관적인 과정인 것은 아니다.
위의 예시에서 '최적화된' 버전은 원래의 소프트웨어보다 실제로 더 느리게 동작할 수도 있다.
이를테면 N이 작고 컴퓨터가 나누기, 곱셈보다 더하기, 루프 함수를 수행하는 쪽이 더 빠르다면 말이다.
아마 이곳은 요한 히르카누스 하에 있던 시절인 134-104 BCE에 세워졌을 것이며, 많은 다른 통치(70년 티투스 황제의 예루살렘의 멸망을 포함해서)를 겪으면서 유지되어 왔다.
쿰란은 사막 언덕의 동굴들 속 질그릇 항아리에서 사해문서들이 발견된 곳에서 가장 가까운 주거지로 유명하다.
사해의 북서쪽에 있는 쿰란은 사해사본을 기록한 엣센파 사람들의 주거지역이 있었다.
이 지역은 1951∼1956년에 발견되었으며 폐허 속의 주건물은 폭 27m, 길이 44m정도로 석고가 거칠게 발라져 있는 큰돌로 만들어졌다.
북쪽에는 수비탑이 있으며 부엌과 붙어있는 식당에서는 1,000여점의 토기가 발견되었다.
쿰란 주변 동굴에서는 두루마리 형태로 잘 보존되어 있는 사해사본이 발견되었는데 이들중 약 1/4이 구약사본이며 나머지는 구약주석, 신학서, 쿰란공동체의 규율집들로써 대부분 양피가죽이나 파리루그우에 고대 히브리어로 적어놓은 것들이다.
사해구약사본은 현존하는 구약사본들 중에서 가장 오래된 것이며 에스더서만을 제외하고는 구약의 모든 책들이 전부 포함되어 있다.
경기도 가평군에서 출생하여 가평초, 가평중을 나왔으며, 춘천고등학교를 거쳐 서울대학교 철학과를 졸업하였다.
서울대 재학 시절 인문대학보 지양의 편집장과 학원자율화추진위원회에서 활동하였으며, 민간인 감금 폭행 사건에 연루되어 투옥되기도 하였다.
경기도 구리시에서 17대 총선과 19대 총선, 20대 총선, 21대 총선에서 당선된 4선의 국회의원으로 더불어민주당 원내대표를 거쳐 비상대책위원장을 맡고 있다.
17대 국회에서는 국회 건설교통, 보건복지, 여성가족, 행정자치위원, 통일외교통상위원과 정치개혁특위 간사를 지냈고, 19대 국회에서는 기획재정위원회 간사와 서민주거복지특별위 간사 그리고 예산결산특별위원, 국제경기지원특위 위원으로 활동하였고, 20대 국회에서도 기획재정위원, 환경노동위원, 국토교통위원, 예산결산특별위원회 간사를 거쳐 21대 국회에서는 법제사법위원장과 운영위원장을 맡았다.
1988년 평화민주당 기획조정실 간사로 정당활동을 시작하여 김대중 대통령 비서실 국장을 지내고 당 부대변인도 맡았다.
국회에 진출한 후 당의 원내정책부대표, 대변인, 홍보기획위원장, 전략기획위원장, 민주정책연구원 부원장, 수석사무부총장을 거쳐 사무총장과 디지털소통본부장, 더불어성장본부장, 유능한경제정당위원회 기획위원장 등을 역임했다.
2010년 지방선거에서 당의 협상대표로 야5당연대를 성사시켰고, 2012년 대선에서도 문재인 후보와 안철수 후보의 후보단일화 협상에 참여했다.
2016년 8월 29일에는 추미애 대표에 의해 더불어민주당 정책위의장으로 임명됐으며, 2017년 대선에서는 문재인 대통령후보의 정책본부장으로 활동하고 집권후 국정자문위원회 기획분과위원장을 역임하고, 이해찬 대표 체제에서 당 사무총장으로서 21대 총선을 지휘, 180석의 승리를 이뤄냈다.
2021년 4월 176명 소속 국회의원중 104명의 지지로 원내대표에 피선되었는데, 이는 더불어민주당 원내대표 경선사상 최다득표이기도 하다.
컴퓨터 과학에서 목적 코드 또는 목적 파일은 컴파일러나 어셈블러가 소스 코드 파일을 컴파일 또는 어셈블해서 생성하는 파일이다.
목적 파일들은 기계어나 혹은 이에 준하는 RTL과 같은 이진 코드로 이루어져 있다.
링커는 여러 개의 목적 파일을 묶어 커널과 연결함으로써 실행 파일을 만들거나, 혹은 라이브러리를 만들어내는 데에 쓰인다.
목적 파일에서 필수적인 요소는 기계어(컴퓨터의 CPU가 직접 실행하는 코드)이다.
임베디드 시스템을 위한 목적 파일들은 기계어 이외에는 아무것도 포함하고 있지 않다.
그러나 목적 파일들은 또한 링크나 디버그를 위해 런타임 정보, 릴로케이션 정보, 프로그램 심볼의 코드로 사용하는 데이터를 포함하기도 한다.
잘 알려진 목적 파일 포맷.
목적 파일 포맷은 목적 코드와 관련 데이터의 저장을 위해 쓰이는 컴퓨터 파일 포맷이다.
각기 다른 수많은 목적 파일 포맷이 있다.
원래는 개별 종류의 컴퓨터가 저만의 고유 포맷을 소유했으나 유닉스와 기타 포팅된 운영 체제가 출현하면서 COFF, ELF와 같은 일부 포맷들이 정의되어 여러 종류의 시스템에 쓰이게 되었다.
동일한 파일 포맷이 링커 입력과 출력으로서 모두 쓰일 수 있으며, 이러한 까닭에 라이브러리와 실행 파일 포맷으로서 사용될 수 있다.
컴파일러 최적화()는 컴파일러에서 출력되는 실행 프로그램의 효율성을 최적화하는 과정을 말한다.
일반적으로 프로그램의 실행 속도를 최대화하거나 프로그램이 차지하는 메모리의 양을 최소화하기 위해 많이 이용된다.
휴대용 컴퓨터가 성장함에 따라 프로그램에 의해 소비되는 전력을 최소화하는 것도 고려된다.
1960년대 초기 컴파일러들은 단순히 코드를 올바르게 또는 효율적으로 컴파일함으로써 컴파일 시간을 최소화하는 것이 주된 관심사였다.
초기의 저명한 최적화 컴파일러 가운데 하나는 BLISS(1970년)의 것이었으며 1975년 최적화 컴파일러의 디자인에 기술되었다.
1980년대 즈음에 컴파일러를 최적화하는 것은 어셈블리어로 프로그래밍할 필요가 없을 정도로 효율적이었다.
검색 엔진 최적화(, SEO)는 검색 엔진으로부터 웹사이트나 웹페이지에 대한 웹사이트 트래픽의 품질과 양을 개선하는 과정이다.
웹 페이지 검색엔진이 자료를 수집하고 순위를 매기는 방식에 맞게 웹 페이지를 구성해서 검색 결과의 상위에 나올 수 있게 한다.
웹 페이지와 관련된 검색어로 검색한 검색 결과 상위에 나오게 된다면 방문 트래픽이 늘어나기 때문에 효과적인 인터넷 마케팅 방법 중의 하나이며 비용처리 없는 마케팅이라고 할 수 있다.
기본적인 작업 방식은 특정한 검색어를 웹 페이지에 적절하게 배치하고 다른 웹 페이지에서 링크가 많이 연결되도록 하는 것이다.
구글 등장 이후 검색 엔진들이 콘텐츠의 신뢰도를 파악하는 기초적인 지표로 다른 웹사이트에 얼마나 인용되었나를 사용하기 때문에 타 사이트에 인용되는 횟수를 늘리는 방향으로 최적화한다.
하지만 네이버 등 한국의 포털 사이트의 경우, 검색 엔진의 우선순위 배치에 해외와 다른 기준을 적용하고 있으며 보편적인 SEO를 적용시 경우에 따라 오히려 스팸으로 분류될 수 있다.
이는 자사 블로그에 노출 우선순위를 두었기 때문이며, 한국의 검색 엔진에 노출되기 위해서는 사이트 콘텐츠가 웹문서가 아닌 블로그 포스트로 등록되는 방향으로 최적화해야 한다.
또한 검색 키워드와 별개로, 블로그 유입율이 뛰어난 기존 키워드들이 페이지에 분포한 정도를 추가 지표로 삼기 때문에, 기존 네이버 블로그에 인기있는 키워드를 삽입하는 형태로 최적화한다.
티스토리, 이글루스 등 대형 블로그 플랫폼의 경우, 네이버에서 블로그 포스트로 등록되는 것이 어렵지 않으나, 워드프레스 등 설치형 블로그 플랫폼을 사용하는 경우, 네이버 블로그 영역 노출을 위해 몇 가지 작업을 필수적으로 수행해야 한다.
2019년도 이후로 한국 내 구글의 점유율이 30%를 넘어서고 있고, 네이버의 점유율이 점점 하락 하고 있으며, 구글은 네이버와같은 블로그 우선노출과 같은 정책이 없고 구글 애즈를 제외한 다른 검색결과에 한해서는 검색엔진 최적화 여부에 따라 웹사이트를 랭킹 시키고 있기 때문에 검색엔진 최적화(SEO)의 중요성이 점점 부각되고 있는 실정이다.
검색 엔진 최적화의 분류.
검색 엔진 최적화는 방법에 따라 크게 2가지로 분류된다.
온 페이지 SEO는 웹사이트 내에서 검색 엔진 최적화를 위해 하는 일련의 작업을 말하는데, 여기에는 H태그, 메타태그, 이미지 최적화, 콘텐츠 최적화, 글자의 수, 내부링크등의 요소들이 포함된다.
오프 페이지 SEO는 웹 사이트 외부에서 검색 엔진 최적화를 위해 하는 일련의 작업을 말하는데, 여기에는 관련성, 신뢰성 및 권한이 포함되고, 사이트로 향하는 백링크가 주된 작업이다.
구글, 빙, 야후, 네이버와 같은 검색 엔진은 크롤러를 사용하여 검색 결과에 대한 페이지를 찾는다.
구글과 네이버는 모든 페이지를 찾을 수 있도록 무료로 XML Sitemap 피드를 만들고 제출 할 수 있는 구글 서치 콘솔과 네이버 서치어드바이저를 제공한다.
검색 엔진 크롤러는 크롤링을 진행할 때 다양한 요인을 살피기 때문에 모든 페이지가 인덱싱 되는 것은 아니다.
특히, 대부분의 사람들은 휴대기기를 사용해서 검색엔진을 살펴보기 때문에 2016년 구글은 모바일 중심 색인 생성을 시작했다. 하지만, 구글의 예상과는 다르게 여러 문제로 인하여 현재까지 모바일 중심 색인 생성의 마지막 단계 일정을 정하지 않기로 했다.
대다수 웹페이지 검색결과로 표시되는 제목은 HTML제목요소(H태그)를 사용한다. 21년 9월 기준으로 제목 요소는 구글 SERP 반영에 87%의 영향을 미친다.
구글에서 권장하지 않는 제목 요소는 아래와 같다.
이 이론은 나중에 존 매카시와 알란 프린스에 의해 확장되어 왔다.
주로 음운론(OT와 처음 연결된 분야)에서 이 이론에 대한 관심이 많지만, 또한 다른 하위 분야의 언어학에 적용될 수 있다. (이를테면 통사론, 의미론) 최적성 이론은 보통 보편의 원칙, 언어 유형학, 언어 인지에 대한 탐구의 관심을 서로 나누는 생성문법의 개발로 여겨지기도 한다.
이 이론은 인공 신경망 연구에 기반을 두고 있기 때문에 종종 언어의 연결주의 이론이라고 불린다.
이 이론은 1990년에 제기된 조화문법의 이론을 계승한다.
이 이론에는 다음과 같은 세 가지 요소가 있다.
최적성 이론은 이러한 위의 세 가지 요소들이 보편적이라고 가정한다.
문법에서의 차이는 보편적인 제약(CON)의 다른 순위를 나타낸다.
언어 습득은 이러한 제약의 순위 조절 체계로 설명될 수 있다.
생성부(입력형) : 후보 집단.
최적성 이론은 입력형에서 언어의 특정한 제한은 없다고 제안한다.
이것을 어기의 풍부성이라고 한다.
모든 문법은 모든 가능한 입력을 다룰 수 있다.
예를 들면, 자음군이 없는 언어는 /flask/같은 입력을 다룰 수 있어야 한다.
자음군이 없는 언어는 이러한 문제를 어떻게 해결하느냐에 따라 다르다.
어떤 경우는 삽입현상이 나타나고 또 다른 경우는 삭제현상이 나타나기 때문이다.
어떠한 입력이 주어진다면, 생성부는 무수한 수의 후보들이나 그 입력의 가능한 결과를 나타낸다.
언어의 문법(제약 등급)은 무수한 후보들이 평가부에 의한 최적의 평가가 되는 것을 결정한다.
최적성 이론에서, 모든 제약은 광범위하다.
이러한 제약은 모든 언어에 통용된다.
충실성 제약은 관찰된 표면형(출력)은 몇 가지 특정한 방법으로 기저형 또는 어형(입력)과 조화한다고 규정한다.
그것은, 이러한 제역은 입력과 출력의 동일함을 규정한다는 것을 말한다.
유표적 제약은 출력의 구조적인 적정 형식에서 필요조건을 부과한다.
둘 다 이 이론의 결정적인 역할을 맡는다.
충실성 제약은 몇몇 무표적인 형태(예를 들면 [ba]같은)에서 현실화 된 것에서 모든 입력을 회피하며, 유표적인 제약은 변화의 동기를 부여한다.
제약의 보편적인 성질은 언어 유형학에 관한 중간 예측으로 발전한다.
만일 문법이 오직 제약의 다른 순위를 가지기 때문에 다르다면, 가능한 인간 언어는 존재하는 제약에 의해 결정된다.
최적성 이론은 제약 순위의 변경이 있는 것보다는 문법으로 될 수 없다고 예측한다.
가능한 순위의 수는 일정한 조건을 일으키는 "계승 유형론"의 한 예로서 제약의 총 수의 계승과 동등하다.
그러나 모든 제약이 모든 언어에서 주목할만한 영향을 보증되지는 않기 때문에 모든 잠재적인 문법을 구분하는 것은 불가능할 것이다.
두 개의 언어는 입출력 사상의 같은 범위를 생성하는 것은 가능했지만, 가장 낮게 책정된 두 개의 제약과 관련된 순위에서는 달리한다.
후보 A와 B가 있을 때, A가 B보다 위반이 적으면 제약에서 A는 B보다 우수하다.
A와 B를 구분하여, A가 가장 높게 집계된 제약의 위반이 적다면 전체 제약 계층에서 A는 B보다 낫다.
제약 계층에서 다른 모든 후보들보다 우수하면, A는 후보 집단에서 최적이다.
이 경우 위반의 다른 수를 선정하는 높은 제약 순위에서 후보 A가 B보다 높은 경우 A는 최적이다.
만일 후보 A가 제약 C2에서 B보다 위반하는 수가 적지만, 제약 C1에서 B와 위반하는 수가 같을 경우, A가 제약 C3에서 B보다 수백 개의 위반이 있더라도, A가 최적이다.
이러한 비교는 tableau라고 불리는 도표에서 나타난다.
가리키는 손가락(☞)은 최적의 후보를 표시하고, 각각의 칸은 주어진 후보와 제약의 위반의 수를 표시한다.
한 후보가 순위가 높은 제약에서 다른 후보보다 위반이 많다면, 결정적인 위반(도표에 느낌표(!)를 표시한다.)을 초래한다.
이 경우, 그 후보는 다른 후보들 중에서 뛰어나더라도, 최적으로 표시할 방법이 없다.
제약은 엄격 지배(strict domination)의 위계에서 등급이 매겨진다. "엄격 지배의 엄격함(strictness of strict domination)"은 높은 순위의 제약에서만 위반하는 후보는, 그 다음 후보가 다른 낮은 순위의 후보보다 더 안좋게 되더라도, 높은 순위의 제약에서만 위반하지 않은 다른 후보들보다 위계에서 더 나빠진다는 것을 의미한다.
왜냐하면, 최적의 후보는 모든 제약을 만족시킬 필요가 없기 때문이다.
언어의 범위내에서, 제약은 항상 준수할 정도로 높게, 아니면 중간 정도로 집계될 것이다. ""무표적 출현"(the emergence of the unmarked)" 기간은 유표적 제약은 중간 집계로 되어 있고 몇몇 형태에서 위반을 하나, 그래도 높게 집계된 제약이 무의미할 때 주목할만한 영향이 있다는 상황을 설명한다.
초기의 예는 존 매카시와 알란 프린스의 1994년에 행했던 연구에서 언급되는 "자음에서 끝나는 것에서 온 음절을 금지하는 "말음이 없는(NoCoda)" 제약"에 의해 제안되었다.
바랑가오어에서, 음절말음이 없는 것은 codice_1 (말음 /n/의 삭제를 방지하는 입력으로서의 충실성)과 같이 핵심인증으로서 항상 준수할 정도로 높은 순위에 책정되지 않는다.
매카시와 프린스의 분석에서, 이것은 왜냐하면 입력에서의 충실성은 첩어 요소로 적용되지 않고, "말음이 없는"(NoCoda) 경우는 따라서 codice_3(말음이 없는 것을 위반하는 추가적인 요소)을 넘어서 codice_2를 제기하는 데서 자유롭다.
제약은 또한 깨뜨릴 수 있다.
최적의 후보는 어떠한 제약에서 그보다 더 나은 다른 경쟁 후보에게 만큼 제약을 만족시킬 필요가 없기 때문에 최적의 제약이 다른 것보다 더 높게 책정되는 경우가 있다.
프린스 같은 몇몇 최적성 이론을 연구하는 사람들은 비교 도표(comparative tableaux)를 사용할 것을 제기한다.
비교 도표는 기존의 것이나 '결점(flyspeck)'도표 로서의 같은 정보를 보여주나 정보는 가장 결정적인 것을 두드러지게 표시될 수 있다.
그러한 도표는 아래와 같다.
제약이 승자와 패자의 쌍을 평가하는 칸에서, 종렬에서의 제약이 승자가 유리한 경우는 W를, 패자가 유리한 경우를 나타낼 때는 L로 표기한다.
또한, e는 제약이 한 쌍간에 차이가 없을 때에 표기한다.
이런 방법으로 자료를 나태내는 것은 일반화를 만드는 것을 쉽게 되게 한다.
예를 들어, 일관된 집계를 위해서 몇몇 W는 모든 L을 반드시 지배해야 한다.
브라소보누와 프린스의 2005년 연구에서는 융합과 비교 도표에서의 주어진 논쟁에서 필요충분조건을 성취하기 위한 자료를 나타내는 다양한 방법으로서 알려진 체계를 기술한다.
간략한 예로, 영어의 복수형을 보도록 하겠다.:
또한 다음과 같은 지배의 내림 구조의 제약들을 보도록 하겠다.:
M: *SS - 출력형의 인접한 치찰음의 모든 짝에서의 위반
M: Agree(Voi) - 유성음에서 불일치한 출력형의 인접한 장애음의 모든 짝에서의 위반
F: Ident(Voi) - 입력형과 출력형 사이의 유성음에서 다른 각각의 분절음에서의 위반
F: Max - 출력형에서 나타나지 않은 입력형에서 다른 각각의 분절음에서의 위반(삭제)
F: Dep - 입력형에서 나타나지 않은 출력형에서 다른 각각의 분절음에서의 위반(삽입)
제약이 아무리 다시 정리가 되더라도, 'is'라는 이형태는 항상 'iz'로 될 것이다.
예를 들면, 'dogis'가 최적이 되는 제약을 다시 정렬을 할 방법이 없다.
위반은 후보 'dogiz'가 'dogis'에 의해 초래된 위반의 부분집합이라는 것에 의해 초래된다.
엄밀히 말하면, 모음을 삽입하면, 형태소의 유성음을 변화하는 것은 제약의 불필요한 위반이다. "dog + z"도표에는, 어떠한 위반도 전혀 초래하지 않은 후보 'dogz'가 있다.
문제의 제약 집단의 범위내에서, 'dogz'는 조화적으로 모든 다른 가능한 후보들을 나타낸다.
이는, 후보는 다른 후보를 조화적으로 나타내기 위해 최적이 되는 것이 필요없다는 것을 보여준다.
위의 도표는 아래의 비교 도표 형태를 사용하는 것으로 반복된다.
위의 "dog + z" 도표에서, 이러한 제약의 어떠한 순위라도 관찰된 출력형 "dogz"로 생성된다는 것을 관찰할 수 있다.
패자로 선호된(loser-preferring) 어떠한 비교도 없기 때문에, 이러한 제약들의 어떠한 순위에서도 "dogz"는 최적으로 된다.
이는 어떠한 순위도 입력형에 기초해서 평가될 수 없다는 것을 의미한다.
그러나, 어떤 서열도 입력형에 기인한 이러한 제약에서 평가될 수 수 없다.
이 도표에 기인하여, 다음이 같은 서열이 집계되었다.:
이 도표는 상당수의 서열은 원하는 출력형을 예상하기 위해 없어서는 안된다는 것을 보여준다.
첫 번째 열은 아무것도 말을 하지 않는다.
세 번째 열은 제약 Max는 반드시 제약 Dep를 지배한다는 것을 보여준다.
지금까지, 다음과 같은 서열이 필요하다는 것을 보여주었다.:
제약 Agree가 제약 Dep을 지배한다는 것이 가능하다는 것을 하더라도 필연적이다.
즉, 위의 서열은 나타나기 위한 후보 "fishiz"에서 관찰되는데 충분하다.
도표들의 서열을 종합할 때, 다음과 같이 요약할 수 있다.:
선형적으로 서열을 적을 때 제약 Agree를 놓을 두 가지의 가능한 공간이 있다.
즉, 진짜 한치의 오차가 없는 것은 아니다.
첫 번째는 제약 *SS와 제약 Max는 제약 Agree를 반드시 지배하고 두 번째는 제약 Agree가 제약 Dep를 반드시 지배한다는 것을 포함한다.
이러한 것들이 선형 방식에서 서열을 상세히 쓰는 것에서의 하강에서 사실적인 것은 아니다.
이 문제의 요소들은 대부분의 언어학자들이 필요하고 충분한 서열을 나타내는 데 격자 그래프를 이용하는 이유이다.
그 그래프는 하세 도표 형식으로 제약의 필요한 서열을 나타낸다.
최적성 이론은 통사론이나 다른 분야들보다 음운론에서 많은 비판을 불러왔다.
최적성 이론을 제안한 이들에 따르면, 많은 비판론자들은 이 이론이 어떻게 일으키는지에 대한 기본적인 오해에서 기초한다.
잘 알려진 예는 촘스키가 1995년에 주장한 것인데, 최적성 이론은 하나의 최상 음절로 줄어드는 모든 어휘적 입력형을 예상 할 것이라는 주장이다.
사실상, 이러한 종류의 보편적인 중화(neutralization)는 충실성 제약이 없다면 단지 예상되는 것이었다.
어떤 점에서는, 아주 비판적인 반대 성질은 "모든 언어에서의 음운론적인 존재는 충실성은 잘하지 않고도 할 수 있는 효과가 없는 원리라는 것을 보여준다." 라고 말하는 할레의 1995년 연구에서 온 것이다. '음운론'으로, 할레는 입력형과 출력형에서 불일치를 명확하게 의미하였다.
프린스의 2007년도 연구에 의하면, 최적성 이론은 유표성 제약이 없다면 이러한 불일치를 예상을 하지 못할 것이라고 하였다.
입출력형 불일치는 정상적으로 유표성 제약의 결과는 충실성 제약을 넘어서는 서열(M » F)로 집계될 것이라고 하였다.
최적성 이론에서의 다른 반대 이론은 반증 가능성이 있는 예상을 이루지 못한다는 점에서 전문적인 이론은 아니라는 문제 제기이다.
이 논쟁의 근원은 용어학이다.
즉, '이론(theory)'이라는 용어는 물리학이나 화학, 아니면 다른 과학에서보다 용어학에서 다르게 사용되었다.
최적성 이론에서의 특정한 증명은 다른 언어 틀이 할 수 있는 범위에서의 특정한 제안과 같은 방법으로 반증 가능성이 있는 예상을 만들 것이다.
예상이 만들어지고, 분석 가능한 것은 개별 제안의 특성에 달려 있다.
따라서 최적성 이론은 과학적인 페러다임으로서 틀이 잘 설명된 것이다.
윌리엄 이드살디의 2000년 연구에 의하면, 최적성 이론에서의 더욱 중요한 반대 의견은 음운론적 불투명에서 묘사할 수 없다는 문제 제기이다.
파생적인 음운론 영향은 표면 단계가 아닌 '불투명(opaque)' 규칙순에서 해석될 수 있는 것에서 설명될 수 없다고 보인다.
그러나 작용하는 규칙에서 중간 단계가 없는 최적성 이론에서 이러한 영향은 설명하기 어렵다.
캐나다의 퀘벡에서 사용되는 프랑스어를 예로 들면, 전설고모음은 /t/의 파찰음을 유발하나, 표면 단계에서 확인할 수 있는 고모음 상실 현상은 식별할 수 있는 근원이 없이 파찰 현상을 남긴다.
파생적인 음운론에서는 이러한 현상을 모음
이것은, 모음 소실 발생과 출혈(bleeding)을 대신하여, 파찰음은 모음 소실현상 전에 적용되며, 그러므로 고모음은 제거되고 파찰음을 유발하는 환경은 없어질 수 있다고 말할 수 있다.
그러한 역출혈(counterbleeding)규칙순은 표면 단계에서 영향을 보이지 않기 때문에 불투명 조건이다.
이러한 현상의 불투명은 중간 단계가 접근할 수 없기 때문에 최적성 이론에서의 직접적인 설명이 없다는 것을 발견한다.
몇몇 제안은 그러한 것을 설명하는 목적을 품지만, 대부분의 제안은 최적성 이론의 기초적인 양식을 두드러지게 변경하고, 따라서 높게 논쟁하기 쉽다.
종종, 그같은 변경은 새로운 제약의 형태를 추가하거나 생성부나 평가부의 고유의 특징을 변경한다.
잘 알려진 그러한 예들 중 몇몇은 존 매카시의 공감 이론과 후보 연쇄 이론을 포함하고 다른 것들도 많이 있다.
예를 들면, 입력형 /X/는 출력형 [Y]로 측정되나, 입력형 /Y/는 출력형 [X]로 측정된다.
엘리엇 모어톤의 2004년 연구나 알란 프린스의 2007년 연구에서 나온 것처럼, 최적성 이론의 많은 설명은 이러한 것이 불가능하다고 예측한다.
이러한 종류의 형태가 자연 언어를 발생하는 건지 안하는 건지에 대해서는 확실하지가 않다.
최적성 이론은 언어 생산이나 인지에서 불가능한 방식이 되는 것에서도 비판받았다.
가능한 후보의 무한한 수를 평가하고 비교하는 것은 처리하는 데에 끝도 없이 긴 시간이 소요될 것이다.
윌리엄 이드살디의 2006년 연구에서는, 안드레아 코르나이나 제프리 헤인즈, 그레그 코벨, 그리고 제이슨 리글과 같은 다른 언어학자들이 이러한 문제 제기에 대해 그가 제약 집단과 후보에 관한 이유없는 가설을 만들어 내고 최적성 이론에서의 적당한 증명이 표시하지 않는다고 바로 논쟁을 걸었음에도 불구, 이러한 처리에 대해 논쟁하였다.
최적성 이론에서 또 다른 반박은 틀이 단순히 구상적이라는 것이다.
최적성 이론 범위내의 이론.
또한 최적성 이론에 관한 명확한 이론의 범위가 있다.
이러한 것은 제약의 가능한 공식화와 정밀한 지배와 다른 제약 상호작용과 같은 논쟁과 관련이 있다.
에이다(Ada)는 구조화되고, 정적인 형태를 가지고, 명령적이며, 객체 지향적인 고급 컴퓨터 프로그래밍 언어이다.
처음에는 1977년에서 1983년까지 수백 개의 프로그래밍 언어를 대신할 목적으로 CII 허니웰 벌의 진 이히비아가 주도한 팀에서 고안된 것이다.
에이다는 C나 C++의 몇 가지 작업이 같지만, 에이다는 매우 강력한 유형 시스템의 언어이다.
에이다는 컴퓨터 프로그래밍을 발명하는 데 공헌한 에이다 러브레이스 (1815년-1852년)의 이름을 딴 것이다.
하드웨어에 의존성 때문에 각기 다른 언어를 설계해서 사용되었다.
소프트웨어의 재사용성은 거의 없었다.
소프트웨어의 복잡성의 증가와 표준화되지 않은 언어들로 인하여 소프트웨어 개발 비용이 급증한다.
이러한 이유 때문에, 1974년에 미국의 육, 해, 공군은 각기 독립적으로 운영되던 내장 시스템을 단일한 언어로 개발하기 위해 고급언어의 개발을 제안한다.
언어의 구문의 일상적인 예로 들 수 있는 헬로 월드 프로그램:
컴퓨터 과학에서 자료형 체계()는 값, 표현식, 함수, 모듈 등을 분류하는 규칙의 집합이다.
보다 형식적으로는, "계산될 값을 분류하여 특정한 종류의 프로그램 오류가 일어나지 않음을 증명하는 계산 가능한 방법"으로 정의된다.
자료형 체계에서 각각의 계산된 값은 "자료형"을 갖는다.
자료형 체계는 프로그램 안에서 값의 흐름을 검토하여 자료형에 맞지 않는 값이 할당되는 것을 막는다.
자료형에 맞지 않는 값이 할당되는 것을 "자료형 오류"라고 부른다.
논리적으로 맞지 않는 자료형 사이의 연산이나 잘못된 메모리에 접근하는 경우가 이에 해당한다.
구체적으로 어떤 연산이 자료형 오류인지는 자료형 체계에 따라 다르다.
컴파일러는 정적 자료형을 통해 각 변수에 필요한 저장 용량과 연산 알고리즘을 최적화할 수 있다.
예를 들어 다수의 C 컴파일러의 "부동소수점" 자료형은, 단일 정밀도 부동소수점 숫자에 대한 IEEE 표준에 따라 64 비트로 표시된다.
따라서 C 컴파일러는 부동소수점 자료형을 갖는 변수의 연산에는 그에 맞는 기계어 명령을 사용할 수 있다.
형식 제약의 깊이와 그 평가의 방법은 언어의 "정형"에 영향을 미친다.
프로그래밍 언어 추가 자료형 다형성의 경우 각 자료형에 대한 다양한 구체적인 알고리즘과 함께 작업을 연결할 수 있다.
유형 이론은 컴퓨터 아키텍처, 컴파일러 구현 및 언어 디자인의 실용적인 문제에서 발생하는 자료형 체계의 연구이다.
값에 자료형을 할당하는 것을 "정형"이라고 한다.
정형은 메모리 상의 비트의 나열에 의미를 부여한다.
컴퓨터 상에서 모든 값은 단순히 비트 나열로 구성되어 있기 때문에, 하드웨어는 메모리 주소, 명령어 코드, 문자, 정수, 부동소수점을 서로 구분할 수 없다.
나열된 비트들과 형을 연결해줌으로써, 프로그래머는 프로그램이 어떻게 이 비트의 순서를 이해해야 하는지 알려준다.
자료형 체계가 제공하는 주 기능은 다음과 같다:
프로그램이 자료형의 제약 조건을 지키는지 검증하는 것을 "자료형 검사"라고 한다.
자료형 검사는 컴파일 타임 (정적 검사) 또는 런타임 (동적 검사) 에 실행될 있다.
만약 언어 명세가 엄격한 분류 규칙을 요구할 경우 (즉, 더 많거나 적은 정보를 잃지 않는 것만 자동 자료형 전환을 허용한다), "강력한 정형"으로, 그렇지 않다면, "약한 정형"으로 분류할 수 있다.
그러나 이 분류는 학술적으로 엄격한 분류는 아니다.
자료형 검사가 실행 시간이 아닌 컴파일 타임 동안 수행될 경우, 이를 정적 정형이라고 한다.
정적 정형은 프로그램 검증의 제한된 형태이다 (형 안전 참조): 따라서, 많은 자료형 오류가 개발주기의 초기에 잡힐 수 있다.
정적 형 검사기는 오직 컴파일 타임에 결정될 수 있는 자료형 정보만을 평가하지만, 프로그램의 가능한 모든 입력에 대해 검사 조건을 확인할 수 있고, 프로그램이 실행될 때마다 매번 자료형 검사를 반복할 필요가 없다.
또한 정적 형 검사가 이루어질 경우 실행 자료형 검사를 생략하고 다른 최적화를 수행할 수 있어, 프로그램 실행도 보다 효율적으로 (즉, 빠르게 또는 감소된 메모리를 사용) 만들 수 있다.
어떤 자료형 정보는 오직 실행 시간에만 정해지기 때문에, 정적 형 검사기는 보수적이다.
실행 시간에는 자료형 오류가 일어나지 않는 일부 프로그램이 정적 형 검사기에서는 거부될 수 있다.
는 자료형 오류를 일으키며 거부될 것이다.
왜냐하면 정적 분석은 codice_5 분기가 실행되지 않는다는 사실을 확인할 수 없기 때문이다.
반면, 정적 형 검사기의 보수적인 동작은 가끔씩 codice_2를 codice_7로 평가할 때 유익하다: 정적 자료형 검사기는 드물게 사용되는 코드 경로에서 자료형 오류를 감지할 수 있다.
정적 형 검사를 하지 않을 경우, 코드 범위 테스트는 100% 범위에서도 이러한 자료형 오류를 발견하지 못할 수 있다.
자료형 검사의 대부분이 컴파일 타임이 아닌 실행 시간에 수행될 경우 "동적 정형"이라고 한다.
동적 정형에서, 값은 자료형을 가지고 있지만 변수는 그렇지 않다.
즉, 변수는 모든 자료형의 값을 가질 수 있다.
동적으로 정형된 언어로는 APL, 얼랭, 그루비, 자바스크립트, 리스프, 루아, MATLAB/GNU 옥타브, 펄 (사용자 정의를 위한 자료형이지만 기본이 아닌 자료형), PHP, 프롤로그, 파이썬, 자이썬, 루비, 스몰토크, 클로저 그리고 Tcl 등이 있다.
동적으로 정형된 언어는 일반적으로 모든 런타임 개체가 자료형 정보를 함께 갖고 있다.
이런 런타임 자료형 정보는 함수 오버로드, 동적 디스패치, 게으른 바인딩, 다운캐스팅 등에도 사용될 수 있다.
더 넓게, 아래에서 설명한 것처럼, 동적 정형은 동적 프로그래밍 언어 기능에 대한 지원을 향상시킬 수 있고, 런타임 데이터를 기반으로 한 기능과 자료형을 창출하는 것 등이 있다. (그럼에도 불구하고, 동적으로 정형된 언어는 일부 또는 전부 같은 기능을 지원하지 않아도, 일부 "동적 프로그래밍 언어"는 정적으로 정형되어 있다.) 한편, 동적 정형은 적은 "선천적" 보장을 제공한다: 동적으로 정형된 언어는 정적 자료형 검사기에 의해 무효로 지배될 일부 프로그램을 실행하려고 허용 및 시도하는데, 프로그램의 오류 때문이거나 정적 자료형 검사가 너무 보수적으로 되기 때문이다.
동적 정형은 런타임 자료형 오류가 발생할 수 있다—즉, 런타임에서, 값은 예상치 못한 유형이 있을 수 있고, 그 자료형에 대한 무의미한 작업이 적용된다.
이런 오류가 프로그래밍 실수 구문에서 오랜 시간 후에 발생할 수 있다—즉, 데이터의 잘못된 자료형의 장소로 전달되는 구문은 작성하지 않아야 한다.
이것은 버그를 찾기 어려울 수도 있다.
동적 정형 언어 체계들의 런타임 검사는 잠재적으로 정적으로 정형된 언어의 경우보다 더 정교할 수 있고, 그들은 동적인 정보뿐만 아니라 소스 코드로부터 정보를 사용할 수 있다.
한편, 런타임 검사는 오직 프로그램의 특정 실행에서 조건을 잡는 것을 주장하고, 검사는 매번 프로그램을 실행하는 동안 반복된다.
동적으로 정형된 언어의 개발은 자주 단위 테스트와 같은 프로그래밍 정책에 의해 지원된다.
테스트는 전문 소프트웨어 개발에서 핵심 방법이고, 동적으로 정형된 언어의 경우에 특히 중요하다.
실제로, 올바른 프로그램이 작동을 보장하기 위해 했던 테스트는 정적 자료형 검사보다 훨씬 넓은 오류 범위를 감지할 수 있지만, 반대로 정적 자료형 검사가 감지할 수 있는 오류를 종합적으로 검색할 수 없다.
동적 및 정적 정형의 조합.
프로그래밍 언어의 정적 정형의 존재는 반드시 모든 동적 정형 구조가 없는 상태를 의미하는 것은 아니다.
예를 들어, 자바와 다른 표면에서 정적으로 정형된 언어의 경우, 하위 형변환 및 런타임 자료형 검사에 따라 다른 종류의 작업을, 동적 정형의 형태로 지원한다.
더 일반적으로, 대부분의 프로그래밍 언어는 데이터를 서로 다른 '종류'를 통해, 서로소 합집합과, 변형 자료형 및 다형성 개체와 같은 파견에 대한 방식을 포함한다: 자료형 주석 또는 자료형 검사와 상호 작용조차 하지 않을 때 이러한 방식은 동적 정형 구현에서 실질적으로 유사하다.
정적 및 동적 정형 사이의 상호 작용에 대한 자세한 내용을 보려면 프로그래밍 언어를 참조한다.
특정 언어, 예를 들어 클로슈어는, 기본적으로는 동적으로 정하지만, 이 동작을 허용하는 것은 정적 정형에서의 결과로 명시적인 자료형의 사용 힌트를 통해 무시한다.
이러한 힌트를 사용하는 이유 중 하나는 코드의 성능에 민감한 부분에서 정적 정형의 성능 이점을 달성하는 것이다.
4.0의 출시로, 닷넷 프레임워크 '동적' 자료형의 '정적' 개체는 개체 참조를 해결하기 위해 동적 설비를 심문하는 닷넷 런타임에 대한 자리표시자에 의하여 System.Dynamic 이름공간 을 통해 동적 정형의 정의 변종을 지원한다.
실제로 정적 및 동적 자료형 검사하기.
정적 및 동적 정형 사이의 선택은 트레이드오프를 필요로 한다.
정적 정형은 컴파일 타임에 안정적으로 자료형 오류를 찾을 수 있다.
이것은 제공되는 프로그램의 신뢰성이 증가할 것이다.
그러나, 프로그래머는 일반적으로 자료형 오류가 발생하는 방법을 통해 반대하고, 따라서 적절하게 코드에서 설계된 자료형을 대표해서 잡은 것으로 코딩한 이 버그의 비율을 통해 반대한다.
정적 정형 지지자들은 자료형 검사가 잘 되어있을 때 프로그램이 더 신뢰할 수 있다고 믿고, 동적 정형 지지자들은 안정적이고 작은 데이터베이스 버그가 증명된 배포 코드를 가리킨다.
자료형 체계의 강도가 증가된 다음에 정적 정형의 값은 아마도 증가할 것이다.
만약 프로그램에 사용되는 자료형이 프로그래머에 의해 제대로 선언되거나 정확하게 컴파일러에 유추되는 경우, 이러한 종속 ML과 에피그램으로 의존적으로 정형된 언어의 지지자들은 거의 모든 버그가 자료형 오류로 간주될 수 있는 제안을 한다.
정적 정형은 보통 더 빠르게 실행하는 컴파일된 코드에서 발생한다.
컴파일러가 사용하는 정확한 자료형을 알고있을 때, 그것은 최적화된 기계 코드를 생성할 수 있다.
더 나아가, 정적으로 정형된 언어를 위한 컴파일러는 어셈블러보다 쉽게 단축키를 찾을 수 있다.