채팅 프로그램을 만들자 - 프로젝트 기본 설정하기
포스트 ‘채팅 프로그램을 만들자’ 시리즈에서는 프로젝트가 어떤 의도로 설계 되었는지부터 서버 프로그램에서 IOCP를 1개가 아닌 여러 개를 사용하도록 변경한 이유까지 프로젝트를 진행하면서 있었던 일들을 다룰 예정입니다. 최근 네트워크 프로그래밍의 기본인 네트워크 소켓을 연구하기 위해 진행하고 있는 프로젝트가 있습니다. 이 프로젝트는 다수의 클...
포스트 ‘채팅 프로그램을 만들자’ 시리즈에서는 프로젝트가 어떤 의도로 설계 되었는지부터 서버 프로그램에서 IOCP를 1개가 아닌 여러 개를 사용하도록 변경한 이유까지 프로젝트를 진행하면서 있었던 일들을 다룰 예정입니다. 최근 네트워크 프로그래밍의 기본인 네트워크 소켓을 연구하기 위해 진행하고 있는 프로젝트가 있습니다. 이 프로젝트는 다수의 클...
25년의 1, 2월은 새로운 프로젝트를 진행하며 다양한 기술을 배울 수 있었습니다. 이번 주 포스트에서는 2개월 간 진행한 프로젝트들의 점검과 앞으로의 계획을 알리고자 합니다. 3줄 요약 C++ 기반 프로젝트 중간 점검 서브 언어로 C#을 학습 Azure, Docker, .NET Orleans, Redis 등 활용한 새로운 프로젝트 구상...
이 포스트는 프로그래머스 사이트의 더 맵게 문제 풀이입니다. 문제 해결 과정 이 문제는 C++ 의 힙 자료구조를 활용해서 해결할 수 있습니다. C++ STL 의 우선순위 큐는 기본적으로 최대 힙을 사용하지만, greater<> 함수를 넘겨줌으로서 최소 힙처럼 사용할 수 있습니다. 그리고 문제의 설명처럼 2가지 음식이 존재할...
개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. 문자열 문자열은 C# 에서 여러 문자를 이어붙인 자료형이라고 했습니다. 그러나 단순히 이어붙인 것 뿐만 아니라 클래스처럼 string 내부에 여러 메서드를 갖고 있습니다. 이번 포스트에서는 string의 사용과 내부 메서드들에 대해 알아보겠습니다. String 선언하기...
이 포스트는 프로그래머스 사이트의 예상 대진표 문제 풀이입니다. 문제 해결 과정 이 문제는 수학 연산을 통해서 간단하게 해결할 수 있는 문제입니다. A 선수와 B 선수가 경기를 진행하려면 두 선수의 번호는 인접한 숫자이고 두 선수 중 작은 번호를 받은 숫자가 홀수이어야 두 선수가 만날 수 있습니다. 만약 인접하지 않고, 작은 수가 홀...
개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. 함수 C 언어 계열에서는 함수를 호출하면서 함수가 사용할 데이터를 넘겨줄 때, 매개변수를 사용합니다. 이 매개변수를 넘겨주는 방법은 크게 Call by Value, Call By Reference 2가지 있습니다. C, C++, C# 모두 두 가지 방법을 사용하고 있지만 사용...
이 포스트는 백준 사이트의 파티 문제 풀이입니다. 문제 해결 과정 이 문제는 다익스트라 알고리즘을 활용해서 해결할 수 있습니다. 입력받은 정보를 토대로 단방향 가중치 그래프를 만든 후 (현재 마을에서 X까지 비용) + (X부터 원래 마을까지 비용)을 매번 비교하여 최댓값을 구하면 됩니다. 일반적인 다익스트라의 경우, 최단 거리를 구하...
개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. C# 에서는 bit 단위 연산을 위한 전용 연산자를 제공하는데 그 이름이 비트 연산자 입니다. 비트 연산자는 비트 Shift 연산자, 비트 논리 연산자가 있습니다. 이번 포스트에서는 C# 의 비트 연산자를 확인해 보겠습니다. 비트 Shift 연산자 비트 Shift 연산자...
이 포스트는 백준 사이트의 상범 빌딩 문제 풀이입니다. 문제 해결 과정 이 문제는 BFS를 활용하면 쉽게 해결할 수 있습니다. 일반적인 최단거리 문제는 2차원 배열 혹은 그래프에서 구하는 형태였습니다. 그러나 이 문제는 3차원 배열의 형태에서 최단거리를 구해야하는 문제입니다. 따라서 이 문제를 구하기 위해 x축, y축에 z축을 더하여...
개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습입니다. 자료형은 프로그램에서 데이터를 담는 형식을 의미합니다. 프로그래밍 언어 마다 기본적으로 제공하는 자료형이 있고, 프로그래머가 직접 자료형을 만들 수도 있습니다. 이번 포스트에서는 C# 에서 제공하는 기본 자료형에 대해서 설명하겠습니다. C# 의 기본 자료형은 크게 3가지로 나...