개발자

C언어 사이드 프로젝트 추천

2024년 06월 16일조회 198

인프런 독하게배우는c언어 완강한상태로 기본적인 문법만 알고있는 상태에서 1-2주정도 잡고 해볼만한 사이드 프로젝트 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

프레드윰님의 프로필 사진

씨언어로 할때 마름모 그리기, 구구단, 자판기 등 사이드 보통 cui로 만들거든요 크게 힘들지 않을거에요

장훈님의 프로필 사진

검색해보니 독하게 시작하는 c 프로그래밍 인프런 강좌를 수강하신 것으로 보입니다. 커리큘럼상 네트워크 프로그래밍이나 스레드를 다루지는 않은 것 같아서 아래와 같은 프로젝트를 진행해 보시면 좋을 것 같습니다. 1~2주 소요될 규모가 되도록 선정해 보았습니다. - Command Line Interface(CLI) 프로그램 > 특정 기능을 하거나 목적이 있는 프로그램이 아닙니다. > 기본적으로 프로그램 실행 시 명령(command) 또는 옵션(Flags)을 입력받을 수 있는 형태를 구조화 합니다. > 예를 들어 docker run -i -t ubuntu 와 같은 프로그램 실행 명령이 있다면 run은 명령 -i나 -t는 옵션이 되고 나머지(ubuntu 등)는 일반 인자(argument)라고 합니다. 명령, 옵션 등 프로그램 이름 뒤에 오는 모든 값을 인자라고 합니다. > int main(int argc, char ** argv) 로부터 프로그램 실행에 필요한 인자를 받아서 처리하는 로직을 만들어 잘 구조화 시켜놓으면 재사용하기에 좋습니다. - json 파서 또는 yaml, ini 등 포맷팅된 텍스트 파서 > 포맷팅된 텍스트를 c 구조체 형식으로 파싱하는 기능 > 예를 들어 { "number": 10, "string": "hello" } 와 같은 json 내용을 typedef { int Num, char *Str } S; 구조체에 파싱합니다. > 이러한 기능 또는 함수를 Unmarshal이라고 합니다. - 압축 및 압축해제 프로그램 > 흔히 많이 알려진 압축 알고리즘은 인터넷에서 개념이나 원리, 로직, 슈도 코드 등을 쉽게 찾아보실 수 있습니다. > 파일 경로를 입력받아 지정한 파일을 압축하여 새로운 파일에 쓰는 프로그램을 만들어 볼 수 있습니다. > 구현 할만한 알고리즘을 직접 c 언어로 작성해보고 압축 성능을 비교해 보면 공부가 될 것 같습니다. > 더 나아가 압축 뿐만 아니라 파일 암호화/복호화로도 응용해볼 수 있습니다. - map 자료 구조 만들어보기 > c언어에서는 map과 같은 고급 자료구조형을 기본으로 제공하지 않습니다. > map의 원리를 공부해보고 직접 haspmap 자료구조를 구현해봅니다. > 구현한 haspmap을 통해 list 또는 배열 구조와 검색 성능을 비교해 보는것도 좋은 공부가 될 것 같습니다. 위에서 언급한 것들은 찾아보면 대부분 그 기능이 오픈소스로 많이 공개되어 있습니다. 구현해보고 끝내지 말고 직접 구현해본 기능과 오픈소스 내용이 어떻게 다른지 비용해보면 좋은 경험이 될 것입니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 06월 16일

네, C언어를 활용한 여러 가지 사이드 프로젝트가 있습니다. 다음과 같은 예제들을 고려해보시면 좋을 것 같습니다. 1. **간단한 게임 만들기:** 텍스트 기반의 RPG 게임이나 슈팅 게임 등을 만들어 보는 것도 좋은 연습이 됩니다. 기본적인 로직 구현 및 알고리즘 이해도를 높일 수 있으며, 사용자 입력 처리와 화면 출력 등에 대한 이해도도 함께 키울 수 있습니다. 2. **텍스트 에디터 개발:** 'vim' 혹은 'nano'와 같은 간단한 텍스트 에디터를 직접 구현해보는 것도 좋습니다. 파일 입출력, 문자열 조작 등의 기본적인 코딩 스킬을 요구하며 프로그램의 구조를 잘 설계하고 코드를 깔끔하게 작성하는 능력을 기르는 데 도움이 됩니다. 3. **쉘 (shell) 프로그램 작성:** 간단한 절차를 자동화하기 위한 배치 파일(batch file) 혹은 쉘 스크립트(shell script) 대신 C 언어로 작성된 쉘 프로그램(shell program)을 만들어 보세요. 이러한 프로젝트는 운영 체제의 기본적인 동작에 대한 이해를 높이는 데 도움이 됩니다. 물론, 각 프로젝트의 난이도와 시간 소요량은 당신의 기존 지식과 기술 수준에 따라 다르겠지만, 이러한 프로젝트들은 C언어를 학습하는 데 있어 좋은 경험을 제공할 것입니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!