즐겁게 개발을...

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

분류 전체보기 271

[2022.09] 버전 관리의 고찰

기본 프로젝트를 생성하면 "1.0.0.0"으로 빌드된다. 차례대로 Major, Minor, Build, Revision이라는데 예전 VB 6.0 시절로 되돌아가면 빌드할 때마다 리비전 번호를 자동 증가시켜서 빌드할 때마다 아무짓 하지 않아도 배포될 때 해당 리비전 이력만 관리하면 됐었는데 요즘 VS에서는 안된다. [C#] Version 자동 설정 및 BuildDateTime 구하기 Assembly의 Build된 일시를 구하기 위한 방법을 설명 드립니다. 먼저 [Properties] 폴더에 [AssemblyInf.cs]를 엽니다. 다음과 같은 부분을 찾습니다. 보통 최 하단에 위치하고 있습니다. // You can specify all.. nsinc.tistory.com 요런 게 있다. 프로젝트 밑에 Pr..

개발/C# 2022.09.29

[2022.09] 이중실행 방지

사용자 실수로 인해 두번이상 실행을 막는 구문입니다. 자세한 내용은 주석을 참고해주세요. // 클래스 밖에서 선언해주세요. [DllImport("user32.dll")] public static extern bool IsIconic(IntPtr hWnd); [DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] public static extern bool SetForegroundWindow(IntPtr hWnd); public static int SW_RESTORE = 9; // Program.cs 메인함수 내에 추가해주세요. 메인폼 들어가기..

개발/C# 2022.09.26

[2022.09] 현재 경로 가져오기 고찰

보통 현재폴더를 가져올 때 Directory클래스의 GetDirectoryName()을 이용해서 가져왔습니다. 탐색기에서 직접 실행하면 정상적으로 현재 폴더를 가져옵니다만, 다른 폴더에 있는 프로세스에 의해서 WorkingDirectory를 지정하지 않고 실행될 경우 Current Directory는 그 다른 프로세스의 경로가 현재경로가 되어 위 함수로는 현재폴더를 가져올 수 없습니다. string CurPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 위 구문으로 해야 정상적으로 현재폴더를 가져올 수 있습니다.

개발/C# 2022.09.26

[2022.09] Dapper 클래스 고도화

안녕하세요. 오늘은 기존에 올렸던 블로그의 클래스를 고도화해서 다시 올려봅니다. [2021.03] SqLite + Dapper(ORM) 사용방법 환경: Visual Studio 2017, C#, 닷넷 4.6.1 검색능력이 떨어진 건지 제대로 된 게시물이 없는 건지 국/내외 게시물을 다 뒤져도 안나와서 짜집기 + 자작으로 작성해보았다. Node.js에서 Squelize로 작년까지 endev.tistory.com 고도화 주제는 다음과 같습니다. 1. 인터페이스를 통해 클래스를 사용하는 위치에서 외부 참조를 사용하지 않게 한다. 2. 불특정 객체를 반환할 수 있도록 한다. 외부참조 사용하지 않게하기 IDBConnection은 범용적으로 모든 DB에서 인터페이스로 사용할 수 있습니다. 다만 DB별로 Connec..

개발/C# 2022.09.22

[2022.09] 비프 음을 Stop시킬 때까지 내게 하기

보통 오류 발생할 때 비프음을 넣을 때까지 많은데 이번 팁은 지속적으로 어떤 행위를 하고 있는 중에 지속적으로 비프음을 발생시킬 때까지 있습니다. 이때 사용하는 팁을 공유합니다. 제가 원하는 것은 삐~~~~~~~~~~~~~~~~~~~~~~~~~익인데, 삐삐삐삐삐삐삐삐삐삐삐삐삐삐삐삐 형태로 나옵니다. Duration을 길게 잡으면 되는데 이럴 경우 Beep함수에서 빠져나올 수가 없네요. 기본 제공되는 Beep클래스를 직접 구현한다면 가능할 것도 같습니다. 이것은 좀더 찾아보고 추가하겠습니다. 쓰레드 방식으로 구현한 다음 클래스를 추가합니다. public class BeepSound { private int _ToneHz; private int _gapMiliseconds; private bool _stop..

개발/C# 2022.09.21