회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
AWS 이용 중이라면 최대 700만 원 지원받으세요
본문은 위시켓과 번역가 윌리(Willy)가 함께 만든 해외 콘텐츠 기반 번역문입니다. 자바스크립트 및 웹 개발 콘텐츠를 제공하는 JavaScript 블로그의‘12 Things That’s Weird To People But Normal For Programmers’를 번역했습니다. 본문은 일반 사람들에겐 이상하지만 개발자에겐 정상적으로 느껴지는 12가지 사례를 소개합니다. 과연 그들에겐 무슨 일이 벌어지고 있을까요?
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!
확인
본문은 위시켓과 번역가 윌리(Willy)가 함께 만든 해외 콘텐츠 기반 번역문입니다. 자바스크립트 및 웹 개발 콘텐츠를 제공하는 JavaScript 블로그의‘12 Things That’s Weird To People But Normal For Programmers’를 번역했습니다. 본문은 일반 사람들에겐 이상하지만 개발자에겐 정상적으로 느껴지는 12가지 사례를 소개합니다. 과연 그들에겐 무슨 일이 벌어지고 있을까요?
일반인이 보기에는 매우 이상하지만 개발자가 보기에는 아무렇지도 않은 것들이 있습니다. 개발자의 머릿속에 탑재된 방대한 기술 지식이 이러한 차이를 만드는 것이죠. 프로그래머가 아니면 절대 이해하기 힘든 재미있는 12가지 사례를 소개하겠습니다.
여러분이 개발자가 아니라면 뿌리가 바닥이 아닌 하늘을 향하고 있는 나무가 있다는 사실을 절대 상상하지 못할 것입니다. 이상하게 들리겠지만, 개발자의 세계에서는 아주 당연한 것입니다. 그 이유를 간단히 설명하면, 트리 그래프(graph)는 위에서 아래로 그리는 것이 훨씬 유리합니다. 과거에는 기사를 쓰거나 손으로 직접 계산할 때 제한된 종이 면적을 고려하여 그림과 그래프를 위에서 아래로 그리는 것을 선호했습니다.
뿌리를 바닥에 두고 반대로 그려 올라가기 시작하면 선의 길이를 예측하기 힘들고 엉망이 되기 십상입니다. 특히 계산 용도로 사용하는 그래프라면 말이죠. 이 때문에 개발자의 나무는 위에서 아래로 자라납니다.
여러분 앞에 놓인 사과 10개를 세어볼까요? 당연히 1부터 세기 시작하겠죠. 하지만 개발자는 이상하게도 0부터 숫자를 세곤 합니다. 프로그래밍에서는 숫자가 0부터 시작하기 때문에 너무 습관이 된 나머지 현실에서도 동일하게 적용해버리고 마는 것입니다.
듣기만 해도 끔찍한 소리지만 개발자에게는 전혀 그렇지 않습니다. 이는 운영 체제의 기본 동작을 논리적으로 부르는 방식일 뿐입니다. 너무 깊이 들어가지는 않겠지만 여러분의 이해를 돕기 위해 간단히 설명해 보겠습니다.
부모 프로세스(parent process)는 fork()라는 명령어로 시스템을 호출하여 자식 프로세스(child process)를 생성합니다. 부모 프로세스에는 여러 자식 프로세스를 가질 수 있지만, 자식 프로세스는 오직 하나의 부모 프로세스가 있습니다. 네, 이것은 사람을 가리키는 것이 아닙니다. 자식에게 할당된 작업이 끝나면 부모는 자식을 죽입니다(kill). 여러분이 사용하는 운영 체제는 모두 이렇게 동작하고 있습니다.
이 세상에 복사, 붙여넣기가 없다면 수천 명의 개발자는 지금쯤 손가락만 빨고 있을지도 모릅니다. 우리에게도 익숙한 복사(Ctrl + C) 붙여넣기(Ctrl + V)는 개발자가 아니면 절대 이해할 수 없는 그 이상의 의미가 있습니다. 단순히 소스 코드를 복사해 오는 것이 아니라 StackOverflow와 같은 커뮤니티를 통해 자신의 개발 지식을 확장해 나갑니다.
단순히 하드 디스크에 있는 모든 데이터를 지우고 포맷했다고 여러분의 데이터가 완전히 사라지는 것은 아닙니다. 필요한 파일과 문서를 골라 삭제하려고 몇 시간을 쏟아부은 경험이 있나요? 윈도에서 삭제(Delete) 키를 사용해서 파일을 지우면 여러분의 눈앞에서는 바로 사라지지만 사실 파일로 가는 바로가기만 삭제될 뿐입니다. 삭제된 파일은 여전히 하드 디스크에 남아있습니다. 구글에서 검색만 해봐도 누구나 쉽게 삭제된 데이터를 복원할 수 있는 시스템 복구 소프트웨어를 찾을 수 있습니다.
디스크를 포맷하면 파일에 대한 주소록만 지워질 뿐 데이터는 그대로 남아있습니다. 전문지식이 있다면 포맷하기 전에 디스크에 있던 대부분 또는 모든 데이터를 복구할 수 있습니다. 범죄 영화에서 하드 드라이브를 부수거나 지운다고 모든 정보가 날아간다는 것은 사실이 아닙니다.
수학 시간에 나올 법한 이러한 기호는 프로그래밍 세계에서는 다른 의미로 해석됩니다.
= 등호 하나는 변수에 값을 할당하는 데 사용합니다.
!= 수학 기호 ≠에서 따 온 것으로 서로 같지 않음을 의미합니다.
== 두 표현식이 동일한 값을 제공하는지 확인하는 데 사용합니다.
=== 양쪽에 있는 피연산자의 데이터 유형과 값이 정확히 일치하는 경우 true를 반환합니다.
설마 영화 속 장면처럼 시스템을 해킹할 수 있으리라 믿는 사람은 없겠죠? 만약 그렇게 생각하고 있다면 아무에게도 말하지 마세요. 왜냐하면 전혀 말도 안 되는 허무맹랑 그 자체이기 때문입니다.
우리는 백신이 컴퓨터를 지켜준다고 생각합니다.Ctrl+Y 및Ctrl+Z는 개발자를 지켜줍니다. 덕분에 코드를 작성하다 실수로 몇 줄을 지워도 문제가 없죠. 혹시 모르는 분들을 위해 설명하자면,Ctrl+Z는 삭제 등 여러분이 방금 했던 작업을 원하는 만큼 계속 되돌릴 수 있고,Ctrl+Y는Ctrl+Z로 되돌렸던 작업을 다시 한번 반대로 취소할 수 있습니다.
“사람은 우울하면 잠을 자고 고통을 잊으려 한다.”라는 말이 있습니다. 어떤 버그는 아무리 노력해도 해결할 수 없고 어디서부터 문제가 시작됐는지 짐작조차 가지 않습니다. 하지만 신기하게도 집에 돌아가 한숨 자고 나면 다음 날 아침에 아이디어가 떠오르곤 합니다. 아마도 개발자가 잠든 사이 천사가 찾아와 그들의 귀에 정답을 속삭여 주고 가는지도 모릅니다.
사람들은 새로 고침 버튼(F5)을 너무 과도하게 사용하는 경향이 있습니다. 컴퓨터가 빨라질 것으로 생각하지만 실제로 윈도의 새로 고침은 시스템이나 RAM에 아무런 영향을 미치지 않습니다. 이는 단지 바탕화면을 새로 고치기 위한 것입니다. 윈도는 바탕화면의 콘텐츠가 변경되면 자동으로 새로 고침 되도록 만들어졌습니다. 이것을 아는 개발자들은 그저 웃을 뿐입니다. 참고로 맥(Mac)과 리눅스(Linux)는 새로 고침 버튼 자체가 없습니다.
개발자가 아니라면 세미콜론을 사용할 일이 거의 없으며, 이것이 프로그래밍에서 어떤 역할을 하는지 결코 상상하지 못할 것입니다. 개발자들은 매일 밤 그들이 저지른 실수로 인해 괴로워하며 밤새 악몽에 시달립니다. 단지 세미콜론 하나 빠뜨렸을 뿐인데 말이죠. 결국 자고 일어나면 해답이 떠오르겠지만 세미콜론이 없다면 같은 결과가 반복됩니다.
네, 세미콜론은 이렇게 강력합니다. 세미콜론이 그렇게 중요한데 왜 빠뜨리는 개발자가 있는가라는 의구심이 들지도 모릅니다. 글쎄요. 수천 줄의 코드를 작성하다 보면 작은 세미콜론 하나가 빠져도 알아차리기 힘들지 않을까요?
Mbps는 초당 메가비트를 나타냅니다. MBps는 초당 메가바이트를 나타냅니다. 1메가비트(megabit)는 1,000,000비트(bit)이고, 1메가바이트(megabyte)는 1,000,000바이트(byte)입니다. Mbps는 인터넷 연결 속도를 표시하는 데 사용하지만, MBps는 초당 다운로드 혹은 업로드하는 양을 표시하는 데 사용합니다. 진짜 그런지는 다음번에 꼭 살펴보세요.