본문 바로가기

프로그래밍37

WebBrowser 컨트롤 사용법[0] 이번에는 WebBrowser 컨트롤을 이용해서 나만의 웹 브라우저를 만들어보겠습니다. 이번 포스팅에서는 UI 구성에 대해서 자세히 다루어 보고 다음 포스팅은 기능 구현에 중점을 두고 정리해보도록 하겠습니다. 우리가 만들어볼 WebBrowser는 크롬 브라우저나 엣지 브라우저처럼 상단에 주소창을 입력하고 이전 페이지, 다음 페이지 등 몇 가지 내비게이션 버튼을 추가하여 나만의 웹브라우저를 완성해 보는 것입니다. UI는 아래와 같이 구성해 줍니다. 상단에 내비게이션 툴바가 있고 나머지는 webBrowser 컨트롤로 채워주었습니다. 그럼 실제 브라우저 구현을 위해 솔루션을 만들어보겠습니다. 솔루션은 MyWebBrowser입니다. 먼저 WinForm에 다음과 같이 컨트롤들을 구성합니다. 도구상자에서 ToolSt.. 2020. 7. 9.
IComparer를 이용한 개체 비교 이전 포스팅에서는 object를 바이너리로 변환하여 개체를 비교하거나 object의 ReferenceEquals( ) 함수를 이용한 비교 방법에 대해서 알아보았습니다. 이번 포스팅에서는 순수하게 IComparer를 이용해서 두 개체를 비교하는 방법에 대해서 알아보겠습니다. IComparer Interface는 두 개체를 비교하는 Compare( ) 메서드를 구현해야 합니다. Compare( ) 함수의 리턴 값으로 만약 Compare(a, b)의 리턴 값을 구하고자 한다면 아래의 표와 같이 3가지 결괏값을 반환합니다. Compare(a, b) 리턴값 결 과 사용 예 -1 b가 a 보다 작을 경우 if(a > b) b가 a 보다 작은 조건 return -1 1 b가 a 보다 클 경우 if(a < b) b가 .. 2020. 7. 8.
개체 비교 함수 이번 포스팅에서는 개체를 비교하는 몇 가지 방법에 대해서 알아보겠습니다. 보통 개체 비교를 위해 IComparable 인터페이스를 구현하여 CompareTo( ) 함수를 이용하지만 여기서는 object를 바이너리로 변환하여 비교하는 방법과 object의 ReferenceEquals( ) 함수를 이용한 방법에 대해서 살펴보겠습니다. 먼저 object를 바이너리로 변환하여 비교하는 방법입니다. 함수의 원형은 아래와 같습니다. bool CheckEquals(object source, object target); 매개변수로 두 개의 object를 받아서 내부에서 바이너리로 변환, 비교한 후 결과를 반환하는 함수입니다. 함수의 구현은 아래와 같습니다. bool CheckEquals(object source, ob.. 2020. 7. 7.
암호화 복호화 모듈 만들기[C#] 이번 포스팅에서는 Two Way 암호화의 알고리즘인 DES(Data Encryption Standard)를 이용해서 간단한 암호화/복호화 모듈을 만들어 보겠습니다. DES 알고리즘은 암호화 시 사용하는 암호키와 해독 시 사용하는 해독키가 동일한 특징을 가지고 있기 때문에 대칭키라고도 하며, 외부 사용자에게 절대 노출해서는 안 되는 비공개 키 알고리즘입니다. 특징은 평문을 64비트로 나눠 56비트의 키를 이용하여 다시 64비트의 암호문을 만들어 내는 암호 알고리즘으로 상세한 알고리즘 동작 과정은 생략하도록 하겠습니다. 여기서는 간단하게 콘솔 앱 형태로 DES 모듈을 사용하는 프로젝트를 만들어 보겠습니다. 먼저 아래와 같이 'DESTest' 이름으로 새 프로젝트를 만들고 생성된 DESTest 프로젝트에 우리.. 2020. 6. 23.