C#/C#이야기

    [제작 프로그램] 이미지를 jpg로 압축(변환)해주는 프로그램

    안녕하세요, 반나무입니다. 이미지를 jpg로 압축해주는 프로그램이 필요한데, 온갖 외국 사이트들만 잔뜩나와서 한번 만들어서 평생쓰자 생각에 제작해 보았습니다. 사용방법 1. 압축할 이미지 경로 박스를 더블클릭해 압축할 이미지가 있는 폴더를 선택한다. 2. 결과 이미지 경로 박스를 더블클릭해 결과 이미지가 저장될 폴더를 선택한다. 3. 압축률을 정한다. (압축률 30% = 퀄리티 70%) 4. 이미지변환 버튼을 클릭해 변환한다. 이미지 하나만 정할 순 없고, 이미지가 들어있는 폴더를 통째로 변환합니다. 릴리즈 1.0.0 : 프로그램 배포 구매문의 카카오 오픈채팅 : "퀀텀스튜디오"

    [C#] DLL불러올때 'System.IO.FileNotFoundException' 예외

    안녕하세요 반나무입니다. 오늘은 C#에서 DLL을 불러올때 System.IO.FileNotFoundException예외가 나와 해결을 해봤습니다. 이것은 C#이다 7.0 책에있는 6.9.3 리플렉션을 이용한 확장 모듈 구현 예제를 진행하다 예외가 발생했는데요 우선 버전은 이렇게 진행했는데.. 특별히 코드상에는 문제가 없고 버전 문제인거같아서 버전부터 맞춰봤습니다. 콘솔 프로젝트 : .NET Framework 4.7.2 클래스 라이브러리 : .NET 5.0 확인해보니 버전문제가 맞았고, .NET5.0으로 콘솔 프로젝트를 맞춰주니 정상적으로 작동되었습니다. 그리고 DLL을 빌드할때는 Debug모드로 빌드하지 않으면 요약주석이 보이지 않는다고 합니다. 주의점으로는 DLL의 종속성을 확인하고 진행해야하는데, 자..

    [C#] EventWaitHandle로 TimeOut기능 만들기

    EventWaitHandle 두가지 상태를 가지며 Set을 통해 Non-Signal -> Signal, Reset을 통해 Signal -> Non-Signal로 상태 변경이 가능하다. Non-Signal : 제어를 반환하지 않음(잠금) Signal : 제어를 반환(열림) private EventWaitHandle ewh = new EventWaitHandle(false, EventResetMode.ManualReset); AutoResetEvent EventWaitHandle을 사용하지 않고 따로 생성도 가능하다. Set하면 대기중인 스레드 중 첫번째로 대기 시작한 쓰레드 하나를 진행하시킨다. private static AutoResetEvent autoEvt = new AutoResetEvent(fal..

    [C#] FontAwesome 사용하는 법(spinner 만들기)

    Spinner를 GIF로 할까 어떻게 할까 많은 방법이 있었지만, 고민하다 FontAwesome을 발견했습니다. FontAwesome은 웹을 만들때나 사용하는줄 알았는데 WPF에서도 사용가능했다는게 새롭게 다가왔습니다. 1. 설치 FontAwesome Pro와 무료가 있어서 무료를 사용하면된다. 그리고 해당 API를 가지고 Nuget으로 만든게 수십개가 있어서 뭘 사용해야할지 애매한데 FontAwesome5가 게시 날짜도 비교적 최근에다가, 나쁘지 않아보여서 그걸 사용했다. 지금 6beta가 나와있는데, 아직 베타라 잘 모르겠다. 2. 사용법 아래 깃허브에 들어가면 Getting Started가 있어 쉽게 따라 할 수있다. GitHub - MartinTopfstedt/FontAwesome5: WPF co..

    Log4net vs NLog vs Serilog 성능 차이

    오늘은 C#에서 어떤 로그라이브러리를 사용하는게 가장 성능이 우수할지 정리해보려고합니다. Log4net Log4net은 이미 유명한 Log4J를 포팅한 로그라이브러리 다양한 기능을 제공 동기식 로깅 -> 비동기 처리도 가능하다. 단점 이것저것 세팅할게 많고 사용법을 익혀야한다. NLog 비동기식 로깅 지원 Loss율이 낮다 구조적 로깅 지원(NLog 4.5 이상) 치명적인 단점으로 Logger자체에 문제가 생기면 Fatal 에러가 난다고 한다. 사실인지는 직접 해봐야 알것같다. Benchmarking 5 Popular .NET Logging Libraries We tested the top five .NET logging frameworks on the market against each other: L..