본문 바로가기

Programming

(59)
MSSQL 2008 분산 트랜잭션 [오류메세지] 연결된 서버 "SMC_WMS_TEST"의 OLE DB 공급자 "SQLNCLI10"이(가) 분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다. [해결방법] EXEC sp_serveroption @server=N'LGWMS', @optname=N'remote proc transaction promotion', @optvalue=N'FALSE'
WPF 프로젝트 생성 첫 포스트.. 되도록이면 각 단계를 무시하지 않고 포스팅 하기로 했다. 프로젝트를 한번 만들어보자... 좀 쉬운 느낌(?) Visual Studio 2008 - 파일 - 새로 만들기 - 프로젝트 - Visual C# - WPF 위의 그림대로 하면 프로젝트가 만들어진다. 프로젝트를 생성하면 좌측의 프로젝트에 필요한 파일들과 클래스를 보여주는 트리뷰 중간에 실시간으로 UI를 보여주는 곳, 그 바로 아래에 UI 구성의 소스를 보여주는 XAML 코드 우측에는 항목들의 속성값을 보여주는 뷰... 아래쪽에는 코드 정의, 출력, 검색 등에 관련된 뷰가 들어 있다. 여기까진 대부분의 Visual Studio와 비슷한 모양이므로..... Visual Studio의 코딩 방식을 Visual C++ 형태를 좋아해서 사용하는..
WPF 를 시작하며... 이 카테고리에는 WPF를 공부하며 필요한 내용들만 소스 위주로 간단한 설명과 함께 정리할 것이다. 후에 내가 살펴보며 기억을 더듬을 수 있을 것이고.. 다른 분들이 보고 소스를 따라하면서 WPF를 공부할 수 있게 도움을 줄 수 있을 것이라 생각한다.
구조체 -> 바이트 배열, 바이트 배열 -> 구조체 통신 프로그램을 만들 때 프로토콜을 구조체로 잡고 바이트 배열로 쏘는 경우가 생기는데 아래와 같이 하면 된다. // 구조체를 바이트 배열로 변환 public static int CvtStructToBin(object obj, out byte[] bin) { bin = new byte[Marshal.SizeOf(obj)]; unsafe { fixed (byte* fixed_buffer = bin) { Marshal.StructureToPtr(obj, (IntPtr)fixed_buffer, false); } } return bin.Length; } // 바이트 배열을 구조체로 변환 public static int CvtBinToStruct(byte[] bin, object obj) { unsafe { fix..
C#에서 로그 함수 만들기 C나 C++에서 콘솔이나 UI의 디버깅창에 로그를 남기면서 파일로도 로그를 남기는 작업을 했었다. 주로 서버 개발이나 펌웨어 개발할 때 썼었는데 이번 프로젝트는 c#을 사용해야 하기에 맘먹고 만들어봤다. 소스코드는 아래에 있고 로그 발생지(eBlk)나 로깅 수준(eLevel)은 입맛대로 바꿔서 쓰면 될듯... 보통 릴리즈 후에는 어느정도 버그를 잡았다고 보기 때문에 ERROR, ABNORMAL, ESSENTIAL 정도만 남겨두고 나머지 로깅 수준은 꺼두는 것이 좋다. 이러한 로깅 수준 조정은 설정 파일을 따로 두어서 설정 내용에 따라 조정하면 되겠다. 아래 소스에서는 일단 모두 보이게 하는 것으로 해두었다. public enum eBlk { BLK_GATE = 0, BLK_MNGR, BLK_MAIN, B..
[펌] Cookie에 대한 정리 본 문서는 인터넷 조회를 통해 얻은 내용을 정리한 내용입니다. 1. HTTP의 동작방식과 쿠키 HTTP 프로토콜의 특성상 클라이언트(브라우저)에서 서버에 데이터를 요청하여 원하는 데이터를 받고 나면, 바로 소켓 Connection을 해제하는 비상태 프로토콜(Stateless Protocol)이다. 즉, 지속적인 연결을 하고 있으면서 데이터를 주고 받는 것이 아니라 필요할 때마다 소켓을 연결하고 데이터를 받자마자 바로 Connection을 끊어버리는 방식이 바로 HTTP 프로토콜의 연결 메커니즘이다. 이는 서버 자원의 낭비를 최소화하는 장점이 되고 있으나, 다음과 같이 페이지를 이동하더라도 지속적인 상태의 유지가 필요한 경우에는 심각한 문제를 유발하지 않을 수가 없게 된다. 예를 들어, 전자상거래 사이트에..
Adobe AIR로 만들어진 파일 전송 프로그램 어느새 어플리케이션 개발 분야에 새로운 바람이 불고 있다. Adobe의 FLEX, AIR MS의 Silverlight, WPF, WCF 등등 그리고 Java 진영의 JavaFX... VS6.0으로 MFC를 하고 2005로 asp.net 정도로 한 나에게 이런 기술들은 생소하기만 한데 일단 첫 느낌은 "와 멋지다!!!" 기술적인 부분에 있어서 어디까지 가능한지 모르겠지만 RIA(Rich Internet Application)를 표방하므로 데스크탑 어플리케이션이 가지는 대부분의 기능들이 가능하리라 본다. 물론 시스템 프로그래밍과 같은 부분은 힘들겠지만... 그렇다면 이런 기술들을 가지고 데스크탑 어플리케이션도 만들 수 있는건가? 웹브라우저를 벌어날 수 있다면 사용자 기반 데스크탑 어플리케이션도 큰 변화를 맞..
ADO 객체 정리 MSSQL을 이용하여 ADO를 래핑하여 특정 DB를 위한 라이브러리 클래스들을 만들어 작업하고 있다. 그 와중에 내부적으론 ADO를 사용하므로 각 객체들의 인수라던지 함수, 프러퍼티 등을 사용하게 되는데 아래 링크에 잘 정리된 내용이 있어서 링크를 걸어둔다. 책이나 MSDN에서 시키는데로 했다가 내용을 알게 되니 상황에 맞게 객체들을 변형시켜 사용할 수 있을 듯 하다. http://cafe.naver.com/xmastx.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=42