전체 글 12

[C언어 왕초보 탈출] #6. 프로그램의 핵심 도구, 연산자(Operator) 완벽 정복하기

5장까지 우리는 데이터를 저장하는 '변수'와 사용자에게 값을 받는 'scanf'를 배웠어요. 이제 이 재료들을 가지고 뭔가 의미 있는 결과물을 만들어낼 차례입니다! 🍳변수가 요리 재료라면, **연산자(Operator)**는 이 재료들을 다지고, 섞고, 끓여서 멋진 요리를 완성하는 **'도구'**나 **'행동'**과 같아요. 이번 글에서는 C언어가 제공하는 다양한 연산자를 배우고, 프로그램을 한 단계 더 똑똑하게 만들어 보겠습니다. 1. 덧셈, 뺄셈, 그리고... 나머지? - 산술 연산자가장 기본이 되는 산술 연산자부터 시작해 보죠. 우리가 수학 시간에 배운 사칙연산과 거의 똑같아서 쉬울 거예요.연산자의미예시결과+덧셈10 + 313-뺄셈10 - 37*곱셈10 * 330/나눗셈10 / 33%나머지10 %..

기술면접 대비이론 - TCP 와 UDP 의 차이점

안녕하십니까. C++ 게임 서버 프로그래머를 위한 CS 이론 연재입니다.지난 글에서는 네트워크 통신의 전체적인 설계도인 OSI 7계층과 TCP/IP 4계층 모델에 대해 알아보았습니다. 두 모델 모두에서 **전송 계층(Transport Layer)**은 데이터의 종단 간 전송을 책임지는 매우 중요한 역할을 했습니다.이번 글에서는 바로 이 전송 계층의 대표적인 두 프로토콜, **TCP(Transmission Control Protocol)**와 **UDP(User Datagram Protocol)**에 대해 심도 있게 알아보겠습니다. "TCP와 UDP의 차이점을 설명해 보세요"라는 질문은 게임 서버 개발자 면접의 단골 질문이므로 반드시 명확하게 이해하고 넘어가야 합니다.## TCP (Transmission ..

네트워크이론 2025.07.10

기술면접 대비 이론 - OSI 7계층과 TCP/IP 4계층 모델

안녕하십니까. C++ 게임 서버 프로그래머를 목표로 기술 면접을 준비하는 분들을 위한 CS 이론 연재입니다.지난 글까지는 컴퓨터 내부의 동작 원리인 컴퓨터 구조, 프로세스, 메모리 등에 대해 알아보았습니다. 이번 글부터는 컴퓨터와 컴퓨터가 서로 통신하는 기술, 즉 네트워크에 대해 다루고자 합니다. 서버는 클라이언트와의 통신이 존재의 이유이므로, 네트워크에 대한 이해는 서버 프로그래머에게 가장 중요한 역량 중 하나입니다.그 첫 번째 순서로, 모든 네트워크 통신의 기본 설계도인 OSI 7계층 모델과 현재 인터넷에서 사실상의 표준으로 사용되는 TCP/IP 4계층 모델에 대해 알아보겠습니다.## OSI 7계층 모델이란 무엇입니까?OSI(Open Systems Interconnection) 모델은 국제표준화기구(..

네트워크이론 2025.07.09

[C언어기초] 5. 입출력문

지금까지 우리가 만든 프로그램은 정해진 코드에 따라 움직이는 일방적인 프로그램이었습니다. age 변수에 20을 넣으면 영원히 20살인 프로그램이었죠. 하지만 진짜 쓸모 있는 프로그램은 사용자가 원하는 데이터를 입력하고, 그에 맞춰 다른 결과를 보여줄 수 있어야 합니다.이번 장에서는 4장에서 잠시 맛보았던 printf 함수의 다양한 사용법을 알아보고, 사용자의 키보드 입력을 프로그램으로 가져오는 scanf 함수에 대해 집중적으로 배우겠습니다. 드디어 여러분의 프로그램이 사용자와 '대화'를 시작합니다.1. 출력의 달인, printf 다시 보기printf는 단순히 글자만 출력하는 것이 아니라, 변수에 담긴 값을 원하는 형식에 맞춰 깔끔하게 보여주는 강력한 기능입니다. 이때 사용하는 것이 바로 서식 지정자(Fo..

[C언어 왕초보 탈출] #4. 컴퓨터의 기억 상자, 변수와 자료형

지난번엔 printf로 화면에 멋진 메시지를 띄워봤죠? 하지만 프로그램이 정해진 말만 반복한다면 너무 심심할 거예요. 사용자의 정보를 기억하거나, 계산 결과를 저장하는 등 무언가를 **'기억'**하는 기능이 필요합니다.이번 시간에는 컴퓨터의 기억 공간인 **변수(Variable)**와, 그 공간에 어떤 종류의 데이터를 담을지 알려주는 **자료형(Data Type)**에 대해 배워보겠습니다!📦 변수(Variable)란 무엇일까요?마트에서 장을 본다고 상상해 보세요. 계란, 우유, 사과를 샀다면 각각 다른 봉투나 상자에 담을 거예요. 그리고 헷갈리지 않게 '계란', '우유'라고 이름표를 붙여놓겠죠?프로그래밍의 변수가 바로 이 **'이름표를 붙인 상자'**와 같습니다. 데이터를 저장하기 위해 마련된 메모리 ..

[C언어기초] 3. Hello World

드디어 코딩을 시작할 시간입니다! 2장에서 준비한 작업실을 이용하여 컴퓨터 세상에 우리의 첫 발자국을 남겨보겠습니다. 3장은 독자가 프로그래밍의 첫 성공을 맛보는 매우 중요한 단계이므로, 개발 환경별로 실행하는 방법을 최대한 상세하게 담았습니다.제3장: 나의 첫 프로그램, "Hello, World!"지금까지 우리는 프로그래밍의 개념을 배우고, 코딩에 필요한 도구들을 설치하는 긴 여정을 거쳐왔습니다. 이제 그 모든 준비가 빛을 발할 시간입니다. 이 장에서는 프로그래밍 세계의 오랜 전통인 "Hello, World!" 프로그램을 직접 작성하고 실행하여, 컴퓨터 화면에 우리의 첫 메시지를 띄워볼 것입니다.이 간단한 프로그램을 통해 C언어 코드의 기본적인 구조를 이해하고, 우리가 설치한 개발 환경에서 코드를 '컴..

[C언어기초] 2. 개발환경 구축하기 - visual studio 설치

제2장: 코딩 준비, 개발 환경 만들기 (Visual Studio 버전)지난 장에서 우리는 프로그래밍이 무엇이고 왜 C언어를 배우는지에 대한 이야기를 나누었습니다. 이제는 이론을 넘어, 실제로 C언어 코드를 작성하고 실행할 수 있는 우리만의 '코딩 작업실'을 만들 차례입니다.요리사가 요리를 하려면 주방과 도구(칼, 도마, 냄비)가 필요하듯, 프로그래머에게도 코드를 작성할 편집기와 그것을 컴퓨터가 알아듣게 번역해 줄 번역기가 필요합니다. 이 과정을 개발 환경 구축이라고 부릅니다. 조금 복잡해 보일 수 있지만, 한 단계씩 차근차근 따라 하면 누구나 할 수 있으니 걱정 마세요! 이 준비 과정만 끝나면 정말로 재미있는 코딩의 세계가 펼쳐집니다. 1. C언어 번역기, 컴파일러(Compiler) 우리가 C언어 문법..

[c언어기초] 1. 프로그래밍 첫걸음 떼기

C언어 정복의 첫걸음: 무엇을, 왜, 어떻게 배울까? "Hello, World!"이 시리즈의 중간쯤에서 여러분이 직접 컴퓨터 화면에 띄우게 될 두 단어입니다. 이 간단한 문장이 수많은 개발자의 첫 시작이었습니다. 그리고 이제 여러분의 첫 시작이 될 것입니다.프로그래밍은 어려운 암호 해독이 아닙니다. 컴퓨터라는 아주 유능하지만 고지식한 비서에게, 우리가 원하는 일을 정확하고 꼼꼼하게 지시하는 '대화법'에 가깝습니다. 이 책은 여러분이 C언어라는 대화법을 익혀 컴퓨터와 자유롭게 소통할 수 있도록 안내하는 친절한 가이드가 될 것입니다.어려운 전문 용어는 쉬운 비유로 풀어 설명하고, 모든 문법에는 '왜 필요한지'에 대한 이유를 함께 이야기하겠습니다. 각 장이 끝날 때마다 직접 코드를 작성하고 결과를 확인하는 작..

c언어 시작하기

컴퓨터와 프로그램의 이해부터 시작해 봅니다. 1.1 우리는 왜 프로그래밍을 배우는가?우리는 스마트폰으로 메시지를 보내고, 웹사이트를 검색하며, 유튜브를 시청하고, 게임을 즐깁니다.이런 모든 기능은 **프로그램(program)**이라는 소프트웨어가 컴퓨터 위에서 동작하기 때문에 가능해집니다.그렇다면 프로그램이란 무엇일까요?프로그램은 컴퓨터가 이해할 수 있는 명령어들을 순서대로 작성해 놓은 문서입니다.출처 입력이 명령어들은 사람의 언어가 아닌 기계가 이해할 수 있는 언어로 작성되어 있어야 합니다.그렇기 때문에 우리는 프로그래밍 언어를 배워야 합니다. 1.2 프로그래밍 언어란?프로그래밍 언어는 사람과 컴퓨터가 서로 의사소통하기 위한 도구입니다.C언어는 그 중에서도 단순하고 빠르며, 하드웨어에 가까운 언어로,..

게임 클라이언트 vs 서버 프로그래머 - 무엇이 다를까?

게임 개발자는 다양한 직군으로 나뉘며, 게임 프로그래머 중에서도 가장 많은 취준생이 고민하는 분야는 클라이언트 프로그래머와 서버 프로그래머입니다. 이 글에서는 각 직군의 역할과 차이, 사용하는 기술, 진로 선택 기준을 정리합니다.게임 클라이언트 프로그래머란?클라이언트(Client)는 사용자가 조작하고 직접 보는 게임의 앞단 UI와 그래픽 처리, 게임 로직을 담당합니다.요즘은 네트웍에 대한 지식을 많이 요구하고 있어서 네트웍의 지식이 필수 입니다. ● 주요 업무캐릭터/오브젝트 애니메이션 처리UI 구성 (버튼, 인벤토리, 채팅창 등)카메라 제어 및 시각 이펙트키보드/마우스 입력 처리● 사용하는 기술Unity3D (C#)Unreal Engine (C++)DirectX / Direct2D / OpenGLShad..

취업준비 2025.06.05