WebSecurity

사용자 계정을 만들고, 사용자를 로그인/로그아웃하며, 암호를 다시 설정하거나 변경하고, 관련 작업을 수행하는 등 ASP.NET 

웹 페이지 응용 프로그램에 보안 및 인증을 제공합니다.

Posted by Hoya0415
,

 Is a , Has a 관계


기존의 클래스의 특성을 가지는 새로운 클래스를 만드는 방법은 크게 2 가지가 있다.

기존의 클래스를 상속받아 만드는 방법과 기존의 클래스를 클래스 멤버로 가지는 방법이다.

첫번의 방법을 Is a , 관계라 하고 두 번째의 방법을 has a 라고 한다.

이 개념을 명확히 해서 클래스 설계에 적용하면 고민하지 않고 상속과 멤버의 결정을 내릴 수 있다.


사람
학생 군인 회사원
대학생 고등학생 중학생

Is a 관계

이 방법은
"새로운 클래스가 기존의 클래스의 한 종류이다.(is a)"
"New Object is a type of a original class."
라는 말이다.
이 개념이 성립하면 새로운 클래스는 기존의 클래스를 extends 를 사용해 상속 받아만든다.
사람의 경우를 보자.


학생은 사람의 특징을 나타낸다. ” 학생은 사람이다.” 이 말이 성립한다.


그러므로 학생 클래스를 만들 때 사람 클래스를 상속 받아 만든다.

has a 관계

이 방법은
"새로운 클래스가 기존의 클래스를 포함한다.(has a)"
"One object has a reference to another object"
라는 말이다. 학급이라는 클래스를 만든다고 생각해 보자.

학급에는 선생님, 학생, 주번이라는 멤버 변수가 있을 수 있다.


학급은 학생을 포함하고 있다.


그러므로 학급이라는 클래스를 만들 때는 학생을 상속받는 것이 아니라 학생을 멤버 변수로 포함한다.

'IT 개발 소식 > IT 용어' 카테고리의 다른 글

싱글턴 패턴 (singleton pattern) 이란?  (0) 2016.10.06
모델(Model) 이란?  (0) 2016.10.06
IMAP 이란?  (0) 2015.11.09
hosts 파일 위치  (0) 2015.08.04
Posted by Hoya0415
,

안녕하십니까 ?

곰돌이 개발자 입니다.

오늘은 데이터베이스 다이어그램에 대해서 설명해드리겠습니다.


데이터베이스를 만들고 R1, R2 의 테이블을 관계 지었을 경우, 한번에 볼일이 생깁니다.

이때DATABASE DIAGRAM을 사용하면 되는데, 새 데이터베이스 다이어그램을 눌러보면 아래와 같은 내용을 볼 수 있습니다.

이떄는 데이터베이스의 속성-> 파일 -> 소유자를 선택을 하면 됩니다.






Posted by Hoya0415
,

Visual Studio를 켜니 Microsoft.VisualStudio.Editor.Implementation.EditorPackage' package did not load correctly 

라는 에러가 나타났다..

구글링 해본 결과 아래와 같은 결과를 얻었다.

%LOCALAPPDATA%\Microsoft\VisualStudio\11.0\ComponentModelCache 해당 폴더를 지우고, 재부팅하라는 것이다.


%LOCALAPPDATA%는 저의 컴퓨터 기준에서는

C:\Users\GeunHo

사용자들 폴더에 로그인한 계정으로 생성된 폴더안에 숨긴 폴더 보기 누르면


 APPDATA\LOCAL라고 폴더가 나오는데 여기까지가 그 경로이다.






Posted by Hoya0415
,

오류 내용:

No working directory "파일 경로"

could't change working directory to  "파일 경로" no such file or directory

제 PC환경은 OS는 Window 10 이 설치되어 있고, Hotmail 계정으로 사용자를 연결해놨습니다.

 C:\User\한글 계정 폴더에 한글로 이름이 되어 있어서 몇몇 프로그램에서는 한글을 읽지 못하고, 오류를 뱉으면서 실행이 안되었다. 



실행 시 제 컴퓨터에서 나타난 오류이다. 내용을 보면 폴더에 한글명 때문에 문제를 일으켰다

이미 만들어진 폴더를 다시 바꾸려면 몇가지 과정이 필요하고 새로운 관리자 계정이 필요하다.

아래는 마이크로소프트 지원팀에서 답변 준 내용인데 따라하면 폴더 이름을 바꿀 수 있고 정상적으로 Git도 실행이 된다. 



관리자 권한을 가진 로컬 계정으로 로그인 합니다.  만약 없다면 관리자 계정의 로컬 계정을 생성 합니다.  * 하단의 [참고]에서 만드는 방법을 참고 합니다.

  1. [Windows 로고 키+X]누른 후 컴퓨터 관리 클릭 합니다.
  2. 왼쪽에 로컬 "사용자 및 그룹 > 사용자"에서 변경 할 계정을 마우스 우 클릭 하여 이름 바꾸기를 누르고 변경 할 계정 이름을 입력 합니다. 
  3. [Windows 로고 키+X]누른 후 명령 프롬프트(관리자) 클릭 합니다.
  4. 명령 프롬프트가 뜨면 아래와 같이 입력 후 엔터 누릅니다.
    ren C:\Users\XXX_000 YYY

    (위에서 XXX_000은 변경 전의 계정 이름이며 YYY는 변경 할 계정 이름 입니다. 예: ren c:\users\nidev_000 nidev )
  5. [Windows 로고 키+R]누른 후 regedit 입력 하여 확인 누릅니다.
  6. 레지스트리 편집기가 뜨면 아래 위치로 이동 합니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
  7. 아래 폴더 중 변경 할 계정의 SID을 찾습니다. ProfileImagePath 이름을 확인하면 쉽게 찾을 수 있습니다.
  8. ProfileImagePath 값을 더블클릭 하여 이름을 변경 합니다. C:\Users\YYY   (예: c:\Users\nidev )
  9. 변경이 완료 되면 로그오프 후 Microsoft 계정으로 로그인 하여 확인 합니다.

[참고]

관리자 권한을 가진 로컬 계정 만들기

  1. 키보드의 [Windows 로고 키+ I]를  누릅니다.   
  2. PC 설정 변경 메뉴를 클릭합니다.
  3. 사용자 – 사용자 추가 메뉴를 클릭합니다.
  4. 사용자 계정 이름을 입력한 후 다음 – 마침 버튼을 클릭합니다.
  5. [Windows 로고 x] 를 함께 눌러 제어판을 선택 합니다.
  6. [제어판 – 사용자 계정 및 가족 보호 – 사용자 계정 – 다른 게정 관리] 클릭 합니다.
  7. 새로 추가한 계정을 선택 후 계정 유형 변경을 클릭 하여 관리자를 선택하고 계정 유형 변경 클릭 합니다.


http://answers.microsoft.com/ko-kr/windows/forum/windows_8-performance/windows-8%EC%97%90%EC%84%9C/1d9c22cb-895f-47e2-a5f4-0de351c1a5d1




Posted by Hoya0415
,

SQL Server Configuration Manager 를 들어가보니 프로시저를 호출하지 못했다

구글링 하다보니 어떤 dll 이 깨져서 그렇단다. 


해결 방법 : 해당 SQL 버전의 SP1을 다시 설치해주면 된다. 


주의 : SP1 국가 언어와 버전이 같아한다.


'데이터베이스 > MSSQL' 카테고리의 다른 글

FULL TEXT SEARCH (전문검색) 명령어  (0) 2016.06.03
[MSSQL] Database diagram 소유자 설정  (0) 2015.11.20
varchar()와 nvarchar()의 차이점  (0) 2015.11.17
SQL JOIN 종류  (0) 2015.07.21
테이블 변수  (0) 2015.07.21
Posted by Hoya0415
,

Git Hub저장소에 Git Push 를 하려는데 다음과 같은 경고가 뜨면서 안디는 것이다.

Git 2.0에서는 matching 에서 simple로 바뀌였다고 나오는건데, 그걸 사용자가 지정하여 설정하라는 것이다.

matching은 동일한 이름을 가진 모든 branch를 push한다. 두 end를 늘 동일한 상태로 유지하고자 할 때 사용된다. 여럿이 사용하는 환경에는 부적합하다.

simple은 현재 작업중인 branch만 push한다.


위와 같은 내용이므로, 확인 후 설정하여 push 를 한다.


Posted by Hoya0415
,

최초에 Git Hub에 Push를 하려는데 Error가 났다. 

로컬에 최초에 저장소를 생성하고, Git Hub에 Push 할 때 

명시적으로 브런치를 입력해서 업데이트를 하라는 소리이다.

다음 명령어로 해결하였다.

$ git push origin master 


Posted by Hoya0415
,

StartSSL - IIS 등록

서버/SSL 2015. 11. 18. 01:43

StartSSL은 1년간 무료로 SSL을 제공하나, 삭제 시 약 30달러를 지불해야하고, 1년 이후 무료로 사용하려면 연장하는 방법이 있다는데.. 1년이 지나면 다시 이 글에 갱신을 하겠다.

SSL 등록 방법이나 사용방법은 검색하면 바로 나오니.. IIS에 등록하는 방법에 대해서 알아보겠다.

StartSSL을 등록하면 두가지 파일을 얻을 수 있다. (SSLPirvateKey, SSL.crt )  그리고 지정했던 비밀번호를 얻을 수 있다.


1.StartSSL에 Authenticate 로 로그인을 한다. 이때 SSL의 pfx 파일이 있어야 할 것이다. 


2. ToolBox에 이동하면 Create PKCS#12 (PFX) File 탭이 있을 것이다.


3. Private Key와 Certificate 문자열 그리고 비밀번호를 눌러 Continue 를 누른다. 


4.Continue를 누르면 서버 인증키가 나온다. 이 키를 이용하여 IIS에 서버 인증서를 등록할 것이다. 


5. 4번에 있는 파일을 서버에 가져오고, IIS의 홈에서 서버 인증서를 클릭한다.

6. 서버 인증서에 작업에 가져오기를 눌러서 4번의 파일을 넣으면, IIS에 인증서가 등록된다.



7. 이제 사이트에 SSL 인증서를 추가하자. 해당 사이트에 바인딩을 눌러서 HTTPS 443 포트를 추가한다. 

SSL 인증서를 선택하면 이제 해당 사이트에 SSL이 등록이 완료된다. 


Posted by Hoya0415
,

NamedPipeServerStream와 NamedPipeClientStream Pipe 로 연결 시 에러가 낫다.



테스트 환경에서 에러가 나지 않았는데 왜 그럴까..

구글링을 통해 찾아냈고, 먼저 찾아내신 개발자 분이 계셔서 기록을 남기게 되었다.

클라이언트쪽에서 연결시 에러가 났는데, 서버쪽 코드는 아래와 같다.

1
2
3
4
5
var pipeServer = new NamedPipeServerStream(pipeName, PipeDirection.In, numThreads);
 
var threadId = Thread.CurrentThread.ManagedThreadId;
 
pipeServer.WaitForConnection();
cs

PipeDirection.In 으로 한 이유는 서버쪽에서는 클라이언트에게 데이터를 넘길 필요가 없어서였다.

그런데 양쪽 방향으로 해줘야 연결이 된다..

1
2
3
var pipeServer = new NamedPipeServerStream(pipeName, PipeDirection.InOut, numThreads);
var threadId = Thread.CurrentThread.ManagedThreadId;
pipeServer.WaitForConnection();
cs


이건 단지 해결방법이었고, 원인은 추가적으로 올릴 기회가 있으면 올리겠습니다.~

출처 : http://adventuresindevelopment.blogspot.kr/2008/07/named-pipes-issue-systemunauthorizedacc.html

'.NET 개발 > C#' 카테고리의 다른 글

Xaml web browser application .xbap 캐시 지우기  (0) 2015.12.21
WebSecurity 클래스  (0) 2015.12.03
명명된 파이프  (0) 2015.11.11
C# MailMessage 클래스로 네이버 메일 이용하기.  (0) 2015.11.10
EntityFramework 활용하기.  (0) 2015.11.09
Posted by Hoya0415
,