[ipv6] “죽은 쇠고기”는 무엇을 의미합니까?

“죽은 쇠고기”라는 단어는 무엇을 의미합니까? 인터뷰 질문에서 읽었습니다. ipv6과 관련이 있습니다. 예를 들어 “The quick brown fox jumps over the lazy dog”와 같이 임의의 16 진수 일 수 있다고 생각했습니다.

내 이해가 맞습니까? 아니면 더 중요한 의미가 있습니까?



답변

http://en.wikipedia.org/wiki/Hexspeak
http://www.urbandictionary.com/define.php?term=dead%3Abeef

“Dead beef”는 16 진수 표기법으로 사용되는 af 문자로만 만들어 졌기 때문에 프로그래밍에서 매우 인기있는 문장입니다. 문장의 시작과 중간에있는 콜론은이 문장을 (이론적으로) 유효한 IPv6 주소로 만듭니다.


답변

AF 문자 만 사용하여 구성된 표현으로 인식 가능한 16 진수가 필요할 때 자주 사용됩니다. 일부 시스템은 해제되어 다시 참조해서는 안되는 메모리를 표시하는 등 다양한 용도로 사용합니다. 디버거에서이 값이 표시되면 오류가 발생했다는 신호일 수 있습니다. 에서 위키 백과 :

0xDEADBEEF ( “죽은 쇠고기”)는 IBM RS / 6000 시스템, 32 비트 PowerPC 프로세서의 Mac OS 및 Commodore Amiga에서 매직 디버그 값으로 사용됩니다. Sun Microsystems의 Solaris에서는 해제 된 커널 메모리를 표시합니다. Alpha 프로세서에서 실행되는 OpenVMS에서는 CTRL-T를 눌러 DEAD_BEEF를 볼 수 있습니다.

숫자 0xDEADBEEF는 인식하기 어려운 10 진수 3735928559 (부호 없음) 또는 -559038737 (부호 있음)과 같습니다.


답변

0xDEADBEEF의 값은 대부분 구형 시스템에서 세 가지 실질적인 이점이 있습니다. 저처럼 오래된 어셈블러 / C 해킹은 메모리 문제를 해결하기 위해 할당되지 않은 메모리를 채우는 데 사용합니다. 또한 “죽은 고기”라는 속어의 말장난입니다. 프로그래머는 DEADBEEF가 그의 포인터에 들어가면 죽은 고기입니다. DEADBEEF라는 가치를 처음으로 생각한 사람을 축하합니다. 여러면에서 영리합니다.

실제적인 이유로, 첫째, 무작위 16 진수 값과 반대로 단어를 실제로 철자하기 때문에 16 진수 메모리 덤프에서 더 눈에 띕니다.

둘째, 값이 포인터에 표시되면 메모리 범위를 벗어난 오류가 발생할 가능성이 더 큽니다. DEADBEEF의 주소는 시스템의 엔디안에 관계없이 시스템의 주소 범위를 벗어났습니다 (지금은 지난 세기 시스템에 대해 이야기하고 있습니다).

셋째, 16/32/64 비트 데이터에 액세스하기 위해 경계 포인터 값이 필요한 시스템에서 오류를 유발할 가능성이 더 높습니다. 16 비트 값 (DEAD, BEEF)이 모두 홀수이기 때문에 값이 잘못 될 가능성이 더 큽니다.


답변

IPv6 주소는 16 진수 표기법으로 작성되므로 주소에 “Hexspeak”(숫자 0-9 및 문자 af)를 사용할 수 있습니다.

더 나은 모모 화를 위해 유효한 주소로 사용할 수있는 여러 단어가 있습니다.

당신이 경우 ping6 www.facebook.com -n당신은 같은 것을 얻을 것이다 “2a03을 : 2880 : f01c을 : 601 : 얼굴 : b00c : 0 : 1″.

여기 예시들이 있습니다 :

  • : affe :: (Affe-원숭이를위한 독일어-관리위원회를 위해 VLAN에서 본)
  • : 1bad : babe :: (하나의 나쁜 아기-smtp-honeypot에서 본)
  • : badc : ab1e :: (잘못된 케이블-안전하지 않은 VLAN의 서브넷으로 표시됨)
  • : da7a :: (데이터-파일 서버에 표시됨)
  • : d1a1 :: (Dial-VPN Dial-In에 표시됨)


답변

디버깅 목적으로도 사용됩니다.

다음은 이러한 값 중 일부에 대한 편리한 목록입니다.

http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Magic_debug_values


답변

사람들은 일반적으로 더미 값을 표시하는 데 사용합니다. 나는 주로 NULL 포인터의 아이디어 이전에 사용되었다고 생각합니다.


답변

영어로도 읽을 수있어 눈에 띄기 때문에 여러 곳에서 사용되는 매직 넘버입니다. Wikipedia에 일부 목록이 있습니다 .