마이크로소프트(Microsoft)는 VSCode 에서 다양한 개발 편의 기능을 제공하기 위한 Language Server Protocol 을 공개했다. 이 프로토콜의 C# 버전이 바로 OmniSharp-Roslyn이 되겠다.그 외에 다양한 언어의 구현체가 등장했는데, 어떤 개발 언어가 구현 되었는지 아래의 링크에서 확인하기 바란다. https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations 필자는 OmniSharp-Roslyn 을 git clone 하고 빌드하게 되면 다음과 같은 오류를 만났다.개발환경 OS: MacOS Sierra Version: 10.12.2 The type initializer for 'Sys..
개요 ASP.NET WebForm 에서 Dependency Injection 을 사용하는 방법을 소개한다. IoC Container 를 이용하여 System.Web.UI.Page 를 상속하는 페이지에서 Injection 을 해야 하는데, 이를 위해 IHttpHandlerFactory 를 사용하는 방법을 소개한다.여기에서는 필자가 꾸준히 만들어 온 Unity Container와 Windsor Castle 을 기반으로 하는 Umc.Core 프레임워크를 사용한다.Umc.Core 프레임워크에는 Unity Auto Registration 기능등이 모두 포함하기 때문에 프로젝트 셋업에 편리하다는 장점도 있다.샘플 프로젝트는 필자의 github 에서 다운로드 받을 수 있다. https://github.com/powe..
VISUAL STUDIO 2012 UPDATE 2 한국어 패치 한국어 패치 개요 비주얼 스튜디오(Visual Studio) 2012 Update 2 버전을 설치한 사용자는 일부 프로젝트 템플릿의 주석 및 실행 결과가 영문으로 변경된다. 이 경우 여러 사람과 함께 소스 저장소로 체크인이 있을 경우 소스 코드의 포함된 한글/영문을 제대로 인식하지 못해 충돌(conflict)가 발생할 수 있다. 이 문제를 해결하기 위해 프로젝트 템플릿을 기존의 Visual Studio 2012 Update 1 ASP.NET MVC 프로젝트 템플릿에 포함된 한글로 모두 변경하였다. 파이썬(Python)으로 설치 파일을 만들었는데, 예외 처리를 하지 않아서 오류가 있을 수 있으니 오류 발생 시 수동으로 진행해 주시면 됩니다. 업..
들어가기 앞서 팀 파운데이션 서버(Team Foundation Server) 는 구성과 운영이 매우 까다로운 ALM(Application Lifecycle Management) 솔루션 중의 하나다. 그간 오류에 대해 정리하는 의미로 팀 파운데이션 서버(Team Foundation Server) 를 운영하면서 겪을 수 있는 여러 가지 경우의 오류를 리스트업 해본다. 앞서, 마이크로소프트(Microsoft)의 제품이 가지는 여러 통합 제품은 공통적인 단점을 가지는데 그것은 통합되는 요소들이 모두 자사 제품임에도 불구하고 환경적인 요소에 매우 민감하다는 점이다. image–1 통합된 만큼 오류 유형도 광범위 팀 파운데이션 서버(Team Foundation Server)는 윈도우 서버, SQL 서버, 웹 응용 ..
세션 저장소 커스터마이징 지금까지 살펴본 바 세션 정보를 memcached를 이용하여 세션 정보를 성능과 관리, 그리고 확장가능성 측면에서 만족할 만한 솔루션이다. 여기에서 좀 더 나아가 쿠키 등을 이용하여 서브 도메인(Sub Domain)의 웹 응용 프로그램에 인증을 하거나 브라우저를 닫고 새로운 브라우저로 재접속 한 경우 기존 세션을 유지할 수 있도록 기능을 개선할 수 도 있다. 과거에는 SSO(Single-Sign-On)을 구현하기 위해 쿠키로 서브 도메인을 인증하는 경우 domain 에 의해 쿠키가 공유가 가능하다는 점을 이용하여 구현하기도 했다. 물론, SSO 솔루션들이 많이 있었지만, 수천 수만명의 사용자가 관리 대상이 아니라면 굳이 비싼 SSO 솔루션을 쓸 필요는 없었다. 세션 저장 방법 커..
필자는 일전에 이와 관련되어 상당한 분량의 포스팅을 올린 적이 있다. 총 5회의 아티클 중 마지막 회를 모두 작성하지는 못했지만, 지금 이 내용이 그 마지막 회의 내용과 어느 정도의 내용과 유사하다고 보면 된다. .NET/ASP.NET - 실전 ASP.NET Session 1 - 쿠키를 이용한 상태관리와 위험성 .NET/ASP.NET - 실전 ASP.NET Session 2 - 상태관리의 종류 .NET/ASP.NET - 실전 ASP.NET Session 3 - 다양한 세션 관리 방법 .NET/ASP.NET - 실전 ASP.NET Session 4 - 세션상태 마이그레이션 그 중, 4회 아티클 ‘[실전 ASP.NET Session [4] - 세션상태 마이그레이션]5’의 내용은 본 아티클의 내용에서 매우 중..
본 글을 월간 마이크로소프트 2012년 5월호 특집 기사로 다루어진 내용입니다. Visual Studio 11이 Visual Studio 2012로 변경됨에 따라 본문의 내용을 일부 수정하였습니다. [월간 마이크로소프트 5월호 특집기사] Windows 8 시대를 준비하는 Visual Studio 2012 [월간 마이크로소프트 5월호 특집기사] C++ 매트로 앱 개발을 위한 C++/CX 언어 [월간 마이크로소프트 5월호 특집기사] Windows 8 시대를 준비하는 Visual Studio 2012를 마치며 본 글 이외에 Visual Studio 팀 블로그를 함께 운영하는 강보람 MVP님의 "Welcome to Metro User Interface" 컬럼과 남정현 MVP님의 "Windows Server 8 ..
본 글을 월간 마이크로소프트 2012년 5월호 특집 기사로 다루어진 내용입니다. Visual Studio 11이 Visual Studio 2012로 변경됨에 따라 본문의 내용을 일부 수정하였습니다. 그리고 현재 필자는 NCSOFT에 재직하지 않음을 참고하기 바랍니다. [월간 마이크로소프트 5월호 특집기사] Windows 8 시대를 준비하는 Visual Studio 2012 [월간 마이크로소프트 5월호 특집기사] C++ 매트로 앱 개발을 위한 C++/CX 언어 [월간 마이크로소프트 5월호 특집기사] Windows 8 시대를 준비하는 Visual Studio 2012를 마치며 엄준일 – 현재 NCSOFT에 재직 중이며, Microsoft ALM MVP와 한국 Visual Studio 팀과 블로그를 운영하고 ..
[.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [1] [.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [2] 서버와 클라이언트는 어떤 과정이 반복되나요? ASP.NET 의 서버 모델은 아래의 그럼처럼 반복적인 추가 작업을 하게 됩니다. [그림6] 서버 모델 프로세스 HTML Form 모델은 여러 개의 Form 의 구간을 두어 단지 필요한 데이터만 서버로 전송합니다. 아래 그림처럼 말이죠. [그림7] HTML Form 모델 프로세스 이러한 뷰 스테이트(ViewState) 는 HTTP 파일 업로드가 되듯이 POST 로 서버로 업로드 됩니다. 즉 이 뷰 스테이트(ViewState) 양이 커지게 되면 web.config 에서 요청 데이터 사이즈의 크기를 조..
[.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [1] [.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [2] 들어가기 앞서… ASP.NET 을 책을 통해 입문하게 되면, 처음 접하게 되는 것이 바로 서버 컨트롤 입니다. 그리고 MSDN 에서도 서버 컨트롤을 남용하면 웹 사이트의 성능을 저하시킬 수 있다고 말합니다. 이러한 서버 컨트롤을 사용하여 개발하는 방법을 ASP.NET 의 서버 모델이라고 합니다. ASP.NET 의 서버 모델은 웹 개발에 있어서 정말 편리하고 복잡한 처리를 단순화 시킵니다. 우리가 ASP.NET 을 처음 입문하면 포스트백(Postback) 이라는 용어를 듣습니다. 왜 기존의 서밋(Submit) 이라는 용어를 쓰지 않고, 독자적인..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 제목에는 세션상태 마이그레이션 이라고 했지만, 보다 구체적으로 언급하면 세션 공급자를 구현하는 단원입니다. 이전에 보았던 아래의 그림과 같이 ASP.NET 이 제공하는 몇 가지의 세션상태 저장소가 있지만, 상황에 따라서 사용할 수 없는 경우도 생길 수 가 있습니다. .NET Framework 는 3가지의 세션 공급자를..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 ASP.NET 은 다양한 세션 관리 방법을 제공하여 줍니다. 서버의 자원은 제한적이기 때문에 In-of-process 방식이 아닌, Out-of-process 의 세션 관리 방법이 필요하다고 이전 시간에 말한바 있습니다. 이런 이유 이외에도, Worker Process 에 의해 세션이 관리된다면 프로세서가 어떤 오류로..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 이 단원은 ASP.NET 의 어느 책을 보아도 나오는 반드시 나오는 챕터이죠. 그만큼 기본적이고 중요한 부분입니다. 왜냐하면 웹이라는 것은 기본적으로 아무런 상태를 저장할 수 없기 때문입니다. 하지만, ASP.NET 을 이용하면 다양한 방법을 통해 상태를 쉽게 할 수 있고, 쉽게 간과할 수 있는 부분을 다시 한번 되새..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 프로그램의 코드를 짜면서 쉽게 간과할 수 있는 상태관리 오류 등을 범하기도 합니다. 때론, 적절한 상태 저장소를 잘못 선택하여 잘못된 코드와 결과를 보는 경우도 있습니다. 이번 아티클은 그런 오류를 범하지 않고, 적절한 상태관리를 할 수 있도록 방법을 제시해 줄 예정입니다. 또한, 3회 포스팅 부터는 그저 별 것 아닌..
1. Custom LINQ Provider – [1]. 소개 2. Custom LINQ Provider – [2]. Custom LINQ Provider 만들기 (IQueryable) 3. Custom LINQ Provider - [3]. Custom LINQ Provider 만들기 (IQueryProvider) 4. Custom LINQ Provider – [4]. Query(쿼리)를 이용한 원격 개체 탐색 5. Custom LINQ Provider – [5]. LINQ To Naver Open API 소스 코드 다운로드시 코드의 Naver Open API Key 를 변경하여 사용하시기 바랍니다. 드디어 5회차까지 왔네요. 이전까지는 Custom LINQ Provider 를 만들기 위해 몸풀기 과정이었..
[.NET/C# 3.0] - Custom LINQ Provider - [1]. 소개 [.NET/C# 3.0] - Custom LINQ Provider - [2]. Custom LINQ Provider 만들기 (IQueryable) [.NET/C# 3.0] - Custom LINQ Provider - [3]. Custom LINQ Provider 만들기 (IQueryProvider) [.NET/C# 3.0] - Custom LINQ Provider - [4]. Query(쿼리)를 이용한 원격 개체 탐색 [.NET/C# 3.0] - Custom LINQ Provider - [5]. LINQ To Naver Open API 이번에는 쿼리를 이용하여 원격 개체 탐색을 하는 방법에 대해서 알아보겠습니다. 이 파트..
[.NET/C# 3.0] - Custom LINQ Provider - [1]. 소개 [.NET/C# 3.0] - Custom LINQ Provider - [2]. Custom LINQ Provider 만들기 (IQueryable) [.NET/C# 3.0] - Custom LINQ Provider - [3]. Custom LINQ Provider 만들기 (IQueryProvider) [.NET/C# 3.0] - Custom LINQ Provider - [4]. Query(쿼리)를 이용한 원격 개체 탐색 [.NET/C# 3.0] - Custom LINQ Provider - [5]. LINQ To Naver Open API 지난 시간에 이어, 이번 시간에는 실제 Provider 를 구현해 보도록 하겠습니다. ..
[.NET/C# 3.0] - Custom LINQ Provider - [1]. 소개 [.NET/C# 3.0] - Custom LINQ Provider - [2]. Custom LINQ Provider 만들기 (IQueryable) [.NET/C# 3.0] - Custom LINQ Provider - [3]. Custom LINQ Provider 만들기 (IQueryProvider) [.NET/C# 3.0] - Custom LINQ Provider - [4]. Query(쿼리)를 이용한 원격 개체 탐색 [.NET/C# 3.0] - Custom LINQ Provider - [5]. LINQ To Naver Open API 이전 시간에 Custom LINQ Provider 에 대해서 살며시 알아보았습니다. 이..
[.NET/C# 3.0] - Custom LINQ Provider - [1]. 소개 [.NET/C# 3.0] - Custom LINQ Provider - [2]. Custom LINQ Provider 만들기 (IQueryable) [.NET/C# 3.0] - Custom LINQ Provider - [3]. Custom LINQ Provider 만들기 (IQueryProvider) [.NET/C# 3.0] - Custom LINQ Provider - [4]. Query(쿼리)를 이용한 원격 개체 탐색 [.NET/C# 3.0] - Custom LINQ Provider - [5]. LINQ To Naver Open API LINQ 의 출연 정말 .NET 이라는 세상이 많이 좋아진 것 같습니다. 강력한 Vis..
비스타에서 설치 프로젝트 권한상승 하기 비스타가 출시되면서 화려해진 인터페이스 만큼 수많은 부분에서 이슈가 생겼습니다. 게임/시스템/개발 등의 대체로 전반적인 부분에서 사용자들의 따가운 질타를 받아왔습니다. 그 중에서 배포 프로젝트와 관련하여 알아보았던 [.NET/Visual Studio] - VS2008 SETUP Project 의 설치시 Vista 권한 상승 기능 을 이용하여 해결할 수 있었습니다. 하지만 Windows Installer 에 의한 MSI 설치 파일을 약간 다른 방법으로 해결해야 합니다. Windows Installer 에 의한 MSI 설치 파일 권한 상승 방법 Windows Installer 는 msiexec 에 의해 설치파일(.MSI) 설치 환경을 제공해 줍니다. 때문에 근본적으로 ..
[.NET/Visual Studio] - [웹케스트] 설치 프로젝트를 이용하여 배포하기 #1 [.NET/Visual Studio] - [웹케스트] 설치 프로젝트를 이용하여 배포하기 #2 설치 프로젝트를 이용하여 배포하는 방법입니다. Visual Studio 를 이용하여 설치 프로젝트를 만들고, 배포 파일을 만들어 내는 방법을 동영상으로 녹화하였습니다. 웹 설치 프로젝트 또한 위와 같은 방법으로 만들 수 있기 때문에, 설치 프로젝트를 통해 자신이 만든 웹사이트를 배포할 수 도 있습니다. 필요한 분에게 도움이 되었으면 좋겠고요. 화면이 작으신 분은 전체화면으로 보시면 더 크게 볼 수 있습니다.
비스타의 UAC(사용자 계정 컨트롤)에 대응하는 권한 상승 시키기 Vista 가 나오면서 응용 프로그램의 .manifest 를 추가함으로써 UAC 에 대응할 수 있는 권한 상승 효과를 얻을 수 있었습니다. 설치 프로젝트의 경우 VS2005 까지 그러한 기능이 제공 되지 않았기 때문에, 이번 VS2008 의 배포 프로젝트의 권한 상승 기능은 환영할 만합니다. 그럼 VS2005 버전(그 이하버젼) 에서는 어떻게 비스타 배포를 할 수 있는지 알아보죠. 1. .Manifest 를 작성하여 Setup.exe 와 Setup.exe.manifest 배포하기 간단히 실행파일(확장자포함).manifest 의 파일을 추가함으로써 권한 상승 효과를 볼 수 있습니다. 2. .Manifest 를 리소스에 포함하여 Setup.e..
Fuslogvw.exe Fuslogvw.exe 는 닷넷 어셈블리(EXE,DLL) 의 바인딩 정보를 관찰할 수 있는 유틸리티이다. 닷넷 어셈블리가 어떤 버전의 참조를 하고 있는지, GAC 으로부터 바인딩 되는지 잘 살펴볼 수 있는 유용한 도구이다. 이 도구를 이용하여 다음과 같은 특정 오류에 대한 자세한 내용을 볼 수 있다. (MSDN 도움말 참조) l "파일을 찾을 수 없습니다." 또는 "버전이 일치하지 않습니다." 등 바인드가 실패한 특정 원인 l 이름, 응용 프로그램의 루트 디렉터리(AppBase) 및 개인 검색 경로(있는 경우)의 설명 등을 포함하여 바인드를 시작한 응용 프로그램에 대한 정보 l 도구에서 찾고 있는 어셈블리의 ID l 적용된 응용 프로그램, 게시자 또는 관리자 버전 정책 설명 l 전..
오늘도 어김없이 뎁질좀 하다가 스마트클라이언트 관련 질문이 올라왔다. 질문인 즉, Infragistic 컴포넌트를 사용하니 로컬에선 잘 되는데 원격접속시 다운로드가 제대로 되지 않는 것 같다는 것이다. 데브피아 Q&A 원문 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=7&MAEULNO=5&no=70422&ref=70422&page=1 아래의 샘플 경로는 접속할 수 없습니다. 샘플 : http://umc.pe.kr/Sample/SmartClient/SmartClient-Download-With-Infragistics-Components/Sample.Umcx 우선 예시 상황을 만들어 보았다. 아래는 버추얼PC 로 Infragistic 컴포넌트가 설..
다음은 스마트클라이언트 디버깅 방법이다. 웹 엠베디드 스마트클라이언트를 기준으로 설명드리지만, 독립 스마트클라이언트와 큰 차이가 없기 때문에 동일한 방법으로 디버깅을 수행하시면 된다. 여기에서 사용할 예제는 본 블래그의 실전 예제로 준비된 “다중파일 업로드 스마트클라이언트” 를 사용할 것이다. 다음의 아티클을 참고하시면, 예제 소스도 함께 제공됩니다. [.NET/Smart Client] - 실전 다중파일업로드 스마트클라이언트 - [1] [.NET/Smart Client] - 실전 다중파일업로드 스마트클라이언트 - [2] 1. 먼저 디버깅할 프로젝트를 연 후에, 원하는 지점에 브레이크 포인트를 건다. 2. 스마트클라이언트가 엠베디드 되는 페이지를 연다. 좀 특이한 점이 있는데 혹시 눈치 채셨을라나.. VS..
LINQ 를 이용한 OUTER JOIN 을 해보자. 이번 강좌를 지난 강좌에 이어 LINQ to SQL Classes 항목을 추가 하여야 한다. 이부분에 대해서는 다음의 URL 을 참고하기 바란다. [.NET/C# 3.0] - LINQ to SQL Classes 와 LINQ의 JOIN 작업 http://umc.pe.kr/article/2007/09/02/LINQ-to-SQL-Classes-AND-LINQ-JOIN.aspx 우선 우리가 원하는 SQL 쿼리식을 보자 SELECT A.ArticleNo, C.Content, C.InsertDate FROM Article A LEFT OUTER JOIN Comment C ON C.ArticleNo = A.ArticleNo ORDER BY C.InsertDate D..
LINQ 의 JOIN 기존 C# 2.0 의 Typed DataSet 의 개념과 LINQ 가 결합하여 LINQ to SQL Classes 라는 이름으로 굉장히 강력한 기능을 제공한다. LINQ, 람다식, 익명 형식에 대한 내용은 다음의 URL 을 참고 하세요. 2009-06-20 아래의 경로로 접속할 수 없습니다. LINQ의 발전과 C# 설계에 미치는 영향 http://umc.pe.kr/article/2007/09/02/Future-LINQ.aspx LINQ to SQL Classes 항목 만들기 [새 항목 만들기] 에서 LINQ to SQL Classes 를 만든다. 그럼 .dbml 확장자를 가진 몇가지 파일과 디자이너 화면이 나타나게 된다. 여기서 사용하게 될 데이터베이스는 UmcBlog 소스와 함께 ..
스마트클라이언트 프로그래밍을 하다보면, 웹페이지와의 연동이 필요한 부분이 생기기 마련이다. 가령, 스마트클라이언트 UI 의 특정 버튼 클릭에 의해 브라우져의 URL 이 변경된다던가, 특정 팝업창을 띄어야 한다는 등의 경우에 브라우져는 스마트클라이언트의 특정 이벤트를 감지할 필요가 있다. 테스트 환경은 Internet Explorer 5.5 이상 버전이면 충분하다. 소스를 작성하기 앞서 Delegate 와 Event 에 대한 선수 지식이 필요하므로, 필요하다면 MSDN 에서 Delegate 와 Event 에 대해서 잠시 살펴 보는것도 좋을 것 같다. 2009-06-20 아래의 샘플은 접속할 수 없습니다. 소스의 샘플은 다음의 URL 을 통해서 테스트 해 볼 수 있습니다. ( 단, CAS 권한을 설정해야 합..
- Total
- Today
- Yesterday
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
- 팀 파운데이션 서버
- Silverlight
- TFS 2010
- umc
- POWERUMC
- Visual Studio 2010
- TFS
- .NET
- 비주얼 스튜디오
- mono
- test
- LINQ
- .NET Framework 4.0
- c#
- ALM
- Team Foundation Server 2010
- ASP.NET
- MEF
- Visual Studio
- Team Foundation Server
- Windows 8
- testing
- Visual Studio 11
- 비주얼 스튜디오 2010
- Visual Studio 2008
- monodevelop
- Managed Extensibility Framework
- 땡초
- github
- 엄준일