닷넷

Web Name: 닷넷

WebSite: http://ttjkim.egloos.com

ID:240427

Keywords:

,닷넷

Description:

keywords:닷넷
description:
닷넷

ttjkim.egloos.com

Egloos | Log-in


2007년 11월 30일 Silverlight 2.0

오랜만에 포스팅하게 되는군요.저는 요새 모든 관심이 실버라잇에 가 있습니다. 기존의 웹과 데스크탑 애플리케이션의 중간정도로 이해하시면 될 것 같습니다.여러분들도 관심을 한 번 가져보시는 것이 좋을듯 합니다. 관심이 있는 분들은 [관련 카페]에 들려보시기 바랍니다. 아래는 카페에 관련 소식을 일부 번역해서 올린 내용입니다.

간밤에 '거쓰리'가 닷넷 웹 제품들의 개발일정을 발표했습니다. 관심이 가는 실버라잇에 대한 내용만 일부 번역했습니다.내년 1사분기에 베타를 출시한다고 하네요. MIX '08이 3월 초로 잡혀 있으니 그 때가 베타 출시가 될 가능성이 높을 것으로 추측을 해봅니다. 그런데 프리뷰에 대한 언급을 하는 것으로 봐서는 그 이전에 프리뷰가 나올것 같은데, 이에 대한 자세한 언급이 없어서 좀 더 기다려 봐야 할 것 같습니다.
.NET Web Product Roadmap (ASP.NET, Silverlight, IIS7)Last week we shipped Visual Studio 2008 and .NET 3.5. This release is a big one for .NET, and delivers a ton of new capabilities and improvements for web, client, office and mobile development.Over the next few months we'll be delivering a series of additional products that build on top of this VS 2008 and .NET 3.5 foundation, and make .NET development even better. Below is a road-map of some of the upcoming initiatives and releases for .NET web development that my team is currently working on for the months ahead:Releasing the Source Code for the .NET Framework LibrariesWe announced last month that we'll provide the ability for developers to download and browse the source code of the .NET Framework libraries, as well as enable integrated source debugging of them using Visual Studio 2008. You can learn more about this in my blog post here.We are finishing up the final deployment of the source servers that host this now, and will be publishing instructions on how to enable the integrated debugging experience within Visual Studio 2008 shortly. I'll blog detailed steps on how to turn this feature on once it is available.ASP.NET 3.5 Extensions ReleaseVS 2008 and .NET 3.5 include a ton of new features for ASP.NET development. We are planning to deliver even more ASP.NET functionality next year with a "ASP.NET 3.5 Extensions" release. The first public preview of this will be available for download next week on the web.Next week's ASP.NET 3.5 Extensions preview release will include:ASP.NET MVC: This model view controller (MVC) framework for ASP.NET provides a structured model that enables a clear separation of concerns within web applications, and makes it easier to unit test your code and support a TDD workflow. It also helps provide more control over the URLs you publish in your applications, and more control over the HTML that is emitted from them. You can learn more about it from Part 1 of my ASP.NET MVC Tutorial series. I'm hoping to find time this weekend to write and post Part 2 of the series.ASP.NET AJAX Improvements: New ASP.NET AJAX features in the ASP.NET 3.5 Extensions release will include better browser history support (back/forward button integration, and server-side history management support via a new asp:history server control), improved AJAX content linking support with permalinks, and additional JavaScript library improvements.ASP.NET Dynamic Data Support: The ASP.NET 3.5 Extensions release will deliver new features that enable faster creation of data driven web sites. It provides a rich scaffolding framework, and enables rapid data driven site development using both ASP.NET WebForms and ASP.NET MVC.ASP.NET Silverlight Support: With the ASP.NET 3.5 Extensions release we'll deliver support for easily integrating Silverlight within your ASP.NET applications. Included will be new controls that make it easy to integrate Silverlight video/media and interactive content within your sites.ADO.NET Data Services: In parallel with the ASP.NET Extensions release we will also be releasing the ADO.NET Entity Framework. This provides a new modeling framework that enables developers to define a conceptual model of a database schema that closely aligns to a real world view of the information. We will also be shipping a new set of data services (codename "Astoria") that make it easy to expose REST based API endpoints from within your ASP.NET applications.Silverlight 2.0 ReleaseTwo months ago we shipped Silverlight 1.0 for Mac and Windows, and announced our plans to deliver Silverlight on Linux. Silverlight 1.0 is focused on enabling rich media scenarios in a browser, and supports a JavaScript/AJAX programming model.두 달전에, 맥과 윈도용 실버라잇 1.0을 출시했었으며, 리눅스상에 실버라잇을 제공하는 계획도 발표했었다. 실버라잇 1.0은 브라우저에서 리치 미디어 시나리오에 중점을 두고 있으며, 자바스크립트/에이젝스 프로그래밍 모델을 지원한다.Next year we will be releasing a major update of Silverlight that focuses on enabling rich Internet applications. This release will include a cross-platform, cross-browser version of the .NET Framework, and will enable a rich .NET development platform in the browser. Earlier this year we shipped an early Alpha containing some of the basic functionality of the release. Our next public preview will add considerably to this feature set. Some of the new .NET specific features in the next public Silverlight preview will include:내년에 RIA를 실현하는데 중점을 둔 실버라잇의 중요 업데이트판을 출시하려고 한다. 이 번 판은 닷넷 프레임웍의 크로스플랫폼, 크로스브라우저 버전을 포함하게되며, 브라우저 내에서 리치 닷넷 개발 플랫폼을 가능하게 해줄 것이다. 연초에, 이 판의 일부 기본 기능을 포함하는 초기 알파판를 출시했었다. 다음 퍼블릭 프리뷰는 기존에 비해 상당한 기능들이 추가될 것이다. 다음 퍼블릭 실버라잇 프리뷰에 들어갈 몇 가지 새로운 닷넷 고유의 기능들은 다음과 같다:WPF UI Framework: The current Silverlight Alpha release only includes basic controls support and a managed API for UI drawing. The next public Silverlight preview will add support for the higher level features of the WPF UI framework. These include: the extensible control framework model, layout manager support, two-way data-binding support, and control template and skinning support. The WPF UI Framework features in Silverlight will be a compatible subset of the WPF UI Framework features in last week's .NET Framework 3.5 release.Rich Controls: Silverlight will deliver a rich set of controls that make building Rich Internet Applications much easier. The next Silverlight preview release will add support for core form controls (textbox, checkbox, radiobutton, etc), built-in layout management controls (StackPanel, Grid, etc), common functionality controls (TabControl, Slider, ScrollViewer, ProgressBar, etc) and data manipulation controls (DataGrid, etc).Rich Networking Support: Silverlight will deliver rich networking support. The next Silverlight preview release will add support for REST, POX, RSS, and WS* communication. It will also add support for cross domain network access (so that Silverlight clients can access resources and data from any trusted source on the web).Rich Base Class Library Support: Silverlight will include a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc). The next Silverlight preview release will also add built-in support for LINQ to XML and richer HTML DOM API integration.Previously we've been referring to this .NET-enabled Silverlight release as "Silverlight V1.1". After stepping back and looking at all the new features in it (the above list is only a subset - there are many more we aren't sharing yet), we've realized that calling it a point release doesn't really reflect the true nature of it. Consequently we have decided to change the name and refer to it as "Silverlight V2.0" going forward.이전에는 닷넷 기반의 실버라잇 판을 "실버라잇 1.1"으로 언급해 왔다. 여유를 갖고 전체적으로 새로운 기능들을 바라본 후에(위에 나열된 것은 일부분에 지나지 않는다 - 아직 언급하지 못한 것들이 더 많다), 'point release'(1.1)로 부르는 것은 본질을 제대로 반영하지 못한다는 걸 깨닫게 되었다. 따라서, 이름을 바꿔서 더 상위를 뜻하는 '실버라잇 V2.0'로 부르기로 결정했다.We will be releasing a Beta of Silverlight 2.0 in Q1 of 2008. This Beta will support a Go-Live license that enables developers to begin building and deploying Silverlight 2.0 applications.2008년 1사분기에 실버라잇 2.0의 베타판을 출시할 것이다. 이 베타판은 개발자들이 실버라잇 2.0 애플리케이션을 빌딩해서 배포할 수 있도록 하기 위해서 Go-Live 라이센스를 지원할 것이다.We will also be releasing a free Visual Studio 2008 tools update that provides great Silverlight 2.0 tools support within Visual Studio 2008, and enables developers to easily build Silverlight applications using any .NET language. We will be supporting Silverlight development with both the Visual Studio 2008 Standard/Professional products, as well as with the free Visual Studio 2008 Express editions.또한, VS 2008내에서 실버라잇 2.0 툴 기능 제공과 개발자들이 어떤 닷넷 언어를 사용해서도 쉽게 실버라잇 애플리케이션들을 빌드할 수 있게 해줄 무료 VS 2008 tools update를 출시할 것이다. 우리는 VS 2008 Std/Pro 제품뿐만 아니라 무료판 VS 2008 Express Edition 에서도 실버라잇 개발을 지원 하게 될 것이다I'm going to be starting a new blog tutorial series in a few weeks that discusses how to build Silverlight 2.0 applications, and show off the new features in more depth. Stay tuned for more details soon.몇 주 내로후에, 실버라잇 2.0 애플리케이션 작성법에 대한 논의들과 새 기능들에 대한 심층적인 내용을 보여주게 될 새로운 블로그 튜토리얼 시리즈를 시작할 예정이다. 곧 더 많은 세부적인 내용들이 계속 이어질 것이다.IIS 7.0Early next year we'll ship the final release of IIS 7.0 as part of the Windows Server 2008 release. As I've blogged about in the past, IIS 7.0 is a major update of our web-server stack, and introduces a significantly new and improved extensibility, configuration and administration architecture.One of the really cool things about IIS 7.0 is that it is all nicely integrated with the .NET Framework, and enables you to use any .NET language to extend and customize the server. You can now easily do things in VB and C# that previously required writing a pretty gnarly C++ ISAPI. The deployment, management and administration of web applications on the server is also now nicely unified across IIS and ASP.NET.We will also shortly begin sharing details of a new web application deployment framework for IIS that enables you to easily automate the deployment of web applications on either a single server or across a web farm of machines. It will make it easy to version your web applications (including allowing you to quickly roll back to previous versions), as well as automatically provision them across multiple servers. It also enables the full automation of deployment tasks (including via both command-line and PowerShell scripting APIs). The combination of IIS7 with this web deployment framework will enable you to deploy and scale your ASP.NET server applications better than ever before.SummaryLast week's VS 2008 and .NET 3.5 release was a huge step forward for .NET development. The release not only delivered a ton of great new language, runtime and tool features, but even more importantly provided a really solid foundation that we'll be building upon in the months and years ahead. Stay tuned to my blog for more details about each of the above releases.Hope this helps,ScottPublished Thursday, November 29, 2007 9:22 AM by ScottGu Filed under: ASP.NET, Visual Studio, .NET, IIS7, Community News, Silverlight, MVC
null

# by 한누리 | 2007/11/30 05:51 | 닷넷/기타 | 트랙백(736) | 덧글(0)

2005년 05월 10일 브라우저 기반의 위지윅 에디터 컴포넌트 총집합

예전에도 FreeTextBox에 대한 소개를 포스트한 적이 있었는데, 유사한 것들을 모아 놓았다고 하니 웹용 html 편집기가 필요한 분들은 참고해 보시길.
A directory of browser-based wysiwyg editor componentshtmlarea.com에서는 CMS(content management software)나 다른 웹 소프트웨어에서 사용되는 브라우저 기반의 위지윅 에디터 컴포넌트들의 목록을 제공한다.모질라(FireFox를 포함해서)와 Internet Explorer는 페이지의 일부를 편집할 수 있게 해주는 기능을 포함하고 있다. IE는 MSHTML Editing Platform이며, 모질라는 Midas 이다.많은 에디터들은 모질라와 IE에 있는 contentEditable와 designMode 기능을 사용하여 자바스크립터로 구현되어진다. 나머지 것들은 자바, 액티브X, 플래쉬, 브라우저 플러그인이나 다른 수단을 사용한다. 일부는 공짜거나 오픈소스이고, 나머지들은 상용이다.이 사이트의 목적은 모든 다양한 브라우저 기반의 위지윅 에디터들을 여기에 모아두고, 개발자들에게 이것들에 대한 토론을 할 수 있도록 장소를 제공하는 것이다. ( discussion forums을 확인해 보라)WYSIWYG Editors (75) new주의: 이 위지윅 에디터들은 웹 소프트웨어용 컴포넌트이지, 결코 완전한 기능을 제공하는 웹 디자인이나 컨텐츠 관리용 프로그램이 아니다.htmlArea 2 and 3 editors는 어떻게 되었나?htmlarea 2 and 3은 중단되었다. 이들은 이 사이트에서 배포되었던 공짜 위지윅 에디터들이었다. 이와 유사한 제품들을 찾기 원하면 목록서비스를 방문하시길.
null

# by 한누리 | 2005/05/10 00:31 | 웹폼(asp.net) | 트랙백(36) | 덧글(0)

2005년 04월 26일 Samsung Teams With Microsoft to Develop First Hybrid Hard Drive With NAND Flash Memory

좀 기다려 봐야겠지만, 굉장한 것이 나오는 것 같군요. 하이브리드 하드 드라이브군요. 보조기억장치의 혁명적인 변화가 올지도 모르겠습니다. 오랫만에 ms가 도움될만한 일을 하는 것 같습니다. 기대되는군요.
Samsung Teams With Microsoft to Develop First Hybrid Hard Drive With NAND Flash Memory
April 25, 2005 Samsung Electronics Co., Ltd., the world leader in advanced memory technology, today announced that its OneNAND Flash memory has been incorporated into the design of Microsoft Corp.'s prototype Hybrid Hard Drive (HHD), the first fully functional disk drive to combine NAND-based Flash with rotating storage media. The hybrid drive, designed to work with the next version of the Windows operating system, code-named "Longhorn," is being exhibited for the first time at the Windows Hardware Engineering Conference (WinHEC) in Seattle at the Washington State Convention Center from April 25 to April 27.Instead of replacing the HDD, the hybrid hard drive architecture incorporates a small OneNAND device from Samsung that works within the hard disk's architecture. The hybrid device promises to leverage the benefits of magnetic storage and solid state storage without compromising the cost of the computer housing it. The ultra-high-density benefits of magnetic storage technology are preserved, while the ultra-low-power, ultra-high-reliability and fast read/write access of advanced NAND technology such as OneNAND enhances the overall value of the hybrid drive at little or no additional cost.

Since late 2003, Microsoft has been working closely with Samsung to develop the next generation of ultra-low-power disk drives for notebook computers. The hybrid hard drive will eliminate costly inefficiencies caused by the need for the hard disk drive to continue to spin whenever the computer is on. Additionally, the hybrid drive design also can provide significantly faster boot times when a computer running "Longhorn" computer starts up.

"Hybrid drive architecture is extremely important to the future design of mobile computers. It is an advancement that will improve the performance and reliability of any computer using the Windows 'Longhorn' operating system. We are delighted with the performance in our initial testing of the Samsung hybrid hard drive prototype," said Tom Phillips, General Manager of Windows Hardware Experience Group for Microsoft. "This is another example of where Microsoft is working with the industry to dramatically improve the overall Windows computing experience for our customers."

The hybrid hard drive prototype uses 1 Gigabit OneNAND(TM) Flash as both the write buffer and boot buffer. In the hybrid write mode, the mechanical drive is spun down for the majority of the time, while data is written to the Flash write buffer. When the write buffer is filled, the rotating drive spins and the data from the write buffer is written to the hard drive.

The hybrid drive saves power by keeping the spindle motor in idle mode almost all the time, while the operating system writes to the OneNAND write buffer. Moreover, by using OneNAND Flash with hard disk drive technology, disk drive performance is not compromised relative to conventional disk drives. This is due, in large part, to OneNAND's ultra-fast read speeds, which can be fully leveraged during the flushing of the contents of OneNAND's write buffer to the rotating drive. In addition, since the Samsung hybrid disk drive operates at a lower temperature than traditional rotating media, it greatly reduces the possibility of shock and impact damage, improving the overall reliability of the disk subsystem.

While the cost of hybrid disk drives may slightly increase with the addition of OneNAND, any increase will be mitigated by several factors, including lower maintenance costs, 95 percent power savings when the disk is not spinning, faster boot time and substantially increased reliability. All of these changes are crucial to the ever increasing needs of today's mobile customer, making it likely that hybrid hard drive technology will enjoy rapid market adoption.

"Through our collaboration with Microsoft, Samsung OneNAND Flash memory supports the most advanced and cost-effective solution to enhance the performance of a HDD in mobile computing. PC manufacturers will recognize the improved performance and increased battery life made possible through the use of NAND Flash technology," said Jon Kang, senior vice president, technical marketing group, Samsung Semiconductor.

The HHD prototype will be converted into products manufactured and marketed by Samsung's HDD division as well as other HDD OEMs. Samsung's OneNAND will integrate with the HHD SOC via its NOR interface as a standalone memory device or in a multi-chip package. Samsung and Microsoft have worked together developing a robust set of ATA (advanced technology attachment) commands that will be used to fine-tune the efficiency with which HHD supportive software controls the Longhorn-based computer in which it is used.

"Samsung, in cooperation with Microsoft, will work aggressively with drive manufacturers to transition the hybrid disk drive prototype into world-class commercial products. When they take a close look, they will find that OneNAND is the memory device most ideally suited for hybrid hard drives," said Ivan Greenberg, director of strategic marketing for Samsung Semiconductor.

Samsung expects HHD-enabled notebooks to begin shipping in large quantities in late 2006.

null

# by 한누리 | 2005/04/26 15:53 | 닷넷/기타 | 트랙백 | 덧글(0)

2004년 12월 01일 윈폼과 아발론

아발론은 현재 프리뷰가 비공개로 배포중이며, 공개베타는 내년 여름정도에나 나올수 있을 것 같습니다. 아래 내용중에 아발론엔진이 DirectX에 기반한다는 점이 흥미롭군요. 그렇다고 아발론을 대비해서 DirectX를 공부하라는 것은 아닌듯하고, 기존에 DirectX로 프로그래밍 하던 경우 오히려 아발론을 사용하면 좀더 편하게 코딩을 하게될 것으로 추측을 해봅니다.
[Windows Forms and Avalon]PDC docs에 대해 윈폼 팀의 Michael Harsh 와 Joe Stegman에서부터 Ian Griffiths에 이르기까지 많은 사람들이 윈폼과 아발론에 대해서 글을 써왔다 . 이 모든 것들에 기반해서, 나는 이들 각각의 사용 시점에 대해 MS에서 일하는 우리가 명확하다고 생각한다고 하더라도, 고객에게는 확신을 시키지 못해왔다는 것을 분명히 깨달았다. 그래서 무언가를 쓰게되는 기회를 갖게되었고 이를 아발론과 윈폼 팀에의해서 검토까지 받았다. 이과정에서 발견한 가장 흥미로운 것은 간단하며 기억하기 쉬운 가이드라인(아래의 게시된 목록을 봐라)을 얻는다는게 얼마나 어려운가하는 것이었다. 소프트웨어와 각 개발 프로젝트의 요구사항간의 상호작용이란 것은 선택해야할 사항이 존재한다는 의미이다. 어느 이벤트에서건, 무엇이든지 피트백을 해주길 바랍니다.
PDC2003에서, MS는 코드명 아발론이라는 새로운 윈도우 프레전테이션 기술을 소개했다. Avalon v1.0이 2006년까지는 고객이 사용할 수 없게될 예정이지만, 사용자 인터페이스에 대한 고객의 투자가 보호되는 것을 보장해주기 위해서 아발론과 윈폼의 관계에대한 가이드라인을 제공하려고 한다.윈폼은 오늘날 실제 고객들이 채택하고 있다. 이것은 VS와 완전히 통합되어 강력한 RAD 체험을 제공하며, 스마트 클라이언트 애플리케이션의 개발 비용과 제품출시시간을 줄여준다. 윈폼 v2.0은 (Avalon v1.0에 앞서서) VS2005 와 함께 출시될 것이며, 오늘날 닷넷 프레임웍을 이용해서 클라이언트 애플리케이션을 작성하는 가장 좋은 방법이다. 계속하자면, 윈폼은 닷넷 프레임의 일부가 되고 그렇게 계속 지원될 것이며, 현시점에서 아발론을 준비하기위한 managed 코드를 작성하기 위해 주요한 방법이 되고 있다.아발론은 시각적으로 뛰어나며, 차별적인 사용자 체험을 생성하기 위해 설계된 MS의 미래의 프레전테이션 플랫폼이다. 아발론은 DirectX 상에서 구축되었고, 폼기반 애플리케이션, 그래픽스, 비디오, 문서를 생성하기 위한 통합된 엔진을 제공한다. 아발론의 엔진은 오늘날의 하드웨어의 뛰어난 능력을 완벽하게 활용한다. 출시되면, 아발론은 MS의 전략적 UI플랫폼이 될 것이다.MS는 고객이 그들의 기술을 활용할 수 있게 해주는 길잡이, 툴, 기술과함께 필요하다고 여겨지는 것에는 최신 기술로 애플리케이션을 확장하기 위한 소스코드를 제공할 것을 약속한다. MS가 투자해왔떤 핵심영역중의 하나는 윈폼 컨트롤이 아발론 애플리케이션에서 사용되도록하고 아발론 컨트롤이 윈폼 애플리케이션에서 사용되도록 하는 윈폼과 아발론간의 상호운용성이다. 이 상호운용성 기술은 고객이 점진적으로 아발론으로 이전하게 도와줄 것이다.클라이언트 UI 개발을 위한 MS의 로드맵은 세가지 주요 단계로 되어 있다:현시점에서는 윈폼 v1.1을 사용하고, UI와 그외의 애플리케이션 로직간의 명확한 분리를 위해서 MS의 Patterns and Practices guidance를 자세히 봐라.2006년 중반으로 예정되어 있는 아발론 v1.0이 출시될 때, 웹사이트처럼 자신의 UI를 차별화시키기를 원하는 애플리케이션과 복잡한 데이터의 시각화 같은 그래픽 위주의 애플리케이션은 아발론에 관심을 기울이길 권고한다. 나머지 애플리케이션은 윈폼을 계속 사용하면 된다.아발론1.0,출시에 뒤이어, VS2005의 후속 VS버전이 아발론을 지원하는 툴과 디자이너를 포함하게 될 것이다. 이 시점에서, 고객들은 그들의 개발력을 아발론으로 이전시키는 것과 윈폼/아발론 상호운용성 기능의 사용이 가능해질 것이다.
posted on Saturday, November 27, 2004 1:26 PM
null

# by 한누리 | 2004/12/01 13:46 | 윈폼(c#,csharp) | 트랙백 | 덧글(0)

2004년 11월 29일 VB2005에서 My.Settings 사용하기

윈폼 프로그램을 작성할 때 대체적으로 제일 먼저 처리해야 하는 부분이 각종 설정값들에 대한 것일 겁니다. 대체적으로 비슷한 구조를 갖고 있으니 이것을 관리하기 위한 코드를 한번만 제대로 만들어두면 계속 활용할 수 있으므로 큰 부담이 되는 분야는 아닐 수 있지만 그래도 체계적으로 정리되어 제공되는 기능을 사용하는 것이 훨씬 편리할걸로 생각됩니다. 하나 아쉬운 점은 이것이 VB용으로 되어 있으며 아직 C#에서의 지원여부는 확인을 할 수 없다는 점입니다.
Using My.Settings in Visual Basic 2005

Emad Ibrahim : Optimal Solutions Integration, Inc.(October 2004) Summary: 이 글은 VB2005에서 My.Settings 클래스로 application과 user settings을 더 간단하게 저장하게 하는 방식을 다루게된다.
Note 이 글과 예제 코드는 코드명 위드비였던 VS2005의 프리릴리즈판을 기준으로 작성되었다. 여기에 포함된 모든 정보는 변경될 수 있다.
차례소개
예전 방식
새롭게 개선된 방식
Advanced Settings
결론소개윈폼 애플리케이션들은 실행시 요구되는 데이터가 필요하다. 대체로 이 데이터를 코드에 포함시키는 것을 원하지 않으며 그렇지 않으면 수정할 때마다 애플리케이션을 재컴파일해야할 것이다. 애플리케이션이 웹서비스나 데이터베이스를 사용한다면, 아마도 URL이나 connection string을 분리된 파일에 저장해서 쉽게 변경할 수 있게 되기를 원할 것이다. 애플리케이션이 윈도 레이아웃과 다른 UI의 개인적인 설정값을 저장한다면, 이 정보를 각 사용자마다 분리해서 저장하기를 원할 것이다. 예전에 이 데이터는 INI파일, 레지스트리, config파일과 같이 여러 다른 위치에 저장되었었다. 닷넷 프레임웍 1.0은 이런 설정값(settings)을 저장히기위해 사용된 XML파일들인 app.config 파일의 개념을 도입했었다. 이들 각각의 방식은 몇 가지 문제들을 내포함고 있다:설정값(Settings)이 type-safe이지 않다.(예를 들어 파일들을 읽고 쓰기 위해서) 상당한 양의 코딩이 필요하다.레지스트리 방식은 애플리케이션이 레지스트리에 접근하기 위하여 충분한 보안 permission들을 가져야 만 한다.애플리케이션을 위한 user-scope settings을 유지하기는 어렵다.새로운 Application Settings 아키텍쳐는 클라이언트상에 application-scoped 와 user-scoped settings을 저장하기 위한 손쉬운 방법을 제공함으로써 이들 요구에 대처하게 된다. VS나 코드 에디터를 사용하여, 자신의 (application/user) 이름, 데이터 형, 디폴트 값, 스코프를 지정함으로써 주어진 프로퍼티를 위한 setting을 정의한다.Application Settings은 설정값(setting)이 application-scoped나 user-scoped냐에 따라서 서로 다른 configuration (.config)파일에 데이터를 XML로 보존(persisting)하도록 해준다. Application-scoped settings는 읽기전용이다. Application-scoped settings는 프로그램 정보이기 때문에, 일반적으로 이들을 수정할 필요는 없을 것이다. 그렇지만, user-scoped settings는 애플리케이션이 partial trust하에서 실행되더라도 실행중 안전하게 읽고 쓰기를 할 수 있다.예전 방식닷넷 프레임웍 1.0에서 app.config 파일로 config files 개념을 소개했다. 애플리케이션은 자신에 특별히 지정된 많은 application settings을 저장하기 위해서 파일을 사용한다. 이 파일은 application settings를 수정하거나 새로운 값을 추가하기 위해서 노트패드에서 쉽게 편집할 수 있는 단순 XML 파일이다. 예를들어, SMTP 서버 주소, 데이터베이스 connection string 등을 저장하기 적합한 장소이다. 닷넷 프레임웍 1.0의 구현방식은 약간의 단점들을 가지고 있다. 단점중 하나는 파일에 손쉽게 write back하는 방법이 없다는 것이다. 애플리케이션의 페이지나 폼을 통해서 settings를 수정하길 원한다면, XML파일을 로드, 수정하고 난후 write back해야 한다. 또 다른 단점은 config 파일에 있는 프로퍼티를 접근할 때 type-safe가 아니라는 것이었다. 예를들어, 다음의 코드는 컴파일은 잘 되지만, PageSize setting이 integer가 아니면(즉, type-safety가 아니면) 런타임 에러를 일으킬 수 있다:
Dim PageSize As Integer =   Configuration.ConfigurationSettings.AppSettings("PageSize")
아래와 같이 런타임 에러를 가져오는 application setting에 사용자나 개발자가 숫자가 아닌 값을 설정하는 것을 막을 방법이 없다.
add key="PageSize" value="ten"/
새롭게 개선된 방식닷넷 프레임웍 2.0은 이들 단점의 대부분과 또 다른 것들에 관심을 갖는다. 주목해야 할 첫번째 것은 새로운 setting을 추가생성할 경우의 편리함이다. Config 파일을 열어서 새로운 setting을 입력할 필요가 없다. 대신에 프로젝트 프로퍼티 폼의 Settings designer에 가서 새로운 settings를 추가하라. 여기서 각 setting의 (application or user) 이름, 형, 적용범위(scope) 를 선택할 수 있다.1. ScopeApplication-scoped settings는 읽기전용이며, 애플리케이션의 모든 사용자들간에 공유된다. 이들 settings은 app.config 파일에 applicationSettings 섹션으로 저장된다.
Note 이것이 위에 언급된 것과 닷넷1.0에서 사용된 appSettings 섹션의 차이점이다.
런타임시, app.config 파일은 자신의 bin 폴더에 위치할 것이며 자신의 애플리케이션명(MySettingsDemo.exe.config)으로 명명될 것이다. Application-scope setting의 예로는 데이터베이스 connection string, 웹서비스 URL, 서버의 IP 주소 등등이 될 것이다.
  applicationSettings    MySettingsDemo.MySettings      setting name="SMTPServerIP" serializeAs="String"        value127.0.0.1/value      /setting      setting name="MyServicesURL" serializeAs="String"        valuehttp://localhost/myservices.asmx/value      /setting    /MySettingsDemo.MySettings  /applicationSettings
User-scope settings은 각 사용자 마다 별도로 지정되어 있다. 이들은 실행시에 애플리케이션 코드에 의해서 읽혀지고 설정될 수 있다. 이 들 settings은 user.config 파일에 저장된다. 기술적으로 정확성을 유지하기 위해서, 애플리케이션의 사용자별로 두 개의 user.configs이 있다—하나는 non-roaming용이고 다른 하나는 roaming용임. VB2005베타판에서 사용되는 문서에는 user.config 파일이 사용자의 이름에 따라서 이름(joe.config)이 주어질 것이라고 기술되어 있자만, 여기에서는 그렇지가 않다. User.config 파일은 c:Documents and Settingsusername[Local Settings]Application Datacompanynameappdomainname_eid_hashverison에 생성되어진다. 다음과 같은 내용을 갖는다:c:Documents and Settings는 user data 디렉토리이다, non-roaming (Local Settings 위쪽)나 roaming중 하나.username는 사용자명이다.companyname는 CompanyNameAttribute 값이다(사용가능한 경우라면). 사용가능하지 않으면, 이 항목은 무시해라.appdomainname는 AppDomain.CurrentDomain.FriendlyName이다. 이것은 보통 .exe 이름의 디폴트값이다.eid는 해시에 사용가능한 evidence에 기반한 URL, StrongName, Path중 하나이다.hash는 CurrentDomain에서 모아진 evidence의 SHA1 해시이다, 다음의 순서대로 선택된다:StrongNameURL 둘다 사용가능하지 않다면, .exe 경로를 사용하라.version는 AssemblyInfo의 AssemblyVersionAttribute setting이다.경로명 예는 다음과 같을 것이다:
C:Documents and Settings/Emad.BROKENOAK/Local Settings/Application Data/MySettingsDemo/MySettingsDemo_9cfe5ef1/1.0.0.0
경로명 예는 그림1과 비슷하게 오픈될 것이다.Figure 1. Example path
Note 보여지고 언급했던 user settings configuration 파일의 위치는 베타1에서는 옳은 것이지만, VB2005의 최종판을 위한 위치는 아직 정해지지 않았다.
User.config 파일은 실행시에 첫번째로 애플리케이션이 새로운 사용자에 의해서 실행되고 non-default 값이 user-scoped setting에 쓰여질 때 자동적으로 생성된다. Settings는 app.config 파일의 userSettings 섹션 밑에 정의된다. Settings의 default/initial 값들도 app.config 파일안에 정의된다. app.config 파일에 보여지는 방식은 다음과 같다:
  userSettings    MySettingsDemo.MySettings      setting name="LastSearchedItem" serializeAs="String"        value /      /setting      setting name="FormSize" serializeAs="String"        value400, 400/value      /setting      setting name="FormLocation" serializeAs="String"        value0, 0/value      /setting    /MySettingsDemo.MySettings  /userSettings
User-scope settings은 일반적으로 모든 사용자마다 다른 application preferences을 저장하는 데 최적이다. User-scope settings의 예는 폰트크기, 윈도 위치, MRU 리스트 같은 display settings 등등이다.이 아키텍처는 애플리케이션이 partial-trust 시나리오에서 실행되고 있다고 하더라도 애플리케이션에 각 사용자의 settings과 preferences를 저장하게 해주기 때문에 매우 융통성이 있는 것이다.2. Creating a Setting애플리케이션에 search box가 있고 search된 마지막 아이템의 값을 저장히기를 원한다고 가정하자. 먼저, 그림2에서 보는 것과 같이 애플리케이션의 UI를 생성하자.Figure 2. Search box UI의 생성이제, 마지막으로 찾아진 아이템 스트링을 위한 setting을 생성하자. 완성된 search box는 그림3과 같이 보일것이다.Solution explorer에서, My Project를 더블클릭하라.Settings Designer를 표시하기 위해 Settings탭을 클릭하라.Setting의 이름, 형, 적용범위(Scope)를 입력하라 ("LastSearchedItem", String, User 를 각각).Value컬럼에 이 setting을 위한 초기값(찾고자 하는 것이 무었인가?)을 입력하든지 아니면 비워 놓고 끝낼 수 있다.Figure 3. Completed search box3. Behind-the-Scenes of a SettingSettings Designer에서 새로운 setting을 추가할 때, 백그라운드에서 여러가지 일들이 발생한다. 첫번째로, 엔트리는 settings를 정의하기 위한 섹션을 정의하는 app.config 파일에 추가된다.
  configSections    sectionGroup name="applicationSettings"type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"      section name="MySettingsDemo.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /    /sectionGroup  /configSections
두번째로, setting definition 자신은 (아래에 나타난 것처럼) app.config 파일에 추가된다. 정의한 settings의 형에 따라서, 정의한 settings에 따른 applicationSettings, userSettings and/or connectionStrings 섹션을 볼 수도 있다.
  userSettings    MySettingsDemo.MySettings      setting name="LastSearchedItem" serializeAs="String"        value /      /setting      setting name="FormSize" serializeAs="String"        value400, 400/value      /setting      setting name="FormLocation" serializeAs="String"        value0, 0/value      /setting    /MySettingsDemo.MySettings  /userSettings  connectionStrings    add name="MySettingsDemo.MySettings.ConnectionString" connectionString="Server=TABLET; User ID=sa; Password=1234; Database=Northwind; Persist Security Info=True" providerName="System.Data.SqlClient" /  /connectionStrings  applicationSettings    MySettingsDemo.MySettings      setting name="SMTPServerIP" serializeAs="String"        value192.168.2.11/value      /setting      setting name="MyServicesURL" serializeAs="String"        valuehttp://localhost/MyServices/Service1.asmx/value      /setting    /MySettingsDemo.MySettings  /applicationSettings
4. Accessing Settings지금까지 setting을 추가했으니까, 읽어오고 수정할 필요가 있다. Setting을 읽어오는 것은 매우 쉽다. 다음과 같이 읽어올 수 있다:
My.Settings.LastSearchedItem 
그림4는 애플리케이션의 setting 필드들을 사용하기 원할 경우에 정확한 setting 값을 매우 쉽게 찾을 수 있도록 해주는 인텔리센스를 통해서 접근하는 방법을 보여준다.그림 4. 작업시의 인텔리센스 기능
Setting을 사용하는 또 다른 방법은 프로퍼티에 bind하는 것이다. 이것은 거의 코드를 필요로 하지 않는다. 예를들어, FormLocation setting을 폼의 location 프로퍼티에 bind 할 수 있다.폼의 프로퍼티 윈도에서, Data | (ApplicationSettings) | (PropertyBinding)을 expand하라.그림5에서 보여주는 것처럼 Location 프로퍼티를 찾아서 FormLocation setting 을 선택하라.그림 5. FormLocation setting 선택하기
이것은 폼의 designer code-behind 클래스에서 코드를 생성할 것이다:
Me.DataBindings.Add(New System.Windows.Forms.Binding("Location", MySettingsDemo.MySettings.Value, "FormLocation", True, MySettingsDemo.MySettings.Value.LastSearchedItem, Nothing, System.Windows.Forms.BindingUpdateMode.OnPropertyChanged))
Binding 클래스 construction의 마지막 파라미터를 주목하라. 이것은 setting의 수정모드를 정의한다. 이것을 on change, on validation, never로 수정할 수 있다. Designer가 생성한 디폴트 코드는 on change로 수정한다.Settings을 프로퍼티들로 bind할 때, setting의 읽고 쓰기는 걱정할 필요가 없다. 프로퍼티는 필요시 자동적으로 set되며, 자신의 값이 변경되면 자동적으로 저장된다. 어떻게 이 모든 것이 한 줄의 코드도 없이 가능한가에 주목해라.
Note VB 윈폼 애플리케이션 처럼 특정 프로젝트 타입에서만 settings이 자동적으로 저장된다. Class Libarary 프로젝트와 같은 다른 경우에서는 My.Settings 클래스의 Save 매소드를 명시적으로 호출할 필요가 있을 것이다.
프로퍼티가 property-binding 윈도에 리스트되지 않는다면, 여전히 코드를 사용하는 것과 같은 일을 달성할 수 있다. 몇가지 이유 때문에, Size 프로퍼티는 binding 될 수 있는 프로퍼티처럼 사용가능할 수 없다. 이것은 이 버전에서의 설계상의 결정이지만, 최종 버전은 모든 프로퍼티를 binding 할 수 있게 할 것이다. 이것은 폼 자신의 DataBindings 컬랙션에 새로운 Binding을 추가함으로써 행해진다. Binding 클래스는 프로퍼티명, setting명, data store, update mode를 정의하기 위해 사용한다. 그래서, FormSize setting에 size 프로퍼티를 binding하기 위해서, 수동적으로 자신의 form load event에서 binding을 생성할 수 있다:
Me.DataBindings.Add(New System.Windows.Forms.Binding("Size", _                    MySettingsDemo.MySettings.Value, _                    "FormSize"))
Advanced SettingsSettings상에 더 많은 조작(control)을 원한다면, 모든 settings 클래의 부모 클래스인 ApplicationSettingsBase 에서 유도된 자신만의 클래스를 정의할 수 있다. 정의된 get/set으로 프로퍼티처럼 각 setting을 정의한다. Application-scoped setting 인 경우 ApplicationScopedSettingAttribute으로, user-scoped setting인 경우 UserScopedSettingAttribute으로 이 프로퍼티를 설정한다. 이것은 정확히 settings designer가 하는 일이다. 다음은 setting designer에 의해서 생성된 MySettings.vb 파일의 일부이다:
Partial NotInheritable Class MySettings  Inherits System.Configuration.ApplicationSettingsBase   System.Diagnostics.DebuggerNonUserCode(),  _   System.Configuration.UserScopedSettingAttribute(),  _   System.Configuration.DefaultSettingValueAttribute("400, 400")  _  Public Property FormSize() As System.Drawing.Size    Get      Return CType(Me("FormSize"),System.Drawing.Size)    End Get    Set      Me("FormSize") = value    End Set  End Property      System.Diagnostics.DebuggerNonUserCode(), _   System.Configuration.SpecialSetting( _
System.Configuration.SpecialSetting.ConnectionString),_ System.Configuration.ApplicationScopedSettingAttribute(), _ System.Configuration.DefaultSettingValueAttribute("Server=TABLET; User ID=sa; Password=1234; Database=Northwind; Persist Security In" _ "fo=True") _ Public ReadOnly Property ConnectionString() As String Get Return CType(Me("ConnectionString"),String) End Get End Property System.Diagnostics.DebuggerNonUserCode(), _ System.Configuration.ApplicationScopedSettingAttribute(), _ System.Configuration.DefaultSettingValueAttribute("192.168.2.11") _ Public ReadOnly Property SMTPServerIP() As String Get Return CType(Me("SMTPServerIP"),String) End Get End Property...
주의 Connection strings은 SpecialSetting 어트리뷰트에 의해서 설정된다. 이들은 또한 config 파일의 자신 고유의 섹션에서 생선된다 .
또한, 이것은 자신의 프로젝트 파일에서 다른 파일을 생성할 수 있으며 이 클래스에 또 다른 부분을 생성할 수 있다는 것을 의미하는 Partial 클래스라는 것에 주목하라. 이 기술을 사용하여, designer-generated 파일을 건드리지 않고 자신의 setting을 세밀히 조정할 수 있다. 자신의 settings상에 더 정밀한 조작을 하게 해기 위해서 이 클래스안에 event handling을 추가할 수 있다. 다룰 수 있는 세가지 이벤트는 다음과 같다:SettingChangingSettingsSavingPropertyChangingSettings 기능들이 pluggable provider 인프라구조상에 기반한다는 것을 인식하는 것이 중요하다. 지금까지의 VS2005는 .config 파일에 접근할 수 있는 하나의 프로바이더(LocalFileSettingsProvider)만을 가지고 있다. 다른 프로바이더들이 플러그인되어 Local File Settings Provider대신 사용되거나 추가적으로 사용될 수 있다. 이것의 좋은 예는 웹서비스가 사용자가 로그인할 때마다 가져와서 데이터베이스에 settings를 저장하기 위해 사용되는 'settings in a cloud scenario'에 있다.결론Application settings를 다루기 위한 이전의 아키텍처는 약간의 제약사항이 있었고 닷넷 프레임웍 2.0의 새로운 Application Settings 아키텍처는 이들 문제중 많은 부분을 해결해준다. 새로운 아키텍처는 VB2005 help와 함께 이 글에서 보여진 것처럼 setting의 생성, 바인딩, 읽어오기, 수정을 획기적으로 단순화 시킨다. 또한 application-scope setting 뿐만 아니라 user-scope에도 적용된다. 이 새 아키텍처는 확실히 생산성을 개선할 것이며, 개발자가 복잡한 application settings를 모두 이해하는데 몇 일이나 몇 주를 허비할 필요 없이 비즈니스 문제를 해결하는 것에 집중하도록 해준다.
null

# by 한누리 | 2004/11/29 12:03 | 윈폼(c#,csharp) | 트랙백(40) | 덧글(0)

◀ 이전 페이지다음 페이지 ▶



닷넷 정보의 공유


by 한누리

메뉴릿포토로그 마이가든 방명록 카테고리전체Pool(Todo)잡스러운 메모SilverlightExpressionWPF(Avalon)WCF(Indigo)WWF(Workflow)OfficeXNA비스타/서버2008닷넷/기타윈폼(c#,csharp)웹폼(asp.net)웹서비스(ws/soa)데이터(sql/ado/xml)메신저(P2P)Msdn Korea유비쿼터스/임베디드IT로 보는 세상생생 잉글리쉬미분류최근 등록된 덧글Watches are now becoming t..by swiss repl at 06/08This type of planning for ch..by Replica Watches uk at 04/15Pretty good post. I just stum..by Rolex Replica at 04/15질문좀 드리겠습니다post 로 값..by 곽창수 at 04/27여기서 다루는 것은 데스크탑 응용..by 한누리 at 07/10좋은글 감사합니다.그런데, ..by ilikefox at 07/10안녕하세요. 처음으로 글을 남기..by matata at 03/29유용한 포스팅 감사합니다. 링크..by 가이브 at 02/14힘들어서 그러지. 메신저로 연락줘.by 한누리 at 12/16실장님. 저 또 왔다 갑니다. 흔적..by Han at 12/16최근 등록된 트랙백hollisterby C29Qz4 hollister shop X5fWe8ohollister winterjackenby I91Tt2 hollister N6aQd0xMoncler Schweizby K77Wf2 hollister pullover G0...Hollister Romaby S81Ay0 Hollister K3fEq3cHollister Italiaby G16Ne3 Hollister L4gHc3aHollister Ropaby F93Kj3 Hollister K4zIf2ohollister berlinby H35Gp2 Moncler Online Shop A..hollisterby D41Jp2 Hollister Stockholm H...Hollisterby J20If6 Hollister Roma Prezzi...hollisterby C19Zd4 hollister schweiz sho..메모장WindowsClientSilverLightSilverlight CafeAsp.NetTheServerSide.net framework 3.0CodePlexChannel 9dotnetrocksc# corner김영윤의 여행 보따리처남, 매형의 식문화 세계일주내가 살아가는 이야기http://Younghoe.Info 으로 이전했어요!!!헤딩해서 나눠주리What Wo~Men Wants~*★-시스템엔지니어@후니-★컴터야 널자~♡일지의 살아가는 이야기설레는 마음으로..Hurukku's the pleasure연어의꿈이전블로그more...이글루링크이글루 파인더

skin by 이글루스
이글루링크 추가하기 ()을(를) 이글루링크로 추가하시겠습니까? 추가하시려면 그룹선택을 하세요. (그룹선택 하지 않는 경우, 최상단 목록에 추가됩니다.) 그룹선택 :

TAGS: 닷넷

<<< Thank you for your visit >>>

Websites to related :
Gladys Gonzalez, Calgary AB Loc

  keywords: Gladys, Gonzalez, Calgary, AB,Artist
description:Gladys Gonzalez Calgary AB:I am an artist with a particular style. It is vibrant, colorful

Italia Independent occhiali | Si

  keywords:
description:Occhiali da sole e da vista Italia Independent. Scopri i modelli, prova le combinazioni e acquista online nello store ufficiale

71 Saint Peter

  keywords:
description:

Freshersworld24.in : fresherswor

  keywords:
description:freshersworld24.in receives about 414 unique visitors per day, and it is ranked 1,084,419 in the world. freshersworld24.in uses

Stop the War

  keywords:
description:Upcoming Events Emergency protest this Saturday to stand against the abhorrent treatment of refugees on the...

Lonelybrand : Website stats and

  keywords:lonelybrand.com, Lonelybrand, seo stats, traffic, worth, keywords, analysis
description:Lonelybrand at WO. Get the complete website informati

AppServ : Apache + PHP + MYSQL

  keywords:
description:
AppServ : Apache + PHP + MYSQL AppServ, AppServHosting, AppServNetwork, AppServ Download Skip

Home - LUXE City Guides

  keywords:
description:LUXE City Guides is your indispensable pocket travel guide to over 30 cities around the world, and growing. If it's in, it's in

Launchy: The Open Source Keystro

  keywords:
description:
Launchy: Open Source Keystroke Launcher AboutDownloadSkinsPluginsHelpDonate

Piano, Guitar, Violin, Drum & Ce

  keywords:Music, music school, lessons, piano, fort lee, Viola, Cello, Violin, Guitar, Piano, music, fun, after school, activities, voice, bass, Tenafl

ads

Hot Websites