Wpf / Winform / Asp.net core 깃허브나 소스들 공유하는 게시판 따로 있으면 합니다.
피드백 주셔서 감사합니다. 운영진 회의 안건으로 올려보도록 하겠습니다. ![]()
@rkttu 아닙니다. 닷넷이 흥해야 다같이 성공하는거죠.
Avalonia UI로 만든 Git Client
개인적으로 axum이 쉽고 가벼워서 편한 것 같더라고용!
actix-web은
rust에 환상이 있어서인지는 몰라도
(생각보다)퍼포먼스가 안 나오는다는 얘기가 많아서 쓰읍…
차라리 aspnetcore가 낫겠다는 벤치마크를 설핏…
openhardwaremonitor/openhardwaremonitor: Open Hardware Monitor (github.com)
Windows에서 하드웨어 리소스를 모니터링 할 수 있는 도구로서,
Windows Forms .NET Framework 4.5로 개발되었습니다.
.NET Framework 시절에는 System.Diagnostics.PerformanceCounter 또는 WMI(Windows Management Instrumentation)를 이용해서 하드웨어 사용률을 가져왔어야 했던 것 같습니다.
[C#] How to monitor CPU, Memory, Disk Usage? | by 김정환(John.Kim) | OldbeeDev | Medium
이것이 .NET Core로 넘어오면서 크로스플랫폼화 되지 못하고 Windows Forms나 WPF처럼 Windows Only API 로 남아버렸고, Linux와 MacOS에서는 Linux의 Perf 같은 자체 기술을 호출해서 가져오는 방식으로 구현했어야 했던 것 같습니다.
Reading Windows and Linux memory metrics with .NET Core (gunnarpeipman.com)
여기까지 조사하면서 느낀 것은 CPU Usage와 Memory Usage는 분리해서 생각해야한다는 점이었습니다.
아직 확인해보지는 못했지만 .NET 이 8.0까지 나온 현재 시점에서 .NET 자체가 .NET 사용자들의 이런 요구를 들어주지 못했으므로 오픈소스가 만들어진 것 같습니다.
크로스 플랫폼 Nuget으로 Hardware.Info 라는 것이 있었습니다.
곧 사용해볼 기회가 있을 것 같은데 유용했으면 좋겠습니다.
해당 프로젝트의 최신 포크판인 Libre Hardware Monitor도 있습니다.
아…! 역시 그러면 그렇죠…있을거같았는데 찾아서 안나오더라니…제가 못찾은거네요. 감사합니다!!
AvaloniaUI의 모바일 UI 오픈소스입니다.
링크드인에서 소개를 봤는데요, AvaloniaUI의 제 주변 사용자 지인들은 많이들 아발로니아는 모바일 지원이 Uno Platform에 비해 약하며 Desktop Application 위주이다. 라는 평가가 많았습니다.
저 역시 그렇게 생각하는 편인데 이런 아발로니아 모바일 UI 기술이 발전한다면 아발로니아 사용자들이 점점 더 개발이 편리해질 것 같습니다.
덤으로, 저는 링크드인을 자주하다보니 아발로니아에 관련된 소식을 링크드인에서 주로 접하는데요. 아발로니아는 자신들의 기술을 사용한 여러 오픈소스를 링크드인을 통해 비정기적으로 빈번하게 알려주고 있습니다.
Uno Platform도 자신들의 기술을 사용한 오픈소스를 이곳저곳에서 알리는 활동을 자주 하는지 궁금하네요. 기술이라는게 지속적으로 써줘야 홍보가 되고 유저가 늘어날텐데 말이죠.
ㅋㅋ 이거 오래 쓰면 IDE 속도가 좀 느려지더라구요…~
궁금해서 Disk 상태 모니터링 하는 프로그램은 없는지 ChatGPT에 물어봤더니 소개해줬습니다.
이미 유명한 오픈소스 같더군요.
이거 엄청 유명하죠. 이쪽 방면으로는 가장 유명할걸요.
존재는 알고 있었는데 오픈소스라는 건 이번에 처음 알았네요!
공식 홈페이지: MSBuild Log Viewer
MSBuild 를 확인할 수 있는 Log Viewer 프로그램입니다.
무려 WPF로 만들어졌습니다. (중요)
소스보기 귀찮아서 SNOOP으로 찍어봤더니 바로 열리는 매-직.
dotnet cli를 사용해서 publish 로그를 분석할 때 쓰는 옵션으로
dotnet publish -v diagnostic *> publish-log.log
가 있는데 이것은 매우 매우 매우 용량이 많이 나옵니다. 해서 ChatGPT에게 물어보니 소개해준 프로그램입니다. 위 명령어 대신
dotnet publish -v diagnostic -bl:publish-log.binlog
이렇게 -bl 이라는 MSBuild 명령어를 통해, 확장자를 .binlog로 지정한 파일을 입력하면 binlog 라는 파일을 만들어주고, 이 binlog 파일을 볼 수 있게 해주는 프로그램입니다.
.NET에서 Excel을 제어하기 위해서는 저명하게 알려진 라이브러리들이 있습니다.
- MiniExcel
- ClosedXml
- Epplus
들이 제가 아는 3대장인데요. 문제는 위 3개의 라이브러리는 NativeAot 를 지원하는지 알 수 없는 것 같습니다. MiniExcel은 내부에서 Reflection Emit을 사용하는 것을 봤던 것 같기도 하고…
하지만 위에 소개된 라이브러리는 NativeAot 환경에서 동작하는 Source Generator 기반의 Excel Library 같습니다. 아직 코드를 뜯어보진 않았지만 readme.md 에 명시가 되어있네요.
현재까지 파악해본 바로는 spreadcheetah는 Write Only 라이브러리 같습니다. 안타깝네요.
방금 제가 Context7에 등록했기 때문에 참조할 수 있게 되었습니다.
이 라이브러리는 VSTO라는 .NET Framework 전용의 Excel Addin 함수 기능을 대체할 수 있는 기술로 보여서 가져왔습니다. VSTO는 Excel Addin 안에서 Ribbon 버튼까지 눌러서 새로운 Windows Forms Window를 띄워서 GUI 프로그래밍까지 가능하기에 ExcelDna가 완벽한 대체는 어려울 것 같지만 VBA를 대체할 수 있는 C#으로 Custom Function을 생성할 수 있다는 것이 장점 같습니다.
무엇보다 NativeAot를 지원하는 Library라서 배포 후 실행 시 .NET 의존성도 없습니다. 혹시라도 VSTO가 .NET Framework 로 지원이 중단되면서 대체기능을 찾고 계신 분들이 알아두시면 좋을 것 같습니다.
ExcelDna는 Context7에도 등록되어 있네요.
파일에 대해서 무슨 언어로 개발된 프로그램인지 알 수 있고, 프로젝트를 Packaging 한 기술은 무엇인지 볼 수 있는 오픈소스입니다.
뭐 설명 상으로는 사이버보안, 포렌식, 파일타입 검사라고 어려운 말들 써놨는데 제가 써먹은 용도는 Windows의 EXE 프로그램이 어떤 언어로 개발되었는지 볼 때 이용했습니다.
ScreenToGif – Windows에서 화면 레코딩을 MP4/AVI가 아닌 GIF로 바로 만들어주는 오픈 소스 유틸리티로, C#과 닷넷 코어로 개발된 프로젝트입니다. 사용자 층이 매우 두텁고, 심지어 Microsoft 직원들도 매우 잘 쓰는 유틸리티로 유명하죠!