Slicebox - slideshow


참조 URL
  1. http://tympanus.net/Development/Slicebox/index.html

 

 미려한 모양을 갖춘 3D 슬라이드쇼 라이브러리다. CSS Transition을 통해 구현되었으며 지원되지 않는 브라우저에서는 보통의 슬라이드와 같이 표현된다.



 [그림1] Slidebox


Messaging Service - MQ

( Message Queueing Service )

( MSMQ, SonicMQ, ZeroMQ, RabbitMQ, ActiveMQ )


참조 URL
  1. ZeroMQ에 대한 소개글 번역
  2. ZeroMQ 소개
  3. ZeroMQ 활용 예제
  4. ZeroMQ
  5. RabbitMQ
  6. RabbitMQ 클러스터 교체 경험담
  7. MSMQ 설치
  8. MSMQ 사용
  9. ActiveMQ
  10. SonicMQ

 

 MQ(Message Queue) 서비스의 활용에 따라 아래와 같으 이점을 얻을 수 있을 것이다.

  • 고가용성을 지향하는 시스템
  • 지연된 정보 처리
  • 분산 지향 시스템
  • 시스템간의 안정적인 통신(메시지 유실 방지)
  • 기타 등등 ( 활용에 따라 )

시스템에 대한 자세한 정보는 위 참조 URL에서 직접 확인해 보도록 하자.

데이터 시각화 Library

( Data Visualization )


참조 URL
  1. 데이터 시각화 라이브러리 목록
  2. Visualization Libraries
  3. Data Visualization
  4. The 20 best tools for data visualization
  5. 50 JavaScript Libraries for Charts and Graphs

 

위 참조 링크 페이지로 한번 가보면 시각화에 필요한 라이브러리들을 정리한 사이트이다.



[그림1] Data Visualization 사이트


Assembly Version Loading

참조 URL
  1. AssemblyName.Version 속성



 현재 어셈블리의 버전을 읽는 방법을 아래와 같이 소개 한다.


[코드] Assembly Version load



Hot Towel SPA - Project template


참조 URL
  1. Hot Towel template
  2. http://blog.pluralsight.com/2013/02/26/hot-towel-spa-new-asp-net-mvc-project-template/
  3. http://www.asp.net/single-page-application/overview/templates

 


 Hot Towel SPA 템플릿이 나왔다. ASP.NET MVC 4에서 Web API와 궁합이 맞는 자바스크립트 프레임웍이다.  Visual studio에서 해당 템플릿을 추가하기 위해서는 아래 링크에서 VSIX 파일을 다운받아 실행시키면 템플릿으로 프로젝트를 만들 수 있을 것이다.

http://www.asp.net/single-page-application/overview/templates/hottowel-template


 아래 '그림1'은 템플릿을 통해 실행된 페이지 결과 화면이다.


[그림1] Hot Towel tamplate 실행 결과 화면


 Hot Towel template은 기본적으로 Breeze.js, Durandal.js, Knockout.js, Require.js, Toastr.js, Twitter Bootstrap를 이용해서 개발 가이드를 제시해주는 템플릿이라 하겠다. 각각의 자바스크립트 라이브러리가 맡은 기능을 정리하면 아래와 같다.

Featured Libraries

  • ASP.NET MVC
  • ASP.NET Web API
  • ASP.NET Web Optimization - bundling and minification
  • Breeze.js - Data 관리
  • Durandal.js - 네비게이션과 페이지 조합
  • KnockOut.js - 데이터 바인딩
  • Require.js - 모듈화 및 AMD 최적화 지원
  • Toastr.js - Pop up 메세지 지원
  • Twitter bootstrap - CSS 스타일


Microsoft Enterprise Library 6


참조 URL
  1. http://entlib.codeplex.com/
  2. http://msdn.microsoft.com/en-us/library/dn169621.aspx
  3. Download
  4. http://www.sqler.com/375933
  5. http://channel9.msdn.com/Tags/entlib
  6. Microsoft Enterprise Library 6 and Unity 3 Released

 


Microsoft Enterprise library 도 이번에 6로 업데이트가 되었다. 기업용 솔루션을 만들거나 서버 프로그램을 개발한다면 사용해 보는것도 괜찮을 것이다. 적어도 분석을 통해서 개발에 대한 가이드에 대해서 생각해 보는 시간이 될 것이라 생각한다. 



Overview

Enterprise Library consists of reusable software components that are designed to assist developers with common enterprise development challenges. It includes a collection of functional application blocks addressing specific cross-cutting concerns such as data access, logging, or validation; and wiring blocks, Unity and the Interception/Policy Injection Application Block, designed to help implement more loosely coupled, testable, and maintainable software systems.

Different applications have different requirements, and you will find that not every application block is useful in every application that you build. Before using an application block, you should have a good understanding of your application requirements and of the scenarios that the application block is designed to address.

Microsoft Enterprise Library 6 contains the following application blocks:

  • Data Access Application Block. Developers can use this application block to incorporate standard database functionality in their applications, including both synchronous and asynchronous data access and returning data in a range of formats.
  • Exception Handling Application Block. Developers and policy makers can use this application block to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
  • Logging Application Block. Developers can use this application block to include logging functionality for a wide range of logging targets in their applications. This release adds asynchronous logging capabilities.
  • Policy Injection Application Block. Powered by the Interception mechanism built into Unity, this application block can be used to implement interception policies to streamline the implementation of common features, such as logging, caching, exception handling, and validation, across a system.
  • Semantic Logging Application Block. This application block provides a set of destinations (sinks) to persist application events published using a subclass of the EventSource class from the System.Diagnostics.Tracing namespace. Sinks include Windows Azure table storage, SQL Server databases, and flat files with several formats and rolling capabilities. Developers can extend the block by creating custom formatters and sinks. For those sinks that can store structured data, the block preserves the full structure of the event payload in order to facilitate analyzing or processing the logged data. Events can be persisted in-process or collected and persisted out-of-process in a separate service.
  • Transient Fault Handling Application Block. This application block makes on-premises or cloud applications more resilient to transient failures by providing intelligent retry logic mechanisms.
  • Unity Application Block. Developers can use this application block as a lightweight and extensible dependency injection container with support for constructor, property, and method call injection, as well as instance and type interception. This release adds support for Windows Store apps as well as the registration by convention feature to ease the task of configuring Unity.
  • Validation Application Block. Developers can use this application block to create validation rules for business objects that can be used across different layers of their applications.

Enterprise Library also includes a set of core functions for declarative configuration support.



What is Enterprise Library?

Microsoft Enterprise Library is a popular collection of reusable software components (called application blocks) designed to address common cross-cutting concerns of enterprise application developers (such as logging, validation, data access, exception handling, and more). Enterprise Library is provided as source code, test cases, and documentation that can be used "as is" or extended, and encapsulates the Microsoft recommended and proven practices for .NET application development.

Unity is one of the Enterprise Library application blocks which provides a lightweight, extensible dependency injection container with support for constructor, property, and method call injection, as well as support for instance and type interception. It facilitates building loosely coupled applications (including Windows Store apps).

Enterprise Library can be useful in a variety of situations:

  • Enterprise Library provides sufficient functionality to support many common cross-cutting scenarios that enterprise-level applications must address.
  • Enterprise Library can serve as the basis for a custom library. You can take advantage of the extensibility points incorporated in each application block and extend the application block by adding new providers. You can also modify the source code for the existing application blocks to incorporate new functionality, and even add new application blocks to Enterprise Library. You can either develop extensions for existing application blocks and new application blocks yourself, or you can use extensions and application blocks developed by others.
  • Enterprise Library is designed so that its application blocks can function independently of each other. You need to add only the application blocks that your application will use.
  • Enterprise Library includes the source code and the unit tests for all application blocks. This means you can explore the implementations, modify the application blocks to merge into your existing library, or you can use parts of the Enterprise Library source code in other application blocks or applications that you build.


Enterprise Library includes documentation, a reference implementation, and source code. Enterprise Library embodies many design patterns, and demonstrates good architectural and coding techniques. You can use the library as a tool for learning architectural, design, and proven coding practices.

What’s in the Box?

  • New Blocks
    • Semantic Logging Application Block [video]
    • Transient Fault Handling Application Block (this application block was previously a part of the Enterprise Library Integration Pack for Windows Azure; in this release it has been generalized and updated to the latest technologies).
    • Updated Application Blocks – 6 blocks from previous versions have been updated:
      • Data Access Application Block
      • Exception Handling Application Block
      • Logging Application Block
      • Policy Injection Application Block
      • Validation Application Block
      • Unity Application Block/DI Container (v3.0)
  • New Programmatic Configuration – Streamlining programmatic configuration of all blocks and improving ease of learning and ease of experimentation.
  • Configuration Console – largely unchanged from the previous release.
  • Reference Implementation – To versions of the same application: one using Enterprise Library 5 and one using Enterprise Library 6 to illustrate the changes and to help users migrate.
  • Guides – The “Developer’s Guide to Enterprise Library” is designed to introduce users to the library and explain how to use it through short, practical code examples. The new “Dependency Injection with Unity” guide introduces users to the Dependency Injection pattern, describes the problems it can solve, and shows how to use the Unity container in their own applications.

How to Get It?

The primary shipping channel for code is NuGet. Search for Unity or EntLib inside NuGet Package Manager. Additionally, all deliverables are available as self-extractable zip packages via Microsoft Download Center. The guidance deliverables are available onCodeplex today. After post-production work is completed, they will be published on MSDN. You will also be able to order the hardcopies of the Developer’s Guides or get them in PDF, Epub, or Mobi formats.


Windows Phone 8 Training kit updated


참조 URL
  1. http://blogs.msdn.com/b/acoat/archive/2013/04/26/windows-phone-8-training-kit-updated.aspx
  2. http://www.microsoft.com/en-us/download/details.aspx?id=38782
  3. http://www.microsoft.com/en-au/download/search.aspx?q=training%20kit&p=0&r=10&t=&s=availabledate~Descending

 

 윈도우폰 개발 관련 트레이닝 툴이 업데이트가 되었다. 필요한 사람은 받아서 트레이닝을 한번 받아 보자. ^^.



Impersonation by Powershell


참조 URL
  1. Configuring Exchange Impersonation
  2. Configure Exchange Server 2010 Impersonation

 

 Exchange를 이용한 관련 프로그램을 개발하기 위해 EWS를 이용하게 될때 Impersonation 기능을 이용해 일반 사용자 계정으로 가장을 하여 사서함에 접근하도록 개발해야 한다. 가장을 하기 위해서는 해당 계정이 가장(Impersonation)을 할 수 있는 권한을 할당해 줘야 에러가 발생하지 않고 가장을 할 수 있다. 이 권한이 할당되어 있지 않으면 'ImpersonateionId = new ...' 할 때 에러가 발생한다. 이럴 때 아래와 같이 익스체인지 파워쉘에서 아래와 같이 입력해  가장 권한을 할당해 주면 에러 없이 개인 사서함에 접근해 정보에 접근할 수 있다.


New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:serviceAccount 

[표1] 가장 권한 할당 예제


 위와 같이 설정을 하면 아래와 같은 코드에서 에러없이 가장을 할 수 있을 것이다.

_service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddressaddress);

[코드1] C# 코드에서 가장하기


위 코드와 같이 가장이 완성이 되면 개인 계정에 접근하여 읽기 및 메일 발송, 일정, 그룹등 아이템 생성 및 수정을 할 수 있다.

NuGet must haves



 NuGet 사이트에서 유용한 정보를 리스트업 해서 보여주고 있다. 최근 인기 있는 프로젝트의 결과물의 리스트이다. 이곳에서 자신에게 필요한, 그리고 활발하게 개발 및 지원되고 있는 파일들을 받아서 실험해 보도록 하자.


NuGet Must Haves Link


[그림1] NuGet Must Haves site



 ASP.NET MVC에서 WebActivator를 사용해 보자

- Bootstraper 기능

 이 포스트에 있는 내용이 언제나 확실한 정답은 아닙니다. 진실이라고 생각해 왔던 전제가 시간의 지남에 따라 들어나지 않았던 다른 이면 때문에 좋은 방향으로 이끌어 낼 수 있는 역할로 변환 되는게 역사적으로도 많은 증명 있었습니다. 그렇지만 저는 현재 상황에서 최선의 답을 찾고자 노력하였으며 이 글을 읽는 다른 분들에게 다음 길을 갈 수 있도록 도와주는 디딤돌이 되고자 노력하고자 포스팅을 통해 공유하고자 하는 것입니다. 그리고 프로그래머라는 타이틀을 달고 살아야 한다면 "왜"라는 의문을 항상 가지고 다니면서 자신의 위치에 안주하지 않고 항상 노력하는 모습으로 살아 가고자 합니다. 언제든 지적이나 오류가 있으면 피드백 부탁 드리겠습니다.

ing™       



 WebActivator는 ASP.NET이 IIS에서 로드가 되기 전에 미리 필요한 초기화 작업을 개발자의 명시없이 진행할 수 있는 방안을 제시해 주고 있다. 더군다나 다른 개발자가 배포한 참조 DLL에서 초기화를 해야 하는 경우에도 WebActivator가 암시적으로 초기화를 할 수 있도록 할 수 있다. 우선 사용하기 위해서는 Nuget에서 WebActivator로 검색해서 설치를 하도록 하자. 아래 그림을 참고로 설치를 하자


[그림1] WebActiviator 검색

(Install 버튼을 눌러 설치를 한다.)


[그림2] WebActivator 설치



 이제 프로젝트에 WebActivator이 설치가 되었다. 이제 프로젝트 아무데서나 BootStrapper.cs(필자가 임의로 만들었다) 파일을 생성해 아래 코드와 같이 입력해 보자.


[코드1] Activator 실행 코드


 위 소스코드에서 1, 2, 3번줄을 살펴 보자. 

- [assembly: WebActivator.PreApplicationStartMethod(typeof(TDDMVCTest.App_Start.BootStrapper), "PreStart")] : 최초 Web Server가 실행 할 때  Application Start가 되기 전에 실행 됨

- [assembly: WebActivator.PostApplicationStartMethod(typeof(TDDMVCTest.App_Start.BootStrapper), "PostStart")] : 최초 Web Server가 실행 되고 나서 Application End가 되고 나서 실행 됨

- [assembly: WebActivator.ApplicationShutdownMethod(typeof(TDDMVCTest.App_Start.BootStrapper), "Shutdown")] : Web Server가 종료되기 전에 실행 됨


 클래스 위에서 위와 같이 선언하여 사용할 수 있으며 자신이 작성한 코드의 초기화나 종료를 암시적으로 실행시킬 수 있으며 다른 개발자가 배포한 모듈에서 필요한 초기화를 WebActivator를 통해서도 초기화를 진행할 수 있다. 이 기능을 이용해서 Global.asax 파일이나 Web.Config 파일에 집중되어 있던 초기화 작업에 대해서 암시적으로 실행할 수 있는 길이 열렸다. 자세한 사용 기능을 "코드1"에 있는 주석을 읽어 보도록 하자.


소스 코드 자체에 주석과 직관적인 코딩으로 충분히 파악이 가능할 것으로 예상하므로 별도의 설명을 생략하도록 하겠습니다. 포스트의 내용이 장황한 설명 보다는 주석과 소스코드 자체 만으로도 이해할 수 있도록 하기 위해 노력하였습니다. 실 개발에서도 적용할 수 있도록 간단하면서도 현실적인 예제 프로그램을 통해 각 소스를 만들고 이해 시키고자 하였으며 실무에 필요한 개발요구 사항들을 해결 하는데 도움이 되고자 노력하였습니다. 그리고 소스와 같이 있는 주석을 이용해 nDoc이나 별도의 자동 Document 제작 유틸로 API 문서를 만드는 데에도 도움이 되었으면 한다. 
※ DOC에 대한 프로그램 정보 Util link

ing™       


+ Recent posts