본문 바로가기
728x90
반응형
SMALL

c#8

[C#] 소켓 통신과 예제 처음 프로그래밍을 접하게 된 후 가장 먼저 해보는 통신 중에 하나 소켓 통신일 것입니다. 보통 모든 개발언에서 가장 기본적으로 배우게 되고, 이 소켓 통신을 이용해서 채팅 프로그램이나 간단한 네트워크 게임 등의 응용프로그램을 만들어보기 시작할 것입니다. 저도 대학교 때는 소켓통신을 이용하여 App 간 통신을 하도록 하거나 H/W와의 메시지를 주고받아 구동하도록 하는 프로젝트도 진행했었습니다. 당시에는 C++로 진행했었습니다. 오늘은 소켓통신에 대해서 알아보고 간단하게 C#으로 예제를 구현해 보도록 하겠습니다. 소켓 통신(Socket Communication)은 컴퓨터 네트워크에서 프로세스 간에 데이터를 교환하기 위한 메커니즘입니다. 소켓은 컴퓨터 간에 통신을 담당하는 소프트웨어적인 장치로, 일반적으로 T.. 2023. 11. 14.
[C#] 반복문 속도 비교 for, while, foreach 성능 테스트 프로그래밍을 하다 보면 반복문을 많이 사용하게 되는데 개발자마다 자주 사용하는 반복문이 다릅니다. 저 같은 경우에는 일반적으로 for문을 많이 사용하고 framework 같이 계속 구동해야 하는 경우에는 while 문을 많이 사용하며 foreach는 자주 사용하지 않습니다. 아무래도 foreach의 속도 때문에 자주 사용하지 않습니다. 하지만 특정 객체 내에 들어있고 모든 객체를 탐색해야 하는 경우라면 사용을 해야만 합니다. 각 반복문마다의 특징이 명확하고 사용하는 곳에 따라 퍼포먼스가 다르기 때문입니다. 오늘은 C#에서 각 반복문의 속도를 비교해 보는 시간을 가져보겠습니다. C#에서 for, foreach, while 반복문의 실행 속도를 비교하는 코드를 작성하였습니다. 간단히 설명하면 속도 비교를 위.. 2023. 11. 6.
[C#] 에라토스테네스의 체 알고리즘을 이용한 소수 찾기, 다중 for문과 속도 비교 일반적으로 소수는 자기 자신과 1 외에 나누어 떨어지는 수가 없는 수를 의미합니다. 영어로는 프라임 넘버(Prime Numbers)라고 합니다. 소수는 1, 3, 5, 7, 11, 13 이런 식으로 증가를 하는데, 1과 자신 외에는 나눠 떨어지는 수가 없습니다. 소수를 구하기 위해서는 다중 for문을 많이 사용하는데 소수를 구하는데 문제는 없으나 많은 시간이 소요됩니다. 이 소수를 조금 더 효율적으로 구하기 위해서 보통 에라토스테네스의 체 알고리즘을 많이 사용하는데, 오늘은 에라토스테테스의 체 알고리즘을 이용한 코드를 소개해드리겠습니다. 에라토스테네스의 체 (Sieve of Eratosthenes) 에라토스테네스의 체(Sieve of Eratosthenes)는 소수를 찾는 간단하면서 효과적인 알고리즘 중.. 2023. 11. 5.
객체지향(OOP) 언어에 대해서, C++은 객체지향 언어인가? 제가 처음으로 객체지향 언어를 접하게 된 것은 C++이었습니다. C++도 완벽한 객체지향 언어가 아니었지만 일반적으로 객체지향 언어라고 이야기합니다. 이후 Java, C# 등 완벽한 객체지향 언어들이 조금 더 손쉽게 개발하는데 도움을 주게 되었습니다. 오늘은 객체지향 언어에 대해서 알아보도록 하겠습니다. 객체지향 언어란? 객체지향 언어(Object-Oriented Language)는 소프트웨어 개발에서 사용되는 프로그래밍 언어 중 하나로, 객체지향 프로그래밍(Object-Oriented Programming, OOP) 패러다임을 기반으로 하는 언어를 가리킵니다. 객체지향 언어는 복잡한 시스템을 모델링하고 구현하는 데 효과적이며, 코드의 재사용성과 유지보수성을 향상할 수 있는 많은 기능을 제공합니다. 우선.. 2023. 10. 30.
728x90
반응형
LIST