728x90

개발자의 컴퓨터는 항상 좋은 퍼포먼스를 내는 장비여야 합니다. 개발 도구도 나날이 무거워지고 언어나 런타임시에 사용하는 가상환경도 많은 리소스를 요구하기 때문입니다. 다만 좋은 장비를 새로 지급받거나 구매해서 쓰게되면 손에 착착~ 감기게 맞추어둔 개발 환경을 동일하게 맞추는 스트레스가 발생하기 마련입니다.

제가 주력 개발도구로 사용하고 있는 것은 비주얼 스튜디오 코드 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>를 눌러 로그인을 하고 동기화 기능을 활성화 하겠습니다. 

사용할 수 있는 로그인 방법은 두가지 입니다. 마이크로소프트 계정이나 깃헙 계정을 이용할 수 있습니다. 개발자라면 깃헙 계정을 대부분 가지고 계실테니 저도 깃헙 계정으로 해보겠습니다. 깃헙에서 종종 보셨을 권한 승인 절차를 거치면 연동이 완료됩니다. 

깃헙에서 Continue 를 눌러 주시고...
다시 비주얼 스튜디오로 돌아가도록 팝업 승인을 하거나 토큰 창의 URL 을 브라우저에 붙여넣고...
비주얼 스튜디오 코드에서 Open 을 눌러줍니다.

승인 절차가 완료되면 비주얼 스튜디오 코드는 선택된 환경 설정에 대한 동기화 작업을 시작합니다. 동기화가 완료되면 비주얼 스튜디오 코드 우측 하단에 알림이 표시되며 <Show log> 링크를 눌러 상세한 동기화 내용을 확인할 수 있습니다. 

열심히 동기화를 잘 했군요. 굿좁!

최초 한번은 이렇게 동기화가 되고 이후 동기화에 대한 설정을 하려면 Mac 기준으로 <shift>+<command>+<p>를 눌러 커맨드 팔레트를 열어 <Settings Sync> 기능을 열어야 합니다. 아래 화면에서 <Show Settings>를 눌러보겠습니다. 

사이드바가 열리며 현재 동기화 된 설정의 내용을 확인할 수 있습니다. 이제 원래의 컴퓨터에서 해야 하는 작업은 마무리가 되었습니다. 항상 동기화가 되기 때문에 언제든 원래 컴퓨터에서 환경 설정을 바꾸면 원격지에 동기화되어 다른 컴퓨터에도 변경된 내용이 반영되게 됩니다. 

 

2단계 - 새로운 컴퓨터에서의 작업

새로운 컴퓨터에서의 작업도 크게 다르지 않습니다. 비주얼 스튜디오 코드를 실행하고 깃헙 계정으로 로그인하여 동기화된 환경 설정을 가져오도록 해보겠습니다. 원본 컴퓨터에서 했던 작업과 마찬가지로 프로필 이미지를 눌러 <Turn on Settings Sync...> 메뉴를 실행합니다.

꼼꼼하고 친절한 마이크로소프트는 이번에도 기능이 프리뷰라는 것을 알려주고 정말로 켤 것인지를 한 번 더 확인하게 합니다. 우리는 과감하게 <Turn On>을 눌러 동기화 작업을 하겠습니다. 네, 모든 것이 완전히 동일하니 따로 설명하지 않고 스크린 샷으로 대치하겠습니다. 

<Turn On> 을 누르고...
<Sign in & Turn On> 을 누르고...
원본 컴퓨터에서 쓴 것과 동일한 계정을 선택하고...
여기까지 왔는데 승인 안하면 안되니 <Continue>를 누릅니다.
스샷이 하나 빠졌는데... 여튼 확인하고 <Open>합니다.
동기화가 빠르게 완료되었네요!

계정으로 로그인 하고 동기화가 완료되면 원본 컴퓨터에서와 마찬가지로 <shift>+<command>+<p>를 눌러 <Settings Sync> 기능을 열어봅니다. 재미있는 것은 커맨드 팔레트에서 사용했던 히스토리까지 넘어와 있는게 보입니다. 바로 설치한 비주얼 스튜디오 코드인데도 말이죠!

<Settings Sync> 내용을 보면 각 항목이 여러개 나와 있는 것이 보입니다. 같은 항목에 대하여 여러번 동기화가 된 경우 히스토리 성으로 그 내역이 동기화 되고 리스트화 되어 보이는 것으로 추정됩니다 -_-;; (네, 프리뷰입니다 여러분! 오류일수도 있지만 저는 마이크로소프트를 믿습니다!!) 

왼쪽 하단의 <Synced Machines> 목록을 보면 원래의 컴퓨터와 새로운 컴퓨터가 목록에 보입니다. 알아보기 힘드니 눈에 익숙하도록 이름을 바꾸어 두었습니다. 

 


이렇게 새로운 장비에 비주얼 스튜디오 코드를 설치하고 기존의 개발 환경을 그대로 옮겨와 봤습니다. 생각보다 쉬운 절차이고 앞으로도 유용하게 사용할 수 있을 것 같은 느낌입니다. 어렵게 한 땀, 한 땀 환경 설정을 옮기지 마시고 쉽게 동기화해서 셋업 시간을 아껴보시기 바랍니다! 보다 자세한 내용은 아래의 공식 문서를 참고하세요!

code.visualstudio.com/docs/editor/settings-sync

 

Settings Sync in Visual Studio Code

Synchronize your user settings across all your Visual Studio Code instances.

code.visualstudio.com

 

728x90
728x90

마이크로소프트는 최근 비주얼 스튜디오 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)가 필요할 수 밖에 없습니다. 쟁쟁한 사람들이 모여 만들고 테스트하여 출시하는 마이크로소프트에서도 버그 포상 프로그램을 통해 보다 완벽한 환경을 만들고자 하는 것을 보면 창과 방패의 관계처럼 완벽을 "추구"하는 코드와 버그와의 전쟁은 앞으로도 계속 될것만 같습니다!


닷넷 코어 CLR 및 ASP.NET 5 버그 포상 프로그램 포스팅 살펴보기 [바로가기]

버그 포상 프로그램 상세 시상(?) 내역 및 범위 살펴보기 [바로가기]


728x90
728x90

세계적으로 클라우드 서비스를 제공하는 사업자들은 무척 많습니다. 각 사업자들은 각자의 컨셉과 목표를 가지고 클라우드 서비스를 만들고 제공하고 있는데요 아마존의 AWS, 마이크로소프트의 애져(Azure) 등이 대표적입니다. 아마존의 경우 인프라스트럭쳐(IaaS)에 대한 가상화와 클라우드화를 기치로 내걸고 사업을 시작하여 지속적으로 플랫폼의 영역(PaaS)으로 올라오는 중이며 마이크로소프트의 경우 개발자들이 보다 쉽게 개발된 서비스와 코드를 사용자에게 제공할 수 있도록 플랫폼에서 시작하여 인프라스트럭쳐의 영역으로 내려오는 전략을 가져가고 있습니다.


마이크로소프트는 자사의 제품들을 전반적으로 실물 제품에서 가상의 제품, 클라우드화를 지속적으로 진행하고 있기 때문에 이의 연장선상에서 애져의 시장 전략을 가져가고 있습니다. 엊그제 진행된 애져컨(Azure Con)의 키노트에서 마이크로소프트가 꿈꾸는 클라우드 서비스와 방향성을 볼 수 있는 좋은 내용들이 무척 많이 나왔습니다. 그 중에서도 가장 눈에 띄는 것은 아무래도 컨텐츠 전송 부문에서의 협력을 글로벌 CDN 1위 사업자인 아카마이(Akamai)와 한다는 발표가 아닐까 싶습니다.






키노트 세션이었기 때문에 기존의 CDN 을 유지하면서 아카마이의 글로벌 foot-print 를 활용하는 전략인지 아니면 기존의 협력관계였던 EdgeCast 와의 관계를 청산하고 아카마이를 전면에 내세우는 것인지는 자세히 소개되지 않았습니다. 다만 올해 하반기 까지는 제한적으로 고객들을 선별하여 애져 플랫폼 및 상품들과 아카마이를 통한 CDN 을 구현하는 작업을 진행하는 것으로 보이며 일반 고객들이 쓸 수 있는 GA (General Availability)는 내년 초가 되어야 할 것으로 보입니다.





마이크로소프트와 아카마이는 9월 29일 화요일 나란히 이러한 협력관계가 시작되었음을 알리는 공식 블로그 포스팅을 공개했습니다. 클라우드 환경으로 컴퓨팅 자원을 제공하는 회사들, 그 회사들의 서비스를 이용하는 고객들의 공통적인 고민은 "어떻게 글로벌 엔드유저들에게 전송을 빠르게 할 수 있을 것인가?" 입니다. 컴퓨팅 자원을 여러 리전(Region)에 나누어 서비스 하는 것은 쉬운 접근이겠지만 이들의 관리와 형상 유지, 라스트 마일(Last Mile)구간에서 발생하는 속도 이슈에 대한 해결은 쉽지 않은 문제입니다.


이를 위해서 아마존은 클라우드 프론트(Cloud Front)라는 자체 CDN 서비스를 제공하고 애져는 CDN 사업자와의 제휴를 통해 이를 해결하는 비즈니스 모델을 가지고 있습니다. 어떤 접근이 맞고 틀리는지, 혹은 더 좋고 나쁜지는 상황에 따라 다르겠지만 마이크로소프트 애져가 글로벌 1위 사업자인 아카마이와 제휴하여 서비스를 제공하는 것이 더 나은 모델이지 않나 하는 생각이 듭니다.





728x90
728x90

미국시간으로 4월 29일 부터 3일간 샌프란시스코에서 마이크로소프트의 개발자 컨퍼런스인 빌드(Build) 2015가 개최됩니다. 예년의 행사가 그러했듯 이번 행사도 다양한 주제로 마이크로소프트의 기술을 비롯하여 업계의 동향을 알아볼 수 있는 알찬 세션들이 준비된 것 같습니다. 직접 현장에서 참석하지 못하는 아쉬움은 채널9 등 여러 채널을 통해서 달래야 할 것 같습니다. 너무 많은 주제가 다루어지기 때문에 무턱대고 세션 제목만 보고 뛰어들기 보다는 마이크로소프트가 가이드하는 난이도에 따라 세션을 선택하면 좋을 것 같습니다.





워낙 다양한 주제가 다루어지기 때문에 어떤 특정한 주제가 핵심이다라고 말하긴 힘들겠습니다만 여러 사업들 중에서 가장 순항을 하고 있는 애져(Azure)와 곧 출시될 윈도10(Windows 10)이 많은 주제들의 중심에 서 있는 건 확실해 보입니다. 두가지 주제가 아무래도 개발자들이나 IT 종사자들 사이에서 가장 관심있는 주제가 될 수 밖에 없나 봅니다. 마이크로소프트 입장에서도 강한 녀석들이 더 강해질 수 있도록 지원사격 하는 것이 당연한 이치일 것이겠구요!



한편 너무 많은 세션들을 어떻게 골라서 들어야 할지 모르겠다 싶으시다면 빌드 모바일 앱을 이용해서 알람도 미리 받고 스케쥴링도 해보시면 도움이 많이 된다고 합니다. 저도 아직 써보지는 않았지만 빌드 컨퍼런스 참여하는 분들에서부터 원격으로 듣는 분들까지 스케쥴링을 위해서는 필수적으로 쓰면 좋은 앱이라고 하니 한번 이용해 보시기 바랍니다!


채널9에서 빌드 컨퍼런스 일정 등 자세히 살펴보기 [바로가기]

빌드 2015 공식 웹사이트 [바로가기]

빌드 공식 모바일 앱 다운로드 [바로가기]



728x90

+ Recent posts