C 프로그래밍 프로젝트 모음
초보자가 다양한 프로그래밍 개념을 배우고 연습할 수 있도록 설계된 C 프로그래밍 프로젝트 모음입니다. 기본 알고리즘부터 네트워크 프로그래밍까지 포함되어 있습니다. 각 프로젝트는 독립적이며 자체 문서와 빌드 시스템을 포함하고 있습니다.
프로젝트 개요
1. SHA-512 구현
암호화 해시 함수 구현 예제로 다음을 보여줍니다:
- 비트 조작
- 복잡한 알고리즘
- 메모리 관리
- 파일 입출력 작업
2. HTTP 서버
기본 HTTP 서버 구현으로 다음을 다룹니다:- 소켓 프로그래밍
- HTTP 프로토콜 기초
- 파일 서빙
- 네트워크 통신
3. UDP 서버-클라이언트
간단한 UDP 기반 통신 시스템으로 다음을 가르칩니다:- UDP 소켓 프로그래밍
- 클라이언트-서버 아키텍처
- 네트워크 프로토콜
- 메시지 교환
4. 포트 스캐너
네트워크 진단 도구로 다음을 보여줍니다:- TCP 소켓 프로그래밍
- 네트워크 스캔 기법
- 오류 처리
- 명령행 인수 파싱
5. 핑 구현
커스텀 핑 유틸리티로 다음을 다룹니다:- ICMP 프로토콜
- 로우 소켓 프로그래밍
- 네트워크 진단
- 시간 측정
6. 틱택토
클래식 게임 구현으로 다음을 가르칩니다:- 멀티플레이어 게임 서버
- 소켓 프로그래밍
- 게임 로직
- 사용자 입력 처리
7. 채팅 시스템
실시간 채팅 애플리케이션으로 다음을 시연합니다:- TCP 소켓 프로그래밍
- 멀티스레딩
- 실시간 통신
- 클라이언트-서버 아키텍처
8. 어휘 분석기
간단한 컴파일러 프론트엔드 구성 요소로 다음을 시연합니다:- 소스 코드 토큰화
- 파싱 기법
- 컴파일러 설계 원칙
- 문자열 조작
9. 산술 컴파일러
산술 표현식을 입력받아 어셈블리 유사 코드를 생성하는 간단한 컴파일러:- 어휘 분석(토큰화)
- 표현식 파싱 및 평가
- 어셈블리 코드 생성
- 컴파일러 구축 기초
10. 소행성 게임
터미널 기반 게임으로, 낙하하는 소행성을 피하기 위해 함선을 조종합니다:- 게임 상태 관리
- 사용자 입력 처리
- 터미널 기반 그래픽
- 실시간 게임 플레이 메커니즘
- 간단한 충돌 감지
시작하기
이 저장소의 각 프로젝트는 독립적으로 설계되었으며 다음을 포함합니다:
- 소스 코드
- Makefile 또는 CMake 구성
- 빌드 및 사용법 안내가 포함된 README
- 구현 세부사항
- 프로젝트 디렉터리로 이동하세요
- 프로젝트의 README.md를 읽으세요
- 빌드 지침을 따르세요
- 설명된 대로 프로그램을 실행하세요
전제 조건
- GCC 컴파일러 (C 프로젝트용)
- G++ 컴파일러 (C++ 프로젝트용)
- Make 유틸리티
- CMake (C/C++ 프로젝트용)
- C/C++ 프로그래밍에 대한 기본 이해
- 네트워크 프로젝트의 경우: 기본 네트워킹 개념 이해
추천 도서
C 프로그래밍을 시작하려면, 이 포괄적인 책을 추천합니다: The C Programming Language - C 프로그래밍 기본 및 모범 사례를 배우기 위한 필수 자료입니다.
학습 경로
이 프로젝트들은 복잡도가 증가하는 순서대로 배열되어 있습니다:
- 기본 프로그래밍 개념을 위한 틱택토 시작
- 알고리즘 구현을 위한 SHA-512 진행
- 기본 네트워킹을 위한 UDP 서버-클라이언트 시도
- 더 복잡한 네트워킹을 위한 HTTP 서버 및 채팅 시스템 진행
- 마지막으로 고급 네트워킹 개념을 위한 포트 스캐너 및 핑 탐색
기여
자유롭게:
- 버그를 보고하세요
- 개선 사항을 제안하세요
- 새로운 기능을 추가하세요
- 새 프로젝트를 만드세요
- 문서를 개선하세요
라이선스
이 프로젝트는 오픈 소스이며 학습 목적으로 제공됩니다.
참고
일부 네트워크 관련 프로젝트(포트 스캐너, 핑)는 원시 소켓 사용으로 인해 루트/관리자 권한이 필요합니다. 이러한 도구는 항상 책임감 있게 사용하고 권한이 있는 네트워크에서만 테스트하세요.
--- Tranlated By Open Ai Tx | Last indexed: 2026-05-07 ---
