본문 바로가기

분류 전체보기111

202505 정말 바빴다. 휴일 근무, 주말 근무에 야근까지.. 연장근로 40시간을 넘길 정도로 바빴다. 대학을 다니면서 하루에 1~2시간씩 자며 밤새 게임 개발을 할 땐 바쁜게 너무 즐겁고 행복했는데 하고 싶은 일이 아니라서 힘들었다. 목표가 명확해지고 있다. 아무래도 개발 관련 일을 해야겠다. 시스템 기획이나 게임 개발을 무조건 해야겠다. 이게 아니면 안된다. 하고 싶은 일을 할 수 있는 건 정말 엄청난 행운이다. 요즘 들어 대학 생활이 많이 떠오른다. 하고 싶은 공부를 마음껏 할 수 있었고, 기회는 항상 열려 있었다. 새로운 걸 만들어 갈 때 두근두근거리던 마음이 잊히지 않는다. 내가 디자인한 게임을 누군가 재밌다고 해줬을 때, 우리가 만든 졸업 작품으로 수상했을 때, 누군가 나의 노력을 인정해줬을 때 모두 잊.. 2025. 5. 24.
202504 최근에 기술 면접을 진행했는데, 오랜만에 사람들과 개발 관련 이야기를 나눈 기분이 들었다. 졸업 이후에 정말 오랜만에 개발 관련 대화를 나눈 것 같았고 집에 와서는 새삼 행복했다는 걸 깨달았다. 면접 결과와는 상관 없이 '내가 정말 좋아하는 일은 개발이었구나'를 다시 생각할 수 있었다는 점에서 충분히 만족스러웠다. 자신의 일에 애정을 가진 사람들과 해당 분야에 대해 이야기를 나눌 수 있다는 건 즐거운 일이다. 정말 좋은 에너지를 받았고 소중한 시간을 투자해주셔서 감사하다.점점 업무는 바빠지고 있다. 주어진 일에는 최선을 다 하고 싶어서 머릿속에 업무 관련 생각이 가득하다. 퇴근 후에도 업무 생각을 종종한다. 그러다가도 내가 정말 좋아하는 일은 이게 아니었는데 싶고, 현재 삶에 어딘가 불만족스러운 마음이 .. 2025. 4. 5.
디자인 패턴 - 컴포넌트 패턴 컴포넌트 패턴 기반 설계특징: 객체가 특정 기능을 직접 상속받는 것이 아니라, 여러 독립적인 컴포넌트를 조합하여 기능을 확장하는 방식장점유연성: 객체는 여러 개의 컴포넌트를 가질 수 있으며, 필요에 따라 쉽게 추가 및 삭제 가능코드 재사용성 증가: 특정 기능을 독립적인 컴포넌트로 만들어 여러 객체에서 공유 가능런타임 동적 변경 가능: 게임 실행 중 새로운 기능을 추가하거나 제거할 수 있음단점관리 복잡성 증가: 컴포넌트가 많아지면 객체와 컴포넌트 간의 관계를 관리하는 코드가 증가할 수 있음초기 설계 필요: 시스템을 처음부터 컴포넌트 기반으로 설계해야 효과적임 상속 vs 컴포넌트 패턴 비교비교 항목상속컴포넌트 패턴구조계층 구조 기반독립적인 모듈 조합확장성상속 구조에 따라 제한적새로운 컴포넌트를 추가하여 유연.. 2025. 3. 29.
데이터 직렬화 & 역직렬화 직렬화 (Serialization): 데이터 구조를 바이트 스트림 또는 문자열로 변환하는 과정Json은 JavaSript 객체를 문자열 형태로 변환하는 것을 의미하고, 이를 통해 데이터를 네트워크에 전송하거나 파일에 저장할 수 있다.직렬화된 데이터는 전송을 위해 표준 텍스트 형식으로 인코딩된다.C#에서 만든 객체를 Json 형식의 문자열로 변환하는 과정정리하면...Json은 JavaScript 객체를 문자열 형태로 변환한 것이고, 목적은 네트워크로 데이터를 전송하거나 파일 저장을 위함임직렬화를 통해서 데이터를 표준 텍스트로 인코딩해서 전송하는 것 역직렬화 (Deserialization): 직렬화된 데이터를 다시 원래의 데이터 구조로 변환하는 과정Json 문자열을 다시 C# 객체로 변환하는 과정 직렬화 및.. 2025. 3. 29.
7. 그래픽 객체의 사용 7.1 GDI와 DC의 개념1) 그래픽 디바이스 인터페이스 (GDI: Graphics Device Interface)그래픽을 출력하고자 하는 애플리케이션은 윈도우에게 요청을 하고, 윈도우는 디바이스 드라이버를 호출하면 디바이스 드라이버가 하드웨어를 구동시킨다. 하드웨어의 종류와 관계 없이 항상 같은 명령어를 이용하여 그래픽을 출력할 수 있다. 이때, 윈도우가 하드웨어를 제어할 수 있도록 애플리케이션에 제공하는 모든 기능을 그래픽 디바이스 인터페이스라고 한다.즉, 그래픽 디바이스 인터페이스는 애플리케이션과 디바이스 드라이버의 중간 다리 역할을 하는 것으로 애플리케이션에 대한 장치 독립적인 그래픽 동작을 수행한다.2) 디바이스 컨텍스트 (DC: Device Context)윈도우 프로그램은 윈도우의 화면에 출.. 2025. 3. 5.
6. 사용자 인터페이스 6.1 메뉴(Menu)메뉴는 윈도우에서 가장 보편적으로 사용되는 사용자 인터페이스로 해당 애플리케이션이 가진 기능을 사용자에게 알려주고, 사용자의 선택에 따라 기능을 수행할 수 있도록 매개 역할을 한다.메뉴의 형태는 크게 3가지로 나눌 수 있다.1) 풀다운 메뉴(Pull-down Menu)애플리케이션 상단에 여러 개의 카테고리가 일렬로 늘어서 있는 형태를 취하고 있으며, 사용자가 카테고리 하나를 선택하면 선택된 카테고리 아래로 메뉴가 뚝 떨어지면서 애플리케이션의 기능을 작동시킬 수 있는 메뉴 항목이 나타난다.2) 캐스케이딩 메뉴(Cascading Menu)풀다운 메뉴에서 변형된 메뉴 형태로, 메뉴 항목의 오른쪽에 또 하나의 서브 메뉴가 나타나는 메뉴이다.3) 팝업 메뉴(Pop-up Menu) 또는 문맥 .. 2025. 1. 19.