상세 컨텐츠

본문 제목

SW개발에서 가상화가 가지는 힘

CS지식 학습

by Tabris4547 2024. 1. 18. 22:48

본문

728x90

5명이 조를 이뤄서 발표준비를 시작합니다.

그런데, 하필 이 5명의 국적이 모두 다르고 사용하는 언어도 다릅니다.

한국인/중국인/일본인/프랑스인/러시아인

각기 다른 언어를 사용합니다.

이럴 때는 거의 '국제룰'로 만국공통어인 영어를 활용합니다.

 

SW개발에서도 각자 협업할 때

공통된 환경을 맞추기 위해 가상머신,도커 등을 활용합니다.

 

 

언어만 통일하면 되지 않나?

 

단순하게 C/자바/파이썬 등등 언어 고르고

그거 쓰기로 통일 도장 꽝꽝하면 될 것 처럼 보입니다.

하지만 같은 언어를 쓴다해도 맞춰야할 것들이 많습니다.

 

1. 언어 버전

->컴퓨터 언어에 따라, 버전이 계속 업데이트가 되면서

기능 추가/수정/삭제가 되는 경우가 많습니다.

같은 기능이라도 버전에 따라서

쓰는 방법이 조금씩 달라지는 경우가 생깁니다.

 

2. 라이브러리/패키지 설치

->다른 사람의 git에서 코드 복붙해서 돌렸는데

에러가 발생했던 경험 있으신가요?

"이거 돌아간다며?왜 나는 안 됨??"

키보드 샷건을 치다가 에러메시지를 보면

"의존성이슈"인 경우가 많습니다.

"님 컴퓨터에 이거 없는데요?"

"이 함수 정의된 거 없는데요?"

 

그럼 언어에서 이런 부분만 통일하면 될까?

개발영역에 따라서는 사용 OS까지 통일할 필요가 있습니다.

윈도우/맥OS/리눅스 등등 여러가지고

모바일os인 안드로이드/맥 os개발은 또 어쩌고?

심지어 안드로이드/맥은 기기를 돌려아하는데

기기를 따로 사야해??

 

가상화, '해줘!'

이 작업을 간편하게 sw적으로 도와주는 것으로 가상화기술이 있습니다.

리눅스를 만져보신 분들이라면 이 프로그램 한번쯤 보셨을텐데요

vm ware가 대표적인 hypervisor입니다.

이 덕분에 여러분들은 새롭게 노트북을 사지 않아도

리눅스 설치해서 활용할 수 있게 되었습니다.

위에서 언급한 안드로이드 개발을 도와주는 플랫폼으로

안드로이드 스튜디오가 있습니다.

내가 아이폰 유저인데

개발은 안드로이드를 해야한다.

그렇다고 안드로이드 폰을 사야할까?

개발용 공기계를 사는 것도 좋겠지만

만약 비용에 부담이 있다면

이런 가상화툴을 활용하는 것도 하나의 방법입니다.

 

 

SW는 복사가 된다구!

 

위에서부터 개발환경을 맞추는 이야기를 했었죠?

만약 돈과 여력이 된다면

인원수대로 공기계 사고

그 안에 OS포맷 후에 필요한 거 다 설치해서 돌리면 되겠지만

우리의 계좌는 이재용 회장님처럼 빵빵하지 않습니다.

이럴 때 앞서말한 가상화 툴을 활용하는 겁니다.

SW는 여유 용량만 있으면 그대로 복사를 할 수 있죠.

하나의 가상머신에 개발환경 설치 완료한 후에

개발자들한테 돌리면 어떨까요?

기계 구매할 비용도 아끼고

기계 하나하나 전부 다 설치할 수고도 할 필요없겠죠?

돈도 아끼고 시간도 아끼고 개이득!

 

(이 글에서는 개발환경에 통일에 초점을 맞춰서 이야기를 했지만

이외에도 다양한 용도들이 많습니다)

 

728x90

관련글 더보기

댓글 영역