전체 글

· C#
이번 포스팅은 제가 C#에서 영상처리 구현을 공부하면서 알게 된 Bitmap 클래스의 LockBits 메서드에 대해 작성하려 합니다. 이때까지 픽셀 단위 작업을 하며 GetPixel, SetPixel 메서드를 사용하며 작업했는데 속도면에서 LockBits 메서드가 더 빠르다는 것을 알았고 더욱 사용하게 되었습니다. GetPixel, SetPixel에 대해 간단히 설명하고 LockBits 메서드에 대해 예제와 함께 정리하겠습니다. | GetPixel 및 SetPixel 메서드 - GetPixel과 SetPixel을 사용하면 이미지 데이터에 대한 직접적인 포인터 액세스를 하지 않아도 작업할 수 있으므로 코드가 더 안정적일 수 있습니다. - 하지만 GetPixel과 SetPixel 메서드는 비트맵 이미지의 픽..
· C#
이번 포스팅은 C# bitmap 클래스를 공부하면서 몰랐던 unsafe / fixed 키워드에 대해 작성하려 합니다. C#은 .Net 환경에서 메모리 관리를 자동으로 처리하는 기능을 제공하지만 가끔 직접 메모리를 조작해야 하는 경우도 있습니다. 이런 경우에 C#에서 unsafe와 fixed 키워드를 사용하여 메모리를 관리할 수 있으며 예시를 통해 알아보도록 하겠습니다. | unsafe 키워드 - unsafe 키워드는 이름 그대로 안전하지 않은 코드를 작성할 수 있게 해 줍니다. unsafe 키워드를 사용하면 C#에서 포인터와 같은 메모리 관리 작업을 수행할 수 있습니다. 주로 성능을 최적화하거나 메모리에 접근하는 작업에 사용되며 간단한 예시를 통해 unsafe에 대해 알아보겠습니다. 예시) unsafe ..
· C#
이번 포스팅은 C#을 공부하면서 새롭게 알게 된 "record" 타입에 대해 정리하였습니다. record는 C# 9.0부터 사용할 수 있어 .net 버전에 따라 사용할 수 없는 버전도 있으니 적용하실 때 확인해 보시면 될 것 같습니다. C# record의 정의와 사용 방법에 대해 간단하게 작성하였습니다. | record(레코드)란? - record는 불변(immutable) 데이터 구조를 정의하기 위한 C#의 새로운 타입입니다. 클래스(class)와 구조체(struct)와 유사하게 보이지만, 일반적인 객체와 중요한 차이점이 있습니다. - 첫 번째로, Record는 불변성을 강제합니다. 이것은 Record 인스턴스가 한 번 생성되면 내부 데이터를 수정할 수 없다는 것을 의미합니다. 이러한 불변성은 코드를 ..
· C#
이번 포스팅은 C#을 사용하면서 자주 사용하고 있는 대리자 delegate에 대해 정리했습니다. 프로그래밍을 하게 되면 이벤트 기반 프로그래밍이라는 단어를 들어 보았을 것입니다. C#에서 지원하는 이벤트 기반 프로그래밍을 이해하려면 먼저 대리자를 알아야 하며 그다음 이벤트를 알아야 합니다. 간단한 예시들과 함께 대리자 delegate에 대해 알아보겠습니다. | 1. Delegate 란? - Delegate를 설명하기 앞서 간단한 예시를 볼게요. 예시) 나는 친구를 부르기 위해 친구 집에 전화를 걸었습니다. 그런데 전화를 받은 사람은 친구 집에 계신 부모님이었습니다. 나는 친구 부모님에게 "친구가 돌아오면 전화 좀 해주세요"라는 내용을 남겼고 전화를 끊었습니다. 친구는 친구 부모님의 내용을 전달받고 나에게..
· C#
이번 포스팅은 C# 개발자로 근무하며 BackgroundWorker 클래스를 사용하면서 배운 점을 정리했습니다. C# 개발을 하며 중요한 기능 중 하나가 프로그램이 실행하는 동안 백그라운드에서 코드를 실행하는 기능입니다. 이는 BackgroubdWorker 클래스를 사용하여 가능한데요 간단한 예시를 통해 알아보겠습니다. | 1. BackgroundWorker 클래스란? - BackgroundWorker 클래스 C#의 Windows Form의 백그라운드에서 작업을 수행할 수 있습니다. 즉, 백그라운드에서 작업이 실행되는 동안 UI 응답성을 유지할 수 있다는 뜻입니다. 파일 업로드, 데이터 처리와 같은 작업을 수행할 때 유용하게 사용할 수 있습니다. C#에서 BackgroundWorker 클래스를 사용하려면..
· C#
이번 포스팅은 제가 C#을 사용하는 개발자로 일 하면서 자주 사용했던 파일 유무를 확인하는 방법에 대해 써보려 합니다. Log나 Recipe 등 파일들의 유무를 확인하고 설정해야 하기 때문에 프로그램 실행 시 Load 부분에서 자주 사용했습니다. .Net에서는 여러 방법으로 파일 존재 유무를 확인할 수 있는데요. 대표적으로 3가지 방법을 예시로 들어 설명하겠습니다. | 방법 1 : File.Exists() - C#에서 파일이 있는지 확인하는 가장 간단한 방법입니다. System.IO 네임스페이스의 File.Exists() 메서드를 사용하는 것인데 이 메서드는 파일 경로를 나타내는 문자열을 매개 변수로 사용하고 파일이 있는지 여부를 나타내는 bool 값을 반환합니다. 예시를 보시면 더 이해할 수 있습니다...
안녕하세요! 서포터즈 활동을 하고 있는 준세입니다! 오늘은 제가 C# 개발자로 일하고 있으면서 C# 언어를 어떻게 효과적으로 배웠는지에 대한 얘기를 해보려고 합니다. 저는 지금 비전 검사기를 개발하고 있는 개발자로 원래 Python 언어를 쓰며 개발했습니다. 그러나 유저 친화적으로 Ui를 개발할 수 있고 개발 속도가 더 빠른 C#을 프로젝트로 이어가면서 C# 언어를 배우게 되었습니다. 그래서 제가 C# 언어를 배우면서 어떻게 하면 C# 언어를 효과적으로 배울 수 있는지 얘기를 해보려고 합니다. 1. C# 프로그래밍 이해 우선 책을 C# 책을 하나 고릅니다! 아무래도 최근에 나온 책이 좋겠죠? 저는 시작하세요! C# 10 프로그래밍 책을 추천합니다. C#에 대해 전반적으로 알 수 있고 깊이 알 수 있기 때..
| 도서 소개 이번 포스팅은 도서를 읽고 느낀점을 정리해보려 합니다. 책은 C# 기초 부터 C# 1 ~ 10 버전 까지를 차례대로 설명해주고 있어서 책 두께는 900페이지가 넘어 어마어마 하지만 그만큼 도움이 되는 내용이 많은 것 같습니다. 아직 다 읽지는 않았지만 읽으면서 꾸준히 포스팅 해보려고 합니다! 일단 저는 현재 머신비전쪽 개발자로 검사 장비쪽에 들어가는 SW를 개발하고 있는 개발자 입니다. 가끔 막히는 부분이 있거나 문법적으로 헷갈리는게 있으면 인터넷이나 책을 찾아보는데 자세히 나와 있지 않는 것이 대부분입니다. 그렇지만 의 목차를 보면 얼마나 자세하게 내용을 나눠 설명하는지 대략적으로 알 수 있었습니다. | 목차 목차를 보시면 C#의 기초 부터 C# 10 문법까지 차례대로 설명하고 있으며 실..
우준세
준세 단칸방