전체 글

이번 포스팅은 파이썬의 예외처리 방법에 대해 정리하였습니다. | 예외 처리란? 예외 처리는 프로그램 실행 중에 발생하는 오류를 처리하는 기술입니다. 이를 통해 프로그램이 예기치 않은 상황에 대응하고 조치를 취할 수 있습니다. 모든 프로그래밍 언어에는 예외 처리를 위한 키워드를 제공하고 있습니다. 파이썬에서는 'try', 'except', 'finally' 키워드를 사용하여 예외처리를 구현할 수 있습니다. | 기본적인 예외 처리 구조 try: # 예외가 발생할 수 있는 코드 블록 except 예외종류1 as 변수: # 예외 처리 코드 except 예외종류2 as 변수: # 다른 종류의 예외 처리 코드 else: # 예외가 발생하지 않았을 때 실행할 코드 finally: # 예외 발생 여부와 상관없이 항상 ..
· C#/Winform
이번 포스팅은 프로젝트를 진행하면서 적용한 내용에 대해 정리하였습니다. | 요청(문제) 상황 사용자가 특정 작업을 위해 Form을 열었고, 이 Form이 이미 실행 중일 때, 또 다른 Form을 여는 것이 아니라 기존의 Form을 활성화를 하고자 했습니다. 또한 Form 내의 데이터를 보여주는 DataGridView 컨트롤도 최선 정보로 업데이트되어야 했습니다. | 해결 방법 열려 있는 Form 확인 : Application.OpenForms 컬렉션을 사용하여 이미 열려 있는 Form 인스턴스를 찾음 Form 활성화 : Activate() 메서드를 사용하여 해당 Form을 사용자에게 보이게 합니다. From이 최소화되어 있다면, 먼저 정상 상태로 변경 DataGridView 최신화 : Form 내부의 D..
· C#
| 에러 내용 컬렉션을 사용하다 발생한 에러입니다. 이 에러는 프로그램이 컬렉션을 순회하고 있는 동안 컬렉션이 변경되었을 때 발생하는 에러입니다. 컬렉션을 순회하는 도중에는 원소를 추가하거나 제거하는 등의 작업을 수행하면 안 됩니다. 이러한 작업이 발생하면 컬렉션의 상태가 변경되고, 이는 열거 작업에 영향을 미칩니다. 그렇기 때문에 .Net은 이런 상황을 예방하기 위해 이런 종류의 에러를 발생시킵니다. 예제) System.InvalidOperationException 에러 발생 상황 List numbers = new List { 1, 2, 3, 4, 5 }; foreach (int number in numbers) { if (number == 3) { numbers.Remove(number); } } 위..
· C#
지난 포스팅에 이어 이미지의 2차원 배열을 순회하는 방법에 대해 알아보겠습니다. 2차원 배열을 순회하는 기초적인 방법은 이전 글을 통해 확인해 보세요! C# 이미지의 2차원 배열을 순회하는 여러 가지 방법 - 1 C# 이미지의 2차원 배열을 순회하는 여러가지 방법 - 1 C#에서는 이미지를 2차원 배열로 다루게 됩니다. 이번 포스팅은 C#에서 2차원 배열을 순회하는 여러 가지 방법에 대해 알아보고 작업 속도를 비교해 보겠습니다. | 왜 이미지를 2차원 배열로 사용 wjunsea.tistory.com | 데이터를 분할하여 2차원 배열 순회 데이터를 분할하여 배열을 처리하는 방법은 큰 데이터 세트를 더 작은 부분으로 나누고, 각 부분을 독립적으로 처리하는 원리에 기반합니다. 이는 특히 큰 규모의 데이터에서 ..
· C#
C#에서는 이미지를 2차원 배열로 다루게 됩니다. 이번 포스팅은 C#에서 2차원 배열을 순회하는 여러 가지 방법에 대해 알아보고 작업 속도를 비교해 보겠습니다. | 왜 이미지를 2차원 배열로 사용하는가? C#에서는 이미지를 2차원 배열로 다루게 됩니다. 그 이유는 이미지 데이터의 특성 자체를 이해하기 위해서입니다. 이미지는 픽셀로 구성되어 있으며, 각 픽셀은 화면에서 특정 위치를 나타냅니다. 이 위치는 바로 이미지의 x 좌표와 y 좌표, 즉 2차원의 공간으로 표현됩니다. 이미지를 2차원 배열로 표현하면, 배열의 각요소가 이미지의 픽셀 하나를 나타내게 되며 배열의 인덱스가 바로 픽셀의 위치 (x, y)를 나타내며 인덱스에 저장된 값은 해당 픽셀의 색상 정보를 나타냅니다. 따라서 이미지를 2차원 배열로 다루..
· C#/Winform
이번 포스팅은 C#에서 이미지의 픽셀의 RGB 값을 읽고 쓰는 방법에 대해 정리하였습니다. 라이브러리를 사용하지 않고 .Net Framework의 System.Drawing과 Bitmap 클래스 그리고 LockBits, BitmapData 클래스를 사용하여 RGB 데이터를 다루는 방법을 설명하였습니다. | GetPixel 먼저 GetPixel과 Setpixel 메서드로 특정 픽셀의 RGB 값을 읽는 방법을 알아보겠습니다. GetPixel 메서드를 사용하면 특정 위치의 픽셀 생상을 Color 객체로 가져올 수 있습니다. 이 객체에서 R, G, B 프로퍼티를 사용해 각 생상 요소의 값을 얻을 수 있습니다. 예제) GetPixel 메서드를 사용해 특정 픽셀의 RGB 값 읽기 Bitmap bmp = new Bi..
· C#/Winform
이번 포스팅은 Json 파일을 읽어 PropertyGrid에 적용하여 UI 상 나타내는 방법을 알아보겠습니다. | Json 파일 읽기 먼저 C#에서 Json 파일 읽는 방법을 알아보겠습니다. { "IP": "192.168.0.1", "Port": 20001, "EQ": [ { "Use": true, "EQNAME": "EQ1", "IP": "192.168.0.2", "Port": 20009, "WebPort": 20007, "BaseDir": "http://192.168.0.1:20001/" } ], "Mask": true, "Test": true, "Hold": true, "View": false } 위와 같은 Setup.json 이라는 Json 파일을 읽어보겠습니다. C#에서 Json을 처리하기 위해..
· C#/Winform
이번 포스팅은 크로스 스레드를 이해하고 해결하는 방법에 대해 정리하였습니다. | 크로스 스레드 (Cross Thread) 에러 프로젝트를 진행하다 보면 크로스 스레드 에러가 발생하는 것을 볼 수 있습니다. 크로스 스레드 에러는 멀티 스레드를 사용하면 자주 마주치는 문제로 한 스레드에서 생성한 컨트롤을 다른 스레드에서 접근하려고 할 때 발생합니다. 특히, UI를 사용하는 프로젝트에서 이 문제를 자주 볼 수 있습니다. 크로스 스레드 에러의 해결방법을 알기 전에 크로스 스레드가 무엇인지 알아보겠습니다. | 크로스 스레드 (Cross Thread) 이해 대부분의 UI 프레임워크는 스레드에 안전하지 않게 설계되었습니다. 이는 UI 컨트롤이 상태를 여러 개를 갖고 있으며, 여러 스레드가 이 상태를 동시에 변경하려고..
우준세
준세 단칸방