Internet Relay Chat(IRC) Guide(1): Introduction

Yeshin Lee
6 min readMar 5, 2022

--

42 서울 본 과정에는 IRC를 구현하는 과제가 있습니다. 공부하면서 한글 번역 자료가 부족하다는 것을 알았고, 제 수준과 번역량을 고려해 The UChicago χ-Projects chirc 페이지를 번역하게 되었습니다. 작업은 다음을 목표를 두고 진행했습니다.

  1. IRC의 기본적인 흐름을 이해한다.
  2. 영어 읽기에 좀 더 익숙해진다.
  3. 문장을 자연스럽게 가꾸는 능력을 기른다.

※ 과제에 필요한 부분만 공부했기 때문에 문서 전체를 번역하지는 않았습니다.

※ IRC에 대해 좀 더 알고 싶다면, 다음 문서(https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.2)를 참고해보세요.

Introduction

In this project, you will implement a simple Internet Relay Chat (IRC) server called chirc. IRC is one of the earliest network protocols for text messaging and multi-participant chatting. It remains a popular standard and still sees heavy use in certain communities, specially the open source software community.

이 프로젝트에서, 여러분은 chirc라고 불리는 간단한 Internet Relay Chat(IRC) 서버를 구현해볼 것입니다. IRC는 텍스트 메시징과 다중-참여 채팅을 위한 가장 초창기 네트워크 프로토콜 중 하나입니다. 여전히 인기 있는 표준으로 남아있고 특정 커뮤니티, 특히 오픈 소스 소프트웨어 커뮤니티에서 비중 있게 사용되는 것을 볼 수 있습니다.

Your implementation must be compliant enough with the official IRC specification for other IRC clients (not programmed by you) to work with your server. Although we will provide some scaffolding, most tasks will require you to consult the official IRC specification, or to experiment with existing IRC servers. Thus, this project will allow you to develop not just your network programming skills, but also your ability to read and interpret a real network protocol.

다른 IRC 클라이언트(직접 프로그래밍한 것이 아닌)가 여러분이 구현한 서버에서 동작할 수 있도록 공식 IRC 사양을 충분히 따라야 합니다. 비록 약간의 테스트 코드를 제공하겠지만, 대부분의 업무는 여러분이 공식 IRC 표준을 자문(consult)하거나 존재하는 IRC 서버들로 실험하라고 요구할 것입니다. 더불어, 이 프로젝트는 단지 여러분의 네트워크 프로그래밍 스킬뿐만 아니라 실제 네트워크 프로토콜을 읽고 해석하는 능력을 키워줄 것입니다.

This project is divided into three parts.

이 프로젝트는 세 가지 파트로 나뉘어 있습니다.

The first part is meant as a relatively short warmup exercise; the second part mostly revolves around supporting multiple clients and messaging between individual users; the third part mostly revolves around implementing IRC “channels” (the IRC’s equivalent of a “chat group” or a “chat room”).

첫 번째 파트는 짧은 연습입니다; 두 번째 파트는 다중 클라이언트 지원과 개인 사용자들 사이에서 메시징 중점으로 다룹니다;세 번째 파트는 IRC “채널”(“채팅 그룹” 또는 “채팅 방”) 구현을 중점으로 다룹니다.

The chirc documentation is divided into the following sections:

- Internet Relay Chat and Example IRC Communications provide an overview of the IRC protocol and provide several examples of valid IRC communications.
- Installing, Building, and Running chirc describes how to get the chirc code and how to build and run it.
- Assignment 1: Basic Message Processing, Assignment 2: Supporting Multiple Clients, and Assignment 3: Channels and Modes, describe the three parts of this project.
- Testing your Implementation provides suggestions and strategies for testing your implementation.

chirc 문서는 다음 섹션으로 나눠져 있습니다.

  • Internet Relay Chat과 Example IRC Communications 은 IRC 프로토콜의 개요와 유효한 IRC 통신의 몇 개의 예시를 제공합니다.
  • chirc 설치, 빌딩, 실행은 chic 코드를 어떻게 얻고 빌딩하고 실행하는지 제공합니다.
  • Assignment 1: Basic Message Processing, Assignment 2: Supporting Multiple Clients와 Assignment 3: Channels and Modes는 이 프로젝트의 세가지 파트를 다룹니다.
  • Testing your Implementation 는 여러분의 실행을 테스트하기 위한 제안과 전략들을 제공합니다.

--

--