-
webapi version (namespace) 사용하기
web api 2 versioning with name space 참고 - http://aspnet.codeplex.com/SourceControl/changeset/view/dd207952fa86#Samples/WebApi/NamespaceControllerSelector/ReadMe.txt class를 NamespaceHttpControllerSelector 추가하자. ```cs using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using System.Web.Http.Controllers; using System.Web.Http.Dispatcher; using System.Web.Http.Routing; namespace s3.api.App_Start { public class NamespaceHttpControllerSelector : IHttpControllerSelector { private const string NamespaceKey = “namespace”; private const string ControllerKey = “controller”; private readonly HttpConfiguration _configuration; private readonly Lazy<Dictionary<string, HttpControllerDescriptor>> _controllers; private readonly HashSet<string> _duplicates; public NamespaceHttpControllerSelector(HttpConfiguration config) { _configuration = config;...
-
webapi 2 api key 사용하기
WEB API KEY 참고 - http://www.whoiskevinrich.com/adding-user-claims-via-api-keys-in-webapi-2 new project 컨트롤러를 만들자. //[Authorize] public class ValuesController : ApiController { // GET /values public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } } 실행해보자. http://localhost:59486/values 값이 오는걸 확인하자. Authorize 주석 해제 후 다시 테스트 401을 확인하자. Add WebApi.AuthenticationFilter Package PM> Install-Package WebApi.AuthenticationFilter ApiKeyAuthenticationFilter를 만들자. using System.Linq; using System.Net; using System.Security.Claims; using System.Web.Http.Filters; using System.Web.Http.Results; using WebApi.AuthenticationFilter; namespace apikey.App_Start { public class ApiKeyAuthenticationFilter : AuthenticationFilterAttribute {...
-
NodeJS Memo
NodeJS Memo - 공부하다 하나씩 추가로 적어보자. version version 4 es6 40% 지원 version 5 es6 80% 지원 version 6 es6 100% 지원 LTS 서포트 기간을 보니 이제 node 6를 사용해야할듯 https://github.com/nodejs/LTS npm (node package manager) npm install -save : package.json에 dependency에 저장 npm install -S : 위와 같음. npm install -save-dev : package.json에 devDependency에 저장 npm install -D : 위와 같음 npm install -g : 글로벌로 설치
-
Last Lecture - Randy Pausch
Last Lecture Randy Pausch Tell the truth Apology i am sorry it was my fault how do i make right Wait and people will show their good side Showing gratitude Don’t complain , Just work harder
-
Frisbyjs (Automate Rest Api Testing) - 7
Frisbyjs (Automate Rest Api Testing) - 7 : Jenkin jenkins 를 사용하여 테스트를 자동화 하자. jenkins 서버 설정 npm install -g jasmine-node 젠킨트에서 새로운 프로젝트를 만들자. 설정을 하자. 소스코드를 체크아웃한다. Build Triggers 트리거를 걸어보자 나는 6시간마다 한번씩 실행하게 했다. Build 빌드를 설정을 해야한다. 나는 윈도우서버에 젠킨스를 설정햇음로 window batch command를 사용해서 할 것이다. 각자 맞는 것으로 진행하면될듯 일단 npm을 설치해야한다. frisby등 개발시에 사용햇던 npm을 모두 설치해야하기 때문이다. 하나를 더 만들자. 그리고 위그림 처럼 설정한다. del은...
-
Frisbyjs (Automate Rest Api Testing) - 6
Frisbyjs (Automate Rest Api Testing) - 6 frisbyjs – iis initial loading issue 테스트 사이트에 개발완료된 코드를 넣고 테스트를 해보려고 한다. 문제가 발생했다. 개발 iis이기 때문에 ..그리고 디플로이후 처음 리쿼스트를 요청하는거기 때문에 iis에서 로딩이 상당이 오래 걸린다. frisbyjs는 기본으로 1초 정도 기다리고 timeout exception 을 내버리는것 같다. 물론 모든 테스트에 .timeout(30000) 를 걸면된다. 테스트가 추가될때마다 적워줘야해서 쓸모없는 짓 같다. frisbyjs에 디폴트 timeout 을 늘려보려고 이것저것 찾아봣으니 잘 되지 않는다. 그래서 생각한 방법이 처음 테스트만 .timeout(30000)...
-
Quartz Scheduler (.Net) - 2 Xml Scheduler Setting
Quartz Scheduler (.Net) - 2 Xml Scheduler Setting Xml Scheduler Setting [지난글]에서 스케줄러를 c# 코드로 추가해 보았다. 이번에는 xml로 스케줄러를 세팅을 해보자. web-api 기본 프로젝트를 만든다. Install-Package Quartz -Version 2.4.0 자동으로 관련 dll과 job_scheduling_data_2_0.xsd 를 프로젝트 디렉토리에 추가한다. 먼저 Global.asax 수정해보자. Application_Start 에 다음을 추가한다. protected void Application_Start() { var scheduler = new StdSchedulerFactory().GetScheduler(); scheduler.Start(); } web.config에 처럼 추가하자. <configSections> <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </configSections> <quartz> <add key="quartz.scheduler.instanceName" value="DefaultQuartzScheduler"/> <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz"/>...
-
Frisbyjs (Automate Rest Api Testing) - 5
Frisbyjs (Automate Rest Api Testing) - 5 서버에서 넘어온 값을 확인해 봐야 할 때가 있다. 서버에서 에러가 나야하고 그 에러메세지를 확인해야 할 경우가 있다. 신용카드를 포스트로 보내는 테스트인다. frisby.create('postUserPaymentMethods') .addHeader('Authorization', 'Bearer ' + token) .post(domain + '/paymentmethods', { "country":"1", "name":"asdf", "creditCardNumber":"234234", "type":"VISA", "cvv":"234", "expDateMonth":"02", "expDateYear":"2016", "address":"234234234", "city":"234", "state":"234", "zipcode":"234" }) .expectStatus(200) .toss(); 백앤드에서 에러가 나면서 400번을 자꾸 리턴을 한다. 에러를 찍어봐야 내용을 알수 있기 때문에 다음을 추가했다. .afterJSON(function (json){ console.log(json); }) 전체 코드는 다음과 같다....
-
C# - Gmail Sender
C#으로 지메일 gmail 보내기 메세지를 만들어서 다음처럼 하면 간단하게 보낼수가 있다. using (SmtpClient client = new SmtpClient { EnableSsl = true, Host = "smtp.gmail.com", Port = 587, Credentials = new NetworkCredential("Your Id", "Your Pass") }) { MailAddress from = new MailAddress("FromEmailAddress","FromName",System.Text.Encoding.UTF8); MailAddress to = new MailAddress("ToEmailAddress"); MailMessage message = new MailMessage(from, to); message.Body = "This is a test e-mail message sent by an application. "; message.BodyEncoding = System.Text.Encoding.UTF8; message.Subject = "subject " ; message.SubjectEncoding =...
-
IIS Express - Bad Request Error - VS 2015
IIS Bad Request Error VS 2015를 사용중 기존에 테스트하던 http://localhost:5555 를 아이피로 접근 실패 127.0.0.1:5555 도 접속이 안되고 192.168.100.100:5555 도 접속이 안된다. 여러군데를 검색해보앗지만 해결책이 정확하지 않아 삽질을 하다 해결했다. 아주 간단햇다. C:\Users\{UserName}\Documents\IISExpress\config\applicationhost.config 또는 ProjectFolder\.vs\applicationhost.config 두개의 파일을 확인해보자 . 둘중 하나에는 현재 사용하는 포트가 있을것이다. (나의 경우는 5555) 사용하는 포트로 검색해보면 다음같은 코드가 있을것이다. <binding protocol="http" bindingInformation="*:50823:localhost" /> 다음처럼 수정한다. <binding protocol="http" bindingInformation="*:50823:*" /> 이제 접속이 잘 된다. VS를 재시작후 다시 확인해보면 설정파일에 설정이 하나...