프로그래밍에서 매핑은 무엇을 의미합니까?

다음과 같은 말을 자주 듣습니다.

  • 클래스 매핑
  • 데이터베이스에서 개체 매핑
  • 객체 매핑
  • 목록 요소 매핑
  • 매퍼

매퍼와 행위의 역할 무엇을 매핑하는 것이 실제로 의미합니까?

댓글

  • 이것은 한 세트의 항목을 다른 세트의 항목과 일치시키는 것을 의미합니다. 또는 한 세트의 각 항목에 대해 기능을 수행하여 새로운 대응 세트. 이것은 수학적으로 말하면 똑같습니다. 따라서 데이터베이스의 테이블을 코드의 개체와 일치시키는 것을 의미 할 수 있습니다. 또는 목록의 각 항목에 대해 작업을 수행합니다. 매퍼는 한 세트의 항목을 다른 세트의 항목과 일치시키는 함수 또는 클래스입니다.

답변

동사 “map”과 명사 “mapper”의 프로그래밍 사용은 영어에서의 일반적인 사용과 거의 관련이 없으므로 이것은 매우 이해할 수있는 질문입니다.

프로그래밍 사용도 매우 광범위합니다. s는 “지도”의 가장 구체적이고 잘 정의 된 의미로 시작합니다. 즉, 대부분의 함수형 프로그래밍 언어에있는 고차 map 함수입니다. 여기에 대한 간단한 예가 있습니다. 자바 스크립트 :

var numbers = [1, 2, 3, 4]; var timesTwo = function(n) { return n * 2; } numbers.map(timesTwo); // [2, 4, 6, 8] 

map 함수에는 배열과 다른 함수가 필요합니다. 원래 배열의 모든 요소에 해당 함수를 적용한 결과 인 새로운 배열을 반환합니다.

적어도 내 경험상이 용어의 다른 모든 사용은이 특정 배열과 유사한 것으로 간주 될 수 있습니다. 가장 일반적인 의미에서 프로그래밍에서 “매핑”은 여러 가지를 취한 다음 어떻게 든 각각을 다른 것과 연결하는 것을 의미합니다.

일상적인 작업에서 일반적이지만 부정확 한 사용법은 “UI 이벤트를 핸들러 함수에 매핑”하는 것입니다. 예를 들어 사용자가 버튼 1을 클릭하면 handleButton1Click가 호출되기를 원하고 사용자가 이미지 위로 마우스를 가져 가면 handleImageHover 호출됩니다.

이 용어의 가장 높은 수준의 사용 중 하나는 ORM (객체 관계형 매핑)입니다. 즉, 관계형 데이터베이스의 행을 OOP 언어로 된 객체에 매핑하여 SQL을 직접 작성하거나 데이터베이스 구조에 대해 걱정하지 않고도 코드에서 “일반”개체를 조작 할 수 있습니다.

답변

이것은 수학적 개념입니다.

www.thefreedictionary.com

2. Mathematics The correspondence of elements in one set to elements in the same set or another set. 

두 개의 서로 다른 데이터 모델 간의 대응 관계를 설정하는 것입니다.

  • 예를 들어 는 데이터베이스 테이블 USER의 행을 표현한 것으로 객체 관계형 매핑입니다.
  • 또는 한 목록의 주어진 요소가 다른 목록의 한 요소에 해당한다고 말하는 키-값 쌍 목록을 만들 수 있습니다.

사용자 이름에 따라 모국어는 스페인어이며 매핑 또는 “지도로”는 emparejar 로 번역 될 수 있습니다.

댓글

  • 귀하의 설명은 이미 매핑 경험이있는 사람 만 이해할 수있을 것입니다.
  • @RobertHarvey 개선했습니다.

답변

일반적으로 “매핑”은 일부 값을 다른 값에 연결하는 것입니다. 그것은 수동적 인 종류의 프로세스를 암시하는 경향이 있습니다. 고정 된 연관성을 암시하는 경향이 있습니다. ASCII 값 고려 :

"a" -> 97 "b" -> 98 "c" -> 99 ... 

전체 연결 집합을 매핑 (명사)이라고합니다. 문자와 숫자를 갖고 연관성을 만드는 것을 매핑 (동사)이라고도합니다. 함수는 일부 입력을 받고 일부 계산을 기반으로 출력을 생성하므로 함수와 다릅니다. 매핑은 일반적으로 계산이 아니라 일종의 조회입니다.

답변

지리지도는 실제 세계를 번역합니다. 랜드 마크를 다른 형식으로 : 읽기 쉬운 종이 조각.

과학지도 작성도 같은 생각입니다. 한 도메인에서 개체 집합을 가져 와서 다른 용도로 다른 도메인으로 변환합니다.

모든 상황에서 일반적으로 사용할 수있는 광범위한 개념입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다