이전 포스팅에 이어 C#에서 정규표현식을 활용하는 방법 중Match와 Result 메서드를 활용하는 방법을 정리했습니다. 이전 포스팅은 정규표현식에 대한 기본 개념을 설명했는데보시면 이번 정리 내용을 이해하기 쉬울 것 같습니다. C# 정규 표현식(Regular Expression) 이해 C# 정규 표현식(Regular Expression) 이해이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념wjunsea.tistory.com| Macth 메서드Regex의 Match 메서드는 특정 문자열에 대해 정규표현식을 적용하고,일치하는 첫 번째 패턴을 찾습니다. 만..
전체 글
이번 포스팅은 프로젝트르 진행하면서 유용하게 사용한정규 표현식에 대해 정리하였습니다. | 정규 표현식 (Regular Expression) 정규 표현식은 문자열 검색 및 문자열 조작을 위해 사용하는 개념입니다.C#에서는 System.Text.ReqularExpressions 네임스페이스를 통해정규 표현식을 쉽게 사용할 수 있습니다. | 기본 개념 정규 표현식은 문자열에서 특정 패턴을 정의하는 방법입니다.가장 쉬운 예시가 이메일, 전화번호 같은 구조가 정해져 있는 형식에서유용하게 사용할 수 있습니다. 정규 표현식에서 '메타 문자'를 사용해서 복잡한 패턴을 단순하게 표현하는데자주 사용하는 메타 문자는 다음과 같습니다. . : 임의의 한 문자* : 0회 이상 반복+ : 1회 이상 반복? : 0회 또는 1회^ ..
이번 포스팅은 제가 잘 활용하지 못했던Enum 열거형에 대해 작성하였습니다.| Enum?C#에서 Enum은 직접 정의한 상수 집합을 나타내는 데이터 형식입니다. 주로 상수 값을 그룹화하여 사용하며, 특정 값을 의미하는 이름을 만들어 사용합니다글로 읽으면 이해가 안 되는데 바로 예시를 들어볼게요 public enum Season{ Spring, Summer, Autumn = 14, Winter} 위 코드를 보시면 Season 이라는 Enum을 정의했습니다.상수 값을 정의하지 않으면 기본으로 0부터 시작하는 숫자로 매핑되며순차적으로 증가합니다.Spring은 0, Summer은 2라는 값으로 정의됩니다.하지만 Autumn 처럼 14로 명시적으로 정의를 한다면Winter는 그다음 숫자인 1..
C#에서는 배열이 참조 타입이기 때문에,배열을 메서드에 전달할 때 배열을 실제 데이터를 전달하는 것이 아니라 배열에 대한 참조가 전달됩니다. 이는 메서드 내부에서 배열을 수정할 경우, 원본 배열도 영향을 받는다는 것을 의미하며 이번 포스팅은 회사 프로젝트를 진행하며 잊고 있었던 내용을 정리하려고 작성했습니다.| 문제 상황 (예시)int[] numbers = { 1, 2, 3, 4 };ModifyArray(numbers);Console.WriteLine(string.Join(", ", numbers)); // 예상: 1, 2, 3, 4 / 실제: 10, 2, 3, 4void ModifyArray(int[] arr){ arr[0] = 10;} 위 코드에서 ModifyArray 메서드가 매개변수로 받은 ..
자동화나 제어 시스템에 널리 사용되고 있는 Modbus 프로토콜은 제어 모듈과 통신할 때 많이 사용되고 있는 프로토콜입니다. 이번 포스팅은 Modbus TCP에 대해 간략히 설명하고 C#에서 Modbus를 사용하는 방법과 NModbus 라이브러리를 활용하는 방법에 대해 작성했습니다.| Modbus TCP 란?Modbus는 산업 자동화 및 제어 시스템에서 널리 사용되는 프로토콜로 많이 사용되고 있습니다.장치 간 간의 데이터 전송에 사용되고 있으며Modbus TCP란 Modbus 프로토콜의 변형으로 TCP/IP 네트워크를 통해 작동합니다. 이 프로토콜은 클라이언트 - 서버 아키텍처 기반으로 작동되며 클라이언트(마스터)는 서버(슬레이브)에게 요청을 보내고 서버는 요청에 대한 응답을 제공합니다. | Modbus..
이번 포스팅은 바이트 배열로 통신을 하면서 알게 된 BitConverter 클래스에 대해 정리하였습니다. | BitConverter 클래스 'BitConverter' 클래스는 다양한 데이터 형식을 바이트 배열로 변환하거나 바이트 배열을 다양한 데이터 형식으로 변환할 수 있게 하는 클래스입니다. 이 클래스를 통해 정수, 부동 소수점, 문자 등의 데이터를 바이트 배열로 표현하고 바이트 배열에서 원래 데이터 형식으로 되돌릴 수 있습니다. 그래서 저는 이 클래스로 모듈과 TCP/IP 통신을 통해 데이터를 주고받았고 그 데이터들을 바이트화 하고 다시 float형으로 만들어 통신을 하는 클래스를 구현했지만 BitConverter 클래스에 대해 정리해보려고 합니다. | BitConverter.GetBytes() 메서..
C# 개발 시, 특히 네트워크 통신이나 파일 처리와 같은 작업에서 데이터를 반드시 다뤄야 합니다. 이때, Array 클래스는 데이터 컬렉션을 효율적으로 관리할 수 있는 다양한 메서드를 제공합니다. 이번 포스팅은 그중에서도 Reserve, Copy, ConvertAll 메서드를 통해 byte 배열을 어떻게 다룰 수 있는지 정리하였습니다. | Reverse 데이터의 순서를 뒤집어야 할 때, Array.Reverse 메서드를 사용합니다. Endian 변환 과정에서 필요한 작업을 손쉽게 처리할 수 있습니다 | Reverse 메서드 파라미터 public static void Reverse(Array array, int index, int length) array : 순서를 뒤집을 배열 index : 뒤집기 시작할..
이번 포스팅은 파이썬에서 사용되는 내장 함수에 대해 정리하였습니다.| 파이썬의 네임스페이스(Namespace)파이썬에서는 변수와 함수들이 정의되는 공간을 네임스페이스라고 합니다. 네임스페이스는 변수 이름과 그에 해당하는 객체(값)들 간의 매핑을 저장하는 딕셔너리로 구현됩니다. 예를 들어, 함수 내에서 정의된 변수는 해당 함수의 지역 네임스페이스에 저장되고, 함수 외부에서 정의된 변수는 전역 네임스페이스에 저장됩니다. 이제 함수 내부와 외부에서 사용하는 네임스페이스에 대해 알아보겠습니다.| globals() 이 함수는 현재의 전역 네임스페이스를 나타내는 딕셔너리를 반환합니다. 이 딕셔너리에는 전역으로 정의된 모든 변수와 함수가 포함됩니다. 딕셔너리를 수정하면 전역 네임스페이스의 내용이 변경됩니다. 예제)x..