일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Github
- .net
- ListView
- algorithm
- programmers
- Process
- C#
- 코딩테스트
- git
- dotNET
- coding-test
- logging
- IValueConverter
- string
- Microsoft
- tls
- convert
- File
- windows10
- Binding
- mysql
- csharp
- commit
- Coding
- Visual Studio
- chashtag
- log
- WPF
- nullable
- windows
- Today
- Total
목록C# (73)
CHashtag
안녕하세요. 오늘은 SendKeys 클래스의 Send, SendWait을 사용할 때 빈번하게 발생하는 ArgumentException에 대해 알아보도록 하겠습니다. 발생 원인 원인을 알기 위해선 Send()함수의 사용방법에 대해 짚고넘어가야 합니다. KeyBoard Simulation을 하기 위해서는 일반적인 Key(문자열, 숫자, 특수문자) 외에도 필요한 값들이 존재합니다. ESC, BREAK, BACKSPACE, Ctrl등이 해당되죠. 그렇다면 ESC를 입력하기 위해선 어떻게 해야할까요? 해당 방법은 MS에서 미리 정의해 두었습니다. 이런식으로 특수 케이스를 정의하여 해당 문자열을 넣으면 해당 Key가 눌리도록 구현이 되어있습니다. BACKSPACE {BACKSPACE}, {BS}, or {BKSP}..

안녕하세요. 제목이 다소 혼란스러운데요, 마치,, 마라로제떡볶이마냥 .net에 관심이 많은 사람을 쉽게 지나치기 어려운 키워드들만 모아놨으니 말이죠 ㅋㅋ 아무튼 오늘은 Docker + ASP.NET core 6.0 + EF Core + Mysql을 이용해서 간단한 API 서버를 만들어보도록 하겠습니다. (이 포스팅은 도커 및 asp.net 초심자를 위한 글임을 알려드립니다.) 이 글을 통해서 얻을 수 있는 내용은 아래와 같습니다. EntityFramework Core Code-First Migration Repository Pattern Repository Pattern을 사용하는 이유 Docker ASP.NET Core 6 Route 규칙 Swagger 연동 Request & Response 시작하기 ..

2022년 6월 15일, Internet Explorer가 지원 종료되었습니다. 그에 따른 걱정으로 IE기반 Embedded인 WebBrowser도 지원 중단되는 것이 아닌가 걱정이 되실 것입니다. 하지만 그렇지는 않습니다. 자세한 내용은 아래 게시물을 참고해주세요. https://chashtag.tistory.com/147 [C#] IE기반 WebBrowser는 지원 중단되나? 결론은 아닙니다. 2022년 6월 15일, Internet Explorer가 지원 종료되었습니다. 그에따른 걱정으로 IE기반 Embedded인 WebBrowser도 지원중단되는것이 아닌가 걱정이 되실텐데요, 다행히 그렇지는 않습니다. chashtag.tistory.com 그럼에도 WebBrowser는 IE기반의 Legacy We..
결론은 아닙니다. 2022년 6월 15일, Internet Explorer가 지원 종료되었습니다. 그에따른 걱정으로 IE기반 Embedded인 WebBrowser도 지원중단되는것이 아닌가 걱정이 되실텐데요, 다행히 그렇지는 않습니다. 우선 일반적으로 WPF와 WinForms에서 사용하는 "WebBrowser"는 IE기반 Embedded 브라우저이긴 하지만, IE를 실질적으로 참조하지는 않습니다. (IE를 삭제해도 아무 지장이 없음.) 추가로, IE는 지원 중단되었지만, MSHTML/Trident 기반의 웹브라우저는 지원중단 대상이 아닙니다. WebBrowser는 Trident기반이고요. 그럼에도 요즘 IE11에서 돌아가는 웹페이지가 많이 없기에, 다른 Embedded 웹브라우저를 찾아 변경하는것이 권장됩..

안녕하세요. 오늘은 Guid에 대해 알아보고자 합니다. Guid 란 Guid는 Globally Unique Identifier의 약자로, 전역 고유 식별자라는 의미를 가지는 식별자입니다. 세상에는 여러 가지 식별자가 존재합니다. Uuid, NanoId, Cuid, 그리고 Git에서 사용하는 Hash 등 이 있죠. 기본적으로 식별자는 값(객체)를 식별하기 위한 요소로, Mysql의 PK와 같이 고유하여야 합니다. 그렇다면 위에서 나열한 식별자들은 자체적으로 중복되지 않는 로직이 존재하는 것일까요? 정답은 아닙니다. 단지 나올수 있는 값이 매~~~ 우 많아서, 절대 겹치지 않을 것이다.라는 가정을 하는 것입니다. Uuid를 예로들면 실제로 생성 가능한 식별자의 개수는 10의 38 제곱, 340간 개나 됩니다..

안녕하세요. 오늘은 파일이 선택된 상태로 파일 탐색기를 여는 방법에 대해 알아보도록 하겠습니다. 파일이 선택된 상태란, 아래의 상태를 얘기합니다. 정말정말 간단하니, 바로 코드로 알려드리도록 하겠습니다. string path = $@"{Path.Combine(Environment.CurrentDirectory, "aa.html")}"; string argument = string.Format("/e, /select, \"{0}\"", p); ProcessStartInfo info = new ProcessStartInfo(); info.FileName = "explorer"; info.Arguments = argument; Process.Start(info);

안녕하세요. 오늘은 Visual Studio Build시간을 단축시키는 방법에 대해 알아보고자 합니다. 방법은 간단하니 바로 진행해보도록 하겠습니다. Windows 보안 -> 바이러스 및 위협 방지 바이러스 및 위협 방지 설정 -> 설정 관리 제외 -> 제외 추가 또는 제거 devenv.exe 제외 프로젝트 폴더 제외 (본인이 프로젝트들을 모아두는 폴더를 제외 사항으로 추가하면 됩니다.) 이렇게하면 빌드 도중 "Antimalware Service Executable"이 실행되지 않기 때문에 빌드 시간이 단축되는 것입니다. 더 자세한 내용을 알고싶으시다면 아래 링크를 확인해주세요. https://ardalis.com/speed-up-visual-studio-build-times/?utm_sq=gtaxmo0..

안녕하세요. 오늘은 이전 게시글에서 말했듯 로그를 기록하는 방법에 대해 알려드리고자 합니다. 자 그럼 시작합니다!! 프로젝트 생성 & log4net 설치 시대가 시대이니 만큼 .net project로 생성해주도록 하겠습니다. 저는 .net 6로 프로젝트를 생성하였습니다. (크게 중요하진 않습니다.) 우선 Nuget Package Manager에서 "log4net"을 설치해줍니다. Install-Package log4net 로그 저장 옵션 구성하기 프로젝트 최상단 depth에 log4net.config 파일을 생성해줍니다. 우선 아래 내용을 그대로 붙여넣으시면 됩니다. 주의하실 점은 파일의 Properties에 "Copy to Output Directory" 를 Copy always 혹은 Copy if n..
using System.Text.RegularExpressions; public string RemoveSpecialCharacterFromString(string str) { return Regex.Replace(str, @"[^a-zA-Z0-9가-힣]", string.Empty, RegexOptions.Singleline); }
안녕하세요. using System; using System.Net; public class Ipv4AddressGenerater { public static IPAddress Generate() { var data = new byte[4]; new Random().NextBytes(data); IPAddress ip = new IPAddress(data); return ip; } } 오늘은 랜덤한 IP주소를 생성해야할 때 생성하는 방법에 대해 알려드리고자 합니다. 내용이 간단하니 바로 코드로 보시죠. 다만, IP를 생성한다고 실제 사용가능한 IP가 생성되는 것이 아닌 IPV4형식의 0.0.0.0~255.255.255.255 사이의 값이 무작위로 생성되는 것이므로 사용에 유의하시기 바랍니다. https:..