즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

개발 70

[2022.09] Webhook API를 이용한 로깅기법

안녕하세요. 웹훅 API를 지원하는 도구 중 채널기반 메시징 도구인 메타모스트(Mattermost)를 이용해 C# 프로그램에서 발생하는 로그를 특정 채널로 수신할 수 있는 방법을 소개하겠습니다. 프로그램을 배포해서 어딘가에 구축하면 구축정보가 개발자에게 제대로 전달이 잘 안되는 경우가 있습니다. 제가 직접 배포 부터 구축까지 관리를 하는 상황이라면 체계를 만들어서 시키겠는데 그런 상황이 아니면 꽤나 답답하게 환경정보 없이 버그를 수정해야 하는 난감한 상황이 발생합니다. Mattermost로 소개하고 있지만 대신 로그 수신도구를 통해 통계나 대시보드로 활용할 수도 있고 별도 API서버를 통해 체계적으로 관리할 수도 있을 것 같네요. Gitlab과 Mattermost 연동하면서 갑자기 C#로그를 띄어보면 어..

개발/C# 2022.09.08

[2022.08] DevExpress Grid Autofilter에 값 설정

안녕하세요. 구글링 해보면 많은 방법들이 나오는데 22.x에서는 과거 방법과 달라서 포스팅 해봅니다. public void SetFilter() { // 필드이름으로 GridColumn을 가져옵니다. GridColumn Col = GetColumn(Gridview1, "Test"); // 해당 필드에 Filter를 세팅합니다. 과거에는 SetRowCellValue()를 이용해서 넣었는데 // AutoFilterRowHandle 구하는 함수가 사라졌네요. Gridview1.SetAutoFilterValue(Col, "TestFilter"); } // GridColumn을 반환하는 함수 public static GridColumn GetColumn(GridView gv, string FiledName) { ..

[2022.08] Devexpress ComboboxEdit 폰트 설정

안녕하세요. 이번에는 ComboxEdit에 폰트 설정하는 방법을 알아봅시다. 설정해야 할 폰트는 3군데를 지정해야 합니다. 표시할 것, 목록, 목록 내 포커스 된 항목이죠. 함수로 만들었으니 적당한 곳에 넣어서 사용하시면 됩니다. using DevExpress.XtraEditors; using System.Drawing; //-------- ~ ---------- public static void SetFont(ComboBoxEdit cbo, Font font) { cbo.Properties.Appearance.Font = font; cbo.Properties.AppearanceDropDown.Font = font; cbo.Properties.AppearanceFocused.Font = font; } /..

[2022.08] C# Dapper 불특정 테이블을 조회할 때

안녕하세요. 오랜만에 개발 관련 글을 적어봅니다. 오늘은 불특정 테이블을 조회할 때 C# 대표 ORM 라이브러리인 Dapper를 이용해 알려드리고자 합니다. (더 좋은 방법이 있다면 알려주세요) 특정 테이블이라면 Model클래스를 생성해서 타입지정해주면 알아서 IEnumerable으로 가져올 수 있습니다. 그런데 불특정 테이블이라면 클래스를 생성할 수 없으니 미리 그리드를 세팅할 수도 없고, 클래스도 생성할 수 없습니다. 코드와 주석을 함께 넣었습니다. Datatable dt = new Datatable(); SqlMapper.GridReader reader = Conn.QueryMultiple("SELECT * from table"); var readDatas = reader.Read(); // Dap..

개발/C# 2022.08.12

[2022.07] 프로세스간 통신 예제

핸들값이 이용해서 SendMessage를 이용하고 Hooking을 이용한 전형적인 윈도우메시지 통신 방법을 통해 프로세스간 통신을 구현한 예제입니다. 우선 VB끼리는 성공했네요.. 제가 원하는 것은 VB VC++간 테스트성공 지금 VC++로 구현중입니다. 각설하고 테스트 방법은 두개 띄어놓고 "이거 핸들" 값에 나온 핸들값을 서로의 폼에 있는 "타겟 핸들" 값에 복사하고 전달메시지에 암거나 넣어서 "Send"하면 채팅하는 것 마냥 아래 리스트 박스에 뜨게 되는 구조입니다. 지금까지 소켓통신을 통해서 Local 프로세스 통신을 했었는데 이것을 이용해서 하게 되면 시간적인 Loss가 확 줄게되지 않을까 생각해봅니다. ※ 저 위글은 퍼온 것이라서 2000년대 중반 과거 이야기입니다. 일기 같네요. MFC와 통..