메타버스와의 접점도 될 수 있는 영역이 xR 영역입니다. VR과 AR이 가장 대표적인 xR 기술들이고 이미 경험해 볼 수 있는 것들이 꽤 많습니다. 애플이 사실상 이 시장으로의 참전을 선언한 상태에서 구글도 오래전 구글 글래스를 떠올리게 하는 뉴스가 있는 것 같습니다.
구글은 오래전 구글 글래스라는 기기를 들고 나와 시장에 센세이션을 일으켰습니다. 기기를 가지고 있는 한국 개발자들도 꽤 있었던 것 같은데 요즘은 아예 소식이 업기도 하죠.
마이크로소프트는 홀로렌즈 시리즈를 통해 계속 xR에 대한 태핑을 하고 있습니다. 현재까지는 철저하게 엔터프라이즈 시장에 대한 공략으로 보이지만 기기의 가격이 내려가고 조금 더 경량화 될 수 있다면 B2C 시장에도 충분히 진출 가능성을 타진해 볼거라 생각합니다.
애플은... 이러고 있고...
마이크로소프트는... 이러고 있고...
제일 빠른 축에 들었던 구글이 다시 움직이고 있습니다. 코로나가 생각보다 더 길어지면서 각 기업은 원격 근무, 복합 근무, 가상 근무를 어떻게든 도입하면서도 직원들 사이의 끈끈함을 찾을 방법을 계속 찾고 있습니다.
xR 은 워크스페이스라는 공간에 대해서도 분명 한 축을 담당할 것 같습니다. 요즘 많은 컨퍼런스나 연말 온라인 송년회에서 게더타운이나 ZEP 등을 쓰는 모습이 보입니다. 사람들은 점점 이런식의 모임에 익숙해져가고 있지만 여전히 2D 의 평면 모니터 공간속은 뭔가 자연스럽다는 느낌이 들진 않습니다.
xR 이 새로운 전장이 되면 삼성전자도 다시 한 번 비상을 할거라 기대하며... 다시 또 주식을 줍줍 해봐야겠습니다. 언젠간 가겠지 하는 마음으로다...
개발자의 컴퓨터는 항상 좋은 퍼포먼스를 내는 장비여야 합니다. 개발 도구도 나날이 무거워지고 언어나 런타임시에 사용하는 가상환경도 많은 리소스를 요구하기 때문입니다. 다만 좋은 장비를 새로 지급받거나 구매해서 쓰게되면 손에 착착~ 감기게 맞추어둔 개발 환경을 동일하게 맞추는 스트레스가 발생하기 마련입니다.
제가 주력 개발도구로 사용하고 있는 것은 비주얼 스튜디오 코드 Visual Studio Code 입니다. 상용 개발도구가 아닌 부문에서는 이미 압도적인 사용 점유율을 보이고 있는데요, 워낙 이사람, 저사람, 이 글, 저 글을 통해 얻은 정보들로 환경을 셋업해둔 탓에 새로 받은 장비에 설치하기가 겁나더군요.
하지만, 우리의 사랑 마이크로소프트는 비주얼 스튜디오 코드의 개발 환경을 동일하게 맞추어주는 도구를 내장해 두었습니다. 이름하여 <Setting Sync> 기능입니다. 이 기능은 원격지에 비주얼 스튜디오 코드의 환경 정보를 저장하고, 동일한 계정으로 로그인하는 비주얼 스튜디오 코드들에 대하여 환경 정보를 동기화 하도록 합니다.
1단계 - 원본 컴퓨터에서의 작업
당연하겠지만 우리가 제일 먼저 해야 할일은 원본 컴퓨터 혹은 환경 셋업이 되어 있는 컴퓨터에서 개발 환경 정보를 <Setting Sync> 기능을 통해 원격지에 저장하는 것입니다. 비주얼 스튜디오 코드를 실행하고 아래의 단계를 따라하면 손쉽게 설정할 수 있습니다.
<Settings Sync> 기능 활성화하기
우선 <Settings Sync> 기능을 활성화 해보겠습니다. 비주얼 스튜디오 코드의 좌측 하단의 프로필 이미지를 누르면 <Turn on Settings Sync...> 메뉴가 있습니다. 선택해보겠습니다.
잘 동작하는 기능입니다만 아직 프리뷰 Preview 단계이기 때문에 간단한 동의 절차를 거쳐야 합니다. 문서를 읽어 보시거나 <Turn On> 버튼을 눌러 동기화 기능을 활성화 합니다.
<Turn On> 을 누르면 <Settings Sync> 커맨드 팝업이 뜹니다. 동기화할 항목을 선택할 수 있으며 저는 완전히 동일한 환경을 만들기 위해 모든 항목을 선택된 상태 그대로 두었습니다. 로그인 되어 있지 않기 때문에 <Sign in & Turn on>를 눌러 로그인을 하고 동기화 기능을 활성화 하겠습니다.
사용할 수 있는 로그인 방법은 두가지 입니다. 마이크로소프트 계정이나 깃헙 계정을 이용할 수 있습니다. 개발자라면 깃헙 계정을 대부분 가지고 계실테니 저도 깃헙 계정으로 해보겠습니다. 깃헙에서 종종 보셨을 권한 승인 절차를 거치면 연동이 완료됩니다.
승인 절차가 완료되면 비주얼 스튜디오 코드는 선택된 환경 설정에 대한 동기화 작업을 시작합니다. 동기화가 완료되면 비주얼 스튜디오 코드 우측 하단에 알림이 표시되며 <Show log> 링크를 눌러 상세한 동기화 내용을 확인할 수 있습니다.
최초 한번은 이렇게 동기화가 되고 이후 동기화에 대한 설정을 하려면 Mac 기준으로 <shift>+<command>+<p>를 눌러 커맨드 팔레트를 열어 <Settings Sync> 기능을 열어야 합니다. 아래 화면에서 <Show Settings>를 눌러보겠습니다.
사이드바가 열리며 현재 동기화 된 설정의 내용을 확인할 수 있습니다. 이제 원래의 컴퓨터에서 해야 하는 작업은 마무리가 되었습니다. 항상 동기화가 되기 때문에 언제든 원래 컴퓨터에서 환경 설정을 바꾸면 원격지에 동기화되어 다른 컴퓨터에도 변경된 내용이 반영되게 됩니다.
2단계 - 새로운 컴퓨터에서의 작업
새로운 컴퓨터에서의 작업도 크게 다르지 않습니다. 비주얼 스튜디오 코드를 실행하고 깃헙 계정으로 로그인하여 동기화된 환경 설정을 가져오도록 해보겠습니다. 원본 컴퓨터에서 했던 작업과 마찬가지로 프로필 이미지를 눌러 <Turn on Settings Sync...> 메뉴를 실행합니다.
꼼꼼하고 친절한 마이크로소프트는 이번에도 기능이 프리뷰라는 것을 알려주고 정말로 켤 것인지를 한 번 더 확인하게 합니다. 우리는 과감하게 <Turn On>을 눌러 동기화 작업을 하겠습니다. 네, 모든 것이 완전히 동일하니 따로 설명하지 않고 스크린 샷으로 대치하겠습니다.
계정으로 로그인 하고 동기화가 완료되면 원본 컴퓨터에서와 마찬가지로 <shift>+<command>+<p>를 눌러 <Settings Sync> 기능을 열어봅니다. 재미있는 것은 커맨드 팔레트에서 사용했던 히스토리까지 넘어와 있는게 보입니다. 바로 설치한 비주얼 스튜디오 코드인데도 말이죠!
<Settings Sync> 내용을 보면 각 항목이 여러개 나와 있는 것이 보입니다. 같은 항목에 대하여 여러번 동기화가 된 경우 히스토리 성으로 그 내역이 동기화 되고 리스트화 되어 보이는 것으로 추정됩니다 -_-;; (네, 프리뷰입니다 여러분! 오류일수도 있지만 저는 마이크로소프트를 믿습니다!!)
왼쪽 하단의 <Synced Machines> 목록을 보면 원래의 컴퓨터와 새로운 컴퓨터가 목록에 보입니다. 알아보기 힘드니 눈에 익숙하도록 이름을 바꾸어 두었습니다.
이렇게 새로운 장비에 비주얼 스튜디오 코드를 설치하고 기존의 개발 환경을 그대로 옮겨와 봤습니다. 생각보다 쉬운 절차이고 앞으로도 유용하게 사용할 수 있을 것 같은 느낌입니다. 어렵게 한 땀, 한 땀 환경 설정을 옮기지 마시고 쉽게 동기화해서 셋업 시간을 아껴보시기 바랍니다! 보다 자세한 내용은 아래의 공식 문서를 참고하세요!
마이크로소프트가 닷넷을 비롯한 자신들의 플랫폼, 프레임워크 뿐만 아니라 리눅스 진영을 비롯하여 여러 오픈 소스 과제에 적극 참여하는 건 더이상 새로운 소식이 아닙니다. 오히려 거대 IT 기업들 중에서 마이크로소프트만큼 열린 정책으로 생태계를 지원하고 있는 곳이 있을까 싶을 정도입니다. 이런 기조하에서 근래에 발표했던 멀티 플랫폼 코드 에디터인 비주얼 스튜디오 코드(Visual Studio Code)는 하나의 방점을 찍고 있다해도 고개가 끄덕여 집니다.
마이크로소프트는 이 코드 에디터의 멀티 플랫폼에 대한 지원을 넘어서 아예 비주얼 스튜디오 코드를 깃허브에 오픈소스로 공개했습니다. 사실 비주얼 스튜디오가 ATOM 기반으로 만들어졌기 때문에 어느 시점엔가 오픈소스화를 하지 않을까 싶은 생각은 여러 분들이 했습니다만 생각보다 빨리 공개가 된 것 같아서 무척 고무적입니다. 벌써부터 많은 풀 리퀘스트와 이슈 들이 리포팅 되고 있어 비주얼 스튜디오 코드의 코드(?)품질이 더 급격히 좋아지지 않을까 기대해 봅니다~!
마이크로소프트는 최근 비주얼 스튜디오 2015 버전을 공개하면서 ASP.NET 5 와 크로스플랫폼 런타임 환경인 .NET CLR Core 을 공개했습니다. 새로운 버전의 공개에 맞추어 지난 20일 마이크로소프트 닷넷 개발자 블로그 포스팅을 통해 버그 혹은 취약점을 발견하는 이들에게 최대 15,000달러의 포상금을 지급하는 프로그램이 시작됨을 알렸습니다. 버그와 취약점에 대한 리포트는 새롭게 공개된 ASP.NET 5 와 .NET CLR Core 에 대해 적용되며 아직까지 개발이 진행중인 네트워크 스택(Network Stack)은 이번 프로그램에서 일단은 제외된다고 합니다.
마이크로소프트가 이번과 같은 프로그램을 운영했던 적이 있는지 찾아보지는 못했습니다만 근래 메신저 서비스인 텔레그램(Telegram)의 보안 취약점 관련 프로그램이나 라인(LINE)의 버그 바운티(Bug Bounty) 처럼 보다 적극적으로 취약점을 찾고 보완하여 크로스플랫폼 시장에서의 존재감을 만들어 나가겠다는 적극성이 물씬 느껴지는 듯 합니다. 시간이 되시는 분들이나 관심 있으신 분들은 닷넷 코어의 크로스플랫폼 버전에 대해서 심도 있는 지식도 쌓고 포상 프로그램을 통해 금전적인 혜택도 받아볼 수 있는 기회로 만들면 더할나위 없이 좋은 기회일 것 같습니다.
포상금은 취약점 타입별로 몇 가지 등급으로 나뉘어져 있습니다. 단순한 크로스 사이트 스크립트(XSS)와 같은 케이스는 심각도에 따라 500 달러에서 최대 2,000 달러까지 지급되며, 원격 코드 실행(Remote Code Execution)과 같은 심각한 케이스에 대해서는 최대 15,000 달러까지 포상금이 책정되어 있습니다. 보안 취약점을 찾아내어 증명하기 쉬운 것과 어려운 것에 차별점을 두어 보다 심각한 오류, 버그에 대해서는 충분히 그 보상을 해주겠다는 의미로 해석됩니다.
소프트웨어, 어플리케이션을 개발하다 보면 다양한 입력감 검증이나 변수 핸들링, 체계적으로 제한된 위임등을 통해 가능한 불필요한 코드의 영향을 줄이고 테스트 케이스들을 통해 이들이 정상적으로 동작하는지 검증하는 일들을 늘 하게 됩니다. 하지만 사람이 하는 모든 일들이 그렇듯 모든 예외 케이스나 특정한 상황을 다 찾아내어 테스트 하는 것은 거의 불가능합니다. 그래서 늘 패치(Patch)가 존재하고 버그 픽스(Bug Fix)가 필요할 수 밖에 없습니다. 쟁쟁한 사람들이 모여 만들고 테스트하여 출시하는 마이크로소프트에서도 버그 포상 프로그램을 통해 보다 완벽한 환경을 만들고자 하는 것을 보면 창과 방패의 관계처럼 완벽을 "추구"하는 코드와 버그와의 전쟁은 앞으로도 계속 될것만 같습니다!