일반적인 응용프로그램을 만들 때 콘솔에 값을 출력하여 값을 확인하는 경우는 흔합니다. 보통 비주얼 스튜디오에서는 '보기 > 출력'을 통해서 확인합니다. 1. 'ASP.NET'에서 콘솔 출력하기 ASP.NET에서는 'System.Diagnostics'를 이용하여 출력해야 합니다. (참고 : MSDN - 연습: ASP.NET 추적을 System.Diagnostics 추적과 통합) System.Diagnostics.Trace.WriteLine("[출력할 내용]"); 2. 일반적인 .NET 응용프로그램의 경우 보통 응용프로그램을 만들면 그냥 'Console'을 이용하면 됩니다. Console.WriteLine([내용]); 마무리 ASP.NET에서는 콘솔출력을 하면 아무런 내용이 나오지 않습니다. 검색해보니 응용..
1. 문제의 발견 구글 Closure Compiler를 사용하다가 다음과 같은 오류가 났습니다. JSC_TRAILING_COMMA: Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option. at line 5 character 2 in HelloWorld.js BG: "background", ^ 앵? 번역을 해보니 자바스크립트에서 쉼표가 잘못되서 IE8에서 문제가 될 수 있다나 머라나;;; (대충 표준에 안 맞다는 소리입니다.) 2. 해결 방법..
웹디자인의 이슈 중 하나가 반응형 디자인입니다. 반응형 디자인이라는 건 해상도가 변해도 다른 작업 없이 레이아웃이 구성되도록 하는 것을 말합니다. (유동 디자인, 능동형 디자인 등으로 부릅니다.) 해상도에 따라 다른 화면이 아닌 일정한 화면을 보여주는 방식으로 크로스 브라우징을 해결하려고 하는 생각은 이전부터 있었습니다. 그런데 이 방법의 가장 큰 문제는 한가지 스타일만 가지고는 이 문제를 해결할 수 없다는 점입니다. 그래서 생겨난 것이 '@media'인데.... 미리 정의한 타입들만 가지고는 한계가 있다는 문제점이 있습니다. (참고 : sixmen - Media Query ) 그래서 CSS3에서는 미디어 쿼리라는 것이 생겼습니다. 1. 문제의 시작 특정 범위의 해상도에서는 한가지 스타일만 가지고 있어도..
이전 글에서 뷰 엔진에서 모델의 특정 속성을 가지고 오는 방법을 알려 드렸습니다. (참고 : [Asp.net MVC 4] 뷰 엔진에서 모델(Model)의 속성(Attribute) 표시하기 ) 그런데 'HtmlHelper'는 컨트롤러에서 사용할 수 없다고 했습니다. 결국 컨트롤러에서 해당 메서드를 사용하고 싶다면 'HtmlHelper'를 빼고 동작하는 메서드가 있어야 합니다. 1. 확장메서드 복습하기 전글에서 사용한 코드를 다시한번 보죠. using System.Linq.Expressions; namespace System.Web.Mvc.Html { public static class DisplayDescriptionExtensions { public static string GetDescription(t..
남이 만들어논 코드 분석하고 있는데.... 0x80004001 - Microsoft JScript 런타임 오류: 구현되지 않았습니다. 분명 잘 작동하는 코드이고 검증이 끝난 코드인지라 물어볼때도 없고 ㅡ.-;;; 구글 검색해도 그렇다할 내용은 나오지 않습니다. 그러던중...... 아! 제가 서버에 원격으로 붙어서 작업 하고 있는데 서버는 사운드카드가 없습니다.... "에이~설마" 하면서 개발피씨에서 돌려보니 돌아가네 ㅡ,.ㅡ;;;; 문제는 사운드카드가 없는 pc에서는 오류때문에 웹페이지만 멀뚱멀뚱 봐야 한다는 것입니다-_-;;;;;; 그러니 사운드카드가 사용가능한지 확인하고 나서 사운드 관련작업을 해야 한다는 이야기 입니다. ㅎㅎㅎ 사운드카드 자체를 확인할 방법은 편법(윈도우 미디어 플래이어의 'IsSo..
오류 발견 요즘 만들게 있어서 자바스크립트 공부를 다시 하고 있는데... 만들다 보니 에러 메시지도 없이 자바스크립트가 작동하지 않아 개발자도구를 열어보니... SCRIPT28: 스택 공간 부족 연관글 영역 해결 방법 검색해보니 보통은 무한루프가 돌면 발생한다고 합니다. 결국 이 오류 나면 코드를 다시 확인해봐야 한다는 거죠. 찾는 방법은 1) 무한루프가 의심되는 곳에 로그를 찍어 봅니다. - console.log("로그"); 2) 해당 지점에 중단점을 찍어보고 호출 스택이 어디서 반복되는지 확인해 봅니다. 마무리 초보적인 실수이면서도 찾기 힘들 수도 있는 버그입니다 ㅎㅎㅎ
'레이저(Razor)'같은 뷰엔진에서 몇몇 속성은 이미 만들어져 있는 메서드를 가지고 출력이 가능합니다. 대표적인 메서드가 '@Html.DisplayNameFor'나 ''@Html.ValidationMessageFor같은 것들입니다. 문제는 정된 메서드만으로는 모든 속성을 표시할 수 없다는 점입니다. 1. 문제의 시작 다음과 같이 모델을 선언합시다. /// /// 단어 /// [DisplayName("단어")] [Required(ErrorMessage = "단어를 적어 주세요.")] [Display(Description = "문제로 쓰일 단어 입니다.")] public string Word { get; set; } 위 코드를 뷰로 보내서 바인딩한다면 '@Html.DisplayNameFor'를 사용하면 '..
마이크로 소프트나 다른 회사에서 만든 컴포넌트들을 쓰다 보면 흔히 격는 일 중에 하나가 제공되지 않는 기능이 필요할 때입니다. 보통은 해당 클래스를 상속받는 클래스를 만들거나 별도의 클래스를 만든 후 그 클래스 안에 기존 클래스를 생성하고 새로 만든 클래스에 기능을 추가 하는 방법도 있습니다. 그런데 일관성을 높이려면 A클래스에 속한 기능을 B클래스를 선언해서 사용하는 건 그리 좋은 방법이 아닙니다. 기존에 A클래스를 참조하고 있는 모든 기능을 B클래스로 옮겨야 하기 때문이죠. (안 그러면 어떤 건 A를 참조하고 어떤 건 B를 참조하는 불상사를 많이 보게 됩니다-_-;) 이럴 때 사용하는 것이 확장 메서드(Extension Methods) 입니다. 이름 그대로 남이 만들어 놓은 객체에 내가 원하는 기능을..
제가 html과 css를 어느정도 다루기 때문에 UI관련된 프론트엔드툴을 쓸생각이 없었는데 모바일도 동일 페이지를 재공한다는 가정하에 레이아웃을 잡게 되면 이야기가 달라 집니다;;; 손봐야할 것들이 너무 많기 때문이죠;;; 그래서 유명한 웹 프론트엔드 도구인 부트스트랩(bootstrap)을 사용하기로 결정했습니다. 저 같이 디자이너를 따로 두지 않았는데 디자인 센스도 꽝이 개발자에게 이런 툴들을 여러가지면으로 좋습니다 ㅎㅎㅎ 0. 시작하기 전에... 재미있게도 누겟(NuGet)에는 이미 부트스트랩의 최신버전이 올라와 있습니다. 그런데 다운받아서 부스트랩 샘플을 돌려보니 레이아웃이 깨집니다-_-;;; 소스를 확인해보니 누겟으로 받은 부트스트랩파일에는 빠진파일이 몇게 있습니다 -_-a 그래서 결국 그냥 부트..
'ASP.NET MVC'를 공부하면서 느끼는 게 많은데..... 그런 건 집어치우고;; 'ASP.NET MVC'의 자습서나 기본 생성 템플릿은 이전과 많이 다른 인증 방식을 보여 주고 있습니다. 마이크로소프트가 어련히 잘해놨겠지만 찝찝한 것들도 많고;;; 어찌됐건 기존 쓰던 세션 방식을 사용하면서도 편리한 필터를 사용하기 위해서는 인증용 필터를 따로 만들어야 합니다. (기본 생성된 인증은..... 참고 자료일 뿐 완전히 고쳐야 합니다;;) 1. 필터 만들기 인증용 필터는 훈스닷넷에 풍술사님의 코드를 참고하여 만들었습니다. (참고 : [5조] Filter - AuthorizeAttribute) public enum UserType { Admin = 1, Staff = 2, User = 3, } public..