Knockout Generator


참조 URL
  1. http://visualstudiogallery.msdn.microsoft.com/32c15a80-1c54-4e96-a83f-7cd57573a5d2

 

 "Andreas Gustafsson" 님이 만든 Knockout Generator 툴을 이용해서 C#에사 만든 클래스를 이용해서 쉽게 javascript의 클래스를 만들 수 있도록 지원해 준다. 이 툴을 설치 하려면 우선 Visual studio 에서 Tools > Extensions and Updates... 클릭해 "그림1"과 같은 화면을 띄워 "knockout"으로 검색하면 "Knockout Generator"이 보일 것이다. 이 부분 설치하고 Visual studio를 재 실행하면 활성화가 된다.

 

 

 

[그림1] Knockout Generator 검색 결과 화면

 

 

그런 후 솔루션 탐색기에서 특정 클래스위에서 오른쪽 클릭하면 "그림2"와 같은 메뉴를 확인할 수 있다.

 

 

[그림2] ViewModel 만드는 화면

 

 

 

클릭하고 All Obserable를 체크하고 "Copy to clipboard"를 눌러 메모리에 복사한다.

 

[그림3] javascript를 메모리에 복사하는 화면

 

 

 

그런 후 "그림4"와 같이 Visual studio 에서 javascript 아이템을 새로 추가한 후

 

[그림4] javascript 파일 추가

 

 

 

붙여넣기를 하면 "그림5"와 같은 javascript의 결과가 나오게 된다.

 

[그림5] knockout에서 사용할 javascript 파일

 

 

 

 위와 같은 방법으로 knockout에서 사용하는 모델을 쉽게 만들 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 











 

Web에서 HttpResponseException을 이용한 에러 노출


참조 URL
  1. http://msdn.microsoft.com/ko-kr/library/system.web.http.httpresponseexception(v=vs.118).aspx

 


example

throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);





아래 상태별로 표준 에러를 표현해 줄 수 있다.


Continue = 100,
SwitchingProtocols = 101,
OK = 200,
Created = 201,
Accepted = 202,
NonAuthoritativeInformation = 203,
NoContent = 204,
ResetContent = 205,
PartialContent = 206,
MultipleChoices = 300,
Ambiguous = 300,
MovedPermanently = 301,
Moved = 301,
Found = 302,
Redirect = 302,
SeeOther = 303,
RedirectMethod = 303,
NotModified = 304,
UseProxy = 305,
Unused = 306,
RedirectKeepVerb = 307,
TemporaryRedirect = 307,
BadRequest = 400,
Unauthorized = 401,
PaymentRequired = 402,
Forbidden = 403,
NotFound = 404,
MethodNotAllowed = 405,
NotAcceptable = 406,
ProxyAuthenticationRequired = 407,
RequestTimeout = 408,
Conflict = 409,
Gone = 410,
LengthRequired = 411,
PreconditionFailed = 412,
RequestEntityTooLarge = 413,
RequestUriTooLong = 414,
UnsupportedMediaType = 415,
RequestedRangeNotSatisfiable = 416
ExpectationFailed = 417,
UpgradeRequired = 426,
InternalServerError = 500,
NotImplemented = 501,
BadGateway = 502,
ServiceUnavailable = 503,
GatewayTimeout = 504,
HttpVersionNotSupported = 505,













HostingEnvironment를 이용한 호스팅 정보 활용


참조 URL
  1. http://msdn.microsoft.com/ko-kr/library/system.web.hosting.hostingenvironment(v=vs.110).aspx

 


example


protected void Page_Load(object sender, EventArgs e) { appID = HostingEnvironment.ApplicationID; appPPath = HostingEnvironment.ApplicationPhysicalPath; appVPath = HostingEnvironment.ApplicationVirtualPath; siteName = HostingEnvironment.SiteName; }





프로그래밍 정보 얻는 사이트 - 영어 사이트


참조 URL
  1. http://www.youtube.com/user/googletechtalks
  2. http://www.parleys.com/home
  3. http://www.infoq.com/
  4. http://channel9.msdn.com/
  5. https://www.coursera.org/
  6. http://www.zdnet.co.kr/column/column_view.asp?artice_id=20131111104547

 

 

 

 

.NET Rocks - 닷넷과 관련된 최신기술 동향에 대해서 양질의 대화

The Basement Coders - 소프트웨어 개발 일반에 대해서 흥미로운 이야기

Cake Solutions Software Development - 빅데이터나 병렬처리와 관련한 최신기술을 이야기

Chariot Solutions - 소프트웨어 업계 리더들과 수행한 인터뷰를 주로 소개

Deep Fried Bytes - 닷넷기술에 대해서 대화

Hanselminutes - 다양한 기술일반을 다룸

The Java Posse - 자바 기술을 다룸

Java Pub House - 자바 기술을 다룸

 

 

 

 

 

 

C# AppDomain에서 DataDirectory 세팅하기




 ASP.NET에서는 Framework단에서 세팅되는 DataDirectory의 값이 WPF나 Winform, Console Application 에서는 세팅이 되어 있지 않는다. 그래서 EF를 통해 SDF(Compact SQL) 파일이나 LocalDB를 통해 동적으로 DB를 생성시 전혀 엉뚱한 곳에서 물리적인 파일이 생성이 된다. EF를 통해 생성시 AppDomain의 DataDirectory의 값으로 위치를 찾아 파일을 만든다.


 아래와 같이 AppDomain에 값을 저장할 수 있다.


AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"));

[코드1] AppDomain의 DataDirectory에 값 세팅



 "코드1"에서와 같이 세팅 후 "코드2"와 같이 실행하면 AppConfig에 설정된 값을 기준으로 DB 파일을 만들게 된다.


using (ContentContext context = new ContentContext())
{
    var content = context.Contents.FirstOrDefault();
}

[코드2] DBContext를 통해 데이터 생성




<entityFramework>   <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">     <parameters>       <parameter value="System.Data.SqlServerCe.4.0" />       <parameter value="|DataDirectory|"/> <!-- 주석처리 가능 -->       <parameter value=""/> <!-- 주석처리 가능 -->     </parameters>   </defaultConnectionFactory>   <providers>     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />     <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />   </providers> </entityFramework>

[코드3] App.Config에서 entityframework 섹션 내용


 "코드3"의 "Parameter"의 값을 기준으로 파일을 생성하게 된다.




 


 

C#에서 실행되는 폴더 알아 내기

(윈도우 서비스, 테스트 프로젝트, ...)


참조 URL
  1. http://stackoverflow.com/questions/1658518/getting-the-absolute-path-of-the-executable-using-c



윈도우 서비스나 테스트 프로젝트에서 실행을 하면 내가 코딩한 DLL이 위치하는 폴더와 실제 실행되는 프로세스의 위치가 상이한 경우가 발생할 수 있다. 이럴경우 기대한 경과와 다르게 에러가 발생할 수 있다. 예로 파일을 읽어 오는 부분이나 환경설정을 읽어 오는 부분에서 경로가 맞지 않아 에러가 발생할 수 있다. 아래 코드와 같이 실행되는 프로세스나 어셈블리의 위치를 알아 내는 방법이 몇가지로 제공을 하고 있다.



var path1 = Environment.CurrentDirectory;
var path2 = Directory.GetCurrentDirectory();
var path3 = new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName;
var path4 = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var path5 = Thread.GetDomain().BaseDirectory;
var path6 = AppDomain.CurrentDomain.BaseDirectory;

[코드1] 폴더 위치 가져오기


위 "코드1"에서와 같이 폴더를 알아 낼 수 있지만 path1과 path2는 실행되는 프로세스를 중심으로 폴더를 알아내고 path3 ~ path6은 어셈블리를 기준으로 폴더를 알아내는 구조로 되어 있다.



위와 같은 코드를 윈도우 서비스에서 실행하면 아래와 같은 폴더의 위치가 달라지게 된다.


path1 : C:\Windows\System32

path2 : C:\Windows\System32

path3 : C:\User\xxxx\Visual Studio\Project\xxxx

path4 : C:\User\xxxx\Visual Studio\Project\xxxx

path5 : C:\User\xxxx\Visual Studio\Project\xxxx

path6 : C:\User\xxxx\Visual Studio\Project\xxxx



위와 같이 값을 확인 할 수 있을 것이다.


필요에 따라 값을 가져오는 방법을 달리 하여 가져오면 될 것이다.


 


 

 


 









Node.js의 Express에 대한 한국어 설명


참조 URL
  1. http://firejune.io/express/
  2. https://github.com/visionmedia/express
  3. https://runnable.com/express
  4. http://nodejs.sideeffect.kr/docs/




 

 

 

 

 

 

 

Python Tools for Visual Studio

( Visual Studio에서 Python 개발하기 )


참조 URL
  1. http://pytools.codeplex.com/
  2. http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx
  3. http://www.python.org/download/


 

 

 

 


 






 

+ Recent posts