일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MVC
- delegate
- DrawEllipse
- eventhandler
- C# MDB
- Excel Cell Format
- NUnit
- 버스 API
- MDB Select
- 디자인 패턴
- 공공 데이터 포털
- 경기도 버스정보시스템
- TDD
- c#
- sqlite3
- 경기도 버스
- DrawRectangle
- C# 파일 암/복호화
- Json.NET
- WPF
- 객체지향
- eventargs
- C# MDB Handle
- 시
- MDB Connect
- GDI+
- JSON
- Cell Border Style
- solid
- Winform
- Today
- Total
목록분류 전체보기 (169)
White Whale Studio
지난번 Nunit 포스팅에서는 VS2010에서의 Nunit 설정에 대해서 살펴보았습니다. 이번 포스팅에서는 소스를 보면서 해보도록 하겠습니다. 우선 테스트 프로젝트를 생성하실때는 클래스 라이브러리로 생성해줍니다. nunit.framework.dll 을 참조해주시구요. 다음으로 코딩을 해보겠습니다. 준비물은 1. 테스트할 클래스 (대상 클래스)2. 테스트 케이스 클래스 (테스트 결과를 확인할 수 있는 클래스) 가 되겠습니다. 우선 테스트할 소스를 볼까요. 123456789101112 public class Calculator { public int Add(int a, int b) { return a + b; } public int Sub(int a, int b) { return a - b; } }Color..
c#에서는 Garbage Collector가 활동을 하기 때문에 기존의 c, c++보다 메모리 관리가 용이해졌다고합니다. 하지만, 지금까지 경험부족, 실력부족으로 메모리 관리에 대한 필요성을 느껴왔었는데요. c#에서도 메모리 누수가 충분히 일어날수 있다는 사실을 알고 있기 때문에 가능한 한 이러한 메모리 누수를 줄이기 위한방법을 해당 포스팅에 정리해보고자 합니다. ------------------------------------------------------ string 작업시에는 "+" 연산자보다는 System.Text.StringBuilder를 사용하자. 개인적으로는 계속 사용하던 연산자라 그런지 + 연산자를 사용하게 되면 매우 쉽습니다. 코딩하기도 편합니다.그러나 + 연산자를 사용할때마다 새로운 ..
저도 참조한 거라.. http://www.codeproject.com/Tips/392308/Csharp-Portable-Exe-File
http://www.newtonsoft.com/json DLL 다운로드 하는 곳은 지난 번 포스팅에서 올려드린 경로와 같습니다. 아래는 Document의 경로입니다. http://www.newtonsoft.com/json/help/html/SerializeObject.htm 워낙 Document가 잘되어 있어서 굳이 제가 할 필요가 있을까? 싶을 정도입니다. 용어만 잠깐 설명드리면 객체나 내용을 JSON으로 바꾸는 작업을 serialize 반대로 JSON 문서에서 내용을 가져오는 작업을Deserialize라고 합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657..
드디어 Json을 사용할 때가 왔습니다.이런 저런 핑계로 미루다가 이번 기회에 json에 대해서 살펴보게 되었습니다만,기존에 나와있던 newtonsoft의 프레임워크가 엄청 잘되어있네요.링크는 아래를 참조하시기 바랍니다. http://www.newtonsoft.com/json 우선 json에 대해서 간단하게 살펴보면xml과 함께 데이터 송수신에서 자주 사용되는 데이터 포멧입니다.그냥 언뜻볼때는 이게 뭐야 싶었는데 찬찬히 뜯어보니 XML처럼 태그가 없어서쓸데없이 반복되는 내용도 없고 뭔가 심플합니다. 심지어 json 공식 홈페이지에서는 한글도 제공을 해주는군요. http://www.json.org/json-ko.html 기본적인 자료형은 number, string, boolean, array, object..
이번 포스팅에서는 이어서 도형 그리기 프로그램을 마무리해보겠습니다. 전체소스를 첨부하오니 참고하시기 바랍니다.\ 우선 설명을 해드리면 사각형, 원형 버튼은 하는 일이라곤 도형 타입을 설정해주기만 합니다. 실제적으로 그려줄때(마우스로 클릭해서 드래그 할때) 비로소 도형이 설정값에 맞춰 그려지게 됩니다. 12345678910111213141516171819202122232425262728 int type = 0; private void panel1_Paint(object sender, PaintEventArgs e) { if (type == 0) { e.Graphics.DrawRectangle(pen, rect); } else { e.Graphics.DrawEllipse(pen, rect); } } priv..
도형 그리는 방법을 알아보았으니 이제 마우스로 클릭해서 드래그하면 그릴 수 있는 프로그램을 만들어보겠습니다. 화면은 앞의 포스팅에서와 같고 panel의 속성 창에서 마우스 이벤트를 추가해 줍니다. 1234567891011121314 private void panel1_MouseDown(object sender, MouseEventArgs e) { } private void panel1_MouseMove(object sender, MouseEventArgs e) { } private void panel1_MouseUp(object sender, MouseEventArgs e) { }Colored by Color Scriptercs 간략하게 설명을 해보면 Mouse Down : 시작 좌표를 설정하게 됩니다...
이번 포스팅에서는 도형을 그려보겠습니다. 우선 그림을 그리려면 OnPaint 이벤트를 추가해야합니다.폼에 추가를 해도 되긴 합니다만, 저는 추후에 다른 컨트롤 사용성을 위해서 Panel을 삽입해서 Panel에 OnPaint 이벤트를 추가하고그리기로 했습니다. 우선 뭐라도 그려 보겠습니다.빈 사각형, 파란 사각형, 빈 원, 파란 원을 그려보겠습니다. 12345678910 Pen pen = new Pen(Color.Black); private void panel1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawRectangle(pen, new Rectangle(0, 0, 100, 100)); e.Graphics.FillRectangle(new SolidB..
업종에 따라서 GDI를 사용할일이 있는데, 저도 그런 날이 오고야 말았습니다.아직 시작은 하지 않았지만, 어느정도 정리하는 차원에서 GDI+ (Graphic Design Interface)를 탐구해보겠습니다. https://msdn.microsoft.com/ko-kr/library/aa984364(v=vs.71).aspx 기본적으로는 MSDN을 참고하시기 바랍니다. 일단 우선적으로 저는 Winform을 기반으로 작업을 합니다. Form 혹은 컨트롤 중에서 Panel의 이벤트 속성에 보면 Paint라는 속성이 있는데, 이 부분에서 추가되는 선, 도형, 이미지 등을 그려주게 됩니다. 따라서, private void panelControl1_Paint(object sender, PaintEventArgs e)..
싱글톤 패턴은 하나의 Class 에 하나의 Instance를 가지는 패턴입니다. 개인적으로 가장 이해하기 쉬웠던 예는 TraceManager의 예제였습니다. 에러나 프로세스 정보를 기록하기위해서 사용하는 TraceManager는 다양한 클래스에서 참조할 것이고 참조할 때마다 객체를 생성해서 사용 해야만 한다면 분명히 자원을 많이 잡아먹게 될것입니다. 이러한 경우에 TraceManager를 구현 시에 싱글톤 패턴으로 구현을 하면 될것 같군요. 구현 후에는 프로그램 구동 후 종료가 될때까지 TraceManager의 1개의 인스턴스로 로깅을 남길 수 있습니다. 객체 중에서 하나 이상 존재하게 되는 경우 프로그램에 문제가 될수있다거나 자원을 많이 잡아먹을 가능성이 있는 다른 예를 들어보면, 대화상자나 사용자 설..