SW 개발 공부 (77) 썸네일형 리스트형 [C#] 배열을 Sort 하는 방법 OrderBy 정의- 배열을 인가한 규칙에 맞게 정렬한다. 예제String[] str = .....str.OrderBy(f=> new FileInfo(f).CreationTime).Take(str.length-LOG_MAX_NUM); - 위의 코드는 람다식을 사용하여 파일의 생성시간을 기준으로 정렬한 결과이다.- OrderBy는 오름차순을 default로 한다.- OrderBy.Take(int num)는 해당 정렬후 앞에서부터 num만큼을 리턴한다. [C#] throw new exception 정의- 사용자 지정 예외처리를 수행할 때 사용 설명- C# 내부의 try catch 예외처리구문을 사용시, try 내부에서 예외 발생시 catch 구문으로 넘어가게 된다.- 기본 예외 발생 외에, 사용자가 특정 조건을 예외로 설정하고 그 경우 catch문으로 넘기고 싶을 경우 throw new exception을 사용하여 "사용자 지정 예외처리"를 선언&사용하면 된다. 예제 try{... Ping ping = new Ping(); PingReply reply = ping.Send(ip,500); if(reply.Status == IPStatus.Success) return true; else throw new exception("Ping Fail");}catch(Exception e.. [C#] Array의 크기를 변경하는 방법 Array.Resize<T> 정의public static void Resize (ref T[]? array, int newSize); - Array의 크기를 변경한다. 예제void setData(int data){ Array.Resize(ref buffer, buffer.length + sizof(int)); Buffer.BlockCopy(BitConverter.GetBytes(data),0,buffer,getOrigLen(),sizeof(int));} [C#]PingReply 클래스 정의- ping.Send()및 SendAsync()의 상태 및 데이터에 대한 정보를 제공. 예제Ping ping = new Ping();PingReply reply = ping.Send(ip,500);if(reply.Status == IPStatus.Success) Console.WriteLine("Ping Success");else Console.WriteLine("Ping Fail"); - pingReply의 속성을 확인하여 ping의 결과값을 확인가능 * Send 메서드ping.Send(IPAddress address ,int timeout) 정의 - 원격 컴퓨터에 ICMP Echo 메시지를 보내고, 해당 원격 컴퓨터로부터 이에 대응하는 ICMP Echo Reply 메시지를 받으려고 시도. [C#] 메서드의 매개변수로 Class를 전달할 때 참조형으로 선언해야하나? 메서드를 호출시, 매개변수의 타입(값 or 참조)에 따라서 동작 결과가 달라진다. 따라서 보통 참조에 의한 호출을 하고 싶을 때, ref 키워드를 사용한다.값에 의한 호출을 하려면 매개변수의 자료형을 그대로 인가하여 사용하면 된다. 그렇다면 class를 매개변수로 인가하여 참조에 의한 호출을 하려면 어떻게 해야하는가? ref 키워드 추가 할 필요 없이 메서드 정의시 class를 그대로 호출하면 된다. C#에서 class는 참조 타입이다. 참조 타입은 객체의 참조(주소)를 전달함으로, 메서드나 생성자에서 객체의 속성을 변경하면 원본 객체에 영향을 미친다.따라서 ref 키워드 추가 할 필요 없이 메서드 정의시 class를 그대로 호출하면 된다. 하지만 class 매개변수의 호출 앞에 ref를 붙힐 수 있는.. [C#]오름차순 정렬& 파일 추출 방법 string[] files = Directory.GetFiles(filePath);if(files.Length>MAX_LENGTH){ var oldestfiles = files.Orderby(f=>new FileInfo(f).CreationTime).Take(files.Length-MAX_LENGTH); foreach(var file in oldestfiles) { File.Delete(file); }} * OrderBy Orderby는 Linq에 선언되어있는 메서드로, 컬렉션(리스트,배열..)을 특정 기준에 따라 오름차순을 정렬한다.기준은 뒤에 선언되는 람다식에 따른다. 결과는 정렬된 컬렉션을 반환하며, 원본 컬렉션은 변경되지 않는다. * Take Take는 Linq 메서드로, 정렬.. [VS code] cpp 환경 설정 방법 vs code에서 cpp를 실행하기 위해선 컴파일러나 관련 설정들을 직접 설정해줘야한다. 순서는 다음과 같다 1. 컴파일러 Extention 설치 - vs code에서 확장을 들어가 C/C++을 설치한다. **컴파일러 확장(Compiler Extension)**이란 표준 C/C++ 언어 사양에 포함되지 않지만 컴파일러(예: GCC, Clang, MSVC)가 추가적으로 제공하는 기능, 문법, 또는 최적화 옵션을 의미한다. 설치가 끝난 후 컴파일을 하면 컴파일러를 선택하라는 메시지가 출력된다.이때 오류가 발생하는데 launch.json 파일 오류다.cl.exe 빌드 및 디버그는 vs의 개발자 명령 프롬프트에서 vs code를 실행하는 경우에만 사용 가능하다. 따라서 컴파일러를 설치해 줘야 한다. 2. 컴파.. 신호를 Filtering 후 복조시 Amplitude 줄어드는 문제 프로젝트를 진행하며 Time Domain 신호를 특정 주파수 영역으로 필터링 해야 할 필요성이 생겼다.따라서 작업을 다음과 같이 했다. 1) Time Domain 신호 FFT 2) 주파수 Domain 신호에서 원하는 주파수 영역대로 Filtering 3) IFF 수행하여 Time Domain 신호 복조 위의 순서로 복조할 경우,LPF의 Cut off 주파수를 나이키스트 주파수로 설정 후 Filtering 해도 복조된 신호의 amplitude가 원본 신호 대비 줄어드는 현상이 발생했다. 원인은 나이키스트 주파수 이후의 값이 전부 필터링되어 amplitude가 줄은것이다.따라서 나이키스트 주파수 이후의 값도 이전값과 대칭이되게 동일하게 필터링을 수행해줘야 이전 신호와 동일한 amplitude의 출력값을 얻을.. 이전 1 2 3 4 5 6 ··· 10 다음