일반적인 프로그램에는 '진입점'이라는 것이 있습니다. (보통 메인(main)이라고 많이 부릅니다.) 프로그램이 실행되면 맨 처음 실행되는 것들을 말이죠. 그런데 생각해보면 웹응용프로그램(WebForm)은 어디가 진입점이지? '시작 페이지로 설정'은 무슨 의미인가? 오른쪽 클릭해서 지정하는 시작페이지는 단순히 주소줄에 해당 파일명을 자동으로 입력해주는 효과일 뿐 진입점은 아닙니다. 주소줄에 직접 다른 파일명을 넣으면 거기가 시작 페이지가 되니까요. 이것은 웹 환경의 특성상 각 페이지는 접속했을 때만 유지되기 때문에 그렇습니다. 진짜 시작 지점 그렇다면 웹 응용프로그램은 어디가 진입점이냐? 어렵게 생각할 거 없이 웹서버에 올라가는 시점입니다. 그럼 그 시점은 어디냐? 'Application_Start' 입니..
이정도 글을 읽으시는 분들이라면 잘 아시겠지만 asp.net나 jsp, php같은 것들은 서버에서 돌아가고 그결과를 HTML형태로 만들어 클라이언트에게 전달합니다. 자바스크립트는 클라이언트에서만 작동하는 스크립트입니다. 두가지의 실행영역이 다르기 때문에 보기에 따라선 이 두가지가 상호작용을 하는 것은 정상적인 구조라고 볼수 없죠. 하지만 실제로 프로젝트를 진행하면 이 두가지의 상호작용에 따라 효율성 차이가 엄청납니다. 그러니 생각보다 자바스크립트로 비하인드 함수를 호출하거나 그 반대의 경우가 많이 발생합니다. 어찌됬건 자바스크립트에서 비하인드코드를 호출하기위해 제가 사용하는 방법은 숨겨진 컨트롤을 호출하는 방법입니다. 말그대로 서버컨트롤을 하나 만들어서 자바스크립트로 해당 컨트롤을 클릭하는 방법입니다. ..
DB를 사용하기 위해 ODBC를 설정하곤 합니다. (참고 : ODBC ) 다른 운영체제는 모르겠지만 윈도우환경에서 은근히 많이 사용합니다. 그런데 DB좀 만져봤다는 녀석이 ODBC라는 소리를 들었을 때 멍때리면..... 물론 농담이고 모를 수도 있습니다 ㅎㅎㅎ 어찌됬건 ODBC를 설정해 봅시다. 1. 데이터 원본(ODBC) 찾기 ODBC는 제어판 > 관리 도구 > 데이터 원본(ODBC) 로 들어가면 됩니다. 2. 추가 'ODBC 데이터 원본 관리자'가 실행되면 추가를 눌러 줍니다. '새 데이터 원본 만들기' 창에서 우리가 사용할 DB형식은 MSSQL이므로 'SQL Server'을 선택하고 마침을 누릅니다. 'SQL Server에 새로운 데이터 원본 만들기'의 내용을 채웁니다. 이름 : 외부에 노출될 이름..
기본키를 왜 여러 개 지정해야 하는지 모르겠습니다만..... 누가 만들어놓은 테이블을 옮겨야 하는데 기존 테이블과 합쳐야 해서 보니.... 키가 여러개네? 1. 쿼리로 생성 그래서 검색해보니.... 쿼리로 하는 방법이 있네요. create table #t1( comID int not null, projID int not null, projPart varchar(10), PRIMARY KEY CLUSTERED ( comID, projID ) ) 2. UI로 생성 매니지먼트 스튜디오 상에서 할 수 있는 방법이 있을 거라는 생각했는데.... 안 나옵니다?? 그래서 키 쪽 보면 뭔가 있을까 해서 보니..있네요. 해당 테이블 오른쪽클릭 > 디자인(수정) > 테이블 디자인에서 오른쪽 클릭 > 인덱스/키 를 누른 후..
보통 IIS를 설정하고 제일 먼저 해보아야 할 것이 테스트용 HTML파일을 만들어 로컬(http://127.0.0.1/ 이나 http://localhost/)로 붙어 확인이 가능한지 확인한 후 다음 ASP나 ASP.NET같은 것을 설정하게 됩니다. 1. 증상 .NET같은 경우 프래임웍을 설치하면 IIS가 설정이 자동으로 되기 때문에 별 신경을 안 써도 됩니다. 그런데....ASP가 동작을 안 하네? 이런 경우 이런 '404' 에러가 납니다. 기본적으로 인터넷 정보 서비스(IIS)가 Microsoft Windows Server 2003 제품군에 설치되면 IIS는 정적 콘텐트(HTML)만 제공합니다. Active Server Pages(ASP) 또는 ASP.NET 페이지 같은 동적 콘텐트를 요청하면 다음과 ..
전통적인 C# 프로그램에서 프로그램을 종료시킬 때 사용하는 방법은 Application.Exit(); Environment.Exit(0); System.Diagnostics.Process.GetCurrentProcess().Kill(); 이렇게 많이 사용합니다. (참고 : [.NET] 응용프로그램 종료 메서드 비교 ) 가끔 창이 하나이거나 메인 폼이 중심이 되는 경우 아래와 같이 사용할 때도 있습니다. this.Close(); 그러다 문득 "WPF에서도 똑같은가?" 라는 의문이 들었습니다. 연관글 영역 윈폼(WinForm) 메서드 시도 WinForm과 WPF와는 미묘한 차이가 있는데 이런 것들은 사실 직접 격기 전에는 알기가 힘듭니다. 그래서 한번 해보았습니다. 'Application.Exit();'를 ..
OOB(Out Of Browser) 1. OOB(Out Of Browser)를 사용해 보자 2. OOB(Out Of Browser)에서 인스톨 인터페이스를 보여주기 이전 글에서 OOB를 이용하면 데스크탑에서 실버라이트 응용프로그램을 사용할수 있다고 하였습니다. 그런데 생각해보면 OOB를 설치하기위해서는 오른쪽 클릭후 인스톨....으잌? 이런식으로 말이죠. 이 방법은 당연이 사용자 경험(UX)의 계념에서 보자면 최악입니다. 숨겨진 메뉴에다가 어떻게 설치해야하는지 알려주지도 안으며 클릭도 2번이나 하죠. 어찌됬건 인스톨인터페이스를 노출시켜 프로그램설치를 안내해봅시다. 버튼2개를 만들어서 인스톨이 안되있는경우 인스톨 버튼을 보여주고 인스톨이 안되있는 경우 일반버튼을 보여주겠습니다. 1.인스톨이 되어있는지 판별..
OOB(Out Of Browser) 1. OOB(Out Of Browser)를 사용해 보자 2. OOB(Out Of Browser)에서 인스톨 인터페이스를 보여주기 실버라이트로 데스크탑 응용프로그램을 만들수 없을까? 실버라이트로 로컬에 있는 파일들을 컨트롤 할수 없을까? 이런 질문의 답은 OOB(Out Of Browser)입니다. WPF가 있는데 구지 실버라이트를 데스크탑에서 돌려야 하냐?라는 물음이라면 던저버리세요. 으외로 닷넷프래임웍의 설치에 문제가 많습니다 ㅡ.-; 특히 비스타 이전버전들이 문제가 많은데 XP는 여전이 사용자가 많다는 문제가-_-; 여튼 WPF를 돌리기 위해선 닷넷 프레임웍을 설치해야 하지만 OOB는 실버라이트 플러그인만 설치되있으면 동작합니다. 그외에도 인터넷에 연결만 되있으면(...
간만에 예전에 만든 안드로이드 프로그램을 확인하기위해 이클립스를 세팅하였습니다. 그....그런데 기존프로젝트를 어떻게 불러오더라 ㅡ.-;; 비주얼 스트디오에서는 프로젝트를 오픈하면되는데 이클립스는 그런메뉴가 없습니다. 임포트로 불러와야 하죠. File > Import 로 들어가면 Import라는 창이 뜨는데 여기서 General > Existing Projects into Workspace 를 선택하고 Next를 누릅니다. 그다음 불러올 프로젝트의 폴더를 선택하고 완료(Finish)하면 됩니다. 참고로 Copy projects into workspace 체크박스를 체크하면 자신이 사용하고 있는 작업공간(workspace)에 프로젝트가 복사됩니다. 이것도 간만에 하니까 기본적인것도 기억이 안나네요 ㅎㅎㅎ ..
mvvm패턴 샘플을 인터넷에서 찾아 만드는데 'ICommand'를 상속하여 오버라이드(재정의, ovrride)를 하려고 하니 다음과 같은 에러 메시지가 나옵니다. 재정의할 적절한 메서드를 찾을 수 없습니다(no suitable method found to override) 1. 오류의 원인 MSDN을 뒤져보니 "컴파일러 오류 CS0115"라는 것이 있군요. (참고 : MS Docs - 컴파일러 오류 CS0115 ) 설명의 뜻은 1) 베이스로 지정안되있는 녀석을 오버라이드를 시도했거나 2) 오버로드를 해야 하는 녀석(파라메타가 다르다던가 이름이 다르다던가) 해야 할 녀석을 오버라이드 했다 입니다. 2. 해결 방법 결국 해결법은 1. 올바른 베이스를 지정한다. 2. 'override' 키워드를 뺀다.(오버라..