Mgcllee

[.NET Orleans] Grain 1개당 Client 1개 연결 시도

결론부터 말하면, Grain 안에 TcpClient 멤버 구현은 옳지 않습니다. 이번 포스트에서는 Grain 안에 소켓 통신 구현이 필요했던 이유와 구현 이후 발생했던 문제점과 개선 방향에 대해 말하려고 합니다. Grain을 관리하는 것은 Orleans 프레임워크 Orleans 프레임워크에서 Grain은 이전 포스트에서 언급한 것처럼 1개의 액터...

채팅 프로그램을 만들자 - 프로젝트 기본 설정하기

포스트 ‘채팅 프로그램을 만들자’ 시리즈에서는 프로젝트가 어떤 의도로 설계 되었는지부터 서버 프로그램에서 IOCP를 1개가 아닌 여러 개를 사용하도록 변경한 이유까지 프로젝트를 진행하면서 있었던 일들을 다룰 예정입니다. 최근 네트워크 프로그래밍의 기본인 네트워크 소켓을 연구하기 위해 진행하고 있는 프로젝트가 있습니다. 이 프로젝트는 다수의 클...

[C#] 문자열(string)과 내부 메서드

개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. 문자열 문자열은 C# 에서 여러 문자를 이어붙인 자료형이라고 했습니다. 그러나 단순히 이어붙인 것 뿐만 아니라 클래스처럼 string 내부에 여러 메서드를 갖고 있습니다. 이번 포스트에서는 string의 사용과 내부 메서드들에 대해 알아보겠습니다. String 선언하기...

[프로그래머스] 예상 대진표

이 포스트는 프로그래머스 사이트의 예상 대진표 문제 풀이입니다. 문제 해결 과정 이 문제는 수학 연산을 통해서 간단하게 해결할 수 있는 문제입니다. A 선수와 B 선수가 경기를 진행하려면 두 선수의 번호는 인접한 숫자이고 두 선수 중 작은 번호를 받은 숫자가 홀수이어야 두 선수가 만날 수 있습니다. 만약 인접하지 않고, 작은 수가 홀...

[백준][1238] 파티

이 포스트는 백준 사이트의 파티 문제 풀이입니다. 문제 해결 과정 이 문제는 다익스트라 알고리즘을 활용해서 해결할 수 있습니다. 입력받은 정보를 토대로 단방향 가중치 그래프를 만든 후 (현재 마을에서 X까지 비용) + (X부터 원래 마을까지 비용)을 매번 비교하여 최댓값을 구하면 됩니다. 일반적인 다익스트라의 경우, 최단 거리를 구하...