2010.03.02 09:00
IconWorkshop Lite라는 툴입니다. Visual Studio에 추가로 설치되는 추가 Add-in 성격의 툴로 png 타입의 아이콘을 디자인 할 수 있게 해주는 툴입니다. Visual Studio 2008 이상의 버전이 요청된다고 합니다.
http://msdn.microsoft.com/en-us/visualc/cc835041.aspx


저작자 표시 변경 금지
신고
2009.12.07 11:45
언제인지도 모르게 이런 동영상들을 만들어 두었었네요 제가 MVP시절 촬영한 영상도 있습니다. ^^
먼저 1편은 Multi target support에 대한 기능 설명입니다.

두 번째 동영상은 Visual Studio 2008의 웹 프로그래밍 방법에 대한 동영상입니다.
세 번째 동영상은 UX와 관련된 개발을 하기 위해서 필요한 내용들이 무엇인가를 지퍼보는 동영상입니다.

저작자 표시 변경 금지
신고
2009.12.07 09:00

Visual Studio 2008 Bible

.NET 2009.12.07 09:00


Version 1.0 2009-12-06


Visual Studio 2008은 코드네임 Ocas로 2007년 9월 19일 출시되었다. .NET Framework 3.5와 함께 출시되었으며 서비스 팩 1은 2008년 8월 11일 출시되었다. Visual Studio 2008은 내부적으로는 9.0의 버전을 가지고 있다.
 Visual Studio 2008은 Windows Vista용 응용 프로그램의 개발에 촛점을 맞추고 있었으며 지금은 Windows7 용 Windows SDK를 설치하게 되면 Windows7을 지원할 수 있다. Office 2007과 웹 어플리케이션 그리고  WPF(Windows Presentation Foundation)와 HTML/CSS 를 위한 새로운 비주얼 디자이너가 포함되어 있다.

 Visual Studio 2008은 .NET Framework 3.5 버전이 기본으로 포함되어 있으며 2.0, 3.0 버전도 한꺼 버전에 지원한다. 이를 multi-targeting 이라고 부른다.  Silverlight CoreCLR or .NET Compact Framework 와 같이 RIA나 혹은 Mobile 관련된 개발을 지원하고 있을 뿐 아니라 새로운 code analysis 툴과 Code Metrics 툴 (Team Edition and Team Suite Edition 버전만 지원)을 사용할 수 있다.
 Visual C++ 개발자를 위해서 새로운 버전의 Microsoft Foundation Classes (MFC 9.0)을 제공하고 있다. MFC 9.0 에서는 Vista를 위한 visual styles과 UI controls이 제공되고 있다. Native와 Managed 코드가 통합되어 있으며  Visual C++ introduces the STL/CLR, C++ Standard Template Library (STL) 컨테이너 and Managed  코드 알고르즘. STL/CLR defines STL-like containers, iterators and algorithms that work on C++/CLI managed objects 등 많은 요소가 새롭게 포함되어 있다. 

이외에도 아래에서 설명하는 몇 가지 기능들이 새롭게 추가 되어 있다. 

 Visual Studio 2008에서는 XAML based designer (codenamed Cider), workflow designer, LINQ to SQL designer (for defining the type mappings and object encapsulation for SQL Server data), XSLT debugger, JavaScript Intellisense support, JavaScript Debugging support, support for UAC manifests, a concurrent build system, among others.[65] It ships with an enhanced set of UI widgets, both for Windows Forms and WPF. It also includes a multithreaded build engine (MSBuild) to compile multiple source files (and build the executable file) in a project across multiple threads simultaneously. It also includes support for compiling PNG compressed icon resources introduced in Windows Vista. An updated XML Schema designer will ship separately some time after the release of Visual Studio 2008.[66]

The Visual Studio debugger includes features targeting easier debugging of multi-threaded applications. In debugging mode, in the Threads window, which lists all the threads, hovering over a thread will display the stack trace of that thread in tooltips.[67] The threads can directly be named and flagged for easier identification from that window itself.[68] In addition, in the code window, along with indicating the location of the currently executing instruction in the current thread, the currently executing instructions in other threads are also pointed out.[68][69] The Visual Studio debugger supports integrated debugging of the .NET Framework 3.5 BCL. It can dynamically download the BCL source code and debug symbols and allow stepping into the BCL source during debugging.[70] Currently a limited subset of the BCL source is available, with more library support planned for later in the year.

-참고 자료-
Visual Studio 2008 백서

.NET Framework 3.5 OverviewVisual Studio 2008 제품 가이드(영문)
Visual Studio 2008을 소개하는 동영상 http://winkey.tistory.com/294

저작자 표시 변경 금지
신고
2008.07.17 08:00

ASP.NET MVC에 관한 두 번째 동영상입니다. ASP.NET MVC Project 구조에 대해서 설명하고 있습니다.
신고
2008.07.16 08:10



ASP.NET MVC Patten에 대해서 설명하는 동영상입니다.
 
신고
2008.07.09 13:42
사용자 삽입 이미지
MVC모델에 관해서 한 번쯤 들어 보신 분들이 많을 것 같습니다. 사실 MVC 모델이라는 것은 난데없이 하늘에서 뚝 떨어진 기술이 아니라 꽤 오래된 기술중에 하나 입니다. MVC모델이 제일 처음 나타난 것은 언어학 개론에서나 들어 본듯한 Small talk라는 언어에서 부터 였습니다.  하나의 프로그래밍 모델을 Model, View, Controller로 구별해서 코딩을 하면 전체적인 복잡성이 해소되고 유지 보수 및 테스트에 있어서 탁월한 효과를 나타 낼 것이라는 생각에서 시작한 것 같습니다.
 다시 말해서 Software 산업에서 일반화된 기술중에 하나이며 오랫 시간 동안을 거치면서 여러 언어들로 구현되고 입증된 패턴중에 하나라고 말 할 수 있습니다.

MVC 모델에서 이야기 하고 있는 Model, View, Controller의 역할을 다음과 같이 정의할 수 있습니다.

- Model: 일반적으로 해당되는 Application의 주요 데이터 모델을 이야기 한다. 특정 사용자 정의 클래스가 될 수도 있고 혹은 Entity가 될 수도 있다.
-View: 직접 데이터를 노출하기 위한 부분으로 이 부분을 통해서 실제 데이터를 노출하고 사용자와 Interface를 할 수 있게 하는 실질적인 UI부분을 말한다.
-Controller: Model과 View를 연결하거나 혹은 데이터를 가지고 와서 Model에 채워 넣거나 혹은 사용자가 입력한 데이터를 실제로 반영하는 등 실질적인 로직이 모두 포함되어 있는 곳이다.

사실 MVC의 가장 큰 테마는 UI와 논리 코드를 구분하는데 있습니다. UI 와 논리적인 코드가 함께 혼용되어 있을 경우에 유지보수와 단위 테스트가 매우 어렵고 난해해 지는 문제가 있습니다. MVC는 이와 관련한 문제를 해결할 수 있는 적절한 해법을 제공해주고 있는 점에서 높이 평가되고 있습니다.
 웹과 관련된 개발환경에서 MVC 모델이 각광받고 있는 이유는 웹이라는 환경이 온 갖 기술이 범벅되어 있기 때문인 이유가 가장 클 것입니다. 기본적으로 웹과 관련된 개발을 하기 위해서는 HTML과 Java Script는 물론이고 기반되는 CGI, ASP.NET(or ASP), PHP, JSP와 같은 웹 프로그래밍 기술, 그리고 N-Tier 구조나 Database에 이르기 까지 어느 하나 만만한 것이 없습니다. 그걸 패턴과 모델로 잘 구별해서 정리할 수 있는 MVC는 처음부터 웹을 위해서 설계해 놓은 것 같이 깔끔한 구조가 웹과 잘 맞아 떨어집니다.

 ASP.NET에서도  MVC모델을 사용할 수 없었던 것은 아니지만 공식적으로 ASP.NET에서 MVC를 지원하는 것은 이번이 처음입니다. 앞으로 ASP.NET과 관련된 강좌를 몇 회 진행할 예정입니다. ^^
신고
2008.06.26 16:23
최근에 어느 한 고객사에 방문한 적이 있었습니다.
해당 고객사는 이제까지 닷넷을 한번도 도입한 적이 없다가 이번에 처음 도입하는 업체였는데
어떻게 어디서 부터 시작해야 하는지 부터가 막막한 상황처럼 보였습니다.

일단 기존의 프로젝트를 닷넷으로 마이그레이션을 하기 시작했다고 해서 작업을 진행하는 개발자들의 동선을 관찰하면서 이야기 하다가 뭔가 개발 방법이 잘못된 점을 발견했습니다. 개발자들은 페이지 혹은 폼 단위로 맹목적으로 반복해서 개발을 하고 있었던 것이 었습니다.

최소한의 규모만 되어도 업무를 위한 프레임웍을 자체적으로 개발하던지 혹은 컨설팅을 받아서 도입하던지 하는게 이제까지 일반적인 개발의 전형이었기 때문에 이와 같이 순전히 날코딩으로 프로젝트를 하는 경우는 참으로 오랫만에 보는 광경이었습니다. 그날 저는 몇 가지 Framework에 대해서 소개해를 해드리고 나오긴 했지만 뒷끝은 생각보다 씁씁하기만
했습니다.

한국의 닷넷 개발자들이 가져야하는 Framework 개념은 과연 어떤 것일까요?
대부분 프로젝트에 가면 이미 해당 업체가 가지고 있는 프레임웍이 있거나 혹은 외부에서 프레임웍을 컨설팅할 수 있는 업체가 컨텍되어 있는 경우가 대부분 입니다.
개발자들은 이미 정해져 있는 문서대로 개발하고 나오기를 반복하는 동안 정작 중요하게 생각해야 하는 기본적인 베이스를 확보하지 못하는 경우들이 많이 있습니다. 프레임웍 기반의 개발방법론이라는 거창한 이름을 굳이 붙이지 않더라도 단순 코딩만으로는 금방 한계에 부딛히거나 크게 성장하기 어렵습니다.

닷넷에서도 쓸만한 프레임웍프로젝트가 많이 있습니다.
코드 플랙스(www.codeplex.com )에서는 오늘도 새로운 닷넷 오픈 소스 프로젝트들이 올라오고 있고 개선되고 있습니다. 여기에 S#arp Architecture(http://www.codeplex.com/SharpArchitecture)도 재미있을 것 같습니다.

닷넷 개발자들에게도 프레임웍 기반의 개발이 소수의 전유물이 아니라 대부분의 개발자들에게 개발의 즐거움을 주고 좋은 대우를 받을 수 있는 또 하나의 조건이 될 수 있었으면 좋겠습니다.

전 개인적으로는 S#arp Architecture가 눈에 들어오는 군요.. ^^

신고
2008.06.18 11:46
WCF Development Improvements

.NET 3.5 SP1에서는 WCF와 관련된 개선사항도 꽤 많이 있다.
  • Hosting 되고 있는 응용 프로그램이 상당히 유연해 졌으며 서비스의 확장이 용의해 졌습니다.
  • WCF contract에서 ADO.NET의 Entity Framework이 사용할 수 있게 수정되었습니다.
  • Data Contract seializer, UriTemplate, WCF web programming model의 API 변경
  • Visual Studio 2008 SP1의 testClient 개선
  • WCF 서비스 프로젝트에서 Visual Studio 2008 SP1에서 Hosting Wizard 기능이 추가되었습니다.
  • 파샬 트러스터의 디버그 기능이 향상되었습니다.

VB and C# Improvements

VB와 C# 개발팀도 몇 가지 개선 사항을 포함 시켰다고 합니다.

Visual Basic
Visual Basic project 에서 "XML to Schema" 아이템을 추가할 수 있게 되었습니다. 흔히 우리가 API등을 개발할 경우에 XSD Schema를 많이 다루게 되는데 이럴 경우 유용하게 사용할 수 있을 것 같습니다. 큰 변화라고 하면 여러 가지 XML 소스로 부터 XSD Schema Set을 생성할 수 있는 마법사가 제공되는 점입니다.
이와 관련한 자세한 내용은

http://msdn.microsoft.com/en-us/vbasic/bb840042.aspx 여기서 볼 수 있습니다.

물론 지금 버전의 XSD 브라우저도 VS2008 SP1에 포함되어 있어서 XSD Schema Set을 검색할 수 있게 되어 있지만 최종적으로  SP1이 출시될 때에는 "XML Sehema 이동"과 같은 기능을 통해서 XSD 브라우저를 열어서 VB 프로젝트에서 Schema Set을 표시할 수 있게 된다.

C#
C#은 시멘틱 코드 이슈와 같이 컴파일 이전에는 확인할 수 없었던 코드 이슈를 바로 출력할 수 있게 되었다.

사용자 삽입 이미지
<그림1>정확하지 않은 타입에 대한 이슈 표시
사용자 삽입 이미지
<그림2> LINQ와 관련된 이슈의 출력

LINQ는 와 관련되어서 Result View를 Debug 창에서 볼 수 있게 되었습니다. Debug 창에서 노드를 확장해서 LINQ문장을 평가하고 구체적인 내용을 확인할 수 있게 되었습니다.

Team Foundation Server Improvements

Team Foundation Server와 관련된 변경 사항은 아래 주소를 참조하시면 됩니다.
http://blogs.msdn.com/bharry/archive/2008/04/28/team-foundation-server-2008-sp1.aspx

정리
.NET Framework SP1 은 많은 변화가 있었고 단순한 버그 수정 수준이 아닌 새로운 요구사항들을 충실하게 반영한 결과물로 나온것 같습니다. SP1은 올 여름에 정식으로 나올 것 같고 영문 판에 이어서 곧 한글 판도 함께 출시 될 것 같습니다.

여기와 관련해서 오프라인 세미나를 진행했었는데 관련 웹 케스트를 보시려면
http://www.microsoft.com/korea/eseminar/content.aspx?page=1&num=1318&CateID=&searchstring=&category= 여기에서 볼 수 있습니다.

감사합니다.
사용자 삽입 이미지

신고
2008.06.17 11:30
Data Development Improvements

.NET Framework 3.5의 경우 새로운 개념의 Database와 관련한 기능들이 많이 포함되어 있습니다.
ADO.NET도 Entity Framework이 포함되어 있는 등 구조적인 변화가 많이 있습니다. 물론 기존에 활용하던 ADO.NET은 그대로 제공됩니다. Entity Framework의 경우는 Entity Data Model의 정의나 코딩이 가능하도록 제공되는 기능으로 관련된 Entity Designer가 함께 포함되어 있어서 모델링을 지원하게 되어 있습니다.

ADO.NET Entity Framework and LINQ to Entities:

ADO.NET Entity Framework 및 Visual Studio 2008 Entity Framework Designer는 상당한 유연성을 가지고 있어서 Database에 종류에 상관없이 동일한 방법으로 사용할 수 있게 되어 있습니다. 알려진 바에 따르면 (Orcale, DB2, MySQL, PostgreSQL, SQL Lite, VistaDB, Informix, Sysbase 등등) 모두 지원된다고 한다.
사용자 삽입 이미지
<그림 1> ADO.NET Entity Framework Designer

ADO.NET Data Services (formerly code-named "Astoria")

SP1에는 코드명 Astoria로 제공되는 유연한 프레임웍이 포함되어 있습니다. 이 프레임웍의 역할은 REST기반의 데이터 서비스를 쉽게 생성할 수 있게 해 줍니다. ADO.NET Data Service Framework은 표준적인 REST URI문법을 기반으로 데이터를 제공하고 HTTP기반의 작업을 제공할 수 있는 구조로 되어 있습니다.

여기까지만 봐서는 어떤 내용인지 와 닿지 않을 것 같습니다. 정리를 하자면 위에서 설명한 Entity Framework과 연결하면 Enttity 기반의 데이터를 쉽게 표준적인 형태로 공개할 수 있는 구조를 쉽게 개발할 수 있게 되었습니다.
신고
2008.06.17 07:19
WPF Performance Improvements

SP1 beta1에서는 WPF와 관련된 변화내용들이 상당히 많이 있습니다.
그 중의 대표적인 몇 가지를 추려 보면 아래와 같은 내용들을 볼 수 있습니다.

  • 자연스럽운 동영상 재생
  • Blur, DropShadow와 같은 Bitmap Effect 그리고 이런 효과들을 GPU 사용
  • 문자의 Rendering 속도의 개선인데 특히 Visual Brush에서 많이 개선
  • 2D Graphic 개선
  • 동시적인 Window의 성능 개선

이외에도 몇 가지 효과들이 함께 포함되었는데 이와 관련한 사항들은 아래에서 하나씩
짚어 보도록 하겠습니다.
아무튼 간단하게 볼 수 있는 WPF와 관련된 개선 사항은 ListView, ListBox, TreeView에서의 성능 개선을 들 수 있습니다. 스크롤시 성능 개선 사항이 40%라고 하고 있는데 내부적으로는 큰 개선이 있었던건 아닌것 같습니다. 어찌되었던 최적화를 통해서 스크롤의 성능 개선이 충분히 이루어진 것 뿐만 아니라 추가적인 혜택도 볼 수 있을 것 같습니다.

WPF Data Improvements

SP1에서는 Data Binding과 관련한 개선사항들이 있는데

  • 바인딩시에 StringFormat 을 사용할 수 있게 되었습니다.
  • ItemsControl은 List관련 컨트롤에서 하나의 아이템을 나타낼 때 사용하는 컨트롤인데 이와 관련된 바인딩이 개선되어서 관련된 행값의 속성 설정이 간단하게 처리됩니다.
  • Null값의 처리와 변환을 편집 가능한 컨트롤로 지원합니다.
  • 바인딩 항목에 대해서 Validation을 적용할 수 있습니다.
  • 멀티 선택이 가능합니다.
  • 항목의 편집, 추가, 삭제의 트렌젝션을 가능하게 IEditableCollectionView가 제공됩니다.
  • IEnumeratble 형식의 소스에 대하 바인딩 성능이 개선되었습니다.

올해 후반에 나올 기능으로는 Hook이라는 기능이 추가로 제공될 예정입니다. 이 기능을 사용하게 되면 가상 스크롤을 고유의 패널로 사용할 수 있게 되며 이를 통해서 WPF DataGrid를 구축할 수 있게 될 예정입니다.

WPF Extensible Shader Effects

SP1 Beta1에서는 새로운 음용효과와 아키텍쳐가 제공됩니다. WPF컨트롤이나 요소에는 좀더 시각적인 효과를 만들어서 적용할 수 있게 되엇습니다. 이런 효과들은 몇 가지 형태를 함께 사용할 수 있어서 좀 더 효과적입니다. 특히 이런 효과들의 처리를 CPU에서 처리하지 않고 Video Card에 내장된 GPU를 적극적으로 활용할 수 있게 된 점은 아주 고무적이라고 할 수 있습니다. 전체적으로 WPF의 표현은 좀 더 자유롭게 하면서 성능적으로는 더 가볍게 하는 장점이 있습니다.

간단하게 음영효과를 주기 위해서는 아래와 같은 코드를 입력하시면 됩니다.

사용자 삽입 이미지
<그림1> DropShadowEffect의 적용코드

사용자 삽입 이미지
<그림2> DropShadowEffect의 실행 모습

간단한 그림자 효과이지만 생각하기에 따라서는 다양한 효과로 함께 연출할 수 있다는 생각을 꼭 가지면 좋겠다는 생각이 듭니다. DropShadowEffect의 경우는 여러가지 객체들과 함께 사용할 수 있기 때문에 다양한 아이디어를 구사할 수 있는 장점이 있습니다.
사용자 삽입 이미지
사용자 삽입 이미지
<그림3> DirectionalBlurEffect를 사용해서 빠른 스크롤을 효과적으로 표현하는 예

이외에도 몇 가지 효과들이 더 추가 되었는데 이와 관련한 포스팅은 Greg Schechter의 블로그인
http://blogs.msdn.com/greg_schechter/archive/2008/05/09/a-series-on-gpu-based-effects-for-wpf.aspx 를 접속해 보면 자세한 내용을 확인 할 수 있다.

WPF Interoperability with Direct3D

WPF나 Direct3D는 모두 Direct X기반의 기술이다. Direct X기반의 기술들이라는 공통된 부모가 있으면서도 상호 운영에서 있어서 이제까지 한계점이 있었는데 SP1 부터는 직접적으로 이들을 함께 운영할 수 있는 방법을 제공해 주고 있습니다. 사실 Direct3D는 질감 표현이 뛰어난데 WPF와 DirectX를 함께 사용할 수 있기 때문에 여러가지 의미있는 도전들을 새롭게 생각해 낼 수 있게 되었습니다.
사용자 삽입 이미지
사용자 삽입 이미지
<그림 5> Direct X기반의 WPF와 Direct 3D의 상호 운영

VS 2008 for WPF Improvements

Visual Studio 2008 SP1을 통해서 WPF 프로젝트와 Designer가 많이 향상되었습니다.

  • 성능 개선
  • 속성 브라우저의 이벤트 탭
  • 속성 브라우저의 알파벳순 정렬
  • 폼 레이아웃에 대한 마진 설정 법
  • TabControl, Expander, Grid의 Designer 개선
  • XAML도 Update (코드를 리펙토링으로 초기화 함으로 가능함)
  • XAML로 선언된 지점으로 점프 및 참조 검색 지원

이외에 디버거도 런타임 오류가 일어나는 몇 케이스가 해결되었습니다.

사용자 삽입 이미지
<그림6> Visual Studio 2008 SP와 관련한 오류 케이스

신고