인터넷 유물

5 hours ago 1

  • 이 문서는 해커 집단에서 유래된 특유의 용어와 문화적 맥락을 설명함
  • 주요 해커 용어의 정의와 사용례, 그리고 유래에 관한 일화 설명을 포함함
  • 일부 용어는 유머, 냉소, 풍자적 표현을 내포하여 해커 특유의 가치관 반영함
  • 컴퓨터 역사상 중요한 시스템(예: MIT, CMU, Stanford 등)에서 파생된 단어도 다수 포함됨
  • 이런 용어들은 오늘날 소프트웨어 개발 문화 및 커뮤니티 언어에 지속적 영향을 미침

해커 사전(The Hacker's Dictionary) 개요

  • 본 문서는 해커 집단에서 빈번하게 사용되는 독특한 용어와 표현의 목록, 정의, 그리고 사용 배경을 체계적으로 정리함
  • 용어의 기원, 실제 대화‧코드에서의 예제 및 각 용어가 지닌 뉘앙스까지 설명하여 단순한 사전 이상의 이해를 제공함

대표 용어 및 의미 요약

  • @BEGIN / @END : 특정 텍스트의 문맥 또는 의도 강조를 위해 사용되는 SCRIBE 명령어로, 해커 문화에서 유머러스하게 인용됨

  • ANGLE BRACKETS (각괄호) : "<"">" 문자를 지칭하며 MIT에서 자주 쓰였던 용어임

  • AOS: "증가"를 의미하는 PDP-10 명령어에서 유래, 어떤 수치나 상태를 증가시킴을 장난스럽게 표현함

  • ARG (아그) : 함수의 인자(argument)를 지칭, 빈번히 사용되어 독립적 단어로 자리잡음

  • AUTOMAGICALLY: (자동적+마법적) 자동 실행되지만, 그 동작 원리가 너무 복잡하거나 설명이 귀찮을 때 사용되는 풍자적 표현임

  • BAGBITER: 간헐적으로 고장나는 하드웨어나 소프트웨어를 비하하며 칭하는 단어, 형용사형(BAGBITING)도 존재함

  • BARF: 프로그래밍에서 역겨움 또는 입력값 처리 에러 발생 등의 의미로 활용됨

  • BELLS AND WHISTLES: 프로그램의 필수는 아니지만 유용하거나 재미있는 부가기능을 의미함

  • BIGNUMS: 계산기, 프로그래밍 등에서 극단적으로 큰 정수나 수치를 가리키는 용어임

  • BINARY/BIN: 프로그램의 오브젝트 코드나 2진 파일, 시스템에 따라 다양한 별칭 존재

  • BIT BUCKET: 삭제되거나 더 이상 접근 불가한 데이터가 흘러 들어가는 상상의 장소, 사실상 '없어짐'을 의미

  • BUG: 원치 않거나 의도치 않은 프로그램의 결함, 본래 전화선 결함에서 차용된 용어임

  • CANONICAL: '표준' 또는 '정석'과 같은 바람직한 상태를 표현함

  • CROCK/CRUFTY: 우아하지 못하거나 조잡한 구현 혹은 작성 방법을 낮잡아 표현함

  • DAEMON/DEMON: (데몬/디몬) 사용자가 직접 호출하지 않아도 특정 조건에서 동작하는 백그라운드 프로그램 혹은 프로세스임

  • DEADLOCK/DEADLY EMBRACE: 여러 프로세스가 서로를 기다려 아무 일도 진행되지 않는 교착 상태, 유럽에서는 DEADLY EMBRACE라는 표현을 선호함

  • DWIM: "Do What I Mean"의 약자로, 사용자의 의도대로 동작함을 희망하는 농담성 표현이자 일부 시스템 함수의 실제 명칭임

  • FENCEPOST ERROR: 프로그래밍 반복문 등에서 나타나는 경계 조건 오류의 고전적 예시로, n칸 fence에 필요한 기둥의 개수를 잘못 계산하는 실수에서 유래함

  • FROB/FROBNICATE/TWIDDLE/TWEAK: 기계, 코드, 값 등을 무작정 조작하거나 미세하게 조정하는 일련의 동작을 구분해 나타내는 일상 은어임

  • HACK/HACKER: 도구와 코드를 창의적으로 또는 임기응변적으로 다루는 행위, 그리고 이에 능숙하고 열정을 가진 사람을 통칭함. 긍정적 맥락과 장난, 장인정신, 심지어 해커만의 유머와 문화도 포함함


용어별 세부 설명

@BEGIN / @END

  • 특정 텍스트 블록의 문맥 또는 강조를 표기할 때 사용함

ANGLE BRACKETS (각괄호)

  • "<"와 ">"를 일컫는 용어이며 MIT, Stanford 등 주요 해커 커뮤니티에서 쓰임

ARG

  • 함수의 매개변수를 줄여 부르는 명칭, 개발자 대화 및 문서에서 자주 활용됨

AUTOMAGICALLY

  • 원리를 설명하지 않고 어떤 일이 자동으로 일어남을 우스꽝스럽게 말함
  • 'MAGIC'의 의미 연장선에서 파생됨

BAGBITER

  • 간헐적, 치명적 실패를 일으키는 장비나 소프트웨어에 대한 비하적 표현임
  • "LOSER"와 동의적으로 사용, bagbiting system은 악명 높은 시스템의 별칭임

BAR

  • FOO와 함께 가상의 변수명 또는 무작위 예시 용어로 쓰임(FOOBAR 등)

BARF/BLETCH

  • 역겨움, 기계의 입력 오류, 미학적으로도 불쾌한 상황을 표현함

BELLS AND WHISTLES

  • 프로그램의 비필수적 부가기능(예: 재치있는 UI, 재미있는 TGIF 메시지 등)을 뜻함

BIGNUMS

  • 수치계산, 여유 메모리 구현 등에서 다루기 힘든 대형 숫자들을 통칭함
  • El Camino BIGNUM은 매우 긴 거리나 대상을 유머스럽게 표현할 때의 은어임

BIN/BINARY

  • 이진파일, 오브젝트코드, 각 시스템별로 DMP, SAV, SHR 등 다양한 현지화된 표현 존재함

BIT/ BITBUCKET

  • 정보의 최소 단위, 그리고 'bit bucket'은 존재를 상실한 데이터의 상상의 종착지로 언급됨

BUG/FEATURE

  • 의도치 않은 프로그램 결함과(버그), 그것을 합리화하거나 문서화한 결과물(피처) 설명함

CANONICAL

  • 문제나 구현의 '정석', 표준을 뜻하는 가장 이상적 형태를 나타냄

CROCK/CRUFTY

  • 엉성하거나 지나치게 복잡한 설계를 비판하는 은어로, crufty는 손이 지나치게 탄 코드를 뜻하는 경우도 존재함

DAEMON/DEMON/DRAGON

  • DAEMON: 운영체제의 이벤트에 자동 반응하는 백그라운드 프로그램 구현 설명
  • DEMON: 프로그램 내부 프로세스로서 조건부 반응을 담당하는 서브루틴 표현
  • DRAGON: 운영체제가 직접 사용하는 유틸리티성 보조 프로그램

DEADLOCK/DEADLY EMBRACE

  • 두 개 이상의 프로세스가 서로를 대기하는 상황, 유럽(Deadly Embrace), 미국(Deadlock)에서 각기 다른 표현을 사용함

DWIM

  • 사용자의 명확치 않은 입력에도 의도를 파악해 정정하거나 완성해주는 "희망의" 기능, 실제로 일부 LISP 인터프리터에서 실현됨

FROB/TWIDDLE/TWEAK

  • 목적 없이 값을 바꾸거나, 대충(굵게), 미세(섬세하게) 조정함을 각각 표현함

FENCEPOST ERROR

  • 반복문 등에서 빈번하게 발생하는 경계 조건상의 실수 설명

HACK/HACKER/HACKISH

  • 해킹은 창의적 해결책, 임기응변, 유익성 추구, 장난, 프로그래밍 장인의 정신을 아우르는 의미를 지님
  • 해커는 이력을 연구하고, 깊이 파헤치고, 임무에 몰두하는 사람으로 묘사함
  • 해커 문화의 긍정적, 재치있는, 흥미로운 커뮤니케이션의 바탕 제공 역할을 함

추가 문화적 맥락

  • 이 문서 내 용어들은 1960~80년대 미국 주요 대학 해커 집단(특히 MIT, Stanford, CMU 등)에서 체계적으로 정립된 바 있음
  • 각 단어에는 유래, 실제 사건, 농담성 인용구, 그리고 명확한 코드 작성 관행과 연계된 문화가 담겨 있음
  • 일부 용어는 디지털 커뮤니티 전체로 확산되며 일반 소프트웨어 개발자와도 친숙한 표현으로 자리 잡음
  • 해커 사전은 기능 중심 언어의 창의적 사용, 개방된 커뮤니티 운영 방식, 그리고 자조적, 자기비판적 유머 문화를 현재에도 반영함

Read Entire Article