반응형

C#/기술 개발 10

C# EMGUCV 화면 녹화 프로그램

동영상 녹화에서는 이미지를 이용하여 동영상을 만들지만 화면 녹화는 화면을 캡쳐한뒤 해당 이미지를 이용하여 동영상을 만듬. 1. 프로그램 화면 RECORD시 녹화 시작 STOP시 녹화 중지 REC - 현재 녹화중 상태 표기 (REC or STOP) 2022 - 현재 시간 표기 2. 동영상 폼위에 판넬 사이즈만큼 캡쳐한 동영상 30fps 저장 위치 C:\Rec 3. 코드 내용 using Emgu.CV; using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Threading; using System.Windows.Forms; namespace Wi..

C#/기술 개발 2022.10.13

C# string(문자)에 따라 다른 class(클래스) 호출하기 (With Dictionary)

1. 개요 Dictionary에 문자를 키로 사용하고 Value에 Delegate로 연결하여 함수를 넣어준다. 반환이 없으면 Action을 사용 반환값이 있으면 Func을 사용한다. 2. 코드 using System; using System.Collections.Generic; using System.Windows.Forms; namespace WindowsFormsApp17 { public partial class Form1 : Form { Dictionary dic ; public Form1() { InitializeComponent(); dic = new Dictionary(); dic.Add(nameof(Test1),new Action(Test1)); //in dic.Add(nameof(Test2..

C#/기술 개발 2022.04.13

C# string(문자)에 따라 다른 class(클래스) 호출하기 (스크립트 언어)

using Link; using System; using System.Collections.Generic; using System.Windows.Forms; namespace WindowsFormsApp43 { public partial class Form1 : Form { private static Dictionary s_functions = new Dictionary(); public Form1() { InitializeComponent(); Type type1 = Type.GetType("Link." + "Test1"); Type type2 = Type.GetType("Link." + "Test2"); //텍스트 박스 글짜에 따라 다른 클래스 등록 s_functions.Add("textBox1",t..

C#/기술 개발 2021.07.12

C# 프로그램 락 기능

해당 BIOS에서만 동작 검토 마더보드를 바꾸지 않고 실행파일의 하드를 포맷하지 않으면 유지 a. 프로그램 실행 루트 디렉토리에 db.lock 파일 생성후 안에 하드디스크 시리얼과 키값으로 암호화 하여 그값을 파일내에 저장 b. 프로그램 시작시 a의 값을 읽어 키값으로 복호화 c. 프로그램 시작시 Bios 시리얼 값을 읽어 키값으로 암호화 d. b와c의 값을 비교하여 일치하면 실행 아니면 메시지 알림후 종료 업데이트 프로그램 새로 제작시 관련 PC들 모두 락파일 매번 만들어야 하는 문제 암호화된 텍스트로 파일을 만들어 파일의 유무 검사 (단 장비 PC는 락파일 생성 필요) 원격으로 파일을 만들어서 보내줄수 있는가 하는 문제 cmd에서 wmic baseboard get serialnumber로 메인보드 시..

C#/기술 개발 2021.06.22

프로그램 배포, 인스톨 파일 만들기 프로젝트 (feat NSIS)

프로젝트 목적 프로그램 배포시에 인스톨 파일을 이용하여 편리한 프로그램 배포와 버전별 자동 백업 기능 ONECLICK 무료이나 배포위치를 변경할수 없음에 현재 장비에 사용하기에는 어려움 (인터넷 배포등에는 가능) MICROSOFT INSTALLER express 버전에서는 확장 프로그램 설치가 제한되어 있어 사용이 불가(사용중인 버전 , 무료) community 버전에선는 사용이 가능하나 매출 10억이하인 기업에서 5개까지 프리라인선스 정식버전 구매시 사용가능하나 약 60만원 (Microsoft installer는 무료) Install shield InstallShield Professional 가격: ₩ 3,144,300 1 시스템당 1 소프드웨어 라이센스가 필요함 InstallShield Expres..

C#/기술 개발 2021.06.07

C# Machine Learning 프로젝트 (ML.net)

필요성 비전 검사의 다양성 확대와 기술력 상승 현시점에서 머신러닝은 오픈소스 확산을 통해 대중화 되어 있어 개인이 구축 가능한 시점 1. ML.net 1) 개요 (Initial release 7 May 2018; 20 months ago) Microsoft사의 Open Source Machine Learning (무료) ML.NET은 원래 Microsoft Research에서 개발되었으며 지난 10 년 동안 Windows, Bing, PowerPoint, Excel 등과 같은 Microsoft의 여러 제품 그룹에서 사용되는 Microsoft 내부 프레임 워크로 발전했습니다. ML.NET Model Builder 확장을 설치 필요 Visual Studio Express 버전에서는 확장을 지원하지 않아 Vi..

C#/기술 개발 2021.05.18

GitHub 100MB 이상 파일 올리다가 Push 실패시 해결책

방법 #1 1. 히스토리에서 해당 파일전까지 Undo commit우클릭후 Undo commit... 2. Changes로 이동후 해당 파일 우클릭후 Discard changes... 이외 정상 파일들은 다시 commit 방법 #2 BFG Repo-Cleaner 적용 기존 Commit에서 100MB보다 큰 파일의 로그를 강제로 없애줘야 한다. BFG Repo-Cleaner — BFG Repo-Cleaner 를 이용하면 그 작업을 손쉽게 적용할 수 있다. 1. 다운로드 https://rtyley.github.io/bfg-repo-cleaner/ BFG Repo-Cleaner by rtyley $ bfg --strip-blobs-bigger-than 100M --replace-text banned.txt re..

C#/기술 개발 2021.05.11

Azure DevOps 잠긴 파일을 강제로 해제

회사 동료가 체크인 작업을 안하고 퇴사 했을때... 시작에서 검색 Developer Command Prompt for VS2015 실행후 tf.exe UNDO [파일 경로] /WORKSPACE:[사용자 계정의 workspace 이름];[사용자 계정] /s:[TFS 접속 주소] ex)tf UNDO $/TestSolution/TestProject/MyFile.cs /WORKSPACE:MYWORK;testAccount /s:http://localhost:8080 실사용 예제(관리자 필요) tf UNDO $/Form/FormMain.cs /WORKSPACE:LAPTOP;동우 /s:https://sheepone.visualstudio.com

C#/기술 개발 2021.05.11

C# 세리로그 프로그램 (Serilog)

사용이유 자체 제작한 로그 프로그램 이용중이였으나 실사용시에 자잘한 문제점들로 인하여 사용을 잘 못하게 되는 부분이 있는데 이부분들이 충족되어 있는 로그 검토 SeriLog 속도 무한정 기록시 5sec에 약 270909번 기록 (서버사용 하면 5sec에 114000번 기록) 현재 사용중인 로그 프로그램 5sec에 약 115002번 기록 (뷰어 기능까지 수행하고 있는 점이 다름) 속도측정 (쓰레드 속도 평균 : 0.053ms 맥스 : 7.328ms) GUI에만 로그 전송시 쓰레드 속도 (1분 측정) 평균 : 0.059 ms 맥스 : 21.136 ms TEXT FILE에만 로그 전송시 쓰레드 속도 (1분 측정) 평균 : 0.069 ms 맥스 : 7.416 ms GUI + TEXT FILE 로그 전송시 쓰레드..

C#/기술 개발 2021.05.10