접근 한정자라는 것은 일반적으로 함수나 변수의 범위를 정할때 쓰는 명령어(?)입니다. 우리가 흔이 쓰는 것이 public private protected 가 있습니다. 1. 인터널(internal)이란 무엇인가? 여기에 .NET에는 독특한 한정자가 있는데 인터널(internal)이 있습니다. 같은 어셈블리에서 동작한다고 설명이 되있죠. (참고 : internal(C# 참조) ) 한마디로 참조하는 쪽에서는 인터널로 선언된 구현을 볼수 없다는 것입니다. 자신의 프로젝트 안에서는 퍼블릭(public)와 동일하게 동작합니다. 2. 테스트 해보기 같은 프로젝트일때 이건 다른 프로젝트일때입니다. 같은 프로젝트에서는 퍼블릭(public)처럼 동작하며 참조등을 사용용하여 다른 프로젝트에 사용할때는 프라이빗(privat..
증상 'ASP.NET WebForm'에서 루트를 가르킬때는 물결표(~)를 씁니다. 그런데 'WebForm'에서 물결표가 작동안하는 곳이 있습니다. 일반 적인 경우 일반 적인 경우 서버컨트롤로 바꿔주기만 해도 동작합니다. 속성에 runat="server" 를 추가합니다. 그런데 해결이 안되네??? 클라이언트 컨트롤인 경우 'link' 태그는 'runat="server"'를 붙인다고 서버 컨트롤이 되지 않습니다. 서버 컨트롤로 변황이 가능한 요소가 아니라서 그렇습니다. 이런경우 클라이언트 경로인 슬러쉬(/)를 사용해야 합니다. 슬러쉬를 넣으니 잘됨 마무리 이것은 'ASP.NET WebForm'을 하다보면 가끔 실수 하는 내용입니다 ㅎㅎㅎ 항상 기억해야 되는 것 클라이언트에서 루트 경로는 슬러쉬 : / 서버에..
어떤 분이 만드신 프로그램을 테스트하고 있는데 프로그램이 죽어버렸습니다. 프로세스가 살아있는 것인지 확인하려고 작업관리자를 누르는데.... 작업관리자가 비활성됬네? 1. 컨트롤(cotrol) + 알트(alt) + 델리트(delete) 컨알델 하면 되죠. .... 왓더핼!!!!! 2. 해결 방법 그래서 물어보니 옵션에서 풀어주어야 한다는 군요 ㅜㅜ 로컬 그룹 정책 편집기를 열고 ( 실행에서 gpedit.msc ) 사용자 구성 > 관리 템플릿 > 시스템 > Ctrl + Alt + Del 옵션 사용 안 함 -> 적용 -> 사용 -> 적용 -> 사용 안 함 -> 확인 이렇게 여러 번 해줍니다. 이렇게 하면 다시 작업관리자가 살아납니다. 마무리 일반적으로는 이런 일이 없습니다. 특수한 목적을 가지고 있는 프로그램..
개인적으로 세션을 엄청 좋아 합니다. 세션은 서버의 메모리에 저장되기 때문에 보안에 좋으면서 데이터 격리가 확실하기 때문에 세션으로 프로그램을 만들면 생각할 건 세션에 내용이 있는지 없는지만 확인하면 되죠. 하지만 서버 메모리를 이용하기 때문에 사용자에 비례하여 메모리 점유율이 올라갑니다. 사용자가 다른 사이트로 넘어가도 세션은 브라우저가 종료되지 않으면 살아있기 때문에 이미 떠나간 손님의 정보도 메모리아 잔뜩 올려놓는 불상사가..... 1. 세션 사용하기 사용법은 간단합니다. Session["[사용할 이름]"] = [넣을값]; Page.Session["[사용할 이름]"] = [넣을값]; int a = Convert.ToInt32( Session["[사용할 이름]"] ); string b = Page.S..
사이트바인딩이야 보통 사이트를 생성할때 해주면 되고 특별한 경우가 아니라며 1개를 연결하는게 일반적이라 신경을 안쓰고 있었는데 다른주소 여러개를 연결할일이 있어서 사이트 바인딩을 찾는데.....어디있는거지!! 이렇게 호트이름을 지정하면 자동으로 주소가 바인딩 되죠. 어지됬건 위치는 눈앞에 있습니다. 바로 여기!! 이제 위치를 알았으니 바인딩 추가는 알아서 ㅎㅎㅎ
Window Server 2008을 세팅하고 원격 접속을 했더니 다른 사람이 튕겼다고 하는군요. 2008부터는 한계정으로 여러 명이 접속하는 설정이 기본적으로 막혀있습니다. 뭐... 이것도 하도 간만이라 생각도 못 하고 있엇네요 ㅎㅎㅎㅎ 만약 다른 계정인데 접속 인원이 초과된 경우 다른 글을 참고하시면 됩니다. (참고 - [Window Server 2008] 원격데스크톱 다중접속 허용하기) 1. Window Server 2008의 경우 원래 Window Server 2008도 '원격 데스크톱 세션 호스트 구성'이 활성화되어있는 걸로 아는데.... 요번에 확인해보니 활성이 안되 있네요? 실행 > gpedit.msc > 로컬 그룹 정책 편집기 > 컴퓨터 구성 > 관리 템플릿 > windows 구성 요소 > ..
서버 라이센스 문제때문에 호스팅업체와 이야기 하던중 "그러면 MSSQL2008은 익스프래스(Express)버전 쓰시죠?" 아항!!!! 완전이 까먹고 있었지만 MSSQL2008 Express버전은 무료입니다. (참고 : Microsoft Download Center - Microsoft SQL Server 2008 R2 RTM - Express with Management Tools, 다른 툴들도 깔아야 함 - Microsoft SQL Server 2008 express 관련 다운로드 ) 물론 내부개발 및 테스트용으로만 무료입니다. 기존 엔터프라이즈(Enterprise) 버전과 무슨차이가 있는지 찾아 보았습니다. 참고 : SQL Server 2008 R2 버전에서 지원하는 기능(Features Suppor..
예전에 숨겨진 필드를 이용하여 비하인드로 값을 넘긴 적이 있습니다. (참고 : [ASP.NET] 자바스크립트에서 비하인드로 값 넘기기 ) 이 방법은 구현이 쉽고 클라이언트의 자원을 이용하기 때문에 서버에 부담이 적습니다. 하지만 보안에서는 완전 취약하죠 ㅎㅎㅎㅎ 그리고 문자열만 저장되기 때문에 구조화된 데이터라면 구분자를 이용하여 값을 저장해야 합니다. 하이든 필드는 쿠키보다야 용량이 크겠지만 브라우저나 보안정책에 따라서 크기가 오락가락합니다-_-; 그러니 큰 데이터는 피하는 게 좋습니다. 1. 구현하기 이건 구현이랄 것도 없이 하이든 컨트롤을 디자인에서 추가합니다. 2. 읽고 쓰기 컨트롤이 추가 됬다면 그 다음부터는 일반적인 'ASP.NET Winform'컨트롤처럼 사용하면 됩니다. HiddenFiel..
일반적으로 게임을 만들 때는 게임 루프라는 무한 반복되는 루프를 만들어 만들게 됩니다. 이런 방법을 이용하는 이유는 검색하면 많이 나오기 때문에 따로 설명하진 않겠습니다. ( 이 정도 글을 읽으시면서 설마 이 정도도 모를라고? ㅎㅎㅎㅎ ) 여하튼 게임을 만드는데 꼭 게임 루프가 있어야 하느냐? 그건 아닙니다. 특히나 WPF나 실버라이트 같은 경우 자체적으로 UX프레임웍이 잘돼 있어서 더더욱 게임 루프 없이도 게임을 만드는 데 지장이 없습니다. (참고 : 아이유vs지연 프로젝트 ) 하지만 게임 루프가 필요할 때가 있죠.. 여전히 기존 프래임웍과 게임 루프를 어떻게 연결하여 사용해야 할지 의문이긴 합니다만... 뭐 일단 게임 루프부터 만들고 알아보도록 하죠 ㅎㅎㅎ 프로젝트 생성은 "GameLoop_Compo..
오븐을 열고 굽거나 마트에서 사다 먹습니다. .... 돌내려 놓으세요 ㅎㅎㅎ 쿠키는 보편적으로 사용하는 데이터를 저장하는 방법입니다. 적은 용량만 저장이 가능하고 보안에 취약하다는 단점이 있지만 로컬에 데이터를 저장할 수 있다는 장점이 있죠 (참고 : 쿠키의 크기 제한, ASP.NET 쿠키 개요) 1. 쿠키 굽기 쿠키쯤이야 쉽게 구울 수 있습니다. Response.Cookies["Test"].Value = "요~"; Response.Cookies["Test"].Expires = DateTime.Now.AddDays(1); 'Expires'로 쿠키의 수명을 지정할 수 있습니다. 쿠키의 수명을 지정하지 않으면 세션과 함께 끝납니다. 2. 쿠키 읽기 이렇게 구운 쿠키는 쉽게 읽을 수 있습니다. string s..