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
오랜만에 포스팅을 올립니다 :-)
마이크로소프트가 제공하는 윈도우폰7 트레이닝 세션을 보기 시작했습니다.
시작하면서 세션 발표자들께서 좋은 링크들을 많이 공유해 주시네요

아무리 윈도우폰7이 실버라이트와 블렌드를 잘 써야한다고 해도
그 기저에는 C# 이 있다는 것을 부인할 사람은 아무도 없습니다.
본격적으로 윈도우폰7 개발을 공부하기 전에 C# 을 정리해보는 것은
상당히 의미있는 시간이 될 것으로 생각되네요!


위 웹사이트에서 C# Yellow Book 이라는 컨텐츠를 무료 배포하고 있습니다.
잘 아시는 분들도 Remind 하시는 차원에서 한번쯤 보시면 좋을 것 같네요!
귀차니즘을 극복하시려면 아래 링크로 책을 받으시면 됩니다 :-)


- NoPD -
728x90
728x90
C# 3.0 에서 새롭게 도입된 Lambda 표현식을 사용하면 코드를 정말 간단하게 표시할 수 있는 장점이 있습니다. 델리게이트가 세상에 처음 나타난 이래 이는 정말 많은 프로그램과 개발자들에게 형언할 수 없는 아름다운 생활을 할 수 있는 "기회"를 주었습니다. 물론... 기회에는 반대급부가 따랐지만 말이죠.. 쿨럭... 여튼... 아래의 간단한 세가지 코드를 보면서 코드가 아름다워지는 광경을 한번 보도록 하겠습니다.

Named 메서드의 사용
IEnumerable<string> filteredList = cities.Where(StartsWithL);

public bool StartsWithL(string name)
{
    return name.StartsWith("L");
}

자주 보시던 스타일의 코드입니다. cities 어레이에 들어 있는 값들 중 L 로 시작하는 값을 얻어오는 코드지요. string 클래스의 확장 메서드인 Where 의 도움을 받아 StartsWithL 메서드가 Where 절의 역할을 하고 있습니다.

익명 Delegate의 사용

별도로 메서드를 만들어서 호출하는 것도 나쁘지 않습니다만 이왕이면 코드를 간결하게 유지하기 위해 익명 Delegate를 많이들 사용하실 겁니다. Named 메서드 사용하던걸 익명 Delegate 로 바꿔보겠습니다.

IEnumerable<string> filteredList = cities.Where(
            delegate(string s)
            {
                return s.StartsWith("L");
            }
일단 메서드가 하나 줄어서 기분이 좋습니다 ^^; 익명 Delegate 를 이용해서 위처럼 간단하게 inline 으로 처리를 할 수 있습니다. 그런데 코드가 지저분한 것이 별로 보기가 좋지 않습니다. 이를 람다 표현식으로 바꾸어 보도록 하겠습니다

Lambda 표현식의 사용

IEnumerable<string> filteredList = cities.Where(s => s.StartsWith("L"));
아주 깔끔하게 한줄러 코드를 줄였습니다. 닷넷이 제공하는 컴파일러는 생각보다 똑똑해서 s 라는 변수가 당연히 cities의 타입을 따라간다는 것을 알고 있습니다. 인텔리센스도 실시간으로 당연히 잘 동작하겠지요.

- NoPD -
728x90
728x90
여러분들은 지금 어떤 개발도구를 사용하고 계시나요? 자바(Java) 개발을 하신다면 이클립스(Eclipse)를 사용하실거고 iPhone 이나 iPad 용 어플리케이션을 개발하신다면 Xcode 를 사용하고 계실거라 생각됩니다. 마이크로소프트의 운영체제와 디바이스 개발을 하신다면? 네, 개발도구의 대명사인 Visual Studio 2010 을 사용하고 계실겁니다.

개(?)간지나는 구슬리 형


마이크로소프트가 오는 12일, 라스베이거스에서 열리는 " Visual Studio 컨퍼런스 & 엑스포 " 행사에서 공식적인 VIsual Studio 2010 의 런칭 행사를 갖는다고 합니다. 그동안 Channel 9 의 10-4 를 통해서 VIsual Studio 10 과 .NET Framework 4 에 대한 소식이 많이 전해졌었는데요, 이번 행사를 통해서 그 장대한 막이 올라갈 예정입니다.

Visual Studio 2010 과 함께 실버라이트 4, WPF, WCF, .NET Framework 4 등 유관 기술에 관한 다양한 세션도 진행된다고 합니다. 윈도우 7 출시이후 최적의 개발도구가 아직 준비되지 않은 느낌이습니다만 VS 2010 발표와 함께 수많은 정보들과 기술들이 더 많이 공개될 것으로 생각됩니다. 공부할게 더 많아지는 것이지만 즐겁게 받아들여야 겠지요?

관련링크 : http://www.devconnections.com/shows/SP2010VS/default.asp?s=144

- NoPD -
728x90

+ Recent posts