<글 발행 배경>
컴퓨터공학과를 졸업했음에도 왜 많은 개발자들이(특히 개발자들이) 맥을 선호하는지 모르겠다.
그래서 간략하게나마 왜 서버 개발자들은 맥을 선호하는지의 맥락을 파악하고자 한다.
<결론>
버 컴퓨터 대부분이 리눅스 운영체제를 사용하기 때문이다.또한 맥OS가 리눅스 기반이기 때문이다.
백엔드 개발자는 서버를 만드는 사람들이고, 프로그램을 만들 때의 환경과 실행시킬때의 환경셋팅을 동일하게 해주는 것이 좋겠지요 ~
프로그램을 만드는 것이란 코드를 짜는 행위 =>컴파일=>링킹=>실행 의 과정을 거치는데 특히 컴파일=>링킹=>실행이 부분이 개발자의 OS환경에 의존하기 때문이다.
<상세>
그렇다면 이 때의 환경셋팅이란 어떤 것이 있을까?
1.동일한 함수 사용 ex)fork(),exec()
2.링커가 OS에 맞는 라이브러리 경로, 시스템콜 구조를 사용
3.파일 권한 문제 호환성
1.리눅스/유닉스 체제에서만 정의된 함수가 있음.
“윈도우에서 fork(), exec()를 쓰는 코드를 작성하고 컴파일하면 어떻게 되냐?” → 간단히 말해서 에러가 나거나, 아예 컴파일조차 안 될 수 있다. 필요한 함수를 개발하지 못함 그래서 학부 유닉스프로그래밍 실습시 가상머신 위에 우분투(리눅스)를 돌렸었는데,이제야 의문이 해결되었다..
2.OS가 다르면 기본셋팅 디렉토리 구조가 다르다.
우리 왜 컴퓨터 내부에 기본적으로 DESKTOP이라던가.. /PROGRAMFILES/..라던가 하는 디렉토리 구조가 있잖아요 요게 프로그램 실행시 여기저기서 가져다 쓰는건데,OS가 다르면 필요한 파일의 위치가 달라서 프로그래밍 설계시 여기서 가져다 쓰세요!했는데 엥 없는데요 하는 일이 발생하기 때문이에요..
3.권한 부여의 방식 차이 파일을 읽고 쓰고 또 수정하고..요런 권한 체제가 다르다.
프로그램은 여러가지 파일로 구성되는데,이 때 내가 어떤 파일을 누구나 실행할수있습니다!라고 개발할 때 권한을 주어도.. 다른 OS상에서 그 권한에 대한 부분을 제대로 인지를 하지 못해서 파일을 사용하는데 지장이 생길 수 있다... 뭐 이런 것?
<실제 맥 사용자들의 인터뷰>- 필자는 삼성 노트북+윈도우 조합 사용합니다.
TBC..
'기술 너머의 문화' 카테고리의 다른 글
데이터베이스란 무엇일까(DBMS)-1 (3) | 2023.02.14 |
---|---|
프로세서 성능은 왜 중요할까? (0) | 2023.02.10 |