텍스트 인코딩과 줄바꿈
같은 글자라도 컴퓨터가 어떤 바이트로 저장하느냐는 시대와 환경에 따라 다릅니다. 그 결과로 한글이 깨지거나 git diff 가 의미 없는 줄 변경을 잔뜩 잡는 일이 생깁니다.
윈도우 vs 맥 등 개발 환경 선택 가이드
같은 글자라도 컴퓨터가 어떤 바이트로 저장하느냐는 시대와 환경에 따라 다릅니다. 그 결과로 한글이 깨지거나 git diff 가 의미 없는 줄 변경을 잔뜩 잡는 일이 생깁니다.
이 글은 터미널을 처음 여는 사람을 위한 짧은 안내입니다. 운영체제별로 셸이 다르므로 같은 작업이라도 명령이 조금씩 다릅니다. 외울 필요는 없고 표를 곁에 두고 자주 쓰면 손에 익습니다.
Markdown 은 평문 (plain text) 으로 쓰면서도 구조화된 문서를 표현할 수 있게 해 주는 가벼운 마크업 언어입니다. 개발 문서·README·이슈·블로그·메모에 광범위하게 쓰입니다.
cmd.exe 는 Windows NT 계열의 명령 처리기입니다. 1993 년 Windows NT 3.1 부터 등장해 지금도 모든 Windows 에 포함. PowerShell 이 등장한 이후로는 새 코드의 진입점 역할은 줄었지만, 레거시 호환과 빠른 작은 작업에서 여전히 마주칩니다.
프로그램들이 서로 데이터를 주고받을 때 약속된 표기 형식이 필요합니다. 설정 파일·API 응답·CI 워크플로·환경변수에서 자주 만나는 네 가지 — JSON · YAML · TOML · XML.
같은 언어, 같은 코드라도 운영체제가 달라지면 경로·줄바꿈·셸·권한 같은 기초 항목이 달라집니다. Linux 는 macOS 와 가까운 쪽으로 분류됩니다 (둘 다 Unix 계열).
셸 (shell) 은 사용자의 입력을 해석해 운영체제에 전달하는 인터프리터입니다. 같은 운영체제 위에서도 여러 셸을 골라 쓸 수 있고, 셸마다 문법과 기능이 조금씩 다릅니다.
프로젝트가 Windows · macOS · Linux 사용자를 모두 대상으로 할 때, 자동화 스크립트를 어떤 도구로 짤지가 자주 문제가 됩니다. 정답이 정해진 영역은 아니고 환경 제약과 팀 익숙함에 따라 선택이 갈립니다.
PowerShell 은 Microsoft 가 만든 셸이자 스크립팅 언어입니다. 텍스트가 아닌 .NET 객체를 파이프로 흘려보낸다는 점에서 bash 계열과 결이 다릅니다.
Unix 계열 시스템에서 가장 자주 만나는 셸은 bash 입니다. 그리고 그 뿌리에는 sh (Bourne shell) 가 있습니다.
Windows 에서 개발할 때 자주 부딪히는 자리는 "Linux 전용 도구". Docker · 일부 CLI · 셸 스크립트 · 컴파일 환경이 그렇습니다. 듀얼 부팅이나 가상 머신 없이 같은 PC 안에서 진짜 Linux 환경을 띄우는 길이 WSL2.